{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/wNoXuSUMcWxjKgYvEGdv/BFowK2FoXUjdaLnmgcRm/NFa8t37h2.js"],
  "sourcesContent": ["import{jsx as e,jsxs as t}from\"react/jsx-runtime\";import{addPropertyControls as n,ComponentPresetsConsumer as o,ControlType as a,Link as r}from\"framer\";import{motion as i}from\"framer-motion\";import*as s from\"react\";import l from\"https://framerusercontent.com/modules/pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js\";let d=\"Qe0iqZdsz\",c=\"BN1A9D_ky\",h=\"YkkVnxa1s\",u=\"lOUV25Guc\",p=\"MtPiQPuTm\",m=\"cZrRUvAXl\",f=\"i_EumnCC6\",y=\"Pd1Zt7HHy\",b=\"yznLmx1u_\",g=\"GPpDBvDd9\",w=\"DNvl6kole\",v=[{index:0,id:\"JbREmXkzR\",[d]:\"PDF Document Generation with DocsAutomator\",[c]:\"airtable-document-generation-with-docsautomator\",[h]:\"Dan Leeman\",[u]:\"zRQ4sizjU\",[p]:\"https://i.ytimg.com/vi/tVJBVcb69yY/mqdefault.jpg\",[m]:\"https://www.youtube.com/watch?v=tVJBVcb69yY\",[f]:\"https://docs.google.com/document/d/1Yi3UoK0Ytfaz_go2a8ZvsY9xjsNKJ2lMQUxTuaHQtoI/edit?usp=sharing\",[y]:\"Ever need an automated way to generate PDF documents from your Airtable, Glide, or Clickup data? With DocsAutomator, it's easy!\",[w]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Want a sample invoice template to help get up and running with your own document generation for Airtable?\"}),/*#__PURE__*/t(\"p\",{children:[\"Check it out: \",/*#__PURE__*/e(r,{openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"https://docs.google.com/document/d/1Yi3UoK0Ytfaz_go2a8ZvsY9xjsNKJ2lMQUxTuaHQtoI/edit?usp=sharing\"})})]})]})},{index:1,id:\"dcZHtupsE\",[d]:\"Airtable Automation to Delete Records\",[c]:\"airtable-automation-to-delete-records\",[h]:\"Dan Leeman\",[u]:\"zRQ4sizjU\",[p]:\"https://i.ytimg.com/vi/hNsPTMe_pso/mqdefault.jpg\",[m]:\"https://www.youtube.com/watch?v=hNsPTMe_pso\",[y]:\"Automatically delete associated tasks after a project has been cancelled with this easy-to-use Airtable Script.\",[w]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"Want to delete records in bulk inside of Airtable?\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"In the video we create a quick automation to find records (by whatever criteria makes sense to you) and then we feed those records to a Script action which handles the actual deletion of the records.\"]}),/*#__PURE__*/t(\"p\",{children:[\"When you add the scripting action, you'll need to pass a list of your recordIds (from the Find Records step) to your script via the Input Variables.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"img\",{alt:\"Input Variables for Airtable Script\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,PqKZu9kO6JuJFeD3SF8IlTWByg.png\",\"data-framer-height\":\"376\",\"data-framer-width\":\"392\",height:\"188\",src:\"https://framerusercontent.com/images/PqKZu9kO6JuJFeD3SF8IlTWByg.png\",style:{aspectRatio:\"392 / 376\"},width:\"196\"}),/*#__PURE__*/e(\"p\",{children:\"Now you can copy and paste the code into the script editor.\"}),/*#__PURE__*/e(i.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(o,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(l,{...t,code:\"const table = base.getTable('NAME OF YOUR TABLE');\\nconst recordsToDelete = input.config().recordIds;\\ntable.deleteRecordsAsync(recordsToDelete);\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Make sure to leave the quotes, but insert the name of the table you are using.\"})]})},{index:2,id:\"mXhsCO3K_\",[d]:\"SmartSuite Project Management Template\",[c]:\"smartsuite-project-management-template\",[h]:\"Dan Leeman\",[u]:\"PXKO4A6Ou\",[p]:\"https://i.ytimg.com/vi/mA0t2TsBdDo/mqdefault.jpg\",[m]:\"https://www.youtube.com/watch?v=mA0t2TsBdDo\",[f]:\"https://app.smartsuite.com/shared/sh4nyk64/shared-solution/NGBz0S3gYt/6595f1f828dae073544cdf0a/6595f1f828dae073544cdf50\",[y]:\"Download our free SmartSuite template for project management, helping you better track project financials of resources, tasks, and projects.\",[w]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"During my time in professional services, I've helped implement many different project management systems, both internally and externally, across many different software applications.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"One common denominator is being able to track the financials of your projects. If internal, how are you measuring the ROI and project success metrics? If external, how are you measuring project profitability?\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"I did a couple of \",/*#__PURE__*/e(r,{href:\"https://www.youtube.com/watch?v=aB-x6MmtcmM\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"webinars with the SmartSuite team in 2023\"})}),\", showing how one could automate their service delivery processes.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"While I thought the Q&A would focus more on the integrations I built, many in the audience wanted to know how they could construct their SmartSuite solution to better track project profitability.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"If that's of interest to you, check out our free project management solution template.\"]}),/*#__PURE__*/t(\"p\",{children:[\"Now as is the case for any template, you're going to find that you have your own unique needs that may differ from the template. For example, this is primarily geared at projects that bill time & material, estimate at the task level, and have resources that bill at various rates.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"You, on the other hand, may quote high level estimates, bill by milestone completion, and have a similar costing structure across your whole team. Great! That's the beauty of SmartSuite and how quickly you can use some of our base formulas and tweak them for your needs.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"On the other hand, if you would prefer our team of expert SmartSuite consultants help you out, come book a free consultation with us!\"]})]})},{index:3,id:\"Rw0FV4kB5\",[d]:\"Build Filtered Forms with Softr and Fillout\",[c]:\"build-filtered-forms-with-softr-and-fillout\",[h]:\"Dan Leeman\",[u]:\"XWfNQSJyx\",[p]:\"https://i.ytimg.com/vi/8iNqptGxO4U/mqdefault.jpg\",[m]:\"https://www.youtube.com/watch?v=8iNqptGxO4U\",[f]:\"https://airtable.com/appENH0yJIeXsSkf4/shrMlQoVoJYBWLbbU\",[y]:\"Learn to filter Softr form dropdowns based on logged-in user context, displaying relevant Contacts or Accounts, for a dynamic user experience.\",[w]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Have you ever wanted to filter a dropdown on a form inside of Softr based on the context of the currently logged in user?\"}),/*#__PURE__*/e(\"p\",{children:\"Maybe you only want to show a list of Contacts that work at the user's organization, or you only want to show a list of Accounts the user is assigned to.\"}),/*#__PURE__*/e(\"p\",{children:\"We can use the power of Softr and Fillout to create a better, more dynamic form experience.\"}),/*#__PURE__*/e(\"p\",{children:\"Below you'll find the video tutorial, a little bit of JavaScript that we use to send data from Softr to Fillout, and the Airtable base with a few modifications we made.\"}),/*#__PURE__*/e(\"h2\",{children:\"JavaScript for Custom Code Block in Softr\"}),/*#__PURE__*/e(\"p\",{children:\"This code can be copied and pasted into the Custom Code block in Softr on your /new-project page.\"}),/*#__PURE__*/e(i.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(o,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(l,{...t,code:'<script>\\n  const formId = \"nESbGnpCr5us\";\\n  let filloutUrl = \"https://forms.fillout.com/t/\" + formId + \"?\";\\n  const queryString = window.location.search;\\n  const urlParams = new URLSearchParams(queryString);\\n  const recordId = urlParams.get(\"recordId\");\\n\\n  if (\\n    window[\"logged_in_user\"] &&\\n    window[\"logged_in_user\"][\"softr_user_email\"]\\n  ) {\\n    filloutUrl =\\n      filloutUrl + \"userId=\" + window[\"logged_in_user\"][\"airtable_record_id\"];\\n    console.log(window.logged_in_user);\\n    console.log(filloutUrl);\\n  }\\n\\n  document.write(\\n    \\'<iframe src=\"\\' +\\n      filloutUrl +\\n      \\'\" width=\"100%\" height=\"900px\" frameborder=\"0\" marginheight=\"0\" marginwidth=\"0\" title=\"My Airtable form\"></iframe>\\'\\n  );\\n</script>',language:\"JSX\"})})}),/*#__PURE__*/e(\"h2\",{children:\"Airtable Base\"}),/*#__PURE__*/t(\"p\",{children:[\"Here is a link to the Airtable base we used. It's a slightly modified version of the Project Management base for Softr, but also includes an Accounts table and fields to display RecordIds.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(r,{href:\"https://airtable.com/appENH0yJIeXsSkf4/shrMlQoVoJYBWLbbU\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"https://airtable.com/appENH0yJIeXsSkf4/shrMlQoVoJYBWLbbU\"})})]})]})},{index:4,id:\"ZoNwNo9mG\",[d]:\"Airtable Client Portal with Free Users\",[c]:\"airtable-client-portal-with-free-users\",[h]:\"Dan Leeman\",[u]:\"zRQ4sizjU\",[p]:\"https://i.ytimg.com/vi/ZP_kOB7mR8g/mqdefault.jpg\",[m]:\"https://www.youtube.com/watch?v=ZP_kOB7mR8g\",[f]:\"https://airtable.com/app9RxW3z58dmBILj/shrT6Bi6xOdedU3tJ/tbluvWIFr2JLujLs4/viwW2A27etGS1anLn?blocks=hide\",[y]:\"Do you need to use a third party portal like Softr or Stacker with Airtable, or is it possible just to use Airtable alone? We take up the challenge in this tutorial video.\",[b]:\"https://youtu.be/ZP_kOB7mR8g\",GPpDBvDd9:\"https://i.ytimg.com/vi/ZP_kOB7mR8g/mqdefault.jpg\",[w]:/*#__PURE__*/e(s.Fragment,{children:/*#__PURE__*/e(\"p\",{children:\"In this tutorial, we examine how to create a fully-functional CRUD application (create, read, update, delete) for clients to interact with Airtable interfaces and forms using only read-only licenses.\"})})},{index:5,id:\"gWtnzBjuy\",[d]:\"Airtable Custom GPT for Data Analysis\",[c]:\"airtable-custom-gpt-for-data-analysis\",[h]:\"Dan Leeman\",[u]:\"zRQ4sizjU\",[p]:\"https://i.ytimg.com/vi/UVyJFSGDdAE/mqdefault.jpg\",[m]:\"https://www.youtube.com/watch?v=UVyJFSGDdAE\",[y]:\"We created a custom GPT to let you interact with your Airtable data. It can be tricky to get started, so use this free template to get you on your way.\",[b]:\"https://youtu.be/UVyJFSGDdAE\",[w]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Airtable is super useful when it comes to tracking your data. But when it comes to reporting on your data, and interacting with your data, Airtable leaves a little to be desired. Enter ChatGPT. ChatGPT lets you create your own Custom GPTs that can make external API calls to various services.\"}),/*#__PURE__*/t(\"p\",{children:[\"We created a series of instructions to help ChatGPT interact with Airtable, and be able to render charts directly from within the chat interface.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"While this particular use case includes instructions for a services utilization example, we love building out specific automations for our clients as well.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Instructions:\"}),/*#__PURE__*/e(\"br\",{}),\"Your job is to analyze data retrieved from an Airtable base. You will act as a data analyst, providing information that is concise and easy to understand for the user. Do not use technical jargon. This specific use case is centered around utilization for a professional services business.\"]}),/*#__PURE__*/e(\"p\",{children:\"The Base ID: appIkvd2oE19vFZWo\"}),/*#__PURE__*/t(\"p\",{children:[\"Listing tasks:\",/*#__PURE__*/e(\"br\",{}),'1. When a user asks for utilization for a name, like \"Utilization for John Doe,\" you should filter based on the Resource Name to see if it contains John Doe. Please use the formula SEARCH(\"John Doe\", \"\" & {Resource Name}) for the filter to assist with type coercion.']}),/*#__PURE__*/e(\"p\",{children:\"2. Once the data has been retrieved via the API, do not print it. Instead, perform the following calculations before rendering a table.\"}),/*#__PURE__*/e(\"p\",{children:'3. Aggregate the tasks by week. For example, if there is a task for 10/02 for 2 hours and a task for 10/03 for 4 hours, this should show as \"Week of 10/2\" (since that is the Monday of the week) and Total Hours of 6 by aggregating the two task time logs.'}),/*#__PURE__*/e(\"p\",{children:\"4. Once the Total Hours has been aggregated, you'll need to divide this number by 3600 to display the hours.\"}),/*#__PURE__*/e(\"p\",{children:'5. There is a field \"Target Utilization\" - this value does not need to be aggregated. For example, if John Doe has 10 tasks, all of them will share the same Target Utilization of 30 hours.'}),/*#__PURE__*/e(\"p\",{children:'6. Divide the \"Total Hours\" by \"Target Utilization.\" We will call this value \"Utilization\". For example, if Total Hours is 15, and the Target Utilization is 30 hours, then the Utilization will be 50%'}),/*#__PURE__*/e(\"p\",{children:\"7. Once all the calculations have been performed, render the data in a table displaying the Week of [Date], the Total Hours, the Utilization, and Target Utilization.\"}),/*#__PURE__*/e(\"p\",{children:\"8. Also render the data in a bar chart, with the Target Utilization displaying as a benchmark line, the Y axis showing the aggregated Total Hours, and the X axis showing the weeks. Make sure that the bars are wide for easy data visualization. If there is a week with no value, for example the week of 10/09/2023 has a number of hours, and the week of 10/23/2023 has a number of hours, but there is no record for the week of 10/16/2023, you do not need to leave space on the x axis for this week. Simply place the week of 10/09 and the week of 10/23 next to each other so the data looks better.\"}),/*#__PURE__*/e(\"p\",{children:\"9. You do not need to provide additional information besides the table and chart. You do not need to explain each of these after you have rendered them.\"}),/*#__PURE__*/e(\"p\",{children:'If the response contains \"offset\", it means you need request the next page of results. Continue this process until there is no offset in the response to ensure that the dataset is complete.'}),/*#__PURE__*/e(i.div,{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(o,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(l,{...t,code:'{\\n  \"openapi\": \"3.0.0\",\\n  \"info\": {\\n    \"title\": \"Airtable API\",\\n    \"version\": \"1.0.0\",\\n    \"description\": \"Airtable API for consuming Airtable data\"\\n  },\\n  \"servers\": [\\n    {\\n      \"url\": \"https://api.airtable.com/v0\"\\n    }\\n  ],\\n  \"paths\": {\\n    \"/meta/bases/{baseId}/tables\": {\\n      \"get\": {\\n        \"summary\": \"Get Base Schema\",\\n        \"description\": \"Returns the schema of the tables in the specified base.\",\\n        \"operationId\": \"getBaseSchema\",\\n        \"x-openai-isConsequential\": false,\\n        \"parameters\": [\\n          {\\n            \"name\": \"baseId\",\\n            \"in\": \"path\",\\n            \"required\": true,\\n            \"schema\": {\\n              \"type\": \"string\"\\n            },\\n            \"description\": \"The ID of the base.\"\\n          },\\n          {\\n            \"name\": \"include\",\\n            \"in\": \"query\",\\n            \"schema\": {\\n              \"type\": \"array\",\\n              \"items\": {\\n                \"type\": \"string\"\\n              }\\n            },\\n            \"description\": \"Additional fields to include in the response\"\\n          }\\n        ],\\n        \"responses\": {\\n          \"200\": {\\n            \"description\": \"Successful response\",\\n            \"content\": {\\n              \"application/json\": {\\n                \"schema\": {\\n                  \"type\": \"object\",\\n                  \"properties\": {\\n                    \"tables\": {\\n                      \"type\": \"array\",\\n                      \"items\": {\\n                        \"$ref\": \"#/components/schemas/Table\"\\n                      }\\n                    }\\n                  }\\n                }\\n              }\\n            }\\n          }\\n        },\\n        \"security\": [\\n          {\\n            \"bearerAuth\": []\\n          }\\n        ]\\n      }\\n    },\\n    \"/{baseId}/{tableIdOrName}/listRecords\": {\\n      \"post\": {\\n        \"summary\": \"List records from a given table\",\\n        \"description\": \"List records from a given table. Table names and table IDs can be used interchangeably. A max of 100 records are returned in the response. Use the offset parameter to fetch additional records.\",\\n        \"operationId\": \"listTableRecords\",\\n        \"parameters\": [\\n          {\\n            \"name\": \"baseId\",\\n            \"in\": \"path\",\\n            \"required\": true,\\n            \"schema\": {\\n              \"type\": \"string\"\\n            },\\n            \"description\": \"The ID of the base.\"\\n          },\\n          {\\n            \"name\": \"tableIdOrName\",\\n            \"in\": \"path\",\\n            \"required\": true,\\n            \"schema\": {\\n              \"type\": \"string\"\\n            },\\n            \"description\": \"The ID or name of the table.\"\\n          }\\n        ],\\n        \"requestBody\": {\\n          \"required\": false,\\n          \"content\": {\\n            \"application/json\": {\\n              \"schema\": {\\n                \"type\": \"object\",\\n                \"properties\": {\\n                  \"pageSize\": {\\n                    \"type\": \"integer\",\\n                    \"default\": 100\\n                  },\\n                  \"maxRecords\": {\\n                    \"type\": \"integer\"\\n                  },\\n                  \"view\": {\\n                    \"type\": \"string\"\\n                  },\\n                  \"cellFormat\": {\\n                    \"type\": \"string\",\\n                    \"enum\": [\\n                      \"json\",\\n                      \"string\"\\n                    ],\\n                    \"default\": \"json\"\\n                  },\\n                  \"fields\": {\\n                    \"type\": \"array\",\\n                    \"items\": {\\n                      \"type\": \"string\"\\n                    }\\n                  },\\n                  \"filterByFormula\": {\\n                    \"type\": \"string\"\\n                  },\\n                  \"sort\": {\\n                    \"type\": \"array\",\\n                    \"items\": {\\n                      \"type\": \"object\",\\n                      \"properties\": {\\n                        \"field\": {\\n                          \"type\": \"string\"\\n                        },\\n                        \"direction\": {\\n                          \"type\": \"string\",\\n                          \"enum\": [\\n                            \"asc\",\\n                            \"desc\"\\n                          ]\\n                        }\\n                      }\\n                    }\\n                  },\\n                  \"offset\": {\\n                    \"type\": \"string\"\\n                  }\\n                }\\n              }\\n            }\\n          }\\n        },\\n        \"responses\": {\\n          \"200\": {\\n            \"description\": \"Successful response\",\\n            \"content\": {\\n              \"application/json\": {\\n                \"schema\": {\\n                  \"type\": \"object\",\\n                  \"properties\": {\\n                    \"records\": {\\n                      \"type\": \"array\",\\n                      \"items\": {\\n                        \"$ref\": \"#/components/schemas/Record\"\\n                      }\\n                    },\\n                    \"offset\": {\\n                      \"type\": \"string\"\\n                    }\\n                  }\\n                }\\n              }\\n            }\\n          },\\n          \"422\": {\\n            \"description\": \"Iteration may timeout\",\\n            \"content\": {\\n              \"application/json\": {\\n                \"schema\": {\\n                  \"$ref\": \"#/components/schemas/Error\"\\n                }\\n              }\\n            }\\n          }\\n        },\\n        \"security\": [\\n          {\\n            \"bearerAuth\": []\\n          }\\n        ]\\n      }\\n    }\\n  },\\n  \"components\": {\\n    \"schemas\": {\\n      \"Table\": {\\n        \"type\": \"object\",\\n        \"properties\": {\\n          \"id\": {\\n            \"type\": \"string\"\\n          },\\n          \"name\": {\\n            \"type\": \"string\"\\n          },\\n          \"primaryFieldId\": {\\n            \"type\": \"string\"\\n          },\\n          \"fields\": {\\n            \"type\": \"array\",\\n            \"items\": {\\n              \"$ref\": \"#/components/schemas/Field\"\\n            }\\n          },\\n          \"views\": {\\n            \"type\": \"array\",\\n            \"items\": {\\n              \"$ref\": \"#/components/schemas/View\"\\n            }\\n          }\\n        }\\n      },\\n      \"Field\": {\\n        \"type\": \"object\",\\n        \"properties\": {\\n          \"id\": {\\n            \"type\": \"string\"\\n          },\\n          \"name\": {\\n            \"type\": \"string\"\\n          },\\n          \"type\": {\\n            \"type\": \"string\"\\n          },\\n          \"description\": {\\n            \"type\": \"string\"\\n          },\\n          \"options\": {\\n            \"type\": \"object\"\\n          }\\n        }\\n      },\\n      \"View\": {\\n        \"type\": \"object\",\\n        \"properties\": {\\n          \"id\": {\\n            \"type\": \"string\"\\n          },\\n          \"name\": {\\n            \"type\": \"string\"\\n          },\\n          \"type\": {\\n            \"type\": \"string\"\\n          }\\n        }\\n      },\\n      \"Record\": {\\n        \"type\": \"object\",\\n        \"properties\": {\\n          \"id\": {\\n            \"type\": \"string\"\\n          },\\n          \"createdTime\": {\\n            \"type\": \"string\",\\n            \"format\": \"date-time\"\\n          },\\n          \"fields\": {\\n            \"type\": \"object\",\\n            \"additionalProperties\": true\\n          },\\n          \"commentCount\": {\\n            \"type\": \"integer\"\\n          }\\n        }\\n      },\\n      \"Error\": {\\n        \"type\": \"object\",\\n        \"properties\": {\\n          \"error\": {\\n            \"type\": \"object\",\\n            \"properties\": {\\n              \"type\": {\\n                \"type\": \"string\"\\n              }\\n            }\\n          }\\n        }\\n      }\\n    },\\n    \"securitySchemes\": {\\n      \"bearerAuth\": {\\n        \"type\": \"http\",\\n        \"scheme\": \"bearer\"\\n      }\\n    }\\n  }\\n}\\n',language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Thanks to Business Automated! for releasing some JSON samples used in the action config\"})]})}];for(let e of v)Object.freeze(e);n(v,{Qe0iqZdsz:{defaultValue:\"\",title:\"Title\",type:a.String},BN1A9D_ky:{title:\"Slug\",type:a.String},YkkVnxa1s:{defaultValue:\"Dan Leeman\",title:\"Author\",type:a.String},lOUV25Guc:{defaultValue:\"zRQ4sizjU\",options:[\"zRQ4sizjU\",\"PXKO4A6Ou\",\"XWfNQSJyx\"],optionTitles:[\"Airtable\",\"SmartSuite\",\"Softr\"],title:\"Tool\",type:a.Enum},MtPiQPuTm:{defaultValue:\"\",title:\"Thumbnail URL\",type:a.String},cZrRUvAXl:{defaultValue:\"\",title:\"YouTube URL\",type:a.String},i_EumnCC6:{title:\"Solution URL\",type:a.Link},Pd1Zt7HHy:{defaultValue:\"\",title:\"Short Description\",type:a.String},yznLmx1u_:{title:\"YouTube Video\",type:a.Link},GPpDBvDd9:{title:\"Thumbnail\",type:a.Link},DNvl6kole:{defaultValue:\"\",title:\"Content\",type:a.RichText}}),v.displayName=\"Templates\";export default v;export const lOUV25GucToDisplayName=(e,t)=>{switch(null==t||t.fallback,e){case\"zRQ4sizjU\":return\"Airtable\";case\"PXKO4A6Ou\":return\"SmartSuite\";case\"XWfNQSJyx\":return\"Softr\";default:return\"\";}};export const enumToDisplayNameFunctions={lOUV25Guc:lOUV25GucToDisplayName};export const utils={async getSlugByRecordId(e,t){var n;return null===(n=v.find(t=>t.id===e))||void 0===n?void 0:n[c];},async getRecordIdBySlug(e,t){var n;return null===(n=v.find(t=>t[c]===e))||void 0===n?void 0:n.id;}};\nexport const __FramerMetadata__ = {\"exports\":{\"enumToDisplayNameFunctions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"lOUV25GucToDisplayName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"utils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"data\",\"name\":\"data\",\"annotations\":{\"framerEnumToDisplayNameUtils\":\"2\",\"framerCollectionUtils\":\"1\",\"framerRecordIndexKey\":\"index\",\"framerRecordIncludedLocalesKey\":\"includedLocales\",\"framerSlug\":\"BN1A9D_ky\",\"framerContractVersion\":\"1\",\"framerRecordIdKey\":\"id\",\"framerData\":\"\",\"framerCollectionId\":\"NFa8t37h2\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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AA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAuoP,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeR,EAAE,IAAI,CAAC,SAAS,yFAAyF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQW,KAAKhB,EAAE,OAAO,OAAOgB,CAAC,EAAEC,EAAEjB,EAAE,CAAC,UAAU,CAAC,aAAa,GAAG,MAAM,QAAQ,KAAKkB,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,OAAO,KAAKA,EAAE,MAAM,EAAE,UAAU,CAAC,aAAa,aAAa,MAAM,SAAS,KAAKA,EAAE,MAAM,EAAE,UAAU,CAAC,aAAa,YAAY,QAAQ,CAAC,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,WAAW,aAAa,OAAO,EAAE,MAAM,OAAO,KAAKA,EAAE,IAAI,EAAE,UAAU,CAAC,aAAa,GAAG,MAAM,gBAAgB,KAAKA,EAAE,MAAM,EAAE,UAAU,CAAC,aAAa,GAAG,MAAM,cAAc,KAAKA,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,eAAe,KAAKA,EAAE,IAAI,EAAE,UAAU,CAAC,aAAa,GAAG,MAAM,oBAAoB,KAAKA,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,gBAAgB,KAAKA,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,YAAY,KAAKA,EAAE,IAAI,EAAE,UAAU,CAAC,aAAa,GAAG,MAAM,UAAU,KAAKA,EAAE,QAAQ,CAAC,CAAC,EAAElB,EAAE,YAAY,YAAY,IAAOmB,EAAQnB,EAAeoB,EAAuB,CAACJ,EAAEH,IAAI,CAAC,OAAgBA,GAAE,SAASG,EAAE,CAAC,IAAI,YAAY,MAAM,WAAW,IAAI,YAAY,MAAM,aAAa,IAAI,YAAY,MAAM,QAAQ,QAAQ,MAAM,EAAG,CAAC,EAAeK,EAA2B,CAAC,UAAUD,CAAsB,EAAeE,EAAM,CAAC,MAAM,kBAAkBN,EAAEH,EAAE,CAAC,IAAIU,EAAE,OAAeA,EAAEvB,EAAE,KAAKa,GAAGA,EAAE,KAAKG,CAAC,KAA5B,MAAyCO,IAAT,OAAW,OAAOA,EAAErB,CAAC,CAAE,EAAE,MAAM,kBAAkBc,EAAEH,EAAE,CAAC,IAAIU,EAAE,OAAeA,EAAEvB,EAAE,KAAKa,GAAGA,EAAEX,CAAC,IAAIc,CAAC,KAA5B,MAAyCO,IAAT,OAAW,OAAOA,EAAE,EAAG,CAAC,EAC/huBC,EAAqB,CAAC,QAAU,CAAC,2BAA6B,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,uBAAyB,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,MAAQ,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,GAAG,CAAC,EAAE,QAAU,CAAC,KAAO,OAAO,KAAO,OAAO,YAAc,CAAC,6BAA+B,IAAI,sBAAwB,IAAI,qBAAuB,QAAQ,+BAAiC,kBAAkB,WAAa,YAAY,sBAAwB,IAAI,kBAAoB,KAAK,WAAa,GAAG,mBAAqB,WAAW,CAAC,EAAE,mBAAqB,CAAC,KAAO,UAAU,CAAC,CAAC",
  "names": ["d", "c", "h", "u", "p", "m", "f", "y", "b", "w", "v", "d", "c", "h", "u", "p", "m", "f", "y", "x", "Link", "motion", "ComponentPresetsConsumer", "t", "CodeBlock_default", "b", "e", "addPropertyControls", "ControlType", "NFa8t37h2_default", "lOUV25GucToDisplayName", "enumToDisplayNameFunctions", "utils", "n", "__FramerMetadata__"]
}
