@pitcher/canvas-ui 2025.12.22-90449 → 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
@@ -95268,66 +95268,74 @@ const _hoisted_30$4 = {
95268
95268
  const _hoisted_31$4 = { class: "w-full px-0" };
95269
95269
  const _hoisted_32$4 = {
95270
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,
95271
95275
  class: "mb-0"
95272
95276
  };
95273
- const _hoisted_33$4 = { class: "flex items-center px-0 pt-2 pb-1" };
95274
- const _hoisted_34$4 = { class: "text-m font-semibold text-gray-900" };
95275
- const _hoisted_35$4 = { class: "ml-2 text-sm text-gray-500" };
95276
- const _hoisted_36$4 = ["data-result-selected", "onClick"];
95277
- 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 = {
95278
95282
  key: 1,
95279
95283
  class: "w-18 h-14 border-rounded-1 mr-4 flex-shrink-0 bg-gray-200 flex items-center justify-center"
95280
95284
  };
95281
- const _hoisted_38$4 = { class: "flex-1 min-w-0" };
95282
- const _hoisted_39$4 = { class: "text-sm font-bold text-gray-900 truncate mb-1" };
95283
- const _hoisted_40$4 = ["innerHTML"];
95284
- const _hoisted_41$4 = { class: "text-xs text-gray-500" };
95285
- const _hoisted_42$4 = { class: "text-xs text-gray-400" };
95286
- 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 = {
95287
95291
  key: 0,
95288
95292
  class: "px-0 py-0"
95289
95293
  };
95290
- const _hoisted_44$4 = { key: 1 };
95291
- const _hoisted_45$4 = { class: "flex items-center px-0 pt-2 pb-1" };
95292
- const _hoisted_46$4 = { class: "text-m font-semibold text-gray-900" };
95293
- const _hoisted_47$4 = { class: "ml-2 text-sm text-gray-500" };
95294
- const _hoisted_48$4 = ["data-result-selected", "onClick"];
95295
- 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" };
95296
- const _hoisted_50$4 = { class: "flex-1 min-w-0" };
95297
- const _hoisted_51$3 = { class: "text-sm font-bold text-gray-900 truncate mb-1" };
95298
- const _hoisted_52$3 = { class: "text-xs text-gray-500" };
95299
- const _hoisted_53$3 = { class: "text-xs text-gray-400" };
95300
- 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 = {
95301
95305
  key: 0,
95302
95306
  class: "px-0 py-0"
95303
95307
  };
95304
- const _hoisted_55$2 = {
95308
+ const _hoisted_56$2 = {
95305
95309
  key: 0,
95306
95310
  class: "flex flex-col items-center justify-center text-center p-8 gap-4"
95307
95311
  };
95308
- const _hoisted_56$2 = {
95312
+ const _hoisted_57$2 = {
95309
95313
  key: 2,
95310
95314
  class: "flex-1 overflow-y-auto bg-white w-full"
95311
95315
  };
95312
- const _hoisted_57$2 = { class: "w-full px-0" };
95313
- const _hoisted_58$2 = { class: "flex items-center px-0 pt-2 pb-1" };
95314
- const _hoisted_59$2 = { class: "text-m font-semibold text-gray-900" };
95315
- const _hoisted_60$2 = { class: "ml-2 text-sm text-gray-500" };
95316
- const _hoisted_61$2 = ["data-result-selected", "onClick"];
95317
- 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 = {
95318
95326
  key: 1,
95319
95327
  class: "w-18 h-14 border-rounded-1 mr-4 flex-shrink-0 bg-gray-200 flex items-center justify-center"
95320
95328
  };
95321
- const _hoisted_63$2 = { class: "flex-1 min-w-0" };
95322
- const _hoisted_64$2 = { class: "text-sm font-bold text-gray-900 truncate mb-1" };
95323
- const _hoisted_65$2 = ["innerHTML"];
95324
- const _hoisted_66$2 = { class: "text-xs text-gray-500" };
95325
- const _hoisted_67$2 = { class: "text-xs text-gray-400" };
95326
- 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 = {
95327
95335
  key: 0,
95328
95336
  class: "flex flex-col items-center justify-center text-center p-8 gap-4"
95329
95337
  };
95330
- const _hoisted_69$1 = {
95338
+ const _hoisted_71$1 = {
95331
95339
  key: 0,
95332
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"
95333
95341
  };
@@ -95357,13 +95365,13 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95357
95365
  const fileTypeOptions = [
95358
95366
  { label: "Folder", value: "folder" },
95359
95367
  { label: "PDF", value: "pdf" },
95360
- { label: "Image", value: "image" },
95361
- { label: "Audio", value: "audio" },
95362
- { label: "Video", value: "video" },
95363
95368
  { label: "Document", value: "document" },
95364
95369
  { label: "Presentation", value: "presentation" },
95365
95370
  { label: "Spreadsheet", value: "spreadsheet" },
95366
- { label: "Font", value: "font" },
95371
+ { label: "Image", value: "image" },
95372
+ { label: "Video", value: "video" },
95373
+ { label: "Audio", value: "audio" },
95374
+ { label: "AR", value: "ar" },
95367
95375
  { label: "Web", value: "web" }
95368
95376
  ];
95369
95377
  const hasActiveFilters = computed(() => selectedFileTypes.value.length > 0 || selectedCanvasFilters.value.length > 0);
@@ -95377,6 +95385,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95377
95385
  selectedCanvasFilters.value = [];
95378
95386
  searchType.value = null;
95379
95387
  if (searchQuery.value.trim()) {
95388
+ skipNextSuggestionFetch.value = true;
95380
95389
  performSearch(searchQuery.value);
95381
95390
  }
95382
95391
  };
@@ -95625,11 +95634,9 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95625
95634
  "audio",
95626
95635
  "video",
95627
95636
  "document",
95628
- "docx",
95629
- "pptx",
95630
95637
  "presentation",
95631
95638
  "spreadsheet",
95632
- "font",
95639
+ "ar",
95633
95640
  "web"
95634
95641
  ];
95635
95642
  const validCanvasFilters = selectedCanvasFilters.value.filter((f) => ALLOWED_CANVAS_TYPES.includes(f));
@@ -95714,9 +95721,12 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95714
95721
  if (searchTimer) clearTimeout(searchTimer);
95715
95722
  filterChangeTimer = setTimeout(() => {
95716
95723
  if (searchQuery.value.trim() && !showRecentView.value) {
95724
+ skipNextSuggestionFetch.value = true;
95717
95725
  performSearch(searchQuery.value);
95726
+ } else {
95727
+ skipNextSuggestionFetch.value = false;
95718
95728
  }
95719
- }, 300);
95729
+ }, 500);
95720
95730
  };
