forked from richardosborne14/noodl-starter-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
project.json
1 lines (1 loc) · 297 KB
/
project.json
1
{"name":"Noodl Starter Template","components":[{"name":"/#__cloud__/SendGrid/Send Email","id":"55e43c55-c5ec-c1bb-10ea-fdd520e6dc28","graph":{"connections":[{"fromId":"a5af92ae-5a67-8e9a-edee-3e83a50a9810","fromProperty":"Do","toId":"ab378886-2b3f-7ad0-6eff-75318b66fe21","toProperty":"run"},{"fromId":"a5af92ae-5a67-8e9a-edee-3e83a50a9810","fromProperty":"Text","toId":"ab378886-2b3f-7ad0-6eff-75318b66fe21","toProperty":"in-Text"},{"fromId":"a5af92ae-5a67-8e9a-edee-3e83a50a9810","fromProperty":"Html","toId":"ab378886-2b3f-7ad0-6eff-75318b66fe21","toProperty":"in-Html"},{"fromId":"a5af92ae-5a67-8e9a-edee-3e83a50a9810","fromProperty":"To","toId":"ab378886-2b3f-7ad0-6eff-75318b66fe21","toProperty":"in-To"},{"fromId":"ab378886-2b3f-7ad0-6eff-75318b66fe21","fromProperty":"out-Success","toId":"10a94c4f-0c3e-5250-70f2-5bd02a335402","toProperty":"Success"},{"fromId":"ab378886-2b3f-7ad0-6eff-75318b66fe21","fromProperty":"out-Failure","toId":"10a94c4f-0c3e-5250-70f2-5bd02a335402","toProperty":"Failure"},{"fromId":"a5af92ae-5a67-8e9a-edee-3e83a50a9810","fromProperty":"From","toId":"ab378886-2b3f-7ad0-6eff-75318b66fe21","toProperty":"in-From"},{"fromId":"a5af92ae-5a67-8e9a-edee-3e83a50a9810","fromProperty":"Subject","toId":"ab378886-2b3f-7ad0-6eff-75318b66fe21","toProperty":"in-Subject"},{"fromId":"3efa1bbb-61fa-71ac-931a-cb900841f03c","fromProperty":"API Key","toId":"ab378886-2b3f-7ad0-6eff-75318b66fe21","toProperty":"in-APIKey"},{"fromId":"a5af92ae-5a67-8e9a-edee-3e83a50a9810","fromProperty":"CC","toId":"ab378886-2b3f-7ad0-6eff-75318b66fe21","toProperty":"in-CC"},{"fromId":"a5af92ae-5a67-8e9a-edee-3e83a50a9810","fromProperty":"BCC","toId":"ab378886-2b3f-7ad0-6eff-75318b66fe21","toProperty":"in-BCC"}],"roots":[{"id":"a5af92ae-5a67-8e9a-edee-3e83a50a9810","type":"Component Inputs","x":-312,"y":-62,"parameters":{},"ports":[{"name":"Do","plug":"output","type":"*","index":0},{"name":"Text","plug":"output","type":{"name":"*"},"index":1},{"name":"Html","plug":"output","type":{"name":"*"},"index":2},{"name":"To","plug":"output","type":{"name":"*"},"index":3},{"name":"From","plug":"output","type":{"name":"*"},"index":4},{"name":"Subject","plug":"output","type":{"name":"*"},"index":5},{"name":"CC","plug":"output","type":{"name":"*"},"index":6},{"name":"BCC","plug":"output","type":{"name":"*"},"index":7}],"dynamicports":[],"children":[]},{"id":"10a94c4f-0c3e-5250-70f2-5bd02a335402","type":"Component Outputs","x":308,"y":32,"parameters":{},"ports":[{"name":"Success","plug":"input","type":"*","index":0},{"name":"Failure","plug":"input","type":"*","index":1}],"dynamicports":[],"children":[]},{"id":"ab378886-2b3f-7ad0-6eff-75318b66fe21","type":"JavaScriptFunction","x":-0.5,"y":16,"parameters":{"functionScript":"const html = Inputs.Html;\nconst text = Inputs.Text;\nconst to = Inputs.To;\nconst cc = Inputs.CC;\nconst bcc = Inputs.BCC;\nconst from = Inputs.From;\nconst subject = Inputs.Subject;\nconst apiKey = Inputs.APIKey;\n\nif(apiKey === undefined || apiKey === \"\") {\n Outputs.Failure()\n throw Error(\"No API Key provided!\")\n}\n\nconst personalizations = [\n { \"to\": (Array.isArray(to)?to.map(e => ({email:e}) ):[{\"email\": to}]) }\n]\n\nif(cc !== undefined) {\n personalizations[0][\"cc\"] = (Array.isArray(cc)?cc.map(e => ({email:e}) ):[{\"email\": cc}])\n}\n\nif(bcc !== undefined) {\n personalizations[0][\"bcc\"] = (Array.isArray(bcc)?bcc.map(e => ({email:e}) ):[{\"email\": bcc}]) \n\n}\n\nconst res = await fetch(\"https://api.sendgrid.com/v3/mail/send\",{\n method:'POST',\n headers:{\n \"Authorization\":\"Bearer \" + apiKey,\n \"Content-Type\":\"application/json\"\n },\n body:JSON.stringify({\n personalizations,\n \"from\": {\"email\":from},\n \"subject\": subject,\n \"content\": (html!==undefined)?\n [{\"type\": \"text/html\", \"value\": html}]:\n [{\"type\": \"text/plain\", \"value\": text}]\n \n })\n})\n\nif(res.ok) {\n Outputs.Success()\n}\nelse {\n Outputs.Failure()\n const json = await res.json()\n throw Error(json.errors.map(e => e.message).join('\\n'))\n}","scriptInputs":[{"id":"yg17","label":"From"},{"id":"0ozg","label":"To"},{"id":"cc02","label":"Subject"},{"id":"co1h","label":"Html"},{"id":"syk9","label":"Text"},{"id":"5jsc","label":"CC"},{"id":"9ncu","label":"BCC"}]},"ports":[],"dynamicports":[{"name":"intype-From","displayName":"Type","editorName":"From | Type","plug":"input","type":{"name":"enum","enums":[{"value":"string","label":"String"},{"value":"boolean","label":"Boolean"},{"value":"number","label":"Number"},{"value":"object","label":"Object"},{"value":"date","label":"Date"},{"value":"array","label":"Array"},{"value":"color","label":"Color"}],"allowEditOnly":true},"default":"string","parent":"scriptInputs","parentItemId":"yg17","index":4},{"name":"in-From","displayName":"From","plug":"input","type":"string","group":"Inputs","index":5},{"name":"intype-To","displayName":"Type","editorName":"To | Type","plug":"input","type":{"name":"enum","enums":[{"value":"string","label":"String"},{"value":"boolean","label":"Boolean"},{"value":"number","label":"Number"},{"value":"object","label":"Object"},{"value":"date","label":"Date"},{"value":"array","label":"Array"},{"value":"color","label":"Color"}],"allowEditOnly":true},"default":"string","parent":"scriptInputs","parentItemId":"0ozg","index":6},{"name":"in-To","displayName":"To","plug":"input","type":"string","group":"Inputs","index":7},{"name":"intype-Subject","displayName":"Type","editorName":"Subject | Type","plug":"input","type":{"name":"enum","enums":[{"value":"string","label":"String"},{"value":"boolean","label":"Boolean"},{"value":"number","label":"Number"},{"value":"object","label":"Object"},{"value":"date","label":"Date"},{"value":"array","label":"Array"},{"value":"color","label":"Color"}],"allowEditOnly":true},"default":"string","parent":"scriptInputs","parentItemId":"cc02","index":8},{"name":"in-Subject","displayName":"Subject","plug":"input","type":"string","group":"Inputs","index":9},{"name":"intype-Html","displayName":"Type","editorName":"Html | Type","plug":"input","type":{"name":"enum","enums":[{"value":"string","label":"String"},{"value":"boolean","label":"Boolean"},{"value":"number","label":"Number"},{"value":"object","label":"Object"},{"value":"date","label":"Date"},{"value":"array","label":"Array"},{"value":"color","label":"Color"}],"allowEditOnly":true},"default":"string","parent":"scriptInputs","parentItemId":"co1h","index":10},{"name":"in-Html","displayName":"Html","plug":"input","type":"string","group":"Inputs","index":11},{"name":"intype-Text","displayName":"Type","editorName":"Text | Type","plug":"input","type":{"name":"enum","enums":[{"value":"string","label":"String"},{"value":"boolean","label":"Boolean"},{"value":"number","label":"Number"},{"value":"object","label":"Object"},{"value":"date","label":"Date"},{"value":"array","label":"Array"},{"value":"color","label":"Color"}],"allowEditOnly":true},"default":"string","parent":"scriptInputs","parentItemId":"syk9","index":12},{"name":"in-Text","displayName":"Text","plug":"input","type":"string","group":"Inputs","index":13},{"name":"intype-CC","displayName":"Type","editorName":"CC | Type","plug":"input","type":{"name":"enum","enums":[{"value":"string","label":"String"},{"value":"boolean","label":"Boolean"},{"value":"number","label":"Number"},{"value":"object","label":"Object"},{"value":"date","label":"Date"},{"value":"array","label":"Array"},{"value":"color","label":"Color"}],"allowEditOnly":true},"default":"string","parent":"scriptInputs","parentItemId":"5jsc","index":14},{"name":"in-CC","displayName":"CC","plug":"input","type":"string","group":"Inputs","index":15},{"name":"intype-BCC","displayName":"Type","editorName":"BCC | Type","plug":"input","type":{"name":"enum","enums":[{"value":"string","label":"String"},{"value":"boolean","label":"Boolean"},{"value":"number","label":"Number"},{"value":"object","label":"Object"},{"value":"date","label":"Date"},{"value":"array","label":"Array"},{"value":"color","label":"Color"}],"allowEditOnly":true},"default":"string","parent":"scriptInputs","parentItemId":"9ncu","index":16},{"name":"in-BCC","displayName":"BCC","plug":"input","type":"string","group":"Inputs","index":17},{"name":"in-APIKey","displayName":"APIKey","plug":"input","type":"*","group":"Inputs","index":18},{"name":"out-Failure","displayName":"Failure","plug":"output","type":"signal","group":"Outputs","index":19},{"name":"out-Success","displayName":"Success","plug":"output","type":"signal","group":"Outputs","index":20}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"3efa1bbb-61fa-71ac-931a-cb900841f03c","type":"/#__cloud__/SendGrid/Settings","x":-265,"y":216,"parameters":{},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":[]},"metadata":{"isFolderComponent":false}},{"name":"/#__cloud__/SendGrid/Settings","id":"a038e599-5cae-a881-6970-ad34aab772d5","graph":{"connections":[{"fromId":"198d3065-b744-953c-cb71-3735fc617d95","fromProperty":"value","toId":"3dcebdc7-2daa-c48f-3767-e753b0af9cc1","toProperty":"API Key"}],"roots":[{"id":"3dcebdc7-2daa-c48f-3767-e753b0af9cc1","type":"Component Outputs","x":703,"y":103,"parameters":{},"ports":[{"name":"API Key","plug":"input","type":"*","index":0}],"dynamicports":[],"children":[]},{"id":"198d3065-b744-953c-cb71-3735fc617d95","type":"DbConfig","x":426.25,"y":51.166666666666686,"parameters":{"configKey":"SendGridAPIKey"},"ports":[],"dynamicports":[{"name":"configKey","displayName":"Parameter","group":"General","type":{"name":"enum","enums":[{"value":"BrevoKey","label":"BrevoKey"},{"value":"StripeTestKey","label":"StripeTestKey"},{"value":"StripeSuccessUrl","label":"StripeSuccessUrl"},{"value":"StripeFailureUrl","label":"StripeFailureUrl"}],"allowEditOnly":true},"plug":"input","index":0},{"name":"value","displayName":"Value","group":"General","type":"*","plug":"output","index":1}],"children":[]}],"visualRoots":[]},"metadata":{"isFolderComponent":false}},{"name":"/#__cloud__/Sign Up/Actions/Format Email","id":"a6522c10-e38c-e985-2b31-143e61ca2a25","graph":{"connections":[{"fromId":"bcaacfd3-7a62-52ff-31e5-93e9af1d9998","fromProperty":"Content","toId":"793f337c-edd5-0f1f-66e1-15b4a1c67359","toProperty":"format"},{"fromId":"bcaacfd3-7a62-52ff-31e5-93e9af1d9998","fromProperty":"Email","toId":"793f337c-edd5-0f1f-66e1-15b4a1c67359","toProperty":"Email"},{"fromId":"bcaacfd3-7a62-52ff-31e5-93e9af1d9998","fromProperty":"Token","toId":"793f337c-edd5-0f1f-66e1-15b4a1c67359","toProperty":"Token"},{"fromId":"ef183290-428f-1423-09e9-e115cdfaae05","fromProperty":"out-Content","toId":"3588522e-7f07-31f7-f09b-e7f2555d908d","toProperty":"Content"},{"fromId":"793f337c-edd5-0f1f-66e1-15b4a1c67359","fromProperty":"formatted","toId":"ef183290-428f-1423-09e9-e115cdfaae05","toProperty":"in-Content"},{"fromId":"00500af6-5e53-6711-5fec-348189421fbb","fromProperty":"Domain","toId":"ef183290-428f-1423-09e9-e115cdfaae05","toProperty":"in-Domain"}],"roots":[{"id":"bcaacfd3-7a62-52ff-31e5-93e9af1d9998","type":"Component Inputs","x":-191.76235387307145,"y":-12.111306560404557,"parameters":{},"ports":[{"name":"Email","plug":"output","type":{"name":"*"},"index":1},{"name":"Token","plug":"output","type":{"name":"*"},"index":2},{"name":"Content","plug":"output","type":{"name":"*"},"index":3}],"dynamicports":[],"children":[]},{"id":"3588522e-7f07-31f7-f09b-e7f2555d908d","type":"Component Outputs","x":650.2186147050309,"y":-35.32464413451322,"parameters":{},"ports":[{"name":"Content","plug":"input","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"793f337c-edd5-0f1f-66e1-15b4a1c67359","type":"String Format","x":78.54196868086132,"y":-54.79248465656207,"parameters":{"format":"$Domain, {Token}, {Email}"},"ports":[],"dynamicports":[{"name":"Token","type":"string","plug":"input","index":2},{"name":"Email","type":"string","plug":"input","index":3}],"children":[]},{"id":"ef183290-428f-1423-09e9-e115cdfaae05","type":"JavaScriptFunction","label":"Add the domain to the links","x":369.2143620431875,"y":-49.74610692306001,"parameters":{"functionScript":"if(Inputs.Domain === undefined) {\n throw Error(\"You must specify the domain your application is deployed to for email links to work.\")\n}\n\nOutputs.Content = Inputs.Content.replaceAll('$Domain',Inputs.Domain)"},"ports":[],"dynamicports":[{"name":"in-Content","displayName":"Content","plug":"input","type":"*","group":"Inputs","index":4},{"name":"in-Domain","displayName":"Domain","plug":"input","type":"*","group":"Inputs","index":5},{"name":"out-Content","displayName":"Content","plug":"output","type":"*","group":"Outputs","index":6}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"00500af6-5e53-6711-5fec-348189421fbb","type":"/#__cloud__/Sign Up/Settings","x":75.1159581438526,"y":-214.88158383504964,"parameters":{},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":[]},"metadata":{"isFolderComponent":false}},{"name":"/#__cloud__/Sign Up/Actions/Request Email Verification","id":"24948b22-fae2-87d4-afa5-0eee2d1c15f0","graph":{"connections":[{"fromId":"a67f07b6-b066-fd86-a8fc-a07109c0a0cf","fromProperty":"Do","toId":"eb9efe61-c1a7-3c07-5b26-2f95a4d016ab","toProperty":"run"},{"fromId":"eb9efe61-c1a7-3c07-5b26-2f95a4d016ab","fromProperty":"out-EmailIsVerified","toId":"49f8b415-c73e-e4ff-23b7-b3f2a80c19a7","toProperty":"Email Is Verified"},{"fromId":"eb9efe61-c1a7-3c07-5b26-2f95a4d016ab","fromProperty":"out-Done","toId":"49f8b415-c73e-e4ff-23b7-b3f2a80c19a7","toProperty":"Done"},{"fromId":"eb9efe61-c1a7-3c07-5b26-2f95a4d016ab","fromProperty":"out-Token","toId":"49f8b415-c73e-e4ff-23b7-b3f2a80c19a7","toProperty":"Token"},{"fromId":"eb9efe61-c1a7-3c07-5b26-2f95a4d016ab","fromProperty":"out-Email","toId":"49f8b415-c73e-e4ff-23b7-b3f2a80c19a7","toProperty":"Email"}],"roots":[{"id":"a67f07b6-b066-fd86-a8fc-a07109c0a0cf","type":"Component Inputs","x":-386,"y":-6,"parameters":{},"ports":[{"name":"Do","plug":"output","type":"*","index":0}],"dynamicports":[],"children":[]},{"id":"49f8b415-c73e-e4ff-23b7-b3f2a80c19a7","type":"Component Outputs","x":292,"y":-15,"parameters":{},"ports":[{"name":"Done","plug":"input","type":"*","index":0},{"name":"Email Is Verified","plug":"input","type":"*","index":1},{"name":"Token","plug":"input","type":{"name":"*"},"index":2},{"name":"Email","plug":"input","type":{"name":"*"},"index":3}],"dynamicports":[],"children":[]},{"id":"eb9efe61-c1a7-3c07-5b26-2f95a4d016ab","type":"JavaScriptFunction","x":-55.5,"y":-32,"parameters":{"functionScript":"const user = Noodl.Users.Current\n\n// Check if email is already verified\nif(user.Properties.emailVerified) {\n Outputs.EmailIsVerified()\n return;\n}\n\n// Generate token and expiry date\nuser.Properties.emailVerified = false;\nuser.Properties.emailVerificationToken = Math.random().toString(26).slice(2);\nuser.Properties.emailVerificationTokenExpires = (new Date(Date.now() + 24*60*60*1000)).toISOString();\nawait user.save()\n\n// Done\nOutputs.Token = user.Properties.emailVerificationToken;\nOutputs.Email = [user.Properties.email];\nOutputs.Done()"},"ports":[],"dynamicports":[{"name":"out-EmailIsVerified","displayName":"EmailIsVerified","plug":"output","type":"signal","group":"Outputs","index":4},{"name":"out-Done","displayName":"Done","plug":"output","type":"signal","group":"Outputs","index":5},{"name":"out-Token","displayName":"Token","plug":"output","type":"*","group":"Outputs","index":6},{"name":"out-Email","displayName":"Email","plug":"output","type":"*","group":"Outputs","index":7}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}}],"visualRoots":[]},"metadata":{"isFolderComponent":false}},{"name":"/#__cloud__/Sign Up/Actions/Request Password Reset","id":"2fcf7142-c6e6-16aa-dc43-323a957f06bd","graph":{"connections":[{"fromId":"b5f505d6-b2a6-ff19-8888-96202c6f80f7","fromProperty":"Do","toId":"956622b8-5560-e288-86f8-890d24342472","toProperty":"run"},{"fromId":"956622b8-5560-e288-86f8-890d24342472","fromProperty":"out-Token","toId":"bdc78109-f06a-611b-77d3-2c3ca523708a","toProperty":"Token"},{"fromId":"956622b8-5560-e288-86f8-890d24342472","fromProperty":"out-Failure","toId":"bdc78109-f06a-611b-77d3-2c3ca523708a","toProperty":"Failure"},{"fromId":"956622b8-5560-e288-86f8-890d24342472","fromProperty":"out-Success","toId":"bdc78109-f06a-611b-77d3-2c3ca523708a","toProperty":"Success"},{"fromId":"956622b8-5560-e288-86f8-890d24342472","fromProperty":"out-Error","toId":"bdc78109-f06a-611b-77d3-2c3ca523708a","toProperty":"Error"},{"fromId":"b5f505d6-b2a6-ff19-8888-96202c6f80f7","fromProperty":"Email","toId":"956622b8-5560-e288-86f8-890d24342472","toProperty":"in-Email"},{"fromId":"956622b8-5560-e288-86f8-890d24342472","fromProperty":"out-Email","toId":"bdc78109-f06a-611b-77d3-2c3ca523708a","toProperty":"Email"}],"roots":[{"id":"b5f505d6-b2a6-ff19-8888-96202c6f80f7","type":"Component Inputs","x":-386,"y":-6,"parameters":{},"ports":[{"name":"Do","plug":"output","type":"*","index":0},{"name":"Email","plug":"output","type":{"name":"*"},"index":1}],"dynamicports":[],"children":[]},{"id":"bdc78109-f06a-611b-77d3-2c3ca523708a","type":"Component Outputs","x":291,"y":-15,"parameters":{},"ports":[{"name":"Token","plug":"input","type":{"name":"*"},"index":2},{"name":"Success","plug":"input","type":{"name":"*"},"index":3},{"name":"Failure","plug":"input","type":{"name":"*"},"index":4},{"name":"Error","plug":"input","type":{"name":"*"},"index":5},{"name":"Email","plug":"input","type":{"name":"*"},"index":6}],"dynamicports":[],"children":[]},{"id":"956622b8-5560-e288-86f8-890d24342472","type":"JavaScriptFunction","x":-56.5,"y":-32,"parameters":{"functionScript":"const users = await Noodl.Records.query(\"_User\",{\n username:{equalTo:Inputs.Email}\n})\n\nif(users.length === 0) {\n Outputs.Error = \"No user with that email found.\"\n Outputs.Failure()\n return;\n}\n\nconst user = users[0];\n\n// Generate token and expiry date\nuser.passwordResetToken = Math.random().toString(26).slice(2)\nuser.passwordResetTokenExpires = (new Date(Date.now() + 24*60*60*1000)).toISOString()\nawait Noodl.Records.save(user)\n\n// Done\nOutputs.Token = user.passwordResetToken;\nOutputs.Email = [Inputs.Email]\nOutputs.Success()"},"ports":[],"dynamicports":[{"name":"in-Email","displayName":"Email","plug":"input","type":"*","group":"Inputs","index":4},{"name":"out-Failure","displayName":"Failure","plug":"output","type":"signal","group":"Outputs","index":5},{"name":"out-Success","displayName":"Success","plug":"output","type":"signal","group":"Outputs","index":6},{"name":"out-Error","displayName":"Error","plug":"output","type":"*","group":"Outputs","index":7},{"name":"out-Token","displayName":"Token","plug":"output","type":"*","group":"Outputs","index":8},{"name":"out-Email","displayName":"Email","plug":"output","type":"*","group":"Outputs","index":9}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}}],"visualRoots":[]},"metadata":{"isFolderComponent":false}},{"name":"/#__cloud__/Sign Up/Actions/Reset Password","id":"cb6a682b-10e8-b2ed-2120-56429fc3adaa","graph":{"connections":[{"fromId":"80991faa-c8ab-cb92-1acb-6ae29e8f44f7","fromProperty":"Do","toId":"ea9efa3e-049c-20b5-f112-b736f77b5c43","toProperty":"run"},{"fromId":"80991faa-c8ab-cb92-1acb-6ae29e8f44f7","fromProperty":"Token","toId":"ea9efa3e-049c-20b5-f112-b736f77b5c43","toProperty":"in-Token"},{"fromId":"ea9efa3e-049c-20b5-f112-b736f77b5c43","fromProperty":"out-Success","toId":"54ef5ac7-574d-ce8d-73f5-8e12466b1c83","toProperty":"Success"},{"fromId":"ea9efa3e-049c-20b5-f112-b736f77b5c43","fromProperty":"out-Failure","toId":"54ef5ac7-574d-ce8d-73f5-8e12466b1c83","toProperty":"Failure"},{"fromId":"80991faa-c8ab-cb92-1acb-6ae29e8f44f7","fromProperty":"Email","toId":"ea9efa3e-049c-20b5-f112-b736f77b5c43","toProperty":"in-Email"},{"fromId":"ea9efa3e-049c-20b5-f112-b736f77b5c43","fromProperty":"out-Error","toId":"54ef5ac7-574d-ce8d-73f5-8e12466b1c83","toProperty":"Error"},{"fromId":"80991faa-c8ab-cb92-1acb-6ae29e8f44f7","fromProperty":"New Password","toId":"ea9efa3e-049c-20b5-f112-b736f77b5c43","toProperty":"in-NewPassword"}],"roots":[{"id":"80991faa-c8ab-cb92-1acb-6ae29e8f44f7","type":"Component Inputs","x":-297,"y":-2,"parameters":{},"ports":[{"name":"Do","plug":"output","type":"*","index":0},{"name":"Token","plug":"output","type":{"name":"*"},"index":1},{"name":"Email","plug":"output","type":{"name":"*"},"index":2},{"name":"New Password","plug":"output","type":{"name":"*"},"index":3}],"dynamicports":[],"children":[]},{"id":"54ef5ac7-574d-ce8d-73f5-8e12466b1c83","type":"Component Outputs","x":401,"y":-14,"parameters":{},"ports":[{"name":"Success","plug":"input","type":"*","index":0},{"name":"Failure","plug":"input","type":"*","index":1},{"name":"Error","plug":"input","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"ea9efa3e-049c-20b5-f112-b736f77b5c43","type":"JavaScriptFunction","x":43.5,"y":-12.5,"parameters":{"functionScript":"if(Inputs.Token === undefined || Inputs.Email === undefined) {\n Outputs.Error = \"Must supply token and email\"\n Outputs.Failure()\n return\n}\n\nconst users = await Noodl.Records.query(\"_User\",{\n username:{equalTo:Inputs.Email}\n})\n\nif(users.length === 0) {\n Outputs.Error = \"No user matched email.\"\n Outputs.Failure()\n return\n}\n\nconst user = users[0]\nif(user.passwordResetToken === Inputs.Token &&\n (new Date(user.passwordResetTokenExpires)).getTime() > Date.now()) {\n // Successful\n user.password = Inputs.NewPassword;\n user.passwordResetToken = null;\n user.passwordResetTokenExpires = null;\n await Noodl.Records.save(user)\n Outputs.Success()\n}\nelse {\n Outputs.Error = \"Invalid token.\"\n Outputs.Failure()\n}"},"ports":[],"dynamicports":[{"name":"in-Token","displayName":"Token","plug":"input","type":"*","group":"Inputs","index":4},{"name":"in-Email","displayName":"Email","plug":"input","type":"*","group":"Inputs","index":5},{"name":"in-NewPassword","displayName":"NewPassword","plug":"input","type":"*","group":"Inputs","index":6},{"name":"out-Failure","displayName":"Failure","plug":"output","type":"signal","group":"Outputs","index":7},{"name":"out-Success","displayName":"Success","plug":"output","type":"signal","group":"Outputs","index":8},{"name":"out-Error","displayName":"Error","plug":"output","type":"*","group":"Outputs","index":9}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}}],"visualRoots":[]},"metadata":{"isFolderComponent":false}},{"name":"/#__cloud__/Sign Up/Actions/Verify Email","id":"37d45fd8-ee57-3501-d4b4-25cab5fa7395","graph":{"connections":[{"fromId":"cbbcf25a-6de4-ba41-a873-727e92a1aa3e","fromProperty":"Do","toId":"1b8fa05b-3eda-029a-3f10-fa2364faf811","toProperty":"run"},{"fromId":"cbbcf25a-6de4-ba41-a873-727e92a1aa3e","fromProperty":"Token","toId":"1b8fa05b-3eda-029a-3f10-fa2364faf811","toProperty":"in-Token"},{"fromId":"1b8fa05b-3eda-029a-3f10-fa2364faf811","fromProperty":"out-Success","toId":"c5d6eaf1-3eb8-3c1b-7ea7-3da3e3d4e957","toProperty":"Success"},{"fromId":"1b8fa05b-3eda-029a-3f10-fa2364faf811","fromProperty":"out-Failure","toId":"c5d6eaf1-3eb8-3c1b-7ea7-3da3e3d4e957","toProperty":"Failure"},{"fromId":"cbbcf25a-6de4-ba41-a873-727e92a1aa3e","fromProperty":"Email","toId":"1b8fa05b-3eda-029a-3f10-fa2364faf811","toProperty":"in-Email"},{"fromId":"1b8fa05b-3eda-029a-3f10-fa2364faf811","fromProperty":"out-Error","toId":"c5d6eaf1-3eb8-3c1b-7ea7-3da3e3d4e957","toProperty":"Error"}],"roots":[{"id":"cbbcf25a-6de4-ba41-a873-727e92a1aa3e","type":"Component Inputs","x":-297,"y":-2,"parameters":{},"ports":[{"name":"Do","plug":"output","type":"*","index":0},{"name":"Token","plug":"output","type":{"name":"*"},"index":1},{"name":"Email","plug":"output","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"c5d6eaf1-3eb8-3c1b-7ea7-3da3e3d4e957","type":"Component Outputs","x":401,"y":-14,"parameters":{},"ports":[{"name":"Success","plug":"input","type":"*","index":0},{"name":"Failure","plug":"input","type":"*","index":1},{"name":"Error","plug":"input","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"1b8fa05b-3eda-029a-3f10-fa2364faf811","type":"JavaScriptFunction","x":42.5,"y":-12.5,"parameters":{"functionScript":"if(Inputs.Token === undefined || Inputs.Email === undefined) {\n Outputs.Error = \"Must supply token and email\"\n Outputs.Failure()\n return\n}\n\nconst users = await Noodl.Records.query(\"_User\",{\n username:{equalTo:Inputs.Email}\n})\n\nif(users.length === 0) {\n Outputs.Error = \"No user matched email.\"\n Outputs.Failure()\n return\n}\n\nconst user = users[0]\nif(user.emailVerificationToken === Inputs.Token &&\n (new Date(user.emailVerificationTokenExpires)).getTime() > Date.now()) {\n // Successful\n await Noodl.Records.save(user,{\n emailVerified:true,\n emailVerificationToken:null,\n emailVerificationTokenExpires:null\n })\n\n Outputs.Success()\n}\nelse {\n Outputs.Error = \"Invalid token.\"\n Outputs.Failure()\n}"},"ports":[],"dynamicports":[{"name":"in-Token","displayName":"Token","plug":"input","type":"*","group":"Inputs","index":4},{"name":"in-Email","displayName":"Email","plug":"input","type":"*","group":"Inputs","index":5},{"name":"out-Failure","displayName":"Failure","plug":"output","type":"signal","group":"Outputs","index":6},{"name":"out-Success","displayName":"Success","plug":"output","type":"signal","group":"Outputs","index":7},{"name":"out-Error","displayName":"Error","plug":"output","type":"*","group":"Outputs","index":8}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}}],"visualRoots":[]},"metadata":{"isFolderComponent":false}},{"name":"/#__cloud__/Sign Up/Request Reset Password","id":"3b53829a-c55d-8cdc-2184-68a1014f6e80","graph":{"connections":[{"fromId":"eadac4a4-df9e-868d-61e7-44c288a9d5bb","fromProperty":"pm-Email","toId":"4b9cdcee-7fad-5d47-35b9-58dca2e882c0","toProperty":"Email"},{"fromId":"eadac4a4-df9e-868d-61e7-44c288a9d5bb","fromProperty":"receive","toId":"4b9cdcee-7fad-5d47-35b9-58dca2e882c0","toProperty":"Do"},{"fromId":"6019c8d6-358a-fde7-a06d-509bdaf806cb","fromProperty":"Failure","toId":"b78b63e6-5ea0-99cc-0a1c-353eb75cb105","toProperty":"send"},{"fromId":"4b9cdcee-7fad-5d47-35b9-58dca2e882c0","fromProperty":"Failure","toId":"b78b63e6-5ea0-99cc-0a1c-353eb75cb105","toProperty":"send"},{"fromId":"4b9cdcee-7fad-5d47-35b9-58dca2e882c0","fromProperty":"Success","toId":"6019c8d6-358a-fde7-a06d-509bdaf806cb","toProperty":"Do"},{"fromId":"4b9cdcee-7fad-5d47-35b9-58dca2e882c0","fromProperty":"Token","toId":"0fc8fd14-8f50-2619-0d30-1a86da9f0951","toProperty":"Token"},{"fromId":"eadac4a4-df9e-868d-61e7-44c288a9d5bb","fromProperty":"pm-Email","toId":"0fc8fd14-8f50-2619-0d30-1a86da9f0951","toProperty":"Email"},{"fromId":"0fc8fd14-8f50-2619-0d30-1a86da9f0951","fromProperty":"Content","toId":"6019c8d6-358a-fde7-a06d-509bdaf806cb","toProperty":"Html"},{"fromId":"61a6ef72-717e-3bbe-0613-f99ebab329d7","fromProperty":"From","toId":"6019c8d6-358a-fde7-a06d-509bdaf806cb","toProperty":"From"},{"fromId":"6019c8d6-358a-fde7-a06d-509bdaf806cb","fromProperty":"Success","toId":"4977cfe0-4d36-359f-f53d-22610dcd55f0","toProperty":"send"},{"fromId":"4b9cdcee-7fad-5d47-35b9-58dca2e882c0","fromProperty":"Email","toId":"6019c8d6-358a-fde7-a06d-509bdaf806cb","toProperty":"To"}],"roots":[{"id":"eadac4a4-df9e-868d-61e7-44c288a9d5bb","type":"noodl.cloud.request","x":-338.5,"y":-1,"parameters":{"params":"Email","allowNoAuth":true},"ports":[],"dynamicports":[{"type":"*","plug":"output","group":"Parameters","name":"pm-Email","displayName":"Email","index":5}],"children":[]},{"id":"4b9cdcee-7fad-5d47-35b9-58dca2e882c0","type":"/#__cloud__/Sign Up/Actions/Request Password Reset","x":-31.331412334300467,"y":-85.34539911996973,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"6019c8d6-358a-fde7-a06d-509bdaf806cb","type":"/#__cloud__/SendGrid/Send Email","x":516.0041436197805,"y":17.789483702787834,"parameters":{"Subject":"Reset password!"},"ports":[],"dynamicports":[],"children":[]},{"id":"b78b63e6-5ea0-99cc-0a1c-353eb75cb105","type":"noodl.cloud.response","label":"Failed to send.","x":803.9548008883562,"y":-133.9712167400026,"parameters":{"status":"failure","errorMessage":"Failed to send email."},"ports":[],"dynamicports":[],"children":[]},{"id":"0fc8fd14-8f50-2619-0d30-1a86da9f0951","type":"/#__cloud__/Sign Up/Actions/Format Email","x":227.34596006273915,"y":135.57867635902608,"parameters":{"Content":"Follow this <a href=\"$Domain/reset-password?token={Token}&email={Email}\">link</a> to reset your password."},"ports":[],"dynamicports":[],"children":[]},{"id":"61a6ef72-717e-3bbe-0613-f99ebab329d7","type":"/#__cloud__/Sign Up/Settings","x":525.555069558457,"y":253.45719202174,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"4977cfe0-4d36-359f-f53d-22610dcd55f0","type":"noodl.cloud.response","x":819.3380936325054,"y":141.58478937059692,"parameters":{},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":[]},"metadata":{"isFolderComponent":false}},{"name":"/#__cloud__/Sign Up/Reset Password","id":"96b94de0-c1f7-ff08-6063-3c4086e56551","graph":{"connections":[{"fromId":"693bfd87-c366-e3d8-edd5-caac1e11830d","fromProperty":"pm-Token","toId":"cc8a3143-b75a-de08-b51c-6d87b95f0bf2","toProperty":"Token"},{"fromId":"693bfd87-c366-e3d8-edd5-caac1e11830d","fromProperty":"pm-Email","toId":"cc8a3143-b75a-de08-b51c-6d87b95f0bf2","toProperty":"Email"},{"fromId":"693bfd87-c366-e3d8-edd5-caac1e11830d","fromProperty":"pm-New Password","toId":"cc8a3143-b75a-de08-b51c-6d87b95f0bf2","toProperty":"New Password"},{"fromId":"693bfd87-c366-e3d8-edd5-caac1e11830d","fromProperty":"receive","toId":"cc8a3143-b75a-de08-b51c-6d87b95f0bf2","toProperty":"Do"},{"fromId":"cc8a3143-b75a-de08-b51c-6d87b95f0bf2","fromProperty":"Success","toId":"d88528a2-317d-44f5-ded5-2fb5c31a86ee","toProperty":"send"},{"fromId":"cc8a3143-b75a-de08-b51c-6d87b95f0bf2","fromProperty":"Error","toId":"4725b2af-b907-c39b-8c3b-d441489833ae","toProperty":"errorMessage"},{"fromId":"cc8a3143-b75a-de08-b51c-6d87b95f0bf2","fromProperty":"Failure","toId":"4725b2af-b907-c39b-8c3b-d441489833ae","toProperty":"send"}],"roots":[{"id":"693bfd87-c366-e3d8-edd5-caac1e11830d","type":"noodl.cloud.request","x":-303.5,"y":-1,"parameters":{"params":"Token,Email,New Password","allowNoAuth":true},"ports":[],"dynamicports":[{"type":"*","plug":"output","group":"Parameters","name":"pm-Token","displayName":"Token","index":5},{"type":"*","plug":"output","group":"Parameters","name":"pm-Email","displayName":"Email","index":6},{"type":"*","plug":"output","group":"Parameters","name":"pm-New Password","displayName":"New Password","index":7}],"children":[]},{"id":"d88528a2-317d-44f5-ded5-2fb5c31a86ee","type":"noodl.cloud.response","x":288.5,"y":-52,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"cc8a3143-b75a-de08-b51c-6d87b95f0bf2","type":"/#__cloud__/Sign Up/Actions/Reset Password","x":-23.5,"y":9,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"4725b2af-b907-c39b-8c3b-d441489833ae","type":"noodl.cloud.response","x":291.5,"y":81,"parameters":{"status":"failure"},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":[]},"metadata":{"isFolderComponent":false}},{"name":"/#__cloud__/Sign Up/Send Verification Email","id":"635c6768-b722-1f41-35c8-ab0ce1fb36e2","graph":{"connections":[{"fromId":"6c9869d9-7bd9-dad1-3610-e083cab1123c","fromProperty":"receive","toId":"16a4613e-325c-1ae6-1183-d22e56fa62d5","toProperty":"Do"},{"fromId":"16a4613e-325c-1ae6-1183-d22e56fa62d5","fromProperty":"Done","toId":"b5751428-403b-dcea-e559-568c28538423","toProperty":"Do"},{"fromId":"b5751428-403b-dcea-e559-568c28538423","fromProperty":"Success","toId":"160d9c2d-dec4-625a-9771-05bd80773131","toProperty":"send"},{"fromId":"16a4613e-325c-1ae6-1183-d22e56fa62d5","fromProperty":"Email","toId":"b5751428-403b-dcea-e559-568c28538423","toProperty":"To"},{"fromId":"16a4613e-325c-1ae6-1183-d22e56fa62d5","fromProperty":"Email Is Verified","toId":"2baf53e9-27b7-77c3-588c-4a8e11a41dae","toProperty":"send"},{"fromId":"b5751428-403b-dcea-e559-568c28538423","fromProperty":"Failure","toId":"be88f18a-3d98-1331-6271-1fc86f1ef869","toProperty":"send"},{"fromId":"16a4613e-325c-1ae6-1183-d22e56fa62d5","fromProperty":"Token","toId":"c5a58d2d-bb64-67de-7fc2-26819a2308dc","toProperty":"Token"},{"fromId":"16a4613e-325c-1ae6-1183-d22e56fa62d5","fromProperty":"Email","toId":"c5a58d2d-bb64-67de-7fc2-26819a2308dc","toProperty":"Email"},{"fromId":"c5a58d2d-bb64-67de-7fc2-26819a2308dc","fromProperty":"Content","toId":"b5751428-403b-dcea-e559-568c28538423","toProperty":"Html"},{"fromId":"cb109cd5-44fd-dbd1-d5c6-de7691e20a8e","fromProperty":"From","toId":"b5751428-403b-dcea-e559-568c28538423","toProperty":"From"}],"roots":[{"id":"6c9869d9-7bd9-dad1-3610-e083cab1123c","type":"noodl.cloud.request","x":-407.5,"y":-86,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"160d9c2d-dec4-625a-9771-05bd80773131","type":"noodl.cloud.response","x":566.5,"y":-150,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"16a4613e-325c-1ae6-1183-d22e56fa62d5","type":"/#__cloud__/Sign Up/Actions/Request Email Verification","x":-169.5,"y":-125,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"b5751428-403b-dcea-e559-568c28538423","type":"/#__cloud__/SendGrid/Send Email","x":298.5,"y":-91,"parameters":{"Subject":"Email verification!"},"ports":[],"dynamicports":[],"children":[]},{"id":"2baf53e9-27b7-77c3-588c-4a8e11a41dae","type":"noodl.cloud.response","label":"Email is already verified","x":85.5,"y":-216,"parameters":{"status":"failure","errorMessage":"Email already verified."},"ports":[],"dynamicports":[],"children":[]},{"id":"be88f18a-3d98-1331-6271-1fc86f1ef869","type":"noodl.cloud.response","x":575.6666666666666,"y":-14.333333333333371,"parameters":{"status":"failure"},"ports":[],"dynamicports":[],"children":[]},{"id":"c5a58d2d-bb64-67de-7fc2-26819a2308dc","type":"/#__cloud__/Sign Up/Actions/Format Email","x":53.095238095238074,"y":39.38095238095235,"parameters":{"Content":"Welcome to my app! \n\nPlease <a href=\"$Domain/verify-email?token={Token}&email={Email}\">verify</a> your email.\n\nCheers"},"ports":[],"dynamicports":[],"children":[]},{"id":"cb109cd5-44fd-dbd1-d5c6-de7691e20a8e","type":"/#__cloud__/Sign Up/Settings","x":306.6802721088435,"y":168.14965986394554,"parameters":{},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":[]},"metadata":{"isFolderComponent":false}},{"name":"/#__cloud__/Sign Up/Settings","id":"aad3afdb-1eb9-b910-3c5a-38bbfc1f158f","graph":{"connections":[{"fromId":"9e610b34-4091-1b13-9647-55b28407a778","fromProperty":"value","toId":"d52cb953-ffb6-ccf6-1dc4-e39bcc84aa3c","toProperty":"Domain"},{"fromId":"8f953438-3ce3-d924-6d53-889c75f30565","fromProperty":"value","toId":"d52cb953-ffb6-ccf6-1dc4-e39bcc84aa3c","toProperty":"From"}],"roots":[{"id":"d52cb953-ffb6-ccf6-1dc4-e39bcc84aa3c","type":"Component Outputs","x":681,"y":-80,"parameters":{},"ports":[{"name":"Domain","plug":"input","type":{"name":"*"},"index":1},{"name":"From","plug":"input","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"9e610b34-4091-1b13-9647-55b28407a778","type":"DbConfig","x":349.9831106025293,"y":-197.26240695362657,"parameters":{"configKey":"EmailVerificationDomain","useDevValue":true,"devValue":"http://localhost:8574"},"ports":[],"dynamicports":[{"name":"configKey","displayName":"Parameter","group":"General","type":{"name":"enum","enums":[{"value":"BrevoKey","label":"BrevoKey"},{"value":"StripeTestKey","label":"StripeTestKey"},{"value":"StripeSuccessUrl","label":"StripeSuccessUrl"},{"value":"StripeFailureUrl","label":"StripeFailureUrl"}],"allowEditOnly":true},"plug":"input","index":0},{"name":"value","displayName":"Value","group":"General","type":"*","plug":"output","index":1}],"children":[]},{"id":"8f953438-3ce3-d924-6d53-889c75f30565","type":"DbConfig","x":350.98413699479727,"y":-38.09921058299159,"parameters":{"configKey":"EmailVerificationFrom"},"ports":[],"dynamicports":[{"name":"configKey","displayName":"Parameter","group":"General","type":{"name":"enum","enums":[{"value":"BrevoKey","label":"BrevoKey"},{"value":"StripeTestKey","label":"StripeTestKey"},{"value":"StripeSuccessUrl","label":"StripeSuccessUrl"},{"value":"StripeFailureUrl","label":"StripeFailureUrl"}],"allowEditOnly":true},"plug":"input","index":0},{"name":"value","displayName":"Value","group":"General","type":"*","plug":"output","index":1}],"children":[]}],"visualRoots":[]},"metadata":{"isFolderComponent":false}},{"name":"/#__cloud__/Sign Up/Verify Email","id":"8d53d699-8d97-6ac0-34cf-cb440764d5d1","graph":{"connections":[{"fromId":"0e3b1916-b2a9-179c-9e89-ef60c75d343d","fromProperty":"receive","toId":"2e08c8f4-2004-2ba2-a157-b23279d2188f","toProperty":"Do"},{"fromId":"0e3b1916-b2a9-179c-9e89-ef60c75d343d","fromProperty":"pm-Token","toId":"2e08c8f4-2004-2ba2-a157-b23279d2188f","toProperty":"Token"},{"fromId":"0e3b1916-b2a9-179c-9e89-ef60c75d343d","fromProperty":"pm-Email","toId":"2e08c8f4-2004-2ba2-a157-b23279d2188f","toProperty":"Email"},{"fromId":"2e08c8f4-2004-2ba2-a157-b23279d2188f","fromProperty":"Success","toId":"5a73d94e-2c4b-c891-d121-50717cc2a045","toProperty":"send"},{"fromId":"2e08c8f4-2004-2ba2-a157-b23279d2188f","fromProperty":"Failure","toId":"887df27b-2ba3-f439-3b18-f733d8f000af","toProperty":"send"},{"fromId":"2e08c8f4-2004-2ba2-a157-b23279d2188f","fromProperty":"Error","toId":"887df27b-2ba3-f439-3b18-f733d8f000af","toProperty":"errorMessage"}],"roots":[{"id":"0e3b1916-b2a9-179c-9e89-ef60c75d343d","type":"noodl.cloud.request","x":-253.5,"y":-34.5,"parameters":{"params":"Token,Email","allowNoAuth":true},"ports":[],"dynamicports":[{"type":"*","plug":"output","group":"Parameters","name":"pm-Token","displayName":"Token","index":5},{"type":"*","plug":"output","group":"Parameters","name":"pm-Email","displayName":"Email","index":6}],"children":[]},{"id":"2e08c8f4-2004-2ba2-a157-b23279d2188f","type":"/#__cloud__/Sign Up/Actions/Verify Email","x":65.5,"y":-38.5,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"5a73d94e-2c4b-c891-d121-50717cc2a045","type":"noodl.cloud.response","label":"Email verified","x":361.5,"y":-116.5,"parameters":{"status":"success"},"ports":[],"dynamicports":[],"children":[]},{"id":"887df27b-2ba3-f439-3b18-f733d8f000af","type":"noodl.cloud.response","label":"Could not verify","x":365.5,"y":50.5,"parameters":{"status":"failure","errorMessage":""},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":[]},"metadata":{"isFolderComponent":false}},{"name":"/#Global logic components/Check page width","id":"d01fead9-745b-fd5b-547b-535ba2264d36","graph":{"connections":[{"fromId":"7fda893b-6594-e883-d9e7-22d3c726134d","fromProperty":"out-pageWidth","toId":"39852a8e-f15d-99b3-6e81-9a44f84a86df","toProperty":"value"},{"fromId":"7fda893b-6594-e883-d9e7-22d3c726134d","fromProperty":"out-widthChanged","toId":"eebc6d20-873d-d547-ef13-677237b4642c","toProperty":"start"},{"fromId":"eebc6d20-873d-d547-ef13-677237b4642c","fromProperty":"timerFinished","toId":"39852a8e-f15d-99b3-6e81-9a44f84a86df","toProperty":"do"}],"roots":[{"id":"7fda893b-6594-e883-d9e7-22d3c726134d","type":"JavaScriptFunction","label":"Check window width and current page","x":53,"y":-30,"parameters":{"functionScript":"// Check window width on page load before resize event\nOutputs.pageWidth = window.innerWidth;\nOutputs.widthChanged();\n\n// Listen to the window resize event\nwindow.addEventListener('resize', function() {\n Outputs.pageWidth = window.innerWidth;\n Outputs.widthChanged();\n});"},"ports":[],"dynamicports":[{"name":"out-widthChanged","displayName":"widthChanged","plug":"output","type":"signal","group":"Outputs","index":4},{"name":"out-pageWidth","displayName":"pageWidth","plug":"output","type":"*","group":"Outputs","index":5}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"39852a8e-f15d-99b3-6e81-9a44f84a86df","type":"Set Variable","x":428.5,"y":-19.5,"parameters":{"name":"pageWidth","setWith":"number"},"ports":[],"dynamicports":[{"type":"number","plug":"input","group":"General","name":"value","displayName":"Value","index":4}],"children":[]},{"id":"eebc6d20-873d-d547-ef13-677237b4642c","type":"Timer","x":248.5,"y":-19.5,"parameters":{"duration":1000},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":[]}},{"name":"/#Global logic components/Format full name","id":"dd770781-c24f-0724-870a-9a7eb0d89a7a","graph":{"connections":[{"fromId":"368d73f4-0066-f3c9-439e-5d6c6e25dfa8","fromProperty":"firstName","toId":"4da2f89e-c233-38f7-e205-7948a238a103","toProperty":"in-String"},{"fromId":"368d73f4-0066-f3c9-439e-5d6c6e25dfa8","fromProperty":"lastName","toId":"b660204a-1b26-eded-77b4-d97ea0d28990","toProperty":"in-String"},{"fromId":"4da2f89e-c233-38f7-e205-7948a238a103","fromProperty":"out-CapitalizedString","toId":"0076db4e-ef34-9730-e03c-7a94470844f8","toProperty":"firstName"},{"fromId":"b660204a-1b26-eded-77b4-d97ea0d28990","fromProperty":"out-CapitalizedString","toId":"0076db4e-ef34-9730-e03c-7a94470844f8","toProperty":"lastName"},{"fromId":"0076db4e-ef34-9730-e03c-7a94470844f8","fromProperty":"formatted","toId":"da470e93-97a6-9d2b-be92-ea47c0e07c99","toProperty":"fullName"}],"roots":[{"id":"368d73f4-0066-f3c9-439e-5d6c6e25dfa8","type":"Component Inputs","x":169,"y":42,"parameters":{},"ports":[{"name":"Do","plug":"output","type":"*","index":0},{"name":"firstName","plug":"output","type":{"name":"*"},"index":1},{"name":"lastName","plug":"output","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"da470e93-97a6-9d2b-be92-ea47c0e07c99","type":"Component Outputs","x":732,"y":73,"parameters":{},"ports":[{"name":"Success","plug":"input","type":"*","index":0},{"name":"Failure","plug":"input","type":"*","index":1},{"name":"fullName","plug":"input","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"0076db4e-ef34-9730-e03c-7a94470844f8","type":"String Format","label":"Format full name","x":544,"y":40,"parameters":{"format":"{firstName} {lastName}"},"ports":[],"dynamicports":[{"name":"firstName","type":"string","plug":"input","index":2},{"name":"lastName","type":"string","plug":"input","index":3}],"children":[]},{"id":"4da2f89e-c233-38f7-e205-7948a238a103","type":"JavaScriptFunction","label":"Format first name","x":365,"y":-14,"parameters":{"functionScript":"const inputString = Inputs.String || '';\nif (!inputString) return;\n\ntry {\n const lowerCaseString = inputString.toLowerCase();\n const capitalizedString = lowerCaseString.charAt(0).toUpperCase() + lowerCaseString.slice(1);\n Outputs.CapitalizedString = capitalizedString;\n Outputs.Success();\n} catch (error) {\n Outputs.error = error;\n Outputs.Failure();\n}\n"},"ports":[],"dynamicports":[{"name":"in-String","displayName":"String","plug":"input","type":"*","group":"Inputs","index":4},{"name":"out-Success","displayName":"Success","plug":"output","type":"signal","group":"Outputs","index":5},{"name":"out-Failure","displayName":"Failure","plug":"output","type":"signal","group":"Outputs","index":6},{"name":"out-CapitalizedString","displayName":"CapitalizedString","plug":"output","type":"*","group":"Outputs","index":7},{"name":"out-error","displayName":"error","plug":"output","type":"*","group":"Outputs","index":8}],"children":[],"metadata":{"prompt":{"history":[{"content":"make a string lowercase then capitalise the first letter","metadata":{"user":{"id":"b769f437-0f92-4325-8a22-572da312e722","email":"[email protected]","name":"Richard Osborne"},"code":"const inputString = Inputs.String || '';\nif (!inputString) return;\n\ntry {\n const lowerCaseString = inputString.toLowerCase();\n const capitalizedString = lowerCaseString.charAt(0).toUpperCase() + lowerCaseString.slice(1);\n Outputs.CapitalizedString = capitalizedString;\n Outputs.Success();\n} catch (error) {\n Outputs.error = error;\n Outputs.Failure();\n}\n"},"snowflakeId":"018b49d5e8ff-2kfutf","type":"user"},{"type":"assistant","content":"\nThis function takes a string from the <span style=\"color: var(--base-color-yellow-400);\">Inputs.String</span> input, converts it to lowercase, and then capitalizes the first letter. If the input string is empty, the function will not perform any action.\n\nThe result is then sent to the <span style=\"color: var(--base-color-yellow-400);\">Outputs.CapitalizedString</span> output. If the operation is successful, it triggers the <span style=\"color: var(--base-color-yellow-400);\">Outputs.Success</span> output signal.\n\nIf there's an error during the process, it sets the <span style=\"color: var(--base-color-yellow-400);\">Outputs.error</span> output with the error details and triggers the <span style=\"color: var(--base-color-yellow-400);\">Outputs.Failure</span> output signal.\n","snowflakeId":"018b49d618d5-49cntk","metadata":{}}],"metadata":{"templateId":"function"}},"AiAssistant":"old","merge":{"soureCodePorts":["functionScript"]}}},{"id":"b660204a-1b26-eded-77b4-d97ea0d28990","type":"JavaScriptFunction","label":"Format last name","x":365,"y":106,"parameters":{"functionScript":"const inputString = Inputs.String || '';\nif (!inputString) return;\n\ntry {\n const lowerCaseString = inputString.toLowerCase();\n const capitalizedString = lowerCaseString.charAt(0).toUpperCase() + lowerCaseString.slice(1);\n Outputs.CapitalizedString = capitalizedString;\n Outputs.Success();\n} catch (error) {\n Outputs.error = error;\n Outputs.Failure();\n}\n"},"ports":[],"dynamicports":[{"name":"in-String","displayName":"String","plug":"input","type":"*","group":"Inputs","index":4},{"name":"out-Success","displayName":"Success","plug":"output","type":"signal","group":"Outputs","index":5},{"name":"out-Failure","displayName":"Failure","plug":"output","type":"signal","group":"Outputs","index":6},{"name":"out-CapitalizedString","displayName":"CapitalizedString","plug":"output","type":"*","group":"Outputs","index":7},{"name":"out-error","displayName":"error","plug":"output","type":"*","group":"Outputs","index":8}],"children":[],"metadata":{"prompt":{"history":[{"content":"make a string lowercase then capitalise the first letter","metadata":{"user":{"id":"b769f437-0f92-4325-8a22-572da312e722","email":"[email protected]","name":"Richard Osborne"},"code":"const inputString = Inputs.String || '';\nif (!inputString) return;\n\ntry {\n const lowerCaseString = inputString.toLowerCase();\n const capitalizedString = lowerCaseString.charAt(0).toUpperCase() + lowerCaseString.slice(1);\n Outputs.CapitalizedString = capitalizedString;\n Outputs.Success();\n} catch (error) {\n Outputs.error = error;\n Outputs.Failure();\n}\n"},"snowflakeId":"018b49d5e8ff-2kfutf","type":"user"},{"type":"assistant","content":"\nThis function takes a string from the <span style=\"color: var(--base-color-yellow-400);\">Inputs.String</span> input, converts it to lowercase, and then capitalizes the first letter. If the input string is empty, the function will not perform any action.\n\nThe result is then sent to the <span style=\"color: var(--base-color-yellow-400);\">Outputs.CapitalizedString</span> output. If the operation is successful, it triggers the <span style=\"color: var(--base-color-yellow-400);\">Outputs.Success</span> output signal.\n\nIf there's an error during the process, it sets the <span style=\"color: var(--base-color-yellow-400);\">Outputs.error</span> output with the error details and triggers the <span style=\"color: var(--base-color-yellow-400);\">Outputs.Failure</span> output signal.\n","snowflakeId":"018b49d618d5-49cntk","metadata":{}}],"metadata":{"templateId":"function"}},"AiAssistant":"old","merge":{"soureCodePorts":["functionScript"]}}}],"visualRoots":[]}},{"name":"/#Global logic components/Format pretty date","id":"f142cd6b-3650-c32c-3504-bfa58b5bf736","graph":{"connections":[{"fromId":"ff90e80a-4cc6-0178-0844-173e119a53d1","fromProperty":"date","toId":"7b1e3b9c-1d02-1a82-d04c-8f5c6cbd43ec","toProperty":"in-DateInput"},{"fromId":"7b1e3b9c-1d02-1a82-d04c-8f5c6cbd43ec","fromProperty":"out-FormattedDate","toId":"67ac5044-de7b-fa5c-0186-4e3c99cc7bdf","toProperty":"formattedDate"}],"roots":[{"id":"ff90e80a-4cc6-0178-0844-173e119a53d1","type":"Component Inputs","x":58,"y":-43,"parameters":{},"ports":[{"name":"Do","plug":"output","type":"*","index":0},{"name":"date","plug":"output","type":{"name":"*"},"index":1}],"dynamicports":[],"children":[]},{"id":"67ac5044-de7b-fa5c-0186-4e3c99cc7bdf","type":"Component Outputs","x":512,"y":-33,"parameters":{},"ports":[{"name":"Success","plug":"input","type":"*","index":0},{"name":"Failure","plug":"input","type":"*","index":1},{"name":"formattedDate","plug":"input","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"7b1e3b9c-1d02-1a82-d04c-8f5c6cbd43ec","type":"JavaScriptFunction","label":"Format Date","x":286,"y":-52,"parameters":{"functionScript":"const dateInput = Inputs.DateInput || new Date();\nif (!dateInput) return;\n\ntry {\n const date = new Date(dateInput);\n const now = new Date();\n\n const days = ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat'];\n const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\n let formattedDate = '';\n\n if (date.getDate() === now.getDate() && date.getMonth() === now.getMonth() && date.getFullYear() === now.getFullYear()) {\n formattedDate = 'Today';\n } else if (date.getDate() === now.getDate() - 1 && date.getMonth() === now.getMonth() && date.getFullYear() === now.getFullYear()) {\n formattedDate = 'Yesterday';\n } else {\n formattedDate = `${days[date.getDay()]} ${date.getDate()} ${months[date.getMonth()]} ${date.getFullYear()}`;\n }\n\n const hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();\n const minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();\n\n formattedDate += ` at ${hours}:${minutes}`;\n\n Outputs.FormattedDate = formattedDate;\n Outputs.Success();\n} catch (error) {\n Outputs.error = error;\n Outputs.Failure();\n}\n"},"ports":[],"dynamicports":[{"name":"in-DateInput","displayName":"DateInput","plug":"input","type":"*","group":"Inputs","index":4},{"name":"out-Success","displayName":"Success","plug":"output","type":"signal","group":"Outputs","index":5},{"name":"out-Failure","displayName":"Failure","plug":"output","type":"signal","group":"Outputs","index":6},{"name":"out-FormattedDate","displayName":"FormattedDate","plug":"output","type":"*","group":"Outputs","index":7},{"name":"out-error","displayName":"error","plug":"output","type":"*","group":"Outputs","index":8}],"children":[],"metadata":{"prompt":{"history":[{"content":"Format a date input as \"Today at HH:MM\" or \"Yesterday at HH:MM\" or \"Tues 20 Oct 2023 at HH:MM\"","metadata":{"user":{"id":"b769f437-0f92-4325-8a22-572da312e722","email":"[email protected]","name":"Richard Osborne"},"code":"const dateInput = Inputs.DateInput || new Date();\nif (!dateInput) return;\n\ntry {\n const date = new Date(dateInput);\n const now = new Date();\n\n const days = ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat'];\n const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\n let formattedDate = '';\n\n if (date.getDate() === now.getDate() && date.getMonth() === now.getMonth() && date.getFullYear() === now.getFullYear()) {\n formattedDate = 'Today';\n } else if (date.getDate() === now.getDate() - 1 && date.getMonth() === now.getMonth() && date.getFullYear() === now.getFullYear()) {\n formattedDate = 'Yesterday';\n } else {\n formattedDate = `${days[date.getDay()]} ${date.getDate()} ${months[date.getMonth()]} ${date.getFullYear()}`;\n }\n\n const hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();\n const minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();\n\n formattedDate += ` at ${hours}:${minutes}`;\n\n Outputs.FormattedDate = formattedDate;\n Outputs.Success();\n} catch (error) {\n Outputs.error = error;\n Outputs.Failure();\n}\n"},"snowflakeId":"018bc82dab84-yrvpxm","type":"user"},{"type":"assistant","content":"\nThis function takes a date input and formats it in a human-readable way. \n\nThe function accepts a date through the <span style=\"color: var(--base-color-yellow-400);\">Inputs.DateInput</span> and formats it as \"Today at HH:MM\" if the date is today, \"Yesterday at HH:MM\" if the date was yesterday, or \"Day DD Month YYYY at HH:MM\" for any other date. \n\nThe function uses the JavaScript Date object to get the day, date, month, and year, and formats the hours and minutes with leading zeros if necessary. \n\nIf the function succeeds, it sends the formatted date to the <span style=\"color: var(--base-color-yellow-400);\">Outputs.FormattedDate</span> and triggers the <span style=\"color: var(--base-color-yellow-400);\">Outputs.Success</span> signal. \n\nIf there is an error, it sends the error to the <span style=\"color: var(--base-color-yellow-400);\">Outputs.error</span> and triggers the <span style=\"color: var(--base-color-yellow-400);\">Outputs.Failure</span> signal.\n","snowflakeId":"018bc82e281a-evfsxk","metadata":{}}],"metadata":{"templateId":"function"}},"AiAssistant":"old","merge":{"soureCodePorts":["functionScript"]}}}],"visualRoots":[]}},{"name":"/#Global logic components/Generate icon object","id":"f8f8b810-9958-e7da-65d3-9b6ba28d3cdf","graph":{"connections":[{"fromId":"fc87c56d-305e-68be-b340-3e5cba94e0cb","fromProperty":"iconName","toId":"8e53b8d1-fc3b-2355-73aa-6bfd97d06b9b","toProperty":"in-iconName"},{"fromId":"8e53b8d1-fc3b-2355-73aa-6bfd97d06b9b","fromProperty":"out-iconObject","toId":"5c9a4b7e-9edc-3ad5-40e1-45fe18ce0bf9","toProperty":"iconObject"}],"roots":[{"id":"fc87c56d-305e-68be-b340-3e5cba94e0cb","type":"Component Inputs","x":195,"y":-55,"parameters":{},"ports":[{"name":"Do","plug":"output","type":"*","index":0},{"name":"iconName","plug":"output","type":{"name":"*"},"index":1}],"dynamicports":[],"children":[]},{"id":"5c9a4b7e-9edc-3ad5-40e1-45fe18ce0bf9","type":"Component Outputs","x":619,"y":-45,"parameters":{},"ports":[{"name":"Success","plug":"input","type":"*","index":0},{"name":"Failure","plug":"input","type":"*","index":1},{"name":"iconObject","plug":"input","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"8e53b8d1-fc3b-2355-73aa-6bfd97d06b9b","type":"JavaScriptFunction","label":"Format icon","x":410,"y":-62,"parameters":{"functionScript":"Outputs.iconObject = {\n \"class\": \"material-icons\",\n \"code\": Inputs.iconName // in your case you would pass \"thumbs_up\" to this function\n}"},"ports":[],"dynamicports":[{"name":"in-iconName","displayName":"iconName","plug":"input","type":"*","group":"Inputs","index":4},{"name":"out-iconObject","displayName":"iconObject","plug":"output","type":"*","group":"Outputs","index":5}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}}],"visualRoots":[]}},{"name":"/#Global logic components/Sanitise email","id":"2c7b3aa8-7fd2-dc74-ff9c-697d911505cd","graph":{"connections":[{"fromId":"a6402087-da93-fccb-3b89-4f588d99dd8d","fromProperty":"email","toId":"2d9fdc85-9cb0-b3c8-da0c-52d3d354a47d","toProperty":"in-emailString"},{"fromId":"2d9fdc85-9cb0-b3c8-da0c-52d3d354a47d","fromProperty":"out-sanitsedEmail","toId":"1795a661-9b8f-36e7-d5b5-03a28f7b205d","toProperty":"sanitisedEmail"}],"roots":[{"id":"2d9fdc85-9cb0-b3c8-da0c-52d3d354a47d","type":"JavaScriptFunction","label":"Sanitise email","x":203,"y":-66,"parameters":{"functionScript":"const emailInput = Inputs.emailString;\n\nOutputs.sanitsedEmail = emailInput.toLowerCase().trim()"},"ports":[],"dynamicports":[{"name":"in-emailString","displayName":"emailString","plug":"input","type":"*","group":"Inputs","index":4},{"name":"out-sanitsedEmail","displayName":"sanitsedEmail","plug":"output","type":"*","group":"Outputs","index":5}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"a6402087-da93-fccb-3b89-4f588d99dd8d","type":"Component Inputs","x":-51,"y":-64,"parameters":{},"ports":[{"name":"email","plug":"output","type":{"name":"*"},"index":1}],"dynamicports":[],"children":[]},{"id":"1795a661-9b8f-36e7-d5b5-03a28f7b205d","type":"Component Outputs","x":424,"y":-53,"parameters":{},"ports":[{"name":"sanitisedEmail","plug":"input","type":{"name":"*"},"index":1}],"dynamicports":[],"children":[]}],"visualRoots":[]}},{"name":"/#Global logic components/Sanitise filename","id":"31b0ec89-9bbc-04a4-e9f2-c43610f8c307","graph":{"connections":[{"fromId":"0d2a8a2a-8b0f-2779-0d98-0724bed8676f","fromProperty":"originFile","toId":"96380b9d-6f2b-f5a4-3f07-9ec6af33af0b","toProperty":"in-file"},{"fromId":"96380b9d-6f2b-f5a4-3f07-9ec6af33af0b","fromProperty":"out-renamedFile","toId":"06ff455f-2fb9-0a85-49a8-d9d1c1b45362","toProperty":"sanitisedFile"},{"fromId":"0d2a8a2a-8b0f-2779-0d98-0724bed8676f","fromProperty":"Do","toId":"96380b9d-6f2b-f5a4-3f07-9ec6af33af0b","toProperty":"run"},{"fromId":"96380b9d-6f2b-f5a4-3f07-9ec6af33af0b","fromProperty":"out-Done","toId":"06ff455f-2fb9-0a85-49a8-d9d1c1b45362","toProperty":"Success"},{"fromId":"96380b9d-6f2b-f5a4-3f07-9ec6af33af0b","fromProperty":"out-newFileName","toId":"06ff455f-2fb9-0a85-49a8-d9d1c1b45362","toProperty":"fileName"}],"roots":[{"id":"0d2a8a2a-8b0f-2779-0d98-0724bed8676f","type":"Component Inputs","x":-77,"y":-57,"parameters":{},"ports":[{"name":"Do","plug":"output","type":"*","index":0},{"name":"originFile","plug":"output","type":{"name":"*"},"index":1}],"dynamicports":[],"children":[]},{"id":"06ff455f-2fb9-0a85-49a8-d9d1c1b45362","type":"Component Outputs","x":434,"y":-48,"parameters":{},"ports":[{"name":"Success","plug":"input","type":"*","index":0},{"name":"Failure","plug":"input","type":"*","index":1},{"name":"sanitisedFile","plug":"input","type":{"name":"*"},"index":2},{"name":"fileName","plug":"input","type":{"name":"*"},"index":3}],"dynamicports":[],"children":[]},{"id":"96380b9d-6f2b-f5a4-3f07-9ec6af33af0b","type":"JavaScriptFunction","label":"Remove illegal characters from filename","x":186,"y":-87,"parameters":{"functionScript":"const oldName = Inputs.file.name; //change the file name here\n\nconst newName = oldName.replace(/[^_a-zA-Z0-9@. ~_-]/g, '')\n\nconst renamedFile = new File([Inputs.file], newName, {type: Inputs.file.type});\n\nOutputs.renamedFile = renamedFile;\nOutputs.newFileName = renamedFile.name;\n\nOutputs.Done();"},"ports":[],"dynamicports":[{"name":"in-file","displayName":"file","plug":"input","type":"*","group":"Inputs","index":4},{"name":"out-Done","displayName":"Done","plug":"output","type":"signal","group":"Outputs","index":5},{"name":"out-renamedFile","displayName":"renamedFile","plug":"output","type":"*","group":"Outputs","index":6},{"name":"out-newFileName","displayName":"newFileName","plug":"output","type":"*","group":"Outputs","index":7}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}}],"visualRoots":[]}},{"name":"/#Global logic components/Set SEO meta tags","id":"c7158c64-2182-f7b7-0ced-f1a69efa01ba","graph":{"connections":[{"fromId":"7fd92f9c-5c19-f66f-d49e-2a30b75d76db","fromProperty":"savedValue","toId":"1012cac1-8c05-0e1f-326c-25de9b2bedcf","toProperty":"value"},{"fromId":"cfa7c530-51ff-125b-45dd-5f7bc95222ff","fromProperty":"savedValue","toId":"83b487c4-a95e-d9d2-2a41-8afb6456d7c2","toProperty":"value"},{"fromId":"0bd08764-a92f-f4ad-a2d2-7eb187e42082","fromProperty":"title","toId":"7fd92f9c-5c19-f66f-d49e-2a30b75d76db","toProperty":"value"},{"fromId":"0bd08764-a92f-f4ad-a2d2-7eb187e42082","fromProperty":"description","toId":"cfa7c530-51ff-125b-45dd-5f7bc95222ff","toProperty":"value"},{"fromId":"0bd08764-a92f-f4ad-a2d2-7eb187e42082","fromProperty":"og:title","toId":"1012cac1-8c05-0e1f-326c-25de9b2bedcf","toProperty":"value"},{"fromId":"0bd08764-a92f-f4ad-a2d2-7eb187e42082","fromProperty":"og:description","toId":"83b487c4-a95e-d9d2-2a41-8afb6456d7c2","toProperty":"value"},{"fromId":"0bd08764-a92f-f4ad-a2d2-7eb187e42082","fromProperty":"og:type","toId":"b79af8fe-cc38-f5cb-5459-f68a0197d6aa","toProperty":"currentState"},{"fromId":"b79af8fe-cc38-f5cb-5459-f68a0197d6aa","fromProperty":"currentState","toId":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","toProperty":"in-ogType"},{"fromId":"fe0795bb-6710-eb7e-f519-38f15143759f","fromProperty":"result","toId":"d0f43ee7-6b0f-114d-9d7c-8fed7cb4aa09","toProperty":"value"},{"fromId":"0bd08764-a92f-f4ad-a2d2-7eb187e42082","fromProperty":"og:url (override default)","toId":"d0f43ee7-6b0f-114d-9d7c-8fed7cb4aa09","toProperty":"value"},{"fromId":"7fd92f9c-5c19-f66f-d49e-2a30b75d76db","fromProperty":"savedValue","toId":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","toProperty":"in-title"},{"fromId":"cfa7c530-51ff-125b-45dd-5f7bc95222ff","fromProperty":"savedValue","toId":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","toProperty":"in-description"},{"fromId":"1012cac1-8c05-0e1f-326c-25de9b2bedcf","fromProperty":"savedValue","toId":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","toProperty":"in-ogTitle"},{"fromId":"83b487c4-a95e-d9d2-2a41-8afb6456d7c2","fromProperty":"savedValue","toId":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","toProperty":"in-ogDescription"},{"fromId":"cb282255-9392-383e-ba71-40cbde6e1e56","fromProperty":"imagePath","toId":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","toProperty":"in-ogImage"},{"fromId":"bda64650-9d1f-e222-d21e-f19f78617857","fromProperty":"savedValue","toId":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","toProperty":"in-ogImageWidth"},{"fromId":"7ad43511-397e-9c0f-e6d0-5f1fa93a9e1c","fromProperty":"savedValue","toId":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","toProperty":"in-ogImageHeight"},{"fromId":"d0f43ee7-6b0f-114d-9d7c-8fed7cb4aa09","fromProperty":"savedValue","toId":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","toProperty":"in-ogUrl"},{"fromId":"0bd08764-a92f-f4ad-a2d2-7eb187e42082","fromProperty":"og:image","toId":"cb282255-9392-383e-ba71-40cbde6e1e56","toProperty":"image"},{"fromId":"cb282255-9392-383e-ba71-40cbde6e1e56","fromProperty":"imageWidth","toId":"bda64650-9d1f-e222-d21e-f19f78617857","toProperty":"value"},{"fromId":"cb282255-9392-383e-ba71-40cbde6e1e56","fromProperty":"imageHeight","toId":"7ad43511-397e-9c0f-e6d0-5f1fa93a9e1c","toProperty":"value"},{"fromId":"0bd08764-a92f-f4ad-a2d2-7eb187e42082","fromProperty":"robots","toId":"a5e0542b-4504-6640-e4f6-b7610368fb2a","toProperty":"value"},{"fromId":"a5e0542b-4504-6640-e4f6-b7610368fb2a","fromProperty":"savedValue","toId":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","toProperty":"in-robots"},{"fromId":"0bd08764-a92f-f4ad-a2d2-7eb187e42082","fromProperty":"twitter:image","toId":"c11cbea7-8110-96d2-9ca4-6e2ed205d7c6","toProperty":"image"},{"fromId":"cb282255-9392-383e-ba71-40cbde6e1e56","fromProperty":"imagePath","toId":"c11cbea7-8110-96d2-9ca4-6e2ed205d7c6","toProperty":"image"},{"fromId":"0bd08764-a92f-f4ad-a2d2-7eb187e42082","fromProperty":"twitter:card","toId":"5bc6c5e1-178b-4a0a-bf3a-f6b0b3c31f57","toProperty":"currentState"},{"fromId":"5bc6c5e1-178b-4a0a-bf3a-f6b0b3c31f57","fromProperty":"currentState","toId":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","toProperty":"in-twitterCard"},{"fromId":"c11cbea7-8110-96d2-9ca4-6e2ed205d7c6","fromProperty":"imagePath","toId":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","toProperty":"in-twitterImage"},{"fromId":"0bd08764-a92f-f4ad-a2d2-7eb187e42082","fromProperty":"twitter:title","toId":"e27a0643-82d1-aa77-34e0-33a995043af4","toProperty":"value"},{"fromId":"0bd08764-a92f-f4ad-a2d2-7eb187e42082","fromProperty":"twitter:description","toId":"d0776c2c-23bf-b08b-1eec-dcfa330dce4a","toProperty":"value"},{"fromId":"e27a0643-82d1-aa77-34e0-33a995043af4","fromProperty":"savedValue","toId":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","toProperty":"in-twitterTitle"},{"fromId":"d0776c2c-23bf-b08b-1eec-dcfa330dce4a","fromProperty":"savedValue","toId":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","toProperty":"in-twitterDescription"}],"roots":[{"id":"0bd08764-a92f-f4ad-a2d2-7eb187e42082","type":"Component Inputs","x":136,"y":602,"parameters":{},"ports":[{"name":"Do","plug":"output","type":"*","index":0},{"name":"title","plug":"output","type":{"name":"*"},"group":"General search engine","index":1},{"name":"description","plug":"output","type":{"name":"*"},"group":"General search engine","index":2},{"name":"og:title","plug":"output","type":{"name":"*"},"group":"Open Graph","index":4},{"name":"og:description","plug":"output","type":{"name":"*"},"group":"Open Graph","index":5},{"name":"og:image","plug":"output","type":{"name":"*"},"group":"Open Graph","index":6},{"name":"og:type","plug":"output","type":{"name":"*"},"group":"Open Graph","index":9},{"name":"og:url (override default)","plug":"output","type":{"name":"*"},"group":"Open Graph","index":10},{"name":"robots","plug":"output","type":{"name":"*"},"group":"General search engine","index":3},{"name":"twitter:title","plug":"output","type":{"name":"*"},"group":"Twitter","index":11},{"name":"twitter:description","plug":"output","type":{"name":"*"},"group":"Twitter","index":12},{"name":"twitter:card","plug":"output","type":{"name":"*"},"group":"Twitter","index":13},{"name":"twitter:image","plug":"output","type":{"name":"*"},"group":"Twitter","index":14}],"dynamicports":[],"children":[]},{"id":"2c9fe172-adb9-a8a3-21b4-bc92dc77c7f4","type":"JavaScriptFunction","label":"Set all meta tags","x":1360,"y":562,"parameters":{"functionScript":"const href = window.location.href;\nconst encodedOgImagePath = encodeURIComponent(Inputs.ogImage);\nconst encodedTwitterImagePath = encodeURIComponent(Inputs.twitterImage);\n\nconst metaTags = {\n // Basic title and description for search engines\n 'title': Inputs.title,\n 'description': Inputs.description,\n // Open Graph values, used by Facebook, LinkedIn, etc.\n 'og:title': Inputs.ogTitle,\n 'og:description': Inputs.ogDescription,\n 'og:image': href + encodedOgImagePath,\n // Helps social media platforms display the image correctly\n 'og:image:height': Inputs.ogImageHeight,\n 'og:image:width': Inputs.ogImageWidth,\n // Tells the service what kind of content is on the page\n // Possible values: website, article, book, profile, video.movie, video.episode, video.tv_show, video.other, music.song, music.album, music.playlist, music.radio_station\n 'og:type': Inputs.ogType,\n // Used to force recognition of a specified url no matter what paths or parameters the shared URL is composed of\n 'og:url': Inputs.ogUrl,\n // A comma separated list of values that tells crawlers how to index the site\n // Possible values: see footnote comment below **\n 'robots': Inputs.robots,\n // Values specifically for Twitter\n 'twitter:title': Inputs.twitterTitle,\n 'twitter:description': Inputs.twitterDescription,\n // Type of content to tell twitter how to present the content when shared in a tweet\n // Possible values: summary, summary_large_image, app (mobile app promotion), player (shares video or audio content directly in the tweet)\n 'twitter:card': Inputs.twitterCard,\n 'twitter:image': href + encodedTwitterImagePath\n};\n\nObject.keys(metaTags).forEach(key => {\n Noodl.SEO.setMeta(key, metaTags[key]);\n});\n\n\n/*\n** Possible robots metatag values: \n\nindex: Allows search engines to index the page (i.e., include it in their search results). This is the default behavior even if the tag isn’t present.\n\nnoindex: Prevents search engines from indexing the page (i.e., the page will not appear in search results).\n\nfollow: Instructs search engines to follow the links on the page, potentially discovering new pages to index. Like \"index\", this is default behavior.\n\nnofollow: Prevents search engines from following any links on the page. This means that while the page itself may be indexed, the search engine won’t use the links on that page to discover new pages.\n\nnoarchive: Tells search engines not to store a cached copy of the page.\n\nnosnippet: Prevents a text snippet or video preview from being shown in the search results.\n\nnoodp: Blocks search engines from using metadata from the Open Directory Project (DMOZ) for titles or snippets for the page. Note: As the DMOZ is no longer active, this directive is essentially obsolete.\n\nnotranslate: Advises search engines not to offer a translation for this page in search results.\n\nnoimageindex: Instructs search engines not to index images on the page. Images might still appear in search results if they're linked from elsewhere.\n\nunavailable_after: Specifies a date/time after which the page should not be indexed. For example, unavailable_after: 25-Jun-2020 15:00:00 EST.\n*/"},"ports":[],"dynamicports":[{"name":"in-ogImage","displayName":"ogImage","plug":"input","type":"*","group":"Inputs","index":4},{"name":"in-twitterImage","displayName":"twitterImage","plug":"input","type":"*","group":"Inputs","index":5},{"name":"in-title","displayName":"title","plug":"input","type":"*","group":"Inputs","index":6},{"name":"in-description","displayName":"description","plug":"input","type":"*","group":"Inputs","index":7},{"name":"in-ogTitle","displayName":"ogTitle","plug":"input","type":"*","group":"Inputs","index":8},{"name":"in-ogDescription","displayName":"ogDescription","plug":"input","type":"*","group":"Inputs","index":9},{"name":"in-ogImageHeight","displayName":"ogImageHeight","plug":"input","type":"*","group":"Inputs","index":10},{"name":"in-ogImageWidth","displayName":"ogImageWidth","plug":"input","type":"*","group":"Inputs","index":11},{"name":"in-ogType","displayName":"ogType","plug":"input","type":"*","group":"Inputs","index":12},{"name":"in-ogUrl","displayName":"ogUrl","plug":"input","type":"*","group":"Inputs","index":13},{"name":"in-robots","displayName":"robots","plug":"input","type":"*","group":"Inputs","index":14},{"name":"in-twitterTitle","displayName":"twitterTitle","plug":"input","type":"*","group":"Inputs","index":15},{"name":"in-twitterDescription","displayName":"twitterDescription","plug":"input","type":"*","group":"Inputs","index":16},{"name":"in-twitterCard","displayName":"twitterCard","plug":"input","type":"*","group":"Inputs","index":17}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"7fd92f9c-5c19-f66f-d49e-2a30b75d76db","type":"String","label":"title","x":754,"y":6,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"cfa7c530-51ff-125b-45dd-5f7bc95222ff","type":"String","label":"description","x":748,"y":125,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"1012cac1-8c05-0e1f-326c-25de9b2bedcf","type":"String","label":"og:title","x":750,"y":254,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"83b487c4-a95e-d9d2-2a41-8afb6456d7c2","type":"String","label":"og:description","x":745,"y":357,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"7ad43511-397e-9c0f-e6d0-5f1fa93a9e1c","type":"Number","label":"og:image:height","x":741,"y":749,"parameters":{"value":0},"ports":[],"dynamicports":[],"children":[]},{"id":"bda64650-9d1f-e222-d21e-f19f78617857","type":"Number","label":"og:image:width","x":743,"y":645,"parameters":{"value":0},"ports":[],"dynamicports":[],"children":[]},{"id":"b79af8fe-cc38-f5cb-5459-f68a0197d6aa","type":"States","label":"og:type","x":747,"y":851,"parameters":{"states":"website,article,book,profile,video.movie,video.episode,video.tv_show,video.other,music.song,music.album,music.playlist,music.radio_station"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To website","name":"to-website","group":"Go to state","index":6},{"plug":"output","type":"boolean","displayName":"At website","name":"at-website","group":"Current state","index":7},{"plug":"output","type":"signal","displayName":"Has Reached website","name":"reached-website","group":"Current state","index":8},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To article","name":"to-article","group":"Go to state","index":9},{"plug":"output","type":"boolean","displayName":"At article","name":"at-article","group":"Current state","index":10},{"plug":"output","type":"signal","displayName":"Has Reached article","name":"reached-article","group":"Current state","index":11},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To book","name":"to-book","group":"Go to state","index":12},{"plug":"output","type":"boolean","displayName":"At book","name":"at-book","group":"Current state","index":13},{"plug":"output","type":"signal","displayName":"Has Reached book","name":"reached-book","group":"Current state","index":14},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To profile","name":"to-profile","group":"Go to state","index":15},{"plug":"output","type":"boolean","displayName":"At profile","name":"at-profile","group":"Current state","index":16},{"plug":"output","type":"signal","displayName":"Has Reached profile","name":"reached-profile","group":"Current state","index":17},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To video.movie","name":"to-video.movie","group":"Go to state","index":18},{"plug":"output","type":"boolean","displayName":"At video.movie","name":"at-video.movie","group":"Current state","index":19},{"plug":"output","type":"signal","displayName":"Has Reached video.movie","name":"reached-video.movie","group":"Current state","index":20},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To video.episode","name":"to-video.episode","group":"Go to state","index":21},{"plug":"output","type":"boolean","displayName":"At video.episode","name":"at-video.episode","group":"Current state","index":22},{"plug":"output","type":"signal","displayName":"Has Reached video.episode","name":"reached-video.episode","group":"Current state","index":23},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To video.tv_show","name":"to-video.tv_show","group":"Go to state","index":24},{"plug":"output","type":"boolean","displayName":"At video.tv_show","name":"at-video.tv_show","group":"Current state","index":25},{"plug":"output","type":"signal","displayName":"Has Reached video.tv_show","name":"reached-video.tv_show","group":"Current state","index":26},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To video.other","name":"to-video.other","group":"Go to state","index":27},{"plug":"output","type":"boolean","displayName":"At video.other","name":"at-video.other","group":"Current state","index":28},{"plug":"output","type":"signal","displayName":"Has Reached video.other","name":"reached-video.other","group":"Current state","index":29},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To music.song","name":"to-music.song","group":"Go to state","index":30},{"plug":"output","type":"boolean","displayName":"At music.song","name":"at-music.song","group":"Current state","index":31},{"plug":"output","type":"signal","displayName":"Has Reached music.song","name":"reached-music.song","group":"Current state","index":32},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To music.album","name":"to-music.album","group":"Go to state","index":33},{"plug":"output","type":"boolean","displayName":"At music.album","name":"at-music.album","group":"Current state","index":34},{"plug":"output","type":"signal","displayName":"Has Reached music.album","name":"reached-music.album","group":"Current state","index":35},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To music.playlist","name":"to-music.playlist","group":"Go to state","index":36},{"plug":"output","type":"boolean","displayName":"At music.playlist","name":"at-music.playlist","group":"Current state","index":37},{"plug":"output","type":"signal","displayName":"Has Reached music.playlist","name":"reached-music.playlist","group":"Current state","index":38},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To music.radio_station","name":"to-music.radio_station","group":"Go to state","index":39},{"plug":"output","type":"boolean","displayName":"At music.radio_station","name":"at-music.radio_station","group":"Current state","index":40},{"plug":"output","type":"signal","displayName":"Has Reached music.radio_station","name":"reached-music.radio_station","group":"Current state","index":41},{"plug":"input","type":{"name":"enum","enums":["website","article","book","profile","video.movie","video.episode","video.tv_show","video.other","music.song","music.album","music.playlist","music.radio_station"]},"group":"States","displayName":"State","name":"currentState","default":"website","index":42}],"children":[]},{"id":"d0f43ee7-6b0f-114d-9d7c-8fed7cb4aa09","type":"String","label":"og:url","x":745,"y":949,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"fe0795bb-6710-eb7e-f519-38f15143759f","type":"Expression","label":"Set default to current href","x":481,"y":920,"parameters":{"expression":"window.location.href"},"ports":[],"dynamicports":[],"children":[],"metadata":{"merge":{"soureCodePorts":["expression"]}}},{"id":"cb282255-9392-383e-ba71-40cbde6e1e56","type":"Javascript2","label":"Choose image from library","x":743,"y":459,"parameters":{"code":"Script.Inputs = {\n image: \"image\"\n};\n\nfunction onChange() {\n function getImageDimensions(url, callback) {\n var img = new Image();\n\n // Set up an event listener to execute once the image has loaded\n img.onload = function() {\n // The image is now loaded; dimensions are available\n callback(this.width, this.height);\n };\n\n // Handle possible errors in loading the image (e.g., broken links)\n img.onerror = function() {\n console.log(\"There was an error loading the image.\");\n };\n\n // Set the source of the image\n img.src = url;\n }\n\n getImageDimensions(Script.Inputs.image, (width, height) => {\n Script.Outputs.imageWidth = width;\n Script.Outputs.imageHeight = height;\n });\n\n \n Script.Outputs.imagePath = Script.Inputs.image;\n Script.Outputs.Done();\n}\n\nScript.Setters.image = onChange;\n\n"},"ports":[],"dynamicports":[{"name":"image","plug":"input","type":{"name":"image"},"group":"Inputs","index":5},{"name":"Done","displayName":"Done","plug":"output","type":"signal","group":"Outputs","index":6},{"name":"imageWidth","displayName":"imageWidth","plug":"output","type":"*","group":"Outputs","index":7},{"name":"imageHeight","displayName":"imageHeight","plug":"output","type":"*","group":"Outputs","index":8},{"name":"imagePath","displayName":"imagePath","plug":"output","type":"*","group":"Outputs","index":9}],"children":[],"metadata":{"merge":{"soureCodePorts":["code"]}}},{"id":"a5e0542b-4504-6640-e4f6-b7610368fb2a","type":"String","label":"robots","x":745,"y":1050,"parameters":{"value":"index,nofollow"},"ports":[],"dynamicports":[],"children":[]},{"id":"5bc6c5e1-178b-4a0a-bf3a-f6b0b3c31f57","type":"States","label":"twitter:card","x":747,"y":1482,"parameters":{"states":"summary,summary_large_image,app,player"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To summary","name":"to-summary","group":"Go to state","index":6},{"plug":"output","type":"boolean","displayName":"At summary","name":"at-summary","group":"Current state","index":7},{"plug":"output","type":"signal","displayName":"Has Reached summary","name":"reached-summary","group":"Current state","index":8},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To summary_large_image","name":"to-summary_large_image","group":"Go to state","index":9},{"plug":"output","type":"boolean","displayName":"At summary_large_image","name":"at-summary_large_image","group":"Current state","index":10},{"plug":"output","type":"signal","displayName":"Has Reached summary_large_image","name":"reached-summary_large_image","group":"Current state","index":11},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To app","name":"to-app","group":"Go to state","index":12},{"plug":"output","type":"boolean","displayName":"At app","name":"at-app","group":"Current state","index":13},{"plug":"output","type":"signal","displayName":"Has Reached app","name":"reached-app","group":"Current state","index":14},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To player","name":"to-player","group":"Go to state","index":15},{"plug":"output","type":"boolean","displayName":"At player","name":"at-player","group":"Current state","index":16},{"plug":"output","type":"signal","displayName":"Has Reached player","name":"reached-player","group":"Current state","index":17},{"plug":"input","type":{"name":"enum","enums":["summary","summary_large_image","app","player"]},"group":"States","displayName":"State","name":"currentState","default":"summary","index":18}],"children":[]},{"id":"c11cbea7-8110-96d2-9ca4-6e2ed205d7c6","type":"Javascript2","label":"Choose image from library","x":748,"y":1372,"parameters":{"code":"Script.Inputs = {\n image: \"image\"\n};\n\nfunction onChange() { \n Script.Outputs.imagePath = Script.Inputs.image;\n Script.Outputs.Done();\n}\n\nScript.Setters.image = onChange;\n\n"},"ports":[],"dynamicports":[{"name":"image","plug":"input","type":{"name":"image"},"group":"Inputs","index":5},{"name":"Done","displayName":"Done","plug":"output","type":"signal","group":"Outputs","index":6},{"name":"imagePath","displayName":"imagePath","plug":"output","type":"*","group":"Outputs","index":7}],"children":[],"metadata":{"merge":{"soureCodePorts":["code"]}}},{"id":"e27a0643-82d1-aa77-34e0-33a995043af4","type":"String","label":"twitter:title","x":749,"y":1158,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"d0776c2c-23bf-b08b-1eec-dcfa330dce4a","type":"String","label":"twitter:description","x":751,"y":1268,"parameters":{},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":[]}},{"name":"/#Global logic components/Upload file","id":"d7c1f9ad-e5bc-c6a7-0175-8068f1d66724","graph":{"connections":[{"fromId":"1fec51c2-4a87-6aba-b107-85c7a2b0cfd7","fromProperty":"cloudFile","toId":"05043dc1-5b84-3717-790f-3bb7ed880fd6","toProperty":"file"},{"fromId":"797d7631-1973-29b0-015d-858b432959bb","fromProperty":"Do","toId":"c2ccc0f1-b693-dceb-c674-ce9d306c7a4d","toProperty":"open"},{"fromId":"1fec51c2-4a87-6aba-b107-85c7a2b0cfd7","fromProperty":"failure","toId":"4ba07334-6a0d-149a-9d30-7dc9edd41bf4","toProperty":"Do"},{"fromId":"05043dc1-5b84-3717-790f-3bb7ed880fd6","fromProperty":"url","toId":"c6717c5f-af4a-a474-a7cf-9017eeacf225","toProperty":"filePath"},{"fromId":"1fec51c2-4a87-6aba-b107-85c7a2b0cfd7","fromProperty":"error","toId":"e8560fca-2f2a-4530-b7f7-4e38030e20a0","toProperty":"error"},{"fromId":"1fec51c2-4a87-6aba-b107-85c7a2b0cfd7","fromProperty":"errorStatus","toId":"e8560fca-2f2a-4530-b7f7-4e38030e20a0","toProperty":"errorCode"},{"fromId":"e8560fca-2f2a-4530-b7f7-4e38030e20a0","fromProperty":"formatted","toId":"4ba07334-6a0d-149a-9d30-7dc9edd41bf4","toProperty":"Message"},{"fromId":"c2ccc0f1-b693-dceb-c674-ce9d306c7a4d","fromProperty":"file","toId":"c3562e13-e535-1bf8-5200-133703a9c1e5","toProperty":"originFile"},{"fromId":"c2ccc0f1-b693-dceb-c674-ce9d306c7a4d","fromProperty":"success","toId":"c3562e13-e535-1bf8-5200-133703a9c1e5","toProperty":"Do"},{"fromId":"c3562e13-e535-1bf8-5200-133703a9c1e5","fromProperty":"Success","toId":"514576b8-68e0-f0e2-213c-134016a6fc42","toProperty":"Show"},{"fromId":"c3562e13-e535-1bf8-5200-133703a9c1e5","fromProperty":"Success","toId":"1fec51c2-4a87-6aba-b107-85c7a2b0cfd7","toProperty":"upload"},{"fromId":"c3562e13-e535-1bf8-5200-133703a9c1e5","fromProperty":"fileName","toId":"c6717c5f-af4a-a474-a7cf-9017eeacf225","toProperty":"fileName"},{"fromId":"c3562e13-e535-1bf8-5200-133703a9c1e5","fromProperty":"sanitisedFile","toId":"1fec51c2-4a87-6aba-b107-85c7a2b0cfd7","toProperty":"file"},{"fromId":"4badd58e-64bd-cb4f-e9a0-6ad575bb685b","fromProperty":"created","toId":"c6717c5f-af4a-a474-a7cf-9017eeacf225","toProperty":"Success"},{"fromId":"05043dc1-5b84-3717-790f-3bb7ed880fd6","fromProperty":"url","toId":"4badd58e-64bd-cb4f-e9a0-6ad575bb685b","toProperty":"prop-filePath"},{"fromId":"05043dc1-5b84-3717-790f-3bb7ed880fd6","fromProperty":"name","toId":"4badd58e-64bd-cb4f-e9a0-6ad575bb685b","toProperty":"prop-fileNameHex"},{"fromId":"c3562e13-e535-1bf8-5200-133703a9c1e5","fromProperty":"sanitisedFile","toId":"4badd58e-64bd-cb4f-e9a0-6ad575bb685b","toProperty":"prop-cloudFile"},{"fromId":"c3562e13-e535-1bf8-5200-133703a9c1e5","fromProperty":"fileName","toId":"4badd58e-64bd-cb4f-e9a0-6ad575bb685b","toProperty":"prop-fileName"},{"fromId":"1fec51c2-4a87-6aba-b107-85c7a2b0cfd7","fromProperty":"success","toId":"4badd58e-64bd-cb4f-e9a0-6ad575bb685b","toProperty":"new"},{"fromId":"1fec51c2-4a87-6aba-b107-85c7a2b0cfd7","fromProperty":"success","toId":"514576b8-68e0-f0e2-213c-134016a6fc42","toProperty":"Hide"},{"fromId":"1fec51c2-4a87-6aba-b107-85c7a2b0cfd7","fromProperty":"progressLoadedPercent","toId":"514576b8-68e0-f0e2-213c-134016a6fc42","toProperty":"percent"},{"fromId":"1fec51c2-4a87-6aba-b107-85c7a2b0cfd7","fromProperty":"failure","toId":"514576b8-68e0-f0e2-213c-134016a6fc42","toProperty":"Hide"},{"fromId":"4badd58e-64bd-cb4f-e9a0-6ad575bb685b","fromProperty":"id","toId":"c6717c5f-af4a-a474-a7cf-9017eeacf225","toProperty":"uploadId"}],"roots":[{"id":"797d7631-1973-29b0-015d-858b432959bb","type":"Component Inputs","x":494,"y":221,"parameters":{},"ports":[{"name":"Do","plug":"output","type":"*","index":0}],"dynamicports":[],"children":[]},{"id":"c6717c5f-af4a-a474-a7cf-9017eeacf225","type":"Component Outputs","x":1797.0844704128579,"y":226.66473865055042,"parameters":{},"ports":[{"name":"Success","plug":"input","type":"*","index":0},{"name":"Failure","plug":"input","type":"*","index":1},{"name":"uploadId","plug":"input","type":{"name":"*"},"index":2},{"name":"filePath","plug":"input","type":{"name":"*"},"index":3},{"name":"fileName","plug":"input","type":{"name":"*"},"index":4}],"dynamicports":[],"children":[]},{"id":"c2ccc0f1-b693-dceb-c674-ce9d306c7a4d","type":"Open File Picker","x":742,"y":200,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"1fec51c2-4a87-6aba-b107-85c7a2b0cfd7","type":"Upload File","x":1202.5629160926464,"y":147.29968362536331,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"05043dc1-5b84-3717-790f-3bb7ed880fd6","type":"Cloud File","x":1202.3303507350945,"y":377.63407154081904,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"4ba07334-6a0d-149a-9d30-7dc9edd41bf4","type":"/Show Toast","label":"Failure toast","x":1428.898177442096,"y":-31.628287492470278,"parameters":{"Message":"","Type":"Warning"},"ports":[],"dynamicports":[],"children":[]},{"id":"e8560fca-2f2a-4530-b7f7-4e38030e20a0","type":"String Format","label":"Format upload error","x":1199.2814580463232,"y":-28.706100422985493,"parameters":{"format":"Upload failed, please try again. Error {error}, code {errorCode}"},"ports":[],"dynamicports":[{"name":"error","type":"string","plug":"input","index":2},{"name":"errorCode","type":"string","plug":"input","index":3}],"children":[]},{"id":"c3562e13-e535-1bf8-5200-133703a9c1e5","type":"/#Global logic components/Sanitise filename","x":968.1094078850244,"y":175.22539749933742,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"514576b8-68e0-f0e2-213c-134016a6fc42","type":"/#Global visual components/Upload progress popup","x":952.1037238005807,"y":439.012391352199,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"4badd58e-64bd-cb4f-e9a0-6ad575bb685b","type":"NewModel","x":1497.6454111786738,"y":207.42872505279755,"parameters":{"properties":"cloudFile,fileName,fileNameHex,filePath"},"ports":[],"dynamicports":[{"type":{"name":"*"},"plug":"input","group":"Property Values","displayName":"cloudFile","name":"prop-cloudFile","index":4},{"type":{"name":"enum","enums":[{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Number","value":"number"},{"label":"Date","value":"date"},{"label":"Array","value":"array"},{"label":"Object","value":"object"},{"label":"Any","value":"*"}],"allowEditOnly":true},"plug":"input","group":"Property Types","displayName":"cloudFile","default":"*","name":"type-cloudFile","index":5},{"type":{"name":"*"},"plug":"input","group":"Property Values","displayName":"fileName","name":"prop-fileName","index":6},{"type":{"name":"enum","enums":[{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Number","value":"number"},{"label":"Date","value":"date"},{"label":"Array","value":"array"},{"label":"Object","value":"object"},{"label":"Any","value":"*"}],"allowEditOnly":true},"plug":"input","group":"Property Types","displayName":"fileName","default":"*","name":"type-fileName","index":7},{"type":{"name":"*"},"plug":"input","group":"Property Values","displayName":"fileNameHex","name":"prop-fileNameHex","index":8},{"type":{"name":"enum","enums":[{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Number","value":"number"},{"label":"Date","value":"date"},{"label":"Array","value":"array"},{"label":"Object","value":"object"},{"label":"Any","value":"*"}],"allowEditOnly":true},"plug":"input","group":"Property Types","displayName":"fileNameHex","default":"*","name":"type-fileNameHex","index":9},{"type":{"name":"*"},"plug":"input","group":"Property Values","displayName":"filePath","name":"prop-filePath","index":10},{"type":{"name":"enum","enums":[{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Number","value":"number"},{"label":"Date","value":"date"},{"label":"Array","value":"array"},{"label":"Object","value":"object"},{"label":"Any","value":"*"}],"allowEditOnly":true},"plug":"input","group":"Property Types","displayName":"filePath","default":"*","name":"type-filePath","index":11}],"children":[]}],"visualRoots":[],"comments":[{"text":"I recommend you create an 'Upload' class or similar with the following fields from this object. It will help you later when you want to delete a file","width":288,"height":306,"fill":"transparent","x":1450,"y":118,"id":"bf387943-b075-fd8e-a7ae-46ef7b2cd62e"}]}},{"name":"/#Global visual components/Dropdown menu","id":"6024198b-bf47-a830-0bef-bdde537776db","graph":{"connections":[{"fromId":"80854343-b2ce-7962-4b7f-5789543760b2","fromProperty":"menuItems","toId":"76722cc9-3161-da5a-c880-75f2b3f697ad","toProperty":"items"},{"fromId":"45515016-5205-7709-6622-359d46879779","fromProperty":"this","toId":"a7d91f0c-7e6a-ad0f-af4a-d5b1bbaa7fae","toProperty":"in-This"},{"fromId":"cf4a4f64-9859-c3dc-ed8c-ea95aa7de947","fromProperty":"mounted","toId":"45515016-5205-7709-6622-359d46879779","toProperty":"mounted"},{"fromId":"80854343-b2ce-7962-4b7f-5789543760b2","fromProperty":"clicked","toId":"cf4a4f64-9859-c3dc-ed8c-ea95aa7de947","toProperty":"to-visible"},{"fromId":"a7d91f0c-7e6a-ad0f-af4a-d5b1bbaa7fae","fromProperty":"out-ClickedOutside","toId":"cf4a4f64-9859-c3dc-ed8c-ea95aa7de947","toProperty":"to-notVisible"},{"fromId":"80854343-b2ce-7962-4b7f-5789543760b2","fromProperty":"offset top","toId":"45515016-5205-7709-6622-359d46879779","toProperty":"marginTop"},{"fromId":"80854343-b2ce-7962-4b7f-5789543760b2","fromProperty":"offset bottom","toId":"45515016-5205-7709-6622-359d46879779","toProperty":"marginBottom"},{"fromId":"80854343-b2ce-7962-4b7f-5789543760b2","fromProperty":"offset left","toId":"45515016-5205-7709-6622-359d46879779","toProperty":"marginLeft"},{"fromId":"80854343-b2ce-7962-4b7f-5789543760b2","fromProperty":"offset right","toId":"45515016-5205-7709-6622-359d46879779","toProperty":"marginRight"},{"fromId":"76722cc9-3161-da5a-c880-75f2b3f697ad","fromProperty":"itemOutputSignal-clicked","toId":"cf4a4f64-9859-c3dc-ed8c-ea95aa7de947","toProperty":"to-notVisible"},{"fromId":"76722cc9-3161-da5a-c880-75f2b3f697ad","fromProperty":"itemOutput-itemClicked","toId":"abc41872-0605-60ed-4352-6222e22a665b","toProperty":"itemId"},{"fromId":"76722cc9-3161-da5a-c880-75f2b3f697ad","fromProperty":"itemOutputSignal-clicked","toId":"abc41872-0605-60ed-4352-6222e22a665b","toProperty":"itemClicked"}],"roots":[{"id":"45515016-5205-7709-6622-359d46879779","type":"Group","x":427,"y":197,"parameters":{"position":"absolute","width":{"value":150,"unit":"px"},"sizeMode":"contentHeight","alignX":"right","marginTop":{"value":30,"unit":"px"},"backgroundColor":"White","boxShadowEnabled":false,"boxShadowBlurRadius":{"value":4,"unit":"px"},"boxShadowColor":"#00000019","borderRadius":{"value":10,"unit":"px"},"paddingTop":{"value":20,"unit":"px"},"paddingLeft":{"value":20,"unit":"px"},"paddingRight":{"value":20,"unit":"px"},"paddingBottom":{"value":20,"unit":"px"},"rowGap":{"value":15,"unit":"px"},"zIndex":999,"styleCss":"/* background-color: red; */\n\nbox-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\n"},"ports":[],"dynamicports":[],"children":[{"id":"732b32ee-9f50-ae1d-c071-935debdf564c","type":"Component Children","parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"76722cc9-3161-da5a-c880-75f2b3f697ad","type":"For Each","parameters":{"template":"/#Global visual components/Dropdown menu/Dropdown menu item"},"ports":[],"dynamicports":[{"name":"itemOutputSignal-clicked","displayName":"clicked","type":"signal","plug":"output","group":"Item Signals","index":6},{"name":"itemOutput-itemClicked","displayName":"itemClicked","type":"*","plug":"output","group":"Item Outputs","index":7},{"name":"inputMappingScript","type":{"name":"string","codeeditor":"javascript"},"displayName":"Script","group":"Input Mapping","default":"// Here you add mappings between the properties of the item objects and the inputs of the components.\n// 'myComponentInput': 'myObjectProperty',\n// 'anotherComponentInput': function () { return object.get('someProperty') + ' ' + object.get('otherProp') }\n// These are the default mappings based on the selected template component.\nmap({\n})\n","plug":"input","index":8}],"children":[]}]},{"id":"80854343-b2ce-7962-4b7f-5789543760b2","type":"Component Inputs","x":149,"y":211,"parameters":{},"ports":[{"name":"menuItems","plug":"output","type":{"name":"*"},"index":1},{"name":"clicked","plug":"output","type":{"name":"*"},"index":2},{"name":"offset top","plug":"output","type":{"name":"*"},"index":3},{"name":"offset bottom","plug":"output","type":{"name":"*"},"index":4},{"name":"offset left","plug":"output","type":{"name":"*"},"index":5},{"name":"offset right","plug":"output","type":{"name":"*"},"index":6}],"dynamicports":[],"children":[]},{"id":"abc41872-0605-60ed-4352-6222e22a665b","type":"Component Outputs","x":672,"y":228,"parameters":{},"ports":[{"name":"itemClicked","plug":"input","type":{"name":"*"},"index":1},{"name":"itemId","plug":"input","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"a7d91f0c-7e6a-ad0f-af4a-d5b1bbaa7fae","type":"JavaScriptFunction","label":"Detect user click outside group","x":669,"y":66,"parameters":{"functionScript":"document.addEventListener('click', function(event) {\n const filtersPopunder = Inputs.This.getDOMElement();\n if (filtersPopunder && !filtersPopunder.contains(event.target)) {\n Outputs.ClickedOutside = true;\n\n // Reset Outputs.ClickedOutside to false after 500 milliseconds\n setTimeout(function() {\n Outputs.ClickedOutside = false;\n }, 500);\n }\n});"},"ports":[],"dynamicports":[{"name":"in-This","displayName":"This","plug":"input","type":"*","group":"Inputs","index":4},{"name":"out-ClickedOutside","displayName":"ClickedOutside","plug":"output","type":"*","group":"Outputs","index":5}],"children":[],"metadata":{"prompt":{"history":[{"content":"When the user clicks outside the 'Filters popunder' group, the function outputs true\n","metadata":{"user":{"id":"b769f437-0f92-4325-8a22-572da312e722","email":"[email protected]","name":"Richard Osborne"},"code":"\ndocument.addEventListener('click', function(event) {\n const filtersPopunder = document.querySelector('.filters-popunder');\n if (filtersPopunder && !filtersPopunder.contains(event.target)) {\n Outputs.ClickedOutside = true;\n }\n});\n"},"snowflakeId":"0189279609eb-qyrn7l","type":"user"},{"type":"assistant","content":"This event listener listens for a click event on the document. It checks if the clicked element is not a child of the '.filters-popunder' element. If it is not, it sets the <span style=\"color: var(--base-color-yellow-400);\">Outputs.ClickedOutside</span> property to true","snowflakeId":"0189279616fe-k2usun","metadata":{}}],"metadata":{"templateId":"function"}},"AiAssistant":"old","merge":{"soureCodePorts":["functionScript"]}}},{"id":"cf4a4f64-9859-c3dc-ed8c-ea95aa7de947","type":"States","x":425,"y":75,"parameters":{"states":"visible,notVisible","currentState":"notVisible","values":"mounted","useTransitions":false,"type-mounted":"boolean","value-visible-mounted":true},"ports":[],"dynamicports":[{"type":{"name":"boolean","allowConnectionsOnly":true},"plug":"output","group":"Values","name":"mounted","index":6},{"type":{"name":"enum","enums":[{"label":"Number","value":"number"},{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Color","value":"color"},{"label":"Text Style","value":"textStyle"}],"allowEditOnly":true},"default":"number","plug":"input","group":"Types","displayName":"mounted","name":"type-mounted","index":7},{"plug":"input","type":"boolean","group":"visible Values","name":"value-visible-mounted","displayName":"mounted","editorName":"visible|mounted","index":8},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To visible","name":"to-visible","group":"Go to state","index":9},{"plug":"output","type":"boolean","displayName":"At visible","name":"at-visible","group":"Current state","index":10},{"plug":"output","type":"signal","displayName":"Has Reached visible","name":"reached-visible","group":"Current state","index":11},{"plug":"input","type":"boolean","group":"notVisible Values","name":"value-notVisible-mounted","displayName":"mounted","editorName":"notVisible|mounted","index":12},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To notVisible","name":"to-notVisible","group":"Go to state","index":13},{"plug":"output","type":"boolean","displayName":"At notVisible","name":"at-notVisible","group":"Current state","index":14},{"plug":"output","type":"signal","displayName":"Has Reached notVisible","name":"reached-notVisible","group":"Current state","index":15},{"plug":"input","type":{"name":"enum","enums":["visible","notVisible"]},"group":"States","displayName":"State","name":"currentState","default":"visible","index":16}],"children":[]}],"visualRoots":["45515016-5205-7709-6622-359d46879779"],"comments":[{"text":"Input array should be like:\n\n[\n { \n \"itemText\": \"value\",\n \"textColour\": \"value\" ,\n \"itemIcon\": \"value\",\n \"itemId\": \"value'\n }\n]\n\nThe itemIcon field should be the raw name of a Google Material icon like user_add\n\nThe itemId should be a random unique id","width":266,"height":314,"fill":true,"x":-4,"y":-116,"id":"385a000c-0fc1-bbfa-9fdd-e0fef5c8e3df","color":"component"},{"text":"Use the component children node to allow you to add a title or whatever to the top of your list of dropdown items like 'User menu' or something","width":248,"height":117,"fill":"transparent","x":709,"y":420,"id":"0b6326b2-16de-af8c-4643-e33957e8c8ee","color":"component"}]}},{"name":"/#Global visual components/Dropdown menu/Dropdown menu item","id":"d87b8395-3b2c-135a-1964-29ac629cf01a","graph":{"connections":[{"fromId":"c8ce9351-5f04-c869-6558-4d329af00e96","fromProperty":"prop-itemText","toId":"77fb0324-aacc-e285-dba5-36aa8aa2e6a4","toProperty":"text"},{"fromId":"c8ce9351-5f04-c869-6558-4d329af00e96","fromProperty":"prop-textColour","toId":"77fb0324-aacc-e285-dba5-36aa8aa2e6a4","toProperty":"color"},{"fromId":"6690c433-e2fe-8b8d-e1fe-913122b5da30","fromProperty":"result","toId":"a7efebab-9316-ffee-1438-70f35874e5c6","toProperty":"mounted"},{"fromId":"c8ce9351-5f04-c869-6558-4d329af00e96","fromProperty":"prop-itemIcon","toId":"6690c433-e2fe-8b8d-e1fe-913122b5da30","toProperty":"icon"},{"fromId":"e9f33c30-fa3f-ceaf-d17c-e06b63e1b72b","fromProperty":"onClick","toId":"20d4f712-66bb-2fe0-f5a1-3d741144128b","toProperty":"run"},{"fromId":"20d4f712-66bb-2fe0-f5a1-3d741144128b","fromProperty":"out-Success","toId":"63a157ca-f83a-c539-f105-e7b5a5ba8fae","toProperty":"clicked"},{"fromId":"20d4f712-66bb-2fe0-f5a1-3d741144128b","fromProperty":"out-itemClicked","toId":"63a157ca-f83a-c539-f105-e7b5a5ba8fae","toProperty":"itemClicked"},{"fromId":"c8ce9351-5f04-c869-6558-4d329af00e96","fromProperty":"prop-itemId","toId":"20d4f712-66bb-2fe0-f5a1-3d741144128b","toProperty":"in-itemClicked"},{"fromId":"c8ce9351-5f04-c869-6558-4d329af00e96","fromProperty":"prop-itemIcon","toId":"293fe291-116c-379c-81d1-11c55d14ecbf","toProperty":"iconName"},{"fromId":"293fe291-116c-379c-81d1-11c55d14ecbf","fromProperty":"iconObject","toId":"a7efebab-9316-ffee-1438-70f35874e5c6","toProperty":"iconIconSource"}],"roots":[{"id":"e9f33c30-fa3f-ceaf-d17c-e06b63e1b72b","type":"Group","x":323,"y":10,"parameters":{"flexDirection":"row","columnGap":{"value":5,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"a7efebab-9316-ffee-1438-70f35874e5c6","type":"net.noodl.visual.icon","parameters":{"mounted":false,"alignY":"center","iconSize":{"value":24,"unit":"px"},"iconColor":"Grey - 700"},"ports":[],"dynamicports":[],"children":[]},{"id":"77fb0324-aacc-e285-dba5-36aa8aa2e6a4","type":"Text","label":"Menu item text","parameters":{"sizeMode":"contentHeight"},"ports":[],"dynamicports":[],"children":[]}]},{"id":"c8ce9351-5f04-c869-6558-4d329af00e96","type":"Model2","x":75,"y":38,"parameters":{"properties":"textColour,itemText,itemIcon,itemId","idSource":"foreach"},"ports":[],"dynamicports":[{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"prop-textColour","displayName":"textColour","index":7},{"type":"signal","plug":"output","group":"Changed Events","displayName":"textColour Changed","name":"changed-textColour","index":8},{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"prop-itemText","displayName":"itemText","index":9},{"type":"signal","plug":"output","group":"Changed Events","displayName":"itemText Changed","name":"changed-itemText","index":10},{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"prop-itemIcon","displayName":"itemIcon","index":11},{"type":"signal","plug":"output","group":"Changed Events","displayName":"itemIcon Changed","name":"changed-itemIcon","index":12},{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"prop-itemId","displayName":"itemId","index":13},{"type":"signal","plug":"output","group":"Changed Events","displayName":"itemId Changed","name":"changed-itemId","index":14}],"children":[]},{"id":"63a157ca-f83a-c539-f105-e7b5a5ba8fae","type":"Component Outputs","x":864,"y":119,"parameters":{},"ports":[{"name":"clicked","plug":"input","type":{"name":"*"},"index":1},{"name":"itemClicked","plug":"input","type":{"name":"*"},"index":3}],"dynamicports":[],"children":[]},{"id":"6690c433-e2fe-8b8d-e1fe-913122b5da30","type":"Expression","x":85,"y":160,"parameters":{"expression":"icon"},"ports":[],"dynamicports":[{"group":"Parameters","name":"icon","type":{"name":"*","editAsType":"string"},"plug":"input","index":7}],"children":[],"metadata":{"merge":{"soureCodePorts":["expression"]}}},{"id":"20d4f712-66bb-2fe0-f5a1-3d741144128b","type":"JavaScriptFunction","label":"Output item clicked","x":608.958920729953,"y":109.95070487594359,"parameters":{"functionScript":"if (!Inputs.itemClicked) return;\n\nconst itemClicked = Inputs.itemClicked;\n\nOutputs.itemClicked = itemClicked;\nOutputs.Success()"},"ports":[],"dynamicports":[{"name":"in-itemClicked","displayName":"itemClicked","plug":"input","type":"*","group":"Inputs","index":4},{"name":"out-Success","displayName":"Success","plug":"output","type":"signal","group":"Outputs","index":5},{"name":"out-itemClicked","displayName":"itemClicked","plug":"output","type":"*","group":"Outputs","index":6}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"293fe291-116c-379c-81d1-11c55d14ecbf","type":"/#Global logic components/Generate icon object","x":89.35006066432831,"y":271.62029697771,"parameters":{},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":["e9f33c30-fa3f-ceaf-d17c-e06b63e1b72b"]}},{"name":"/#Global visual components/Expandable cards example","id":"857f6ff0-afa6-c3a0-8941-d058401bf532","graph":{"connections":[{"fromId":"d911fc57-217c-33c6-ec8d-d30ee87e9d69","fromProperty":"items","toId":"3c90474c-3fa7-ab13-7660-1654db92a4d7","toProperty":"items"}],"roots":[{"id":"2cfcbc03-37ac-98bb-3af1-910db2fa8e6a","type":"/#Global visual components/Expandable list header","x":30,"y":8,"parameters":{"Primary Label":"This is an expandable list of cats from the catArray"},"ports":[],"dynamicports":[],"children":[{"id":"0c729ce7-2b9e-2c88-e2d8-05b26033a9f3","type":"net.noodl.visual.columns","parameters":{"layoutString":"1 1 1","minWidth":{"value":150,"unit":"px"},"justifyContent":"center"},"ports":[],"dynamicports":[],"children":[{"id":"3c90474c-3fa7-ab13-7660-1654db92a4d7","type":"For Each","parameters":{"template":"/#Global visual components/Expandable cards example/Card item"},"ports":[],"dynamicports":[{"name":"itemOutputSignal-Clicked","displayName":"Clicked","type":"signal","plug":"output","group":"Item Signals","index":6},{"name":"inputMappingScript","type":{"name":"string","codeeditor":"javascript"},"displayName":"Script","group":"Input Mapping","default":"// Here you add mappings between the properties of the item objects and the inputs of the components.\n// 'myComponentInput': 'myObjectProperty',\n// 'anotherComponentInput': function () { return object.get('someProperty') + ' ' + object.get('otherProp') }\n// These are the default mappings based on the selected template component.\nmap({\n})\n","plug":"input","index":7}],"children":[]}]}]},{"id":"d911fc57-217c-33c6-ec8d-d30ee87e9d69","type":"Static Data","x":-223.5,"y":110,"parameters":{"type":"json","json":"[\n {\n \"title\": \"Card 1\",\n \"subtitle\": \"This is the first card\",\n \"imageId\": \"cat1\",\n \"tags\": [\n {\n \"name\": \"Tag 1\"\n },\n {\n \"name\": \"Tag 2\"\n },\n {\n \"name\": \"Tag 3\"\n }\n ]\n },\n {\n \"title\": \"Card 2\",\n \"subtitle\": \"This is the second card\",\n \"imageId\": \"cat2\",\n \"tags\": [\n {\n \"name\": \"Tag 1\"\n },\n {\n \"name\": \"Tag 2\"\n },\n {\n \"name\": \"Tag 3\"\n }\n ]\n },\n {\n \"title\": \"Card 3\",\n \"subtitle\": \"This is the third card\",\n \"imageId\": \"cat3\",\n \"tags\": [\n {\n \"name\": \"Tag 1\"\n },\n {\n \"name\": \"Tag 2\"\n },\n {\n \"name\": \"Tag 3\"\n }\n ]\n }\n]"},"ports":[],"dynamicports":[],"children":[],"metadata":{"merge":{"soureCodePorts":["json"]}}}],"visualRoots":["2cfcbc03-37ac-98bb-3af1-910db2fa8e6a"]}},{"name":"/#Global visual components/Expandable cards example/Card item","id":"d08d01d3-4787-0114-0479-87d1a9601ec9","graph":{"connections":[{"fromId":"bc65de84-6770-ef6c-c5b9-7ec210b48e9f","fromProperty":"onClick","toId":"5f373e79-a4ca-56d9-ea7c-df192824cc01","toProperty":"Clicked"},{"fromId":"bc65de84-6770-ef6c-c5b9-7ec210b48e9f","fromProperty":"hoverStart","toId":"06ed524e-fbc9-e1ee-7790-1affab318f5f","toProperty":"on"},{"fromId":"bc65de84-6770-ef6c-c5b9-7ec210b48e9f","fromProperty":"hoverEnd","toId":"06ed524e-fbc9-e1ee-7790-1affab318f5f","toProperty":"off"},{"fromId":"06ed524e-fbc9-e1ee-7790-1affab318f5f","fromProperty":"state","toId":"096858dd-18aa-36a5-e141-327e723a8e1a","toProperty":"mounted"},{"fromId":"dc3ebb29-a987-eaa1-06f7-c23fbe02e9ae","fromProperty":"items","toId":"ac8ae9c4-6e5a-94cd-d872-d28ab6bd6670","toProperty":"items"},{"fromId":"dc3ebb29-a987-eaa1-06f7-c23fbe02e9ae","fromProperty":"count","toId":"26a6e38c-2584-2850-ad07-aa7771fef3b7","toProperty":"mounted"},{"fromId":"57f41b48-4cc9-81bc-0db9-dab67b356f42","fromProperty":"savedValue","toId":"594169c1-ed62-5de4-bcd8-e80e86d2362e","toProperty":"value-size"},{"fromId":"caf5d844-a24c-7d0d-13bf-32ecfe0db17e","fromProperty":"prop-tags","toId":"dc3ebb29-a987-eaa1-06f7-c23fbe02e9ae","toProperty":"items"},{"fromId":"caf5d844-a24c-7d0d-13bf-32ecfe0db17e","fromProperty":"prop-title","toId":"dc240456-a438-edd3-4fbf-f2f0e966457c","toProperty":"text"},{"fromId":"caf5d844-a24c-7d0d-13bf-32ecfe0db17e","fromProperty":"prop-subtitle","toId":"16f66484-1bb8-6f04-d8bc-5c94825e59bc","toProperty":"text"},{"fromId":"caf5d844-a24c-7d0d-13bf-32ecfe0db17e","fromProperty":"prop-imageId","toId":"30d5b65a-4bb1-72d9-d1f0-d5f685a359d0","toProperty":"filterFilterValue-catId"},{"fromId":"6e590357-913f-ab15-749d-3d92f8bb880a","fromProperty":"items","toId":"30d5b65a-4bb1-72d9-d1f0-d5f685a359d0","toProperty":"items"},{"fromId":"30d5b65a-4bb1-72d9-d1f0-d5f685a359d0","fromProperty":"firstItemId","toId":"531dc7de-abfa-da6b-16de-40b135754bbd","toProperty":"modelId"},{"fromId":"531dc7de-abfa-da6b-16de-40b135754bbd","fromProperty":"prop-catUrl","toId":"9cf6fb2b-b2d3-cc86-b51f-374bafbd85bb","toProperty":"src"}],"roots":[{"id":"bc65de84-6770-ef6c-c5b9-7ec210b48e9f","type":"Group","label":"Card","x":423,"y":16,"parameters":{"sizeMode":"contentHeight","backgroundColor":"Grey - 300","borderStyle":"solid","borderColor":"NDS - Grey - 800","borderRadius":{"value":4,"unit":"px"},"styleCss":"cursor:pointer;","clip":true},"ports":[],"dynamicports":[],"children":[{"id":"33d2a5b6-3e75-8540-ac43-7c490b92bc60","type":"Group","label":"Image Wrapper","parameters":{"paddingLeft":{"value":16,"unit":"px"},"paddingTop":{"value":16,"unit":"px"},"paddingBottom":{"value":16,"unit":"px"},"paddingRight":{"value":16,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"9cf6fb2b-b2d3-cc86-b51f-374bafbd85bb","type":"Image","label":"Image","parameters":{"sizeMode":"explicit","src":"Chart 1.png","objectFit":"cover","alignX":"center","alignY":"center","position":"relative","borderRadius":{"value":2,"unit":"px"},"maxHeight":{"value":200,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]}]},{"id":"4a1047ac-ae95-6b62-0285-29ff27328f40","type":"Group","label":"Content Section","parameters":{"height":{"value":78,"unit":"px"},"backgroundColor":"NDS - Grey - 800","paddingLeft":{"value":16,"unit":"px"},"paddingRight":{"value":16,"unit":"px"},"paddingTop":{"value":12,"unit":"px"},"paddingBottom":{"value":12,"unit":"px"},"rowGap":{"value":12,"unit":"px"},"sizeMode":"contentHeight"},"ports":[],"dynamicports":[],"children":[{"id":"1a8e4e97-aa36-5dfd-607f-b6d36b606a0a","type":"Group","label":"Avatar and title","parameters":{"flexDirection":"row","columnGap":{"value":8,"unit":"px"},"sizeMode":"contentHeight"},"ports":[],"dynamicports":[],"children":[{"id":"7c1e4a4f-5b0b-e97c-cfa1-b1e10aa272a1","type":"Group","label":"Text","parameters":{"sizeMode":"contentHeight"},"ports":[],"dynamicports":[],"children":[{"id":"dc240456-a438-edd3-4fbf-f2f0e966457c","type":"Text","label":"Title","parameters":{"textStyle":"Label Large","text":"Dashboard with different charts"},"ports":[],"dynamicports":[],"children":[]},{"id":"16f66484-1bb8-6f04-d8bc-5c94825e59bc","type":"Text","label":"Author","parameters":{"textStyle":"Body Medium","text":"Noodl","fontFamily":"assets/fonts/inter/Inter-Regular.ttf","color":"NDS - Grey - 200"},"ports":[],"dynamicports":[],"children":[]}]}]},{"id":"d9206f07-3011-d10e-3cad-1a501cec1c3a","type":"Group","parameters":{"flexDirection":"row","sizeMode":"contentHeight","columnGap":{"value":4,"unit":"px"},"justifyContent":"space-between","alignItems":"center"},"ports":[],"dynamicports":[],"children":[{"id":"26a6e38c-2584-2850-ad07-aa7771fef3b7","type":"Group","parameters":{"flexDirection":"row","sizeMode":"contentHeight","columnGap":{"value":4,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"ac8ae9c4-6e5a-94cd-d872-d28ab6bd6670","type":"For Each","parameters":{"template":"/#Noodl Component System/Atoms/Tags/Tag"},"ports":[],"dynamicports":[],"children":[]}]},{"id":"22a1de1d-a3ac-4721-05ce-5b07c044e8c7","type":"/#Noodl Component System/Molecules/icon + value item","parameters":{"Size":"Small"},"ports":[],"dynamicports":[],"children":[]}]}]},{"id":"096858dd-18aa-36a5-e141-327e723a8e1a","type":"Group","parameters":{"backgroundColor":"NDS - Grey - 100","position":"absolute","opacity":0.1,"pointerEventsMode":"explicit","pointerEventsEnabled":false},"ports":[],"dynamicports":[],"children":[]}]},{"id":"5f373e79-a4ca-56d9-ea7c-df192824cc01","type":"Component Outputs","x":790,"y":97,"parameters":{},"ports":[{"name":"Clicked","plug":"input","type":{"name":"*"},"index":1}],"dynamicports":[],"children":[]},{"id":"dc3ebb29-a987-eaa1-06f7-c23fbe02e9ae","type":"Collection2","x":154,"y":718,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"06ed524e-fbc9-e1ee-7790-1affab318f5f","type":"Switch","x":779,"y":771,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"594169c1-ed62-5de4-bcd8-e80e86d2362e","type":"net.noodl.ComponentObject","x":202,"y":952,"parameters":{"properties":"size"},"ports":[],"dynamicports":[{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"value-size","displayName":"size","index":4},{"type":"signal","plug":"output","group":"Changed Events","displayName":"size Changed","name":"changed-size","index":5}],"children":[]},{"id":"57f41b48-4cc9-81bc-0db9-dab67b356f42","type":"String","x":172,"y":1061,"parameters":{"value":"default"},"ports":[],"dynamicports":[],"children":[]},{"id":"caf5d844-a24c-7d0d-13bf-32ecfe0db17e","type":"Model2","label":"Card object","x":25.833614446601757,"y":398.5786380423153,"parameters":{"idSource":"foreach","properties":"tags,title,subtitle,imageId"},"ports":[],"dynamicports":[{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"prop-tags","displayName":"tags","index":7},{"type":"signal","plug":"output","group":"Changed Events","displayName":"tags Changed","name":"changed-tags","index":8},{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"prop-title","displayName":"title","index":9},{"type":"signal","plug":"output","group":"Changed Events","displayName":"title Changed","name":"changed-title","index":10},{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"prop-subtitle","displayName":"subtitle","index":11},{"type":"signal","plug":"output","group":"Changed Events","displayName":"subtitle Changed","name":"changed-subtitle","index":12},{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"prop-imageId","displayName":"imageId","index":13},{"type":"signal","plug":"output","group":"Changed Events","displayName":"imageId Changed","name":"changed-imageId","index":14}],"children":[]},{"id":"6e590357-913f-ab15-749d-3d92f8bb880a","type":"Collection2","x":15.417632661547032,"y":7.895503419164754,"parameters":{"collectionId":"catData"},"ports":[],"dynamicports":[],"children":[]},{"id":"30d5b65a-4bb1-72d9-d1f0-d5f685a359d0","type":"Filter Collection","label":"Find card object cat image","x":17.58723721532982,"y":118.54533566209051,"parameters":{"filterFilter":"catId"},"ports":[],"dynamicports":[{"type":"boolean","plug":"input","group":"Limit","name":"filterEnableLimit","displayName":"Use limit","index":7},{"type":{"name":"stringlist","allowEditOnly":true},"plug":"input","group":"Filter","name":"filterFilter","displayName":"Filter","index":8},{"type":{"name":"stringlist","allowEditOnly":true},"plug":"input","group":"Sort","name":"filterSort","displayName":"Sort","index":9},{"type":{"name":"enum","enums":[{"value":"string","label":"String"},{"value":"number","label":"Number"},{"value":"boolean","label":"Boolean"}]},"default":"string","plug":"input","group":"catId filter","displayName":"Type","editorName":"catId filter | Type","name":"filterFilterType-catId","index":10},{"type":{"name":"enum","enums":[{"value":"eq","label":"Equals"},{"value":"neq","label":"Not Equals"},{"value":"regex","label":"Matches RegEx"}]},"default":"eq","plug":"input","group":"catId filter","displayName":"Op","editorName":"catId filter| Op","name":"filterFilterOp-catId","index":11},{"type":"string","plug":"input","group":"catId filter","displayName":"Value","editorName":"catId Filter Value","name":"filterFilterValue-catId","index":12}],"children":[]},{"id":"531dc7de-abfa-da6b-16de-40b135754bbd","type":"Model2","label":"This cat object","x":210.68204250200426,"y":142.410985753702,"parameters":{"properties":"catUrl"},"ports":[],"dynamicports":[{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"prop-catUrl","displayName":"catUrl","index":7},{"type":"signal","plug":"output","group":"Changed Events","displayName":"catUrl Changed","name":"changed-catUrl","index":8}],"children":[]}],"visualRoots":["bc65de84-6770-ef6c-c5b9-7ec210b48e9f"]}},{"name":"/#Global visual components/Expandable list header","id":"4c9bef95-96db-ce41-9b15-a94a74410f74","graph":{"connections":[{"fromId":"d3b84112-1ff1-ab26-b4b6-b9ad98739517","fromProperty":"Show Item","toId":"944b77f1-2272-7bc5-a482-8d17e5ee67c2","toProperty":"mounted"},{"fromId":"9e47f004-da6b-8561-9fc6-64bfc93f900a","fromProperty":"at-on","toId":"2048e30a-48d8-eef6-f9f5-11ccea0f1991","toProperty":"mounted"},{"fromId":"9e47f004-da6b-8561-9fc6-64bfc93f900a","fromProperty":"rotate","toId":"d0318c48-8b2c-a0de-fdae-bf605abcfcfc","toProperty":"transformRotation"},{"fromId":"d3b84112-1ff1-ab26-b4b6-b9ad98739517","fromProperty":"Primary Label","toId":"54752c93-35f6-d5ef-e7ab-0ea8a5f292ef","toProperty":"text"},{"fromId":"12ab04cf-034c-83fd-79fb-2de5ed7bb305","fromProperty":"hoverStart","toId":"cea7a21a-e17a-8373-b193-4ecb3a0f909d","toProperty":"to-hober"},{"fromId":"12ab04cf-034c-83fd-79fb-2de5ed7bb305","fromProperty":"hoverEnd","toId":"cea7a21a-e17a-8373-b193-4ecb3a0f909d","toProperty":"to-default"},{"fromId":"cea7a21a-e17a-8373-b193-4ecb3a0f909d","fromProperty":"color","toId":"54752c93-35f6-d5ef-e7ab-0ea8a5f292ef","toProperty":"color"},{"fromId":"9e47f004-da6b-8561-9fc6-64bfc93f900a","fromProperty":"bg color","toId":"944b77f1-2272-7bc5-a482-8d17e5ee67c2","toProperty":"backgroundColor"},{"fromId":"886daead-bc2c-05d4-2c38-1846beb7e8a0","fromProperty":"onClick","toId":"9e47f004-da6b-8561-9fc6-64bfc93f900a","toProperty":"toggle"}],"roots":[{"id":"944b77f1-2272-7bc5-a482-8d17e5ee67c2","type":"Group","label":"List Base","x":541,"y":215,"parameters":{"sizeMode":"contentHeight","height":{"value":80,"unit":"px"},"borderBottomWidth":{"value":1,"unit":"px"},"borderBottomColor":"NDS - Grey - 1000","paddingTop":{"value":16,"unit":"px"},"paddingBottom":{"value":16,"unit":"px"},"alignItems":"center","justifyContent":"space-between","backgroundColor":"Grey - 200","borderRadius":{"value":2,"unit":"px"},"paddingLeft":{"value":16,"unit":"px"},"paddingRight":{"value":16,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"886daead-bc2c-05d4-2c38-1846beb7e8a0","type":"Group","label":"Clickable top bar","parameters":{"flexDirection":"row","sizeMode":"contentHeight","alignItems":"center","columnGap":{"value":20,"unit":"px"},"backgroundColor":"Grey - 300","paddingLeft":{"value":10,"unit":"px"},"paddingTop":{"value":10,"unit":"px"},"paddingBottom":{"value":10,"unit":"px"},"paddingRight":{"value":10,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"12ab04cf-034c-83fd-79fb-2de5ed7bb305","type":"Group","label":"Title group","parameters":{"flexDirection":"row","sizeMode":"contentHeight","alignItems":"center","styleCss":"cursor:pointer;"},"ports":[],"dynamicports":[],"children":[{"id":"54752c93-35f6-d5ef-e7ab-0ea8a5f292ef","type":"Text","label":"Title","parameters":{"textStyle":"Title Small","color":"NDS - Grey - 200","sizeMode":"contentHeight","marginTop":{"value":-3,"unit":"px"},"textAlignY":"center","alignY":"center"},"ports":[],"dynamicports":[],"children":[]}]},{"id":"d0318c48-8b2c-a0de-fdae-bf605abcfcfc","type":"net.noodl.controls.button","label":"Expand icon","parameters":{"iconColor":"NDS - Grey - 300","iconIconSource":{"class":"material-icons","code":"keyboard_arrow_down","codeAsClass":false},"alignX":"right","alignY":"center","useLabel":false,"useIcon":true,"sizeMode":"explicit","width":{"value":40,"unit":"px"},"minWidth":{"value":0,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]}]},{"id":"2048e30a-48d8-eef6-f9f5-11ccea0f1991","type":"Group","label":"Expandable content","parameters":{"sizeMode":"contentHeight","paddingTop":{"value":16,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"0db074e7-d959-65d8-ebea-25cb0e4e82df","type":"Component Children","parameters":{},"ports":[],"dynamicports":[],"children":[]}]}]},{"id":"d3b84112-1ff1-ab26-b4b6-b9ad98739517","type":"Component Inputs","x":200,"y":638,"parameters":{},"ports":[{"name":"Primary Label","plug":"output","type":{"name":"*"},"index":0},{"name":"Show Item","plug":"output","type":{"name":"*"},"index":1},{"name":"Values","plug":"output","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"535fc854-821e-6732-dd06-9f8477e6fe82","type":"Component Outputs","x":939,"y":838,"parameters":{},"ports":[{"name":"Action Clicked","plug":"input","type":{"name":"*"},"index":1},{"name":"Open link","plug":"input","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"9e47f004-da6b-8561-9fc6-64bfc93f900a","type":"States","x":970,"y":507,"parameters":{"states":"on,off","currentState":"off","values":"rotate,bg color","useTransitions":false,"value-on-rotate":180,"value-off-rotate":0,"type-bg color":"color","value-off-bg color":"NDS - Grey - 800","value-on-bg color":"NDS - Grey - 700"},"ports":[],"dynamicports":[{"type":{"name":"number","allowConnectionsOnly":true},"plug":"output","group":"Values","name":"rotate","index":6},{"type":{"name":"enum","enums":[{"label":"Number","value":"number"},{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Color","value":"color"},{"label":"Text Style","value":"textStyle"}],"allowEditOnly":true},"default":"number","plug":"input","group":"Types","displayName":"rotate","name":"type-rotate","index":7},{"type":{"name":"color","allowConnectionsOnly":true},"plug":"output","group":"Values","name":"bg color","index":8},{"type":{"name":"enum","enums":[{"label":"Number","value":"number"},{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Color","value":"color"},{"label":"Text Style","value":"textStyle"}],"allowEditOnly":true},"default":"number","plug":"input","group":"Types","displayName":"bg color","name":"type-bg color","index":9},{"plug":"input","type":"number","group":"on Values","name":"value-on-rotate","displayName":"rotate","editorName":"on|rotate","index":10},{"plug":"input","type":"color","group":"on Values","name":"value-on-bg color","displayName":"bg color","editorName":"on|bg color","index":11},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To on","name":"to-on","group":"Go to state","index":12},{"plug":"output","type":"boolean","displayName":"At on","name":"at-on","group":"Current state","index":13},{"plug":"output","type":"signal","displayName":"Has Reached on","name":"reached-on","group":"Current state","index":14},{"plug":"input","type":"number","group":"off Values","name":"value-off-rotate","displayName":"rotate","editorName":"off|rotate","index":15},{"plug":"input","type":"color","group":"off Values","name":"value-off-bg color","displayName":"bg color","editorName":"off|bg color","index":16},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To off","name":"to-off","group":"Go to state","index":17},{"plug":"output","type":"boolean","displayName":"At off","name":"at-off","group":"Current state","index":18},{"plug":"output","type":"signal","displayName":"Has Reached off","name":"reached-off","group":"Current state","index":19},{"plug":"input","type":{"name":"enum","enums":["on","off"]},"group":"States","displayName":"State","name":"currentState","default":"on","index":20}],"children":[]},{"id":"cea7a21a-e17a-8373-b193-4ecb3a0f909d","type":"States","x":994,"y":305,"parameters":{"states":"default,hober","values":"color","type-color":"color","value-default-color":"NDS - Grey - 200","value-hober-color":"NDS - Grey - 100","useTransitions":false},"ports":[],"dynamicports":[{"type":{"name":"color","allowConnectionsOnly":true},"plug":"output","group":"Values","name":"color","index":6},{"type":{"name":"enum","enums":[{"label":"Number","value":"number"},{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Color","value":"color"},{"label":"Text Style","value":"textStyle"}],"allowEditOnly":true},"default":"number","plug":"input","group":"Types","displayName":"color","name":"type-color","index":7},{"plug":"input","type":"color","group":"default Values","name":"value-default-color","displayName":"color","editorName":"default|color","index":8},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To default","name":"to-default","group":"Go to state","index":9},{"plug":"output","type":"boolean","displayName":"At default","name":"at-default","group":"Current state","index":10},{"plug":"output","type":"signal","displayName":"Has Reached default","name":"reached-default","group":"Current state","index":11},{"plug":"input","type":"color","group":"hober Values","name":"value-hober-color","displayName":"color","editorName":"hober|color","index":12},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To hober","name":"to-hober","group":"Go to state","index":13},{"plug":"output","type":"boolean","displayName":"At hober","name":"at-hober","group":"Current state","index":14},{"plug":"output","type":"signal","displayName":"Has Reached hober","name":"reached-hober","group":"Current state","index":15},{"plug":"input","type":{"name":"enum","enums":["default","hober"]},"group":"States","displayName":"State","name":"currentState","default":"default","index":16}],"children":[]}],"visualRoots":["944b77f1-2272-7bc5-a482-8d17e5ee67c2"]}},{"name":"/#Global visual components/Header nav bar","id":"e7ae5970-6def-0956-b7b9-50132ce2dddd","graph":{"connections":[{"fromId":"4e18fbd7-5834-53f0-2b43-08ebc1db4a03","fromProperty":"onClick","toId":"fa104091-63f7-8422-246c-c11ed0ee3272","toProperty":"navigate"},{"fromId":"3a6b997e-9da8-6428-5b1b-15b0c4230bf7","fromProperty":"Mounted","toId":"f924d2df-59b8-43aa-6657-00e7cc1c35c1","toProperty":"mounted"}],"roots":[{"id":"f924d2df-59b8-43aa-6657-00e7cc1c35c1","type":"Group","label":"Header","x":523,"y":21,"parameters":{"paddingTop":{"value":10,"unit":"px"},"paddingLeft":{"value":20,"unit":"px"},"paddingBottom":{"value":10,"unit":"px"},"paddingRight":{"value":20,"unit":"px"},"flexDirection":"row","sizeMode":"contentHeight","backgroundColor":"transparent","zIndex":1,"borderBottomStyle":"solid","borderBottomWidth":{"value":2,"unit":"px"},"borderBottomColor":"NDS - Grey - 1000","alignContent":"flex-start","position":"sticky"},"ports":[],"dynamicports":[],"children":[{"id":"5544baef-2eb5-9995-2e32-6ced2709cbeb","type":"Group","parameters":{"sizeMode":"contentHeight","flexDirection":"row","alignY":"center","columnGap":{"value":20,"unit":"px"},"alignItems":"flex-start"},"ports":[],"dynamicports":[],"children":[{"id":"cd9a6523-9ad0-3bc3-3abc-3c764a90f70c","type":"Group","parameters":{"flexDirection":"row","sizeMode":"contentWidth","alignY":"center","columnGap":{"value":20,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"4e18fbd7-5834-53f0-2b43-08ebc1db4a03","type":"Image","label":"Site logo","parameters":{"src":"cat logo.png","alignY":"center","sizeMode":"contentWidth","height":{"value":60,"unit":"px"},"styleCss":"cursor:pointer;","borderRadius":{"value":10,"unit":"px"},"width":{"value":100,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"13f8ae27-4329-5e27-69d5-8ac6b75ca801","type":"Text","parameters":{"text":"Noodl Starter Template\n","textStyle":"Title Large","textAlignY":"center","alignY":"center"},"ports":[],"dynamicports":[],"children":[]}]},{"id":"d9ebb252-ed5c-f311-b853-23823a4cac66","type":"Group","parameters":{"flexDirection":"row","alignY":"center","sizeMode":"contentHeight","justifyContent":"space-around","width":{"value":30,"unit":"%","isFixed":true},"alignX":"center"},"stateParameters":{},"stateTransitions":{},"defaultStateTransitions":{},"ports":[],"dynamicports":[],"children":[{"id":"a727653f-b788-9895-750d-a37677a44bb8","type":"Text","parameters":{"sizeMode":"contentSize","text":"Sub-page 1","textStyle":"Title Small"},"ports":[],"dynamicports":[],"children":[]},{"id":"afeddfc8-99bd-20c4-90fb-176aeac7f7dd","type":"Text","parameters":{"sizeMode":"contentSize","text":"Sub-page 2","textStyle":"Title Small"},"ports":[],"dynamicports":[],"children":[]},{"id":"049f1d3b-e8bf-4e1d-7676-f1b0a10713f8","type":"Text","parameters":{"sizeMode":"contentSize","text":"Sub-page 3","textStyle":"Title Small"},"ports":[],"dynamicports":[],"children":[]}]},{"id":"a0813cda-37b9-7443-b71b-cfae0474fec2","type":"/#Global visual components/Header nav bar/User profile button","parameters":{},"ports":[],"dynamicports":[],"children":[]}]}]},{"id":"fa104091-63f7-8422-246c-c11ed0ee3272","type":"RouterNavigate","label":"Navigate","x":852,"y":159,"parameters":{"target":"/Main","router":"Main"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]},{"id":"3a6b997e-9da8-6428-5b1b-15b0c4230bf7","type":"Component Inputs","x":280,"y":76,"parameters":{},"ports":[{"name":"Mounted","plug":"output","type":{"name":"*"},"index":1}],"dynamicports":[],"children":[]},{"id":"42232b69-ef1a-b464-1875-34d8b02ca95e","type":"Variable2","x":352,"y":278.75,"parameters":{"name":"pageWidth"},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":["f924d2df-59b8-43aa-6657-00e7cc1c35c1"]}},{"name":"/#Global visual components/Header nav bar/User profile button","id":"3bbd293a-fcd5-1a23-102b-97b6b341711f","graph":{"connections":[{"fromId":"9487e4ff-42c3-299d-527f-9da8b856859e","fromProperty":"onClick","toId":"590f853b-33de-3ee3-36db-785ff3830232","toProperty":"clicked"},{"fromId":"590f853b-33de-3ee3-36db-785ff3830232","fromProperty":"itemId","toId":"d9dab1ea-6b94-0ddc-97c4-7a42e6e9c651","toProperty":"in-clickedItem"},{"fromId":"590f853b-33de-3ee3-36db-785ff3830232","fromProperty":"itemClicked","toId":"d9dab1ea-6b94-0ddc-97c4-7a42e6e9c651","toProperty":"run"},{"fromId":"d9dab1ea-6b94-0ddc-97c4-7a42e6e9c651","fromProperty":"out-toProfile","toId":"a0e5bc3c-4cc5-083d-25e9-5e6db5b21400","toProperty":"navigate"},{"fromId":"d9dab1ea-6b94-0ddc-97c4-7a42e6e9c651","fromProperty":"out-toLogout","toId":"26e80d94-a954-716b-d0a6-c786e5732b08","toProperty":"login"},{"fromId":"26e80d94-a954-716b-d0a6-c786e5732b08","fromProperty":"success","toId":"1094e19c-ea1b-3ba1-7d92-2a5e3dec6581","toProperty":"navigate"},{"fromId":"d9dab1ea-6b94-0ddc-97c4-7a42e6e9c651","fromProperty":"out-toLogin","toId":"1094e19c-ea1b-3ba1-7d92-2a5e3dec6581","toProperty":"navigate"},{"fromId":"004c4f3a-c85a-fc04-2f90-1f372a81b2cf","fromProperty":"items","toId":"7f5043ad-0b3e-0d58-9c32-d62dada20832","toProperty":"items"},{"fromId":"7f5043ad-0b3e-0d58-9c32-d62dada20832","fromProperty":"items","toId":"590f853b-33de-3ee3-36db-785ff3830232","toProperty":"menuItems"},{"fromId":"32f411cc-8121-0515-94df-1f438b282f3e","fromProperty":"authenticated","toId":"7f5043ad-0b3e-0d58-9c32-d62dada20832","toProperty":"filterFilterValue-loggedIn"},{"fromId":"32f411cc-8121-0515-94df-1f438b282f3e","fromProperty":"prop-profilePhoto","toId":"ef6d8b44-0ac5-2621-48be-2ae12799d465","toProperty":"src"},{"fromId":"41ffc6f2-bb46-4cc3-0a97-e8b2d24cfe0f","fromProperty":"isTrue","toId":"ef6d8b44-0ac5-2621-48be-2ae12799d465","toProperty":"mounted"},{"fromId":"32f411cc-8121-0515-94df-1f438b282f3e","fromProperty":"prop-profilePhoto","toId":"41ffc6f2-bb46-4cc3-0a97-e8b2d24cfe0f","toProperty":"profilePhoto"},{"fromId":"41ffc6f2-bb46-4cc3-0a97-e8b2d24cfe0f","fromProperty":"isFalse","toId":"762d10eb-9bd2-017e-2f25-4d1dc789d647","toProperty":"mounted"}],"roots":[{"id":"3a1144a0-d059-eed7-9d2f-3ffb5f9f656a","type":"net.noodl.controls.button","x":467,"y":0,"parameters":{"sizeMode":"explicit","width":{"value":48,"unit":"px"},"height":{"value":48,"unit":"px"},"borderRadius":{"value":100,"unit":"px"},"useLabel":false,"minWidth":{"value":0,"unit":"px"},"backgroundColor":"Grey - 400","marginBottom":{"value":24,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"9487e4ff-42c3-299d-527f-9da8b856859e","type":"Group","parameters":{"height":{"value":48,"unit":"px"},"width":{"value":48,"unit":"px"},"backgroundColor":"Grey - 400","borderRadius":{"value":100,"unit":"px"},"alignItems":"center","justifyContent":"center","clip":true,"position":"absolute"},"ports":[],"dynamicports":[],"children":[{"id":"762d10eb-9bd2-017e-2f25-4d1dc789d647","type":"net.noodl.visual.icon","parameters":{"iconColor":"Grey - 900","iconIconSource":{"class":"material-icons","code":"person"},"iconSize":{"value":56,"unit":"px"},"mounted":false,"marginBottom":{"value":-12,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"ef6d8b44-0ac5-2621-48be-2ae12799d465","type":"Image","parameters":{"sizeMode":"explicit","width":{"value":56,"unit":"px"},"height":{"value":56,"unit":"px"},"objectFit":"cover","mounted":false},"ports":[],"dynamicports":[],"children":[]}]},{"id":"590f853b-33de-3ee3-36db-785ff3830232","type":"/#Global visual components/Dropdown menu","parameters":{"offset top":{"value":50,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]}]},{"id":"d9dab1ea-6b94-0ddc-97c4-7a42e6e9c651","type":"JavaScriptFunction","label":"Menu router","x":728,"y":166,"parameters":{"functionScript":"const clickedItem = Inputs.clickedItem;\n\nif (!clickedItem) return;\n\nswitch (clickedItem) {\n case \"profile\":\n Outputs.toProfile();\n break;\n\n case \"logIn\":\n Outputs.toLogin();\n break;\n\n case \"logOut\":\n Outputs.toLogout();\n break;\n}"},"ports":[],"dynamicports":[{"name":"in-clickedItem","displayName":"clickedItem","plug":"input","type":"*","group":"Inputs","index":4},{"name":"out-toProfile","displayName":"toProfile","plug":"output","type":"signal","group":"Outputs","index":5},{"name":"out-toLogin","displayName":"toLogin","plug":"output","type":"signal","group":"Outputs","index":6},{"name":"out-toLogout","displayName":"toLogout","plug":"output","type":"signal","group":"Outputs","index":7}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"a0e5bc3c-4cc5-083d-25e9-5e6db5b21400","type":"RouterNavigate","x":967,"y":144,"parameters":{"router":"Main","target":"/Profile Page"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]},{"id":"26e80d94-a954-716b-d0a6-c786e5732b08","type":"net.noodl.user.LogOut","x":979,"y":335,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"1094e19c-ea1b-3ba1-7d92-2a5e3dec6581","type":"RouterNavigate","x":1158,"y":232,"parameters":{"router":"Main","target":"/Log In"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]},{"id":"004c4f3a-c85a-fc04-2f90-1f372a81b2cf","type":"Static Data","label":"Dropdown profile menu array","x":0,"y":206,"parameters":{"csv":"[\n { \n \"itemText\": \"My Profile\",\n \"textColour\": \"#000\" ,\n \"itemIcon\": \"account_circle\",\n \"itemId\": \"profile\",\n \"loggedIn\": true\n },\n { \n \"itemText\": \"Log Out\",\n \"textColour\": \"#000\" ,\n \"itemIcon\": \"logout\",\n \"itemId\": \"logOut\",\n \"loggedIn\": true\n },\n { \n \"itemText\": \"Log In\",\n \"textColour\": \"#000\" ,\n \"itemIcon\": \"login\",\n \"itemId\": \"logIn\",\n \"loggedIn\": false\n }\n]","type":"json","json":"[\n { \n \"itemText\": \"My Profile\",\n \"textColour\": \"#000\" ,\n \"itemIcon\": \"account_circle\",\n \"itemId\": \"profile\",\n \"loggedIn\": true\n },\n { \n \"itemText\": \"Log Out\",\n \"textColour\": \"#000\" ,\n \"itemIcon\": \"logout\",\n \"itemId\": \"logOut\",\n \"loggedIn\": true\n },\n { \n \"itemText\": \"Log In\",\n \"textColour\": \"#000\" ,\n \"itemIcon\": \"login\",\n \"itemId\": \"logIn\",\n \"loggedIn\": false\n }\n]"},"ports":[],"dynamicports":[],"children":[],"metadata":{"merge":{"soureCodePorts":["json"]}}},{"id":"7f5043ad-0b3e-0d58-9c32-d62dada20832","type":"Filter Collection","label":"Filter logged in or out items","x":220,"y":190,"parameters":{"filterFilter":"loggedIn","filterFilterType-loggedIn":"boolean"},"ports":[],"dynamicports":[{"type":"boolean","plug":"input","group":"Limit","name":"filterEnableLimit","displayName":"Use limit","index":7},{"type":{"name":"stringlist","allowEditOnly":true},"plug":"input","group":"Filter","name":"filterFilter","displayName":"Filter","index":8},{"type":{"name":"stringlist","allowEditOnly":true},"plug":"input","group":"Sort","name":"filterSort","displayName":"Sort","index":9},{"type":{"name":"enum","enums":[{"value":"string","label":"String"},{"value":"number","label":"Number"},{"value":"boolean","label":"Boolean"}]},"default":"string","plug":"input","group":"loggedIn filter","displayName":"Type","editorName":"loggedIn filter | Type","name":"filterFilterType-loggedIn","index":10},{"type":{"name":"enum","enums":[{"value":"eq","label":"Equals"},{"value":"neq","label":"Not Equals"}]},"default":"eq","plug":"input","group":"loggedIn filter","displayName":"Op","editorName":"loggedIn filter| Op","name":"filterFilterOp-loggedIn","index":11},{"type":"boolean","plug":"input","group":"loggedIn filter","displayName":"Value","editorName":"loggedIn Filter Value","name":"filterFilterValue-loggedIn","index":12}],"children":[]},{"id":"32f411cc-8121-0515-94df-1f438b282f3e","type":"net.noodl.user.User","x":229,"y":-68,"parameters":{},"ports":[],"dynamicports":[{"type":{"name":"date"},"plug":"output","group":"Properties","name":"prop-createdAt","displayName":"createdAt","index":9},{"type":"signal","plug":"output","group":"Changed Events","displayName":"createdAt Changed","name":"changed-createdAt","index":10},{"type":{"name":"date"},"plug":"output","group":"Properties","name":"prop-updatedAt","displayName":"updatedAt","index":11},{"type":"signal","plug":"output","group":"Changed Events","displayName":"updatedAt Changed","name":"changed-updatedAt","index":12},{"type":{"name":"boolean"},"plug":"output","group":"Properties","name":"prop-emailVerified","displayName":"emailVerified","index":13},{"type":"signal","plug":"output","group":"Changed Events","displayName":"emailVerified Changed","name":"changed-emailVerified","index":14},{"type":{"name":"string"},"plug":"output","group":"Properties","name":"prop-name","displayName":"name","index":15},{"type":"signal","plug":"output","group":"Changed Events","displayName":"name Changed","name":"changed-name","index":16},{"type":{"name":"string"},"plug":"output","group":"Properties","name":"prop-profilePhoto","displayName":"profilePhoto","index":17},{"type":"signal","plug":"output","group":"Changed Events","displayName":"profilePhoto Changed","name":"changed-profilePhoto","index":18},{"plug":"output","name":"loggedIn","type":"signal","displayName":"Logged In","group":"Events","index":19},{"plug":"output","name":"loggedOut","type":"signal","displayName":"Logged Out","group":"Events","index":20},{"plug":"output","name":"sessionLost","type":"signal","displayName":"Session Lost","group":"Events","index":21}],"children":[]},{"id":"41ffc6f2-bb46-4cc3-0a97-e8b2d24cfe0f","type":"Expression","label":"Profile photo is not empty","x":224.125,"y":35.875,"parameters":{"expression":"profilePhoto != \"\""},"ports":[],"dynamicports":[{"group":"Parameters","name":"profilePhoto","type":{"name":"*","editAsType":"string"},"plug":"input","index":7}],"children":[],"metadata":{"merge":{"soureCodePorts":["expression"]}}}],"visualRoots":["3a1144a0-d059-eed7-9d2f-3ffb5f9f656a"]}},{"name":"/#Global visual components/Tab example/Tab bar","id":"d83113fc-4544-9397-710d-6a8d88863789","graph":{"connections":[{"fromId":"3d81086c-3da7-bc1b-b6e8-5244c902f3f3","fromProperty":"itemActionItemId","toId":"37fb6adc-3b04-0e27-a83c-a1d5ca00dbeb","toProperty":"modelId"},{"fromId":"37fb6adc-3b04-0e27-a83c-a1d5ca00dbeb","fromProperty":"prop-Value","toId":"f861ca12-9515-1ed7-4096-e8cd1eb97da9","toProperty":"prop-Selected Tab"},{"fromId":"3d81086c-3da7-bc1b-b6e8-5244c902f3f3","fromProperty":"itemOutputSignal-Item Clicked","toId":"f861ca12-9515-1ed7-4096-e8cd1eb97da9","toProperty":"store"},{"fromId":"a7df04ca-344b-dc70-98dc-d564a55a2c91","fromProperty":"Margin Top","toId":"992cc322-326b-9ca5-e1e7-1a96be8ebaa2","toProperty":"marginTop"},{"fromId":"a7df04ca-344b-dc70-98dc-d564a55a2c91","fromProperty":"Margin Left","toId":"992cc322-326b-9ca5-e1e7-1a96be8ebaa2","toProperty":"marginLeft"},{"fromId":"a7df04ca-344b-dc70-98dc-d564a55a2c91","fromProperty":"Margin Bottom","toId":"992cc322-326b-9ca5-e1e7-1a96be8ebaa2","toProperty":"marginBottom"},{"fromId":"a7df04ca-344b-dc70-98dc-d564a55a2c91","fromProperty":"Margin Right","toId":"992cc322-326b-9ca5-e1e7-1a96be8ebaa2","toProperty":"marginRight"},{"fromId":"a7df04ca-344b-dc70-98dc-d564a55a2c91","fromProperty":"Position","toId":"992cc322-326b-9ca5-e1e7-1a96be8ebaa2","toProperty":"position"},{"fromId":"a7df04ca-344b-dc70-98dc-d564a55a2c91","fromProperty":"Align X","toId":"992cc322-326b-9ca5-e1e7-1a96be8ebaa2","toProperty":"alignX"},{"fromId":"a7df04ca-344b-dc70-98dc-d564a55a2c91","fromProperty":"Align Y","toId":"992cc322-326b-9ca5-e1e7-1a96be8ebaa2","toProperty":"alignY"},{"fromId":"a7df04ca-344b-dc70-98dc-d564a55a2c91","fromProperty":"Width","toId":"992cc322-326b-9ca5-e1e7-1a96be8ebaa2","toProperty":"width"},{"fromId":"a7df04ca-344b-dc70-98dc-d564a55a2c91","fromProperty":"Selected Tab","toId":"cac7d867-896d-c5d9-45d5-d4f98cdae8d7","toProperty":"value"},{"fromId":"cac7d867-896d-c5d9-45d5-d4f98cdae8d7","fromProperty":"savedValue","toId":"032a660d-0b14-7546-58c0-72e67aac1791","toProperty":"value-Selected Tab"},{"fromId":"a7df04ca-344b-dc70-98dc-d564a55a2c91","fromProperty":"Items","toId":"28fd8540-2aa1-dae4-f18c-dab6191c016a","toProperty":"in-Items"},{"fromId":"28fd8540-2aa1-dae4-f18c-dab6191c016a","fromProperty":"out-Items","toId":"3d81086c-3da7-bc1b-b6e8-5244c902f3f3","toProperty":"items"},{"fromId":"f861ca12-9515-1ed7-4096-e8cd1eb97da9","fromProperty":"stored","toId":"0672c4b1-79b9-7a59-b800-11e1ba2728e4","toProperty":"Selected Tab Changed"},{"fromId":"032a660d-0b14-7546-58c0-72e67aac1791","fromProperty":"value-Selected Tab","toId":"0672c4b1-79b9-7a59-b800-11e1ba2728e4","toProperty":"Selected Tab"}],"roots":[{"id":"992cc322-326b-9ca5-e1e7-1a96be8ebaa2","type":"Group","label":"Tab bar","x":438,"y":-7,"parameters":{"height":{"value":40,"unit":"px"},"borderWidth":{"value":1,"unit":"px"},"borderColor":"Grey - 500","flexDirection":"row","clip":true,"borderBottomStyle":"solid","borderBottomWidth":{"value":1,"unit":"px"},"borderBottomColor":"NDS - Grey - 700"},"ports":[],"dynamicports":[],"children":[{"id":"3d81086c-3da7-bc1b-b6e8-5244c902f3f3","type":"For Each","parameters":{"template":"/#Global visual components/Tab example/Tab bar/Tab bar item"},"ports":[],"dynamicports":[{"name":"itemOutputSignal-Item Clicked","displayName":"Item Clicked","type":"signal","plug":"output","group":"Item Signals","index":6},{"name":"inputMappingScript","type":{"name":"string","codeeditor":"javascript"},"displayName":"Script","group":"Input Mapping","default":"// Here you add mappings between the properties of the item objects and the inputs of the components.\n// 'myComponentInput': 'myObjectProperty',\n// 'anotherComponentInput': function () { return object.get('someProperty') + ' ' + object.get('otherProp') }\n// These are the default mappings based on the selected template component.\nmap({\n})\n","plug":"input","index":7}],"children":[]}]},{"id":"a7df04ca-344b-dc70-98dc-d564a55a2c91","type":"Component Inputs","x":11,"y":-42,"parameters":{},"ports":[{"name":"Items","plug":"output","type":{"name":"*"},"index":0},{"name":"Selected Tab","plug":"output","type":{"name":"*"},"index":1},{"name":"Margin Top","plug":"output","type":{"name":"*"},"group":"Margins","index":2},{"name":"Margin Left","plug":"output","type":{"name":"*"},"group":"Margins","index":3},{"name":"Margin Bottom","plug":"output","type":{"name":"*"},"group":"Margins","index":4},{"name":"Margin Right","plug":"output","type":{"name":"*"},"group":"Margins","index":5},{"name":"Position","plug":"output","type":{"name":"*"},"group":"Layout","index":6},{"name":"Align X","plug":"output","type":{"name":"*"},"group":"Alignment","index":7},{"name":"Align Y","plug":"output","type":{"name":"*"},"group":"Alignment","index":8},{"name":"Width","plug":"output","type":{"name":"*"},"group":"Dimension","index":9}],"dynamicports":[],"children":[]},{"id":"032a660d-0b14-7546-58c0-72e67aac1791","type":"net.noodl.ComponentObject","x":768,"y":356,"parameters":{"properties":"Selected Tab,Selected Tab Changed"},"ports":[],"dynamicports":[{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"value-Selected Tab","displayName":"Selected Tab","index":4},{"type":"signal","plug":"output","group":"Changed Events","displayName":"Selected Tab Changed","name":"changed-Selected Tab","index":5},{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"value-Selected Tab Changed","displayName":"Selected Tab Changed","index":6},{"type":"signal","plug":"output","group":"Changed Events","displayName":"Selected Tab Changed Changed","name":"changed-Selected Tab Changed","index":7}],"children":[]},{"id":"f861ca12-9515-1ed7-4096-e8cd1eb97da9","type":"net.noodl.SetComponentObjectProperties","x":766,"y":-63,"parameters":{"properties":"Selected Tab"},"ports":[],"dynamicports":[{"type":{"name":"*"},"plug":"input","group":"Property Values","displayName":"Selected Tab","name":"prop-Selected Tab","index":3},{"type":{"name":"enum","enums":[{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Number","value":"number"},{"label":"Date","value":"date"},{"label":"Array","value":"array"},{"label":"Object","value":"object"},{"label":"Any","value":"*"}],"allowEditOnly":true},"plug":"input","group":"Property Types","displayName":"Selected Tab","default":"*","name":"type-Selected Tab","index":4}],"children":[]},{"id":"37fb6adc-3b04-0e27-a83c-a1d5ca00dbeb","type":"Model2","x":764,"y":72,"parameters":{"properties":"Value"},"ports":[],"dynamicports":[{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"prop-Value","displayName":"Value","index":7},{"type":"signal","plug":"output","group":"Changed Events","displayName":"Value Changed","name":"changed-Value","index":8}],"children":[]},{"id":"cac7d867-896d-c5d9-45d5-d4f98cdae8d7","type":"String","x":351,"y":444,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"28fd8540-2aa1-dae4-f18c-dab6191c016a","type":"JavaScriptFunction","label":"Default values","x":229,"y":-76,"parameters":{"scriptInputs":[{"id":"qhkk","label":"Items"}],"intype-Items":"array","in-Items":"[\n {\n Label:\"Tab 1\",\n Value:\"1\"\n },\n {\n Label:\"Tab 2\",\n Value:\"2\"\n },\n {\n Label:\"Tab 3\",\n Value:\"3\"\n },\n]","functionScript":"Outputs.Items = Inputs.Items"},"ports":[],"dynamicports":[{"name":"intype-Items","displayName":"Type","editorName":"Items | Type","plug":"input","type":{"name":"enum","enums":[{"value":"string","label":"String"},{"value":"boolean","label":"Boolean"},{"value":"number","label":"Number"},{"value":"object","label":"Object"},{"value":"date","label":"Date"},{"value":"array","label":"Array"},{"value":"color","label":"Color"}],"allowEditOnly":true},"default":"string","parent":"scriptInputs","parentItemId":"qhkk","index":4},{"name":"in-Items","displayName":"Items","plug":"input","type":"array","group":"Inputs","index":5},{"name":"out-Items","displayName":"Items","plug":"output","type":"*","group":"Outputs","index":6}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"0672c4b1-79b9-7a59-b800-11e1ba2728e4","type":"Component Outputs","x":1046,"y":68,"parameters":{},"ports":[{"name":"Selected Tab","plug":"input","type":{"name":"*"},"index":1},{"name":"Selected Tab Changed","plug":"input","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]}],"visualRoots":["992cc322-326b-9ca5-e1e7-1a96be8ebaa2"]}},{"name":"/#Global visual components/Tab example/Tab bar/Tab bar item","id":"e7f62918-aca5-8c46-aaed-35ef44412fcc","graph":{"connections":[{"fromId":"28763353-648e-20ff-fcb4-e8e07a6e873d","fromProperty":"prop-Value","toId":"ac60a48f-2ca3-fd48-0666-ef8069ed997e","toProperty":"thisTab"},{"fromId":"538dfe29-4e4e-b447-87a3-8396b2ba5dc0","fromProperty":"value-Selected Tab","toId":"ac60a48f-2ca3-fd48-0666-ef8069ed997e","toProperty":"selectedTab"},{"fromId":"ff60aaba-899b-58fa-bd69-947d327c40dd","fromProperty":"at-Selected","toId":"27bc0ade-e867-a74f-8624-4ff0f81dcd89","toProperty":"mounted"},{"fromId":"ac60a48f-2ca3-fd48-0666-ef8069ed997e","fromProperty":"result","toId":"ff60aaba-899b-58fa-bd69-947d327c40dd","toProperty":"currentState"},{"fromId":"ff60aaba-899b-58fa-bd69-947d327c40dd","fromProperty":"text color","toId":"1acfa4c1-d78b-7409-e670-a5511f9f8133","toProperty":"color"},{"fromId":"1acfa4c1-d78b-7409-e670-a5511f9f8133","fromProperty":"onClick","toId":"02f9bb54-e2dc-45e3-df7b-cb76d54d4c56","toProperty":"Item Clicked"},{"fromId":"28763353-648e-20ff-fcb4-e8e07a6e873d","fromProperty":"prop-Label","toId":"1acfa4c1-d78b-7409-e670-a5511f9f8133","toProperty":"label"},{"fromId":"ff60aaba-899b-58fa-bd69-947d327c40dd","fromProperty":"color","toId":"1acfa4c1-d78b-7409-e670-a5511f9f8133","toProperty":"backgroundColor"}],"roots":[{"id":"28763353-648e-20ff-fcb4-e8e07a6e873d","type":"Model2","x":51,"y":204,"parameters":{"idSource":"foreach","properties":"Label,Value"},"ports":[],"dynamicports":[{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"prop-Label","displayName":"Label","index":7},{"type":"signal","plug":"output","group":"Changed Events","displayName":"Label Changed","name":"changed-Label","index":8},{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"prop-Value","displayName":"Value","index":9},{"type":"signal","plug":"output","group":"Changed Events","displayName":"Value Changed","name":"changed-Value","index":10}],"children":[]},{"id":"02f9bb54-e2dc-45e3-df7b-cb76d54d4c56","type":"Component Outputs","x":766,"y":210,"parameters":{},"ports":[{"name":"Item Clicked","plug":"input","type":{"name":"*"},"index":1}],"dynamicports":[],"children":[]},{"id":"ff60aaba-899b-58fa-bd69-947d327c40dd","type":"States","x":498,"y":-67,"parameters":{"states":"Selected,Neutral","currentState":"0","values":"color,text color","type-color":"color","value-1-border":2,"value-0-border":0,"useTransitions":false,"value-Selected-color":"Primary","value-Neutral-color":"transparent","type-text color":"color","value-Selected-text color":"White","value-Neutral-text color":"Primary"},"ports":[],"dynamicports":[{"type":{"name":"color","allowConnectionsOnly":true},"plug":"output","group":"Values","name":"color","index":6},{"type":{"name":"enum","enums":[{"label":"Number","value":"number"},{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Color","value":"color"},{"label":"Text Style","value":"textStyle"}],"allowEditOnly":true},"default":"number","plug":"input","group":"Types","displayName":"color","name":"type-color","index":7},{"type":{"name":"color","allowConnectionsOnly":true},"plug":"output","group":"Values","name":"text color","index":8},{"type":{"name":"enum","enums":[{"label":"Number","value":"number"},{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Color","value":"color"},{"label":"Text Style","value":"textStyle"}],"allowEditOnly":true},"default":"number","plug":"input","group":"Types","displayName":"text color","name":"type-text color","index":9},{"plug":"input","type":"color","group":"Selected Values","name":"value-Selected-color","displayName":"color","editorName":"Selected|color","index":10},{"plug":"input","type":"color","group":"Selected Values","name":"value-Selected-text color","displayName":"text color","editorName":"Selected|text color","index":11},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To Selected","name":"to-Selected","group":"Go to state","index":12},{"plug":"output","type":"boolean","displayName":"At Selected","name":"at-Selected","group":"Current state","index":13},{"plug":"output","type":"signal","displayName":"Has Reached Selected","name":"reached-Selected","group":"Current state","index":14},{"plug":"input","type":"color","group":"Neutral Values","name":"value-Neutral-color","displayName":"color","editorName":"Neutral|color","index":15},{"plug":"input","type":"color","group":"Neutral Values","name":"value-Neutral-text color","displayName":"text color","editorName":"Neutral|text color","index":16},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To Neutral","name":"to-Neutral","group":"Go to state","index":17},{"plug":"output","type":"boolean","displayName":"At Neutral","name":"at-Neutral","group":"Current state","index":18},{"plug":"output","type":"signal","displayName":"Has Reached Neutral","name":"reached-Neutral","group":"Current state","index":19},{"plug":"input","type":{"name":"enum","enums":["Selected","Neutral"]},"group":"States","displayName":"State","name":"currentState","default":"Selected","index":20}],"children":[]},{"id":"538dfe29-4e4e-b447-87a3-8396b2ba5dc0","type":"net.noodl.ParentComponentObject","x":60,"y":-114,"parameters":{"properties":"Selected Tab"},"ports":[],"dynamicports":[{"type":{"name":"*","allowConnectionsOnly":true},"plug":"input/output","group":"Properties","name":"value-Selected Tab","displayName":"Selected Tab","index":4},{"type":"signal","plug":"output","group":"Changed Events","displayName":"Selected Tab Changed","name":"changed-Selected Tab","index":5}],"children":[]},{"id":"ac60a48f-2ca3-fd48-0666-ef8069ed997e","type":"Expression","x":62,"y":-1,"parameters":{"expression":"thisTab === selectedTab?\"Selected\":\"Neutral\""},"ports":[],"dynamicports":[{"group":"Parameters","name":"thisTab","type":{"name":"*","editAsType":"string"},"plug":"input","index":7},{"group":"Parameters","name":"selectedTab","type":{"name":"*","editAsType":"string"},"plug":"input","index":8}],"children":[],"metadata":{"merge":{"soureCodePorts":["expression"]}}},{"id":"1acfa4c1-d78b-7409-e670-a5511f9f8133","type":"net.noodl.controls.button","x":508,"y":122,"parameters":{"sizeMode":"contentWidth","borderRadius":{"value":0,"unit":"px"},"minWidth":{"value":0,"unit":"px"},"backgroundColor":"transparent","color":"NDS - Grey - 300","paddingLeft":{"value":40,"unit":"px"},"paddingRight":{"value":40,"unit":"px"},"textStyle":"NDS - Label - Big"},"stateParameters":{"hover":{"color":"NDS - Grey - 100"}},"ports":[],"dynamicports":[],"children":[{"id":"27bc0ade-e867-a74f-8624-4ff0f81dcd89","type":"Group","label":"Bottom border","parameters":{"backgroundColor":"NDS - Primary - 200","height":{"value":2,"unit":"px"},"position":"absolute","alignY":"bottom","marginBottom":{"value":0,"unit":"px"},"transformY":{"value":0,"unit":"px"},"boxShadowBlurRadius":{"value":0,"unit":"px"},"boxShadowSpreadRadius":{"value":0,"unit":"px"},"boxShadowOffsetY":{"value":0,"unit":"px"},"boxShadowColor":"Primary"},"ports":[],"dynamicports":[],"children":[]}]}],"visualRoots":["1acfa4c1-d78b-7409-e670-a5511f9f8133"]}},{"name":"/#Global visual components/Tab example/Tabs","id":"5d6ea547-5df5-df0d-3276-b2f37387c4fc","graph":{"connections":[{"fromId":"2124aef8-4f9f-e87c-5c6a-7f2ec6a174d8","fromProperty":"out-toTab1","toId":"4ae00b8f-da01-439e-4338-0f198ccbbef0","toProperty":"navigate"},{"fromId":"2124aef8-4f9f-e87c-5c6a-7f2ec6a174d8","fromProperty":"out-toTab2","toId":"fc77d532-270d-693d-b7c8-3d4b4c296cd1","toProperty":"navigate"},{"fromId":"2124aef8-4f9f-e87c-5c6a-7f2ec6a174d8","fromProperty":"out-toTab3","toId":"e541c52f-b283-3795-0ee7-f745f12d3227","toProperty":"navigate"},{"fromId":"8cbfa0cd-c109-4eca-d757-1515ff104ffa","fromProperty":"Selected Tab","toId":"2124aef8-4f9f-e87c-5c6a-7f2ec6a174d8","toProperty":"in-currentTab"},{"fromId":"8cbfa0cd-c109-4eca-d757-1515ff104ffa","fromProperty":"Selected Tab Changed","toId":"2124aef8-4f9f-e87c-5c6a-7f2ec6a174d8","toProperty":"run"}],"roots":[{"id":"a4c69de7-0275-b558-2a8e-1dedc5a0690b","type":"Group","x":0,"y":0,"parameters":{},"ports":[],"dynamicports":[],"children":[{"id":"8cbfa0cd-c109-4eca-d757-1515ff104ffa","type":"/#Global visual components/Tab example/Tab bar","parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"ffdcd3f4-a317-e063-e23e-b10961f8eb88","type":"Page Stack","parameters":{"name":"Tabs","pages":[{"id":"n13g","label":"Tab 1"},{"id":"mox5","label":"Tab 2"},{"id":"1g00","label":"Tab 3"}],"pageComp-n13g":"/#Global visual components/Tab example/Tabs/Tab 1","pageComp-mox5":"/#Global visual components/Tab example/Tabs/Tab 2","pageComp-1g00":"/#Global visual components/Tab example/Tabs/Tab 3"},"ports":[],"dynamicports":[{"name":"pageComp-n13g","displayName":"Component","editorName":"Tab 1 | Component","plug":"input","type":"component","parent":"pages","parentItemId":"n13g","index":20},{"name":"pageComp-mox5","displayName":"Component","editorName":"Tab 2 | Component","plug":"input","type":"component","parent":"pages","parentItemId":"mox5","index":21},{"name":"pageComp-1g00","displayName":"Component","editorName":"Tab 3 | Component","plug":"input","type":"component","parent":"pages","parentItemId":"1g00","index":22},{"plug":"input","type":{"name":"enum","enums":[{"label":"Tab 1","value":"n13g"},{"label":"Tab 2","value":"mox5"},{"label":"Tab 3","value":"1g00"}],"allowEditOnly":true},"group":"General","displayName":"Start Page","name":"startPage","default":"n13g","index":23}],"children":[]}]},{"id":"4ae00b8f-da01-439e-4338-0f198ccbbef0","type":"PageStackNavigate","label":"Tab 1","x":472.5,"y":-100,"parameters":{"mode":"replace","stack":"Tabs"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"enum","enums":[{"label":"Tab 1","value":"n13g"},{"label":"Tab 2","value":"mox5"},{"label":"Tab 3","value":"1g00"}],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","default":"n13g","index":4}],"children":[]},{"id":"fc77d532-270d-693d-b7c8-3d4b4c296cd1","type":"PageStackNavigate","label":"Tab 2","x":468,"y":33,"parameters":{"mode":"replace","stack":"Tabs","target":"mox5"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"enum","enums":[{"label":"Tab 1","value":"n13g"},{"label":"Tab 2","value":"mox5"},{"label":"Tab 3","value":"1g00"}],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","default":"n13g","index":4}],"children":[]},{"id":"e541c52f-b283-3795-0ee7-f745f12d3227","type":"PageStackNavigate","label":"Tab 3","x":467,"y":149,"parameters":{"mode":"replace","stack":"Tabs","target":"1g00"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"enum","enums":[{"label":"Tab 1","value":"n13g"},{"label":"Tab 2","value":"mox5"},{"label":"Tab 3","value":"1g00"}],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","default":"n13g","index":4}],"children":[]},{"id":"2124aef8-4f9f-e87c-5c6a-7f2ec6a174d8","type":"JavaScriptFunction","label":"Change tab","x":238.875,"y":19,"parameters":{"functionScript":"const currentTab = Inputs.currentTab;\n\nif (!currentTab) return;\n\nswitch (currentTab) {\n case \"1\":\n Outputs.toTab1();\n break;\n\n case \"2\":\n Outputs.toTab2();\n break;\n\n case \"3\":\n Outputs.toTab3();\n break;\n}"},"ports":[],"dynamicports":[{"name":"in-currentTab","displayName":"currentTab","plug":"input","type":"*","group":"Inputs","index":4},{"name":"out-toTab1","displayName":"toTab1","plug":"output","type":"signal","group":"Outputs","index":5},{"name":"out-toTab2","displayName":"toTab2","plug":"output","type":"signal","group":"Outputs","index":6},{"name":"out-toTab3","displayName":"toTab3","plug":"output","type":"signal","group":"Outputs","index":7}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}}],"visualRoots":["a4c69de7-0275-b558-2a8e-1dedc5a0690b"]}},{"name":"/#Global visual components/Tab example/Tabs/Tab 1","id":"076ad277-5d14-886b-1b1b-53aa6ce4d31e","graph":{"connections":[],"roots":[{"id":"818faac6-9fbb-a6c6-33c1-576afee2ea59","type":"Group","x":0,"y":0,"parameters":{"paddingTop":{"value":20,"unit":"px"},"paddingLeft":{"value":20,"unit":"px"},"paddingRight":{"value":20,"unit":"px"},"paddingBottom":{"value":20,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"157b76e8-64ad-1512-3c71-925e4191f006","type":"Text","parameters":{"text":"Tab 1 content","sizeMode":"contentSize","textStyle":"Title Large"},"ports":[],"dynamicports":[],"children":[]}]}],"visualRoots":["818faac6-9fbb-a6c6-33c1-576afee2ea59"]}},{"name":"/#Global visual components/Tab example/Tabs/Tab 2","id":"fd35ebdb-1d46-bd22-c7d5-3b9653378fd4","graph":{"connections":[],"roots":[{"id":"f5b2f267-2a66-f5ee-3e3c-14e6c53f3ced","type":"Group","x":0,"y":0,"parameters":{"paddingTop":{"value":20,"unit":"px"},"paddingLeft":{"value":20,"unit":"px"},"paddingRight":{"value":20,"unit":"px"},"paddingBottom":{"value":20,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"1eb8b4a0-affa-b2a0-4dad-17740fe51aef","type":"Text","parameters":{"text":"Tab 2 content","sizeMode":"contentSize","textStyle":"Title Large"},"ports":[],"dynamicports":[],"children":[]}]}],"visualRoots":["f5b2f267-2a66-f5ee-3e3c-14e6c53f3ced"]}},{"name":"/#Global visual components/Tab example/Tabs/Tab 3","id":"68bf224e-22d8-ef29-9d91-a854ddb08a36","graph":{"connections":[],"roots":[{"id":"3116d151-5831-dacc-7e44-8213d985845e","type":"Group","x":0,"y":0,"parameters":{"paddingTop":{"value":20,"unit":"px"},"paddingLeft":{"value":20,"unit":"px"},"paddingRight":{"value":20,"unit":"px"},"paddingBottom":{"value":20,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"1dbf54fb-159a-5df4-3ade-599e32b9edd5","type":"Text","parameters":{"text":"Tab 3 content","sizeMode":"contentSize","textStyle":"Title Large"},"ports":[],"dynamicports":[],"children":[]}]}],"visualRoots":["3116d151-5831-dacc-7e44-8213d985845e"]}},{"name":"/#Global visual components/Upload progress popup","id":"8aee1ad8-688d-1e02-5199-b31a5f08e574","graph":{"connections":[{"fromId":"b0ce08ab-2424-7ba6-54cf-ade3ca1a74a9","fromProperty":"Closed","toId":"3b44f670-8f22-c914-4ff2-32dea39d9ca0","toProperty":"Done"},{"fromId":"d088bc97-3660-b0ba-d062-ff8b04f7ba4b","fromProperty":"Hide","toId":"5609f15e-e0a7-df30-1edd-d375f04c02b3","toProperty":"run"},{"fromId":"d088bc97-3660-b0ba-d062-ff8b04f7ba4b","fromProperty":"Show","toId":"43e43e13-5a6a-b325-3e4a-e2bd8a6d0538","toProperty":"run"},{"fromId":"43e43e13-5a6a-b325-3e4a-e2bd8a6d0538","fromProperty":"out-ShowPopup","toId":"b0ce08ab-2424-7ba6-54cf-ade3ca1a74a9","toProperty":"show"},{"fromId":"d088bc97-3660-b0ba-d062-ff8b04f7ba4b","fromProperty":"percent","toId":"99036283-d6cb-afc8-364a-bf32c314cb3d","toProperty":"value"}],"roots":[{"id":"d088bc97-3660-b0ba-d062-ff8b04f7ba4b","type":"Component Inputs","x":44,"y":82,"parameters":{},"ports":[{"name":"Show","plug":"output","type":{"name":"*"},"index":1},{"name":"Hide","plug":"output","type":{"name":"*"},"index":2},{"name":"percent","plug":"output","type":{"name":"*"},"index":3}],"dynamicports":[],"children":[]},{"id":"b0ce08ab-2424-7ba6-54cf-ade3ca1a74a9","type":"NavigationShowPopup","x":532,"y":88,"parameters":{"target":"/#Global visual components/Upload progress popup/Upload spinner"},"ports":[],"dynamicports":[],"children":[]},{"id":"3b44f670-8f22-c914-4ff2-32dea39d9ca0","type":"Component Outputs","x":757,"y":125,"parameters":{},"ports":[{"name":"Done","plug":"input","type":{"name":"*"},"index":1}],"dynamicports":[],"children":[]},{"id":"5609f15e-e0a7-df30-1edd-d375f04c02b3","type":"JavaScriptFunction","label":"Send Hide Signal","x":390,"y":258,"parameters":{"functionScript":"// Decrease loading spinner running counter\nNoodl.Variables.NumLoadingSpinnerRunning--\n\n// When we reach zero, hide the loading spinner\nif(Noodl.Variables.NumLoadingSpinnerRunning < 1)\n Noodl.Events.emit(\"Hide loader\");"},"ports":[],"dynamicports":[],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"43e43e13-5a6a-b325-3e4a-e2bd8a6d0538","type":"JavaScriptFunction","label":"Function","x":270,"y":20,"parameters":{"functionScript":"// If we have multiple show signals sent, only update the\n// running count\nif(Noodl.Variables.NumLoadingSpinnerRunning > 0)\n Noodl.Variables.NumLoadingSpinnerRunning++;\nelse {\n // If this is the first show signal, show the popup\n Noodl.Variables.NumLoadingSpinnerRunning = 1;\n Noodl.Variables.uploadPercent = 0;\n Outputs.ShowPopup();\n}"},"ports":[],"dynamicports":[{"name":"out-ShowPopup","displayName":"ShowPopup","plug":"output","type":"signal","group":"Outputs","index":4}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"99036283-d6cb-afc8-364a-bf32c314cb3d","type":"Variable2","x":315,"y":122,"parameters":{"name":"uploadPercent"},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":[]}},{"name":"/#Global visual components/Upload progress popup/Upload spinner","id":"4ac8209d-634c-4af2-bb56-661e383e225a","graph":{"connections":[{"fromId":"c707cff0-1bc8-8320-d3b2-f999ebe958b5","fromProperty":"didMount","toId":"b64fa7af-5cdb-b45b-070f-53d3447aa233","toProperty":"to-Show"},{"fromId":"d0042ea7-e8c1-f75d-8038-a32a51130589","fromProperty":"out-hide","toId":"b64fa7af-5cdb-b45b-070f-53d3447aa233","toProperty":"to-Hide"},{"fromId":"b64fa7af-5cdb-b45b-070f-53d3447aa233","fromProperty":"reached-Hide","toId":"b1964a33-8dab-15b4-6c3a-cfa6e9e30134","toProperty":"close"},{"fromId":"b64fa7af-5cdb-b45b-070f-53d3447aa233","fromProperty":"opacity","toId":"c707cff0-1bc8-8320-d3b2-f999ebe958b5","toProperty":"opacity"},{"fromId":"35c78770-bda7-ad07-0395-9d3c37cbe567","fromProperty":"formatted","toId":"34403a05-c849-a733-20e9-f92935a0726a","toProperty":"text"},{"fromId":"e81205bf-ccd8-7009-3954-ea1d7a135108","fromProperty":"result","toId":"34403a05-c849-a733-20e9-f92935a0726a","toProperty":"mounted"},{"fromId":"1914c56e-c851-5118-ee99-e75009de2e49","fromProperty":"value","toId":"e81205bf-ccd8-7009-3954-ea1d7a135108","toProperty":"percent"},{"fromId":"1914c56e-c851-5118-ee99-e75009de2e49","fromProperty":"value","toId":"303a3a3b-9e71-3c0f-20ff-eca55ff14d2f","toProperty":"percent"},{"fromId":"303a3a3b-9e71-3c0f-20ff-eca55ff14d2f","fromProperty":"result","toId":"35c78770-bda7-ad07-0395-9d3c37cbe567","toProperty":"percent"}],"roots":[{"id":"c707cff0-1bc8-8320-d3b2-f999ebe958b5","type":"Group","x":505,"y":186,"parameters":{"position":"absolute","width":{"value":100,"unit":"vw"},"height":{"value":100,"unit":"vh"},"backgroundColor":"#FFFFFF33","styleCss":"/* background-color: red; */\nbackdrop-filter: blur(4px);\n-moz-backdrop-filter: blur(4px);\n-webkit-backdrop-filter: blur(4px);"},"ports":[],"dynamicports":[],"children":[{"id":"b9910078-0d82-8a16-e08d-93e6898c458e","type":"Image","parameters":{"src":"assets/images/Rolling-1s-200px.svg","sizeMode":"explicit","position":"absolute","alignX":"center","alignY":"center","width":{"value":100,"unit":"px"},"height":{"value":100,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"34403a05-c849-a733-20e9-f92935a0726a","type":"Text","parameters":{"color":"LearnBook Orange","position":"absolute","alignY":"center","alignX":"center","marginTop":{"value":60,"unit":"px"},"sizeMode":"contentSize","textStyle":"Title Medium"},"ports":[],"dynamicports":[],"children":[]}]},{"id":"b1964a33-8dab-15b4-6c3a-cfa6e9e30134","type":"NavigationClosePopup","x":1030,"y":183,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"d0042ea7-e8c1-f75d-8038-a32a51130589","type":"JavaScriptFunction","label":"Recieve Hide Signal","x":764,"y":14,"parameters":{"functionScript":"Noodl.Events.on(\"Hide loader\", function () {\n Outputs.hide();\n});"},"ports":[],"dynamicports":[{"name":"out-hide","displayName":"hide","plug":"output","type":"signal","group":"Outputs","index":4}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"b64fa7af-5cdb-b45b-070f-53d3447aa233","type":"States","label":"Animate in/out","x":762,"y":174,"parameters":{"states":"Show,Hide","currentState":"Hide","values":"opacity","value-Show-opacity":1,"value-Hide-opacity":0},"ports":[],"dynamicports":[{"type":{"name":"number","allowConnectionsOnly":true},"plug":"output","group":"Values","name":"opacity","index":6},{"type":{"name":"enum","enums":[{"label":"Number","value":"number"},{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Color","value":"color"},{"label":"Text Style","value":"textStyle"}],"allowEditOnly":true},"default":"number","plug":"input","group":"Types","displayName":"opacity","name":"type-opacity","index":7},{"plug":"input","type":"number","group":"Show Values","name":"value-Show-opacity","displayName":"opacity","editorName":"Show|opacity","index":8},{"plug":"input","type":"curve","displayName":"Default","default":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"group":"Show Transitions","name":"transitiondef-Show","index":9},{"plug":"input","type":{"name":"curve"},"default":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"group":"Show Transitions","name":"transition-Show-opacity","displayName":"opacity","editorName":"Transition Show|opacity","index":10},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To Show","name":"to-Show","group":"Go to state","index":11},{"plug":"output","type":"boolean","displayName":"At Show","name":"at-Show","group":"Current state","index":12},{"plug":"output","type":"signal","displayName":"Has Reached Show","name":"reached-Show","group":"Current state","index":13},{"plug":"input","type":"number","group":"Hide Values","name":"value-Hide-opacity","displayName":"opacity","editorName":"Hide|opacity","index":14},{"plug":"input","type":"curve","displayName":"Default","default":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"group":"Hide Transitions","name":"transitiondef-Hide","index":15},{"plug":"input","type":{"name":"curve"},"default":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"group":"Hide Transitions","name":"transition-Hide-opacity","displayName":"opacity","editorName":"Transition Hide|opacity","index":16},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To Hide","name":"to-Hide","group":"Go to state","index":17},{"plug":"output","type":"boolean","displayName":"At Hide","name":"at-Hide","group":"Current state","index":18},{"plug":"output","type":"signal","displayName":"Has Reached Hide","name":"reached-Hide","group":"Current state","index":19},{"plug":"input","type":{"name":"enum","enums":["Show","Hide"]},"group":"States","displayName":"State","name":"currentState","default":"Show","index":20}],"children":[]},{"id":"35c78770-bda7-ad07-0395-9d3c37cbe567","type":"String Format","x":265,"y":293,"parameters":{"format":"Loading {percent}%..."},"ports":[],"dynamicports":[{"name":"percent","type":"string","plug":"input","index":2}],"children":[]},{"id":"e81205bf-ccd8-7009-3954-ea1d7a135108","type":"Expression","x":261,"y":183,"parameters":{"expression":"percent > 0"},"ports":[],"dynamicports":[{"group":"Parameters","name":"percent","type":{"name":"*","editAsType":"string"},"plug":"input","index":7}],"children":[],"metadata":{"merge":{"soureCodePorts":["expression"]}}},{"id":"1914c56e-c851-5118-ee99-e75009de2e49","type":"Variable2","x":272,"y":82,"parameters":{"name":"uploadPercent"},"ports":[],"dynamicports":[],"children":[]},{"id":"303a3a3b-9e71-3c0f-20ff-eca55ff14d2f","type":"Expression","x":24,"y":160,"parameters":{"expression":"Math.round(percent)"},"ports":[],"dynamicports":[{"group":"Parameters","name":"percent","type":{"name":"*","editAsType":"string"},"plug":"input","index":7}],"children":[],"metadata":{"merge":{"soureCodePorts":["expression"]}}}],"visualRoots":["c707cff0-1bc8-8320-d3b2-f999ebe958b5"]}},{"name":"/App","graph":{"connections":[{"fromId":"246f9453-a119-ac78-171e-3806cf596ecc","fromProperty":"didMount","toId":"58ea839a-bf6c-b3f6-0cc4-e1c7fe639c1a","toProperty":"Do"}],"roots":[{"id":"246f9453-a119-ac78-171e-3806cf596ecc","type":"Group","x":-111.4681915301291,"y":311.4376377651178,"parameters":{"backgroundColor":"#FFFFFF","scrollEnabled":true},"ports":[],"dynamicports":[],"children":[{"id":"ad09cdb1-c892-0d9d-4143-ecd52e266f9c","type":"Router","parameters":{"name":"Main","pages":{"routes":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"startPage":"/Log In"}},"ports":[],"dynamicports":[],"children":[]}]},{"id":"58ea839a-bf6c-b3f6-0cc4-e1c7fe639c1a","type":"/App/Preload some app data","x":154.03180846987084,"y":342.4376377651178,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"5e96a39e-9960-1ee9-471b-1a2a96e96a81","type":"/#Global logic components/Check page width","x":150.78180846987084,"y":265.9376377651178,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"fbcd2330-c9de-8dd2-e627-9eb9d9b80d8e","type":"/#Global logic components/Set SEO meta tags","x":-130.05152486346248,"y":163.4376377651178,"parameters":{},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":["246f9453-a119-ac78-171e-3806cf596ecc"],"comments":[{"text":"Either place this once at App level to set meta tags for all pages, or add it to each individual page to set specific tags per page","width":322,"height":174,"fill":"transparent","x":-210,"y":68,"id":"eea7828a-2800-dd49-eb51-874691a85c8d","color":"comment"}]},"metadata":{"canvasSize":{"width":"1039px","height":"751px"},"canvasPos":{"x":0,"y":0},"isFolderComponent":false}},{"name":"/App/Preload some app data","id":"17987472-3c19-e926-b59b-6b993c187964","graph":{"connections":[{"fromId":"8f4848e6-2e3f-9d30-5fbf-380dae0e165a","fromProperty":"out-catImages","toId":"9ecb63bc-4fb6-5f2a-6b4f-d3e2100ef2f7","toProperty":"in-apiResponse"},{"fromId":"9ecb63bc-4fb6-5f2a-6b4f-d3e2100ef2f7","fromProperty":"out-catData","toId":"6f696cb2-3f40-c7ef-2909-b0b7307369df","toProperty":"items"},{"fromId":"d3c3986c-6ab9-c8b1-832c-b5c9a316b603","fromProperty":"Do","toId":"8f4848e6-2e3f-9d30-5fbf-380dae0e165a","toProperty":"run"}],"roots":[{"id":"6f696cb2-3f40-c7ef-2909-b0b7307369df","type":"Collection2","x":203.5,"y":-2,"parameters":{"collectionId":"catData"},"ports":[],"dynamicports":[],"children":[]},{"id":"8f4848e6-2e3f-9d30-5fbf-380dae0e165a","type":"JavaScriptFunction","label":"API call - get cats","x":-255.5,"y":-2,"parameters":{"functionScript":"const url = 'https://api.thecatapi.com/v1/images/search?limit=10'; // Fetches 5 random cat images\n try {\n const response = await fetch(url);\n if (!response.ok) throw new Error('Network response was not ok');\n const data = await response.json(); // Parse the JSON response into an object\n\n const imageUrls = data.map(cat => cat.url); // Extract the image URLs from the response\n Outputs.catImages = imageUrls; // Log the image URLs to the console\n Outputs.success();\n \n } catch (error) {\n console.error('Error fetching cat images:', error);\n Outputs.error = error;\n Outputs.failed();\n }"},"ports":[],"dynamicports":[{"name":"out-success","displayName":"success","plug":"output","type":"signal","group":"Outputs","index":4},{"name":"out-failed","displayName":"failed","plug":"output","type":"signal","group":"Outputs","index":5},{"name":"out-catImages","displayName":"catImages","plug":"output","type":"*","group":"Outputs","index":6},{"name":"out-error","displayName":"error","plug":"output","type":"*","group":"Outputs","index":7}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"9ecb63bc-4fb6-5f2a-6b4f-d3e2100ef2f7","type":"JavaScriptFunction","label":"Map result images to objects","x":-23.5,"y":-1,"parameters":{"functionScript":"const apiResponseArray = Inputs.apiResponse;\n\nif (!apiResponseArray) return;\n\nconst catObjects = []; // Initialize an empty array for the new objects\n for (let i = 0; i < apiResponseArray.length; i++) { // Use a for loop to iterate over the fetched data\n catObjects.push({\n catId: \"cat\" + (i + 1), // Starting catId from 1 and increasing\n catUrl: apiResponseArray[i], // The URL of the cat image\n });\n }\n\nOutputs.catData = catObjects;"},"ports":[],"dynamicports":[{"name":"in-apiResponse","displayName":"apiResponse","plug":"input","type":"*","group":"Inputs","index":4},{"name":"out-catData","displayName":"catData","plug":"output","type":"*","group":"Outputs","index":5}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"d3c3986c-6ab9-c8b1-832c-b5c9a316b603","type":"Component Inputs","x":-480.5,"y":-1,"parameters":{},"ports":[{"name":"Do","plug":"output","type":{"name":"*"},"index":1}],"dynamicports":[],"children":[]}],"visualRoots":[],"comments":[{"text":"This could be one function, but I wanted to give two examples to make it easier to copy","width":421,"height":214,"fill":"transparent","x":-272,"y":-66,"id":"02df8c58-9ba6-2c15-68a7-b8f4cf39fec4","color":"script"}]}},{"name":"/Experiment","id":"63b6a8ab-9b69-8029-d1ad-5c9400206c16","graph":{"connections":[],"roots":[{"id":"06e8659e-a3dc-ac50-0a75-2032d762e0ef","type":"Page","x":0,"y":0,"parameters":{},"ports":[],"dynamicports":[{"name":"title","displayName":"Title","type":"string","group":"General","plug":"input","default":"Experiment","index":31},{"name":"urlPath","displayName":"Url Path","type":"string","group":"General","plug":"input","default":"experiment","index":32}],"children":[{"id":"dfdca23a-ce0a-1a55-8042-1dd29ef4429c","type":"Group","parameters":{"scrollEnabled":true,"sizeMode":"contentHeight","nativeScroll":true,"scrollSnapEnabled":false},"ports":[],"dynamicports":[],"children":[{"id":"58985c3d-a4b5-708b-e383-d25bdbec4f99","type":"/#Global visual components/Expandable cards example","parameters":{},"ports":[],"dynamicports":[],"children":[]}]}]},{"id":"be6c2b26-93bd-1ed4-4073-50a3dd9dc999","type":"PageInputs","x":-100,"y":-50,"parameters":{},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":["06e8659e-a3dc-ac50-0a75-2032d762e0ef"]}},{"name":"/Forgot Password","id":"3a998657-52b6-3531-3ef9-02d317fedbdb","graph":{"connections":[{"fromId":"3c0ab1fb-d0b0-b1d3-1b5b-5fe84750e19d","fromProperty":"onClick","toId":"c289dac8-d3b9-3e01-2fd9-78fdd6143e83","toProperty":"call"},{"fromId":"95f0a94d-4128-8907-bd2d-f3d330d8f2e6","fromProperty":"onTextChanged","toId":"c289dac8-d3b9-3e01-2fd9-78fdd6143e83","toProperty":"in-Email"},{"fromId":"3c0ab1fb-d0b0-b1d3-1b5b-5fe84750e19d","fromProperty":"onClick","toId":"094616ee-4019-5c0f-2626-947187225e42","toProperty":"Show"},{"fromId":"c289dac8-d3b9-3e01-2fd9-78fdd6143e83","fromProperty":"failure","toId":"094616ee-4019-5c0f-2626-947187225e42","toProperty":"Hide"},{"fromId":"c289dac8-d3b9-3e01-2fd9-78fdd6143e83","fromProperty":"success","toId":"094616ee-4019-5c0f-2626-947187225e42","toProperty":"Hide"},{"fromId":"c289dac8-d3b9-3e01-2fd9-78fdd6143e83","fromProperty":"success","toId":"a8cefab8-a3db-5b27-8784-162312e423cf","toProperty":"Do"},{"fromId":"c289dac8-d3b9-3e01-2fd9-78fdd6143e83","fromProperty":"failure","toId":"a8cefab8-a3db-5b27-8784-162312e423cf","toProperty":"Do"},{"fromId":"d7ad5053-ada9-4691-adac-d89d83b41b8d","fromProperty":"onClick","toId":"7ae51395-982f-c787-a306-4a80d91dcce7","toProperty":"navigate"}],"roots":[{"id":"d995eae5-f71f-c6f5-30b7-41891ab4f110","type":"Page","x":0,"y":0,"parameters":{},"ports":[],"dynamicports":[{"name":"title","displayName":"Title","type":"string","group":"General","plug":"input","default":"Forgot Password","index":14},{"name":"urlPath","displayName":"Url Path","type":"string","group":"General","plug":"input","default":"forgot-password","index":15}],"children":[{"id":"8724cd7e-82ca-839a-30f5-409bab32dca2","type":"Group","variant":"Page Container","parameters":{"alignX":"center"},"ports":[],"dynamicports":[],"children":[{"id":"90bf96c2-a0b3-d432-ae95-f646af9b758f","type":"Text","parameters":{"marginBottom":{"value":40,"unit":"px"},"textStyle":"Title Large","text":"Forgot Password"},"ports":[],"dynamicports":[],"children":[]},{"id":"95f0a94d-4128-8907-bd2d-f3d330d8f2e6","type":"net.noodl.controls.textinput","variant":"Text Input","parameters":{"label":"Email","marginBottom":{"value":24,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"3c0ab1fb-d0b0-b1d3-1b5b-5fe84750e19d","type":"net.noodl.controls.button","variant":"Primary button","parameters":{"label":"Send reset email","marginTop":{"value":16,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"d7ad5053-ada9-4691-adac-d89d83b41b8d","type":"net.noodl.controls.button","variant":"Text button","parameters":{"marginTop":{"value":24,"unit":"px"},"alignX":"center","label":"Back to log In"},"ports":[],"dynamicports":[],"children":[]}]}]},{"id":"2f085f59-7d1e-d0d9-530d-c34c6bc2e39c","type":"PageInputs","x":-455,"y":2,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"c289dac8-d3b9-3e01-2fd9-78fdd6143e83","type":"CloudFunction2","x":325.5,"y":92,"parameters":{"function":"Sign Up/Request Reset Password"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","components":["/#__cloud__/Sign Up/Request Reset Password","/#__cloud__/Sign Up/Reset Password","/#__cloud__/Sign Up/Send Verification Email","/#__cloud__/Sign Up/Verify Email"],"ignoreSheetName":true,"allowEditOnly":true},"group":"General","displayName":"Function","name":"function","index":0},{"name":"in-Email","displayName":"Email","type":"*","plug":"input","group":"Parameters","index":1}],"children":[]},{"id":"094616ee-4019-5c0f-2626-947187225e42","type":"/Loading Spinner","x":321.5,"y":-20,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"a8cefab8-a3db-5b27-8784-162312e423cf","type":"/Show Toast","x":605.5,"y":151,"parameters":{"Message":"Email sent if it matches a user."},"ports":[],"dynamicports":[],"children":[]},{"id":"7ae51395-982f-c787-a306-4a80d91dcce7","type":"RouterNavigate","x":282.5,"y":386.1,"parameters":{"router":"Main","target":"/Log In"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]}],"visualRoots":["d995eae5-f71f-c6f5-30b7-41891ab4f110"]},"metadata":{"isFolderComponent":false}},{"name":"/Loading Spinner","id":"77dbfebe-0d7a-ec9b-bb1f-11b6a6390c6a","graph":{"connections":[{"fromId":"50721aa7-d36f-b86e-abaf-d84f60189c12","fromProperty":"Closed","toId":"6bd42a1c-f5e6-abda-48dd-569bae518784","toProperty":"Done"},{"fromId":"711de234-8ce6-81d9-1fd6-88772c53394f","fromProperty":"Hide","toId":"c11390b3-4bca-19fb-3421-b9cff42d16c1","toProperty":"run"},{"fromId":"711de234-8ce6-81d9-1fd6-88772c53394f","fromProperty":"Show","toId":"cbff8f6a-9ab2-caa7-8634-ac35955e5702","toProperty":"run"},{"fromId":"cbff8f6a-9ab2-caa7-8634-ac35955e5702","fromProperty":"out-ShowPopup","toId":"50721aa7-d36f-b86e-abaf-d84f60189c12","toProperty":"show"}],"roots":[{"id":"711de234-8ce6-81d9-1fd6-88772c53394f","type":"Component Inputs","x":-182,"y":261,"parameters":{},"ports":[{"name":"Show","plug":"output","type":{"name":"*"},"index":1},{"name":"Hide","plug":"output","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"50721aa7-d36f-b86e-abaf-d84f60189c12","type":"NavigationShowPopup","x":301.9709826726816,"y":260.2677808484063,"parameters":{"target":"/Loading Spinner/Loader Component"},"ports":[],"dynamicports":[],"children":[]},{"id":"6bd42a1c-f5e6-abda-48dd-569bae518784","type":"Component Outputs","x":527.6450866365918,"y":296.5526177477978,"parameters":{},"ports":[{"name":"Done","plug":"input","type":{"name":"*"},"index":1}],"dynamicports":[],"children":[]},{"id":"c11390b3-4bca-19fb-3421-b9cff42d16c1","type":"JavaScriptFunction","label":"Send Hide Signal","x":33.96516310060855,"y":333.6337696246332,"parameters":{"functionScript":"// Decrease loading spinner running counter\nNoodl.Variables.NumLoadingSpinnerRunning--\n\n// When we reach zero, hide the loading spinner\nif(Noodl.Variables.NumLoadingSpinnerRunning < 1)\n Noodl.Events.emit(\"Hide loader\");"},"ports":[],"dynamicports":[],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"cbff8f6a-9ab2-caa7-8634-ac35955e5702","type":"JavaScriptFunction","label":"Function","x":39.895308102470494,"y":191.86354205520934,"parameters":{"functionScript":"// If we have multiple show signals sent, only update the\n// running count\nif(Noodl.Variables.NumLoadingSpinnerRunning > 0)\n Noodl.Variables.NumLoadingSpinnerRunning++\nelse {\n // If this is the first show signal, show the popup\n Noodl.Variables.NumLoadingSpinnerRunning = 1\n Outputs.ShowPopup()\n}"},"ports":[],"dynamicports":[{"name":"out-ShowPopup","displayName":"ShowPopup","plug":"output","type":"signal","group":"Outputs","index":4}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}}],"visualRoots":[]},"metadata":{"isFolderComponent":true}},{"name":"/Loading Spinner/Loader Component","id":"ca45883b-b7f8-b518-871a-0a6045eb4562","graph":{"connections":[{"fromId":"3d828070-f8ae-352a-b8e0-a373c6c1b8aa","fromProperty":"didMount","toId":"97c71028-0196-d2a2-6e90-979f23cc3fcd","toProperty":"to-Show"},{"fromId":"b50a8774-aa29-576d-1870-4d7aef23b182","fromProperty":"out-hide","toId":"97c71028-0196-d2a2-6e90-979f23cc3fcd","toProperty":"to-Hide"},{"fromId":"97c71028-0196-d2a2-6e90-979f23cc3fcd","fromProperty":"reached-Hide","toId":"c63e7778-658f-c236-0cd6-cf3288827a29","toProperty":"close"},{"fromId":"97c71028-0196-d2a2-6e90-979f23cc3fcd","fromProperty":"opacity","toId":"3d828070-f8ae-352a-b8e0-a373c6c1b8aa","toProperty":"opacity"}],"roots":[{"id":"3d828070-f8ae-352a-b8e0-a373c6c1b8aa","type":"Group","x":-91,"y":180,"parameters":{"position":"absolute","width":{"value":100,"unit":"vw"},"height":{"value":100,"unit":"vh"},"backgroundColor":"#FFFFFF7F"},"ports":[],"dynamicports":[],"children":[{"id":"a751e6ae-a245-4d04-e05b-c66d52604ce0","type":"Image","parameters":{"src":"Rolling-1s-200px.svg","sizeMode":"explicit","position":"absolute","alignX":"center","alignY":"center","width":{"value":100,"unit":"px"},"height":{"value":100,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]}]},{"id":"c63e7778-658f-c236-0cd6-cf3288827a29","type":"NavigationClosePopup","x":434,"y":177,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"b50a8774-aa29-576d-1870-4d7aef23b182","type":"JavaScriptFunction","label":"Recieve Hide Signal","x":168,"y":7.666666666666629,"parameters":{"functionScript":"Noodl.Events.on(\"Hide loader\", function () {\n Outputs.hide();\n});"},"ports":[],"dynamicports":[{"name":"out-hide","displayName":"hide","plug":"output","type":"signal","group":"Outputs","index":4}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"97c71028-0196-d2a2-6e90-979f23cc3fcd","type":"States","label":"Animate in/out","x":166,"y":167.66666666666663,"parameters":{"states":"Show,Hide","currentState":"Hide","values":"opacity","value-Show-opacity":1,"value-Hide-opacity":0},"ports":[],"dynamicports":[{"type":{"name":"number","allowConnectionsOnly":true},"plug":"output","group":"Values","name":"opacity","index":6},{"type":{"name":"enum","enums":[{"label":"Number","value":"number"},{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Color","value":"color"},{"label":"Text Style","value":"textStyle"}],"allowEditOnly":true},"default":"number","plug":"input","group":"Types","displayName":"opacity","name":"type-opacity","index":7},{"plug":"input","type":"number","group":"Show Values","name":"value-Show-opacity","displayName":"opacity","editorName":"Show|opacity","index":8},{"plug":"input","type":"curve","displayName":"Default","default":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"group":"Show Transitions","name":"transitiondef-Show","index":9},{"plug":"input","type":{"name":"curve"},"default":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"group":"Show Transitions","name":"transition-Show-opacity","displayName":"opacity","editorName":"Transition Show|opacity","index":10},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To Show","name":"to-Show","group":"Go to state","index":11},{"plug":"output","type":"boolean","displayName":"At Show","name":"at-Show","group":"Current state","index":12},{"plug":"output","type":"signal","displayName":"Has Reached Show","name":"reached-Show","group":"Current state","index":13},{"plug":"input","type":"number","group":"Hide Values","name":"value-Hide-opacity","displayName":"opacity","editorName":"Hide|opacity","index":14},{"plug":"input","type":"curve","displayName":"Default","default":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"group":"Hide Transitions","name":"transitiondef-Hide","index":15},{"plug":"input","type":{"name":"curve"},"default":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"group":"Hide Transitions","name":"transition-Hide-opacity","displayName":"opacity","editorName":"Transition Hide|opacity","index":16},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To Hide","name":"to-Hide","group":"Go to state","index":17},{"plug":"output","type":"boolean","displayName":"At Hide","name":"at-Hide","group":"Current state","index":18},{"plug":"output","type":"signal","displayName":"Has Reached Hide","name":"reached-Hide","group":"Current state","index":19},{"plug":"input","type":{"name":"enum","enums":["Show","Hide"]},"group":"States","displayName":"State","name":"currentState","default":"Show","index":20}],"children":[]}],"visualRoots":["3d828070-f8ae-352a-b8e0-a373c6c1b8aa"]},"metadata":{"isFolderComponent":false}},{"name":"/Log In","id":"b83cf7d3-01f2-b260-e720-1f9f66d053ee","graph":{"connections":[{"fromId":"0ae19f1f-03ab-87c9-9c3e-48b12d5d2e69","fromProperty":"onClick","toId":"7dfbecdb-b4c6-557e-3b57-b85803ac5563","toProperty":"login"},{"fromId":"33a67bd9-4387-8dde-6c03-ab69f8399cec","fromProperty":"onTextChanged","toId":"7dfbecdb-b4c6-557e-3b57-b85803ac5563","toProperty":"username"},{"fromId":"36fe6b99-328f-40ef-2ac9-208b5deb6c6c","fromProperty":"onTextChanged","toId":"7dfbecdb-b4c6-557e-3b57-b85803ac5563","toProperty":"password"},{"fromId":"958ceaf2-82a2-113e-e1ce-a66d8137a67d","fromProperty":"authenticated","toId":"e5b0452d-5ab4-15dd-48fd-dd490aecb569","toProperty":"navigate"},{"fromId":"4a35ea6a-c1c2-6e91-74f1-18bb76dc84b8","fromProperty":"onClick","toId":"7944b1a4-d293-e5f6-d5ef-a913677e5a28","toProperty":"navigate"},{"fromId":"7dfbecdb-b4c6-557e-3b57-b85803ac5563","fromProperty":"success","toId":"3a544acf-536f-3629-1027-5ac727d75dae","toProperty":"navigate"},{"fromId":"7dfbecdb-b4c6-557e-3b57-b85803ac5563","fromProperty":"failure","toId":"75acd316-9691-f95f-bfcf-93b6a287f1b7","toProperty":"Do"},{"fromId":"7dfbecdb-b4c6-557e-3b57-b85803ac5563","fromProperty":"error","toId":"75acd316-9691-f95f-bfcf-93b6a287f1b7","toProperty":"Message"},{"fromId":"0ae19f1f-03ab-87c9-9c3e-48b12d5d2e69","fromProperty":"onClick","toId":"63a88867-4a95-2058-877f-f6638259fae4","toProperty":"Show"},{"fromId":"7dfbecdb-b4c6-557e-3b57-b85803ac5563","fromProperty":"success","toId":"63a88867-4a95-2058-877f-f6638259fae4","toProperty":"Hide"},{"fromId":"7dfbecdb-b4c6-557e-3b57-b85803ac5563","fromProperty":"failure","toId":"63a88867-4a95-2058-877f-f6638259fae4","toProperty":"Hide"},{"fromId":"e697e245-d133-7a0a-634b-06e456c43134","fromProperty":"onClick","toId":"3df45f45-15d9-8908-ed8d-0868de22a026","toProperty":"navigate"}],"roots":[{"id":"a6e9dcb4-c20b-95f1-93c0-8db7bf39c33e","type":"Page","x":-134,"y":-34,"parameters":{"paddingTop":{"value":80,"unit":"px"},"paddingBottom":{"value":80,"unit":"px"}},"ports":[],"dynamicports":[{"name":"title","displayName":"Title","type":"string","group":"General","plug":"input","default":"Log In","index":14},{"name":"urlPath","displayName":"Url Path","type":"string","group":"General","plug":"input","default":"log-in","index":15}],"children":[{"id":"98a201a5-f1a9-7b90-11c0-84084a8fa4f7","type":"Group","variant":"Page Container","label":"Page Container","parameters":{"justifyContent":"center"},"stateParameters":{},"stateTransitions":{},"defaultStateTransitions":{},"ports":[],"dynamicports":[],"children":[{"id":"a1590a85-f878-b6c0-8890-4952b238f1d3","type":"Text","label":"Title","parameters":{"textStyle":"Title Large","text":"Log In","marginBottom":{"value":40,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"33a67bd9-4387-8dde-6c03-ab69f8399cec","type":"net.noodl.controls.textinput","variant":"Text Input","label":"Email input","parameters":{"marginBottom":{"value":24,"unit":"px"}},"stateParameters":{},"stateTransitions":{},"defaultStateTransitions":{},"ports":[],"dynamicports":[],"children":[]},{"id":"36fe6b99-328f-40ef-2ac9-208b5deb6c6c","type":"net.noodl.controls.textinput","variant":"Text Input","label":"Password Input","parameters":{"label":"Password","type":"password","height":{"value":48,"unit":"px"},"marginBottom":{"value":24,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"0ae19f1f-03ab-87c9-9c3e-48b12d5d2e69","type":"net.noodl.controls.button","variant":"Primary button","parameters":{"marginTop":{"value":16,"unit":"px"}},"stateParameters":{},"stateTransitions":{},"defaultStateTransitions":{},"ports":[],"dynamicports":[],"children":[]},{"id":"e697e245-d133-7a0a-634b-06e456c43134","type":"net.noodl.controls.button","variant":"Text button","label":"Forgot password","parameters":{"label":"Forgot password?","marginTop":{"value":16,"unit":"px"},"alignX":"center","textStyle":"Body Medium"},"ports":[],"dynamicports":[],"children":[]},{"id":"7b1250b1-6551-6335-26be-f72d1f96afe9","type":"Group","parameters":{"flexDirection":"row","sizeMode":"contentHeight","alignItems":"center","justifyContent":"center","marginTop":{"value":80,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"9ae67f0e-cc28-c0b5-2df1-ae8e8d87ebfc","type":"Text","parameters":{"text":"Don’t have an account?","sizeMode":"contentSize"},"ports":[],"dynamicports":[],"children":[]},{"id":"4a35ea6a-c1c2-6e91-74f1-18bb76dc84b8","type":"net.noodl.controls.button","variant":"Text button","parameters":{"label":"Create account","paddingLeft":{"value":8,"unit":"px"}},"stateParameters":{"hover":{"backgroundColor":"tra"}},"stateTransitions":{},"defaultStateTransitions":{},"ports":[],"dynamicports":[],"children":[]}]}]}]},{"id":"9d67796e-d872-f6b4-c361-879beebf3b19","type":"PageInputs","x":-465,"y":-88,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"7dfbecdb-b4c6-557e-3b57-b85803ac5563","type":"net.noodl.user.LogIn","x":294.5,"y":83,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"958ceaf2-82a2-113e-e1ce-a66d8137a67d","type":"net.noodl.user.User","x":-14.5,"y":-206,"parameters":{},"ports":[],"dynamicports":[{"type":{"name":"date"},"plug":"output","group":"Properties","name":"prop-createdAt","displayName":"createdAt","index":9},{"type":"signal","plug":"output","group":"Changed Events","displayName":"createdAt Changed","name":"changed-createdAt","index":10},{"type":{"name":"date"},"plug":"output","group":"Properties","name":"prop-updatedAt","displayName":"updatedAt","index":11},{"type":"signal","plug":"output","group":"Changed Events","displayName":"updatedAt Changed","name":"changed-updatedAt","index":12},{"type":{"name":"boolean"},"plug":"output","group":"Properties","name":"prop-emailVerified","displayName":"emailVerified","index":13},{"type":"signal","plug":"output","group":"Changed Events","displayName":"emailVerified Changed","name":"changed-emailVerified","index":14},{"type":{"name":"string"},"plug":"output","group":"Properties","name":"prop-name","displayName":"name","index":15},{"type":"signal","plug":"output","group":"Changed Events","displayName":"name Changed","name":"changed-name","index":16},{"type":{"name":"string"},"plug":"output","group":"Properties","name":"prop-profilePhoto","displayName":"profilePhoto","index":17},{"type":"signal","plug":"output","group":"Changed Events","displayName":"profilePhoto Changed","name":"changed-profilePhoto","index":18},{"plug":"output","name":"loggedIn","type":"signal","displayName":"Logged In","group":"Events","index":19},{"plug":"output","name":"loggedOut","type":"signal","displayName":"Logged Out","group":"Events","index":20},{"plug":"output","name":"sessionLost","type":"signal","displayName":"Session Lost","group":"Events","index":21}],"children":[]},{"id":"e5b0452d-5ab4-15dd-48fd-dd490aecb569","type":"RouterNavigate","x":276.5,"y":-191,"parameters":{"router":"Main","target":"/Main"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]},{"id":"7944b1a4-d293-e5f6-d5ef-a913677e5a28","type":"RouterNavigate","x":244.5,"y":283,"parameters":{"router":"Main","target":"/Sign Up"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]},{"id":"3a544acf-536f-3629-1027-5ac727d75dae","type":"RouterNavigate","x":554.5,"y":13,"parameters":{"router":"Main","target":"/Main"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]},{"id":"75acd316-9691-f95f-bfcf-93b6a287f1b7","type":"/Show Toast","x":558.5,"y":120,"parameters":{"Type":"Error"},"ports":[],"dynamicports":[],"children":[]},{"id":"63a88867-4a95-2058-877f-f6638259fae4","type":"/Loading Spinner","x":296.5,"y":-39,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"3df45f45-15d9-8908-ed8d-0868de22a026","type":"RouterNavigate","x":250.06121366868638,"y":431.8338959103777,"parameters":{"router":"Main","target":"/Forgot Password"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]}],"visualRoots":["a6e9dcb4-c20b-95f1-93c0-8db7bf39c33e"],"comments":[{"text":"Go directly to main if signed in","width":640,"height":165,"fill":true,"x":-143,"y":-275,"id":"35f47e11-dc5d-33e9-e0b5-708a3611761c"}]},"metadata":{"isFolderComponent":false}},{"name":"/Main","id":"396b3fd8-573f-108c-639b-3acc611c8b5c","graph":{"connections":[{"fromId":"68b43154-0fd0-e555-4250-eccb8f5e5de0","fromProperty":"didMount","toId":"e268b984-e125-b4a6-c6bc-33d993b77383","toProperty":"fetch"},{"fromId":"e268b984-e125-b4a6-c6bc-33d993b77383","fromProperty":"prop-emailVerified","toId":"2126f86d-df30-2742-a678-abdbbbea502f","toProperty":"Verified"},{"fromId":"2126f86d-df30-2742-a678-abdbbbea502f","fromProperty":"result","toId":"d2aa2603-2678-877e-7c72-4d35e78f0075","toProperty":"mounted"},{"fromId":"44c0c689-7f35-cb73-f77f-1565bb33c162","fromProperty":"onClick","toId":"ab0a3278-c204-d2d0-8390-0e36d484e8c6","toProperty":"call"},{"fromId":"ab0a3278-c204-d2d0-8390-0e36d484e8c6","fromProperty":"success","toId":"ff3bb0e7-4be0-80a7-0ee3-48d6f0a24568","toProperty":"Do"},{"fromId":"ab0a3278-c204-d2d0-8390-0e36d484e8c6","fromProperty":"failure","toId":"af19baa9-0349-ed4a-e841-75c30516b94f","toProperty":"Do"},{"fromId":"44c0c689-7f35-cb73-f77f-1565bb33c162","fromProperty":"onClick","toId":"5a070616-196a-aee2-d5ed-b76ce0b0cd3f","toProperty":"Show"},{"fromId":"ab0a3278-c204-d2d0-8390-0e36d484e8c6","fromProperty":"success","toId":"5a070616-196a-aee2-d5ed-b76ce0b0cd3f","toProperty":"Hide"},{"fromId":"ab0a3278-c204-d2d0-8390-0e36d484e8c6","fromProperty":"failure","toId":"5a070616-196a-aee2-d5ed-b76ce0b0cd3f","toProperty":"Hide"},{"fromId":"faddb52c-1822-529c-bb28-82942a02434f","fromProperty":"sessionLost","toId":"2562d44e-4100-8b6e-6b03-203dd9490c50","toProperty":"navigate"},{"fromId":"faddb52c-1822-529c-bb28-82942a02434f","fromProperty":"prop-name","toId":"8dcdfae5-4bb8-d6ce-c6b0-eda2e3bf3459","toProperty":"name"}],"roots":[{"id":"68b43154-0fd0-e555-4250-eccb8f5e5de0","type":"Page","x":0,"y":0,"parameters":{},"ports":[],"dynamicports":[{"name":"title","displayName":"Title","type":"string","group":"General","plug":"input","default":"Main","index":14},{"name":"urlPath","displayName":"Url Path","type":"string","group":"General","plug":"input","default":"main","index":15}],"children":[{"id":"d2aa2603-2678-877e-7c72-4d35e78f0075","type":"Group","label":"Email not verified banner","parameters":{"sizeMode":"contentHeight","flexDirection":"row","backgroundColor":"Primary Subtle","paddingLeft":{"value":16,"unit":"px"},"paddingTop":{"value":5,"unit":"px"},"paddingBottom":{"value":5,"unit":"px"},"paddingRight":{"value":16,"unit":"px"},"mounted":false,"borderRadius":{"value":4,"unit":"px"},"boxShadowEnabled":false,"scrollEnabled":false},"ports":[],"dynamicports":[],"children":[{"id":"11d7b5ab-4dbb-1a28-23f0-f9bd9d5ba2fa","type":"Text","parameters":{"text":"Your email is not yet verified","alignY":"center","textStyle":"Body Small"},"ports":[],"dynamicports":[],"children":[]},{"id":"44c0c689-7f35-cb73-f77f-1565bb33c162","type":"net.noodl.controls.button","parameters":{"label":"Resend email"},"ports":[],"dynamicports":[],"children":[]}]},{"id":"0b0f87dd-6a10-a676-ebb0-1a89f63a5143","type":"/#Global visual components/Header nav bar","parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"9fd9c0e7-5228-af8d-80a7-a02bf219b3af","type":"Group","label":"Main container","parameters":{"paddingTop":{"value":20,"unit":"px"},"paddingLeft":{"value":20,"unit":"px"},"paddingRight":{"value":20,"unit":"px"},"paddingBottom":{"value":20,"unit":"px"},"rowGap":{"value":50,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"df56925a-9df1-422c-58ae-12d9739c0b1e","type":"Text","parameters":{"text":"Welcome to the Noodl starter template!","textStyle":"Title Large","marginBottom":{"value":20,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"2a0fc192-dd4c-73d7-d98c-064958d405fa","type":"Group","parameters":{},"ports":[],"dynamicports":[],"children":[{"id":"908f6448-42b1-13a5-b94a-061b1f0be5d3","type":"/#Global visual components/Tab example/Tabs","parameters":{},"ports":[],"dynamicports":[],"children":[]}]},{"id":"9414abd2-3e8e-1e7a-80ab-4c434717608d","type":"Group","variant":"Page Container","parameters":{"maxWidth":{"value":100,"unit":"%"},"justifyContent":"flex-start"},"ports":[],"dynamicports":[],"children":[{"id":"37c821d9-21a4-0c0f-594f-2ad058fdb8d5","type":"/#Global visual components/Expandable cards example","parameters":{},"ports":[],"dynamicports":[],"children":[]}]}]}]},{"id":"bf402fbb-5498-7f7a-9149-5b45ad627a88","type":"PageInputs","x":-457.3852929671232,"y":-102.19587102814825,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"e268b984-e125-b4a6-c6bc-33d993b77383","type":"net.noodl.user.User","x":526.5,"y":-61.5,"parameters":{},"ports":[],"dynamicports":[{"type":{"name":"date"},"plug":"output","group":"Properties","name":"prop-createdAt","displayName":"createdAt","index":9},{"type":"signal","plug":"output","group":"Changed Events","displayName":"createdAt Changed","name":"changed-createdAt","index":10},{"type":{"name":"date"},"plug":"output","group":"Properties","name":"prop-updatedAt","displayName":"updatedAt","index":11},{"type":"signal","plug":"output","group":"Changed Events","displayName":"updatedAt Changed","name":"changed-updatedAt","index":12},{"type":{"name":"boolean"},"plug":"output","group":"Properties","name":"prop-emailVerified","displayName":"emailVerified","index":13},{"type":"signal","plug":"output","group":"Changed Events","displayName":"emailVerified Changed","name":"changed-emailVerified","index":14},{"type":{"name":"string"},"plug":"output","group":"Properties","name":"prop-name","displayName":"name","index":15},{"type":"signal","plug":"output","group":"Changed Events","displayName":"name Changed","name":"changed-name","index":16},{"type":{"name":"string"},"plug":"output","group":"Properties","name":"prop-profilePhoto","displayName":"profilePhoto","index":17},{"type":"signal","plug":"output","group":"Changed Events","displayName":"profilePhoto Changed","name":"changed-profilePhoto","index":18},{"plug":"output","name":"loggedIn","type":"signal","displayName":"Logged In","group":"Events","index":19},{"plug":"output","name":"loggedOut","type":"signal","displayName":"Logged Out","group":"Events","index":20},{"plug":"output","name":"sessionLost","type":"signal","displayName":"Session Lost","group":"Events","index":21}],"children":[]},{"id":"2126f86d-df30-2742-a678-abdbbbea502f","type":"Expression","x":301.9,"y":39.69999999999999,"parameters":{"expression":"Verified!==true"},"ports":[],"dynamicports":[{"group":"Parameters","name":"Verified","type":{"name":"*","editAsType":"string"},"plug":"input","index":7}],"children":[],"metadata":{"merge":{"soureCodePorts":["expression"]}}},{"id":"ab0a3278-c204-d2d0-8390-0e36d484e8c6","type":"CloudFunction2","x":302.9,"y":206.7,"parameters":{"function":"Sign Up/Send Verification Email"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","components":["/#__cloud__/Sign Up/Request Reset Password","/#__cloud__/Sign Up/Reset Password","/#__cloud__/Sign Up/Send Verification Email","/#__cloud__/Sign Up/Verify Email"],"ignoreSheetName":true,"allowEditOnly":true},"group":"General","displayName":"Function","name":"function","index":0}],"children":[]},{"id":"ff3bb0e7-4be0-80a7-0ee3-48d6f0a24568","type":"/Show Toast","x":555.9293853875693,"y":192.47769121423113,"parameters":{"Message":"Email sent successfully!","Type":"Success"},"ports":[],"dynamicports":[],"children":[]},{"id":"af19baa9-0349-ed4a-e841-75c30516b94f","type":"/Show Toast","x":549.8612947764402,"y":313.83950343681477,"parameters":{"Message":"Error sending email!","Type":"Error"},"ports":[],"dynamicports":[],"children":[]},{"id":"5a070616-196a-aee2-d5ed-b76ce0b0cd3f","type":"/Loading Spinner","x":302.3407803373253,"y":362.9889687811526,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"faddb52c-1822-529c-bb28-82942a02434f","type":"net.noodl.user.User","x":-159.06875749054393,"y":-135.8646767994365,"parameters":{},"ports":[],"dynamicports":[{"type":{"name":"date"},"plug":"output","group":"Properties","name":"prop-createdAt","displayName":"createdAt","index":9},{"type":"signal","plug":"output","group":"Changed Events","displayName":"createdAt Changed","name":"changed-createdAt","index":10},{"type":{"name":"date"},"plug":"output","group":"Properties","name":"prop-updatedAt","displayName":"updatedAt","index":11},{"type":"signal","plug":"output","group":"Changed Events","displayName":"updatedAt Changed","name":"changed-updatedAt","index":12},{"type":{"name":"boolean"},"plug":"output","group":"Properties","name":"prop-emailVerified","displayName":"emailVerified","index":13},{"type":"signal","plug":"output","group":"Changed Events","displayName":"emailVerified Changed","name":"changed-emailVerified","index":14},{"type":{"name":"string"},"plug":"output","group":"Properties","name":"prop-name","displayName":"name","index":15},{"type":"signal","plug":"output","group":"Changed Events","displayName":"name Changed","name":"changed-name","index":16},{"type":{"name":"string"},"plug":"output","group":"Properties","name":"prop-profilePhoto","displayName":"profilePhoto","index":17},{"type":"signal","plug":"output","group":"Changed Events","displayName":"profilePhoto Changed","name":"changed-profilePhoto","index":18},{"plug":"output","name":"loggedIn","type":"signal","displayName":"Logged In","group":"Events","index":19},{"plug":"output","name":"loggedOut","type":"signal","displayName":"Logged Out","group":"Events","index":20},{"plug":"output","name":"sessionLost","type":"signal","displayName":"Session Lost","group":"Events","index":21}],"children":[]},{"id":"2562d44e-4100-8b6e-6b03-203dd9490c50","type":"RouterNavigate","label":"Unauthenticated user redirect","x":129.92200497904275,"y":-138.8636504071684,"parameters":{"router":"Main","target":"/Log In"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]},{"id":"8dcdfae5-4bb8-d6ce-c6b0-eda2e3bf3459","type":"String Format","x":-246.39531488042297,"y":348.3593696532838,"parameters":{"format":"Hello! {name}\nHere are today’s tips."},"ports":[],"dynamicports":[{"name":"name","type":"string","plug":"input","index":2}],"children":[]}],"visualRoots":["68b43154-0fd0-e555-4250-eccb8f5e5de0"]},"metadata":{"isFolderComponent":false}},{"name":"/Popup Modal","id":"7b4eb1ac-a1ec-7e8f-c682-e441c85dbba4","graph":{"connections":[{"fromId":"69cec7a0-a96c-9748-8844-50bc2d1f5819","fromProperty":"Show popup","toId":"27fd9c2b-8eb5-700e-e46b-0aa1be0f7e8e","toProperty":"show"},{"fromId":"27fd9c2b-8eb5-700e-e46b-0aa1be0f7e8e","fromProperty":"Closed","toId":"bc136d3e-da94-6bbd-fba8-ae5590066bfd","toProperty":"Closed"},{"fromId":"27fd9c2b-8eb5-700e-e46b-0aa1be0f7e8e","fromProperty":"closeAction-Confirmed","toId":"bc136d3e-da94-6bbd-fba8-ae5590066bfd","toProperty":"Confirm Clicked"},{"fromId":"69cec7a0-a96c-9748-8844-50bc2d1f5819","fromProperty":"Title","toId":"b19d9f2a-0b8d-edf4-1c80-09e9dcee686d","toProperty":"value"},{"fromId":"b19d9f2a-0b8d-edf4-1c80-09e9dcee686d","fromProperty":"savedValue","toId":"27fd9c2b-8eb5-700e-e46b-0aa1be0f7e8e","toProperty":"popupParam-Title"},{"fromId":"69cec7a0-a96c-9748-8844-50bc2d1f5819","fromProperty":"Description","toId":"76081009-7e45-8cfb-2bdb-36ae9d4013fa","toProperty":"value"},{"fromId":"76081009-7e45-8cfb-2bdb-36ae9d4013fa","fromProperty":"savedValue","toId":"27fd9c2b-8eb5-700e-e46b-0aa1be0f7e8e","toProperty":"popupParam-Description"},{"fromId":"69cec7a0-a96c-9748-8844-50bc2d1f5819","fromProperty":"Primary Button Label","toId":"4239d23e-d6ba-8325-5110-24307b6f010b","toProperty":"value"},{"fromId":"4239d23e-d6ba-8325-5110-24307b6f010b","fromProperty":"savedValue","toId":"27fd9c2b-8eb5-700e-e46b-0aa1be0f7e8e","toProperty":"popupParam-Primary Button Label"},{"fromId":"69cec7a0-a96c-9748-8844-50bc2d1f5819","fromProperty":"Secondary Button Label","toId":"3839fc89-5998-d289-16cf-a092a1414530","toProperty":"value"},{"fromId":"3839fc89-5998-d289-16cf-a092a1414530","fromProperty":"savedValue","toId":"27fd9c2b-8eb5-700e-e46b-0aa1be0f7e8e","toProperty":"popupParam-Secondary Button Label"},{"fromId":"69cec7a0-a96c-9748-8844-50bc2d1f5819","fromProperty":"Component to show","toId":"27fd9c2b-8eb5-700e-e46b-0aa1be0f7e8e","toProperty":"target"}],"roots":[{"id":"27fd9c2b-8eb5-700e-e46b-0aa1be0f7e8e","type":"NavigationShowPopup","x":91.96418347009899,"y":135.4363398491261,"parameters":{"target":"/Popup Modal/Modal Component"},"ports":[],"dynamicports":[{"name":"popupParam-Title","displayName":"Title","type":{"name":"string","multiline":true},"plug":"input","group":"Params","index":3},{"name":"popupParam-Description","displayName":"Description","type":{"name":"string","multiline":true},"plug":"input","group":"Params","index":4},{"name":"popupParam-Primary Button Label","displayName":"Primary Button Label","type":"string","plug":"input","group":"Params","index":5},{"name":"popupParam-Secondary Button Label","displayName":"Secondary Button Label","type":"string","plug":"input","group":"Params","index":6},{"name":"closeAction-Confirmed","displayName":"Confirmed","type":"signal","plug":"output","group":"Close Actions","index":7}],"children":[]},{"id":"69cec7a0-a96c-9748-8844-50bc2d1f5819","type":"Component Inputs","x":-591.5947745170042,"y":133,"parameters":{},"ports":[{"name":"Show popup","plug":"output","type":{"name":"*"},"index":4,"group":"Action"},{"name":"Title","plug":"output","type":{"name":"*"},"group":"Text","index":0},{"name":"Description","plug":"output","type":{"name":"*"},"group":"Text","index":1},{"name":"Primary Button Label","plug":"output","type":{"name":"*"},"group":"Text","index":2},{"name":"Secondary Button Label","plug":"output","type":{"name":"*"},"group":"Text","index":3},{"name":"Component to show","plug":"output","type":{"name":"*"},"group":"General","index":5}],"dynamicports":[],"children":[]},{"id":"bc136d3e-da94-6bbd-fba8-ae5590066bfd","type":"Component Outputs","x":346.2378145694978,"y":169.59043267494678,"parameters":{},"ports":[{"name":"Closed","plug":"input","type":{"name":"*"},"index":1},{"name":"Confirm Clicked","plug":"input","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"b19d9f2a-0b8d-edf4-1c80-09e9dcee686d","type":"String","x":-200.74416819137218,"y":64.27295381410153,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"76081009-7e45-8cfb-2bdb-36ae9d4013fa","type":"String","x":-198.18050804049824,"y":162.97386962274555,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"4239d23e-d6ba-8325-5110-24307b6f010b","type":"String","x":-194.33501781418738,"y":271.92942603488507,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"3839fc89-5998-d289-16cf-a092a1414530","type":"String","x":-195.61684788962435,"y":369.34851176809235,"parameters":{},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":[]}},{"name":"/Popup Modal/Modal Component","id":"b182f74f-cb4f-0b14-b8e7-79e6c42a41be","graph":{"connections":[{"fromId":"23e36db9-8264-16ec-2023-2f2ef345feb2","fromProperty":"onClick","toId":"9310573e-acbe-a92f-ca71-474b31b09448","toProperty":"close"},{"fromId":"8b727487-7df8-2713-62f3-0253ed4875ff","fromProperty":"onClick","toId":"9310573e-acbe-a92f-ca71-474b31b09448","toProperty":"close"},{"fromId":"a493b113-45cb-1a37-9f27-63451f62fb21","fromProperty":"onClick","toId":"9310573e-acbe-a92f-ca71-474b31b09448","toProperty":"close"},{"fromId":"4bc23ad6-e763-38ae-fb21-4176fde92abd","fromProperty":"onClick","toId":"9310573e-acbe-a92f-ca71-474b31b09448","toProperty":"closeAction-Confirmed"},{"fromId":"9c251d3c-f4d1-82be-3e33-c424f52fbaec","fromProperty":"didMount","toId":"c8d33830-917c-09fc-8236-eb48cc98e604","toProperty":"to-show"},{"fromId":"c8d33830-917c-09fc-8236-eb48cc98e604","fromProperty":"size","toId":"4b912161-75f0-19d1-e4ea-92a49627cd36","toProperty":"transformScale"},{"fromId":"c8d33830-917c-09fc-8236-eb48cc98e604","fromProperty":"opacity","toId":"4b912161-75f0-19d1-e4ea-92a49627cd36","toProperty":"opacity"},{"fromId":"ad111c95-5867-9367-39b2-7dd0b4791260","fromProperty":"Title","toId":"dc6bd2fb-de8b-7831-5ba1-b9fa572fcf2d","toProperty":"text"},{"fromId":"ad111c95-5867-9367-39b2-7dd0b4791260","fromProperty":"Description","toId":"03ab0fe4-0566-93fb-ca16-07f596bed4c0","toProperty":"text"},{"fromId":"ad111c95-5867-9367-39b2-7dd0b4791260","fromProperty":"Secondary Button Label","toId":"a493b113-45cb-1a37-9f27-63451f62fb21","toProperty":"label"},{"fromId":"ad111c95-5867-9367-39b2-7dd0b4791260","fromProperty":"Primary Button Label","toId":"4bc23ad6-e763-38ae-fb21-4176fde92abd","toProperty":"label"},{"fromId":"c8d33830-917c-09fc-8236-eb48cc98e604","fromProperty":"opacity","toId":"23e36db9-8264-16ec-2023-2f2ef345feb2","toProperty":"opacity"}],"roots":[{"id":"9310573e-acbe-a92f-ca71-474b31b09448","type":"NavigationClosePopup","x":397,"y":349.3146799870558,"parameters":{"closeActions":"Confirmed"},"ports":[],"dynamicports":[{"type":"signal","plug":"input","group":"Close Actions","name":"closeAction-Confirmed","displayName":"Confirmed","index":3}],"children":[]},{"id":"9c251d3c-f4d1-82be-3e33-c424f52fbaec","type":"Group","x":-16,"y":-78,"parameters":{},"ports":[],"dynamicports":[],"children":[{"id":"23e36db9-8264-16ec-2023-2f2ef345feb2","type":"Group","label":"Dark BG Fullscreen","parameters":{"backgroundColor":"#000000A5"},"ports":[],"dynamicports":[],"children":[]},{"id":"4b912161-75f0-19d1-e4ea-92a49627cd36","type":"Group","label":"Modal","parameters":{"position":"absolute","alignY":"center","alignX":"center","width":{"value":420,"unit":"px"},"sizeMode":"contentHeight","backgroundColor":"Grey - 100","boxShadowEnabled":true,"blockTouch":true,"borderRadius":{"value":4,"unit":"px"},"paddingBottom":{"value":24,"unit":"px"},"paddingTop":{"value":24,"unit":"px"},"paddingRight":{"value":24,"unit":"px"},"paddingLeft":{"value":24,"unit":"px"},"boxShadowBlurRadius":{"value":8,"unit":"px"},"boxShadowSpreadRadius":{"value":0,"unit":"px"},"boxShadowOffsetY":{"value":4,"unit":"px"},"boxShadowColor":"#00000026"},"ports":[],"dynamicports":[],"children":[{"id":"8b727487-7df8-2713-62f3-0253ed4875ff","type":"net.noodl.controls.button","label":"Close icon","parameters":{"position":"absolute","alignX":"right","alignY":"top","backgroundColor":"#5836F500","useIcon":true,"useLabel":false,"iconColor":"Grey - 700","iconIconSource":{"class":"material-icons","code":"close"},"iconSize":{"value":24,"unit":"px"},"paddingLeft":{"value":4,"unit":"px"},"paddingRight":{"value":4,"unit":"px"},"iconSpacing":{"value":0,"unit":"px"},"minWidth":{"value":0,"unit":"px"},"sizeMode":"contentSize","paddingTop":{"value":4,"unit":"px"},"paddingBottom":{"value":4,"unit":"px"},"marginRight":{"value":12,"unit":"px"},"marginTop":{"value":12,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"dc6bd2fb-de8b-7831-5ba1-b9fa572fcf2d","type":"Text","label":"Title","parameters":{"textStyle":"Title Medium","text":"Modal Title","marginRight":{"value":24,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"03ab0fe4-0566-93fb-ca16-07f596bed4c0","type":"Text","label":"Description","parameters":{"marginTop":{"value":16,"unit":"px"},"text":"Modal description that tells you something you shoul react to."},"ports":[],"dynamicports":[],"children":[]},{"id":"efd45c40-6136-1605-8bdc-b75a0487e5fb","type":"Group","label":"Button section","parameters":{"flexDirection":"row","justifyContent":"flex-end","marginTop":{"value":24,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"a493b113-45cb-1a37-9f27-63451f62fb21","type":"net.noodl.controls.button","label":"Secondary Button","parameters":{"marginRight":{"value":16,"unit":"px"},"label":"Cancel","borderStyle":"solid","borderColor":"Primary","borderWidth":{"value":1,"unit":"px"},"backgroundColor":"transparent","color":"Primary Dark"},"stateParameters":{"hover":{"borderColor":"Primary Dark"}},"ports":[],"dynamicports":[],"children":[]},{"id":"4bc23ad6-e763-38ae-fb21-4176fde92abd","type":"net.noodl.controls.button","label":"Primary Button","parameters":{"label":"Confirm"},"ports":[],"dynamicports":[],"children":[]}]}]}]},{"id":"c8d33830-917c-09fc-8236-eb48cc98e604","type":"States","label":"Show animation","x":349.40031396109833,"y":-164.70626405198828,"parameters":{"states":"hide,show","values":"size,opacity","value-hide-size":0,"value-show-size":1,"value-hide-opacity":0,"value-show-opacity":1,"currentState":"hide","transitiondef-hide":{"curve":[0,0,0.58,1],"dur":150,"delay":0},"transitiondef-show":{"curve":[0,0,0.58,1],"dur":150,"delay":0}},"ports":[],"dynamicports":[{"type":{"name":"number","allowConnectionsOnly":true},"plug":"output","group":"Values","name":"size","index":6},{"type":{"name":"enum","enums":[{"label":"Number","value":"number"},{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Color","value":"color"},{"label":"Text Style","value":"textStyle"}],"allowEditOnly":true},"default":"number","plug":"input","group":"Types","displayName":"size","name":"type-size","index":7},{"type":{"name":"number","allowConnectionsOnly":true},"plug":"output","group":"Values","name":"opacity","index":8},{"type":{"name":"enum","enums":[{"label":"Number","value":"number"},{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Color","value":"color"},{"label":"Text Style","value":"textStyle"}],"allowEditOnly":true},"default":"number","plug":"input","group":"Types","displayName":"opacity","name":"type-opacity","index":9},{"plug":"input","type":"number","group":"hide Values","name":"value-hide-size","displayName":"size","editorName":"hide|size","index":10},{"plug":"input","type":"number","group":"hide Values","name":"value-hide-opacity","displayName":"opacity","editorName":"hide|opacity","index":11},{"plug":"input","type":"curve","displayName":"Default","default":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"group":"hide Transitions","name":"transitiondef-hide","index":12},{"plug":"input","type":{"name":"curve"},"default":{"curve":[0,0,0.58,1],"dur":150,"delay":0},"group":"hide Transitions","name":"transition-hide-size","displayName":"size","editorName":"Transition hide|size","index":13},{"plug":"input","type":{"name":"curve"},"default":{"curve":[0,0,0.58,1],"dur":150,"delay":0},"group":"hide Transitions","name":"transition-hide-opacity","displayName":"opacity","editorName":"Transition hide|opacity","index":14},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To hide","name":"to-hide","group":"Go to state","index":15},{"plug":"output","type":"boolean","displayName":"At hide","name":"at-hide","group":"Current state","index":16},{"plug":"output","type":"signal","displayName":"Has Reached hide","name":"reached-hide","group":"Current state","index":17},{"plug":"input","type":"number","group":"show Values","name":"value-show-size","displayName":"size","editorName":"show|size","index":18},{"plug":"input","type":"number","group":"show Values","name":"value-show-opacity","displayName":"opacity","editorName":"show|opacity","index":19},{"plug":"input","type":"curve","displayName":"Default","default":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"group":"show Transitions","name":"transitiondef-show","index":20},{"plug":"input","type":{"name":"curve"},"default":{"curve":[0,0,0.58,1],"dur":150,"delay":0},"group":"show Transitions","name":"transition-show-size","displayName":"size","editorName":"Transition show|size","index":21},{"plug":"input","type":{"name":"curve"},"default":{"curve":[0,0,0.58,1],"dur":150,"delay":0},"group":"show Transitions","name":"transition-show-opacity","displayName":"opacity","editorName":"Transition show|opacity","index":22},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To show","name":"to-show","group":"Go to state","index":23},{"plug":"output","type":"boolean","displayName":"At show","name":"at-show","group":"Current state","index":24},{"plug":"output","type":"signal","displayName":"Has Reached show","name":"reached-show","group":"Current state","index":25},{"plug":"input","type":{"name":"enum","enums":["hide","show"]},"group":"States","displayName":"State","name":"currentState","default":"hide","index":26}],"children":[]},{"id":"ad111c95-5867-9367-39b2-7dd0b4791260","type":"Component Inputs","x":-284.43267743823577,"y":453.2708708053495,"parameters":{},"ports":[{"name":"Title","plug":"output","type":{"name":"*"},"index":1},{"name":"Description","plug":"output","type":{"name":"*"},"index":2},{"name":"Primary Button Label","plug":"output","type":{"name":"*"},"index":3},{"name":"Secondary Button Label","plug":"output","type":{"name":"*"},"index":4}],"dynamicports":[],"children":[]}],"visualRoots":["9c251d3c-f4d1-82be-3e33-c424f52fbaec"]}},{"name":"/Profile Image Component","id":"f222b1f9-b2e4-d3aa-b4a1-844c287b2332","graph":{"connections":[{"fromId":"9bb4e651-42be-6e72-19c9-b5334db772b6","fromProperty":"Image source","toId":"32918824-d688-23a4-1140-0150597a5d60","toProperty":"condition"},{"fromId":"32918824-d688-23a4-1140-0150597a5d60","fromProperty":"ontrue","toId":"b4a3e6bb-1354-3c68-25fa-f75aae4a85d9","toProperty":"to-show image"},{"fromId":"32918824-d688-23a4-1140-0150597a5d60","fromProperty":"onfalse","toId":"b4a3e6bb-1354-3c68-25fa-f75aae4a85d9","toProperty":"to-show placeholder"},{"fromId":"b4a3e6bb-1354-3c68-25fa-f75aae4a85d9","fromProperty":"at-show image","toId":"fb46408f-958d-5345-07a0-edb790a257ac","toProperty":"mounted"},{"fromId":"b4a3e6bb-1354-3c68-25fa-f75aae4a85d9","fromProperty":"at-show placeholder","toId":"a0186433-6519-be6d-7f89-b39d1f14a9d6","toProperty":"mounted"},{"fromId":"b4a3e6bb-1354-3c68-25fa-f75aae4a85d9","fromProperty":"button text","toId":"130e9d67-c4e8-60b5-6e2a-8bc96e80b943","toProperty":"label"},{"fromId":"9bb4e651-42be-6e72-19c9-b5334db772b6","fromProperty":"Image source","toId":"fb46408f-958d-5345-07a0-edb790a257ac","toProperty":"src"},{"fromId":"13496cf5-0f98-177f-e172-bf2863601b0c","fromProperty":"file","toId":"16f373b1-8225-e39b-7619-01318d825ce6","toProperty":"file"},{"fromId":"13496cf5-0f98-177f-e172-bf2863601b0c","fromProperty":"success","toId":"16f373b1-8225-e39b-7619-01318d825ce6","toProperty":"upload"},{"fromId":"16f373b1-8225-e39b-7619-01318d825ce6","fromProperty":"success","toId":"48f29481-3b3c-0cb3-92c5-6b0516980f63","toProperty":"store"},{"fromId":"16f373b1-8225-e39b-7619-01318d825ce6","fromProperty":"cloudFile","toId":"48f29481-3b3c-0cb3-92c5-6b0516980f63","toProperty":"prop-profileImage"},{"fromId":"16f373b1-8225-e39b-7619-01318d825ce6","fromProperty":"failure","toId":"584e0365-7ede-3913-3c0e-23a01ccf869e","toProperty":"Do"},{"fromId":"16f373b1-8225-e39b-7619-01318d825ce6","fromProperty":"error","toId":"584e0365-7ede-3913-3c0e-23a01ccf869e","toProperty":"Message"},{"fromId":"130e9d67-c4e8-60b5-6e2a-8bc96e80b943","fromProperty":"onClick","toId":"13496cf5-0f98-177f-e172-bf2863601b0c","toProperty":"open"}],"roots":[{"id":"f9d2e312-9416-fea0-e8cb-6d87cbbed203","type":"Group","x":91,"y":-33,"parameters":{"sizeMode":"contentSize","alignX":"center"},"ports":[],"dynamicports":[],"children":[{"id":"a0186433-6519-be6d-7f89-b39d1f14a9d6","type":"Group","parameters":{"height":{"value":92,"unit":"px"},"width":{"value":92,"unit":"px"},"backgroundColor":"Grey - 400","borderRadius":{"value":100,"unit":"px"},"alignItems":"center","justifyContent":"center","clip":true,"alignX":"center"},"ports":[],"dynamicports":[],"children":[{"id":"65549886-b416-3d5a-bafc-94c3e7230e7e","type":"net.noodl.visual.icon","parameters":{"iconColor":"Grey - 600","iconIconSource":{"class":"material-icons","code":"person"},"iconSize":{"value":112,"unit":"px"},"marginBottom":{"value":-28,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]}]},{"id":"fb46408f-958d-5345-07a0-edb790a257ac","type":"Image","parameters":{"sizeMode":"explicit","width":{"value":92,"unit":"px"},"height":{"value":92,"unit":"px"},"borderStyle":"solid","marginTop":{"value":10,"unit":"px"},"borderWidth":{"value":1,"unit":"px"},"borderColor":"Grey - 500","borderRadius":{"value":100,"unit":"px"},"alignX":"center"},"ports":[],"dynamicports":[],"children":[]},{"id":"130e9d67-c4e8-60b5-6e2a-8bc96e80b943","type":"net.noodl.controls.button","variant":"Text button","parameters":{"textStyle":"Label Large","color":"Primary","minWidth":{"value":0,"unit":"px"},"paddingLeft":{"value":0,"unit":"px"},"paddingRight":{"value":0,"unit":"px"},"sizeMode":"contentHeight","backgroundColor":"transparent","label":"Add profile image","marginTop":{"value":8,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]}]},{"id":"9bb4e651-42be-6e72-19c9-b5334db772b6","type":"Component Inputs","x":-235,"y":-54,"parameters":{},"ports":[{"name":"Image source","plug":"output","type":{"name":"*"},"index":1}],"dynamicports":[],"children":[]},{"id":"b4a3e6bb-1354-3c68-25fa-f75aae4a85d9","type":"States","x":-235,"y":169,"parameters":{"useTransitions":false,"states":"show image,show placeholder","values":"button text","type-button text":"string","value-show placeholder-button text":"Add profile image","value-show image-button text":"change profile image","currentState":"show placeholder"},"ports":[],"dynamicports":[{"type":{"name":"string","allowConnectionsOnly":true},"plug":"output","group":"Values","name":"button text","index":6},{"type":{"name":"enum","enums":[{"label":"Number","value":"number"},{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Color","value":"color"},{"label":"Text Style","value":"textStyle"}],"allowEditOnly":true},"default":"number","plug":"input","group":"Types","displayName":"button text","name":"type-button text","index":7},{"plug":"input","type":"string","group":"show image Values","name":"value-show image-button text","displayName":"button text","editorName":"show image|button text","index":8},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To show image","name":"to-show image","group":"Go to state","index":9},{"plug":"output","type":"boolean","displayName":"At show image","name":"at-show image","group":"Current state","index":10},{"plug":"output","type":"signal","displayName":"Has Reached show image","name":"reached-show image","group":"Current state","index":11},{"plug":"input","type":"string","group":"show placeholder Values","name":"value-show placeholder-button text","displayName":"button text","editorName":"show placeholder|button text","index":12},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To show placeholder","name":"to-show placeholder","group":"Go to state","index":13},{"plug":"output","type":"boolean","displayName":"At show placeholder","name":"at-show placeholder","group":"Current state","index":14},{"plug":"output","type":"signal","displayName":"Has Reached show placeholder","name":"reached-show placeholder","group":"Current state","index":15},{"plug":"input","type":{"name":"enum","enums":["show image","show placeholder"]},"group":"States","displayName":"State","name":"currentState","default":"show image","index":16}],"children":[]},{"id":"32918824-d688-23a4-1140-0150597a5d60","type":"Condition","x":-234,"y":42,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"16f373b1-8225-e39b-7619-01318d825ce6","type":"Upload File","x":689.9599273379628,"y":59.577988171166055,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"13496cf5-0f98-177f-e172-bf2863601b0c","type":"Open File Picker","x":458.75061007277935,"y":62.84728578709979,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"48f29481-3b3c-0cb3-92c5-6b0516980f63","type":"net.noodl.user.SetUserProperties","x":925.908448258044,"y":-39.244279670046296,"parameters":{},"ports":[],"dynamicports":[{"type":{"name":"string"},"plug":"input","group":"Properties","name":"prop-name","displayName":"name","index":6},{"type":{"name":"string"},"plug":"input","group":"Properties","name":"prop-profilePhoto","displayName":"profilePhoto","index":7}],"children":[]},{"id":"584e0365-7ede-3913-3c0e-23a01ccf869e","type":"/Show Toast","x":924.1490914679794,"y":146.55534469777,"parameters":{"Type":"Error"},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":["f9d2e312-9416-fea0-e8cb-6d87cbbed203"]},"metadata":{"isFolderComponent":false}},{"name":"/Profile Page","id":"f5e3acdf-5dbd-f579-b0d8-20d95fcfa60a","graph":{"connections":[{"fromId":"174d1270-25f4-bfd8-6e25-c7c7bbc4cace","fromProperty":"prop-name","toId":"2e2aa0f1-4ef3-c714-8987-528b4c9fe7e7","toProperty":"startValue"},{"fromId":"2e2aa0f1-4ef3-c714-8987-528b4c9fe7e7","fromProperty":"onTextChanged","toId":"adb6d358-77dc-d5de-bf7c-c5b001eed4e7","toProperty":"prop-name"},{"fromId":"174d1270-25f4-bfd8-6e25-c7c7bbc4cace","fromProperty":"prop-profileImage","toId":"2f10368e-0bfb-e0b9-d50d-d4d47c236f02","toProperty":"Image source"},{"fromId":"cf1713fe-e3b2-1bc6-f51f-7ce643576eef","fromProperty":"success","toId":"7438a361-c340-0e33-5e17-b5210dcfc496","toProperty":"navigate"},{"fromId":"cf1713fe-e3b2-1bc6-f51f-7ce643576eef","fromProperty":"failure","toId":"e9972384-42ef-d8f8-8b46-581f5dc951b0","toProperty":"Do"},{"fromId":"cf1713fe-e3b2-1bc6-f51f-7ce643576eef","fromProperty":"error","toId":"e9972384-42ef-d8f8-8b46-581f5dc951b0","toProperty":"Message"},{"fromId":"74c8c9a5-b2db-e08f-1a35-9de291fc91f8","fromProperty":"onClick","toId":"cf1713fe-e3b2-1bc6-f51f-7ce643576eef","toProperty":"login"},{"fromId":"adb6d358-77dc-d5de-bf7c-c5b001eed4e7","fromProperty":"success","toId":"fd7d9d70-0bf7-8808-2215-4100de9a361b","toProperty":"Hide"},{"fromId":"adb6d358-77dc-d5de-bf7c-c5b001eed4e7","fromProperty":"failure","toId":"fd7d9d70-0bf7-8808-2215-4100de9a361b","toProperty":"Hide"},{"fromId":"1c775feb-9c07-43db-de5f-4379f9523ec5","fromProperty":"onClick","toId":"4f8b9f9b-dd3d-9586-e152-890cc73b6485","toProperty":"navigate"},{"fromId":"e4a14c22-ff01-acbc-690d-b860ab42ca23","fromProperty":"at-edit view","toId":"9380d2f7-8dcd-fffe-8250-c05fe91d9b73","toProperty":"mounted"},{"fromId":"e4a14c22-ff01-acbc-690d-b860ab42ca23","fromProperty":"at-default view","toId":"14d687f5-38db-e99b-fd68-60b14451efaa","toProperty":"mounted"},{"fromId":"92483ce4-7db2-6261-563f-7d30e667f9ed","fromProperty":"onClick","toId":"e4a14c22-ff01-acbc-690d-b860ab42ca23","toProperty":"to-edit view"},{"fromId":"3045996f-a5da-92e9-420f-c7c6f7850a3a","fromProperty":"onClick","toId":"e4a14c22-ff01-acbc-690d-b860ab42ca23","toProperty":"to-default view"},{"fromId":"e4a14c22-ff01-acbc-690d-b860ab42ca23","fromProperty":"at-edit view","toId":"2e2aa0f1-4ef3-c714-8987-528b4c9fe7e7","toProperty":"enabled"},{"fromId":"e4a14c22-ff01-acbc-690d-b860ab42ca23","fromProperty":"at-edit view","toId":"f49632e4-2f92-afa6-9843-35e64afbe7b8","toProperty":"enabled"},{"fromId":"86188291-deb8-cac2-0ee0-026ebd0a8b36","fromProperty":"onClick","toId":"b6f4ef94-3a4e-8e3c-ba02-d9d021d6f0f2","toProperty":"navigate"},{"fromId":"f49632e4-2f92-afa6-9843-35e64afbe7b8","fromProperty":"onTextChanged","toId":"adb6d358-77dc-d5de-bf7c-c5b001eed4e7","toProperty":"email"},{"fromId":"f5db85d2-b826-5671-c267-7b8a14879a16","fromProperty":"onClick","toId":"fd7d9d70-0bf7-8808-2215-4100de9a361b","toProperty":"Show"},{"fromId":"adb6d358-77dc-d5de-bf7c-c5b001eed4e7","fromProperty":"success","toId":"e4a14c22-ff01-acbc-690d-b860ab42ca23","toProperty":"to-default view"},{"fromId":"f49632e4-2f92-afa6-9843-35e64afbe7b8","fromProperty":"onTextChanged","toId":"adb6d358-77dc-d5de-bf7c-c5b001eed4e7","toProperty":"username"},{"fromId":"adb6d358-77dc-d5de-bf7c-c5b001eed4e7","fromProperty":"failure","toId":"2d0d5c6c-69e7-e1ff-223a-222a83647128","toProperty":"Do"},{"fromId":"adb6d358-77dc-d5de-bf7c-c5b001eed4e7","fromProperty":"error","toId":"2d0d5c6c-69e7-e1ff-223a-222a83647128","toProperty":"Message"},{"fromId":"f5db85d2-b826-5671-c267-7b8a14879a16","fromProperty":"onClick","toId":"adb6d358-77dc-d5de-bf7c-c5b001eed4e7","toProperty":"store"},{"fromId":"174d1270-25f4-bfd8-6e25-c7c7bbc4cace","fromProperty":"email","toId":"f49632e4-2f92-afa6-9843-35e64afbe7b8","toProperty":"startValue"},{"fromId":"4bb33e9e-024f-b7c7-e126-f102bcc24ec0","fromProperty":"didMount","toId":"f49632e4-2f92-afa6-9843-35e64afbe7b8","toProperty":"set"},{"fromId":"3045996f-a5da-92e9-420f-c7c6f7850a3a","fromProperty":"onClick","toId":"f49632e4-2f92-afa6-9843-35e64afbe7b8","toProperty":"set"}],"roots":[{"id":"4bb33e9e-024f-b7c7-e126-f102bcc24ec0","type":"Page","x":0,"y":0,"parameters":{},"ports":[],"dynamicports":[{"name":"title","displayName":"Title","type":"string","group":"General","plug":"input","default":"Profile Page","index":14},{"name":"urlPath","displayName":"Url Path","type":"string","group":"General","plug":"input","default":"profile-page","index":15}],"children":[{"id":"42ac0749-6675-f1bd-18d5-145e785ddbc4","type":"Group","variant":"Page Container","parameters":{"justifyContent":"flex-start","paddingTop":{"value":40,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"86188291-deb8-cac2-0ee0-026ebd0a8b36","type":"net.noodl.controls.button","parameters":{"position":"absolute","alignX":"left","useLabel":false,"useIcon":true,"iconIconSource":{"class":"material-icons","code":"arrow_back"},"iconSize":{"value":32,"unit":"px"},"iconColor":"Grey - 900","backgroundColor":"transparent","minWidth":{"value":0,"unit":"px"},"paddingLeft":{"value":0,"unit":"px"},"paddingRight":{"value":0,"unit":"px"}},"stateParameters":{"hover":{"iconColor":"Primary"}},"ports":[],"dynamicports":[],"children":[]},{"id":"2f10368e-0bfb-e0b9-d50d-d4d47c236f02","type":"/Profile Image Component","parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"2e2aa0f1-4ef3-c714-8987-528b4c9fe7e7","type":"net.noodl.controls.textinput","variant":"Text Input","parameters":{"label":"Name","enabled":false,"type":"text","marginTop":{"value":24,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"f49632e4-2f92-afa6-9843-35e64afbe7b8","type":"net.noodl.controls.textinput","variant":"Text Input","parameters":{"label":"Email","enabled":true,"marginTop":{"value":16,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"72fa0be2-967e-8ef8-0b4a-76ea548536b6","type":"Group","parameters":{"sizeMode":"contentHeight"},"ports":[],"dynamicports":[],"children":[{"id":"94b294fd-70dc-9623-ed49-9b6ff65e11af","type":"net.noodl.controls.textinput","variant":"Text Input","parameters":{"label":"Password","enabled":false,"marginTop":{"value":16,"unit":"px"},"type":"password","startValue":"12345678"},"ports":[],"dynamicports":[],"children":[]},{"id":"1c775feb-9c07-43db-de5f-4379f9523ec5","type":"net.noodl.controls.button","variant":"Text button","parameters":{"sizeMode":"contentWidth","height":{"value":48,"unit":"px"},"position":"absolute","alignX":"right","marginRight":{"value":16,"unit":"px"},"label":"Reset password","textStyle":"Label Medium"},"ports":[],"dynamicports":[],"children":[]}]},{"id":"9380d2f7-8dcd-fffe-8250-c05fe91d9b73","type":"Group","parameters":{"sizeMode":"contentHeight","marginTop":{"value":80,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"f5db85d2-b826-5671-c267-7b8a14879a16","type":"net.noodl.controls.button","variant":"Primary button","label":"Save button","parameters":{"label":"Save changes","sizeMode":"explicit"},"ports":[],"dynamicports":[],"children":[]},{"id":"3045996f-a5da-92e9-420f-c7c6f7850a3a","type":"net.noodl.controls.button","label":"Cancel button","parameters":{"label":"Cancel","sizeMode":"explicit","marginTop":{"value":16,"unit":"px"},"height":{"value":48,"unit":"px"},"textStyle":"Label Large","color":"Primary","backgroundColor":"transparent","borderStyle":"solid","borderColor":"Primary"},"ports":[],"dynamicports":[],"children":[]}]},{"id":"14d687f5-38db-e99b-fd68-60b14451efaa","type":"Group","parameters":{"sizeMode":"contentHeight","marginTop":{"value":80,"unit":"px"},"alignX":"center"},"ports":[],"dynamicports":[],"children":[{"id":"92483ce4-7db2-6261-563f-7d30e667f9ed","type":"net.noodl.controls.button","variant":"Primary button","label":"Edit button","parameters":{"label":"Edit Profile","sizeMode":"explicit"},"ports":[],"dynamicports":[],"children":[]},{"id":"74c8c9a5-b2db-e08f-1a35-9de291fc91f8","type":"net.noodl.controls.button","parameters":{"label":"Log out","sizeMode":"explicit","marginTop":{"value":16,"unit":"px"},"height":{"value":48,"unit":"px"},"textStyle":"Label Large","color":"Primary","backgroundColor":"transparent","borderStyle":"solid","borderColor":"Primary"},"ports":[],"dynamicports":[],"children":[]}]}]}]},{"id":"f8b0be72-5838-a4e0-0e06-37adfac65fc0","type":"PageInputs","x":-12.431417529161934,"y":-104.32482678445336,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"174d1270-25f4-bfd8-6e25-c7c7bbc4cace","type":"net.noodl.user.User","x":-374.3345021000536,"y":243.6077007711852,"parameters":{},"ports":[],"dynamicports":[{"type":{"name":"date"},"plug":"output","group":"Properties","name":"prop-createdAt","displayName":"createdAt","index":9},{"type":"signal","plug":"output","group":"Changed Events","displayName":"createdAt Changed","name":"changed-createdAt","index":10},{"type":{"name":"date"},"plug":"output","group":"Properties","name":"prop-updatedAt","displayName":"updatedAt","index":11},{"type":"signal","plug":"output","group":"Changed Events","displayName":"updatedAt Changed","name":"changed-updatedAt","index":12},{"type":{"name":"boolean"},"plug":"output","group":"Properties","name":"prop-emailVerified","displayName":"emailVerified","index":13},{"type":"signal","plug":"output","group":"Changed Events","displayName":"emailVerified Changed","name":"changed-emailVerified","index":14},{"type":{"name":"string"},"plug":"output","group":"Properties","name":"prop-name","displayName":"name","index":15},{"type":"signal","plug":"output","group":"Changed Events","displayName":"name Changed","name":"changed-name","index":16},{"type":{"name":"string"},"plug":"output","group":"Properties","name":"prop-profilePhoto","displayName":"profilePhoto","index":17},{"type":"signal","plug":"output","group":"Changed Events","displayName":"profilePhoto Changed","name":"changed-profilePhoto","index":18},{"plug":"output","name":"loggedIn","type":"signal","displayName":"Logged In","group":"Events","index":19},{"plug":"output","name":"loggedOut","type":"signal","displayName":"Logged Out","group":"Events","index":20},{"plug":"output","name":"sessionLost","type":"signal","displayName":"Session Lost","group":"Events","index":21}],"children":[]},{"id":"adb6d358-77dc-d5de-bf7c-c5b001eed4e7","type":"net.noodl.user.SetUserProperties","x":498.4279405859761,"y":441.53019095262425,"parameters":{},"ports":[],"dynamicports":[{"type":{"name":"string"},"plug":"input","group":"Properties","name":"prop-name","displayName":"name","index":6},{"type":{"name":"string"},"plug":"input","group":"Properties","name":"prop-profilePhoto","displayName":"profilePhoto","index":7}],"children":[]},{"id":"e4a14c22-ff01-acbc-690d-b860ab42ca23","type":"States","x":510.04271081089314,"y":639.2028224195751,"parameters":{"states":"default view,edit view","values":"text","type-text":"string","useTransitions":false,"currentState":"default view","value-default view-text":"Save","value-edit view-text":"Change"},"ports":[],"dynamicports":[{"type":{"name":"string","allowConnectionsOnly":true},"plug":"output","group":"Values","name":"text","index":6},{"type":{"name":"enum","enums":[{"label":"Number","value":"number"},{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Color","value":"color"},{"label":"Text Style","value":"textStyle"}],"allowEditOnly":true},"default":"number","plug":"input","group":"Types","displayName":"text","name":"type-text","index":7},{"plug":"input","type":"string","group":"default view Values","name":"value-default view-text","displayName":"text","editorName":"default view|text","index":8},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To default view","name":"to-default view","group":"Go to state","index":9},{"plug":"output","type":"boolean","displayName":"At default view","name":"at-default view","group":"Current state","index":10},{"plug":"output","type":"signal","displayName":"Has Reached default view","name":"reached-default view","group":"Current state","index":11},{"plug":"input","type":"string","group":"edit view Values","name":"value-edit view-text","displayName":"text","editorName":"edit view|text","index":12},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To edit view","name":"to-edit view","group":"Go to state","index":13},{"plug":"output","type":"boolean","displayName":"At edit view","name":"at-edit view","group":"Current state","index":14},{"plug":"output","type":"signal","displayName":"Has Reached edit view","name":"reached-edit view","group":"Current state","index":15},{"plug":"input","type":{"name":"enum","enums":["default view","edit view"]},"group":"States","displayName":"State","name":"currentState","default":"default view","index":16}],"children":[]},{"id":"cf1713fe-e3b2-1bc6-f51f-7ce643576eef","type":"net.noodl.user.LogOut","x":-302.8928552100231,"y":1093.2317309697892,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"7438a361-c340-0e33-5e17-b5210dcfc496","type":"RouterNavigate","x":-590.857897522256,"y":1039.3438053416862,"parameters":{"router":"Main","target":"/Log In"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]},{"id":"e9972384-42ef-d8f8-8b46-581f5dc951b0","type":"/Show Toast","x":-597.3623447478378,"y":1130.2499747976417,"parameters":{"Type":"Error"},"ports":[],"dynamicports":[],"children":[]},{"id":"fd7d9d70-0bf7-8808-2215-4100de9a361b","type":"/Loading Spinner","x":507.52846067768746,"y":258.0364396336135,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"4f8b9f9b-dd3d-9586-e152-890cc73b6485","type":"RouterNavigate","x":514.2777314955571,"y":855.676993226477,"parameters":{"router":"Main","target":"/Forgot Password"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]},{"id":"b6f4ef94-3a4e-8e3c-ba02-d9d021d6f0f2","type":"RouterNavigate","x":-420.8466458684524,"y":15.086969247724141,"parameters":{"router":"Main","target":"/Main"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]},{"id":"2d0d5c6c-69e7-e1ff-223a-222a83647128","type":"/Show Toast","x":782.5501073265754,"y":509.6947091432603,"parameters":{"Type":"Error"},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":["4bb33e9e-024f-b7c7-e126-f102bcc24ec0"]},"metadata":{"isFolderComponent":false}},{"name":"/Reset Password","id":"ef647443-20e1-5dad-9074-95c6a99c6ecf","graph":{"connections":[{"fromId":"c11243fa-47df-7ee7-fd9b-b78c21e61202","fromProperty":"pm-token","toId":"7d05ce3a-0c72-e9e0-dc9c-211d267c526e","toProperty":"in-Token"},{"fromId":"c11243fa-47df-7ee7-fd9b-b78c21e61202","fromProperty":"pm-email","toId":"7d05ce3a-0c72-e9e0-dc9c-211d267c526e","toProperty":"in-Email"},{"fromId":"1e2c9420-f1a8-5896-c557-5f0c09376665","fromProperty":"onTextChanged","toId":"7d05ce3a-0c72-e9e0-dc9c-211d267c526e","toProperty":"in-New Password"},{"fromId":"a28ce91f-d760-ec36-08fd-417ebeb9413b","fromProperty":"onClick","toId":"7d05ce3a-0c72-e9e0-dc9c-211d267c526e","toProperty":"call"},{"fromId":"a28ce91f-d760-ec36-08fd-417ebeb9413b","fromProperty":"onClick","toId":"392da51e-3d78-e9cf-f8eb-8ef94e05ba69","toProperty":"Show"},{"fromId":"7d05ce3a-0c72-e9e0-dc9c-211d267c526e","fromProperty":"success","toId":"392da51e-3d78-e9cf-f8eb-8ef94e05ba69","toProperty":"Hide"},{"fromId":"7d05ce3a-0c72-e9e0-dc9c-211d267c526e","fromProperty":"failure","toId":"392da51e-3d78-e9cf-f8eb-8ef94e05ba69","toProperty":"Hide"},{"fromId":"7d05ce3a-0c72-e9e0-dc9c-211d267c526e","fromProperty":"failure","toId":"bdbf403c-18d5-3e40-a3b3-5e8c73f0106f","toProperty":"Do"},{"fromId":"7d05ce3a-0c72-e9e0-dc9c-211d267c526e","fromProperty":"error","toId":"bdbf403c-18d5-3e40-a3b3-5e8c73f0106f","toProperty":"Message"},{"fromId":"7d05ce3a-0c72-e9e0-dc9c-211d267c526e","fromProperty":"success","toId":"d0931edd-de22-17bf-3b02-3fb526b238f5","toProperty":"Do"},{"fromId":"7d05ce3a-0c72-e9e0-dc9c-211d267c526e","fromProperty":"success","toId":"7a22758f-fca3-f15b-7e96-4978b9e7f0d0","toProperty":"navigate"},{"fromId":"85ae6a64-bdf5-3cc2-3e2d-e023fdb6e928","fromProperty":"onClick","toId":"8e49b4c4-cc3a-b4ef-dc11-3fe546b40ea2","toProperty":"navigate"}],"roots":[{"id":"9a7ef112-f542-9401-9c8e-ea8556be0f1f","type":"Page","x":-11,"y":-20,"parameters":{},"ports":[],"dynamicports":[{"name":"title","displayName":"Title","type":"string","group":"General","plug":"input","default":"Reset Password","index":14},{"name":"urlPath","displayName":"Url Path","type":"string","group":"General","plug":"input","default":"reset-password","index":15}],"children":[{"id":"9bc10d83-117c-7d8c-9b3f-428756881d4e","type":"Group","variant":"Page Container","parameters":{"alignX":"center"},"ports":[],"dynamicports":[],"children":[{"id":"eaa6c101-5da3-1b18-0128-e005aae9afa9","type":"Text","parameters":{"marginBottom":{"value":40,"unit":"px"},"textStyle":"Title Large","text":"Reset password"},"ports":[],"dynamicports":[],"children":[]},{"id":"1e2c9420-f1a8-5896-c557-5f0c09376665","type":"net.noodl.controls.textinput","variant":"Text Input","parameters":{"label":"New Password","marginBottom":{"value":24,"unit":"px"},"type":"password"},"ports":[],"dynamicports":[],"children":[]},{"id":"a28ce91f-d760-ec36-08fd-417ebeb9413b","type":"net.noodl.controls.button","variant":"Primary button","parameters":{"label":"Reset","marginTop":{"value":16,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"85ae6a64-bdf5-3cc2-3e2d-e023fdb6e928","type":"net.noodl.controls.button","variant":"Text button","parameters":{"marginTop":{"value":24,"unit":"px"},"alignX":"center","label":"Back to login"},"ports":[],"dynamicports":[],"children":[]}]}]},{"id":"c11243fa-47df-7ee7-fd9b-b78c21e61202","type":"PageInputs","x":653,"y":-35,"parameters":{"queryParams":"token,email"},"ports":[],"dynamicports":[{"name":"pm-token","displayName":"token","type":"*","plug":"output","group":"Parameters","index":2},{"name":"pm-email","displayName":"email","type":"*","plug":"output","group":"Parameters","index":3}],"children":[]},{"id":"7d05ce3a-0c72-e9e0-dc9c-211d267c526e","type":"CloudFunction2","x":326.5,"y":-20,"parameters":{"function":"Sign Up/Reset Password"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","components":["/#__cloud__/Sign Up/Request Reset Password","/#__cloud__/Sign Up/Reset Password","/#__cloud__/Sign Up/Send Verification Email","/#__cloud__/Sign Up/Verify Email"],"ignoreSheetName":true,"allowEditOnly":true},"group":"General","displayName":"Function","name":"function","index":0},{"name":"in-Token","displayName":"Token","type":"*","plug":"input","group":"Parameters","index":1},{"name":"in-Email","displayName":"Email","type":"*","plug":"input","group":"Parameters","index":2},{"name":"in-New Password","displayName":"New Password","type":"*","plug":"input","group":"Parameters","index":3}],"children":[]},{"id":"392da51e-3d78-e9cf-f8eb-8ef94e05ba69","type":"/Loading Spinner","x":329.5,"y":-213,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"bdbf403c-18d5-3e40-a3b3-5e8c73f0106f","type":"/Show Toast","x":653.5,"y":-207,"parameters":{"Type":"Error"},"ports":[],"dynamicports":[],"children":[]},{"id":"d0931edd-de22-17bf-3b02-3fb526b238f5","type":"/Show Toast","x":659.5,"y":96,"parameters":{"Message":"Password Changed!"},"ports":[],"dynamicports":[],"children":[]},{"id":"7a22758f-fca3-f15b-7e96-4978b9e7f0d0","type":"RouterNavigate","x":662.5,"y":202,"parameters":{"router":"Main","target":"/Log In"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]},{"id":"8e49b4c4-cc3a-b4ef-dc11-3fe546b40ea2","type":"RouterNavigate","x":393.7857142857143,"y":411.92857142857144,"parameters":{"router":"Main","target":"/Log In"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]}],"visualRoots":["9a7ef112-f542-9401-9c8e-ea8556be0f1f"]},"metadata":{"isFolderComponent":false}},{"name":"/Show Toast","id":"c38d4240-2d7e-19a9-d875-d8a236ec952e","graph":{"connections":[{"fromId":"897ac5e6-bdfb-064e-a1b7-12a279da669c","fromProperty":"Do","toId":"dd577206-be53-8910-6b08-f6e6ee074eac","toProperty":"show"},{"fromId":"897ac5e6-bdfb-064e-a1b7-12a279da669c","fromProperty":"Message","toId":"663c5ab0-fde7-5e1b-1d11-6193a9024e93","toProperty":"value"},{"fromId":"663c5ab0-fde7-5e1b-1d11-6193a9024e93","fromProperty":"savedValue","toId":"dd577206-be53-8910-6b08-f6e6ee074eac","toProperty":"popupParam-Message"},{"fromId":"897ac5e6-bdfb-064e-a1b7-12a279da669c","fromProperty":"Type","toId":"c46cb836-8e5a-56db-64cd-234b77b73664","toProperty":"currentState"},{"fromId":"c46cb836-8e5a-56db-64cd-234b77b73664","fromProperty":"currentState","toId":"dd577206-be53-8910-6b08-f6e6ee074eac","toProperty":"popupParam-Type"}],"roots":[{"id":"897ac5e6-bdfb-064e-a1b7-12a279da669c","type":"Component Inputs","x":-408,"y":16,"parameters":{},"ports":[{"name":"Do","plug":"output","type":"*","index":0},{"name":"Message","plug":"output","type":{"name":"*"},"index":1,"group":"General"},{"name":"Type","plug":"output","type":{"name":"*"},"group":"General","index":2}],"dynamicports":[],"children":[]},{"id":"df4dcba1-6557-d218-2091-476ce46c2584","type":"Component Outputs","x":330,"y":27,"parameters":{},"ports":[{"name":"Success","plug":"input","type":"*","index":0},{"name":"Failure","plug":"input","type":"*","index":1}],"dynamicports":[],"children":[]},{"id":"dd577206-be53-8910-6b08-f6e6ee074eac","type":"NavigationShowPopup","x":81.5,"y":-2.5,"parameters":{"target":"/Show Toast/Toast Component"},"ports":[],"dynamicports":[{"name":"popupParam-Message","displayName":"Message","type":"*","plug":"input","group":"Params","index":3},{"name":"popupParam-Type","displayName":"Type","type":"*","plug":"input","group":"Params","index":4}],"children":[]},{"id":"663c5ab0-fde7-5e1b-1d11-6193a9024e93","type":"String","x":-160.5,"y":-53.5,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"c46cb836-8e5a-56db-64cd-234b77b73664","type":"States","x":-158.75,"y":92.75,"parameters":{"states":"Warning,Normal,Error,Success","currentState":"Normal"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To Warning","name":"to-Warning","group":"Go to state","index":6},{"plug":"output","type":"boolean","displayName":"At Warning","name":"at-Warning","group":"Current state","index":7},{"plug":"output","type":"signal","displayName":"Has Reached Warning","name":"reached-Warning","group":"Current state","index":8},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To Normal","name":"to-Normal","group":"Go to state","index":9},{"plug":"output","type":"boolean","displayName":"At Normal","name":"at-Normal","group":"Current state","index":10},{"plug":"output","type":"signal","displayName":"Has Reached Normal","name":"reached-Normal","group":"Current state","index":11},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To Error","name":"to-Error","group":"Go to state","index":12},{"plug":"output","type":"boolean","displayName":"At Error","name":"at-Error","group":"Current state","index":13},{"plug":"output","type":"signal","displayName":"Has Reached Error","name":"reached-Error","group":"Current state","index":14},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To Success","name":"to-Success","group":"Go to state","index":15},{"plug":"output","type":"boolean","displayName":"At Success","name":"at-Success","group":"Current state","index":16},{"plug":"output","type":"signal","displayName":"Has Reached Success","name":"reached-Success","group":"Current state","index":17},{"plug":"input","type":{"name":"enum","enums":["Warning","Normal","Error","Success"]},"group":"States","displayName":"State","name":"currentState","default":"Warning","index":18}],"children":[]}],"visualRoots":[]},"metadata":{"isFolderComponent":true}},{"name":"/Show Toast/Error","id":"4292b4d2-7702-635e-7ef0-3c6a4df5c9fd","graph":{"connections":[{"fromId":"a40488b6-195b-b721-4248-8e7dd04d2933","fromProperty":"Message","toId":"b453d69b-f4f3-9dae-efbf-57c68fd2192c","toProperty":"text"}],"roots":[{"id":"a40488b6-195b-b721-4248-8e7dd04d2933","type":"Component Inputs","x":-301.5,"y":117.5,"parameters":{},"ports":[{"name":"Message","plug":"output","type":{"name":"*"},"index":1},{"name":"Mounted","plug":"output","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"4a35d2d3-459d-7bb2-5abb-77aeb0646223","type":"Group","x":15.5,"y":100,"parameters":{"sizeMode":"contentWidth","backgroundColor":"White","alignX":"center","alignY":"top","boxShadowEnabled":true,"borderRadius":{"value":4,"unit":"px"},"boxShadowBlurRadius":{"value":4,"unit":"px"},"boxShadowSpreadRadius":{"value":0,"unit":"px"},"boxShadowOffsetY":{"value":2,"unit":"px"},"maxWidth":{"value":380,"unit":"px"},"boxShadowColor":"#00000033","borderWidth":{"value":1,"unit":"px"},"borderColor":"Danger","flexDirection":"row","alignItems":"center","height":{"value":56,"unit":"px"},"borderStyle":"solid","paddingRight":{"value":16,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"4654a936-55b1-cb7b-00a2-a422a845ce82","type":"Group","parameters":{"width":{"value":56,"unit":"px"},"height":{"value":56,"unit":"px"},"backgroundColor":"#F75A4F3F","alignItems":"center","justifyContent":"center"},"ports":[],"dynamicports":[],"children":[{"id":"5e5acfbe-75b8-48d1-792d-b2dae823135e","type":"net.noodl.visual.icon","parameters":{"iconIconSource":{"class":"material-icons","code":"error"},"iconSize":{"value":24,"unit":"px"},"iconColor":"Danger"},"ports":[],"dynamicports":[],"children":[]}]},{"id":"b453d69b-f4f3-9dae-efbf-57c68fd2192c","type":"Text","parameters":{"text":"Some message","color":"Grey - 900","textStyle":"Label Large","marginLeft":{"value":16,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]}]}],"visualRoots":["4a35d2d3-459d-7bb2-5abb-77aeb0646223"]},"metadata":{"isFolderComponent":false}},{"name":"/Show Toast/Normal","id":"5f36124b-f955-5c82-2b3a-98824e0febb8","graph":{"connections":[{"fromId":"89e0f22e-3f12-d3ae-f2aa-75d89d7953b0","fromProperty":"Message","toId":"d4def1e3-ba24-1ea9-6648-7f0fe2d40758","toProperty":"text"}],"roots":[{"id":"4b4e6987-99c2-7964-6980-22617a019fa6","type":"Group","x":-26.5,"y":77.5,"parameters":{"sizeMode":"contentWidth","backgroundColor":"White","alignX":"center","alignY":"top","boxShadowEnabled":true,"borderRadius":{"value":4,"unit":"px"},"boxShadowBlurRadius":{"value":4,"unit":"px"},"boxShadowSpreadRadius":{"value":0,"unit":"px"},"boxShadowOffsetY":{"value":2,"unit":"px"},"maxWidth":{"value":380,"unit":"px"},"boxShadowColor":"#00000026","borderStyle":"solid","borderWidth":{"value":1,"unit":"px"},"borderColor":"Grey - 500","paddingLeft":{"value":24,"unit":"px"},"paddingRight":{"value":24,"unit":"px"},"height":{"value":56,"unit":"px"},"justifyContent":"center"},"ports":[],"dynamicports":[],"children":[{"id":"d4def1e3-ba24-1ea9-6648-7f0fe2d40758","type":"Text","parameters":{"text":"Some message","color":"Grey - 900","textStyle":"Label Medium"},"ports":[],"dynamicports":[],"children":[]}]},{"id":"89e0f22e-3f12-d3ae-f2aa-75d89d7953b0","type":"Component Inputs","x":-301.5,"y":117.5,"parameters":{},"ports":[{"name":"Message","plug":"output","type":{"name":"*"},"index":1},{"name":"Mounted","plug":"output","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]}],"visualRoots":["4b4e6987-99c2-7964-6980-22617a019fa6"]},"metadata":{"isFolderComponent":false}},{"name":"/Show Toast/Success","id":"bab4b141-b31f-3875-2eb8-7fa07e5e85c8","graph":{"connections":[{"fromId":"8218d7ce-dea8-c903-f571-7f61bc8ad4a7","fromProperty":"Message","toId":"0a6c6c37-546f-d47e-2e3c-4c89a2fe9429","toProperty":"text"}],"roots":[{"id":"a34bd3ea-0119-b3ff-9aa1-900c81342dad","type":"Group","x":-26.5,"y":77.5,"parameters":{"sizeMode":"contentWidth","backgroundColor":"White","alignX":"center","alignY":"top","boxShadowEnabled":true,"borderRadius":{"value":4,"unit":"px"},"boxShadowBlurRadius":{"value":4,"unit":"px"},"boxShadowSpreadRadius":{"value":0,"unit":"px"},"boxShadowOffsetY":{"value":2,"unit":"px"},"maxWidth":{"value":380,"unit":"px"},"boxShadowColor":"#00000019","borderWidth":{"value":1,"unit":"px"},"borderColor":"Success","flexDirection":"row","alignItems":"center","height":{"value":56,"unit":"px"},"borderStyle":"solid","paddingRight":{"value":16,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"598b30ca-aa8b-0c34-6328-b0ae0eb306b6","type":"Group","parameters":{"width":{"value":56,"unit":"px"},"height":{"value":56,"unit":"px"},"backgroundColor":"#49AD7F3F","alignItems":"center","justifyContent":"center"},"ports":[],"dynamicports":[],"children":[{"id":"7689ffe8-664b-8775-cd78-af37463f0997","type":"net.noodl.visual.icon","parameters":{"iconIconSource":{"class":"material-icons","code":"check_circle"},"iconSize":{"value":24,"unit":"px"},"iconColor":"Success"},"ports":[],"dynamicports":[],"children":[]}]},{"id":"0a6c6c37-546f-d47e-2e3c-4c89a2fe9429","type":"Text","parameters":{"text":"Some message","color":"Grey - 900","textStyle":"Label Large","marginLeft":{"value":16,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]}]},{"id":"8218d7ce-dea8-c903-f571-7f61bc8ad4a7","type":"Component Inputs","x":-301.5,"y":117.5,"parameters":{},"ports":[{"name":"Message","plug":"output","type":{"name":"*"},"index":1},{"name":"Mounted","plug":"output","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]}],"visualRoots":["a34bd3ea-0119-b3ff-9aa1-900c81342dad"]},"metadata":{"isFolderComponent":false}},{"name":"/Show Toast/Toast Component","id":"55e3a369-12be-8132-1112-0bcea3145684","graph":{"connections":[{"fromId":"4e5d7368-e70f-0653-c093-df87b3a15785","fromProperty":"didMount","toId":"9ec807ed-f8e5-9fd9-18c4-09d710e44eb7","toProperty":"run"},{"fromId":"4e5d7368-e70f-0653-c093-df87b3a15785","fromProperty":"this","toId":"9ec807ed-f8e5-9fd9-18c4-09d710e44eb7","toProperty":"in-This"},{"fromId":"493539f5-8fd2-7e7a-643f-4c17212ddc1a","fromProperty":"timerFinished","toId":"2d4cc9f2-30e0-5fd2-8e6f-ce8a1fe61732","toProperty":"to-No"},{"fromId":"2d4cc9f2-30e0-5fd2-8e6f-ce8a1fe61732","fromProperty":"reached-No","toId":"819f2808-04dd-536b-1406-dbdebc8bfe29","toProperty":"close"},{"fromId":"4e5d7368-e70f-0653-c093-df87b3a15785","fromProperty":"didMount","toId":"2d4cc9f2-30e0-5fd2-8e6f-ce8a1fe61732","toProperty":"to-Yes"},{"fromId":"2d4cc9f2-30e0-5fd2-8e6f-ce8a1fe61732","fromProperty":"Pos","toId":"9218af81-a954-0300-f352-471fbd92979d","toProperty":"transformY"},{"fromId":"4e5d7368-e70f-0653-c093-df87b3a15785","fromProperty":"didMount","toId":"493539f5-8fd2-7e7a-643f-4c17212ddc1a","toProperty":"start"},{"fromId":"470add79-f9f8-7a00-9905-684148bdbdd3","fromProperty":"Message","toId":"f2218333-bd81-83c4-9447-7216ec2738e2","toProperty":"in-Message"},{"fromId":"470add79-f9f8-7a00-9905-684148bdbdd3","fromProperty":"Type","toId":"f2218333-bd81-83c4-9447-7216ec2738e2","toProperty":"in-Type"},{"fromId":"f2218333-bd81-83c4-9447-7216ec2738e2","fromProperty":"out-ToastType","toId":"df674ca0-f2e4-4300-5f43-a10759feecb6","toProperty":"items"}],"roots":[{"id":"4e5d7368-e70f-0653-c093-df87b3a15785","type":"Group","x":-22,"y":-39,"parameters":{"position":"absolute","pointerEventsEnabled":false,"mounted":true},"ports":[],"dynamicports":[],"children":[{"id":"9218af81-a954-0300-f352-471fbd92979d","type":"Group","label":"Toast","parameters":{"sizeMode":"contentSize","marginTop":{"value":24,"unit":"px"},"alignX":"center","alignY":"top","minWidth":{"value":150,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"df674ca0-f2e4-4300-5f43-a10759feecb6","type":"For Each","parameters":{"templateType":"dynamic","templateScript":"component = '../' + item.Type;"},"ports":[],"dynamicports":[],"children":[],"metadata":{"merge":{"soureCodePorts":["templateScript"]}}}]}]},{"id":"9ec807ed-f8e5-9fd9-18c4-09d710e44eb7","type":"JavaScriptFunction","label":"Ensure click through","x":258.5,"y":-62.5,"parameters":{"functionScript":"// Make sure you can click through parent div\n// so it doesn't block like normal popups\nInputs.This.getDOMElement().style.pointerEvents = 'none'\nInputs.This.getDOMElement().parentElement.style.pointerEvents = 'none'"},"ports":[],"dynamicports":[{"name":"in-This","displayName":"This","plug":"input","type":"*","group":"Inputs","index":4}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}},{"id":"493539f5-8fd2-7e7a-643f-4c17212ddc1a","type":"Timer","x":-269.5,"y":-49.5,"parameters":{"duration":3000},"ports":[],"dynamicports":[],"children":[]},{"id":"819f2808-04dd-536b-1406-dbdebc8bfe29","type":"NavigationClosePopup","x":-778.5,"y":69.5,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"2d4cc9f2-30e0-5fd2-8e6f-ce8a1fe61732","type":"States","label":"Visible","x":-513.5,"y":5.5,"parameters":{"states":"Yes,No","values":"Pos","value-Yes-Pos":0,"value-No-Pos":-200,"currentState":"No"},"ports":[],"dynamicports":[{"type":{"name":"number","allowConnectionsOnly":true},"plug":"output","group":"Values","name":"Pos","index":6},{"type":{"name":"enum","enums":[{"label":"Number","value":"number"},{"label":"String","value":"string"},{"label":"Boolean","value":"boolean"},{"label":"Color","value":"color"},{"label":"Text Style","value":"textStyle"}],"allowEditOnly":true},"default":"number","plug":"input","group":"Types","displayName":"Pos","name":"type-Pos","index":7},{"plug":"input","type":"number","group":"Yes Values","name":"value-Yes-Pos","displayName":"Pos","editorName":"Yes|Pos","index":8},{"plug":"input","type":"curve","displayName":"Default","default":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"group":"Yes Transitions","name":"transitiondef-Yes","index":9},{"plug":"input","type":{"name":"curve"},"default":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"group":"Yes Transitions","name":"transition-Yes-Pos","displayName":"Pos","editorName":"Transition Yes|Pos","index":10},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To Yes","name":"to-Yes","group":"Go to state","index":11},{"plug":"output","type":"boolean","displayName":"At Yes","name":"at-Yes","group":"Current state","index":12},{"plug":"output","type":"signal","displayName":"Has Reached Yes","name":"reached-Yes","group":"Current state","index":13},{"plug":"input","type":"number","group":"No Values","name":"value-No-Pos","displayName":"Pos","editorName":"No|Pos","index":14},{"plug":"input","type":"curve","displayName":"Default","default":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"group":"No Transitions","name":"transitiondef-No","index":15},{"plug":"input","type":{"name":"curve"},"default":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"group":"No Transitions","name":"transition-No-Pos","displayName":"Pos","editorName":"Transition No|Pos","index":16},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To No","name":"to-No","group":"Go to state","index":17},{"plug":"output","type":"boolean","displayName":"At No","name":"at-No","group":"Current state","index":18},{"plug":"output","type":"signal","displayName":"Has Reached No","name":"reached-No","group":"Current state","index":19},{"plug":"input","type":{"name":"enum","enums":["Yes","No"]},"group":"States","displayName":"State","name":"currentState","default":"Yes","index":20}],"children":[]},{"id":"470add79-f9f8-7a00-9905-684148bdbdd3","type":"Component Inputs","x":542.5,"y":140.5,"parameters":{},"ports":[{"name":"Message","plug":"output","type":{"name":"*"},"index":1},{"name":"Type","plug":"output","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"f2218333-bd81-83c4-9447-7216ec2738e2","type":"JavaScriptFunction","x":279.91666666666663,"y":139.25,"parameters":{"functionScript":"Outputs.ToastType = [\n {\n Message:Inputs.Message,\n Type:Inputs.Type\n }\n]"},"ports":[],"dynamicports":[{"name":"in-Message","displayName":"Message","plug":"input","type":"*","group":"Inputs","index":4},{"name":"in-Type","displayName":"Type","plug":"input","type":"*","group":"Inputs","index":5},{"name":"out-ToastType","displayName":"ToastType","plug":"output","type":"*","group":"Outputs","index":6}],"children":[],"metadata":{"merge":{"soureCodePorts":["functionScript"]}}}],"visualRoots":["4e5d7368-e70f-0653-c093-df87b3a15785"]},"metadata":{"isFolderComponent":false}},{"name":"/Show Toast/Warning","id":"08648ebc-1850-ecfd-70fb-fae76fe15e76","graph":{"connections":[{"fromId":"ab4b7d83-2091-b8e0-8bb1-9124caeceb35","fromProperty":"Message","toId":"105a9f3f-3cba-f449-ff9e-91c5b74aa75b","toProperty":"text"}],"roots":[{"id":"ab4b7d83-2091-b8e0-8bb1-9124caeceb35","type":"Component Inputs","x":-301.5,"y":117.5,"parameters":{},"ports":[{"name":"Message","plug":"output","type":{"name":"*"},"index":1},{"name":"Mounted","plug":"output","type":{"name":"*"},"index":2}],"dynamicports":[],"children":[]},{"id":"65a8a9ac-71f9-517b-b8d5-21ceedb22c2b","type":"Group","x":-42.5,"y":-21,"parameters":{"sizeMode":"contentWidth","backgroundColor":"White","alignX":"center","alignY":"top","boxShadowEnabled":true,"borderRadius":{"value":4,"unit":"px"},"boxShadowBlurRadius":{"value":4,"unit":"px"},"boxShadowSpreadRadius":{"value":0,"unit":"px"},"boxShadowOffsetY":{"value":2,"unit":"px"},"maxWidth":{"value":380,"unit":"px"},"boxShadowColor":"#00000033","borderWidth":{"value":1,"unit":"px"},"borderColor":"Notice","flexDirection":"row","alignItems":"center","height":{"value":56,"unit":"px"},"borderStyle":"solid","paddingRight":{"value":16,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"31db56f5-766a-0396-452b-b9b715f68807","type":"Group","parameters":{"width":{"value":56,"unit":"px"},"height":{"value":56,"unit":"px"},"backgroundColor":"#F2C4413F","alignItems":"center","justifyContent":"center"},"ports":[],"dynamicports":[],"children":[{"id":"77b06961-c10a-62b6-c9da-2786003c43d8","type":"net.noodl.visual.icon","parameters":{"iconIconSource":{"class":"material-icons","code":"warning"},"iconSize":{"value":24,"unit":"px"},"iconColor":"Notice"},"ports":[],"dynamicports":[],"children":[]}]},{"id":"105a9f3f-3cba-f449-ff9e-91c5b74aa75b","type":"Text","parameters":{"text":"Some message","color":"Grey - 900","textStyle":"Label Large","marginLeft":{"value":16,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]}]}],"visualRoots":["65a8a9ac-71f9-517b-b8d5-21ceedb22c2b"]},"metadata":{"isFolderComponent":false}},{"name":"/Sign Up","id":"c714fef4-7e85-dd44-74a6-ec56d5221d1d","graph":{"connections":[{"fromId":"fcb34a2b-28bc-30ca-e9d5-cc470ad97d3d","fromProperty":"onClick","toId":"f33d87aa-686f-d715-2ed8-14c008d3b228","toProperty":"signup"},{"fromId":"f33d87aa-686f-d715-2ed8-14c008d3b228","fromProperty":"error","toId":"b956cf00-24cb-38c0-2741-e8ba53a57142","toProperty":"Message"},{"fromId":"f33d87aa-686f-d715-2ed8-14c008d3b228","fromProperty":"failure","toId":"b956cf00-24cb-38c0-2741-e8ba53a57142","toProperty":"Do"},{"fromId":"fcb34a2b-28bc-30ca-e9d5-cc470ad97d3d","fromProperty":"onClick","toId":"accc8b02-4728-10f8-2997-95650bf1b241","toProperty":"Show"},{"fromId":"f33d87aa-686f-d715-2ed8-14c008d3b228","fromProperty":"failure","toId":"accc8b02-4728-10f8-2997-95650bf1b241","toProperty":"Hide"},{"fromId":"b220e603-eadd-b457-2c5b-cb05b21585d6","fromProperty":"onTextChanged","toId":"f33d87aa-686f-d715-2ed8-14c008d3b228","toProperty":"username"},{"fromId":"1a058bb0-e8e5-b88d-dd79-6114d6883a21","fromProperty":"onTextChanged","toId":"f33d87aa-686f-d715-2ed8-14c008d3b228","toProperty":"password"},{"fromId":"b220e603-eadd-b457-2c5b-cb05b21585d6","fromProperty":"onTextChanged","toId":"f33d87aa-686f-d715-2ed8-14c008d3b228","toProperty":"email"},{"fromId":"f33d87aa-686f-d715-2ed8-14c008d3b228","fromProperty":"success","toId":"945e295b-a48a-8e99-15ab-685e2c2a3efb","toProperty":"call"},{"fromId":"945e295b-a48a-8e99-15ab-685e2c2a3efb","fromProperty":"success","toId":"accc8b02-4728-10f8-2997-95650bf1b241","toProperty":"Hide"},{"fromId":"945e295b-a48a-8e99-15ab-685e2c2a3efb","fromProperty":"failure","toId":"accc8b02-4728-10f8-2997-95650bf1b241","toProperty":"Hide"},{"fromId":"945e295b-a48a-8e99-15ab-685e2c2a3efb","fromProperty":"success","toId":"a78ca3af-5a48-75d2-8dff-8ef78398de72","toProperty":"navigate"},{"fromId":"945e295b-a48a-8e99-15ab-685e2c2a3efb","fromProperty":"failure","toId":"a78ca3af-5a48-75d2-8dff-8ef78398de72","toProperty":"navigate"},{"fromId":"6bf03380-86f8-4642-5fff-842dd6543199","fromProperty":"onTextChanged","toId":"f33d87aa-686f-d715-2ed8-14c008d3b228","toProperty":"prop-name"},{"fromId":"655428c1-4fbc-114d-cc77-49faefea75a8","fromProperty":"onClick","toId":"e77e50bd-3d97-50ea-1394-00f933e79b56","toProperty":"navigate"}],"roots":[{"id":"4e2875cb-6dd7-7a3c-8172-5cfef9e4c284","type":"Page","x":0,"y":0,"parameters":{},"ports":[],"dynamicports":[{"name":"title","displayName":"Title","type":"string","group":"General","plug":"input","default":"Sign Up","index":14},{"name":"urlPath","displayName":"Url Path","type":"string","group":"General","plug":"input","default":"sign-up","index":15}],"children":[{"id":"b5894839-6163-140d-40dd-99bd9e810fc6","type":"Group","variant":"Page Container","label":"Page container","parameters":{"alignX":"center"},"ports":[],"dynamicports":[],"children":[{"id":"56cd4962-38d8-e602-91c4-18ee69e8c4c7","type":"Text","parameters":{"marginBottom":{"value":40,"unit":"px"},"textStyle":"Title Large","text":"Create Account"},"ports":[],"dynamicports":[],"children":[]},{"id":"6bf03380-86f8-4642-5fff-842dd6543199","type":"net.noodl.controls.textinput","variant":"Text Input","parameters":{"label":"Full Name","marginBottom":{"value":24,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"b220e603-eadd-b457-2c5b-cb05b21585d6","type":"net.noodl.controls.textinput","variant":"Text Input","parameters":{"label":"Email","type":"email","marginBottom":{"value":24,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"1a058bb0-e8e5-b88d-dd79-6114d6883a21","type":"net.noodl.controls.textinput","variant":"Text Input","parameters":{"label":"Password","type":"password","marginBottom":{"value":24,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"fcb34a2b-28bc-30ca-e9d5-cc470ad97d3d","type":"net.noodl.controls.button","variant":"Primary button","parameters":{"label":"Sign Up","sizeMode":"explicit","marginTop":{"value":16,"unit":"px"}},"ports":[],"dynamicports":[],"children":[]},{"id":"12ec0f03-b779-637d-1986-043e91069d8f","type":"Group","parameters":{"flexDirection":"row","sizeMode":"contentHeight","alignItems":"center","justifyContent":"center","marginTop":{"value":80,"unit":"px"}},"ports":[],"dynamicports":[],"children":[{"id":"3f1f8bb9-5f36-9805-218d-9d8e0c112a35","type":"Text","parameters":{"text":"Already have an account?","sizeMode":"contentSize"},"ports":[],"dynamicports":[],"children":[]},{"id":"655428c1-4fbc-114d-cc77-49faefea75a8","type":"net.noodl.controls.button","variant":"Text button","parameters":{"label":"Log in","marginLeft":{"value":8,"unit":"px"}},"stateParameters":{"hover":{"backgroundColor":"tra"}},"stateTransitions":{},"defaultStateTransitions":{},"ports":[],"dynamicports":[],"children":[]}]}]}]},{"id":"f6c2e96b-a581-9653-d6b4-227b26367eaa","type":"PageInputs","x":-376,"y":19,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"f33d87aa-686f-d715-2ed8-14c008d3b228","type":"net.noodl.user.SignUp","x":429.5,"y":10.5,"parameters":{},"ports":[],"dynamicports":[{"type":{"name":"string"},"plug":"input","group":"Properties","name":"prop-name","displayName":"name","index":7},{"type":{"name":"string"},"plug":"input","group":"Properties","name":"prop-profilePhoto","displayName":"profilePhoto","index":8}],"children":[]},{"id":"a78ca3af-5a48-75d2-8dff-8ef78398de72","type":"RouterNavigate","x":1049.5,"y":200.5,"parameters":{"router":"Main","target":"/Main"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]},{"id":"b956cf00-24cb-38c0-2741-e8ba53a57142","type":"/Show Toast","x":780.5714285714286,"y":-20.928571428571445,"parameters":{"Type":"Error"},"ports":[],"dynamicports":[],"children":[]},{"id":"accc8b02-4728-10f8-2997-95650bf1b241","type":"/Loading Spinner","x":431.57142857142856,"y":284.07142857142856,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"945e295b-a48a-8e99-15ab-685e2c2a3efb","type":"CloudFunction2","x":796.0204081632653,"y":169.5204081632653,"parameters":{"function":"Sign Up/Send Verification Email"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","components":["/#__cloud__/Sign Up/Request Reset Password","/#__cloud__/Sign Up/Reset Password","/#__cloud__/Sign Up/Send Verification Email","/#__cloud__/Sign Up/Verify Email"],"ignoreSheetName":true,"allowEditOnly":true},"group":"General","displayName":"Function","name":"function","index":0}],"children":[]},{"id":"e77e50bd-3d97-50ea-1394-00f933e79b56","type":"RouterNavigate","x":403.4518950437317,"y":559.8804664723032,"parameters":{"router":"Main","target":"/Log In"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]}],"visualRoots":["4e2875cb-6dd7-7a3c-8172-5cfef9e4c284"]},"metadata":{"isFolderComponent":false}},{"name":"/Verify Email","id":"94e0b4f7-ed30-6df3-664a-fd92f52f786e","graph":{"connections":[{"fromId":"fe55f063-c820-1237-f281-6e12d782e031","fromProperty":"at-Failure","toId":"78d5b594-bb8d-380e-cb75-282d19da048c","toProperty":"mounted"},{"fromId":"8d50c4a9-2ef2-21df-3046-498b91194786","fromProperty":"pm-token","toId":"207cede3-f6f6-7308-caf7-01a7dff1d640","toProperty":"in-Token"},{"fromId":"8d50c4a9-2ef2-21df-3046-498b91194786","fromProperty":"pm-email","toId":"207cede3-f6f6-7308-caf7-01a7dff1d640","toProperty":"in-Email"},{"fromId":"dff0936b-3d26-31b7-b4bd-6797440cc448","fromProperty":"didMount","toId":"207cede3-f6f6-7308-caf7-01a7dff1d640","toProperty":"call"},{"fromId":"207cede3-f6f6-7308-caf7-01a7dff1d640","fromProperty":"failure","toId":"fe55f063-c820-1237-f281-6e12d782e031","toProperty":"to-Failure"},{"fromId":"fe55f063-c820-1237-f281-6e12d782e031","fromProperty":"at-Pending","toId":"176e81c4-3753-6f83-bb01-578a2905fcab","toProperty":"mounted"},{"fromId":"dff0936b-3d26-31b7-b4bd-6797440cc448","fromProperty":"didMount","toId":"04ca1589-bd67-c146-d56e-745bb12700c5","toProperty":"Show"},{"fromId":"207cede3-f6f6-7308-caf7-01a7dff1d640","fromProperty":"success","toId":"04ca1589-bd67-c146-d56e-745bb12700c5","toProperty":"Hide"},{"fromId":"207cede3-f6f6-7308-caf7-01a7dff1d640","fromProperty":"failure","toId":"04ca1589-bd67-c146-d56e-745bb12700c5","toProperty":"Hide"},{"fromId":"207cede3-f6f6-7308-caf7-01a7dff1d640","fromProperty":"failure","toId":"f80a9b84-27f9-6fd5-c8b5-fd63f635c2b6","toProperty":"Do"},{"fromId":"207cede3-f6f6-7308-caf7-01a7dff1d640","fromProperty":"error","toId":"f80a9b84-27f9-6fd5-c8b5-fd63f635c2b6","toProperty":"Message"},{"fromId":"207cede3-f6f6-7308-caf7-01a7dff1d640","fromProperty":"success","toId":"96cbbe13-f2a8-7182-c993-92eaac3f1263","toProperty":"navigate"},{"fromId":"207cede3-f6f6-7308-caf7-01a7dff1d640","fromProperty":"success","toId":"36dc41fa-c916-6eea-429d-d0b54af59c28","toProperty":"Do"}],"roots":[{"id":"dff0936b-3d26-31b7-b4bd-6797440cc448","type":"Page","x":265,"y":-44,"parameters":{},"ports":[],"dynamicports":[{"name":"title","displayName":"Title","type":"string","group":"General","plug":"input","default":"Verify Email","index":14},{"name":"urlPath","displayName":"Url Path","type":"string","group":"General","plug":"input","default":"verify-email","index":15}],"children":[{"id":"78d5b594-bb8d-380e-cb75-282d19da048c","type":"Text","parameters":{"text":"Could not verify email!","sizeMode":"contentSize","alignY":"center","alignX":"center","textStyle":"Title Large"},"ports":[],"dynamicports":[],"children":[]},{"id":"176e81c4-3753-6f83-bb01-578a2905fcab","type":"Text","parameters":{"text":"Trying to verify email...","sizeMode":"contentSize","alignY":"center","alignX":"center","textStyle":"Title Large"},"ports":[],"dynamicports":[],"children":[]}]},{"id":"8d50c4a9-2ef2-21df-3046-498b91194786","type":"PageInputs","x":-441,"y":14,"parameters":{"queryParams":"token,email"},"ports":[],"dynamicports":[{"name":"pm-token","displayName":"token","type":"*","plug":"output","group":"Parameters","index":2},{"name":"pm-email","displayName":"email","type":"*","plug":"output","group":"Parameters","index":3}],"children":[]},{"id":"fe55f063-c820-1237-f281-6e12d782e031","type":"States","x":64.5,"y":68.5,"parameters":{"states":"Failure,Pending","currentState":"Pending"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To Failure","name":"to-Failure","group":"Go to state","index":6},{"plug":"output","type":"boolean","displayName":"At Failure","name":"at-Failure","group":"Current state","index":7},{"plug":"output","type":"signal","displayName":"Has Reached Failure","name":"reached-Failure","group":"Current state","index":8},{"plug":"input","type":{"name":"signal","allowConnectionsOnly":true},"displayName":"To Pending","name":"to-Pending","group":"Go to state","index":9},{"plug":"output","type":"boolean","displayName":"At Pending","name":"at-Pending","group":"Current state","index":10},{"plug":"output","type":"signal","displayName":"Has Reached Pending","name":"reached-Pending","group":"Current state","index":11},{"plug":"input","type":{"name":"enum","enums":["Failure","Pending"]},"group":"States","displayName":"State","name":"currentState","default":"Failure","index":12}],"children":[]},{"id":"207cede3-f6f6-7308-caf7-01a7dff1d640","type":"CloudFunction2","x":-177.5,"y":-37.75,"parameters":{"function":"Sign Up/Verify Email"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","components":["/#__cloud__/Sign Up/Request Reset Password","/#__cloud__/Sign Up/Reset Password","/#__cloud__/Sign Up/Send Verification Email","/#__cloud__/Sign Up/Verify Email"],"ignoreSheetName":true,"allowEditOnly":true},"group":"General","displayName":"Function","name":"function","index":0},{"name":"in-Token","displayName":"Token","type":"*","plug":"input","group":"Parameters","index":1},{"name":"in-Email","displayName":"Email","type":"*","plug":"input","group":"Parameters","index":2}],"children":[]},{"id":"2dda403c-a452-4b6c-1a32-c5c8ed29fed2","type":"RouterNavigate","x":560.5,"y":179.25,"parameters":{"router":"Main","target":"/Log In"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]},{"id":"04ca1589-bd67-c146-d56e-745bb12700c5","type":"/Loading Spinner","x":-184.2,"y":-147.60000000000002,"parameters":{},"ports":[],"dynamicports":[],"children":[]},{"id":"f80a9b84-27f9-6fd5-c8b5-fd63f635c2b6","type":"/Show Toast","x":-170.2,"y":162.39999999999998,"parameters":{"Type":"Error"},"ports":[],"dynamicports":[],"children":[]},{"id":"96cbbe13-f2a8-7182-c993-92eaac3f1263","type":"RouterNavigate","x":-449.2,"y":-107.60000000000002,"parameters":{"router":"Main","target":"/Log In"},"ports":[],"dynamicports":[{"plug":"input","type":{"name":"component","title":"Choose page component","components":["/Sign Up","/Verify Email","/Main","/Log In","/Forgot Password","/Reset Password","/Profile Page","/Experiment"],"allowEditOnly":true},"group":"General","displayName":"Target Page","name":"target","index":3}],"children":[]},{"id":"36dc41fa-c916-6eea-429d-d0b54af59c28","type":"/Show Toast","x":-451.0125,"y":-197.72500000000002,"parameters":{"Type":"Success","Message":"Email verified!"},"ports":[],"dynamicports":[],"children":[]}],"visualRoots":["dff0936b-3d26-31b7-b4bd-6797440cc448"]},"metadata":{"isFolderComponent":false}}],"settings":{"navigationPathType":"path"},"rootNodeId":"246f9453-a119-ac78-171e-3806cf596ecc","version":"4","metadata":{"styles":{"text":{"Display":{"letterSpacing":"Auto","lineHeight":{"value":"120","unit":"%"},"textTransform":"none","fontSize":{"value":"40","unit":"px"},"fontFamily":"fonts/Roboto/Roboto-Regular.ttf","color":"#000000"},"Headline":{"fontFamily":"fonts/Roboto/Roboto-Regular.ttf","fontSize":{"value":"32","unit":"px"},"color":"#000000","letterSpacing":"Auto","lineHeight":{"value":"120","unit":"%"},"textTransform":"none"},"Title Large":{"fontFamily":"fonts/Roboto/Roboto-Bold.ttf","fontSize":{"value":"24","unit":"px"},"color":"#000000","letterSpacing":"Auto","lineHeight":{"value":"120%","unit":"px"},"textTransform":"none"},"Title Medium":{"fontFamily":"fonts/Roboto/Roboto-Medium.ttf","fontSize":{"value":"20","unit":"px"},"color":"#000000","letterSpacing":"Auto","lineHeight":{"value":"120","unit":"%"},"textTransform":"none"},"Title Small":{"fontFamily":"fonts/Roboto/Roboto-Bold.ttf","fontSize":{"value":"16","unit":"px"},"color":"#000000","letterSpacing":"Auto","lineHeight":{"value":"120","unit":"%"},"textTransform":"none"},"Label Large":{"fontFamily":"fonts/Roboto/Roboto-Medium.ttf","fontSize":{"value":"16","unit":"px"},"color":"#000000","letterSpacing":"Auto","lineHeight":{"value":"120","unit":"%"},"textTransform":"none"},"Label Medium":{"fontFamily":"fonts/Roboto/Roboto-Medium.ttf","fontSize":{"value":"14","unit":"px"},"color":"#000000","letterSpacing":"Auto","lineHeight":{"value":"120","unit":"%"},"textTransform":"none"},"Label Small":{"fontFamily":"fonts/Roboto/Roboto-Medium.ttf","fontSize":{"value":"12","unit":"px"},"color":"#000000","letterSpacing":"Auto","lineHeight":{"value":"120","unit":"%"},"textTransform":"none"},"Body Large":{"fontFamily":"fonts/Roboto/Roboto-Regular.ttf","fontSize":{"value":"20","unit":"px"},"color":"#000000","letterSpacing":"Auto","lineHeight":{"value":"150","unit":"%"},"textTransform":"none"},"Body Medium":{"fontFamily":"fonts/Roboto/Roboto-Regular.ttf","fontSize":{"value":"16","unit":"px"},"color":"#000000","letterSpacing":"Auto","lineHeight":{"value":"150","unit":"%"},"textTransform":"none"},"Body Small":{"letterSpacing":"Auto","lineHeight":{"value":"150","unit":"%"},"textTransform":"none","fontFamily":"fonts/Roboto/Roboto-Regular.ttf","fontSize":{"value":"14","unit":"px"},"color":"#000000"}},"colors":{"Primary":"#5836F5","Primary Dark":"#3F22B8","Primary Subtle":"#C9BFFC","Primary Light":"#F7F5FF","Grey - 900":"#1F1F1F","Grey - 800":"#383838","Grey - 700":"#4C4C4C","Grey - 600":"#757575","Grey - 500":"#A5A5A5","Grey - 400":"#CECECE","Grey - 300":"#E9E9E9","Grey - 200":"#F4F4F4","Grey - 100":"#FBFBFB","Success":"#49AD7F","Notice":"#F2C441","Danger":"#F75A4F","White":"#FFFFFF","Black":"#000000"}},"cloudservices":{"instanceId":"http://localhost:3000-lepetitpicnic","endpoint":"http://localhost:3000","appId":"lepetitpicnic"},"dbCollections":[{"name":"Order","schema":{"properties":{"createdAt":{"type":"Date"},"updatedAt":{"type":"Date"},"customerEmail":{"type":"String","required":true},"orderNumber":{"type":"String","required":true},"pickupDateTime":{"type":"Date","required":true},"pickupLocation":{"type":"String","required":false,"defaultValue":""},"totalPrice":{"type":"Number","required":true},"depositAmount":{"type":"Number","required":false},"payment":{"type":"Pointer","targetClass":"Payment","required":false},"basketsPurchased":{"type":"Array","required":false,"defaultValue":[]}}}},{"name":"Payment","schema":{"properties":{"createdAt":{"type":"Date"},"updatedAt":{"type":"Date"}}}},{"name":"Basket","schema":{"properties":{"createdAt":{"type":"Date"},"updatedAt":{"type":"Date"},"basketSize":{"type":"Number","required":false},"basketPrice":{"type":"Number","required":false},"name":{"type":"String","required":true},"basketDeposit":{"type":"Number","required":true,"defaultValue":0},"maxPerDay":{"type":"Number","required":true,"defaultValue":0},"priceId":{"type":"String","required":true}}}},{"name":"Upload","schema":{"properties":{"createdAt":{"type":"Date"},"updatedAt":{"type":"Date"},"fileName":{"type":"String","required":true},"fileNameHex":{"type":"String","required":true},"file":{"type":"File","required":true},"belongsToBasket":{"type":"Pointer","targetClass":"Upload","required":false}}}}],"systemCollections":[{"name":"_User","schema":{"properties":{"createdAt":{"type":"Date"},"updatedAt":{"type":"Date"},"username":{"type":"String"},"password":{"type":"String"},"email":{"type":"String"},"emailVerified":{"type":"Boolean"},"authData":{"type":"Object"},"name":{"type":"String","required":false},"profilePhoto":{"type":"String","required":false}}}},{"name":"_Role","schema":{"properties":{"createdAt":{"type":"Date"},"updatedAt":{"type":"Date"},"name":{"type":"String"},"users":{"type":"Relation","targetClass":"_User"},"roles":{"type":"Relation","targetClass":"_Role"}}}},{"name":"_Session","schema":{"properties":{"createdAt":{"type":"Date"},"updatedAt":{"type":"Date"},"restricted":{"type":"Boolean"},"user":{"type":"Pointer","targetClass":"_User"},"installationId":{"type":"String"},"sessionToken":{"type":"String"},"expiresAt":{"type":"Date"},"createdWith":{"type":"Object"}}}}],"dbConfigSchema":{"BrevoKey":{"masterKeyOnly":false,"type":"string"},"StripeTestKey":{"masterKeyOnly":false,"type":"string"},"StripeSuccessUrl":{"masterKeyOnly":false,"type":"string"},"StripeFailureUrl":{"masterKeyOnly":false,"type":"string"}}},"variants":[{"typename":"Text","parameters":{"textStyle":"Body Medium"},"stateParamaters":{},"stateTransitions":{}},{"typename":"net.noodl.controls.button","parameters":{"height":{"value":40,"unit":"px"},"sizeMode":"contentWidth","backgroundColor":"Primary","iconIconSource":{"class":"material-icons","code":"home"},"iconSpacing":{"value":8,"unit":"px"},"borderRadius":{"value":4,"unit":"px"},"textStyle":"Label Medium","paddingTop":{"value":0,"unit":"px"},"paddingLeft":{"value":24,"unit":"px"},"paddingRight":{"value":24,"unit":"px"},"paddingBottom":{"value":0,"unit":"px"},"color":"#FFFFFF","minWidth":{"value":80,"unit":"px"},"useIcon":false,"iconSize":{"value":20,"unit":"px"}},"stateParamaters":{"hover":{"backgroundColor":"Primary Dark"},"pressed":{"backgroundColor":"Primary","color":"White"},"disabled":{"backgroundColor":"Grey - 300","color":"Grey - 600"}},"stateTransitions":{},"defaultStateTransitions":{"neutral":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"hover":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"pressed":{"curve":[0,0,0.58,1],"dur":0,"delay":0}}},{"typename":"net.noodl.controls.textinput","parameters":{"useLabel":true,"sizeMode":"explicit","height":{"value":40,"unit":"px"},"textStyle":"Body Medium","borderStyle":"solid","borderRadius":{"value":4,"unit":"px"},"borderWidth":{"value":1,"unit":"px"},"borderColor":"Grey - 700","labeltextStyle":"Label Small","paddingLeft":{"value":12,"unit":"px"},"paddingRight":{"value":8,"unit":"px"},"labelSpacing":{"value":4,"unit":"px"},"placeholder":"Type here","color":"Grey - 900","placeHolderOpacity":0.65,"enabled":true,"blockTouch":false,"useIcon":false,"iconIconSource":{"class":"material-icons","code":"home"},"iconSize":{"value":20,"unit":"px"},"iconSpacing":{"value":4,"unit":"px"},"iconColor":"Grey - 700","labelcolor":"Grey - 700"},"stateParamaters":{"hover":{"labelcolor":"Grey - 700","borderColor":"Grey - 700","borderStyle":"solid","color":"Grey - 900"},"focused":{"borderColor":"Primary","labelcolor":"Primary","borderWidth":{"value":1,"unit":"px"},"boxShadowEnabled":false,"boxShadowColor":"Primary","borderStyle":"solid"},"disabled":{"labelcolor":"Grey - 500","backgroundColor":"Grey - 200","borderWidth":{"value":1,"unit":"px"},"borderColor":"Grey - 500","color":"Grey - 600"}},"stateTransitions":{},"defaultStateTransitions":{"neutral":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"focused":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"hover":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"disabled":{"curve":[0,0,0.58,1],"dur":0,"delay":0}}},{"typename":"net.noodl.controls.options","parameters":{"sizeMode":"explicit","height":{"value":40,"unit":"px"},"borderWidth":{"value":1,"unit":"px"},"borderRadius":{"value":4,"unit":"px"},"borderColor":"Grey - 700","boxShadowColor":"Dark Gray","useIcon":true,"iconIconSource":{"class":"material-icons","code":"expand_more"},"iconPlacement":"right","iconSize":{"value":20,"unit":"px"},"paddingRight":{"value":12,"unit":"px"},"textStyle":"Body Medium","paddingLeft":{"value":12,"unit":"px"},"marginTop":{"value":0,"unit":"px"},"width":{"value":100,"unit":"%"},"iconColor":"Grey - 700","placeholderOpacity":0.65,"placeholder":"Select option","useLabel":true,"labelSpacing":{"value":4,"unit":"px"},"labeltextStyle":"Label Small","labelcolor":"Grey - 700","items":"[\n {\"Label\":\"Option 1\", \"Value\":\"1\"},\n {\"Label\":\"Option 2\", \"Value\":\"2\"},\n {\"Label\":\"Option 3\", \"Value\":\"3\"}\n]"},"stateParamaters":{"hover":{"borderColor":"Grey - 700","borderRadius":{"value":4,"unit":"px"},"iconColor":"Grey - 900","iconSize":{"value":20,"unit":"px"},"iconPlacement":"right","color":"Grey - 900","labelcolor":"Grey - 700"},"focused":{"borderColor":"Primary","boxShadowColor":"Primary","borderRadius":{"value":4,"unit":"px"},"useIcon":true,"iconColor":"Primary","iconIconSource":{"class":"material-icons","code":"keyboard_arrow_up"},"iconPlacement":"right","color":"Grey - 900","labelcolor":"Primary"},"pressed":{"borderRadius":{"value":4,"unit":"px"}},"disabled":{"labelcolor":"Grey - 500","iconColor":"Grey - 500","borderColor":"Grey - 500","color":"Grey - 600","backgroundColor":"Grey - 200"}},"stateTransitions":{},"defaultStateTransitions":{"neutral":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"focused":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"hover":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"pressed":{"curve":[0,0,0.58,1],"dur":0,"delay":0}}},{"typename":"net.noodl.controls.range","parameters":{"thumbColor":"Primary","thumbBorderRadius":{"value":100,"unit":"%"},"trackHeight":{"value":4,"unit":"px"},"trackActiveColor":"Primary","trackColor":"Primary Subtle","width":{"value":100,"unit":"%"},"trackBorderRadius":{"value":100,"unit":"px"},"thumbHeight":{"value":16,"unit":"px"},"thumbWidth":{"value":16,"unit":"px"}},"stateParamaters":{"hover":{"thumbColor":"Primary Dark","trackActiveColor":"Primary Dark"},"disabled":{"trackActiveColor":"Grey - 500","trackColor":"Grey - 300","thumbColor":"Grey - 500"}},"stateTransitions":{}},{"typename":"net.noodl.controls.checkbox","parameters":{"width":{"value":20,"unit":"px"},"height":{"value":20,"unit":"px"},"useIcon":false,"borderWidth":{"value":1,"unit":"px"},"useLabel":true,"labeltextStyle":"Body Medium","borderRadius":{"value":2,"unit":"px"},"borderColor":"Grey - 700","labelfontSize":{"value":16,"unit":"px"},"labelcolor":"Grey - 900","labelSpacing":{"value":12,"unit":"px"}},"stateParamaters":{"checked":{"useIcon":true,"iconIconSource":{"class":"material-icons","code":"check"},"backgroundColor":"Primary","borderColor":"Primary","iconSize":{"value":16,"unit":"px"}},"disabled":{"opacity":0.5},"hover":{"borderColor":"Grey - 700"},"pressed":{}},"stateTransitions":{},"defaultStateTransitions":{"neutral":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"hover":{"curve":[0,0,0.58,1],"dur":300,"delay":0},"checked":{"curve":[0,0,0.58,1],"dur":0,"delay":0}}},{"typename":"net.noodl.controls.radiobutton","parameters":{"width":{"value":20,"unit":"px"},"height":{"value":20,"unit":"px"},"useLabel":true,"labeltextStyle":"Body Large","borderWidth":{"value":1,"unit":"px"},"value":"0","useIcon":false,"fillColor":"transparent","borderColor":"Grey - 700","labelfontSize":{"value":16,"unit":"px"},"marginBottom":{"value":8,"unit":"px"},"labelcolor":"Grey - 900","labelSpacing":{"value":12,"unit":"px"}},"stateParamaters":{"checked":{"fillColor":"Primary","borderColor":"Primary","borderWidth":{"value":1,"unit":"px"},"backgroundColor":"transparent","width":{"value":20,"unit":"px"},"height":{"value":20,"unit":"px"},"fillSpacing":{"value":2,"unit":"px"}},"hover":{"backgroundColor":"transparent","borderColor":"Grey - 700","width":{"value":20,"unit":"px"},"height":{"value":20,"unit":"px"}},"disabled":{"borderColor":"Grey - 500","labelcolor":"Grey - 500","fillColor":"transparent"}},"stateTransitions":{},"defaultStateTransitions":{"neutral":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"hover":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"checked":{"curve":[0,0,0.58,1],"dur":0,"delay":0}}},{"name":"Page Container","typename":"Group","parameters":{"alignX":"center","maxWidth":{"value":400,"unit":"px"},"justifyContent":"center"},"stateParamaters":{},"stateTransitions":{}},{"name":"Text button","typename":"net.noodl.controls.button","parameters":{"height":{"value":40,"unit":"px"},"sizeMode":"contentSize","backgroundColor":"transparent","iconIconSource":{"class":"material-icons","code":"home"},"iconSpacing":{"value":8,"unit":"px"},"borderRadius":{"value":4,"unit":"px"},"textStyle":"Body Medium","paddingTop":{"value":0,"unit":"px"},"paddingLeft":{"value":0,"unit":"px"},"paddingBottom":{"value":0,"unit":"px"},"color":"Primary","useIcon":false,"iconSize":{"value":20,"unit":"px"},"label":"Sign up","marginTop":{"value":0,"unit":"px"},"alignY":"bottom","fontFamily":"fonts/Roboto/Roboto-Medium.ttf","minWidth":{"value":0,"unit":"%"},"paddingRight":{"value":0,"unit":"px"}},"stateParamaters":{"hover":{"backgroundColor":"transparent","color":"Primary Dark"},"pressed":{"backgroundColor":"Primary","color":"White"},"disabled":{"backgroundColor":"Grey - 300","color":"Grey - 600"}},"stateTransitions":{},"defaultStateTransitions":{"neutral":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"hover":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"pressed":{"curve":[0,0,0.58,1],"dur":0,"delay":0}}},{"name":"Text Input","typename":"net.noodl.controls.textinput","parameters":{"useLabel":true,"sizeMode":"explicit","height":{"value":48,"unit":"px"},"textStyle":"Body Medium","borderStyle":"solid","borderRadius":{"value":4,"unit":"px"},"borderWidth":{"value":1,"unit":"px"},"borderColor":"Grey - 700","labeltextStyle":"Label Small","paddingLeft":{"value":12,"unit":"px"},"paddingRight":{"value":8,"unit":"px"},"labelSpacing":{"value":4,"unit":"px"},"placeholder":"Type here","color":"Grey - 900","placeHolderOpacity":0.65,"enabled":true,"blockTouch":false,"useIcon":false,"iconIconSource":{"class":"material-icons","code":"home"},"iconSize":{"value":20,"unit":"px"},"iconSpacing":{"value":4,"unit":"px"},"iconColor":"Grey - 700","labelcolor":"Grey - 700","label":"Email","type":"email","marginTop":{"value":0,"unit":"px"}},"stateParamaters":{"hover":{"labelcolor":"Grey - 700","borderColor":"Grey - 700","borderStyle":"solid","color":"Grey - 900"},"focused":{"borderColor":"Primary","labelcolor":"Primary","borderWidth":{"value":1,"unit":"px"},"boxShadowEnabled":false,"boxShadowColor":"Primary","borderStyle":"solid"},"disabled":{"labelcolor":"Grey - 500","backgroundColor":"Grey - 200","borderWidth":{"value":1,"unit":"px"},"borderColor":"Grey - 500","color":"Grey - 600"}},"stateTransitions":{},"defaultStateTransitions":{"neutral":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"focused":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"hover":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"disabled":{"curve":[0,0,0.58,1],"dur":0,"delay":0}}},{"name":"Primary button","typename":"net.noodl.controls.button","parameters":{"height":{"value":48,"unit":"px"},"sizeMode":"explicit","backgroundColor":"Primary","iconIconSource":{"class":"material-icons","code":"home"},"iconSpacing":{"value":8,"unit":"px"},"borderRadius":{"value":4,"unit":"px"},"textStyle":"Label Large","paddingTop":{"value":0,"unit":"px"},"paddingLeft":{"value":24,"unit":"px"},"paddingRight":{"value":24,"unit":"px"},"paddingBottom":{"value":0,"unit":"px"},"color":"#FFFFFF","minWidth":{"value":80,"unit":"px"},"useIcon":false,"iconSize":{"value":20,"unit":"px"},"label":"Log In"},"stateParamaters":{"hover":{"backgroundColor":"Primary Dark"},"pressed":{"backgroundColor":"Primary","color":"White"},"disabled":{"backgroundColor":"Grey - 300","color":"Grey - 600"}},"stateTransitions":{},"defaultStateTransitions":{"neutral":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"hover":{"curve":[0,0,0.58,1],"dur":0,"delay":0},"pressed":{"curve":[0,0,0.58,1],"dur":0,"delay":0}}}]}