@pitcher/canvas-ui 2025.12.22-81909 → 2025.12.23-130926-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.css CHANGED
@@ -551,13 +551,13 @@ swiper-container::part(pagination) {
551
551
  line-height: 20px;
552
552
  letter-spacing: 0.25px;
553
553
  color: var(--ad430d74);
554
- }[data-v-c5f0443f] .ais-SearchBox {
554
+ }[data-v-9e56c429] .ais-SearchBox {
555
555
  margin: 0;
556
556
  }
557
- [data-v-c5f0443f] .ais-SearchBox-submit,[data-v-c5f0443f] .ais-SearchBox-reset {
557
+ [data-v-9e56c429] .ais-SearchBox-submit,[data-v-9e56c429] .ais-SearchBox-reset {
558
558
  display: none;
559
559
  }
560
- .admin-search[data-v-c5f0443f] .ais-SearchBox-reset {
560
+ .admin-search[data-v-9e56c429] .ais-SearchBox-reset {
561
561
  display: block !important;
562
562
  position: absolute !important;
563
563
  right: 12px !important;
@@ -571,17 +571,17 @@ swiper-container::part(pagination) {
571
571
  font-size: 16px !important;
572
572
  z-index: 10 !important;
573
573
  }
574
- .admin-search[data-v-c5f0443f] .ais-SearchBox-reset:hover {
574
+ .admin-search[data-v-9e56c429] .ais-SearchBox-reset:hover {
575
575
  color: var(--p-text2) !important;
576
576
  }
577
- .admin-search[data-v-c5f0443f] .ais-SearchBox-reset:focus {
577
+ .admin-search[data-v-9e56c429] .ais-SearchBox-reset:focus {
578
578
  outline: none !important;
579
579
  color: var(--p-primary) !important;
580
580
  }
581
- .admin-search[data-v-c5f0443f] .ais-SearchBox-input {
581
+ .admin-search[data-v-9e56c429] .ais-SearchBox-input {
582
582
  padding-right: 40px !important;
583
583
  }
584
- [data-v-c5f0443f] .ais-SearchBox-input {
584
+ [data-v-9e56c429] .ais-SearchBox-input {
585
585
  width: 100%;
586
586
  padding: 12px 16px 12px 40px;
587
587
  border: 1px solid var(--p-primary4);
@@ -590,39 +590,39 @@ swiper-container::part(pagination) {
590
590
  background-color: var(--p-base);
591
591
  transition: border-color 0.2s ease;
592
592
  }
593
- [data-v-c5f0443f] .ais-SearchBox-input:focus {
593
+ [data-v-9e56c429] .ais-SearchBox-input:focus {
594
594
  outline: none;
595
595
  border-color: var(--p-primary);
596
596
  box-shadow: 0 0 0 3px var(--p-primary5);
597
597
  }
598
- [data-v-c5f0443f] .ais-SearchBox-input::placeholder {
598
+ [data-v-9e56c429] .ais-SearchBox-input::placeholder {
599
599
  color: var(--p-text3);
600
600
  font-size: 14px;
601
601
  }
602
- .overflow-y-auto[data-v-c5f0443f] {
602
+ .overflow-y-auto[data-v-9e56c429] {
603
603
  scrollbar-width: thin;
604
604
  scrollbar-color: var(--p-border2) var(--p-surface2);
605
605
  }
606
- .overflow-y-auto[data-v-c5f0443f]::-webkit-scrollbar {
606
+ .overflow-y-auto[data-v-9e56c429]::-webkit-scrollbar {
607
607
  width: 6px;
608
608
  }
609
- .overflow-y-auto[data-v-c5f0443f]::-webkit-scrollbar-track {
609
+ .overflow-y-auto[data-v-9e56c429]::-webkit-scrollbar-track {
610
610
  background: var(--p-surface2);
611
611
  }
612
- .overflow-y-auto[data-v-c5f0443f]::-webkit-scrollbar-thumb {
612
+ .overflow-y-auto[data-v-9e56c429]::-webkit-scrollbar-thumb {
613
613
  background-color: var(--p-border2);
614
614
  border-radius: 3px;
615
615
  }
616
- .overflow-y-auto[data-v-c5f0443f]::-webkit-scrollbar-thumb:hover {
616
+ .overflow-y-auto[data-v-9e56c429]::-webkit-scrollbar-thumb:hover {
617
617
  background-color: var(--p-text3);
618
618
  }
619
- button[data-v-c5f0443f]:hover {
619
+ button[data-v-9e56c429]:hover {
620
620
  transition: all 0.2s ease;
621
621
  }
622
- button[data-v-c5f0443f]:focus {
622
+ button[data-v-9e56c429]:focus {
623
623
  outline: none;
624
624
  }
625
- [data-v-c5f0443f] mark,[data-v-c5f0443f] em {
625
+ [data-v-9e56c429] mark,[data-v-9e56c429] em {
626
626
  font-weight: bold;
627
627
  font-style: normal;
628
628
  }
package/canvas-ui.js CHANGED
@@ -88395,6 +88395,15 @@ function crmUpsert(payload) {
88395
88395
  }
88396
88396
  return highLevelApi.API.request("crm_upsert", payload);
88397
88397
  }
88398
+ function crmDescribe(payload) {
88399
+ if (!payload) {
88400
+ return Promise.reject(new Error("Payload is required"));
88401
+ }
88402
+ if (!payload.sobject || typeof payload.sobject !== "string" || payload.sobject.trim() === "") {
88403
+ return Promise.reject(new Error("sobject is required and must be a non-empty string"));
88404
+ }
88405
+ return highLevelApi.API.request("crm_describe", payload);
88406
+ }
88398
88407
 
88399
88408
  function getFolders(payload) {
88400
88409
  return this.API.request("get_folders", payload);
@@ -88492,6 +88501,7 @@ const modules = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
88492
88501
  createFile,
88493
88502
  createFolder,
88494
88503
  crmCreate,
88504
+ crmDescribe,
88495
88505
  crmQuery,
88496
88506
  crmQueryAdaptive,
88497
88507
  crmSmartDeleteObjects,
@@ -95258,66 +95268,74 @@ const _hoisted_30$4 = {
95258
95268
  const _hoisted_31$4 = { class: "w-full px-0" };
95259
95269
  const _hoisted_32$4 = {
95260
95270
  key: 0,
95271
+ class: "flex flex-col items-center justify-center text-center p-8 gap-4"
95272
+ };
95273
+ const _hoisted_33$4 = {
95274
+ key: 1,
95261
95275
  class: "mb-0"
95262
95276
  };
95263
- const _hoisted_33$4 = { class: "flex items-center px-0 pt-2 pb-1" };
95264
- const _hoisted_34$4 = { class: "text-m font-semibold text-gray-900" };
95265
- const _hoisted_35$4 = { class: "ml-2 text-sm text-gray-500" };
95266
- const _hoisted_36$4 = ["data-result-selected", "onClick"];
95267
- const _hoisted_37$4 = {
95277
+ const _hoisted_34$4 = { class: "flex items-center px-0 pt-2 pb-1" };
95278
+ const _hoisted_35$4 = { class: "text-m font-semibold text-gray-900" };
95279
+ const _hoisted_36$4 = { class: "ml-2 text-sm text-gray-500" };
95280
+ const _hoisted_37$4 = ["data-result-selected", "onClick"];
95281
+ const _hoisted_38$4 = {
95268
95282
  key: 1,
95269
95283
  class: "w-18 h-14 border-rounded-1 mr-4 flex-shrink-0 bg-gray-200 flex items-center justify-center"
95270
95284
  };
95271
- const _hoisted_38$4 = { class: "flex-1 min-w-0" };
95272
- const _hoisted_39$4 = { class: "text-sm font-bold text-gray-900 truncate mb-1" };
95273
- const _hoisted_40$4 = ["innerHTML"];
95274
- const _hoisted_41$4 = { class: "text-xs text-gray-500" };
95275
- const _hoisted_42$4 = { class: "text-xs text-gray-400" };
95276
- const _hoisted_43$4 = {
95285
+ const _hoisted_39$4 = { class: "flex-1 min-w-0" };
95286
+ const _hoisted_40$4 = { class: "text-sm font-bold text-gray-900 truncate mb-1" };
95287
+ const _hoisted_41$4 = ["innerHTML"];
95288
+ const _hoisted_42$4 = { class: "text-xs text-gray-500" };
95289
+ const _hoisted_43$4 = { class: "text-xs text-gray-400" };
95290
+ const _hoisted_44$4 = {
95277
95291
  key: 0,
95278
95292
  class: "px-0 py-0"
95279
95293
  };
95280
- const _hoisted_44$4 = { key: 1 };
95281
- const _hoisted_45$4 = { class: "flex items-center px-0 pt-2 pb-1" };
95282
- const _hoisted_46$4 = { class: "text-m font-semibold text-gray-900" };
95283
- const _hoisted_47$4 = { class: "ml-2 text-sm text-gray-500" };
95284
- const _hoisted_48$4 = ["data-result-selected", "onClick"];
95285
- const _hoisted_49$4 = { class: "w-18 h-14 border-rounded-1 mr-4 flex-shrink-0 bg-gray-200 flex items-center justify-center" };
95286
- const _hoisted_50$4 = { class: "flex-1 min-w-0" };
95287
- const _hoisted_51$3 = { class: "text-sm font-bold text-gray-900 truncate mb-1" };
95288
- const _hoisted_52$3 = { class: "text-xs text-gray-500" };
95289
- const _hoisted_53$3 = { class: "text-xs text-gray-400" };
95290
- const _hoisted_54$2 = {
95294
+ const _hoisted_45$4 = { key: 2 };
95295
+ const _hoisted_46$4 = { class: "flex items-center px-0 pt-2 pb-1" };
95296
+ const _hoisted_47$4 = { class: "text-m font-semibold text-gray-900" };
95297
+ const _hoisted_48$4 = { class: "ml-2 text-sm text-gray-500" };
95298
+ const _hoisted_49$4 = ["data-result-selected", "onClick"];
95299
+ const _hoisted_50$4 = { class: "w-18 h-14 border-rounded-1 mr-4 flex-shrink-0 bg-gray-200 flex items-center justify-center" };
95300
+ const _hoisted_51$3 = { class: "flex-1 min-w-0" };
95301
+ const _hoisted_52$3 = { class: "text-sm font-bold text-gray-900 truncate mb-1" };
95302
+ const _hoisted_53$3 = { class: "text-xs text-gray-500" };
95303
+ const _hoisted_54$2 = { class: "text-xs text-gray-400" };
95304
+ const _hoisted_55$2 = {
95291
95305
  key: 0,
95292
95306
  class: "px-0 py-0"
95293
95307
  };
95294
- const _hoisted_55$2 = {
95308
+ const _hoisted_56$2 = {
95295
95309
  key: 0,
95296
95310
  class: "flex flex-col items-center justify-center text-center p-8 gap-4"
95297
95311
  };
95298
- const _hoisted_56$2 = {
95312
+ const _hoisted_57$2 = {
95299
95313
  key: 2,
95300
95314
  class: "flex-1 overflow-y-auto bg-white w-full"
95301
95315
  };
95302
- const _hoisted_57$2 = { class: "w-full px-0" };
95303
- const _hoisted_58$2 = { class: "flex items-center px-0 pt-2 pb-1" };
95304
- const _hoisted_59$2 = { class: "text-m font-semibold text-gray-900" };
95305
- const _hoisted_60$2 = { class: "ml-2 text-sm text-gray-500" };
95306
- const _hoisted_61$2 = ["data-result-selected", "onClick"];
95307
- const _hoisted_62$2 = {
95316
+ const _hoisted_58$2 = { class: "w-full px-0" };
95317
+ const _hoisted_59$2 = {
95318
+ key: 0,
95319
+ class: "flex flex-col items-center justify-center text-center p-8 gap-4"
95320
+ };
95321
+ const _hoisted_60$2 = { class: "flex items-center px-0 pt-2 pb-1" };
95322
+ const _hoisted_61$2 = { class: "text-m font-semibold text-gray-900" };
95323
+ const _hoisted_62$2 = { class: "ml-2 text-sm text-gray-500" };
95324
+ const _hoisted_63$2 = ["data-result-selected", "onClick"];
95325
+ const _hoisted_64$2 = {
95308
95326
  key: 1,
95309
95327
  class: "w-18 h-14 border-rounded-1 mr-4 flex-shrink-0 bg-gray-200 flex items-center justify-center"
95310
95328
  };
95311
- const _hoisted_63$2 = { class: "flex-1 min-w-0" };
95312
- const _hoisted_64$2 = { class: "text-sm font-bold text-gray-900 truncate mb-1" };
95313
- const _hoisted_65$2 = ["innerHTML"];
95314
- const _hoisted_66$2 = { class: "text-xs text-gray-500" };
95315
- const _hoisted_67$2 = { class: "text-xs text-gray-400" };
95316
- const _hoisted_68$2 = {
95329
+ const _hoisted_65$2 = { class: "flex-1 min-w-0" };
95330
+ const _hoisted_66$2 = { class: "text-sm font-bold text-gray-900 truncate mb-1" };
95331
+ const _hoisted_67$2 = ["innerHTML"];
95332
+ const _hoisted_68$2 = { class: "text-xs text-gray-500" };
95333
+ const _hoisted_69$1 = { class: "text-xs text-gray-400" };
95334
+ const _hoisted_70$1 = {
95317
95335
  key: 0,
95318
95336
  class: "flex flex-col items-center justify-center text-center p-8 gap-4"
95319
95337
  };
95320
- const _hoisted_69$1 = {
95338
+ const _hoisted_71$1 = {
95321
95339
  key: 0,
95322
95340
  class: "flex flex-wrap line-height-6 pt-4 pb-2 px-6 border-t border-gray-200 gap-y-4 gap-x-4"
95323
95341
  };
@@ -95347,13 +95365,13 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95347
95365
  const fileTypeOptions = [
95348
95366
  { label: "Folder", value: "folder" },
95349
95367
  { label: "PDF", value: "pdf" },
95350
- { label: "Image", value: "image" },
95351
- { label: "Audio", value: "audio" },
95352
- { label: "Video", value: "video" },
95353
95368
  { label: "Document", value: "document" },
95354
95369
  { label: "Presentation", value: "presentation" },
95355
95370
  { label: "Spreadsheet", value: "spreadsheet" },
95356
- { label: "Font", value: "font" },
95371
+ { label: "Image", value: "image" },
95372
+ { label: "Video", value: "video" },
95373
+ { label: "Audio", value: "audio" },
95374
+ { label: "AR", value: "ar" },
95357
95375
  { label: "Web", value: "web" }
95358
95376
  ];
95359
95377
  const hasActiveFilters = computed(() => selectedFileTypes.value.length > 0 || selectedCanvasFilters.value.length > 0);
@@ -95367,6 +95385,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95367
95385
  selectedCanvasFilters.value = [];
95368
95386
  searchType.value = null;
95369
95387
  if (searchQuery.value.trim()) {
95388
+ skipNextSuggestionFetch.value = true;
95370
95389
  performSearch(searchQuery.value);
95371
95390
  }
95372
95391
  };
@@ -95615,11 +95634,9 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95615
95634
  "audio",
95616
95635
  "video",
95617
95636
  "document",
95618
- "docx",
95619
- "pptx",
95620
95637
  "presentation",
95621
95638
  "spreadsheet",
95622
- "font",
95639
+ "ar",
95623
95640
  "web"
95624
95641
  ];
95625
95642
  const validCanvasFilters = selectedCanvasFilters.value.filter((f) => ALLOWED_CANVAS_TYPES.includes(f));
@@ -95704,9 +95721,12 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95704
95721
  if (searchTimer) clearTimeout(searchTimer);
95705
95722
  filterChangeTimer = setTimeout(() => {
95706
95723
  if (searchQuery.value.trim() && !showRecentView.value) {
95724
+ skipNextSuggestionFetch.value = true;
95707
95725
  performSearch(searchQuery.value);
95726
+ } else {
95727
+ skipNextSuggestionFetch.value = false;
95708
95728
  }
95709
- }, 300);
95729
+ }, 500);
95710
95730
  };
95711
95731
  const handleSearchInput = (query) => {
95712
95732
  const validatedQuery = validateSearchInput(query);
@@ -95721,7 +95741,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95721
95741
  if (searchTimer) clearTimeout(searchTimer);
95722
95742
  searchTimer = setTimeout(() => {
95723
95743
  performSearch(validatedQuery);
95724
- }, 300);
95744
+ }, 500);
95725
95745
  if (saveSearchTimer) clearTimeout(saveSearchTimer);
95726
95746
  saveSearchTimer = setTimeout(() => {
95727
95747
  saveSearchTerm(validatedQuery);
@@ -95759,6 +95779,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95759
95779
  return;
95760
95780
  }
95761
95781
  try {
95782
+ skipNextSuggestionFetch.value = true;
95762
95783
  searchQuery.value = validatedSearchTerm;
95763
95784
  showRecentView.value = false;
95764
95785
  querySuggestions.value = [];
@@ -95766,6 +95787,8 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95766
95787
  await performSearch(validatedSearchTerm);
95767
95788
  } catch (error) {
95768
95789
  console.error("[handleRecentSearchClick] Search failed:", error);
95790
+ } finally {
95791
+ skipNextSuggestionFetch.value = false;
95769
95792
  }
95770
95793
  };
95771
95794
  const handleSuggestionClick = async (suggestion) => {
@@ -96211,7 +96234,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96211
96234
  (openBlock(), createElementBlock(Fragment, null, renderList(fileTypeOptions, (option) => {
96212
96235
  return createElementVNode("div", {
96213
96236
  key: option.value,
96214
- class: "w-full h-8 flex items-center"
96237
+ class: "w-full h-7 flex items-center"
96215
96238
  }, [
96216
96239
  createVNode(unref(NCheckbox), {
96217
96240
  checked: selectedFileTypes.value.includes(option.value),
@@ -96429,16 +96452,22 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96429
96452
  ], 64)) : createCommentVNode("", true)
96430
96453
  ])) : !searchType.value ? (openBlock(), createElementBlock("div", _hoisted_30$4, [
96431
96454
  createElementVNode("div", _hoisted_31$4, [
96432
- filteredContentFiles.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_32$4, [
96433
- createElementVNode("div", _hoisted_33$4, [
96455
+ isSearching.value ? (openBlock(), createElementBlock("div", _hoisted_32$4, [
96456
+ createVNode(CIcon, {
96457
+ class: "animate-spin text-6xl",
96458
+ color: "var(--p-primary)",
96459
+ icon: "spinner"
96460
+ })
96461
+ ])) : filteredContentFiles.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_33$4, [
96462
+ createElementVNode("div", _hoisted_34$4, [
96434
96463
  createVNode(CIcon, {
96435
96464
  class: "mr-2",
96436
96465
  color: "var(--p-text2)",
96437
96466
  icon: "folder",
96438
96467
  size: "16"
96439
96468
  }),
96440
- createElementVNode("span", _hoisted_34$4, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.sections.content")), 1),
96441
- createElementVNode("span", _hoisted_35$4, "(" + toDisplayString(filteredContentFiles.value.length) + ")", 1)
96469
+ createElementVNode("span", _hoisted_35$4, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.sections.content")), 1),
96470
+ createElementVNode("span", _hoisted_36$4, "(" + toDisplayString(filteredContentFiles.value.length) + ")", 1)
96442
96471
  ]),
96443
96472
  createElementVNode("div", null, [
96444
96473
  (openBlock(true), createElementBlock(Fragment, null, renderList(filteredContentFiles.value.slice(0, 5), (item) => {
@@ -96460,27 +96489,27 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96460
96489
  "object-fit": "cover",
96461
96490
  src: item.picture_url || "",
96462
96491
  width: "72"
96463
- }, null, 8, ["file-data", "src"])) : (openBlock(), createElementBlock("div", _hoisted_37$4, [
96492
+ }, null, 8, ["file-data", "src"])) : (openBlock(), createElementBlock("div", _hoisted_38$4, [
96464
96493
  createVNode(CIcon, {
96465
96494
  color: "var(--p-text2)",
96466
96495
  icon: "folder",
96467
96496
  size: "32"
96468
96497
  })
96469
96498
  ])),
96470
- createElementVNode("div", _hoisted_38$4, [
96471
- createElementVNode("h3", _hoisted_39$4, toDisplayString(item.name), 1),
96499
+ createElementVNode("div", _hoisted_39$4, [
96500
+ createElementVNode("h3", _hoisted_40$4, toDisplayString(item.name), 1),
96472
96501
  item.type === "file" && getSnippet(item) ? (openBlock(), createElementBlock("p", {
96473
96502
  key: 0,
96474
96503
  class: "text-xs text-gray-600 mb-1",
96475
96504
  innerHTML: getSnippet(item)
96476
- }, null, 8, _hoisted_40$4)) : createCommentVNode("", true),
96477
- createElementVNode("p", _hoisted_41$4, toDisplayString(item.type === "folder" ? "Folder" : item.file_category || item.content_type || "File"), 1)
96505
+ }, null, 8, _hoisted_41$4)) : createCommentVNode("", true),
96506
+ createElementVNode("p", _hoisted_42$4, toDisplayString(item.type === "folder" ? "Folder" : item.file_category || item.content_type || "File"), 1)
96478
96507
  ]),
96479
- createElementVNode("div", _hoisted_42$4, toDisplayString(item.type === "folder" ? item.parent_folder?.name || "" : item.folder?.name || ""), 1)
96480
- ], 10, _hoisted_36$4);
96508
+ createElementVNode("div", _hoisted_43$4, toDisplayString(item.type === "folder" ? item.parent_folder?.name || "" : item.folder?.name || ""), 1)
96509
+ ], 10, _hoisted_37$4);
96481
96510
  }), 128))
96482
96511
  ]),
96483
- filteredContentFiles.value.length > 5 ? (openBlock(), createElementBlock("div", _hoisted_43$4, [
96512
+ filteredContentFiles.value.length > 5 ? (openBlock(), createElementBlock("div", _hoisted_44$4, [
96484
96513
  createElementVNode("span", {
96485
96514
  class: "text-sm text-gray-600 hover:text-gray-800 font-bold flex items-center cursor-pointer",
96486
96515
  onClick: _cache[14] || (_cache[14] = ($event) => searchType.value = "content")
@@ -96494,16 +96523,16 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96494
96523
  ])
96495
96524
  ])) : createCommentVNode("", true)
96496
96525
  ])) : createCommentVNode("", true),
96497
- filteredCanvasFiles.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_44$4, [
96498
- createElementVNode("div", _hoisted_45$4, [
96526
+ filteredCanvasFiles.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_45$4, [
96527
+ createElementVNode("div", _hoisted_46$4, [
96499
96528
  createVNode(CIcon, {
96500
96529
  class: "mr-2",
96501
96530
  color: "var(--p-text2)",
96502
96531
  icon: "presentation",
96503
96532
  size: "16"
96504
96533
  }),
96505
- createElementVNode("span", _hoisted_46$4, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.sections.pitchDecks")), 1),
96506
- createElementVNode("span", _hoisted_47$4, "(" + toDisplayString(filteredCanvasFiles.value.length) + ")", 1)
96534
+ createElementVNode("span", _hoisted_47$4, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.sections.pitchDecks")), 1),
96535
+ createElementVNode("span", _hoisted_48$4, "(" + toDisplayString(filteredCanvasFiles.value.length) + ")", 1)
96507
96536
  ]),
96508
96537
  createElementVNode("div", null, [
96509
96538
  (openBlock(true), createElementBlock(Fragment, null, renderList(filteredCanvasFiles.value.slice(0, 5), (item) => {
@@ -96517,22 +96546,22 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96517
96546
  "data-result-selected": isResultSelected(item),
96518
96547
  onClick: ($event) => handleResultClick(item, "canvas")
96519
96548
  }, [
96520
- createElementVNode("div", _hoisted_49$4, [
96549
+ createElementVNode("div", _hoisted_50$4, [
96521
96550
  createVNode(CIcon, {
96522
96551
  color: "var(--p-text2)",
96523
96552
  icon: "presentation",
96524
96553
  size: "32"
96525
96554
  })
96526
96555
  ]),
96527
- createElementVNode("div", _hoisted_50$4, [
96528
- createElementVNode("h3", _hoisted_51$3, toDisplayString(item.name), 1),
96529
- createElementVNode("p", _hoisted_52$3, toDisplayString(formatCanvasType(item.content_type)), 1)
96556
+ createElementVNode("div", _hoisted_51$3, [
96557
+ createElementVNode("h3", _hoisted_52$3, toDisplayString(item.name), 1),
96558
+ createElementVNode("p", _hoisted_53$3, toDisplayString(formatCanvasType(item.content_type)), 1)
96530
96559
  ]),
96531
- createElementVNode("div", _hoisted_53$3, toDisplayString(item.folder?.name || ""), 1)
96532
- ], 10, _hoisted_48$4);
96560
+ createElementVNode("div", _hoisted_54$2, toDisplayString(item.folder?.name || ""), 1)
96561
+ ], 10, _hoisted_49$4);
96533
96562
  }), 128))
96534
96563
  ]),
96535
- filteredCanvasFiles.value.length > 5 ? (openBlock(), createElementBlock("div", _hoisted_54$2, [
96564
+ filteredCanvasFiles.value.length > 5 ? (openBlock(), createElementBlock("div", _hoisted_55$2, [
96536
96565
  createElementVNode("span", {
96537
96566
  class: "text-sm text-gray-600 hover:text-gray-800 font-bold flex items-center cursor-pointer",
96538
96567
  onClick: _cache[15] || (_cache[15] = ($event) => searchType.value = "canvases")
@@ -96547,7 +96576,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96547
96576
  ])) : createCommentVNode("", true)
96548
96577
  ])) : createCommentVNode("", true)
96549
96578
  ]),
96550
- searchError.value || shouldShowNoResults.value ? (openBlock(), createElementBlock("div", _hoisted_55$2, [
96579
+ searchError.value || shouldShowNoResults.value ? (openBlock(), createElementBlock("div", _hoisted_56$2, [
96551
96580
  createVNode(CIcon, {
96552
96581
  class: "text-6xl",
96553
96582
  color: searchError.value ? "var(--p-error)" : "var(--p-text3)",
@@ -96558,89 +96587,97 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96558
96587
  class: normalizeClass(searchError.value ? "text-error font-semibold" : "text-text2")
96559
96588
  }, toDisplayString(searchError.value || unref(t)("canvasUI.CGlobalSearch.noResults")), 3)
96560
96589
  ])) : createCommentVNode("", true)
96561
- ])) : (openBlock(), createElementBlock("div", _hoisted_56$2, [
96562
- createElementVNode("div", _hoisted_57$2, [
96563
- createElementVNode("div", _hoisted_58$2, [
96564
- searchType.value === "content" ? (openBlock(), createBlock(CIcon, {
96565
- key: 0,
96566
- class: "mr-2",
96567
- color: "var(--p-text2)",
96568
- icon: "folder",
96569
- size: "16"
96570
- })) : (openBlock(), createBlock(CIcon, {
96571
- key: 1,
96572
- class: "mr-2",
96573
- color: "var(--p-text2)",
96574
- icon: "presentation",
96575
- size: "16"
96576
- })),
96577
- createElementVNode("span", _hoisted_59$2, toDisplayString(searchType.value === "content" ? unref(t)("canvasUI.CAlgoliaSearch.sections.content") : unref(t)("canvasUI.CAlgoliaSearch.sections.pitchDecks")), 1),
96578
- createElementVNode("span", _hoisted_60$2, " (" + toDisplayString(searchType.value === "content" ? filteredContentFiles.value.length : filteredCanvasFiles.value.length) + ") ", 1)
96579
- ]),
96580
- createElementVNode("div", null, [
96581
- (openBlock(true), createElementBlock(Fragment, null, renderList(searchType.value === "content" ? filteredContentFiles.value : filteredCanvasFiles.value, (item) => {
96582
- return openBlock(), createElementBlock("div", {
96583
- key: item.id,
96584
- class: normalizeClass([
96585
- "flex items-center px-0 cursor-pointer border-b border-gray-100 w-full",
96586
- _ctx.isAdmin ? "py-3" : "py-0",
96587
- isResultSelected(item) ? "bg-gray-100" : "hover:bg-gray-50"
96588
- ]),
96589
- "data-result-selected": isResultSelected(item),
96590
- onClick: ($event) => handleResultClick(
96591
- item,
96592
- searchType.value === "content" ? item.type === "folder" ? "folder" : "file" : "canvas"
96593
- )
96594
- }, [
96595
- searchType.value === "content" && item.type === "file" ? (openBlock(), createBlock(_sfc_main$6K, {
96596
- key: 0,
96597
- class: "w-18 h-14 border-rounded-1 overflow-hidden flex-shrink-0 mr-4",
96598
- cover: "",
96599
- "file-data": item,
96600
- "object-fit": "cover",
96601
- src: item.picture_url || "",
96602
- width: "72"
96603
- }, null, 8, ["file-data", "src"])) : (openBlock(), createElementBlock("div", _hoisted_62$2, [
96604
- searchType.value === "content" ? (openBlock(), createBlock(CIcon, {
96605
- key: 0,
96606
- color: "var(--p-text2)",
96607
- icon: "folder",
96608
- size: "32"
96609
- })) : (openBlock(), createBlock(CIcon, {
96610
- key: 1,
96611
- color: "var(--p-text2)",
96612
- icon: "presentation",
96613
- size: "32"
96614
- }))
96615
- ])),
96616
- createElementVNode("div", _hoisted_63$2, [
96617
- createElementVNode("h3", _hoisted_64$2, toDisplayString(item.name), 1),
96618
- searchType.value === "content" && item.type === "file" && getSnippet(item) ? (openBlock(), createElementBlock("p", {
96619
- key: 0,
96620
- class: "text-xs text-gray-600 mb-1",
96621
- innerHTML: getSnippet(item)
96622
- }, null, 8, _hoisted_65$2)) : createCommentVNode("", true),
96623
- createElementVNode("p", _hoisted_66$2, toDisplayString(searchType.value === "content" ? item.type === "folder" ? "Folder" : item.file_category || item.content_type || "File" : formatCanvasType(item.content_type)), 1)
96624
- ]),
96625
- createElementVNode("div", _hoisted_67$2, toDisplayString(searchType.value === "content" && item.type === "folder" ? item.parent_folder?.name || "" : item.folder?.name || ""), 1)
96626
- ], 10, _hoisted_61$2);
96627
- }), 128))
96628
- ]),
96629
- searchError.value || shouldShowNoResults.value ? (openBlock(), createElementBlock("div", _hoisted_68$2, [
96590
+ ])) : (openBlock(), createElementBlock("div", _hoisted_57$2, [
96591
+ createElementVNode("div", _hoisted_58$2, [
96592
+ isSearching.value ? (openBlock(), createElementBlock("div", _hoisted_59$2, [
96630
96593
  createVNode(CIcon, {
96631
- class: "text-6xl",
96632
- color: searchError.value ? "var(--p-error)" : "var(--p-text3)",
96633
- "fa-type": "fal",
96634
- icon: searchError.value ? "exclamation-triangle" : "radar"
96635
- }, null, 8, ["color", "icon"]),
96636
- createElementVNode("p", {
96637
- class: normalizeClass(searchError.value ? "text-error font-semibold" : "text-text2")
96638
- }, toDisplayString(searchError.value || unref(t)("canvasUI.CGlobalSearch.noResults")), 3)
96639
- ])) : createCommentVNode("", true)
96594
+ class: "animate-spin text-6xl",
96595
+ color: "var(--p-primary)",
96596
+ icon: "spinner"
96597
+ })
96598
+ ])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
96599
+ createElementVNode("div", _hoisted_60$2, [
96600
+ searchType.value === "content" ? (openBlock(), createBlock(CIcon, {
96601
+ key: 0,
96602
+ class: "mr-2",
96603
+ color: "var(--p-text2)",
96604
+ icon: "folder",
96605
+ size: "16"
96606
+ })) : (openBlock(), createBlock(CIcon, {
96607
+ key: 1,
96608
+ class: "mr-2",
96609
+ color: "var(--p-text2)",
96610
+ icon: "presentation",
96611
+ size: "16"
96612
+ })),
96613
+ createElementVNode("span", _hoisted_61$2, toDisplayString(searchType.value === "content" ? unref(t)("canvasUI.CAlgoliaSearch.sections.content") : unref(t)("canvasUI.CAlgoliaSearch.sections.pitchDecks")), 1),
96614
+ createElementVNode("span", _hoisted_62$2, " (" + toDisplayString(searchType.value === "content" ? filteredContentFiles.value.length : filteredCanvasFiles.value.length) + ") ", 1)
96615
+ ]),
96616
+ createElementVNode("div", null, [
96617
+ (openBlock(true), createElementBlock(Fragment, null, renderList(searchType.value === "content" ? filteredContentFiles.value : filteredCanvasFiles.value, (item) => {
96618
+ return openBlock(), createElementBlock("div", {
96619
+ key: item.id,
96620
+ class: normalizeClass([
96621
+ "flex items-center px-0 cursor-pointer border-b border-gray-100 w-full",
96622
+ _ctx.isAdmin ? "py-3" : "py-0",
96623
+ isResultSelected(item) ? "bg-gray-100" : "hover:bg-gray-50"
96624
+ ]),
96625
+ "data-result-selected": isResultSelected(item),
96626
+ onClick: ($event) => handleResultClick(
96627
+ item,
96628
+ searchType.value === "content" ? item.type === "folder" ? "folder" : "file" : "canvas"
96629
+ )
96630
+ }, [
96631
+ searchType.value === "content" && item.type === "file" ? (openBlock(), createBlock(_sfc_main$6K, {
96632
+ key: 0,
96633
+ class: "w-18 h-14 border-rounded-1 overflow-hidden flex-shrink-0 mr-4",
96634
+ cover: "",
96635
+ "file-data": item,
96636
+ "object-fit": "cover",
96637
+ src: item.picture_url || "",
96638
+ width: "72"
96639
+ }, null, 8, ["file-data", "src"])) : (openBlock(), createElementBlock("div", _hoisted_64$2, [
96640
+ searchType.value === "content" ? (openBlock(), createBlock(CIcon, {
96641
+ key: 0,
96642
+ color: "var(--p-text2)",
96643
+ icon: "folder",
96644
+ size: "32"
96645
+ })) : (openBlock(), createBlock(CIcon, {
96646
+ key: 1,
96647
+ color: "var(--p-text2)",
96648
+ icon: "presentation",
96649
+ size: "32"
96650
+ }))
96651
+ ])),
96652
+ createElementVNode("div", _hoisted_65$2, [
96653
+ createElementVNode("h3", _hoisted_66$2, toDisplayString(item.name), 1),
96654
+ searchType.value === "content" && item.type === "file" && getSnippet(item) ? (openBlock(), createElementBlock("p", {
96655
+ key: 0,
96656
+ class: "text-xs text-gray-600 mb-1",
96657
+ innerHTML: getSnippet(item)
96658
+ }, null, 8, _hoisted_67$2)) : createCommentVNode("", true),
96659
+ createElementVNode("p", _hoisted_68$2, toDisplayString(searchType.value === "content" ? item.type === "folder" ? "Folder" : item.file_category || item.content_type || "File" : formatCanvasType(item.content_type)), 1)
96660
+ ]),
96661
+ createElementVNode("div", _hoisted_69$1, toDisplayString(searchType.value === "content" && item.type === "folder" ? item.parent_folder?.name || "" : item.folder?.name || ""), 1)
96662
+ ], 10, _hoisted_63$2);
96663
+ }), 128))
96664
+ ]),
96665
+ searchError.value || shouldShowNoResults.value ? (openBlock(), createElementBlock("div", _hoisted_70$1, [
96666
+ createVNode(CIcon, {
96667
+ class: "text-6xl",
96668
+ color: searchError.value ? "var(--p-error)" : "var(--p-text3)",
96669
+ "fa-type": "fal",
96670
+ icon: searchError.value ? "exclamation-triangle" : "radar"
96671
+ }, null, 8, ["color", "icon"]),
96672
+ createElementVNode("p", {
96673
+ class: normalizeClass(searchError.value ? "text-error font-semibold" : "text-text2")
96674
+ }, toDisplayString(searchError.value || unref(t)("canvasUI.CGlobalSearch.noResults")), 3)
96675
+ ])) : createCommentVNode("", true)
96676
+ ], 64))
96640
96677
  ])
96641
96678
  ]))
96642
96679
  ]),
96643
- !showRecentView.value ? (openBlock(), createElementBlock("div", _hoisted_69$1, [
96680
+ !showRecentView.value ? (openBlock(), createElementBlock("div", _hoisted_71$1, [
96644
96681
  createVNode(CShortcut, null, {
96645
96682
  default: withCtx(() => [
96646
96683
  createVNode(CShortcutIcon, { icon: "arrow-up" }),
@@ -96682,7 +96719,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96682
96719
  }
96683
96720
  });
96684
96721
 
96685
- const CAlgoliaSearch = /* @__PURE__ */ _export_sfc(_sfc_main$5K, [["__scopeId", "data-v-c5f0443f"]]);
96722
+ const CAlgoliaSearch = /* @__PURE__ */ _export_sfc(_sfc_main$5K, [["__scopeId", "data-v-9e56c429"]]);
96686
96723
 
96687
96724
  const BulletListExtended = BulletList.extend({
96688
96725
  addOptions() {