@pitcher/canvas-ui 2025.12.17-203045-beta → 2025.12.18-103517-beta

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.
package/canvas-ui.js CHANGED
@@ -79751,6 +79751,7 @@ const _sfc_main$6C = /* @__PURE__ */ defineComponent({
79751
79751
  );
79752
79752
  const editingField = ref(null);
79753
79753
  const showTagsComponent = ref(!props.showKeepAsIsPlaceholder);
79754
+ const initialExpiresAtOption = ref(props.modelValue.expiresAtOption);
79754
79755
  const labels = {
79755
79756
  sharing: t("canvasUI.browserApp.uploadFilesModal.sharing.label"),
79756
79757
  tags: t("canvasUI.browserApp.uploadFilesModal.tags.label"),
@@ -79772,6 +79773,9 @@ const _sfc_main$6C = /* @__PURE__ */ defineComponent({
79772
79773
  { value: "expired" /* Expired */, label: t("canvasUI.browserApp.uploadFilesModal.expiresAt.options.expired") }
79773
79774
  ];
79774
79775
  if (isFileExpirationMandatory.value) {
79776
+ if (initialExpiresAtOption.value === "never" /* Never */ || initialExpiresAtOption.value === null || initialExpiresAtOption.value === void 0) {
79777
+ return allOptions;
79778
+ }
79775
79779
  return allOptions.filter((option) => option.value !== "never" /* Never */);
79776
79780
  }
79777
79781
  return allOptions;
@@ -87705,537 +87709,18 @@ function toast$2(payload) {
87705
87709
  return this.API.request("toast", payload);
87706
87710
  }
87707
87711
 
87708
- const SQL_KEYWORDS = /* @__PURE__ */ new Set([
87709
- "SELECT",
87710
- "FROM",
87711
- "WHERE",
87712
- "AND",
87713
- "OR",
87714
- "NOT",
87715
- "IN",
87716
- "LIKE",
87717
- "ORDER",
87718
- "BY",
87719
- "GROUP",
87720
- "HAVING",
87721
- "LIMIT",
87722
- "OFFSET",
87723
- "ASC",
87724
- "DESC",
87725
- "NULLS",
87726
- "FIRST",
87727
- "LAST",
87728
- "NULL",
87729
- "TRUE",
87730
- "FALSE",
87731
- "COUNT",
87732
- "SUM",
87733
- "AVG",
87734
- "MIN",
87735
- "MAX",
87736
- "COUNT_DISTINCT",
87737
- "CALENDAR_MONTH",
87738
- "CALENDAR_QUARTER",
87739
- "CALENDAR_YEAR",
87740
- "DAY_IN_MONTH",
87741
- "DAY_IN_WEEK",
87742
- "DAY_IN_YEAR",
87743
- "DAY_ONLY",
87744
- "FISCAL_MONTH",
87745
- "FISCAL_QUARTER",
87746
- "FISCAL_YEAR",
87747
- "HOUR_IN_DAY",
87748
- "WEEK_IN_MONTH",
87749
- "WEEK_IN_YEAR",
87750
- "INCLUDES",
87751
- "EXCLUDES",
87752
- "ABOVE",
87753
- "BELOW",
87754
- "ABOVE_OR_BELOW",
87755
- "AT",
87756
- "TYPEOF",
87757
- "WHEN",
87758
- "THEN",
87759
- "ELSE",
87760
- "END",
87761
- "USING",
87762
- "SCOPE",
87763
- "DATA",
87764
- "CATEGORY",
87765
- "ROLLUP",
87766
- "CUBE",
87767
- "FORMAT",
87768
- "CONVERTCURRENCY",
87769
- "TOLABEL",
87770
- "DISTANCE",
87771
- "GEOLOCATION"
87772
- ]);
87773
- const AGGREGATE_FUNCTIONS = ["COUNT", "SUM", "AVG", "MIN", "MAX", "COUNT_DISTINCT"];
87774
- function isSqlKeyword(word) {
87775
- return SQL_KEYWORDS.has(word.toUpperCase());
87776
- }
87777
- function isLiteralValue(value) {
87778
- const trimmed = value.trim();
87779
- if (trimmed.startsWith("'") && trimmed.endsWith("'") || trimmed.startsWith('"') && trimmed.endsWith('"')) {
87780
- return true;
87781
- }
87782
- if (/^-?\d+(\.\d+)?$/.test(trimmed)) {
87783
- return true;
87784
- }
87785
- if (/^(true|false)$/i.test(trimmed)) {
87786
- return true;
87787
- }
87788
- if (/^null$/i.test(trimmed)) {
87789
- return true;
87790
- }
87791
- if (/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?(Z|[+-]\d{2}:\d{2})?)?$/.test(trimmed)) {
87792
- return true;
87793
- }
87794
- if (/^(TODAY|YESTERDAY|TOMORROW|LAST_WEEK|THIS_WEEK|NEXT_WEEK|LAST_MONTH|THIS_MONTH|NEXT_MONTH|LAST_90_DAYS|NEXT_90_DAYS|LAST_N_DAYS:\d+|NEXT_N_DAYS:\d+|LAST_N_WEEKS:\d+|NEXT_N_WEEKS:\d+|LAST_N_MONTHS:\d+|NEXT_N_MONTHS:\d+|LAST_N_QUARTERS:\d+|NEXT_N_QUARTERS:\d+|LAST_N_YEARS:\d+|NEXT_N_YEARS:\d+|THIS_QUARTER|LAST_QUARTER|NEXT_QUARTER|THIS_YEAR|LAST_YEAR|NEXT_YEAR|THIS_FISCAL_QUARTER|LAST_FISCAL_QUARTER|NEXT_FISCAL_QUARTER|THIS_FISCAL_YEAR|LAST_FISCAL_YEAR|NEXT_FISCAL_YEAR)$/i.test(
87795
- trimmed
87796
- )) {
87797
- return true;
87798
- }
87799
- return false;
87800
- }
87801
- function isDateTimeLiteral(token) {
87802
- return /^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?(Z|[+-]\d{2}:\d{2})?)?$/.test(token);
87803
- }
87804
- function convertFieldToSmartStore(field, primaryObject, objectAliases) {
87805
- const trimmed = field.trim();
87806
- if (isSqlKeyword(trimmed) || isLiteralValue(trimmed)) {
87807
- return trimmed;
87808
- }
87809
- if (trimmed === "__FIELDS_ALL_PLACEHOLDER__") {
87810
- return `{${primaryObject}:_soup}`;
87811
- }
87812
- if (trimmed === "*") {
87813
- return "*";
87814
- }
87815
- if (trimmed.startsWith("{") && trimmed.endsWith("}")) {
87816
- return trimmed;
87817
- }
87818
- if (trimmed.includes(".")) {
87819
- const parts = trimmed.split(".");
87820
- const alias = parts[0];
87821
- if (objectAliases.has(alias.toLowerCase()) && objectAliases.get(alias.toLowerCase()) === primaryObject) {
87822
- const fieldPath = parts.slice(1).join(".");
87823
- return `{${primaryObject}:${fieldPath}}`;
87824
- }
87825
- return `{${primaryObject}:${trimmed}}`;
87826
- }
87827
- return `{${primaryObject}:${trimmed}}`;
87828
- }
87829
- function convertAggregateFunction(expr, primaryObject, objectAliases) {
87830
- for (const func of AGGREGATE_FUNCTIONS) {
87831
- const regex = new RegExp(`\\b${func}\\s*\\(([^)]+)\\)`, "gi");
87832
- expr = expr.replace(regex, (_match, innerField) => {
87833
- const trimmedInner = innerField.trim();
87834
- if (trimmedInner === "*") {
87835
- return `${func}(*)`;
87836
- }
87837
- if (trimmedInner.toUpperCase().startsWith("DISTINCT ")) {
87838
- const fieldPart = trimmedInner.substring(9).trim();
87839
- const smartField2 = convertFieldToSmartStore(fieldPart, primaryObject, objectAliases);
87840
- return `${func}(DISTINCT ${smartField2})`;
87841
- }
87842
- const smartField = convertFieldToSmartStore(trimmedInner, primaryObject, objectAliases);
87843
- return `${func}(${smartField})`;
87844
- });
87845
- }
87846
- return expr;
87847
- }
87848
- function parseSelectFields(selectClause) {
87849
- const fields = [];
87850
- let depth = 0;
87851
- let currentField = "";
87852
- for (let i = 0; i < selectClause.length; i++) {
87853
- const char = selectClause[i];
87854
- if (char === "(") {
87855
- depth++;
87856
- currentField += char;
87857
- } else if (char === ")") {
87858
- depth--;
87859
- currentField += char;
87860
- } else if (char === "," && depth === 0) {
87861
- if (currentField.trim()) {
87862
- fields.push(currentField.trim());
87863
- }
87864
- currentField = "";
87865
- } else {
87866
- currentField += char;
87867
- }
87868
- }
87869
- if (currentField.trim()) {
87870
- fields.push(currentField.trim());
87871
- }
87872
- return fields;
87873
- }
87874
- function convertSelectFields(fields, primaryObject, objectAliases) {
87875
- return fields.map((field) => {
87876
- const aliasMatch = field.match(/^(.+?)\s+(?:AS\s+)?([A-Za-z_][A-Za-z0-9_]*)$/i);
87877
- let expression = field;
87878
- let alias = "";
87879
- if (aliasMatch) {
87880
- expression = aliasMatch[1].trim();
87881
- alias = aliasMatch[2];
87882
- }
87883
- const hasAggregate = AGGREGATE_FUNCTIONS.some((func) => new RegExp(`\\b${func}\\s*\\(`, "i").test(expression));
87884
- if (hasAggregate) {
87885
- const converted2 = convertAggregateFunction(expression, primaryObject, objectAliases);
87886
- return alias ? `${converted2} ${alias}` : converted2;
87887
- }
87888
- const converted = convertFieldToSmartStore(expression, primaryObject, objectAliases);
87889
- return alias ? `${converted} ${alias}` : converted;
87890
- });
87891
- }
87892
- function convertNullComparisons(clause) {
87893
- let result = clause.replace(/\s*!=\s*null\b/gi, " IS NOT NULL");
87894
- result = result.replace(/\s*<>\s*null\b/gi, " IS NOT NULL");
87895
- result = result.replace(/\s*=\s*null\b/gi, " IS NULL");
87896
- return result;
87897
- }
87898
- function convertWhereClause(whereClause, primaryObject, objectAliases) {
87899
- let result = "";
87900
- let i = 0;
87901
- const len = whereClause.length;
87902
- while (i < len) {
87903
- const char = whereClause[i];
87904
- if (/\s/.test(char)) {
87905
- result += char;
87906
- i++;
87907
- continue;
87908
- }
87909
- if (char === "'" || char === '"') {
87910
- const quote = char;
87911
- result += char;
87912
- i++;
87913
- while (i < len && whereClause[i] !== quote) {
87914
- if (whereClause[i] === "\\" && i + 1 < len) {
87915
- result += whereClause[i] + whereClause[i + 1];
87916
- i += 2;
87917
- } else {
87918
- result += whereClause[i];
87919
- i++;
87920
- }
87921
- }
87922
- if (i < len) {
87923
- result += whereClause[i];
87924
- i++;
87925
- }
87926
- continue;
87927
- }
87928
- if (/[()=<>!,]/.test(char)) {
87929
- result += char;
87930
- i++;
87931
- if ((char === "!" || char === "<" || char === ">") && i < len && whereClause[i] === "=") {
87932
- result += whereClause[i];
87933
- i++;
87934
- }
87935
- continue;
87936
- }
87937
- if (/[a-zA-Z_]/.test(char)) {
87938
- let identifier = "";
87939
- while (i < len && /[a-zA-Z0-9_.]/.test(whereClause[i])) {
87940
- identifier += whereClause[i];
87941
- i++;
87942
- }
87943
- if (isSqlKeyword(identifier) || isLiteralValue(identifier)) {
87944
- result += identifier;
87945
- } else {
87946
- result += convertFieldToSmartStore(identifier, primaryObject, objectAliases);
87947
- }
87948
- continue;
87949
- }
87950
- if (/[0-9-]/.test(char)) {
87951
- let token = "";
87952
- if (char === "-") {
87953
- token += char;
87954
- i++;
87955
- }
87956
- while (i < len && /[0-9.:\-TZ+]/.test(whereClause[i])) {
87957
- token += whereClause[i];
87958
- i++;
87959
- }
87960
- if (isDateTimeLiteral(token)) {
87961
- result += `'${token}'`;
87962
- } else {
87963
- result += token;
87964
- }
87965
- continue;
87966
- }
87967
- result += char;
87968
- i++;
87969
- }
87970
- result = convertNullComparisons(result);
87971
- return result;
87972
- }
87973
- function parseOrderByClause(orderByClause) {
87974
- const result = [];
87975
- const parts = orderByClause.split(/,(?![^()]*\))/);
87976
- for (const part of parts) {
87977
- const trimmed = part.trim();
87978
- if (!trimmed) continue;
87979
- const match = trimmed.match(/^(.+?)\s*(ASC|DESC)?\s*(NULLS\s+(?:FIRST|LAST))?$/i);
87980
- if (match) {
87981
- const field = match[1].trim();
87982
- let direction = match[2] ? match[2].toUpperCase() : "";
87983
- if (match[3]) {
87984
- direction += (direction ? " " : "") + match[3].toUpperCase();
87985
- }
87986
- result.push({ field, direction });
87987
- } else {
87988
- result.push({ field: trimmed, direction: "" });
87989
- }
87990
- }
87991
- return result;
87992
- }
87993
- function convertOrderByFields(orderByParts, primaryObject, objectAliases) {
87994
- return orderByParts.map(({ field, direction }) => {
87995
- const hasAggregate = AGGREGATE_FUNCTIONS.some((func) => new RegExp(`\\b${func}\\s*\\(`, "i").test(field));
87996
- let convertedField;
87997
- if (hasAggregate) {
87998
- convertedField = convertAggregateFunction(field, primaryObject, objectAliases);
87999
- } else {
88000
- convertedField = convertFieldToSmartStore(field, primaryObject, objectAliases);
88001
- }
88002
- return direction ? `${convertedField} ${direction}` : convertedField;
88003
- });
88004
- }
88005
- function parseGroupByClause(groupByClause) {
88006
- return groupByClause.split(/,(?![^()]*\))/).map((f) => f.trim()).filter(Boolean);
88007
- }
88008
- function convertGroupByFields(fields, primaryObject, objectAliases) {
88009
- return fields.map((field) => {
88010
- if (/^(ROLLUP|CUBE)\s*\(/i.test(field)) {
88011
- return field.replace(/\(([^)]+)\)/g, (_match, inner) => {
88012
- const innerFields = inner.split(",").map((f) => f.trim());
88013
- const converted = innerFields.map((f) => convertFieldToSmartStore(f, primaryObject, objectAliases));
88014
- return `(${converted.join(", ")})`;
88015
- });
88016
- }
88017
- return convertFieldToSmartStore(field, primaryObject, objectAliases);
88018
- });
88019
- }
88020
- function parseFromClause(fromClause) {
88021
- const joins = [];
88022
- const primaryMatch = fromClause.match(/^([A-Za-z0-9_]+)(?:\s+(?:AS\s+)?([A-Za-z_][A-Za-z0-9_]*))?/i);
88023
- if (!primaryMatch) {
88024
- return { primary: "", joins };
88025
- }
88026
- const primary = primaryMatch[1];
88027
- const alias = primaryMatch[2];
88028
- const joinRegex = /(LEFT\s+OUTER\s+JOIN|LEFT\s+JOIN|INNER\s+JOIN|JOIN)\s+([A-Za-z0-9_]+)(?:\s+(?:AS\s+)?([A-Za-z_][A-Za-z0-9_]*))?\s+ON\s+([^,]+?)(?=(?:LEFT|INNER|JOIN|$))/gi;
88029
- let joinMatch;
88030
- while ((joinMatch = joinRegex.exec(fromClause)) !== null) {
88031
- joins.push({
88032
- type: joinMatch[1].toUpperCase().replace(/\s+/g, " "),
88033
- object: joinMatch[2],
88034
- alias: joinMatch[3],
88035
- on: joinMatch[4]?.trim()
88036
- });
88037
- }
88038
- return { primary, alias, joins };
88039
- }
88040
- function convertSoqlToSmartQuery(soqlQuery) {
88041
- if (!soqlQuery || typeof soqlQuery !== "string") {
88042
- return "";
88043
- }
88044
- let normalizedQuery = soqlQuery.replace(/\s+/g, " ").trim();
88045
- const fromMatch = normalizedQuery.match(
88046
- /FROM\s+([\s\S]+?)(?=\s+WHERE\s+|\s+ORDER\s+BY\s+|\s+GROUP\s+BY\s+|\s+HAVING\s+|\s+LIMIT\s+|\s+OFFSET\s+|$)/i
88047
- );
88048
- if (!fromMatch) {
88049
- return soqlQuery;
88050
- }
88051
- const fromParsed = parseFromClause(fromMatch[1].trim());
88052
- const primaryObject = fromParsed.primary;
88053
- if (!primaryObject) {
88054
- return soqlQuery;
88055
- }
88056
- normalizedQuery = normalizedQuery.replace(
88057
- /\bFIELDS\s*\(\s*(ALL|STANDARD|CUSTOM)\s*\)/gi,
88058
- "__FIELDS_ALL_PLACEHOLDER__"
88059
- );
88060
- const selectMatch = normalizedQuery.match(/SELECT\s+([\s\S]+?)\s+FROM\s+/i);
88061
- if (!selectMatch) {
88062
- return soqlQuery;
88063
- }
88064
- const whereMatch = normalizedQuery.match(
88065
- /WHERE\s+([\s\S]+?)(?=\s+ORDER\s+BY\s+|\s+GROUP\s+BY\s+|\s+HAVING\s+|\s+LIMIT\s+|\s+OFFSET\s+|$)/i
88066
- );
88067
- const groupByMatch = normalizedQuery.match(
88068
- /GROUP\s+BY\s+([\s\S]+?)(?=\s+HAVING\s+|\s+ORDER\s+BY\s+|\s+LIMIT\s+|\s+OFFSET\s+|$)/i
88069
- );
88070
- const havingMatch = normalizedQuery.match(/HAVING\s+([\s\S]+?)(?=\s+ORDER\s+BY\s+|\s+LIMIT\s+|\s+OFFSET\s+|$)/i);
88071
- const orderByMatch = normalizedQuery.match(/ORDER\s+BY\s+([\s\S]+?)(?=\s+LIMIT\s+|\s+OFFSET\s+|$)/i);
88072
- const limitMatch = normalizedQuery.match(/LIMIT\s+(\d+)/i);
88073
- const offsetMatch = normalizedQuery.match(/OFFSET\s+(\d+)/i);
88074
- const objectAliases = /* @__PURE__ */ new Map();
88075
- if (fromParsed.alias) {
88076
- objectAliases.set(fromParsed.alias.toLowerCase(), primaryObject);
88077
- }
88078
- objectAliases.set(primaryObject.toLowerCase(), primaryObject);
88079
- const parts = [];
88080
- const selectFields = parseSelectFields(selectMatch[1].trim());
88081
- const smartSelectFields = convertSelectFields(selectFields, primaryObject, objectAliases);
88082
- parts.push(`SELECT ${smartSelectFields.join(", ")}`);
88083
- parts.push(`FROM {${primaryObject}}`);
88084
- const whereConditions = [];
88085
- if (whereMatch) {
88086
- const smartWhere = convertWhereClause(whereMatch[1].trim(), primaryObject, objectAliases);
88087
- whereConditions.push(smartWhere);
88088
- }
88089
- if (whereConditions.length > 0) {
88090
- parts.push(`WHERE ${whereConditions.join(" AND ")}`);
88091
- }
88092
- if (groupByMatch) {
88093
- const groupByFields = parseGroupByClause(groupByMatch[1].trim());
88094
- const smartGroupBy = convertGroupByFields(groupByFields, primaryObject, objectAliases);
88095
- parts.push(`GROUP BY ${smartGroupBy.join(", ")}`);
88096
- }
88097
- if (havingMatch) {
88098
- const smartHaving = convertWhereClause(havingMatch[1].trim(), primaryObject, objectAliases);
88099
- parts.push(`HAVING ${smartHaving}`);
88100
- }
88101
- if (orderByMatch) {
88102
- const orderByParts = parseOrderByClause(orderByMatch[1].trim());
88103
- const smartOrderBy = convertOrderByFields(orderByParts, primaryObject, objectAliases);
88104
- parts.push(`ORDER BY ${smartOrderBy.join(", ")}`);
88105
- }
88106
- if (limitMatch) {
88107
- parts.push(`LIMIT ${limitMatch[1]}`);
88108
- }
88109
- if (offsetMatch) {
88110
- parts.push(`OFFSET ${offsetMatch[1]}`);
88111
- }
88112
- return parts.join(" ");
88113
- }
88114
-
88115
87712
  function query(payload) {
88116
87713
  return highLevelApi.API.request("query", payload);
88117
87714
  }
