@plasmicpkgs/airtable 0.0.225 → 0.0.227

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,6 +10,49 @@ var registerGlobalContext = _interopDefault(require('@plasmicapp/host/registerGl
10
10
  var query = require('@plasmicapp/query');
11
11
  var React = _interopDefault(require('react'));
12
12
 
13
+ function asyncGeneratorStep(n, t, e, r, o, a, c) {
14
+ try {
15
+ var i = n[a](c),
16
+ u = i.value;
17
+ } catch (n) {
18
+ return void e(n);
19
+ }
20
+ i.done ? t(u) : Promise.resolve(u).then(r, o);
21
+ }
22
+ function _asyncToGenerator(n) {
23
+ return function () {
24
+ var t = this,
25
+ e = arguments;
26
+ return new Promise(function (r, o) {
27
+ var a = n.apply(t, e);
28
+ function _next(n) {
29
+ asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
30
+ }
31
+ function _throw(n) {
32
+ asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
33
+ }
34
+ _next(void 0);
35
+ });
36
+ };
37
+ }
38
+ function _extends() {
39
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
40
+ for (var e = 1; e < arguments.length; e++) {
41
+ var t = arguments[e];
42
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
43
+ }
44
+ return n;
45
+ }, _extends.apply(null, arguments);
46
+ }
47
+ function _objectWithoutPropertiesLoose(r, e) {
48
+ if (null == r) return {};
49
+ var t = {};
50
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
51
+ if (-1 !== e.indexOf(n)) continue;
52
+ t[n] = r[n];
53
+ }
54
+ return t;
55
+ }
13
56
  function _regeneratorRuntime() {
14
57
  _regeneratorRuntime = function () {
15
58
  return e;
@@ -118,7 +161,7 @@ function _regeneratorRuntime() {
118
161
  function makeInvokeMethod(e, r, n) {
119
162
  var o = h;
120
163
  return function (i, a) {
121
- if (o === f) throw new Error("Generator is already running");
164
+ if (o === f) throw Error("Generator is already running");
122
165
  if (o === s) {
123
166
  if ("throw" === i) throw a;
124
167
  return {
@@ -260,7 +303,7 @@ function _regeneratorRuntime() {
260
303
  } else if (c) {
261
304
  if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
262
305
  } else {
263
- if (!u) throw new Error("try statement without catch or finally");
306
+ if (!u) throw Error("try statement without catch or finally");
264
307
  if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
265
308
  }
266
309
  }
@@ -300,7 +343,7 @@ function _regeneratorRuntime() {
300
343
  return o;
301
344
  }
302
345
  }
303
- throw new Error("illegal catch attempt");
346
+ throw Error("illegal catch attempt");
304
347
  },
305
348
  delegateYield: function (e, r, n) {
306
349
  return this.delegate = {
@@ -311,62 +354,6 @@ function _regeneratorRuntime() {
311
354
  }
312
355
  }, e;
313
356
  }
314
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
315
- try {
316
- var info = gen[key](arg);
317
- var value = info.value;
318
- } catch (error) {
319
- reject(error);
320
- return;
321
- }
322
- if (info.done) {
323
- resolve(value);
324
- } else {
325
- Promise.resolve(value).then(_next, _throw);
326
- }
327
- }
328
- function _asyncToGenerator(fn) {
329
- return function () {
330
- var self = this,
331
- args = arguments;
332
- return new Promise(function (resolve, reject) {
333
- var gen = fn.apply(self, args);
334
- function _next(value) {
335
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
336
- }
337
- function _throw(err) {
338
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
339
- }
340
- _next(undefined);
341
- });
342
- };
343
- }
344
- function _extends() {
345
- _extends = Object.assign ? Object.assign.bind() : function (target) {
346
- for (var i = 1; i < arguments.length; i++) {
347
- var source = arguments[i];
348
- for (var key in source) {
349
- if (Object.prototype.hasOwnProperty.call(source, key)) {
350
- target[key] = source[key];
351
- }
352
- }
353
- }
354
- return target;
355
- };
356
- return _extends.apply(this, arguments);
357
- }
358
- function _objectWithoutPropertiesLoose(source, excluded) {
359
- if (source == null) return {};
360
- var target = {};
361
- var sourceKeys = Object.keys(source);
362
- var key, i;
363
- for (i = 0; i < sourceKeys.length; i++) {
364
- key = sourceKeys[i];
365
- if (excluded.indexOf(key) >= 0) continue;
366
- target[key] = source[key];
367
- }
368
- return target;
369
- }
370
357
 
371
358
  var _excluded = ["table", "children"];
372
359
  var defaultHost = "https://studio.plasmic.app";
@@ -1 +1 @@
1
- {"version":3,"file":"airtable.cjs.development.js","sources":["../src/RecordData.tsx","../src/index.tsx"],"sourcesContent":["import {\n DataProvider,\n repeatedElement,\n usePlasmicCanvasContext,\n useSelector,\n} from \"@plasmicapp/host\";\nimport registerComponent, {\n CanvasComponentProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext, {\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport React from \"react\";\n\nconst defaultHost = \"https://studio.plasmic.app\";\n\nexport interface DataSourceInfo {\n id: string;\n base: string;\n host?: string;\n}\n\nconst CredentialsContext = React.createContext<DataSourceInfo | undefined>(\n undefined\n);\n\ninterface RecordData {\n [field: string]: string | { id: string; url: string; filename: string }[];\n}\n\nexport interface AirtableRecordProps {\n table: string;\n record: string;\n}\n\nexport function AirtableRecord({\n table,\n record,\n children,\n}: React.PropsWithChildren<AirtableRecordProps>) {\n const credentialsContext = React.useContext(CredentialsContext);\n\n const dataSourceId = credentialsContext && credentialsContext.id;\n const base = credentialsContext && credentialsContext.base;\n const host = (credentialsContext && credentialsContext.host) || defaultHost;\n\n const data = usePlasmicQueryData(\n JSON.stringify([\"AirtableRecord\", host, base, table, record, dataSourceId]),\n async () => {\n if (!base || !dataSourceId) {\n throw new Error(\n \"Missing Data Source. Please select a Data Source from the Airtable Credentials Provider\"\n );\n }\n if (!table) {\n throw new Error(\"AirtableRecord is missing the table name\");\n }\n if (!record) {\n throw new Error(\"AirtableRecord is missing the record ID\");\n }\n const pathname = `/${base}/${table}/${record}`;\n const url = `${host}/api/v1/server-data/query?pathname=${encodeURIComponent(\n pathname\n )}&dataSourceId=${dataSourceId}`;\n return (await (await fetch(url, { method: \"GET\" })).json())\n .fields as RecordData;\n }\n );\n\n if (\"error\" in data) {\n return <p>Error: {data.error?.message}</p>;\n }\n\n if (!(\"data\" in data)) {\n return <p>Loading...</p>;\n }\n\n return (\n <DataProvider name={contextKey} data={data.data}>\n {children}\n </DataProvider>\n );\n}\n\nconst contextKey = \"__airtableRecord\";\n\nfunction useRecord() {\n return useSelector(contextKey) as RecordData | undefined;\n}\n\nexport interface AirtableRecordFieldProps\n extends CanvasComponentProps<RecordData | undefined> {\n className?: string;\n style?: React.CSSProperties;\n field?: string;\n}\n\nexport function AirtableRecordField({\n className,\n field,\n style,\n setControlContextData,\n}: AirtableRecordFieldProps) {\n const record = useRecord();\n setControlContextData?.(record);\n\n return (\n <div className={className} style={style}>\n {record\n ? (() => {\n const val = record[field || Object.keys(record)[0]];\n if (val && typeof val === \"object\") {\n return \"Attachment \" + val[0].filename;\n }\n return val;\n })()\n : \"Error: Must provide a record to AirtableRecordField\"}\n </div>\n );\n}\n\nexport interface AirtableCollectionProps {\n table: string;\n fields?: string[];\n filterByFormula?: string;\n maxRecords?: number;\n pageSize?: number;\n sort?: {\n field: string;\n direction?: \"asc\" | \"desc\";\n }[];\n view?: string;\n}\n\nexport function AirtableCollection({\n table,\n children,\n ...props\n}: React.PropsWithChildren<AirtableCollectionProps>) {\n const credentialsContext = React.useContext(CredentialsContext);\n\n const dataSourceId = credentialsContext && credentialsContext.id;\n const base = credentialsContext && credentialsContext.base;\n const host = (credentialsContext && credentialsContext.host) || defaultHost;\n\n const searchArray: string[] = [];\n if (props.fields) {\n props.fields.forEach((f) =>\n searchArray.push(\n `${encodeURIComponent(`fields[]`)}=${encodeURIComponent(`${f}`)}`\n )\n );\n }\n ([\"filterByFormula\", \"maxRecords\", \"pageSize\", \"view\"] as const).forEach(\n (prop) => {\n if (props[prop]) {\n searchArray.push(\n `${encodeURIComponent(`${prop}`)}=${encodeURIComponent(\n `${props[prop]}`\n )}`\n );\n }\n }\n );\n if (props.sort) {\n props.sort.forEach((v, i) => {\n searchArray.push(\n `${encodeURIComponent(`sort[${i}][field]`)}=${encodeURIComponent(\n `${v.field}`\n )}`\n );\n if (v.direction) {\n searchArray.push(\n `${encodeURIComponent(`sort[${i}][direction]`)}=${encodeURIComponent(\n `${v.direction}`\n )}`\n );\n }\n });\n }\n\n const search = searchArray.length === 0 ? \"\" : \"?\" + searchArray.join(\"&\");\n\n const { data, error, isLoading } = usePlasmicQueryData(\n JSON.stringify([\n \"AirtableCollection\",\n host,\n base,\n table,\n search,\n dataSourceId,\n ]),\n async () => {\n if (!base || !dataSourceId) {\n throw new Error(\n \"Missing Data Source. Please select a Data Source from the Airtable Credentials Provider\"\n );\n }\n if (!table) {\n throw new Error(\"AirtableCollection is missing the table name\");\n }\n const pathname = `/${base}/${table}${search}`;\n const url = `${host}/api/v1/server-data/query?pathname=${encodeURIComponent(\n pathname\n )}&dataSourceId=${dataSourceId}`;\n return (await (await fetch(url, { method: \"GET\" })).json()).records as {\n fields: RecordData;\n id: string;\n }[];\n }\n );\n\n if (error) {\n return <p>Error: {error.message}</p>;\n }\n\n if (isLoading) {\n return <p>Loading...</p>;\n }\n\n return (\n <>\n {(data ?? []).map((record, index) => (\n <DataProvider key={record.id} name={contextKey} data={record.fields}>\n {repeatedElement(index, children)}\n </DataProvider>\n ))}\n </>\n );\n}\n\ninterface AirtableCredentialsProviderProps {\n dataSource: DataSourceInfo;\n host?: string;\n}\n\nexport function AirtableCredentialsProvider({\n dataSource,\n host: maybeHost,\n children,\n}: React.PropsWithChildren<AirtableCredentialsProviderProps>) {\n const inCanvas = usePlasmicCanvasContext();\n if (inCanvas && (!dataSource || !dataSource.id || !dataSource.base)) {\n return (\n <p>\n Error: Missing Data Source. Please select a Data Source from the\n Airtable Credentials Provider\n </p>\n );\n }\n const host = maybeHost || defaultHost;\n return (\n <CredentialsContext.Provider value={{ ...dataSource, host }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\nconst thisModule = \"@plasmicpkgs/airtable\";\n\nexport const airtableRecordMeta: ComponentMeta<AirtableRecordProps> = {\n name: \"hostless-airtable-record\",\n displayName: \"Airtable Record\",\n importPath: thisModule,\n importName: \"AirtableRecord\",\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"component\",\n name: \"hostless-airtable-record-field\",\n },\n },\n table: {\n type: \"string\",\n displayName: \"Table Name\",\n description: \"The Airtable table name or ID\",\n },\n record: {\n type: \"string\",\n displayName: \"Record\",\n description: \"The table record ID\",\n },\n },\n};\n\nexport function registerAirtableRecord(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableRecordMeta?: ComponentMeta<AirtableRecordProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableRecord,\n customAirtableRecordMeta ?? airtableRecordMeta\n );\n } else {\n registerComponent(\n AirtableRecord,\n customAirtableRecordMeta ?? airtableRecordMeta\n );\n }\n}\n\nexport const airtableRecordFieldMeta: ComponentMeta<AirtableRecordFieldProps> = {\n name: \"hostless-airtable-record-field\",\n displayName: \"Airtable Record Field\",\n importPath: thisModule,\n importName: \"AirtableRecordField\",\n props: {\n field: {\n type: \"choice\",\n displayName: \"Field Name\",\n defaultValueHint: \"The first field\",\n options: (_props, data) => {\n return data ? Object.keys(data) : [\"Data unavailable\"];\n },\n },\n },\n};\n\nexport function registerAirtableRecordField(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableRecordFieldMeta?: ComponentMeta<AirtableRecordFieldProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableRecordField,\n customAirtableRecordFieldMeta ?? airtableRecordFieldMeta\n );\n } else {\n registerComponent(\n AirtableRecordField,\n customAirtableRecordFieldMeta ?? airtableRecordFieldMeta\n );\n }\n}\n\nexport const airtableCollectionMeta: ComponentMeta<AirtableCollectionProps> = {\n name: \"hostless-airtable-collection\",\n displayName: \"Airtable Collection\",\n importPath: thisModule,\n importName: \"AirtableCollection\",\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n isRepeated: true,\n defaultValue: {\n type: \"component\",\n name: \"hostless-airtable-record-field\",\n },\n },\n table: {\n type: \"string\",\n displayName: \"Table Name\",\n description: \"The Airtable table name or ID\",\n },\n fields: {\n type: \"object\",\n displayName: \"Fields\",\n description: \"List of strings containing the fields to be included\",\n },\n maxRecords: {\n type: \"number\",\n displayName: \"Max Records\",\n description: \"The maximum total number of records that will be returned\",\n defaultValueHint: 100,\n max: 100,\n min: 1,\n },\n view: {\n type: \"string\",\n displayName: \"View\",\n description:\n \"The name or ID of a view in the table. If set, only records from that view will be returned\",\n },\n sort: {\n type: \"object\",\n displayName: \"Sort\",\n description:\n 'A list of Airtable sort objects that specifies how the records will be ordered. Each sort object must have a field key specifying the name of the field to sort on, and an optional direction key that is either \"asc\" or \"desc\". The default direction is \"asc\"',\n },\n filterByFormula: {\n type: \"string\",\n displayName: \"Filter by Formula\",\n description: \"An Airtable formula used to filter records\",\n },\n },\n};\n\nexport function registerAirtableCollection(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableCollectionMeta?: ComponentMeta<AirtableCollectionProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableCollection,\n customAirtableCollectionMeta ?? airtableCollectionMeta\n );\n } else {\n registerComponent(\n AirtableCollection,\n customAirtableCollectionMeta ?? airtableCollectionMeta\n );\n }\n}\n\nexport const airtableCredentialsProviderMeta: GlobalContextMeta<AirtableCredentialsProviderProps> = {\n name: \"hostless-airtable-credentials-provider\",\n displayName: \"Airtable Credentials Provider\",\n importPath: thisModule,\n importName: \"AirtableCredentialsProvider\",\n props: {\n dataSource: {\n type: \"dataSource\",\n dataSource: \"airtable\",\n displayName: \"Data Source\",\n description: \"The Airtable Data Source to use\",\n },\n host: {\n type: \"string\",\n displayName: \"Host\",\n description: \"Plasmic Server-Data URL\",\n defaultValueHint: defaultHost,\n },\n },\n};\n\nexport function registerAirtableCredentialsProvider(\n loader?: { registerGlobalContext: typeof registerGlobalContext },\n customAirtableCredentialsProviderMeta?: GlobalContextMeta<AirtableCredentialsProviderProps>\n) {\n if (loader) {\n loader.registerGlobalContext(\n AirtableCredentialsProvider,\n customAirtableCredentialsProviderMeta ?? airtableCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n AirtableCredentialsProvider,\n customAirtableCredentialsProviderMeta ?? airtableCredentialsProviderMeta\n );\n }\n}\n","export * from \"./RecordData\";\nimport {\n registerAirtableCollection,\n registerAirtableCredentialsProvider,\n registerAirtableRecord,\n registerAirtableRecordField,\n} from \"./RecordData\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n registerAirtableCollection(loader);\n registerAirtableCredentialsProvider(loader);\n registerAirtableRecord(loader);\n registerAirtableRecordField(loader);\n}\n"],"names":["defaultHost","CredentialsContext","React","createContext","undefined","AirtableRecord","_ref","table","record","children","credentialsContext","useContext","dataSourceId","id","base","host","data","usePlasmicQueryData","JSON","stringify","_asyncToGenerator","_regeneratorRuntime","mark","_callee","pathname","url","wrap","_callee$","_context","prev","next","Error","encodeURIComponent","fetch","method","sent","json","abrupt","fields","stop","_data$error","error","message","DataProvider","name","contextKey","useRecord","useSelector","AirtableRecordField","_ref3","className","field","style","setControlContextData","val","Object","keys","filename","AirtableCollection","_ref4","props","_objectWithoutPropertiesLoose","_excluded","searchArray","forEach","f","push","prop","sort","v","i","direction","search","length","join","_usePlasmicQueryData","_callee2","_callee2$","_context2","records","isLoading","map","index","key","repeatedElement","AirtableCredentialsProvider","_ref6","dataSource","maybeHost","inCanvas","usePlasmicCanvasContext","Provider","value","_extends","thisModule","airtableRecordMeta","displayName","importPath","importName","providesData","type","defaultValue","description","registerAirtableRecord","loader","customAirtableRecordMeta","registerComponent","airtableRecordFieldMeta","defaultValueHint","options","_props","registerAirtableRecordField","customAirtableRecordFieldMeta","airtableCollectionMeta","isRepeated","maxRecords","max","min","view","filterByFormula","registerAirtableCollection","customAirtableCollectionMeta","airtableCredentialsProviderMeta","registerAirtableCredentialsProvider","customAirtableCredentialsProviderMeta","registerGlobalContext","registerAll"],"mappings":"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"}
1
+ {"version":3,"file":"airtable.cjs.development.js","sources":["../src/RecordData.tsx","../src/index.tsx"],"sourcesContent":["import {\n DataProvider,\n repeatedElement,\n usePlasmicCanvasContext,\n useSelector,\n} from \"@plasmicapp/host\";\nimport registerComponent, {\n CanvasComponentProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext, {\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport React from \"react\";\n\nconst defaultHost = \"https://studio.plasmic.app\";\n\nexport interface DataSourceInfo {\n id: string;\n base: string;\n host?: string;\n}\n\nconst CredentialsContext = React.createContext<DataSourceInfo | undefined>(\n undefined\n);\n\ninterface RecordData {\n [field: string]: string | { id: string; url: string; filename: string }[];\n}\n\nexport interface AirtableRecordProps {\n table: string;\n record: string;\n}\n\nexport function AirtableRecord({\n table,\n record,\n children,\n}: React.PropsWithChildren<AirtableRecordProps>) {\n const credentialsContext = React.useContext(CredentialsContext);\n\n const dataSourceId = credentialsContext && credentialsContext.id;\n const base = credentialsContext && credentialsContext.base;\n const host = (credentialsContext && credentialsContext.host) || defaultHost;\n\n const data = usePlasmicQueryData(\n JSON.stringify([\"AirtableRecord\", host, base, table, record, dataSourceId]),\n async () => {\n if (!base || !dataSourceId) {\n throw new Error(\n \"Missing Data Source. Please select a Data Source from the Airtable Credentials Provider\"\n );\n }\n if (!table) {\n throw new Error(\"AirtableRecord is missing the table name\");\n }\n if (!record) {\n throw new Error(\"AirtableRecord is missing the record ID\");\n }\n const pathname = `/${base}/${table}/${record}`;\n const url = `${host}/api/v1/server-data/query?pathname=${encodeURIComponent(\n pathname\n )}&dataSourceId=${dataSourceId}`;\n return (await (await fetch(url, { method: \"GET\" })).json())\n .fields as RecordData;\n }\n );\n\n if (\"error\" in data) {\n return <p>Error: {data.error?.message}</p>;\n }\n\n if (!(\"data\" in data)) {\n return <p>Loading...</p>;\n }\n\n return (\n <DataProvider name={contextKey} data={data.data}>\n {children}\n </DataProvider>\n );\n}\n\nconst contextKey = \"__airtableRecord\";\n\nfunction useRecord() {\n return useSelector(contextKey) as RecordData | undefined;\n}\n\nexport interface AirtableRecordFieldProps\n extends CanvasComponentProps<RecordData | undefined> {\n className?: string;\n style?: React.CSSProperties;\n field?: string;\n}\n\nexport function AirtableRecordField({\n className,\n field,\n style,\n setControlContextData,\n}: AirtableRecordFieldProps) {\n const record = useRecord();\n setControlContextData?.(record);\n\n return (\n <div className={className} style={style}>\n {record\n ? (() => {\n const val = record[field || Object.keys(record)[0]];\n if (val && typeof val === \"object\") {\n return \"Attachment \" + val[0].filename;\n }\n return val;\n })()\n : \"Error: Must provide a record to AirtableRecordField\"}\n </div>\n );\n}\n\nexport interface AirtableCollectionProps {\n table: string;\n fields?: string[];\n filterByFormula?: string;\n maxRecords?: number;\n pageSize?: number;\n sort?: {\n field: string;\n direction?: \"asc\" | \"desc\";\n }[];\n view?: string;\n}\n\nexport function AirtableCollection({\n table,\n children,\n ...props\n}: React.PropsWithChildren<AirtableCollectionProps>) {\n const credentialsContext = React.useContext(CredentialsContext);\n\n const dataSourceId = credentialsContext && credentialsContext.id;\n const base = credentialsContext && credentialsContext.base;\n const host = (credentialsContext && credentialsContext.host) || defaultHost;\n\n const searchArray: string[] = [];\n if (props.fields) {\n props.fields.forEach((f) =>\n searchArray.push(\n `${encodeURIComponent(`fields[]`)}=${encodeURIComponent(`${f}`)}`\n )\n );\n }\n ([\"filterByFormula\", \"maxRecords\", \"pageSize\", \"view\"] as const).forEach(\n (prop) => {\n if (props[prop]) {\n searchArray.push(\n `${encodeURIComponent(`${prop}`)}=${encodeURIComponent(\n `${props[prop]}`\n )}`\n );\n }\n }\n );\n if (props.sort) {\n props.sort.forEach((v, i) => {\n searchArray.push(\n `${encodeURIComponent(`sort[${i}][field]`)}=${encodeURIComponent(\n `${v.field}`\n )}`\n );\n if (v.direction) {\n searchArray.push(\n `${encodeURIComponent(`sort[${i}][direction]`)}=${encodeURIComponent(\n `${v.direction}`\n )}`\n );\n }\n });\n }\n\n const search = searchArray.length === 0 ? \"\" : \"?\" + searchArray.join(\"&\");\n\n const { data, error, isLoading } = usePlasmicQueryData(\n JSON.stringify([\n \"AirtableCollection\",\n host,\n base,\n table,\n search,\n dataSourceId,\n ]),\n async () => {\n if (!base || !dataSourceId) {\n throw new Error(\n \"Missing Data Source. Please select a Data Source from the Airtable Credentials Provider\"\n );\n }\n if (!table) {\n throw new Error(\"AirtableCollection is missing the table name\");\n }\n const pathname = `/${base}/${table}${search}`;\n const url = `${host}/api/v1/server-data/query?pathname=${encodeURIComponent(\n pathname\n )}&dataSourceId=${dataSourceId}`;\n return (await (await fetch(url, { method: \"GET\" })).json()).records as {\n fields: RecordData;\n id: string;\n }[];\n }\n );\n\n if (error) {\n return <p>Error: {error.message}</p>;\n }\n\n if (isLoading) {\n return <p>Loading...</p>;\n }\n\n return (\n <>\n {(data ?? []).map((record, index) => (\n <DataProvider key={record.id} name={contextKey} data={record.fields}>\n {repeatedElement(index, children)}\n </DataProvider>\n ))}\n </>\n );\n}\n\ninterface AirtableCredentialsProviderProps {\n dataSource: DataSourceInfo;\n host?: string;\n}\n\nexport function AirtableCredentialsProvider({\n dataSource,\n host: maybeHost,\n children,\n}: React.PropsWithChildren<AirtableCredentialsProviderProps>) {\n const inCanvas = usePlasmicCanvasContext();\n if (inCanvas && (!dataSource || !dataSource.id || !dataSource.base)) {\n return (\n <p>\n Error: Missing Data Source. Please select a Data Source from the\n Airtable Credentials Provider\n </p>\n );\n }\n const host = maybeHost || defaultHost;\n return (\n <CredentialsContext.Provider value={{ ...dataSource, host }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\nconst thisModule = \"@plasmicpkgs/airtable\";\n\nexport const airtableRecordMeta: ComponentMeta<AirtableRecordProps> = {\n name: \"hostless-airtable-record\",\n displayName: \"Airtable Record\",\n importPath: thisModule,\n importName: \"AirtableRecord\",\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"component\",\n name: \"hostless-airtable-record-field\",\n },\n },\n table: {\n type: \"string\",\n displayName: \"Table Name\",\n description: \"The Airtable table name or ID\",\n },\n record: {\n type: \"string\",\n displayName: \"Record\",\n description: \"The table record ID\",\n },\n },\n};\n\nexport function registerAirtableRecord(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableRecordMeta?: ComponentMeta<AirtableRecordProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableRecord,\n customAirtableRecordMeta ?? airtableRecordMeta\n );\n } else {\n registerComponent(\n AirtableRecord,\n customAirtableRecordMeta ?? airtableRecordMeta\n );\n }\n}\n\nexport const airtableRecordFieldMeta: ComponentMeta<AirtableRecordFieldProps> = {\n name: \"hostless-airtable-record-field\",\n displayName: \"Airtable Record Field\",\n importPath: thisModule,\n importName: \"AirtableRecordField\",\n props: {\n field: {\n type: \"choice\",\n displayName: \"Field Name\",\n defaultValueHint: \"The first field\",\n options: (_props, data) => {\n return data ? Object.keys(data) : [\"Data unavailable\"];\n },\n },\n },\n};\n\nexport function registerAirtableRecordField(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableRecordFieldMeta?: ComponentMeta<AirtableRecordFieldProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableRecordField,\n customAirtableRecordFieldMeta ?? airtableRecordFieldMeta\n );\n } else {\n registerComponent(\n AirtableRecordField,\n customAirtableRecordFieldMeta ?? airtableRecordFieldMeta\n );\n }\n}\n\nexport const airtableCollectionMeta: ComponentMeta<AirtableCollectionProps> = {\n name: \"hostless-airtable-collection\",\n displayName: \"Airtable Collection\",\n importPath: thisModule,\n importName: \"AirtableCollection\",\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n isRepeated: true,\n defaultValue: {\n type: \"component\",\n name: \"hostless-airtable-record-field\",\n },\n },\n table: {\n type: \"string\",\n displayName: \"Table Name\",\n description: \"The Airtable table name or ID\",\n },\n fields: {\n type: \"object\",\n displayName: \"Fields\",\n description: \"List of strings containing the fields to be included\",\n },\n maxRecords: {\n type: \"number\",\n displayName: \"Max Records\",\n description: \"The maximum total number of records that will be returned\",\n defaultValueHint: 100,\n max: 100,\n min: 1,\n },\n view: {\n type: \"string\",\n displayName: \"View\",\n description:\n \"The name or ID of a view in the table. If set, only records from that view will be returned\",\n },\n sort: {\n type: \"object\",\n displayName: \"Sort\",\n description:\n 'A list of Airtable sort objects that specifies how the records will be ordered. Each sort object must have a field key specifying the name of the field to sort on, and an optional direction key that is either \"asc\" or \"desc\". The default direction is \"asc\"',\n },\n filterByFormula: {\n type: \"string\",\n displayName: \"Filter by Formula\",\n description: \"An Airtable formula used to filter records\",\n },\n },\n};\n\nexport function registerAirtableCollection(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableCollectionMeta?: ComponentMeta<AirtableCollectionProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableCollection,\n customAirtableCollectionMeta ?? airtableCollectionMeta\n );\n } else {\n registerComponent(\n AirtableCollection,\n customAirtableCollectionMeta ?? airtableCollectionMeta\n );\n }\n}\n\nexport const airtableCredentialsProviderMeta: GlobalContextMeta<AirtableCredentialsProviderProps> = {\n name: \"hostless-airtable-credentials-provider\",\n displayName: \"Airtable Credentials Provider\",\n importPath: thisModule,\n importName: \"AirtableCredentialsProvider\",\n props: {\n dataSource: {\n type: \"dataSource\",\n dataSource: \"airtable\",\n displayName: \"Data Source\",\n description: \"The Airtable Data Source to use\",\n },\n host: {\n type: \"string\",\n displayName: \"Host\",\n description: \"Plasmic Server-Data URL\",\n defaultValueHint: defaultHost,\n },\n },\n};\n\nexport function registerAirtableCredentialsProvider(\n loader?: { registerGlobalContext: typeof registerGlobalContext },\n customAirtableCredentialsProviderMeta?: GlobalContextMeta<AirtableCredentialsProviderProps>\n) {\n if (loader) {\n loader.registerGlobalContext(\n AirtableCredentialsProvider,\n customAirtableCredentialsProviderMeta ?? airtableCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n AirtableCredentialsProvider,\n customAirtableCredentialsProviderMeta ?? airtableCredentialsProviderMeta\n );\n }\n}\n","export * from \"./RecordData\";\nimport {\n registerAirtableCollection,\n registerAirtableCredentialsProvider,\n registerAirtableRecord,\n registerAirtableRecordField,\n} from \"./RecordData\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n registerAirtableCollection(loader);\n registerAirtableCredentialsProvider(loader);\n registerAirtableRecord(loader);\n registerAirtableRecordField(loader);\n}\n"],"names":["defaultHost","CredentialsContext","React","createContext","undefined","AirtableRecord","_ref","table","record","children","credentialsContext","useContext","dataSourceId","id","base","host","data","usePlasmicQueryData","JSON","stringify","_asyncToGenerator","_regeneratorRuntime","mark","_callee","pathname","url","wrap","_callee$","_context","prev","next","Error","encodeURIComponent","fetch","method","sent","json","abrupt","fields","stop","_data$error","error","message","DataProvider","name","contextKey","useRecord","useSelector","AirtableRecordField","_ref3","className","field","style","setControlContextData","val","Object","keys","filename","AirtableCollection","_ref4","props","_objectWithoutPropertiesLoose","_excluded","searchArray","forEach","f","push","prop","sort","v","i","direction","search","length","join","_usePlasmicQueryData","_callee2","_callee2$","_context2","records","isLoading","map","index","key","repeatedElement","AirtableCredentialsProvider","_ref6","dataSource","maybeHost","inCanvas","usePlasmicCanvasContext","Provider","value","_extends","thisModule","airtableRecordMeta","displayName","importPath","importName","providesData","type","defaultValue","description","registerAirtableRecord","loader","customAirtableRecordMeta","registerComponent","airtableRecordFieldMeta","defaultValueHint","options","_props","registerAirtableRecordField","customAirtableRecordFieldMeta","airtableCollectionMeta","isRepeated","maxRecords","max","min","view","filterByFormula","registerAirtableCollection","customAirtableCollectionMeta","airtableCredentialsProviderMeta","registerAirtableCredentialsProvider","customAirtableCredentialsProviderMeta","registerGlobalContext","registerAll"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@plasmicapp/host"),r=e(require("@plasmicapp/host/registerComponent")),n=e(require("@plasmicapp/host/registerGlobalContext")),o=require("@plasmicapp/query"),a=e(require("react"));function i(){i=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},a="function"==typeof Symbol?Symbol:{},l=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function d(e,t,r,n){var a=Object.create((t&&t.prototype instanceof v?t:v).prototype),i=new S(n||[]);return o(a,"_invoke",{value:L(e,r,i)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=d;var f="suspendedStart",h="executing",m="completed",y={};function v(){}function b(){}function g(){}var w={};u(w,l,(function(){return this}));var x=Object.getPrototypeOf,E=x&&x(x(O([])));E&&E!==r&&n.call(E,l)&&(w=E);var C=g.prototype=v.prototype=Object.create(w);function A(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function N(e,t){function r(o,a,i,l){var c=p(e[o],e,a);if("throw"!==c.type){var s=c.arg,u=s.value;return u&&"object"==typeof u&&n.call(u,"__await")?t.resolve(u.__await).then((function(e){r("next",e,i,l)}),(function(e){r("throw",e,i,l)})):t.resolve(u).then((function(e){s.value=e,i(s)}),(function(e){return r("throw",e,i,l)}))}l(c.arg)}var a;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return a=a?a.then(o,o):o()}})}function L(t,r,n){var o=f;return function(a,i){if(o===h)throw new Error("Generator is already running");if(o===m){if("throw"===a)throw i;return{value:e,done:!0}}for(n.method=a,n.arg=i;;){var l=n.delegate;if(l){var c=P(l,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===f)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=h;var s=p(t,r,n);if("normal"===s.type){if(o=n.done?m:"suspendedYield",s.arg===y)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=m,n.method="throw",n.arg=s.arg)}}}function P(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,P(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=p(o,t.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,y;var i=a.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function R(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(R,this),this.reset(!0)}function O(t){if(t||""===t){var r=t[l];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}throw new TypeError(typeof t+" is not iterable")}return b.prototype=g,o(C,"constructor",{value:g,configurable:!0}),o(g,"constructor",{value:b,configurable:!0}),b.displayName=u(g,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,u(e,s,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},A(N.prototype),u(N.prototype,c,(function(){return this})),t.AsyncIterator=N,t.async=function(e,r,n,o,a){void 0===a&&(a=Promise);var i=new N(d(e,r,n,o),a);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},A(C),u(C,s,"Generator"),u(C,l,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=O,S.prototype={constructor:S,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(j),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return l.type="throw",l.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],l=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),j(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;j(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:O(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}function l(e,t,r,n,o,a,i){try{var l=e[a](i),c=l.value}catch(e){return void r(e)}l.done?t(c):Promise.resolve(c).then(n,o)}function c(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){l(a,n,o,i,c,"next",e)}function c(e){l(a,n,o,i,c,"throw",e)}i(void 0)}))}}function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var u=["table","children"],d="https://studio.plasmic.app",p=a.createContext(void 0);function f(e){var r,n=e.table,l=e.record,s=e.children,u=a.useContext(p),f=u&&u.id,m=u&&u.base,y=u&&u.host||d,v=o.usePlasmicQueryData(JSON.stringify(["AirtableRecord",y,m,n,l,f]),c(i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(m&&f){e.next=2;break}throw new Error("Missing Data Source. Please select a Data Source from the Airtable Credentials Provider");case 2:if(n){e.next=4;break}throw new Error("AirtableRecord is missing the table name");case 4:if(l){e.next=6;break}throw new Error("AirtableRecord is missing the record ID");case 6:return t=y+"/api/v1/server-data/query?pathname="+encodeURIComponent("/"+m+"/"+n+"/"+l)+"&dataSourceId="+f,e.next=10,fetch(t,{method:"GET"});case 10:return e.next=12,e.sent.json();case 12:return e.abrupt("return",e.sent.fields);case 13:case"end":return e.stop()}}),e)}))));return"error"in v?a.createElement("p",null,"Error: ",null==(r=v.error)?void 0:r.message):"data"in v?a.createElement(t.DataProvider,{name:h,data:v.data},s):a.createElement("p",null,"Loading...")}var h="__airtableRecord";function m(e){var r,n=e.className,o=e.field,i=e.style,l=e.setControlContextData,c=t.useSelector(h);return null==l||l(c),a.createElement("div",{className:n,style:i},c?(r=c[o||Object.keys(c)[0]])&&"object"==typeof r?"Attachment "+r[0].filename:r:"Error: Must provide a record to AirtableRecordField")}function y(e){var r=e.table,n=e.children,l=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)t.indexOf(r=a[n])>=0||(o[r]=e[r]);return o}(e,u),s=a.useContext(p),f=s&&s.id,m=s&&s.base,y=s&&s.host||d,v=[];l.fields&&l.fields.forEach((function(e){return v.push(encodeURIComponent("fields[]")+"="+encodeURIComponent(""+e))})),["filterByFormula","maxRecords","pageSize","view"].forEach((function(e){l[e]&&v.push(encodeURIComponent(""+e)+"="+encodeURIComponent(""+l[e]))})),l.sort&&l.sort.forEach((function(e,t){v.push(encodeURIComponent("sort["+t+"][field]")+"="+encodeURIComponent(""+e.field)),e.direction&&v.push(encodeURIComponent("sort["+t+"][direction]")+"="+encodeURIComponent(""+e.direction))}));var b=0===v.length?"":"?"+v.join("&"),g=o.usePlasmicQueryData(JSON.stringify(["AirtableCollection",y,m,r,b,f]),c(i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(m&&f){e.next=2;break}throw new Error("Missing Data Source. Please select a Data Source from the Airtable Credentials Provider");case 2:if(r){e.next=4;break}throw new Error("AirtableCollection is missing the table name");case 4:return t=y+"/api/v1/server-data/query?pathname="+encodeURIComponent("/"+m+"/"+r+b)+"&dataSourceId="+f,e.next=8,fetch(t,{method:"GET"});case 8:return e.next=10,e.sent.json();case 10:return e.abrupt("return",e.sent.records);case 11:case"end":return e.stop()}}),e)})))),w=g.data,x=g.error,E=g.isLoading;return x?a.createElement("p",null,"Error: ",x.message):E?a.createElement("p",null,"Loading..."):a.createElement(a.Fragment,null,(null!=w?w:[]).map((function(e,r){return a.createElement(t.DataProvider,{key:e.id,name:h,data:e.fields},t.repeatedElement(r,n))})))}function v(e){var r=e.dataSource,n=e.host,o=e.children;return!t.usePlasmicCanvasContext()||r&&r.id&&r.base?a.createElement(p.Provider,{value:s({},r,{host:n||d})},o):a.createElement("p",null,"Error: Missing Data Source. Please select a Data Source from the Airtable Credentials Provider")}var b="@plasmicpkgs/airtable",g={name:"hostless-airtable-record",displayName:"Airtable Record",importPath:b,importName:"AirtableRecord",providesData:!0,props:{children:{type:"slot",defaultValue:{type:"component",name:"hostless-airtable-record-field"}},table:{type:"string",displayName:"Table Name",description:"The Airtable table name or ID"},record:{type:"string",displayName:"Record",description:"The table record ID"}}};function w(e,t){e?e.registerComponent(f,null!=t?t:g):r(f,null!=t?t:g)}var x={name:"hostless-airtable-record-field",displayName:"Airtable Record Field",importPath:b,importName:"AirtableRecordField",props:{field:{type:"choice",displayName:"Field Name",defaultValueHint:"The first field",options:function(e,t){return t?Object.keys(t):["Data unavailable"]}}}};function E(e,t){e?e.registerComponent(m,null!=t?t:x):r(m,null!=t?t:x)}var C={name:"hostless-airtable-collection",displayName:"Airtable Collection",importPath:b,importName:"AirtableCollection",providesData:!0,props:{children:{type:"slot",isRepeated:!0,defaultValue:{type:"component",name:"hostless-airtable-record-field"}},table:{type:"string",displayName:"Table Name",description:"The Airtable table name or ID"},fields:{type:"object",displayName:"Fields",description:"List of strings containing the fields to be included"},maxRecords:{type:"number",displayName:"Max Records",description:"The maximum total number of records that will be returned",defaultValueHint:100,max:100,min:1},view:{type:"string",displayName:"View",description:"The name or ID of a view in the table. If set, only records from that view will be returned"},sort:{type:"object",displayName:"Sort",description:'A list of Airtable sort objects that specifies how the records will be ordered. Each sort object must have a field key specifying the name of the field to sort on, and an optional direction key that is either "asc" or "desc". The default direction is "asc"'},filterByFormula:{type:"string",displayName:"Filter by Formula",description:"An Airtable formula used to filter records"}}};function A(e,t){e?e.registerComponent(y,null!=t?t:C):r(y,null!=t?t:C)}var N={name:"hostless-airtable-credentials-provider",displayName:"Airtable Credentials Provider",importPath:b,importName:"AirtableCredentialsProvider",props:{dataSource:{type:"dataSource",dataSource:"airtable",displayName:"Data Source",description:"The Airtable Data Source to use"},host:{type:"string",displayName:"Host",description:"Plasmic Server-Data URL",defaultValueHint:d}}};function L(e,t){e?e.registerGlobalContext(v,null!=t?t:N):n(v,null!=t?t:N)}exports.AirtableCollection=y,exports.AirtableCredentialsProvider=v,exports.AirtableRecord=f,exports.AirtableRecordField=m,exports.airtableCollectionMeta=C,exports.airtableCredentialsProviderMeta=N,exports.airtableRecordFieldMeta=x,exports.airtableRecordMeta=g,exports.registerAirtableCollection=A,exports.registerAirtableCredentialsProvider=L,exports.registerAirtableRecord=w,exports.registerAirtableRecordField=E,exports.registerAll=function(e){A(e),L(e),w(e),E(e)};
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@plasmicapp/host"),r=e(require("@plasmicapp/host/registerComponent")),n=e(require("@plasmicapp/host/registerGlobalContext")),o=require("@plasmicapp/query"),a=e(require("react"));function i(e,t,r,n,o,a,i){try{var l=e[a](i),c=l.value}catch(e){return void r(e)}l.done?t(c):Promise.resolve(c).then(n,o)}function l(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function l(e){i(a,n,o,l,c,"next",e)}function c(e){i(a,n,o,l,c,"throw",e)}l(void 0)}))}}function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function s(){s=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",l=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function d(e,t,r,n){var a=Object.create((t&&t.prototype instanceof v?t:v).prototype),i=new S(n||[]);return o(a,"_invoke",{value:P(e,r,i)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=d;var f="suspendedStart",h="executing",m="completed",y={};function v(){}function b(){}function g(){}var w={};u(w,i,(function(){return this}));var x=Object.getPrototypeOf,E=x&&x(x(O([])));E&&E!==r&&n.call(E,i)&&(w=E);var C=g.prototype=v.prototype=Object.create(w);function A(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function N(e,t){function r(o,a,i,l){var c=p(e[o],e,a);if("throw"!==c.type){var s=c.arg,u=s.value;return u&&"object"==typeof u&&n.call(u,"__await")?t.resolve(u.__await).then((function(e){r("next",e,i,l)}),(function(e){r("throw",e,i,l)})):t.resolve(u).then((function(e){s.value=e,i(s)}),(function(e){return r("throw",e,i,l)}))}l(c.arg)}var a;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return a=a?a.then(o,o):o()}})}function P(t,r,n){var o=f;return function(a,i){if(o===h)throw Error("Generator is already running");if(o===m){if("throw"===a)throw i;return{value:e,done:!0}}for(n.method=a,n.arg=i;;){var l=n.delegate;if(l){var c=L(l,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===f)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=h;var s=p(t,r,n);if("normal"===s.type){if(o=n.done?m:"suspendedYield",s.arg===y)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=m,n.method="throw",n.arg=s.arg)}}}function L(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,L(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=p(o,t.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,y;var i=a.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function R(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(R,this),this.reset(!0)}function O(t){if(t||""===t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}throw new TypeError(typeof t+" is not iterable")}return b.prototype=g,o(C,"constructor",{value:g,configurable:!0}),o(g,"constructor",{value:b,configurable:!0}),b.displayName=u(g,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},A(N.prototype),u(N.prototype,l,(function(){return this})),t.AsyncIterator=N,t.async=function(e,r,n,o,a){void 0===a&&(a=Promise);var i=new N(d(e,r,n,o),a);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},A(C),u(C,c,"Generator"),u(C,i,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=O,S.prototype={constructor:S,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(j),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return l.type="throw",l.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],l=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),j(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;j(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:O(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}var u=["table","children"],d="https://studio.plasmic.app",p=a.createContext(void 0);function f(e){var r,n=e.table,i=e.record,c=e.children,u=a.useContext(p),f=u&&u.id,m=u&&u.base,y=u&&u.host||d,v=o.usePlasmicQueryData(JSON.stringify(["AirtableRecord",y,m,n,i,f]),l(s().mark((function e(){var t;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(m&&f){e.next=2;break}throw new Error("Missing Data Source. Please select a Data Source from the Airtable Credentials Provider");case 2:if(n){e.next=4;break}throw new Error("AirtableRecord is missing the table name");case 4:if(i){e.next=6;break}throw new Error("AirtableRecord is missing the record ID");case 6:return t=y+"/api/v1/server-data/query?pathname="+encodeURIComponent("/"+m+"/"+n+"/"+i)+"&dataSourceId="+f,e.next=10,fetch(t,{method:"GET"});case 10:return e.next=12,e.sent.json();case 12:return e.abrupt("return",e.sent.fields);case 13:case"end":return e.stop()}}),e)}))));return"error"in v?a.createElement("p",null,"Error: ",null==(r=v.error)?void 0:r.message):"data"in v?a.createElement(t.DataProvider,{name:h,data:v.data},c):a.createElement("p",null,"Loading...")}var h="__airtableRecord";function m(e){var r,n=e.className,o=e.field,i=e.style,l=e.setControlContextData,c=t.useSelector(h);return null==l||l(c),a.createElement("div",{className:n,style:i},c?(r=c[o||Object.keys(c)[0]])&&"object"==typeof r?"Attachment "+r[0].filename:r:"Error: Must provide a record to AirtableRecordField")}function y(e){var r=e.table,n=e.children,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,u),c=a.useContext(p),f=c&&c.id,m=c&&c.base,y=c&&c.host||d,v=[];i.fields&&i.fields.forEach((function(e){return v.push(encodeURIComponent("fields[]")+"="+encodeURIComponent(""+e))})),["filterByFormula","maxRecords","pageSize","view"].forEach((function(e){i[e]&&v.push(encodeURIComponent(""+e)+"="+encodeURIComponent(""+i[e]))})),i.sort&&i.sort.forEach((function(e,t){v.push(encodeURIComponent("sort["+t+"][field]")+"="+encodeURIComponent(""+e.field)),e.direction&&v.push(encodeURIComponent("sort["+t+"][direction]")+"="+encodeURIComponent(""+e.direction))}));var b=0===v.length?"":"?"+v.join("&"),g=o.usePlasmicQueryData(JSON.stringify(["AirtableCollection",y,m,r,b,f]),l(s().mark((function e(){var t;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(m&&f){e.next=2;break}throw new Error("Missing Data Source. Please select a Data Source from the Airtable Credentials Provider");case 2:if(r){e.next=4;break}throw new Error("AirtableCollection is missing the table name");case 4:return t=y+"/api/v1/server-data/query?pathname="+encodeURIComponent("/"+m+"/"+r+b)+"&dataSourceId="+f,e.next=8,fetch(t,{method:"GET"});case 8:return e.next=10,e.sent.json();case 10:return e.abrupt("return",e.sent.records);case 11:case"end":return e.stop()}}),e)})))),w=g.data,x=g.error,E=g.isLoading;return x?a.createElement("p",null,"Error: ",x.message):E?a.createElement("p",null,"Loading..."):a.createElement(a.Fragment,null,(null!=w?w:[]).map((function(e,r){return a.createElement(t.DataProvider,{key:e.id,name:h,data:e.fields},t.repeatedElement(r,n))})))}function v(e){var r=e.dataSource,n=e.host,o=e.children;return!t.usePlasmicCanvasContext()||r&&r.id&&r.base?a.createElement(p.Provider,{value:c({},r,{host:n||d})},o):a.createElement("p",null,"Error: Missing Data Source. Please select a Data Source from the Airtable Credentials Provider")}var b="@plasmicpkgs/airtable",g={name:"hostless-airtable-record",displayName:"Airtable Record",importPath:b,importName:"AirtableRecord",providesData:!0,props:{children:{type:"slot",defaultValue:{type:"component",name:"hostless-airtable-record-field"}},table:{type:"string",displayName:"Table Name",description:"The Airtable table name or ID"},record:{type:"string",displayName:"Record",description:"The table record ID"}}};function w(e,t){e?e.registerComponent(f,null!=t?t:g):r(f,null!=t?t:g)}var x={name:"hostless-airtable-record-field",displayName:"Airtable Record Field",importPath:b,importName:"AirtableRecordField",props:{field:{type:"choice",displayName:"Field Name",defaultValueHint:"The first field",options:function(e,t){return t?Object.keys(t):["Data unavailable"]}}}};function E(e,t){e?e.registerComponent(m,null!=t?t:x):r(m,null!=t?t:x)}var C={name:"hostless-airtable-collection",displayName:"Airtable Collection",importPath:b,importName:"AirtableCollection",providesData:!0,props:{children:{type:"slot",isRepeated:!0,defaultValue:{type:"component",name:"hostless-airtable-record-field"}},table:{type:"string",displayName:"Table Name",description:"The Airtable table name or ID"},fields:{type:"object",displayName:"Fields",description:"List of strings containing the fields to be included"},maxRecords:{type:"number",displayName:"Max Records",description:"The maximum total number of records that will be returned",defaultValueHint:100,max:100,min:1},view:{type:"string",displayName:"View",description:"The name or ID of a view in the table. If set, only records from that view will be returned"},sort:{type:"object",displayName:"Sort",description:'A list of Airtable sort objects that specifies how the records will be ordered. Each sort object must have a field key specifying the name of the field to sort on, and an optional direction key that is either "asc" or "desc". The default direction is "asc"'},filterByFormula:{type:"string",displayName:"Filter by Formula",description:"An Airtable formula used to filter records"}}};function A(e,t){e?e.registerComponent(y,null!=t?t:C):r(y,null!=t?t:C)}var N={name:"hostless-airtable-credentials-provider",displayName:"Airtable Credentials Provider",importPath:b,importName:"AirtableCredentialsProvider",props:{dataSource:{type:"dataSource",dataSource:"airtable",displayName:"Data Source",description:"The Airtable Data Source to use"},host:{type:"string",displayName:"Host",description:"Plasmic Server-Data URL",defaultValueHint:d}}};function P(e,t){e?e.registerGlobalContext(v,null!=t?t:N):n(v,null!=t?t:N)}exports.AirtableCollection=y,exports.AirtableCredentialsProvider=v,exports.AirtableRecord=f,exports.AirtableRecordField=m,exports.airtableCollectionMeta=C,exports.airtableCredentialsProviderMeta=N,exports.airtableRecordFieldMeta=x,exports.airtableRecordMeta=g,exports.registerAirtableCollection=A,exports.registerAirtableCredentialsProvider=P,exports.registerAirtableRecord=w,exports.registerAirtableRecordField=E,exports.registerAll=function(e){A(e),P(e),w(e),E(e)};
2
2
  //# sourceMappingURL=airtable.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"airtable.cjs.production.min.js","sources":["../src/RecordData.tsx","../src/index.tsx"],"sourcesContent":["import {\n DataProvider,\n repeatedElement,\n usePlasmicCanvasContext,\n useSelector,\n} from \"@plasmicapp/host\";\nimport registerComponent, {\n CanvasComponentProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext, {\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport React from \"react\";\n\nconst defaultHost = \"https://studio.plasmic.app\";\n\nexport interface DataSourceInfo {\n id: string;\n base: string;\n host?: string;\n}\n\nconst CredentialsContext = React.createContext<DataSourceInfo | undefined>(\n undefined\n);\n\ninterface RecordData {\n [field: string]: string | { id: string; url: string; filename: string }[];\n}\n\nexport interface AirtableRecordProps {\n table: string;\n record: string;\n}\n\nexport function AirtableRecord({\n table,\n record,\n children,\n}: React.PropsWithChildren<AirtableRecordProps>) {\n const credentialsContext = React.useContext(CredentialsContext);\n\n const dataSourceId = credentialsContext && credentialsContext.id;\n const base = credentialsContext && credentialsContext.base;\n const host = (credentialsContext && credentialsContext.host) || defaultHost;\n\n const data = usePlasmicQueryData(\n JSON.stringify([\"AirtableRecord\", host, base, table, record, dataSourceId]),\n async () => {\n if (!base || !dataSourceId) {\n throw new Error(\n \"Missing Data Source. Please select a Data Source from the Airtable Credentials Provider\"\n );\n }\n if (!table) {\n throw new Error(\"AirtableRecord is missing the table name\");\n }\n if (!record) {\n throw new Error(\"AirtableRecord is missing the record ID\");\n }\n const pathname = `/${base}/${table}/${record}`;\n const url = `${host}/api/v1/server-data/query?pathname=${encodeURIComponent(\n pathname\n )}&dataSourceId=${dataSourceId}`;\n return (await (await fetch(url, { method: \"GET\" })).json())\n .fields as RecordData;\n }\n );\n\n if (\"error\" in data) {\n return <p>Error: {data.error?.message}</p>;\n }\n\n if (!(\"data\" in data)) {\n return <p>Loading...</p>;\n }\n\n return (\n <DataProvider name={contextKey} data={data.data}>\n {children}\n </DataProvider>\n );\n}\n\nconst contextKey = \"__airtableRecord\";\n\nfunction useRecord() {\n return useSelector(contextKey) as RecordData | undefined;\n}\n\nexport interface AirtableRecordFieldProps\n extends CanvasComponentProps<RecordData | undefined> {\n className?: string;\n style?: React.CSSProperties;\n field?: string;\n}\n\nexport function AirtableRecordField({\n className,\n field,\n style,\n setControlContextData,\n}: AirtableRecordFieldProps) {\n const record = useRecord();\n setControlContextData?.(record);\n\n return (\n <div className={className} style={style}>\n {record\n ? (() => {\n const val = record[field || Object.keys(record)[0]];\n if (val && typeof val === \"object\") {\n return \"Attachment \" + val[0].filename;\n }\n return val;\n })()\n : \"Error: Must provide a record to AirtableRecordField\"}\n </div>\n );\n}\n\nexport interface AirtableCollectionProps {\n table: string;\n fields?: string[];\n filterByFormula?: string;\n maxRecords?: number;\n pageSize?: number;\n sort?: {\n field: string;\n direction?: \"asc\" | \"desc\";\n }[];\n view?: string;\n}\n\nexport function AirtableCollection({\n table,\n children,\n ...props\n}: React.PropsWithChildren<AirtableCollectionProps>) {\n const credentialsContext = React.useContext(CredentialsContext);\n\n const dataSourceId = credentialsContext && credentialsContext.id;\n const base = credentialsContext && credentialsContext.base;\n const host = (credentialsContext && credentialsContext.host) || defaultHost;\n\n const searchArray: string[] = [];\n if (props.fields) {\n props.fields.forEach((f) =>\n searchArray.push(\n `${encodeURIComponent(`fields[]`)}=${encodeURIComponent(`${f}`)}`\n )\n );\n }\n ([\"filterByFormula\", \"maxRecords\", \"pageSize\", \"view\"] as const).forEach(\n (prop) => {\n if (props[prop]) {\n searchArray.push(\n `${encodeURIComponent(`${prop}`)}=${encodeURIComponent(\n `${props[prop]}`\n )}`\n );\n }\n }\n );\n if (props.sort) {\n props.sort.forEach((v, i) => {\n searchArray.push(\n `${encodeURIComponent(`sort[${i}][field]`)}=${encodeURIComponent(\n `${v.field}`\n )}`\n );\n if (v.direction) {\n searchArray.push(\n `${encodeURIComponent(`sort[${i}][direction]`)}=${encodeURIComponent(\n `${v.direction}`\n )}`\n );\n }\n });\n }\n\n const search = searchArray.length === 0 ? \"\" : \"?\" + searchArray.join(\"&\");\n\n const { data, error, isLoading } = usePlasmicQueryData(\n JSON.stringify([\n \"AirtableCollection\",\n host,\n base,\n table,\n search,\n dataSourceId,\n ]),\n async () => {\n if (!base || !dataSourceId) {\n throw new Error(\n \"Missing Data Source. Please select a Data Source from the Airtable Credentials Provider\"\n );\n }\n if (!table) {\n throw new Error(\"AirtableCollection is missing the table name\");\n }\n const pathname = `/${base}/${table}${search}`;\n const url = `${host}/api/v1/server-data/query?pathname=${encodeURIComponent(\n pathname\n )}&dataSourceId=${dataSourceId}`;\n return (await (await fetch(url, { method: \"GET\" })).json()).records as {\n fields: RecordData;\n id: string;\n }[];\n }\n );\n\n if (error) {\n return <p>Error: {error.message}</p>;\n }\n\n if (isLoading) {\n return <p>Loading...</p>;\n }\n\n return (\n <>\n {(data ?? []).map((record, index) => (\n <DataProvider key={record.id} name={contextKey} data={record.fields}>\n {repeatedElement(index, children)}\n </DataProvider>\n ))}\n </>\n );\n}\n\ninterface AirtableCredentialsProviderProps {\n dataSource: DataSourceInfo;\n host?: string;\n}\n\nexport function AirtableCredentialsProvider({\n dataSource,\n host: maybeHost,\n children,\n}: React.PropsWithChildren<AirtableCredentialsProviderProps>) {\n const inCanvas = usePlasmicCanvasContext();\n if (inCanvas && (!dataSource || !dataSource.id || !dataSource.base)) {\n return (\n <p>\n Error: Missing Data Source. Please select a Data Source from the\n Airtable Credentials Provider\n </p>\n );\n }\n const host = maybeHost || defaultHost;\n return (\n <CredentialsContext.Provider value={{ ...dataSource, host }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\nconst thisModule = \"@plasmicpkgs/airtable\";\n\nexport const airtableRecordMeta: ComponentMeta<AirtableRecordProps> = {\n name: \"hostless-airtable-record\",\n displayName: \"Airtable Record\",\n importPath: thisModule,\n importName: \"AirtableRecord\",\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"component\",\n name: \"hostless-airtable-record-field\",\n },\n },\n table: {\n type: \"string\",\n displayName: \"Table Name\",\n description: \"The Airtable table name or ID\",\n },\n record: {\n type: \"string\",\n displayName: \"Record\",\n description: \"The table record ID\",\n },\n },\n};\n\nexport function registerAirtableRecord(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableRecordMeta?: ComponentMeta<AirtableRecordProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableRecord,\n customAirtableRecordMeta ?? airtableRecordMeta\n );\n } else {\n registerComponent(\n AirtableRecord,\n customAirtableRecordMeta ?? airtableRecordMeta\n );\n }\n}\n\nexport const airtableRecordFieldMeta: ComponentMeta<AirtableRecordFieldProps> = {\n name: \"hostless-airtable-record-field\",\n displayName: \"Airtable Record Field\",\n importPath: thisModule,\n importName: \"AirtableRecordField\",\n props: {\n field: {\n type: \"choice\",\n displayName: \"Field Name\",\n defaultValueHint: \"The first field\",\n options: (_props, data) => {\n return data ? Object.keys(data) : [\"Data unavailable\"];\n },\n },\n },\n};\n\nexport function registerAirtableRecordField(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableRecordFieldMeta?: ComponentMeta<AirtableRecordFieldProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableRecordField,\n customAirtableRecordFieldMeta ?? airtableRecordFieldMeta\n );\n } else {\n registerComponent(\n AirtableRecordField,\n customAirtableRecordFieldMeta ?? airtableRecordFieldMeta\n );\n }\n}\n\nexport const airtableCollectionMeta: ComponentMeta<AirtableCollectionProps> = {\n name: \"hostless-airtable-collection\",\n displayName: \"Airtable Collection\",\n importPath: thisModule,\n importName: \"AirtableCollection\",\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n isRepeated: true,\n defaultValue: {\n type: \"component\",\n name: \"hostless-airtable-record-field\",\n },\n },\n table: {\n type: \"string\",\n displayName: \"Table Name\",\n description: \"The Airtable table name or ID\",\n },\n fields: {\n type: \"object\",\n displayName: \"Fields\",\n description: \"List of strings containing the fields to be included\",\n },\n maxRecords: {\n type: \"number\",\n displayName: \"Max Records\",\n description: \"The maximum total number of records that will be returned\",\n defaultValueHint: 100,\n max: 100,\n min: 1,\n },\n view: {\n type: \"string\",\n displayName: \"View\",\n description:\n \"The name or ID of a view in the table. If set, only records from that view will be returned\",\n },\n sort: {\n type: \"object\",\n displayName: \"Sort\",\n description:\n 'A list of Airtable sort objects that specifies how the records will be ordered. Each sort object must have a field key specifying the name of the field to sort on, and an optional direction key that is either \"asc\" or \"desc\". The default direction is \"asc\"',\n },\n filterByFormula: {\n type: \"string\",\n displayName: \"Filter by Formula\",\n description: \"An Airtable formula used to filter records\",\n },\n },\n};\n\nexport function registerAirtableCollection(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableCollectionMeta?: ComponentMeta<AirtableCollectionProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableCollection,\n customAirtableCollectionMeta ?? airtableCollectionMeta\n );\n } else {\n registerComponent(\n AirtableCollection,\n customAirtableCollectionMeta ?? airtableCollectionMeta\n );\n }\n}\n\nexport const airtableCredentialsProviderMeta: GlobalContextMeta<AirtableCredentialsProviderProps> = {\n name: \"hostless-airtable-credentials-provider\",\n displayName: \"Airtable Credentials Provider\",\n importPath: thisModule,\n importName: \"AirtableCredentialsProvider\",\n props: {\n dataSource: {\n type: \"dataSource\",\n dataSource: \"airtable\",\n displayName: \"Data Source\",\n description: \"The Airtable Data Source to use\",\n },\n host: {\n type: \"string\",\n displayName: \"Host\",\n description: \"Plasmic Server-Data URL\",\n defaultValueHint: defaultHost,\n },\n },\n};\n\nexport function registerAirtableCredentialsProvider(\n loader?: { registerGlobalContext: typeof registerGlobalContext },\n customAirtableCredentialsProviderMeta?: GlobalContextMeta<AirtableCredentialsProviderProps>\n) {\n if (loader) {\n loader.registerGlobalContext(\n AirtableCredentialsProvider,\n customAirtableCredentialsProviderMeta ?? airtableCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n AirtableCredentialsProvider,\n customAirtableCredentialsProviderMeta ?? airtableCredentialsProviderMeta\n );\n }\n}\n","export * from \"./RecordData\";\nimport {\n registerAirtableCollection,\n registerAirtableCredentialsProvider,\n registerAirtableRecord,\n registerAirtableRecordField,\n} from \"./RecordData\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n registerAirtableCollection(loader);\n registerAirtableCredentialsProvider(loader);\n registerAirtableRecord(loader);\n registerAirtableRecordField(loader);\n}\n"],"names":["defaultHost","CredentialsContext","React","createContext","undefined","AirtableRecord","_ref","_data$error","table","record","children","credentialsContext","useContext","dataSourceId","id","base","host","data","usePlasmicQueryData","JSON","stringify","_asyncToGenerator","_regeneratorRuntime","mark","_callee","url","wrap","_context","prev","next","Error","encodeURIComponent","fetch","method","sent","json","abrupt","fields","stop","error","message","DataProvider","name","contextKey","AirtableRecordField","_ref3","val","className","field","style","setControlContextData","useSelector","Object","keys","filename","AirtableCollection","_ref4","props","_objectWithoutPropertiesLoose","_excluded","searchArray","forEach","f","push","prop","sort","v","i","direction","search","length","join","_usePlasmicQueryData","_callee2","_context2","records","isLoading","map","index","key","repeatedElement","AirtableCredentialsProvider","_ref6","dataSource","maybeHost","usePlasmicCanvasContext","Provider","value","_extends","thisModule","airtableRecordMeta","displayName","importPath","importName","providesData","type","defaultValue","description","registerAirtableRecord","loader","customAirtableRecordMeta","registerComponent","airtableRecordFieldMeta","defaultValueHint","options","_props","registerAirtableRecordField","customAirtableRecordFieldMeta","airtableCollectionMeta","isRepeated","maxRecords","max","min","view","filterByFormula","registerAirtableCollection","customAirtableCollectionMeta","airtableCredentialsProviderMeta","registerAirtableCredentialsProvider","customAirtableCredentialsProviderMeta","registerGlobalContext"],"mappings":"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"}
1
+ {"version":3,"file":"airtable.cjs.production.min.js","sources":["../src/RecordData.tsx","../src/index.tsx"],"sourcesContent":["import {\n DataProvider,\n repeatedElement,\n usePlasmicCanvasContext,\n useSelector,\n} from \"@plasmicapp/host\";\nimport registerComponent, {\n CanvasComponentProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext, {\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport React from \"react\";\n\nconst defaultHost = \"https://studio.plasmic.app\";\n\nexport interface DataSourceInfo {\n id: string;\n base: string;\n host?: string;\n}\n\nconst CredentialsContext = React.createContext<DataSourceInfo | undefined>(\n undefined\n);\n\ninterface RecordData {\n [field: string]: string | { id: string; url: string; filename: string }[];\n}\n\nexport interface AirtableRecordProps {\n table: string;\n record: string;\n}\n\nexport function AirtableRecord({\n table,\n record,\n children,\n}: React.PropsWithChildren<AirtableRecordProps>) {\n const credentialsContext = React.useContext(CredentialsContext);\n\n const dataSourceId = credentialsContext && credentialsContext.id;\n const base = credentialsContext && credentialsContext.base;\n const host = (credentialsContext && credentialsContext.host) || defaultHost;\n\n const data = usePlasmicQueryData(\n JSON.stringify([\"AirtableRecord\", host, base, table, record, dataSourceId]),\n async () => {\n if (!base || !dataSourceId) {\n throw new Error(\n \"Missing Data Source. Please select a Data Source from the Airtable Credentials Provider\"\n );\n }\n if (!table) {\n throw new Error(\"AirtableRecord is missing the table name\");\n }\n if (!record) {\n throw new Error(\"AirtableRecord is missing the record ID\");\n }\n const pathname = `/${base}/${table}/${record}`;\n const url = `${host}/api/v1/server-data/query?pathname=${encodeURIComponent(\n pathname\n )}&dataSourceId=${dataSourceId}`;\n return (await (await fetch(url, { method: \"GET\" })).json())\n .fields as RecordData;\n }\n );\n\n if (\"error\" in data) {\n return <p>Error: {data.error?.message}</p>;\n }\n\n if (!(\"data\" in data)) {\n return <p>Loading...</p>;\n }\n\n return (\n <DataProvider name={contextKey} data={data.data}>\n {children}\n </DataProvider>\n );\n}\n\nconst contextKey = \"__airtableRecord\";\n\nfunction useRecord() {\n return useSelector(contextKey) as RecordData | undefined;\n}\n\nexport interface AirtableRecordFieldProps\n extends CanvasComponentProps<RecordData | undefined> {\n className?: string;\n style?: React.CSSProperties;\n field?: string;\n}\n\nexport function AirtableRecordField({\n className,\n field,\n style,\n setControlContextData,\n}: AirtableRecordFieldProps) {\n const record = useRecord();\n setControlContextData?.(record);\n\n return (\n <div className={className} style={style}>\n {record\n ? (() => {\n const val = record[field || Object.keys(record)[0]];\n if (val && typeof val === \"object\") {\n return \"Attachment \" + val[0].filename;\n }\n return val;\n })()\n : \"Error: Must provide a record to AirtableRecordField\"}\n </div>\n );\n}\n\nexport interface AirtableCollectionProps {\n table: string;\n fields?: string[];\n filterByFormula?: string;\n maxRecords?: number;\n pageSize?: number;\n sort?: {\n field: string;\n direction?: \"asc\" | \"desc\";\n }[];\n view?: string;\n}\n\nexport function AirtableCollection({\n table,\n children,\n ...props\n}: React.PropsWithChildren<AirtableCollectionProps>) {\n const credentialsContext = React.useContext(CredentialsContext);\n\n const dataSourceId = credentialsContext && credentialsContext.id;\n const base = credentialsContext && credentialsContext.base;\n const host = (credentialsContext && credentialsContext.host) || defaultHost;\n\n const searchArray: string[] = [];\n if (props.fields) {\n props.fields.forEach((f) =>\n searchArray.push(\n `${encodeURIComponent(`fields[]`)}=${encodeURIComponent(`${f}`)}`\n )\n );\n }\n ([\"filterByFormula\", \"maxRecords\", \"pageSize\", \"view\"] as const).forEach(\n (prop) => {\n if (props[prop]) {\n searchArray.push(\n `${encodeURIComponent(`${prop}`)}=${encodeURIComponent(\n `${props[prop]}`\n )}`\n );\n }\n }\n );\n if (props.sort) {\n props.sort.forEach((v, i) => {\n searchArray.push(\n `${encodeURIComponent(`sort[${i}][field]`)}=${encodeURIComponent(\n `${v.field}`\n )}`\n );\n if (v.direction) {\n searchArray.push(\n `${encodeURIComponent(`sort[${i}][direction]`)}=${encodeURIComponent(\n `${v.direction}`\n )}`\n );\n }\n });\n }\n\n const search = searchArray.length === 0 ? \"\" : \"?\" + searchArray.join(\"&\");\n\n const { data, error, isLoading } = usePlasmicQueryData(\n JSON.stringify([\n \"AirtableCollection\",\n host,\n base,\n table,\n search,\n dataSourceId,\n ]),\n async () => {\n if (!base || !dataSourceId) {\n throw new Error(\n \"Missing Data Source. Please select a Data Source from the Airtable Credentials Provider\"\n );\n }\n if (!table) {\n throw new Error(\"AirtableCollection is missing the table name\");\n }\n const pathname = `/${base}/${table}${search}`;\n const url = `${host}/api/v1/server-data/query?pathname=${encodeURIComponent(\n pathname\n )}&dataSourceId=${dataSourceId}`;\n return (await (await fetch(url, { method: \"GET\" })).json()).records as {\n fields: RecordData;\n id: string;\n }[];\n }\n );\n\n if (error) {\n return <p>Error: {error.message}</p>;\n }\n\n if (isLoading) {\n return <p>Loading...</p>;\n }\n\n return (\n <>\n {(data ?? []).map((record, index) => (\n <DataProvider key={record.id} name={contextKey} data={record.fields}>\n {repeatedElement(index, children)}\n </DataProvider>\n ))}\n </>\n );\n}\n\ninterface AirtableCredentialsProviderProps {\n dataSource: DataSourceInfo;\n host?: string;\n}\n\nexport function AirtableCredentialsProvider({\n dataSource,\n host: maybeHost,\n children,\n}: React.PropsWithChildren<AirtableCredentialsProviderProps>) {\n const inCanvas = usePlasmicCanvasContext();\n if (inCanvas && (!dataSource || !dataSource.id || !dataSource.base)) {\n return (\n <p>\n Error: Missing Data Source. Please select a Data Source from the\n Airtable Credentials Provider\n </p>\n );\n }\n const host = maybeHost || defaultHost;\n return (\n <CredentialsContext.Provider value={{ ...dataSource, host }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\nconst thisModule = \"@plasmicpkgs/airtable\";\n\nexport const airtableRecordMeta: ComponentMeta<AirtableRecordProps> = {\n name: \"hostless-airtable-record\",\n displayName: \"Airtable Record\",\n importPath: thisModule,\n importName: \"AirtableRecord\",\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"component\",\n name: \"hostless-airtable-record-field\",\n },\n },\n table: {\n type: \"string\",\n displayName: \"Table Name\",\n description: \"The Airtable table name or ID\",\n },\n record: {\n type: \"string\",\n displayName: \"Record\",\n description: \"The table record ID\",\n },\n },\n};\n\nexport function registerAirtableRecord(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableRecordMeta?: ComponentMeta<AirtableRecordProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableRecord,\n customAirtableRecordMeta ?? airtableRecordMeta\n );\n } else {\n registerComponent(\n AirtableRecord,\n customAirtableRecordMeta ?? airtableRecordMeta\n );\n }\n}\n\nexport const airtableRecordFieldMeta: ComponentMeta<AirtableRecordFieldProps> = {\n name: \"hostless-airtable-record-field\",\n displayName: \"Airtable Record Field\",\n importPath: thisModule,\n importName: \"AirtableRecordField\",\n props: {\n field: {\n type: \"choice\",\n displayName: \"Field Name\",\n defaultValueHint: \"The first field\",\n options: (_props, data) => {\n return data ? Object.keys(data) : [\"Data unavailable\"];\n },\n },\n },\n};\n\nexport function registerAirtableRecordField(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableRecordFieldMeta?: ComponentMeta<AirtableRecordFieldProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableRecordField,\n customAirtableRecordFieldMeta ?? airtableRecordFieldMeta\n );\n } else {\n registerComponent(\n AirtableRecordField,\n customAirtableRecordFieldMeta ?? airtableRecordFieldMeta\n );\n }\n}\n\nexport const airtableCollectionMeta: ComponentMeta<AirtableCollectionProps> = {\n name: \"hostless-airtable-collection\",\n displayName: \"Airtable Collection\",\n importPath: thisModule,\n importName: \"AirtableCollection\",\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n isRepeated: true,\n defaultValue: {\n type: \"component\",\n name: \"hostless-airtable-record-field\",\n },\n },\n table: {\n type: \"string\",\n displayName: \"Table Name\",\n description: \"The Airtable table name or ID\",\n },\n fields: {\n type: \"object\",\n displayName: \"Fields\",\n description: \"List of strings containing the fields to be included\",\n },\n maxRecords: {\n type: \"number\",\n displayName: \"Max Records\",\n description: \"The maximum total number of records that will be returned\",\n defaultValueHint: 100,\n max: 100,\n min: 1,\n },\n view: {\n type: \"string\",\n displayName: \"View\",\n description:\n \"The name or ID of a view in the table. If set, only records from that view will be returned\",\n },\n sort: {\n type: \"object\",\n displayName: \"Sort\",\n description:\n 'A list of Airtable sort objects that specifies how the records will be ordered. Each sort object must have a field key specifying the name of the field to sort on, and an optional direction key that is either \"asc\" or \"desc\". The default direction is \"asc\"',\n },\n filterByFormula: {\n type: \"string\",\n displayName: \"Filter by Formula\",\n description: \"An Airtable formula used to filter records\",\n },\n },\n};\n\nexport function registerAirtableCollection(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableCollectionMeta?: ComponentMeta<AirtableCollectionProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableCollection,\n customAirtableCollectionMeta ?? airtableCollectionMeta\n );\n } else {\n registerComponent(\n AirtableCollection,\n customAirtableCollectionMeta ?? airtableCollectionMeta\n );\n }\n}\n\nexport const airtableCredentialsProviderMeta: GlobalContextMeta<AirtableCredentialsProviderProps> = {\n name: \"hostless-airtable-credentials-provider\",\n displayName: \"Airtable Credentials Provider\",\n importPath: thisModule,\n importName: \"AirtableCredentialsProvider\",\n props: {\n dataSource: {\n type: \"dataSource\",\n dataSource: \"airtable\",\n displayName: \"Data Source\",\n description: \"The Airtable Data Source to use\",\n },\n host: {\n type: \"string\",\n displayName: \"Host\",\n description: \"Plasmic Server-Data URL\",\n defaultValueHint: defaultHost,\n },\n },\n};\n\nexport function registerAirtableCredentialsProvider(\n loader?: { registerGlobalContext: typeof registerGlobalContext },\n customAirtableCredentialsProviderMeta?: GlobalContextMeta<AirtableCredentialsProviderProps>\n) {\n if (loader) {\n loader.registerGlobalContext(\n AirtableCredentialsProvider,\n customAirtableCredentialsProviderMeta ?? airtableCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n AirtableCredentialsProvider,\n customAirtableCredentialsProviderMeta ?? airtableCredentialsProviderMeta\n );\n }\n}\n","export * from \"./RecordData\";\nimport {\n registerAirtableCollection,\n registerAirtableCredentialsProvider,\n registerAirtableRecord,\n registerAirtableRecordField,\n} from \"./RecordData\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n registerAirtableCollection(loader);\n registerAirtableCredentialsProvider(loader);\n registerAirtableRecord(loader);\n registerAirtableRecordField(loader);\n}\n"],"names":["defaultHost","CredentialsContext","React","createContext","undefined","AirtableRecord","_ref","_data$error","table","record","children","credentialsContext","useContext","dataSourceId","id","base","host","data","usePlasmicQueryData","JSON","stringify","_asyncToGenerator","_regeneratorRuntime","mark","_callee","url","wrap","_context","prev","next","Error","encodeURIComponent","fetch","method","sent","json","abrupt","fields","stop","error","message","DataProvider","name","contextKey","AirtableRecordField","_ref3","val","className","field","style","setControlContextData","useSelector","Object","keys","filename","AirtableCollection","_ref4","props","_objectWithoutPropertiesLoose","_excluded","searchArray","forEach","f","push","prop","sort","v","i","direction","search","length","join","_usePlasmicQueryData","_callee2","_context2","records","isLoading","map","index","key","repeatedElement","AirtableCredentialsProvider","_ref6","dataSource","maybeHost","usePlasmicCanvasContext","Provider","value","_extends","thisModule","airtableRecordMeta","displayName","importPath","importName","providesData","type","defaultValue","description","registerAirtableRecord","loader","customAirtableRecordMeta","registerComponent","airtableRecordFieldMeta","defaultValueHint","options","_props","registerAirtableRecordField","customAirtableRecordFieldMeta","airtableCollectionMeta","isRepeated","maxRecords","max","min","view","filterByFormula","registerAirtableCollection","customAirtableCollectionMeta","airtableCredentialsProviderMeta","registerAirtableCredentialsProvider","customAirtableCredentialsProviderMeta","registerGlobalContext"],"mappings":"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"}
@@ -4,6 +4,49 @@ import registerGlobalContext from '@plasmicapp/host/registerGlobalContext';
4
4
  import { usePlasmicQueryData } from '@plasmicapp/query';
5
5
  import React from 'react';
6
6
 
7
+ function asyncGeneratorStep(n, t, e, r, o, a, c) {
8
+ try {
9
+ var i = n[a](c),
10
+ u = i.value;
11
+ } catch (n) {
12
+ return void e(n);
13
+ }
14
+ i.done ? t(u) : Promise.resolve(u).then(r, o);
15
+ }
16
+ function _asyncToGenerator(n) {
17
+ return function () {
18
+ var t = this,
19
+ e = arguments;
20
+ return new Promise(function (r, o) {
21
+ var a = n.apply(t, e);
22
+ function _next(n) {
23
+ asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
24
+ }
25
+ function _throw(n) {
26
+ asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
27
+ }
28
+ _next(void 0);
29
+ });
30
+ };
31
+ }
32
+ function _extends() {
33
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
34
+ for (var e = 1; e < arguments.length; e++) {
35
+ var t = arguments[e];
36
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
37
+ }
38
+ return n;
39
+ }, _extends.apply(null, arguments);
40
+ }
41
+ function _objectWithoutPropertiesLoose(r, e) {
42
+ if (null == r) return {};
43
+ var t = {};
44
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
45
+ if (-1 !== e.indexOf(n)) continue;
46
+ t[n] = r[n];
47
+ }
48
+ return t;
49
+ }
7
50
  function _regeneratorRuntime() {
8
51
  _regeneratorRuntime = function () {
9
52
  return e;
@@ -112,7 +155,7 @@ function _regeneratorRuntime() {
112
155
  function makeInvokeMethod(e, r, n) {
113
156
  var o = h;
114
157
  return function (i, a) {
115
- if (o === f) throw new Error("Generator is already running");
158
+ if (o === f) throw Error("Generator is already running");
116
159
  if (o === s) {
117
160
  if ("throw" === i) throw a;
118
161
  return {
@@ -254,7 +297,7 @@ function _regeneratorRuntime() {
254
297
  } else if (c) {
255
298
  if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
256
299
  } else {
257
- if (!u) throw new Error("try statement without catch or finally");
300
+ if (!u) throw Error("try statement without catch or finally");
258
301
  if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
259
302
  }
260
303
  }
@@ -294,7 +337,7 @@ function _regeneratorRuntime() {
294
337
  return o;
295
338
  }
296
339
  }
297
- throw new Error("illegal catch attempt");
340
+ throw Error("illegal catch attempt");
298
341
  },
299
342
  delegateYield: function (e, r, n) {
300
343
  return this.delegate = {
@@ -305,62 +348,6 @@ function _regeneratorRuntime() {
305
348
  }
306
349
  }, e;
307
350
  }
308
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
309
- try {
310
- var info = gen[key](arg);
311
- var value = info.value;
312
- } catch (error) {
313
- reject(error);
314
- return;
315
- }
316
- if (info.done) {
317
- resolve(value);
318
- } else {
319
- Promise.resolve(value).then(_next, _throw);
320
- }
321
- }
322
- function _asyncToGenerator(fn) {
323
- return function () {
324
- var self = this,
325
- args = arguments;
326
- return new Promise(function (resolve, reject) {
327
- var gen = fn.apply(self, args);
328
- function _next(value) {
329
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
330
- }
331
- function _throw(err) {
332
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
333
- }
334
- _next(undefined);
335
- });
336
- };
337
- }
338
- function _extends() {
339
- _extends = Object.assign ? Object.assign.bind() : function (target) {
340
- for (var i = 1; i < arguments.length; i++) {
341
- var source = arguments[i];
342
- for (var key in source) {
343
- if (Object.prototype.hasOwnProperty.call(source, key)) {
344
- target[key] = source[key];
345
- }
346
- }
347
- }
348
- return target;
349
- };
350
- return _extends.apply(this, arguments);
351
- }
352
- function _objectWithoutPropertiesLoose(source, excluded) {
353
- if (source == null) return {};
354
- var target = {};
355
- var sourceKeys = Object.keys(source);
356
- var key, i;
357
- for (i = 0; i < sourceKeys.length; i++) {
358
- key = sourceKeys[i];
359
- if (excluded.indexOf(key) >= 0) continue;
360
- target[key] = source[key];
361
- }
362
- return target;
363
- }
364
351
 
365
352
  var _excluded = ["table", "children"];
366
353
  var defaultHost = "https://studio.plasmic.app";
@@ -1 +1 @@
1
- {"version":3,"file":"airtable.esm.js","sources":["../src/RecordData.tsx","../src/index.tsx"],"sourcesContent":["import {\n DataProvider,\n repeatedElement,\n usePlasmicCanvasContext,\n useSelector,\n} from \"@plasmicapp/host\";\nimport registerComponent, {\n CanvasComponentProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext, {\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport React from \"react\";\n\nconst defaultHost = \"https://studio.plasmic.app\";\n\nexport interface DataSourceInfo {\n id: string;\n base: string;\n host?: string;\n}\n\nconst CredentialsContext = React.createContext<DataSourceInfo | undefined>(\n undefined\n);\n\ninterface RecordData {\n [field: string]: string | { id: string; url: string; filename: string }[];\n}\n\nexport interface AirtableRecordProps {\n table: string;\n record: string;\n}\n\nexport function AirtableRecord({\n table,\n record,\n children,\n}: React.PropsWithChildren<AirtableRecordProps>) {\n const credentialsContext = React.useContext(CredentialsContext);\n\n const dataSourceId = credentialsContext && credentialsContext.id;\n const base = credentialsContext && credentialsContext.base;\n const host = (credentialsContext && credentialsContext.host) || defaultHost;\n\n const data = usePlasmicQueryData(\n JSON.stringify([\"AirtableRecord\", host, base, table, record, dataSourceId]),\n async () => {\n if (!base || !dataSourceId) {\n throw new Error(\n \"Missing Data Source. Please select a Data Source from the Airtable Credentials Provider\"\n );\n }\n if (!table) {\n throw new Error(\"AirtableRecord is missing the table name\");\n }\n if (!record) {\n throw new Error(\"AirtableRecord is missing the record ID\");\n }\n const pathname = `/${base}/${table}/${record}`;\n const url = `${host}/api/v1/server-data/query?pathname=${encodeURIComponent(\n pathname\n )}&dataSourceId=${dataSourceId}`;\n return (await (await fetch(url, { method: \"GET\" })).json())\n .fields as RecordData;\n }\n );\n\n if (\"error\" in data) {\n return <p>Error: {data.error?.message}</p>;\n }\n\n if (!(\"data\" in data)) {\n return <p>Loading...</p>;\n }\n\n return (\n <DataProvider name={contextKey} data={data.data}>\n {children}\n </DataProvider>\n );\n}\n\nconst contextKey = \"__airtableRecord\";\n\nfunction useRecord() {\n return useSelector(contextKey) as RecordData | undefined;\n}\n\nexport interface AirtableRecordFieldProps\n extends CanvasComponentProps<RecordData | undefined> {\n className?: string;\n style?: React.CSSProperties;\n field?: string;\n}\n\nexport function AirtableRecordField({\n className,\n field,\n style,\n setControlContextData,\n}: AirtableRecordFieldProps) {\n const record = useRecord();\n setControlContextData?.(record);\n\n return (\n <div className={className} style={style}>\n {record\n ? (() => {\n const val = record[field || Object.keys(record)[0]];\n if (val && typeof val === \"object\") {\n return \"Attachment \" + val[0].filename;\n }\n return val;\n })()\n : \"Error: Must provide a record to AirtableRecordField\"}\n </div>\n );\n}\n\nexport interface AirtableCollectionProps {\n table: string;\n fields?: string[];\n filterByFormula?: string;\n maxRecords?: number;\n pageSize?: number;\n sort?: {\n field: string;\n direction?: \"asc\" | \"desc\";\n }[];\n view?: string;\n}\n\nexport function AirtableCollection({\n table,\n children,\n ...props\n}: React.PropsWithChildren<AirtableCollectionProps>) {\n const credentialsContext = React.useContext(CredentialsContext);\n\n const dataSourceId = credentialsContext && credentialsContext.id;\n const base = credentialsContext && credentialsContext.base;\n const host = (credentialsContext && credentialsContext.host) || defaultHost;\n\n const searchArray: string[] = [];\n if (props.fields) {\n props.fields.forEach((f) =>\n searchArray.push(\n `${encodeURIComponent(`fields[]`)}=${encodeURIComponent(`${f}`)}`\n )\n );\n }\n ([\"filterByFormula\", \"maxRecords\", \"pageSize\", \"view\"] as const).forEach(\n (prop) => {\n if (props[prop]) {\n searchArray.push(\n `${encodeURIComponent(`${prop}`)}=${encodeURIComponent(\n `${props[prop]}`\n )}`\n );\n }\n }\n );\n if (props.sort) {\n props.sort.forEach((v, i) => {\n searchArray.push(\n `${encodeURIComponent(`sort[${i}][field]`)}=${encodeURIComponent(\n `${v.field}`\n )}`\n );\n if (v.direction) {\n searchArray.push(\n `${encodeURIComponent(`sort[${i}][direction]`)}=${encodeURIComponent(\n `${v.direction}`\n )}`\n );\n }\n });\n }\n\n const search = searchArray.length === 0 ? \"\" : \"?\" + searchArray.join(\"&\");\n\n const { data, error, isLoading } = usePlasmicQueryData(\n JSON.stringify([\n \"AirtableCollection\",\n host,\n base,\n table,\n search,\n dataSourceId,\n ]),\n async () => {\n if (!base || !dataSourceId) {\n throw new Error(\n \"Missing Data Source. Please select a Data Source from the Airtable Credentials Provider\"\n );\n }\n if (!table) {\n throw new Error(\"AirtableCollection is missing the table name\");\n }\n const pathname = `/${base}/${table}${search}`;\n const url = `${host}/api/v1/server-data/query?pathname=${encodeURIComponent(\n pathname\n )}&dataSourceId=${dataSourceId}`;\n return (await (await fetch(url, { method: \"GET\" })).json()).records as {\n fields: RecordData;\n id: string;\n }[];\n }\n );\n\n if (error) {\n return <p>Error: {error.message}</p>;\n }\n\n if (isLoading) {\n return <p>Loading...</p>;\n }\n\n return (\n <>\n {(data ?? []).map((record, index) => (\n <DataProvider key={record.id} name={contextKey} data={record.fields}>\n {repeatedElement(index, children)}\n </DataProvider>\n ))}\n </>\n );\n}\n\ninterface AirtableCredentialsProviderProps {\n dataSource: DataSourceInfo;\n host?: string;\n}\n\nexport function AirtableCredentialsProvider({\n dataSource,\n host: maybeHost,\n children,\n}: React.PropsWithChildren<AirtableCredentialsProviderProps>) {\n const inCanvas = usePlasmicCanvasContext();\n if (inCanvas && (!dataSource || !dataSource.id || !dataSource.base)) {\n return (\n <p>\n Error: Missing Data Source. Please select a Data Source from the\n Airtable Credentials Provider\n </p>\n );\n }\n const host = maybeHost || defaultHost;\n return (\n <CredentialsContext.Provider value={{ ...dataSource, host }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\nconst thisModule = \"@plasmicpkgs/airtable\";\n\nexport const airtableRecordMeta: ComponentMeta<AirtableRecordProps> = {\n name: \"hostless-airtable-record\",\n displayName: \"Airtable Record\",\n importPath: thisModule,\n importName: \"AirtableRecord\",\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"component\",\n name: \"hostless-airtable-record-field\",\n },\n },\n table: {\n type: \"string\",\n displayName: \"Table Name\",\n description: \"The Airtable table name or ID\",\n },\n record: {\n type: \"string\",\n displayName: \"Record\",\n description: \"The table record ID\",\n },\n },\n};\n\nexport function registerAirtableRecord(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableRecordMeta?: ComponentMeta<AirtableRecordProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableRecord,\n customAirtableRecordMeta ?? airtableRecordMeta\n );\n } else {\n registerComponent(\n AirtableRecord,\n customAirtableRecordMeta ?? airtableRecordMeta\n );\n }\n}\n\nexport const airtableRecordFieldMeta: ComponentMeta<AirtableRecordFieldProps> = {\n name: \"hostless-airtable-record-field\",\n displayName: \"Airtable Record Field\",\n importPath: thisModule,\n importName: \"AirtableRecordField\",\n props: {\n field: {\n type: \"choice\",\n displayName: \"Field Name\",\n defaultValueHint: \"The first field\",\n options: (_props, data) => {\n return data ? Object.keys(data) : [\"Data unavailable\"];\n },\n },\n },\n};\n\nexport function registerAirtableRecordField(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableRecordFieldMeta?: ComponentMeta<AirtableRecordFieldProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableRecordField,\n customAirtableRecordFieldMeta ?? airtableRecordFieldMeta\n );\n } else {\n registerComponent(\n AirtableRecordField,\n customAirtableRecordFieldMeta ?? airtableRecordFieldMeta\n );\n }\n}\n\nexport const airtableCollectionMeta: ComponentMeta<AirtableCollectionProps> = {\n name: \"hostless-airtable-collection\",\n displayName: \"Airtable Collection\",\n importPath: thisModule,\n importName: \"AirtableCollection\",\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n isRepeated: true,\n defaultValue: {\n type: \"component\",\n name: \"hostless-airtable-record-field\",\n },\n },\n table: {\n type: \"string\",\n displayName: \"Table Name\",\n description: \"The Airtable table name or ID\",\n },\n fields: {\n type: \"object\",\n displayName: \"Fields\",\n description: \"List of strings containing the fields to be included\",\n },\n maxRecords: {\n type: \"number\",\n displayName: \"Max Records\",\n description: \"The maximum total number of records that will be returned\",\n defaultValueHint: 100,\n max: 100,\n min: 1,\n },\n view: {\n type: \"string\",\n displayName: \"View\",\n description:\n \"The name or ID of a view in the table. If set, only records from that view will be returned\",\n },\n sort: {\n type: \"object\",\n displayName: \"Sort\",\n description:\n 'A list of Airtable sort objects that specifies how the records will be ordered. Each sort object must have a field key specifying the name of the field to sort on, and an optional direction key that is either \"asc\" or \"desc\". The default direction is \"asc\"',\n },\n filterByFormula: {\n type: \"string\",\n displayName: \"Filter by Formula\",\n description: \"An Airtable formula used to filter records\",\n },\n },\n};\n\nexport function registerAirtableCollection(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableCollectionMeta?: ComponentMeta<AirtableCollectionProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableCollection,\n customAirtableCollectionMeta ?? airtableCollectionMeta\n );\n } else {\n registerComponent(\n AirtableCollection,\n customAirtableCollectionMeta ?? airtableCollectionMeta\n );\n }\n}\n\nexport const airtableCredentialsProviderMeta: GlobalContextMeta<AirtableCredentialsProviderProps> = {\n name: \"hostless-airtable-credentials-provider\",\n displayName: \"Airtable Credentials Provider\",\n importPath: thisModule,\n importName: \"AirtableCredentialsProvider\",\n props: {\n dataSource: {\n type: \"dataSource\",\n dataSource: \"airtable\",\n displayName: \"Data Source\",\n description: \"The Airtable Data Source to use\",\n },\n host: {\n type: \"string\",\n displayName: \"Host\",\n description: \"Plasmic Server-Data URL\",\n defaultValueHint: defaultHost,\n },\n },\n};\n\nexport function registerAirtableCredentialsProvider(\n loader?: { registerGlobalContext: typeof registerGlobalContext },\n customAirtableCredentialsProviderMeta?: GlobalContextMeta<AirtableCredentialsProviderProps>\n) {\n if (loader) {\n loader.registerGlobalContext(\n AirtableCredentialsProvider,\n customAirtableCredentialsProviderMeta ?? airtableCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n AirtableCredentialsProvider,\n customAirtableCredentialsProviderMeta ?? airtableCredentialsProviderMeta\n );\n }\n}\n","export * from \"./RecordData\";\nimport {\n registerAirtableCollection,\n registerAirtableCredentialsProvider,\n registerAirtableRecord,\n registerAirtableRecordField,\n} from \"./RecordData\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n registerAirtableCollection(loader);\n registerAirtableCredentialsProvider(loader);\n registerAirtableRecord(loader);\n registerAirtableRecordField(loader);\n}\n"],"names":["defaultHost","CredentialsContext","React","createContext","undefined","AirtableRecord","_ref","table","record","children","credentialsContext","useContext","dataSourceId","id","base","host","data","usePlasmicQueryData","JSON","stringify","_asyncToGenerator","_regeneratorRuntime","mark","_callee","pathname","url","wrap","_callee$","_context","prev","next","Error","encodeURIComponent","fetch","method","sent","json","abrupt","fields","stop","_data$error","error","message","DataProvider","name","contextKey","useRecord","useSelector","AirtableRecordField","_ref3","className","field","style","setControlContextData","val","Object","keys","filename","AirtableCollection","_ref4","props","_objectWithoutPropertiesLoose","_excluded","searchArray","forEach","f","push","prop","sort","v","i","direction","search","length","join","_usePlasmicQueryData","_callee2","_callee2$","_context2","records","isLoading","map","index","key","repeatedElement","AirtableCredentialsProvider","_ref6","dataSource","maybeHost","inCanvas","usePlasmicCanvasContext","Provider","value","_extends","thisModule","airtableRecordMeta","displayName","importPath","importName","providesData","type","defaultValue","description","registerAirtableRecord","loader","customAirtableRecordMeta","registerComponent","airtableRecordFieldMeta","defaultValueHint","options","_props","registerAirtableRecordField","customAirtableRecordFieldMeta","airtableCollectionMeta","isRepeated","maxRecords","max","min","view","filterByFormula","registerAirtableCollection","customAirtableCollectionMeta","airtableCredentialsProviderMeta","registerAirtableCredentialsProvider","customAirtableCredentialsProviderMeta","registerGlobalContext","registerAll"],"mappings":"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"}
1
+ {"version":3,"file":"airtable.esm.js","sources":["../src/RecordData.tsx","../src/index.tsx"],"sourcesContent":["import {\n DataProvider,\n repeatedElement,\n usePlasmicCanvasContext,\n useSelector,\n} from \"@plasmicapp/host\";\nimport registerComponent, {\n CanvasComponentProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext, {\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport React from \"react\";\n\nconst defaultHost = \"https://studio.plasmic.app\";\n\nexport interface DataSourceInfo {\n id: string;\n base: string;\n host?: string;\n}\n\nconst CredentialsContext = React.createContext<DataSourceInfo | undefined>(\n undefined\n);\n\ninterface RecordData {\n [field: string]: string | { id: string; url: string; filename: string }[];\n}\n\nexport interface AirtableRecordProps {\n table: string;\n record: string;\n}\n\nexport function AirtableRecord({\n table,\n record,\n children,\n}: React.PropsWithChildren<AirtableRecordProps>) {\n const credentialsContext = React.useContext(CredentialsContext);\n\n const dataSourceId = credentialsContext && credentialsContext.id;\n const base = credentialsContext && credentialsContext.base;\n const host = (credentialsContext && credentialsContext.host) || defaultHost;\n\n const data = usePlasmicQueryData(\n JSON.stringify([\"AirtableRecord\", host, base, table, record, dataSourceId]),\n async () => {\n if (!base || !dataSourceId) {\n throw new Error(\n \"Missing Data Source. Please select a Data Source from the Airtable Credentials Provider\"\n );\n }\n if (!table) {\n throw new Error(\"AirtableRecord is missing the table name\");\n }\n if (!record) {\n throw new Error(\"AirtableRecord is missing the record ID\");\n }\n const pathname = `/${base}/${table}/${record}`;\n const url = `${host}/api/v1/server-data/query?pathname=${encodeURIComponent(\n pathname\n )}&dataSourceId=${dataSourceId}`;\n return (await (await fetch(url, { method: \"GET\" })).json())\n .fields as RecordData;\n }\n );\n\n if (\"error\" in data) {\n return <p>Error: {data.error?.message}</p>;\n }\n\n if (!(\"data\" in data)) {\n return <p>Loading...</p>;\n }\n\n return (\n <DataProvider name={contextKey} data={data.data}>\n {children}\n </DataProvider>\n );\n}\n\nconst contextKey = \"__airtableRecord\";\n\nfunction useRecord() {\n return useSelector(contextKey) as RecordData | undefined;\n}\n\nexport interface AirtableRecordFieldProps\n extends CanvasComponentProps<RecordData | undefined> {\n className?: string;\n style?: React.CSSProperties;\n field?: string;\n}\n\nexport function AirtableRecordField({\n className,\n field,\n style,\n setControlContextData,\n}: AirtableRecordFieldProps) {\n const record = useRecord();\n setControlContextData?.(record);\n\n return (\n <div className={className} style={style}>\n {record\n ? (() => {\n const val = record[field || Object.keys(record)[0]];\n if (val && typeof val === \"object\") {\n return \"Attachment \" + val[0].filename;\n }\n return val;\n })()\n : \"Error: Must provide a record to AirtableRecordField\"}\n </div>\n );\n}\n\nexport interface AirtableCollectionProps {\n table: string;\n fields?: string[];\n filterByFormula?: string;\n maxRecords?: number;\n pageSize?: number;\n sort?: {\n field: string;\n direction?: \"asc\" | \"desc\";\n }[];\n view?: string;\n}\n\nexport function AirtableCollection({\n table,\n children,\n ...props\n}: React.PropsWithChildren<AirtableCollectionProps>) {\n const credentialsContext = React.useContext(CredentialsContext);\n\n const dataSourceId = credentialsContext && credentialsContext.id;\n const base = credentialsContext && credentialsContext.base;\n const host = (credentialsContext && credentialsContext.host) || defaultHost;\n\n const searchArray: string[] = [];\n if (props.fields) {\n props.fields.forEach((f) =>\n searchArray.push(\n `${encodeURIComponent(`fields[]`)}=${encodeURIComponent(`${f}`)}`\n )\n );\n }\n ([\"filterByFormula\", \"maxRecords\", \"pageSize\", \"view\"] as const).forEach(\n (prop) => {\n if (props[prop]) {\n searchArray.push(\n `${encodeURIComponent(`${prop}`)}=${encodeURIComponent(\n `${props[prop]}`\n )}`\n );\n }\n }\n );\n if (props.sort) {\n props.sort.forEach((v, i) => {\n searchArray.push(\n `${encodeURIComponent(`sort[${i}][field]`)}=${encodeURIComponent(\n `${v.field}`\n )}`\n );\n if (v.direction) {\n searchArray.push(\n `${encodeURIComponent(`sort[${i}][direction]`)}=${encodeURIComponent(\n `${v.direction}`\n )}`\n );\n }\n });\n }\n\n const search = searchArray.length === 0 ? \"\" : \"?\" + searchArray.join(\"&\");\n\n const { data, error, isLoading } = usePlasmicQueryData(\n JSON.stringify([\n \"AirtableCollection\",\n host,\n base,\n table,\n search,\n dataSourceId,\n ]),\n async () => {\n if (!base || !dataSourceId) {\n throw new Error(\n \"Missing Data Source. Please select a Data Source from the Airtable Credentials Provider\"\n );\n }\n if (!table) {\n throw new Error(\"AirtableCollection is missing the table name\");\n }\n const pathname = `/${base}/${table}${search}`;\n const url = `${host}/api/v1/server-data/query?pathname=${encodeURIComponent(\n pathname\n )}&dataSourceId=${dataSourceId}`;\n return (await (await fetch(url, { method: \"GET\" })).json()).records as {\n fields: RecordData;\n id: string;\n }[];\n }\n );\n\n if (error) {\n return <p>Error: {error.message}</p>;\n }\n\n if (isLoading) {\n return <p>Loading...</p>;\n }\n\n return (\n <>\n {(data ?? []).map((record, index) => (\n <DataProvider key={record.id} name={contextKey} data={record.fields}>\n {repeatedElement(index, children)}\n </DataProvider>\n ))}\n </>\n );\n}\n\ninterface AirtableCredentialsProviderProps {\n dataSource: DataSourceInfo;\n host?: string;\n}\n\nexport function AirtableCredentialsProvider({\n dataSource,\n host: maybeHost,\n children,\n}: React.PropsWithChildren<AirtableCredentialsProviderProps>) {\n const inCanvas = usePlasmicCanvasContext();\n if (inCanvas && (!dataSource || !dataSource.id || !dataSource.base)) {\n return (\n <p>\n Error: Missing Data Source. Please select a Data Source from the\n Airtable Credentials Provider\n </p>\n );\n }\n const host = maybeHost || defaultHost;\n return (\n <CredentialsContext.Provider value={{ ...dataSource, host }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\nconst thisModule = \"@plasmicpkgs/airtable\";\n\nexport const airtableRecordMeta: ComponentMeta<AirtableRecordProps> = {\n name: \"hostless-airtable-record\",\n displayName: \"Airtable Record\",\n importPath: thisModule,\n importName: \"AirtableRecord\",\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"component\",\n name: \"hostless-airtable-record-field\",\n },\n },\n table: {\n type: \"string\",\n displayName: \"Table Name\",\n description: \"The Airtable table name or ID\",\n },\n record: {\n type: \"string\",\n displayName: \"Record\",\n description: \"The table record ID\",\n },\n },\n};\n\nexport function registerAirtableRecord(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableRecordMeta?: ComponentMeta<AirtableRecordProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableRecord,\n customAirtableRecordMeta ?? airtableRecordMeta\n );\n } else {\n registerComponent(\n AirtableRecord,\n customAirtableRecordMeta ?? airtableRecordMeta\n );\n }\n}\n\nexport const airtableRecordFieldMeta: ComponentMeta<AirtableRecordFieldProps> = {\n name: \"hostless-airtable-record-field\",\n displayName: \"Airtable Record Field\",\n importPath: thisModule,\n importName: \"AirtableRecordField\",\n props: {\n field: {\n type: \"choice\",\n displayName: \"Field Name\",\n defaultValueHint: \"The first field\",\n options: (_props, data) => {\n return data ? Object.keys(data) : [\"Data unavailable\"];\n },\n },\n },\n};\n\nexport function registerAirtableRecordField(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableRecordFieldMeta?: ComponentMeta<AirtableRecordFieldProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableRecordField,\n customAirtableRecordFieldMeta ?? airtableRecordFieldMeta\n );\n } else {\n registerComponent(\n AirtableRecordField,\n customAirtableRecordFieldMeta ?? airtableRecordFieldMeta\n );\n }\n}\n\nexport const airtableCollectionMeta: ComponentMeta<AirtableCollectionProps> = {\n name: \"hostless-airtable-collection\",\n displayName: \"Airtable Collection\",\n importPath: thisModule,\n importName: \"AirtableCollection\",\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n isRepeated: true,\n defaultValue: {\n type: \"component\",\n name: \"hostless-airtable-record-field\",\n },\n },\n table: {\n type: \"string\",\n displayName: \"Table Name\",\n description: \"The Airtable table name or ID\",\n },\n fields: {\n type: \"object\",\n displayName: \"Fields\",\n description: \"List of strings containing the fields to be included\",\n },\n maxRecords: {\n type: \"number\",\n displayName: \"Max Records\",\n description: \"The maximum total number of records that will be returned\",\n defaultValueHint: 100,\n max: 100,\n min: 1,\n },\n view: {\n type: \"string\",\n displayName: \"View\",\n description:\n \"The name or ID of a view in the table. If set, only records from that view will be returned\",\n },\n sort: {\n type: \"object\",\n displayName: \"Sort\",\n description:\n 'A list of Airtable sort objects that specifies how the records will be ordered. Each sort object must have a field key specifying the name of the field to sort on, and an optional direction key that is either \"asc\" or \"desc\". The default direction is \"asc\"',\n },\n filterByFormula: {\n type: \"string\",\n displayName: \"Filter by Formula\",\n description: \"An Airtable formula used to filter records\",\n },\n },\n};\n\nexport function registerAirtableCollection(\n loader?: { registerComponent: typeof registerComponent },\n customAirtableCollectionMeta?: ComponentMeta<AirtableCollectionProps>\n) {\n if (loader) {\n loader.registerComponent(\n AirtableCollection,\n customAirtableCollectionMeta ?? airtableCollectionMeta\n );\n } else {\n registerComponent(\n AirtableCollection,\n customAirtableCollectionMeta ?? airtableCollectionMeta\n );\n }\n}\n\nexport const airtableCredentialsProviderMeta: GlobalContextMeta<AirtableCredentialsProviderProps> = {\n name: \"hostless-airtable-credentials-provider\",\n displayName: \"Airtable Credentials Provider\",\n importPath: thisModule,\n importName: \"AirtableCredentialsProvider\",\n props: {\n dataSource: {\n type: \"dataSource\",\n dataSource: \"airtable\",\n displayName: \"Data Source\",\n description: \"The Airtable Data Source to use\",\n },\n host: {\n type: \"string\",\n displayName: \"Host\",\n description: \"Plasmic Server-Data URL\",\n defaultValueHint: defaultHost,\n },\n },\n};\n\nexport function registerAirtableCredentialsProvider(\n loader?: { registerGlobalContext: typeof registerGlobalContext },\n customAirtableCredentialsProviderMeta?: GlobalContextMeta<AirtableCredentialsProviderProps>\n) {\n if (loader) {\n loader.registerGlobalContext(\n AirtableCredentialsProvider,\n customAirtableCredentialsProviderMeta ?? airtableCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n AirtableCredentialsProvider,\n customAirtableCredentialsProviderMeta ?? airtableCredentialsProviderMeta\n );\n }\n}\n","export * from \"./RecordData\";\nimport {\n registerAirtableCollection,\n registerAirtableCredentialsProvider,\n registerAirtableRecord,\n registerAirtableRecordField,\n} from \"./RecordData\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n registerAirtableCollection(loader);\n registerAirtableCredentialsProvider(loader);\n registerAirtableRecord(loader);\n registerAirtableRecordField(loader);\n}\n"],"names":["defaultHost","CredentialsContext","React","createContext","undefined","AirtableRecord","_ref","table","record","children","credentialsContext","useContext","dataSourceId","id","base","host","data","usePlasmicQueryData","JSON","stringify","_asyncToGenerator","_regeneratorRuntime","mark","_callee","pathname","url","wrap","_callee$","_context","prev","next","Error","encodeURIComponent","fetch","method","sent","json","abrupt","fields","stop","_data$error","error","message","DataProvider","name","contextKey","useRecord","useSelector","AirtableRecordField","_ref3","className","field","style","setControlContextData","val","Object","keys","filename","AirtableCollection","_ref4","props","_objectWithoutPropertiesLoose","_excluded","searchArray","forEach","f","push","prop","sort","v","i","direction","search","length","join","_usePlasmicQueryData","_callee2","_callee2$","_context2","records","isLoading","map","index","key","repeatedElement","AirtableCredentialsProvider","_ref6","dataSource","maybeHost","inCanvas","usePlasmicCanvasContext","Provider","value","_extends","thisModule","airtableRecordMeta","displayName","importPath","importName","providesData","type","defaultValue","description","registerAirtableRecord","loader","customAirtableRecordMeta","registerComponent","airtableRecordFieldMeta","defaultValueHint","options","_props","registerAirtableRecordField","customAirtableRecordFieldMeta","airtableCollectionMeta","isRepeated","maxRecords","max","min","view","filterByFormula","registerAirtableCollection","customAirtableCollectionMeta","airtableCredentialsProviderMeta","registerAirtableCredentialsProvider","customAirtableCredentialsProviderMeta","registerGlobalContext","registerAll"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasmicpkgs/airtable",
3
- "version": "0.0.225",
3
+ "version": "0.0.227",
4
4
  "description": "Plasmic registration call for the HTML5 video element",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  "analyze": "size-limit --why"
29
29
  },
30
30
  "devDependencies": {
31
- "@plasmicapp/host": "1.0.211",
31
+ "@plasmicapp/host": "1.0.213",
32
32
  "@size-limit/preset-small-lib": "^4.11.0",
33
33
  "@types/node": "^14.0.26",
34
34
  "@types/react": "^18.2.33",
@@ -42,5 +42,5 @@
42
42
  "react": ">=16.8.0",
43
43
  "react-dom": ">=16.8.0"
44
44
  },
45
- "gitHead": "93119895a0d403158e497a0abdccdcb24d670fb7"
45
+ "gitHead": "3a42fbf1505e2f4e51f0a4d93cb4de16617bba84"
46
46
  }