{"context":{"domain":"massayuki-playground"},"layers":{"ApplicationLayer":{"reference":"ApplicationLayer","availableInstances":[{"reference":"ComponentsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@DataSet","reference":"SystemsDataSet","params":{"filter":{"domain":"data2"},"pagination":{"size":1},"datasource":{"component":"data2-core-types@ProcessReference","params":{"reference":"SystemsDataSource"}}}},{"reference":"ExternalComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"SystemsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"5e3b796d6228227ca637d0f4","name":"data2","domain":"data2","organization":"62292184611f480b3191c37c","visibility":"public","updatedAt":"2026-07-27T14:19:36.810Z"}]}},{"reference":"OrganizationsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"DataComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@DataSet","reference":"OneFileComponentInstancesDataSet","params":{"pagination":{"size":1},"master":{"dataset":{"component":"data2-core-types@ProcessReference","params":{"reference":"SystemsDataSet"}},"localField":"system","masterField":"_id"},"datasource":{"component":"data2-core-types@ProcessReference","params":{"reference":"FileComponentInstancesDataSource"}}}},{"reference":"ApplicationsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"ComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"ServiceComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@Data2TableDataSource","reference":"FileComponentInstancesDataSource","params":{"table":"fileComponentInstances","schema":[{"component":"data2-core-types@Field","params":{"key":"component","title":"Component","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"system","title":"System","component":"data2-core-primitives@ObjectId"}},{"component":"data2-core-types@Field","params":{"key":"displayName","title":"Display Name","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"params","title":"Params","component":"data2-core-primitives@Object"}},{"component":"data2-core-types@Field","params":{"key":"reference","title":"Reference","component":"data2-core-primitives@String"}}]}},{"component":"data2-core@MemoryDataSource","reference":"EmptyDataSource","params":{"initialData":[]}},{"reference":"ComponentsDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"UserComponentsDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"DataComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ServiceComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ExternalComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ApplicationsDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}}],"processesParams":{}},"HostApplicationLayer":{"reference":"HostApplicationLayer","availableInstances":[{"_id":"5f15ff190528b92601890f71","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"SystemsTableDataSource"}},"filter":{"domain":{"component":"data2-core-types@Reference","params":{"reference":"domain"}}},"pk":"_id","fields":[{"component":"data2-core-types@FieldReference","params":{"key":"_id"}},{"component":"data2-core-types@FieldReference","params":{"key":"name"}},{"component":"data2-core-types@FieldReference","params":{"key":"domain"}},{"component":"data2-core-types@FieldReference","params":{"key":"visibility"}},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"customDomains"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization._id"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization.name"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization.billingStatus"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization.publicTrial.active"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"settings.defaultAccessPolicy"}}},"break":true}],"pagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":1}}},"staticPagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":1}}},"policies":[{"component":"data2-core-auth@Policy","params":{"allow":{"params":{"actions":[{"params":{"components":[{"params":{"query":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$params.query"}}}},"field":{"component":"data2-core-primitives@String","params":{"content":"_id"}},"fieldType":"string"},"component":"data2@7KkQq0vK4a7D2gg6IVJT7"},{"params":{"query":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$params.query"}}}},"field":{"component":"data2-core-primitives@String","params":{"content":"domain"}},"fieldType":"string"},"component":"data2@7KkQq0vK4a7D2gg6IVJT7"},{"params":{"query":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$params.query"}}}},"field":{"component":"data2-core-primitives@String","params":{"content":"customDomains"}},"fieldType":"string"},"component":"data2@7KkQq0vK4a7D2gg6IVJT7"}]},"component":"data2-core-logical-operators@Or"}]},"component":"data2-core-flow@Series"}}}]},"reference":"SystemsDataSet","updatedAt":"2026-08-07T21:51:24.037Z","createdAt":"2020-07-20T20:31:21.838Z"},{"_id":"5f1601ce0528b92601890f7c","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":1000},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ComponentsTableDataSource"}},"sort":{"params.package":1,"params.component":1},"pk":"_id","autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"staticFilter":{"system":{"exists":{"params":{"content":false},"component":"data2-core-primitives@Boolean"}}},"filter":{"system":{"exists":{"params":{"content":false},"component":"data2-core-primitives@Boolean"}}}},"reference":"ComponentsDataSet","updatedAt":"2025-11-05T19:37:01.935Z","createdAt":"2020-07-20T20:42:54.898Z"},{"_id":"5f9041dbc8da12be8b94aea4","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":2000},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ComponentsTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"UserComponentsDataSet","updatedAt":"2025-11-06T21:06:58.095Z","createdAt":"2020-07-20T20:44:09.350Z"},{"_id":"65d8c4fabc9dbb8f94de8d53","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ExternalComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"ExternalComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:23.742Z","createdAt":"2024-02-23T16:17:01.816Z"},{"reference":"SystemsTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"686bd24b4fcbdb97284775e3","name":"Massayuki Honda","domain":"massayuki-playground","visibility":"public","settings":{"defaultAccessPolicy":"private"},"updatedAt":"2026-08-14T19:26:29.927Z","createdAt":"2025-07-07T12:56:41.025Z"}]}},{"reference":"ComponentsTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"5f52a278a575399a45d239b4","component":"data2-core-types@Component","params":{"package":"data2-core-primitives","component":"Router","interactions":{"component":"data2-core-types@FieldSet","params":{"fields":{"goBack":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-types@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@This","params":{}},"prop":"history.goBack","args":[]}}}},"icon":{"component":"data2-core-primitives@String","params":{"content":"arrow-left"}},"visibility":"public"}},"goTo":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@This","params":{}},"prop":"history.push","args":[{"component":"data2-core-types@Reference","params":{"reference":"url"}},{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"preserveQuery"}}}}]}},"parameters":[{"component":"data2-core-primitives@String","params":{"content":"url"}},{"component":"data2-core-primitives@String","params":{"content":"preserveQuery"}}]},"break":true},"icon":{"component":"data2-core-primitives@String","params":{"content":"share"}},"visibility":"public","arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Path to route"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Path to redirect user"}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"},{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Boolean"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Preserve Query"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Preserve query string parameters  preserve query parameters on navigating."}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"}]}},"open":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-types@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@This","params":{}},"prop":"history.push","args":[{"pathname":{"component":"data2-core-types@Reference","params":{"reference":"value"}}}]}},"parameters":["value"]}},"icon":{"component":"data2-core-primitives@String","params":{"content":"share"}},"visibility":"public","arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Link to open"}},"description":{"component":"data2-core-primitives@String","params":{"content":""}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"},{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Target"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Where to open the link"}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"oneOf":[{"params":{"content":"_blank"},"component":"data2-core-primitives@String"},{"params":{"content":"_self"},"component":"data2-core-primitives@String"},{"params":{"content":"_parent"},"component":"data2-core-primitives@String"},{"params":{"content":"_top"},"component":"data2-core-primitives@String"}]},"component":"data2-core-types@ComponentParameter"}]}},"close":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-types@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"params":{},"component":"data2-core-web@Window"},"prop":"close"}},"parameters":["value"]}},"icon":{"component":"data2-core-primitives@String","params":{"content":"times"}},"visibility":"public","arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Link to open"}},"description":{"component":"data2-core-primitives@String","params":{"content":""}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"},{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Target"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Where to open the link"}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"oneOf":[{"params":{"content":"_blank"},"component":"data2-core-primitives@String"},{"params":{"content":"_self"},"component":"data2-core-primitives@String"},{"params":{"content":"_parent"},"component":"data2-core-primitives@String"},{"params":{"content":"_top"},"component":"data2-core-primitives@String"}]},"component":"data2-core-types@ComponentParameter"}],"description":{"component":"data2-core-primitives@String","params":{"content":"Closes a window that was opened via router.open."}}}}}}}}},{"_id":"620d28658271aa4129919d89","component":"data2-core-types@Component","params":{"package":"data2-interface-services","component":"DeviceController","interactions":{"params":{"fields":{"postMessage":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":"data2-core-primitives@String","title":{"component":"data2-core-primitives@String","params":{"content":"data"}}}}]},"component":"data2-core-types@ComponentParameter"},"print":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Object"}},"flat":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"parameters":{"zoom":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Number"}},"title":{"component":"data2-core-primitives@String","params":{"content":"zoom"}},"visibility":"public"}}},"visibility":"public"},"component":"data2-core-types@ComponentParameter"}],"visibility":"public"},"component":"data2-core-types@ComponentParameter"},"share":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}}},"component":"data2-core-types@ComponentParameter"},"clipboard.copy":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}}}}]},"component":"data2-core-types@ComponentParameter"},"clipboard.paste":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}}}}]},"component":"data2-core-types@ComponentParameter"},"download":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Filename"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Content"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Object"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Options"}},"parameters":{"params":{"fields":{"type":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Mimetype"}}}}}},"component":"data2-core-types@FieldSet"}}}]},"component":"data2-core-types@ComponentParameter"},"downloadUrl":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Filename"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Url"}}}}]},"component":"data2-core-types@ComponentParameter"},"promptFiles":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":"data2-core-primitives@Object","flat":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"parameters":{"params":{"fields":{"multiple":{"component":"data2-core-types@ComponentParameter","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Multiple"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Whether or not to allow selecting multiple files"}},"component":"data2-core-primitives@Boolean"}},"acceptedFormats":{"component":"data2-core-types@ComponentParameter","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Accepted Formats"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Accepted file formats"}},"component":"data2-core-primitives@String","list":{"component":"data2-core-primitives@Boolean","params":{"content":true}}}},"timeout":{"component":"data2-core-types@ComponentParameter","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Timeout"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Max milliseconds to wait for file upload"}},"component":"data2-core-primitives@Number"}}}},"component":"data2-core-types@FieldSet"}}}],"visibility":"public"},"component":"data2-core-types@ComponentParameter"},"meetingRecord":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","definition":{"params":{"actions":[{"params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"meeting"}},"script":{"component":"data2-core-primitives@String","params":{"content":"(function() {\n  let mediaRecorder;\n  let audioChunks = [];\n  let combinedStream;\n  let audioContext;\n  \n  window.meetingCapture = async function() {\n    try {\n      // Solicitar acesso ao áudio da guia (e vídeo, que será ignorado depois)\n      const tabStream = await navigator.mediaDevices.getDisplayMedia({ \n        video: true, // Necessário para alguns navegadores\n        audio: true\n      });\n      \n      // Remover a trilha de vídeo\n      const tabAudioTrack = tabStream.getAudioTracks()[0];\n      \n      // Solicitar acesso ao microfone\n      const micStream = await navigator.mediaDevices.getUserMedia({ audio: true });\n      const micAudioTrack = micStream.getAudioTracks()[0];\n      \n      // Criar um novo MediaStream com ambas as trilhas de áudio\n      combinedStream = new MediaStream([tabAudioTrack, micAudioTrack]);\n      \n      // Criar um contexto de áudio para misturar os streams\n      audioContext = new AudioContext();\n      const destination = audioContext.createMediaStreamDestination();\n      \n      // Conectar a trilha de áudio da guia\n      const tabSource = audioContext.createMediaStreamSource(new MediaStream([tabAudioTrack]));\n      tabSource.connect(destination);\n      \n      // Conectar a trilha de áudio do microfone\n      const micSource = audioContext.createMediaStreamSource(new MediaStream([micAudioTrack]));\n      micSource.connect(destination);\n      \n      // Iniciar gravação com o stream misturado\n      mediaRecorder = new MediaRecorder(destination.stream);\n      audioChunks = [];\n      mediaRecorder.ondataavailable = (e) => audioChunks.push(e.data);\n      mediaRecorder.start();\n      \n      console.log('Gravação iniciada. Chame meetingCaptureStop() para finalizar.');\n    } catch (error) {\n      console.error('Erro ao iniciar a captura:', error);\n    }\n  };\n  \n  window.meetingCaptureStop = function() {\n    return new Promise((resolve, reject) => {\n      if (!mediaRecorder) {\n        reject('Nenhuma gravação em andamento.');\n        return;\n      }\n      \n      mediaRecorder.onstop = () => {\n        const audioBlob = new Blob(audioChunks, { type: 'audio/webm' });\n        combinedStream.getTracks().forEach(track => track.stop());\n        audioContext.close();\n        \n        resolve(audioBlob);\n        console.log('Gravação finalizada. O arquivo de áudio está pronto para upload.');\n      };\n      \n      mediaRecorder.stop();\n    });\n  };\n})();"}}},"component":"data2-core-web@Script"},{"component":"data2-core-types@Getter","params":{"module":{"params":{},"component":"data2-core-web@Window"},"prop":{"component":"data2-core-primitives@String","params":{"content":"meetingCapture"}}}}]},"component":"data2-core-flow@Series"}},"component":"data2-core-types@ComponentParameter"},"meetingRecordStop":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Filename"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Content"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Object"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Options"}},"parameters":{"params":{"fields":{"type":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Mimetype"}}}}}},"component":"data2-core-types@FieldSet"}}}],"definition":{"params":{"actions":[{"component":"data2-core-types@Getter","params":{"module":{"params":{},"component":"data2-core-web@Window"},"prop":{"component":"data2-core-primitives@String","params":{"content":"meetingCaptureStop"}}}}]},"component":"data2-core-flow@Series"}},"component":"data2-core-types@ComponentParameter"},"notify":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"private","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":"data2-core-primitives@Object","parameters":{"title":{"params":{"component":"data2-core-primitives@String","index":{"component":"data2-core-primitives@Number","params":{"content":0}},"title":{"component":"data2-core-primitives@String","params":{"content":"title"}}},"component":"data2-core-types@ComponentParameter"},"sound":{"params":{"component":"data2-core-types@FileComponentUrlReference","index":{"component":"data2-core-primitives@Number","params":{"content":1}},"title":{"component":"data2-core-primitives@String","params":{"content":"sound"}}},"component":"data2-core-types@ComponentParameter"}},"flat":{"component":"data2-core-primitives@Boolean","params":{"content":true}}}}]},"component":"data2-core-types@ComponentParameter"}}},"component":"data2-core-types@FieldSet"}}},{"_id":"6ac563db06e81c2076f3bcec","component":"data2-core-types@Component","system":"686bd24b4fcbdb97284775e3","params":{"extends":"data2-core-primitives@Block","component":"Invest_Manager","package":"massayuki-playground","definition":{"preventEvaluation":true,"component":"data2-core-types@Definition","params":{"def":{"component":"data2-code-components@CodeHost","params":{"code":{"component":"data2-core-primitives@String","params":{"content":"const BRL = new Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' })\nconst NUM = new Intl.NumberFormat('pt-BR', { minimumFractionDigits: 2, maximumFractionDigits: 2 })\nconst money = (v) => BRL.format(Number(v) || 0)\nconst esc = (v) => String(v == null ? '' : v).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;')\nconst norm = (t) => String(t || '').toUpperCase().replace(/[^A-Z0-9]/g, '')\nconst parse = (v) => {\n  if (typeof v === 'number') return v\n  let s = String(v == null ? '' : v).replace(/[^0-9,.-]/g, '')\n  if (s.includes(',')) s = s.replace(/\\./g, '').replace(',', '.')\n  const n = parseFloat(s)\n  return isNaN(n) ? 0 : n\n}\nconst CATS = [\n  { key: 'acoes', label: 'Ações' },\n  { key: 'fiis', label: 'FIIs' },\n  { key: 'outros', label: 'ETFs e caixa' },\n]\n\nfunction shrink(file) {\n  return new Promise((resolve, reject) => {\n    const img = new Image()\n    const url = URL.createObjectURL(file)\n    img.onload = () => {\n      const max = 1800\n      const k = Math.min(1, max / Math.max(img.width, img.height))\n      const cv = document.createElement('canvas')\n      cv.width = Math.round(img.width * k)\n      cv.height = Math.round(img.height * k)\n      cv.getContext('2d').drawImage(img, 0, 0, cv.width, cv.height)\n      URL.revokeObjectURL(url)\n      resolve(cv.toDataURL('image/jpeg', 0.9))\n    }\n    img.onerror = () => { URL.revokeObjectURL(url); reject(new Error('imagem inválida')) }\n    img.src = url\n  })\n}\n\nfunction readAnswer(res, depth) {\n  depth = depth || 0\n  if (depth > 5 || res == null) return []\n  let out = res\n  if (typeof out === 'string') {\n    const s = out.replace(/```json|```/g, '').trim()\n    const m = s.match(/[\\[{][\\s\\S]*[\\]}]/)\n    try { out = JSON.parse(m ? m[0] : s) } catch (e) { return [] }\n  }\n  if (Array.isArray(out)) {\n    if (out.some((x) => x && typeof x === 'object' && ('ticker' in x || 'preco' in x))) return out\n    for (const x of out) { const r = readAnswer(x, depth + 1); if (r.length) return r }\n    return []\n  }\n  if (typeof out === 'object') {\n    for (const k of ['ativos', 'assets', 'data', 'answer', 'content', 'text', 'result']) {\n      if (out[k] != null) { const r = readAnswer(out[k], depth + 1); if (r.length) return r }\n    }\n    for (const v of Object.values(out)) { if (v && typeof v !== 'number') { const r = readAnswer(v, depth + 1); if (r.length) return r } }\n  }\n  return []\n}\n\nasync function importFile(d2, file) {\n  const S = d2.state\n  if (!file || !String(file.type || '').startsWith('image/')) {\n    S.msg = { type: 'err', text: 'Envie uma imagem (PNG ou JPG).' }\n    return\n  }\n  if (S.importing) return\n  S.view = 'main'\n  S.armed = false\n  S.importing = true\n  S.msg = null\n  try {\n    let url = await shrink(file)\n    file = null\n    const a = d2.assistant(d2.params.extrator)\n    const res = await a.ask('Extraia o ticker e o preço atual de cada ativo visível nesta imagem.', { images: [url], json: true })\n    url = null\n    let items = readAnswer(res)\n    if (!items.length) items = readAnswer(a.answer)\n    if (res && res.isData2Error) throw new Error(res.code === 401 ? 'sem permissão para usar o extrator' : (res.message || 'erro no extrator'))\n    const ds = d2.data('ativos')\n    const map = {}\n    ;(ds.records() || []).forEach((r) => { map[norm(r.ticker)] = r })\n    const now = new Date().toISOString()\n    const updated = {}\n    const missing = []\n    const jobs = []\n    items.forEach((it) => {\n      const t = norm(it.ticker)\n      const p = parse(it.preco != null ? it.preco : it.price)\n      if (!t || !(p > 0)) return\n      const r = map[t]\n      if (r && r._id) {\n        const old = Number(r.preco) || 0\n        updated[t] = { de: old, para: p }\n        const patch = { ...r, preco: p, atualizadoEm: now }\n        if (old > 0 && Math.abs(old - p) > 0.0001) patch.precoAnterior = old\n        jobs.push(ds.update(patch))\n      } else if (!missing.find((m) => m.ticker === t)) {\n        missing.push({ ticker: t, preco: p })\n      }\n    })\n    await Promise.all(jobs)\n    const n = Object.keys(updated).length\n    S.updated = updated\n    S.missing = missing\n    if (!items.length) S.msg = { type: 'err', text: 'Não encontrei ativos nessa imagem.' }\n    else S.msg = { type: 'ok', text: `${n} ${n === 1 ? 'cotação atualizada' : 'cotações atualizadas'}` + (missing.length ? ` · ${missing.length} fora da sua lista` : '') }\n  } catch (err) {\n    S.msg = { type: 'err', text: 'Não consegui ler a imagem: ' + (err && err.message ? err.message : err) }\n  } finally {\n    S.importing = false\n  }\n}\n\nconst LOGO = {}\nconst logoUrl = (t) => `https://icons.brapi.dev/icons/${t}.svg`\nfunction logo(d2, ticker, plain) {\n  const t = norm(ticker)\n  d2.state.logoTick\n  let s = 'fail'\n  if (!plain && t && typeof Image !== 'undefined') {\n    s = LOGO[t]\n    if (!s) {\n      LOGO[t] = s = 'loading'\n      const img = new Image()\n      img.onload = () => { LOGO[t] = img.naturalWidth > 1 ? 'ok' : 'fail'; d2.state.logoTick = (d2.state.logoTick || 0) + 1 }\n      img.onerror = () => { LOGO[t] = 'fail'; d2.state.logoTick = (d2.state.logoTick || 0) + 1 }\n      img.src = logoUrl(t)\n    }\n  }\n  return s === 'ok'\n    ? `<img class=\"lg\" src=\"${logoUrl(t)}\" alt=\"\" loading=\"lazy\">`\n    : `<span class=\"lg ini\">${esc(t.slice(0, 2))}</span>`\n}\n\nfunction renderChart(d2, ticker) {\n  const hs = d2.data('aportes')\n  const list = ((hs && hs.records()) || []).slice().sort((a, b) => String(a.data || '').localeCompare(String(b.data || '')))\n  const pts = []\n  list.forEach((h) => {\n    const it = (Array.isArray(h.itens) ? h.itens : []).find((i) => norm(i.ticker) === ticker)\n    if (it && Number(it.preco) > 0) pts.push({ d: h.data, p: Number(it.preco), q: Number(it.quantidade) || 0, tot: Number(it.total) || 0 })\n  })\n  let body\n  if (!pts.length) {\n    body = `<p class=\"free\" style=\"font-size:13px;padding:12px 0\">Esse ativo ainda não aparece em nenhum aporte salvo. O gráfico usa só os preços dos aportes que você salvar.</p>`\n  } else {\n    const W = 640, H = 220, pl = 58, pr = 18, pt = 16, pb = 34\n    const ps = pts.map((x) => x.p)\n    let mn = Math.min(...ps), mx = Math.max(...ps)\n    if (mx - mn < 1e-9) { mn = mn * 0.95; mx = mx * 1.05 } else { const pad = (mx - mn) * 0.12; mn -= pad; mx += pad }\n    const X = (i) => (pts.length === 1 ? pl + (W - pl - pr) / 2 : pl + (i * (W - pl - pr)) / (pts.length - 1))\n    const Y = (p) => pt + (1 - (p - mn) / (mx - mn)) * (H - pt - pb)\n    const line = pts.map((x, i) => `${i ? 'L' : 'M'}${X(i).toFixed(1)},${Y(x.p).toFixed(1)}`).join(' ')\n    const grid = [0, 0.5, 1].map((f) => {\n      const v = mn + (mx - mn) * (1 - f)\n      const y = pt + f * (H - pt - pb)\n      return `<line x1=\"${pl}\" x2=\"${W - pr}\" y1=\"${y}\" y2=\"${y}\" class=\"gl\"/><text x=\"${pl - 8}\" y=\"${y + 4}\" class=\"ax\" text-anchor=\"end\">${NUM.format(v)}</text>`\n    }).join('')\n    const step = Math.max(1, Math.ceil(pts.length / 6))\n    const xl = pts.map((x, i) => (i % step === 0 || i === pts.length - 1)\n      ? `<text x=\"${X(i)}\" y=\"${H - 10}\" class=\"ax\" text-anchor=\"middle\">${new Date(x.d).toLocaleDateString('pt-BR', { day: '2-digit', month: '2-digit', year: '2-digit' })}</text>` : '').join('')\n    const dots = pts.map((x, i) => `<circle cx=\"${X(i)}\" cy=\"${Y(x.p)}\" r=\"${x.q > 0 ? 5 : 3.5}\" class=\"${x.q > 0 ? 'pb' : 'pn'}\"><title>${fmtDT(x.d)} · ${money(x.p)}${x.q > 0 ? ` · comprou ${x.q}` : ''}</title></circle>`).join('')\n    const chg = pts.length > 1 ? (pts[pts.length - 1].p / pts[0].p - 1) * 100 : 0\n    body = `<div class=\"cst\"><span>${pts.length} aporte(s) · ponto cheio = aporte em que você comprou</span>${pts.length > 1 ? `<span class=\"var ${chg >= 0 ? 'u' : 'n'}\">${chg >= 0 ? '+' : ''}${chg.toFixed(1).replace('.', ',')}% desde o primeiro</span>` : ''}</div>\n      <svg viewBox=\"0 0 ${W} ${H}\" class=\"chart\">${grid}<path d=\"${line}\" class=\"ln\"/>${dots}${xl}</svg>\n      <table class=\"ctab\"><thead><tr><th>Data do aporte</th><th>Preço</th><th style=\"text-align:center\">Qtd</th><th>Total</th></tr></thead>\n      <tbody>${pts.slice().reverse().map((x, i) => `<tr data-key=\"cp-${i}\"><td>${esc(fmtDT(x.d))}</td><td>${money(x.p)}</td><td style=\"text-align:center\">${x.q || '-'}</td><td>${money(x.tot)}</td></tr>`).join('')}</tbody></table>`\n  }\n  return `<div class=\"ovl\"><div class=\"ovp\"><div class=\"ovh\"><span class=\"tk\">${logo(d2, ticker)}<b>${esc(ticker)}</b><span class=\"free\" style=\"margin-left:8px\">preço nos aportes salvos</span></span><button class=\"btn closechart\">Fechar</button></div>${body}</div></div>`\n}\n\nfunction fmtDT(x) {\n  const d = new Date(x)\n  if (isNaN(d.getTime())) return '-'\n  return d.toLocaleDateString('pt-BR') + ' às ' + d.toLocaleTimeString('pt-BR', { hour: '2-digit', minute: '2-digit' })\n}\n\nfunction snapshot(d2) {\n  const draft = d2.state.draft || {}\n  const recs = (d2.data('ativos').records() || []).slice().sort((a, b) => (Number(a.ordem) || 0) - (Number(b.ordem) || 0))\n  const v = (r, k) => {\n    const key = (r._id || '') + ':' + k\n    return draft[key] != null ? parse(draft[key]) : Number(r[k]) || 0\n  }\n  return recs.map((r) => {\n    const preco = v(r, 'preco')\n    const quantidade = v(r, 'quantidade')\n    const valor = v(r, 'valor')\n    return {\n      ticker: String(r.ticker || '').toUpperCase(),\n      categoria: r.categoria || 'outros',\n      preco: preco,\n      precoAnterior: Number(r.precoAnterior) || 0,\n      quantidade: r.valorDireto ? 0 : quantidade,\n      valorDireto: !!r.valorDireto,\n      valor: r.valorDireto ? valor : 0,\n      total: Math.round((r.valorDireto ? valor : preco * quantidade) * 100) / 100,\n    }\n  })\n}\n\nfunction renderHist(d2, current) {\n  const S = d2.state\n  const hs = d2.data('aportes')\n  if (!hs) return `<div class=\"wrap\"><p class=\"empty\">Tabela de aportes não vinculada.</p></div>`\n  if (hs.loading) return `<div class=\"wrap\"><p class=\"empty\">Carregando histórico…</p></div>`\n  const list = (hs.records() || []).slice().sort((a, b) => String(b.data || '').localeCompare(String(a.data || '')))\n  if (!list.length) {\n    return `<div class=\"wrap\"><div class=\"hempty\"><b>Nenhum aporte salvo ainda</b><span>Use \"Salvar aporte\" para registrar os preços e as quantidades do dia.</span><button class=\"btn back\">Voltar</button></div></div>`\n  }\n  const sel = list.find((x) => x._id && x._id === S.histSel) || list[0]\n  const now = {}\n  current.forEach((r) => { now[norm(r.ticker)] = Number(r.preco) || 0 })\n  const itens = Array.isArray(sel.itens) ? sel.itens : []\n  const sums = {}\n  CATS.forEach((c) => { sums[c.key] = 0 })\n  itens.forEach((i) => { const k = sums[i.categoria] != null ? i.categoria : 'outros'; sums[k] += Number(i.total) || 0 })\n\n  const side = list.map((h, i) => `<div class=\"hi ${h === sel ? 'on' : ''}\" data-key=\"${esc(h._id || 'p' + i)}\" data-id=\"${esc(h._id || '')}\">\n      <button class=\"hdel\" data-id=\"${esc(h._id || '')}\" title=\"Excluir aporte\">×</button>\n      <span>${esc(fmtDT(h.data))}</span>\n      <div class=\"hv\">${money(h.total)}</div>\n      ${(() => { const b = (Array.isArray(h.itens) ? h.itens : []).filter((x) => (Number(x.total) || 0) > 0.005); const dn = b.filter((x) => x.comprado).length; return b.length ? `<span class=\"hx ${dn === b.length ? 'all' : ''}\">${dn === b.length ? '✓ tudo comprado' : `${dn} de ${b.length} comprados`}</span>` : '' })()}\n      ${h.nota ? `<span>${esc(h.nota)}</span>` : ''}\n    </div>`).join('')\n\n  const row = (it, i) => {\n    const t = norm(it.ticker)\n    const p = Number(it.preco) || 0\n    const n = now[t]\n    const q = Number(it.quantidade) || 0\n    const tot = Number(it.total) || 0\n    let v = '<span class=\"free\">-</span>'\n    if (!it.valorDireto && p > 0 && n > 0) {\n      const pc = (n / p - 1) * 100\n      v = `<span class=\"var ${pc >= 0 ? 'u' : 'n'}\" title=\"hoje ${money(n)}\">${pc >= 0 ? '+' : ''}${pc.toFixed(1).replace('.', ',')}%</span>`\n    }\n    return `<tr data-key=\"h-${esc(t)}-${i}\" class=\"${tot > 0 ? 'has' : 'zero'}${it.comprado && tot > 0 ? ' done' : ''}\">\n      <td><span class=\"tk\">${tot > 0 ? `<input type=\"checkbox\" class=\"exec\" data-h=\"${esc(sel._id || '')}\" data-i=\"${itens.indexOf(it)}\" ${it.comprado ? 'checked' : ''} title=\"Já comprei\">` : '<span class=\"exsp\"></span>'}${logo(d2, it.ticker, it.valorDireto)}<span class=\"tkn\" data-t=\"${esc(t)}\" title=\"Ver preço nos aportes\">${esc(it.ticker)}</span></span></td>\n      <td>${it.valorDireto ? '<span class=\"free\">valor livre</span>' : money(p)}</td>\n      <td style=\"text-align:center\">${it.valorDireto ? '' : (q || '-')}</td>\n      <td class=\"tot\">${money(tot)}</td>\n      <td>${v}</td>\n    </tr>`\n  }\n\n  const cols = CATS.map((c) => {\n    const l = itens.filter((i) => (sums[i.categoria] != null ? i.categoria : 'outros') === c.key)\n    const lv = S.histOnly ? l.filter((i) => (Number(i.total) || 0) > 0.005) : l\n    return `<section class=\"card\" data-key=\"hc-${c.key}\">\n      <div class=\"ch\"><div class=\"row1\"><h2>${c.label}<em>${S.histOnly ? `${lv.length} de ${l.length}` : l.length}</em></h2><span class=\"sub\">${money(sums[c.key])}</span></div></div>\n      <table><thead><tr><th>Ativo</th><th>Preço</th><th style=\"text-align:center\">Qtd</th><th>Total</th><th>Até hoje</th></tr></thead>\n      <tbody>${lv.length ? lv.map(row).join('') : `<tr data-key=\"hempty-${c.key}\"><td colspan=\"5\" class=\"emptyrow\">Nada comprado nesta categoria</td></tr>`}</tbody></table>\n    </section>`\n  }).join('')\n\n  const buys = itens.filter((x) => (Number(x.total) || 0) > 0.005)\n  const doneN = buys.filter((x) => x.comprado).length\n  return `<div class=\"hwrap\">\n    <aside class=\"hl\"><div class=\"hlt\">Aportes salvos (${list.length})</div>${side}</aside>\n    <div>\n      <div class=\"hh\"><div><h2>Aporte de ${esc(fmtDT(sel.data))}</h2>${sel.nota ? `<span class=\"free\">${esc(sel.nota)}</span>` : ''}${buys.length ? `<div class=\"exprog ${doneN === buys.length ? 'all' : ''}\">${doneN === buys.length ? '✓ Tudo comprado' : `Comprado ${doneN} de ${buys.length} · marque cada ativo conforme executar na corretora`}</div>` : ''}</div><span class=\"big\">${money(sel.total)}</span></div>\n      <div class=\"cols hc\">${cols}</div>\n    </div>\n  </div>`\n}\n\nexport default {\n  css: `\n:host{--bg:#16181d;--sf:#1f2229;--ln:#2c3038;--tx:#e8eaed;--mu:#8a8f98;--ac:#2ecc71;--ac2:#1e8f4e;--in:#2a2e36;--dn:#ff6b6b}\n*{box-sizing:border-box}\n.app{height:100%;overflow:auto;background:var(--bg);color:var(--tx);font:14px/1.4 Inter,\"Segoe UI\",system-ui,sans-serif}\n.empty{padding:40px;color:var(--mu)}\n.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;border-bottom:1px solid var(--ln);position:sticky;top:0;background:var(--bg);z-index:2}\n.brand{display:flex;align-items:center;gap:10px}\n.logo{width:34px;height:34px;border-radius:9px;background:var(--ac);display:flex;align-items:center;justify-content:center;color:var(--bg);font-weight:700;font-size:15px}\n.brand h1{margin:0;font-size:17px;font-weight:600}\n.brand small{display:block;color:var(--mu);font-size:12px}\n.brand small.uso{font-size:11px;margin-top:1px;cursor:help}\n.brand small.uso.warn{color:#f5b041}\n.brand small.uso.crit{color:var(--dn)}\n.kpis{display:flex;align-items:center;gap:22px}\n.kpi{text-align:right}\n.kpi span{display:block;color:var(--mu);font-size:11px}\n.kpi b{font-size:14px;font-weight:600}\n.kpi.main b{font-size:22px;color:var(--ac)}\n.btn{background:transparent;border:1px solid var(--ln);color:var(--tx);border-radius:8px;padding:8px 12px;font:inherit;font-size:12px;cursor:pointer}\n.btn:hover{border-color:var(--mu)}\n.btn[disabled]{opacity:.6;cursor:progress}\n.wrap{padding:18px 28px 28px}\n.drop{display:flex;align-items:center;gap:14px;border:1.5px dashed var(--ln);border-radius:12px;padding:14px 16px;cursor:pointer;transition:border-color .15s,background .15s}\n.drop:hover,.drop.over{border-color:var(--ac);background:rgba(46,204,113,.06)}\n.drop:focus{outline:0}\n.drop.armed{border-style:solid;border-color:var(--ac);background:rgba(46,204,113,.10)}\n.drop.armed .ic{background:var(--ac);color:var(--bg)}\n.drop .ic{width:40px;height:40px;border-radius:10px;background:var(--in);display:flex;align-items:center;justify-content:center;color:var(--ac);flex:none}\n.drop .ic svg{width:20px;height:20px}\n.drop .t{flex:1;min-width:0}\n.drop .t b{display:block;font-weight:600}\n.drop .t span{color:var(--mu);font-size:12px}\n.kbd{font-size:11px;border:1px solid var(--ln);border-radius:5px;padding:1px 6px;color:var(--mu)}\n.spin{width:18px;height:18px;border:2px solid var(--ln);border-top-color:var(--ac);border-radius:50%;animation:sp .8s linear infinite}\n@keyframes sp{to{transform:rotate(360deg)}}\n.msg{margin-top:10px;font-size:13px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}\n.msg.ok{color:var(--ac)} .msg.err{color:var(--dn)}\n.miss{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}\n.miss .lb{color:var(--mu);font-size:12px}\n.chip{display:flex;align-items:center;gap:6px;background:var(--sf);border:1px solid var(--ln);border-radius:8px;padding:4px 6px 4px 10px;font-size:12px}\n.chip em{font-style:normal;color:var(--mu)}\n.chip button{background:var(--in);border:0;color:var(--tx);border-radius:6px;padding:3px 7px;font:inherit;font-size:11px;cursor:pointer}\n.chip button:hover{background:var(--ac2)}\n.link{background:none;border:0;color:var(--mu);font:inherit;font-size:12px;cursor:pointer;text-decoration:underline}\n.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;align-items:start}\n@media (max-width:1600px){.cols{grid-template-columns:repeat(2,minmax(0,1fr))}}\n@media (max-width:1100px){.cols{grid-template-columns:repeat(2,minmax(0,1fr))}}\n@media (max-width:720px){.cols{grid-template-columns:minmax(0,1fr)}}\n.card{background:var(--sf);border:1px solid var(--ln);border-radius:12px;overflow:hidden}\n.ch{padding:14px 16px 10px}\n.ch .row1{display:flex;justify-content:space-between;align-items:baseline}\n.ch h2{margin:0;font-size:15px;font-weight:600}\n.ch h2 em{font-style:normal;color:var(--mu);font-weight:400;font-size:12px;margin-left:6px}\n.ch .sub{color:var(--ac);font-weight:600;font-size:16px}\n.bar{height:4px;background:var(--in);border-radius:4px;margin-top:10px;overflow:hidden}\n.bar i{display:block;height:100%;background:var(--ac);border-radius:4px}\n.pct{color:var(--mu);font-size:11px;margin-top:4px}\ntable{width:100%;border-collapse:collapse;font-size:13px}\nth{color:var(--mu);font-weight:400;font-size:11px;text-align:right;padding:6px 8px;border-top:1px solid var(--ln);white-space:nowrap}\nth:first-child{text-align:left;padding-left:16px}\ntd{padding:5px 8px;border-top:1px solid var(--ln);text-align:right;white-space:nowrap}\ntd:first-child{text-align:left;padding-left:16px;font-weight:500}\ntr.has td.tot{color:var(--tx)}\ntd.tot{color:var(--mu)}\n.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px;background:transparent;vertical-align:middle}\ntr.up .dot{background:var(--ac)}\n.in{width:64px;background:var(--in);border:1px solid transparent;color:var(--tx);border-radius:6px;padding:4px 6px;font:inherit;font-size:13px;text-align:right;outline:0}\n.in:focus{border-color:var(--ac)}\n.in.q{width:46px;text-align:center}\n.in.v{width:90px}\n.in.p{background:transparent}\n.in.p:hover,.in.p:focus{background:var(--in)}\n.d{display:inline-block;width:12px;font-size:10px;margin-left:3px;text-align:left}\n.d.u{color:var(--ac)} .d.n{color:var(--dn)}\n.free{color:var(--mu);font-size:11px}\n.del{background:none;border:0;color:var(--mu);cursor:pointer;font-size:14px;opacity:0;padding:0 8px 0 0}\ntr:hover .del{opacity:1}\n.del:hover{color:var(--dn)}\n.cf{padding:10px 16px;border-top:1px solid var(--ln)}\n.add{background:none;border:0;color:var(--mu);font:inherit;font-size:12px;cursor:pointer;padding:0}\n.add:hover{color:var(--ac)}\n.btn.pri{background:var(--ac);color:var(--bg);border-color:var(--ac);font-weight:600}\n.btn.pri:hover{background:#3ddc80}\n.hwrap{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;padding:18px 28px 28px;align-items:start}\n.hl{display:flex;flex-direction:column;gap:8px;position:sticky;top:90px}\n.hlt{color:var(--mu);font-size:12px;margin-bottom:2px}\n.hi{background:var(--sf);border:1px solid var(--ln);border-radius:10px;padding:10px 12px;cursor:pointer;position:relative}\n.hi:hover{border-color:var(--mu)}\n.hi.on{border-color:var(--ac)}\n.hi span{display:block;color:var(--mu);font-size:12px;padding-right:16px}\n.hi .hv{color:var(--tx);font-weight:600;font-size:15px;margin:2px 0}\n.hi.on .hv{color:var(--ac)}\n.hdel{position:absolute;top:6px;right:6px;background:none;border:0;color:var(--mu);cursor:pointer;font-size:14px;opacity:0}\n.hi:hover .hdel{opacity:1}\n.hdel:hover{color:var(--dn)}\n.hh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}\n.hh h2{margin:0;font-size:17px;font-weight:600}\n.hh .big{color:var(--ac);font-size:20px;font-weight:600}\n.hc{margin-top:0}\n@media (max-width:1300px){.hc{grid-template-columns:repeat(2,minmax(0,1fr))}}\ntr.zero td{color:var(--mu)}\n.var{font-size:12px}\n.var.u{color:var(--ac)} .var.n{color:var(--dn)}\n.hempty{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--sf);border:1px solid var(--ln);border-radius:12px;padding:24px}\n.hempty span{color:var(--mu);font-size:13px}\n.tkn{cursor:pointer}\n.tkn:hover{color:var(--ac);text-decoration:underline}\n.in.m{width:78px}\ntd.tot.ok,tr.has td.tot.ok{color:var(--ac)}\ntd.tot.under,tr.has td.tot.under{color:#f5b041}\ntd.tot.over,tr.has td.tot.over{color:var(--dn)}\n.orc{display:flex;flex-direction:column;align-items:flex-end}\n.orcin{width:120px;background:var(--in);border:1px solid transparent;color:var(--tx);border-radius:6px;padding:4px 8px;font:inherit;font-size:14px;font-weight:600;text-align:right;outline:0}\n.orcin:focus{border-color:var(--ac)}\n.kpi b.ovr{color:var(--dn)}\n.os{display:block;font-size:11px;color:var(--mu);margin-top:2px}\n.os.ok{color:var(--ac)} .os.under{color:#f5b041} .os.over{color:var(--dn)}\n.ovl{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:20;padding:24px}\n.ovp{width:min(720px,100%);max-height:90vh;overflow:auto;background:var(--sf);border:1px solid var(--ln);border-radius:14px;padding:18px 20px}\n.ovh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}\n.cst{display:flex;justify-content:space-between;gap:12px;color:var(--mu);font-size:12px;margin-bottom:6px}\n.chart{width:100%;height:auto;display:block}\n.chart .gl{stroke:var(--ln);stroke-width:1}\n.chart .ax{fill:var(--mu);font-size:11px}\n.chart .ln{fill:none;stroke:var(--ac);stroke-width:2.5}\n.chart .pb{fill:var(--ac);stroke:var(--sf);stroke-width:2}\n.chart .pn{fill:var(--sf);stroke:var(--ac);stroke-width:2}\n.ctab{margin-top:10px}\n.grip{cursor:grab;color:var(--mu);opacity:.35;display:inline-flex;align-items:center;margin:0 8px 0 -8px;padding:4px 3px;user-select:none;border-radius:4px}\n.grip:hover{background:var(--in)}\n.grip svg{pointer-events:none}\n.grip.off{visibility:hidden;pointer-events:none}\n.sth{cursor:pointer;user-select:none}\n.sth:hover{color:var(--tx)}\n.sth.on{color:var(--ac)}\n.tools b{color:var(--tx);font-weight:500}\n.tools .link{font-size:12px}\n.tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px;font-size:12px;color:var(--mu)}\n.sortsel{background:var(--in);color:var(--tx);border:1px solid transparent;border-radius:6px;padding:5px 8px;font:inherit;font-size:12px;margin-left:6px;outline:0;cursor:pointer}\n.sortsel:focus{border-color:var(--ac)}\n.exec{accent-color:var(--ac);width:15px;height:15px;margin:0 9px 0 0;cursor:pointer;flex:none}\n.exsp{display:inline-block;width:24px;flex:none}\ntr.done .tkn{color:var(--ac)}\n.exprog{font-size:12px;color:#f5b041;margin-top:4px}\n.exprog.all{color:var(--ac)}\n.hi .hx{color:#f5b041}\n.hi .hx.all{color:var(--ac)}\n.grip{touch-action:none}\n.app.dragmode{user-select:none;cursor:grabbing}\n.app.dragmode *{cursor:grabbing !important}\n.btn.histonly.on{border-color:var(--ac);color:var(--ac)}\ntr:hover .grip{opacity:1}\n.grip:active{cursor:grabbing}\ntr.dragging{opacity:.4}\ntr.dropb td{box-shadow:inset 0 2px 0 var(--ac)}\ntr.dropa td{box-shadow:inset 0 -2px 0 var(--ac)}\n.btn.onlybtn.on{border-color:var(--ac);color:var(--ac)}\ntd.emptyrow{color:var(--mu);font-weight:400;text-align:center;padding:16px}\n.mrow{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--mu)}\n.metain{width:120px;background:var(--in);border:1px solid transparent;color:var(--tx);border-radius:6px;padding:4px 8px;font:inherit;font-size:13px;font-weight:600;text-align:right;outline:0}\n.metain:focus{border-color:var(--ac)}\n.mrow .os{display:inline;margin:0 0 0 4px}\n.bar i.over{background:var(--dn)}\ntd.lp{color:var(--mu)}\n.tk{display:inline-flex;align-items:center}\n.lg{width:24px;height:24px;border-radius:7px;margin-right:10px;object-fit:cover;flex:none;display:inline-block;background:#fff}\n.lg.ini{background:var(--in);color:var(--mu);font-size:10px;font-weight:600;line-height:24px;text-align:center;letter-spacing:.02em}\n.chip .lg{width:18px;height:18px;line-height:18px;border-radius:5px;margin-right:2px;font-size:8px}\n.savebar{display:flex;align-items:center;gap:10px;background:var(--sf);border:1px solid var(--ac2);border-radius:12px;padding:12px 14px;margin-bottom:14px}\n.savebar .st{flex:1;min-width:0}\n.savebar .st b{display:block;font-weight:600}\n.savebar .st span{color:var(--mu);font-size:12px}\n.note{width:240px;background:var(--in);border:1px solid transparent;color:var(--tx);border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;outline:0}\n.note:focus{border-color:var(--ac)}\n`,\n\n  render(d2) {\n    const ds = d2.data('ativos')\n    if (!ds) return `<div class=\"app\"><p class=\"empty\">Tabela de ativos não vinculada.</p></div>`\n    if (ds.loading) return `<div class=\"app\"><p class=\"empty\">Carregando ativos…</p></div>`\n    const S = d2.state\n    const draft = S.draft || {}\n    const upd = S.updated || {}\n    const recs = (ds.records() || []).slice().sort((a, b) => (Number(a.ordem) || 0) - (Number(b.ordem) || 0))\n\n    const val = (r, k) => {\n      const key = (r._id || '') + ':' + k\n      return draft[key] != null ? parse(draft[key]) : Number(r[k]) || 0\n    }\n    const shown = (r, k, dec) => {\n      const key = (r._id || '') + ':' + k\n      if (draft[key] != null) return draft[key]\n      const n = Number(r[k]) || 0\n      if (!dec) return n ? String(n) : ''\n      return n ? NUM.format(n) : ''\n    }\n    const total = (r) => (r.valorDireto ? val(r, 'valor') : val(r, 'preco') * val(r, 'quantidade'))\n\n    const sums = {}\n    CATS.forEach((c) => { sums[c.key] = 0 })\n    recs.forEach((r) => {\n      const k = sums[r.categoria] != null ? r.categoria : 'outros'\n      sums[k] += total(r)\n    })\n    const grand = Object.values(sums).reduce((a, b) => a + b, 0)\n    const msums = {}\n    CATS.forEach((c) => { msums[c.key] = 0 })\n    const metas = S.metas || {}\n    CATS.forEach((c) => { msums[c.key] = parse(metas[c.key] != null ? metas[c.key] : '') })\n    const mgrand = Object.values(msums).reduce((a, b) => a + b, 0)\n    const orc = parse(S.orcamento != null ? S.orcamento : '')\n    let orcStatus = ''\n    if (orc > 0) {\n      const df = orc - grand\n      orcStatus = df > 0.005 ? `<small class=\"os under\">faltam ${money(df)}</small>` : df < -0.005 ? `<small class=\"os over\">passou ${money(-df)}</small>` : '<small class=\"os ok\">no orçamento</small>'\n    }\n    const last = recs.reduce((m, r) => (r.atualizadoEm && r.atualizadoEm > m ? r.atualizadoEm : m), '')\n    const lastTxt = last ? new Date(last).toLocaleString('pt-BR', { day: '2-digit', month: '2-digit', hour: '2-digit', minute: '2-digit' }) : 'nunca'\n\n    const row = (r, i) => {\n      const id = esc(r._id || '')\n      const t = norm(r.ticker)\n      const u = upd[t]\n      const tot = total(r)\n      const cur = Number(r.preco) || 0\n      const prev = Number(r.precoAnterior) || 0\n      let delta = '<span class=\"d\"></span>'\n      if (!r.valorDireto && cur > 0 && prev > 0 && Math.abs(cur - prev) > 0.0001) {\n        const pc = (cur / prev - 1) * 100\n        const tip = `last price ${money(prev)} (${pc >= 0 ? '+' : ''}${pc.toFixed(2).replace('.', ',')}%)`\n        delta = cur > prev ? `<span class=\"d u\" title=\"${tip}\">▲</span>` : `<span class=\"d n\" title=\"${tip}\">▼</span>`\n      }\n      const lastCell = r.valorDireto ? '' : (prev > 0 ? NUM.format(prev) : '<span class=\"free\">-</span>')\n\n      const priceCell = r.valorDireto\n        ? `<span class=\"free\">valor livre</span>`\n        : `<input class=\"in p\" data-id=\"${id}\" data-k=\"preco\" value=\"${esc(shown(r, 'preco', true))}\" placeholder=\"0,00\">${delta}`\n      const qtyCell = r.valorDireto ? '' : `<input class=\"in q\" data-id=\"${id}\" data-k=\"quantidade\" value=\"${esc(shown(r, 'quantidade', false))}\" placeholder=\"0\">`\n      const totCell = r.valorDireto\n        ? `<input class=\"in v\" data-id=\"${id}\" data-k=\"valor\" value=\"${esc(shown(r, 'valor', true))}\" placeholder=\"R$ 0,00\">`\n        : money(tot)\n      return `<tr data-key=\"${esc(r._id || 'pending-' + i)}\" data-rid=\"${id}\" data-cat=\"${esc(sums[r.categoria] != null ? r.categoria : 'outros')}\" class=\"${u ? 'up' : ''} ${tot > 0 ? 'has' : ''}\">\n        <td><span class=\"tk\"><span class=\"grip ${sortBy !== 'manual' ? 'off' : ''}\" data-id=\"${id}\" title=\"Arraste para reordenar\"><svg viewBox=\"0 0 8 14\" width=\"8\" height=\"14\" fill=\"currentColor\"><circle cx=\"2\" cy=\"2\" r=\"1.3\"/><circle cx=\"6\" cy=\"2\" r=\"1.3\"/><circle cx=\"2\" cy=\"7\" r=\"1.3\"/><circle cx=\"6\" cy=\"7\" r=\"1.3\"/><circle cx=\"2\" cy=\"12\" r=\"1.3\"/><circle cx=\"6\" cy=\"12\" r=\"1.3\"/></svg></span><span class=\"dot\"></span>${logo(d2, r.ticker, r.valorDireto)}<span class=\"tkn\" data-t=\"${esc(t)}\" title=\"Ver preço nos aportes\">${esc(String(r.ticker || '').toUpperCase())}</span></span></td>\n        <td class=\"lp\">${lastCell}</td>\n        <td>${priceCell}</td>\n        <td>${qtyCell}</td>\n        <td class=\"tot\">${totCell}</td>\n        <td style=\"padding:0\"><button class=\"del\" data-id=\"${id}\" data-t=\"${esc(r.ticker)}\" title=\"Remover\">×</button></td>\n      </tr>`\n    }\n\n    const sk = S.sortKey || ''\n    const sd = S.sortDir === 'desc' ? -1 : 1\n    const sortBy = sk ? 'custom' : 'manual'\n    const SK_LABEL = { ticker: 'Ativo', precoAnterior: 'Last price', preco: 'Preço', quantidade: 'Qtd', total: 'Total' }\n    const sortRows = (arr) => {\n      const a = arr.slice()\n      if (!sk) return a\n      const kv = (r) => {\n        if (sk === 'ticker') return String(r.ticker || '')\n        if (sk === 'total') return total(r)\n        if (r.valorDireto) return null\n        return Number(r[sk]) || 0\n      }\n      a.sort((x, y) => {\n        const vx = kv(x), vy = kv(y)\n        if (vx === null && vy === null) return 0\n        if (vx === null) return 1\n        if (vy === null) return -1\n        if (typeof vx === 'string') return vx.localeCompare(vy) * sd\n        return (vx - vy) * sd\n      })\n      return a\n    }\n    const th = (k, label, al) => `<th class=\"sth ${sk === k ? 'on' : ''}\" data-sk=\"${k}\"${al ? ` style=\"text-align:${al}\"` : ''} title=\"Ordenar por ${label}\">${label}${sk === k ? (sd > 0 ? ' ▲' : ' ▼') : ''}</th>`\n\n    const cols = CATS.map((c) => {\n      const list = recs.filter((r) => (sums[r.categoria] != null ? r.categoria : 'outros') === c.key)\n      const vis = S.onlyBuy ? list.filter((r) => total(r) > 0.005) : list\n      const pct = grand > 0 ? (sums[c.key] / grand) * 100 : 0\n      const mt = msums[c.key]\n      let mst = ''\n      let mcls = ''\n      if (mt > 0) {\n        const TOL = 100\n        const df = mt - sums[c.key]\n        if (df < -TOL) { mcls = 'over'; mst = `<small class=\"os over\">passou ${money(-df)}</small>` }\n        else if (df > TOL) { mcls = 'under'; mst = `<small class=\"os under\">faltam ${money(df)}</small>` }\n        else {\n          mcls = 'ok'\n          const det = Math.abs(df) < 0.005 ? '' : df > 0 ? ` · faltam ${money(df)}` : ` · passou ${money(-df)}`\n          mst = `<small class=\"os ok\">na meta${det}</small>`\n        }\n      }\n      const barW = mt > 0 ? Math.min(100, (sums[c.key] / mt) * 100) : pct\n      return `<section class=\"card\" data-key=\"col-${c.key}\">\n        <div class=\"ch\">\n          <div class=\"row1\"><h2>${c.label}<em>${S.onlyBuy ? `${vis.length} de ${list.length}` : list.length}</em></h2><span class=\"sub\">${money(sums[c.key])}</span></div>\n          <div class=\"mrow\"><span>Meta</span><input class=\"metain\" data-cat=\"${c.key}\" value=\"${esc(metas[c.key] != null ? metas[c.key] : '')}\" placeholder=\"R$ 0,00\">${mst}</div>\n          <div class=\"bar\"><i class=\"${mcls}\" style=\"width:${barW.toFixed(1)}%\"></i></div>\n          <div class=\"pct\">${pct.toFixed(1).replace('.', ',')}% do aporte${mt > 0 ? ` · ${Math.round((sums[c.key] / mt) * 100)}% da meta` : ''}</div>\n        </div>\n        <table>\n          <thead><tr>${th('ticker', 'Ativo')}${th('precoAnterior', 'Last price')}${th('preco', 'Preço')}${th('quantidade', 'Qtd', 'center')}${th('total', 'Total')}<th></th></tr></thead>\n          <tbody>${vis.length ? sortRows(vis).map(row).join('') : `<tr data-key=\"empty-${c.key}\"><td colspan=\"6\" class=\"emptyrow\">Nada para comprar nesta categoria</td></tr>`}</tbody>\n        </table>\n        <div class=\"cf\"><button class=\"add\" data-cat=\"${c.key}\">+ Adicionar ativo</button></div>\n      </section>`\n    }).join('')\n\n    const miss = (S.missing || []).length\n      ? `<div class=\"miss\"><span class=\"lb\">Fora da sua lista:</span>${S.missing.map((m) =>\n        `<span class=\"chip\" data-key=\"m-${esc(m.ticker)}\">${logo(d2, m.ticker)}<b>${esc(m.ticker)}</b><em>${money(m.preco)}</em>\n          ${CATS.map((c) => `<button class=\"addm\" data-t=\"${esc(m.ticker)}\" data-p=\"${m.preco}\" data-cat=\"${c.key}\">+ ${c.label}</button>`).join('')}\n        </span>`).join('')}<button class=\"link dismiss\">ignorar</button></div>`\n      : ''\n\n    const dropInner = S.importing\n      ? `<div class=\"ic\"><div class=\"spin\"></div></div><div class=\"t\"><b>Lendo a print…</b><span>Extraindo tickers e preço atual. A imagem não é salva.</span></div>`\n      : `<div class=\"ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 8h.01\"/><path d=\"M12 21H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v6\"/><path d=\"m3 16 5-5c.93-.9 2.07-.9 3 0l4 4\"/><path d=\"M19 22v-6\"/><path d=\"m22 19-3-3-3 3\"/></svg></div>\n         <div class=\"t\"><b>${S.armed ? 'Pronto, cole a print agora (Ctrl+V)' : 'Atualizar cotações pela print'}</b><span>${S.armed ? 'A área está ativa. ' : 'Clique aqui e cole com <span class=\"kbd\">Ctrl+V</span> (também funciona arrastando a imagem). '}Só o ticker e o preço atual são usados; a imagem é descartada.</span></div>`\n\n    return `<div class=\"app\">\n      <header class=\"top\">\n        <div class=\"brand\"><div class=\"logo\">IM</div><div><h1>Invest manager</h1><small>Cotações atualizadas em ${esc(lastTxt)}</small>${S.uso && S.uso.limite ? (() => { const used = Math.max(0, S.uso.limite - S.uso.restantes); const pc = used / S.uso.limite; return `<small class=\"uso ${pc >= 0.9 ? 'crit' : pc >= 0.7 ? 'warn' : ''}\" title=\"Requisições usadas na brapi na janela móvel de 30 dias. Registrado em ${esc(fmtDT(S.uso.em))}\">brapi: ${used.toLocaleString('pt-BR')}/${S.uso.limite.toLocaleString('pt-BR')} req. (30 dias)</small>` })() : ''}</div></div>\n        <div class=\"kpis\">\n          <div class=\"kpi orc\"><span>Orçamento do aporte</span><input class=\"orcin\" value=\"${esc(S.orcamento != null ? S.orcamento : '')}\" placeholder=\"R$ 0,00\"></div>\n          ${mgrand > 0 ? `<div class=\"kpi\"><span>Soma das metas</span><b class=\"${orc > 0 && mgrand > orc + 0.005 ? 'ovr' : ''}\">${money(mgrand)}</b></div>` : ''}\n          <div class=\"kpi main\"><span>Total a investir</span><b>${money(grand)}</b>${orcStatus}</div>\n          ${S.view === 'hist' ? `<button class=\"btn histonly ${S.histOnly ? 'on' : ''}\">${S.histOnly ? 'Mostrar tudo' : 'Mostrar só o que comprei'}</button>` : `<button class=\"btn onlybtn ${S.onlyBuy ? 'on' : ''}\">${S.onlyBuy ? 'Mostrar tudo' : 'Mostrar só o que vou comprar'}</button>`}\n          <button class=\"btn zero\">Zerar quantidades</button>\n          <button class=\"btn refresh\" ${S.refreshing ? 'disabled' : ''}>${S.refreshing ? 'Atualizando…' : 'Atualizar preços'}</button>\n          ${S.view === 'hist' ? '<button class=\"btn back\">Voltar</button>' : '<button class=\"btn histbtn\">Histórico</button>'}\n          <button class=\"btn pri save\">${S.saving ? 'Salvando…' : 'Salvar aporte'}</button>\n        </div>\n      </header>\n      ${S.view === 'hist' ? renderHist(d2, recs) : `<div class=\"wrap\">\n        ${S.confirmSave ? `<div class=\"savebar\"><div class=\"st\"><b>Salvar aporte de hoje · ${money(grand)}</b><span>Guarda a data, o preço de todos os ativos (inclusive os sem compra) e as quantidades escolhidas.</span></div><input class=\"note\" placeholder=\"Observação (opcional)\" maxlength=\"120\"><button class=\"btn cancelsave\">Cancelar</button><button class=\"btn pri dosave\">${S.saving ? 'Salvando…' : 'Confirmar'}</button></div>` : ''}\n        <div class=\"drop ${S.over ? 'over' : ''} ${S.armed ? 'armed' : ''}\" tabindex=\"0\">${dropInner}</div>\n        ${S.msg ? `<div class=\"msg ${S.msg.type}\">${esc(S.msg.text)}</div>` : ''}\n        ${miss}\n        ${sk ? `<div class=\"tools\"><span>Ordenado por <b>${SK_LABEL[sk] || sk}</b> ${sd > 0 ? '(crescente)' : '(decrescente)'} · para arrastar e reordenar, <button class=\"link clrsort\">volte para a sua ordem</button></span></div>` : ''}\n        <div class=\"cols\">${cols}</div>\n      </div>`}\n      ${S.chart ? renderChart(d2, S.chart) : ''}\n    </div>`\n  },\n\n  mounted(d2) {\n    const S = d2.state\n    const ds0 = d2.data('ativos')\n    if (ds0 && ds0.loadAll) ds0.loadAll()\n    const hs0 = d2.data('aportes')\n    if (hs0 && hs0.loadAll) hs0.loadAll()\n    try { const ov = window.localStorage.getItem('invest-orcamento'); if (ov != null) S.orcamento = ov } catch (err) {}\n    d2.on('.orcin', 'input', (e, el) => { S.orcamento = el.value; try { window.localStorage.setItem('invest-orcamento', el.value) } catch (err) {} })\n    d2.on('.orcin', 'keydown', (e, el) => { if (e.key === 'Enter') el.blur() })\n    try { const mv = window.localStorage.getItem('invest-metas'); if (mv) S.metas = JSON.parse(mv) } catch (err) {}\n    d2.on('.metain', 'input', (e, el) => {\n      S.metas = { ...(S.metas || {}), [el.dataset.cat]: el.value }\n      try { window.localStorage.setItem('invest-metas', JSON.stringify(S.metas)) } catch (err) {}\n    })\n    d2.on('.metain', 'keydown', (e, el) => { if (e.key === 'Enter') el.blur() })\n    d2.on('.tkn', 'click', (e, el) => { if (el.dataset.t) S.chart = el.dataset.t })\n    d2.on('.closechart', 'click', () => { S.chart = null })\n    d2.on('.ovl', 'click', (e, el) => { if (e.target === el) S.chart = null })\n    d2.on(window, 'keydown', (e) => { if (e.key === 'Escape' && S.chart) S.chart = null })\n\n\n    const findRec = (id) => (d2.data('ativos').records() || []).find((r) => r._id === id)\n    const nextOrder = (cat) => (d2.data('ativos').records() || []).filter((r) => r.categoria === cat).reduce((m, r) => Math.max(m, Number(r.ordem) || 0), 0) + 1\n\n    d2.on('.in', 'input', (e, el) => {\n      S.draft = { ...(S.draft || {}), [el.dataset.id + ':' + el.dataset.k]: el.value }\n    })\n    d2.on('.in', 'keydown', (e, el) => {\n      if (e.key === 'Enter') { el.blur(); return }\n      if (e.key === 'Tab' && (el.classList.contains('q') || el.classList.contains('v'))) {\n        const all = d2.$('.in.q, .in.v')\n        const nx = all[all.indexOf(el) + (e.shiftKey ? -1 : 1)]\n        if (nx) { e.preventDefault(); nx.focus(); try { nx.select() } catch (err) {} }\n      }\n    })\n    d2.on('.in', 'focus', (e, el) => { if (el.classList.contains('q') || el.classList.contains('v')) { try { el.select() } catch (err) {} } })\n    const loadUso = async () => {\n      try {\n        const rr = await fetch('https://massayuki-playground.data2apis.com/rush/invest-uso-brapi', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: '{}' })\n        if (!rr.ok) return\n        const j = await rr.json()\n        const u = j && j.data && j.data.limite != null ? j.data : j\n        if (u && u.limite) S.uso = { limite: Number(u.limite), restantes: Number(u.restantes), em: u.em }\n      } catch (err) {}\n    }\n    loadUso()\n    d2.on('.onlybtn', 'click', () => { S.onlyBuy = !S.onlyBuy })\n    d2.on('.refresh', 'click', async () => {\n      if (S.refreshing) return\n      S.refreshing = true\n      S.view = 'main'\n      S.msg = { type: 'ok', text: 'Buscando preços na brapi… isso leva alguns segundos.' }\n      const ds = d2.data('ativos')\n      const antes = {}\n      ;(ds.records() || []).forEach((r) => { antes[norm(r.ticker)] = Number(r.preco) || 0 })\n      try {\n        const resp = await fetch('https://massayuki-playground.data2apis.com/rush/invest-atualizar-precos', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: '{}' })\n        let out = null\n        try { out = await resp.json() } catch (err) {}\n        if (!resp.ok) throw new Error(resp.status === 401 || resp.status === 403 ? 'sem permissão (confira se o seu IP mudou)' : 'erro ' + resp.status)\n        const r = (out && out.data && out.data.ok != null) ? out.data : out\n        if (ds.loadAll) await ds.loadAll()\n        else if (ds.refresh) await ds.refresh()\n        const upd = {}\n        ;(ds.records() || []).forEach((x) => {\n          const t = norm(x.ticker)\n          if (!x.valorDireto && antes[t] != null && Math.abs((Number(x.preco) || 0) - antes[t]) > 0.0001) upd[t] = { de: antes[t], para: Number(x.preco) || 0 }\n        })\n        S.updated = upd\n        const n = r && r.atualizados != null ? r.atualizados : Object.keys(upd).length\n        const mud = r && Array.isArray(r.mudaram) ? r.mudaram.length : Object.keys(upd).length\n        const sem = r && Array.isArray(r.semCotacao) && r.semCotacao.length ? ` · sem cotação: ${r.semCotacao.join(', ')}` : ''\n        S.msg = { type: 'ok', text: `Preços atualizados pela brapi: ${n} ativo(s) consultado(s), ${mud} com preço diferente${sem}.` }\n        if (r && r.uso && Number(r.uso.limite) > 0 && Number(r.uso.restantes) >= 0) S.uso = { limite: Number(r.uso.limite), restantes: Number(r.uso.restantes), em: new Date().toISOString() }\n        else loadUso()\n      } catch (err) {\n        S.msg = { type: 'err', text: 'Não consegui atualizar os preços: ' + (err && err.message ? err.message : err) }\n      } finally {\n        S.refreshing = false\n      }\n    })\n    try { const sv = JSON.parse(window.localStorage.getItem('invest-sort2') || 'null'); if (sv && sv.k) { S.sortKey = sv.k; S.sortDir = sv.d } } catch (err) {}\n    const saveSort = () => { try { window.localStorage.setItem('invest-sort2', JSON.stringify({ k: S.sortKey || '', d: S.sortDir || 'asc' })) } catch (err) {} }\n    d2.on('.sth', 'click', (e, el) => {\n      const k = el.dataset.sk\n      if (!k) return\n      if (S.sortKey !== k) { S.sortKey = k; S.sortDir = 'asc' }\n      else if (S.sortDir !== 'desc') S.sortDir = 'desc'\n      else { S.sortKey = ''; S.sortDir = 'asc' }\n      saveSort()\n    })\n    d2.on('.clrsort', 'click', () => { S.sortKey = ''; S.sortDir = 'asc'; saveSort() })\n    d2.on('.exec', 'change', async (e, el) => {\n      const hs = d2.data('aportes')\n      const rec = (hs.records() || []).find((h) => h._id === el.dataset.h)\n      if (!rec) return\n      const idx = Number(el.dataset.i)\n      const itens = (Array.isArray(rec.itens) ? rec.itens : []).map((it, i) => (i === idx ? { ...it, comprado: el.checked } : it))\n      await hs.update({ ...rec, itens: itens })\n    })\n    d2.on('.histonly', 'click', () => { S.histOnly = !S.histOnly })\n    d2.on('.in', 'change', async (e, el) => {\n      const key = el.dataset.id + ':' + el.dataset.k\n      const rec = findRec(el.dataset.id)\n      if (rec) {\n        const patch = { ...rec, [el.dataset.k]: parse(el.value) }\n        if (el.dataset.k === 'preco') {\n          patch.atualizadoEm = new Date().toISOString()\n          const old = Number(rec.preco) || 0\n          if (old > 0 && Math.abs(old - patch.preco) > 0.0001) patch.precoAnterior = old\n        }\n        await d2.data('ativos').update(patch)\n      }\n      const dr = { ...(S.draft || {}) }\n      delete dr[key]\n      S.draft = dr\n    })\n\n    d2.on('.drop', 'click', (e, el) => { if (!S.importing) { S.armed = true; try { el.focus({ preventScroll: true }) } catch (err) {} } })\n    d2.on(document, 'pointerdown', (e) => {\n      if (!S.armed) return\n      const path = (e.composedPath && e.composedPath()) || []\n      if (!path.some((n) => n && n.classList && n.classList.contains('drop'))) S.armed = false\n    })\n    d2.on(document, 'paste', (e) => {\n      const items = Array.from((e.clipboardData && e.clipboardData.items) || [])\n      const it = items.find((i) => String(i.type).startsWith('image/'))\n      if (it) { e.preventDefault(); importFile(d2, it.getAsFile()) }\n    })\n    const isFileDrag = (e) => !!(e.dataTransfer && Array.from(e.dataTransfer.types || []).includes('Files'))\n    d2.on('.app', 'dragover', (e) => { if (!isFileDrag(e)) return; e.preventDefault(); if (!S.over) S.over = true })\n    d2.on('.app', 'dragleave', (e) => { if (!e.relatedTarget && S.over) S.over = false })\n    d2.on('.app', 'drop', (e) => {\n      if (!isFileDrag(e)) return\n      e.preventDefault()\n      S.over = false\n      const f = e.dataTransfer && e.dataTransfer.files && e.dataTransfer.files[0]\n      importFile(d2, f)\n    })\n\n    let drag = null\n    const clearMarks = () => d2.$$('tr.dropb, tr.dropa').forEach((n) => n.classList.remove('dropb', 'dropa'))\n    const endDrag = () => {\n      clearMarks()\n      d2.$$('tr.dragging').forEach((n) => n.classList.remove('dragging'))\n      const ap = d2.$('.app')\n      if (ap) ap.classList.remove('dragmode')\n    }\n    d2.on('.grip', 'pointerdown', (e, el) => {\n      if (e.button != null && e.button !== 0) return\n      e.preventDefault()\n      const tr = el.closest('tr')\n      if (!tr || !el.dataset.id) return\n      drag = { id: el.dataset.id, cat: tr.dataset.cat, target: null, after: false }\n      tr.classList.add('dragging')\n      const ap = d2.$('.app')\n      if (ap) ap.classList.add('dragmode')\n    })\n    d2.on(window, 'pointermove', (e) => {\n      if (!drag) return\n      const sr = d2.root && d2.root.getRootNode ? d2.root.getRootNode() : document\n      const hit = sr.elementFromPoint ? sr.elementFromPoint(e.clientX, e.clientY) : document.elementFromPoint(e.clientX, e.clientY)\n      const row = hit && hit.closest ? hit.closest('tr[data-rid]') : null\n      clearMarks()\n      if (!row || row.dataset.cat !== drag.cat || row.dataset.rid === drag.id) { drag.target = null; return }\n      const rc = row.getBoundingClientRect()\n      drag.after = e.clientY > rc.top + rc.height / 2\n      drag.target = row.dataset.rid\n      row.classList.add(drag.after ? 'dropa' : 'dropb')\n    })\n    d2.on(window, 'pointercancel', () => { drag = null; endDrag() })\n    d2.on(window, 'pointerup', async () => {\n      if (!drag) return\n      const d = drag\n      drag = null\n      endDrag()\n      if (!d.target || d.target === d.id) return\n      const ds = d2.data('ativos')\n      const catOf = (r) => (['acoes', 'fiis', 'outros'].includes(r.categoria) ? r.categoria : 'outros')\n      const list = (ds.records() || []).filter((r) => r._id && catOf(r) === d.cat).sort((a, b) => (Number(a.ordem) || 0) - (Number(b.ordem) || 0))\n      const from = list.findIndex((r) => r._id === d.id)\n      if (from < 0) return\n      const mv = list.splice(from, 1)[0]\n      let to = list.findIndex((r) => r._id === d.target)\n      if (to < 0) return\n      if (d.after) to += 1\n      list.splice(to, 0, mv)\n      await Promise.all(list.map((r, i) => (Number(r.ordem) !== i + 1 ? ds.update({ ...r, ordem: i + 1 }) : null)).filter(Boolean))\n    })\n\n    d2.on('.addm', 'click', async (e, el) => {\n      const t = el.dataset.t\n      const p = Number(el.dataset.p) || 0\n      const cat = el.dataset.cat\n      S.missing = (S.missing || []).filter((m) => m.ticker !== t)\n      S.updated = { ...(S.updated || {}), [t]: { de: 0, para: p } }\n      await d2.data('ativos').create({ ticker: t, categoria: cat, preco: p, quantidade: 0, ordem: nextOrder(cat), atualizadoEm: new Date().toISOString() })\n    })\n    d2.on('.dismiss', 'click', () => { S.missing = [] })\n\n    d2.on('.add', 'click', async (e, el) => {\n      const cat = el.dataset.cat\n      const raw = await d2.dialog.prompt('Ticker do novo ativo (ex: VALE3)')\n      const t = norm(raw)\n      if (!t) return\n      if ((d2.data('ativos').records() || []).some((r) => norm(r.ticker) === t)) {\n        S.msg = { type: 'err', text: `${t} já está na lista.` }\n        return\n      }\n      await d2.data('ativos').create({ ticker: t, categoria: cat, preco: 0, quantidade: 0, ordem: nextOrder(cat) })\n    })\n\n    d2.on('.del', 'click', async (e, el) => {\n      if (!el.dataset.id) return\n      const ok = await d2.dialog.confirm(`Remover ${el.dataset.t} da lista?`)\n      if (ok) await d2.data('ativos').remove(el.dataset.id)\n    })\n\n    d2.on('.histbtn', 'click', () => {\n      const h = d2.data('aportes')\n      if (h && h.refresh) h.refresh()\n      S.histSel = null\n      S.view = 'hist'\n    })\n    d2.on('.back', 'click', () => { S.view = 'main' })\n    d2.on('.hi', 'click', (e, el) => {\n      if (e.target && e.target.closest && e.target.closest('.hdel')) return\n      if (el.dataset.id) S.histSel = el.dataset.id\n    })\n    d2.on('.hdel', 'click', async (e, el) => {\n      if (!el.dataset.id) return\n      const ok = await d2.dialog.confirm('Excluir este aporte do histórico?')\n      if (ok) {\n        await d2.data('aportes').remove(el.dataset.id)\n        if (S.histSel === el.dataset.id) S.histSel = null\n      }\n    })\n    d2.on('.save', 'click', () => {\n      if (S.saving) return\n      S.view = 'main'\n      S.confirmSave = true\n    })\n    d2.on('.cancelsave', 'click', () => { S.confirmSave = false })\n    d2.on('.note', 'keydown', (e) => { if (e.key === 'Enter') { const b = d2.$('.dosave'); if (b) b.click() } })\n    d2.on('.dosave', 'click', async () => {\n      if (S.saving) return\n      const ne = d2.$('.note')\n      const note = ne ? ne.value : ''\n      S.saving = true\n      try {\n        const itens = snapshot(d2)\n        const total = Math.round(itens.reduce((s, i) => s + (Number(i.total) || 0), 0) * 100) / 100\n        const when = new Date().toISOString()\n        await d2.data('aportes').create({ data: when, total: total, itens: itens, nota: String(note || '').trim() })\n        S.confirmSave = false\n        S.msg = { type: 'ok', text: `Aporte de ${money(total)} salvo em ${fmtDT(when)}. Marque o que for comprando no Histórico.` }\n      } catch (err) {\n        S.msg = { type: 'err', text: 'Não consegui salvar o aporte: ' + (err && err.message ? err.message : err) }\n      } finally {\n        S.saving = false\n      }\n    })\n\n    d2.on('.zero', 'click', async () => {\n      const ok = await d2.dialog.confirm('Zerar todas as quantidades e valores?')\n      if (!ok) return\n      const ds = d2.data('ativos')\n      const jobs = (ds.records() || []).filter((r) => r._id && ((Number(r.quantidade) || 0) !== 0 || (Number(r.valor) || 0) !== 0))\n        .map((r) => ds.update({ ...r, quantidade: 0, valor: 0 }))\n      await Promise.all(jobs)\n      S.draft = {}\n    })\n  },\n}"}},"aportes":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"aportes"}}}},"ativos":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"ativos"}}}},"extrator":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"extrator"}}}}}}}}}},{"_id":"6ac6ab5c5da28ca8d58c2780","component":"data2-core-types@Component","system":"686bd24b4fcbdb97284775e3","params":{"extends":"data2-core-primitives@Block","component":"GI_App_Principal","package":"massayuki-playground","definition":{"preventEvaluation":true,"component":"data2-core-types@Definition","params":{"def":{"component":"data2-code-components@CodeHost","params":{"code":{"component":"data2-core-primitives@String","params":{"content":"const EL = { Pyro: '#e04a45', Hydro: '#3fb0dc', Anemo: '#3fc3ad', Electro: '#9a7ae8', Dendro: '#8fcc3d', Cryo: '#9cc4f0', Geo: '#f0b866' };\n\nconst esc = (s) => String(s == null ? '' : s).replace(/[&<>\"']/g, (c) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[c]));\nconst fmt = (n) => Math.round(n || 0).toLocaleString('pt-BR');\nconst signed = (p) => (p >= 0 ? '+' : '') + p.toFixed(1).replace('.', ',') + '%';\nconst buildStr = (c, r) => (c > 0 ? 'C' + c : '') + (r > 0 ? 'R' + r : '');\nconst mean = (xs) => (xs.length ? xs.reduce((a, b) => a + b, 0) / xs.length : 0);\nconst sleep = (ms) => new Promise((res) => setTimeout(res, ms));\nconst parseNum = (t) => { const n = parseFloat(String(t || '').replace(/\\./g, '').replace(',', '.')); return isNaN(n) || n <= 0 ? null : n; };\nconst keyOfBuilds = (builds) => builds.map((b) => b.characterId + ':C' + (b.constellation || 0) + 'R' + (b.refinement || 0)).sort().join('|');\nconst groupOf = (ids) => ids.slice().sort().join('|');\nconst dateBR = (d) => { if (!d) return ''; const x = new Date(d); return isNaN(x) ? '' : x.toLocaleDateString('pt-BR'); };\n\nconst ACTIONS = { rushDados: 'dados', rushRunAdd: 'runAdd', rushRunNote: 'runNote', rushRunDelete: 'runDelete', rushVersionDelete: 'versionDelete', rushTeamDelete: 'teamDelete', rushTeamRename: 'teamRename', rushTeamCreate: 'teamCreate', rushRoster: 'rosterSave', rushCatalog: 'catalogSave', rushEnka: 'enkaFetch', rushOnboard: 'onboardDone', rushRosto: 'rosto', rushPrint: 'lerPrint', rushAdminList: 'adminList', rushAdminAdd: 'adminAdd', rushAdminUpdate: 'adminUpdate', rushGerarCodigo: 'gerarCodigo', rushApelido: 'apelidoSave' };\n\nasync function callRush(d2, param, body) {\n  const res = await d2.rush(d2.param('rushDados')).invoke(Object.assign({}, body || {}, { action: ACTIONS[param] || param }));\n  const r = res && res.data && typeof res.data === 'object' && !Array.isArray(res.data) ? res.data : res;\n  return r || {};\n}\n\nasync function loadAllData(d2) {\n  for (let i = 0; i < 60 && d2.state.dataLoading; i++) await sleep(300);\n  d2.setState({ dataLoading: true });\n  let ok = false;\n  try {\n    const timeout = new Promise((res) => setTimeout(() => res({ ok: false, timeout: true }), 15000));\n    const r = await Promise.race([callRush(d2, 'rushDados', {}), timeout]);\n    if (r && r.ok) { d2.state.db = r; ok = true; }\n  } catch (e) {\n    ok = false;\n  }\n  d2.setState({ dataLoading: false, dataLoaded: true, loading: false, authed: ok });\n  return ok;\n}\n\nasync function loadAdmin(d2) {\n  try {\n    const r = await callRush(d2, 'rushAdminList', {});\n    d2.setState({ adm: r && r.ok ? r : { acessos: [], users: [] }, admErr: r && r.ok ? '' : 'Não foi possível carregar os acessos.' });\n  } catch (e) {\n    d2.setState({ adm: { acessos: [], users: [] }, admErr: 'Não foi possível carregar os acessos.' });\n  }\n}\n\nfunction adminPage(d2, M) {\n  const s = d2.state;\n  const A = s.adm;\n  const role = s.admRole || 'player';\n  const acessos = A ? A.acessos.slice().sort((a, b) => String(a.email).localeCompare(String(b.email))) : [];\n  const users = A ? A.users : [];\n  const activeAdmins = acessos.filter((x) => x.active && x.role === 'admin').length;\n  const rows = acessos.map((x) => {\n    const u = users.find((y) => String(y.email || '').toLowerCase() === String(x.email || '').toLowerCase());\n    const conta = u && !u.semSenha ? 'Conta criada' : 'Ainda não criou conta';\n    const locked = x.active && x.role === 'admin' && activeAdmins <= 1;\n    const isAdmin = x.role === 'admin';\n    return `<tr style=\"opacity:${x.active ? 1 : 0.55}\">\n      <td style=\"padding:12px 10px\"><b>${esc(x.email)}</b></td>\n      <td><span class=\"tag\" style=\"margin:0;background:${isAdmin ? '#b3121f' : '#3a2a2a'}\">${isAdmin ? 'Admin' : 'Jogador'}</span></td>\n      <td>${x.active ? 'Ativo' : 'Bloqueado'}</td>\n      <td class=\"muted\">${conta}</td>\n      <td><div class=\"row\" style=\"justify-content:flex-end;gap:8px\">\n        <button class=\"btn sm\" data-act=\"admUpd\" data-id=\"${x._id}\" data-role=\"${isAdmin ? 'player' : 'admin'}\" data-active=\"${x.active ? 1 : 0}\" ${locked || s.busy ? 'disabled title=\"Único admin ativo\"' : ''}>${isAdmin ? 'Tornar jogador' : 'Tornar admin'}</button>\n        <button class=\"btn sm\" style=\"color:#e8a3a3\" data-act=\"admUpd\" data-id=\"${x._id}\" data-role=\"${x.role}\" data-active=\"${x.active ? 0 : 1}\" ${locked || s.busy ? 'disabled title=\"Único admin ativo\"' : ''}>${x.active ? 'Bloquear' : 'Reativar'}</button>\n        <button class=\"btn sm\" data-act=\"admCode\" data-email=\"${esc(x.email)}\" ${u && !u.semSenha && !s.busy ? '' : 'disabled title=\"A pessoa ainda não criou a conta\"'}>Código de senha</button>\n      </div></td></tr>`;\n  }).join('');\n  const codeModal = s.admCode ? `<div class=\"overlay\"><div class=\"modal\"><h2 style=\"font-size:22px\">Código de redefinição</h2>\n    <div class=\"note\">Passe este código para <b>${esc(s.admCode.email)}</b>. Ele vale por 24 horas e só pode ser usado uma vez, na tela \"Esqueci a senha\".</div>\n    <div style=\"font-size:40px;font-weight:800;letter-spacing:.2em;text-align:center\">${esc(s.admCode.code)}</div>\n    <button class=\"btn primary\" data-act=\"admCloseCode\">Fechar</button></div></div>` : '';\n  return `<div class=\"app\"><div class=\"wrap\">\n    <div class=\"row between\">\n      <div><div class=\"kicker\">Genshin · DPS</div><div class=\"row\" style=\"gap:10px\"><h1>Acessos</h1><span class=\"tag\" style=\"background:#b3121f;margin:0\">ADMIN</span></div></div>\n      <button class=\"btn\" data-act=\"closeAdmin\">Voltar ao app</button>\n    </div>\n    <div class=\"panel\" style=\"gap:14px\">\n      <h2>Liberar novo acesso</h2>\n      <div class=\"row\" style=\"align-items:flex-end\">\n        <div style=\"flex:1 1 320px;display:flex;flex-direction:column;gap:6px\"><label class=\"f\" for=\"adm-email\">E-mail</label><input id=\"adm-email\" class=\"input dark\" placeholder=\"nome@gmail.com\" value=\"${esc(s.admEmail || '')}\" data-in=\"admEmail\" data-key-enter=\"admAdd\"></div>\n        <div style=\"display:flex;flex-direction:column;gap:6px\"><span class=\"f\">Papel</span><div class=\"seg\"><button class=\"${role === 'player' ? 'on' : ''}\" data-act=\"admRole\" data-v=\"player\">Jogador</button><button class=\"${role === 'admin' ? 'on' : ''}\" data-act=\"admRole\" data-v=\"admin\">Admin</button></div></div>\n        <button class=\"btn primary\" data-act=\"admAdd\" ${s.busy ? 'disabled' : ''}>Liberar acesso</button>\n      </div>\n      ${s.admMsg ? `<div class=\"muted\"><b>${esc(s.admMsg)}</b></div>` : ''}\n      <div class=\"muted\">A pessoa usa \"Criar conta\" com esse e-mail. Bloquear não apaga os dados dela.</div>\n    </div>\n    <div class=\"panel\" style=\"gap:14px\">\n      <div class=\"row between\"><h2>Pessoas com acesso</h2><span class=\"muted\">${acessos.filter((x) => x.active).length} ativos · ${activeAdmins} admin(s)</span></div>\n      ${s.admErr ? `<div class=\"warn\">${esc(s.admErr)}</div>` : ''}\n      ${A ? `<div style=\"overflow-x:auto\"><table><thead><tr><th>E-mail</th><th>Papel</th><th>Situação</th><th>Conta</th><th></th></tr></thead><tbody>${rows || '<tr><td colspan=\"5\" class=\"muted\">Ninguém liberado ainda.</td></tr>'}</tbody></table></div>` : '<div class=\"muted\">Carregando…</div>'}\n      <div class=\"muted\">O último admin ativo não pode ser bloqueado nem virar jogador. Mudanças de papel valem a partir do próximo login da pessoa.</div>\n    </div>\n  </div>${codeModal}</div>`;\n}\n\nconst norm = (t) => String(t || '').normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase().replace(/[^a-z0-9 ]/g, ' ').replace(/\\s+/g, ' ').trim();\n\nfunction findChar(M, raw) {\n  const n = norm(raw);\n  if (!n) return { unknown: true };\n  if (/^(viajante|traveler|traveller)$/.test(n)) return { traveler: true };\n  const hit = M.chars.find((c) => [c.namePt, c.nameEn].concat(c.aliases || []).some((x) => norm(x) === n));\n  return hit ? { charId: hit._id } : { unknown: true };\n}\n\nasync function imageToDataUrl(file) {\n  const url = URL.createObjectURL(file);\n  try {\n    const img = await new Promise((res, rej) => { const i = new Image(); i.onload = () => res(i); i.onerror = rej; i.src = url; });\n    const max = 1400;\n    const scale = Math.min(1, max / Math.max(img.width, img.height));\n    const c = document.createElement('canvas');\n    c.width = Math.round(img.width * scale); c.height = Math.round(img.height * scale);\n    c.getContext('2d').drawImage(img, 0, 0, c.width, c.height);\n    return c.toDataURL('image/jpeg', 0.85);\n  } finally { URL.revokeObjectURL(url); }\n}\n\nasync function handlePrintFile(d2, file) {\n  if (!file || !/^image\\//.test(file.type || '')) { d2.setState({ pr: { stage: 'error', title: 'Arquivo não é uma imagem', msg: 'Envie a captura de tela do resultado de dano.' } }); return; }\n  if (d2.state.pr && (d2.state.pr.stage === 'reading' || d2.state.pr.stage === 'saving')) return;\n  d2.setState({ pr: { stage: 'reading' }, prToast: null });\n  let res = null;\n  try {\n    const image = await imageToDataUrl(file);\n    const r = await callRush(d2, 'rushPrint', { image });\n    res = r && r.result ? r.result : null;\n    if (typeof res === 'string') { try { res = JSON.parse(res); } catch (e) { res = null; } }\n  } catch (e) { d2.log(e); res = null; }\n  if (!res || res.ok === false || !Array.isArray(res.members) || !res.members.length || !res.dps) {\n    d2.setState({ pr: { stage: 'error', title: 'Não foi possível ler a imagem', msg: 'Nada foi registrado. Confira se a imagem é a tela de resultado de dano completa e envie de novo.' } });\n    return;\n  }\n  const M = model(d2);\n  const members = res.members.map((m) => Object.assign({ raw: m.name, damage: Math.round(+m.damage || 0), pct: m.pct }, findChar(M, m.name)));\n  const unknown = members.filter((m) => m.unknown);\n  if (unknown.length) { d2.setState({ pr: { stage: 'error', title: 'Personagem fora do catálogo', msg: unknown.map((m) => '\"' + m.raw + '\"').join(', ') + ' ainda não está cadastrado no app. Fale com o administrador pra incluir e envie a print de novo.' } }); return; }\n  const pr = { stage: 'review', dps: Math.round(+res.dps), total: Math.round(+res.totalDamage || 0), members, builds: {} };\n  d2.setState({ pr });\n}\n\nfunction printIssues(d2) {\n  const s = d2.state; const pr = s.pr; const M = model(d2);\n  const sum = pr.members.reduce((a, m) => a + (+m.damage || 0), 0);\n  const sumOk = !pr.total || Math.abs(sum - pr.total) <= Math.max(2, pr.total * 0.002);\n  const traveler = pr.members.some((m) => m.traveler && !m.charId);\n  const fewer = pr.members.length < 4;\n  const ids = pr.members.map((m) => m.charId).filter(Boolean);\n  const dupChar = ids.some((x, i) => ids.indexOf(x) !== i);\n  const missing = ids.filter((id) => !M.rosterBy[id] || M.rosterBy[id].owned === false);\n  return { sum, sumOk, traveler, fewer, dupChar, missing, needsInput: !sumOk || traveler || fewer || dupChar || missing.length > 0 };\n}\n\nasync function savePrint(d2) {\n  const pr = d2.state.pr;\n  const M0 = model(d2);\n  const dup = M0.runs.find((r) => Math.round(+r.dps) === Math.round(+pr.dps) && Math.round(+(r.totalDamage || 0)) === Math.round(+pr.total || 0));\n  if (dup) {\n    const dv = M0.versions.find((v) => v._id === dup.versionId);\n    const dt = M0.teams.find((t) => t._id === (dup.teamId || (dv && dv.teamId)));\n    d2.setState({ pr: { stage: 'error', title: 'Esse dano já foi registrado', msg: 'O DPS e o dano total são idênticos a um teste que você já tem' + (dt ? ' em ' + dt.label : '') + '. Como dois testes nunca dão exatamente o mesmo dano, nada foi registrado.' } });\n    return;\n  }\n  d2.setState({ pr: Object.assign({}, pr, { stage: 'saving' }) });\n  try {\n    let M = model(d2);\n    const ids = pr.members.map((m) => m.charId);\n    for (const id of ids) {\n      if (!M.rosterBy[id] || M.rosterBy[id].owned === false) {\n        const b = pr.builds[id] || { c: 0, r: 0 };\n        const r = await mustOk(d2, 'rushRoster', { characterId: id, constellation: +b.c || 0, refinement: +b.r || 0, owned: true });\n        applyData(d2, r);\n      }\n    }\n    M = model(d2);\n    const gk = groupOf(ids);\n    let team = M.teams.find((t) => groupOf(t.memberOrder || []) === gk);\n    let created = false;\n    if (!team) {\n      const label = (M.charById[ids[0]] || {}).namePt || 'Novo time';\n      const r = await mustOk(d2, 'rushTeamCreate', { groupKey: gk, label, memberOrder: ids, firstCharacterId: ids[0] });\n      applyData(d2, r);\n      M = model(d2);\n      team = M.teams.find((t) => t._id === r.teamId) || M.teams.find((t) => groupOf(t.memberOrder || []) === gk);\n      created = true;\n    }\n    const builds = M.currentBuilds(team.memberOrder || ids);\n    const breakdown = {};\n    pr.members.forEach((m) => { breakdown[m.charId] = Math.round(+m.damage || 0); });\n    const r = await mustOk(d2, 'rushRunAdd', { teamId: team._id, compositionKey: keyOfBuilds(builds), builds, dps: pr.dps, totalDamage: pr.total, breakdown, source: 'print' });\n    applyData(d2, r);\n    d2.setState({ pr: null, sel: team._id, selVersion: r.versionId, q: '', prToast: { text: (created ? 'Time novo criado e dano registrado: ' : 'Dano registrado em ') + team.label + ' · ' + fmt(pr.dps) } });\n  } catch (e) {\n    d2.log(e);\n    d2.setState({ pr: Object.assign({}, pr, { stage: 'review', err: 'Não foi possível registrar: ' + (e && e.message ? e.message : e) }) });\n  }\n}\n\nfunction renderPrint(d2) {\n  const s = d2.state; const pr = s.pr;\n  if (!pr) return '';\n  if (pr.stage === 'reading' || pr.stage === 'saving') return `<div class=\"overlay\"><div class=\"modal\" style=\"align-items:center\"><div class=\"loading\" style=\"height:auto\">${pr.stage === 'reading' ? 'Lendo a print…' : 'Registrando…'}</div></div></div>`;\n  if (pr.stage === 'error') return `<div class=\"overlay\"><div class=\"modal\"><div class=\"kicker\">Leitura da print</div><h2 style=\"font-size:22px\">${esc(pr.title)}</h2><div class=\"note\">${esc(pr.msg)}</div><button class=\"btn primary\" data-act=\"prDiscard\">Entendi</button></div></div>`;\n  const M = model(d2);\n  const I = printIssues(d2);\n  const travelers = M.chars.filter((c) => /^Viajante /.test(c.namePt));\n  const owned = Object.keys(M.rosterBy).filter((id) => M.rosterBy[id].owned !== false && M.charById[id]).sort((a, b) => M.charById[a].namePt.localeCompare(M.charById[b].namePt));\n  const rows = pr.members.map((m, i) => {\n    let who;\n    if (m.traveler) who = `<select data-pr=\"trav:${i}\"><option value=\"\">Qual elemento?</option>${travelers.map((c) => `<option value=\"${c._id}\" ${c._id === m.charId ? 'selected' : ''}>${esc(c.namePt)}</option>`).join('')}</select>`;\n    else if (m.added) who = `<select data-pr=\"slot:${i}\"><option value=\"\">Escolha</option>${owned.map((id) => `<option value=\"${id}\" ${id === m.charId ? 'selected' : ''}>${esc(M.charById[id].namePt)}</option>`).join('')}</select>`;\n    else { const c = M.charById[m.charId]; who = `<div class=\"row\" style=\"gap:10px\">${avatar(c, null, 36)}<b>${esc(c ? c.namePt : '?')}</b></div>`; }\n    return `<tr><td class=\"muted\">${esc(m.raw || '—')}</td><td>${who}</td><td class=\"r\"><input class=\"input dark\" style=\"height:34px;width:130px;text-align:right\" value=\"${esc(String(m.damage))}\" data-pr=\"dmg:${i}\"></td></tr>`;\n  }).join('');\n  const missing = I.missing.map((id) => {\n    const c = M.charById[id] || {}; const b = pr.builds[id] || { c: 0, r: 0 };\n    return `<div class=\"row\" style=\"gap:10px\"><b style=\"min-width:150px\">${esc(c.namePt || '?')}</b>\n      <select data-pr=\"c:${id}\" style=\"width:auto\">${[0, 1, 2, 3, 4, 5, 6].map((n) => `<option value=\"${n}\" ${+b.c === n ? 'selected' : ''}>C${n}</option>`).join('')}</select>\n      <select data-pr=\"r:${id}\" style=\"width:auto\">${[0, 1, 2, 3, 4, 5].map((n) => `<option value=\"${n}\" ${+b.r === n ? 'selected' : ''}>${n ? 'R' + n : 'Sem signature'}</option>`).join('')}</select></div>`;\n  }).join('');\n  const msgs = [];\n  if (!I.sumOk) msgs.push(`A soma dos personagens (${fmt(I.sum)}) não bate com o dano total. Confira os números lidos.`);\n  if (I.traveler) msgs.push('A print mostra só \"Viajante\". Escolha qual elemento foi usado.');\n  if (I.fewer) msgs.push('A print tem menos de 4 personagens. Escolha quem completa o time ou descarte.');\n  if (I.dupChar) msgs.push('Um personagem aparece duas vezes.');\n  const canSave = I.sumOk && !pr.members.some((m) => !m.charId) && !I.dupChar && pr.members.length === 4;\n  const dIds = pr.members.map((m) => m.charId);\n  let dest = '';\n  if (dIds.length === 4 && dIds.every(Boolean) && !I.dupChar) {\n    const dT = M.teams.find((t) => groupOf(t.memberOrder || []) === groupOf(dIds));\n    dest = dT ? `Vai registrar no time <b>${esc(dT.label)}</b>.` : `Nenhum time seu tem esses 4 personagens: vai criar o time <b>${esc((M.charById[dIds[0]] || {}).namePt || 'Novo time')}</b>.`;\n  }\n  return `<div class=\"overlay\"><div class=\"modal\" style=\"max-width:720px;max-height:90vh;overflow:auto\">\n    <div class=\"kicker\">Leitura da print</div><h2 style=\"font-size:22px\">Confira antes de registrar</h2>\n    ${msgs.map((t) => `<div class=\"warn\">${esc(t)}</div>`).join('')}\n    ${pr.err ? `<div class=\"warn\">${esc(pr.err)}</div>` : ''}\n    <div class=\"grid4\" style=\"grid-template-columns:repeat(2,minmax(0,1fr))\">\n      <div style=\"display:flex;flex-direction:column;gap:6px\"><label class=\"f\">DPS</label><input class=\"input dark\" value=\"${esc(String(pr.dps))}\" data-pr=\"dps\"></div>\n      <div style=\"display:flex;flex-direction:column;gap:6px\"><label class=\"f\">Dano total</label><input class=\"input dark\" value=\"${esc(String(pr.total))}\" data-pr=\"total\"></div>\n    </div>\n    <div style=\"overflow-x:auto\"><table><thead><tr><th>Na print</th><th>Personagem no app</th><th class=\"r\">Dano</th></tr></thead><tbody>${rows}</tbody></table></div>\n    ${I.fewer ? `<button class=\"btn sm\" data-act=\"prAddSlot\" style=\"align-self:flex-start\">+ Adicionar personagem</button>` : ''}\n    ${missing ? `<div class=\"note\" style=\"display:flex;flex-direction:column;gap:10px\"><b>Personagens que não estavam na sua conta. Qual constelação e arma?</b>${missing}</div>` : ''}\n    ${dest ? `<div class=\"note\">${dest}</div>` : ''}\n    <div class=\"row\"><button class=\"btn primary\" data-act=\"prSave\" ${canSave ? '' : 'disabled'}>Confirmar e registrar</button><button class=\"btn\" data-act=\"prDiscard\">Descartar</button></div>\n  </div></div>`;\n}\n\nfunction prInput(d2, el) {\n  if (!el || !d2.state.pr) return;\n  const pr = d2.state.pr;\n  const k = el.getAttribute('data-pr');\n  const v = el.value;\n  const parts = k.split(':'); const t = parts[0]; const x = parts[1];\n  const num = (q) => Math.round(+String(q).replace(/\\./g, '').replace(',', '.')) || 0;\n  if (t === 'dps') pr.dps = num(v);\n  else if (t === 'total') pr.total = num(v);\n  else if (t === 'dmg') pr.members[+x].damage = num(v);\n  else if (t === 'trav' || t === 'slot') pr.members[+x].charId = v || null;\n  else if (t === 'c' || t === 'r') { pr.builds[x] = Object.assign({ c: 0, r: 0 }, pr.builds[x]); pr.builds[x][t] = +v; }\n  d2.setState({ pr: Object.assign({}, pr, { members: pr.members.slice(), builds: Object.assign({}, pr.builds) }) });\n  d2.refresh();\n}\n\nconst EL_ORDER = ['Pyro', 'Hydro', 'Anemo', 'Electro', 'Dendro', 'Cryo', 'Geo'];\n\nfunction charsPage(d2, M) {\n  const s = d2.state;\n  const isAdmin = M.me.role === 'admin';\n  const q = norm(s.chQ || '');\n  const sortBy = s.chSort || 'name';\n  const own = (id) => M.rosterBy[id] && M.rosterBy[id].owned !== false;\n  const ownF = s.chOwnF || 'all';\n  const elF = sortBy === 'element' ? (s.chElF || null) : null;\n  const list = M.chars.filter((c) => !q || [c.namePt, c.nameEn].concat(c.aliases || []).some((x) => norm(x).includes(q)))\n    .filter((c) => ownF === 'all' || (ownF === 'have' ? own(c._id) : !own(c._id)))\n    .filter((c) => !elF || c.element === elF)\n    .sort((a, b) => a.namePt.localeCompare(b.namePt));\n  const cell = (c) => {\n    const r = M.rosterBy[c._id];\n    const b = own(c._id) ? { constellation: r.constellation || 0, refinement: r.refinement || 0 } : null;\n    return `<button class=\"chcell ${s.chSel === c._id ? 'on' : ''}\" style=\"opacity:${own(c._id) ? 1 : 0.4}\" data-act=\"chSel\" data-id=\"${c._id}\" data-key=\"ch-${c._id}\" title=\"${esc(c.namePt)}\">${avatar(c, b, 56)}<span class=\"n\">${esc(c.namePt)}</span></button>`;\n  };\n  let grid;\n  if (sortBy === 'element') {\n    grid = EL_ORDER.concat(['']).map((el) => {\n      const its = list.filter((c) => (c.element || '') === el);\n      if (!its.length) return '';\n      return `<div class=\"row\" style=\"gap:8px;padding:6px 0;border-bottom:1px solid #211a1a\"><span style=\"width:12px;height:12px;border-radius:50%;background:${EL[el] || '#6b5a5a'}\"></span><b style=\"font-size:13px\">${el || 'Sem elemento'}</b><span class=\"muted\">${its.length}</span></div><div class=\"chgrid\">${its.map(cell).join('')}</div>`;\n    }).join('');\n  } else grid = `<div class=\"chgrid\">${list.map(cell).join('')}</div>`;\n  if (!list.length) grid = `<div class=\"note\">Nenhum personagem com esses filtros.</div>`;\n  const ownLabel = { all: 'Mostrando: todos', have: 'Só os que tenho', missing: 'Só os que não tenho' }[ownF];\n  const dots = sortBy === 'element' ? `<div class=\"row\" style=\"gap:6px\">${EL_ORDER.map((el) => `<button class=\"eldot ${elF === el ? 'on' : ''}\" title=\"${el}\" data-act=\"chElF\" data-v=\"${el}\" style=\"background:${EL[el]}\"></button>`).join('')}</div>` : '';\n  const ownedCount = M.chars.filter((c) => own(c._id)).length;\n\n  const c = M.charById[s.chSel] || null;\n  let panel = `<div class=\"panel\"><div class=\"note\">Escolha um personagem na grade pra ver e ajustar o build da sua conta.</div></div>`;\n  if (c) {\n    const r = M.rosterBy[c._id] || {};\n    const owned = own(c._id);\n    const cc = owned ? (r.constellation || 0) : 0;\n    const rr = owned ? (r.refinement || 0) : 0;\n    const usage = M.teamInfo.filter((x) => (x.t.memberOrder || []).indexOf(c._id) >= 0);\n    const seg = (vals, cur, act, label) => `<div class=\"seg\" style=\"flex-wrap:wrap\">${vals.map((v) => `<button class=\"${cur === v ? 'on' : ''}\" data-act=\"${act}\" data-v=\"${v}\" ${owned && !s.busy ? '' : 'disabled'}>${label(v)}</button>`).join('')}</div>`;\n    const usageRows = usage.map((x) => {\n      const show = x.best;\n      const b = show ? show.v.builds.find((y) => y.characterId === c._id) : null;\n      const snap = b ? (buildStr(b.constellation, b.refinement) || 'C0') : '—';\n      const outdated = b && (b.constellation !== cc || (b.refinement || 0) !== rr);\n      return `<div class=\"row between note\" style=\"border:1px solid ${outdated ? '#b3121f' : 'transparent'}\"><span><b>${esc(x.t.label)}</b> <span class=\"muted\">· testado com ${snap}</span></span>${outdated ? '<span class=\"tag\" style=\"background:#b3121f;margin:0\">build anterior</span>' : ''}</div>`;\n    }).join('');\n    const adminBox = isAdmin ? `<div class=\"note\" style=\"display:flex;flex-direction:column;gap:10px\"><b>Catálogo (admin) · vale pra todos os jogadores</b>\n        <div class=\"row\"><label class=\"btn sm\" for=\"phfile\" style=\"display:inline-flex;align-items:center\">${String(c.iconUrl || '').trim() ? 'Trocar foto' : 'Adicionar foto'}</label><input id=\"phfile\" type=\"file\" accept=\"image/*\" data-phfile style=\"display:none\">${String(c.iconUrl || '').trim() ? '<button class=\"btn sm\" data-act=\"phRemove\" style=\"color:#e8a3a3\">Tirar foto</button>' : ''}<span class=\"muted\">Pode ser qualquer imagem do personagem: o app acha o rosto e recorta.</span></div>\n        <div class=\"seg\" style=\"flex-wrap:wrap\">${EL_ORDER.map((el) => `<button class=\"${c.element === el ? 'on' : ''}\" data-act=\"chEl\" data-v=\"${el}\" ${s.busy ? 'disabled' : ''}>${el}</button>`).join('')}</div>\n        <label class=\"f\" for=\"ch-alias\">Aliases (separados por vírgula)</label>\n        <div class=\"row\"><input id=\"ch-alias\" class=\"input dark\" style=\"flex:1 1 240px\" value=\"${esc(s.chAliasDraft !== undefined && s.chAliasFor === c._id ? s.chAliasDraft : (c.aliases || []).join(', '))}\" data-in=\"chAliasDraft\" data-key-enter=\"chAliasSave\"><button class=\"btn sm\" data-act=\"chAliasSave\">Salvar aliases</button></div>\n        <div class=\"muted\">Nome em inglês: ${esc(c.nameEn || '—')} · ID Enka: ${esc((c.enkaIds || []).join(', ') || '—')}</div>\n      </div>` : '';\n    const confirm = s.chConfirmRemove === c._id ? `<div class=\"warn row between\"><span style=\"flex:1 1 260px\">${esc(c.namePt)} está em ${usage.length} ${usage.length > 1 ? 'times seus' : 'time seu'}. Os times e testes continuam, mas ele deixa de aparecer na hora de montar times novos.</span><span class=\"row\" style=\"gap:8px\"><button class=\"btn sm primary\" data-act=\"chOwnConfirm\">Remover mesmo assim</button><button class=\"btn sm\" data-act=\"chOwnCancel\">Cancelar</button></span></div>` : '';\n    panel = `<div class=\"panel\">\n      <div class=\"row\" style=\"gap:20px;align-items:center\">${avatar(c, owned ? { constellation: cc, refinement: rr } : null, 120)}\n        <div style=\"display:flex;flex-direction:column;gap:6px\"><div style=\"font-size:26px;font-weight:800\">${esc(c.namePt)}</div>\n          <div class=\"row\" style=\"gap:8px\"><span style=\"width:12px;height:12px;border-radius:50%;background:${EL[c.element] || '#6b5a5a'}\"></span><b>${esc(c.element || 'Elemento não definido')}</b><span class=\"muted\">· ${c.rarity || '?'}★</span></div></div></div>\n      <div class=\"row between note\"><div><b>${owned ? 'Você tem este personagem' : 'Você não tem este personagem'}</b><div class=\"muted\">${owned ? 'Constelação e arma valem só pra sua conta.' : 'Só personagens que você tem aparecem na hora de montar times.'}</div></div>\n        <button class=\"btn sm ${owned ? '' : 'primary'}\" data-act=\"chOwn\" ${s.busy ? 'disabled' : ''}>${owned ? 'Remover da conta' : 'Adicionar à conta'}</button></div>\n      ${confirm}\n      <div style=\"display:flex;flex-direction:column;gap:8px;opacity:${owned ? 1 : 0.4}\"><span class=\"f\">Constelação</span>${seg([0, 1, 2, 3, 4, 5, 6], cc, 'chC', (v) => 'C' + v)}</div>\n      <div style=\"display:flex;flex-direction:column;gap:8px;opacity:${owned ? 1 : 0.4}\"><span class=\"f\">Arma signature · clique de novo no R pra tirar</span>${seg([0, 1, 2, 3, 4, 5], rr, 'chR', (v) => (v ? 'R' + v : 'Sem signature'))}</div>\n      ${adminBox}\n      <div style=\"display:flex;flex-direction:column;gap:8px\"><h3>Usado em ${usage.length} ${usage.length === 1 ? 'time' : 'times'}</h3>${usageRows || '<div class=\"muted\">Ainda não está em nenhum time.</div>'}</div>\n    </div>`;\n  }\n  return `<div class=\"app\"><div class=\"wrap\">\n    <div class=\"row between\">\n      <div><div class=\"kicker\">Genshin · DPS</div><h1>Personagens</h1><div class=\"muted\">${ownedCount} de ${M.chars.length} na sua conta</div></div>\n      <div class=\"row\"><input class=\"input dark\" style=\"width:170px\" inputmode=\"numeric\" placeholder=\"UID\" value=\"${esc(s.uidDraft !== undefined ? s.uidDraft : (M.me.uid || ''))}\" data-in=\"uidDraft\" data-key-enter=\"chSync\"><button class=\"btn sm primary\" data-act=\"chSync\" ${s.syncBusy ? 'disabled' : ''}>${s.syncBusy ? 'Sincronizando…' : 'Sincronizar pela vitrine'}</button><button class=\"btn\" data-act=\"closeChars\">Voltar ao app</button></div>\n    </div>\n    <div class=\"muted\">A sincronização só adiciona e atualiza: quem sair da vitrine continua na sua conta.${M.me.nickname ? ' · Jogador: ' + esc(M.me.nickname) : ''}</div>\n    ${s.syncMsg ? `<div class=\"${s.syncMsg.err ? 'warn' : 'toast'}\">${esc(s.syncMsg.text)}</div>` : ''}\n    <div class=\"cols\">\n      <div class=\"panel\" style=\"gap:12px\">\n        <div class=\"row between\"><div class=\"row\" style=\"gap:10px\"><div class=\"seg\"><button class=\"${sortBy === 'name' ? 'on' : ''}\" data-act=\"chSort\" data-v=\"name\">Nome</button><button class=\"${sortBy === 'element' ? 'on' : ''}\" data-act=\"chSort\" data-v=\"element\">Elemento</button></div>${dots}<button class=\"btn sm\" data-act=\"chOwnF\">${ownLabel}</button></div>\n          <input class=\"input dark\" style=\"width:220px\" placeholder=\"Buscar\" value=\"${esc(s.chQ || '')}\" data-in=\"chQ\"></div>\n        ${grid}\n      </div>\n      ${panel}\n    </div>\n  </div>${renderSyncConf(d2)}${renderPhoto(d2, M)}</div>`;\n}\n\nasync function saveRoster(d2, id, patch) {\n  const M = model(d2);\n  const r = M.rosterBy[id] || {};\n  const cur = { constellation: r.constellation || 0, refinement: r.refinement || 0, owned: r.owned !== false && !!M.rosterBy[id] };\n  const next = Object.assign(cur, patch);\n  const res = await mustOk(d2, 'rushRoster', { characterId: id, constellation: next.constellation, refinement: next.refinement, owned: next.owned });\n  applyData(d2, res);\n}\n\nasync function syncFromEnka(d2, gameUid) {\n  const uidTxt = String(gameUid || '').trim();\n  if (!/^\\d{9,10}$/.test(uidTxt)) { d2.setState({ syncMsg: { err: true, text: 'Digite um UID válido (9 ou 10 números).' } }); return; }\n  d2.setState({ syncBusy: true, syncMsg: null });\n  try {\n    const r = await callRush(d2, 'rushEnka', { gameUid: uidTxt });\n    if (!r.ok) { d2.setState({ syncBusy: false, syncMsg: { err: true, text: r.error || 'Não foi possível consultar o Enka.' } }); return; }\n    d2.state.db.me = Object.assign({}, d2.state.db.me, { uid: uidTxt, nickname: r.nickname });\n    if (!Array.isArray(r.avatars) || !r.avatars.length) {\n      d2.setState({ syncBusy: false, syncMsg: { err: true, text: 'O UID existe, mas a vitrine está oculta ou vazia. No jogo, abra o Perfil, entre em Vitrine de Personagens, ative a exibição de detalhes dos personagens e tente de novo em alguns minutos.' } });\n      return;\n    }\n    const M = model(d2);\n    const byEnka = {};\n    M.chars.forEach((c) => (c.enkaIds || []).forEach((k) => { byEnka[String(k)] = c; }));\n    const auto = []; const conflicts = []; const unknown = [];\n    r.avatars.forEach((a) => {\n      const c = byEnka[String(a.avatarId) + '-' + String(a.skillDepotId)] || byEnka[String(a.avatarId)];\n      if (!c) { unknown.push(a.avatarId); return; }\n      const vc = (a.talentIdList || []).length;\n      const w = (a.equipList || []).find((e) => e.flat && e.flat.itemType === 'ITEM_WEAPON');\n      const vref = w && w.weapon && w.weapon.affixMap ? (+Object.values(w.weapon.affixMap)[0] || 0) + 1 : 0;\n      const isSig = !!(w && c.signatureWeaponId && String(w.itemId) === String(c.signatureWeaponId));\n      const cur = M.rosterBy[c._id];\n      const owned = cur && cur.owned !== false;\n      const cc = owned ? (cur.constellation || 0) : 0;\n      const cr = owned ? (cur.refinement || 0) : 0;\n      const nextC = owned ? Math.max(cc, vc) : vc;\n      const nextR = isSig ? vref : cr;\n      const item = { id: c._id, name: c.namePt, cc, cr, vc, vref, isSig, nextC, nextR, owned };\n      const lowerC = owned && vc < cc;\n      const lostSig = owned && cr > 0 && !!c.signatureWeaponId && !isSig;\n      if (lowerC || lostSig) { item.lowerC = lowerC; item.lostSig = lostSig; item.choiceC = 'keep'; item.choiceR = 'keep'; conflicts.push(item); }\n      else if (!owned || nextC !== cc || nextR !== cr) auto.push(item);\n    });\n    for (const it of auto) await saveRoster(d2, it.id, { owned: true, constellation: it.nextC, refinement: it.nextR });\n    const summary = { synced: auto.length, same: r.avatars.length - auto.length - conflicts.length - unknown.length, unknown: unknown.length, nickname: r.nickname };\n    if (conflicts.length) d2.setState({ syncBusy: false, syncConf: { items: conflicts, summary } });\n    else d2.setState({ syncBusy: false, syncMsg: { text: syncText(summary) } });\n  } catch (e) {\n    d2.log(e);\n    d2.setState({ syncBusy: false, syncMsg: { err: true, text: 'Não foi possível sincronizar agora. Tente de novo em instantes.' } });\n  }\n}\n\nfunction syncText(sm) {\n  const parts = [(sm.nickname ? sm.nickname + ': ' : '') + sm.synced + (sm.synced === 1 ? ' personagem atualizado' : ' personagens atualizados')];\n  if (sm.same) parts.push(sm.same + ' já estavam iguais');\n  if (sm.resolved) parts.push(sm.resolved + ' com divergência resolvida');\n  if (sm.unknown) parts.push(sm.unknown + ' fora do catálogo (fale com o administrador)');\n  return parts.join(' · ') + '. A sincronização nunca remove ninguém da sua conta.';\n}\n\nfunction renderSyncConf(d2) {\n  const sc = d2.state.syncConf;\n  if (!sc) return '';\n  const rows = sc.items.map((it, i) => {\n    const opts = [];\n    if (it.lowerC) opts.push(`<div class=\"row\" style=\"gap:8px\"><span class=\"muted\" style=\"min-width:120px\">Constelação</span><div class=\"seg\"><button class=\"${it.choiceC === 'keep' ? 'on' : ''}\" data-act=\"scPick\" data-i=\"${i}\" data-k=\"C\" data-v=\"keep\">Manter C${it.cc}</button><button class=\"${it.choiceC === 'change' ? 'on' : ''}\" data-act=\"scPick\" data-i=\"${i}\" data-k=\"C\" data-v=\"change\">Mudar para C${it.vc}</button></div></div>`);\n    if (it.lostSig) opts.push(`<div class=\"row\" style=\"gap:8px\"><span class=\"muted\" style=\"min-width:120px\">Arma</span><div class=\"seg\"><button class=\"${it.choiceR === 'keep' ? 'on' : ''}\" data-act=\"scPick\" data-i=\"${i}\" data-k=\"R\" data-v=\"keep\">Manter signature R${it.cr}</button><button class=\"${it.choiceR === 'change' ? 'on' : ''}\" data-act=\"scPick\" data-i=\"${i}\" data-k=\"R\" data-v=\"change\">Tirar a signature</button></div></div>`);\n    return `<div class=\"note\" style=\"display:flex;flex-direction:column;gap:10px\"><b>${esc(it.name)}</b><div class=\"muted\">No app: C${it.cc}${it.cr ? ' · signature R' + it.cr : ''} · Na vitrine: C${it.vc}${it.lostSig ? ' · outra arma equipada' : ''}</div>${opts.join('')}</div>`;\n  }).join('');\n  return `<div class=\"overlay\"><div class=\"modal\" style=\"max-height:90vh;overflow:auto\"><div class=\"kicker\">Sincronizar pela vitrine</div><h2 style=\"font-size:22px\">${sc.items.length} ${sc.items.length > 1 ? 'personagens precisam' : 'personagem precisa'} da sua decisão</h2>\n    <div class=\"muted\">${sc.summary.synced} atualizados automaticamente. Nestes, o que está no app é diferente do que está no jogo agora.</div>${rows}\n    <div class=\"row\"><button class=\"btn primary\" data-act=\"scApply\" ${d2.state.busy ? 'disabled' : ''}>Aplicar escolhas</button><button class=\"btn\" data-act=\"scKeepAll\">Manter tudo como está</button></div></div></div>`;\n}\n\nfunction welcomePage(d2, M) {\n  const s = d2.state;\n  const msg = s.syncMsg ? `<div class=\"${s.syncMsg.err ? 'warn' : 'note'}\">${esc(s.syncMsg.text)}</div>` : '';\n  return `<div class=\"app\"><div class=\"wrap\" style=\"max-width:760px\">\n    <div><div class=\"kicker\">Genshin · DPS · primeiro acesso</div><h1>Vamos trazer seus personagens</h1>\n    <p style=\"font-size:15px;line-height:1.5\">Digite seu UID e o app importa os personagens da sua Vitrine de Personagens, com a constelação de cada um. Os demais você marca na tela de Personagens.</p></div>\n    <div class=\"panel\" style=\"gap:12px\">\n      <label class=\"f\" for=\"wuid\">UID do Genshin</label>\n      <div class=\"row\"><input id=\"wuid\" class=\"input dark\" style=\"flex:1 1 260px;height:52px;font-size:20px;font-weight:700\" inputmode=\"numeric\" placeholder=\"Ex.: 618285856\" value=\"${esc(s.uidDraft || '')}\" data-in=\"uidDraft\" data-key-enter=\"wImport\"><button class=\"btn primary\" style=\"height:52px\" data-act=\"wImport\" ${s.syncBusy ? 'disabled' : ''}>${s.syncBusy ? 'Importando…' : 'Importar da vitrine'}</button></div>\n      ${msg}\n    </div>\n    <div class=\"row\"><button class=\"btn\" data-act=\"wDone\">${(M.roster || []).length || Object.keys(M.rosterBy).length ? 'Continuar para o app' : 'Pular e cadastrar depois'}</button></div>\n  </div>${renderSyncConf(d2)}</div>`;\n}\n\nasync function fileToDataUrl(file, max) {\n  const url = URL.createObjectURL(file);\n  try {\n    const img = await new Promise((res, rej) => { const i = new Image(); i.onload = () => res(i); i.onerror = rej; i.src = url; });\n    const scale = Math.min(1, max / Math.max(img.width, img.height));\n    const c = document.createElement('canvas');\n    c.width = Math.round(img.width * scale); c.height = Math.round(img.height * scale);\n    c.getContext('2d').drawImage(img, 0, 0, c.width, c.height);\n    return { src: c.toDataURL('image/jpeg', 0.9), w: c.width, h: c.height };\n  } finally { URL.revokeObjectURL(url); }\n}\n\nasync function handlePhotoFile(d2, file) {\n  if (!file || !/^image\\//.test(file.type || '')) { d2.setState({ ph: { err: 'Envie uma imagem (PNG, JPG ou WEBP).' } }); return; }\n  const id = d2.state.chSel;\n  d2.setState({ ph: { stage: 'reading', id } });\n  try {\n    const im = await fileToDataUrl(file, 1200);\n    let cx = im.w / 2; let cy = im.h / 3; let size = Math.min(im.w, im.h) * 0.6; let found = false;\n    try {\n      const gImg = await new Promise((res, rej) => { const i = new Image(); i.onload = () => res(i); i.onerror = rej; i.src = im.src; });\n      const gc = document.createElement('canvas'); gc.width = im.w; gc.height = im.h;\n      const g = gc.getContext('2d'); g.drawImage(gImg, 0, 0);\n      g.lineWidth = Math.max(1, im.w / 600); g.strokeStyle = 'rgba(255,0,0,0.75)';\n      const fs = Math.max(12, Math.round(Math.min(im.w, im.h) / 28)); g.font = 'bold ' + fs + 'px sans-serif';\n      for (let i = 0; i <= 10; i++) { const x = i * im.w / 10; const y = i * im.h / 10; g.beginPath(); g.moveTo(x, 0); g.lineTo(x, im.h); g.stroke(); g.beginPath(); g.moveTo(0, y); g.lineTo(im.w, y); g.stroke(); }\n      for (let i = 0; i < 10; i++) {\n        const lx = (i + 0.5) * im.w / 10; const ly = (i + 0.5) * im.h / 10;\n        g.fillStyle = 'rgba(0,0,0,0.7)'; g.fillRect(lx - fs * 0.6, 2, fs * 1.2, fs * 1.1); g.fillRect(2, ly - fs * 0.6, fs * 1.4, fs * 1.1);\n        g.fillStyle = '#ffff00'; g.fillText('ABCDEFGHIJ'[i], lx - fs * 0.35, fs * 0.95); g.fillText(String(i + 1), 4, ly + fs * 0.35);\n      }\n      const r = await callRush(d2, 'rushRosto', { image: gc.toDataURL('image/jpeg', 0.85) });\n      let b = r && r.box;\n      if (typeof b === 'string') { try { b = JSON.parse(b); } catch (e) { b = null; } }\n      const col = b && typeof b.col === 'string' ? 'ABCDEFGHIJ'.indexOf(b.col.trim().toUpperCase().charAt(0)) : -1;\n      const row = b ? +b.row : 0;\n      if (b && b.ok !== false && col >= 0 && row >= 1 && row <= 10) {\n        cx = (col + 0.5) * im.w / 10; cy = (row - 0.5) * im.h / 10;\n        const cells = Math.max(0.5, Math.min(6, +b.cells || 1.5));\n        size = cells * (im.h / 10) * 1.7; found = true;\n      }\n    } catch (e) { d2.log(e); }\n    size = Math.max(40, Math.min(size, Math.min(im.w, im.h)));\n    d2.setState({ ph: clampPh({ stage: 'adjust', id, src: im.src, w: im.w, h: im.h, cx, cy, size, found }) });\n  } catch (e) {\n    d2.log(e);\n    d2.setState({ ph: { stage: 'adjust', id, err: 'Não foi possível abrir a imagem.' } });\n  }\n}\n\nfunction clampPh(ph) {\n  const half = ph.size / 2;\n  ph.cx = Math.min(Math.max(ph.cx, half), ph.w - half);\n  ph.cy = Math.min(Math.max(ph.cy, half), ph.h - half);\n  return ph;\n}\n\nasync function cropPhoto(ph) {\n  const img = await new Promise((res, rej) => { const i = new Image(); i.onload = () => res(i); i.onerror = rej; i.src = ph.src; });\n  const out = 192;\n  const c = document.createElement('canvas'); c.width = out; c.height = out;\n  c.getContext('2d').drawImage(img, ph.cx - ph.size / 2, ph.cy - ph.size / 2, ph.size, ph.size, 0, 0, out, out);\n  return c.toDataURL('image/jpeg', 0.85);\n}\n\nfunction renderPhoto(d2, M) {\n  const ph = d2.state.ph;\n  if (!ph) return '';\n  const c = M.charById[ph.id] || {};\n  if (ph.stage === 'reading') return `<div class=\"overlay\"><div class=\"modal\" style=\"align-items:center\"><div class=\"loading\" style=\"height:auto\">Procurando o rosto na imagem…</div></div></div>`;\n  if (ph.err && !ph.src) return `<div class=\"overlay\"><div class=\"modal\"><h2 style=\"font-size:22px\">Foto</h2><div class=\"warn\">${esc(ph.err)}</div><button class=\"btn\" data-act=\"phCancel\">Fechar</button></div></div>`;\n  const view = 220;\n  const imgStyle = (V) => { const k = V / ph.size; return `position:absolute;max-width:none;width:${(ph.w * k).toFixed(1)}px;height:${(ph.h * k).toFixed(1)}px;left:${(-(ph.cx - ph.size / 2) * k).toFixed(1)}px;top:${(-(ph.cy - ph.size / 2) * k).toFixed(1)}px`; };\n  const color = EL[c.element] || '#3a2a2a';\n  const maxSize = Math.min(ph.w, ph.h);\n  const zoom = Math.round((1 - (ph.size - 40) / Math.max(1, maxSize - 40)) * 100);\n  return `<div class=\"overlay\"><div class=\"modal\" style=\"max-width:560px\">\n    <div class=\"kicker\">Foto do personagem</div><h2 style=\"font-size:22px\">${esc(c.namePt || '')}</h2>\n    <div class=\"muted\">${ph.found ? 'O rosto foi localizado automaticamente. Ajuste se precisar.' : 'Não achei o rosto sozinho. Ajuste o enquadramento abaixo.'}</div>\n    <div class=\"row\" style=\"justify-content:center;gap:28px\">\n      <div style=\"width:${view}px;height:${view}px;border-radius:50%;overflow:hidden;position:relative;border:4px solid ${color};box-shadow:0 0 18px ${color}88;background:#0b0909\"><img src=\"${ph.src}\" alt=\"\" data-phimg=\"${view - 8}\" style=\"${imgStyle(view - 8)}\"></div>\n      <div style=\"width:64px;height:64px;border-radius:50%;overflow:hidden;position:relative;border:3px solid ${color};background:#0b0909\"><img src=\"${ph.src}\" alt=\"\" data-phimg=\"58\" style=\"${imgStyle(58)}\"></div>\n    </div>\n    <label class=\"f\">Zoom</label><input type=\"range\" min=\"0\" max=\"100\" value=\"${zoom}\" data-ph=\"zoom\">\n    <label class=\"f\">Horizontal</label><input type=\"range\" min=\"0\" max=\"1000\" value=\"${Math.round(ph.cx / ph.w * 1000)}\" data-ph=\"x\">\n    <label class=\"f\">Vertical</label><input type=\"range\" min=\"0\" max=\"1000\" value=\"${Math.round(ph.cy / ph.h * 1000)}\" data-ph=\"y\">\n    ${ph.err ? `<div class=\"warn\">${esc(ph.err)}</div>` : ''}\n    <div class=\"row\"><button class=\"btn primary\" data-act=\"phSave\" ${d2.state.busy ? 'disabled' : ''}>Salvar foto</button><button class=\"btn\" data-act=\"phCancel\">Cancelar</button></div>\n  </div></div>`;\n}\n\nfunction phInput(d2, el) {\n  const ph = d2.state.ph; if (!ph || !el || !ph.src) return;\n  const k = el.getAttribute('data-ph'); const v = +el.value;\n  const maxSize = Math.min(ph.w, ph.h);\n  if (k === 'zoom') ph.size = maxSize - (v / 100) * (maxSize - 40);\n  if (k === 'x') ph.cx = (v / 1000) * ph.w;\n  if (k === 'y') ph.cy = (v / 1000) * ph.h;\n  clampPh(ph);\n  const imgs = d2.root && d2.root.querySelectorAll ? Array.from(d2.root.querySelectorAll('img[data-phimg]')) : [];\n  imgs.forEach((im) => {\n    const V = +im.getAttribute('data-phimg'); const kk = V / ph.size;\n    im.style.width = (ph.w * kk).toFixed(1) + 'px'; im.style.height = (ph.h * kk).toFixed(1) + 'px';\n    im.style.left = (-(ph.cx - ph.size / 2) * kk).toFixed(1) + 'px'; im.style.top = (-(ph.cy - ph.size / 2) * kk).toFixed(1) + 'px';\n  });\n}\n\nfunction authScreen(d2) {\n  const s = d2.state;\n  const v = s.view || 'login';\n  const msg = s.authMsg ? `<div class=\"note\">${esc(s.authMsg)}</div>` : '';\n  const err = s.authErr ? `<div class=\"warn\">${esc(s.authErr)}</div>` : '';\n  const field = (id, label, type, key, ph, enter) => `<label class=\"f\" for=\"${id}\">${label}</label><input id=\"${id}\" class=\"input dark\" type=\"${type}\" placeholder=\"${ph}\" value=\"${esc(s[key] || '')}\" data-in=\"${key}\" ${enter ? `data-key-enter=\"${enter}\"` : ''}>`;\n  let body = '';\n  if (v === 'login') {\n    body = `<h1>Entrar</h1>${msg}${err}\n      ${field('au-email', 'E-mail', 'email', 'auEmail', 'voce@email.com', 'doLogin')}\n      ${field('au-pass', 'Senha', 'password', 'auPass', '', 'doLogin')}\n      <button class=\"btn primary\" data-act=\"doLogin\" ${s.busy ? 'disabled' : ''}>Entrar</button>\n      <div class=\"row between\"><button class=\"more\" data-act=\"goView\" data-v=\"signup\">Criar conta</button><button class=\"more\" data-act=\"goView\" data-v=\"reset\">Esqueci a senha</button></div>`;\n  } else if (v === 'signup') {\n    body = `<h1>Criar conta</h1>\n      <div class=\"note\">Use o e-mail que o administrador liberou para você.</div>${err}\n      ${field('su-email', 'E-mail', 'email', 'auEmail', 'voce@email.com')}\n      ${field('su-pass', 'Senha (mínimo 6 caracteres)', 'password', 'auPass', '')}\n      ${field('su-pass2', 'Confirmar senha', 'password', 'auPass2', '', 'doSignup')}\n      <button class=\"btn primary\" data-act=\"doSignup\" ${s.busy ? 'disabled' : ''}>Criar conta</button>\n      <button class=\"more\" data-act=\"goView\" data-v=\"login\">Já tenho conta</button>`;\n  } else {\n    body = `<h1>Redefinir senha</h1>\n      <div class=\"note\">Peça ao administrador do app um código de redefinição e preencha abaixo.</div>${err}\n      ${field('rs-email', 'E-mail', 'email', 'auEmail', 'voce@email.com')}\n      ${field('rs-code', 'Código', 'text', 'auCode', 'Ex.: 482913')}\n      ${field('rs-pass', 'Nova senha (mínimo 6 caracteres)', 'password', 'auPass', '')}\n      ${field('rs-pass2', 'Confirmar nova senha', 'password', 'auPass2', '', 'doReset')}\n      <button class=\"btn primary\" data-act=\"doReset\" ${s.busy ? 'disabled' : ''}>Redefinir senha</button>\n      <button class=\"more\" data-act=\"goView\" data-v=\"login\">Voltar para entrar</button>`;\n  }\n  return `<div class=\"app\"><div class=\"authwrap\"><div class=\"authcard\"><div class=\"kicker\">Genshin · DPS</div>${body}</div></div></div>`;\n}\n\nfunction model(d2) {\n  const db = d2.state.db || {};\n  const rec = (n) => db[n] || [];\n  const me = db.me || null;\n  const uid = me ? me._id : null;\n  const chars = rec('chars');\n  const charById = {};\n  chars.forEach((c) => { charById[c._id] = c; });\n  const roster = rec('roster').filter((r) => r.ownerId === uid);\n  const rosterBy = {};\n  roster.forEach((r) => { rosterBy[r.characterId] = r; });\n  const teams = rec('teams').filter((t) => t.ownerId === uid);\n  const versions = rec('versions').filter((v) => v.ownerId === uid);\n  const runs = rec('runs').filter((r) => r.ownerId === uid);\n  const runsByVersion = {};\n  runs.forEach((r) => { (runsByVersion[r.versionId] = runsByVersion[r.versionId] || []).push(r); });\n  const currentBuilds = (ids) => ids.map((id) => ({ characterId: id, constellation: (rosterBy[id] && rosterBy[id].constellation) || 0, refinement: (rosterBy[id] && rosterBy[id].refinement) || 0 }));\n  const teamInfo = teams.map((t) => {\n    const vs = versions.filter((v) => v.teamId === t._id).map((v) => {\n      const rs = runsByVersion[v._id] || [];\n      const vals = rs.map((r) => r.dps);\n      return { v, runs: rs, avg: mean(vals), count: vals.length };\n    });\n    const curKey = keyOfBuilds(currentBuilds(t.memberOrder || []));\n    vs.forEach((x) => { x.isCurrent = x.v.compositionKey === curKey; });\n    const withRuns = vs.filter((x) => x.count > 0);\n    const best = withRuns.slice().sort((a, b) => b.avg - a.avg)[0] || null;\n    return { t, versions: vs, best, curKey, current: vs.find((x) => x.isCurrent) || null };\n  });\n  return { me, uid, chars, charById, rosterBy, teams, teamInfo, versions, runs, currentBuilds };\n}\n\nfunction avatar(c, build, size, opts) {\n  opts = opts || {};\n  const color = c && EL[c.element];\n  const bw = size >= 70 ? 4 : 3;\n  const ring = color\n    ? `background:linear-gradient(#1e1717,#1e1717) padding-box,conic-gradient(from 210deg,${color},#ffffff 18%,${color} 36%,${color}55 62%,${color}) border-box;box-shadow:inset 0 0 0 2px #0b0909,0 0 14px ${color}66;`\n    : 'background:linear-gradient(#1e1717,#1e1717) padding-box,linear-gradient(#3a2a2a,#3a2a2a) border-box;';\n  const name = c ? c.namePt : '?';\n  const short = c && /\\s/.test(name) && !/^Viajante /.test(name) && c.aliases && c.aliases.length ? c.aliases.slice().sort((a, b) => a.length - b.length)[0] : name;\n  const inner = c && c.iconUrl && String(c.iconUrl).trim()\n    ? `<img src=\"${esc(c.iconUrl)}\" alt=\"\" style=\"width:100%;height:100%;border-radius:50%;object-fit:cover;display:block\">`\n    : `<span style=\"font-size:${Math.round(size * 0.3)}px\">${esc(short.replace(/^Viajante /, 'V').slice(0, 2))}</span>`;\n  const b = build ? buildStr(build.constellation, build.refinement) : '';\n  const badge = b && opts.badge !== false ? `<span class=\"badge\" style=\"font-size:${size >= 70 ? 11 : 9}px\">${b}</span>` : '';\n  return `<span class=\"avw\" style=\"width:${size}px;height:${size}px\" title=\"${esc(name + (b ? ' ' + b : ''))}\"><span class=\"av\" style=\"width:${size}px;height:${size}px;border:${bw}px solid transparent;${ring}\">${inner}</span>${badge}</span>`;\n}\n\nconst css = `\n:host{all:initial}\n*{box-sizing:border-box}\n.app{position:relative;min-height:100%;height:100%;overflow:auto;background:#0b0909;color:#fff;font-family:Manrope,'Segoe UI',system-ui,sans-serif;padding:28px 32px 40px}\n.wrap{max-width:1440px;margin:0 auto;display:flex;flex-direction:column;gap:22px}\n.kicker{font-size:12px;font-weight:700;color:#e8a3a3;letter-spacing:.1em;text-transform:uppercase}\nh1{margin:0;font-size:30px;font-weight:800}\nh2{margin:0;font-size:16px;font-weight:800}\nh3{margin:0;font-size:16px;font-weight:800}\n.muted{font-size:12px;color:#e8a3a3}\n.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}\n.between{justify-content:space-between}\n.input{height:44px;border-radius:12px;border:1px solid #3a2a2a;background:#161212;color:#fff;padding:0 14px;font:inherit;font-size:14px}\n.input.dark{background:#0b0909}\n.btn{height:44px;padding:0 18px;border-radius:12px;border:1px solid #3a2a2a;background:transparent;color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer}\n.btn.primary{background:#b3121f;border-color:#b3121f;font-weight:800}\n.btn.sm{height:36px;padding:0 14px;font-size:13px;border-radius:10px}\n.btn[disabled]{opacity:.45;cursor:default}\n.seg{display:flex;border:1px solid #3a2a2a;border-radius:10px;overflow:hidden}\n.seg button{height:36px;padding:0 12px;border:none;background:transparent;color:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer}\n.seg button.on{background:#b3121f}\n.cols{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}\n.left{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:8px}\n.panel{flex:1 1 560px;min-width:0;background:#161212;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:22px}\n.card{width:100%;text-align:left;background:#161212;border:2px solid #161212;border-radius:14px;padding:12px 16px;display:grid;grid-template-columns:32px auto minmax(0,1fr) auto;gap:16px;align-items:center;color:#fff;font:inherit;cursor:pointer}\n.card.sel{background:#241b1b;border-color:#b3121f}\n.card .rank{font-size:18px;font-weight:700;color:#e8a3a3}\n.card .lbl{font-size:12px;font-weight:600;color:#e8a3a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.cname{display:flex;flex-direction:column;min-width:0;gap:2px}\n.cname .cn{font-size:18px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.mem{display:flex;gap:12px}\n.dps{font-size:22px;font-weight:700;text-align:right}\n.tag{display:inline-block;font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;background:#3a2a2a;color:#fff;margin-left:6px;vertical-align:middle}\n.more{align-self:flex-start;height:30px;padding:0 10px;border:none;background:transparent;color:#e8a3a3;font:inherit;font-size:12px;font-weight:700;cursor:pointer}\n.child{margin-left:28px;width:calc(100% - 28px)}\n.gpill{display:inline-flex;align-items:center;margin-top:6px;height:22px;padding:0 10px;border:1px solid #6b1a22;border-radius:999px;font-size:11px;font-weight:700;color:#f2b8ae;white-space:nowrap;cursor:pointer}\n.gpill:hover{background:#2a1c1c;border-color:#b3121f}\n.gpill.on{background:#2a1c1c;border-color:#b3121f;color:#fff}\n.avw{position:relative;display:inline-block;flex-shrink:0}\n.av{display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:800;overflow:hidden}\n.badge{position:absolute;right:-7px;bottom:-4px;background:#b3121f;color:#fff;font-weight:800;padding:1px 5px;border-radius:999px;border:2px solid #161212}\n.big{font-size:36px;font-weight:700;line-height:1}\n.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}\n.stat{background:#211a1a;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}\n.stat b{font-size:20px}\n.memcol{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}\n.memcol .n{font-size:13px;font-weight:700;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.chips{display:flex;flex-wrap:wrap;gap:8px}\n.chip{height:34px;padding:0 12px;border-radius:999px;border:1px solid #3a2a2a;background:transparent;color:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer}\n.chip.on{background:#b3121f;border-color:#b3121f}\n.bar{display:flex;height:14px;border-radius:999px;overflow:hidden;gap:2px;background:#0b0909}\ntable{width:100%;border-collapse:collapse;font-size:14px}\nth{text-align:left;padding:8px 10px;font-size:11px;font-weight:700;color:#e8a3a3;border-bottom:1px solid #3a2a2a}\ntd{padding:4px 10px;border-bottom:1px solid #211a1a}\ntd.r,th.r{text-align:right}\n.notebtn{width:100%;min-height:32px;text-align:left;border:none;background:transparent;color:#fff;font:inherit;font-size:13px;cursor:pointer;padding:4px 6px;border-radius:8px}\n.notebtn:hover{background:#211a1a}\n.icon{width:36px;height:36px;border:none;border-radius:10px;background:transparent;color:#e8a3a3;cursor:pointer;font-size:16px}\n.overlay{position:fixed;inset:0;background:#050404cc;display:flex;align-items:center;justify-content:center;padding:24px;z-index:10}\n.modal{width:100%;max-width:620px;background:#161212;border:1px solid #3a2a2a;border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:16px}\n.warn{background:#211a1a;border:1px solid #b3121f;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.5}\n.note{background:#211a1a;border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.5}\nselect{height:42px;border-radius:10px;border:1px solid #3a2a2a;background:#0b0909;color:#fff;padding:0 8px;font:inherit;font-size:13px;font-weight:700;width:100%}\nlabel.f{font-size:12px;font-weight:700;color:#e8a3a3}\n.loading{display:flex;align-items:center;justify-content:center;gap:12px;height:60vh;font-size:15px;color:#e8a3a3}\n.authwrap{min-height:80vh;display:flex;align-items:center;justify-content:center}\n.authcard{width:100%;max-width:420px;background:#161212;border:1px solid #3a2a2a;border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:12px}\n.authcard h1{font-size:26px;margin-bottom:4px}\n.authcard .btn{width:100%;margin-top:6px}\n.drop{border:2px dashed #3a2a2a;border-radius:16px;background:#161212;padding:16px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}\n.drop .t{font-size:15px;font-weight:800}\n.chgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px}\n.chcell{background:transparent;border:2px solid transparent;border-radius:12px;padding:8px 2px;display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff;font:inherit;cursor:pointer;min-width:0}\n.chcell.on{background:#241b1b;border-color:#b3121f}\n.chcell .n{font-size:11px;font-weight:600;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.eldot{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;opacity:.55}\n.eldot.on{opacity:1;border-color:#fff;box-shadow:0 0 8px currentColor}\ninput[type=range]{width:100%;accent-color:#b3121f}\n.toast{background:#241b1b;border:1px solid #b3121f;border-radius:12px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:700}\n`;\n\nexport default {\n  css,\n  async mounted(d2) {\n    d2.setState({ loading: true });\n    const pick = (ev, el, attr) => {\n      const path = ev && ev.composedPath ? ev.composedPath() : [];\n      for (const n of path) { if (n && n.getAttribute && n.getAttribute(attr) != null) return n; }\n      if (el && el.getAttribute && el.getAttribute(attr) != null) return el;\n      const t = ev && ev.target;\n      return t && t.closest ? t.closest('[' + attr + ']') : null;\n    };\n\n    d2.on('[data-act]', 'click', (ev, mt) => {\n      if (ev && ev.__giAct) return;\n      if (ev) ev.__giAct = true;\n      const el = pick(ev, mt, 'data-act');\n      if (!el) return;\n      act(d2, el.getAttribute('data-act'), el.dataset);\n    });\n    const onInput = (ev, mt) => {\n      const elIn = pick(ev, mt, 'data-in');\n      if (elIn) { d2.state[elIn.getAttribute('data-in')] = elIn.value; return; }\n      const elPr = pick(ev, mt, 'data-pr');\n      if (elPr) { prInput(d2, elPr); return; }\n      const elPh = pick(ev, mt, 'data-ph');\n      if (elPh) phInput(d2, elPh);\n    };\n    const onChange = (ev, mt) => {\n      const elSel = pick(ev, mt, 'data-sel');\n      if (elSel) {\n        const i = +elSel.getAttribute('data-sel');\n        const m = (d2.state.editMembers || []).slice();\n        m[i] = elSel.value;\n        d2.state.editMembers = m;\n        d2.refresh();\n        return;\n      }\n      const elPr = pick(ev, mt, 'data-pr');\n      if (elPr) { prInput(d2, elPr); return; }\n      const elFile = pick(ev, mt, 'data-file');\n      if (elFile) { const f = elFile.files && elFile.files[0]; if (f) handlePrintFile(d2, f); elFile.value = ''; return; }\n      const elPh = pick(ev, mt, 'data-phfile');\n      if (elPh) { const f = elPh.files && elPh.files[0]; if (f) handlePhotoFile(d2, f); elPh.value = ''; }\n    };\n    d2.on('[data-in],[data-pr],[data-ph]', 'input', onInput);\n    d2.on('[data-sel],[data-pr],[data-file],[data-phfile]', 'change', onChange);\n    d2.on('[data-key-enter]', 'keydown', (ev, mt) => {\n      const el = pick(ev, mt, 'data-key-enter');\n      if (!el) return;\n      if (ev.key === 'Enter') act(d2, el.getAttribute('data-key-enter'), el.dataset);\n      if (ev.key === 'Escape') d2.setState({ editRun: null, nickEdit: false });\n    });\n\n    d2.on('[data-drop]', 'dragover', (ev) => { ev.preventDefault(); });\n    d2.on('[data-drop]', 'drop', (ev) => { ev.preventDefault(); const f = ev.dataTransfer && ev.dataTransfer.files && ev.dataTransfer.files[0]; if (f) handlePrintFile(d2, f); });\n    window.__giD2 = d2;\n    if (!window.__giPaste) {\n      window.__giPaste = true;\n      document.addEventListener('paste', (ev) => {\n        const dd = window.__giD2;\n        if (!dd || !dd.state.authed || dd.state.page || dd.state.modal) return;\n        const items = (ev.clipboardData && ev.clipboardData.items) || [];\n        for (const it of items) { if (it.type && it.type.indexOf('image/') === 0) { const f = it.getAsFile(); if (f) { ev.preventDefault(); handlePrintFile(dd, f); return; } } }\n      });\n    }\n\n    await loadAllData(d2);\n  },\n  render(d2) {\n    if (!d2.state.dataLoaded) return `<div class=\"app\"><div class=\"loading\">Carregando…</div></div>`;\n    if (!d2.state.authed) return authScreen(d2);\n    const M = model(d2);\n    if (!M.uid) return authScreen(d2);\n    const s = d2.state;\n    if (s.page === 'acessos' && M.me.role === 'admin') return adminPage(d2, M);\n    if (s.page === 'welcome' || (!s.page && M.me && M.me.onboarded === false && !Object.keys(M.rosterBy).length)) return welcomePage(d2, M);\n    if (s.page === 'personagens') return charsPage(d2, M);\n    const q = String(s.q || '').trim().toLowerCase();\n    const showAll = !!s.showAll;\n    const expanded = s.expanded || {};\n\n    const ranked = M.teamInfo.slice().sort((a, b) => (b.best ? b.best.avg : -1) - (a.best ? a.best.avg : -1));\n    ranked.forEach((x, i) => { x.rank = i + 1; });\n    const selId = s.sel && ranked.find((x) => x.t._id === s.sel) ? s.sel : (ranked[0] ? ranked[0].t._id : null);\n    const firstName = (x) => (M.charById[x.t.firstCharacterId] || {}).namePt || '';\n    const hasChar = (x, txt) => (x.t.memberOrder || []).some((id) => ((M.charById[id] || {}).namePt || '').toLowerCase().includes(txt) || ((M.charById[id] || {}).aliases || []).some((a) => a.toLowerCase().includes(txt)));\n    const firstMatches = (x, txt) => { const c = M.charById[x.t.firstCharacterId] || {}; return (c.namePt || '').toLowerCase().includes(txt) || (c.aliases || []).some((a) => a.toLowerCase().includes(txt)); };\n\n    const card = (x, child, extra) => {\n      const show = x.best;\n      const builds = show ? show.v.builds : M.currentBuilds(x.t.memberOrder || []);\n      const old = show && !show.isCurrent;\n      return `<button class=\"card ${x.t._id === selId ? 'sel' : ''} ${child ? 'child' : ''}\" data-act=\"select\" data-id=\"${x.t._id}\" data-key=\"c-${x.t._id}\">\n        <span class=\"rank\">${child ? '' : (x.gRank || x.rank)}</span>\n        <span class=\"mem\">${builds.map((b) => avatar(M.charById[b.characterId], b, 62)).join('')}</span>\n        <span class=\"cname\"><span class=\"cn\">${esc((M.charById[x.t.firstCharacterId] || {}).namePt || x.t.label)}</span>${x.t.label && x.t.label !== (M.charById[x.t.firstCharacterId] || {}).namePt ? `<span class=\"lbl\">${esc(x.t.label)}</span>` : ''}${old ? '<span class=\"tag\" style=\"margin:4px 0 0;align-self:flex-start\">build anterior</span>' : ''}</span>\n        <span><span class=\"dps\" style=\"display:block\">${show ? fmt(show.avg) : '—'}</span><span class=\"muted\" style=\"display:block;text-align:right\">${show ? show.count + ' testes' : 'sem testes'}</span>${extra || ''}</span>\n      </button>`;\n    };\n\n    let list = '';\n    let support = '';\n    let info = '';\n    if (q) {\n      const main = ranked.filter((x) => firstMatches(x, q));\n      const sup = ranked.filter((x) => !firstMatches(x, q) && hasChar(x, q));\n      list = main.map((x) => card(x)).join('');\n      if (sup.length) support = `<div class=\"row\" style=\"padding-top:10px;border-top:1px solid #211a1a\"><h3 style=\"font-size:14px\">Com \"${esc(s.q.trim())}\" em outra posição</h3><span class=\"muted\">${sup.length} times</span></div>` + sup.map((x) => card(x)).join('');\n      info = main.length + ' em primeiro';\n      if (!main.length && !sup.length) list = `<div class=\"note\">Nenhum time com esse personagem.</div>`;\n    } else if (showAll) {\n      list = ranked.map((x) => card(x)).join('');\n      info = ranked.length + ' times';\n    } else {\n      const groups = {}; const order = [];\n      ranked.forEach((x) => { const f = x.t.firstCharacterId; if (!groups[f]) { groups[f] = []; order.push(f); } groups[f].push(x); });\n      order.forEach((f, gi) => {\n        const g = groups[f]; const others = g.slice(1);\n        g[0].gRank = gi + 1; others.forEach((o) => { o.isChild = true; });\n        const open = expanded[f] !== undefined ? expanded[f] : others.some((o) => o.t._id === selId);\n        const pill = others.length ? `<span style=\"display:flex;justify-content:flex-end\"><span class=\"gpill ${open ? 'on' : ''}\" data-act=\"toggleGroup\" data-f=\"${f}\" data-open=\"${open ? 1 : 0}\" title=\"${open ? 'Ocultar outros times de ' : 'Ver outros times de '}${esc(firstName(g[0]))}\">${open ? '− ocultar' : '+ ' + others.length + (others.length > 1 ? ' times' : ' time')}</span></span>` : '';\n        list += card(g[0], false, pill);\n        if (open) others.forEach((o) => { list += card(o, true); });\n      });\n      info = order.length + ' personagens · ' + ranked.length + ' times';\n    }\n\n    const cur = ranked.find((x) => x.t._id === selId);\n    const panel = cur ? renderPanel(d2, M, cur) : `<div class=\"panel\"><div class=\"note\">Nenhum time ainda.</div></div>`;\n\n    const header = `<div class=\"row between\">\n      <div><div class=\"kicker\">Genshin · DPS</div><h1>Times</h1><div class=\"row\" style=\"gap:8px\">${s.nickEdit ? `<input class=\"input dark\" style=\"height:30px;width:180px\" maxlength=\"30\" placeholder=\"Seu apelido\" value=\"${esc(s.nickDraft || '')}\" data-in=\"nickDraft\" data-key-enter=\"nickSave\"><button class=\"btn sm primary\" data-act=\"nickSave\" ${s.busy ? 'disabled' : ''}>Salvar</button><button class=\"btn sm\" data-act=\"nickCancel\">Cancelar</button>` : `<button class=\"more\" style=\"color:#cbb;font-weight:600\" data-act=\"nickEdit\" title=\"Editar apelido\">${esc(M.me.apelido || M.me.nickname || 'Definir apelido')} ✎</button>`}<button class=\"more\" data-act=\"openChars\">Personagens</button>${M.me.role === 'admin' ? '<button class=\"more\" data-act=\"openAdmin\">Acessos</button>' : ''}<button class=\"more\" data-act=\"logout\">Sair</button></div></div>\n      <div class=\"row\">\n        <label class=\"f\" for=\"busca\">Filtrar por personagem</label>\n        <input id=\"busca\" class=\"input\" style=\"width:260px\" placeholder=\"Ex.: Furina\" value=\"${esc(s.q || '')}\" data-in=\"q\">\n      </div></div>`;\n\n    const left = `<div class=\"left\">\n      <div class=\"row between\"><div class=\"row\"><h2>Ranking</h2><span class=\"muted\">${info}</span></div>\n      <div class=\"seg\"><button class=\"${showAll ? '' : 'on'}\" data-act=\"view\" data-v=\"best\">Melhor por personagem</button><button class=\"${showAll ? 'on' : ''}\" data-act=\"view\" data-v=\"all\">Todos os times</button></div></div>\n      ${list}${support}</div>`;\n\n    const drop = `<div class=\"drop\" data-drop><div style=\"flex:1 1 320px\"><div class=\"t\">Arraste a print do resultado aqui</div><div class=\"muted\">ou Ctrl+V em qualquer lugar da tela · o app acha o time pelos 4 personagens, ou cria um novo</div></div><label class=\"btn sm\" for=\"pfile\" style=\"display:inline-flex;align-items:center\">Escolher arquivo</label><input id=\"pfile\" type=\"file\" accept=\"image/*\" data-file style=\"display:none\"></div>`;\n    const toast = s.prToast ? `<div class=\"toast\"><span>${esc(s.prToast.text)}</span><button class=\"more\" data-act=\"prCloseToast\">Fechar</button></div>` : '';\n    return `<div class=\"app\"><div class=\"wrap\">${header}${toast}${drop}<div class=\"cols\">${left}${panel}</div></div>${renderModals(d2, M, cur)}${renderPrint(d2)}</div>`;\n  }\n};\n\nfunction renderPanel(d2, M, x) {\n  const s = d2.state;\n  const vs = x.versions.slice().sort((a, b) => new Date(a.v.createdAt || 0) - new Date(b.v.createdAt || 0));\n  let vSel = vs.find((y) => y.v._id === s.selVersion) || x.current || x.best || vs[vs.length - 1] || null;\n  const builds = vSel ? vSel.v.builds : M.currentBuilds(x.t.memberOrder || []);\n  const vals = vSel ? vSel.runs.map((r) => r.dps) : [];\n  const avg = mean(vals);\n  const min = vals.length ? Math.min.apply(null, vals) : 0;\n  const max = vals.length ? Math.max.apply(null, vals) : 0;\n  const firstId = (x.t.memberOrder || [])[0];\n  const firstChar = M.charById[firstId] || {};\n\n  const versionChips = vs.length > 1 ? `<div class=\"chips\">${vs.map((y) => {\n    const label = (y.isCurrent ? 'Atual' : 'Anterior') + ' · ' + (y.count ? fmt(y.avg) : 'sem testes');\n    return `<button class=\"chip ${vSel && y.v._id === vSel.v._id ? 'on' : ''}\" data-act=\"selVersion\" data-id=\"${y.v._id}\" title=\"${esc(y.v.builds.map((b) => ((M.charById[b.characterId] || {}).namePt || '') + ' ' + buildStr(b.constellation, b.refinement)).join(' · '))}\">${label}</button>`;\n  }).join('')}</div>` : '';\n\n  const brRuns = vSel ? vSel.runs.filter((r) => r.breakdown && Object.keys(r.breakdown).length) : [];\n  const total = (br) => Object.keys(br).reduce((a, k) => a + (+br[k] || 0), 0);\n  let contrib;\n  if (brRuns.length) {\n    const parts = builds.map((b) => {\n      const share = mean(brRuns.map((r) => (+r.breakdown[b.characterId] || 0) / (total(r.breakdown) || 1)));\n      const c = M.charById[b.characterId] || {};\n      return { name: c.namePt || '?', share, dmg: mean(brRuns.map((r) => +r.breakdown[b.characterId] || 0)), color: EL[c.element] || '#6b5a5a' };\n    });\n    contrib = `<div class=\"bar\">${parts.map((p) => `<div title=\"${esc(p.name)}\" style=\"width:${(p.share * 100).toFixed(2)}%;min-width:4px;background:${p.color}\"></div>`).join('')}</div>\n      <div class=\"grid4\">${parts.map((p) => `<div><div class=\"row\" style=\"gap:6px\"><span style=\"width:10px;height:10px;border-radius:50%;background:${p.color}\"></span><b style=\"font-size:12px\">${esc(p.name)}</b></div><div style=\"font-size:20px;font-weight:700\">${Math.round(p.share * 100)}%</div><div class=\"muted\">${fmt(p.dmg)} de dano</div></div>`).join('')}</div>`;\n  } else {\n    contrib = `<div class=\"note\">Aparece quando a versão tiver testes registrados por print, que trazem o dano de cada personagem.</div>`;\n  }\n\n  const rows = vSel ? vSel.runs.slice().sort((a, b) => new Date(b.createdAt || 0) - new Date(a.createdAt || 0)).map((r) => {\n    const share = r.breakdown && total(r.breakdown) ? Math.round((+r.breakdown[firstId] || 0) / total(r.breakdown) * 100) + '%' : '—';\n    const editing = s.editRun === r._id;\n    const note = editing\n      ? `<input class=\"input dark\" style=\"height:34px;width:100%\" value=\"${esc(s.noteDraft || '')}\" data-in=\"noteDraft\" data-key-enter=\"saveNote\" data-id=\"${r._id}\" placeholder=\"Enter salva · Esc cancela\">`\n      : `<button class=\"notebtn\" data-act=\"editNote\" data-id=\"${r._id}\" title=\"Editar observação\">${esc(r.note || '—')}</button>`;\n    return `<tr data-key=\"r-${r._id}\"><td class=\"muted\">${dateBR(r.createdAt)}</td><td class=\"r\"><b>${fmt(r.dps)}</b></td><td class=\"r muted\">${avg ? signed((r.dps - avg) / avg * 100) : ''}</td><td class=\"r\">${share}</td><td>${note}</td><td><button class=\"icon\" data-act=\"askDeleteRun\" data-id=\"${r._id}\" title=\"Excluir teste\">🗑</button></td></tr>`;\n  }).join('') : '';\n\n  const parsed = parseNum(s.draft);\n  const sameAsCurrent = vSel && vSel.isCurrent;\n  const newAvg = parsed ? (vals.reduce((a, b) => a + b, 0) + parsed) / (vals.length + 1) : 0;\n  const preview = parsed && sameAsCurrent && avg ? `<div class=\"row between note\"><span>Nova média</span><span><b>${fmt(newAvg)}</b> <span class=\"muted\">${signed((newAvg - avg) / avg * 100)}</span></span></div>` : '';\n  const addLabel = sameAsCurrent || !vs.length ? 'Registrar dano' : 'Registrar com o build atual';\n  const addHint = !sameAsCurrent && vs.length ? `<div class=\"note\">Esta versão usa um build anterior. O teste vai para a versão com o build atual do seu roster (criada se ainda não existir).</div>` : '';\n\n  return `<div class=\"panel\">\n    <div class=\"row between\" style=\"align-items:flex-start\">\n      <div style=\"display:flex;flex-direction:column;gap:4px\">\n        <div class=\"muted\">#${x.gRank || x.rank} no ${x.isChild ? 'geral' : 'ranking'}${vSel && !vSel.isCurrent ? ' · versão com build anterior' : ''}</div>\n        <div style=\"font-size:24px;font-weight:800\">${esc(x.t.label)}</div>\n        <div class=\"row\" style=\"gap:8px;margin-top:6px\"><button class=\"btn sm\" data-act=\"openEdit\">Editar</button><button class=\"btn sm\" data-act=\"openDelete\" style=\"color:#e8a3a3\">Excluir</button></div>\n      </div>\n      <div style=\"text-align:right\"><div class=\"big\">${vals.length ? fmt(avg) : '—'}</div><div class=\"muted\">DPS médio</div></div>\n    </div>\n    ${versionChips}\n    <div class=\"grid4\">${builds.map((b) => { const c = M.charById[b.characterId]; return `<div class=\"memcol\">${avatar(c, b, 80)}<span class=\"n\">${esc(c ? c.namePt : '?')}</span></div>`; }).join('')}</div>\n    <div class=\"grid4\">\n      <div class=\"stat\"><span class=\"muted\">Testes</span><b>${vals.length}</b></div>\n      <div class=\"stat\"><span class=\"muted\">Mínimo</span><b>${vals.length ? fmt(min) : '—'}</b></div>\n      <div class=\"stat\"><span class=\"muted\">Máximo</span><b>${vals.length ? fmt(max) : '—'}</b></div>\n      <div class=\"stat\"><span class=\"muted\">Dispersão</span><b>${vals.length > 1 ? ((max - min) / avg * 100).toFixed(1).replace('.', ',') + '%' : '—'}</b></div>\n    </div>\n    <div style=\"display:flex;flex-direction:column;gap:12px\"><div class=\"row between\"><h3>Contribuição no time</h3><span class=\"muted\">${brRuns.length ? 'média de ' + brRuns.length + ' teste(s) com print' : ''}</span></div>${contrib}</div>\n    <div class=\"cols\" style=\"gap:24px\">\n      <div style=\"flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:12px\">\n        <h3>Novo teste manual</h3>\n        <label class=\"f\" for=\"dano\">Dano (DPS) · Enter registra</label>\n        <input id=\"dano\" class=\"input dark\" style=\"height:52px;font-size:20px;font-weight:700\" inputmode=\"numeric\" placeholder=\"Ex.: 198.500\" value=\"${esc(s.draft || '')}\" data-in=\"draft\" data-key-enter=\"addRun\">\n        <label class=\"f\" for=\"nota\">Observação (opcional)</label>\n        <input id=\"nota\" class=\"input dark\" placeholder=\"Ex.: rotação alternativa\" value=\"${esc(s.noteNew || '')}\" data-in=\"noteNew\" data-key-enter=\"addRun\">\n        ${preview}${addHint}\n        <button class=\"btn primary\" data-act=\"addRun\" ${s.busy ? 'disabled' : ''}>${addLabel}</button>\n      </div>\n      <div style=\"flex:2 1 340px;min-width:0;display:flex;flex-direction:column;gap:12px\">\n        <h3>Testes registrados</h3>\n        <div style=\"overflow-x:auto\"><table><thead><tr><th>Data</th><th class=\"r\">Dano</th><th class=\"r\">vs média</th><th class=\"r\">${esc(firstChar.namePt || '1º')} %</th><th>Observação</th><th></th></tr></thead><tbody>${rows || '<tr><td colspan=\"6\" class=\"muted\">Nenhum teste nesta versão.</td></tr>'}</tbody></table></div>\n      </div>\n    </div>\n  </div>`;\n}\n\nfunction renderModals(d2, M, x) {\n  const s = d2.state;\n  if (s.modal === 'deleteRun') {\n    return `<div class=\"overlay\"><div class=\"modal\"><h2 style=\"font-size:22px\">Excluir este teste?</h2><div class=\"warn\">O teste de <b>${fmt(s.modalDps)}</b> será apagado e a média recalculada.</div><div class=\"row\"><button class=\"btn primary\" data-act=\"deleteRun\" data-id=\"${s.modalId}\" ${s.busy ? 'disabled' : ''}>Excluir</button><button class=\"btn\" data-act=\"closeModal\">Cancelar</button></div></div></div>`;\n  }\n  if (!x) return '';\n  if (s.modal === 'delete') {\n    const vs = x.versions;\n    const totalRuns = vs.reduce((a, y) => a + y.count, 0);\n    const vSel = vs.find((y) => y.v._id === s.selVersion) || x.current || x.best || vs[vs.length - 1];\n    const one = vs.length > 1 && vSel ? `<button class=\"btn\" data-act=\"deleteVersion\" data-id=\"${vSel.v._id}\" ${s.busy ? 'disabled' : ''}>Excluir só esta versão (${vSel.count} testes)</button>` : '';\n    return `<div class=\"overlay\"><div class=\"modal\"><h2 style=\"font-size:22px\">Excluir \"${esc(x.t.label)}\"?</h2>\n      ${totalRuns ? `<div class=\"warn\">Este time tem <b>${totalRuns} testes registrados</b>${vs.length > 1 ? ' em ' + vs.length + ' versões' : ''}. Eles serão apagados e não dá pra recuperar.</div>` : ''}\n      <div class=\"row\">${one}<button class=\"btn primary\" data-act=\"deleteTeam\" ${s.busy ? 'disabled' : ''}>Excluir o time inteiro</button><button class=\"btn\" data-act=\"closeModal\">Cancelar</button></div></div></div>`;\n  }\n  if (s.modal === 'edit') {\n    const members = s.editMembers || (x.t.memberOrder || []).slice();\n    const owned = Object.keys(M.rosterBy).filter((id) => M.rosterBy[id].owned !== false && M.charById[id]).sort((a, b) => M.charById[a].namePt.localeCompare(M.charById[b].namePt));\n    const dup = members.some((m, i) => members.indexOf(m) !== i);\n    const changed = !dup && groupOf(members) !== groupOf(x.t.memberOrder || []);\n    const existing = changed ? M.teamInfo.find((y) => groupOf(y.t.memberOrder || []) === groupOf(members)) : null;\n    const name = s.editName !== undefined ? s.editName : x.t.label;\n    const runs = x.versions.reduce((a, y) => a + y.count, 0);\n    const cantRename = changed || dup || !name.trim() || name.trim() === x.t.label;\n    return `<div class=\"overlay\"><div class=\"modal\"><h2 style=\"font-size:22px\">Editar time</h2>\n      ${runs ? `<div class=\"note\">Este time tem <b>${runs} testes registrados</b>. Renomear não muda nada neles. Trocar um personagem não altera este time: cria outro.</div>` : ''}\n      <label class=\"f\" for=\"enome\">Nome do time</label><input id=\"enome\" class=\"input dark\" value=\"${esc(name)}\" data-in=\"editName\">\n      <div class=\"grid4\">${members.map((m, i) => `<div style=\"display:flex;flex-direction:column;gap:6px;min-width:0\"><label class=\"f\">${i === 0 ? '1º personagem' : 'Slot ' + (i + 1)}</label><select data-sel=\"${i}\" style=\"border-color:${m !== (x.t.memberOrder || [])[i] ? '#b3121f' : '#3a2a2a'}\">${owned.map((id) => `<option value=\"${id}\" ${id === m ? 'selected' : ''}>${esc(M.charById[id].namePt)}</option>`).join('')}</select></div>`).join('')}</div>\n      ${dup ? '<div class=\"muted\"><b>Um personagem não pode aparecer duas vezes no time.</b></div>' : ''}\n      ${changed && !existing ? `<div class=\"warn row between\"><span style=\"flex:1 1 260px\">Essa composição ainda não existe. Ela vira um <b>time novo</b>, sem testes; este time continua como está.</span><button class=\"btn sm primary\" data-act=\"createFromEdit\" ${s.busy ? 'disabled' : ''}>Criar time novo</button></div>` : ''}\n      ${existing ? `<div class=\"warn row between\"><span style=\"flex:1 1 260px\">Você já tem esse time: <b>${esc(existing.t.label)}</b>.</span><button class=\"btn sm primary\" data-act=\"goTeam\" data-id=\"${existing.t._id}\">Ir para esse time</button></div>` : ''}\n      <div class=\"row\"><button class=\"btn primary\" data-act=\"saveRename\" ${cantRename || s.busy ? 'disabled' : ''}>Salvar nome</button><button class=\"btn\" data-act=\"closeModal\">Cancelar</button></div></div></div>`;\n  }\n  return '';\n}\n\nasync function mustOk(d2, param, body) {\n  const r = await callRush(d2, param, body);\n  if (!r || r.ok === false) throw new Error((r && r.error) || 'erro no servidor');\n  return r;\n}\n\nfunction applyData(d2, r) {\n  if (!r || !Array.isArray(r.teams)) return false;\n  d2.state.db = Object.assign({}, d2.state.db || {}, { roster: r.roster || [], teams: r.teams || [], versions: r.versions || [], runs: r.runs || [] });\n  return true;\n}\n\nasync function act(d2, a, data) {\n  const s = d2.state;\n  const M = model(d2);\n  const ranked = M.teamInfo.slice().sort((x, y) => (y.best ? y.best.avg : -1) - (x.best ? x.best.avg : -1));\n  const cur = ranked.find((x) => x.t._id === s.sel) || ranked[0];\n  const run = async (fn) => { if (s.busy) return; d2.setState({ busy: true }); try { await fn(); } catch (e) { d2.log(e); await d2.dialog.alert('Não foi possível salvar: ' + (e && e.message ? e.message : e)); } d2.setState({ busy: false }); };\n\n  if (a === 'goView') return d2.setState({ view: data.v, authErr: '', authMsg: '', auPass: '', auPass2: '', auCode: '' });\n  if (a === 'logout') {\n    try { await d2.auth('auth').logout(); } catch (e) { d2.log(e); }\n    d2.state.db = null;\n    return d2.setState({ authed: false, dataLoaded: true, view: 'login', auPass: '', sel: null, modal: null, page: null });\n  }\n  if (a === 'doLogin' || a === 'doSignup' || a === 'doReset') {\n    if (s.busy) return;\n    const email = String(s.auEmail || '').trim().toLowerCase();\n    const pass = String(s.auPass || '');\n    if (!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email)) return d2.setState({ authErr: 'Digite um e-mail válido.' });\n    if (a !== 'doLogin' && pass.length < 6) return d2.setState({ authErr: 'A senha precisa ter pelo menos 6 caracteres.' });\n    if (a !== 'doLogin' && pass !== String(s.auPass2 || '')) return d2.setState({ authErr: 'As senhas não são iguais.' });\n    if (a === 'doReset' && !String(s.auCode || '').trim()) return d2.setState({ authErr: 'Digite o código recebido do administrador.' });\n    d2.setState({ busy: true, authErr: '', authMsg: '' });\n    const unwrap = (r) => (r && r.data && typeof r.data === 'object' ? r.data : r) || {};\n    try {\n      if (a === 'doSignup') {\n        const r = unwrap(await d2.rush(d2.param('rushCriar')).invoke({ action: 'criarConta', email, password: pass }));\n        if (!r.ok) { d2.setState({ busy: false, authErr: r.error || 'Não foi possível criar a conta.' }); return; }\n      }\n      if (a === 'doReset') {\n        const r = unwrap(await d2.rush(d2.param('rushCriar')).invoke({ action: 'redefinirSenha', email, code: String(s.auCode).trim(), password: pass }));\n        if (!r.ok) { d2.setState({ busy: false, authErr: r.error || 'Não foi possível redefinir a senha.' }); return; }\n      }\n      const A = d2.auth('auth');\n      const inst = A.raw;\n      if (inst && inst.cursor) { if (!inst.cursor.current) inst.cursor.current = {}; inst.cursor.current.credentials = { email, password: pass }; }\n      if (inst && typeof inst.login === 'function') await inst.login({ credentials: { email, password: pass } });\n      else await A.login({ credentials: { email, password: pass } });\n      d2.setState({ auPass: '', auPass2: '', auCode: '' });\n      let okLoad = false;\n      for (let i = 0; i < 3 && !okLoad; i++) { if (i) await sleep(800); okLoad = await loadAllData(d2); }\n      d2.setState({ busy: false });\n      if (!okLoad) d2.setState({ view: 'login', authErr: 'Entrou, mas não foi possível carregar seus dados. Tente de novo.' });\n    } catch (e) {\n      d2.log(e);\n      d2.setState({ busy: false, view: 'login', authErr: a === 'doLogin' ? 'E-mail ou senha incorretos.' : 'Conta pronta, mas o login falhou. Tente entrar.' });\n    }\n    return;\n  }\n  if (a === 'openAdmin') { d2.setState({ page: 'acessos', adm: null, admMsg: '', admErr: '' }); return loadAdmin(d2); }\n  if (a === 'closeAdmin') return d2.setState({ page: null, admCode: null });\n  if (a === 'admRole') return d2.setState({ admRole: data.v });\n  if (a === 'admCloseCode') return d2.setState({ admCode: null });\n  if (a === 'admAdd') return run(async () => {\n    const email = String(s.admEmail || '').trim().toLowerCase();\n    if (!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email)) { d2.setState({ admMsg: 'Digite um e-mail válido.' }); return; }\n    const r = await callRush(d2, 'rushAdminAdd', { email, role: s.admRole || 'player' });\n    if (!r.ok) { d2.setState({ admMsg: r.error || 'Não foi possível liberar.' }); return; }\n    d2.setState({ admEmail: '', admMsg: 'Acesso liberado para ' + email + '.' });\n    await loadAdmin(d2);\n  });\n  if (a === 'admUpd') return run(async () => {\n    const r = await callRush(d2, 'rushAdminUpdate', { id: data.id, role: data.role, active: data.active === '1' });\n    if (!r.ok) { d2.setState({ admMsg: r.error || 'Não foi possível alterar.' }); return; }\n    d2.setState({ admMsg: '' });\n    await loadAdmin(d2);\n  });\n  if (a === 'admCode') return run(async () => {\n    const r = await callRush(d2, 'rushGerarCodigo', { email: data.email });\n    if (!r.ok) { d2.setState({ admMsg: r.error || 'Não foi possível gerar o código.' }); return; }\n    d2.setState({ admCode: { email: data.email, code: String(r.code) } });\n  });\n  if (a === 'wImport' || a === 'chSync') return syncFromEnka(d2, a === 'wImport' ? s.uidDraft : (s.uidDraft || (M.me && M.me.uid)));\n  if (a === 'wDone') return run(async () => { await mustOk(d2, 'rushOnboard', {}); d2.state.db.me = Object.assign({}, d2.state.db.me, { onboarded: true }); d2.setState({ page: null, syncMsg: null }); });\n  if (a === 'scPick') { const sc = s.syncConf; const it = sc.items[+data.i]; if (data.k === 'C') it.choiceC = data.v; else it.choiceR = data.v; d2.setState({ syncConf: Object.assign({}, sc, { items: sc.items.slice() }) }); d2.refresh(); return; }\n  if (a === 'scKeepAll') { const sm = s.syncConf.summary; return d2.setState({ syncConf: null, syncMsg: { text: syncText(sm) } }); }\n  if (a === 'scApply') return run(async () => {\n    const sc = s.syncConf; let resolved = 0;\n    for (const it of sc.items) {\n      const c = it.lowerC && it.choiceC === 'change' ? it.vc : it.nextC;\n      const r = it.lostSig && it.choiceR === 'change' ? 0 : it.cr;\n      if (c !== it.cc || r !== it.cr) { await saveRoster(d2, it.id, { owned: true, constellation: c, refinement: r }); resolved++; }\n    }\n    d2.setState({ syncConf: null, syncMsg: { text: syncText(Object.assign({}, sc.summary, { resolved })) } });\n  });\n  if (a === 'openChars') return d2.setState({ page: 'personagens', chConfirmRemove: null, syncMsg: null });\n  if (a === 'closeChars') return d2.setState({ page: null });\n  if (a === 'chSel') return d2.setState({ chSel: data.id, chConfirmRemove: null, chAliasDraft: undefined, chAliasFor: data.id });\n  if (a === 'chSort') return d2.setState({ chSort: data.v, chElF: null });\n  if (a === 'chElF') return d2.setState({ chElF: s.chElF === data.v ? null : data.v });\n  if (a === 'chOwnF') { const nx = { all: 'have', have: 'missing', missing: 'all' }[s.chOwnF || 'all']; return d2.setState({ chOwnF: nx }); }\n  if (a === 'phCancel') return d2.setState({ ph: null });\n  if (a === 'phSave') return run(async () => {\n    const ph = s.ph; if (!ph || !ph.src) return;\n    const iconUrl = await cropPhoto(ph);\n    const r = await mustOk(d2, 'rushCatalog', { id: ph.id, iconUrl });\n    if (r.chars) d2.state.db = Object.assign({}, d2.state.db, { chars: r.chars });\n    d2.setState({ ph: null });\n  });\n  if (a === 'phRemove') return run(async () => {\n    const r = await mustOk(d2, 'rushCatalog', { id: s.chSel, iconUrl: ' ' });\n    if (r.chars) d2.state.db = Object.assign({}, d2.state.db, { chars: r.chars });\n  });\n  if (a === 'chOwnCancel') return d2.setState({ chConfirmRemove: null });\n  if (a === 'chOwn' || a === 'chOwnConfirm') return run(async () => {\n    const id = s.chSel; if (!id) return;\n    const owned = M.rosterBy[id] && M.rosterBy[id].owned !== false;\n    if (owned && a === 'chOwn' && M.teamInfo.some((x) => (x.t.memberOrder || []).indexOf(id) >= 0)) { d2.setState({ chConfirmRemove: id }); return; }\n    await saveRoster(d2, id, { owned: !owned });\n    d2.setState({ chConfirmRemove: null });\n  });\n  if (a === 'chC') return run(async () => { await saveRoster(d2, s.chSel, { constellation: +data.v }); });\n  if (a === 'chR') return run(async () => {\n    const r = M.rosterBy[s.chSel] || {};\n    const v = +data.v;\n    await saveRoster(d2, s.chSel, { refinement: (r.refinement || 0) === v && v > 0 ? 0 : v });\n  });\n  if (a === 'chEl') return run(async () => {\n    const r = await mustOk(d2, 'rushCatalog', { id: s.chSel, element: data.v });\n    if (r.chars) d2.state.db = Object.assign({}, d2.state.db, { chars: r.chars });\n  });\n  if (a === 'nickEdit') return d2.setState({ nickEdit: true, nickDraft: M.me.apelido || M.me.nickname || '' });\n  if (a === 'nickCancel') return d2.setState({ nickEdit: false });\n  if (a === 'nickSave') return run(async () => {\n    const ap = String(s.nickDraft || '').trim().slice(0, 30);\n    if (!ap) { await d2.dialog.alert('Digite um apelido.'); return; }\n    await mustOk(d2, 'rushApelido', { apelido: ap });\n    d2.state.db = Object.assign({}, d2.state.db, { me: Object.assign({}, d2.state.db.me, { apelido: ap }) });\n    d2.setState({ nickEdit: false });\n  });\n  if (a === 'chAliasSave') return run(async () => {\n    const c = M.charById[s.chSel]; if (!c) return;\n    const txt = s.chAliasDraft !== undefined ? s.chAliasDraft : (c.aliases || []).join(', ');\n    const aliases = String(txt).split(',').map((x) => x.trim()).filter(Boolean);\n    const r = await mustOk(d2, 'rushCatalog', { id: s.chSel, aliases });\n    if (r.chars) d2.state.db = Object.assign({}, d2.state.db, { chars: r.chars });\n    d2.setState({ chAliasDraft: undefined });\n  });\n  if (a === 'prDiscard') return d2.setState({ pr: null });\n  if (a === 'prCloseToast') return d2.setState({ prToast: null });\n  if (a === 'prAddSlot') { const pr = s.pr; if (pr && pr.members.length < 4) { pr.members.push({ raw: '', damage: 0, added: true, charId: null }); d2.setState({ pr: Object.assign({}, pr, { members: pr.members.slice() }) }); d2.refresh(); } return; }\n  if (a === 'prSave') { if (s.pr && s.pr.stage === 'review') return savePrint(d2); return; }\n  if (a === 'select') return d2.setState({ sel: data.id, selVersion: null, draft: '', noteNew: '', editRun: null });\n  if (a === 'view') return d2.setState({ showAll: data.v === 'all' });\n  if (a === 'toggleGroup') { const e = Object.assign({}, s.expanded || {}); e[data.f] = data.open !== '1'; return d2.setState({ expanded: e }); }\n  if (a === 'selVersion') return d2.setState({ selVersion: data.id, editRun: null });\n  if (a === 'closeModal') return d2.setState({ modal: null, editMembers: null, editName: undefined });\n  if (a === 'openEdit') return d2.setState({ modal: 'edit', editMembers: null, editName: undefined });\n  if (a === 'openDelete') return d2.setState({ modal: 'delete' });\n  if (a === 'goTeam') return d2.setState({ sel: data.id, selVersion: null, modal: null, editMembers: null, editName: undefined, q: '' });\n  if (a === 'editNote') { const r = M.runs.find((x) => x._id === data.id); return d2.setState({ editRun: data.id, noteDraft: r ? r.note || '' : '' }); }\n  if (a === 'askDeleteRun') { const r = M.runs.find((x) => x._id === data.id); return d2.setState({ modal: 'deleteRun', modalId: data.id, modalDps: r ? r.dps : 0 }); }\n\n  if (a === 'saveNote') return run(async () => {\n    const r = await mustOk(d2, 'rushRunNote', { runId: data.id, note: String(s.noteDraft || '').trim() });\n    if (!applyData(d2, r)) await loadAllData(d2);\n    d2.setState({ editRun: null });\n  });\n\n  if (a === 'deleteRun') return run(async () => {      const r = await mustOk(d2, 'rushRunDelete', { id: data.id });\n      if (!applyData(d2, r)) await loadAllData(d2);\n      const teamOk = ((d2.state.db || {}).teams || []).some((t) => t._id === d2.state.sel);\n      d2.setState(teamOk ? { modal: null } : { modal: null, sel: null, selVersion: null });\n  });\n\n  if (a === 'addRun') return run(async () => {\n    if (!cur) return;\n    const dps = parseNum(s.draft);\n    if (!dps) { await d2.dialog.alert('Digite um valor de dano válido.'); return; }\n    const builds = M.currentBuilds(cur.t.memberOrder || []);\n    const r = await mustOk(d2, 'rushRunAdd', { teamId: cur.t._id, compositionKey: keyOfBuilds(builds), builds, dps, note: String(s.noteNew || '').trim(), source: 'manual' });\n    const versionId = r.versionId;\n    if (!applyData(d2, r)) await loadAllData(d2);\n    d2.setState({ draft: '', noteNew: '', selVersion: versionId });\n  });\n\n  if (a === 'saveRename') return run(async () => {\n    const name = String(s.editName || '').trim();\n    if (!name || !cur) return;\n    const r = await mustOk(d2, 'rushTeamRename', { id: cur.t._id, label: name });\n    if (!applyData(d2, r)) await loadAllData(d2);\n    d2.setState({ modal: null, editName: undefined, editMembers: null });\n  });\n\n  if (a === 'createFromEdit') return run(async () => {\n    const members = s.editMembers;\n    if (!members || !cur) return;\n    const label = (M.charById[members[0]] || {}).namePt || 'Novo time';\n    const r = await callRush(d2, 'rushTeamCreate', { groupKey: groupOf(members), label, memberOrder: members, firstCharacterId: members[0] });\n    if (!applyData(d2, r)) await loadAllData(d2);\n    d2.setState({ sel: r.teamId || null, selVersion: null, modal: null, editMembers: null, editName: undefined, showAll: true });\n  });\n\n  if (a === 'deleteVersion') return run(async () => {      const r = await mustOk(d2, 'rushVersionDelete', { id: data.id });\n      if (!applyData(d2, r)) await loadAllData(d2);\n      const teamOk = ((d2.state.db || {}).teams || []).some((t) => t._id === d2.state.sel);\n      d2.setState(teamOk ? { modal: null, selVersion: null } : { modal: null, sel: null, selVersion: null });\n  });\n\n  if (a === 'deleteTeam') return run(async () => {\n    if (!cur) return;\n    const r = await mustOk(d2, 'rushTeamDelete', { id: cur.t._id });\n    if (!applyData(d2, r)) await loadAllData(d2);\n    d2.setState({ modal: null, sel: null, selVersion: null });\n  });\n}\n"}},"auth":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"auth"}}}},"rushAdminAdd":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushAdminAdd"}}}},"rushAdminList":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushAdminList"}}}},"rushAdminUpdate":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushAdminUpdate"}}}},"rushCatalog":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushCatalog"}}}},"rushCriar":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushCriar"}}}},"rushDados":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushDados"}}}},"rushExport":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushExport"}}}},"rushGerarCodigo":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushGerarCodigo"}}}},"rushPrint":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushPrint"}}}},"rushProfile":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushProfile"}}}},"rushRedefinir":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushRedefinir"}}}},"rushRoster":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushRoster"}}}},"rushRunAdd":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushRunAdd"}}}},"rushRunDelete":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushRunDelete"}}}},"rushRunNote":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushRunNote"}}}},"rushSync":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushSync"}}}},"rushTeamCreate":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushTeamCreate"}}},"disabled":false},"rushTeamDelete":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushTeamDelete"}}},"disabled":false},"rushTeamRename":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushTeamRename"}}}},"rushVersionDelete":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"rushVersionDelete"}}}}}}}}}},{"_id":"6adacec16eff2882d0defd2a","component":"data2-core-types@Component","system":"686bd24b4fcbdb97284775e3","params":{"extends":"data2-core-primitives@Block","component":"moti-app","package":"massayuki-playground","definition":{"preventEvaluation":true,"component":"data2-core-types@Definition","params":{"def":{"component":"data2-code-components@CodeHost","params":{"code":{"component":"data2-core-primitives@String","params":{"content":"const MEM = { plan: null, run: null }\n\nexport default {\n  css: `\n.app{position:relative;display:flex;flex-direction:column;height:100%;background:#F4F1EA;color:#1F1B24;font-family:Outfit,system-ui,-apple-system,sans-serif;font-size:14px;overflow:hidden}\n.app.wide{flex-direction:row}\n.main{flex:1;min-width:0;overflow:auto;-webkit-overflow-scrolling:touch}\n.inner{max-width:520px;margin:0 auto;padding:22px 18px 28px;box-sizing:border-box}\n.wide .inner{max-width:1100px;padding:28px 32px}\n.tabs{display:flex;flex-shrink:0;border-top:1px solid #E4DFD4;padding:6px 8px calc(10px + env(safe-area-inset-bottom,0px));background:#F4F1EA}\n.tb{flex:1;text-align:center;font-size:11px;color:#57515C;padding:7px 0;cursor:pointer;border-radius:999px}\n.tb .ic{display:block;height:20px;margin-bottom:2px}\n.tb.on{color:#1F1B24;background:#EDE8DE}\n.side{width:190px;flex-shrink:0;border-right:1px solid #E4DFD4;padding:24px 12px}\n.brand{font-size:18px;padding:0 12px 18px}\n.sb{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;cursor:pointer;color:#57515C;font-size:14px;margin-bottom:2px}\n.sb.on{background:#EDE8DE;color:#1F1B24}\n.panel{width:340px;flex-shrink:0;border-left:1px solid #E4DFD4;overflow:auto;padding:24px 20px;box-sizing:border-box}\n.cd{background:#FFF;border:1px solid #E4DFD4;border-radius:18px;padding:14px 16px;margin-bottom:10px}\n.r{display:flex;justify-content:space-between;align-items:center;gap:8px}\n.mut{color:#57515C;font-size:12px}\n.box{background:#FAF8F3;border-radius:12px;padding:8px 12px;margin-top:8px}\n.ln{margin-top:10px;padding-top:10px;border-top:1px solid #EFEBE3}\n.b{border-radius:999px;font-family:inherit;cursor:pointer;font-size:12px;height:32px;padding:0 14px;background:#FFF;border:1px solid #E4DFD4;color:#1F1B24;white-space:nowrap}\n.bd{background:#1F1B24;color:#FFF;border:none;height:38px;padding:0 18px;font-size:14px}\n.b[disabled]{opacity:.5;cursor:default}\n.wa{color:#3F5E44;border-color:#C9DCC6}\n.ch{display:inline-block;font-size:11px;padding:4px 10px;border-radius:999px;white-space:nowrap}\n.f{border-radius:999px;border:1px solid #E4DFD4;padding:6px 14px;font-size:13px;cursor:pointer;background:transparent;color:#1F1B24;font-family:inherit}\n.f.on{background:#1F1B24;color:#FFF;border-color:#1F1B24}\n.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}\n.sec{font-size:14px;margin:20px 0 10px}\n.h1{font-size:28px;line-height:1.15}\n.head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}\n.busca{width:100%;height:42px;border:1px solid #E4DFD4;border-radius:999px;background:#FFF;color:#1F1B24;font-family:inherit;font-size:14px;padding:0 16px;box-sizing:border-box;margin-bottom:10px;outline:none}\n.tap{cursor:pointer}\n.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}\n.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}\n.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}\n.plancols{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}\n.tbl{width:100%;border-collapse:collapse;font-size:14px}\n.tbl th{text-align:left;font-weight:400;color:#57515C;font-size:12px;padding:10px;border-bottom:1px solid #E4DFD4}\n.tbl td{padding:12px 10px;border-bottom:1px solid #EFEBE3}\n.tbl tr.tap:hover td{background:#FAF8F3}\n.lb{font-size:11px;color:#57515C;letter-spacing:.05em;margin-top:4px}\n.in{width:100%;height:46px;border:1px solid #E4DFD4;border-radius:12px;background:#FFF;color:#1F1B24;font-family:inherit;font-size:15px;padding:0 14px;box-sizing:border-box;margin:4px 0 12px;outline:none}\n.num{width:88px;height:34px;text-align:right;border:1px solid #E4DFD4;border-radius:10px;background:#FFF;color:#1F1B24;font-family:inherit;font-size:14px;padding:0 8px;box-sizing:border-box;outline:none}\n.pin{padding:7px 0;border-bottom:1px solid #EFEBE3}\n.grp{font-size:11px;color:#57515C;padding:12px 0 2px;letter-spacing:.05em}\n.prev{font-size:11px;color:#8A848D;margin-top:2px}\n.ov{position:absolute;inset:0;background:rgba(31,27,36,.55);z-index:20}\n.ovc{position:absolute;inset:0}\n.sheet{position:absolute;left:6px;right:6px;bottom:0;max-height:calc(100% - 40px);overflow:auto;background:#F4F1EA;border-radius:22px 22px 0 0;padding:12px 20px calc(20px + env(safe-area-inset-bottom,0px));box-sizing:border-box}\n.handle{width:38px;height:5px;border-radius:3px;background:#1F1B24;margin:0 auto 14px}\n.modal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(380px,calc(100% - 40px));background:#F4F1EA;border-radius:22px;padding:22px;box-sizing:border-box}\n.dark{background:#1F1B24;color:#FFF;border:none}\n.toast{position:absolute;left:50%;bottom:90px;transform:translateX(-50%);background:#1F1B24;color:#FFF;padding:10px 16px;border-radius:999px;font-size:13px;z-index:30}\n.stp{display:flex;align-items:center;gap:8px}\n.stp .b{width:32px;padding:0;font-size:16px}\n.loading{padding:40px;text-align:center;color:#57515C}\n`,\n\n  render(d2) {\n    const S = d2.state\n    const esc = (v) => String(v == null ? '' : v).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;')\n    const f2 = (n) => (Number(n) || 0).toFixed(2)\n    const money = (n) => 'R$ ' + f2(n)\n    const pedDs = d2.data('pedidos'), cliDs = d2.data('clientes'), proDs = d2.data('produtos'), plaDs = d2.data('planos')\n    if (!pedDs || !cliDs || !proDs || !plaDs) return `<div class=\"app\"><div class=\"loading\">Conectando aos dados…</div></div>`\n    const wide = !!S.wide\n    const scr = S.scr || 'resumo'\n    const anoAtual = String(new Date().getFullYear())\n\n    // ---------- data ----------\n    const idOf = (v) => (v && typeof v === 'object') ? (v._id || '') : (v || '')\n    const tsOf = (r) => r.createdAt ? new Date(r.createdAt).getTime() : (r._id ? parseInt(String(r._id).slice(0, 8), 16) * 1000 : Date.now())\n    const pad = (n) => String(n).padStart(2, '0')\n    const PROD = (proDs.records() || []).slice().sort((a, b) => String(a.nome_produto).localeCompare(String(b.nome_produto)))\n    const PESO = (nome) => { const n = String(nome || '').toLowerCase(); return n.includes(' p') && n.includes('osonae') ? 0.25 : 0.5 }\n    const embKey = (nome) => { const n = String(nome || '').toLowerCase(); return n.includes('osonae') ? (n.endsWith(' p') || n.includes('peq') ? 'eP' : 'eG') : 'eM' }\n    const precoDe = (p, rev) => (rev && Number(p.preco_revenda) > 0) ? Number(p.preco_revenda) : (Number(p.preco) || 0)\n    const revChip = (t) => `<span class=\"ch\" style=\"background:transparent;border:1px solid #C9C4CC;color:#57515C;padding:3px 9px\">${t}</span>`\n    const CLI = (cliDs.records() || []).slice().sort((a, b) => String(a.nome).localeCompare(String(b.nome)))\n    const PED = (pedDs.records() || []).map((r, i) => {\n      const t = tsOf(r), d = new Date(t)\n      const it = (r.produtosNomes || []).map((s) => { const m = String(s).match(/^(.*) x(\\d+)$/); return m ? [m[1], +m[2]] : [String(s), 1] })\n      const st = r.pago ? (r.formaPagamento === 'pix' ? 'pix' : 'din') : 'np'\n      return { r, id: r._id || `pending-${i}`, real: !!r._id, c: r.usuarioNome || '', uid: idOf(r.usuarioId), t: Number(r.total) || 0, it, st, e: !!r.entregue, rev: !!r.revenda, ts: t, dt: pad(d.getDate()) + '/' + pad(d.getMonth() + 1), ano: String(d.getFullYear()) }\n    }).sort((a, b) => b.ts - a.ts)\n    const q = (S.q || '').trim().toLowerCase()\n    const match = (n) => !q || String(n || '').toLowerCase().includes(q)\n\n    const CH = { np: ['Não pago', '#F2D9D0', '#A3402F'], din: ['Pago · Dinheiro', '#DCE7DA', '#3F5E44'], pix: ['Pago · Pix', '#D5E4E6', '#3B5A61'] }\n    const chip = (s) => `<span class=\"ch\" style=\"background:${CH[s][1]};color:${CH[s][2]}\">${CH[s][0]}</span>`\n    const pct = (m) => `<span class=\"ch\" style=\"background:${m < 0 ? '#F2D9D0' : '#DCE7DA'};color:${m < 0 ? '#A3402F' : '#3F5E44'}\">${m}%</span>`\n    const head = (t, btn, sub) => `<div class=\"head\"><div><div class=\"h1\">${esc(t)}</div>${sub ? `<div class=\"mut\" style=\"font-size:13px;margin-top:2px\">${sub}</div>` : ''}</div>${btn ? `<button class=\"b bd\" data-act=\"${btn[1]}\">${btn[0]}</button>` : ''}</div>`\n    const grid = (items) => wide ? `<div class=\"grid2\">${items.map((x) => `<div>${x}</div>`).join('')}</div>` : items.join('')\n    const busca = (ph) => `<input class=\"busca\" id=\"busca\" placeholder=\"${ph}\" value=\"${esc(S.q || '')}\">`\n\n    const pcard = (p, cli) => `<div class=\"cd tap\" data-key=\"${esc(p.id)}\" data-edit=\"pedido:${esc(p.id)}\" style=\"margin:0 0 10px\">\n      <div class=\"r\"><span style=\"font-size:15px\">${cli ? money(p.t) : esc(p.c)} <span class=\"mut\">· ${p.dt}</span></span>${cli ? '' : `<span style=\"font-size:17px\">${money(p.t)}</span>`}</div>\n      <div class=\"box mut\">${p.it.map((x) => `<div class=\"r\" style=\"padding:1px 0\"><span>${esc(x[0])}</span><span style=\"color:#1F1B24\">×${x[1]}</span></div>`).join('') || '<span>Sem itens</span>'}</div>\n      <div style=\"display:flex;gap:6px;margin-top:10px;align-items:center;flex-wrap:wrap\">${chip(p.st)}${p.rev ? revChip('Revenda') : ''}${p.e ? '<span class=\"ch\" style=\"background:#EDE8DE;color:#1F1B24\">Entregue</span>' : ''}<span style=\"flex:1\"></span>\n      <button class=\"b ${p.e ? 'bd' : ''}\" style=\"height:32px;font-size:12px\" data-ent=\"${esc(p.id)}\" ${p.real ? '' : 'disabled'}>${p.e ? 'Entregue ✓' : 'Entregar'}</button></div></div>`\n\n    // ---------- screens ----------\n    const resumo = () => {\n      const fa = S.anoRes || 'todos'\n      const anos = Array.from(new Set([anoAtual, String(+anoAtual - 1), ...PED.map((p) => p.ano)])).sort().reverse().slice(0, 3)\n      const L = PED.filter((p) => fa === 'todos' || p.ano === fa)\n      let din = 0, pix = 0, rec = 0, ab = 0\n      L.forEach((p) => { if (p.st === 'din') din += p.t; else if (p.st === 'pix') pix += p.t; else { rec += p.t; ab++ } })\n      const prodQ = {}\n      L.filter((p) => !p.e).forEach((p) => p.it.forEach((x) => { prodQ[x[0]] = (prodQ[x[0]] || 0) + x[1] }))\n      const fin = [['A receber', rec, ab + (ab === 1 ? ' pedido em aberto' : ' pedidos em aberto'), 1], ['Dinheiro', din], ['Pix', pix], ['Total recebido', din + pix]]\n      const fc = fin.map((x) => `<div class=\"cd ${x[3] ? 'dark' : ''}\" style=\"margin:0\"><div style=\"font-size:12px;color:${x[3] ? '#C9C4CC' : '#57515C'}\">${x[0]}</div><div style=\"font-size:${x[3] && !wide ? 30 : 22}px;margin-top:4px;color:${x[3] ? '#FFF' : '#3F5E44'}\">${money(x[1])}</div>${x[2] ? `<div style=\"font-size:12px;color:#C9C4CC;margin-top:4px\">${x[2]}</div>` : ''}</div>`)\n      const pk = Object.keys(prodQ).filter((k) => prodQ[k] > 0)\n      const prod = `<div class=\"cd\">${pk.length ? pk.map((k, i) => `<div class=\"r\" style=\"padding:6px 0;${i ? 'border-top:1px solid #EFEBE3' : ''}\"><span style=\"font-size:22px\">${prodQ[k]}</span><span>${esc(k)}</span></div>`).join('') : '<div class=\"mut\">Nada pendente para produzir</div>'}</div>`\n      const ult = L.slice(0, 4).map((p) => `<div class=\"cd r\" data-key=\"u-${esc(p.id)}\" style=\"padding:10px 14px\"><div style=\"display:flex;gap:10px;align-items:center;min-width:0\"><div style=\"width:36px;height:36px;border-radius:50%;background:#EDE8DE;display:flex;align-items:center;justify-content:center;flex-shrink:0\">${esc((p.c || '?')[0])}</div><div style=\"min-width:0\"><div>${esc(p.c)} <span class=\"mut\">· ${p.dt}</span></div><div class=\"mut\">${esc(p.it.map((x) => x[0] + ' ×' + x[1]).join(', '))}</div></div></div><span style=\"white-space:nowrap\">${money(p.t)}</span></div>`).join('') || '<div class=\"mut\">Nenhum pedido neste ano</div>'\n      const yrs = `<div class=\"chips\">${anos.map((a) => `<button class=\"f ${fa === a ? 'on' : ''}\" data-anores=\"${a}\">${a}</button>`).join('')}<button class=\"f ${fa === 'todos' ? 'on' : ''}\" data-anores=\"todos\">Todos</button></div>`\n      return head('Resumo') + yrs + `<div class=\"sec\">Financeiro</div>` + (wide\n        ? `<div class=\"grid4\">${fc.join('')}</div><div class=\"cols\"><div><div class=\"sec\">Produção necessária</div>${prod}</div><div><div class=\"sec\">Últimos pedidos</div>${ult}</div></div>`\n        : `<div style=\"display:grid;gap:10px\">${fc.join('')}</div><div class=\"sec\">Produção necessária</div>${prod}<div class=\"sec\">Últimos pedidos</div>${ult}`)\n    }\n\n    const pedidos = () => {\n      const fil = S.fil || 'todos'\n      const F = [['todos', 'Todos'], ['pagos', 'Pagos'], ['np', 'Não pagos'], ['ent', 'A entregar']]\n      const l = PED.filter((p) => match(p.c)).filter((p) => fil === 'todos' || (fil === 'ent' ? !p.e : fil === 'pagos' ? p.st !== 'np' : p.st === 'np'))\n      return head('Pedidos', ['+ Pedido', 'new:pedido']) + busca('Buscar por cliente') +\n        `<div class=\"chips\">${F.map((x) => `<button class=\"f ${fil === x[0] ? 'on' : ''}\" data-fil=\"${x[0]}\">${x[1]}</button>`).join('')}</div>` +\n        (pedDs.loading ? '<div class=\"mut\">Carregando…</div>' : (l.length ? grid(l.map((p) => pcard(p))) : '<div class=\"mut\">Nenhum pedido encontrado</div>'))\n    }\n\n    const waBtn = (c) => c.telefone ? `<button class=\"b wa\" data-wa=\"${esc(c.telefone)}\">WhatsApp</button>` : ''\n    const clientes = () => {\n      const st = (id) => { const p = PED.filter((x) => x.uid === id); return [p.length, p.reduce((a, x) => a + x.t, 0)] }\n      const L = CLI.filter((c) => match(c.nome))\n      if (wide) return head('Clientes', ['+ Cliente', 'new:cliente']) + busca('Buscar cliente') +\n        `<div class=\"cd\" style=\"padding:4px 10px\"><table class=\"tbl\"><tr><th>Nome</th><th>Telefone</th><th>Pedidos</th><th>Total</th><th></th></tr>${L.map((c) => { const s = st(c._id); return `<tr class=\"tap\" data-key=\"${esc(c._id || 'pc-' + c.nome)}\" data-edit=\"cliente:${esc(c._id)}\"><td>${esc(c.nome)} ${c.revendedor ? revChip('Revendedor') : ''}</td><td class=\"mut\">${esc(c.telefone) || '—'}</td><td>${s[0]}</td><td>${money(s[1])}</td><td style=\"text-align:right;white-space:nowrap\">${waBtn(c)} <button class=\"b\" data-cli=\"${esc(c._id)}\">Pedidos</button></td></tr>` }).join('')}</table></div>`\n      return head('Clientes', ['+ Cliente', 'new:cliente']) + busca('Buscar cliente') +\n        (L.map((c) => `<div class=\"cd r tap\" data-key=\"${esc(c._id || 'pc-' + c.nome)}\" data-edit=\"cliente:${esc(c._id)}\"><div style=\"min-width:0\"><div>${esc(c.nome)} ${c.revendedor ? revChip('Revendedor') : ''}</div><div class=\"mut\">${esc(c.telefone) || 'Sem telefone'}</div></div><div style=\"display:flex;gap:6px\">${waBtn(c)}<button class=\"b\" data-cli=\"${esc(c._id)}\">Pedidos</button></div></div>`).join('') || '<div class=\"mut\">Nenhum cliente encontrado</div>')\n    }\n\n    const produtos = () => {\n      if (wide) return head('Produtos', ['+ Produto', 'new:produto']) + `<div class=\"cd\" style=\"padding:4px 10px\"><table class=\"tbl\"><tr><th>Produto</th><th>Peso</th><th>Preço</th><th>Revenda</th></tr>${PROD.map((p) => `<tr class=\"tap\" data-key=\"${esc(p._id || 'pp-' + p.nome_produto)}\" data-edit=\"produto:${esc(p._id)}\"><td>${esc(p.nome_produto)}</td><td class=\"mut\">${PESO(p.nome_produto) * 1000} g</td><td>${money(p.preco)}</td><td class=\"mut\">${Number(p.preco_revenda) > 0 ? money(p.preco_revenda) : '—'}</td></tr>`).join('')}</table></div>`\n      return head('Produtos', ['+ Produto', 'new:produto']) + PROD.map((p) => `<div class=\"cd r tap\" data-key=\"${esc(p._id || 'pp-' + p.nome_produto)}\" data-edit=\"produto:${esc(p._id)}\"><div>${esc(p.nome_produto)}<div class=\"mut\">${PESO(p.nome_produto) * 1000} g</div></div><div style=\"text-align:right\">${money(p.preco)}${Number(p.preco_revenda) > 0 ? `<div class=\"mut\">Revenda ${money(p.preco_revenda)}</div>` : ''}</div></div>`).join('')\n    }\n\n    const pedCli = () => {\n      const c = CLI.find((x) => x._id === S.cli) || {}\n      const l = PED.filter((p) => p.uid === S.cli)\n      return `<button class=\"b\" data-act=\"voltar\" style=\"margin-bottom:12px\">← Clientes</button>` + head(c.nome || 'Cliente', ['+ Pedido', 'new:pedido'], l.length + (l.length === 1 ? ' pedido' : ' pedidos')) + (l.length ? grid(l.map((p) => pcard(p, 1))) : '<div class=\"mut\">Nenhum pedido</div>')\n    }\n\n    // ---------- planejamento ----------\n    const DEF = { arroz: 15, rmin: 4.5, rmax: 4.7, agua: 0, maiz: 0, eM: 0, eG: 0, eP: 0, lucro: 100 }\n    const planos = plaDs.records() || []\n    const planOf = (a) => planos.find((p) => String(p.ano) === String(a))\n    const plano = () => {\n      const pa = S.planAno || anoAtual\n      const cur = pa === anoAtual\n      const rec = planOf(pa), prevRec = planOf(String(+pa - 1))\n      const P = Object.assign({}, DEF, (prevRec && prevRec.params) || {}, (rec && rec.params) || {})\n      const queroSaved = (rec && rec.quero) || {}\n      const quero = Object.assign({}, queroSaved, S.queroLocal || {})\n      let qd, qdR\n      if (cur) { qd = {}; qdR = {}; PED.filter((p) => p.ano === pa && !p.e).forEach((p) => p.it.forEach((x) => { qd[x[0]] = (qd[x[0]] || 0) + x[1]; if (p.rev) qdR[x[0]] = (qdR[x[0]] || 0) + x[1] })) }\n      else { qd = (rec && rec.foto && rec.foto.demanda) || {}; qdR = (rec && rec.foto && rec.foto.demandaRev) || {} }\n      const rmin = P.rmin / 3, rmax = P.rmax / 3\n      let kg = 0, un = 0\n      PROD.forEach((p) => { const n = qd[p.nome_produto] || 0; kg += n * PESO(p.nome_produto); un += n })\n      const aMin = rmax ? kg / rmax : 0, aMax = rmin ? kg / rmin : 0, pac = Math.ceil(aMax - 1e-9)\n      const agU = un ? P.agua / un : 0, mzU = un ? P.maiz / un : 0\n      let tot = 0, gan = 0\n      const linhas = PROD.map((p) => {\n        const peso = PESO(p.nome_produto), n = qd[p.nome_produto] || 0\n        const ar = rmin ? peso / rmin * P.arroz : 0, em = Number(P[embKey(p.nome_produto)]) || 0\n        const cu = ar + agU + mzU + em, sug = Math.ceil(cu * (1 + P.lucro / 100) * 2 - 1e-9) / 2\n        const nR = qdR[p.nome_produto] || 0, nC = n - nR\n        const qv = quero[p._id]; const has = qv !== undefined && qv !== '' && qv !== null\n        const qvR = quero['r:' + p._id]; const hasR = qvR !== undefined && qvR !== '' && qvR !== null\n        tot += cu * n; gan += (has ? Number(qv) : 0) * nC + (hasR ? Number(qvR) : 0) * nR\n        const mg = (v) => cu ? Math.round((v - cu) / cu * 100) : 0\n        return { p, n, nR, nC, ar, em, cu, sug, qv: has ? qv : '', has, qvR: hasR ? qvR : '', hasR, mg }\n      })\n      const temRev = linhas.some((l) => l.nR > 0)\n      const okN = linhas.every((l) => l.has), ok = okN && (!temRev || linhas.every((l) => l.hasR))\n      MEM.plan = { pa, P, linhas, qd, qdR, tot, gan, kg, ok }\n      const luc = gan - tot\n      const cards = linhas.map((l) => `<div class=\"cd\" data-key=\"pl-${esc(l.p._id)}\" style=\"margin:0 0 10px\">\n        <div class=\"r\"><span style=\"font-size:16px\">${esc(l.p.nome_produto)} <span class=\"mut\">${PESO(l.p.nome_produto) * 1000} g</span></span><span style=\"font-size:19px\">${money(l.cu)}</span></div>\n        <div class=\"box mut\"><div class=\"r\"><span>Arroz</span><span>${money(l.ar)}</span></div><div class=\"r\"><span>Água e luz</span><span>${money(agU)}</span></div><div class=\"r\"><span>Maizena</span><span>${money(mzU)}</span></div><div class=\"r\"><span>Embalagem</span><span>${money(l.em)}</span></div></div>\n        ${cur ? `<div class=\"r ln\"><span class=\"mut\" style=\"font-size:13px\">Preço atual</span><span style=\"display:flex;gap:6px;align-items:center\">${money(l.p.preco)} ${pct(l.mg(Number(l.p.preco) || 0))}</span></div>` : ''}\n        <div class=\"r\" style=\"margin-top:8px\"><span class=\"mut\" style=\"font-size:13px\">Preço sugerido (para ${P.lucro}% de margem)</span><span>${money(l.sug)}</span></div>\n        <div class=\"r ln\"><span>${cur ? 'Quero cobrar' : 'Preço cobrado'}</span><span style=\"display:flex;gap:8px;align-items:center\">${cur ? `<input class=\"num\" type=\"text\" inputmode=\"decimal\" placeholder=\"R$\" data-q=\"${esc(l.p._id)}\" value=\"${esc(l.qv)}\">` : (l.has ? money(l.qv) : '—')}${l.has ? pct(l.mg(Number(l.qv))) : '<span class=\"mut\">—</span>'}</span></div>\n        <div class=\"r\" style=\"margin-top:8px\"><span>Revenda</span><span style=\"display:flex;gap:8px;align-items:center\">${cur ? `<input class=\"num\" type=\"text\" inputmode=\"decimal\" placeholder=\"R$\" data-q=\"r:${esc(l.p._id)}\" value=\"${esc(l.qvR)}\">` : (l.hasR ? money(l.qvR) : '—')}${l.hasR ? pct(l.mg(Number(l.qvR))) : '<span class=\"mut\">—</span>'}</span></div></div>`).join('')\n      const tots = `<div class=\"cd\"><div class=\"r\"><span>Custo total da produção</span><span>${money(tot)}</span></div><div class=\"r\" style=\"margin-top:6px\"><span>Ganho estimado</span><span>${money(gan)}</span></div><div class=\"r ln\"><span style=\"font-size:15px\">Lucro estimado</span><span class=\"ch\" style=\"font-size:13px;background:${luc < 0 ? '#F2D9D0' : '#DCE7DA'};color:${luc < 0 ? '#A3402F' : '#3F5E44'}\">${luc < 0 ? '−' : ''}${money(Math.abs(luc))}</span></div></div>` +\n        (cur ? `<button class=\"b\" data-act=\"aplicar\" style=\"width:100%;height:46px;font-size:14px;border:none;background:${ok ? '#1F1B24' : '#D8D2C6'};color:${ok ? '#FFF' : '#57515C'}\">Aplicar preços</button>${ok ? '' : `<div class=\"mut\" style=\"text-align:center;margin-top:6px\">${okN ? 'Defina os preços de revenda para aplicar (há pedidos de revendedor)' : 'Defina os preços dos 3 produtos para aplicar'}</div>`}` : '')\n      const anos = Array.from(new Set([anoAtual, ...planos.map((p) => String(p.ano))])).sort().reverse()\n      const top = `<div class=\"chips\">${anos.map((a) => `<button class=\"f ${pa === a ? 'on' : ''}\" data-planano=\"${a}\">${a}</button>`).join('')}</div>` +\n        (cur ? '' : `<div class=\"box mut\" style=\"margin:0 0 6px\">Planejamento guardado de ${pa}, só consulta.</div>`) +\n        `<div class=\"sec\">${cur ? 'Demanda · pedidos não entregues' : 'Demanda de ' + pa}</div><div class=\"cd\">${PROD.map((p) => { const n = qd[p.nome_produto] || 0, nR = qdR[p.nome_produto] || 0; return `<div class=\"r\" style=\"padding:3px 0\"><span>${esc(p.nome_produto)}</span><span class=\"mut\">${n} un${nR ? ` (${n - nR} comuns · ${nR} revenda)` : ''} · ${(n * PESO(p.nome_produto)).toFixed(1)} kg</span></div>` }).join('')}<div class=\"r ln\"><span>Total a produzir</span><span>${un} pacotes · ${kg.toFixed(1)} kg</span></div></div>\n        <div class=\"cd dark\"><div style=\"font-size:12px;color:#C9C4CC\">Arroz de moti necessário</div><div style=\"font-size:28px;margin:2px 0\">${aMin.toFixed(1)} a ${aMax.toFixed(1)} kg</div><div style=\"font-size:12px;color:#C9C4CC\">Comprar ${pac} pacotes de 1 kg · ${money(pac * P.arroz)}</div></div>`\n      if (wide) return head('Planejamento', null, 'Produção de fim de ano') + `<div class=\"plancols\"><div style=\"min-width:0\">${top}<div class=\"sec\">Custo por pacote</div>${cards}${tots}</div><div class=\"cd\" style=\"padding:8px 16px\">${paramsForm(P, prevRec, pa, cur)}</div></div>`\n      return head('Planejamento', ['Parâmetros', 'sheet'], 'Produção de fim de ano') + top + `<div class=\"sec\">Custo por pacote</div>` + cards + tots\n    }\n    const LBL = [['ARROZ DE MOTI'], ['arroz', 'Preço (R$/kg)'], ['rmin', '3 kg rendem, mínimo (kg)'], ['rmax', '3 kg rendem, máximo (kg)'], ['GASTOS ÚNICOS DO MÊS'], ['agua', 'Aumento de água e luz (R$)'], ['maiz', 'Maizena (R$)'], ['EMBALAGENS'], ['eM', 'Moti (R$)'], ['eG', 'Osonae G (R$)'], ['eP', 'Osonae P (R$)'], ['VENDA'], ['lucro', 'Margem de lucro (%)']]\n    function paramsForm(P, prevRec, pa, cur) {\n      return `<div style=\"font-size:18px;padding:6px 0 2px\">Parâmetros</div>` + LBL.map((l) => l.length === 1 ? `<div class=\"grp\">${l[0]}</div>` :\n        `<div class=\"pin\"><div class=\"r\"><span>${l[1]}</span><input class=\"num\" type=\"text\" inputmode=\"decimal\" data-p=\"${l[0]}\" value=\"${esc(P[l[0]])}\" ${cur ? '' : 'disabled'}></div>${prevRec && prevRec.params && prevRec.params[l[0]] !== undefined ? `<div class=\"prev\">${+pa - 1}: ${esc(prevRec.params[l[0]])}</div>` : ''}</div>`).join('') +\n        (cur ? `<button class=\"b bd\" data-act=\"salvarparams\" style=\"width:100%;height:46px;margin-top:14px\">Salvar parâmetros</button>` : '')\n    }\n\n    // ---------- forms ----------\n    const form = () => {\n      const fm = S.form; if (!fm) return ''\n      const k = fm.k, ed = !!fm.id\n      let T = '', body = ''\n      if (k === 'pedido') {\n        T = 'pedido'\n        const cliSel = CLI.find((c) => c._id === fm.cli)\n        const rev = (fm.id && fm.cli === fm.cli0) ? !!fm.rev0 : !!(cliSel && cliSel.revendedor)\n        const total = PROD.reduce((a, p) => a + (Number(fm.qtd[p._id]) || 0) * precoDe(p, rev), 0)\n        body = `<div class=\"lb\">CLIENTE</div><select class=\"in\" data-fm=\"cli\">${['<option value=\"\">Selecione um cliente</option>'].concat(CLI.map((c) => `<option value=\"${esc(c._id)}\" ${fm.cli === c._id ? 'selected' : ''}>${esc(c.nome)}</option>`)).join('')}</select>${rev ? '<div class=\"mut\" style=\"margin:-6px 0 12px\">Cliente revendedor · preços de revenda</div>' : ''}\n        <div class=\"lb\">PRODUTOS</div><div class=\"cd\" style=\"padding:6px 14px;margin:4px 0 12px\">${PROD.map((p) => `<div class=\"r\" style=\"padding:6px 0\"><span>${esc(p.nome_produto)}<div class=\"mut\">${money(precoDe(p, rev))}</div></span><span class=\"stp\"><button class=\"b\" data-qty=\"${esc(p._id)}:-1\">−</button><span style=\"min-width:22px;text-align:center\">${Number(fm.qtd[p._id]) || 0}</span><button class=\"b bd\" style=\"width:32px;height:32px;padding:0\" data-qty=\"${esc(p._id)}:1\">+</button></span></div>`).join('')}</div>\n        <div class=\"lb\">PAGAMENTO</div><div class=\"chips\" style=\"margin:4px 0 12px\">${[['', 'Não pago'], ['dinheiro', 'Dinheiro'], ['pix', 'Pix']].map((o) => `<button class=\"f ${fm.pag === o[0] ? 'on' : ''}\" data-pag=\"${o[0]}\">${o[1]}</button>`).join('')}</div>\n        <div class=\"r ln\" style=\"margin-bottom:4px\"><span class=\"mut\">Total</span><span style=\"font-size:24px\">${money(total)}</span></div>`\n      }\n      if (k === 'cliente') { T = 'cliente'; body = `<div class=\"lb\">NOME</div><input class=\"in\" data-fm=\"nome\" value=\"${esc(fm.nome)}\" placeholder=\"Nome do cliente\"><div class=\"lb\">TELEFONE</div><input class=\"in\" data-fm=\"tel\" inputmode=\"tel\" value=\"${esc(fm.tel)}\" placeholder=\"11 99999-9999\"><div class=\"lb\">TIPO</div><div class=\"chips\" style=\"margin:4px 0 12px\"><button class=\"f ${fm.rev ? '' : 'on'}\" data-rev=\"0\">Consumidor</button><button class=\"f ${fm.rev ? 'on' : ''}\" data-rev=\"1\">Revendedor</button></div>` }\n      if (k === 'produto') { T = 'produto'; body = `<div class=\"lb\">NOME</div><input class=\"in\" data-fm=\"nome\" value=\"${esc(fm.nome)}\" placeholder=\"Nome do produto\"><div class=\"lb\">PREÇO (R$)</div><input class=\"in\" data-fm=\"preco\" type=\"text\" inputmode=\"decimal\" value=\"${esc(fm.preco)}\" placeholder=\"0.00\"><div class=\"lb\">PREÇO DE REVENDA (R$)</div><input class=\"in\" data-fm=\"precoRev\" type=\"text\" inputmode=\"decimal\" value=\"${esc(fm.precoRev)}\" placeholder=\"Vazio = preço normal\">` }\n      return `<div style=\"font-size:21px;margin-bottom:12px\">${ed ? 'Editar' : 'Novo'} ${T}</div>${body}${fm.err ? `<div style=\"color:#A3402F;font-size:13px;margin-bottom:8px\">${esc(fm.err)}</div>` : ''}\n        <button class=\"b bd\" data-act=\"salvar\" style=\"width:100%;height:50px;margin-top:6px;font-size:15px\" ${S.busy ? 'disabled' : ''}>${S.busy ? 'Salvando…' : 'Salvar'}</button>\n        <button class=\"b\" data-act=\"fechar\" style=\"width:100%;height:44px;margin-top:8px;font-size:14px\">Cancelar</button>\n        ${ed ? `<button class=\"b\" data-act=\"excluir\" style=\"width:100%;height:40px;margin-top:8px;border:none;background:transparent;color:#A3402F;font-size:14px\">Excluir ${T}</button>` : ''}`\n    }\n\n    // ---------- confirm ----------\n    const conf = () => {\n      const c = S.conf; if (!c) return ''\n      return `<div class=\"ov\"><div class=\"ovc\" data-act=\"confno\"></div><div class=\"modal\"><div style=\"font-size:20px;margin-bottom:10px\">${esc(c.title)}</div>${c.html || ''}\n        <div style=\"display:flex;gap:10px;margin-top:16px\"><button class=\"b\" data-act=\"confno\" style=\"flex:1;height:46px;font-size:14px\">Cancelar</button><button class=\"b bd\" data-act=\"confsim\" style=\"flex:1;height:46px;${c.danger ? 'background:#A3402F' : ''}\" ${S.busy ? 'disabled' : ''}>${S.busy ? 'Aguarde…' : esc(c.ok)}</button></div></div></div>`\n    }\n\n    // ---------- shell ----------\n    const ico = (d) => `<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:block;margin:0 auto\">${d}</svg>`\n    const NAV = [['resumo', 'Resumo', ico('<path d=\"M12 3v9h9\"/><circle cx=\"12\" cy=\"12\" r=\"9\"/>')], ['pedidos', 'Pedidos', ico('<path d=\"M6 8h12l-1 12H7z\"/><path d=\"M9 8V6a3 3 0 0 1 6 0v2\"/>')], ['clientes', 'Clientes', ico('<circle cx=\"12\" cy=\"8\" r=\"4\"/><path d=\"M4 21c1-4 4-6 8-6s7 2 8 6\"/>')], ['produtos', 'Produtos', ico('<path d=\"M12 3l8 4.5v9L12 21l-8-4.5v-9z\"/><path d=\"M12 12l8-4.5M12 12v9M12 12L4 7.5\"/>')], ['plan', 'Planejar', ico('<rect x=\"5\" y=\"3\" width=\"14\" height=\"18\" rx=\"2\"/><path d=\"M8 7h8M8 12h2M14 12h2M8 16h2M14 16h2\"/>')]]\n    let body\n    try {\n      body = (scr === 'clientes' && S.cli) ? pedCli() : ({ resumo, pedidos, clientes, produtos, plan: plano }[scr] || resumo)()\n    } catch (e) { body = `<div style=\"color:#A3402F\">Erro: ${esc(e.message)}</div>` }\n    const toast = S.toast ? `<div class=\"toast\">${esc(S.toast)}</div>` : ''\n    if (wide) {\n      return `<div class=\"app wide\"><div class=\"side\"><div class=\"brand\">App Moti</div>${NAV.map((n) => `<div class=\"sb ${scr === n[0] ? 'on' : ''}\" data-nav=\"${n[0]}\"><span style=\"width:18px\">${n[2]}</span>${n[1]}</div>`).join('')}</div>\n        <div class=\"main\"><div class=\"inner\">${body}</div></div>${S.form ? `<div class=\"panel\">${form()}</div>` : ''}${conf()}${toast}</div>`\n    }\n    const sheet = S.form ? form() : (S.sheet && MEM.plan ? paramsForm(MEM.plan.P, planOf(String(+MEM.plan.pa - 1)), MEM.plan.pa, MEM.plan.pa === anoAtual) : '')\n    return `<div class=\"app\"><div class=\"main\"><div class=\"inner\">${body}</div></div>\n      <div class=\"tabs\">${NAV.map((n) => `<div class=\"tb ${scr === n[0] ? 'on' : ''}\" data-nav=\"${n[0]}\"><span class=\"ic\">${n[2]}</span>${n[1]}</div>`).join('')}</div>\n      ${sheet ? `<div class=\"ov\"><div class=\"ovc\" data-act=\"fechar\"></div><div class=\"sheet\"><div class=\"handle\"></div>${sheet}</div></div>` : ''}${conf()}${toast}</div>`\n  },\n\n  mounted(d2, root) {\n    const S = d2.state\n    if (S.scr === undefined) S.scr = 'resumo'\n    const DSM = { pedidos: () => d2.data('pedidos'), clientes: () => d2.data('clientes'), produtos: () => d2.data('produtos'), planos: () => d2.data('planos') }\n    ;[DSM.pedidos(), DSM.clientes(), DSM.produtos(), DSM.planos()].forEach((h) => { if (h && h.loadAll) h.loadAll() })\n    const measure = () => { const w = root.clientWidth || 0; const wide = w >= 900; if (!!S.wide !== wide) S.wide = wide }\n    measure()\n    if (typeof ResizeObserver !== 'undefined') { const ro = new ResizeObserver(measure); ro.observe(root); d2.onUnmount(() => ro.disconnect()) }\n\n    const num = (v) => { const t = String(v == null ? '' : v).trim().replace(/\\s/g, '').replace(',', '.'); return t === '' ? NaN : Number(t) }\n    const anoAtual = String(new Date().getFullYear())\n    const toast = (m) => { S.toast = m; setTimeout(() => { if (S.toast === m) S.toast = null }, 2600) }\n    const idOf = (v) => (v && typeof v === 'object') ? (v._id || '') : (v || '')\n    const recs = (n) => (DSM[n]().records() || [])\n    const pedRec = (id) => recs('pedidos').find((r) => r._id === id)\n    const parseItens = (r) => (r.produtosNomes || []).map((s) => { const m = String(s).match(/^(.*) x(\\d+)$/); return m ? [m[1], +m[2]] : [String(s), 1] })\n    const precoDe = (p, rev) => (rev && Number(p.preco_revenda) > 0) ? Number(p.preco_revenda) : (Number(p.preco) || 0)\n    const pedidoPayload = (base, cliId, qtd, pag, entregue, rev) => {\n      const prods = recs('produtos'), cli = recs('clientes').find((c) => c._id === cliId) || {}\n      const sel = prods.filter((p) => (Number(qtd[p._id]) || 0) > 0)\n      return Object.assign({}, base, {\n        usuarioId: cliId, usuarioNome: cli.nome || '',\n        produtosIds: sel.map((p) => p._id), produtosNomes: sel.map((p) => `${p.nome_produto} x${Number(qtd[p._id])}`),\n        total: sel.reduce((a, p) => a + Number(qtd[p._id]) * precoDe(p, rev), 0),\n        pago: pag !== '', formaPagamento: pag, entregue: !!entregue, revenda: !!rev\n      })\n    }\n\n    d2.on('[data-nav]', 'click', (e, el) => { S.scr = el.dataset.nav; S.q = ''; S.cli = null; S.form = null; S.sheet = false })\n    d2.on('[data-fil]', 'click', (e, el) => { S.fil = el.dataset.fil })\n    d2.on('[data-anores]', 'click', (e, el) => { S.anoRes = el.dataset.anores })\n    d2.on('[data-planano]', 'click', (e, el) => { S.planAno = el.dataset.planano; S.queroLocal = {} })\n    d2.on('#busca', 'input', (e, el) => { S.q = el.value })\n    d2.on('[data-cli]', 'click', (e, el) => { e.stopPropagation(); S.cli = el.dataset.cli; S.q = ''; S.form = null })\n    d2.on('[data-wa]', 'click', (e, el) => {\n      e.stopPropagation()\n      let n = String(el.dataset.wa).replace(/\\D/g, '')\n      if (n.length <= 11) n = '55' + n\n      window.open('https://wa.me/' + n, '_blank')\n    })\n    d2.on('[data-ent]', 'click', async (e, el) => {\n      e.stopPropagation()\n      const r = pedRec(el.dataset.ent); if (!r) return\n      try { await d2.data('pedidos').update(Object.assign({}, r, { usuarioId: idOf(r.usuarioId), entregue: !r.entregue })) } catch (err) { toast('Não foi possível atualizar') }\n    })\n    d2.on('[data-edit]', 'click', (e, el) => {\n      if (e.target.closest && e.target.closest('[data-ent],[data-cli],[data-wa]')) return\n      const [k, id] = el.dataset.edit.split(':')\n      if (k === 'pedido') {\n        const r = pedRec(id); if (!r) return\n        const prods = recs('produtos'), qtd = {}\n        parseItens(r).forEach(([nome, n]) => { const p = prods.find((x) => x.nome_produto === nome); if (p) qtd[p._id] = n })\n        S.form = { k, id, cli: idOf(r.usuarioId), cli0: idOf(r.usuarioId), rev0: !!r.revenda, qtd, pag: r.pago ? (r.formaPagamento || 'dinheiro') : '', entregue: !!r.entregue }\n      } else if (k === 'cliente') {\n        const c = recs('clientes').find((x) => x._id === id); if (!c) return\n        S.form = { k, id, nome: c.nome || '', tel: c.telefone || '', rev: !!c.revendedor }\n      } else {\n        const p = recs('produtos').find((x) => x._id === id); if (!p) return\n        S.form = { k, id, nome: p.nome_produto || '', preco: p.preco, precoRev: Number(p.preco_revenda) > 0 ? p.preco_revenda : '' }\n      }\n      S.sheet = false\n    })\n    d2.on('[data-act]', 'click', async (e, el) => {\n      const a = el.dataset.act\n      if (a.indexOf('new:') === 0) {\n        const k = a.slice(4)\n        S.form = k === 'pedido' ? { k, id: null, cli: S.scr === 'clientes' && S.cli ? S.cli : '', qtd: {}, pag: '', entregue: false } : k === 'cliente' ? { k, id: null, nome: '', tel: '', rev: false } : { k, id: null, nome: '', preco: '', precoRev: '' }\n        S.sheet = false; return\n      }\n      if (a === 'fechar') { S.form = null; S.sheet = false; return }\n      if (a === 'voltar') { S.cli = null; return }\n      if (a === 'sheet') { S.sheet = true; return }\n      if (a === 'confno') { S.conf = null; return }\n      if (a === 'confsim') { const c = S.conf; if (!c || S.busy || !MEM.run) return; S.busy = true; try { await MEM.run() } catch (err) { toast('Algo deu errado. Tente de novo.') } S.busy = false; S.conf = null; return }\n      if (a === 'salvar') {\n        const fm = S.form; if (!fm || S.busy) return\n        if (fm.k === 'pedido' && !fm.cli) { S.form = Object.assign({}, fm, { err: 'Selecione um cliente' }); return }\n        if (fm.k === 'pedido' && !Object.values(fm.qtd).some((n) => Number(n) > 0)) { S.form = Object.assign({}, fm, { err: 'Adicione pelo menos um produto' }); return }\n        if (fm.k !== 'pedido' && !String(fm.nome || '').trim()) { S.form = Object.assign({}, fm, { err: 'Preencha o nome' }); return }\n        if (fm.k === 'produto' && !(num(fm.preco) > 0)) { S.form = Object.assign({}, fm, { err: 'Preço inválido. Use, por exemplo, 25,50' }); return }\n        if (fm.k === 'produto' && String(fm.precoRev == null ? '' : fm.precoRev).trim() !== '' && !(num(fm.precoRev) > 0)) { S.form = Object.assign({}, fm, { err: 'Preço de revenda inválido' }); return }\n        S.busy = true\n        try {\n          if (fm.k === 'pedido') {\n            const base = fm.id ? Object.assign({}, pedRec(fm.id)) : {}\n            const cliR = recs('clientes').find((c) => c._id === fm.cli)\n            const rev = (fm.id && fm.cli === fm.cli0) ? !!fm.rev0 : !!(cliR && cliR.revendedor)\n            const o = pedidoPayload(base, fm.cli, fm.qtd, fm.pag, fm.entregue, rev)\n            if (fm.id) await d2.data('pedidos').update(o); else await d2.data('pedidos').create(o)\n          } else if (fm.k === 'cliente') {\n            const o = { nome: fm.nome.trim(), telefone: String(fm.tel || '').trim(), revendedor: !!fm.rev }\n            if (fm.id) await d2.data('clientes').update(Object.assign({ _id: fm.id }, o)); else await d2.data('clientes').create(o)\n          } else {\n            const o = { nome_produto: fm.nome.trim(), preco: num(fm.preco), preco_revenda: num(fm.precoRev) > 0 ? num(fm.precoRev) : null }\n            if (fm.id) await d2.data('produtos').update(Object.assign({ _id: fm.id }, o)); else await d2.data('produtos').create(o)\n          }\n          S.form = null; toast('Salvo')\n        } catch (err) { S.form = Object.assign({}, fm, { err: 'Não foi possível salvar' }) }\n        S.busy = false; return\n      }\n      if (a === 'excluir') {\n        const fm = S.form; if (!fm || !fm.id) return\n        const dsh = fm.k === 'pedido' ? DSM.pedidos() : fm.k === 'cliente' ? DSM.clientes() : DSM.produtos()\n        MEM.run = async () => { await dsh.remove(fm.id); S.form = null; toast('Excluído') }\n        S.conf = { title: 'Excluir ' + fm.k + '?', html: '<div class=\"mut\" style=\"font-size:13px\">Essa ação não pode ser desfeita.</div>', ok: 'Excluir', danger: true }\n        return\n      }\n      if (a === 'salvarparams') {\n        const vals = {}\n        d2.$$('[data-p]').forEach((i) => { const x = num(i.value); if (!isNaN(x)) vals[i.dataset.p] = x })\n        const okSave = await savePlan({ params: vals })\n        if (okSave) { S.sheet = false; toast('Parâmetros salvos') }\n        return\n      }\n      if (a === 'aplicar') {\n        const pl = MEM.plan; if (!pl || !pl.ok) return\n        const muda = pl.linhas.filter((l) => Number(l.qv) !== Number(l.p.preco) || (l.hasR && Number(l.qvR) !== Number(l.p.preco_revenda)))\n        const alvo = recs('pedidos').filter((r) => !r.entregue && !r.pago)\n        const esc2 = (v) => String(v).replace(/</g, '&lt;')\n        const linha = (nome, de, para) => `<div class=\"r\" style=\"padding:3px 0\"><span>${esc2(nome)}</span><span class=\"mut\" style=\"font-size:13px\">${de > 0 ? 'R$ ' + Number(de).toFixed(2) : '—'} → <b style=\"color:#1F1B24;font-weight:500\">R$ ${Number(para).toFixed(2)}</b></span></div>`\n        const lista = pl.linhas.map((l) => linha(l.p.nome_produto, l.p.preco, l.qv) + (l.hasR ? linha(l.p.nome_produto + ' (revenda)', l.p.preco_revenda, l.qvR) : '')).join('')\n        MEM.run = async () => {\n            const novo = {}, novoR = {}\n            pl.linhas.forEach((l) => { novo[l.p._id] = Number(l.qv); if (l.hasR) novoR[l.p._id] = Number(l.qvR) })\n            for (const l of muda) await DSM.produtos().update(Object.assign({}, l.p, { preco: Number(l.qv) }, l.hasR ? { preco_revenda: Number(l.qvR) } : {}))\n            const prods = recs('produtos')\n            for (const r of alvo) {\n              const total = parseItens(r).reduce((acc, [nome, n]) => {\n                const p = prods.find((x) => x.nome_produto === nome); if (!p) return acc\n                const pr = r.revenda ? (novoR[p._id] !== undefined ? novoR[p._id] : precoDe(p, true)) : (novo[p._id] !== undefined ? novo[p._id] : Number(p.preco) || 0)\n                return acc + n * pr }, 0)\n              await DSM.pedidos().update(Object.assign({}, r, { usuarioId: idOf(r.usuarioId), total }))\n            }\n            await savePlan({})\n            toast('Preços aplicados')\n        }\n        S.conf = { title: 'Aplicar novos preços?', ok: 'Aplicar', html: lista + `<div class=\"mut\" style=\"margin-top:10px;font-size:13px\">${alvo.length} ${alvo.length === 1 ? 'pedido não entregue e não pago será recalculado' : 'pedidos não entregues e não pagos serão recalculados'}, cada um com o preço do seu tipo de cliente. Pedidos pagos ou entregues não mudam.</div>` }\n        return\n      }\n    })\n    d2.on('[data-qty]', 'click', (e, el) => {\n      const [id, d] = el.dataset.qty.split(':'); const fm = S.form; if (!fm) return\n      const qtd = Object.assign({}, fm.qtd); qtd[id] = Math.max(0, (Number(qtd[id]) || 0) + Number(d))\n      S.form = Object.assign({}, fm, { qtd, err: null })\n    })\n    d2.on('[data-rev]', 'click', (e, el) => { if (S.form) S.form = Object.assign({}, S.form, { rev: el.dataset.rev === '1' }) })\n    d2.on('[data-pag]', 'click', (e, el) => { if (S.form) S.form = Object.assign({}, S.form, { pag: el.dataset.pag }) })\n    d2.on('[data-fm]', 'input', (e, el) => { if (S.form) { const f = S.form; f[el.dataset.fm] = el.value; f.err = null } })\n    d2.on('[data-fm]', 'change', (e, el) => { if (S.form) S.form = Object.assign({}, S.form, { [el.dataset.fm]: el.value, err: null }) })\n    d2.on('[data-q]', 'change', async (e, el) => {\n      const ql = Object.assign({}, S.queroLocal || {}); const v = num(el.value); ql[el.dataset.q] = isNaN(v) ? '' : v\n      S.queroLocal = ql\n      await savePlan({ quero: ql })\n    })\n\n    async function savePlan(change) {\n      const pl = MEM.plan; const pa = (pl && pl.pa) || anoAtual\n      if (pa !== anoAtual) return\n      const ds = DSM.planos()\n      const rec = (ds.records() || []).find((p) => String(p.ano) === pa)\n      const params = Object.assign({}, (pl && pl.P) || {}, (rec && rec.params) || {}, change.params || {})\n      const quero = Object.assign({}, (rec && rec.quero) || {}, S.queroLocal || {}, change.quero || {})\n      const o = { ano: pa, params, quero }\n      if (pl && pl.kg > 0) o.foto = { demanda: pl.qd, demandaRev: pl.qdR || {}, custoTotal: pl.tot, ganho: pl.gan, em: new Date().toISOString() }\n      else if (rec && rec.foto) o.foto = rec.foto\n      try {\n        if (rec && rec._id) await ds.update(Object.assign({ _id: rec._id }, o)); else await ds.create(o)\n        return true\n      } catch (err) { toast('Não foi possível salvar o planejamento'); return false }\n    }\n  },\n}\n"}},"clientes":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"clientes"}}}},"pedidos":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"pedidos"}}}},"planos":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"planos"}}}},"produtos":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"produtos"}}}}}}}}}},{"_id":"5ed9bed7b9e0891ce913e884","component":"data2-core-types@Component","params":{"package":"data2-core","component":"DataSource","renderable":{"dimensions":{"disabled":false,"component":"data2-core-types@Dimensions","params":{"width":1366,"exactWidth":false,"exactHeight":false,"height":768}}}}},{"_id":"5f472ae463c680de4ff296e9","component":"data2-core-types@Component","params":{"package":"data2-core","component":"Data2TableDataSource","extends":"data2-core@DataSource","renderable":{"dimensions":{"disabled":false,"component":"data2-core-types@Dimensions","params":{"width":1366,"exactWidth":false,"exactHeight":false,"height":768}}}}},{"_id":"5ecd05ded68ce41360f74b43","component":"data2-core-types@Component","params":{"extendable":{"placeholder":"children"},"component":"Block","package":"data2-core-primitives"}},{"_id":"5f494791a575399a45020f87","component":"data2-core-types@Component","params":{"definition":{"preventEvaluation":true,"component":"data2-core-types@Definition","params":{"def":{"component":"html@input","params":{"style":{"width":"100%","height":"100%","boxSizing":"border-box","background":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"type","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"comparisonSubject":"checkbox"}}],"then":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset","source":"VIRTUAL_COMPONENT_PARAMS"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record","source":"VIRTUAL_COMPONENT_PARAMS"}}}},"comparisonSubject":true}}],"then":{"params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"checkboxFill"}}}},"rgba(0,118,255,1)"]},"component":"data2-core-logical-operators@Or"},"else":{"params":{"content":"none"},"component":"data2-core-primitives@String"}}},"else":{"params":{"content":"none"},"component":"data2-core-primitives@String"}}},"color":{"params":{"reference":"super.textColor"},"component":"data2-core-types@Reference"},"border":"none","outline":"none","appearance":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"orient","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"comparisonSubject":"vertical"}}],"then":"slider-vertical","else":"none"}},"cursor":{"params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"super.cursor"}}}},{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"disabled","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"comparisonSubject":true}}],"then":{"component":"data2-core-primitives@String","params":{"content":"not-allowed"}},"else":{"component":"data2-core-primitives@String","params":{"content":"auto"}}}}]},"component":"data2-core-logical-operators@Or"},"fontWeight":{"component":"data2-core-primitives@String","params":{"content":"inherit"}},"paddingLeft":{"component":"data2-core-flow@If","params":{"compare":[{"params":{"comparisonSubject":{"params":{},"component":"data2-core-primitives@Undefined"},"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"padding.left"}}}}},"component":"data2-core-comparison-operators@Different"}],"then":{"params":{"portions":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"padding.left"}}}},{"component":"data2-core-primitives@String","params":{"content":"px"}}]},"component":"data2-core-functions@StringConcat"}}},"paddingRight":{"component":"data2-core-flow@If","params":{"compare":[{"params":{"comparisonSubject":{"params":{},"component":"data2-core-primitives@Undefined"},"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"padding.right"}}}}},"component":"data2-core-comparison-operators@Different"}],"then":{"params":{"portions":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"padding.right"}}}},{"component":"data2-core-primitives@String","params":{"content":"px"}}]},"component":"data2-core-functions@StringConcat"}}},"caretColor":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"caretColor"}}}},"textAlign":{"params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"super.textFormat.textAlign"}}},"component":"data2-core-types@Reference"}},"tabIndex":{"component":"data2-core-types@Reference","params":{"reference":"tabIndex","source":"VIRTUAL_COMPONENT_PARAMS"}},"step":{"component":"data2-core-types@Reference","params":{"reference":"step","source":"VIRTUAL_COMPONENT_PARAMS"}},"min":{"component":"data2-core-types@Reference","params":{"reference":"min","source":"VIRTUAL_COMPONENT_PARAMS"}},"max":{"component":"data2-core-types@Reference","params":{"reference":"max","source":"VIRTUAL_COMPONENT_PARAMS"}},"maxLength":{"params":{"then":{"params":{},"component":"data2-core-primitives@Undefined"},"compare":[{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"maxLength","source":"VIRTUAL_COMPONENT_PARAMS"}},"comparisonSubject":{"component":"data2-core-primitives@String","params":{"content":""}}},"component":"data2-core-comparison-operators@Equal"}],"else":{"component":"data2-core-types@Reference","params":{"reference":"maxLength","source":"VIRTUAL_COMPONENT_PARAMS"}}},"component":"data2-core-flow@If"},"orient":{"component":"data2-core-types@Reference","params":{"reference":"orient","source":"VIRTUAL_COMPONENT_PARAMS"}},"type":{"component":"data2-core-types@Reference","params":{"reference":"type","source":"VIRTUAL_COMPONENT_PARAMS"}},"placeholder":{"component":"data2-core-logical-operators@Or","params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":"placeholder","source":"VIRTUAL_COMPONENT_PARAMS"}},{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}}]}},"value":{"params":{"expression":{"params":{"content":true},"component":"data2-core-primitives@Boolean"},"defaultCase":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset","source":"VIRTUAL_COMPONENT_PARAMS"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record","source":"VIRTUAL_COMPONENT_PARAMS"}},"mask":{"component":"data2-core-types@Reference","params":{"reference":"mask","source":"VIRTUAL_COMPONENT_PARAMS"}}}},"cases":[{"component":"data2-core-flow@Case","params":{"expression":{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"type","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"comparisonSubject":"date"}},"value":{"component":"data2-core-functions@DateFormat","params":{"date":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset","source":"VIRTUAL_COMPONENT_PARAMS"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record","source":"VIRTUAL_COMPONENT_PARAMS"}}}},"format":"YYYY-MM-DD"}}}},{"component":"data2-core-flow@Case","params":{"expression":{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"type","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"comparisonSubject":{"component":"data2-core-primitives@String","params":{"content":"month"}}}},"value":{"component":"data2-core-functions@DateFormat","params":{"date":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset","source":"VIRTUAL_COMPONENT_PARAMS"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record","source":"VIRTUAL_COMPONENT_PARAMS"}}}},"format":{"component":"data2-core-primitives@String","params":{"content":"YYYY-MM"}}}}}},{"component":"data2-core-flow@Case","params":{"expression":{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"type","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"comparisonSubject":{"component":"data2-core-primitives@String","params":{"content":"datetime-local"}}}},"value":{"component":"data2-core-functions@DateFormat","params":{"date":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset","source":"VIRTUAL_COMPONENT_PARAMS"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record","source":"VIRTUAL_COMPONENT_PARAMS"}}}},"format":{"component":"data2-core-primitives@String","params":{"content":"YYYY-MM-DDTHH:mm"}}}}}}]},"component":"data2-core-flow@Switch"},"onChange":{"component":"data2-core-types@DataLinkSetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset","source":"VIRTUAL_COMPONENT_PARAMS"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record","source":"VIRTUAL_COMPONENT_PARAMS"}},"recordUpsert":{"component":"data2-core-types@Reference","params":{"reference":"recordUpsert","source":"VIRTUAL_COMPONENT_PARAMS"}},"onChange":{"component":"data2-core-types@Reference","params":{"reference":"onChange","source":"VIRTUAL_COMPONENT_PARAMS"}},"mask":{"component":"data2-core-types@Reference","params":{"reference":"mask","source":"VIRTUAL_COMPONENT_PARAMS"}}}},"defaultChecked":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"type","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"comparisonSubject":"checkbox"}}],"then":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset","source":"VIRTUAL_COMPONENT_PARAMS"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field","source":"VIRTUAL_COMPONENT_PARAMS"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record","source":"VIRTUAL_COMPONENT_PARAMS"}}}},"else":""}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field"}},"opacity":{"component":"data2-core-flow@If","params":{"compare":[{"params":{"reference":"disabled","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"}],"then":0.38,"else":1}},"disabled":{"params":{"reference":"disabled","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},"autoComplete":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"builder"}},"comparisonSubject":true}}],"then":"new-password","else":{"params":{"compare":{"params":{"comparisonSubject":{"params":{"content":true},"component":"data2-core-primitives@Boolean"},"subject":{"params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"autoComplete"}}},"component":"data2-core-types@Reference"}},"component":"data2-core-comparison-operators@Identical"},"else":{"params":{"components":[{"params":{"reference":"autoComplete","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"},{"component":"data2-core-primitives@String","params":{"content":"off"}}]},"component":"data2-core-logical-operators@Or"}},"component":"data2-core-flow@If"}}},"data-lpignore":{"component":"data2-core-flow@If","params":{"compare":[{"params":{"reference":"autoComplete","source":"VIRTUAL_COMPONENT_PARAMS"},"component":"data2-core-types@Reference"}],"then":"","else":"true"}},"onFocus":{"component":"data2-core-types@Reference","params":{"reference":"onFocus","source":"VIRTUAL_COMPONENT_PARAMS"}},"onBlur":{"component":"data2-core-types@Reference","params":{"reference":"onBlur","source":"VIRTUAL_COMPONENT_PARAMS"}},"onKeyPress":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"onKeyPress"}}}},"autoCapitalize":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"autoCapitalize"}}}},"spellCheck":{"params":{"expression":{"params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"spellCheck"}}},"component":"data2-core-types@Reference"},"cases":[{"component":"data2-core-flow@Case","params":{"expression":{"params":{"content":true},"component":"data2-core-primitives@Boolean"},"value":{"component":"data2-core-primitives@String","params":{"content":"true"}}}},{"component":"data2-core-flow@Case","params":{"expression":{"params":{"content":false},"component":"data2-core-primitives@Boolean"},"value":{"component":"data2-core-primitives@String","params":{"content":"false"}}}}]},"component":"data2-core-flow@Switch"}}}}},"component":"DataFieldBlock","package":"data2-blocks","extends":"data2-core-primitives@Block"}},{"_id":"5faf1800c8da12be8bd4b8c6","component":"data2-core-types@Component","params":{"definition":{"preventEvaluation":true,"component":"data2-core-types@Definition","params":{"def":{"component":"data2-controls@MoneyInput","params":{"style":{"width":"100%","height":"100%","boxSizing":"border-box","background":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"type"},"component":"data2-core-types@Reference"},"comparisonSubject":"checkbox"}}],"then":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record"}}}},"comparisonSubject":true}}],"then":"rgba(0,118,255,1)","else":{"params":{"reference":"super.fill"},"component":"data2-core-types@Reference"}}},"else":{"component":"data2-core-primitives@String","params":{"content":"transparent"}}}},"color":{"params":{"reference":"super.textColor"},"component":"data2-core-types@Reference"},"border":"none","outline":"none","appearance":"none","cursor":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"disabled"},"component":"data2-core-types@Reference"},"comparisonSubject":true}}],"then":"not-allowed","else":"auto"}}},"dataGetter":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record"}}}},"dataSetter":{"component":"data2-core-types@DataLinkSetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record"}},"recordUpsert":{"component":"data2-core-types@Reference","params":{"reference":"recordUpsert"}},"mask":{"component":"data2-core-types@Reference","params":{"reference":"mask"}}}},"tabIndex":{"component":"data2-core-types@Reference","params":{"reference":"tabIndex"}},"step":{"component":"data2-core-types@Reference","params":{"reference":"step"}},"type":{"component":"data2-core-types@Reference","params":{"reference":"type"}},"preffix":{"component":"data2-core-types@Reference","params":{"reference":"preffix"}},"fixedValue":{"component":"data2-core-types@Reference","params":{"reference":"fixedValue"}},"placeholder":{"component":"data2-core-logical-operators@Or","params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":"placeholder"}},{"component":"data2-core-types@Reference","params":{"reference":"field"}}]}},"defaultChecked":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"type"},"component":"data2-core-types@Reference"},"comparisonSubject":"checkbox"}}],"then":{"component":"data2-core-types@DataLinkGetter","params":{"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset"}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field"}},"record":{"component":"data2-core-types@Reference","params":{"reference":"record"}}}},"else":""}},"field":{"component":"data2-core-types@Reference","params":{"reference":"field"}},"dataset":{"component":"data2-core-types@Reference","params":{"reference":"dataset"}},"opacity":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparision-operators@Identical","params":{"subject":{"params":{"reference":"disabled"},"component":"data2-core-types@Reference"},"comparisonSubject":true}}],"then":0.38,"else":1}},"disabled":{"params":{"reference":"disabled"},"component":"data2-core-types@Reference"},"onBlur":{"component":"data2-core-types@Reference","params":{"reference":"onBlur"}},"onFocus":{"component":"data2-core-types@Reference","params":{"reference":"onFocus"}},"onChange":{"component":"data2-core-types@Reference","params":{"reference":"onChange"}}}}}},"component":"DataMoneyFieldBlock","package":"data2-blocks","extends":"data2-core-primitives@Block"}},{"_id":"6436f04bac93122e72906101","component":"data2-core-types@Component","params":{"extends":"data2-core-primitives@Block","definition":{"preventEvaluation":true,"component":"data2-core-types@Definition","params":{"def":{"component":"html@i","params":{"aria-hidden":"true","style":{"display":"flex","justifyContent":"center","alignItems":"center","width":"100%","height":"100%","fontSize":{"params":{"reference":"size"},"component":"data2-core-types@Reference"},"color":{"params":{"compare":[{"params":{"subject":{"params":{"reference":"color"},"component":"data2-core-types@Reference"},"pattern":{"component":"data2-core-primitives@String","params":{"content":"gradient"}}},"component":"data2-core-functions@Includes"}],"else":{"params":{"components":[{"params":{"reference":"color"},"component":"data2-core-types@Reference"},{"params":{"reference":"super.textColor"},"component":"data2-core-types@Reference"}]},"component":"data2-core-logical-operators@Or"},"then":{"component":"data2-core-primitives@String","params":{"content":"transparent"}}},"component":"data2-core-flow@If"},"backgroundClip":{"component":"data2-core-primitives@String","params":{"content":"text"}},"WebkitBackgroundClip":{"component":"data2-core-primitives@String","params":{"content":"text"}},"backgroundImage":{"params":{"compare":[{"params":{"subject":{"params":{"reference":"color"},"component":"data2-core-types@Reference"},"pattern":{"component":"data2-core-primitives@String","params":{"content":"gradient"}}},"component":"data2-core-functions@Includes"}],"then":{"params":{"portions":[{"params":{"reference":"color"},"component":"data2-core-types@Reference"}]},"component":"data2-core-functions@StringConcat"},"else":{"component":"data2-core-primitives@String","params":{"content":"linear-gradient(transparent,transparent)"}}},"component":"data2-core-flow@If"},"transition":{"component":"data2-core-primitives@String","params":{"content":"inherit"}}},"className":{"component":"data2-core-types@Reference","params":{"reference":"icon"}}}}}},"component":"IconBlock","package":"data2-blocks"}},{"_id":"614df5ca33fad3ebebb9879b","component":"data2-core-types@Component","params":{"package":"http","component":"CustomHTTPDataSource","extends":"data2-core@DataSource","definition":{"params":{},"component":"data2-core-types@Definition"},"renderable":{"dimensions":{"disabled":false,"component":"data2-core-types@Dimensions","params":{"width":1366,"exactWidth":false,"exactHeight":false,"height":768}}}}}]}},{"reference":"ExternalComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"_id":"5f060d9b1ca96def42f3c40a","displayName":"Builder AuthStrategy","component":"data2-core@AuthenticationStrategy","system":"5e3b796d6228227ca637d0f4","params":{"credentials":[{"component":"data2-core-types@DataSetColumnReference","params":{"column":"email"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"password"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"status"}}],"verifier":{"component":"data2-core-types@DataSetReference","params":{"reference":"UsersDataSet"}},"sessionShared":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"password":{"disabled":false,"component":"data2-core-types@DataSetColumnReference","params":{"column":"password"}},"email":{"disabled":false,"component":"data2-core-types@DataSetColumnReference","params":{"column":"email"}},"resetPassword":{"resetEmail":{"artboard":{"params":{"preventEvaluation":true,"reference":"nR6Q9d7qdaPtZhJ28Q8Dy"},"component":"data2-core-types@ArtboardReference"}},"resetSuccessEmail":{"artboard":{"params":{"preventEvaluation":true,"reference":"yPCJBTKo8q1Mw0B_3Kpwl"},"component":"data2-core-types@ArtboardReference"}}},"session":[{"component":"data2-core-types@DataSetColumnReference","params":{"column":"name"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"email"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"password"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"status"}}],"sessionMetadata":{"params":{"actions":[{"params":{"compare":{"params":{"subject":{"params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user._id"}}}},{"params":{"comparisonSubject":{"component":"data2-core-primitives@String","params":{"content":"active"}},"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user.status"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is active user"}]},"component":"data2-core-logical-operators@And","displayName":"is active and has _id"}},"component":"data2-core-logical-operators@Not"},"then":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"}},"component":"data2-core-flow@If","displayName":"check $user"},{"params":{"action":{"params":{"pattern":{"component":"data2-core-primitives@String","params":{"content":"@data2.app"}},"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user.email"}}}}},"component":"data2-core-functions@Includes","displayName":"isData2User"},"resultName":{"component":"data2-core-primitives@String","params":{"content":"is_data2_user"}}},"component":"data2-core-flow@Step"},{"params":{"action":{"params":{"pattern":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.d2_app"}}}},"subject":[{"component":"data2-core-primitives@String","params":{"content":"management"}}]},"component":"data2-core-functions@Includes","displayName":"isData2App Exception"},"resultName":{"component":"data2-core-primitives@String","params":{"content":"is_data2_app_exception"}}},"component":"data2-core-flow@Step"},{"params":{"resultName":{"component":"data2-core-primitives@String","params":{"content":"has_access"}},"action":{"params":{"compare":{"params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"is_data2_user"}}}},{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"is_data2_app_exception"}}}}]},"component":"data2-core-logical-operators@Or"},"else":{"params":{"actions":[{"params":{"actions":[{"params":{"compare":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}},"component":"data2-core-logical-operators@Not"},"then":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"}},"component":"data2-core-flow@If","displayName":"check $metadata.system"},{"params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":"filter","args":[{"_id":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}}]},"component":"data2-core-types@Interaction"},{"params":{"compare":{"params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records.length"}}}}},"component":"data2-core-logical-operators@Not","displayName":"systems not found"},"then":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"}},"component":"data2-core-flow@If","displayName":"check system found"},{"params":{"actions":[{"params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":"filter","args":[{"user":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user._id"}}}},"organization":{"component":"data2-core-types@Getter","params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"cursor.current.organization._id"}}}}}]},"component":"data2-core-types@Interaction"},{"params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"NqKAY34n2ffFL64zamp7t"}},"prop":"filter","args":[{"user":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user._id"}}}},"system":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}}]},"component":"data2-core-types@Interaction"}]},"component":"data2-core-flow@Parallel"}]},"component":"data2-core-flow@Series","displayName":"common setup"},{"params":{"then":{"params":{"content":true},"component":"data2-core-primitives@Boolean"},"else":{"params":{"content":false},"component":"data2-core-primitives@Boolean"},"compare":{"params":{"components":{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"mapper":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"system"}}],"body":{"params":{"expression":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.visibility"}}}},"defaultCase":{"params":{"content":false},"component":"data2-core-primitives@Boolean"},"cases":[{"component":"data2-core-flow@Case","params":{"expression":{"component":"data2-core-primitives@String","params":{"content":"public"}},"value":{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"components":[{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is org member"},{"params":{"pattern":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.role"}}}},"subject":[{"component":"data2-core-primitives@String","params":{"content":"owner"}},{"component":"data2-core-primitives@String","params":{"content":"billing-owner"}},{"component":"data2-core-primitives@String","params":{"content":"admin"}},{"component":"data2-core-primitives@String","params":{"content":"member"}}]},"component":"data2-core-functions@Includes","displayName":"has role with access"}]},"component":"data2-core-logical-operators@And","displayName":"has org member role with access"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is org member"},{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"components":[{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is org member"},{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.role"}}}},"comparisonSubject":{"component":"data2-core-primitives@String","params":{"content":"collaborator"}}},"component":"data2-core-comparison-operators@Equal","displayName":"is collaborator"}]},"component":"data2-core-logical-operators@And","displayName":"is org member and collaborator"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is collaborator"},{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"NqKAY34n2ffFL64zamp7t"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"access"}}],"body":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"access.system._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system._id"}}}}},"component":"data2-core-comparison-operators@Equal"}}}},"component":"data2-core-functions@ArrayFind","displayName":"has system access"}]},"component":"data2-core-logical-operators@And","displayName":"is collaborator and has system access"}]},"component":"data2-core-logical-operators@Or"}}},{"component":"data2-core-flow@Case","params":{"expression":{"component":"data2-core-primitives@String","params":{"content":"private"}},"value":{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"components":[{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is org member"},{"params":{"pattern":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.role"}}}},"subject":[{"component":"data2-core-primitives@String","params":{"content":"owner"}},{"component":"data2-core-primitives@String","params":{"content":"admin"}}]},"component":"data2-core-functions@Includes","displayName":"is owner/admin"}]},"component":"data2-core-logical-operators@And","displayName":"has org member role with access"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is owner/admin"},{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is org member"},{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"NqKAY34n2ffFL64zamp7t"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"access"}}],"body":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"access.system._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system._id"}}}}},"component":"data2-core-comparison-operators@Equal"}}}},"component":"data2-core-functions@ArrayFind","displayName":"has system access"}]},"component":"data2-core-logical-operators@And","displayName":"is member and has system access"}]},"component":"data2-core-logical-operators@Or","displayName":"is owner/admin or has system access"}}}]},"component":"data2-core-flow@Switch"}}}},"component":"data2-core-functions@ArrayMap"}},"component":"data2-core-logical-operators@And","displayName":"has org member for all systems in request"}},"component":"data2-core-flow@If"}]},"component":"data2-core-flow@Series"},"then":{"params":{"content":true},"component":"data2-core-primitives@Boolean"}},"component":"data2-core-flow@If"}},"component":"data2-core-flow@Step"},{"params":{"then":{"component":"data2-core-flow@If","displayName":"management exception never picks the system","params":{"compare":{"component":"data2-core-logical-operators@Or","params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"is_data2_user"}}}},{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"is_data2_app_exception"}}}}}}]}},"then":{"system":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}},"else":{"d2_app":"management"}}},"else":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"},"compare":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"has_access"}}}}},"component":"data2-core-flow@If"}]},"component":"data2-core-flow@Series"},"sessionExpiresIn":{"component":"data2-core-primitives@Number","params":{"content":604800}},"sessionRenewal":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"identityProviders":[{"provider":{"component":"data2-core-primitives@String","params":{"content":"GOOGLE"}},"clientId":{"component":"data2-core-primitives@String","params":{"content":"55470861603-22pvfc1t49lp8cjnbfk71s5ct9hp1q1v.apps.googleusercontent.com"}}}]},"reference":"Data2BuilderAuthentication","updatedAt":"2026-10-19T16:23:02.013Z","updateMetadata":{"updatedBy":{"user":"5f1609be1ca96def427e1559"}}},{"_id":"5f060ee51ca96def42f3fbd1","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"UsersTableDataSource"}},"pagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":1}}}},"reference":"UsersDataSet","updatedAt":"2026-03-04T21:16:40.291Z"},{"component":"data2-core@DataSet","reference":"SessionsDataSet","params":{"requiresConfirmation":false,"pk":"key","datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"data2sessionsdatasource"}}}},{"component":"data2-core@ServerSessionsDataSource","reference":"data2sessionsdatasource","params":{}},{"reference":"UsersTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"_id":"5f1600b70528b92601890f75","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ServiceComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"ServiceComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:20.208Z","createdAt":"2020-07-20T20:38:15.436Z"},{"_id":"5f1602190528b92601890f7d","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":40000},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ComponentInstancesTableDataSource"}},"sort":{"_id":1},"pk":"_id","autoEdit":true,"master":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"ComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:07.089Z","createdAt":"2020-07-20T20:44:09.350Z"},{"_id":"5f16017f0528b92601890f7a","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"FileComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"filter":{"domain":{"component":"data2-core-types@Reference","params":{"reference":"clientApplicationDomain"}}},"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}}},"reference":"FileComponentInstancesDataSet","updatedAt":"2023-08-03T16:08:18.193Z","createdAt":"2020-07-20T20:41:35.797Z"},{"_id":"5f1601990528b92601890f7b","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ApplicationsTableDataSource"}},"pk":"_id","autoEdit":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"master":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"params":{"column":"_id"},"component":"data2-core-types@DataSetColumnReference"}},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}}},"reference":"ApplicationsDataSet","updatedAt":"2022-12-13T21:51:13.995Z","createdAt":"2020-07-20T20:42:01.657Z"},{"_id":"5f16172a0528b92601890f85","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":10000}}},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"DataComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"DataComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:12.831Z","createdAt":"2020-07-20T22:14:02.097Z"},{"_id":"60ddc1bbda3861ca65407c5a","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"FileComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"filter":{"domain":{"component":"data2-core-types@Reference","params":{"reference":"clientApplicationDomain"}}},"pagination":{"size":1},"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"}},"reference":"OneFileComponentInstancesDataSet","updatedAt":"2022-02-09T19:44:38.036Z","createdAt":"2020-07-20T20:41:35.797Z"},{"_id":"63ee3d38b8c9838c62fb05fb","displayName":"DriveFileComponentInstancesDataSet","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"FileComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"filter":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core@Drive"}}},"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}}},"reference":"DriveFileComponentInstancesDataSet","updatedAt":"2025-12-04T21:58:32.367Z","createdAt":"2023-02-16T14:27:07.797Z"},{"reference":"ServiceComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6a8635db3323970d0c80a27f","component":"data2-rush@HTTPListener","reference":"resumo-calcular","system":"686bd24b4fcbdb97284775e3","params":{},"versioning":"enabled","bundleId":null},{"_id":"6a8fd2a5266a8719ecfc6ef4","component":"data2-interface-services@Timer","reference":"resumoPoll","system":"686bd24b4fcbdb97284775e3","params":{"interval":4000,"autoStart":true,"preventConcurrentExecution":true,"onTick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumo-calcular"}},"prop":"invoke","args":[{"body":{"ano":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.anoFiltro"}}}}]}},"resultName":"res"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"res"}},"prop":"data"}},"resultName":"dados"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.porProduto","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"porProduto"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalDinheiro","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalDinheiro"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalPix","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalPix"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalAReceber","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalAReceber"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdAbertos","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"qtdAbertos"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.ultimos","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"ultimos"}}}}]}}}},{"_id":"6a8f448752abf2e812e18b7a","component":"data2-core-connect@HttpRequest","reference":"resumo-moti-request","system":"686bd24b4fcbdb97284775e3","params":{"parent":{"component":"data2-core-types@InstanceReference","params":{"component":"data2-core-connect@HttpClient","reference":"resumo-moti-client"}},"method":{"component":"data2-core-primitives@String","params":{"content":"POST"}},"requestParameters":[],"data":"{}","useProxy":true}},{"_id":"6a8f447efbeb21aaad08a678","component":"data2-core-connect@HttpClient","reference":"resumo-moti-client","system":"686bd24b4fcbdb97284775e3","params":{}}]}},{"reference":"ComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6a8389d8532c02953f2aacb1","component":"data2-core-primitives@Router","system":"686bd24b4fcbdb97284775e3","displayName":"MainRouter","params":{"routerType":{"component":"data2-core-primitives@String","params":{"content":"browser"}},"routes":[{"component":"data2-core-primitives@Route","params":{"path":"","name":"Resumo","content":{"component":"data2-core-types@ArtboardReference","params":{"reference":"87ynXD9-MsbrT9ThUZdKW"}},"onEnter":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumo-calcular"}},"prop":"invoke","args":[{"body":{}}]}},"resultName":"res"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"res"}},"prop":"data"}},"resultName":"dados"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.porProduto","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"porProduto"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalDinheiro","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalDinheiro"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalPix","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalPix"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalAReceber","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalAReceber"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdAbertos","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"qtdAbertos"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdPendentes","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"qtdPendentes"}}}}]}}}},{"component":"data2-core-primitives@Route","params":{"path":"/clientes","name":"Clientes","content":{"component":"data2-core-types@ArtboardReference","params":{"reference":"nizm4ILrvybiOh6HRjkL4"}}}},{"component":"data2-core-primitives@Route","params":{"path":"/produtos","name":"Produtos","content":{"component":"data2-core-types@ArtboardReference","params":{"reference":"HayqRQ8zxFu1HI0PcJpSF"}}}},{"component":"data2-core-primitives@Route","params":{"path":"/pedidos","name":"Pedidos","content":{"component":"data2-core-types@ArtboardReference","params":{"reference":"C-C6GaW-cXvQlVm_sFIys"}}}},{"component":"data2-core-primitives@Route","params":{"path":"/cliente/:id/pedidos","name":"Pedidos do Cliente","content":{"component":"data2-core-types@ArtboardReference","params":{"reference":"9PrFpjLlhAbHBU8y5v_Nk"}}}},{"component":"data2-core-primitives@Route","params":{"path":"/resumo","name":"Resumo","content":{"component":"data2-core-types@ArtboardReference","params":{"reference":"87ynXD9-MsbrT9ThUZdKW"}},"onEnter":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumo-calcular"}},"prop":"invoke","args":[{"body":{}}]}},"resultName":"res"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"res"}},"prop":"data"}},"resultName":"dados"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.porProduto","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"porProduto"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalDinheiro","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalDinheiro"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalPix","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalPix"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalAReceber","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalAReceber"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdAbertos","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"qtdAbertos"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdPendentes","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"qtdPendentes"}}}}]}}}}]},"reference":"MainRouter"},{"_id":"6a84b50a45ad40122b09cf91","component":"data2-core-primitives@Artboard","system":"686bd24b4fcbdb97284775e3","displayName":"Resumo","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Resumo"}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}}},"reference":"87ynXD9-MsbrT9ThUZdKW"},{"_id":"6a839fcb0911495041376331","component":"data2-core-primitives@Artboard","system":"686bd24b4fcbdb97284775e3","displayName":"Todos Pedidos Cliente","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Todos Pedidos Cliente"}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"position":{"component":"data2-core-types@Position","params":{"x":-464,"y":398,"exactX":-464.34999999999997,"exactY":398.02}}},"reference":"9PrFpjLlhAbHBU8y5v_Nk"},{"_id":"6a83820b532c02953f2aa35f","component":"data2-core-primitives@Artboard","system":"686bd24b4fcbdb97284775e3","displayName":"Pedidos","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Pedidos"}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}}},"reference":"C-C6GaW-cXvQlVm_sFIys"},{"_id":"6a8382087955bf5ff97c212c","component":"data2-core-primitives@Artboard","system":"686bd24b4fcbdb97284775e3","displayName":"Produtos","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Produtos"}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}}},"reference":"HayqRQ8zxFu1HI0PcJpSF"},{"_id":"6a838206e1c15d8b3027bfd0","component":"data2-core-primitives@Artboard","system":"686bd24b4fcbdb97284775e3","displayName":"Usuarios","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Usuarios"}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#14141f"}}}}]}}},"reference":"nizm4ILrvybiOh6HRjkL4"},{"_id":"27fd175e7f351792adb9aa3b","parent":"6a84b50a45ad40122b09cf91","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Background","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}}},"index":0,"reference":"7HAWVSGkeE3yqAqqigplH"},{"_id":"3593fd093ffd0d6053edfea8","parent":"6a84b50a45ad40122b09cf91","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConteudoResumo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20,"y":24,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":390,"height":774}},"childrenMode":"rows","onMount":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumo-calcular"}},"prop":"invoke","args":[{"body":{"ano":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.anoFiltro"}}}}]}},"resultName":"res"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"res"}},"prop":"data"}},"resultName":"dados"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.porProduto","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"porProduto"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalDinheiro","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalDinheiro"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalPix","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalPix"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalAReceber","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalAReceber"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdAbertos","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"qtdAbertos"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdPendentes","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"qtdPendentes"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.ultimos","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"ultimos"}}}}]}},"scroll":{"component":"data2-core-types@Scroll","params":{"y":true}},"onVisibleOnScreen":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoPoll"}},"prop":"start","args":[]}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumo-calcular"}},"prop":"invoke","args":[{"body":{"ano":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.anoFiltro"}}}}]}},"resultName":"res"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"res"}},"prop":"data"}},"resultName":"dados"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.porProduto","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"porProduto"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalDinheiro","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalDinheiro"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalPix","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalPix"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalAReceber","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalAReceber"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdAbertos","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"qtdAbertos"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.ultimos","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"ultimos"}}}}]}},"onInvisibleOnScreen":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoPoll"}},"prop":"stop","args":{}}}]}}},"index":1,"reference":"Y2wlALWo0vRMlm3zXdL7p"},{"_id":"f8ea0711bf6794d666b5fc16","parent":"6a84b50a45ad40122b09cf91","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabBar","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":821,"freeTransform":true,"left":true,"right":true,"top":false,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":78}},"childrenMode":"cols","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"width":{"top":"1","right":"0","bottom":"0","left":"0"},"color":"#E0DACE"}}},"index":2,"reference":"xPFN17LBtSpGfYPX-2YWP"},{"_id":"51804c608d94aa23729e4655","parent":"6a839fcb0911495041376331","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Background","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}}},"index":0,"reference":"jEV_BSMKSaYqyFSovXJu-"},{"_id":"da043ad2dfd63df9197ec629","parent":"6a839fcb0911495041376331","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConteudoTodosPedidos","params":{"position":{"component":"data2-core-types@Position","params":{"x":20,"y":24,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":390,"height":852}},"childrenMode":"rows"},"index":1,"reference":"k73GsPig6tNryNZTqiL6Q"},{"_id":"359336116a37a198818af80e","parent":"6a83820b532c02953f2aa35f","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Background","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}}},"index":0,"reference":"1n_6ejcNxekuVP26OUD5d"},{"_id":"fc49b47f0e763b87decd51db","parent":"6a83820b532c02953f2aa35f","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabBar","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":821,"freeTransform":true,"left":true,"right":true,"top":false,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":78}},"childrenMode":"cols","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"width":{"top":"1","right":"0","bottom":"0","left":"0"},"color":"#E0DACE"}}},"index":1,"reference":"gKp6cktA0c6dJ_Fa3jSb9"},{"_id":"e217bb6db72b21023efaff32","parent":"6a83820b532c02953f2aa35f","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmBackdrop","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"cursor":"pointer","hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo"}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo","value":""}}]}},"index":900,"opacity":55},"index":2,"reference":"VIXBvq6PTR_oHILXe1Afy"},{"_id":"683e2ebcc9f4f5e1db07aa8d","parent":"6a83820b532c02953f2aa35f","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmPainel","params":{"position":{"component":"data2-core-types@Position","params":{"x":28,"y":358,"freeTransform":true,"left":false,"right":false,"top":false,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":374,"height":184}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"28","rightTop":"28","rightBottom":"28","leftBottom":"28"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo"}}}},"index":910},"index":3,"reference":"RzpkQDB_gQJQ6RVjz5jiL"},{"_id":"20d17464ee0cf5bd9193b2ba","parent":"6a83820b532c02953f2aa35f","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SheetPedidoBackdrop","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}}},"index":6,"reference":"x9dnzIf79D0sKc9eJ9I_9"},{"_id":"a98110f91efa95b64e63451b","parent":"6a83820b532c02953f2aa35f","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SheetPedidoPanel","params":{"position":{"component":"data2-core-types@Position","params":{"x":8,"y":150,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":414,"height":750}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":36}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}}},"index":6.5,"reference":"owHp8V4rKJFJI0APFwJ2V"},{"_id":"35ca9475e2b1e7dafb385c22","parent":"6a83820b532c02953f2aa35f","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConteudoPedidos","params":{"position":{"component":"data2-core-types@Position","params":{"x":20,"y":24,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":390,"height":798}},"childrenMode":"rows","scroll":{"component":"data2-core-types@Scroll","params":{"vertical":true,"showScrollbar":false}}},"index":7,"reference":"HgELenf5VIRs4RIpyJbJd"},{"_id":"997e0b26f3dc7e8901f8e1fb","parent":"6a8382087955bf5ff97c212c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Background","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}}},"index":0,"reference":"VlyIpzrNMpinTJWVvioPL"},{"_id":"63c6f0eea4ba25eac67fed31","parent":"6a8382087955bf5ff97c212c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ListaLabel","params":{"position":{"component":"data2-core-types@Position","params":{"x":20,"y":104,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":390,"height":22}},"text":{"component":"data2-core-primitives@String","params":{"content":"Catálogo"}},"textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":7,"reference":"YczoRAJeBNGTlwKzhygVe"},{"_id":"a73d127b9f0e2fc31495ef31","parent":"6a8382087955bf5ff97c212c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ListaProdutos","params":{"position":{"component":"data2-core-types@Position","params":{"x":20,"y":134,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":390,"height":676}},"childrenMode":"rows","repeat":{"component":"data2-core-types@DataSetReference","params":{"reference":"produtosDataSet"}},"repeatReference":{"component":"data2-core-primitives@String","params":{"content":"produto"}},"scroll":{"component":"data2-core-types@Scroll","params":{"y":true}}},"index":8,"reference":"8nVKUR_nmBeQePW54JxJq"},{"_id":"c8f4fe018cb98b1dd4c4766e","parent":"6a8382087955bf5ff97c212c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SheetProdutoBackdrop","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"cursor":"pointer","hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetProduto"}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetProduto","value":false}}]}},"opacity":45,"index":800},"index":8.5,"reference":"b84YZC6JQTLAmDgZzwc-F"},{"_id":"ef7a9fc50093ace09a70a644","parent":"6a8382087955bf5ff97c212c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SheetProdutoPanel","params":{"position":{"component":"data2-core-types@Position","params":{"x":8,"y":400,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":414,"height":500}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":36}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetProduto"}}}},"index":810},"index":8.75,"reference":"EARpWGcFVUNKIwCRXpSR0"},{"_id":"7304e9d89cc32e0b803d9057","parent":"6a8382087955bf5ff97c212c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SheetProdutoTitulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":432,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":34}},"text":"Novo produto","textSize":24,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetProduto"}}}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}},"index":820},"index":8.875,"reference":"0Vy-7PhRKkaLLlEtQlD8r"},{"_id":"9c338a6bc5ee010ec6814e19","parent":"6a8382087955bf5ff97c212c","component":"data2-blocks@DataFieldBlock","system":"686bd24b4fcbdb97284775e3","displayName":"InputNomeProduto","params":{"dataset":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"field":"data.nome_produto","placeholder":"Nome do produto","padding":{"left":16,"right":16},"super":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":482,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":50}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":14,"width":1,"color":{"component":"data2-core-types@Color","params":{"rgba":"#E0DACE"}}}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":16,"textFormat":{"component":"data2-core-types@TextFormat","params":{"fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetProduto"}}}},"index":820}},"index":8.9375,"reference":"FJLWqTS8hefY4HFSlwP49"},{"_id":"acc0bd04cd6cc8cb4e5a97db","parent":"6a8382087955bf5ff97c212c","component":"data2-blocks@DataMoneyFieldBlock","system":"686bd24b4fcbdb97284775e3","displayName":"InputPreco","params":{"dataset":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"field":"data.preco","placeholder":"0,00","preffix":"R$ ","super":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":548,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":50}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":14,"width":1,"color":{"component":"data2-core-types@Color","params":{"rgba":"#E0DACE"}}}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":16,"textFormat":{"component":"data2-core-types@TextFormat","params":{"fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetProduto"}}}},"index":820}},"index":8.96875,"reference":"99tv7tcWNFwz1VJ_35Z5J"},{"_id":"a8352ab8500b5034ba3e4f74","parent":"6a8382087955bf5ff97c212c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoSalvar","params":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":614,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":52}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"26","rightTop":"26","rightBottom":"26","leftBottom":"26"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"cursor":"pointer","text":{"component":"data2-core-primitives@String","params":{"content":"Salvar produto"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}},"textSize":16,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.editingId"}},"resultName":"isEditing"}},{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Reference","params":{"reference":"isEditing"}},"then":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtosDataSet"}},"prop":"saveRecord","args":[{"_id":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.editingId"}},"nome_produto":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.nome_produto"}},"preco":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.preco"}}}]}},"else":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtosDataSet"}},"prop":"saveRecord","args":[{"nome_produto":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.nome_produto"}},"preco":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.preco"}}}]}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.nome_produto","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.preco","value":0}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.editingId","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetProduto","value":false}}]}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetProduto"}}}},"index":820},"index":8.984375,"reference":"HDFNXoGHbo7KPV7Dqa0Vd"},{"_id":"be8610ca7a1e9d3b94604fab","parent":"6a8382087955bf5ff97c212c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoCancelar","params":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":676,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":44}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"22","rightTop":"22","rightBottom":"22","leftBottom":"22"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#D8D2C6"}},"cursor":"pointer","text":{"component":"data2-core-primitives@String","params":{"content":"Cancelar"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#57515C"}},"textSize":14,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.nome_produto","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.preco","value":0}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.editingId","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetProduto","value":false}}]}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetProduto"}}}},"index":820},"index":8.9921875,"reference":"4bkPITk3aZ0UZIC-KwuDY"},{"_id":"7471f017a80f0aebb23f1c41","parent":"6a8382087955bf5ff97c212c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabBar","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":821,"freeTransform":true,"left":true,"right":true,"top":false,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":78}},"childrenMode":"cols","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"width":{"top":"1","right":"0","bottom":"0","left":"0"},"color":"#E0DACE"}}},"index":9,"reference":"U2pHMvcW98w3avHdR20aA"},{"_id":"859eba19a02d5fe5655d8e2b","parent":"6a8382087955bf5ff97c212c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmBackdrop","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"cursor":"pointer","hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo"}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo","value":""}}]}},"index":900,"opacity":55},"index":10,"reference":"056nsjGqT5bV5wh-ExuTG"},{"_id":"f9ff53588de0407ffb67dfe0","parent":"6a8382087955bf5ff97c212c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmPainel","params":{"position":{"component":"data2-core-types@Position","params":{"x":28,"y":358,"freeTransform":true,"left":false,"right":false,"top":false,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":374,"height":184}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"28","rightTop":"28","rightBottom":"28","leftBottom":"28"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo"}}}},"index":910},"index":11,"reference":"og8hGAESVLAMeqKCmMkny"},{"_id":"217e8c7e8b6d887c1ec1d107","parent":"6a8382087955bf5ff97c212c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SheetProdutoHandle","params":{"position":{"component":"data2-core-types@Position","params":{"x":196,"y":414,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":38,"height":5}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#D6D1C9"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":3}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetProduto"}}}},"index":820},"index":12,"reference":"5EmUTxyl2ZhLl3lp7IHZ9"},{"_id":"6e0b02b239fd1e3f7907e82e","parent":"6a8382087955bf5ff97c212c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Cabecalho","params":{"position":{"component":"data2-core-types@Position","params":{"x":20,"y":44,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":390,"height":42}}},"reference":"Cegoy9xeVwMOzuq8d_WN_"},{"_id":"06ab54aaa6fd27e270b987da","parent":"6a838206e1c15d8b3027bfd0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Background","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}}},"index":0,"reference":"LozaDqU-VoCtNl4iwBzEo"},{"_id":"e6d6cb35f97f1da9b8d469f4","parent":"6a838206e1c15d8b3027bfd0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ListaLabel","params":{"position":{"component":"data2-core-types@Position","params":{"x":20,"y":104,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":390,"height":22}},"text":{"component":"data2-core-primitives@String","params":{"content":"Clientes cadastrados"}},"textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":6,"reference":"msaC28yHvVy7VLVd-T9G7"},{"_id":"f9253f4f333adddee61963fb","parent":"6a838206e1c15d8b3027bfd0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ListaUsuarios","params":{"position":{"component":"data2-core-types@Position","params":{"x":20,"y":134,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":390,"height":676}},"childrenMode":"rows","repeat":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clientesOrdenados"}},"repeatReference":"usuario","scroll":{"component":"data2-core-types@Scroll","params":{"y":true}},"onVisibleOnScreen":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuariosDataSet"}},"prop":"find","args":[{"$limit":500}]}},"resultName":"hits"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clientesOrdenados","value":{"component":"data2-core-functions@Sort","params":{"array":{"component":"data2-core-types@Reference","params":{"reference":"hits.data"}},"order":[{"field":"nome","order":"asc"}]}}}}]}}},"index":7,"reference":"t2l-67f_j4gyMgvXaX-yB"},{"_id":"c468d2ef7ff9c20a50a391c4","parent":"6a838206e1c15d8b3027bfd0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SheetClienteBackdrop","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"cursor":"pointer","hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetCliente"}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetCliente","value":false}}]}},"opacity":45,"index":800},"index":7.5,"reference":"UWIyeOTy_62cZpn_4bjLx"},{"_id":"1fe13aafdbbddb8c898869b7","parent":"6a838206e1c15d8b3027bfd0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SheetClientePanel","params":{"position":{"component":"data2-core-types@Position","params":{"x":8,"y":400,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":414,"height":500}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":36}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetCliente"}}}},"index":810},"index":7.75,"reference":"sS3CXEkSqAn3agaCdYqni"},{"_id":"2a91d9119f38b23c056402a4","parent":"6a838206e1c15d8b3027bfd0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SheetClienteTitulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":432,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":34}},"text":"Novo cliente","textSize":24,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetCliente"}}}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}},"index":820},"index":7.875,"reference":"9vIR1UXyWeKWgMrnjZN2_"},{"_id":"f9e62d30ed1bb53dcdc5e6d3","parent":"6a838206e1c15d8b3027bfd0","component":"data2-blocks@DataFieldBlock","system":"686bd24b4fcbdb97284775e3","displayName":"InputNome","params":{"dataset":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"field":"data.nome","placeholder":"Nome","padding":{"left":16,"right":16},"super":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":482,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":50}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":14,"width":1,"color":{"component":"data2-core-types@Color","params":{"rgba":"#E0DACE"}}}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":16,"textFormat":{"component":"data2-core-types@TextFormat","params":{"fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetCliente"}}}},"index":820}},"index":7.9375,"reference":"JH7cMocTWogoOxXM9B1GK"},{"_id":"0ff8ccb1b343d475798a8a8c","parent":"6a838206e1c15d8b3027bfd0","component":"data2-blocks@DataFieldBlock","system":"686bd24b4fcbdb97284775e3","displayName":"InputTelefone","params":{"dataset":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"field":"data.telefone","placeholder":"Telefone","padding":{"left":16,"right":16},"super":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":548,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":50}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":14,"width":1,"color":{"component":"data2-core-types@Color","params":{"rgba":"#E0DACE"}}}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":16,"textFormat":{"component":"data2-core-types@TextFormat","params":{"fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetCliente"}}}},"index":820}},"index":7.96875,"reference":"nXXB4I9OHr361RD4DNRbJ"},{"_id":"a7ead8ce62c1fa2642a0109b","parent":"6a838206e1c15d8b3027bfd0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoSalvar","params":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":614,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":52}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"26","rightTop":"26","rightBottom":"26","leftBottom":"26"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"cursor":"pointer","text":{"component":"data2-core-primitives@String","params":{"content":"Salvar cliente"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}},"textSize":16,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.editingId"}},"resultName":"isEditing"}},{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Reference","params":{"reference":"isEditing"}},"then":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuariosDataSet"}},"prop":"saveRecord","args":[{"_id":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.editingId"}},"nome":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.nome"}},"telefone":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.telefone"}}}]}},"else":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuariosDataSet"}},"prop":"saveRecord","args":[{"nome":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.nome"}},"telefone":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.telefone"}}}]}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.nome","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.telefone","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.editingId","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetCliente","value":false}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuariosDataSet"}},"prop":"find","args":[{"$limit":500}]}},"resultName":"hits"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clientesOrdenados","value":{"component":"data2-core-functions@Sort","params":{"array":{"component":"data2-core-types@Reference","params":{"reference":"hits.data"}},"order":[{"field":"nome","order":"asc"}]}}}}]}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetCliente"}}}},"index":820},"index":7.984375,"reference":"64zCzVulc7U17VqUwfji4"},{"_id":"5bbc8c92ad2c1204e8987468","parent":"6a838206e1c15d8b3027bfd0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoCancelar","params":{"position":{"component":"data2-core-types@Position","params":{"x":32,"y":676,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":44}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"22","rightTop":"22","rightBottom":"22","leftBottom":"22"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#D8D2C6"}},"cursor":"pointer","text":{"component":"data2-core-primitives@String","params":{"content":"Cancelar"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#57515C"}},"textSize":14,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.nome","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.telefone","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.editingId","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetCliente","value":false}}]}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetCliente"}}}},"index":820},"index":7.9921875,"reference":"n9N8bL-850ty4nQd4ZD5w"},{"_id":"84dfbff7cd185f3a5e323c67","parent":"6a838206e1c15d8b3027bfd0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabBar","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":821,"freeTransform":true,"left":true,"right":true,"top":false,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":78}},"childrenMode":"cols","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"width":{"top":"1","right":"0","bottom":"0","left":"0"},"color":"#E0DACE"}}},"index":8,"reference":"v9uu2ut4BcjQSQZdxUwdm"},{"_id":"e894813fc0f857b4fa663ab6","parent":"6a838206e1c15d8b3027bfd0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmBackdrop","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":430,"height":900}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"cursor":"pointer","hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo"}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo","value":""}}]}},"index":900,"opacity":55},"index":9,"reference":"QrYQHnjZX9y7gaXzqHkAq"},{"_id":"734f7b4d3a95cbb80b702a3c","parent":"6a838206e1c15d8b3027bfd0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmPainel","params":{"position":{"component":"data2-core-types@Position","params":{"x":28,"y":358,"freeTransform":true,"left":false,"right":false,"top":false,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":374,"height":184}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"28","rightTop":"28","rightBottom":"28","leftBottom":"28"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo"}}}},"index":910},"index":10,"reference":"iB7wETwb0Ssy4lqO_BpIe"},{"_id":"ef464564e6e2c40ce2517c82","parent":"6a838206e1c15d8b3027bfd0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SheetClienteHandle","params":{"position":{"component":"data2-core-types@Position","params":{"x":196,"y":414,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":38,"height":5}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#D6D1C9"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":3}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetCliente"}}}},"index":820},"index":11,"reference":"toCv4he8-C9knjgt9v5d3"},{"_id":"f5fb1a36f296af2094531ff2","parent":"6a838206e1c15d8b3027bfd0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Cabecalho","params":{"position":{"component":"data2-core-types@Position","params":{"x":20,"y":44,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":390,"height":42}}},"reference":"4f2ECMMJSoE7ozK6w5e9z"},{"_id":"45aa0e1cfcfec6c02e4677a4","parent":"3593fd093ffd0d6053edfea8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Titulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":20,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":42}},"text":"Resumo","textSize":34,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":1,"reference":"zAMtvUw-S_9U_WdcJA9dp"},{"_id":"91d91a94744c26d8ee90bd49","parent":"3593fd093ffd0d6053edfea8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"FiltroAnos","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":14}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":34}},"childrenMode":"cols"},"index":2,"reference":"TkvGuSg8ouh7iC6glRsYf"},{"_id":"2626c5bd7eed939ce66ce3b8","parent":"3593fd093ffd0d6053edfea8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"LabelFinanceiro","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":18,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":22}},"text":"Financeiro","textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":3,"reference":"Vfiy03GT9j1ibWizDX2uF"},{"_id":"a2a4660ab3de0f376050cfb6","parent":"3593fd093ffd0d6053edfea8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardAReceber","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":12}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":116}},"childrenMode":"rows","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"26","rightTop":"26","rightBottom":"26","leftBottom":"26"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"opacity":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.resumoLoading"}}],"then":40,"else":100}}},"index":4.125,"reference":"dRU8L3wC8BXNJVE-8HHjM"},{"_id":"62115fa0cd7c2234c1e3cdcd","parent":"3593fd093ffd0d6053edfea8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"RowFinanceiro","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":12,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":180}},"childrenMode":"rows","opacity":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.resumoLoading"}}],"then":40,"else":100}}},"index":5.25,"reference":"T5SfBId2k0YBKSOsdKUnU"},{"_id":"0ff16fa6847ca4eeedef1d10","parent":"3593fd093ffd0d6053edfea8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardTotalRecebido","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":12,"freeTransform":false,"left":false,"right":false,"top":false,"bottom":false,"growH":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":84}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#E4DFD4"}},"opacity":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.resumoLoading"}}],"then":40,"else":100}}},"index":6.125,"reference":"rpWyy_RpCKH37hdH9Uhxy"},{"_id":"8988eaf2bb5f97b5fe70948a","parent":"3593fd093ffd0d6053edfea8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"LabelProducao","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":32,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":22}},"text":"Produção necessária","textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":7,"reference":"GuU8OOctxCfHo1oqCKdj3"},{"_id":"e8373e5447c81ba748d09a98","parent":"3593fd093ffd0d6053edfea8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ListaProducao","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":12,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":150}},"childrenMode":"rows","repeat":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.porProduto"}},"repeatReference":"prod","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#E4DFD4"}},"opacity":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.resumoLoading"}}],"then":40,"else":100}}},"index":8,"reference":"svxDZTXQsRb3RU_7EM_E9"},{"_id":"80d2345ab8481838f86e68d6","parent":"3593fd093ffd0d6053edfea8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"LabelUltimos","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":32}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":22}},"text":"Últimos pedidos","textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":9,"reference":"6vu7fDuHxcuQt-7GYGo1D"},{"_id":"6e8358905d0d113f588438a3","parent":"3593fd093ffd0d6053edfea8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ListaUltimos","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":12}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":null,"height":240,"growHeightWithContent":true}},"childrenMode":"rows","repeat":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.ultimos"}},"repeatReference":"ult","repeatLimit":4,"opacity":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.resumoLoading"}}],"then":40,"else":100}}},"index":10,"reference":"lEV4DZgKk9W3oAykQs1Cd"},{"_id":"5a356af05bbe9f340ee77e09","parent":"3593fd093ffd0d6053edfea8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"EspacoFinal","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":24}}},"index":11,"reference":"y39uTGrrnu0kuFpYNanzC"},{"_id":"4a9557617ecbbba82605ac77","parent":"f8ea0711bf6794d666b5fc16","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabResumo","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#EDE8DD"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"20","rightTop":"20","rightBottom":"20","leftBottom":"20"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"childrenMode":"rows"},"index":0,"reference":"k9QOVJzTsD3CIe-lLaDAM"},{"_id":"9e5807d1b7e0cd008893e379","parent":"f8ea0711bf6794d666b5fc16","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabPedidos","params":{"position":{"component":"data2-core-types@Position","params":{"x":107.5,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":["/pedidos"]}}]}},"childrenMode":"rows"},"index":1,"reference":"MEdGrWSrXBaS21v38dU0-"},{"_id":"2637d12562658c85e52e6c57","parent":"f8ea0711bf6794d666b5fc16","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabClientes","params":{"position":{"component":"data2-core-types@Position","params":{"x":215,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuariosDataSet"}},"prop":"find","args":[{"$limit":500}]}},"resultName":"hits"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clientesOrdenados","value":{"component":"data2-core-functions@Sort","params":{"array":{"component":"data2-core-types@Reference","params":{"reference":"hits.data"}},"order":[{"field":"nome","order":"asc"}]}}}},{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":["/clientes"]}}]}},"childrenMode":"rows"},"index":2,"reference":"NQY2fANWj3ng3px6Zf350"},{"_id":"ea6f011b5476ddbc8c2d305b","parent":"f8ea0711bf6794d666b5fc16","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabProdutos","params":{"position":{"component":"data2-core-types@Position","params":{"x":322.5,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":["/produtos"]}}]}},"childrenMode":"rows"},"index":3,"reference":"y6TczTJpqU1Fsisu6IJZn"},{"_id":"c70dc5c502bb03d1e2758a07","parent":"da043ad2dfd63df9197ec629","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoVoltar","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":110,"height":36}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"17","rightTop":"17","rightBottom":"17","leftBottom":"17"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#D8D2C6"}},"cursor":"pointer","text":"← Clientes","textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":13,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":["/clientes"]}}]}}},"index":0,"reference":"FVtBsgo1UmINwjMSm-Ceq"},{"_id":"beab9cba6f28848f8a47495a","parent":"da043ad2dfd63df9197ec629","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Titulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":52,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":250,"height":38}},"text":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clienteAtualNome"}}],"then":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clienteAtualNome"}},"else":"Pedidos"}},"textSize":30,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":1,"reference":"IQSWlcFmi6NQ5a-6FqNi4"},{"_id":"a7fd62b89cc661b5950c23c9","parent":"da043ad2dfd63df9197ec629","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ListaTodosPedidos","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":128,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":390,"height":724}},"childrenMode":"rows","repeat":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.pedidosCliente"}},"repeatReference":{"component":"data2-core-primitives@String","params":{"content":"pedTodos"}},"scroll":{"component":"data2-core-types@Scroll","params":{"y":true}},"onVisibleOnScreen":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidosDataSet"}},"prop":"find","args":[{"usuarioId":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"routeParams.id"}},"$limit":500}]}},"resultName":"hitsPed"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.pedidosCliente","value":{"component":"data2-core-types@Reference","params":{"reference":"hitsPed.data"}}}}]}}},"index":2,"reference":"mRmOlTQEhha05-8FYdru0"},{"_id":"8938e33795828832d559f10c","parent":"da043ad2dfd63df9197ec629","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoNovoPedidoCliente","params":{"position":{"component":"data2-core-types@Position","params":{"x":262,"y":58,"freeTransform":true,"left":false,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":128,"height":38}},"text":"+ Pedido","textSize":14,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"19","rightTop":"19","rightBottom":"19","leftBottom":"19"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioId","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clienteAtualId"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioNome","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clienteAtualNome"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosIds","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosNomes","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.total","value":0}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.pago","value":false}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.formaPagamento","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.editingId","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido","value":true}},{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":["/pedidos"]}}]}}},"index":3,"reference":"6w_ZBCyxLUh8la4AI69Kx"},{"_id":"892942dbd71c5fbe2dc7389b","parent":"da043ad2dfd63df9197ec629","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SubtituloQtd","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":92,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":250,"height":20}},"text":{"component":"data2-core-flow@If","params":{"compare":[{"component":"data2-core-comparison-operators@Equal","params":{"subject":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.pedidosCliente.length"}}],"comparisonSubject":1}}],"then":"1 pedido","else":{"component":"data2-core-functions@StringConcat","params":{"portions":["",{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.pedidosCliente.length"}}," pedidos"]}}}},"textSize":14,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#57515C"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.pedidosCliente.length"}}}}},"reference":"BEMx34jt5W3d9tC_cyimw"},{"_id":"bc4bb7200c258df3e1fbd0b4","parent":"fc49b47f0e763b87decd51db","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabResumo","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":["/resumo"]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.tick","value":{"component":"data2-core-numerical-operators@Add","params":{"components":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.tick"}},1]}}}},{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoTotaisAutoDataSet"}},"prop":"find","args":[{"t":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.tick"}}}]}},{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoProducaoAutoDataSet"}},"prop":"find","args":[{"t":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.tick"}}}]}}]}},"childrenMode":"rows"},"index":0,"reference":"KEj0DbZn_cjLTejjhxPqK"},{"_id":"8863c87f223617501aafb679","parent":"fc49b47f0e763b87decd51db","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabPedidos","params":{"position":{"component":"data2-core-types@Position","params":{"x":107.5,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#EDE8DD"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"20","rightTop":"20","rightBottom":"20","leftBottom":"20"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"childrenMode":"rows"},"index":1,"reference":"W2LOSxk4erq3wr7kBqRfK"},{"_id":"ac6acc6c2dda9aaf28741f22","parent":"fc49b47f0e763b87decd51db","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabClientes","params":{"position":{"component":"data2-core-types@Position","params":{"x":215,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuariosDataSet"}},"prop":"find","args":[{"$limit":500}]}},"resultName":"hits"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clientesOrdenados","value":{"component":"data2-core-functions@Sort","params":{"array":{"component":"data2-core-types@Reference","params":{"reference":"hits.data"}},"order":[{"field":"nome","order":"asc"}]}}}},{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":["/clientes"]}}]}},"childrenMode":"rows"},"index":2,"reference":"dACZgqnTfVHSfKTl4ABb1"},{"_id":"4674f31cd4abf82cdbbfc805","parent":"fc49b47f0e763b87decd51db","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabProdutos","params":{"position":{"component":"data2-core-types@Position","params":{"x":322.5,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":["/produtos"]}}]}},"childrenMode":"rows"},"index":3,"reference":"oKweArAhcEzJXvFqv6PK9"},{"_id":"94af92ab0e66be3a9d83f5e8","parent":"683e2ebcc9f4f5e1db07aa8d","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmTitulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":50,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":326,"height":30}},"text":"Excluir pedido?","textSize":22,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":0,"reference":"6W0qKPdEODNAqDKIL6410"},{"_id":"1c9c54ba41a63583fc29859f","parent":"683e2ebcc9f4f5e1db07aa8d","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmNome","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":24,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":326,"height":22}},"text":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delClienteNome"}},"textSize":14,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#7C767F"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}}},"index":1,"reference":"BgqrQ0qS_EqE_DxZXjq3T"},{"_id":"0b4800fe0049df661b4c9e5b","parent":"683e2ebcc9f4f5e1db07aa8d","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmAcoes","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":108,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":326,"height":48}},"childrenMode":"cols"},"index":2,"reference":"T24JB0bheAg90ocIdsOh_"},{"_id":"7690484a4ed1bc51732aa4f8","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Titulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":4,"y":20,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":220,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":"Pedidos"}},"textSize":34,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":1,"reference":"3G4lmPqYIu_GqDbdUwnTv"},{"_id":"9a156f74ed88f5b96a593adc","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"FiltrosPedidos","params":{"position":{"component":"data2-core-types@Position","params":{"x":4,"y":80,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":350,"height":34}},"childrenMode":"cols","hide":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}},"index":1.5,"reference":"xnNy4AdMblLGOb-zPI4G-"},{"_id":"fb2f358e3472066bf2b26851","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"LabelCliente","params":{"position":{"component":"data2-core-types@Position","params":{"x":12,"y":208,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":16}},"text":{"component":"data2-core-primitives@String","params":{"content":"CLIENTE"}},"textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#8E8992"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}}},"index":2,"reference":"pUGtVjfWxm3ejLmnDbEMT"},{"_id":"e96960d04d12f5b935761b6b","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ClienteDropdownTrigger","params":{"position":{"component":"data2-core-types@Position","params":{"x":12,"y":230,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":50}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":14,"width":1,"color":{"component":"data2-core-types@Color","params":{"rgba":"#E0DACE"}}}},"cursor":"pointer","text":"","textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":16,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clienteDropdownOpen"}},"resultName":"v"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clienteDropdownOpen","value":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"v"}}}}}}]}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}}},"index":3,"reference":"FkyLvC2nYTh4g41tQV-lp"},{"_id":"61d28fd9a018728ee3eda515","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"LabelPago","params":{"position":{"component":"data2-core-types@Position","params":{"x":12,"y":506,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":16}},"text":{"component":"data2-core-primitives@String","params":{"content":"PAGAMENTO"}},"textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#8E8992"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}}},"index":5,"reference":"mV_XYrIilwbCu7n_HQNJj"},{"_id":"7a239b37b67596ae4b137296","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"FormaPagamentoRow","params":{"position":{"component":"data2-core-types@Position","params":{"x":12,"y":528,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":44}},"childrenMode":"cols","hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}}},"index":6.5,"reference":"OxCZbVjmYjtO6m-6GOAs5"},{"_id":"aed6fdf5b38b2f9b7c7b77b8","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"LabelProdutos","params":{"position":{"component":"data2-core-types@Position","params":{"x":12,"y":296,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":16}},"text":{"component":"data2-core-primitives@String","params":{"content":"PRODUTOS"}},"textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#8E8992"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}}},"index":7,"reference":"6pwuMErBv7UsyR5zT5ZYw"},{"_id":"64fa7610aaa892778f17f5a7","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ListaProdutosPicker","params":{"position":{"component":"data2-core-types@Position","params":{"x":12,"y":318,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":172}},"childrenMode":"rows","repeat":{"component":"data2-core-types@DataSetReference","params":{"reference":"produtosDataSet"}},"repeatReference":{"component":"data2-core-primitives@String","params":{"content":"produtoPick"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":18,"width":1,"color":{"component":"data2-core-types@Color","params":{"rgba":"#E4DFD4"}}}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}}},"index":8,"reference":"aUbDYimHtcQNq80BLeE0B"},{"_id":"4128c584dd03b90afb3b1348","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"LabelResumo","params":{"position":{"component":"data2-core-types@Position","params":{"x":12,"y":596,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":40}},"text":{"component":"data2-core-functions@StringConcat","params":{"portions":["","R$ ",{"component":"data2-core-functions@ToFixed","params":{"value":{"component":"data2-core-numerical-operators@Add","params":{"components":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.total"}},{"component":"data2-core-functions@Reduce","params":{"array":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho"}},"reducer":{"component":"data2-core-functions@Function","params":{"parameters":["acc","c"],"body":{"component":"data2-core-numerical-operators@Add","params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":"acc"}},{"component":"data2-core-numerical-operators@Multiply","params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":"c.preco"}},{"component":"data2-core-types@Reference","params":{"reference":"c.qty"}}]}}]}}}},"initialValue":0}}]}},"decimals":2}}]}},"textSize":30,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"right","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}}},"index":9,"reference":"Xlf8eZBWUzfOi4EoHwfVy"},{"_id":"df796dc525f36024032c27df","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoSalvarPedido","params":{"position":{"component":"data2-core-types@Position","params":{"x":12,"y":650,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":52}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"26","rightTop":"26","rightBottom":"26","leftBottom":"26"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"cursor":"pointer","text":"Salvar Pedido","textColor":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}},"textSize":16,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.editingId"}},"resultName":"isEditing"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-functions@ArrayConcat","params":{"arrays":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosIds"}},{"component":"data2-core-functions@ArrayMap","params":{"array":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho"}},"mapper":{"component":"data2-core-functions@Function","params":{"parameters":["c"],"body":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"c"}},"prop":"id"}}}}}}]}},"resultName":"produtosIdsFinal"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-functions@ArrayConcat","params":{"arrays":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosNomes"}},{"component":"data2-core-functions@ArrayMap","params":{"array":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho"}},"mapper":{"component":"data2-core-functions@Function","params":{"parameters":["c"],"body":{"component":"data2-core-functions@StringConcat","params":{"portions":["",{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"c"}},"prop":"nome"}}," x",{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"c"}},"prop":"qty"}}]}}}}}}]}},"resultName":"produtosNomesFinal"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-numerical-operators@Add","params":{"components":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.total"}},{"component":"data2-core-functions@Reduce","params":{"array":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho"}},"reducer":{"component":"data2-core-functions@Function","params":{"parameters":["acc","c"],"body":{"component":"data2-core-numerical-operators@Add","params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":"acc"}},{"component":"data2-core-numerical-operators@Multiply","params":{"components":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"c"}},"prop":"preco"}},{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"c"}},"prop":"qty"}}]}}]}}}},"initialValue":0}}]}},"resultName":"totalFinal"}},{"component":"data2-core-flow@Step","params":{"action":{"usuarioId":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioId"}},"usuarioNome":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioNome"}},"produtosIds":{"component":"data2-core-types@Reference","params":{"reference":"produtosIdsFinal"}},"produtosNomes":{"component":"data2-core-types@Reference","params":{"reference":"produtosNomesFinal"}},"total":{"component":"data2-core-types@Reference","params":{"reference":"totalFinal"}},"pago":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.pago"}},"formaPagamento":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.formaPagamento"}}},"resultName":"base"}},{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Reference","params":{"reference":"isEditing"}},"then":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidosDataSet"}},"prop":"saveRecord","args":[{"_id":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.editingId"}},"usuarioId":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"base"}},"prop":"usuarioId"}},"usuarioNome":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"base"}},"prop":"usuarioNome"}},"produtosIds":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"base"}},"prop":"produtosIds"}},"produtosNomes":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"base"}},"prop":"produtosNomes"}},"total":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"base"}},"prop":"total"}},"pago":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"base"}},"prop":"pago"}},"formaPagamento":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"base"}},"prop":"formaPagamento"}}}]}},"else":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidosDataSet"}},"prop":"saveRecord","args":[{"component":"data2-core-types@Reference","params":{"reference":"base"}}]}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioId","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioNome","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosIds","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosNomes","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.total","value":0}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.pago","value":false}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.formaPagamento","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.editingId","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clienteDropdownOpen","value":false}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido","value":false}}]}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}}},"index":10,"reference":"rT_Kyzsvr2CqT9zhbiOnC"},{"_id":"4c012484cc4982df128e8a7c","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoCancelarPedido","params":{"position":{"component":"data2-core-types@Position","params":{"x":12,"y":712,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":44}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"22","rightTop":"22","rightBottom":"22","leftBottom":"22"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#D8D2C6"}},"cursor":"pointer","text":{"component":"data2-core-primitives@String","params":{"content":"Cancelar"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#57515C"}},"textSize":14,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioId","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioNome","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosIds","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosNomes","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.total","value":0}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.pago","value":false}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.formaPagamento","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.editingId","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clienteDropdownOpen","value":false}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido","value":false}}]}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}}},"index":11,"reference":"rexiqg1JD3NCox3sOa2mr"},{"_id":"422a79d1022d112e5798caa7","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ListaPedidosLabel","params":{"position":{"component":"data2-core-types@Position","params":{"x":4,"y":128,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":350,"height":22}},"text":"Pedidos cadastrados","textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"hide":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}},"index":12,"reference":"ctM3P1TiNZCdWWSTPLVyr"},{"_id":"b469496addef6f1d7c30f7bd","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ListaPedidos","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":158,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":390,"height":640}},"childrenMode":"rows","repeat":{"component":"data2-core-types@DataSetReference","params":{"reference":"pedidosDataSet"}},"repeatReference":{"component":"data2-core-primitives@String","params":{"content":"pedido"}},"hide":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}},"scroll":{"component":"data2-core-types@Scroll","params":{"y":true}},"childrenOverflow":false},"index":13,"reference":"SJ7dmcb28nXlcEATQs3yW"},{"_id":"0b2d12cde2723b2d07953dde","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TotalLabel","params":{"position":{"component":"data2-core-types@Position","params":{"x":12,"y":604,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":120,"height":22}},"text":"Total","textSize":14,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#8E8992"}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}}},"index":14,"reference":"6DNTngwHrd3QFyikIU7J7"},{"_id":"2dd52366fb97941b47d59a50","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SheetPedidoHandle","params":{"position":{"component":"data2-core-types@Position","params":{"x":176,"y":138,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":38,"height":5}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":3}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}}},"index":14,"reference":"JZp2q-mxiTxFilCUBERw6"},{"_id":"3f557076d505d7b1c01b5d26","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SheetPedidoTitulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":12,"y":162,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":34}},"text":"Novo pedido","textSize":24,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":15,"reference":"YDFscSUCf4KOpl7Or-fHV"},{"_id":"9143e9b6aa503e06c5071efe","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"DivisorTotal","params":{"position":{"component":"data2-core-types@Position","params":{"x":12,"y":588,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":1}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#E0DACE"}}}}]}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}}}}},"index":15,"reference":"t-wvm-y6BlgWBwKiisqos"},{"_id":"b4ad3ddd08e6ad84a015f485","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ListaClientesPicker","params":{"position":{"component":"data2-core-types@Position","params":{"x":12,"y":284,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":366,"height":200}},"childrenMode":"rows","hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-logical-operators@And","params":{"components":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}},{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clienteDropdownOpen"}}]}}}},"repeat":{"component":"data2-core-types@DataSetReference","params":{"reference":"usuariosDataSet"}},"repeatReference":{"component":"data2-core-primitives@String","params":{"content":"clientePick"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"20","rightTop":"20","rightBottom":"20","leftBottom":"20"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#E4DFD4"}},"scroll":{"component":"data2-core-types@Scroll","params":{"y":true}}},"index":16,"reference":"7o_AMv9hGlVcC-K76OkZr"},{"_id":"7f93c80bd9761ea6fd61fe36","parent":"35ca9475e2b1e7dafb385c22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoNovoPedido","params":{"position":{"component":"data2-core-types@Position","params":{"x":262,"y":22,"freeTransform":true,"left":false,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":128,"height":38}},"text":"+ Pedido","textSize":14,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"19","rightTop":"19","rightBottom":"19","leftBottom":"19"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"cursor":"pointer","hide":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioId","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioNome","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosIds","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosNomes","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.total","value":0}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.pago","value":false}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.formaPagamento","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.editingId","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido","value":true}}]}}},"index":17,"reference":"HZL1oDEcVJJpEAnGAj-Z7"},{"_id":"a5f7f4fa520610c7321832d8","parent":"a73d127b9f0e2fc31495ef31","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Card","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":10}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":null,"height":120}},"childrenMode":"rows","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#E4DFD4"}}},"index":0,"reference":"JUujq56pHL-NXlfc_ipUD"},{"_id":"130074425d817c296ae217e4","parent":"7471f017a80f0aebb23f1c41","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabResumo","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":["/resumo"]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.tick","value":{"component":"data2-core-numerical-operators@Add","params":{"components":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.tick"}},1]}}}},{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoTotaisAutoDataSet"}},"prop":"find","args":[{"t":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.tick"}}}]}},{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoProducaoAutoDataSet"}},"prop":"find","args":[{"t":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.tick"}}}]}}]}},"childrenMode":"rows"},"index":0,"reference":"2Q6jgqnjAdKzMQdHcfquT"},{"_id":"847ea786b94a25561b372628","parent":"7471f017a80f0aebb23f1c41","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabPedidos","params":{"position":{"component":"data2-core-types@Position","params":{"x":107.5,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":["/pedidos"]}}]}},"childrenMode":"rows"},"index":1,"reference":"9mirqKzv1hHNW3lgNsBl2"},{"_id":"b65c217cbe347198e371a082","parent":"7471f017a80f0aebb23f1c41","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabClientes","params":{"position":{"component":"data2-core-types@Position","params":{"x":215,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuariosDataSet"}},"prop":"find","args":[{"$limit":500}]}},"resultName":"hits"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clientesOrdenados","value":{"component":"data2-core-functions@Sort","params":{"array":{"component":"data2-core-types@Reference","params":{"reference":"hits.data"}},"order":[{"field":"nome","order":"asc"}]}}}},{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":["/clientes"]}}]}},"childrenMode":"rows"},"index":2,"reference":"xMi2wPl6gAD1w1CudwyqN"},{"_id":"5eb4ccca65c83ec17158a592","parent":"7471f017a80f0aebb23f1c41","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabProdutos","params":{"position":{"component":"data2-core-types@Position","params":{"x":322.5,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#EDE8DD"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"20","rightTop":"20","rightBottom":"20","leftBottom":"20"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"childrenMode":"rows"},"index":3,"reference":"BY7i1SgmiCPBga4QGh6C6"},{"_id":"dd7d3ab0ea465193f787261b","parent":"f9ff53588de0407ffb67dfe0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmTitulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":50,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":326,"height":30}},"text":"Excluir produto?","textSize":22,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":0,"reference":"RQQ2lLc3lcLqXv4xHQINg"},{"_id":"957dd1737be61dabe43d98a2","parent":"f9ff53588de0407ffb67dfe0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmNome","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":24,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":326,"height":22}},"text":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delProdutoNome"}},"textSize":14,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#7C767F"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}}},"index":1,"reference":"oHXATY2WuIHuaEDeCA4HL"},{"_id":"138d0ce818937d7b7bedf463","parent":"f9ff53588de0407ffb67dfe0","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmAcoes","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":108,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":326,"height":48}},"childrenMode":"cols"},"index":2,"reference":"MlK-7sZyYns6nW4Y5EZrw"},{"_id":"4b1c5ca5122cf28f8df5f979","parent":"6e0b02b239fd1e3f7907e82e","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Titulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":250,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":"Produtos"}},"textSize":34,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":0,"reference":"K6rqMTl1APS41V_-vBrRi"},{"_id":"f321bea3e641df8502bcd462","parent":"6e0b02b239fd1e3f7907e82e","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoNovoProduto","params":{"position":{"component":"data2-core-types@Position","params":{"x":262,"y":2,"freeTransform":true,"left":false,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":128,"height":38}},"text":"+ Produto","textSize":14,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"19","rightTop":"19","rightBottom":"19","leftBottom":"19"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.nome_produto","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.preco","value":0}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.editingId","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetProduto","value":true}}]}},"hide":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetProduto"}}},"index":1,"reference":"1mvudyvvx7jc5gw6FDOgY"},{"_id":"d48b13c18e7f08dfbc357d9a","parent":"f9253f4f333adddee61963fb","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Card","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":10}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":null,"height":117}},"childrenMode":"rows","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#E4DFD4"}}},"index":0,"reference":"4Hc623gbkBTQgub4WUSr2"},{"_id":"6095817d20f26eb0be3ab907","parent":"84dfbff7cd185f3a5e323c67","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabResumo","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":["/resumo"]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.tick","value":{"component":"data2-core-numerical-operators@Add","params":{"components":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.tick"}},1]}}}},{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoTotaisAutoDataSet"}},"prop":"find","args":[{"t":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.tick"}}}]}},{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoProducaoAutoDataSet"}},"prop":"find","args":[{"t":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.tick"}}}]}}]}},"childrenMode":"rows"},"index":0,"reference":"mg8M7ODw3mog7hr2Bpec2"},{"_id":"1a2345cd210458e4afba928b","parent":"84dfbff7cd185f3a5e323c67","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabPedidos","params":{"position":{"component":"data2-core-types@Position","params":{"x":107.5,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":["/pedidos"]}}]}},"childrenMode":"rows"},"index":1,"reference":"MITf1ViPrlhUnXAghEHFB"},{"_id":"5fb4aa9fc2d2600b6c896c28","parent":"84dfbff7cd185f3a5e323c67","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabClientes","params":{"position":{"component":"data2-core-types@Position","params":{"x":215,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#EDE8DD"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"20","rightTop":"20","rightBottom":"20","leftBottom":"20"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"childrenMode":"rows","onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuariosDataSet"}},"prop":"find","args":[{"$limit":500}]}},"resultName":"hits"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clientesOrdenados","value":{"component":"data2-core-functions@Sort","params":{"array":{"component":"data2-core-types@Reference","params":{"reference":"hits.data"}},"order":[{"field":"nome","order":"asc"}]}}}}]}}},"index":2,"reference":"a7zsUfKh3jrYUv_9aqWjC"},{"_id":"889ef53e2ba45aaa37b1a815","parent":"84dfbff7cd185f3a5e323c67","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TabProdutos","params":{"position":{"component":"data2-core-types@Position","params":{"x":322.5,"y":16,"freeTransform":true,"left":false,"right":false,"top":true,"bottom":false,"growH":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":107.5,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textSize":12,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":["/produtos"]}}]}},"childrenMode":"rows"},"index":3,"reference":"SCpKsr6ilPPCBRsPjCr0_"},{"_id":"9b2a9af83d719ee912be42b8","parent":"734f7b4d3a95cbb80b702a3c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmTitulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":50,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":326,"height":30}},"text":"Excluir cliente?","textSize":22,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":0,"reference":"jNQ7VDOKcu_NDFG6EFIj1"},{"_id":"b1b0804e8f8095b09f1e1c99","parent":"734f7b4d3a95cbb80b702a3c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmNome","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":24,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":326,"height":22}},"text":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delClienteNome"}},"textSize":14,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#7C767F"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}}},"index":1,"reference":"6FctZJWwcu5jR8sjGNt30"},{"_id":"6aaf396b89e2c449b642bad4","parent":"734f7b4d3a95cbb80b702a3c","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmAcoes","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":108,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":326,"height":48}},"childrenMode":"cols"},"index":2,"reference":"WUmhVhBxqJzfKUOBrtH-3"},{"_id":"06609686f408e1e9b4e3aff2","parent":"f5fb1a36f296af2094531ff2","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Titulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":250,"height":42}},"text":{"component":"data2-core-primitives@String","params":{"content":"Clientes"}},"textSize":34,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":0,"reference":"dF8UsKcn0JDp4EukRuPr4"},{"_id":"96a93ed8f0b9625ec90af44a","parent":"f5fb1a36f296af2094531ff2","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoNovoCliente","params":{"position":{"component":"data2-core-types@Position","params":{"x":262,"y":2,"freeTransform":true,"left":false,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":128,"height":38}},"text":"+ Cliente","textSize":14,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"19","rightTop":"19","rightBottom":"19","leftBottom":"19"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.nome","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.telefone","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.editingId","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetCliente","value":true}}]}},"hide":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetCliente"}}},"index":1,"reference":"Zndirv5GCzRYHjy4uN0HR"},{"_id":"4d66920540cd5ede272d4be5","parent":"91d91a94744c26d8ee90bd49","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"AnoAtual","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":84,"height":32}},"cursor":"pointer","text":{"component":"data2-core-functions@DateFormat","params":{"date":{"component":"data2-core-functions@DateNow","params":{}},"format":"YYYY"}},"textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.anoFiltro"}},"comparisonSubject":{"component":"data2-core-functions@DateFormat","params":{"date":{"component":"data2-core-functions@DateNow","params":{}},"format":"YYYY"}}}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#EDE8DD"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#DDD7CB"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.anoFiltro","value":{"component":"data2-core-functions@DateFormat","params":{"date":{"component":"data2-core-functions@DateNow","params":{}},"format":"YYYY"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.resumoLoading","value":true}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumo-calcular"}},"prop":"invoke","args":[{"body":{"ano":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.anoFiltro"}}}}]}},"resultName":"res"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"res"}},"prop":"data"}},"resultName":"dados"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.porProduto","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"porProduto"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalDinheiro","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalDinheiro"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalPix","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalPix"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalAReceber","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalAReceber"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdAbertos","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"qtdAbertos"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdPendentes","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"qtdPendentes"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.ultimos","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"ultimos"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.resumoLoading","value":false}}]}}},"index":0,"reference":"I-4NHZ0JrQZaOvaarM-k4"},{"_id":"a64b5ce355110592700d0c6b","parent":"91d91a94744c26d8ee90bd49","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SpAno1","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":8,"height":8}}},"index":1,"reference":"8QHMbqkrmC5SbCw5r6iV0"},{"_id":"052069d46314cb4973b6f020","parent":"91d91a94744c26d8ee90bd49","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"AnoAnterior","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":84,"height":32}},"cursor":"pointer","text":{"component":"data2-core-functions@DateFormat","params":{"date":{"component":"data2-core-functions@DateSubtract","params":{"date":{"component":"data2-core-functions@DateNow","params":{}},"count":1,"period":"year"}},"format":"YYYY"}},"textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.anoFiltro"}},"comparisonSubject":{"component":"data2-core-functions@DateFormat","params":{"date":{"component":"data2-core-functions@DateSubtract","params":{"date":{"component":"data2-core-functions@DateNow","params":{}},"count":1,"period":"year"}},"format":"YYYY"}}}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#EDE8DD"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#DDD7CB"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.anoFiltro","value":{"component":"data2-core-functions@DateFormat","params":{"date":{"component":"data2-core-functions@DateSubtract","params":{"date":{"component":"data2-core-functions@DateNow","params":{}},"count":1,"period":"year"}},"format":"YYYY"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.resumoLoading","value":true}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumo-calcular"}},"prop":"invoke","args":[{"body":{"ano":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.anoFiltro"}}}}]}},"resultName":"res"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"res"}},"prop":"data"}},"resultName":"dados"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.porProduto","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"porProduto"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalDinheiro","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalDinheiro"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalPix","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalPix"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalAReceber","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalAReceber"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdAbertos","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"qtdAbertos"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdPendentes","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"qtdPendentes"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.ultimos","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"ultimos"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.resumoLoading","value":false}}]}}},"index":2,"reference":"DXzm4WwZ2xLk0_mC7CUqa"},{"_id":"d3d26871849c3116ef6e69b5","parent":"91d91a94744c26d8ee90bd49","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SpAno2","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":8,"height":8}}},"index":3,"reference":"UyNBntBlEDG7dSvdkEf7F"},{"_id":"d56fedac8be17a57fed226f8","parent":"91d91a94744c26d8ee90bd49","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"AnoTodos","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":84,"height":32}},"cursor":"pointer","text":"Todos","textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.anoFiltro"}},"comparisonSubject":""}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#EDE8DD"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#DDD7CB"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.anoFiltro","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.resumoLoading","value":true}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumo-calcular"}},"prop":"invoke","args":[{"body":{"ano":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.anoFiltro"}}}}]}},"resultName":"res"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"res"}},"prop":"data"}},"resultName":"dados"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.porProduto","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"porProduto"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalDinheiro","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalDinheiro"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalPix","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalPix"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalAReceber","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"totalAReceber"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdAbertos","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"qtdAbertos"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdPendentes","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"qtdPendentes"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.ultimos","value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"dados"}},"prop":"ultimos"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.resumoLoading","value":false}}]}}},"index":4,"reference":"Z23SlaUsZ7JegVFRgHs6j"},{"_id":"c128551ef2f8632e8cd788b4","parent":"91d91a94744c26d8ee90bd49","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CarregandoAno","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":100,"height":32}},"text":"Carregando…","textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#57515C"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}},"hide":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.resumoLoading"}}}}},"reference":"v_tZzHRkF7kxqXE3ApG8s"},{"_id":"111eefab1500bf401029e1bd","parent":"a2a4660ab3de0f376050cfb6","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"AReceberLabel","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":14,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":300,"height":18}},"text":"A receber","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#A9A2AE"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}}},"index":0,"reference":"dxHtV8FPwoViiXVwyFrYh"},{"_id":"75e555349442fc8cb14d1756","parent":"a2a4660ab3de0f376050cfb6","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"AReceberValor","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":34,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":300,"height":48}},"text":{"component":"data2-core-functions@StringConcat","params":{"portions":["","R$ ",{"component":"data2-core-functions@ToFixed","params":{"value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalAReceber"}},"decimals":2}}]}},"textSize":32,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":1,"reference":"minSrRc6kE2hwTrQiGjfj"},{"_id":"2e86a2ee7331b27dc695ca78","parent":"a2a4660ab3de0f376050cfb6","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"AReceberNota","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":90,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":300,"height":18}},"text":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdAbertos"}},"comparisonSubject":1}},"then":"1 pedido em aberto","else":{"component":"data2-core-functions@StringConcat","params":{"portions":["",{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.qtdAbertos"}}," pedidos em aberto"]}}}},"textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#A9A2AE"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}}},"index":2,"reference":"6urbIjc67FpG9Qikrz0hT"},{"_id":"d28e1e3a8ddb50a5c2591758","parent":"62115fa0cd7c2234c1e3cdcd","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardDinheiro","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":84}},"childrenMode":"rows","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#E4DFD4"}}},"index":0,"reference":"YbOpYGTO-bXXSDAzDKSjV"},{"_id":"938af35112ca5cc2e72a9a1f","parent":"62115fa0cd7c2234c1e3cdcd","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SpacerFin","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":16,"height":8}},"hide":true},"index":1,"reference":"iT-F7l7aFb61QxrCxlbiu"},{"_id":"0e946f40f91c2ada9cf86b06","parent":"62115fa0cd7c2234c1e3cdcd","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardPix","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":12,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":84}},"childrenMode":"rows","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#E4DFD4"}}},"index":2,"reference":"r0lL47yzCc4sVzRZoAzDC"},{"_id":"503c0848a353d86ab2781fa6","parent":"0ff16fa6847ca4eeedef1d10","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TotalRecebidoLabel","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":14,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":300,"height":18}},"text":"Total recebido","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#7C767F"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}}},"index":0,"reference":"EiZRyW7PxvdKhmV7ZRcUD"},{"_id":"3fcefd194e9048c9abedb1be","parent":"0ff16fa6847ca4eeedef1d10","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"TotalRecebidoValor","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":34,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":300,"height":32}},"text":{"component":"data2-core-functions@StringConcat","params":{"portions":["","R$ ",{"component":"data2-core-functions@ToFixed","params":{"value":{"component":"data2-core-numerical-operators@Add","params":{"components":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalDinheiro"}},{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalPix"}}]}},"decimals":2}}]}},"textSize":26,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#43604A"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":1,"reference":"bEbzRantRbf0pLFARqYp5"},{"_id":"70eee2f27a085c847e376b7e","parent":"e8373e5447c81ba748d09a98","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ProducaoRow","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":46}},"childrenMode":"cols","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"width":{"top":"1","right":"0","bottom":"0","left":"0"},"color":"#EFEBE2"}}},"index":0,"reference":"nWxSqrC2uWePExe3gugha"},{"_id":"d2c1eaabe5006ee247a7fdb2","parent":"6e8358905d0d113f588438a3","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"UltimoCard","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":8}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":68}},"childrenMode":"cols","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#E4DFD4"}}},"index":0,"reference":"O30x_hSP-cYw0rhGsI07d"},{"_id":"882f34126c3455593202fa39","parent":"4a9557617ecbbba82605ac77","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-pie-chart"}},"size":17,"color":"#1F1B24","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"XWG3806qeEIQMlgCbE7Sy"},{"_id":"6f3c2677dd8d0349c093755a","parent":"4a9557617ecbbba82605ac77","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Resumo","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"DQwUf_v4u9Z-5rf5FHQbo"},{"_id":"15bd1b0848c95ca105d895e1","parent":"9e5807d1b7e0cd008893e379","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-shopping-bag"}},"size":17,"color":"#9A939F","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"ZgV4DTTy-e2g37w_n-4f8"},{"_id":"2af886962e7dc174f2209d1b","parent":"9e5807d1b7e0cd008893e379","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Pedidos","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"BAAivASBrBA6ycpcbzFiP"},{"_id":"1a91c9454b4628ea4287f0b0","parent":"2637d12562658c85e52e6c57","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-user-o"}},"size":17,"color":"#9A939F","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"aLj6j9dpEdpLbJiFFH4hH"},{"_id":"df92eafba7f5b0c10a261f9b","parent":"2637d12562658c85e52e6c57","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Clientes","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"71gV_ry-UG1KfEs78hNoU"},{"_id":"c240434c1642ebd09abd6cf0","parent":"ea6f011b5476ddbc8c2d305b","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-cube"}},"size":17,"color":"#9A939F","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"SmaerfYGFQE0YTroyhJIi"},{"_id":"68773ffa8ef331c41b50c464","parent":"ea6f011b5476ddbc8c2d305b","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Produtos","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"VwO69jE1HgOW0L9FxT5qQ"},{"_id":"fab19e2c0819326473436202","parent":"a7fd62b89cc661b5950c23c9","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Card","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":10}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":390,"height":140}},"childrenMode":"rows","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#E4DFD4"}},"hide":false},"index":0,"reference":"ykn9nGTdJmcV_o9w7SO3t"},{"_id":"eab68decc86718ea04e21b02","parent":"bc4bb7200c258df3e1fbd0b4","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-pie-chart"}},"size":17,"color":"#9A939F","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"2OXxknJ_gizQLhIJ3mP-5"},{"_id":"e74c6f40b2d3a0aa6f93e74a","parent":"bc4bb7200c258df3e1fbd0b4","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Resumo","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"d-k8He8i2jizU5WRIVoOx"},{"_id":"a8f73b3ea4cbd42580961273","parent":"8863c87f223617501aafb679","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-shopping-bag"}},"size":17,"color":"#1F1B24","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"6K_PP1XpmZr84E2a9CYIx"},{"_id":"befde8a497261b2597a5075c","parent":"8863c87f223617501aafb679","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Pedidos","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"0CJuMphv4jufbWs1un9rA"},{"_id":"041fd4b26683a54b9de3c1ae","parent":"ac6acc6c2dda9aaf28741f22","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-user-o"}},"size":17,"color":"#9A939F","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"wM-hFIuxofbZCUXOrSe6J"},{"_id":"a5c33582ef33ea529ab3e934","parent":"ac6acc6c2dda9aaf28741f22","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Clientes","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"1zL1gS_VAbnf4hpB4v9_O"},{"_id":"9bed6acbecca5c4bd0919797","parent":"4674f31cd4abf82cdbbfc805","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-cube"}},"size":17,"color":"#9A939F","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"j91BWJ5OVec3oErOjvuSm"},{"_id":"8172e83d9e98457df4be6d59","parent":"4674f31cd4abf82cdbbfc805","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Produtos","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"VnvJ6RZRmAvkkAJ-FZlIy"},{"_id":"7efede62f77d0b21851e010c","parent":"0b4800fe0049df661b4c9e5b","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmCancelar","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":158,"height":48}},"cursor":"pointer","text":"Cancelar","textSize":15,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#D8D2C6"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo","value":""}}]}}},"index":0,"reference":"WkoXAjRqgR-HSRYnY6Vn_"},{"_id":"1141384f09a0721b03f6d8c3","parent":"0b4800fe0049df661b4c9e5b","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SpConfirm","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":10,"height":8}}},"index":1,"reference":"dxD3VHizPIJSF6DCOMmIW"},{"_id":"0dbf80fd759a3f0b180f7c9e","parent":"0b4800fe0049df661b4c9e5b","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmExcluir","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":158,"height":48}},"cursor":"pointer","text":"Excluir","textSize":15,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#A84A3C"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidosDataSet"}},"prop":"deleteRecord","args":[{"_id":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delId"}}}]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo","value":""}}]}}},"index":2,"reference":"rgLUocC7JYUyOgfWhk-tZ"},{"_id":"ad05a809fa82176bf68cfbaf","parent":"9a156f74ed88f5b96a593adc","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"FiltroTodos","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":58,"height":32}},"text":"Todos","textSize":13,"textColor":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.filtroPedidos"}},"comparisonSubject":"todos"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#57515C"}}}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.filtroPedidos"}},"comparisonSubject":"todos"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#D8D2C6"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.filtroPedidos","value":"todos"}}]}}},"index":0,"reference":"m6Mv5ynjnPE1PjRmFaOPD"},{"_id":"2cbec545eef22e13f97a1849","parent":"9a156f74ed88f5b96a593adc","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SpPagos","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":6,"height":8}}},"index":0.5,"reference":"fNHqlK4fcKHBPGuq-WGds"},{"_id":"395b98c12736a3639181b704","parent":"9a156f74ed88f5b96a593adc","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"FiltroPagos","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":58,"height":32}},"text":"Pagos","textSize":13,"cursor":"pointer","textColor":{"component":"data2-core-types@Color","params":{"rgba":"#37543D"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.filtroPedidos"}},"comparisonSubject":"pagos"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#DCE7DC"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#CFDCCF"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.filtroPedidos","value":"pagos"}}]}}},"index":0.75,"reference":"w_ilH79W0nG9UaP-abhlM"},{"_id":"071a799728ce4f7beef593d2","parent":"9a156f74ed88f5b96a593adc","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Sp1","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":6,"height":32}}},"index":1,"reference":"CNK-SoXT-jp2CySGbotwI"},{"_id":"3f61f763472e5f5b5040a608","parent":"9a156f74ed88f5b96a593adc","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"FiltroNaoPagos","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":80,"height":32}},"text":"Não pagos","textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#8E3C2C"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.filtroPedidos"}},"comparisonSubject":"naopagos"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#F3D9CC"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#E5CFC7"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.filtroPedidos","value":"naopagos"}}]}}},"index":2,"reference":"idlSx7jxyXL2UF7_vorCB"},{"_id":"332765fbc151e88c517b88e0","parent":"9a156f74ed88f5b96a593adc","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Sp2","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":6,"height":32}}},"index":3,"reference":"1uKYejCmDkEaQbw7dU1rm"},{"_id":"248b9637f967bdca06e8c6e8","parent":"9a156f74ed88f5b96a593adc","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"FiltroAEntregar","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":82,"height":32}},"text":"A entregar","textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#43604A"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.filtroPedidos"}},"comparisonSubject":"aentregar"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#DCE7DC"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}}}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#CFDCCF"}},"cursor":"pointer","textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.filtroPedidos","value":"aentregar"}}]}}},"index":4,"reference":"zWNzHlfTixWmfiKTYgHsy"},{"_id":"37dc2e3f2d963cb92b21787b","parent":"e96960d04d12f5b935761b6b","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ClienteTriggerLabel","params":{"position":{"component":"data2-core-types@Position","params":{"x":18,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":330,"height":50}},"text":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioNome"}},"then":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioNome"}},"else":"Selecione um cliente ▾"}},"textSize":16,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}}},"reference":"ecKjEtqmhZfvQH9Vgd-af"},{"_id":"be54f2e8932d5d8272c6c321","parent":"7a239b37b67596ae4b137296","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoNaoPago","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":114,"height":44}},"cursor":"pointer","text":"Não pago","textSize":14,"textColor":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.pago"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#57515C"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#8E3C2C"}}}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.pago"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#F3D9CC"}}}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":14,"width":1,"color":{"component":"data2-core-types@Color","params":{"rgba":"#E0DACE"}}}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.pago","value":false}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.formaPagamento","value":""}}]}}},"index":0,"reference":"cte-e833NjmpL0icXpz1T"},{"_id":"fb4292b90a6a6b05ec4897a7","parent":"7a239b37b67596ae4b137296","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SpPag","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":12,"height":8}}},"index":0.5,"reference":"uXdDwzemLeX5jsGVvePxU"},{"_id":"6c051f2295780c289e2ba2f9","parent":"7a239b37b67596ae4b137296","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoDinheiro","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":114,"height":44}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.formaPagamento"}},"comparisonSubject":"dinheiro"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#DCE7DC"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":14,"width":1,"color":{"component":"data2-core-types@Color","params":{"rgba":"#E0DACE"}}}},"cursor":"pointer","text":{"component":"data2-core-primitives@String","params":{"content":"Dinheiro"}},"textColor":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.formaPagamento"}},"comparisonSubject":"dinheiro"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#37543D"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#57515C"}}}},"textSize":14,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.pago","value":true}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.formaPagamento","value":"dinheiro"}}]}},"hide":false},"index":1,"reference":"CJo9sEtmtqUqHshrVOt9E"},{"_id":"a42d7e5f16f3bdbd07186fa8","parent":"7a239b37b67596ae4b137296","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Spacer","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":12,"height":8}}},"index":2,"reference":"FYHg8nPTbZvk7pLva05uU"},{"_id":"ca9b08de287b7526641b26a8","parent":"7a239b37b67596ae4b137296","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoPix","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":114,"height":44}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.formaPagamento"}},"comparisonSubject":"pix"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#DCE7DC"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":14,"width":1,"color":{"component":"data2-core-types@Color","params":{"rgba":"#E0DACE"}}}},"cursor":"pointer","text":{"component":"data2-core-primitives@String","params":{"content":"Pix"}},"textColor":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.formaPagamento"}},"comparisonSubject":"pix"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#37543D"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#57515C"}}}},"textSize":14,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.pago","value":true}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.formaPagamento","value":"pix"}}]}},"hide":false},"index":3,"reference":"ks8Oyg-NxORXTf1tt0lt2"},{"_id":"2b8ca01e200edfadd4769a1d","parent":"64fa7610aaa892778f17f5a7","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ProdutoPickRow","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":52}},"childrenMode":"cols","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"16","rightTop":"16","rightBottom":"16","leftBottom":"16"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}}},"index":0,"reference":"AW_PHnWh53mHfnwh4yncL"},{"_id":"738461bf9dff48dc5dda8016","parent":"b469496addef6f1d7c30f7bd","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Card","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":10}},"childrenMode":"rows","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#E4DFD4"}},"hide":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.filtroPedidos"}},"comparisonSubject":"naopagos"}},"then":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.pago"}},"else":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.filtroPedidos"}},"comparisonSubject":"pagos"}},"then":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.pago"}}}},"else":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.filtroPedidos"}},"comparisonSubject":"aentregar"}},"then":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.entregue"}},"else":false}}}}}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":196}}},"index":0,"reference":"4Y9v_W9d_PPDZmgPNi9BG"},{"_id":"372d1463f674b7efd2d7b6fe","parent":"b4ad3ddd08e6ad84a015f485","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ClientePickRow","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":44}},"childrenMode":"rows","fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":10}},"cursor":"pointer","onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioId","value":{"component":"data2-core-types@Reference","params":{"reference":"clientePickRepeater._id"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioNome","value":{"component":"data2-core-types@Reference","params":{"reference":"clientePickRepeater.nome"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clienteDropdownOpen","value":false}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidosDataSet"}},"prop":"find","args":[{"usuarioId":{"component":"data2-core-types@Reference","params":{"reference":"clientePickRepeater._id"}},"pago":false,"$limit":1}]}},"resultName":"abertos"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Reference","params":{"reference":"abertos.data.0"}},"resultName":"pedidoAberto"}},{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Reference","params":{"reference":"pedidoAberto"}},"then":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosIds","value":{"component":"data2-core-types@Reference","params":{"reference":"pedidoAberto.produtosIds"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosNomes","value":{"component":"data2-core-types@Reference","params":{"reference":"pedidoAberto.produtosNomes"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.total","value":{"component":"data2-core-types@Reference","params":{"reference":"pedidoAberto.total"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.pago","value":{"component":"data2-core-types@Reference","params":{"reference":"pedidoAberto.pago"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.editingId","value":{"component":"data2-core-types@Reference","params":{"reference":"pedidoAberto._id"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho","value":[]}}]}},"else":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosIds","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosNomes","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.total","value":0}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.pago","value":false}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.editingId","value":""}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho","value":[]}}]}}}}]}}},"index":0,"reference":"--be7c89q5gGV3dO7K7so"},{"_id":"76e8d9d1cde5763993aa4253","parent":"a5f7f4fa520610c7321832d8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardNome","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":14,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":310,"height":24}},"text":{"component":"data2-core-types@Reference","params":{"reference":"produtoRepeater.nome_produto"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":17,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}}},"index":0,"reference":"gHxnTlEIzJv13vxCVUqbM"},{"_id":"58e7c304c534ab11ae4d6b53","parent":"a5f7f4fa520610c7321832d8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardPreco","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":41,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":310,"height":20}},"text":{"component":"data2-core-functions@StringConcat","params":{"portions":["","R$ ",{"component":"data2-core-functions@ToFixed","params":{"value":{"component":"data2-core-types@Reference","params":{"reference":"produtoRepeater.preco"}},"decimals":2}}]}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#43604A"}},"textSize":15,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":1,"reference":"uqN5_cakPliXW7SzyfOdu"},{"_id":"d0e7ef84035e3b30d70e17dd","parent":"a5f7f4fa520610c7321832d8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ButtonRow","params":{"position":{"component":"data2-core-types@Position","params":{"x":18,"y":73,"freeTransform":true,"left":true,"top":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":360,"height":34}},"childrenMode":"cols"},"index":2,"reference":"Z7Fnbe0JqW8j9XGefPlM5"},{"_id":"8e43c5699ba87ebe062007f6","parent":"a5f7f4fa520610c7321832d8","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"EspacoInferior","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":40,"height":14}}},"index":3,"reference":"hMEDQhLUGLSDk7zEh3SxX"},{"_id":"1e26e26ac203299f27d05b2e","parent":"130074425d817c296ae217e4","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-pie-chart"}},"size":17,"color":"#9A939F","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"jbrLXAfJhn8nIIYafbSi1"},{"_id":"259e31b7d7b50272150cc56b","parent":"130074425d817c296ae217e4","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Resumo","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"cMuRs8lKpIZCRp8_AY_WZ"},{"_id":"13475f0cc280310dfaaa032a","parent":"847ea786b94a25561b372628","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-shopping-bag"}},"size":17,"color":"#9A939F","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"_Fy-eZP4xZVwsJGsu7apk"},{"_id":"411d82f81fff608eb0731b79","parent":"847ea786b94a25561b372628","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Pedidos","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"k8j3hGt7wwDwouLmwT8ew"},{"_id":"360cb8109b1c2c54f1d181a5","parent":"b65c217cbe347198e371a082","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-user-o"}},"size":17,"color":"#9A939F","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"5lPG1ThlBEPhlXcISZR31"},{"_id":"b833f40afff67f39d80ebb81","parent":"b65c217cbe347198e371a082","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Clientes","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"tHBTGADN8RBrFEUXkJHwy"},{"_id":"44e81119fd96aaeb2fc560fb","parent":"5eb4ccca65c83ec17158a592","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-cube"}},"size":17,"color":"#1F1B24","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"qdEA8WJ1DPnaEnC6Sqy9l"},{"_id":"522c8b59b10eb2bcd87bdb31","parent":"5eb4ccca65c83ec17158a592","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Produtos","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"0LHOStye39LsKLXuM95eu"},{"_id":"b887ffa5a446865d882da762","parent":"138d0ce818937d7b7bedf463","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmCancelar","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":158,"height":48}},"cursor":"pointer","text":"Cancelar","textSize":15,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#D8D2C6"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo","value":""}}]}}},"index":0,"reference":"AqJhxlJCbQ5xBgqXcDsRT"},{"_id":"3022b5b085a171e71b79c969","parent":"138d0ce818937d7b7bedf463","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SpConfirm","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":10,"height":8}}},"index":1,"reference":"dP6IZJBl7NIyW8fRYOC47"},{"_id":"b8d60bfab5aa557ba03e3b4d","parent":"138d0ce818937d7b7bedf463","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmExcluir","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":158,"height":48}},"cursor":"pointer","text":"Excluir","textSize":15,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#A84A3C"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtosDataSet"}},"prop":"deleteRecord","args":[{"_id":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delId"}}}]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo","value":""}}]}}},"index":2,"reference":"GbXwszbJHs5X_mMqONbj6"},{"_id":"fea4c5c7cf8cb1f477c80e2b","parent":"d48b13c18e7f08dfbc357d9a","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardNome","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":14,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":310,"height":24}},"text":{"component":"data2-core-types@Reference","params":{"reference":"usuarioRepeater.nome"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":17,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}}},"index":0,"reference":"RkpDyxQJXrwxTx7h-4GPB"},{"_id":"ef266b7b81a5253e1c55845c","parent":"d48b13c18e7f08dfbc357d9a","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardTelefone","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":41,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":310,"height":18}},"text":{"component":"data2-core-types@Reference","params":{"reference":"usuarioRepeater.telefone"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#7C767F"}},"textSize":12,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}}},"index":1,"reference":"Fd_TflQlQft8q0vdPp4Zw"},{"_id":"ec4a2d44c5a49b40d8a504ee","parent":"d48b13c18e7f08dfbc357d9a","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ButtonRow","params":{"position":{"component":"data2-core-types@Position","params":{"x":18,"y":71,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":360,"height":34}},"childrenMode":"cols"},"index":2,"reference":"bVpC1iTNo0ofCPeM2JSDY"},{"_id":"b4b4f54fb8f05c7b4081d3b6","parent":"6095817d20f26eb0be3ab907","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-pie-chart"}},"size":17,"color":"#9A939F","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"OJqFny3Cl_6JF5XnR8-be"},{"_id":"c51083a687f2d05e87411efc","parent":"6095817d20f26eb0be3ab907","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Resumo","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"F-RlOyaWtCbGvgQ-Cg6Sq"},{"_id":"5f5690fff62cc3559b8eb169","parent":"1a2345cd210458e4afba928b","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-shopping-bag"}},"size":17,"color":"#9A939F","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"GJrGu9Dnb9GNZ9fQnz2-q"},{"_id":"c1782fed2e56ecd7b8a648b3","parent":"1a2345cd210458e4afba928b","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Pedidos","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"xd8HUfIw57IQVxKXpbMOt"},{"_id":"293dddedabad3eff5303b7ce","parent":"5fb4aa9fc2d2600b6c896c28","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-user-o"}},"size":17,"color":"#1F1B24","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"cQvXrOqSPWXQtsKe5QEXN"},{"_id":"e9501e610c4a38dc9c03e9b6","parent":"5fb4aa9fc2d2600b6c896c28","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Clientes","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"ph5sXRz1TGMmCNRanEgls"},{"_id":"8b26c349b82953f0e2a62742","parent":"889ef53e2ba45aaa37b1a815","component":"data2-blocks@IconBlock","system":"686bd24b4fcbdb97284775e3","displayName":"Ico","params":{"icon":{"component":"data2-core-web@Icon","params":{"icon":"fa fa-cube"}},"size":17,"color":"#9A939F","super":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":20}},"ignoreMouseEvents":true}},"index":0,"reference":"1w8o_KkdQ1VniHBurogq7"},{"_id":"80b55a9bfc9bba3cfd58de5b","parent":"889ef53e2ba45aaa37b1a815","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Rotulo","params":{"position":{"component":"data2-core-types@Position","params":{"x":20.75,"y":4}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":66,"height":16}},"text":"Produtos","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#9A939F"}},"ignoreMouseEvents":true,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"vmDwD02Gaomf6Kvi7mUmI"},{"_id":"77e64a5ae513e4351220b57b","parent":"6aaf396b89e2c449b642bad4","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmCancelar","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":158,"height":48}},"cursor":"pointer","text":"Cancelar","textSize":15,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#D8D2C6"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo","value":""}}]}}},"index":0,"reference":"WHY-Sxhsjb8jhkxXhyBb5"},{"_id":"5b32695fa319b177e30458b0","parent":"6aaf396b89e2c449b642bad4","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SpConfirm","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":10,"height":8}}},"index":1,"reference":"5qyhJrxceBY0U99eHBOeY"},{"_id":"48f24d56f309446267e83ea5","parent":"6aaf396b89e2c449b642bad4","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ConfirmExcluir","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":158,"height":48}},"cursor":"pointer","text":"Excluir","textSize":15,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#A84A3C"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"24","rightTop":"24","rightBottom":"24","leftBottom":"24"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuariosDataSet"}},"prop":"deleteRecord","args":[{"_id":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delId"}}}]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo","value":""}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuariosDataSet"}},"prop":"find","args":[{"$limit":500}]}},"resultName":"hits"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clientesOrdenados","value":{"component":"data2-core-functions@Sort","params":{"array":{"component":"data2-core-types@Reference","params":{"reference":"hits.data"}},"order":[{"field":"nome","order":"asc"}]}}}}]}}},"index":2,"reference":"BDgNO3UrLWSXcvyy2GU5-"},{"_id":"1a68017d01bdc8f33083826c","parent":"d28e1e3a8ddb50a5c2591758","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"DinheiroLabel","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":14,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":300,"height":18}},"text":"Dinheiro","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#7C767F"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}}},"index":0,"reference":"fyui0Ttnlq8N32y088QaF"},{"_id":"924c808437dd92e655ad945c","parent":"d28e1e3a8ddb50a5c2591758","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"DinheiroValor","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":34,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":300,"height":32}},"text":{"component":"data2-core-functions@StringConcat","params":{"portions":["","R$ ",{"component":"data2-core-functions@ToFixed","params":{"value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalDinheiro"}},"decimals":2}}]}},"textSize":20,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#43604A"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":1,"reference":"-h1uCHBsgqLdU7v1G8wFv"},{"_id":"5cf3c5238f275f8578d8c4ac","parent":"0e946f40f91c2ada9cf86b06","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"PixLabel","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":14,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":300,"height":18}},"text":"Pix","textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#7C767F"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}}},"index":0,"reference":"y48QYVXfncDtx7F9lW4Oj"},{"_id":"01c0f1fd94a179984cebf63c","parent":"0e946f40f91c2ada9cf86b06","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"PixValor","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":34,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":300,"height":32}},"text":{"component":"data2-core-functions@StringConcat","params":{"portions":["","R$ ",{"component":"data2-core-functions@ToFixed","params":{"value":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumoStore"}},"prop":"data.totalPix"}},"decimals":2}}]}},"textSize":20,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#43604A"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":1,"reference":"XENddXxVmYuTzrWayX1Zr"},{"_id":"962f563d7c88e080e87791ed","parent":"70eee2f27a085c847e376b7e","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ProducaoNome","params":{"position":{"component":"data2-core-types@Position","params":{"x":124,"y":13,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":190,"height":24}},"text":{"component":"data2-core-types@Reference","params":{"reference":"prodRepeater.nome"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":15,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}}},"index":0,"reference":"4VxJWS5Af9hAr0v77hjMc"},{"_id":"7461caa8db9ba1ec543ae069","parent":"70eee2f27a085c847e376b7e","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ProducaoQtd","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":12,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":100,"height":24}},"text":{"component":"data2-core-types@Reference","params":{"reference":"prodRepeater.qtd"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#7A9E7E"}},"textSize":21,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"right","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":1,"reference":"HjjFhTFSheP5W2YCXlTlt"},{"_id":"92d64102f108c8a65afd455c","parent":"d2c1eaabe5006ee247a7fdb2","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Avatar","params":{"position":{"component":"data2-core-types@Position","params":{"x":12,"y":14,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":40,"height":40}},"text":{"component":"data2-core-functions@toUpperCase","params":{"string":{"component":"data2-core-functions@ArrayJoin","params":{"array":{"component":"data2-core-functions@ArraySlice","params":{"array":{"component":"data2-core-types@Reference","params":{"reference":"ultRepeater.usuarioNome"}},"start":0,"end":1}},"separator":""}}}},"textSize":16,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#57515C"}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#EDE8DD"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"20","rightTop":"20","rightBottom":"20","leftBottom":"20"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":0,"reference":"LSviDFa-R5WBZfHBVG061"},{"_id":"be903625add67c8958239525","parent":"d2c1eaabe5006ee247a7fdb2","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"UltimoInfo","params":{"position":{"component":"data2-core-types@Position","params":{"x":76,"y":12,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":170,"height":44}},"childrenMode":"rows"},"index":1,"reference":"sj17P78E7Z7LYkeJg_H_p"},{"_id":"e92242ee6ce563e7b12b85d4","parent":"d2c1eaabe5006ee247a7fdb2","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"UltimoTotal","params":{"position":{"component":"data2-core-types@Position","params":{"x":254,"y":21,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":90,"height":26}},"text":{"component":"data2-core-functions@StringConcat","params":{"portions":["","R$ ",{"component":"data2-core-functions@ToFixed","params":{"value":{"component":"data2-core-types@Reference","params":{"reference":"ultRepeater.total"}},"decimals":2}}]}},"textSize":17,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"right","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":2,"reference":"waScR1qBafuKNseZxh-5o"},{"_id":"112cf9a71d24ed5ec11f54fd","parent":"fab19e2c0819326473436202","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardTotal","params":{"position":{"component":"data2-core-types@Position","params":{"x":20,"y":16,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":200,"height":28}},"text":{"component":"data2-core-functions@StringConcat","params":{"portions":["","R$ ",{"component":"data2-core-functions@ToFixed","params":{"value":{"component":"data2-core-types@Reference","params":{"reference":"pedTodosRepeater.total"}},"decimals":2}}]}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":19,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":1,"reference":"vjawLOaf8WHxdhJrKTsYP"},{"_id":"a9f32272a7bad6a3cc4bc8fb","parent":"fab19e2c0819326473436202","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardProdutos","params":{"position":{"component":"data2-core-types@Position","params":{"x":20,"y":56,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":350,"height":68}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":14,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FAF8F3"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"16","rightTop":"16","rightBottom":"16","leftBottom":"16"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"childrenMode":"rows","repeat":{"component":"data2-core-types@Reference","params":{"reference":"pedTodosRepeater.produtosNomes"}},"repeatReference":"itemCli"},"index":1.5,"reference":"Mns81HZ6mCQ2e4PU1lMVu"},{"_id":"27c6d52c6629fca51eee01c8","parent":"fab19e2c0819326473436202","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardStatus","params":{"position":{"component":"data2-core-types@Position","params":{"x":242,"y":15,"freeTransform":true,"left":false,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":130,"height":28}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Reference","params":{"reference":"pedTodosRepeater.pago"}},"then":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedTodosRepeater.formaPagamento"}},"comparisonSubject":"pix"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#D8E6E8"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#DCE7DC"}}}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#F3D9CC"}}}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"text":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Reference","params":{"reference":"pedTodosRepeater.pago"}},"then":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedTodosRepeater.formaPagamento"}},"comparisonSubject":"pix"}},"then":"Pago · Pix","else":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedTodosRepeater.formaPagamento"}},"comparisonSubject":"dinheiro"}},"then":"Pago · Dinheiro","else":"Pago"}}}},"else":"Não pago"}},"textColor":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Reference","params":{"reference":"pedTodosRepeater.pago"}},"then":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedTodosRepeater.formaPagamento"}},"comparisonSubject":"pix"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#2F5B62"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#37543D"}}}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#8E3C2C"}}}},"textSize":11,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":2.5,"reference":"U97NFhqxwJp2xggVqg7AY"},{"_id":"187cc06304b0bbf27830ef3a","parent":"fab19e2c0819326473436202","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"EspacoBaixo","params":{"position":{"component":"data2-core-types@Position","params":{"x":16,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":40,"height":14}}},"index":3.5,"reference":"9y2RWs_kK9XrMC1N2enu5"},{"_id":"5c57caecaffeba9d519c4f7d","parent":"2b8ca01e200edfadd4769a1d","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ProdutoPickText","params":{"position":{"component":"data2-core-types@Position","params":{"x":14,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":130,"height":52}},"text":{"component":"data2-core-functions@StringConcat","params":{"portions":["",{"component":"data2-core-types@Reference","params":{"reference":"produtoPickRepeater.nome_produto"}},"\nR$ ",{"component":"data2-core-functions@ToFixed","params":{"value":{"component":"data2-core-types@Reference","params":{"reference":"produtoPickRepeater.preco"}},"decimals":2}}]}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":15,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}}},"index":0,"reference":"M1jUeuPVJmkl2rVfwykDh"},{"_id":"7057fa9ad36a80cec1586164","parent":"2b8ca01e200edfadd4769a1d","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoMenos","params":{"position":{"component":"data2-core-types@Position","params":{"x":8,"y":8}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":40,"height":40}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"17","rightTop":"17","rightBottom":"17","leftBottom":"17"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#D8D2C6"}},"cursor":"pointer","text":"−","textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":18,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-functions@ArrayFind","params":{"array":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho"}},"filter":{"component":"data2-core-functions@Function","params":{"parameters":["c"],"body":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"c.id"}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":"produtoPickRepeater._id"}}}}}}}},"resultName":"existing"}},{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Reference","params":{"reference":"existing"}},"then":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-numerical-operators@Subtract","params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":"existing.qty"}},1]}},"resultName":"newQty"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@GreaterThan","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"newQty"}},"comparisonSubject":0}},"then":{"component":"data2-core-functions@ArrayMap","params":{"array":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho"}},"mapper":{"component":"data2-core-functions@Function","params":{"parameters":["c"],"body":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"c.id"}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":"produtoPickRepeater._id"}}}},"then":{"id":{"component":"data2-core-types@Reference","params":{"reference":"c.id"}},"nome":{"component":"data2-core-types@Reference","params":{"reference":"c.nome"}},"preco":{"component":"data2-core-types@Reference","params":{"reference":"c.preco"}},"qty":{"component":"data2-core-types@Reference","params":{"reference":"newQty"}}},"else":{"component":"data2-core-types@Reference","params":{"reference":"c"}}}}}}}},"else":{"component":"data2-core-functions@ArrayFilter","params":{"array":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho"}},"filter":{"component":"data2-core-functions@Function","params":{"parameters":["c"],"body":{"component":"data2-core-comparison-operators@Different","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"c.id"}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":"produtoPickRepeater._id"}}}}}}}}}},"resultName":"novoCarrinho"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho","value":{"component":"data2-core-types@Reference","params":{"reference":"novoCarrinho"}}}}]}}}}]}}},"index":1,"reference":"sZYQLFEiy2RB8ZcBN7f67"},{"_id":"7cd127445b5aedf947859f6f","parent":"2b8ca01e200edfadd4769a1d","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"QtyDisplay","params":{"position":{"component":"data2-core-types@Position","params":{"x":4,"y":8}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":40,"height":40}},"text":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-functions@ArrayFind","params":{"array":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho"}},"filter":{"component":"data2-core-functions@Function","params":{"parameters":["c"],"body":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"c.id"}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":"produtoPickRepeater._id"}}}}}}}},"then":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-functions@ArrayFind","params":{"array":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho"}},"filter":{"component":"data2-core-functions@Function","params":{"parameters":["c"],"body":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"c.id"}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":"produtoPickRepeater._id"}}}}}}}},"prop":"qty"}},"else":0}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":16,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}}},"index":2,"reference":"28nnRj8EOsdszbsSEYGz2"},{"_id":"40110a1d09474e0c15454ad7","parent":"2b8ca01e200edfadd4769a1d","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoMais","params":{"position":{"component":"data2-core-types@Position","params":{"x":4,"y":8}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":40,"height":40}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"17","rightTop":"17","rightBottom":"17","leftBottom":"17"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"cursor":"pointer","text":"+","textColor":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}},"textSize":18,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-functions@ArrayFind","params":{"array":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho"}},"filter":{"component":"data2-core-functions@Function","params":{"parameters":["c"],"body":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"c.id"}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":"produtoPickRepeater._id"}}}}}}}},"resultName":"existing"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Reference","params":{"reference":"existing"}},"then":{"component":"data2-core-functions@ArrayMap","params":{"array":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho"}},"mapper":{"component":"data2-core-functions@Function","params":{"parameters":["c"],"body":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"c.id"}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":"produtoPickRepeater._id"}}}},"then":{"id":{"component":"data2-core-types@Reference","params":{"reference":"c.id"}},"nome":{"component":"data2-core-types@Reference","params":{"reference":"c.nome"}},"preco":{"component":"data2-core-types@Reference","params":{"reference":"c.preco"}},"qty":{"component":"data2-core-numerical-operators@Add","params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":"c.qty"}},1]}}},"else":{"component":"data2-core-types@Reference","params":{"reference":"c"}}}}}}}},"else":{"component":"data2-core-functions@ArrayConcat","params":{"arrays":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho"}},[{"id":{"component":"data2-core-types@Reference","params":{"reference":"produtoPickRepeater._id"}},"nome":{"component":"data2-core-types@Reference","params":{"reference":"produtoPickRepeater.nome_produto"}},"preco":{"component":"data2-core-types@Reference","params":{"reference":"produtoPickRepeater.preco"}},"qty":1}]]}}}},"resultName":"novoCarrinho"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho","value":{"component":"data2-core-types@Reference","params":{"reference":"novoCarrinho"}}}}]}}},"index":3,"reference":"_6sVo3GFQSfV5c2FrsqiB"},{"_id":"05d0af9fcf6f1b35cbcfdad9","parent":"738461bf9dff48dc5dda8016","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardCliente","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":16,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":300,"height":26}},"text":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.usuarioNome"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":17,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"hide":false},"index":1,"reference":"P__rcTOgbuAB8cuinOGzz"},{"_id":"3ed07b0d3da78926cb28cc16","parent":"738461bf9dff48dc5dda8016","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardProdutos","params":{"position":{"component":"data2-core-types@Position","params":{"x":18,"y":55,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":340,"height":68}},"text":{"component":"data2-core-primitives@String","params":{"content":""}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#57515C"}},"textSize":13,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FAF8F3"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"16","rightTop":"16","rightBottom":"16","leftBottom":"16"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"childrenMode":"rows","repeat":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.produtosNomes"}},"repeatReference":"item"},"index":2,"reference":"KxuJYT_x0APQJTAPmlOQ9"},{"_id":"3a9df8cc9d08f1a9d9e917a7","parent":"738461bf9dff48dc5dda8016","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardPago","params":{"position":{"component":"data2-core-types@Position","params":{"x":16,"y":8}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":120,"height":32}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.pago"}},"comparisonSubject":true}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#DCE7DC"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#F3D9CC"}}}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":18}},"cursor":"pointer","text":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.pago"}},"comparisonSubject":true}},"then":"Pago","else":"Não pago"}},"textColor":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.pago"}},"comparisonSubject":true}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#37543D"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#8E3C2C"}}}},"textSize":12,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidosDataSet"}},"prop":"saveRecord","args":[{"_id":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater._id"}},"pago":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.pago"}}}}}]}}]}},"hide":true},"index":2.5,"reference":"pncuIZfcTYk6u3jQ64eYd"},{"_id":"c39d3f097a86bfbb6755aac4","parent":"738461bf9dff48dc5dda8016","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"CardTotal","params":{"position":{"component":"data2-core-types@Position","params":{"x":110,"y":16,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":150,"height":26}},"text":{"component":"data2-core-functions@StringConcat","params":{"portions":["","R$ ",{"component":"data2-core-functions@ToFixed","params":{"value":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.total"}},"decimals":2}}]}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":19,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"right","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Lora","weight":500}}}},"hide":false},"index":3,"reference":"ZlHzfQ0uu_UKm6Eb4aEsp"},{"_id":"04cdb60541c1a5ff2f6c9fe2","parent":"738461bf9dff48dc5dda8016","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ButtonRow","params":{"position":{"component":"data2-core-types@Position","params":{"x":18,"y":135,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":340,"height":34}},"childrenMode":"cols"},"index":5,"reference":"OpZWQ17Sl7NGdJGo-HEEH"},{"_id":"08f302a9e39d1e2f4dd520cf","parent":"372d1463f674b7efd2d7b6fe","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ClientePickText","params":{"position":{"component":"data2-core-types@Position","params":{"x":18,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":280,"height":44}},"text":{"component":"data2-core-functions@StringConcat","params":{"portions":["",{"component":"data2-core-types@Reference","params":{"reference":"clientePickRepeater.nome"}}," — ",{"component":"data2-core-types@Reference","params":{"reference":"clientePickRepeater.telefone"}}]}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":15,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}}},"index":0,"reference":"Wj2sCJ3yWowjB8lUm2-C-"},{"_id":"706ffc4d868f3f1beda0e446","parent":"d0e7ef84035e3b30d70e17dd","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoEditar","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":118,"height":32}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#D8D2C6"}},"cursor":"pointer","text":{"component":"data2-core-primitives@String","params":{"content":"Editar"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":13,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.nome_produto","value":{"component":"data2-core-types@Reference","params":{"reference":"produtoRepeater.nome_produto"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.preco","value":{"component":"data2-core-types@Reference","params":{"reference":"produtoRepeater.preco"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtoDraft"}},"prop":"data.editingId","value":{"component":"data2-core-types@Reference","params":{"reference":"produtoRepeater._id"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetProduto","value":true}}]}}},"index":0,"reference":"pXvWQtbp62dylb3SjIcFK"},{"_id":"543680f9748cc4c75fbef731","parent":"d0e7ef84035e3b30d70e17dd","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Spacer","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":16,"height":34}}},"index":1,"reference":"6fIfvENHwqr7oDnQ2SO5i"},{"_id":"d2661b3d28c28bc2f8dc7641","parent":"d0e7ef84035e3b30d70e17dd","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoExcluir","params":{"position":{"component":"data2-core-types@Position","params":{"x":10,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":118,"height":32}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#EBD5CE"}},"cursor":"pointer","text":{"component":"data2-core-primitives@String","params":{"content":"Excluir"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#A84A3C"}},"textSize":13,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo","value":"produto"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delId","value":{"component":"data2-core-types@Reference","params":{"reference":"produtoRepeater._id"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delProdutoNome","value":{"component":"data2-core-types@Reference","params":{"reference":"produtoRepeater.nome_produto"}}}}]}}},"index":2,"reference":"sjXdFAb9fvYJetcIbRppa"},{"_id":"3dd2488373b47697a6eccdd8","parent":"ec4a2d44c5a49b40d8a504ee","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoEditar","params":{"position":{"component":"data2-core-types@Position","params":{"x":8,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":92,"height":32}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#D8D2C6"}},"cursor":"pointer","text":{"component":"data2-core-primitives@String","params":{"content":"Editar"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textSize":13,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.nome","value":{"component":"data2-core-types@Reference","params":{"reference":"usuarioRepeater.nome"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.telefone","value":{"component":"data2-core-types@Reference","params":{"reference":"usuarioRepeater.telefone"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"usuarioDraft"}},"prop":"data.editingId","value":{"component":"data2-core-types@Reference","params":{"reference":"usuarioRepeater._id"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetCliente","value":true}}]}}},"index":0,"reference":"Zn7C8QWKS55593eBS7zaW"},{"_id":"ddbf8735e458d8d268dba598","parent":"ec4a2d44c5a49b40d8a504ee","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Spacer","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":8,"height":34}}},"index":1,"reference":"9ga07OIPyFJAdwKTw90Je"},{"_id":"f64cb1d42aab3488ea9de166","parent":"ec4a2d44c5a49b40d8a504ee","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoExcluir","params":{"position":{"component":"data2-core-types@Position","params":{"x":8,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":92,"height":32}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#EBD5CE"}},"cursor":"pointer","text":{"component":"data2-core-primitives@String","params":{"content":"Excluir"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#A84A3C"}},"textSize":13,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo","value":"cliente"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delId","value":{"component":"data2-core-types@Reference","params":{"reference":"usuarioRepeater._id"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delClienteNome","value":{"component":"data2-core-types@Reference","params":{"reference":"usuarioRepeater.nome"}}}}]}}},"index":2,"reference":"yHaV7BiymFQfrlITxbkcy"},{"_id":"d81483f5ec3bf9ecf24e5039","parent":"ec4a2d44c5a49b40d8a504ee","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Spacer2","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":8,"height":34}}},"index":3,"reference":"BvPs7JoEgpJ4OwA6pzujB"},{"_id":"1e20b2a7702046a911a24e36","parent":"ec4a2d44c5a49b40d8a504ee","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoPedidos","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":92,"height":32}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"cursor":"pointer","text":{"component":"data2-core-primitives@String","params":{"content":"Pedidos"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#F4F1EA"}},"textSize":13,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clienteAtualId","value":{"component":"data2-core-types@Reference","params":{"reference":"usuarioRepeater._id"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.clienteAtualNome","value":{"component":"data2-core-types@Reference","params":{"reference":"usuarioRepeater.nome"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.pedidosCliente","value":[]}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidosDataSet"}},"prop":"find","args":[{"usuarioId":{"component":"data2-core-types@Reference","params":{"reference":"usuarioRepeater._id"}},"$limit":500}]}},"resultName":"hitsPed"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.pedidosCliente","value":{"component":"data2-core-types@Reference","params":{"reference":"hitsPed.data"}}}},{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"MainRouterInterface"}},"prop":"goTo","args":[{"component":"data2-core-functions@StringConcat","params":{"portions":["","/cliente/",{"component":"data2-core-types@Reference","params":{"reference":"usuarioRepeater._id"}},"/pedidos"]}}]}}]}}},"index":4,"reference":"ZlI1dGVvAGsAh1yhSrqmr"},{"_id":"a9bc205d3bbf4366945553c3","parent":"be903625add67c8958239525","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"UltimoNome","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":22}},"text":{"component":"data2-core-types@Reference","params":{"reference":"ultRepeater.usuarioNome"}},"textSize":15,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}}},"index":0,"reference":"dhbqbsllXdaNNQD2PbKF_"},{"_id":"1b2b31b6375594b4b9da2bc1","parent":"be903625add67c8958239525","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"UltimoStatus","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":16}},"text":{"component":"data2-core-functions@ArrayJoin","params":{"array":{"component":"data2-core-functions@ArrayMap","params":{"array":{"component":"data2-core-types@Reference","params":{"reference":"ultRepeater.produtosNomes"}},"mapper":{"component":"data2-core-functions@Function","params":{"parameters":["n"],"body":{"component":"data2-core-functions@Replace","params":{"haystack":{"component":"data2-core-types@Reference","params":{"reference":"n"}},"needle":" x","patch":" ×"}}}}}},"separator":", "}},"textSize":11,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#7C767F"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}}},"index":1,"reference":"d_vKNxhCY0KPUBom0IvM_"},{"_id":"48a5beaefc1bdc4fafd47130","parent":"a9f32272a7bad6a3cc4bc8fb","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ItemLinhaCli","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":30}},"childrenMode":"cols"},"index":0,"reference":"ntOIBsw07IpCVdwaWnJh5"},{"_id":"db5c6d1c1e6792e4ff252bd4","parent":"3ed07b0d3da78926cb28cc16","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ItemLinha","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"height":22}},"childrenMode":"cols"},"index":0,"reference":"sDI1L3cDFXMFyQlkGViym"},{"_id":"1a57d22c1467286e801c0f49","parent":"04cdb60541c1a5ff2f6c9fe2","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ChipPago","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":86,"height":32}},"cursor":"pointer","text":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.pago"}},"then":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.formaPagamento"}},"comparisonSubject":"pix"}},"then":"Pago · Pix","else":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.formaPagamento"}},"comparisonSubject":"dinheiro"}},"then":"Pago · Dinheiro","else":"Pago"}}}},"else":"Não pago"}},"textSize":11,"textColor":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.pago"}},"then":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.formaPagamento"}},"comparisonSubject":"pix"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#2F5B62"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#37543D"}}}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#8E3C2C"}}}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.pago"}},"then":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.formaPagamento"}},"comparisonSubject":"pix"}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#D8E6E8"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#DCE7DC"}}}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#F3D9CC"}}}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"0","top":"0","right":"0","bottom":"0"}}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.pago"}}}},"then":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidosDataSet"}},"prop":"saveRecord","args":[{"_id":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater._id"}},"pago":true,"formaPagamento":"dinheiro"}]}},"else":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.formaPagamento"}},"comparisonSubject":"dinheiro"}},"then":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidosDataSet"}},"prop":"saveRecord","args":[{"_id":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater._id"}},"pago":true,"formaPagamento":"pix"}]}},"else":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidosDataSet"}},"prop":"saveRecord","args":[{"_id":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater._id"}},"pago":false,"formaPagamento":""}]}}}}}}]}}},"index":0,"reference":"yD5xvMopPPREY_8BpEy0J"},{"_id":"c2bfe10b8eaaf8b1ce5d4e85","parent":"04cdb60541c1a5ff2f6c9fe2","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoEntregue","params":{"position":{"component":"data2-core-types@Position","params":{"x":6,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":82,"height":32}},"cursor":"pointer","text":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.entregue"}},"comparisonSubject":true}},"then":"Entregue","else":"Entregar"}},"textSize":11,"textColor":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.entregue"}},"comparisonSubject":true}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#37543D"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}}}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-flow@If","params":{"compare":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.entregue"}},"comparisonSubject":true}},"then":{"component":"data2-core-types@Color","params":{"rgba":"#DCE7DC"}},"else":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"18","rightTop":"18","rightBottom":"18","leftBottom":"18"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#D8D2C6"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.entregue"}},"resultName":"v"}},{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidosDataSet"}},"prop":"saveRecord","args":[{"_id":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater._id"}},"entregue":{"component":"data2-core-logical-operators@Not","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"v"}}}}}]}}]}}},"index":0,"reference":"UE-zxc0PZbLuAE21hnihj"},{"_id":"52e3cd80ac9f70de92e1a5a5","parent":"04cdb60541c1a5ff2f6c9fe2","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SpacerChip","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":4,"height":8}}},"index":1,"reference":"EAL1sSEcWMbg6uLJDSFIR"},{"_id":"8857c0edf4c0553505a73c5e","parent":"04cdb60541c1a5ff2f6c9fe2","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"SpacerEntregue","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":4,"height":8}}},"index":1,"reference":"ZLfHco1Uy5tPitRO6r4j0"},{"_id":"f7e7d3ff0a9cadac7a7165c4","parent":"04cdb60541c1a5ff2f6c9fe2","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoEditar","params":{"position":{"component":"data2-core-types@Position","params":{"x":6,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":40,"height":32}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"15","rightTop":"15","rightBottom":"15","leftBottom":"15"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#D8D2C6"}},"cursor":"pointer","text":{"component":"data2-core-primitives@String","params":{"content":"Editar"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#57515C"}},"textSize":11,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioId","value":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.usuarioId"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.usuarioNome","value":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.usuarioNome"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.pago","value":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.pago"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.formaPagamento","value":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.formaPagamento"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.editingId","value":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater._id"}}}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.produtosIds"}},"resultName":"ids"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.produtosNomes"}},"resultName":"nomes"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"produtosDataSet"}},"prop":"find","args":[{}]}},"resultName":"produtosHits"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-types@Reference","params":{"reference":"produtosHits.data"}},"resultName":"produtos"}},{"component":"data2-core-flow@Step","params":{"action":{"component":"data2-core-functions@ArrayMap","params":{"array":{"component":"data2-core-types@Reference","params":{"reference":"ids"}},"mapper":{"component":"data2-core-functions@Function","params":{"parameters":["id","i"],"body":{"id":{"component":"data2-core-types@Reference","params":{"reference":"id"}},"nome":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-functions@ArrayFind","params":{"array":{"component":"data2-core-types@Reference","params":{"reference":"produtos"}},"filter":{"component":"data2-core-functions@Function","params":{"parameters":["p"],"body":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"p._id"}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":"id"}}}}}}}},"prop":"nome_produto"}},"preco":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-functions@ArrayFind","params":{"array":{"component":"data2-core-types@Reference","params":{"reference":"produtos"}},"filter":{"component":"data2-core-functions@Function","params":{"parameters":["p"],"body":{"component":"data2-core-comparison-operators@Equal","params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":"p._id"}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":"id"}}}}}}}},"prop":"preco"}},"qty":{"component":"data2-core-numerical-operators@Multiply","params":{"components":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-functions@Split","params":{"haystack":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"nomes"}},"prop":{"component":"data2-core-types@Reference","params":{"reference":"i"}}}},"needle":" x"}},"prop":{"component":"data2-core-numerical-operators@Subtract","params":{"components":[{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-functions@Split","params":{"haystack":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@Reference","params":{"reference":"nomes"}},"prop":{"component":"data2-core-types@Reference","params":{"reference":"i"}}}},"needle":" x"}},"prop":"length"}},1]}}}},1]}}}}}}},"resultName":"carrinhoInicial"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosIds","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.produtosNomes","value":[]}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.total","value":0}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"pedidoDraft"}},"prop":"data.carrinho","value":{"component":"data2-core-types@Reference","params":{"reference":"carrinhoInicial"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.sheetPedido","value":true}}]}}},"index":1,"reference":"qWA_Q9AfU6F4wYSngMZmn"},{"_id":"9902704cc932564259e51bed","parent":"04cdb60541c1a5ff2f6c9fe2","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"Spacer","params":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":4,"height":8}}},"index":2,"reference":"u4XjBhrmSTJkMM0n-yh-O"},{"_id":"55b79ea087b1940022985fb9","parent":"04cdb60541c1a5ff2f6c9fe2","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"BotaoExcluir","params":{"position":{"component":"data2-core-types@Position","params":{"x":6,"y":0,"freeTransform":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":42,"height":32}},"fill":{"component":"data2-core-types@Fill","params":{"backgrounds":[{"component":"data2-core-types@Background","params":{"color":{"component":"data2-core-types@Color","params":{"rgba":"#FFFFFF"}}}}]}},"border":{"component":"data2-core-types@Border","params":{"radius":{"leftTop":"15","rightTop":"15","rightBottom":"15","leftBottom":"15"},"width":{"left":"1","top":"1","right":"1","bottom":"1"},"color":"#EBD5CE"}},"cursor":"pointer","text":{"component":"data2-core-primitives@String","params":{"content":"Excluir"}},"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#A0554A"}},"textSize":11,"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"center","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":500}}}},"onClick":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delTipo","value":"pedido"}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delId","value":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater._id"}}}},{"component":"data2-core-types@Setter","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"uiStore"}},"prop":"data.delClienteNome","value":{"component":"data2-core-functions@StringConcat","params":{"portions":["",{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.usuarioNome"}}," · R$ ",{"component":"data2-core-functions@ToFixed","params":{"value":{"component":"data2-core-types@Reference","params":{"reference":"pedidoRepeater.total"}},"decimals":2}}]}}}}]}}},"index":3,"reference":"ya-hSRkW0fZHmQp1K1Jja"},{"_id":"8dfe632d32a3c8221b956ef7","parent":"48a5beaefc1bdc4fafd47130","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ItemNome","params":{"position":{"component":"data2-core-types@Position","params":{"x":16,"y":0,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":200,"height":30}},"text":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-functions@Split","params":{"haystack":{"component":"data2-core-types@Reference","params":{"reference":"itemCliRepeater"}},"needle":" x"}},"prop":0}},"textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#57515C"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}}},"index":0,"reference":"wHf0fzgKwUpx71kp2StYN"},{"_id":"b5a8fa9ff2146a114352571c","parent":"48a5beaefc1bdc4fafd47130","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ItemQtd","params":{"position":{"component":"data2-core-types@Position","params":{"x":274,"y":0,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":60,"height":30}},"text":{"component":"data2-core-functions@StringConcat","params":{"portions":["","×",{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-functions@Split","params":{"haystack":{"component":"data2-core-types@Reference","params":{"reference":"itemCliRepeater"}},"needle":" x"}},"prop":1}}]}},"textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"right","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"iFfqe99cM_HcZZEP1HheW"},{"_id":"fc68b301125c2ef4380f66f0","parent":"db5c6d1c1e6792e4ff252bd4","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ItemNome","params":{"position":{"component":"data2-core-types@Position","params":{"x":24,"y":0,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":170,"height":22}},"text":{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-functions@Split","params":{"haystack":{"component":"data2-core-types@Reference","params":{"reference":"itemRepeater"}},"needle":" x"}},"prop":0}},"textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#57515C"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"left","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":400}}}}},"index":0,"reference":"MQjhkFNJzyJEgpOVZvLN8"},{"_id":"0a778a2efe18667b6936e81a","parent":"db5c6d1c1e6792e4ff252bd4","component":"data2-core-primitives@Block","system":"686bd24b4fcbdb97284775e3","displayName":"ItemQtd","params":{"position":{"component":"data2-core-types@Position","params":{"x":194,"y":0,"freeTransform":true,"left":true,"right":false,"top":true,"bottom":false}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":70,"height":30}},"text":{"component":"data2-core-functions@StringConcat","params":{"portions":["","×",{"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-functions@Split","params":{"haystack":{"component":"data2-core-types@Reference","params":{"reference":"itemRepeater"}},"needle":" x"}},"prop":1}}]}},"textSize":13,"textColor":{"component":"data2-core-types@Color","params":{"rgba":"#1F1B24"}},"textFormat":{"component":"data2-core-types@TextFormat","params":{"horizontalAlignment":"right","verticalAlignment":"middle","fontFamily":{"component":"data2-core-web@GoogleFont","params":{"family":"Outfit","weight":600}}}}},"index":1,"reference":"wsELTbuy7a9abcGUIZsjC"}]}},{"_id":"5fc4faeec8da12be8bf3d08a","component":"data2-core@Data2TableDataSource","system":"5e3b796d6228227ca637d0f4","params":{"paginate":{"default":1000},"super":{},"table":"fileComponentInstances","schema":[{"component":"data2-core-types@Field","params":{"key":"component","title":"Component","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"system","title":"System","component":"data2-core-primitives@ObjectId"}},{"component":"data2-core-types@Field","params":{"key":"displayName","title":"Display Name","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"params","title":"Params","component":"data2-core-primitives@Object"}},{"component":"data2-core-types@Field","params":{"key":"reference","title":"Reference","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"fileId"}},"title":"File ID","component":"data2-core-primitives@ObjectId"},"break":true}],"hooks":{"before":{"all":[{"hook":"softDelete"}],"find":[{"hook":"useCache","options":{"additionalGroupKeys":["$and.0.system","$and.1.system"],"skipCache":true}}],"create":[{"hook":"timestamp","options":{"fields":["createdAt","updatedAt"]}}],"update":[{"hook":"timestamp","options":{"fields":["updatedAt"]}}],"patch":[{"hook":"timestamp","options":{"fields":["updatedAt"]}}]},"after":{"all":[{"hook":"fileUrl","options":{"downloadField":"params.fileUrl","uploadField":"params.uploadFileUrl","enhanceSchema":false}}],"find":[{"hook":"useCache","options":{"additionalGroupKeys":["$and.0.system","$and.1.system"],"skipCache":true}}],"create":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}],"update":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}],"patch":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}],"remove":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}]}},"multi":["create"],"useEstimatedDocumentCount":true},"reference":"FileComponentInstancesTableDataSource","updatedAt":"2022-12-19T20:42:51.837Z","createdAt":"2020-11-30T13:59:52.294Z"},{"reference":"ApplicationsTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6a8388295a7c75b8a2c3af85","displayName":"app-moti","reference":"_JTOmOFXGQU2jDcsWL3LX","params":{"domain":{"component":"data2-core-primitives@String","params":{"content":"app-moti"}},"entryPoint":{"component":"data2-core-types@ComponentInstanceReference","params":{"component":"data2-core-primitives@Router","reference":"MainRouter"}}},"system":"686bd24b4fcbdb97284775e3","component":"data2-core-primitives@Application"}]}},{"reference":"DataComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6a8381a745ad40122b07bb62","component":"data2-core@Data2TableDataSource","system":"686bd24b4fcbdb97284775e3","params":{"table":"pedidos","schema":[{"component":"data2-core-types@Field","params":{"key":"usuarioId","title":"Usuário","component":"data2-core-primitives@ObjectId","required":true}},{"component":"data2-core-types@Field","params":{"key":"usuarioNome","title":"Nome do Usuário","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"produtosIds","title":"Produtos (IDs)","component":"data2-core-primitives@Array"}},{"component":"data2-core-types@Field","params":{"key":"produtosNomes","title":"Produtos (Nomes)","component":"data2-core-primitives@Array"}},{"component":"data2-core-types@Field","params":{"key":"total","title":"Total","component":"data2-core-primitives@Number"}},{"component":"data2-core-types@Field","params":{"key":"pago","title":"Pago","component":"data2-core-primitives@Boolean"}},{"component":"data2-core-types@Field","params":{"key":"formaPagamento","title":"Forma de Pagamento","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"entregue","title":"Entregue","component":"data2-core-primitives@Boolean"}},{"component":"data2-core-types@Field","params":{"key":"revenda","title":"Pedido de revenda","component":"data2-core-primitives@Boolean"}}]},"reference":"pedidos"},{"_id":"6a8381a3809f62e448266023","component":"data2-core@Data2TableDataSource","system":"686bd24b4fcbdb97284775e3","params":{"table":"produtos","schema":[{"component":"data2-core-types@Field","params":{"key":"nome_produto","title":"Nome do Produto","component":"data2-core-primitives@String","required":true}},{"component":"data2-core-types@Field","params":{"key":"preco","title":"Preço","component":"data2-core-primitives@Number","required":true}},{"component":"data2-core-types@Field","params":{"key":"qtyTemp","title":"Quantidade Temporária","component":"data2-core-primitives@Number"}},{"component":"data2-core-types@Field","params":{"key":"preco_revenda","title":"Preço de revenda","component":"data2-core-primitives@Number"}}]},"reference":"produtos"},{"_id":"6a84b5027745590845847ef6","component":"data2-core@Store","system":"686bd24b4fcbdb97284775e3","params":{"initialData":{"porProduto":[],"totalAReceber":0,"totalDinheiro":0,"totalPix":0}},"reference":"resumoStore"},{"_id":"6a839754532c02953f2ac030","component":"data2-core@Store","system":"686bd24b4fcbdb97284775e3","params":{"initialData":{"clienteDropdownOpen":false,"sheetCliente":false,"sheetProduto":false,"sheetPedido":false,"filtroPedidos":"todos","tick":0,"delClienteNome":"","delId":"","delProdutoNome":"","delTipo":"","anoFiltro":"","clienteAtualId":"","clienteAtualNome":""}},"reference":"uiStore"},{"_id":"6a8381a397b136cd980b27e5","component":"data2-core@DataSet","system":"686bd24b4fcbdb97284775e3","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"produtos"}}},"reference":"produtosDataSet"},{"_id":"6a8381c8532c02953f2aa32e","component":"data2-core@Store","system":"686bd24b4fcbdb97284775e3","params":{"initialData":{"nome_produto":"","preco":0}},"reference":"produtoDraft"},{"_id":"6a83819f62e28978c052d34f","component":"data2-core@DataSet","system":"686bd24b4fcbdb97284775e3","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"usuarios"}}},"reference":"usuariosDataSet"},{"_id":"6a8381c445ad40122b07bb6f","component":"data2-core@Store","system":"686bd24b4fcbdb97284775e3","params":{"initialData":{"nome":"","telefone":""}},"reference":"usuarioDraft"},{"_id":"6a8381a7cfcb17d5d83fbaaf","component":"data2-core@DataSet","system":"686bd24b4fcbdb97284775e3","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"pedidos"}}},"reference":"pedidosDataSet"},{"_id":"6a8381cb85e7b7b702655e7b","component":"data2-core@Store","system":"686bd24b4fcbdb97284775e3","params":{"initialData":{"pago":false,"produtosIds":[],"produtosNomes":[],"total":0,"usuarioId":"","usuarioNome":"","carrinho":[],"formaPagamento":""}},"reference":"pedidoDraft"},{"_id":"6a8f4585ffc0b91bc2298729","component":"data2-core@DataSet","system":"686bd24b4fcbdb97284775e3","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"resumoProducao"}},"autoFetch":true},"reference":"resumoProducaoAutoDataSet"},{"_id":"6a8f457ee75f434f5beef8d4","component":"data2-core@DataSet","system":"686bd24b4fcbdb97284775e3","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"resumoTotais"}},"autoFetch":true},"reference":"resumoTotaisAutoDataSet"},{"_id":"6a83819f5ff0d2208d9eebc3","component":"data2-core@Data2TableDataSource","system":"686bd24b4fcbdb97284775e3","params":{"table":"usuarios","schema":[{"component":"data2-core-types@Field","params":{"key":"nome","title":"Nome","component":"data2-core-primitives@String","required":true}},{"component":"data2-core-types@Field","params":{"key":"telefone","title":"Telefone","component":"data2-core-primitives@String","required":true}},{"component":"data2-core-types@Field","params":{"key":"revendedor","title":"Revendedor","component":"data2-core-primitives@Boolean"}}]},"reference":"usuarios"},{"_id":"6a8f44a552abf2e812e18b9b","component":"http@CustomHTTPDataSource","system":"686bd24b4fcbdb97284775e3","params":{"super":{},"find":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumo-moti-client"}},"prop":"sendRequest","args":[{"request":{"disabled":false,"component":"data2-core-types@InstanceReference","params":{"component":"data2-core-connect@HttpRequest","reference":"resumo-moti-request"}}}]}}]}},"countKey":{"component":"data2-core-primitives@String","params":{"content":"count"}},"recordsKey":{"component":"data2-core-primitives@String","params":{"content":"data.porProduto"}},"policies":[{"component":"data2-core-auth@PublicPolicy","params":{}}]},"reference":"resumoProducao"},{"_id":"6a8f449f60b7974793e8546e","component":"http@CustomHTTPDataSource","system":"686bd24b4fcbdb97284775e3","params":{"super":{},"find":{"component":"data2-core-flow@Series","params":{"actions":[{"component":"data2-core-types@Interaction","params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"resumo-moti-client"}},"prop":"sendRequest","args":[{"request":{"disabled":false,"component":"data2-core-types@InstanceReference","params":{"component":"data2-core-connect@HttpRequest","reference":"resumo-moti-request"}}}]}}]}},"countKey":{"component":"data2-core-primitives@String","params":{"content":"count"}},"recordsKey":{"component":"data2-core-primitives@String","params":{"content":"data.totais"}},"policies":[{"component":"data2-core-auth@PublicPolicy","params":{}}]},"reference":"resumoTotais"}]}},{"reference":"BundlesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}}],"processesParams":{}}}}