@cnc_cbz/usefultools-plugin-official 1.0.6 → 1.0.8

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.
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, watch, openBlock, createElementBlock, createCommentVNode, createElementVNode, normalizeClass, toDisplayString, createTextVNode, Fragment, withDirectives, renderList, vModelSelect, unref, vModelText, createBlock, Teleport } from "vue";
1
+ import { defineComponent, ref, watch, computed, openBlock, createElementBlock, createCommentVNode, createElementVNode, normalizeClass, toDisplayString, createTextVNode, Fragment, withDirectives, renderList, vModelSelect, unref, vModelText, createBlock, Teleport, vModelDynamic } from "vue";
2
2
  import { fetch } from "@tauri-apps/plugin-http";
3
3
  const _hoisted_1 = { class: "flex flex-col h-full gap-4" };
4
4
  const _hoisted_2 = { class: "flex flex-wrap items-center gap-3" };
@@ -51,9 +51,21 @@ const _hoisted_25 = {
51
51
  };
52
52
  const _hoisted_26 = { class: "relative w-full max-w-lg bg-deep-charcoal border-4 border-black rounded-xl shadow-hard-xl p-6 flex flex-col gap-4" };
53
53
  const _hoisted_27 = { class: "flex items-center gap-2" };
54
- const _hoisted_28 = { class: "flex flex-col gap-1.5" };
55
- const _hoisted_29 = { class: "flex flex-col gap-1.5" };
56
- const _hoisted_30 = { class: "flex justify-end gap-3 mt-1" };
54
+ const _hoisted_28 = {
55
+ key: 0,
56
+ class: "flex flex-col gap-1.5"
57
+ };
58
+ const _hoisted_29 = { class: "relative" };
59
+ const _hoisted_30 = ["type"];
60
+ const _hoisted_31 = { class: "material-icons text-base" };
61
+ const _hoisted_32 = {
62
+ key: 1,
63
+ class: "flex flex-col gap-1.5"
64
+ };
65
+ const _hoisted_33 = { class: "relative" };
66
+ const _hoisted_34 = ["type"];
67
+ const _hoisted_35 = { class: "material-icons text-base" };
68
+ const _hoisted_36 = { class: "flex justify-end gap-3 mt-1" };
57
69
  const GOOGLE_KEY = "translator-google-api-key";
58
70
  const AI_KEY = "translator-ai-api-key";
59
71
  const AI_MODEL_KEY = "translator-ai-model";
@@ -69,6 +81,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
69
81
  const showSettings = ref(false);
70
82
  const googleKeyInput = ref("");
71
83
  const aiKeyInput = ref("");
84
+ const showGoogleKey = ref(false);
85
+ const showAiKey = ref(false);
86
+ const hasGoogleApiKey = computed(() => !!googleApiKey.value.trim());
87
+ const hasAiApiKey = computed(() => !!aiApiKey.value.trim());
88
+ const hasCurrentApiKey = computed(() => engine.value === "google" ? hasGoogleApiKey.value : hasAiApiKey.value);
89
+ const canToggleGoogleKey = computed(() => !!googleKeyInput.value.trim());
90
+ const canToggleAiKey = computed(() => !!aiKeyInput.value.trim());
72
91
  const aiModel = ref(localStorage.getItem(AI_MODEL_KEY) || DEFAULT_MODEL);
73
92
  const aiModels = ref([]);
74
93
  const modelsLoading = ref(false);
@@ -135,6 +154,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
135
154
  function openSettings() {
136
155
  googleKeyInput.value = googleApiKey.value;
137
156
  aiKeyInput.value = aiApiKey.value;
157
+ showGoogleKey.value = false;
158
+ showAiKey.value = false;
138
159
  showSettings.value = true;
139
160
  }