88118
87715
  function crmQuery(payload) {
88119
87716
  return highLevelApi.API.request("crm_query", payload);
88120
87717
  }
88121
- function extractFieldsFromSoql(soqlQuery) {
88122
- const selectMatch = soqlQuery.match(/SELECT\s+([\s\S]+?)\s+FROM\s+/i);
88123
- if (!selectMatch) return [];
88124
- const selectClause = selectMatch[1];
88125
- const fields = [];
88126
- let depth = 0;
88127
- let currentField = "";
88128
- for (let i = 0; i < selectClause.length; i++) {
88129
- const char = selectClause[i];
88130
- if (char === "(") {
88131
- depth++;
88132
- currentField += char;
88133
- } else if (char === ")") {
88134
- depth--;
88135
- currentField += char;
88136
- } else if (char === "," && depth === 0) {
88137
- if (currentField.trim()) {
88138
- fields.push(currentField.trim());
88139
- }
88140
- currentField = "";
88141
- } else {
88142
- currentField += char;
88143
- }
88144
- }
88145
- if (currentField.trim()) {
88146
- fields.push(currentField.trim());
88147
- }
88148
- return fields.map((field) => {
88149
- const aliasMatch = field.match(/^(.+?)\s+(?:AS\s+)?([A-Za-z_][A-Za-z0-9_]*)$/i);
88150
- const fieldExpr = aliasMatch ? aliasMatch[1].trim() : field.trim();
88151
- return fieldExpr;
88152
- });
88153
- }
88154
- function extractObjectFromSoql(soqlQuery) {
88155
- const fromMatch = soqlQuery.match(/FROM\s+([A-Za-z0-9_]+)/i);
88156
- return fromMatch ? fromMatch[1] : "";
88157
- }
88158
- function setNestedProperty(obj, path, value) {
88159
- const parts = path.split(".");
88160
- if (parts.length === 1) {
88161
- obj[path] = value;
88162
- return;
88163
- }
88164
- let current = obj;
88165
- for (let i = 0; i < parts.length - 1; i++) {
88166
- const part = parts[i];
88167
- if (!current[part] || typeof current[part] !== "object") {
88168
- current[part] = {};
88169
- }
88170
- current = current[part];
88171
- }
88172
- current[parts[parts.length - 1]] = value;
88173
- }
88174
- function isAllFieldsSelector(field) {
88175
- const trimmed = field.trim();
88176
- return trimmed === "*" || /^FIELDS\s*\(\s*(ALL|STANDARD|CUSTOM)\s*\)$/i.test(trimmed);
88177
- }
88178
- function transformSmartStoreResults(smartStoreResults, fields, objectName) {
88179
- if (!smartStoreResults || !Array.isArray(smartStoreResults)) {
88180
- return [];
88181
- }
88182
- return smartStoreResults.map((row) => {
88183
- const record = {};
88184
- fields.forEach((field, index) => {
88185
- if (index < row.length) {
88186
- const value = row[index];
88187
- if (isAllFieldsSelector(field)) {
88188
- if (value && typeof value === "object" && !Array.isArray(value)) {
88189
- Object.assign(record, value);
88190
- }
88191
- } else {
88192
- setNestedProperty(record, field, value);
88193
- }
88194
- }
88195
- });
88196
- const recordId = record["Id"] || record["id"] || "";
88197
- record["attributes"] = {
88198
- type: objectName,
88199
- url: recordId ? `/services/data/v57.0/sobjects/${objectName}/${recordId}` : ""
88200
- };
88201
- return record;
88202
- });
88203
- }
88204
- async function crmQueryAdaptive(payload) {
88205
- const query2 = payload.query;
88206
- if (!query2 || typeof query2 !== "string") {
88207
- return Promise.reject(new Error("Query is required and must be a string"));
88208
- }
88209
- let useSmartStore = false;
88210
- try {
88211
- const env = await highLevelApi.API.request("get_env");
88212
- const isIos = env?.mode === "IOS";
88213
- const isSfdcSyncEnabled = env?.pitcher?.instance?.settings?.enable_sfdc_sync === true;
88214
- useSmartStore = isIos && isSfdcSyncEnabled;
88215
- } catch {
88216
- useSmartStore = false;
88217
- }
88218
- console.log(`crmQueryAdaptive called with the query: `, query2);
88219
- if (useSmartStore) {
88220
- const fields = extractFieldsFromSoql(query2);
88221
- const objectName = extractObjectFromSoql(query2);
88222
- const smartQuery = convertSoqlToSmartQuery(query2);
88223
- console.log(`Smart Query: `, smartQuery);
88224
- const smartStoreResults = await crmSmartQuery({ query: smartQuery });
88225
- const records = transformSmartStoreResults(smartStoreResults, fields, objectName);
88226
- return {
88227
- records,
88228
- totalSize: records.length
88229
- };
88230
- }
88231
- return crmQuery(payload);
88232
- }
88233
87718
  function crmSmartQuery(payload) {
88234
87719
  const query2 = payload.query;
88235
87720
  if (!query2 || typeof query2 !== "string") {
88236
87721
  return Promise.reject(new Error("Query is required and must be a string"));
88237
87722
  }
88238
- const smartStorePattern = /\{[^}]+:[^}]+}/;
87723
+ const smartStorePattern = /\{[^}]+:[^}]+\}/;
88239
87724
  if (!smartStorePattern.test(query2.trim())) {
88240
87725
  return Promise.reject(
88241
87726
  new Error(
@@ -88292,14 +87777,7 @@ function crmSmartUpsertObjects(payload) {
88292
87777
  }
88293
87778
  }
88294
87779
  }
88295
- console.log("[crmSmartUpsertObjects] Request payload:", JSON.stringify(payload, null, 2));
88296
- return highLevelApi.API.request("crm_smart_upsert_objects", payload).then((result) => {
88297
- console.log("[crmSmartUpsertObjects] Success:", result);
88298
- return result;
88299
- }).catch((error) => {
88300
- console.error("[crmSmartUpsertObjects] Error:", error);
88301
- throw error;
88302
- });
87780
+ return highLevelApi.API.request("crm_smart_upsert_objects", payload);
88303
87781
  }
