@plasmicpkgs/plasmic-cms 0.0.272 → 0.0.274
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.
|
@@ -463,14 +463,14 @@ var HttpError = /*#__PURE__*/function (_Error) {
|
|
|
463
463
|
return _this;
|
|
464
464
|
}
|
|
465
465
|
return HttpError;
|
|
466
|
-
}(
|
|
466
|
+
}(/*#__PURE__*/_wrapNativeSuper(Error));
|
|
467
467
|
var API = /*#__PURE__*/function () {
|
|
468
468
|
function API(config) {
|
|
469
469
|
this.config = config;
|
|
470
470
|
}
|
|
471
471
|
var _proto = API.prototype;
|
|
472
472
|
_proto.get = /*#__PURE__*/function () {
|
|
473
|
-
var _get = /*#__PURE__*/_asyncToGenerator(
|
|
473
|
+
var _get = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(endpoint, params) {
|
|
474
474
|
var url, fixedParams, response, message, _json$error, json;
|
|
475
475
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
476
476
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -532,7 +532,7 @@ var API = /*#__PURE__*/function () {
|
|
|
532
532
|
return get;
|
|
533
533
|
}();
|
|
534
534
|
_proto.fetchTables = /*#__PURE__*/function () {
|
|
535
|
-
var _fetchTables = /*#__PURE__*/_asyncToGenerator(
|
|
535
|
+
var _fetchTables = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
536
536
|
var response;
|
|
537
537
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
538
538
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -567,7 +567,7 @@ var API = /*#__PURE__*/function () {
|
|
|
567
567
|
}
|
|
568
568
|
};
|
|
569
569
|
_proto.query = /*#__PURE__*/function () {
|
|
570
|
-
var _query = /*#__PURE__*/_asyncToGenerator(
|
|
570
|
+
var _query = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(table, params) {
|
|
571
571
|
var response;
|
|
572
572
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
573
573
|
while (1) switch (_context3.prev = _context3.next) {
|
|
@@ -602,7 +602,7 @@ var API = /*#__PURE__*/function () {
|
|
|
602
602
|
return query;
|
|
603
603
|
}();
|
|
604
604
|
_proto.count = /*#__PURE__*/function () {
|
|
605
|
-
var _count = /*#__PURE__*/_asyncToGenerator(
|
|
605
|
+
var _count = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(table, params) {
|
|
606
606
|
var response;
|
|
607
607
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
608
608
|
while (1) switch (_context4.prev = _context4.next) {
|
|
@@ -957,7 +957,7 @@ function TablesFetcher(_ref2) {
|
|
|
957
957
|
component: "TablesFetcher",
|
|
958
958
|
databaseConfig: makeDatabaseCacheKey(databaseConfig)
|
|
959
959
|
});
|
|
960
|
-
var maybeData = query.usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator(
|
|
960
|
+
var maybeData = query.usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
961
961
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
962
962
|
while (1) switch (_context.prev = _context.next) {
|
|
963
963
|
case 0:
|
|
@@ -1057,7 +1057,6 @@ var cmsQueryRepeaterMeta = {
|
|
|
1057
1057
|
return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table = ctx == null ? void 0 : ctx.table) != null ? _ctx$table : table, ["number" /* NUMBER */, "boolean" /* BOOLEAN */, "text" /* TEXT */, "long-text" /* LONG_TEXT */, "ref" /* REF */]);
|
|
1058
1058
|
}
|
|
1059
1059
|
},
|
|
1060
|
-
|
|
1061
1060
|
filterValue: {
|
|
1062
1061
|
type: "string",
|
|
1063
1062
|
displayName: "Filter value",
|
|
@@ -1070,7 +1069,6 @@ var cmsQueryRepeaterMeta = {
|
|
|
1070
1069
|
options: function options(_, ctx) {
|
|
1071
1070
|
return mkFieldOptions(ctx == null ? void 0 : ctx.tables, ctx == null ? void 0 : ctx.table, ["number" /* NUMBER */, "boolean" /* BOOLEAN */, "date-time" /* DATE_TIME */, "long-text" /* LONG_TEXT */, "text" /* TEXT */]);
|
|
1072
1071
|
},
|
|
1073
|
-
|
|
1074
1072
|
hidden: function hidden(ps) {
|
|
1075
1073
|
return ps.mode === "count";
|
|
1076
1074
|
}
|
|
@@ -1211,7 +1209,7 @@ function CmsQueryRepeater(_ref6) {
|
|
|
1211
1209
|
table: table
|
|
1212
1210
|
});
|
|
1213
1211
|
}
|
|
1214
|
-
var maybeData = query.usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator(
|
|
1212
|
+
var maybeData = query.usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
1215
1213
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1216
1214
|
while (1) switch (_context2.prev = _context2.next) {
|
|
1217
1215
|
case 0:
|
|
@@ -1317,7 +1315,6 @@ var cmsRowFieldMeta = {
|
|
|
1317
1315
|
var table = _ref8.table;
|
|
1318
1316
|
return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table3 = ctx == null ? void 0 : ctx.table) != null ? _ctx$table3 : table, ["number" /* NUMBER */, "boolean" /* BOOLEAN */, "text" /* TEXT */, "long-text" /* LONG_TEXT */, "date-time" /* DATE_TIME */, "rich-text" /* RICH_TEXT */, "image" /* IMAGE */, "file" /* FILE */, "enum" /* ENUM */]);
|
|
1319
1317
|
},
|
|
1320
|
-
|
|
1321
1318
|
defaultValueHint: function defaultValueHint(_, ctx) {
|
|
1322
1319
|
var _ctx$fieldMeta, _ctx$fieldMeta2;
|
|
1323
1320
|
return (ctx == null || (_ctx$fieldMeta = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta.name) || (ctx == null || (_ctx$fieldMeta2 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta2.identifier);
|
|
@@ -1347,7 +1344,6 @@ var cmsRowFieldMeta = {
|
|
|
1347
1344
|
}
|
|
1348
1345
|
return fieldMeta.type !== "date-time" /* DATE_TIME */;
|
|
1349
1346
|
},
|
|
1350
|
-
|
|
1351
1347
|
options: [{
|
|
1352
1348
|
label: "July 26, 2014",
|
|
1353
1349
|
value: "MMMM D, YYYY"
|
|
@@ -1652,7 +1648,6 @@ function CmsRowLink(_ref13) {
|
|
|
1652
1648
|
field: field,
|
|
1653
1649
|
typeFilters: ["file" /* FILE */, "text" /* TEXT */]
|
|
1654
1650
|
});
|
|
1655
|
-
|
|
1656
1651
|
if (tables) {
|
|
1657
1652
|
// TODO: Only include table if __plasmic_cms_row_{table} exists.
|
|
1658
1653
|
setControlContextData == null || setControlContextData({
|
|
@@ -1747,7 +1742,6 @@ function CmsRowImage(_ref15) {
|
|
|
1747
1742
|
field: field,
|
|
1748
1743
|
typeFilters: ["image" /* IMAGE */]
|
|
1749
1744
|
});
|
|
1750
|
-
|
|
1751
1745
|
if (tables) {
|
|
1752
1746
|
// TODO: Only include table if __plasmic_cms_row_{table} exists.
|
|
1753
1747
|
setControlContextData == null || setControlContextData({
|
|
@@ -1844,7 +1838,6 @@ function CmsRowFieldValue(_ref17) {
|
|
|
1844
1838
|
field: field,
|
|
1845
1839
|
typeFilters: ["text" /* TEXT */]
|
|
1846
1840
|
});
|
|
1847
|
-
|
|
1848
1841
|
if (tables) {
|
|
1849
1842
|
// TODO: Only include table if __plasmic_cms_row_{table} exists.
|
|
1850
1843
|
setControlContextData == null || setControlContextData({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plasmic-cms.cjs.development.js","sources":["../src/api.ts","../src/context.tsx","../src/util.ts","../src/components.tsx","../src/index.tsx"],"sourcesContent":["import { ApiCmsQuery, ApiCmsRow, ApiCmsTable } from \"./schema\";\n\nexport interface DatabaseConfig {\n host: string;\n databaseId: string;\n databaseToken: string;\n locale: string;\n useDraft: boolean | string[];\n}\n\nexport interface QueryParams {\n useDraft?: boolean;\n where?: any;\n orderBy?: string;\n desc?: boolean;\n limit?: number;\n offset?: number;\n fields?: string[];\n}\n\nfunction queryParamsToApi(params: QueryParams): ApiCmsQuery {\n return {\n where: params.where,\n limit: params.limit,\n offset: params.offset,\n order: params.orderBy\n ? [\n {\n field: params.orderBy,\n dir: params.desc ? \"desc\" : \"asc\",\n },\n ]\n : undefined,\n fields: params.fields,\n };\n}\n\nexport class HttpError extends Error {\n constructor(public status: number, message: string) {\n super(message);\n }\n}\n\nexport class API {\n constructor(private config: DatabaseConfig) {}\n\n async get(endpoint: string, params: any = {}) {\n const url = new URL(\n `${this.config.host}/api/v1/cms/databases/${this.config.databaseId}${endpoint}`\n );\n const fixedParams = Object.keys(params).reduce((newObj, key) => {\n const value = params[key];\n if (value != null) {\n newObj[key] = value;\n }\n return newObj;\n }, {} as any);\n url.search = new URLSearchParams(fixedParams).toString();\n const response = await fetch(url.toString(), {\n method: \"GET\",\n headers: {\n accept: \"*/*\",\n \"x-plasmic-api-cms-tokens\": `${this.config.databaseId}:${this.config.databaseToken}`,\n },\n mode: \"cors\",\n });\n\n if (response.status !== 200) {\n let message = await response.text();\n try {\n const json = JSON.parse(message);\n if (json.error?.message) {\n message = json.error.message;\n }\n } catch {\n // ignored\n }\n throw new HttpError(response.status, message);\n }\n\n return await response.json();\n }\n\n async fetchTables(): Promise<ApiCmsTable[]> {\n try {\n const response = await this.get(``);\n return response.tables;\n } catch (e) {\n console.error(e);\n throw e;\n }\n }\n\n private useDraftForTable(table: string) {\n if (Array.isArray(this.config.useDraft)) {\n return this.config.useDraft.includes(table);\n } else {\n return this.config.useDraft;\n }\n }\n\n async query(table: string, params: QueryParams = {}): Promise<ApiCmsRow[]> {\n try {\n const response = await this.get(`/tables/${table}/query`, {\n q: JSON.stringify(queryParamsToApi(params)),\n draft: Number(this.useDraftForTable(table) || params.useDraft),\n locale: this.config.locale,\n });\n return response.rows;\n } catch (e) {\n console.error(e);\n throw e;\n }\n }\n\n async count(\n table: string,\n params: Pick<QueryParams, \"where\" | \"useDraft\"> = {}\n ): Promise<number> {\n try {\n const response = await this.get(`/tables/${table}/count`, {\n q: JSON.stringify(queryParamsToApi(params)),\n draft: Number(this.useDraftForTable(table) || params.useDraft),\n });\n return response.count;\n } catch (e) {\n console.error(e);\n throw e;\n }\n }\n}\n\nexport function mkApi(config: DatabaseConfig | undefined) {\n if (!config) {\n throw new Error(\"Component must be wrapped in 'CMS Data Provider'.\");\n }\n\n return new API(config);\n}\n","import {\n DataDict,\n DataProvider,\n useDataEnv,\n useSelector,\n} from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { DatabaseConfig } from \"./api\";\nimport { ApiCmsRow, ApiCmsTable } from \"./schema\";\n\nconst contextPrefix = \"plasmicCms\";\nconst databaseContextKey = `${contextPrefix}Database`;\nconst tablesContextKey = `${contextPrefix}Tables`;\nconst tableSchemaContextKey = `${contextPrefix}TableSchema`;\nconst collectionResultSuffix = `Collection`;\nexport const mkQueryContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${collectionResultSuffix}`;\nconst itemContextSuffix = `Item`;\nconst countContextSuffix = `Count`;\nconst modeContextSuffix = `Mode`;\nconst mkRowContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${itemContextSuffix}`;\nconst mkCountContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${countContextSuffix}`;\nconst mkModeContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${modeContextSuffix}`;\n\nfunction capitalizeFirst(str: string): string {\n return str[0]?.toUpperCase() + str.slice(1);\n}\n\nexport function useDatabase() {\n return useSelector(databaseContextKey) as DatabaseConfig | undefined;\n}\n\nexport function makeDatabaseCacheKey(config: DatabaseConfig | undefined) {\n if (!config) {\n return null;\n }\n const { databaseToken, ...rest } = config;\n return JSON.stringify(rest);\n}\n\nexport function DatabaseProvider({\n config,\n children,\n}: {\n config: DatabaseConfig;\n children?: React.ReactNode;\n}) {\n return (\n <DataProvider name={databaseContextKey} data={config} hidden={true}>\n {children}\n </DataProvider>\n );\n}\n\nexport function useTables() {\n return useSelector(tablesContextKey) as ApiCmsTable[] | undefined;\n}\n\nexport function TablesProvider({\n children,\n tables,\n}: {\n children?: React.ReactNode;\n tables?: ApiCmsTable[];\n}) {\n return (\n <DataProvider name={tablesContextKey} data={tables} hidden={true}>\n {children}\n </DataProvider>\n );\n}\n\nexport function TableSchemaProvider({\n children,\n table,\n}: {\n children?: React.ReactNode;\n table?: string | undefined;\n}) {\n const tables = useTables();\n\n let schema;\n if (tables && tables?.length > 0) {\n if (!table) {\n schema = tables[0]?.schema;\n } else {\n schema = tables?.find((t) => t?.identifier === table)?.schema;\n }\n }\n return (\n <DataProvider name={tableSchemaContextKey} data={schema}>\n {children}\n </DataProvider>\n );\n}\n\nexport function useQueryResults(table?: string) {\n const env = useDataEnv();\n const tables = useTables();\n\n if (!env) {\n return undefined;\n }\n\n if (table) {\n return {\n table,\n rows: (env[mkQueryContextKey(table)] ?? []) as ApiCmsRow[],\n };\n }\n if (!tables) {\n return undefined;\n }\n\n const matchingKeys = getClosestMatchingKeys(env, collectionResultSuffix);\n for (const key of matchingKeys) {\n const inferredTable = tables.find(\n (t) => mkQueryContextKey(t.identifier) === key\n );\n if (inferredTable) {\n return {\n table: inferredTable.identifier,\n rows: (env[key] ?? []) as ApiCmsRow[],\n };\n }\n }\n return undefined;\n}\n\nfunction getClosestMatchingKeys(env: DataDict, suffix: string) {\n return [...Object.keys(env).reverse()].filter((k) => k.endsWith(suffix));\n}\n\nfunction getClosestMatchingKeysBy(\n env: DataDict,\n pred: (str: string) => boolean\n) {\n return [...Object.keys(env).reverse()].filter((key) => pred(key));\n}\n\nexport function QueryResultProvider({\n children,\n table,\n rows,\n hidden,\n}: {\n children?: React.ReactNode;\n table: string | undefined;\n rows: ApiCmsRow[] | undefined;\n hidden?: boolean;\n}) {\n return (\n <DataProvider\n name={table ? mkModeContextKey(table) : undefined}\n data=\"rows\"\n hidden\n >\n <DataProvider\n name={table ? mkQueryContextKey(table) : undefined}\n data={rows}\n hidden={hidden}\n >\n {children}\n </DataProvider>\n </DataProvider>\n );\n}\n\nexport function useTablesWithDataLoaded(mode: \"rows\" | \"count\" | undefined) {\n const env = useDataEnv();\n const tables = useTables();\n\n if (!env) {\n return undefined;\n }\n\n if (!tables) {\n return undefined;\n }\n\n const matchingKeys = getClosestMatchingKeysBy(env, (key) => {\n if (mode === \"rows\") {\n return key.endsWith(itemContextSuffix);\n } else if (mode === \"count\") {\n return key.endsWith(countContextSuffix);\n } else {\n return (\n key.endsWith(itemContextSuffix) || key.endsWith(countContextSuffix)\n );\n }\n });\n\n return tables.filter((table) =>\n matchingKeys.some((key) => {\n if (mode === \"rows\") {\n return mkRowContextKey(table.identifier) === key;\n } else if (mode === \"count\") {\n return mkCountContextKey(table.identifier) === key;\n } else {\n return (\n mkRowContextKey(table.identifier) === key ||\n mkCountContextKey(table.identifier) === key\n );\n }\n })\n );\n}\n\nfunction deriveTableId(tables?: ApiCmsTable[], table?: string) {\n if (!table && tables && tables.length > 0) {\n table = tables[0].identifier;\n }\n return table;\n}\n\nexport function useRow(tables?: ApiCmsTable[], table?: string) {\n const env = useDataEnv();\n\n if (!env) {\n return undefined;\n }\n\n table = deriveTableId(tables, table);\n\n if (table) {\n return {\n table,\n row: env[mkRowContextKey(table)] as ApiCmsRow | undefined,\n };\n }\n\n return undefined;\n}\n\nexport function useCount(tables?: ApiCmsTable[], table?: string) {\n const env = useDataEnv();\n\n if (!env) {\n return undefined;\n }\n\n table = deriveTableId(tables, table);\n\n if (table) {\n return {\n table,\n count: env[mkCountContextKey(table)] as number | undefined,\n };\n }\n\n return undefined;\n}\n\nexport function RowProvider({\n children,\n table,\n row,\n}: {\n children?: React.ReactNode;\n table: string;\n row: ApiCmsRow;\n}) {\n return (\n <DataProvider name={mkRowContextKey(table)} data={row}>\n {children}\n </DataProvider>\n );\n}\n\nexport function CountProvider({\n children,\n table,\n count,\n}: {\n children?: React.ReactNode;\n table: string | undefined;\n count: number | undefined;\n}) {\n return (\n <DataProvider\n name={table ? mkModeContextKey(table) : undefined}\n data=\"count\"\n hidden\n >\n <DataProvider\n name={table ? mkCountContextKey(table) : undefined}\n data={count}\n >\n {children}\n </DataProvider>\n </DataProvider>\n );\n}\n","import { ApiCmsTable, CmsType } from \"./schema\";\n\ntype ValueLabelPair = {\n value: string;\n label: string;\n};\n\nexport function mkTableOptions(\n tables: ApiCmsTable[] | undefined\n): ValueLabelPair[] {\n if (!tables) {\n return [];\n }\n\n return tables.map((table) => ({\n value: table.identifier,\n label: table.name,\n }));\n}\n\nexport function mkFieldOptions(\n tables: ApiCmsTable[] | undefined,\n tableIdentifier: string | undefined,\n types?: CmsType[]\n): ValueLabelPair[] {\n if (!tables) {\n return [];\n }\n\n const table = tables.find((t) => t.identifier === tableIdentifier);\n if (!table) {\n return [];\n }\n\n let fields = table.schema.fields;\n if (types) {\n fields = fields.filter((f) => types.includes(f.type));\n }\n const options = fields.map((f) => ({\n value: f.identifier,\n label: f.name || f.identifier,\n }));\n if (!options.some((option) => option.value === \"_id\")) {\n options.push({\n label: \"System-assigned ID\",\n value: \"_id\",\n });\n }\n\n return options;\n}\n","import { repeatedElement, usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport {\n CanvasComponentProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { GlobalContextMeta } from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport dayjs from \"dayjs\";\nimport React from \"react\";\nimport { DatabaseConfig, HttpError, mkApi, QueryParams } from \"./api\";\nimport {\n CountProvider,\n DatabaseProvider,\n makeDatabaseCacheKey,\n QueryResultProvider,\n RowProvider,\n TablesProvider,\n useCount,\n useDatabase,\n useRow,\n useTables,\n useTablesWithDataLoaded,\n TableSchemaProvider,\n} from \"./context\";\nimport {\n ApiCmsRow,\n ApiCmsTable,\n CmsFieldMeta,\n CmsType,\n CmsMetaType,\n} from \"./schema\";\nimport { mkFieldOptions, mkTableOptions } from \"./util\";\n\nconst modulePath = \"@plasmicpkgs/plasmic-cms\";\nconst componentPrefix = \"hostless-plasmic-cms\";\n\ninterface FetcherComponentProps {\n hideIfNotFound?: boolean;\n}\n\nfunction renderMaybeData<T>(\n maybeData: ReturnType<typeof usePlasmicQueryData>,\n renderFn: (data: T) => JSX.Element | any,\n loaderProps: FetcherComponentProps,\n inEditor: boolean,\n loadingMessage?: React.ReactNode,\n forceLoadingState?: boolean\n): React.ReactElement | null {\n if (\"error\" in maybeData) {\n const error = maybeData.error;\n if (!inEditor) {\n return <>{loadingMessage ?? <div>Loading...</div>}</>;\n }\n if (error && error instanceof HttpError && error.status === 404) {\n if (loaderProps.hideIfNotFound) {\n return null;\n } else {\n return <div>Error: Data not found</div>;\n }\n } else {\n return <div>Error: {error?.message}</div>;\n }\n }\n if (!(\"data\" in maybeData) || forceLoadingState) {\n return <>{loadingMessage ?? <div>Loading...</div>}</>;\n }\n return renderFn(maybeData.data as T);\n}\n\ninterface CmsCredentialsProviderProps extends DatabaseConfig {\n children?: React.ReactNode;\n}\n\nconst defaultHost = \"https://data.plasmic.app\";\n\nexport const cmsCredentialsProviderMeta: GlobalContextMeta<CmsCredentialsProviderProps> =\n {\n name: `${componentPrefix}-credentials-provider`,\n displayName: \"CMS Credentials Provider\",\n description: `\nFind (or create) your CMS in the [dashboard](https://studio.plasmic.app), and go to its Settings view for the ID and token.\n\n[See tutorial video](https://docs.plasmic.app/learn/plasmic-cms/).`,\n importName: \"CmsCredentialsProvider\",\n importPath: modulePath,\n providesData: true,\n props: {\n host: {\n type: \"string\",\n displayName: \"Studio URL\",\n description: `The default host for use in production is ${defaultHost}.`,\n defaultValue: defaultHost,\n defaultValueHint: defaultHost,\n advanced: true,\n },\n databaseId: {\n type: \"string\",\n displayName: \"CMS ID\",\n description:\n \"The ID of the CMS (database) to use. (Can get on the CMS settings page)\",\n },\n databaseToken: {\n type: \"string\",\n displayName: \"CMS Public Token\",\n description:\n \"The Public Token of the CMS (database) you are using. (Can get on the CMS settings page)\",\n },\n locale: {\n type: \"string\",\n displayName: \"Locale\",\n description:\n \"The locale to use for localized values, leave empty for the default locale.\",\n },\n },\n };\n\nexport function CmsCredentialsProvider({\n children,\n databaseId,\n databaseToken,\n host,\n locale,\n useDraft,\n}: CmsCredentialsProviderProps) {\n const config: DatabaseConfig = {\n databaseId,\n databaseToken,\n locale,\n host: host || defaultHost,\n useDraft: useDraft ?? false,\n };\n return (\n <DatabaseProvider config={config}>\n <TablesFetcher>{children}</TablesFetcher>\n </DatabaseProvider>\n );\n}\n\nfunction TablesFetcher({ children }: { children: React.ReactNode }) {\n const databaseConfig = useDatabase();\n\n const cacheKey = JSON.stringify({\n component: \"TablesFetcher\",\n databaseConfig: makeDatabaseCacheKey(databaseConfig),\n });\n const maybeData = usePlasmicQueryData(cacheKey, async () => {\n if (!isDatabaseConfigured(databaseConfig)) {\n return [];\n }\n return await mkApi(databaseConfig).fetchTables();\n });\n const inEditor = !!usePlasmicCanvasContext();\n\n return (\n <TablesProvider tables={maybeData.data}>\n {inEditor && maybeData.error ? (\n <div>CMS Error: {maybeData.error.message}</div>\n ) : (\n children\n )}\n </TablesProvider>\n );\n}\n\ntype TablesContextData = {\n tables?: ApiCmsTable[];\n};\ninterface TableContextData extends TablesContextData {\n table?: string;\n}\n\ninterface RowContextData extends TableContextData {\n row?: ApiCmsRow;\n fieldMeta?: CmsFieldMeta;\n}\n\nfunction isDatabaseConfigured(config?: DatabaseConfig) {\n return config?.databaseId && config?.databaseToken;\n}\n\ninterface CmsQueryRepeaterProps\n extends QueryParams,\n CanvasComponentProps<TableContextData> {\n children: React.ReactNode;\n table: string;\n emptyMessage?: React.ReactNode;\n forceEmptyState?: boolean;\n loadingMessage?: React.ReactNode;\n forceLoadingState?: boolean;\n noLayout?: boolean;\n noAutoRepeat?: boolean;\n className?: string;\n filterField?: string;\n filterValue?: string;\n fields?: string[];\n mode?: \"rows\" | \"count\";\n}\n\nexport const cmsQueryRepeaterMeta: ComponentMeta<CmsQueryRepeaterProps> = {\n name: `${componentPrefix}-query-repeater`,\n displayName: \"CMS Data Fetcher\",\n description:\n \"Fetches CMS data. Repeats `children` slot content for each row fetched. [See tutorial video](https://docs.plasmic.app/learn/plasmic-cms/).\",\n importName: \"CmsQueryRepeater\",\n importPath: modulePath,\n providesData: true,\n defaultStyles: {\n display: \"flex\",\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n props: {\n children: {\n type: \"slot\",\n isRepeated: true,\n defaultValue: {\n type: \"vbox\",\n children: [\n {\n type: \"component\",\n name: `${componentPrefix}-row-field`,\n },\n ],\n },\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n description: \"CMS model (table) to query.\",\n options: (_, ctx) => mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n useDraft: {\n type: \"boolean\",\n displayName: \"Use drafts?\",\n description: \"If set, also query unpublished content.\",\n defaultValue: false,\n hidden: () => true,\n },\n mode: {\n type: \"choice\",\n options: [\n { label: \"Rows\", value: \"rows\" },\n { label: \"Count\", value: \"count\" },\n ],\n defaultValueHint: \"rows\",\n },\n where: {\n type: \"object\",\n displayName: \"Filter\",\n description:\n \"Filter clause, as a JSON in Mongo query format. Should not be used together with Filter field and Filter value\",\n advanced: true,\n },\n filterField: {\n type: \"choice\",\n displayName: \"Filter field\",\n description: \"Field (from model schema) to filter by\",\n options: ({ table }, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table, [\n CmsMetaType.NUMBER,\n CmsMetaType.BOOLEAN,\n CmsMetaType.TEXT,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.REF,\n ]),\n },\n filterValue: {\n type: \"string\",\n displayName: \"Filter value\",\n description: \"Value to filter by, should be of filter field type\",\n },\n orderBy: {\n type: \"choice\",\n displayName: \"Order by\",\n description: \"Field to order by.\",\n options: (_, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table, [\n CmsMetaType.NUMBER,\n CmsMetaType.BOOLEAN,\n CmsMetaType.DATE_TIME,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.TEXT,\n ]),\n hidden: (ps) => ps.mode === \"count\",\n },\n desc: {\n type: \"boolean\",\n displayName: \"Sort descending?\",\n description: 'Sort descending by \"Order by\" field.',\n defaultValue: false,\n hidden: (ps) => ps.mode === \"count\",\n },\n limit: {\n type: \"number\",\n displayName: \"Limit\",\n description: \"Maximum number of entries to fetch (0 for unlimited).\",\n defaultValue: 0,\n hidden: (ps) => ps.mode === \"count\",\n },\n offset: {\n type: \"number\",\n displayName: \"Offset\",\n description:\n \"Skips this number of rows in the result set; used in combination with limit to build pagination\",\n hidden: (ps) => ps.mode === \"count\",\n },\n fields: {\n type: \"choice\",\n multiSelect: true,\n displayName: \"Fields\",\n description:\n \"Fields from the CMS model to include with each row; by default, all fields are included\",\n options: ({ table }, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table),\n hidden: (ps) => ps.mode === \"count\",\n },\n emptyMessage: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"No matching published entries found.\",\n },\n },\n forceEmptyState: {\n type: \"boolean\",\n displayName: \"Force empty state\",\n description: \"If set, will render as if no matching entries were found.\",\n defaultValue: false,\n },\n loadingMessage: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"Loading...\",\n },\n },\n forceLoadingState: {\n type: \"boolean\",\n displayName: \"Force loading state\",\n description:\n \"If set, will render as if it is waiting for the query to run.\",\n defaultValue: false,\n },\n noLayout: {\n type: \"boolean\",\n displayName: \"No layout\",\n description:\n \"When set, CMS Data Loader will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.\",\n defaultValue: false,\n },\n noAutoRepeat: {\n type: \"boolean\",\n displayName: \"No auto-repeat\",\n description: \"Do not automatically repeat children for every entry.\",\n defaultValue: false,\n hidden: (ps) => ps.mode === \"count\",\n },\n },\n};\n\nexport function CmsQueryRepeater({\n table,\n children,\n setControlContextData,\n mode,\n where,\n useDraft,\n orderBy,\n desc,\n limit,\n offset,\n emptyMessage,\n forceEmptyState,\n loadingMessage,\n forceLoadingState,\n noLayout,\n noAutoRepeat,\n className,\n filterField,\n filterValue,\n fields,\n}: CmsQueryRepeaterProps) {\n const databaseConfig = useDatabase();\n const tables = useTables();\n\n if (filterField && filterValue) {\n where = {\n [filterField]: filterValue,\n };\n }\n const params = { where, useDraft, orderBy, desc, limit, offset, fields };\n\n if (!table && tables && tables.length > 0) {\n table = tables[0].identifier;\n }\n\n const cacheKey = JSON.stringify({\n component: \"CmsQueryLoader\",\n mode,\n table,\n databaseConfig: makeDatabaseCacheKey(databaseConfig),\n params,\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({ tables, table });\n }\n\n const maybeData = usePlasmicQueryData(cacheKey, async () => {\n if (!isDatabaseConfigured(databaseConfig)) {\n throw new Error(`You must specify a CMS ID and API key`);\n }\n if (!table) {\n throw new Error(`You must select a model to query`);\n } else if (tables && !tables.find((t) => t.identifier === table)) {\n throw new Error(`There is no model called \"${table}\"`);\n } else if (mode === \"count\") {\n return mkApi(databaseConfig).count(table, params);\n } else {\n return mkApi(databaseConfig).query(table, params);\n }\n });\n const inEditor = !!usePlasmicCanvasContext();\n if (mode === \"count\") {\n const node = renderMaybeData<number>(\n maybeData,\n () => children,\n { hideIfNotFound: false },\n inEditor,\n loadingMessage,\n forceLoadingState\n );\n return (\n <TableSchemaProvider table={table}>\n <CountProvider\n table={table}\n count={\n typeof maybeData?.data === \"number\" ? maybeData.data : undefined\n }\n >\n {node}\n </CountProvider>\n </TableSchemaProvider>\n );\n } else {\n const node = renderMaybeData<ApiCmsRow[]>(\n maybeData,\n (rows) => {\n if (rows.length === 0 || forceEmptyState) {\n return emptyMessage;\n }\n\n return noAutoRepeat\n ? children\n : rows.map((row, index) => (\n <RowProvider key={index} table={table!} row={row}>\n {repeatedElement(index, children)}\n </RowProvider>\n ));\n },\n { hideIfNotFound: false },\n inEditor,\n loadingMessage,\n forceLoadingState\n );\n return (\n <TableSchemaProvider table={table}>\n <QueryResultProvider\n rows={Array.isArray(maybeData?.data) ? maybeData.data : undefined}\n table={table}\n >\n {noLayout ? <> {node} </> : <div className={className}> {node} </div>}\n </QueryResultProvider>\n </TableSchemaProvider>\n );\n }\n}\n\ninterface CmsRowFieldProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n className?: string;\n dateFormat?: string;\n usePlasmicTheme?: boolean;\n themeResetClassName?: string;\n}\n\nexport const cmsRowFieldMeta: ComponentMeta<CmsRowFieldProps> = {\n name: `${componentPrefix}-row-field`,\n displayName: \"CMS Entry Field\",\n importName: \"CmsRowField\",\n importPath: modulePath,\n props: {\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_, ctx) => mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: ({ table }, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table, [\n CmsMetaType.NUMBER,\n CmsMetaType.BOOLEAN,\n CmsMetaType.TEXT,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.DATE_TIME,\n CmsMetaType.RICH_TEXT,\n CmsMetaType.IMAGE,\n CmsMetaType.FILE,\n CmsMetaType.ENUM,\n ]),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n dateFormat: {\n type: \"choice\",\n displayName: \"Date Format\",\n hidden: ({ field }, ctx) => {\n if (!ctx) {\n return true;\n }\n const { table: tableIdentifier, tables } = ctx;\n const table = tables?.find((t) => t.identifier === tableIdentifier);\n if (!table) {\n return true;\n }\n const fieldMeta = table.schema.fields.find(\n (f) => f.identifier === field\n );\n if (!fieldMeta) {\n return true;\n }\n return fieldMeta.type !== CmsMetaType.DATE_TIME;\n },\n options: [\n {\n label: \"July 26, 2014\",\n value: \"MMMM D, YYYY\",\n },\n {\n label: \"July 26, 2014 10:02 PM\",\n value: \"MMMM D, YYYY h:mm A\",\n },\n {\n label: \"Jul 26, 2014\",\n value: \"MMM D, YYYY\",\n },\n {\n label: \"Jul 26, 2014 10:02 PM\",\n value: \"MMM D, YYYY h:mm A\",\n },\n {\n label: \"Saturday, July 26, 2014\",\n value: \"dddd, MMMM D, YYYY\",\n },\n {\n label: \"7/26/2014\",\n value: \"M/D/YYYY\",\n },\n {\n label: \"7/26/2014 10:02 PM\",\n value: \"M/D/YYYY h:mm A\",\n },\n {\n label: \"26/7/2014\",\n value: \"D/M/YYYY\",\n },\n {\n label: \"26/7/2014 10:02 PM\",\n value: \"D/M/YYYY h:mm A\",\n },\n {\n label: \"7/26/14\",\n value: \"M/D/YY\",\n },\n {\n label: \"7/26/14 10:02 PM\",\n value: \"M/D/YY h:mm A\",\n },\n {\n label: \"26/7/14\",\n value: \"D/M/YY\",\n },\n {\n label: \"26/7/14 10:02 PM\",\n value: \"D/M/YY h:mm A\",\n },\n ],\n },\n usePlasmicTheme: {\n type: \"boolean\",\n displayName: \"Use Plasmic tag styles?\",\n description: \"For HTML content, use tag styles defined in Plasmic\",\n advanced: true,\n },\n themeResetClassName: {\n type: \"themeResetClass\",\n targetAllTags: true,\n },\n },\n defaultStyles: {\n objectFit: \"cover\",\n },\n};\n\nexport function CmsRowField({\n className,\n table,\n field,\n dateFormat,\n setControlContextData,\n usePlasmicTheme,\n themeResetClassName,\n ...rest\n}: CmsRowFieldProps) {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n const unknown = (\n <div className={className} {...rest}>\n Field {table ?? \"Unknown Model\"}.{field ?? \"Unknown Field\"}\n </div>\n );\n const fieldMeta = res\n ? deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [\n CmsMetaType.TEXT,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.RICH_TEXT,\n ],\n })\n : undefined;\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n ...(res && res.row\n ? { table: res.table, row: res.row, fieldMeta: fieldMeta }\n : {}),\n });\n }\n\n if (!res) {\n return unknown;\n }\n\n if (!res.row) {\n return <div className={className}>Error: No CMS Entry found</div>;\n }\n\n if (!fieldMeta) {\n return unknown;\n }\n\n let data = res.row.data?.[fieldMeta.identifier];\n if (!data) {\n return null;\n }\n if (fieldMeta.type === CmsMetaType.DATE_TIME && dateFormat) {\n data = dayjs(data).format(dateFormat);\n }\n return data\n ? renderValue(data, fieldMeta.type, {\n className: `${usePlasmicTheme ? themeResetClassName : \"\"} ${className}`,\n ...rest,\n })\n : null;\n}\n\ninterface CmsCountProps extends CanvasComponentProps<RowContextData> {\n table: string;\n className?: string;\n}\n\nexport const cmsCountFieldMeta: ComponentMeta<CmsCountProps> = {\n name: `${componentPrefix}-count`,\n displayName: \"CMS Entries Count\",\n importName: \"CmsCount\",\n importPath: modulePath,\n props: {\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_, ctx) => mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n },\n};\nexport function CmsCount({\n className,\n table,\n setControlContextData: _,\n ...rest\n}: CmsCountProps) {\n const tables = useTablesWithDataLoaded(\"count\");\n const res = useCount(tables, table);\n const unknown = (\n <div className={className} {...rest}>\n Count: {table ?? \"Unknown Model\"}\n </div>\n );\n if (!res) {\n return unknown;\n }\n\n if (res.count == null) {\n return null;\n } else {\n return (\n <div className={className} {...rest}>\n {new Intl.NumberFormat().format(res.count)}\n </div>\n );\n }\n}\n\nconst DEFAULT_TYPE_FILTERS = [CmsMetaType.TEXT];\nfunction deriveInferredTableField(opts: {\n table?: string;\n tables?: ApiCmsTable[];\n field?: string;\n typeFilters?: CmsType[];\n}) {\n const { table, tables, field, typeFilters } = opts;\n if (!table) return undefined;\n const schema = tables?.find((t) => t.identifier === table)?.schema;\n const fieldMeta = field\n ? schema?.fields.find((f) => f.identifier === field)\n : schema?.fields.find((f) =>\n (typeFilters ?? DEFAULT_TYPE_FILTERS).includes(f.type)\n );\n return fieldMeta;\n}\n\nfunction assertNever(_: never): never {\n throw new Error(\"unexpected branch taken\");\n}\n\nfunction renderValue(value: any, type: CmsType, props: { className?: string }) {\n switch (type) {\n case CmsMetaType.NUMBER:\n case CmsMetaType.BOOLEAN:\n case CmsMetaType.TEXT:\n case CmsMetaType.LONG_TEXT:\n case CmsMetaType.DATE_TIME:\n case CmsMetaType.ENUM:\n case CmsMetaType.REF:\n return <div {...props}>{value}</div>;\n case CmsMetaType.RICH_TEXT:\n return (\n <div\n dangerouslySetInnerHTML={{ __html: value }}\n style={{ whiteSpace: \"normal\" }}\n {...props}\n />\n );\n case CmsMetaType.IMAGE:\n if (value && typeof value === \"object\" && value.url && value.imageMeta) {\n return (\n <img\n src={value.url}\n width={value.imageMeta.width}\n height={value.imageMeta.height}\n {...props}\n />\n );\n }\n return null;\n case CmsMetaType.FILE:\n if (value && typeof value === \"object\" && value.url && value.name) {\n return (\n <a href={value.url} target=\"_blank\" {...props}>\n {value.name}\n </a>\n );\n }\n return null;\n default:\n assertNever(type);\n }\n}\n\ninterface CmsRowLinkProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n hrefProp: string;\n children: React.ReactNode;\n prefix?: string;\n suffix?: string;\n}\n\nexport const cmsRowLinkMeta: ComponentMeta<CmsRowLinkProps> = {\n name: `${componentPrefix}-row-link`,\n displayName: \"CMS Entry Link\",\n importName: \"CmsRowLink\",\n importPath: modulePath,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n tag: \"a\",\n value: \"Link\",\n },\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_: any, ctx: TableContextData | null) =>\n mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: ({ table }: CmsRowLinkProps, ctx: TableContextData | null) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n hrefProp: {\n type: \"string\",\n displayName: '\"href\" prop',\n description: \"Prop to inject into children\",\n defaultValue: \"href\",\n },\n prefix: {\n type: \"string\",\n displayName: \"Optional prefix\",\n description: \"Prefix to prepend to prop value.\",\n hidden: (_, ctx) => ctx?.fieldMeta?.type === \"file\",\n },\n suffix: {\n type: \"string\",\n displayName: \"Optional suffix\",\n description: \"Suffix to append to prop value.\",\n hidden: (_, ctx) => ctx?.fieldMeta?.type === \"file\",\n },\n },\n};\n\nexport function CmsRowLink({\n table,\n field,\n hrefProp,\n children,\n setControlContextData,\n prefix,\n suffix,\n}: CmsRowLinkProps): React.ReactElement | null {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n if (!res || !res.row) {\n return <>{children}</>;\n }\n\n const fieldMeta = deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [CmsMetaType.FILE, CmsMetaType.TEXT],\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n table: res.table,\n row: res.row,\n fieldMeta: fieldMeta,\n });\n }\n if (!fieldMeta) {\n return <>{children}</>;\n }\n\n if (!children) {\n return null;\n }\n\n const value = res.row.data?.[fieldMeta.identifier] || \"\";\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n [hrefProp]:\n fieldMeta.type === CmsMetaType.FILE\n ? value.url\n : prefix || suffix\n ? `${prefix || \"\"}${value}${suffix || \"\"}`\n : value,\n });\n }\n return child;\n });\n\n return <>{childrenWithProps ?? null}</>;\n}\n\ninterface CmsRowImageProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n srcProp: string;\n children: React.ReactNode;\n}\n\nexport const cmsRowImageMeta: ComponentMeta<CmsRowImageProps> = {\n name: `${componentPrefix}-row-image`,\n displayName: \"CMS Entry Image\",\n importName: \"CmsRowImage\",\n importPath: modulePath,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"img\",\n src: \"https://studio.plasmic.app/static/img/placeholder-full.png\",\n },\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_: any, ctx: TableContextData | null) =>\n mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: ({ table }: CmsRowImageProps, ctx: TableContextData | null) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table, [CmsMetaType.IMAGE]),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n srcProp: {\n type: \"string\",\n displayName: 'Image \"src\" prop',\n description: \"Prop to inject into children\",\n defaultValue: \"src\",\n },\n },\n};\n\nexport function CmsRowImage({\n table,\n field,\n srcProp,\n children,\n setControlContextData,\n}: CmsRowImageProps): React.ReactElement | null {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n if (!res || !res.row) {\n return <>{children}</>;\n }\n\n const fieldMeta = deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [CmsMetaType.IMAGE],\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n table: res.table,\n row: res.row,\n fieldMeta: fieldMeta,\n });\n }\n\n if (!fieldMeta) {\n return <>{children}</>;\n }\n\n const value = res.row.data?.[fieldMeta.identifier] || \"\";\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child) && value) {\n if (typeof value === \"object\" && value.url && value.imageMeta) {\n return React.cloneElement(child, {\n [srcProp]: {\n src: value.url,\n fullHeight: value.imageMeta.height,\n fullWidth: value.imageMeta.width,\n },\n });\n }\n return React.cloneElement(child, { [srcProp]: value });\n }\n return child;\n });\n\n return <>{childrenWithProps}</>;\n}\n\ninterface CmsRowFieldValueProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n valueProp: string;\n children: React.ReactNode;\n}\n\nexport const cmsRowFieldValueMeta: ComponentMeta<CmsRowFieldValueProps> = {\n name: `${componentPrefix}-row-value`,\n displayName: \"CMS Entry Value\",\n importName: \"CmsRowFieldValue\",\n importPath: modulePath,\n props: {\n children: {\n type: \"slot\",\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_: any, ctx: TableContextData | null) =>\n mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: (\n { table }: CmsRowFieldValueProps,\n ctx: TableContextData | null\n ) => mkFieldOptions(ctx?.tables, ctx?.table ?? table),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n valueProp: {\n type: \"string\",\n displayName: \"Value prop\",\n description: \"Prop to inject into children as\",\n defaultValue: \"children\",\n },\n },\n};\n\nexport function CmsRowFieldValue({\n table,\n field,\n valueProp,\n children,\n setControlContextData,\n ...rest\n}: CmsRowFieldValueProps): React.ReactElement | null {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n if (!res || !res.row) {\n return <>{children}</>;\n }\n\n const fieldMeta = deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [CmsMetaType.TEXT],\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n table: res.table,\n row: res.row,\n fieldMeta: fieldMeta,\n });\n }\n\n if (!fieldMeta) {\n return <>{children}</>;\n }\n\n const value = res.row.data?.[fieldMeta.identifier] || \"\";\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, { ...rest, [valueProp]: value });\n }\n return child;\n });\n\n return <>{childrenWithProps}</>;\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext, {\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n CmsCount,\n cmsCountFieldMeta,\n CmsCredentialsProvider,\n cmsCredentialsProviderMeta,\n CmsQueryRepeater,\n cmsQueryRepeaterMeta,\n CmsRowField,\n cmsRowFieldMeta,\n CmsRowFieldValue,\n cmsRowFieldValueMeta,\n CmsRowImage,\n cmsRowImageMeta,\n CmsRowLink,\n cmsRowLinkMeta,\n} from \"./components\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n //const registerContext = loader?.registerContext ?? hostRegisterContext;\n //registerContext(CmsDataProvider, cmsDataProviderMeta);\n\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n const _registerGlobalContext = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: GlobalContextMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerGlobalContext(Component, defaultMeta);\n } else {\n registerGlobalContext(Component, defaultMeta);\n }\n };\n\n _registerGlobalContext(CmsCredentialsProvider, cmsCredentialsProviderMeta);\n _registerComponent(CmsQueryRepeater, cmsQueryRepeaterMeta);\n _registerComponent(CmsRowField, cmsRowFieldMeta);\n _registerComponent(CmsRowLink, cmsRowLinkMeta);\n _registerComponent(CmsRowImage, cmsRowImageMeta);\n _registerComponent(CmsRowFieldValue, cmsRowFieldValueMeta);\n _registerComponent(CmsCount, cmsCountFieldMeta);\n}\n\nexport * from \"./api\";\nexport * from \"./components\";\n"],"names":["queryParamsToApi","params","where","limit","offset","order","orderBy","field","dir","desc","undefined","fields","HttpError","_Error","_inheritsLoose","status","message","_this","call","_wrapNativeSuper","Error","API","config","_proto","prototype","get","_get","_asyncToGenerator","_regeneratorRuntime","mark","_callee","endpoint","url","URL","host","databaseId","fixedParams","Object","keys","reduce","newObj","key","value","search","URLSearchParams","toString","_context","next","fetch","method","headers","accept","databaseToken","mode","response","sent","text","json","JSON","parse","_json$error","error","_unused","abrupt","stop","_x","_x2","apply","arguments","fetchTables","_fetchTables","_callee2","wrap","_callee2$","_context2","prev","tables","t0","console","useDraftForTable","table","Array","isArray","useDraft","includes","query","_query","_callee3","_context3","q","stringify","draft","Number","locale","rows","_x3","_x4","count","_count","_callee4","_context4","_x5","_x6","mkApi","contextPrefix","databaseContextKey","tablesContextKey","tableSchemaContextKey","collectionResultSuffix","mkQueryContextKey","capitalizeFirst","itemContextSuffix","countContextSuffix","modeContextSuffix","mkRowContextKey","mkCountContextKey","mkModeContextKey","str","_str$","toUpperCase","slice","useDatabase","useSelector","makeDatabaseCacheKey","rest","_objectWithoutPropertiesLoose","_excluded","DatabaseProvider","_ref","children","React","DataProvider","name","data","hidden","useTables","TablesProvider","_ref2","TableSchemaProvider","_ref3","schema","length","_tables$","_tables$find","find","t","identifier","getClosestMatchingKeysBy","env","pred","concat","reverse","filter","QueryResultProvider","_ref4","useTablesWithDataLoaded","useDataEnv","matchingKeys","endsWith","some","deriveTableId","useRow","row","useCount","RowProvider","_ref5","CountProvider","_ref6","mkTableOptions","map","label","mkFieldOptions","tableIdentifier","types","f","type","options","option","push","modulePath","componentPrefix","renderMaybeData","maybeData","renderFn","loaderProps","inEditor","loadingMessage","forceLoadingState","hideIfNotFound","defaultHost","cmsCredentialsProviderMeta","displayName","description","importName","importPath","providesData","props","defaultValue","defaultValueHint","advanced","CmsCredentialsProvider","TablesFetcher","databaseConfig","cacheKey","component","usePlasmicQueryData","_callee$","isDatabaseConfigured","usePlasmicCanvasContext","cmsQueryRepeaterMeta","defaultStyles","display","width","maxWidth","flexDirection","isRepeated","_","ctx","filterField","_ctx$table","filterValue","ps","multiSelect","_ctx$table2","emptyMessage","forceEmptyState","noLayout","noAutoRepeat","CmsQueryRepeater","setControlContextData","className","_where","node","index","repeatedElement","cmsRowFieldMeta","_ctx$tables$length","_ctx$tables","helpText","_ref8","_ctx$table3","_ctx$fieldMeta","_ctx$fieldMeta2","fieldMeta","dateFormat","_ref9","usePlasmicTheme","themeResetClassName","targetAllTags","objectFit","CmsRowField","_ref10","res","unknown","deriveInferredTableField","typeFilters","_extends","_res$row$data","dayjs","format","renderValue","cmsCountFieldMeta","_ctx$tables$length2","_ctx$tables2","CmsCount","_ref11","_excluded2","Intl","NumberFormat","DEFAULT_TYPE_FILTERS","opts","assertNever","dangerouslySetInnerHTML","__html","style","whiteSpace","imageMeta","src","height","href","target","cmsRowLinkMeta","tag","_ctx$tables$length3","_ctx$tables3","_ref12","_ctx$table4","_ctx$fieldMeta3","_ctx$fieldMeta4","hrefProp","prefix","_ctx$fieldMeta5","suffix","_ctx$fieldMeta6","CmsRowLink","_ref13","_res$row$data2","childrenWithProps","Children","child","isValidElement","_React$cloneElement","cloneElement","cmsRowImageMeta","_ctx$tables$length4","_ctx$tables4","_ref14","_ctx$table5","_ctx$fieldMeta7","_ctx$fieldMeta8","srcProp","CmsRowImage","_ref15","_res$row$data3","_React$cloneElement3","_React$cloneElement2","fullHeight","fullWidth","cmsRowFieldValueMeta","_ctx$tables$length5","_ctx$tables5","_ref16","_ctx$table6","_ctx$fieldMeta9","_ctx$fieldMeta10","valueProp","CmsRowFieldValue","_ref17","_excluded3","_res$row$data4","_extends2","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","_registerGlobalContext","registerGlobalContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plasmic-cms.cjs.development.js","sources":["../src/api.ts","../src/context.tsx","../src/util.ts","../src/components.tsx","../src/index.tsx"],"sourcesContent":["import { ApiCmsQuery, ApiCmsRow, ApiCmsTable } from \"./schema\";\n\nexport interface DatabaseConfig {\n host: string;\n databaseId: string;\n databaseToken: string;\n locale: string;\n useDraft: boolean | string[];\n}\n\nexport interface QueryParams {\n useDraft?: boolean;\n where?: any;\n orderBy?: string;\n desc?: boolean;\n limit?: number;\n offset?: number;\n fields?: string[];\n}\n\nfunction queryParamsToApi(params: QueryParams): ApiCmsQuery {\n return {\n where: params.where,\n limit: params.limit,\n offset: params.offset,\n order: params.orderBy\n ? [\n {\n field: params.orderBy,\n dir: params.desc ? \"desc\" : \"asc\",\n },\n ]\n : undefined,\n fields: params.fields,\n };\n}\n\nexport class HttpError extends Error {\n constructor(public status: number, message: string) {\n super(message);\n }\n}\n\nexport class API {\n constructor(private config: DatabaseConfig) {}\n\n async get(endpoint: string, params: any = {}) {\n const url = new URL(\n `${this.config.host}/api/v1/cms/databases/${this.config.databaseId}${endpoint}`\n );\n const fixedParams = Object.keys(params).reduce((newObj, key) => {\n const value = params[key];\n if (value != null) {\n newObj[key] = value;\n }\n return newObj;\n }, {} as any);\n url.search = new URLSearchParams(fixedParams).toString();\n const response = await fetch(url.toString(), {\n method: \"GET\",\n headers: {\n accept: \"*/*\",\n \"x-plasmic-api-cms-tokens\": `${this.config.databaseId}:${this.config.databaseToken}`,\n },\n mode: \"cors\",\n });\n\n if (response.status !== 200) {\n let message = await response.text();\n try {\n const json = JSON.parse(message);\n if (json.error?.message) {\n message = json.error.message;\n }\n } catch {\n // ignored\n }\n throw new HttpError(response.status, message);\n }\n\n return await response.json();\n }\n\n async fetchTables(): Promise<ApiCmsTable[]> {\n try {\n const response = await this.get(``);\n return response.tables;\n } catch (e) {\n console.error(e);\n throw e;\n }\n }\n\n private useDraftForTable(table: string) {\n if (Array.isArray(this.config.useDraft)) {\n return this.config.useDraft.includes(table);\n } else {\n return this.config.useDraft;\n }\n }\n\n async query(table: string, params: QueryParams = {}): Promise<ApiCmsRow[]> {\n try {\n const response = await this.get(`/tables/${table}/query`, {\n q: JSON.stringify(queryParamsToApi(params)),\n draft: Number(this.useDraftForTable(table) || params.useDraft),\n locale: this.config.locale,\n });\n return response.rows;\n } catch (e) {\n console.error(e);\n throw e;\n }\n }\n\n async count(\n table: string,\n params: Pick<QueryParams, \"where\" | \"useDraft\"> = {}\n ): Promise<number> {\n try {\n const response = await this.get(`/tables/${table}/count`, {\n q: JSON.stringify(queryParamsToApi(params)),\n draft: Number(this.useDraftForTable(table) || params.useDraft),\n });\n return response.count;\n } catch (e) {\n console.error(e);\n throw e;\n }\n }\n}\n\nexport function mkApi(config: DatabaseConfig | undefined) {\n if (!config) {\n throw new Error(\"Component must be wrapped in 'CMS Data Provider'.\");\n }\n\n return new API(config);\n}\n","import {\n DataDict,\n DataProvider,\n useDataEnv,\n useSelector,\n} from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { DatabaseConfig } from \"./api\";\nimport { ApiCmsRow, ApiCmsTable } from \"./schema\";\n\nconst contextPrefix = \"plasmicCms\";\nconst databaseContextKey = `${contextPrefix}Database`;\nconst tablesContextKey = `${contextPrefix}Tables`;\nconst tableSchemaContextKey = `${contextPrefix}TableSchema`;\nconst collectionResultSuffix = `Collection`;\nexport const mkQueryContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${collectionResultSuffix}`;\nconst itemContextSuffix = `Item`;\nconst countContextSuffix = `Count`;\nconst modeContextSuffix = `Mode`;\nconst mkRowContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${itemContextSuffix}`;\nconst mkCountContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${countContextSuffix}`;\nconst mkModeContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${modeContextSuffix}`;\n\nfunction capitalizeFirst(str: string): string {\n return str[0]?.toUpperCase() + str.slice(1);\n}\n\nexport function useDatabase() {\n return useSelector(databaseContextKey) as DatabaseConfig | undefined;\n}\n\nexport function makeDatabaseCacheKey(config: DatabaseConfig | undefined) {\n if (!config) {\n return null;\n }\n const { databaseToken, ...rest } = config;\n return JSON.stringify(rest);\n}\n\nexport function DatabaseProvider({\n config,\n children,\n}: {\n config: DatabaseConfig;\n children?: React.ReactNode;\n}) {\n return (\n <DataProvider name={databaseContextKey} data={config} hidden={true}>\n {children}\n </DataProvider>\n );\n}\n\nexport function useTables() {\n return useSelector(tablesContextKey) as ApiCmsTable[] | undefined;\n}\n\nexport function TablesProvider({\n children,\n tables,\n}: {\n children?: React.ReactNode;\n tables?: ApiCmsTable[];\n}) {\n return (\n <DataProvider name={tablesContextKey} data={tables} hidden={true}>\n {children}\n </DataProvider>\n );\n}\n\nexport function TableSchemaProvider({\n children,\n table,\n}: {\n children?: React.ReactNode;\n table?: string | undefined;\n}) {\n const tables = useTables();\n\n let schema;\n if (tables && tables?.length > 0) {\n if (!table) {\n schema = tables[0]?.schema;\n } else {\n schema = tables?.find((t) => t?.identifier === table)?.schema;\n }\n }\n return (\n <DataProvider name={tableSchemaContextKey} data={schema}>\n {children}\n </DataProvider>\n );\n}\n\nexport function useQueryResults(table?: string) {\n const env = useDataEnv();\n const tables = useTables();\n\n if (!env) {\n return undefined;\n }\n\n if (table) {\n return {\n table,\n rows: (env[mkQueryContextKey(table)] ?? []) as ApiCmsRow[],\n };\n }\n if (!tables) {\n return undefined;\n }\n\n const matchingKeys = getClosestMatchingKeys(env, collectionResultSuffix);\n for (const key of matchingKeys) {\n const inferredTable = tables.find(\n (t) => mkQueryContextKey(t.identifier) === key\n );\n if (inferredTable) {\n return {\n table: inferredTable.identifier,\n rows: (env[key] ?? []) as ApiCmsRow[],\n };\n }\n }\n return undefined;\n}\n\nfunction getClosestMatchingKeys(env: DataDict, suffix: string) {\n return [...Object.keys(env).reverse()].filter((k) => k.endsWith(suffix));\n}\n\nfunction getClosestMatchingKeysBy(\n env: DataDict,\n pred: (str: string) => boolean\n) {\n return [...Object.keys(env).reverse()].filter((key) => pred(key));\n}\n\nexport function QueryResultProvider({\n children,\n table,\n rows,\n hidden,\n}: {\n children?: React.ReactNode;\n table: string | undefined;\n rows: ApiCmsRow[] | undefined;\n hidden?: boolean;\n}) {\n return (\n <DataProvider\n name={table ? mkModeContextKey(table) : undefined}\n data=\"rows\"\n hidden\n >\n <DataProvider\n name={table ? mkQueryContextKey(table) : undefined}\n data={rows}\n hidden={hidden}\n >\n {children}\n </DataProvider>\n </DataProvider>\n );\n}\n\nexport function useTablesWithDataLoaded(mode: \"rows\" | \"count\" | undefined) {\n const env = useDataEnv();\n const tables = useTables();\n\n if (!env) {\n return undefined;\n }\n\n if (!tables) {\n return undefined;\n }\n\n const matchingKeys = getClosestMatchingKeysBy(env, (key) => {\n if (mode === \"rows\") {\n return key.endsWith(itemContextSuffix);\n } else if (mode === \"count\") {\n return key.endsWith(countContextSuffix);\n } else {\n return (\n key.endsWith(itemContextSuffix) || key.endsWith(countContextSuffix)\n );\n }\n });\n\n return tables.filter((table) =>\n matchingKeys.some((key) => {\n if (mode === \"rows\") {\n return mkRowContextKey(table.identifier) === key;\n } else if (mode === \"count\") {\n return mkCountContextKey(table.identifier) === key;\n } else {\n return (\n mkRowContextKey(table.identifier) === key ||\n mkCountContextKey(table.identifier) === key\n );\n }\n })\n );\n}\n\nfunction deriveTableId(tables?: ApiCmsTable[], table?: string) {\n if (!table && tables && tables.length > 0) {\n table = tables[0].identifier;\n }\n return table;\n}\n\nexport function useRow(tables?: ApiCmsTable[], table?: string) {\n const env = useDataEnv();\n\n if (!env) {\n return undefined;\n }\n\n table = deriveTableId(tables, table);\n\n if (table) {\n return {\n table,\n row: env[mkRowContextKey(table)] as ApiCmsRow | undefined,\n };\n }\n\n return undefined;\n}\n\nexport function useCount(tables?: ApiCmsTable[], table?: string) {\n const env = useDataEnv();\n\n if (!env) {\n return undefined;\n }\n\n table = deriveTableId(tables, table);\n\n if (table) {\n return {\n table,\n count: env[mkCountContextKey(table)] as number | undefined,\n };\n }\n\n return undefined;\n}\n\nexport function RowProvider({\n children,\n table,\n row,\n}: {\n children?: React.ReactNode;\n table: string;\n row: ApiCmsRow;\n}) {\n return (\n <DataProvider name={mkRowContextKey(table)} data={row}>\n {children}\n </DataProvider>\n );\n}\n\nexport function CountProvider({\n children,\n table,\n count,\n}: {\n children?: React.ReactNode;\n table: string | undefined;\n count: number | undefined;\n}) {\n return (\n <DataProvider\n name={table ? mkModeContextKey(table) : undefined}\n data=\"count\"\n hidden\n >\n <DataProvider\n name={table ? mkCountContextKey(table) : undefined}\n data={count}\n >\n {children}\n </DataProvider>\n </DataProvider>\n );\n}\n","import { ApiCmsTable, CmsType } from \"./schema\";\n\ntype ValueLabelPair = {\n value: string;\n label: string;\n};\n\nexport function mkTableOptions(\n tables: ApiCmsTable[] | undefined\n): ValueLabelPair[] {\n if (!tables) {\n return [];\n }\n\n return tables.map((table) => ({\n value: table.identifier,\n label: table.name,\n }));\n}\n\nexport function mkFieldOptions(\n tables: ApiCmsTable[] | undefined,\n tableIdentifier: string | undefined,\n types?: CmsType[]\n): ValueLabelPair[] {\n if (!tables) {\n return [];\n }\n\n const table = tables.find((t) => t.identifier === tableIdentifier);\n if (!table) {\n return [];\n }\n\n let fields = table.schema.fields;\n if (types) {\n fields = fields.filter((f) => types.includes(f.type));\n }\n const options = fields.map((f) => ({\n value: f.identifier,\n label: f.name || f.identifier,\n }));\n if (!options.some((option) => option.value === \"_id\")) {\n options.push({\n label: \"System-assigned ID\",\n value: \"_id\",\n });\n }\n\n return options;\n}\n","import { repeatedElement, usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport {\n CanvasComponentProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { GlobalContextMeta } from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport dayjs from \"dayjs\";\nimport React from \"react\";\nimport { DatabaseConfig, HttpError, mkApi, QueryParams } from \"./api\";\nimport {\n CountProvider,\n DatabaseProvider,\n makeDatabaseCacheKey,\n QueryResultProvider,\n RowProvider,\n TablesProvider,\n useCount,\n useDatabase,\n useRow,\n useTables,\n useTablesWithDataLoaded,\n TableSchemaProvider,\n} from \"./context\";\nimport {\n ApiCmsRow,\n ApiCmsTable,\n CmsFieldMeta,\n CmsType,\n CmsMetaType,\n} from \"./schema\";\nimport { mkFieldOptions, mkTableOptions } from \"./util\";\n\nconst modulePath = \"@plasmicpkgs/plasmic-cms\";\nconst componentPrefix = \"hostless-plasmic-cms\";\n\ninterface FetcherComponentProps {\n hideIfNotFound?: boolean;\n}\n\nfunction renderMaybeData<T>(\n maybeData: ReturnType<typeof usePlasmicQueryData>,\n renderFn: (data: T) => JSX.Element | any,\n loaderProps: FetcherComponentProps,\n inEditor: boolean,\n loadingMessage?: React.ReactNode,\n forceLoadingState?: boolean\n): React.ReactElement | null {\n if (\"error\" in maybeData) {\n const error = maybeData.error;\n if (!inEditor) {\n return <>{loadingMessage ?? <div>Loading...</div>}</>;\n }\n if (error && error instanceof HttpError && error.status === 404) {\n if (loaderProps.hideIfNotFound) {\n return null;\n } else {\n return <div>Error: Data not found</div>;\n }\n } else {\n return <div>Error: {error?.message}</div>;\n }\n }\n if (!(\"data\" in maybeData) || forceLoadingState) {\n return <>{loadingMessage ?? <div>Loading...</div>}</>;\n }\n return renderFn(maybeData.data as T);\n}\n\ninterface CmsCredentialsProviderProps extends DatabaseConfig {\n children?: React.ReactNode;\n}\n\nconst defaultHost = \"https://data.plasmic.app\";\n\nexport const cmsCredentialsProviderMeta: GlobalContextMeta<CmsCredentialsProviderProps> =\n {\n name: `${componentPrefix}-credentials-provider`,\n displayName: \"CMS Credentials Provider\",\n description: `\nFind (or create) your CMS in the [dashboard](https://studio.plasmic.app), and go to its Settings view for the ID and token.\n\n[See tutorial video](https://docs.plasmic.app/learn/plasmic-cms/).`,\n importName: \"CmsCredentialsProvider\",\n importPath: modulePath,\n providesData: true,\n props: {\n host: {\n type: \"string\",\n displayName: \"Studio URL\",\n description: `The default host for use in production is ${defaultHost}.`,\n defaultValue: defaultHost,\n defaultValueHint: defaultHost,\n advanced: true,\n },\n databaseId: {\n type: \"string\",\n displayName: \"CMS ID\",\n description:\n \"The ID of the CMS (database) to use. (Can get on the CMS settings page)\",\n },\n databaseToken: {\n type: \"string\",\n displayName: \"CMS Public Token\",\n description:\n \"The Public Token of the CMS (database) you are using. (Can get on the CMS settings page)\",\n },\n locale: {\n type: \"string\",\n displayName: \"Locale\",\n description:\n \"The locale to use for localized values, leave empty for the default locale.\",\n },\n },\n };\n\nexport function CmsCredentialsProvider({\n children,\n databaseId,\n databaseToken,\n host,\n locale,\n useDraft,\n}: CmsCredentialsProviderProps) {\n const config: DatabaseConfig = {\n databaseId,\n databaseToken,\n locale,\n host: host || defaultHost,\n useDraft: useDraft ?? false,\n };\n return (\n <DatabaseProvider config={config}>\n <TablesFetcher>{children}</TablesFetcher>\n </DatabaseProvider>\n );\n}\n\nfunction TablesFetcher({ children }: { children: React.ReactNode }) {\n const databaseConfig = useDatabase();\n\n const cacheKey = JSON.stringify({\n component: \"TablesFetcher\",\n databaseConfig: makeDatabaseCacheKey(databaseConfig),\n });\n const maybeData = usePlasmicQueryData(cacheKey, async () => {\n if (!isDatabaseConfigured(databaseConfig)) {\n return [];\n }\n return await mkApi(databaseConfig).fetchTables();\n });\n const inEditor = !!usePlasmicCanvasContext();\n\n return (\n <TablesProvider tables={maybeData.data}>\n {inEditor && maybeData.error ? (\n <div>CMS Error: {maybeData.error.message}</div>\n ) : (\n children\n )}\n </TablesProvider>\n );\n}\n\ntype TablesContextData = {\n tables?: ApiCmsTable[];\n};\ninterface TableContextData extends TablesContextData {\n table?: string;\n}\n\ninterface RowContextData extends TableContextData {\n row?: ApiCmsRow;\n fieldMeta?: CmsFieldMeta;\n}\n\nfunction isDatabaseConfigured(config?: DatabaseConfig) {\n return config?.databaseId && config?.databaseToken;\n}\n\ninterface CmsQueryRepeaterProps\n extends QueryParams,\n CanvasComponentProps<TableContextData> {\n children: React.ReactNode;\n table: string;\n emptyMessage?: React.ReactNode;\n forceEmptyState?: boolean;\n loadingMessage?: React.ReactNode;\n forceLoadingState?: boolean;\n noLayout?: boolean;\n noAutoRepeat?: boolean;\n className?: string;\n filterField?: string;\n filterValue?: string;\n fields?: string[];\n mode?: \"rows\" | \"count\";\n}\n\nexport const cmsQueryRepeaterMeta: ComponentMeta<CmsQueryRepeaterProps> = {\n name: `${componentPrefix}-query-repeater`,\n displayName: \"CMS Data Fetcher\",\n description:\n \"Fetches CMS data. Repeats `children` slot content for each row fetched. [See tutorial video](https://docs.plasmic.app/learn/plasmic-cms/).\",\n importName: \"CmsQueryRepeater\",\n importPath: modulePath,\n providesData: true,\n defaultStyles: {\n display: \"flex\",\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n props: {\n children: {\n type: \"slot\",\n isRepeated: true,\n defaultValue: {\n type: \"vbox\",\n children: [\n {\n type: \"component\",\n name: `${componentPrefix}-row-field`,\n },\n ],\n },\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n description: \"CMS model (table) to query.\",\n options: (_, ctx) => mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n useDraft: {\n type: \"boolean\",\n displayName: \"Use drafts?\",\n description: \"If set, also query unpublished content.\",\n defaultValue: false,\n hidden: () => true,\n },\n mode: {\n type: \"choice\",\n options: [\n { label: \"Rows\", value: \"rows\" },\n { label: \"Count\", value: \"count\" },\n ],\n defaultValueHint: \"rows\",\n },\n where: {\n type: \"object\",\n displayName: \"Filter\",\n description:\n \"Filter clause, as a JSON in Mongo query format. Should not be used together with Filter field and Filter value\",\n advanced: true,\n },\n filterField: {\n type: \"choice\",\n displayName: \"Filter field\",\n description: \"Field (from model schema) to filter by\",\n options: ({ table }, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table, [\n CmsMetaType.NUMBER,\n CmsMetaType.BOOLEAN,\n CmsMetaType.TEXT,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.REF,\n ]),\n },\n filterValue: {\n type: \"string\",\n displayName: \"Filter value\",\n description: \"Value to filter by, should be of filter field type\",\n },\n orderBy: {\n type: \"choice\",\n displayName: \"Order by\",\n description: \"Field to order by.\",\n options: (_, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table, [\n CmsMetaType.NUMBER,\n CmsMetaType.BOOLEAN,\n CmsMetaType.DATE_TIME,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.TEXT,\n ]),\n hidden: (ps) => ps.mode === \"count\",\n },\n desc: {\n type: \"boolean\",\n displayName: \"Sort descending?\",\n description: 'Sort descending by \"Order by\" field.',\n defaultValue: false,\n hidden: (ps) => ps.mode === \"count\",\n },\n limit: {\n type: \"number\",\n displayName: \"Limit\",\n description: \"Maximum number of entries to fetch (0 for unlimited).\",\n defaultValue: 0,\n hidden: (ps) => ps.mode === \"count\",\n },\n offset: {\n type: \"number\",\n displayName: \"Offset\",\n description:\n \"Skips this number of rows in the result set; used in combination with limit to build pagination\",\n hidden: (ps) => ps.mode === \"count\",\n },\n fields: {\n type: \"choice\",\n multiSelect: true,\n displayName: \"Fields\",\n description:\n \"Fields from the CMS model to include with each row; by default, all fields are included\",\n options: ({ table }, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table),\n hidden: (ps) => ps.mode === \"count\",\n },\n emptyMessage: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"No matching published entries found.\",\n },\n },\n forceEmptyState: {\n type: \"boolean\",\n displayName: \"Force empty state\",\n description: \"If set, will render as if no matching entries were found.\",\n defaultValue: false,\n },\n loadingMessage: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"Loading...\",\n },\n },\n forceLoadingState: {\n type: \"boolean\",\n displayName: \"Force loading state\",\n description:\n \"If set, will render as if it is waiting for the query to run.\",\n defaultValue: false,\n },\n noLayout: {\n type: \"boolean\",\n displayName: \"No layout\",\n description:\n \"When set, CMS Data Loader will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.\",\n defaultValue: false,\n },\n noAutoRepeat: {\n type: \"boolean\",\n displayName: \"No auto-repeat\",\n description: \"Do not automatically repeat children for every entry.\",\n defaultValue: false,\n hidden: (ps) => ps.mode === \"count\",\n },\n },\n};\n\nexport function CmsQueryRepeater({\n table,\n children,\n setControlContextData,\n mode,\n where,\n useDraft,\n orderBy,\n desc,\n limit,\n offset,\n emptyMessage,\n forceEmptyState,\n loadingMessage,\n forceLoadingState,\n noLayout,\n noAutoRepeat,\n className,\n filterField,\n filterValue,\n fields,\n}: CmsQueryRepeaterProps) {\n const databaseConfig = useDatabase();\n const tables = useTables();\n\n if (filterField && filterValue) {\n where = {\n [filterField]: filterValue,\n };\n }\n const params = { where, useDraft, orderBy, desc, limit, offset, fields };\n\n if (!table && tables && tables.length > 0) {\n table = tables[0].identifier;\n }\n\n const cacheKey = JSON.stringify({\n component: \"CmsQueryLoader\",\n mode,\n table,\n databaseConfig: makeDatabaseCacheKey(databaseConfig),\n params,\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({ tables, table });\n }\n\n const maybeData = usePlasmicQueryData(cacheKey, async () => {\n if (!isDatabaseConfigured(databaseConfig)) {\n throw new Error(`You must specify a CMS ID and API key`);\n }\n if (!table) {\n throw new Error(`You must select a model to query`);\n } else if (tables && !tables.find((t) => t.identifier === table)) {\n throw new Error(`There is no model called \"${table}\"`);\n } else if (mode === \"count\") {\n return mkApi(databaseConfig).count(table, params);\n } else {\n return mkApi(databaseConfig).query(table, params);\n }\n });\n const inEditor = !!usePlasmicCanvasContext();\n if (mode === \"count\") {\n const node = renderMaybeData<number>(\n maybeData,\n () => children,\n { hideIfNotFound: false },\n inEditor,\n loadingMessage,\n forceLoadingState\n );\n return (\n <TableSchemaProvider table={table}>\n <CountProvider\n table={table}\n count={\n typeof maybeData?.data === \"number\" ? maybeData.data : undefined\n }\n >\n {node}\n </CountProvider>\n </TableSchemaProvider>\n );\n } else {\n const node = renderMaybeData<ApiCmsRow[]>(\n maybeData,\n (rows) => {\n if (rows.length === 0 || forceEmptyState) {\n return emptyMessage;\n }\n\n return noAutoRepeat\n ? children\n : rows.map((row, index) => (\n <RowProvider key={index} table={table!} row={row}>\n {repeatedElement(index, children)}\n </RowProvider>\n ));\n },\n { hideIfNotFound: false },\n inEditor,\n loadingMessage,\n forceLoadingState\n );\n return (\n <TableSchemaProvider table={table}>\n <QueryResultProvider\n rows={Array.isArray(maybeData?.data) ? maybeData.data : undefined}\n table={table}\n >\n {noLayout ? <> {node} </> : <div className={className}> {node} </div>}\n </QueryResultProvider>\n </TableSchemaProvider>\n );\n }\n}\n\ninterface CmsRowFieldProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n className?: string;\n dateFormat?: string;\n usePlasmicTheme?: boolean;\n themeResetClassName?: string;\n}\n\nexport const cmsRowFieldMeta: ComponentMeta<CmsRowFieldProps> = {\n name: `${componentPrefix}-row-field`,\n displayName: \"CMS Entry Field\",\n importName: \"CmsRowField\",\n importPath: modulePath,\n props: {\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_, ctx) => mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: ({ table }, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table, [\n CmsMetaType.NUMBER,\n CmsMetaType.BOOLEAN,\n CmsMetaType.TEXT,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.DATE_TIME,\n CmsMetaType.RICH_TEXT,\n CmsMetaType.IMAGE,\n CmsMetaType.FILE,\n CmsMetaType.ENUM,\n ]),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n dateFormat: {\n type: \"choice\",\n displayName: \"Date Format\",\n hidden: ({ field }, ctx) => {\n if (!ctx) {\n return true;\n }\n const { table: tableIdentifier, tables } = ctx;\n const table = tables?.find((t) => t.identifier === tableIdentifier);\n if (!table) {\n return true;\n }\n const fieldMeta = table.schema.fields.find(\n (f) => f.identifier === field\n );\n if (!fieldMeta) {\n return true;\n }\n return fieldMeta.type !== CmsMetaType.DATE_TIME;\n },\n options: [\n {\n label: \"July 26, 2014\",\n value: \"MMMM D, YYYY\",\n },\n {\n label: \"July 26, 2014 10:02 PM\",\n value: \"MMMM D, YYYY h:mm A\",\n },\n {\n label: \"Jul 26, 2014\",\n value: \"MMM D, YYYY\",\n },\n {\n label: \"Jul 26, 2014 10:02 PM\",\n value: \"MMM D, YYYY h:mm A\",\n },\n {\n label: \"Saturday, July 26, 2014\",\n value: \"dddd, MMMM D, YYYY\",\n },\n {\n label: \"7/26/2014\",\n value: \"M/D/YYYY\",\n },\n {\n label: \"7/26/2014 10:02 PM\",\n value: \"M/D/YYYY h:mm A\",\n },\n {\n label: \"26/7/2014\",\n value: \"D/M/YYYY\",\n },\n {\n label: \"26/7/2014 10:02 PM\",\n value: \"D/M/YYYY h:mm A\",\n },\n {\n label: \"7/26/14\",\n value: \"M/D/YY\",\n },\n {\n label: \"7/26/14 10:02 PM\",\n value: \"M/D/YY h:mm A\",\n },\n {\n label: \"26/7/14\",\n value: \"D/M/YY\",\n },\n {\n label: \"26/7/14 10:02 PM\",\n value: \"D/M/YY h:mm A\",\n },\n ],\n },\n usePlasmicTheme: {\n type: \"boolean\",\n displayName: \"Use Plasmic tag styles?\",\n description: \"For HTML content, use tag styles defined in Plasmic\",\n advanced: true,\n },\n themeResetClassName: {\n type: \"themeResetClass\",\n targetAllTags: true,\n },\n },\n defaultStyles: {\n objectFit: \"cover\",\n },\n};\n\nexport function CmsRowField({\n className,\n table,\n field,\n dateFormat,\n setControlContextData,\n usePlasmicTheme,\n themeResetClassName,\n ...rest\n}: CmsRowFieldProps) {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n const unknown = (\n <div className={className} {...rest}>\n Field {table ?? \"Unknown Model\"}.{field ?? \"Unknown Field\"}\n </div>\n );\n const fieldMeta = res\n ? deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [\n CmsMetaType.TEXT,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.RICH_TEXT,\n ],\n })\n : undefined;\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n ...(res && res.row\n ? { table: res.table, row: res.row, fieldMeta: fieldMeta }\n : {}),\n });\n }\n\n if (!res) {\n return unknown;\n }\n\n if (!res.row) {\n return <div className={className}>Error: No CMS Entry found</div>;\n }\n\n if (!fieldMeta) {\n return unknown;\n }\n\n let data = res.row.data?.[fieldMeta.identifier];\n if (!data) {\n return null;\n }\n if (fieldMeta.type === CmsMetaType.DATE_TIME && dateFormat) {\n data = dayjs(data).format(dateFormat);\n }\n return data\n ? renderValue(data, fieldMeta.type, {\n className: `${usePlasmicTheme ? themeResetClassName : \"\"} ${className}`,\n ...rest,\n })\n : null;\n}\n\ninterface CmsCountProps extends CanvasComponentProps<RowContextData> {\n table: string;\n className?: string;\n}\n\nexport const cmsCountFieldMeta: ComponentMeta<CmsCountProps> = {\n name: `${componentPrefix}-count`,\n displayName: \"CMS Entries Count\",\n importName: \"CmsCount\",\n importPath: modulePath,\n props: {\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_, ctx) => mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n },\n};\nexport function CmsCount({\n className,\n table,\n setControlContextData: _,\n ...rest\n}: CmsCountProps) {\n const tables = useTablesWithDataLoaded(\"count\");\n const res = useCount(tables, table);\n const unknown = (\n <div className={className} {...rest}>\n Count: {table ?? \"Unknown Model\"}\n </div>\n );\n if (!res) {\n return unknown;\n }\n\n if (res.count == null) {\n return null;\n } else {\n return (\n <div className={className} {...rest}>\n {new Intl.NumberFormat().format(res.count)}\n </div>\n );\n }\n}\n\nconst DEFAULT_TYPE_FILTERS = [CmsMetaType.TEXT];\nfunction deriveInferredTableField(opts: {\n table?: string;\n tables?: ApiCmsTable[];\n field?: string;\n typeFilters?: CmsType[];\n}) {\n const { table, tables, field, typeFilters } = opts;\n if (!table) return undefined;\n const schema = tables?.find((t) => t.identifier === table)?.schema;\n const fieldMeta = field\n ? schema?.fields.find((f) => f.identifier === field)\n : schema?.fields.find((f) =>\n (typeFilters ?? DEFAULT_TYPE_FILTERS).includes(f.type)\n );\n return fieldMeta;\n}\n\nfunction assertNever(_: never): never {\n throw new Error(\"unexpected branch taken\");\n}\n\nfunction renderValue(value: any, type: CmsType, props: { className?: string }) {\n switch (type) {\n case CmsMetaType.NUMBER:\n case CmsMetaType.BOOLEAN:\n case CmsMetaType.TEXT:\n case CmsMetaType.LONG_TEXT:\n case CmsMetaType.DATE_TIME:\n case CmsMetaType.ENUM:\n case CmsMetaType.REF:\n return <div {...props}>{value}</div>;\n case CmsMetaType.RICH_TEXT:\n return (\n <div\n dangerouslySetInnerHTML={{ __html: value }}\n style={{ whiteSpace: \"normal\" }}\n {...props}\n />\n );\n case CmsMetaType.IMAGE:\n if (value && typeof value === \"object\" && value.url && value.imageMeta) {\n return (\n <img\n src={value.url}\n width={value.imageMeta.width}\n height={value.imageMeta.height}\n {...props}\n />\n );\n }\n return null;\n case CmsMetaType.FILE:\n if (value && typeof value === \"object\" && value.url && value.name) {\n return (\n <a href={value.url} target=\"_blank\" {...props}>\n {value.name}\n </a>\n );\n }\n return null;\n default:\n assertNever(type);\n }\n}\n\ninterface CmsRowLinkProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n hrefProp: string;\n children: React.ReactNode;\n prefix?: string;\n suffix?: string;\n}\n\nexport const cmsRowLinkMeta: ComponentMeta<CmsRowLinkProps> = {\n name: `${componentPrefix}-row-link`,\n displayName: \"CMS Entry Link\",\n importName: \"CmsRowLink\",\n importPath: modulePath,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n tag: \"a\",\n value: \"Link\",\n },\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_: any, ctx: TableContextData | null) =>\n mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: ({ table }: CmsRowLinkProps, ctx: TableContextData | null) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n hrefProp: {\n type: \"string\",\n displayName: '\"href\" prop',\n description: \"Prop to inject into children\",\n defaultValue: \"href\",\n },\n prefix: {\n type: \"string\",\n displayName: \"Optional prefix\",\n description: \"Prefix to prepend to prop value.\",\n hidden: (_, ctx) => ctx?.fieldMeta?.type === \"file\",\n },\n suffix: {\n type: \"string\",\n displayName: \"Optional suffix\",\n description: \"Suffix to append to prop value.\",\n hidden: (_, ctx) => ctx?.fieldMeta?.type === \"file\",\n },\n },\n};\n\nexport function CmsRowLink({\n table,\n field,\n hrefProp,\n children,\n setControlContextData,\n prefix,\n suffix,\n}: CmsRowLinkProps): React.ReactElement | null {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n if (!res || !res.row) {\n return <>{children}</>;\n }\n\n const fieldMeta = deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [CmsMetaType.FILE, CmsMetaType.TEXT],\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n table: res.table,\n row: res.row,\n fieldMeta: fieldMeta,\n });\n }\n if (!fieldMeta) {\n return <>{children}</>;\n }\n\n if (!children) {\n return null;\n }\n\n const value = res.row.data?.[fieldMeta.identifier] || \"\";\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n [hrefProp]:\n fieldMeta.type === CmsMetaType.FILE\n ? value.url\n : prefix || suffix\n ? `${prefix || \"\"}${value}${suffix || \"\"}`\n : value,\n });\n }\n return child;\n });\n\n return <>{childrenWithProps ?? null}</>;\n}\n\ninterface CmsRowImageProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n srcProp: string;\n children: React.ReactNode;\n}\n\nexport const cmsRowImageMeta: ComponentMeta<CmsRowImageProps> = {\n name: `${componentPrefix}-row-image`,\n displayName: \"CMS Entry Image\",\n importName: \"CmsRowImage\",\n importPath: modulePath,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"img\",\n src: \"https://studio.plasmic.app/static/img/placeholder-full.png\",\n },\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_: any, ctx: TableContextData | null) =>\n mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: ({ table }: CmsRowImageProps, ctx: TableContextData | null) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table, [CmsMetaType.IMAGE]),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n srcProp: {\n type: \"string\",\n displayName: 'Image \"src\" prop',\n description: \"Prop to inject into children\",\n defaultValue: \"src\",\n },\n },\n};\n\nexport function CmsRowImage({\n table,\n field,\n srcProp,\n children,\n setControlContextData,\n}: CmsRowImageProps): React.ReactElement | null {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n if (!res || !res.row) {\n return <>{children}</>;\n }\n\n const fieldMeta = deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [CmsMetaType.IMAGE],\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n table: res.table,\n row: res.row,\n fieldMeta: fieldMeta,\n });\n }\n\n if (!fieldMeta) {\n return <>{children}</>;\n }\n\n const value = res.row.data?.[fieldMeta.identifier] || \"\";\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child) && value) {\n if (typeof value === \"object\" && value.url && value.imageMeta) {\n return React.cloneElement(child, {\n [srcProp]: {\n src: value.url,\n fullHeight: value.imageMeta.height,\n fullWidth: value.imageMeta.width,\n },\n });\n }\n return React.cloneElement(child, { [srcProp]: value });\n }\n return child;\n });\n\n return <>{childrenWithProps}</>;\n}\n\ninterface CmsRowFieldValueProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n valueProp: string;\n children: React.ReactNode;\n}\n\nexport const cmsRowFieldValueMeta: ComponentMeta<CmsRowFieldValueProps> = {\n name: `${componentPrefix}-row-value`,\n displayName: \"CMS Entry Value\",\n importName: \"CmsRowFieldValue\",\n importPath: modulePath,\n props: {\n children: {\n type: \"slot\",\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_: any, ctx: TableContextData | null) =>\n mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: (\n { table }: CmsRowFieldValueProps,\n ctx: TableContextData | null\n ) => mkFieldOptions(ctx?.tables, ctx?.table ?? table),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n valueProp: {\n type: \"string\",\n displayName: \"Value prop\",\n description: \"Prop to inject into children as\",\n defaultValue: \"children\",\n },\n },\n};\n\nexport function CmsRowFieldValue({\n table,\n field,\n valueProp,\n children,\n setControlContextData,\n ...rest\n}: CmsRowFieldValueProps): React.ReactElement | null {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n if (!res || !res.row) {\n return <>{children}</>;\n }\n\n const fieldMeta = deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [CmsMetaType.TEXT],\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n table: res.table,\n row: res.row,\n fieldMeta: fieldMeta,\n });\n }\n\n if (!fieldMeta) {\n return <>{children}</>;\n }\n\n const value = res.row.data?.[fieldMeta.identifier] || \"\";\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, { ...rest, [valueProp]: value });\n }\n return child;\n });\n\n return <>{childrenWithProps}</>;\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext, {\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n CmsCount,\n cmsCountFieldMeta,\n CmsCredentialsProvider,\n cmsCredentialsProviderMeta,\n CmsQueryRepeater,\n cmsQueryRepeaterMeta,\n CmsRowField,\n cmsRowFieldMeta,\n CmsRowFieldValue,\n cmsRowFieldValueMeta,\n CmsRowImage,\n cmsRowImageMeta,\n CmsRowLink,\n cmsRowLinkMeta,\n} from \"./components\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n //const registerContext = loader?.registerContext ?? hostRegisterContext;\n //registerContext(CmsDataProvider, cmsDataProviderMeta);\n\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n const _registerGlobalContext = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: GlobalContextMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerGlobalContext(Component, defaultMeta);\n } else {\n registerGlobalContext(Component, defaultMeta);\n }\n };\n\n _registerGlobalContext(CmsCredentialsProvider, cmsCredentialsProviderMeta);\n _registerComponent(CmsQueryRepeater, cmsQueryRepeaterMeta);\n _registerComponent(CmsRowField, cmsRowFieldMeta);\n _registerComponent(CmsRowLink, cmsRowLinkMeta);\n _registerComponent(CmsRowImage, cmsRowImageMeta);\n _registerComponent(CmsRowFieldValue, cmsRowFieldValueMeta);\n _registerComponent(CmsCount, cmsCountFieldMeta);\n}\n\nexport * from \"./api\";\nexport * from \"./components\";\n"],"names":["queryParamsToApi","params","where","limit","offset","order","orderBy","field","dir","desc","undefined","fields","HttpError","_Error","_inheritsLoose","status","message","_this","call","_wrapNativeSuper","Error","API","config","_proto","prototype","get","_get","_asyncToGenerator","_regeneratorRuntime","mark","_callee","endpoint","url","URL","host","databaseId","fixedParams","Object","keys","reduce","newObj","key","value","search","URLSearchParams","toString","_context","next","fetch","method","headers","accept","databaseToken","mode","response","sent","text","json","JSON","parse","_json$error","error","_unused","abrupt","stop","_x","_x2","apply","arguments","fetchTables","_fetchTables","_callee2","wrap","_callee2$","_context2","prev","tables","t0","console","useDraftForTable","table","Array","isArray","useDraft","includes","query","_query","_callee3","_context3","q","stringify","draft","Number","locale","rows","_x3","_x4","count","_count","_callee4","_context4","_x5","_x6","mkApi","contextPrefix","databaseContextKey","tablesContextKey","tableSchemaContextKey","collectionResultSuffix","mkQueryContextKey","capitalizeFirst","itemContextSuffix","countContextSuffix","modeContextSuffix","mkRowContextKey","mkCountContextKey","mkModeContextKey","str","_str$","toUpperCase","slice","useDatabase","useSelector","makeDatabaseCacheKey","rest","_objectWithoutPropertiesLoose","_excluded","DatabaseProvider","_ref","children","React","DataProvider","name","data","hidden","useTables","TablesProvider","_ref2","TableSchemaProvider","_ref3","schema","length","_tables$","_tables$find","find","t","identifier","getClosestMatchingKeysBy","env","pred","concat","reverse","filter","QueryResultProvider","_ref4","useTablesWithDataLoaded","useDataEnv","matchingKeys","endsWith","some","deriveTableId","useRow","row","useCount","RowProvider","_ref5","CountProvider","_ref6","mkTableOptions","map","label","mkFieldOptions","tableIdentifier","types","f","type","options","option","push","modulePath","componentPrefix","renderMaybeData","maybeData","renderFn","loaderProps","inEditor","loadingMessage","forceLoadingState","hideIfNotFound","defaultHost","cmsCredentialsProviderMeta","displayName","description","importName","importPath","providesData","props","defaultValue","defaultValueHint","advanced","CmsCredentialsProvider","TablesFetcher","databaseConfig","cacheKey","component","usePlasmicQueryData","_callee$","isDatabaseConfigured","usePlasmicCanvasContext","cmsQueryRepeaterMeta","defaultStyles","display","width","maxWidth","flexDirection","isRepeated","_","ctx","filterField","_ctx$table","filterValue","ps","multiSelect","_ctx$table2","emptyMessage","forceEmptyState","noLayout","noAutoRepeat","CmsQueryRepeater","setControlContextData","className","_where","node","index","repeatedElement","cmsRowFieldMeta","_ctx$tables$length","_ctx$tables","helpText","_ref8","_ctx$table3","_ctx$fieldMeta","_ctx$fieldMeta2","fieldMeta","dateFormat","_ref9","usePlasmicTheme","themeResetClassName","targetAllTags","objectFit","CmsRowField","_ref10","res","unknown","deriveInferredTableField","typeFilters","_extends","_res$row$data","dayjs","format","renderValue","cmsCountFieldMeta","_ctx$tables$length2","_ctx$tables2","CmsCount","_ref11","_excluded2","Intl","NumberFormat","DEFAULT_TYPE_FILTERS","opts","assertNever","dangerouslySetInnerHTML","__html","style","whiteSpace","imageMeta","src","height","href","target","cmsRowLinkMeta","tag","_ctx$tables$length3","_ctx$tables3","_ref12","_ctx$table4","_ctx$fieldMeta3","_ctx$fieldMeta4","hrefProp","prefix","_ctx$fieldMeta5","suffix","_ctx$fieldMeta6","CmsRowLink","_ref13","_res$row$data2","childrenWithProps","Children","child","isValidElement","_React$cloneElement","cloneElement","cmsRowImageMeta","_ctx$tables$length4","_ctx$tables4","_ref14","_ctx$table5","_ctx$fieldMeta7","_ctx$fieldMeta8","srcProp","CmsRowImage","_ref15","_res$row$data3","_React$cloneElement3","_React$cloneElement2","fullHeight","fullWidth","cmsRowFieldValueMeta","_ctx$tables$length5","_ctx$tables5","_ref16","_ctx$table6","_ctx$fieldMeta9","_ctx$fieldMeta10","valueProp","CmsRowFieldValue","_ref17","_excluded3","_res$row$data4","_extends2","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","_registerGlobalContext","registerGlobalContext"],"mappings":"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"}
|
package/dist/plasmic-cms.esm.js
CHANGED
|
@@ -457,14 +457,14 @@ var HttpError = /*#__PURE__*/function (_Error) {
|
|
|
457
457
|
return _this;
|
|
458
458
|
}
|
|
459
459
|
return HttpError;
|
|
460
|
-
}(
|
|
460
|
+
}(/*#__PURE__*/_wrapNativeSuper(Error));
|
|
461
461
|
var API = /*#__PURE__*/function () {
|
|
462
462
|
function API(config) {
|
|
463
463
|
this.config = config;
|
|
464
464
|
}
|
|
465
465
|
var _proto = API.prototype;
|
|
466
466
|
_proto.get = /*#__PURE__*/function () {
|
|
467
|
-
var _get = /*#__PURE__*/_asyncToGenerator(
|
|
467
|
+
var _get = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(endpoint, params) {
|
|
468
468
|
var url, fixedParams, response, message, _json$error, json;
|
|
469
469
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
470
470
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -526,7 +526,7 @@ var API = /*#__PURE__*/function () {
|
|
|
526
526
|
return get;
|
|
527
527
|
}();
|
|
528
528
|
_proto.fetchTables = /*#__PURE__*/function () {
|
|
529
|
-
var _fetchTables = /*#__PURE__*/_asyncToGenerator(
|
|
529
|
+
var _fetchTables = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
530
530
|
var response;
|
|
531
531
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
532
532
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -561,7 +561,7 @@ var API = /*#__PURE__*/function () {
|
|
|
561
561
|
}
|
|
562
562
|
};
|
|
563
563
|
_proto.query = /*#__PURE__*/function () {
|
|
564
|
-
var _query = /*#__PURE__*/_asyncToGenerator(
|
|
564
|
+
var _query = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(table, params) {
|
|
565
565
|
var response;
|
|
566
566
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
567
567
|
while (1) switch (_context3.prev = _context3.next) {
|
|
@@ -596,7 +596,7 @@ var API = /*#__PURE__*/function () {
|
|
|
596
596
|
return query;
|
|
597
597
|
}();
|
|
598
598
|
_proto.count = /*#__PURE__*/function () {
|
|
599
|
-
var _count = /*#__PURE__*/_asyncToGenerator(
|
|
599
|
+
var _count = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(table, params) {
|
|
600
600
|
var response;
|
|
601
601
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
602
602
|
while (1) switch (_context4.prev = _context4.next) {
|
|
@@ -951,7 +951,7 @@ function TablesFetcher(_ref2) {
|
|
|
951
951
|
component: "TablesFetcher",
|
|
952
952
|
databaseConfig: makeDatabaseCacheKey(databaseConfig)
|
|
953
953
|
});
|
|
954
|
-
var maybeData = usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator(
|
|
954
|
+
var maybeData = usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
955
955
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
956
956
|
while (1) switch (_context.prev = _context.next) {
|
|
957
957
|
case 0:
|
|
@@ -1051,7 +1051,6 @@ var cmsQueryRepeaterMeta = {
|
|
|
1051
1051
|
return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table = ctx == null ? void 0 : ctx.table) != null ? _ctx$table : table, ["number" /* NUMBER */, "boolean" /* BOOLEAN */, "text" /* TEXT */, "long-text" /* LONG_TEXT */, "ref" /* REF */]);
|
|
1052
1052
|
}
|
|
1053
1053
|
},
|
|
1054
|
-
|
|
1055
1054
|
filterValue: {
|
|
1056
1055
|
type: "string",
|
|
1057
1056
|
displayName: "Filter value",
|
|
@@ -1064,7 +1063,6 @@ var cmsQueryRepeaterMeta = {
|
|
|
1064
1063
|
options: function options(_, ctx) {
|
|
1065
1064
|
return mkFieldOptions(ctx == null ? void 0 : ctx.tables, ctx == null ? void 0 : ctx.table, ["number" /* NUMBER */, "boolean" /* BOOLEAN */, "date-time" /* DATE_TIME */, "long-text" /* LONG_TEXT */, "text" /* TEXT */]);
|
|
1066
1065
|
},
|
|
1067
|
-
|
|
1068
1066
|
hidden: function hidden(ps) {
|
|
1069
1067
|
return ps.mode === "count";
|
|
1070
1068
|
}
|
|
@@ -1205,7 +1203,7 @@ function CmsQueryRepeater(_ref6) {
|
|
|
1205
1203
|
table: table
|
|
1206
1204
|
});
|
|
1207
1205
|
}
|
|
1208
|
-
var maybeData = usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator(
|
|
1206
|
+
var maybeData = usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
1209
1207
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1210
1208
|
while (1) switch (_context2.prev = _context2.next) {
|
|
1211
1209
|
case 0:
|
|
@@ -1311,7 +1309,6 @@ var cmsRowFieldMeta = {
|
|
|
1311
1309
|
var table = _ref8.table;
|
|
1312
1310
|
return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table3 = ctx == null ? void 0 : ctx.table) != null ? _ctx$table3 : table, ["number" /* NUMBER */, "boolean" /* BOOLEAN */, "text" /* TEXT */, "long-text" /* LONG_TEXT */, "date-time" /* DATE_TIME */, "rich-text" /* RICH_TEXT */, "image" /* IMAGE */, "file" /* FILE */, "enum" /* ENUM */]);
|
|
1313
1311
|
},
|
|
1314
|
-
|
|
1315
1312
|
defaultValueHint: function defaultValueHint(_, ctx) {
|
|
1316
1313
|
var _ctx$fieldMeta, _ctx$fieldMeta2;
|
|
1317
1314
|
return (ctx == null || (_ctx$fieldMeta = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta.name) || (ctx == null || (_ctx$fieldMeta2 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta2.identifier);
|
|
@@ -1341,7 +1338,6 @@ var cmsRowFieldMeta = {
|
|
|
1341
1338
|
}
|
|
1342
1339
|
return fieldMeta.type !== "date-time" /* DATE_TIME */;
|
|
1343
1340
|
},
|
|
1344
|
-
|
|
1345
1341
|
options: [{
|
|
1346
1342
|
label: "July 26, 2014",
|
|
1347
1343
|
value: "MMMM D, YYYY"
|
|
@@ -1646,7 +1642,6 @@ function CmsRowLink(_ref13) {
|
|
|
1646
1642
|
field: field,
|
|
1647
1643
|
typeFilters: ["file" /* FILE */, "text" /* TEXT */]
|
|
1648
1644
|
});
|
|
1649
|
-
|
|
1650
1645
|
if (tables) {
|
|
1651
1646
|
// TODO: Only include table if __plasmic_cms_row_{table} exists.
|
|
1652
1647
|
setControlContextData == null || setControlContextData({
|
|
@@ -1741,7 +1736,6 @@ function CmsRowImage(_ref15) {
|
|
|
1741
1736
|
field: field,
|
|
1742
1737
|
typeFilters: ["image" /* IMAGE */]
|
|
1743
1738
|
});
|
|
1744
|
-
|
|
1745
1739
|
if (tables) {
|
|
1746
1740
|
// TODO: Only include table if __plasmic_cms_row_{table} exists.
|
|
1747
1741
|
setControlContextData == null || setControlContextData({
|
|
@@ -1838,7 +1832,6 @@ function CmsRowFieldValue(_ref17) {
|
|
|
1838
1832
|
field: field,
|
|
1839
1833
|
typeFilters: ["text" /* TEXT */]
|
|
1840
1834
|
});
|
|
1841
|
-
|
|
1842
1835
|
if (tables) {
|
|
1843
1836
|
// TODO: Only include table if __plasmic_cms_row_{table} exists.
|
|
1844
1837
|
setControlContextData == null || setControlContextData({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plasmic-cms.esm.js","sources":["../src/api.ts","../src/context.tsx","../src/util.ts","../src/components.tsx","../src/index.tsx"],"sourcesContent":["import { ApiCmsQuery, ApiCmsRow, ApiCmsTable } from \"./schema\";\n\nexport interface DatabaseConfig {\n host: string;\n databaseId: string;\n databaseToken: string;\n locale: string;\n useDraft: boolean | string[];\n}\n\nexport interface QueryParams {\n useDraft?: boolean;\n where?: any;\n orderBy?: string;\n desc?: boolean;\n limit?: number;\n offset?: number;\n fields?: string[];\n}\n\nfunction queryParamsToApi(params: QueryParams): ApiCmsQuery {\n return {\n where: params.where,\n limit: params.limit,\n offset: params.offset,\n order: params.orderBy\n ? [\n {\n field: params.orderBy,\n dir: params.desc ? \"desc\" : \"asc\",\n },\n ]\n : undefined,\n fields: params.fields,\n };\n}\n\nexport class HttpError extends Error {\n constructor(public status: number, message: string) {\n super(message);\n }\n}\n\nexport class API {\n constructor(private config: DatabaseConfig) {}\n\n async get(endpoint: string, params: any = {}) {\n const url = new URL(\n `${this.config.host}/api/v1/cms/databases/${this.config.databaseId}${endpoint}`\n );\n const fixedParams = Object.keys(params).reduce((newObj, key) => {\n const value = params[key];\n if (value != null) {\n newObj[key] = value;\n }\n return newObj;\n }, {} as any);\n url.search = new URLSearchParams(fixedParams).toString();\n const response = await fetch(url.toString(), {\n method: \"GET\",\n headers: {\n accept: \"*/*\",\n \"x-plasmic-api-cms-tokens\": `${this.config.databaseId}:${this.config.databaseToken}`,\n },\n mode: \"cors\",\n });\n\n if (response.status !== 200) {\n let message = await response.text();\n try {\n const json = JSON.parse(message);\n if (json.error?.message) {\n message = json.error.message;\n }\n } catch {\n // ignored\n }\n throw new HttpError(response.status, message);\n }\n\n return await response.json();\n }\n\n async fetchTables(): Promise<ApiCmsTable[]> {\n try {\n const response = await this.get(``);\n return response.tables;\n } catch (e) {\n console.error(e);\n throw e;\n }\n }\n\n private useDraftForTable(table: string) {\n if (Array.isArray(this.config.useDraft)) {\n return this.config.useDraft.includes(table);\n } else {\n return this.config.useDraft;\n }\n }\n\n async query(table: string, params: QueryParams = {}): Promise<ApiCmsRow[]> {\n try {\n const response = await this.get(`/tables/${table}/query`, {\n q: JSON.stringify(queryParamsToApi(params)),\n draft: Number(this.useDraftForTable(table) || params.useDraft),\n locale: this.config.locale,\n });\n return response.rows;\n } catch (e) {\n console.error(e);\n throw e;\n }\n }\n\n async count(\n table: string,\n params: Pick<QueryParams, \"where\" | \"useDraft\"> = {}\n ): Promise<number> {\n try {\n const response = await this.get(`/tables/${table}/count`, {\n q: JSON.stringify(queryParamsToApi(params)),\n draft: Number(this.useDraftForTable(table) || params.useDraft),\n });\n return response.count;\n } catch (e) {\n console.error(e);\n throw e;\n }\n }\n}\n\nexport function mkApi(config: DatabaseConfig | undefined) {\n if (!config) {\n throw new Error(\"Component must be wrapped in 'CMS Data Provider'.\");\n }\n\n return new API(config);\n}\n","import {\n DataDict,\n DataProvider,\n useDataEnv,\n useSelector,\n} from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { DatabaseConfig } from \"./api\";\nimport { ApiCmsRow, ApiCmsTable } from \"./schema\";\n\nconst contextPrefix = \"plasmicCms\";\nconst databaseContextKey = `${contextPrefix}Database`;\nconst tablesContextKey = `${contextPrefix}Tables`;\nconst tableSchemaContextKey = `${contextPrefix}TableSchema`;\nconst collectionResultSuffix = `Collection`;\nexport const mkQueryContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${collectionResultSuffix}`;\nconst itemContextSuffix = `Item`;\nconst countContextSuffix = `Count`;\nconst modeContextSuffix = `Mode`;\nconst mkRowContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${itemContextSuffix}`;\nconst mkCountContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${countContextSuffix}`;\nconst mkModeContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${modeContextSuffix}`;\n\nfunction capitalizeFirst(str: string): string {\n return str[0]?.toUpperCase() + str.slice(1);\n}\n\nexport function useDatabase() {\n return useSelector(databaseContextKey) as DatabaseConfig | undefined;\n}\n\nexport function makeDatabaseCacheKey(config: DatabaseConfig | undefined) {\n if (!config) {\n return null;\n }\n const { databaseToken, ...rest } = config;\n return JSON.stringify(rest);\n}\n\nexport function DatabaseProvider({\n config,\n children,\n}: {\n config: DatabaseConfig;\n children?: React.ReactNode;\n}) {\n return (\n <DataProvider name={databaseContextKey} data={config} hidden={true}>\n {children}\n </DataProvider>\n );\n}\n\nexport function useTables() {\n return useSelector(tablesContextKey) as ApiCmsTable[] | undefined;\n}\n\nexport function TablesProvider({\n children,\n tables,\n}: {\n children?: React.ReactNode;\n tables?: ApiCmsTable[];\n}) {\n return (\n <DataProvider name={tablesContextKey} data={tables} hidden={true}>\n {children}\n </DataProvider>\n );\n}\n\nexport function TableSchemaProvider({\n children,\n table,\n}: {\n children?: React.ReactNode;\n table?: string | undefined;\n}) {\n const tables = useTables();\n\n let schema;\n if (tables && tables?.length > 0) {\n if (!table) {\n schema = tables[0]?.schema;\n } else {\n schema = tables?.find((t) => t?.identifier === table)?.schema;\n }\n }\n return (\n <DataProvider name={tableSchemaContextKey} data={schema}>\n {children}\n </DataProvider>\n );\n}\n\nexport function useQueryResults(table?: string) {\n const env = useDataEnv();\n const tables = useTables();\n\n if (!env) {\n return undefined;\n }\n\n if (table) {\n return {\n table,\n rows: (env[mkQueryContextKey(table)] ?? []) as ApiCmsRow[],\n };\n }\n if (!tables) {\n return undefined;\n }\n\n const matchingKeys = getClosestMatchingKeys(env, collectionResultSuffix);\n for (const key of matchingKeys) {\n const inferredTable = tables.find(\n (t) => mkQueryContextKey(t.identifier) === key\n );\n if (inferredTable) {\n return {\n table: inferredTable.identifier,\n rows: (env[key] ?? []) as ApiCmsRow[],\n };\n }\n }\n return undefined;\n}\n\nfunction getClosestMatchingKeys(env: DataDict, suffix: string) {\n return [...Object.keys(env).reverse()].filter((k) => k.endsWith(suffix));\n}\n\nfunction getClosestMatchingKeysBy(\n env: DataDict,\n pred: (str: string) => boolean\n) {\n return [...Object.keys(env).reverse()].filter((key) => pred(key));\n}\n\nexport function QueryResultProvider({\n children,\n table,\n rows,\n hidden,\n}: {\n children?: React.ReactNode;\n table: string | undefined;\n rows: ApiCmsRow[] | undefined;\n hidden?: boolean;\n}) {\n return (\n <DataProvider\n name={table ? mkModeContextKey(table) : undefined}\n data=\"rows\"\n hidden\n >\n <DataProvider\n name={table ? mkQueryContextKey(table) : undefined}\n data={rows}\n hidden={hidden}\n >\n {children}\n </DataProvider>\n </DataProvider>\n );\n}\n\nexport function useTablesWithDataLoaded(mode: \"rows\" | \"count\" | undefined) {\n const env = useDataEnv();\n const tables = useTables();\n\n if (!env) {\n return undefined;\n }\n\n if (!tables) {\n return undefined;\n }\n\n const matchingKeys = getClosestMatchingKeysBy(env, (key) => {\n if (mode === \"rows\") {\n return key.endsWith(itemContextSuffix);\n } else if (mode === \"count\") {\n return key.endsWith(countContextSuffix);\n } else {\n return (\n key.endsWith(itemContextSuffix) || key.endsWith(countContextSuffix)\n );\n }\n });\n\n return tables.filter((table) =>\n matchingKeys.some((key) => {\n if (mode === \"rows\") {\n return mkRowContextKey(table.identifier) === key;\n } else if (mode === \"count\") {\n return mkCountContextKey(table.identifier) === key;\n } else {\n return (\n mkRowContextKey(table.identifier) === key ||\n mkCountContextKey(table.identifier) === key\n );\n }\n })\n );\n}\n\nfunction deriveTableId(tables?: ApiCmsTable[], table?: string) {\n if (!table && tables && tables.length > 0) {\n table = tables[0].identifier;\n }\n return table;\n}\n\nexport function useRow(tables?: ApiCmsTable[], table?: string) {\n const env = useDataEnv();\n\n if (!env) {\n return undefined;\n }\n\n table = deriveTableId(tables, table);\n\n if (table) {\n return {\n table,\n row: env[mkRowContextKey(table)] as ApiCmsRow | undefined,\n };\n }\n\n return undefined;\n}\n\nexport function useCount(tables?: ApiCmsTable[], table?: string) {\n const env = useDataEnv();\n\n if (!env) {\n return undefined;\n }\n\n table = deriveTableId(tables, table);\n\n if (table) {\n return {\n table,\n count: env[mkCountContextKey(table)] as number | undefined,\n };\n }\n\n return undefined;\n}\n\nexport function RowProvider({\n children,\n table,\n row,\n}: {\n children?: React.ReactNode;\n table: string;\n row: ApiCmsRow;\n}) {\n return (\n <DataProvider name={mkRowContextKey(table)} data={row}>\n {children}\n </DataProvider>\n );\n}\n\nexport function CountProvider({\n children,\n table,\n count,\n}: {\n children?: React.ReactNode;\n table: string | undefined;\n count: number | undefined;\n}) {\n return (\n <DataProvider\n name={table ? mkModeContextKey(table) : undefined}\n data=\"count\"\n hidden\n >\n <DataProvider\n name={table ? mkCountContextKey(table) : undefined}\n data={count}\n >\n {children}\n </DataProvider>\n </DataProvider>\n );\n}\n","import { ApiCmsTable, CmsType } from \"./schema\";\n\ntype ValueLabelPair = {\n value: string;\n label: string;\n};\n\nexport function mkTableOptions(\n tables: ApiCmsTable[] | undefined\n): ValueLabelPair[] {\n if (!tables) {\n return [];\n }\n\n return tables.map((table) => ({\n value: table.identifier,\n label: table.name,\n }));\n}\n\nexport function mkFieldOptions(\n tables: ApiCmsTable[] | undefined,\n tableIdentifier: string | undefined,\n types?: CmsType[]\n): ValueLabelPair[] {\n if (!tables) {\n return [];\n }\n\n const table = tables.find((t) => t.identifier === tableIdentifier);\n if (!table) {\n return [];\n }\n\n let fields = table.schema.fields;\n if (types) {\n fields = fields.filter((f) => types.includes(f.type));\n }\n const options = fields.map((f) => ({\n value: f.identifier,\n label: f.name || f.identifier,\n }));\n if (!options.some((option) => option.value === \"_id\")) {\n options.push({\n label: \"System-assigned ID\",\n value: \"_id\",\n });\n }\n\n return options;\n}\n","import { repeatedElement, usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport {\n CanvasComponentProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { GlobalContextMeta } from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport dayjs from \"dayjs\";\nimport React from \"react\";\nimport { DatabaseConfig, HttpError, mkApi, QueryParams } from \"./api\";\nimport {\n CountProvider,\n DatabaseProvider,\n makeDatabaseCacheKey,\n QueryResultProvider,\n RowProvider,\n TablesProvider,\n useCount,\n useDatabase,\n useRow,\n useTables,\n useTablesWithDataLoaded,\n TableSchemaProvider,\n} from \"./context\";\nimport {\n ApiCmsRow,\n ApiCmsTable,\n CmsFieldMeta,\n CmsType,\n CmsMetaType,\n} from \"./schema\";\nimport { mkFieldOptions, mkTableOptions } from \"./util\";\n\nconst modulePath = \"@plasmicpkgs/plasmic-cms\";\nconst componentPrefix = \"hostless-plasmic-cms\";\n\ninterface FetcherComponentProps {\n hideIfNotFound?: boolean;\n}\n\nfunction renderMaybeData<T>(\n maybeData: ReturnType<typeof usePlasmicQueryData>,\n renderFn: (data: T) => JSX.Element | any,\n loaderProps: FetcherComponentProps,\n inEditor: boolean,\n loadingMessage?: React.ReactNode,\n forceLoadingState?: boolean\n): React.ReactElement | null {\n if (\"error\" in maybeData) {\n const error = maybeData.error;\n if (!inEditor) {\n return <>{loadingMessage ?? <div>Loading...</div>}</>;\n }\n if (error && error instanceof HttpError && error.status === 404) {\n if (loaderProps.hideIfNotFound) {\n return null;\n } else {\n return <div>Error: Data not found</div>;\n }\n } else {\n return <div>Error: {error?.message}</div>;\n }\n }\n if (!(\"data\" in maybeData) || forceLoadingState) {\n return <>{loadingMessage ?? <div>Loading...</div>}</>;\n }\n return renderFn(maybeData.data as T);\n}\n\ninterface CmsCredentialsProviderProps extends DatabaseConfig {\n children?: React.ReactNode;\n}\n\nconst defaultHost = \"https://data.plasmic.app\";\n\nexport const cmsCredentialsProviderMeta: GlobalContextMeta<CmsCredentialsProviderProps> =\n {\n name: `${componentPrefix}-credentials-provider`,\n displayName: \"CMS Credentials Provider\",\n description: `\nFind (or create) your CMS in the [dashboard](https://studio.plasmic.app), and go to its Settings view for the ID and token.\n\n[See tutorial video](https://docs.plasmic.app/learn/plasmic-cms/).`,\n importName: \"CmsCredentialsProvider\",\n importPath: modulePath,\n providesData: true,\n props: {\n host: {\n type: \"string\",\n displayName: \"Studio URL\",\n description: `The default host for use in production is ${defaultHost}.`,\n defaultValue: defaultHost,\n defaultValueHint: defaultHost,\n advanced: true,\n },\n databaseId: {\n type: \"string\",\n displayName: \"CMS ID\",\n description:\n \"The ID of the CMS (database) to use. (Can get on the CMS settings page)\",\n },\n databaseToken: {\n type: \"string\",\n displayName: \"CMS Public Token\",\n description:\n \"The Public Token of the CMS (database) you are using. (Can get on the CMS settings page)\",\n },\n locale: {\n type: \"string\",\n displayName: \"Locale\",\n description:\n \"The locale to use for localized values, leave empty for the default locale.\",\n },\n },\n };\n\nexport function CmsCredentialsProvider({\n children,\n databaseId,\n databaseToken,\n host,\n locale,\n useDraft,\n}: CmsCredentialsProviderProps) {\n const config: DatabaseConfig = {\n databaseId,\n databaseToken,\n locale,\n host: host || defaultHost,\n useDraft: useDraft ?? false,\n };\n return (\n <DatabaseProvider config={config}>\n <TablesFetcher>{children}</TablesFetcher>\n </DatabaseProvider>\n );\n}\n\nfunction TablesFetcher({ children }: { children: React.ReactNode }) {\n const databaseConfig = useDatabase();\n\n const cacheKey = JSON.stringify({\n component: \"TablesFetcher\",\n databaseConfig: makeDatabaseCacheKey(databaseConfig),\n });\n const maybeData = usePlasmicQueryData(cacheKey, async () => {\n if (!isDatabaseConfigured(databaseConfig)) {\n return [];\n }\n return await mkApi(databaseConfig).fetchTables();\n });\n const inEditor = !!usePlasmicCanvasContext();\n\n return (\n <TablesProvider tables={maybeData.data}>\n {inEditor && maybeData.error ? (\n <div>CMS Error: {maybeData.error.message}</div>\n ) : (\n children\n )}\n </TablesProvider>\n );\n}\n\ntype TablesContextData = {\n tables?: ApiCmsTable[];\n};\ninterface TableContextData extends TablesContextData {\n table?: string;\n}\n\ninterface RowContextData extends TableContextData {\n row?: ApiCmsRow;\n fieldMeta?: CmsFieldMeta;\n}\n\nfunction isDatabaseConfigured(config?: DatabaseConfig) {\n return config?.databaseId && config?.databaseToken;\n}\n\ninterface CmsQueryRepeaterProps\n extends QueryParams,\n CanvasComponentProps<TableContextData> {\n children: React.ReactNode;\n table: string;\n emptyMessage?: React.ReactNode;\n forceEmptyState?: boolean;\n loadingMessage?: React.ReactNode;\n forceLoadingState?: boolean;\n noLayout?: boolean;\n noAutoRepeat?: boolean;\n className?: string;\n filterField?: string;\n filterValue?: string;\n fields?: string[];\n mode?: \"rows\" | \"count\";\n}\n\nexport const cmsQueryRepeaterMeta: ComponentMeta<CmsQueryRepeaterProps> = {\n name: `${componentPrefix}-query-repeater`,\n displayName: \"CMS Data Fetcher\",\n description:\n \"Fetches CMS data. Repeats `children` slot content for each row fetched. [See tutorial video](https://docs.plasmic.app/learn/plasmic-cms/).\",\n importName: \"CmsQueryRepeater\",\n importPath: modulePath,\n providesData: true,\n defaultStyles: {\n display: \"flex\",\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n props: {\n children: {\n type: \"slot\",\n isRepeated: true,\n defaultValue: {\n type: \"vbox\",\n children: [\n {\n type: \"component\",\n name: `${componentPrefix}-row-field`,\n },\n ],\n },\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n description: \"CMS model (table) to query.\",\n options: (_, ctx) => mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n useDraft: {\n type: \"boolean\",\n displayName: \"Use drafts?\",\n description: \"If set, also query unpublished content.\",\n defaultValue: false,\n hidden: () => true,\n },\n mode: {\n type: \"choice\",\n options: [\n { label: \"Rows\", value: \"rows\" },\n { label: \"Count\", value: \"count\" },\n ],\n defaultValueHint: \"rows\",\n },\n where: {\n type: \"object\",\n displayName: \"Filter\",\n description:\n \"Filter clause, as a JSON in Mongo query format. Should not be used together with Filter field and Filter value\",\n advanced: true,\n },\n filterField: {\n type: \"choice\",\n displayName: \"Filter field\",\n description: \"Field (from model schema) to filter by\",\n options: ({ table }, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table, [\n CmsMetaType.NUMBER,\n CmsMetaType.BOOLEAN,\n CmsMetaType.TEXT,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.REF,\n ]),\n },\n filterValue: {\n type: \"string\",\n displayName: \"Filter value\",\n description: \"Value to filter by, should be of filter field type\",\n },\n orderBy: {\n type: \"choice\",\n displayName: \"Order by\",\n description: \"Field to order by.\",\n options: (_, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table, [\n CmsMetaType.NUMBER,\n CmsMetaType.BOOLEAN,\n CmsMetaType.DATE_TIME,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.TEXT,\n ]),\n hidden: (ps) => ps.mode === \"count\",\n },\n desc: {\n type: \"boolean\",\n displayName: \"Sort descending?\",\n description: 'Sort descending by \"Order by\" field.',\n defaultValue: false,\n hidden: (ps) => ps.mode === \"count\",\n },\n limit: {\n type: \"number\",\n displayName: \"Limit\",\n description: \"Maximum number of entries to fetch (0 for unlimited).\",\n defaultValue: 0,\n hidden: (ps) => ps.mode === \"count\",\n },\n offset: {\n type: \"number\",\n displayName: \"Offset\",\n description:\n \"Skips this number of rows in the result set; used in combination with limit to build pagination\",\n hidden: (ps) => ps.mode === \"count\",\n },\n fields: {\n type: \"choice\",\n multiSelect: true,\n displayName: \"Fields\",\n description:\n \"Fields from the CMS model to include with each row; by default, all fields are included\",\n options: ({ table }, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table),\n hidden: (ps) => ps.mode === \"count\",\n },\n emptyMessage: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"No matching published entries found.\",\n },\n },\n forceEmptyState: {\n type: \"boolean\",\n displayName: \"Force empty state\",\n description: \"If set, will render as if no matching entries were found.\",\n defaultValue: false,\n },\n loadingMessage: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"Loading...\",\n },\n },\n forceLoadingState: {\n type: \"boolean\",\n displayName: \"Force loading state\",\n description:\n \"If set, will render as if it is waiting for the query to run.\",\n defaultValue: false,\n },\n noLayout: {\n type: \"boolean\",\n displayName: \"No layout\",\n description:\n \"When set, CMS Data Loader will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.\",\n defaultValue: false,\n },\n noAutoRepeat: {\n type: \"boolean\",\n displayName: \"No auto-repeat\",\n description: \"Do not automatically repeat children for every entry.\",\n defaultValue: false,\n hidden: (ps) => ps.mode === \"count\",\n },\n },\n};\n\nexport function CmsQueryRepeater({\n table,\n children,\n setControlContextData,\n mode,\n where,\n useDraft,\n orderBy,\n desc,\n limit,\n offset,\n emptyMessage,\n forceEmptyState,\n loadingMessage,\n forceLoadingState,\n noLayout,\n noAutoRepeat,\n className,\n filterField,\n filterValue,\n fields,\n}: CmsQueryRepeaterProps) {\n const databaseConfig = useDatabase();\n const tables = useTables();\n\n if (filterField && filterValue) {\n where = {\n [filterField]: filterValue,\n };\n }\n const params = { where, useDraft, orderBy, desc, limit, offset, fields };\n\n if (!table && tables && tables.length > 0) {\n table = tables[0].identifier;\n }\n\n const cacheKey = JSON.stringify({\n component: \"CmsQueryLoader\",\n mode,\n table,\n databaseConfig: makeDatabaseCacheKey(databaseConfig),\n params,\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({ tables, table });\n }\n\n const maybeData = usePlasmicQueryData(cacheKey, async () => {\n if (!isDatabaseConfigured(databaseConfig)) {\n throw new Error(`You must specify a CMS ID and API key`);\n }\n if (!table) {\n throw new Error(`You must select a model to query`);\n } else if (tables && !tables.find((t) => t.identifier === table)) {\n throw new Error(`There is no model called \"${table}\"`);\n } else if (mode === \"count\") {\n return mkApi(databaseConfig).count(table, params);\n } else {\n return mkApi(databaseConfig).query(table, params);\n }\n });\n const inEditor = !!usePlasmicCanvasContext();\n if (mode === \"count\") {\n const node = renderMaybeData<number>(\n maybeData,\n () => children,\n { hideIfNotFound: false },\n inEditor,\n loadingMessage,\n forceLoadingState\n );\n return (\n <TableSchemaProvider table={table}>\n <CountProvider\n table={table}\n count={\n typeof maybeData?.data === \"number\" ? maybeData.data : undefined\n }\n >\n {node}\n </CountProvider>\n </TableSchemaProvider>\n );\n } else {\n const node = renderMaybeData<ApiCmsRow[]>(\n maybeData,\n (rows) => {\n if (rows.length === 0 || forceEmptyState) {\n return emptyMessage;\n }\n\n return noAutoRepeat\n ? children\n : rows.map((row, index) => (\n <RowProvider key={index} table={table!} row={row}>\n {repeatedElement(index, children)}\n </RowProvider>\n ));\n },\n { hideIfNotFound: false },\n inEditor,\n loadingMessage,\n forceLoadingState\n );\n return (\n <TableSchemaProvider table={table}>\n <QueryResultProvider\n rows={Array.isArray(maybeData?.data) ? maybeData.data : undefined}\n table={table}\n >\n {noLayout ? <> {node} </> : <div className={className}> {node} </div>}\n </QueryResultProvider>\n </TableSchemaProvider>\n );\n }\n}\n\ninterface CmsRowFieldProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n className?: string;\n dateFormat?: string;\n usePlasmicTheme?: boolean;\n themeResetClassName?: string;\n}\n\nexport const cmsRowFieldMeta: ComponentMeta<CmsRowFieldProps> = {\n name: `${componentPrefix}-row-field`,\n displayName: \"CMS Entry Field\",\n importName: \"CmsRowField\",\n importPath: modulePath,\n props: {\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_, ctx) => mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: ({ table }, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table, [\n CmsMetaType.NUMBER,\n CmsMetaType.BOOLEAN,\n CmsMetaType.TEXT,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.DATE_TIME,\n CmsMetaType.RICH_TEXT,\n CmsMetaType.IMAGE,\n CmsMetaType.FILE,\n CmsMetaType.ENUM,\n ]),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n dateFormat: {\n type: \"choice\",\n displayName: \"Date Format\",\n hidden: ({ field }, ctx) => {\n if (!ctx) {\n return true;\n }\n const { table: tableIdentifier, tables } = ctx;\n const table = tables?.find((t) => t.identifier === tableIdentifier);\n if (!table) {\n return true;\n }\n const fieldMeta = table.schema.fields.find(\n (f) => f.identifier === field\n );\n if (!fieldMeta) {\n return true;\n }\n return fieldMeta.type !== CmsMetaType.DATE_TIME;\n },\n options: [\n {\n label: \"July 26, 2014\",\n value: \"MMMM D, YYYY\",\n },\n {\n label: \"July 26, 2014 10:02 PM\",\n value: \"MMMM D, YYYY h:mm A\",\n },\n {\n label: \"Jul 26, 2014\",\n value: \"MMM D, YYYY\",\n },\n {\n label: \"Jul 26, 2014 10:02 PM\",\n value: \"MMM D, YYYY h:mm A\",\n },\n {\n label: \"Saturday, July 26, 2014\",\n value: \"dddd, MMMM D, YYYY\",\n },\n {\n label: \"7/26/2014\",\n value: \"M/D/YYYY\",\n },\n {\n label: \"7/26/2014 10:02 PM\",\n value: \"M/D/YYYY h:mm A\",\n },\n {\n label: \"26/7/2014\",\n value: \"D/M/YYYY\",\n },\n {\n label: \"26/7/2014 10:02 PM\",\n value: \"D/M/YYYY h:mm A\",\n },\n {\n label: \"7/26/14\",\n value: \"M/D/YY\",\n },\n {\n label: \"7/26/14 10:02 PM\",\n value: \"M/D/YY h:mm A\",\n },\n {\n label: \"26/7/14\",\n value: \"D/M/YY\",\n },\n {\n label: \"26/7/14 10:02 PM\",\n value: \"D/M/YY h:mm A\",\n },\n ],\n },\n usePlasmicTheme: {\n type: \"boolean\",\n displayName: \"Use Plasmic tag styles?\",\n description: \"For HTML content, use tag styles defined in Plasmic\",\n advanced: true,\n },\n themeResetClassName: {\n type: \"themeResetClass\",\n targetAllTags: true,\n },\n },\n defaultStyles: {\n objectFit: \"cover\",\n },\n};\n\nexport function CmsRowField({\n className,\n table,\n field,\n dateFormat,\n setControlContextData,\n usePlasmicTheme,\n themeResetClassName,\n ...rest\n}: CmsRowFieldProps) {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n const unknown = (\n <div className={className} {...rest}>\n Field {table ?? \"Unknown Model\"}.{field ?? \"Unknown Field\"}\n </div>\n );\n const fieldMeta = res\n ? deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [\n CmsMetaType.TEXT,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.RICH_TEXT,\n ],\n })\n : undefined;\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n ...(res && res.row\n ? { table: res.table, row: res.row, fieldMeta: fieldMeta }\n : {}),\n });\n }\n\n if (!res) {\n return unknown;\n }\n\n if (!res.row) {\n return <div className={className}>Error: No CMS Entry found</div>;\n }\n\n if (!fieldMeta) {\n return unknown;\n }\n\n let data = res.row.data?.[fieldMeta.identifier];\n if (!data) {\n return null;\n }\n if (fieldMeta.type === CmsMetaType.DATE_TIME && dateFormat) {\n data = dayjs(data).format(dateFormat);\n }\n return data\n ? renderValue(data, fieldMeta.type, {\n className: `${usePlasmicTheme ? themeResetClassName : \"\"} ${className}`,\n ...rest,\n })\n : null;\n}\n\ninterface CmsCountProps extends CanvasComponentProps<RowContextData> {\n table: string;\n className?: string;\n}\n\nexport const cmsCountFieldMeta: ComponentMeta<CmsCountProps> = {\n name: `${componentPrefix}-count`,\n displayName: \"CMS Entries Count\",\n importName: \"CmsCount\",\n importPath: modulePath,\n props: {\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_, ctx) => mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n },\n};\nexport function CmsCount({\n className,\n table,\n setControlContextData: _,\n ...rest\n}: CmsCountProps) {\n const tables = useTablesWithDataLoaded(\"count\");\n const res = useCount(tables, table);\n const unknown = (\n <div className={className} {...rest}>\n Count: {table ?? \"Unknown Model\"}\n </div>\n );\n if (!res) {\n return unknown;\n }\n\n if (res.count == null) {\n return null;\n } else {\n return (\n <div className={className} {...rest}>\n {new Intl.NumberFormat().format(res.count)}\n </div>\n );\n }\n}\n\nconst DEFAULT_TYPE_FILTERS = [CmsMetaType.TEXT];\nfunction deriveInferredTableField(opts: {\n table?: string;\n tables?: ApiCmsTable[];\n field?: string;\n typeFilters?: CmsType[];\n}) {\n const { table, tables, field, typeFilters } = opts;\n if (!table) return undefined;\n const schema = tables?.find((t) => t.identifier === table)?.schema;\n const fieldMeta = field\n ? schema?.fields.find((f) => f.identifier === field)\n : schema?.fields.find((f) =>\n (typeFilters ?? DEFAULT_TYPE_FILTERS).includes(f.type)\n );\n return fieldMeta;\n}\n\nfunction assertNever(_: never): never {\n throw new Error(\"unexpected branch taken\");\n}\n\nfunction renderValue(value: any, type: CmsType, props: { className?: string }) {\n switch (type) {\n case CmsMetaType.NUMBER:\n case CmsMetaType.BOOLEAN:\n case CmsMetaType.TEXT:\n case CmsMetaType.LONG_TEXT:\n case CmsMetaType.DATE_TIME:\n case CmsMetaType.ENUM:\n case CmsMetaType.REF:\n return <div {...props}>{value}</div>;\n case CmsMetaType.RICH_TEXT:\n return (\n <div\n dangerouslySetInnerHTML={{ __html: value }}\n style={{ whiteSpace: \"normal\" }}\n {...props}\n />\n );\n case CmsMetaType.IMAGE:\n if (value && typeof value === \"object\" && value.url && value.imageMeta) {\n return (\n <img\n src={value.url}\n width={value.imageMeta.width}\n height={value.imageMeta.height}\n {...props}\n />\n );\n }\n return null;\n case CmsMetaType.FILE:\n if (value && typeof value === \"object\" && value.url && value.name) {\n return (\n <a href={value.url} target=\"_blank\" {...props}>\n {value.name}\n </a>\n );\n }\n return null;\n default:\n assertNever(type);\n }\n}\n\ninterface CmsRowLinkProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n hrefProp: string;\n children: React.ReactNode;\n prefix?: string;\n suffix?: string;\n}\n\nexport const cmsRowLinkMeta: ComponentMeta<CmsRowLinkProps> = {\n name: `${componentPrefix}-row-link`,\n displayName: \"CMS Entry Link\",\n importName: \"CmsRowLink\",\n importPath: modulePath,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n tag: \"a\",\n value: \"Link\",\n },\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_: any, ctx: TableContextData | null) =>\n mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: ({ table }: CmsRowLinkProps, ctx: TableContextData | null) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n hrefProp: {\n type: \"string\",\n displayName: '\"href\" prop',\n description: \"Prop to inject into children\",\n defaultValue: \"href\",\n },\n prefix: {\n type: \"string\",\n displayName: \"Optional prefix\",\n description: \"Prefix to prepend to prop value.\",\n hidden: (_, ctx) => ctx?.fieldMeta?.type === \"file\",\n },\n suffix: {\n type: \"string\",\n displayName: \"Optional suffix\",\n description: \"Suffix to append to prop value.\",\n hidden: (_, ctx) => ctx?.fieldMeta?.type === \"file\",\n },\n },\n};\n\nexport function CmsRowLink({\n table,\n field,\n hrefProp,\n children,\n setControlContextData,\n prefix,\n suffix,\n}: CmsRowLinkProps): React.ReactElement | null {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n if (!res || !res.row) {\n return <>{children}</>;\n }\n\n const fieldMeta = deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [CmsMetaType.FILE, CmsMetaType.TEXT],\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n table: res.table,\n row: res.row,\n fieldMeta: fieldMeta,\n });\n }\n if (!fieldMeta) {\n return <>{children}</>;\n }\n\n if (!children) {\n return null;\n }\n\n const value = res.row.data?.[fieldMeta.identifier] || \"\";\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n [hrefProp]:\n fieldMeta.type === CmsMetaType.FILE\n ? value.url\n : prefix || suffix\n ? `${prefix || \"\"}${value}${suffix || \"\"}`\n : value,\n });\n }\n return child;\n });\n\n return <>{childrenWithProps ?? null}</>;\n}\n\ninterface CmsRowImageProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n srcProp: string;\n children: React.ReactNode;\n}\n\nexport const cmsRowImageMeta: ComponentMeta<CmsRowImageProps> = {\n name: `${componentPrefix}-row-image`,\n displayName: \"CMS Entry Image\",\n importName: \"CmsRowImage\",\n importPath: modulePath,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"img\",\n src: \"https://studio.plasmic.app/static/img/placeholder-full.png\",\n },\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_: any, ctx: TableContextData | null) =>\n mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: ({ table }: CmsRowImageProps, ctx: TableContextData | null) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table, [CmsMetaType.IMAGE]),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n srcProp: {\n type: \"string\",\n displayName: 'Image \"src\" prop',\n description: \"Prop to inject into children\",\n defaultValue: \"src\",\n },\n },\n};\n\nexport function CmsRowImage({\n table,\n field,\n srcProp,\n children,\n setControlContextData,\n}: CmsRowImageProps): React.ReactElement | null {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n if (!res || !res.row) {\n return <>{children}</>;\n }\n\n const fieldMeta = deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [CmsMetaType.IMAGE],\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n table: res.table,\n row: res.row,\n fieldMeta: fieldMeta,\n });\n }\n\n if (!fieldMeta) {\n return <>{children}</>;\n }\n\n const value = res.row.data?.[fieldMeta.identifier] || \"\";\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child) && value) {\n if (typeof value === \"object\" && value.url && value.imageMeta) {\n return React.cloneElement(child, {\n [srcProp]: {\n src: value.url,\n fullHeight: value.imageMeta.height,\n fullWidth: value.imageMeta.width,\n },\n });\n }\n return React.cloneElement(child, { [srcProp]: value });\n }\n return child;\n });\n\n return <>{childrenWithProps}</>;\n}\n\ninterface CmsRowFieldValueProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n valueProp: string;\n children: React.ReactNode;\n}\n\nexport const cmsRowFieldValueMeta: ComponentMeta<CmsRowFieldValueProps> = {\n name: `${componentPrefix}-row-value`,\n displayName: \"CMS Entry Value\",\n importName: \"CmsRowFieldValue\",\n importPath: modulePath,\n props: {\n children: {\n type: \"slot\",\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_: any, ctx: TableContextData | null) =>\n mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: (\n { table }: CmsRowFieldValueProps,\n ctx: TableContextData | null\n ) => mkFieldOptions(ctx?.tables, ctx?.table ?? table),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n valueProp: {\n type: \"string\",\n displayName: \"Value prop\",\n description: \"Prop to inject into children as\",\n defaultValue: \"children\",\n },\n },\n};\n\nexport function CmsRowFieldValue({\n table,\n field,\n valueProp,\n children,\n setControlContextData,\n ...rest\n}: CmsRowFieldValueProps): React.ReactElement | null {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n if (!res || !res.row) {\n return <>{children}</>;\n }\n\n const fieldMeta = deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [CmsMetaType.TEXT],\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n table: res.table,\n row: res.row,\n fieldMeta: fieldMeta,\n });\n }\n\n if (!fieldMeta) {\n return <>{children}</>;\n }\n\n const value = res.row.data?.[fieldMeta.identifier] || \"\";\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, { ...rest, [valueProp]: value });\n }\n return child;\n });\n\n return <>{childrenWithProps}</>;\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext, {\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n CmsCount,\n cmsCountFieldMeta,\n CmsCredentialsProvider,\n cmsCredentialsProviderMeta,\n CmsQueryRepeater,\n cmsQueryRepeaterMeta,\n CmsRowField,\n cmsRowFieldMeta,\n CmsRowFieldValue,\n cmsRowFieldValueMeta,\n CmsRowImage,\n cmsRowImageMeta,\n CmsRowLink,\n cmsRowLinkMeta,\n} from \"./components\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n //const registerContext = loader?.registerContext ?? hostRegisterContext;\n //registerContext(CmsDataProvider, cmsDataProviderMeta);\n\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n const _registerGlobalContext = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: GlobalContextMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerGlobalContext(Component, defaultMeta);\n } else {\n registerGlobalContext(Component, defaultMeta);\n }\n };\n\n _registerGlobalContext(CmsCredentialsProvider, cmsCredentialsProviderMeta);\n _registerComponent(CmsQueryRepeater, cmsQueryRepeaterMeta);\n _registerComponent(CmsRowField, cmsRowFieldMeta);\n _registerComponent(CmsRowLink, cmsRowLinkMeta);\n _registerComponent(CmsRowImage, cmsRowImageMeta);\n _registerComponent(CmsRowFieldValue, cmsRowFieldValueMeta);\n _registerComponent(CmsCount, cmsCountFieldMeta);\n}\n\nexport * from \"./api\";\nexport * from \"./components\";\n"],"names":["queryParamsToApi","params","where","limit","offset","order","orderBy","field","dir","desc","undefined","fields","HttpError","_Error","_inheritsLoose","status","message","_this","call","_wrapNativeSuper","Error","API","config","_proto","prototype","get","_get","_asyncToGenerator","_regeneratorRuntime","mark","_callee","endpoint","url","URL","host","databaseId","fixedParams","Object","keys","reduce","newObj","key","value","search","URLSearchParams","toString","_context","next","fetch","method","headers","accept","databaseToken","mode","response","sent","text","json","JSON","parse","_json$error","error","_unused","abrupt","stop","_x","_x2","apply","arguments","fetchTables","_fetchTables","_callee2","wrap","_callee2$","_context2","prev","tables","t0","console","useDraftForTable","table","Array","isArray","useDraft","includes","query","_query","_callee3","_context3","q","stringify","draft","Number","locale","rows","_x3","_x4","count","_count","_callee4","_context4","_x5","_x6","mkApi","contextPrefix","databaseContextKey","tablesContextKey","tableSchemaContextKey","collectionResultSuffix","mkQueryContextKey","capitalizeFirst","itemContextSuffix","countContextSuffix","modeContextSuffix","mkRowContextKey","mkCountContextKey","mkModeContextKey","str","_str$","toUpperCase","slice","useDatabase","useSelector","makeDatabaseCacheKey","rest","_objectWithoutPropertiesLoose","_excluded","DatabaseProvider","_ref","children","React","DataProvider","name","data","hidden","useTables","TablesProvider","_ref2","TableSchemaProvider","_ref3","schema","length","_tables$","_tables$find","find","t","identifier","getClosestMatchingKeysBy","env","pred","concat","reverse","filter","QueryResultProvider","_ref4","useTablesWithDataLoaded","useDataEnv","matchingKeys","endsWith","some","deriveTableId","useRow","row","useCount","RowProvider","_ref5","CountProvider","_ref6","mkTableOptions","map","label","mkFieldOptions","tableIdentifier","types","f","type","options","option","push","modulePath","componentPrefix","renderMaybeData","maybeData","renderFn","loaderProps","inEditor","loadingMessage","forceLoadingState","hideIfNotFound","defaultHost","cmsCredentialsProviderMeta","displayName","description","importName","importPath","providesData","props","defaultValue","defaultValueHint","advanced","CmsCredentialsProvider","TablesFetcher","databaseConfig","cacheKey","component","usePlasmicQueryData","_callee$","isDatabaseConfigured","usePlasmicCanvasContext","cmsQueryRepeaterMeta","defaultStyles","display","width","maxWidth","flexDirection","isRepeated","_","ctx","filterField","_ctx$table","filterValue","ps","multiSelect","_ctx$table2","emptyMessage","forceEmptyState","noLayout","noAutoRepeat","CmsQueryRepeater","setControlContextData","className","_where","node","index","repeatedElement","cmsRowFieldMeta","_ctx$tables$length","_ctx$tables","helpText","_ref8","_ctx$table3","_ctx$fieldMeta","_ctx$fieldMeta2","fieldMeta","dateFormat","_ref9","usePlasmicTheme","themeResetClassName","targetAllTags","objectFit","CmsRowField","_ref10","res","unknown","deriveInferredTableField","typeFilters","_extends","_res$row$data","dayjs","format","renderValue","cmsCountFieldMeta","_ctx$tables$length2","_ctx$tables2","CmsCount","_ref11","_excluded2","Intl","NumberFormat","DEFAULT_TYPE_FILTERS","opts","assertNever","dangerouslySetInnerHTML","__html","style","whiteSpace","imageMeta","src","height","href","target","cmsRowLinkMeta","tag","_ctx$tables$length3","_ctx$tables3","_ref12","_ctx$table4","_ctx$fieldMeta3","_ctx$fieldMeta4","hrefProp","prefix","_ctx$fieldMeta5","suffix","_ctx$fieldMeta6","CmsRowLink","_ref13","_res$row$data2","childrenWithProps","Children","child","isValidElement","_React$cloneElement","cloneElement","cmsRowImageMeta","_ctx$tables$length4","_ctx$tables4","_ref14","_ctx$table5","_ctx$fieldMeta7","_ctx$fieldMeta8","srcProp","CmsRowImage","_ref15","_res$row$data3","_React$cloneElement3","_React$cloneElement2","fullHeight","fullWidth","cmsRowFieldValueMeta","_ctx$tables$length5","_ctx$tables5","_ref16","_ctx$table6","_ctx$fieldMeta9","_ctx$fieldMeta10","valueProp","CmsRowFieldValue","_ref17","_excluded3","_res$row$data4","_extends2","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","_registerGlobalContext","registerGlobalContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plasmic-cms.esm.js","sources":["../src/api.ts","../src/context.tsx","../src/util.ts","../src/components.tsx","../src/index.tsx"],"sourcesContent":["import { ApiCmsQuery, ApiCmsRow, ApiCmsTable } from \"./schema\";\n\nexport interface DatabaseConfig {\n host: string;\n databaseId: string;\n databaseToken: string;\n locale: string;\n useDraft: boolean | string[];\n}\n\nexport interface QueryParams {\n useDraft?: boolean;\n where?: any;\n orderBy?: string;\n desc?: boolean;\n limit?: number;\n offset?: number;\n fields?: string[];\n}\n\nfunction queryParamsToApi(params: QueryParams): ApiCmsQuery {\n return {\n where: params.where,\n limit: params.limit,\n offset: params.offset,\n order: params.orderBy\n ? [\n {\n field: params.orderBy,\n dir: params.desc ? \"desc\" : \"asc\",\n },\n ]\n : undefined,\n fields: params.fields,\n };\n}\n\nexport class HttpError extends Error {\n constructor(public status: number, message: string) {\n super(message);\n }\n}\n\nexport class API {\n constructor(private config: DatabaseConfig) {}\n\n async get(endpoint: string, params: any = {}) {\n const url = new URL(\n `${this.config.host}/api/v1/cms/databases/${this.config.databaseId}${endpoint}`\n );\n const fixedParams = Object.keys(params).reduce((newObj, key) => {\n const value = params[key];\n if (value != null) {\n newObj[key] = value;\n }\n return newObj;\n }, {} as any);\n url.search = new URLSearchParams(fixedParams).toString();\n const response = await fetch(url.toString(), {\n method: \"GET\",\n headers: {\n accept: \"*/*\",\n \"x-plasmic-api-cms-tokens\": `${this.config.databaseId}:${this.config.databaseToken}`,\n },\n mode: \"cors\",\n });\n\n if (response.status !== 200) {\n let message = await response.text();\n try {\n const json = JSON.parse(message);\n if (json.error?.message) {\n message = json.error.message;\n }\n } catch {\n // ignored\n }\n throw new HttpError(response.status, message);\n }\n\n return await response.json();\n }\n\n async fetchTables(): Promise<ApiCmsTable[]> {\n try {\n const response = await this.get(``);\n return response.tables;\n } catch (e) {\n console.error(e);\n throw e;\n }\n }\n\n private useDraftForTable(table: string) {\n if (Array.isArray(this.config.useDraft)) {\n return this.config.useDraft.includes(table);\n } else {\n return this.config.useDraft;\n }\n }\n\n async query(table: string, params: QueryParams = {}): Promise<ApiCmsRow[]> {\n try {\n const response = await this.get(`/tables/${table}/query`, {\n q: JSON.stringify(queryParamsToApi(params)),\n draft: Number(this.useDraftForTable(table) || params.useDraft),\n locale: this.config.locale,\n });\n return response.rows;\n } catch (e) {\n console.error(e);\n throw e;\n }\n }\n\n async count(\n table: string,\n params: Pick<QueryParams, \"where\" | \"useDraft\"> = {}\n ): Promise<number> {\n try {\n const response = await this.get(`/tables/${table}/count`, {\n q: JSON.stringify(queryParamsToApi(params)),\n draft: Number(this.useDraftForTable(table) || params.useDraft),\n });\n return response.count;\n } catch (e) {\n console.error(e);\n throw e;\n }\n }\n}\n\nexport function mkApi(config: DatabaseConfig | undefined) {\n if (!config) {\n throw new Error(\"Component must be wrapped in 'CMS Data Provider'.\");\n }\n\n return new API(config);\n}\n","import {\n DataDict,\n DataProvider,\n useDataEnv,\n useSelector,\n} from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { DatabaseConfig } from \"./api\";\nimport { ApiCmsRow, ApiCmsTable } from \"./schema\";\n\nconst contextPrefix = \"plasmicCms\";\nconst databaseContextKey = `${contextPrefix}Database`;\nconst tablesContextKey = `${contextPrefix}Tables`;\nconst tableSchemaContextKey = `${contextPrefix}TableSchema`;\nconst collectionResultSuffix = `Collection`;\nexport const mkQueryContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${collectionResultSuffix}`;\nconst itemContextSuffix = `Item`;\nconst countContextSuffix = `Count`;\nconst modeContextSuffix = `Mode`;\nconst mkRowContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${itemContextSuffix}`;\nconst mkCountContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${countContextSuffix}`;\nconst mkModeContextKey = (table: string) =>\n `${contextPrefix}${capitalizeFirst(table)}${modeContextSuffix}`;\n\nfunction capitalizeFirst(str: string): string {\n return str[0]?.toUpperCase() + str.slice(1);\n}\n\nexport function useDatabase() {\n return useSelector(databaseContextKey) as DatabaseConfig | undefined;\n}\n\nexport function makeDatabaseCacheKey(config: DatabaseConfig | undefined) {\n if (!config) {\n return null;\n }\n const { databaseToken, ...rest } = config;\n return JSON.stringify(rest);\n}\n\nexport function DatabaseProvider({\n config,\n children,\n}: {\n config: DatabaseConfig;\n children?: React.ReactNode;\n}) {\n return (\n <DataProvider name={databaseContextKey} data={config} hidden={true}>\n {children}\n </DataProvider>\n );\n}\n\nexport function useTables() {\n return useSelector(tablesContextKey) as ApiCmsTable[] | undefined;\n}\n\nexport function TablesProvider({\n children,\n tables,\n}: {\n children?: React.ReactNode;\n tables?: ApiCmsTable[];\n}) {\n return (\n <DataProvider name={tablesContextKey} data={tables} hidden={true}>\n {children}\n </DataProvider>\n );\n}\n\nexport function TableSchemaProvider({\n children,\n table,\n}: {\n children?: React.ReactNode;\n table?: string | undefined;\n}) {\n const tables = useTables();\n\n let schema;\n if (tables && tables?.length > 0) {\n if (!table) {\n schema = tables[0]?.schema;\n } else {\n schema = tables?.find((t) => t?.identifier === table)?.schema;\n }\n }\n return (\n <DataProvider name={tableSchemaContextKey} data={schema}>\n {children}\n </DataProvider>\n );\n}\n\nexport function useQueryResults(table?: string) {\n const env = useDataEnv();\n const tables = useTables();\n\n if (!env) {\n return undefined;\n }\n\n if (table) {\n return {\n table,\n rows: (env[mkQueryContextKey(table)] ?? []) as ApiCmsRow[],\n };\n }\n if (!tables) {\n return undefined;\n }\n\n const matchingKeys = getClosestMatchingKeys(env, collectionResultSuffix);\n for (const key of matchingKeys) {\n const inferredTable = tables.find(\n (t) => mkQueryContextKey(t.identifier) === key\n );\n if (inferredTable) {\n return {\n table: inferredTable.identifier,\n rows: (env[key] ?? []) as ApiCmsRow[],\n };\n }\n }\n return undefined;\n}\n\nfunction getClosestMatchingKeys(env: DataDict, suffix: string) {\n return [...Object.keys(env).reverse()].filter((k) => k.endsWith(suffix));\n}\n\nfunction getClosestMatchingKeysBy(\n env: DataDict,\n pred: (str: string) => boolean\n) {\n return [...Object.keys(env).reverse()].filter((key) => pred(key));\n}\n\nexport function QueryResultProvider({\n children,\n table,\n rows,\n hidden,\n}: {\n children?: React.ReactNode;\n table: string | undefined;\n rows: ApiCmsRow[] | undefined;\n hidden?: boolean;\n}) {\n return (\n <DataProvider\n name={table ? mkModeContextKey(table) : undefined}\n data=\"rows\"\n hidden\n >\n <DataProvider\n name={table ? mkQueryContextKey(table) : undefined}\n data={rows}\n hidden={hidden}\n >\n {children}\n </DataProvider>\n </DataProvider>\n );\n}\n\nexport function useTablesWithDataLoaded(mode: \"rows\" | \"count\" | undefined) {\n const env = useDataEnv();\n const tables = useTables();\n\n if (!env) {\n return undefined;\n }\n\n if (!tables) {\n return undefined;\n }\n\n const matchingKeys = getClosestMatchingKeysBy(env, (key) => {\n if (mode === \"rows\") {\n return key.endsWith(itemContextSuffix);\n } else if (mode === \"count\") {\n return key.endsWith(countContextSuffix);\n } else {\n return (\n key.endsWith(itemContextSuffix) || key.endsWith(countContextSuffix)\n );\n }\n });\n\n return tables.filter((table) =>\n matchingKeys.some((key) => {\n if (mode === \"rows\") {\n return mkRowContextKey(table.identifier) === key;\n } else if (mode === \"count\") {\n return mkCountContextKey(table.identifier) === key;\n } else {\n return (\n mkRowContextKey(table.identifier) === key ||\n mkCountContextKey(table.identifier) === key\n );\n }\n })\n );\n}\n\nfunction deriveTableId(tables?: ApiCmsTable[], table?: string) {\n if (!table && tables && tables.length > 0) {\n table = tables[0].identifier;\n }\n return table;\n}\n\nexport function useRow(tables?: ApiCmsTable[], table?: string) {\n const env = useDataEnv();\n\n if (!env) {\n return undefined;\n }\n\n table = deriveTableId(tables, table);\n\n if (table) {\n return {\n table,\n row: env[mkRowContextKey(table)] as ApiCmsRow | undefined,\n };\n }\n\n return undefined;\n}\n\nexport function useCount(tables?: ApiCmsTable[], table?: string) {\n const env = useDataEnv();\n\n if (!env) {\n return undefined;\n }\n\n table = deriveTableId(tables, table);\n\n if (table) {\n return {\n table,\n count: env[mkCountContextKey(table)] as number | undefined,\n };\n }\n\n return undefined;\n}\n\nexport function RowProvider({\n children,\n table,\n row,\n}: {\n children?: React.ReactNode;\n table: string;\n row: ApiCmsRow;\n}) {\n return (\n <DataProvider name={mkRowContextKey(table)} data={row}>\n {children}\n </DataProvider>\n );\n}\n\nexport function CountProvider({\n children,\n table,\n count,\n}: {\n children?: React.ReactNode;\n table: string | undefined;\n count: number | undefined;\n}) {\n return (\n <DataProvider\n name={table ? mkModeContextKey(table) : undefined}\n data=\"count\"\n hidden\n >\n <DataProvider\n name={table ? mkCountContextKey(table) : undefined}\n data={count}\n >\n {children}\n </DataProvider>\n </DataProvider>\n );\n}\n","import { ApiCmsTable, CmsType } from \"./schema\";\n\ntype ValueLabelPair = {\n value: string;\n label: string;\n};\n\nexport function mkTableOptions(\n tables: ApiCmsTable[] | undefined\n): ValueLabelPair[] {\n if (!tables) {\n return [];\n }\n\n return tables.map((table) => ({\n value: table.identifier,\n label: table.name,\n }));\n}\n\nexport function mkFieldOptions(\n tables: ApiCmsTable[] | undefined,\n tableIdentifier: string | undefined,\n types?: CmsType[]\n): ValueLabelPair[] {\n if (!tables) {\n return [];\n }\n\n const table = tables.find((t) => t.identifier === tableIdentifier);\n if (!table) {\n return [];\n }\n\n let fields = table.schema.fields;\n if (types) {\n fields = fields.filter((f) => types.includes(f.type));\n }\n const options = fields.map((f) => ({\n value: f.identifier,\n label: f.name || f.identifier,\n }));\n if (!options.some((option) => option.value === \"_id\")) {\n options.push({\n label: \"System-assigned ID\",\n value: \"_id\",\n });\n }\n\n return options;\n}\n","import { repeatedElement, usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport {\n CanvasComponentProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { GlobalContextMeta } from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport dayjs from \"dayjs\";\nimport React from \"react\";\nimport { DatabaseConfig, HttpError, mkApi, QueryParams } from \"./api\";\nimport {\n CountProvider,\n DatabaseProvider,\n makeDatabaseCacheKey,\n QueryResultProvider,\n RowProvider,\n TablesProvider,\n useCount,\n useDatabase,\n useRow,\n useTables,\n useTablesWithDataLoaded,\n TableSchemaProvider,\n} from \"./context\";\nimport {\n ApiCmsRow,\n ApiCmsTable,\n CmsFieldMeta,\n CmsType,\n CmsMetaType,\n} from \"./schema\";\nimport { mkFieldOptions, mkTableOptions } from \"./util\";\n\nconst modulePath = \"@plasmicpkgs/plasmic-cms\";\nconst componentPrefix = \"hostless-plasmic-cms\";\n\ninterface FetcherComponentProps {\n hideIfNotFound?: boolean;\n}\n\nfunction renderMaybeData<T>(\n maybeData: ReturnType<typeof usePlasmicQueryData>,\n renderFn: (data: T) => JSX.Element | any,\n loaderProps: FetcherComponentProps,\n inEditor: boolean,\n loadingMessage?: React.ReactNode,\n forceLoadingState?: boolean\n): React.ReactElement | null {\n if (\"error\" in maybeData) {\n const error = maybeData.error;\n if (!inEditor) {\n return <>{loadingMessage ?? <div>Loading...</div>}</>;\n }\n if (error && error instanceof HttpError && error.status === 404) {\n if (loaderProps.hideIfNotFound) {\n return null;\n } else {\n return <div>Error: Data not found</div>;\n }\n } else {\n return <div>Error: {error?.message}</div>;\n }\n }\n if (!(\"data\" in maybeData) || forceLoadingState) {\n return <>{loadingMessage ?? <div>Loading...</div>}</>;\n }\n return renderFn(maybeData.data as T);\n}\n\ninterface CmsCredentialsProviderProps extends DatabaseConfig {\n children?: React.ReactNode;\n}\n\nconst defaultHost = \"https://data.plasmic.app\";\n\nexport const cmsCredentialsProviderMeta: GlobalContextMeta<CmsCredentialsProviderProps> =\n {\n name: `${componentPrefix}-credentials-provider`,\n displayName: \"CMS Credentials Provider\",\n description: `\nFind (or create) your CMS in the [dashboard](https://studio.plasmic.app), and go to its Settings view for the ID and token.\n\n[See tutorial video](https://docs.plasmic.app/learn/plasmic-cms/).`,\n importName: \"CmsCredentialsProvider\",\n importPath: modulePath,\n providesData: true,\n props: {\n host: {\n type: \"string\",\n displayName: \"Studio URL\",\n description: `The default host for use in production is ${defaultHost}.`,\n defaultValue: defaultHost,\n defaultValueHint: defaultHost,\n advanced: true,\n },\n databaseId: {\n type: \"string\",\n displayName: \"CMS ID\",\n description:\n \"The ID of the CMS (database) to use. (Can get on the CMS settings page)\",\n },\n databaseToken: {\n type: \"string\",\n displayName: \"CMS Public Token\",\n description:\n \"The Public Token of the CMS (database) you are using. (Can get on the CMS settings page)\",\n },\n locale: {\n type: \"string\",\n displayName: \"Locale\",\n description:\n \"The locale to use for localized values, leave empty for the default locale.\",\n },\n },\n };\n\nexport function CmsCredentialsProvider({\n children,\n databaseId,\n databaseToken,\n host,\n locale,\n useDraft,\n}: CmsCredentialsProviderProps) {\n const config: DatabaseConfig = {\n databaseId,\n databaseToken,\n locale,\n host: host || defaultHost,\n useDraft: useDraft ?? false,\n };\n return (\n <DatabaseProvider config={config}>\n <TablesFetcher>{children}</TablesFetcher>\n </DatabaseProvider>\n );\n}\n\nfunction TablesFetcher({ children }: { children: React.ReactNode }) {\n const databaseConfig = useDatabase();\n\n const cacheKey = JSON.stringify({\n component: \"TablesFetcher\",\n databaseConfig: makeDatabaseCacheKey(databaseConfig),\n });\n const maybeData = usePlasmicQueryData(cacheKey, async () => {\n if (!isDatabaseConfigured(databaseConfig)) {\n return [];\n }\n return await mkApi(databaseConfig).fetchTables();\n });\n const inEditor = !!usePlasmicCanvasContext();\n\n return (\n <TablesProvider tables={maybeData.data}>\n {inEditor && maybeData.error ? (\n <div>CMS Error: {maybeData.error.message}</div>\n ) : (\n children\n )}\n </TablesProvider>\n );\n}\n\ntype TablesContextData = {\n tables?: ApiCmsTable[];\n};\ninterface TableContextData extends TablesContextData {\n table?: string;\n}\n\ninterface RowContextData extends TableContextData {\n row?: ApiCmsRow;\n fieldMeta?: CmsFieldMeta;\n}\n\nfunction isDatabaseConfigured(config?: DatabaseConfig) {\n return config?.databaseId && config?.databaseToken;\n}\n\ninterface CmsQueryRepeaterProps\n extends QueryParams,\n CanvasComponentProps<TableContextData> {\n children: React.ReactNode;\n table: string;\n emptyMessage?: React.ReactNode;\n forceEmptyState?: boolean;\n loadingMessage?: React.ReactNode;\n forceLoadingState?: boolean;\n noLayout?: boolean;\n noAutoRepeat?: boolean;\n className?: string;\n filterField?: string;\n filterValue?: string;\n fields?: string[];\n mode?: \"rows\" | \"count\";\n}\n\nexport const cmsQueryRepeaterMeta: ComponentMeta<CmsQueryRepeaterProps> = {\n name: `${componentPrefix}-query-repeater`,\n displayName: \"CMS Data Fetcher\",\n description:\n \"Fetches CMS data. Repeats `children` slot content for each row fetched. [See tutorial video](https://docs.plasmic.app/learn/plasmic-cms/).\",\n importName: \"CmsQueryRepeater\",\n importPath: modulePath,\n providesData: true,\n defaultStyles: {\n display: \"flex\",\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n props: {\n children: {\n type: \"slot\",\n isRepeated: true,\n defaultValue: {\n type: \"vbox\",\n children: [\n {\n type: \"component\",\n name: `${componentPrefix}-row-field`,\n },\n ],\n },\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n description: \"CMS model (table) to query.\",\n options: (_, ctx) => mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n useDraft: {\n type: \"boolean\",\n displayName: \"Use drafts?\",\n description: \"If set, also query unpublished content.\",\n defaultValue: false,\n hidden: () => true,\n },\n mode: {\n type: \"choice\",\n options: [\n { label: \"Rows\", value: \"rows\" },\n { label: \"Count\", value: \"count\" },\n ],\n defaultValueHint: \"rows\",\n },\n where: {\n type: \"object\",\n displayName: \"Filter\",\n description:\n \"Filter clause, as a JSON in Mongo query format. Should not be used together with Filter field and Filter value\",\n advanced: true,\n },\n filterField: {\n type: \"choice\",\n displayName: \"Filter field\",\n description: \"Field (from model schema) to filter by\",\n options: ({ table }, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table, [\n CmsMetaType.NUMBER,\n CmsMetaType.BOOLEAN,\n CmsMetaType.TEXT,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.REF,\n ]),\n },\n filterValue: {\n type: \"string\",\n displayName: \"Filter value\",\n description: \"Value to filter by, should be of filter field type\",\n },\n orderBy: {\n type: \"choice\",\n displayName: \"Order by\",\n description: \"Field to order by.\",\n options: (_, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table, [\n CmsMetaType.NUMBER,\n CmsMetaType.BOOLEAN,\n CmsMetaType.DATE_TIME,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.TEXT,\n ]),\n hidden: (ps) => ps.mode === \"count\",\n },\n desc: {\n type: \"boolean\",\n displayName: \"Sort descending?\",\n description: 'Sort descending by \"Order by\" field.',\n defaultValue: false,\n hidden: (ps) => ps.mode === \"count\",\n },\n limit: {\n type: \"number\",\n displayName: \"Limit\",\n description: \"Maximum number of entries to fetch (0 for unlimited).\",\n defaultValue: 0,\n hidden: (ps) => ps.mode === \"count\",\n },\n offset: {\n type: \"number\",\n displayName: \"Offset\",\n description:\n \"Skips this number of rows in the result set; used in combination with limit to build pagination\",\n hidden: (ps) => ps.mode === \"count\",\n },\n fields: {\n type: \"choice\",\n multiSelect: true,\n displayName: \"Fields\",\n description:\n \"Fields from the CMS model to include with each row; by default, all fields are included\",\n options: ({ table }, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table),\n hidden: (ps) => ps.mode === \"count\",\n },\n emptyMessage: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"No matching published entries found.\",\n },\n },\n forceEmptyState: {\n type: \"boolean\",\n displayName: \"Force empty state\",\n description: \"If set, will render as if no matching entries were found.\",\n defaultValue: false,\n },\n loadingMessage: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"Loading...\",\n },\n },\n forceLoadingState: {\n type: \"boolean\",\n displayName: \"Force loading state\",\n description:\n \"If set, will render as if it is waiting for the query to run.\",\n defaultValue: false,\n },\n noLayout: {\n type: \"boolean\",\n displayName: \"No layout\",\n description:\n \"When set, CMS Data Loader will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.\",\n defaultValue: false,\n },\n noAutoRepeat: {\n type: \"boolean\",\n displayName: \"No auto-repeat\",\n description: \"Do not automatically repeat children for every entry.\",\n defaultValue: false,\n hidden: (ps) => ps.mode === \"count\",\n },\n },\n};\n\nexport function CmsQueryRepeater({\n table,\n children,\n setControlContextData,\n mode,\n where,\n useDraft,\n orderBy,\n desc,\n limit,\n offset,\n emptyMessage,\n forceEmptyState,\n loadingMessage,\n forceLoadingState,\n noLayout,\n noAutoRepeat,\n className,\n filterField,\n filterValue,\n fields,\n}: CmsQueryRepeaterProps) {\n const databaseConfig = useDatabase();\n const tables = useTables();\n\n if (filterField && filterValue) {\n where = {\n [filterField]: filterValue,\n };\n }\n const params = { where, useDraft, orderBy, desc, limit, offset, fields };\n\n if (!table && tables && tables.length > 0) {\n table = tables[0].identifier;\n }\n\n const cacheKey = JSON.stringify({\n component: \"CmsQueryLoader\",\n mode,\n table,\n databaseConfig: makeDatabaseCacheKey(databaseConfig),\n params,\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({ tables, table });\n }\n\n const maybeData = usePlasmicQueryData(cacheKey, async () => {\n if (!isDatabaseConfigured(databaseConfig)) {\n throw new Error(`You must specify a CMS ID and API key`);\n }\n if (!table) {\n throw new Error(`You must select a model to query`);\n } else if (tables && !tables.find((t) => t.identifier === table)) {\n throw new Error(`There is no model called \"${table}\"`);\n } else if (mode === \"count\") {\n return mkApi(databaseConfig).count(table, params);\n } else {\n return mkApi(databaseConfig).query(table, params);\n }\n });\n const inEditor = !!usePlasmicCanvasContext();\n if (mode === \"count\") {\n const node = renderMaybeData<number>(\n maybeData,\n () => children,\n { hideIfNotFound: false },\n inEditor,\n loadingMessage,\n forceLoadingState\n );\n return (\n <TableSchemaProvider table={table}>\n <CountProvider\n table={table}\n count={\n typeof maybeData?.data === \"number\" ? maybeData.data : undefined\n }\n >\n {node}\n </CountProvider>\n </TableSchemaProvider>\n );\n } else {\n const node = renderMaybeData<ApiCmsRow[]>(\n maybeData,\n (rows) => {\n if (rows.length === 0 || forceEmptyState) {\n return emptyMessage;\n }\n\n return noAutoRepeat\n ? children\n : rows.map((row, index) => (\n <RowProvider key={index} table={table!} row={row}>\n {repeatedElement(index, children)}\n </RowProvider>\n ));\n },\n { hideIfNotFound: false },\n inEditor,\n loadingMessage,\n forceLoadingState\n );\n return (\n <TableSchemaProvider table={table}>\n <QueryResultProvider\n rows={Array.isArray(maybeData?.data) ? maybeData.data : undefined}\n table={table}\n >\n {noLayout ? <> {node} </> : <div className={className}> {node} </div>}\n </QueryResultProvider>\n </TableSchemaProvider>\n );\n }\n}\n\ninterface CmsRowFieldProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n className?: string;\n dateFormat?: string;\n usePlasmicTheme?: boolean;\n themeResetClassName?: string;\n}\n\nexport const cmsRowFieldMeta: ComponentMeta<CmsRowFieldProps> = {\n name: `${componentPrefix}-row-field`,\n displayName: \"CMS Entry Field\",\n importName: \"CmsRowField\",\n importPath: modulePath,\n props: {\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_, ctx) => mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: ({ table }, ctx) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table, [\n CmsMetaType.NUMBER,\n CmsMetaType.BOOLEAN,\n CmsMetaType.TEXT,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.DATE_TIME,\n CmsMetaType.RICH_TEXT,\n CmsMetaType.IMAGE,\n CmsMetaType.FILE,\n CmsMetaType.ENUM,\n ]),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n dateFormat: {\n type: \"choice\",\n displayName: \"Date Format\",\n hidden: ({ field }, ctx) => {\n if (!ctx) {\n return true;\n }\n const { table: tableIdentifier, tables } = ctx;\n const table = tables?.find((t) => t.identifier === tableIdentifier);\n if (!table) {\n return true;\n }\n const fieldMeta = table.schema.fields.find(\n (f) => f.identifier === field\n );\n if (!fieldMeta) {\n return true;\n }\n return fieldMeta.type !== CmsMetaType.DATE_TIME;\n },\n options: [\n {\n label: \"July 26, 2014\",\n value: \"MMMM D, YYYY\",\n },\n {\n label: \"July 26, 2014 10:02 PM\",\n value: \"MMMM D, YYYY h:mm A\",\n },\n {\n label: \"Jul 26, 2014\",\n value: \"MMM D, YYYY\",\n },\n {\n label: \"Jul 26, 2014 10:02 PM\",\n value: \"MMM D, YYYY h:mm A\",\n },\n {\n label: \"Saturday, July 26, 2014\",\n value: \"dddd, MMMM D, YYYY\",\n },\n {\n label: \"7/26/2014\",\n value: \"M/D/YYYY\",\n },\n {\n label: \"7/26/2014 10:02 PM\",\n value: \"M/D/YYYY h:mm A\",\n },\n {\n label: \"26/7/2014\",\n value: \"D/M/YYYY\",\n },\n {\n label: \"26/7/2014 10:02 PM\",\n value: \"D/M/YYYY h:mm A\",\n },\n {\n label: \"7/26/14\",\n value: \"M/D/YY\",\n },\n {\n label: \"7/26/14 10:02 PM\",\n value: \"M/D/YY h:mm A\",\n },\n {\n label: \"26/7/14\",\n value: \"D/M/YY\",\n },\n {\n label: \"26/7/14 10:02 PM\",\n value: \"D/M/YY h:mm A\",\n },\n ],\n },\n usePlasmicTheme: {\n type: \"boolean\",\n displayName: \"Use Plasmic tag styles?\",\n description: \"For HTML content, use tag styles defined in Plasmic\",\n advanced: true,\n },\n themeResetClassName: {\n type: \"themeResetClass\",\n targetAllTags: true,\n },\n },\n defaultStyles: {\n objectFit: \"cover\",\n },\n};\n\nexport function CmsRowField({\n className,\n table,\n field,\n dateFormat,\n setControlContextData,\n usePlasmicTheme,\n themeResetClassName,\n ...rest\n}: CmsRowFieldProps) {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n const unknown = (\n <div className={className} {...rest}>\n Field {table ?? \"Unknown Model\"}.{field ?? \"Unknown Field\"}\n </div>\n );\n const fieldMeta = res\n ? deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [\n CmsMetaType.TEXT,\n CmsMetaType.LONG_TEXT,\n CmsMetaType.RICH_TEXT,\n ],\n })\n : undefined;\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n ...(res && res.row\n ? { table: res.table, row: res.row, fieldMeta: fieldMeta }\n : {}),\n });\n }\n\n if (!res) {\n return unknown;\n }\n\n if (!res.row) {\n return <div className={className}>Error: No CMS Entry found</div>;\n }\n\n if (!fieldMeta) {\n return unknown;\n }\n\n let data = res.row.data?.[fieldMeta.identifier];\n if (!data) {\n return null;\n }\n if (fieldMeta.type === CmsMetaType.DATE_TIME && dateFormat) {\n data = dayjs(data).format(dateFormat);\n }\n return data\n ? renderValue(data, fieldMeta.type, {\n className: `${usePlasmicTheme ? themeResetClassName : \"\"} ${className}`,\n ...rest,\n })\n : null;\n}\n\ninterface CmsCountProps extends CanvasComponentProps<RowContextData> {\n table: string;\n className?: string;\n}\n\nexport const cmsCountFieldMeta: ComponentMeta<CmsCountProps> = {\n name: `${componentPrefix}-count`,\n displayName: \"CMS Entries Count\",\n importName: \"CmsCount\",\n importPath: modulePath,\n props: {\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_, ctx) => mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n },\n};\nexport function CmsCount({\n className,\n table,\n setControlContextData: _,\n ...rest\n}: CmsCountProps) {\n const tables = useTablesWithDataLoaded(\"count\");\n const res = useCount(tables, table);\n const unknown = (\n <div className={className} {...rest}>\n Count: {table ?? \"Unknown Model\"}\n </div>\n );\n if (!res) {\n return unknown;\n }\n\n if (res.count == null) {\n return null;\n } else {\n return (\n <div className={className} {...rest}>\n {new Intl.NumberFormat().format(res.count)}\n </div>\n );\n }\n}\n\nconst DEFAULT_TYPE_FILTERS = [CmsMetaType.TEXT];\nfunction deriveInferredTableField(opts: {\n table?: string;\n tables?: ApiCmsTable[];\n field?: string;\n typeFilters?: CmsType[];\n}) {\n const { table, tables, field, typeFilters } = opts;\n if (!table) return undefined;\n const schema = tables?.find((t) => t.identifier === table)?.schema;\n const fieldMeta = field\n ? schema?.fields.find((f) => f.identifier === field)\n : schema?.fields.find((f) =>\n (typeFilters ?? DEFAULT_TYPE_FILTERS).includes(f.type)\n );\n return fieldMeta;\n}\n\nfunction assertNever(_: never): never {\n throw new Error(\"unexpected branch taken\");\n}\n\nfunction renderValue(value: any, type: CmsType, props: { className?: string }) {\n switch (type) {\n case CmsMetaType.NUMBER:\n case CmsMetaType.BOOLEAN:\n case CmsMetaType.TEXT:\n case CmsMetaType.LONG_TEXT:\n case CmsMetaType.DATE_TIME:\n case CmsMetaType.ENUM:\n case CmsMetaType.REF:\n return <div {...props}>{value}</div>;\n case CmsMetaType.RICH_TEXT:\n return (\n <div\n dangerouslySetInnerHTML={{ __html: value }}\n style={{ whiteSpace: \"normal\" }}\n {...props}\n />\n );\n case CmsMetaType.IMAGE:\n if (value && typeof value === \"object\" && value.url && value.imageMeta) {\n return (\n <img\n src={value.url}\n width={value.imageMeta.width}\n height={value.imageMeta.height}\n {...props}\n />\n );\n }\n return null;\n case CmsMetaType.FILE:\n if (value && typeof value === \"object\" && value.url && value.name) {\n return (\n <a href={value.url} target=\"_blank\" {...props}>\n {value.name}\n </a>\n );\n }\n return null;\n default:\n assertNever(type);\n }\n}\n\ninterface CmsRowLinkProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n hrefProp: string;\n children: React.ReactNode;\n prefix?: string;\n suffix?: string;\n}\n\nexport const cmsRowLinkMeta: ComponentMeta<CmsRowLinkProps> = {\n name: `${componentPrefix}-row-link`,\n displayName: \"CMS Entry Link\",\n importName: \"CmsRowLink\",\n importPath: modulePath,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n tag: \"a\",\n value: \"Link\",\n },\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_: any, ctx: TableContextData | null) =>\n mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: ({ table }: CmsRowLinkProps, ctx: TableContextData | null) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n hrefProp: {\n type: \"string\",\n displayName: '\"href\" prop',\n description: \"Prop to inject into children\",\n defaultValue: \"href\",\n },\n prefix: {\n type: \"string\",\n displayName: \"Optional prefix\",\n description: \"Prefix to prepend to prop value.\",\n hidden: (_, ctx) => ctx?.fieldMeta?.type === \"file\",\n },\n suffix: {\n type: \"string\",\n displayName: \"Optional suffix\",\n description: \"Suffix to append to prop value.\",\n hidden: (_, ctx) => ctx?.fieldMeta?.type === \"file\",\n },\n },\n};\n\nexport function CmsRowLink({\n table,\n field,\n hrefProp,\n children,\n setControlContextData,\n prefix,\n suffix,\n}: CmsRowLinkProps): React.ReactElement | null {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n if (!res || !res.row) {\n return <>{children}</>;\n }\n\n const fieldMeta = deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [CmsMetaType.FILE, CmsMetaType.TEXT],\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n table: res.table,\n row: res.row,\n fieldMeta: fieldMeta,\n });\n }\n if (!fieldMeta) {\n return <>{children}</>;\n }\n\n if (!children) {\n return null;\n }\n\n const value = res.row.data?.[fieldMeta.identifier] || \"\";\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n [hrefProp]:\n fieldMeta.type === CmsMetaType.FILE\n ? value.url\n : prefix || suffix\n ? `${prefix || \"\"}${value}${suffix || \"\"}`\n : value,\n });\n }\n return child;\n });\n\n return <>{childrenWithProps ?? null}</>;\n}\n\ninterface CmsRowImageProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n srcProp: string;\n children: React.ReactNode;\n}\n\nexport const cmsRowImageMeta: ComponentMeta<CmsRowImageProps> = {\n name: `${componentPrefix}-row-image`,\n displayName: \"CMS Entry Image\",\n importName: \"CmsRowImage\",\n importPath: modulePath,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"img\",\n src: \"https://studio.plasmic.app/static/img/placeholder-full.png\",\n },\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_: any, ctx: TableContextData | null) =>\n mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: ({ table }: CmsRowImageProps, ctx: TableContextData | null) =>\n mkFieldOptions(ctx?.tables, ctx?.table ?? table, [CmsMetaType.IMAGE]),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n srcProp: {\n type: \"string\",\n displayName: 'Image \"src\" prop',\n description: \"Prop to inject into children\",\n defaultValue: \"src\",\n },\n },\n};\n\nexport function CmsRowImage({\n table,\n field,\n srcProp,\n children,\n setControlContextData,\n}: CmsRowImageProps): React.ReactElement | null {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n if (!res || !res.row) {\n return <>{children}</>;\n }\n\n const fieldMeta = deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [CmsMetaType.IMAGE],\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n table: res.table,\n row: res.row,\n fieldMeta: fieldMeta,\n });\n }\n\n if (!fieldMeta) {\n return <>{children}</>;\n }\n\n const value = res.row.data?.[fieldMeta.identifier] || \"\";\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child) && value) {\n if (typeof value === \"object\" && value.url && value.imageMeta) {\n return React.cloneElement(child, {\n [srcProp]: {\n src: value.url,\n fullHeight: value.imageMeta.height,\n fullWidth: value.imageMeta.width,\n },\n });\n }\n return React.cloneElement(child, { [srcProp]: value });\n }\n return child;\n });\n\n return <>{childrenWithProps}</>;\n}\n\ninterface CmsRowFieldValueProps extends CanvasComponentProps<RowContextData> {\n table: string;\n field: string;\n valueProp: string;\n children: React.ReactNode;\n}\n\nexport const cmsRowFieldValueMeta: ComponentMeta<CmsRowFieldValueProps> = {\n name: `${componentPrefix}-row-value`,\n displayName: \"CMS Entry Value\",\n importName: \"CmsRowFieldValue\",\n importPath: modulePath,\n props: {\n children: {\n type: \"slot\",\n },\n table: {\n type: \"choice\",\n displayName: \"Model\",\n hidden: (props, ctx: TableContextData | null) =>\n (ctx?.tables?.length ?? 0) <= 1 && !props.table,\n helpText: \"Pick model from a CMS Data Fetcher\",\n description:\n \"Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.\",\n options: (_: any, ctx: TableContextData | null) =>\n mkTableOptions(ctx?.tables),\n defaultValueHint: (_, ctx) => ctx?.table,\n },\n field: {\n type: \"choice\",\n displayName: \"Field\",\n description: \"Field (from model schema) to use.\",\n options: (\n { table }: CmsRowFieldValueProps,\n ctx: TableContextData | null\n ) => mkFieldOptions(ctx?.tables, ctx?.table ?? table),\n defaultValueHint: (_, ctx) =>\n ctx?.fieldMeta?.name || ctx?.fieldMeta?.identifier,\n },\n valueProp: {\n type: \"string\",\n displayName: \"Value prop\",\n description: \"Prop to inject into children as\",\n defaultValue: \"children\",\n },\n },\n};\n\nexport function CmsRowFieldValue({\n table,\n field,\n valueProp,\n children,\n setControlContextData,\n ...rest\n}: CmsRowFieldValueProps): React.ReactElement | null {\n const tables = useTablesWithDataLoaded(\"rows\");\n\n const res = useRow(tables, table);\n if (!res || !res.row) {\n return <>{children}</>;\n }\n\n const fieldMeta = deriveInferredTableField({\n table: res.table,\n tables,\n field,\n typeFilters: [CmsMetaType.TEXT],\n });\n\n if (tables) {\n // TODO: Only include table if __plasmic_cms_row_{table} exists.\n setControlContextData?.({\n tables,\n table: res.table,\n row: res.row,\n fieldMeta: fieldMeta,\n });\n }\n\n if (!fieldMeta) {\n return <>{children}</>;\n }\n\n const value = res.row.data?.[fieldMeta.identifier] || \"\";\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, { ...rest, [valueProp]: value });\n }\n return child;\n });\n\n return <>{childrenWithProps}</>;\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext, {\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n CmsCount,\n cmsCountFieldMeta,\n CmsCredentialsProvider,\n cmsCredentialsProviderMeta,\n CmsQueryRepeater,\n cmsQueryRepeaterMeta,\n CmsRowField,\n cmsRowFieldMeta,\n CmsRowFieldValue,\n cmsRowFieldValueMeta,\n CmsRowImage,\n cmsRowImageMeta,\n CmsRowLink,\n cmsRowLinkMeta,\n} from \"./components\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n //const registerContext = loader?.registerContext ?? hostRegisterContext;\n //registerContext(CmsDataProvider, cmsDataProviderMeta);\n\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n const _registerGlobalContext = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: GlobalContextMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerGlobalContext(Component, defaultMeta);\n } else {\n registerGlobalContext(Component, defaultMeta);\n }\n };\n\n _registerGlobalContext(CmsCredentialsProvider, cmsCredentialsProviderMeta);\n _registerComponent(CmsQueryRepeater, cmsQueryRepeaterMeta);\n _registerComponent(CmsRowField, cmsRowFieldMeta);\n _registerComponent(CmsRowLink, cmsRowLinkMeta);\n _registerComponent(CmsRowImage, cmsRowImageMeta);\n _registerComponent(CmsRowFieldValue, cmsRowFieldValueMeta);\n _registerComponent(CmsCount, cmsCountFieldMeta);\n}\n\nexport * from \"./api\";\nexport * from \"./components\";\n"],"names":["queryParamsToApi","params","where","limit","offset","order","orderBy","field","dir","desc","undefined","fields","HttpError","_Error","_inheritsLoose","status","message","_this","call","_wrapNativeSuper","Error","API","config","_proto","prototype","get","_get","_asyncToGenerator","_regeneratorRuntime","mark","_callee","endpoint","url","URL","host","databaseId","fixedParams","Object","keys","reduce","newObj","key","value","search","URLSearchParams","toString","_context","next","fetch","method","headers","accept","databaseToken","mode","response","sent","text","json","JSON","parse","_json$error","error","_unused","abrupt","stop","_x","_x2","apply","arguments","fetchTables","_fetchTables","_callee2","wrap","_callee2$","_context2","prev","tables","t0","console","useDraftForTable","table","Array","isArray","useDraft","includes","query","_query","_callee3","_context3","q","stringify","draft","Number","locale","rows","_x3","_x4","count","_count","_callee4","_context4","_x5","_x6","mkApi","contextPrefix","databaseContextKey","tablesContextKey","tableSchemaContextKey","collectionResultSuffix","mkQueryContextKey","capitalizeFirst","itemContextSuffix","countContextSuffix","modeContextSuffix","mkRowContextKey","mkCountContextKey","mkModeContextKey","str","_str$","toUpperCase","slice","useDatabase","useSelector","makeDatabaseCacheKey","rest","_objectWithoutPropertiesLoose","_excluded","DatabaseProvider","_ref","children","React","DataProvider","name","data","hidden","useTables","TablesProvider","_ref2","TableSchemaProvider","_ref3","schema","length","_tables$","_tables$find","find","t","identifier","getClosestMatchingKeysBy","env","pred","concat","reverse","filter","QueryResultProvider","_ref4","useTablesWithDataLoaded","useDataEnv","matchingKeys","endsWith","some","deriveTableId","useRow","row","useCount","RowProvider","_ref5","CountProvider","_ref6","mkTableOptions","map","label","mkFieldOptions","tableIdentifier","types","f","type","options","option","push","modulePath","componentPrefix","renderMaybeData","maybeData","renderFn","loaderProps","inEditor","loadingMessage","forceLoadingState","hideIfNotFound","defaultHost","cmsCredentialsProviderMeta","displayName","description","importName","importPath","providesData","props","defaultValue","defaultValueHint","advanced","CmsCredentialsProvider","TablesFetcher","databaseConfig","cacheKey","component","usePlasmicQueryData","_callee$","isDatabaseConfigured","usePlasmicCanvasContext","cmsQueryRepeaterMeta","defaultStyles","display","width","maxWidth","flexDirection","isRepeated","_","ctx","filterField","_ctx$table","filterValue","ps","multiSelect","_ctx$table2","emptyMessage","forceEmptyState","noLayout","noAutoRepeat","CmsQueryRepeater","setControlContextData","className","_where","node","index","repeatedElement","cmsRowFieldMeta","_ctx$tables$length","_ctx$tables","helpText","_ref8","_ctx$table3","_ctx$fieldMeta","_ctx$fieldMeta2","fieldMeta","dateFormat","_ref9","usePlasmicTheme","themeResetClassName","targetAllTags","objectFit","CmsRowField","_ref10","res","unknown","deriveInferredTableField","typeFilters","_extends","_res$row$data","dayjs","format","renderValue","cmsCountFieldMeta","_ctx$tables$length2","_ctx$tables2","CmsCount","_ref11","_excluded2","Intl","NumberFormat","DEFAULT_TYPE_FILTERS","opts","assertNever","dangerouslySetInnerHTML","__html","style","whiteSpace","imageMeta","src","height","href","target","cmsRowLinkMeta","tag","_ctx$tables$length3","_ctx$tables3","_ref12","_ctx$table4","_ctx$fieldMeta3","_ctx$fieldMeta4","hrefProp","prefix","_ctx$fieldMeta5","suffix","_ctx$fieldMeta6","CmsRowLink","_ref13","_res$row$data2","childrenWithProps","Children","child","isValidElement","_React$cloneElement","cloneElement","cmsRowImageMeta","_ctx$tables$length4","_ctx$tables4","_ref14","_ctx$table5","_ctx$fieldMeta7","_ctx$fieldMeta8","srcProp","CmsRowImage","_ref15","_res$row$data3","_React$cloneElement3","_React$cloneElement2","fullHeight","fullWidth","cmsRowFieldValueMeta","_ctx$tables$length5","_ctx$tables5","_ref16","_ctx$table6","_ctx$fieldMeta9","_ctx$fieldMeta10","valueProp","CmsRowFieldValue","_ref17","_excluded3","_res$row$data4","_extends2","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","_registerGlobalContext","registerGlobalContext"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/plasmic-cms",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.274",
|
|
4
4
|
"description": "Plasmic CMS components",
|
|
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.
|
|
31
|
+
"@plasmicapp/host": "1.0.210",
|
|
32
32
|
"@plasmicapp/query": "0.1.79",
|
|
33
33
|
"@size-limit/preset-small-lib": "^7.0.8",
|
|
34
34
|
"@types/node": "^17.0.14",
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"react": ">=16.8.0",
|
|
47
47
|
"react-dom": ">=16.8.0"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "7f923856013e0efa4eb893fa16c2f48bd4edc9c3"
|
|
50
50
|
}
|