95721
95731
  const handleSearchInput = (query) => {
95722
95732
  const validatedQuery = validateSearchInput(query);
@@ -95731,7 +95741,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95731
95741
  if (searchTimer) clearTimeout(searchTimer);
95732
95742
  searchTimer = setTimeout(() => {
95733
95743
  performSearch(validatedQuery);
95734
- }, 300);
95744
+ }, 500);
95735
95745
  if (saveSearchTimer) clearTimeout(saveSearchTimer);
95736
95746
  saveSearchTimer = setTimeout(() => {
95737
95747
  saveSearchTerm(validatedQuery);
@@ -95769,6 +95779,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95769
95779
  return;
95770
95780
  }
95771
95781
  try {
95782
+ skipNextSuggestionFetch.value = true;
95772
95783
  searchQuery.value = validatedSearchTerm;
95773
95784
  showRecentView.value = false;
95774
95785
  querySuggestions.value = [];
@@ -95776,6 +95787,8 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
95776
95787
  await performSearch(validatedSearchTerm);
95777
95788
  } catch (error) {
95778
95789
  console.error("[handleRecentSearchClick] Search failed:", error);
95790
+ } finally {
95791
+ skipNextSuggestionFetch.value = false;
95779
95792
  }
95780
95793
  };
95781
95794
  const handleSuggestionClick = async (suggestion) => {
@@ -96221,7 +96234,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96221
96234
  (openBlock(), createElementBlock(Fragment, null, renderList(fileTypeOptions, (option) => {
96222
96235
  return createElementVNode("div", {
96223
96236
  key: option.value,
96224
- class: "w-full h-8 flex items-center"
96237
+ class: "w-full h-7 flex items-center"
96225
96238
  }, [
96226
96239
  createVNode(unref(NCheckbox), {
96227
96240
  checked: selectedFileTypes.value.includes(option.value),
@@ -96439,16 +96452,22 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96439
96452
  ], 64)) : createCommentVNode("", true)
96440
96453
  ])) : !searchType.value ? (openBlock(), createElementBlock("div", _hoisted_30$4, [
96441
96454
  createElementVNode("div", _hoisted_31$4, [
96442
- filteredContentFiles.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_32$4, [
96443
- 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, [
96444
96463
  createVNode(CIcon, {
96445
96464
  class: "mr-2",
96446
96465
  color: "var(--p-text2)",
96447
96466
  icon: "folder",
96448
96467
  size: "16"
96449
96468
  }),
96450
- createElementVNode("span", _hoisted_34$4, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.sections.content")), 1),
96451
- 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)
96452
96471
  ]),
96453
96472
  createElementVNode("div", null, [
96454
96473
  (openBlock(true), createElementBlock(Fragment, null, renderList(filteredContentFiles.value.slice(0, 5), (item) => {
@@ -96470,27 +96489,27 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96470
96489
  "object-fit": "cover",
96471
96490
  src: item.picture_url || "",
96472
96491
  width: "72"
96473
- }, null, 8, ["file-data", "src"])) : (openBlock(), createElementBlock("div", _hoisted_37$4, [
96492
+ }, null, 8, ["file-data", "src"])) : (openBlock(), createElementBlock("div", _hoisted_38$4, [
96474
96493
  createVNode(CIcon, {
96475
96494
  color: "var(--p-text2)",
96476
96495
  icon: "folder",
96477
96496
  size: "32"
96478
96497
  })
96479
96498
  ])),
96480
- createElementVNode("div", _hoisted_38$4, [
96481
- 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),
96482
96501
  item.type === "file" && getSnippet(item) ? (openBlock(), createElementBlock("p", {
96483
96502
  key: 0,
96484
96503
  class: "text-xs text-gray-600 mb-1",
96485
96504
  innerHTML: getSnippet(item)
96486
- }, null, 8, _hoisted_40$4)) : createCommentVNode("", true),
96487
- 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)
96488
96507
  ]),
96489
- createElementVNode("div", _hoisted_42$4, toDisplayString(item.type === "folder" ? item.parent_folder?.name || "" : item.folder?.name || ""), 1)
96490
- ], 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);
96491
96510
  }), 128))
96492
96511
  ]),
96493
- filteredContentFiles.value.length > 5 ? (openBlock(), createElementBlock("div", _hoisted_43$4, [
96512
+ filteredContentFiles.value.length > 5 ? (openBlock(), createElementBlock("div", _hoisted_44$4, [
96494
96513
  createElementVNode("span", {
96495
96514
  class: "text-sm text-gray-600 hover:text-gray-800 font-bold flex items-center cursor-pointer",
96496
96515
  onClick: _cache[14] || (_cache[14] = ($event) => searchType.value = "content")
@@ -96504,16 +96523,16 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96504
96523
  ])
96505
96524
  ])) : createCommentVNode("", true)
96506
96525
  ])) : createCommentVNode("", true),
96507
- filteredCanvasFiles.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_44$4, [
96508
- createElementVNode("div", _hoisted_45$4, [
96526
+ filteredCanvasFiles.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_45$4, [
96527
+ createElementVNode("div", _hoisted_46$4, [
96509
96528
  createVNode(CIcon, {
96510
96529
  class: "mr-2",
96511
96530
  color: "var(--p-text2)",
96512
96531
  icon: "presentation",
96513
96532
  size: "16"
96514
96533
  }),
96515
- createElementVNode("span", _hoisted_46$4, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.sections.pitchDecks")), 1),
96516
- 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)
96517
96536
  ]),
96518
96537
  createElementVNode("div", null, [
96519
96538
  (openBlock(true), createElementBlock(Fragment, null, renderList(filteredCanvasFiles.value.slice(0, 5), (item) => {
@@ -96527,22 +96546,22 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96527
96546
  "data-result-selected": isResultSelected(item),
96528
96547
  onClick: ($event) => handleResultClick(item, "canvas")
96529
96548
  }, [
96530
- createElementVNode("div", _hoisted_49$4, [
96549
+ createElementVNode("div", _hoisted_50$4, [
96531
96550
  createVNode(CIcon, {
96532
96551
  color: "var(--p-text2)",
96533
96552
  icon: "presentation",
96534
96553
  size: "32"
96535
96554
  })
96536
96555
  ]),
96537
- createElementVNode("div", _hoisted_50$4, [
96538
- createElementVNode("h3", _hoisted_51$3, toDisplayString(item.name), 1),
96539
- 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)
96540
96559
  ]),
96541
- createElementVNode("div", _hoisted_53$3, toDisplayString(item.folder?.name || ""), 1)
96542
- ], 10, _hoisted_48$4);
96560
+ createElementVNode("div", _hoisted_54$2, toDisplayString(item.folder?.name || ""), 1)
96561
+ ], 10, _hoisted_49$4);
96543
96562
  }), 128))
96544
96563
  ]),
96545
- filteredCanvasFiles.value.length > 5 ? (openBlock(), createElementBlock("div", _hoisted_54$2, [
96564
+ filteredCanvasFiles.value.length > 5 ? (openBlock(), createElementBlock("div", _hoisted_55$2, [
96546
96565
  createElementVNode("span", {
96547
96566
  class: "text-sm text-gray-600 hover:text-gray-800 font-bold flex items-center cursor-pointer",
96548
96567
  onClick: _cache[15] || (_cache[15] = ($event) => searchType.value = "canvases")
@@ -96557,7 +96576,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96557
96576
  ])) : createCommentVNode("", true)
96558
96577
  ])) : createCommentVNode("", true)
96559
96578
  ]),
96560
- searchError.value || shouldShowNoResults.value ? (openBlock(), createElementBlock("div", _hoisted_55$2, [
96579
+ searchError.value || shouldShowNoResults.value ? (openBlock(), createElementBlock("div", _hoisted_56$2, [
96561
96580
  createVNode(CIcon, {
96562
96581
  class: "text-6xl",
96563
96582
  color: searchError.value ? "var(--p-error)" : "var(--p-text3)",
@@ -96568,89 +96587,97 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96568
96587
  class: normalizeClass(searchError.value ? "text-error font-semibold" : "text-text2")
96569
96588
  }, toDisplayString(searchError.value || unref(t)("canvasUI.CGlobalSearch.noResults")), 3)
96570
96589
  ])) : createCommentVNode("", true)
96571
- ])) : (openBlock(), createElementBlock("div", _hoisted_56$2, [
96572
- createElementVNode("div", _hoisted_57$2, [
96573
- createElementVNode("div", _hoisted_58$2, [
96574
- searchType.value === "content" ? (openBlock(), createBlock(CIcon, {
96575
- key: 0,
96576
- class: "mr-2",
96577
- color: "var(--p-text2)",
96578
- icon: "folder",
96579
- size: "16"
96580
- })) : (openBlock(), createBlock(CIcon, {
96581
- key: 1,
96582
- class: "mr-2",
96583
- color: "var(--p-text2)",
96584
- icon: "presentation",
96585
- size: "16"
96586
- })),
96587
- createElementVNode("span", _hoisted_59$2, toDisplayString(searchType.value === "content" ? unref(t)("canvasUI.CAlgoliaSearch.sections.content") : unref(t)("canvasUI.CAlgoliaSearch.sections.pitchDecks")), 1),
96588
- createElementVNode("span", _hoisted_60$2, " (" + toDisplayString(searchType.value === "content" ? filteredContentFiles.value.length : filteredCanvasFiles.value.length) + ") ", 1)
96589
- ]),
96590
- createElementVNode("div", null, [
96591
- (openBlock(true), createElementBlock(Fragment, null, renderList(searchType.value === "content" ? filteredContentFiles.value : filteredCanvasFiles.value, (item) => {
96592
- return openBlock(), createElementBlock("div", {
96593
- key: item.id,
96594
- class: normalizeClass([
96595
- "flex items-center px-0 cursor-pointer border-b border-gray-100 w-full",
96596
- _ctx.isAdmin ? "py-3" : "py-0",
96597
- isResultSelected(item) ? "bg-gray-100" : "hover:bg-gray-50"
96598
- ]),
96599
- "data-result-selected": isResultSelected(item),
96600
- onClick: ($event) => handleResultClick(
96601
- item,
96602
- searchType.value === "content" ? item.type === "folder" ? "folder" : "file" : "canvas"
96603
- )
96604
- }, [
96605
- searchType.value === "content" && item.type === "file" ? (openBlock(), createBlock(_sfc_main$6K, {
96606
- key: 0,
96607
- class: "w-18 h-14 border-rounded-1 overflow-hidden flex-shrink-0 mr-4",
96608
- cover: "",
96609
- "file-data": item,
96610
- "object-fit": "cover",
96611
- src: item.picture_url || "",
96612
- width: "72"
96613
- }, null, 8, ["file-data", "src"])) : (openBlock(), createElementBlock("div", _hoisted_62$2, [
96614
- searchType.value === "content" ? (openBlock(), createBlock(CIcon, {
96615
- key: 0,
96616
- color: "var(--p-text2)",
96617
- icon: "folder",
96618
- size: "32"
96619
- })) : (openBlock(), createBlock(CIcon, {
96620
- key: 1,
96621
- color: "var(--p-text2)",
96622
- icon: "presentation",
96623
- size: "32"
96624
- }))
96625
- ])),
96626
- createElementVNode("div", _hoisted_63$2, [
96627
- createElementVNode("h3", _hoisted_64$2, toDisplayString(item.name), 1),
96628
- searchType.value === "content" && item.type === "file" && getSnippet(item) ? (openBlock(), createElementBlock("p", {
96629
- key: 0,
96630
- class: "text-xs text-gray-600 mb-1",
96631
- innerHTML: getSnippet(item)
96632
- }, null, 8, _hoisted_65$2)) : createCommentVNode("", true),
96633
- 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)
96634
- ]),
96635
- createElementVNode("div", _hoisted_67$2, toDisplayString(searchType.value === "content" && item.type === "folder" ? item.parent_folder?.name || "" : item.folder?.name || ""), 1)
96636
- ], 10, _hoisted_61$2);
96637
- }), 128))
96638
- ]),
96639
- 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, [
96640
96593
  createVNode(CIcon, {
96641
- class: "text-6xl",
96642
- color: searchError.value ? "var(--p-error)" : "var(--p-text3)",
96643
- "fa-type": "fal",
96644
- icon: searchError.value ? "exclamation-triangle" : "radar"
96645
- }, null, 8, ["color", "icon"]),
96646
- createElementVNode("p", {
96647
- class: normalizeClass(searchError.value ? "text-error font-semibold" : "text-text2")
96648
- }, toDisplayString(searchError.value || unref(t)("canvasUI.CGlobalSearch.noResults")), 3)
96649
- ])) : 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))
96650
96677
  ])
96651
96678
  ]))
96652
96679
  ]),
96653
- !showRecentView.value ? (openBlock(), createElementBlock("div", _hoisted_69$1, [
96680
+ !showRecentView.value ? (openBlock(), createElementBlock("div", _hoisted_71$1, [
96654
96681
  createVNode(CShortcut, null, {
96655
96682
  default: withCtx(() => [
96656
96683
  createVNode(CShortcutIcon, { icon: "arrow-up" }),
@@ -96692,7 +96719,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
96692
96719
  }
96693
96720
  });
96694
96721
 
96695
- 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"]]);
96696
96723
 
96697
96724
  const BulletListExtended = BulletList.extend({
96698
96725
  addOptions() {