88304
87782
  function crmSmartObjectValidationRules(payload) {
88305
87783
  if (!payload) {
@@ -88339,14 +87817,7 @@ function crmSmartDeleteObjects(payload) {
88339
87817
  }
88340
87818
  }
88341
87819
  }
88342
- console.log("[crmSmartDeleteObjects] Request payload:", JSON.stringify(payload, null, 2));
88343
- return highLevelApi.API.request("crm_smart_delete_objects", payload).then((result) => {
88344
- console.log("[crmSmartDeleteObjects] Success:", result);
88345
- return result;
88346
- }).catch((error) => {
88347
- console.error("[crmSmartDeleteObjects] Error:", error);
88348
- throw error;
88349
- });
87820
+ return highLevelApi.API.request("crm_smart_delete_objects", payload);
88350
87821
  }
88351
87822
  function crmCreate(payload) {
88352
87823
  if (!payload) {
@@ -88489,7 +87960,6 @@ const modules = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
88489
87960
  createFolder,
88490
87961
  crmCreate,
88491
87962
  crmQuery,
88492
- crmQueryAdaptive,
88493
87963
  crmSmartDeleteObjects,
88494
87964
  crmSmartObjectMetadata,
88495
87965
  crmSmartObjectValidationRules,
@@ -95218,7 +94688,7 @@ const _hoisted_14$h = {
95218
94688
  class: "flex items-center ml-2"
95219
94689
  };
95220
94690
  const _hoisted_15$f = {
95221
- key: 0,
94691
+ key: 2,
95222
94692
  class: "flex items-center ml-2"
95223
94693
  };
95224
94694
  const _hoisted_16$e = { class: "flex flex-col w-full flex-1 min-h-0" };
@@ -95603,7 +95073,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95603
95073
  hasSearchCompleted.value = false;
95604
95074
  searchError.value = null;
95605
95075
  try {
95606
- const ALLOWED_CANVAS_TYPES = ["saved_canvas", "template", "section", "block"];
95076
+ const ALLOWED_CANVAS_TYPES = ["saved_canvas", "template", "product_template", "section", "block"];
95607
95077
  const ALLOWED_FILE_TYPES = [
95608
95078
  "folder",
95609
95079
  "pdf",
@@ -95648,10 +95118,16 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95648
95118
  canvas: canvasFilters,
95649
95119
  content: contentFilters
95650
95120
  });
95121
+ if (query.trim() !== searchQuery.value.trim()) {
95122
+ return;
95123
+ }
95651
95124
  contentResults.value = results.content?.hits || [];
95652
95125
  canvasResults.value = results.canvas?.hits || [];
95653
95126
  selectedResultIndex.value = -1;
95654
95127
  searchError.value = null;
95128
+ if (query.trim().length >= 2) {
95129
+ fetchQuerySuggestions(query.trim());
95130
+ }
95655
95131
  const totalResults = contentResults.value.length + canvasResults.value.length;
95656
95132
  trackAlgoliaSearchPerformed(query.trim(), totalResults);
95657
95133
  if (totalResults === 0) {
@@ -95700,13 +95176,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95700
95176
  if (validatedQuery.trim()) {
95701
95177
  showRecentView.value = false;
95702
95178
  hasSearchCompleted.value = false;
95703
- if (validatedQuery.trim().length >= 2) {
95704
- if (skipNextSuggestionFetch.value) {
95705
- skipNextSuggestionFetch.value = false;
95706
- } else {
95707
- fetchQuerySuggestions(validatedQuery);
95708
- }
95709
- } else {
95179
+ if (validatedQuery.trim().length < 2) {
95710
95180
  querySuggestions.value = [];
95711
95181
  selectedSuggestionIndex.value = -1;
95712
95182
  }
@@ -95827,6 +95297,8 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95827
95297
  return t("canvasUI.CAlgoliaSearch.canvasFilters.saved");
95828
95298
  case "template":
95829
95299
  return t("canvasUI.CAlgoliaSearch.canvasFilters.templates");
95300
+ case "product_template":
95301
+ return t("canvasUI.CAlgoliaSearch.canvasFilters.productTemplates");
95830
95302
  case "section":
95831
95303
  return t("canvasUI.CAlgoliaSearch.canvasFilters.products");
95832
95304
  case "block":
@@ -96048,7 +95520,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96048
95520
  show: "",
96049
95521
  verticalAlignment: "top",
96050
95522
  "z-index": _ctx.zIndex,
96051
- "onUpdate:show": _cache[15] || (_cache[15] = ($event) => emit("toggleSearch", $event))
95523
+ "onUpdate:show": _cache[16] || (_cache[16] = ($event) => emit("toggleSearch", $event))
96052
95524
  }, {
96053
95525
  default: withCtx(() => [
96054
95526
  createElementVNode("div", {
@@ -96057,7 +95529,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96057
95529
  }, [
96058
95530
  createElementVNode("div", _hoisted_1$4w, [
96059
95531
  createElementVNode("div", _hoisted_2$3j, [
96060
- _cache[16] || (_cache[16] = createElementVNode("div", { class: "absolute left-2.5 top-1/2 transform -translate-y-1/2 z-10" }, [
95532
+ _cache[17] || (_cache[17] = createElementVNode("div", { class: "absolute left-2.5 top-1/2 transform -translate-y-1/2 z-10" }, [
96061
95533
  createElementVNode("i", { class: "c-icon far fa-search text-gray-400 text-l" })
96062
95534
  ], -1)),
96063
95535
  withDirectives(createElementVNode("input", {
@@ -96238,14 +95710,15 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96238
95710
  _: 1
96239
95711
  }, 8, ["show"]),
96240
95712
  hasActiveFilters.value ? (openBlock(), createElementBlock("div", _hoisted_14$h, [
96241
- _cache[17] || (_cache[17] = createElementVNode("div", { class: "h-6 w-px bg-gray-300 mx-2" }, null, -1)),
95713
+ _cache[18] || (_cache[18] = createElementVNode("div", { class: "h-6 w-px bg-gray-300 mx-2" }, null, -1)),
96242
95714
  createElementVNode("span", {
96243
95715
  class: "text-sm text-gray-600 hover:text-gray-800 font-normal cursor-pointer",
96244
95716
  onClick: clearAllFilters
96245
95717
  }, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.filters.clear")), 1)
96246
95718
  ])) : createCommentVNode("", true)
96247
95719
  ], 64)) : searchType.value === "canvases" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
96248
- createVNode(unref(NTag), {
95720
+ !_ctx.isAdmin ? (openBlock(), createBlock(unref(NTag), {
95721
+ key: 0,
96249
95722
  class: "select-none cursor-pointer",
96250
95723
  style: normalizeStyle({
96251
95724
  "--n-color": selectedCanvasFilters.value.includes("saved_canvas") ? "var(--p-primary5)" : "var(--p-primary6)",
@@ -96261,7 +95734,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96261
95734
  createElementVNode("span", null, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.canvasFilters.saved")), 1)
96262
95735
  ]),
96263
95736
  _: 1
96264
- }, 8, ["style"]),
95737
+ }, 8, ["style"])) : createCommentVNode("", true),
96265
95738
  createVNode(unref(NTag), {
96266
95739
  class: "select-none cursor-pointer",
96267
95740
  style: normalizeStyle({
@@ -96279,6 +95752,24 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96279
95752
  ]),
96280
95753
  _: 1
96281
95754
  }, 8, ["style"]),
95755
+ _ctx.isAdmin ? (openBlock(), createBlock(unref(NTag), {
95756
+ key: 1,
95757
+ class: "select-none cursor-pointer",
95758
+ style: normalizeStyle({
95759
+ "--n-color": selectedCanvasFilters.value.includes("product_template") ? "var(--p-primary5)" : "var(--p-primary6)",
95760
+ "--n-border": "1px solid var(--p-primary5)",
95761
+ "--n-height": "28px"
95762
+ }),
95763
+ themeOverrides: {
95764
+ borderRadius: "4px"
95765
+ },
95766
+ onClick: _cache[11] || (_cache[11] = ($event) => toggleCanvasFilter("product_template"))
95767
+ }, {
95768
+ default: withCtx(() => [
95769
+ createElementVNode("span", null, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.canvasFilters.productTemplates")), 1)
95770
+ ]),
95771
+ _: 1
95772
+ }, 8, ["style"])) : createCommentVNode("", true),
96282
95773
  createVNode(unref(NTag), {
96283
95774
  class: "select-none cursor-pointer",
96284
95775
  style: normalizeStyle({
@@ -96289,7 +95780,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96289
95780
  themeOverrides: {
96290
95781
  borderRadius: "4px"
96291
95782
  },
96292
- onClick: _cache[11] || (_cache[11] = ($event) => toggleCanvasFilter("section"))
95783
+ onClick: _cache[12] || (_cache[12] = ($event) => toggleCanvasFilter("section"))
96293
95784
  }, {
96294
95785
  default: withCtx(() => [
96295
95786
  createElementVNode("span", null, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.canvasFilters.products")), 1)
@@ -96306,7 +95797,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96306
95797
  themeOverrides: {
96307
95798
  borderRadius: "4px"
96308
95799
  },
96309
- onClick: _cache[12] || (_cache[12] = ($event) => toggleCanvasFilter("block"))
95800
+ onClick: _cache[13] || (_cache[13] = ($event) => toggleCanvasFilter("block"))
96310
95801
  }, {
96311
95802
  default: withCtx(() => [
96312
95803
  createElementVNode("span", null, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.canvasFilters.blocks")), 1)
@@ -96314,7 +95805,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96314
95805
  _: 1
96315
95806
  }, 8, ["style"]),
96316
95807
  selectedCanvasFilters.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_15$f, [
96317
- _cache[18] || (_cache[18] = createElementVNode("div", { class: "h-6 w-px bg-gray-300 mx-2" }, null, -1)),
95808
+ _cache[19] || (_cache[19] = createElementVNode("div", { class: "h-6 w-px bg-gray-300 mx-2" }, null, -1)),
96318
95809
  createElementVNode("span", {
96319
95810
  class: "text-sm text-gray-600 hover:text-gray-800 font-normal cursor-pointer",
96320
95811
  onClick: clearCanvasFilters
@@ -96344,7 +95835,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96344
95835
  }), 128))
96345
95836
  ]),
96346
95837
  recentlyOpenedDocs.value.length > 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
96347
- _cache[19] || (_cache[19] = createElementVNode("hr", { class: "border-0 h-px bg-gray-200 mt-2 mb-3 w-full" }, null, -1)),
95838
+ _cache[20] || (_cache[20] = createElementVNode("hr", { class: "border-0 h-px bg-gray-200 mt-2 mb-3 w-full" }, null, -1)),
96348
95839
  createElementVNode("div", _hoisted_21$7, [
96349
95840
  createElementVNode("span", _hoisted_22$5, toDisplayString(unref(t)("canvasUI.components.fileViewer.recentlyOpened")), 1)
96350
95841
  ]),
@@ -96454,7 +95945,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96454
95945
  filteredContentFiles.value.length > 5 ? (openBlock(), createElementBlock("div", _hoisted_43$4, [
96455
95946
  createElementVNode("span", {
96456
95947
  class: "text-sm text-gray-600 hover:text-gray-800 font-bold flex items-center cursor-pointer",
96457
- onClick: _cache[13] || (_cache[13] = ($event) => searchType.value = "content")
95948
+ onClick: _cache[14] || (_cache[14] = ($event) => searchType.value = "content")
96458
95949
  }, [
96459
95950
  createTextVNode(toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.actions.viewAll")) + " ", 1),
96460
95951
  createVNode(CIcon, {
@@ -96506,7 +95997,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96506
95997
  filteredCanvasFiles.value.length > 5 ? (openBlock(), createElementBlock("div", _hoisted_54$2, [
96507
95998
  createElementVNode("span", {
96508
95999
  class: "text-sm text-gray-600 hover:text-gray-800 font-bold flex items-center cursor-pointer",
96509
- onClick: _cache[14] || (_cache[14] = ($event) => searchType.value = "canvases")
96000
+ onClick: _cache[15] || (_cache[15] = ($event) => searchType.value = "canvases")
96510
96001
  }, [
96511
96002
  createTextVNode(toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.actions.viewAll")) + " ", 1),
96512
96003
  createVNode(CIcon, {
@@ -96653,7 +96144,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96653
96144
  }
96654
96145
  });
96655
96146
 
96656
- const CAlgoliaSearch = /* @__PURE__ */ _export_sfc(_sfc_main$5K, [["__scopeId", "data-v-338ca99c"]]);
96147
+ const CAlgoliaSearch = /* @__PURE__ */ _export_sfc(_sfc_main$5K, [["__scopeId", "data-v-982a2f84"]]);
96657
96148
 
96658
96149
  const BulletListExtended = BulletList.extend({
96659
96150
  addOptions() {
@@ -181550,33 +181041,6 @@ function useTheme() {
181550
181041
  };
181551
181042
  }
181552
181043
 
181553
- function useSmartStore(env) {
181554
- const shouldUseSmartStore = computed(() => {
181555
- try {
181556
- const envValue = unref(env);
181557
- if (!envValue) {
181558
- return false;
181559
- }
181560
- const isIos = envValue?.mode === "IOS";
181561
- const isSfdcSyncEnabled = envValue?.pitcher?.instance?.settings?.enable_sfdc_sync === true;
181562
- return isIos && isSfdcSyncEnabled;
181563
- } catch (error) {
181564
- console.error("[useSmartStore] Error checking SmartStore availability:", error);
181565
- return false;
181566
- }
181567
- });
181568
- const generateTempSalesforceId = (objectPrefix) => {
181569
- const timestamp = Date.now().toString(36);
181570
- const randomStr = Math.random().toString(36).substring(2, 11);
181571
- const uniqueId = (timestamp + randomStr).substring(0, 12 - objectPrefix.length);
181572
- return "local_" + objectPrefix + uniqueId.padEnd(12 - objectPrefix.length, "0");
181573
- };
181574
- return {
181575
- shouldUseSmartStore,
181576
- generateTempSalesforceId
181577
- };
181578
- }
181579
-
181580
181044
  const initialCanvas = ref(void 0);
181581
181045
  const useCanvasOverlay = () => {
181582
181046
  const openCanvasOverlay = ({ id, fullscreen, edit_mode, component_id, section_id, position }) => {
@@ -183838,5 +183302,5 @@ const localeNames = {
183838
183302
  };
183839
183303
  const localeDropdownOptions = supportedLocales.map((locale) => ({ key: locale, name: localeNames[locale] }));
183840
183304
 
183841
- export { ADMIN_API_METHOD_TYPES, ADMIN_API_TYPES, ADMIN_MESSAGE, ADMIN_MESSAGE_TYPES, APPS_DB, AccessTypeEnum, App$3 as AgendaSelectorApp, AppTypeEnum, _sfc_main as AssetsManagerApp, App$1 as Browser, BulkUpdateMetadataOperationEnum, BulkUpdateTagsOperationEnum, CALL_STORAGE_KEY, CANVASES, CANVAS_HOOKS, CANVAS_TYPOGRAPHY_CSS_PROPERTIES, CANVAS_TYPOGRAPHY_PRESETS, CAlgoliaSearch, CAssignedCanvasesManagement, _sfc_main$4p as CAssignedCanvasesManagementToolbar, _sfc_main$6s as CAvatar, _sfc_main$4O as CBlockManagement, CButton, _sfc_main$5f as CCanvasDeleteDialogContent, _sfc_main$5g as CCanvasMetadataFilters, CCanvasSelector, _sfc_main$6V as CCard, CCarousel, _sfc_main$3G as CCatalogIqSwitcher, _sfc_main$6U as CCheckbox, _sfc_main$3A as CChip, CCollapse, _sfc_main$6R as CCollapseItem, _sfc_main$6r as CCollapseTransition, NColorPicker as CColorPicker, CComponentListItem, CConfigEditor, NConfigProvider as CConfigProvider, _sfc_main$6h as CConfirmationAction, CConfirmationContent, CConfirmationHeader, CConfirmationModal, CContactSelector, CContactSelectorSelected, _sfc_main$68 as CContentError, _sfc_main$65 as CCreateCanvasModal, _sfc_main$64 as CCreateTemplateSectionBlockModal, _sfc_main$5V as CCreateThemeModal, CDP_EVENT_TYPE, CDataTable, NDatePicker as CDatePicker, CDateRangeFilter, CDetailPageSectionButtons, NDialogProvider as CDialogProvider, _sfc_main$6P as CDivider, _sfc_main$6O as CDrawer, _sfc_main$6N as CDrawerContent, _sfc_main$6M as CDropdown, _sfc_main$6p as CEmpty, _sfc_main$4m as CEntitySelector, _sfc_main$6L as CErrorFullScreen, _sfc_main$6n as CFeedback, _sfc_main$3o as CFileAccessManagement, _sfc_main$6C as CFileAttributes, _sfc_main$3p as CFilePanel, _sfc_main$6I as CFileThumbnail, CFileViewer, CFilesAccessInfo, _sfc_main$3$ as CFilesAccessManage, _sfc_main$3I as CFilesFolderDeleteDialogContent, NForm as CForm, NFormItem as CFormItem, NFormItemCol as CFormItemCol, NFormItemGridItem as CFormItemGi, NFormItemGridItem as CFormItemGridItem, FormItemRow as CFormItemRow, _sfc_main$4h as CFullScreenLoader, NGridItem as CGi, CGlobalLoader, _sfc_main$5O as CGlobalSearch, GlobalStyle as CGlobalStyle, NGrid as CGrid, NGridItem as CGridItem, CGroupsAccessInfo, NH1 as CH1, NH2 as CH2, NH3 as CH3, NH4 as CH4, NH5 as CH5, NH6 as CH6, _sfc_main$6m as CHelpText, CIcon, _sfc_main$6K as CImage, _sfc_main$4W as CInfoBadge, _sfc_main$6B as CInput, NInputNumber as CInputNumber, _sfc_main$3y as CKnockNotificationsAppWrapper, CLIENT_TYPE, NLayout as CLayout, NLayoutContent as CLayoutContent, LayoutFooter as CLayoutFooter, LayoutHeader as CLayoutHeader, LayoutSider as CLayoutSider, _sfc_main$4X as CList, NMessageProvider as CMessageProvider, _sfc_main$5L as CMetaDataBadge, _sfc_main$6A as CModal, CMonacoEditor, CMovableWidget, CMultiSelect, NNotificationProvider as CNotificationProvider, NPagination as CPagination, _sfc_main$6l as CPillSelect, _sfc_main$6z as CPopover, _sfc_main$6J as CProcessingOverlay, NProgress as CProgress, _sfc_main$5s as CRichTextEditor, _sfc_main$4q as CSavedCanvasesManagement, CSearch, _sfc_main$6x as CSearchOnClick, CSearchOnClickWithSuggestions, CSecondaryNav, _sfc_main$4R as CSectionManagement, CSelect, CSelectFilter, _sfc_main$3x as CSettingsEditor, CShortcut, CSingleSelect, NSkeleton as CSkeleton, _sfc_main$3C as CSlideViewer, NSpace as CSpace, _sfc_main$6q as CSpin, _sfc_main$6o as CSwitch, CTable, _sfc_main$5c as CTableInput, CTableMore, CTableSelect, CTableTag, _sfc_main$6F as CTag, CTags, CTemplateAccessInfo, _sfc_main$3_ as CTemplateAccessManage, _sfc_main$4G as CTemplateManagement, text as CText, _sfc_main$6v as CThemeEditor, _sfc_main$4B as CThemeManagement, _sfc_main$5l as CToastProvider, CToolbar, _sfc_main$6t as CTooltip, CUpsertFolderModal, _sfc_main$5p as CUserAvatar, CUserMenu, CUsersAccessInfo, CUsersGroupsAccessManage, _sfc_main$5m as CVirtualTable, _sfc_main$48 as CWarningAlert, CallState, CanvasActions, _sfc_main$15 as CanvasBuilderApp, CanvasBuilderMode, CanvasExcludedComponentTypesEnum, CanvasHistoryAction, App as CanvasSelector, CanvasStatus, CanvasThemeStatus, CanvasesViewsTypes, CollaborationRoleEnum, CollectionPlayerApp, App$4 as CollectionSelectorApp, ComponentIcon, ComponentTypes, ContactSelectorQuickFilterType, ContentGridLayoutTypes, ContentSelector, CoreFolderEntityType, DATE_TIME_FORMAT, DEFAULT_ADMIN_TABLE_HEIGHT, DEFAULT_ADMIN_TABLE_WITH_PAGINATION_HEIGHT, DEFAULT_GLOBAL_COMPONENT_SPACING, DEFAULT_GLOBAL_COMPONENT_SPACING_INTERVAL, DEFAULT_ITEMS_PER_PAGE, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PEER_CONNECTIVITY_VERSION, DEFAULT_PITCHER_SETTINGS, DSR_API_METHOD_TYPES, DSR_API_TYPES, DSR_MESSAGE, DSR_MESSAGE_TYPES, DSR_TYPE, DefaultExpiresAtEnum, DownloadTypeEnum, EMBED_TYPE, EventAction, EventExternalObjectContentTypeEnum, EventStatusEnum, FileContentTypeEnum, FileStatusEnum, FileTypeEnum, GlobalSearchResultType, GridLayoutTypes, HIDE_IF_EMPTY_COMPONENT_ID_TAG_PREFIX, HIDE_IF_EMPTY_COMPONENT_TRACKING_ID_TAG_PREFIX, HIDE_TAGS_WITH_PREFIX, HtmlLayoutTypes, IFRAME_ACTION_TYPES, IFRAME_DATA_MESSAGE, INITIAL_CALL_STATE, IS_DEV_ORG, IS_LOCALHOST, InstanceMembershipRoleEnum, InstanceMembershipUserStatusEnum, InvitationStatusEnum, LanguageEnum, LinkAlignmentTypes, LinkAnchorTypes, LinkPreviewTypes, MAX_LUMINANCE_FOR_LIGHT_TEXT, MAX_UPLOAD_SIZE, MIN_DIFFERENCE_IN_MINUTES, MetadataTemplateFieldTypeEnum, MultimediaHorizontalAlignmentOptions, NON_MEMBER_ROLES, NotesApp, OperatorEnum, PAPER_SIZE_PRESETS, PEER_CONNECTIVITY_EVENT, PEER_CONNECTIVITY_HANDLER_MATCH_ALL, PITCHER_EVENT, PITCHER_SETTINGS_KEY, PLATFORM_TYPE, PRINT_SCALE_FACTOR, PeerConnectivityActions, PitcherBroadcastedEventName, PitcherEventName, PitcherExternalEventName, PitcherMessageType, PitcherResponseStatus, PostAction, App$2 as PptConversionSelectorApp, REQUEST_DEFAULT_CANCEL_TIMEOUT, SEARCH_DEBOUNCE_TIME, SUPPORTED_FONT_EXTENSIONS, SUPPORTED_FONT_TYPES, SUPPORTED_IMAGE_EXTENSIONS, SUPPORTED_IMAGE_TYPES, SUPPORTED_UPLOAD_FILE_EXTENSIONS, SUPPORTED_VIDEO_EXTENSIONS, SUPPORTED_VIDEO_TYPES, SfEventColors, SfEventColorsLight, StorageRegionEnum, TRACKING_EVENTS_STORAGE_KEY, UI_API_METHOD_TYPES, UI_MESSAGE, UI_MESSAGE_TYPES, UI_NATIVE_MESSAGE_TYPES, UserRoleEnum, ViewCompactItemType, addCanvasComponent, _export as agendaSelector, appRequiresCrm, applyCanvasThemeAssetsToNode, applyFont, applyToTreeBy, autofocus as autofocusDirective, camelCaseKeys, canvasUiUnoPreset, clearLocalStorageIfNeeded, ClickOutsideDirective as clickOutsideDirective, collectAllNodesByCondition, _export$3 as collectionPlayer, _export$2 as collectionSelector, componentIconType, computeLocalStorageBytes, convertSecondsToMinutes, convertSoqlToSmartQuery, convertToPixels, convertToSosl, createNodeId, createPitcherSettings, dayjs, deepDiff, deepToRaw, derivePatchRequestFields, determineUserRole, discardSectionComponentOverride, displayBytesWithMUnit, displayIntegerWithMunit, doesLocalOverrideExist, doesNotHaveAnyModuleOrHookSpecified, downloadFile, draggable as draggableDirective, elementMounted as elementMountedDirective, escapeSoqlString, evaluateAccessor, executeWithDoublingTime, exitFullscreen, fallbackLocale, fetchAll, fetchAllWithOffset, fetchFirstChunkAndRemainingAsync, filterSidebarApps, filterTreeBy, findAllEmbeddableTypesInCanvasContent, findAllEmbeddableTypesInSectionsContent, findEmbeddableInCanvasContent, findEmbeddableInSectionsContent, findNodeInTreeByCondition, findNodeInTreeById, findNodeInTreeByType, findParentByNodeId, formatDate, formatDateDetailed, formatDateTime, formatDateTimeAgo, formatDayMonthBasedOnBrowserLang, formatDimensionForGotenberg, generateAIThumbnailUrl, getAllPages, getAppConfigFromAppSource, getAvailableApis, getComponentDescription, getComponentKeywords, getComponentTitle, getContrastTextColor, getDefinedProps, getEventColor, getExcessItemsIndexes, getFontAwesomeIconNameAndType, getImageSize, getLocalOverrideUrl, getLuminance, getNextPageParam, getNodeDisplayNameByComponentType, getNumberWithRegex, getPageQuantity, getPageRange, getPreviewUrl, getRoleIcon, getSectionGlobalComponentSpacing, handleThemeAssetComparison, hasAppTypeDefined, highLevelApi, indirectEval, insertItemSorted, isAfter, isBefore, isBeforeMinDate, isCanvasDrawerApp, isCanvasSectionExecution, isEmbeddableWithZeroHeight, isFileViewerReplacement, isFirefox, isFullscreen, isHeadlessOrNotAvailableApp, isImageAccessible, isIosDevice, isMac, isMobile, isModifierClick, isNonMemberRole, isOriginValid, isPastMaxDate, isPitcherOrIosDevice, isPitcherWkWebView, isPostcallApp, isQueryParamTruthy, isSafari, isSafariOnIosDevice, isSameOrAfter, isSameOrBefore, isTextComponentEmpty, isTheUiItself, isTouchScreen, isValidHex, isWindows, lightThemeOverrides, loadCustomHelpersFromApps, loadRemoteScriptWithCtx, loadScript, loadScriptStyle, loadStyle, localeDropdownOptions, localeNames, locales, minFutureDate, minPastDate, moveNodeTo, msToSeconds, navigateTo, normalizeFilterParams, normalizeNetworkFilterParams, openUsdz, parseCollectionPlayerSlidesToContentSelector, parseContentSelectorToCollectionPlayerSlides, parseFileToCollectionPlayer, parsePdfFileToCollectionPlayer, parsePptxFileToCollectionPlayer, pascalCaseKeys, _export$1 as pptConversionSelector, processCanvasForSectionThemeOverride, regenerateTreeIds, registerCustomHelper, registerCustomHelpers, registerPeerConnectivityHandler, renderTemplate, replaceThemePresetsWithInlineStyles, replaceTranslationMessagesWithOverrides, requestFullscreen, requestStream, scrollCanvasToTop, scrollToComponentById, secondsToHumanReadable, sendPeerConnectivityEvent, setDateTime, shouldDisplayPlaceholderComponent, shouldOpenInCollectionPlayerViewer, shouldShowEmbeddable, shouldShowInSidebar, skipElementsInTree, snakeCaseKeys, someNodeInTree, sortCollectionByString, splitUserName, stringToHslColor, supportedLocales, tapDirective, titleCase, toggleFullscreen, tooltipDirective, transformFilesToCollectionPlayer, transformFilesToContentGrid, updateFirstContentGridWithShareboxItems, urlSafeFetchInChunks, useAdmin, useAdminAndDsrState, useApi, useAppsDb, useBindValidation, useBroadcastRouteChange, useCanvasById, useCanvasLocks, useCanvasOverlay, useCanvasVisibility, useCanvasesAsInfinity, useCollectionPlayerOverlay, useCommentTracking, useConfirmation, useCreateEvent, useDeleteEvent, useDsr, useFetchCanvases, useFetchEvents, useFetchUsers, useFileDisplayHelpers, useFolderNameDescription, useGlobalSearch, useInfiniteScroll, useLocation, useMetadataSearch, useMetadataTemplates, useNotesApp, useNotification, useOpenFileStack, usePitcherApi, usePolling, usePresentationHistory, useRecentFiles, useShareCanvas, useSharedCommentsStorage, useSmartStore, useSuggestedTags, useTheme, useThemeVars, useToast, useUi, useUpdateEvent, useWindowEvents, vueQueryPluginOptions, wait, waitForIframeInitialize, waitForValue };
183305
+ export { ADMIN_API_METHOD_TYPES, ADMIN_API_TYPES, ADMIN_MESSAGE, ADMIN_MESSAGE_TYPES, APPS_DB, AccessTypeEnum, App$3 as AgendaSelectorApp, AppTypeEnum, _sfc_main as AssetsManagerApp, App$1 as Browser, BulkUpdateMetadataOperationEnum, BulkUpdateTagsOperationEnum, CALL_STORAGE_KEY, CANVASES, CANVAS_HOOKS, CANVAS_TYPOGRAPHY_CSS_PROPERTIES, CANVAS_TYPOGRAPHY_PRESETS, CAlgoliaSearch, CAssignedCanvasesManagement, _sfc_main$4p as CAssignedCanvasesManagementToolbar, _sfc_main$6s as CAvatar, _sfc_main$4O as CBlockManagement, CButton, _sfc_main$5f as CCanvasDeleteDialogContent, _sfc_main$5g as CCanvasMetadataFilters, CCanvasSelector, _sfc_main$6V as CCard, CCarousel, _sfc_main$3G as CCatalogIqSwitcher, _sfc_main$6U as CCheckbox, _sfc_main$3A as CChip, CCollapse, _sfc_main$6R as CCollapseItem, _sfc_main$6r as CCollapseTransition, NColorPicker as CColorPicker, CComponentListItem, CConfigEditor, NConfigProvider as CConfigProvider, _sfc_main$6h as CConfirmationAction, CConfirmationContent, CConfirmationHeader, CConfirmationModal, CContactSelector, CContactSelectorSelected, _sfc_main$68 as CContentError, _sfc_main$65 as CCreateCanvasModal, _sfc_main$64 as CCreateTemplateSectionBlockModal, _sfc_main$5V as CCreateThemeModal, CDP_EVENT_TYPE, CDataTable, NDatePicker as CDatePicker, CDateRangeFilter, CDetailPageSectionButtons, NDialogProvider as CDialogProvider, _sfc_main$6P as CDivider, _sfc_main$6O as CDrawer, _sfc_main$6N as CDrawerContent, _sfc_main$6M as CDropdown, _sfc_main$6p as CEmpty, _sfc_main$4m as CEntitySelector, _sfc_main$6L as CErrorFullScreen, _sfc_main$6n as CFeedback, _sfc_main$3o as CFileAccessManagement, _sfc_main$6C as CFileAttributes, _sfc_main$3p as CFilePanel, _sfc_main$6I as CFileThumbnail, CFileViewer, CFilesAccessInfo, _sfc_main$3$ as CFilesAccessManage, _sfc_main$3I as CFilesFolderDeleteDialogContent, NForm as CForm, NFormItem as CFormItem, NFormItemCol as CFormItemCol, NFormItemGridItem as CFormItemGi, NFormItemGridItem as CFormItemGridItem, FormItemRow as CFormItemRow, _sfc_main$4h as CFullScreenLoader, NGridItem as CGi, CGlobalLoader, _sfc_main$5O as CGlobalSearch, GlobalStyle as CGlobalStyle, NGrid as CGrid, NGridItem as CGridItem, CGroupsAccessInfo, NH1 as CH1, NH2 as CH2, NH3 as CH3, NH4 as CH4, NH5 as CH5, NH6 as CH6, _sfc_main$6m as CHelpText, CIcon, _sfc_main$6K as CImage, _sfc_main$4W as CInfoBadge, _sfc_main$6B as CInput, NInputNumber as CInputNumber, _sfc_main$3y as CKnockNotificationsAppWrapper, CLIENT_TYPE, NLayout as CLayout, NLayoutContent as CLayoutContent, LayoutFooter as CLayoutFooter, LayoutHeader as CLayoutHeader, LayoutSider as CLayoutSider, _sfc_main$4X as CList, NMessageProvider as CMessageProvider, _sfc_main$5L as CMetaDataBadge, _sfc_main$6A as CModal, CMonacoEditor, CMovableWidget, CMultiSelect, NNotificationProvider as CNotificationProvider, NPagination as CPagination, _sfc_main$6l as CPillSelect, _sfc_main$6z as CPopover, _sfc_main$6J as CProcessingOverlay, NProgress as CProgress, _sfc_main$5s as CRichTextEditor, _sfc_main$4q as CSavedCanvasesManagement, CSearch, _sfc_main$6x as CSearchOnClick, CSearchOnClickWithSuggestions, CSecondaryNav, _sfc_main$4R as CSectionManagement, CSelect, CSelectFilter, _sfc_main$3x as CSettingsEditor, CShortcut, CSingleSelect, NSkeleton as CSkeleton, _sfc_main$3C as CSlideViewer, NSpace as CSpace, _sfc_main$6q as CSpin, _sfc_main$6o as CSwitch, CTable, _sfc_main$5c as CTableInput, CTableMore, CTableSelect, CTableTag, _sfc_main$6F as CTag, CTags, CTemplateAccessInfo, _sfc_main$3_ as CTemplateAccessManage, _sfc_main$4G as CTemplateManagement, text as CText, _sfc_main$6v as CThemeEditor, _sfc_main$4B as CThemeManagement, _sfc_main$5l as CToastProvider, CToolbar, _sfc_main$6t as CTooltip, CUpsertFolderModal, _sfc_main$5p as CUserAvatar, CUserMenu, CUsersAccessInfo, CUsersGroupsAccessManage, _sfc_main$5m as CVirtualTable, _sfc_main$48 as CWarningAlert, CallState, CanvasActions, _sfc_main$15 as CanvasBuilderApp, CanvasBuilderMode, CanvasExcludedComponentTypesEnum, CanvasHistoryAction, App as CanvasSelector, CanvasStatus, CanvasThemeStatus, CanvasesViewsTypes, CollaborationRoleEnum, CollectionPlayerApp, App$4 as CollectionSelectorApp, ComponentIcon, ComponentTypes, ContactSelectorQuickFilterType, ContentGridLayoutTypes, ContentSelector, CoreFolderEntityType, DATE_TIME_FORMAT, DEFAULT_ADMIN_TABLE_HEIGHT, DEFAULT_ADMIN_TABLE_WITH_PAGINATION_HEIGHT, DEFAULT_GLOBAL_COMPONENT_SPACING, DEFAULT_GLOBAL_COMPONENT_SPACING_INTERVAL, DEFAULT_ITEMS_PER_PAGE, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PEER_CONNECTIVITY_VERSION, DEFAULT_PITCHER_SETTINGS, DSR_API_METHOD_TYPES, DSR_API_TYPES, DSR_MESSAGE, DSR_MESSAGE_TYPES, DSR_TYPE, DefaultExpiresAtEnum, DownloadTypeEnum, EMBED_TYPE, EventAction, EventExternalObjectContentTypeEnum, EventStatusEnum, FileContentTypeEnum, FileStatusEnum, FileTypeEnum, GlobalSearchResultType, GridLayoutTypes, HIDE_IF_EMPTY_COMPONENT_ID_TAG_PREFIX, HIDE_IF_EMPTY_COMPONENT_TRACKING_ID_TAG_PREFIX, HIDE_TAGS_WITH_PREFIX, HtmlLayoutTypes, IFRAME_ACTION_TYPES, IFRAME_DATA_MESSAGE, INITIAL_CALL_STATE, IS_DEV_ORG, IS_LOCALHOST, InstanceMembershipRoleEnum, InstanceMembershipUserStatusEnum, InvitationStatusEnum, LanguageEnum, LinkAlignmentTypes, LinkAnchorTypes, LinkPreviewTypes, MAX_LUMINANCE_FOR_LIGHT_TEXT, MAX_UPLOAD_SIZE, MIN_DIFFERENCE_IN_MINUTES, MetadataTemplateFieldTypeEnum, MultimediaHorizontalAlignmentOptions, NON_MEMBER_ROLES, NotesApp, OperatorEnum, PAPER_SIZE_PRESETS, PEER_CONNECTIVITY_EVENT, PEER_CONNECTIVITY_HANDLER_MATCH_ALL, PITCHER_EVENT, PITCHER_SETTINGS_KEY, PLATFORM_TYPE, PRINT_SCALE_FACTOR, PeerConnectivityActions, PitcherBroadcastedEventName, PitcherEventName, PitcherExternalEventName, PitcherMessageType, PitcherResponseStatus, PostAction, App$2 as PptConversionSelectorApp, REQUEST_DEFAULT_CANCEL_TIMEOUT, SEARCH_DEBOUNCE_TIME, SUPPORTED_FONT_EXTENSIONS, SUPPORTED_FONT_TYPES, SUPPORTED_IMAGE_EXTENSIONS, SUPPORTED_IMAGE_TYPES, SUPPORTED_UPLOAD_FILE_EXTENSIONS, SUPPORTED_VIDEO_EXTENSIONS, SUPPORTED_VIDEO_TYPES, SfEventColors, SfEventColorsLight, StorageRegionEnum, TRACKING_EVENTS_STORAGE_KEY, UI_API_METHOD_TYPES, UI_MESSAGE, UI_MESSAGE_TYPES, UI_NATIVE_MESSAGE_TYPES, UserRoleEnum, ViewCompactItemType, addCanvasComponent, _export as agendaSelector, appRequiresCrm, applyCanvasThemeAssetsToNode, applyFont, applyToTreeBy, autofocus as autofocusDirective, camelCaseKeys, canvasUiUnoPreset, clearLocalStorageIfNeeded, ClickOutsideDirective as clickOutsideDirective, collectAllNodesByCondition, _export$3 as collectionPlayer, _export$2 as collectionSelector, componentIconType, computeLocalStorageBytes, convertSecondsToMinutes, convertToPixels, convertToSosl, createNodeId, createPitcherSettings, dayjs, deepDiff, deepToRaw, derivePatchRequestFields, determineUserRole, discardSectionComponentOverride, displayBytesWithMUnit, displayIntegerWithMunit, doesLocalOverrideExist, doesNotHaveAnyModuleOrHookSpecified, downloadFile, draggable as draggableDirective, elementMounted as elementMountedDirective, escapeSoqlString, evaluateAccessor, executeWithDoublingTime, exitFullscreen, fallbackLocale, fetchAll, fetchAllWithOffset, fetchFirstChunkAndRemainingAsync, filterSidebarApps, filterTreeBy, findAllEmbeddableTypesInCanvasContent, findAllEmbeddableTypesInSectionsContent, findEmbeddableInCanvasContent, findEmbeddableInSectionsContent, findNodeInTreeByCondition, findNodeInTreeById, findNodeInTreeByType, findParentByNodeId, formatDate, formatDateDetailed, formatDateTime, formatDateTimeAgo, formatDayMonthBasedOnBrowserLang, formatDimensionForGotenberg, generateAIThumbnailUrl, getAllPages, getAppConfigFromAppSource, getAvailableApis, getComponentDescription, getComponentKeywords, getComponentTitle, getContrastTextColor, getDefinedProps, getEventColor, getExcessItemsIndexes, getFontAwesomeIconNameAndType, getImageSize, getLocalOverrideUrl, getLuminance, getNextPageParam, getNodeDisplayNameByComponentType, getNumberWithRegex, getPageQuantity, getPageRange, getPreviewUrl, getRoleIcon, getSectionGlobalComponentSpacing, handleThemeAssetComparison, hasAppTypeDefined, highLevelApi, indirectEval, insertItemSorted, isAfter, isBefore, isBeforeMinDate, isCanvasDrawerApp, isCanvasSectionExecution, isEmbeddableWithZeroHeight, isFileViewerReplacement, isFirefox, isFullscreen, isHeadlessOrNotAvailableApp, isImageAccessible, isIosDevice, isMac, isMobile, isModifierClick, isNonMemberRole, isOriginValid, isPastMaxDate, isPitcherOrIosDevice, isPitcherWkWebView, isPostcallApp, isQueryParamTruthy, isSafari, isSafariOnIosDevice, isSameOrAfter, isSameOrBefore, isTextComponentEmpty, isTheUiItself, isTouchScreen, isValidHex, isWindows, lightThemeOverrides, loadCustomHelpersFromApps, loadRemoteScriptWithCtx, loadScript, loadScriptStyle, loadStyle, localeDropdownOptions, localeNames, locales, minFutureDate, minPastDate, moveNodeTo, msToSeconds, navigateTo, normalizeFilterParams, normalizeNetworkFilterParams, openUsdz, parseCollectionPlayerSlidesToContentSelector, parseContentSelectorToCollectionPlayerSlides, parseFileToCollectionPlayer, parsePdfFileToCollectionPlayer, parsePptxFileToCollectionPlayer, pascalCaseKeys, _export$1 as pptConversionSelector, processCanvasForSectionThemeOverride, regenerateTreeIds, registerCustomHelper, registerCustomHelpers, registerPeerConnectivityHandler, renderTemplate, replaceThemePresetsWithInlineStyles, replaceTranslationMessagesWithOverrides, requestFullscreen, requestStream, scrollCanvasToTop, scrollToComponentById, secondsToHumanReadable, sendPeerConnectivityEvent, setDateTime, shouldDisplayPlaceholderComponent, shouldOpenInCollectionPlayerViewer, shouldShowEmbeddable, shouldShowInSidebar, skipElementsInTree, snakeCaseKeys, someNodeInTree, sortCollectionByString, splitUserName, stringToHslColor, supportedLocales, tapDirective, titleCase, toggleFullscreen, tooltipDirective, transformFilesToCollectionPlayer, transformFilesToContentGrid, updateFirstContentGridWithShareboxItems, urlSafeFetchInChunks, useAdmin, useAdminAndDsrState, useApi, useAppsDb, useBindValidation, useBroadcastRouteChange, useCanvasById, useCanvasLocks, useCanvasOverlay, useCanvasVisibility, useCanvasesAsInfinity, useCollectionPlayerOverlay, useCommentTracking, useConfirmation, useCreateEvent, useDeleteEvent, useDsr, useFetchCanvases, useFetchEvents, useFetchUsers, useFileDisplayHelpers, useFolderNameDescription, useGlobalSearch, useInfiniteScroll, useLocation, useMetadataSearch, useMetadataTemplates, useNotesApp, useNotification, useOpenFileStack, usePitcherApi, usePolling, usePresentationHistory, useRecentFiles, useShareCanvas, useSharedCommentsStorage, useSuggestedTags, useTheme, useThemeVars, useToast, useUi, useUpdateEvent, useWindowEvents, vueQueryPluginOptions, wait, waitForIframeInitialize, waitForValue };
183842
183306
  //# sourceMappingURL=canvas-ui.js.map