140
161
  function saveKeys() {
@@ -248,8 +269,9 @@ ${sourceText.value}`;
248
269
  }
249
270
  }
250
271
  async function copyResult() {
251
- if (!translatedText.value) return;
252
- await navigator.clipboard.writeText(translatedText.value);
272
+ const textToCopy = translatedText.value.trim();
273
+ if (!textToCopy) return;
274
+ await navigator.clipboard.writeText(textToCopy);
253
275
  copySuccess.value = true;
254
276
  setTimeout(() => {
255
277
  copySuccess.value = false;
@@ -294,6 +316,7 @@ ${sourceText.value}`;
294
316
  function onTextareaKeydown(e) {
295
317
  if (engine.value === "ai" && e.key === "Enter" && !e.shiftKey) {
296
318
  e.preventDefault();
319
+ e.stopPropagation();
297
320
  translate();
298
321
  }
299
322
  }
@@ -351,19 +374,19 @@ ${sourceText.value}`;
351
374
  class: "h-9 px-3 bg-deep-charcoal text-gray-300 font-bold border-2 border-white/20 rounded hover:border-primary hover:text-primary transition-all text-sm flex items-center gap-1.5",
352
375
  onClick: openSettings
353
376
  }, [
354
- _cache[11] || (_cache[11] = createElementVNode(
377
+ _cache[13] || (_cache[13] = createElementVNode(
355
378
  "span",
356
379
  { class: "material-icons text-lg" },
357
380
  "key",
358
381
  -1
359
382
  /* CACHED */
360
383
  )),
361
- _cache[12] || (_cache[12] = createTextVNode(
384
+ _cache[14] || (_cache[14] = createTextVNode(
362
385
  " API Key ",
363
386
  -1
364
387
  /* CACHED */
365
388
  )),
366
- engine.value === "google" && googleApiKey.value || engine.value === "ai" && aiApiKey.value ? (openBlock(), createElementBlock("span", _hoisted_5)) : (openBlock(), createElementBlock("span", _hoisted_6))
389
+ hasCurrentApiKey.value ? (openBlock(), createElementBlock("span", _hoisted_5)) : (openBlock(), createElementBlock("span", _hoisted_6))
367
390
  ]),
368
391
  createCommentVNode(" AI 模型选择 "),
369
392
  engine.value === "ai" ? (openBlock(), createElementBlock(
@@ -371,7 +394,7 @@ ${sourceText.value}`;
371
394
  { key: 0 },
372
395
  [
373
396
  createElementVNode("div", _hoisted_7, [
374
- _cache[14] || (_cache[14] = createElementVNode(
397
+ _cache[16] || (_cache[16] = createElementVNode(
375
398
  "span",
376
399
  { class: "material-icons text-vibrant-purple text-base" },
377
400
  "smart_toy",
@@ -414,7 +437,7 @@ ${sourceText.value}`;
414
437
  title: "刷新模型列表",
415
438
  onClick: fetchModels
416
439
  },
417
- [..._cache[13] || (_cache[13] = [
440
+ [..._cache[15] || (_cache[15] = [
418
441
  createElementVNode(
419
442
  "span",
420
443
  { class: "material-icons text-sm" },
@@ -469,7 +492,7 @@ ${sourceText.value}`;
469
492
  createElementVNode("button", {
470
493
  class: "w-8 h-8 flex items-center justify-center bg-deep-charcoal border-2 border-white/20 rounded-full hover:border-primary hover:text-primary transition-all",
471
494
  onClick: swapLangs
472
- }, [..._cache[15] || (_cache[15] = [
495
+ }, [..._cache[17] || (_cache[17] = [
473
496
  createElementVNode(
474
497
  "span",
475
498
  { class: "material-icons text-base" },
@@ -506,7 +529,7 @@ ${sourceText.value}`;
506
529
  ]),
507
530
  createCommentVNode(" Error bar "),
508
531
  errorMsg.value ? (openBlock(), createElementBlock("div", _hoisted_14, [
509
- _cache[16] || (_cache[16] = createElementVNode(
532
+ _cache[18] || (_cache[18] = createElementVNode(
510
533
  "span",
511
534
  { class: "material-icons text-lg" },
512
535
  "error_outline",
@@ -523,7 +546,7 @@ ${sourceText.value}`;
523
546
  createElementVNode("div", _hoisted_15, [
524
547
  createCommentVNode(" 源文本 "),
525
548
  createElementVNode("div", _hoisted_16, [
526
- _cache[17] || (_cache[17] = createElementVNode(
549
+ _cache[19] || (_cache[19] = createElementVNode(
527
550
  "div",
528
551
  { class: "flex items-center gap-2 mb-2" },
529
552
  [
@@ -546,14 +569,14 @@ ${sourceText.value}`;
546
569
  createCommentVNode(" 翻译结果 "),
547
570
  createElementVNode("div", _hoisted_18, [
548
571
  createElementVNode("div", _hoisted_19, [
549
- _cache[18] || (_cache[18] = createElementVNode(
572
+ _cache[20] || (_cache[20] = createElementVNode(
550
573
  "span",
551
574
  { class: "material-icons text-neon-green text-lg" },
552
575
  "g_translate",
553
576
  -1
554
577
  /* CACHED */
555
578
  )),
556
- _cache[19] || (_cache[19] = createElementVNode(
579
+ _cache[21] || (_cache[21] = createElementVNode(
557
580
  "span",
558
581
  { class: "text-sm font-bold text-gray-400 uppercase tracking-wider" },
559
582
  "译文",
@@ -586,7 +609,7 @@ ${sourceText.value}`;
586
609
  )) : createCommentVNode("v-if", true)
587
610
  ]),
588
611
  createElementVNode("div", _hoisted_21, [
589
- loading.value && engine.value === "google" ? (openBlock(), createElementBlock("div", _hoisted_22, [..._cache[20] || (_cache[20] = [
612
+ loading.value && engine.value === "google" ? (openBlock(), createElementBlock("div", _hoisted_22, [..._cache[22] || (_cache[22] = [
590
613
  createElementVNode(
591
614
  "span",
592
615
  { class: "material-icons text-primary text-base animate-spin" },
@@ -618,14 +641,14 @@ ${sourceText.value}`;
618
641
  }),
619
642
  createElementVNode("div", _hoisted_26, [
620
643
  createElementVNode("div", _hoisted_27, [
621
- _cache[22] || (_cache[22] = createElementVNode(
644
+ _cache[24] || (_cache[24] = createElementVNode(
622
645
  "span",
623
646
  { class: "material-icons text-primary text-xl" },
624
647
  "key",
625
648
  -1
626
649
  /* CACHED */
627
650
  )),
628
- _cache[23] || (_cache[23] = createElementVNode(
651
+ _cache[25] || (_cache[25] = createElementVNode(
629
652
  "span",
630
653
  { class: "text-lg font-bold text-white" },
631
654
  "配置 API Key",
@@ -635,7 +658,7 @@ ${sourceText.value}`;
635
658
  createElementVNode("button", {
636
659
  class: "ml-auto w-8 h-8 flex items-center justify-center text-gray-400 hover:text-white transition-colors",
637
660
  onClick: _cache[7] || (_cache[7] = ($event) => showSettings.value = false)
638
- }, [..._cache[21] || (_cache[21] = [
661
+ }, [..._cache[23] || (_cache[23] = [
639
662
  createElementVNode(
640
663
  "span",
641
664
  { class: "material-icons" },
@@ -645,65 +668,81 @@ ${sourceText.value}`;
645
668
  )
646
669
  ])])
647
670
  ]),
648
- createCommentVNode(" Google API Key "),
649
- createElementVNode("div", _hoisted_28, [
650
- _cache[24] || (_cache[24] = createElementVNode(
671
+ createCommentVNode(" 当前引擎 API Key "),
672
+ engine.value === "google" ? (openBlock(), createElementBlock("div", _hoisted_28, [
673
+ _cache[26] || (_cache[26] = createElementVNode(
651
674
  "label",
652
675
  { class: "text-xs font-bold text-gray-400 uppercase tracking-wider" },
653
676
  "Google Translation API Key",
654
677
  -1
655
678
  /* CACHED */
656
679
  )),
657
- withDirectives(createElementVNode(
658
- "input",
659
- {
680
+ createElementVNode("div", _hoisted_29, [
681
+ withDirectives(createElementVNode("input", {
660
682
  "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => googleKeyInput.value = $event),
661
- type: "password",
683
+ type: showGoogleKey.value ? "text" : "password",
662
684
  placeholder: "AIzaSy...",
663
- class: "w-full bg-bg-dark text-gray-100 border-2 border-black rounded-lg px-4 py-2.5 font-mono text-sm outline-none focus:border-primary transition-colors placeholder-gray-600"
664
- },
665
- null,
666
- 512
667
- /* NEED_PATCH */
668
- ), [
669
- [vModelText, googleKeyInput.value]
685
+ class: "api-key-input w-full bg-bg-dark text-gray-100 border-2 border-black rounded-lg px-4 py-2.5 pr-11 font-mono text-sm outline-none focus:border-primary transition-colors placeholder-gray-600"
686
+ }, null, 8, _hoisted_30), [
687
+ [vModelDynamic, googleKeyInput.value]
688
+ ]),
689
+ canToggleGoogleKey.value ? (openBlock(), createElementBlock("button", {
690
+ key: 0,
691
+ class: "absolute right-2 top-1/2 -translate-y-1/2 w-7 h-7 flex items-center justify-center text-gray-400 hover:text-primary transition-colors",
692
+ onClick: _cache[9] || (_cache[9] = ($event) => showGoogleKey.value = !showGoogleKey.value)
693
+ }, [
694
+ createElementVNode(
695
+ "span",
696
+ _hoisted_31,
697
+ toDisplayString(showGoogleKey.value ? "visibility_off" : "visibility"),
698
+ 1
699
+ /* TEXT */
700
+ )
701
+ ])) : createCommentVNode("v-if", true)
670
702
  ])
671
- ]),
672
- createCommentVNode(" SiliconFlow API Key "),
673
- createElementVNode("div", _hoisted_29, [
674
- _cache[25] || (_cache[25] = createElementVNode(
703
+ ])) : (openBlock(), createElementBlock("div", _hoisted_32, [
704
+ _cache[27] || (_cache[27] = createElementVNode(
675
705
  "label",
676
706
  { class: "text-xs font-bold text-gray-400 uppercase tracking-wider" },
677
707
  "SiliconFlow API Key(AI 翻译)",
678
708
  -1
679
709
  /* CACHED */
680
710
  )),
681
- withDirectives(createElementVNode(
682
- "input",
683
- {
684
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => aiKeyInput.value = $event),
685
- type: "password",
711
+ createElementVNode("div", _hoisted_33, [
712
+ withDirectives(createElementVNode("input", {
713
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => aiKeyInput.value = $event),
714
+ type: showAiKey.value ? "text" : "password",
686
715
  placeholder: "sk-...",
687
- class: "w-full bg-bg-dark text-gray-100 border-2 border-black rounded-lg px-4 py-2.5 font-mono text-sm outline-none focus:border-primary transition-colors placeholder-gray-600"
688
- },
689
- null,
690
- 512
691
- /* NEED_PATCH */
692
- ), [
693
- [vModelText, aiKeyInput.value]
716
+ class: "api-key-input w-full bg-bg-dark text-gray-100 border-2 border-black rounded-lg px-4 py-2.5 pr-11 font-mono text-sm outline-none focus:border-primary transition-colors placeholder-gray-600"
717
+ }, null, 8, _hoisted_34), [
718
+ [vModelDynamic, aiKeyInput.value]
719
+ ]),
720
+ canToggleAiKey.value ? (openBlock(), createElementBlock("button", {
721
+ key: 0,
722
+ class: "absolute right-2 top-1/2 -translate-y-1/2 w-7 h-7 flex items-center justify-center text-gray-400 hover:text-primary transition-colors",
723
+ onClick: _cache[11] || (_cache[11] = ($event) => showAiKey.value = !showAiKey.value)
724
+ }, [
725
+ createElementVNode(
726
+ "span",
727
+ _hoisted_35,
728
+ toDisplayString(showAiKey.value ? "visibility_off" : "visibility"),
729
+ 1
730
+ /* TEXT */
731
+ )
732
+ ])) : createCommentVNode("v-if", true)
694
733
  ]),
695
- _cache[26] || (_cache[26] = createElementVNode(
734
+ _cache[28] || (_cache[28] = createElementVNode(
696
735
  "p",
697
736
  { class: "text-[11px] text-gray-600" },
698
737
  "密钥从 cloud.siliconflow.cn 获取,保存后可在工具栏选择模型",
699
738
  -1
700
739
  /* CACHED */
701
740
  ))
702
- ]),
703
- createElementVNode("div", _hoisted_30, [
741
+ ])),
742
+ createElementVNode("div", _hoisted_36, [
704
743
  createElementVNode("button", {
705
744
  class: "px-4 py-2 bg-white/10 text-gray-300 font-bold border-2 border-white/20 rounded hover:border-white hover:text-white transition-all text-sm",
706
- onClick: _cache[10] || (_cache[10] = ($event) => showSettings.value = false)
745
+ onClick: _cache[12] || (_cache[12] = ($event) => showSettings.value = false)
707
746
  }, " 取消 "),
708
747
  createElementVNode("button", {
709
748
  class: "px-4 py-2 bg-primary text-black font-bold border-2 border-black rounded shadow-hard-sm hover:shadow-none hover:translate-x-[2px] hover:translate-y-[2px] transition-all text-sm",
@@ -717,8 +756,16 @@ ${sourceText.value}`;
717
756
  };
718
757
  }
719
758
  });
759
+ const _export_sfc = (sfc, props) => {
760
+ const target = sfc.__vccOpts || sfc;
761
+ for (const [key, val] of props) {
762
+ target[key] = val;
763
+ }
764
+ return target;
765
+ };
766
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-63055e53"]]);
720
767
  export {
721
- _sfc_main as default
768
+ index as default
722
769
  };
723
770
 
724
771
  ;(function(){var c=typeof __exports__!=="undefined"&&__exports__;var d=c&&(c.default||c);if(d)d.__pluginCss=`/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@@ -876,6 +923,10 @@ export {
876
923
  top: 50%;
877
924
  }
878
925
 
926
+ .right-2 {
927
+ right: calc(var(--spacing) * 2);
928
+ }
929
+
879
930
  .left-2 {
880
931
  left: calc(var(--spacing) * 2);
881
932
  }
@@ -884,6 +935,10 @@ export {
884
935
  z-index: 50;
885
936
  }
886
937
 
938
+ .col-span-2 {
939
+ grid-column: span 2 / span 2;
940
+ }
941
+
887
942
  .-mx-1 {
888
943
  margin-inline: calc(var(--spacing) * -1);
889
944
  }
@@ -1004,6 +1059,10 @@ export {
1004
1059
  height: calc(var(--spacing) * 4);
1005
1060
  }
1006
1061
 
1062
+ .h-5 {
1063
+ height: calc(var(--spacing) * 5);
1064
+ }
1065
+
1007
1066
  .h-7 {
1008
1067
  height: calc(var(--spacing) * 7);
1009
1068
  }
@@ -1036,10 +1095,18 @@ export {
1036
1095
  height: 100%;
1037
1096
  }
1038
1097
 
1098
+ .max-h-36 {
1099
+ max-height: calc(var(--spacing) * 36);
1100
+ }
1101
+
1039
1102
  .max-h-40 {
1040
1103
  max-height: calc(var(--spacing) * 40);
1041
1104
  }
1042
1105
 
1106
+ .max-h-48 {
1107
+ max-height: calc(var(--spacing) * 48);
1108
+ }
1109
+
1043
1110
  .max-h-60 {
1044
1111
  max-height: calc(var(--spacing) * 60);
1045
1112
  }
@@ -1068,6 +1135,10 @@ export {
1068
1135
  min-height: 200px;
1069
1136
  }
1070
1137
 
1138
+ .w-1\\.5 {
1139
+ width: calc(var(--spacing) * 1.5);
1140
+ }
1141
+
1071
1142
  .w-2 {
1072
1143
  width: calc(var(--spacing) * 2);
1073
1144
  }
@@ -1088,6 +1159,10 @@ export {
1088
1159
  width: calc(var(--spacing) * 5);
1089
1160
  }
1090
1161
 
1162
+ .w-7 {
1163
+ width: calc(var(--spacing) * 7);
1164
+ }
1165
+
1091
1166
  .w-8 {
1092
1167
  width: calc(var(--spacing) * 8);
1093
1168
  }
@@ -1148,6 +1223,10 @@ export {
1148
1223
  min-width: calc(var(--spacing) * 0);
1149
1224
  }
1150
1225
 
1226
+ .min-w-\\[90px\\] {
1227
+ min-width: 90px;
1228
+ }
1229
+
1151
1230
  .min-w-\\[200px\\] {
1152
1231
  min-width: 200px;
1153
1232
  }
@@ -1451,6 +1530,16 @@ export {
1451
1530
  border-color: var(--color-primary);
1452
1531
  }
1453
1532
 
1533
+ .border-primary\\/40 {
1534
+ border-color: #f9b11f66;
1535
+ }
1536
+
1537
+ @supports (color: color-mix(in lab, red, red)) {
1538
+ .border-primary\\/40 {
1539
+ border-color: color-mix(in oklab, var(--color-primary) 40%, transparent);
1540
+ }
1541
+ }
1542
+
1454
1543
  .border-transparent {
1455
1544
  border-color: #0000;
1456
1545
  }
@@ -1589,6 +1678,16 @@ export {
1589
1678
  }
1590
1679
  }
1591
1680
 
1681
+ .bg-neon-green\\/20 {
1682
+ background-color: #84cc1633;
1683
+ }
1684
+
1685
+ @supports (color: color-mix(in lab, red, red)) {
1686
+ .bg-neon-green\\/20 {
1687
+ background-color: color-mix(in oklab, var(--color-neon-green) 20%, transparent);
1688
+ }
1689
+ }
1690
+
1592
1691
  .bg-primary {
1593
1692
  background-color: var(--color-primary);
1594
1693
  }
@@ -1799,6 +1898,10 @@ export {
1799
1898
  padding-right: calc(var(--spacing) * 6);
1800
1899
  }
1801
1900
 
1901
+ .pr-11 {
1902
+ padding-right: calc(var(--spacing) * 11);
1903
+ }
1904
+
1802
1905
  .pl-1\\.5 {
1803
1906
  padding-left: calc(var(--spacing) * 1.5);
1804
1907
  }
@@ -1815,6 +1918,14 @@ export {
1815
1918
  padding-left: calc(var(--spacing) * 8);
1816
1919
  }
1817
1920
 
1921
+ .pl-\\[22px\\] {
1922
+ padding-left: 22px;
1923
+ }
1924
+
1925
+ .pl-\\[98px\\] {
1926
+ padding-left: 98px;
1927
+ }
1928
+
1818
1929
  .text-center {
1819
1930
  text-align: center;
1820
1931
  }
@@ -1827,6 +1938,10 @@ export {
1827
1938
  text-align: right;
1828
1939
  }
1829
1940
 
1941
+ .align-middle {
1942
+ vertical-align: middle;
1943
+ }
1944
+
1830
1945
  .font-mono {
1831
1946
  font-family: var(--font-mono);
1832
1947
  }
@@ -2313,6 +2428,10 @@ export {
2313
2428
  color: var(--color-coral-red);
2314
2429
  }
2315
2430
 
2431
+ .hover\\:text-gray-200:hover {
2432
+ color: var(--color-gray-200);
2433
+ }
2434
+
2316
2435
  .hover\\:text-gray-300:hover {
2317
2436
  color: var(--color-gray-300);
2318
2437
  }
@@ -2364,6 +2483,18 @@ export {
2364
2483
  translate: var(--tw-translate-x) var(--tw-translate-y);
2365
2484
  }
2366
2485
 
2486
+ .focus\\:border-electric-blue:focus {
2487
+ border-color: var(--color-electric-blue);
2488
+ }
2489
+
2490
+ .focus\\:border-gray-500:focus {
2491
+ border-color: var(--color-gray-500);
2492
+ }
2493
+
2494
+ .focus\\:border-neon-green:focus {
2495
+ border-color: var(--color-neon-green);
2496
+ }
2497
+
2367
2498
  .focus\\:border-primary:focus {
2368
2499
  border-color: var(--color-primary);
2369
2500
  }
@@ -2381,6 +2512,14 @@ export {
2381
2512
  cursor: grabbing;
2382
2513
  }
2383
2514
 
2515
+ .disabled\\:cursor-not-allowed:disabled {
2516
+ cursor: not-allowed;
2517
+ }
2518
+
2519
+ .disabled\\:opacity-40:disabled {
2520
+ opacity: .4;
2521
+ }
2522
+
2384
2523
  @media (min-width: 40rem) {
2385
2524
  .sm\\:grid-cols-2 {
2386
2525
  grid-template-columns: repeat(2, minmax(0, 1fr));
@@ -2673,4 +2812,13 @@ export {
2673
2812
  opacity: .5;
2674
2813
  }
2675
2814
  }
2815
+
2816
+ .api-key-input[data-v-63055e53]::-ms-reveal,
2817
+ .api-key-input[data-v-63055e53]::-ms-clear,
2818
+ .api-key-input[data-v-63055e53]::-webkit-credentials-auto-fill-button,
2819
+ .api-key-input[data-v-63055e53]::-webkit-contacts-auto-fill-button {
2820
+ display: none !important;
2821
+ visibility: hidden;
2822
+ pointer-events: none;
2823
+ }
2676
2824
  `;})();