@ddict/popup 1.0.1 → 1.0.5

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/dist/popup.es.js CHANGED
@@ -116,19 +116,24 @@ const _hoisted_6$5 = {
116
116
  viewBox: "0 0 24 24",
117
117
  stroke: "currentColor"
118
118
  };
119
- const _hoisted_7$5 = /* @__PURE__ */ createElementVNode("path", {
119
+ const _hoisted_7$3 = /* @__PURE__ */ createElementVNode("path", {
120
120
  "stroke-linecap": "round",
121
121
  "stroke-linejoin": "round",
122
122
  "stroke-width": "2",
123
123
  d: "M13 7l5 5m0 0l-5 5m5-5H6"
124
124
  }, null, -1);
125
125
  const _hoisted_8$2 = [
126
- _hoisted_7$5
126
+ _hoisted_7$3
127
127
  ];
128
128
  const _hoisted_9$2 = ["value"];
129
- const _hoisted_10$2 = { key: 1 };
130
- const _hoisted_11$2 = ["onClick"];
129
+ const _hoisted_10$2 = {
130
+ key: 1,
131
+ class: "flex flex-row"
132
+ };
133
+ const _hoisted_11$2 = { class: "grow" };
131
134
  const _hoisted_12$2 = ["onClick"];
135
+ const _hoisted_13$1 = { class: "grow" };
136
+ const _hoisted_14$1 = ["onClick"];
132
137
  function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
133
138
  return openBlock(), createElementBlock(Fragment, null, [
134
139
  $props.select ? (openBlock(), createElementBlock("div", _hoisted_1$8, [
@@ -168,21 +173,25 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
168
173
  [vModelSelect, $data.target]
169
174
  ])
170
175
  ])) : createCommentVNode("", true),
171
- $props.select && $data.src && $data.target && $data.recents ? (openBlock(), createElementBlock("p", _hoisted_10$2, [
172
- (openBlock(true), createElementBlock(Fragment, null, renderList($data.recents.src, (src) => {
173
- return openBlock(), createElementBlock("span", {
174
- key: src,
175
- onClick: ($event) => $options.onRecentSrc(src),
176
- class: "badge badge-sm ml-1 badge-outline"
177
- }, toDisplayString($props.select.srcs[src]), 9, _hoisted_11$2);
178
- }), 128)),
179
- (openBlock(true), createElementBlock(Fragment, null, renderList($data.recents.target, (target) => {
180
- return openBlock(), createElementBlock("span", {
181
- key: target,
182
- onClick: ($event) => $options.onRecentTarget(target),
183
- class: "badge badge-sm ml-1 float-right mt-1"
184
- }, toDisplayString($props.select.targets[target]), 9, _hoisted_12$2);
185
- }), 128))
176
+ $props.select && $data.src && $data.target && $data.recents ? (openBlock(), createElementBlock("div", _hoisted_10$2, [
177
+ createElementVNode("div", _hoisted_11$2, [
178
+ (openBlock(true), createElementBlock(Fragment, null, renderList($data.recents.src, (src) => {
179
+ return openBlock(), createElementBlock("span", {
180
+ key: src,
181
+ onClick: ($event) => $options.onRecentSrc(src),
182
+ class: "badge badge-sm ml-1 badge-outline"
183
+ }, toDisplayString($props.select.srcs[src]), 9, _hoisted_12$2);
184
+ }), 128))
185
+ ]),
186
+ createElementVNode("div", _hoisted_13$1, [
187
+ (openBlock(true), createElementBlock(Fragment, null, renderList($data.recents.target, (target) => {
188
+ return openBlock(), createElementBlock("span", {
189
+ key: target,
190
+ onClick: ($event) => $options.onRecentTarget(target),
191
+ class: "badge badge-sm ml-1 float-right mt-1"
192
+ }, toDisplayString($props.select.targets[target]), 9, _hoisted_14$1);
193
+ }), 128))
194
+ ])
186
195
  ])) : createCommentVNode("", true)
187
196
  ], 64);
188
197
  }
@@ -386,7 +395,7 @@ const _hoisted_5$6 = /* @__PURE__ */ createElementVNode("svg", {
386
395
  const _hoisted_6$4 = [
387
396
  _hoisted_5$6
388
397
  ];
389
- const _hoisted_7$4 = {
398
+ const _hoisted_7$2 = {
390
399
  key: 2,
391
400
  class: "ml-1"
392
401
  };
@@ -424,7 +433,7 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
424
433
  class: "pointer",
425
434
  onClick: _cache[1] || (_cache[1] = (...args) => $options.stop && $options.stop(...args))
426
435
  }, _hoisted_6$4)) : createCommentVNode("", true),
427
- $props.data.ddictSrc ? (openBlock(), createElementBlock("span", _hoisted_7$4, toDisplayString($props.data.ddictSrc), 1)) : createCommentVNode("", true),
436
+ $props.data.ddictSrc ? (openBlock(), createElementBlock("span", _hoisted_7$2, toDisplayString($props.data.ddictSrc), 1)) : createCommentVNode("", true),
428
437
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.data.sentences, (sentence, index) => {
429
438
  return openBlock(), createElementBlock("span", {
430
439
  key: `${sentence.src_translit}-${index}`,
@@ -593,7 +602,7 @@ const _hoisted_5$5 = /* @__PURE__ */ createElementVNode("svg", {
593
602
  const _hoisted_6$3 = [
594
603
  _hoisted_5$5
595
604
  ];
596
- const _hoisted_7$3 = {
605
+ const _hoisted_7$1 = {
597
606
  key: 2,
598
607
  class: "ml-1"
599
608
  };
@@ -636,7 +645,7 @@ const _hoisted_17 = [
636
645
  _hoisted_16
637
646
  ];
638
647
  function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
639
- return openBlock(), createElementBlock("div", null, [
648
+ return openBlock(), createElementBlock(Fragment, null, [
640
649
  createElementVNode("div", _hoisted_1$6, [
641
650
  $props.data ? (openBlock(), createElementBlock("div", _hoisted_2$6, [
642
651
  !$data.playing ? (openBlock(), createElementBlock("span", {
@@ -649,9 +658,9 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
649
658
  class: "pointer",
650
659
  onClick: _cache[1] || (_cache[1] = (...args) => $options.stop && $options.stop(...args))
651
660
  }, _hoisted_6$3)) : createCommentVNode("", true),
652
- $props.data.ddictTarget ? (openBlock(), createElementBlock("span", _hoisted_7$3, toDisplayString($props.data.ddictTarget), 1)) : createCommentVNode("", true)
661
+ $props.data.ddictTarget ? (openBlock(), createElementBlock("span", _hoisted_7$1, toDisplayString($props.data.ddictTarget), 1)) : createCommentVNode("", true)
653
662
  ])) : createCommentVNode("", true),
654
- $props.data != "" ? (openBlock(), createElementBlock("div", {
663
+ $props.data ? (openBlock(), createElementBlock("div", {
655
664
  key: 1,
656
665
  onClick: _cache[2] || (_cache[2] = (...args) => $options.copy && $options.copy(...args)),
657
666
  class: "indicator-item m-3"
@@ -668,7 +677,7 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
668
677
  }, null, 4)
669
678
  ]),
670
679
  $props.data ? (openBlock(), createElementBlock("p", _hoisted_15, _hoisted_17)) : createCommentVNode("", true)
671
- ]);
680
+ ], 64);
672
681
  }
673
682
  var Result = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$5]]);
674
683
  const _sfc_main$5 = {
@@ -685,32 +694,35 @@ const _sfc_main$5 = {
685
694
  }
686
695
  };
687
696
  const _hoisted_1$5 = { key: 0 };
688
- const _hoisted_2$5 = { class: "card-body" };
697
+ const _hoisted_2$5 = { class: "card-body p-4" };
689
698
  const _hoisted_3$5 = { class: "card-title font-bold" };
690
- const _hoisted_4$5 = { class: "list-group list-group-flush" };
699
+ const _hoisted_4$5 = { class: "list-decimal" };
691
700
  const _hoisted_5$4 = { class: "capitalize font-bold" };
692
701
  const _hoisted_6$2 = /* @__PURE__ */ createElementVNode("br", null, null, -1);
693
- const _hoisted_7$2 = { class: "italic" };
702
+ const _hoisted_7 = { class: "italic" };
694
703
  function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
695
704
  return $props.data.definitions ? (openBlock(), createElementBlock("div", _hoisted_1$5, [
696
705
  createElementVNode("div", _hoisted_2$5, [
697
706
  createElementVNode("h2", _hoisted_3$5, toDisplayString($data.name), 1),
698
- createElementVNode("ul", _hoisted_4$5, [
707
+ createElementVNode("ul", null, [
699
708
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.data.definitions, (dict, index) => {
700
709
  return openBlock(), createElementBlock("li", {
701
710
  key: `${dict.pos}-${index}`,
702
- class: "list-group-item mb-2"
711
+ class: "mb-2"
703
712
  }, [
704
- createElementVNode("h5", _hoisted_5$4, toDisplayString(dict.pos), 1),
705
- (openBlock(true), createElementBlock(Fragment, null, renderList(dict.entry, (entry, index2) => {
706
- return openBlock(), createElementBlock("div", {
707
- key: `${entry.definition_id}-${index2}`
708
- }, [
709
- createElementVNode("span", null, toDisplayString(entry.gloss), 1),
710
- _hoisted_6$2,
711
- createElementVNode("small", _hoisted_7$2, toDisplayString(entry.example), 1)
712
- ]);
713
- }), 128))
713
+ createElementVNode("ul", _hoisted_4$5, [
714
+ createElementVNode("h5", _hoisted_5$4, toDisplayString(dict.pos), 1),
715
+ (openBlock(true), createElementBlock(Fragment, null, renderList(dict.entry, (entry, index2) => {
716
+ return openBlock(), createElementBlock("li", {
717
+ key: `${entry.definition_id}-${index2}`,
718
+ class: "ml-5 mb-2"
719
+ }, [
720
+ createElementVNode("span", null, toDisplayString(entry.gloss), 1),
721
+ _hoisted_6$2,
722
+ createElementVNode("small", _hoisted_7, '"' + toDisplayString(entry.example) + '"', 1)
723
+ ]);
724
+ }), 128))
725
+ ])
714
726
  ]);
715
727
  }), 128))
716
728
  ])
@@ -737,23 +749,22 @@ const _sfc_main$4 = {
737
749
  }
738
750
  };
739
751
  const _hoisted_1$4 = { key: 0 };
740
- const _hoisted_2$4 = { class: "card-body" };
752
+ const _hoisted_2$4 = { class: "card-body p-4" };
741
753
  const _hoisted_3$4 = { class: "card-title" };
742
- const _hoisted_4$4 = { class: "list-group list-group-flush" };
743
- const _hoisted_5$3 = { class: "capitalize font-bold" };
744
- const _hoisted_6$1 = ["onClick"];
745
- const _hoisted_7$1 = { class: "italic" };
754
+ const _hoisted_4$4 = { class: "capitalize font-bold" };
755
+ const _hoisted_5$3 = ["onClick"];
756
+ const _hoisted_6$1 = { class: "italic" };
746
757
  function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
747
758
  return $props.data.dict ? (openBlock(), createElementBlock("div", _hoisted_1$4, [
748
759
  createElementVNode("div", _hoisted_2$4, [
749
760
  createElementVNode("h2", _hoisted_3$4, toDisplayString($data.name), 1),
750
- createElementVNode("ul", _hoisted_4$4, [
761
+ createElementVNode("ul", null, [
751
762
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.data.dict, (dict, index) => {
752
763
  return openBlock(), createElementBlock("li", {
753
764
  key: `${dict.pos}-${index}`,
754
- class: "list-group-item mb-2"
765
+ class: "mb-2"
755
766
  }, [
756
- createElementVNode("h5", _hoisted_5$3, toDisplayString(dict.pos), 1),
767
+ createElementVNode("h5", _hoisted_4$4, toDisplayString(dict.pos), 1),
757
768
  (openBlock(true), createElementBlock(Fragment, null, renderList(dict.entry, (entry, index2) => {
758
769
  return openBlock(), createElementBlock("div", {
759
770
  key: `${entry.word}-${index2}`
@@ -761,8 +772,8 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
761
772
  createElementVNode("span", {
762
773
  class: "badge bg-neutral",
763
774
  onClick: ($event) => $options.translate(entry.word)
764
- }, toDisplayString(entry.word), 9, _hoisted_6$1),
765
- createElementVNode("small", _hoisted_7$1, " \u2015 " + toDisplayString(entry.reverse_translation.join(", ")), 1)
775
+ }, toDisplayString(entry.word), 9, _hoisted_5$3),
776
+ createElementVNode("small", _hoisted_6$1, " \u2015 " + toDisplayString(entry.reverse_translation.join(", ")), 1)
766
777
  ]);
767
778
  }), 128))
768
779
  ]);
@@ -786,19 +797,19 @@ const _sfc_main$3 = {
786
797
  }
787
798
  };
788
799
  const _hoisted_1$3 = { key: 0 };
789
- const _hoisted_2$3 = { class: "card-body" };
800
+ const _hoisted_2$3 = { class: "card-body p-4" };
790
801
  const _hoisted_3$3 = { class: "card-title font-bold" };
791
802
  const _hoisted_4$3 = { class: "list-disc" };
792
803
  const _hoisted_5$2 = ["innerHTML"];
793
804
  function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
794
- return $props.data.examples ? (openBlock(), createElementBlock("div", _hoisted_1$3, [
805
+ return $props.data.examples && $props.data.examples.example ? (openBlock(), createElementBlock("div", _hoisted_1$3, [
795
806
  createElementVNode("div", _hoisted_2$3, [
796
807
  createElementVNode("h2", _hoisted_3$3, toDisplayString($data.name), 1),
797
808
  createElementVNode("ul", _hoisted_4$3, [
798
- (openBlock(true), createElementBlock(Fragment, null, renderList($props.data.examples.example.slice(1), (example, index) => {
809
+ (openBlock(true), createElementBlock(Fragment, null, renderList($props.data.examples.example, (example, index) => {
799
810
  return openBlock(), createElementBlock("li", {
800
811
  key: `${example.definition_id}-${index}`,
801
- class: "mt-2 ml-2",
812
+ class: "ml-4 mb-2",
802
813
  innerHTML: example.text
803
814
  }, null, 8, _hoisted_5$2);
804
815
  }), 128))
@@ -821,23 +832,22 @@ const _sfc_main$2 = {
821
832
  }
822
833
  };
823
834
  const _hoisted_1$2 = { key: 0 };
824
- const _hoisted_2$2 = { class: "card-body" };
835
+ const _hoisted_2$2 = { class: "card-body p-4" };
825
836
  const _hoisted_3$2 = { class: "card-title font-bold" };
826
- const _hoisted_4$2 = { class: "list-group list-group-flush" };
827
- const _hoisted_5$1 = { class: "capitalize font-bold" };
828
- const _hoisted_6 = ["onClick"];
829
- const _hoisted_7 = /* @__PURE__ */ createElementVNode("span", null, null, -1);
837
+ const _hoisted_4$2 = { class: "capitalize font-bold" };
838
+ const _hoisted_5$1 = ["onClick"];
839
+ const _hoisted_6 = /* @__PURE__ */ createElementVNode("span", null, null, -1);
830
840
  function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
831
841
  return $props.data.synsets ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
832
842
  createElementVNode("div", _hoisted_2$2, [
833
843
  createElementVNode("h2", _hoisted_3$2, toDisplayString($data.name), 1),
834
- createElementVNode("ul", _hoisted_4$2, [
844
+ createElementVNode("ul", null, [
835
845
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.data.synsets, (dict, index) => {
836
846
  return openBlock(), createElementBlock("li", {
837
847
  key: `${dict.pos}-${index}`,
838
- class: "list-group-item mb-2"
848
+ class: "mb-2"
839
849
  }, [
840
- createElementVNode("h5", _hoisted_5$1, toDisplayString(dict.pos), 1),
850
+ createElementVNode("h5", _hoisted_4$2, toDisplayString(dict.pos), 1),
841
851
  (openBlock(true), createElementBlock(Fragment, null, renderList(dict.entry, (entry, index2) => {
842
852
  return openBlock(), createElementBlock("div", {
843
853
  key: `${entry.definition_id}-${index2}`
@@ -847,10 +857,10 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
847
857
  key: `${synonym}-${index3}`
848
858
  }, [
849
859
  createElementVNode("span", {
850
- class: "badge bg-neutral ml-1",
860
+ class: "badge bg-neutral mr-1",
851
861
  onClick: ($event) => _ctx.$emit("translate", synonym)
852
- }, toDisplayString(synonym), 9, _hoisted_6),
853
- _hoisted_7
862
+ }, toDisplayString(synonym), 9, _hoisted_5$1),
863
+ _hoisted_6
854
864
  ]);
855
865
  }), 128))
856
866
  ]);
@@ -876,7 +886,7 @@ const _sfc_main$1 = {
876
886
  }
877
887
  };
878
888
  const _hoisted_1$1 = { key: 0 };
879
- const _hoisted_2$1 = { class: "card-body" };
889
+ const _hoisted_2$1 = { class: "card-body p-4" };
880
890
  const _hoisted_3$1 = { class: "card-title font-bold" };
881
891
  const _hoisted_4$1 = ["onClick"];
882
892
  const _hoisted_5 = /* @__PURE__ */ createElementVNode("span", null, null, -1);
@@ -899,8 +909,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
899
909
  ])) : createCommentVNode("", true);
900
910
  }
901
911
  var More = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render]]);
902
- const _hoisted_1 = { class: "p-1" };
903
- const _hoisted_2 = { class: "mt-3 grid grid-cols-1 md:grid-cols-2 gap-3" };
912
+ const _hoisted_1 = { class: "p-2" };
913
+ const _hoisted_2 = { class: "mt-2 grid grid-cols-1 md:grid-cols-2 gap-3" };
904
914
  const _hoisted_3 = { class: "w-full" };
905
915
  const _hoisted_4 = { class: "w-full" };
906
916
  const __default__ = {
package/dist/popup.umd.js CHANGED
@@ -1 +1 @@
1
- (function(d,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(d=typeof globalThis!="undefined"?globalThis:d||self,t(d.Popup={},d.Vue))})(this,function(d,t){"use strict";var y={isRTL:N};function N(e){return["ar","fa","iw","yi","ur","pa"].indexOf(e)>-1}var h=(e,s)=>{const l=e.__vccOpts||e;for(const[i,r]of s)l[i]=r;return l};const u={props:{select:{type:Object,default:null}},emits:["select"],data(){return{src:"",target:"",recents:{src:[],target:[]}}},watch:{select(e){!e||(this.src=e.src,this.target=e.target,this.loadRecents())}},methods:{onRecentSrc(e){this.src=e,this.onSelect()},onRecentTarget(e){this.target=e,this.onSelect()},swap(){if(this.src==="auto"||!this.select.srcs[this.target]||!this.select.targets[this.src])return;const e=this.target;this.target=this.src,this.src=e,this.onSelect()},onSelect(){const e=JSON.parse(JSON.stringify(this.select));e.src=this.src,e.target=this.target,this.$emit("select",e),this.saveRecents(this.src,this.target)},loadRecents(){const e=JSON.parse(localStorage.getItem("recents"));!e||(this.recents=e)},saveRecents(e,s){this.recents.src.includes(e)||this.recents.src.push(e),this.recents.target.includes(s)||this.recents.target.push(s),this.recents.src.length>3&&this.recents.src.shift(),this.recents.target.length>3&&this.recents.target.shift(),localStorage.setItem("recents",JSON.stringify(this.recents))}}},w={key:0,class:"flex flex-row"},V=["value"],$={key:0,xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},S=[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4"},null,-1)],b={key:1,xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},x=[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 7l5 5m0 0l-5 5m5-5H6"},null,-1)],C=["value"],T={key:1},L=["onClick"],M=["onClick"];function D(e,s,l,i,r,o){return t.openBlock(),t.createElementBlock(t.Fragment,null,[l.select?(t.openBlock(),t.createElementBlock("div",w,[t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":s[0]||(s[0]=n=>r.src=n),class:"select select-bordered grow",onChange:s[1]||(s[1]=(...n)=>o.onSelect&&o.onSelect(...n))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.select.srcs,(n,a)=>(t.openBlock(),t.createElementBlock("option",{value:a,key:a},t.toDisplayString(n),9,V))),128))],544),[[t.vModelSelect,r.src]]),t.createElementVNode("button",{class:"grow-0 ml-2 mr-2",onClick:s[2]||(s[2]=(...n)=>o.swap&&o.swap(...n))},[r.src!="auto"?(t.openBlock(),t.createElementBlock("svg",$,S)):t.createCommentVNode("",!0),r.src=="auto"?(t.openBlock(),t.createElementBlock("svg",b,x)):t.createCommentVNode("",!0)]),t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":s[3]||(s[3]=n=>r.target=n),class:"select select-bordered grow",onChange:s[4]||(s[4]=(...n)=>o.onSelect&&o.onSelect(...n))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.select.targets,(n,a)=>(t.openBlock(),t.createElementBlock("option",{value:a,key:a},t.toDisplayString(n),9,C))),128))],544),[[t.vModelSelect,r.target]])])):t.createCommentVNode("",!0),l.select&&r.src&&r.target&&r.recents?(t.openBlock(),t.createElementBlock("p",T,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.recents.src,n=>(t.openBlock(),t.createElementBlock("span",{key:n,onClick:a=>o.onRecentSrc(n),class:"badge badge-sm ml-1 badge-outline"},t.toDisplayString(l.select.srcs[n]),9,L))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.recents.target,n=>(t.openBlock(),t.createElementBlock("span",{key:n,onClick:a=>o.onRecentTarget(n),class:"badge badge-sm ml-1 float-right mt-1"},t.toDisplayString(l.select.targets[n]),9,M))),128))])):t.createCommentVNode("",!0)],64)}var j=h(u,[["render",D]]),k={INPUT_MAX_LENGTH:5e3,INPUT_DELAY:1e3},m={init:H,autoResize:O};const g=100,E=600,I=10;function H(e,s){s&&(e.maxlength=s),e.spellcheck=!1,p(e,g)}function O(e){if(e.value==""){p(e,g);return}if(e.scrollHeight<g){p(e,g);return}if(e.scrollHeight>E){p(e,E);return}e.style.height.replace("px","")>e.scrollHeight||p(e,e.scrollHeight+I)}function p(e,s){e.style.height=`${s}px`}const B="auto_translate",z={props:{data:{type:Object,default:null},tts:{type:Object,default:null},replace:{type:String,default:""}},data(){return{input:"",INPUT_MAX_LENGTH:k.INPUT_MAX_LENGTH,input_timeout:null,player:new Audio,playing:!1,ttsIndex:0,auto_translate:!0,firstTime:!0}},computed:{rtl(){return this.data?y.isRTL(this.data.src):!1}},watch:{replace(e){this.input=e,(this.firstTime||!this.auto_translate)&&setTimeout(()=>{this.$refs.input.select()},100),this.firstTime=!1},tts(){this.ttsIndex=0},auto_translate(e){e&&this.translate(),localStorage.setItem(B,e)}},mounted(){m.init(this.$refs.input,k.INPUT_MAX_LENGTH),this.player.addEventListener("ended",()=>{if(this.ttsIndex++,this.ttsIndex>=this.tts.src.length){this.stop();return}this.play()}),this.$refs.input.addEventListener("input",()=>{m.autoResize(this.$refs.input),!!this.auto_translate&&(clearTimeout(this.input_timeout),this.input_timeout=setTimeout(this.translate,k.INPUT_DELAY))}),this.$refs.input.addEventListener("keyup",e=>{this.auto_translate||e&&e.keyCode===13&&this.translate()})},created(){localStorage.getItem(B)==="false"&&(this.auto_translate=!1)},methods:{play(){!this.tts.src||(this.player.src=this.tts.src[this.ttsIndex],this.playing=!0,this.player.play().catch(()=>{this.playing=!1}))},stop(){this.playing=!1,this.ttsIndex=0,this.player.pause()},clear(){this.$emit("clear"),this.input="",m.init(this.$refs.input,k.INPUT_MAX_LENGTH),this.$refs.input.focus()},translate(){if(!this.input){this.clear();return}this.$emit("translate",this.input)}}},R={class:"relative indicator w-full"},A={key:0,class:"absolute top-0 left-0 w-4/5 ml-2 text-sm truncate"},F=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4 inline",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15.536 8.464a5 5 0 010 7.072m2.828-9.9a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z"})],-1)],P=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4 inline",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}),t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 10a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-4z"})],-1)],U={key:2,class:"ml-1"},G={key:0},J=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)],X={class:"cursor-pointer label justify-start"},Y=t.createElementVNode("span",{class:"ml-1 label-text text-xs"},"Auto translate",-1);function q(e,s,l,i,r,o){return t.openBlock(),t.createElementBlock("div",null,[t.createElementVNode("div",R,[l.data?(t.openBlock(),t.createElementBlock("div",A,[r.playing?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("span",{key:0,class:"pointer",onClick:s[0]||(s[0]=(...n)=>o.play&&o.play(...n))},F)),r.playing?(t.openBlock(),t.createElementBlock("span",{key:1,class:"pointer",onClick:s[1]||(s[1]=(...n)=>o.stop&&o.stop(...n))},P)):t.createCommentVNode("",!0),l.data.ddictSrc?(t.openBlock(),t.createElementBlock("span",U,t.toDisplayString(l.data.ddictSrc),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.data.sentences,(n,a)=>(t.openBlock(),t.createElementBlock("span",{key:`${n.src_translit}-${a}`,class:"italic"},[n.src_translit?(t.openBlock(),t.createElementBlock("span",G," \u2015 "+t.toDisplayString(n.src_translit),1)):t.createCommentVNode("",!0)]))),128))])):t.createCommentVNode("",!0),r.input!=""?(t.openBlock(),t.createElementBlock("div",{key:1,onClick:s[2]||(s[2]=(...n)=>o.clear&&o.clear(...n)),class:"indicator-item m-3"},J)):t.createCommentVNode("",!0),t.withDirectives(t.createElementVNode("textarea",{id:"input",ref:"input","onUpdate:modelValue":s[3]||(s[3]=n=>r.input=n),class:"text-lg textarea textarea-bordered w-full pt-5",style:t.normalizeStyle({"text-align":o.rtl?"right":"left"}),autofocus:""},null,4),[[t.vModelText,r.input,void 0,{trim:!0}]])]),t.createElementVNode("label",X,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":s[4]||(s[4]=n=>r.auto_translate=n),type:"checkbox",class:"toggle toggle-xs"},null,512),[[t.vModelCheckbox,r.auto_translate]]),Y])])}var K=h(z,[["render",q]]);const Q={props:{data:{type:Object,default:null},tts:{type:Object,default:null}},data(){return{player:new Audio,playing:!1,copied:!1,ttsIndex:0}},computed:{rtl(){return this.data?y.isRTL(this.data.target):!1}},watch:{data(e){if(!e){this.$refs.input.value="",m.init(this.$refs.input);return}this.$refs.input.value=e.sentences.map(s=>s.trans).join(""),m.autoResize(this.$refs.input)},tts(){this.ttsIndex=0}},mounted(){m.init(this.$refs.input),m.autoResize(this.$refs.input),this.player.addEventListener("ended",()=>{if(this.ttsIndex++,this.ttsIndex>=this.tts.target.length){this.stop();return}this.play()})},methods:{play(){!this.tts.target||(this.player.src=this.tts.target[this.ttsIndex],this.playing=!0,this.player.play().catch(()=>{this.playing=!1}))},stop(){this.playing=!1,this.ttsIndex=0,this.player.pause()},copy(){const e=this.$refs.input.value;!e||(navigator.clipboard.writeText(e),this.copied=!0,setTimeout(()=>{this.copied=!1},500))}}},W={class:"relative indicator w-full"},Z={key:0,class:"absolute top-0 left-0 w-2/3 ml-2 text-sm truncate"},v=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4 inline",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15.536 8.464a5 5 0 010 7.072m2.828-9.9a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z"})],-1)],tt=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4 inline",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}),t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 10a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-4z"})],-1)],et={key:2,class:"ml-1"},st={key:0,xmlns:"http://www.w3.org/2000/svg",class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},nt=[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3m2 4H10m0 0l3-3m-3 3l3 3"},null,-1)],lt={key:1,xmlns:"http://www.w3.org/2000/svg",class:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor"},rt=[t.createElementVNode("path",{d:"M8 2a1 1 0 000 2h2a1 1 0 100-2H8z"},null,-1),t.createElementVNode("path",{d:"M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z"},null,-1)],ot={key:0,class:"label justify-end"},at=[t.createElementVNode("span",{class:"text-xs"},"Powered by Google Translate.",-1)];function it(e,s,l,i,r,o){return t.openBlock(),t.createElementBlock("div",null,[t.createElementVNode("div",W,[l.data?(t.openBlock(),t.createElementBlock("div",Z,[r.playing?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("span",{key:0,class:"pointer",onClick:s[0]||(s[0]=(...n)=>o.play&&o.play(...n))},v)),r.playing?(t.openBlock(),t.createElementBlock("span",{key:1,class:"pointer",onClick:s[1]||(s[1]=(...n)=>o.stop&&o.stop(...n))},tt)):t.createCommentVNode("",!0),l.data.ddictTarget?(t.openBlock(),t.createElementBlock("span",et,t.toDisplayString(l.data.ddictTarget),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),l.data!=""?(t.openBlock(),t.createElementBlock("div",{key:1,onClick:s[2]||(s[2]=(...n)=>o.copy&&o.copy(...n)),class:"indicator-item m-3"},[r.copied?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("svg",st,nt)),r.copied?(t.openBlock(),t.createElementBlock("svg",lt,rt)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),t.createElementVNode("textarea",{ref:"input",class:"text-lg textarea textarea-bordered w-full pt-5",style:t.normalizeStyle({"text-align":o.rtl?"right":"left"}),readonly:"",spellcheck:"false"},null,4)]),l.data?(t.openBlock(),t.createElementBlock("p",ot,at)):t.createCommentVNode("",!0)])}var ct=h(Q,[["render",it]]);const dt={props:{data:{type:Object,default:null}},data(){return{name:"Definitions"}}},ht={key:0},mt={class:"card-body"},pt={class:"card-title font-bold"},_t={class:"list-group list-group-flush"},kt={class:"capitalize font-bold"},gt=t.createElementVNode("br",null,null,-1),ft={class:"italic"};function yt(e,s,l,i,r,o){return l.data.definitions?(t.openBlock(),t.createElementBlock("div",ht,[t.createElementVNode("div",mt,[t.createElementVNode("h2",pt,t.toDisplayString(r.name),1),t.createElementVNode("ul",_t,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.data.definitions,(n,a)=>(t.openBlock(),t.createElementBlock("li",{key:`${n.pos}-${a}`,class:"list-group-item mb-2"},[t.createElementVNode("h5",kt,t.toDisplayString(n.pos),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.entry,(c,_)=>(t.openBlock(),t.createElementBlock("div",{key:`${c.definition_id}-${_}`},[t.createElementVNode("span",null,t.toDisplayString(c.gloss),1),gt,t.createElementVNode("small",ft,t.toDisplayString(c.example),1)]))),128))]))),128))])])])):t.createCommentVNode("",!0)}var Et=h(dt,[["render",yt]]);const Bt={props:{data:{type:Object,default:null}},data(){return{name:"Translations"}},methods:{translate(e){this.$emit("translate",e)}}},Nt={key:0},ut={class:"card-body"},wt={class:"card-title"},Vt={class:"list-group list-group-flush"},$t={class:"capitalize font-bold"},St=["onClick"],bt={class:"italic"};function xt(e,s,l,i,r,o){return l.data.dict?(t.openBlock(),t.createElementBlock("div",Nt,[t.createElementVNode("div",ut,[t.createElementVNode("h2",wt,t.toDisplayString(r.name),1),t.createElementVNode("ul",Vt,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.data.dict,(n,a)=>(t.openBlock(),t.createElementBlock("li",{key:`${n.pos}-${a}`,class:"list-group-item mb-2"},[t.createElementVNode("h5",$t,t.toDisplayString(n.pos),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.entry,(c,_)=>(t.openBlock(),t.createElementBlock("div",{key:`${c.word}-${_}`},[t.createElementVNode("span",{class:"badge bg-neutral",onClick:f=>o.translate(c.word)},t.toDisplayString(c.word),9,St),t.createElementVNode("small",bt," \u2015 "+t.toDisplayString(c.reverse_translation.join(", ")),1)]))),128))]))),128))])])])):t.createCommentVNode("",!0)}var Ct=h(Bt,[["render",xt]]);const Tt={props:{data:{type:Object,default:null}},data(){return{name:"Examples"}}},Lt={key:0},Mt={class:"card-body"},Dt={class:"card-title font-bold"},jt={class:"list-disc"},It=["innerHTML"];function Ht(e,s,l,i,r,o){return l.data.examples?(t.openBlock(),t.createElementBlock("div",Lt,[t.createElementVNode("div",Mt,[t.createElementVNode("h2",Dt,t.toDisplayString(r.name),1),t.createElementVNode("ul",jt,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.data.examples.example.slice(1),(n,a)=>(t.openBlock(),t.createElementBlock("li",{key:`${n.definition_id}-${a}`,class:"mt-2 ml-2",innerHTML:n.text},null,8,It))),128))])])])):t.createCommentVNode("",!0)}var Ot=h(Tt,[["render",Ht]]);const zt={props:{data:{type:Object,default:null}},data(){return{name:"Synonyms"}}},Rt={key:0},At={class:"card-body"},Ft={class:"card-title font-bold"},Pt={class:"list-group list-group-flush"},Ut={class:"capitalize font-bold"},Gt=["onClick"],Jt=t.createElementVNode("span",null,null,-1);function Xt(e,s,l,i,r,o){return l.data.synsets?(t.openBlock(),t.createElementBlock("div",Rt,[t.createElementVNode("div",At,[t.createElementVNode("h2",Ft,t.toDisplayString(r.name),1),t.createElementVNode("ul",Pt,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.data.synsets,(n,a)=>(t.openBlock(),t.createElementBlock("li",{key:`${n.pos}-${a}`,class:"list-group-item mb-2"},[t.createElementVNode("h5",Ut,t.toDisplayString(n.pos),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.entry,(c,_)=>(t.openBlock(),t.createElementBlock("div",{key:`${c.definition_id}-${_}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.synonym,(f,ae)=>(t.openBlock(),t.createElementBlock("span",{key:`${f}-${ae}`},[t.createElementVNode("span",{class:"badge bg-neutral ml-1",onClick:Be=>e.$emit("translate",f)},t.toDisplayString(f),9,Gt),Jt]))),128))]))),128))]))),128))])])])):t.createCommentVNode("",!0)}var Yt=h(zt,[["render",Xt]]);const qt={props:{data:{type:Object,default:null}},data(){return{name:"See also"}}},Kt={key:0},Qt={class:"card-body"},Wt={class:"card-title font-bold"},Zt=["onClick"],vt=t.createElementVNode("span",null,null,-1);function te(e,s,l,i,r,o){return l.data.related_words&&l.data.related_words.word?(t.openBlock(),t.createElementBlock("div",Kt,[t.createElementVNode("div",Qt,[t.createElementVNode("h2",Wt,t.toDisplayString(r.name),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.data.related_words.word,(n,a)=>(t.openBlock(),t.createElementBlock("span",{key:`${n}-${a}`},[t.createElementVNode("span",{class:"badge bg-neutral",onClick:c=>e.$emit("translate",n)},t.toDisplayString(n),9,Zt),vt]))),128))])])):t.createCommentVNode("",!0)}var ee=h(qt,[["render",te]]);const se={class:"p-1"},ne={class:"mt-3 grid grid-cols-1 md:grid-cols-2 gap-3"},le={class:"w-full"},re={class:"w-full"},oe=Object.assign({name:"Popup",props:{export_data:{type:Object,default:null},export_select:{type:Object,default:null},export_tts:{type:Object,default:null}},data(){return{data:null,select:null,tts:null,replace:""}},computed:{rtl(){return this.data?y.isRTL(this.data.target):!1}},watch:{export_data(e){this.data=e,e.text&&this.replace!=e.text&&(this.replace=e.text)},export_select(e){this.select=e},export_tts(e){this.tts=e}},methods:{clear(){this.data=null,this.$emit("clear")},translateReplace(e){return this.translate(e,!0)},translateSwap(e){return this.translate(e,!0,!0)},translate(e,s,l){if(l){if(!this.data.src||this.data.src==="auto"||!this.data.target)return;const i=JSON.parse(JSON.stringify(this.select));i.src=this.data.target,i.target=this.data.src,this.$emit("srctarget",i)}window.scrollTo(0,0),this.clear(),s&&(this.replace=e),this.$emit("translate",e)},onSelect(e){if(this.$emit("srctarget",e),this.data){const s=this.data.sentences.map(l=>l.orig).join("");this.$emit("translate",s)}}}},{setup(e){return(s,l)=>(t.openBlock(),t.createElementBlock("div",se,[t.createVNode(j,{select:s.select,onSelect:s.onSelect},null,8,["select","onSelect"]),t.createElementVNode("div",ne,[t.createElementVNode("div",le,[t.createVNode(K,{data:s.data,tts:s.tts,replace:s.replace,onTranslate:s.translate,onClear:s.clear},null,8,["data","tts","replace","onTranslate","onClear"])]),t.createElementVNode("div",re,[t.createVNode(ct,{data:s.data,tts:s.tts},null,8,["data","tts"])])]),s.data?(t.openBlock(),t.createElementBlock("div",{key:0,class:"mt-3 grid grid-cols-1 md:grid-cols-3 gap-3",style:t.normalizeStyle({"text-align":s.rtl?"right":"left"})},[t.createVNode(Et,{class:"card border",data:s.data},null,8,["data"]),t.createVNode(Ct,{class:"card border",data:s.data,onTranslate:s.translateSwap},null,8,["data","onTranslate"]),t.createVNode(Yt,{class:"card border",data:s.data,onTranslate:s.translateReplace},null,8,["data","onTranslate"]),t.createVNode(ee,{class:"card border",data:s.data,onTranslate:s.translateReplace},null,8,["data","onTranslate"])],4)):t.createCommentVNode("",!0),s.data?(t.openBlock(),t.createElementBlock("div",{key:1,class:"mt-5 grid grid-cols-1 gap-6",style:t.normalizeStyle({"text-align":s.rtl?"right":"left"})},[t.createVNode(Ot,{class:"card border",data:s.data},null,8,["data"])],4)):t.createCommentVNode("",!0)]))}});d.default=oe,Object.defineProperty(d,"__esModule",{value:!0}),d[Symbol.toStringTag]="Module"});
1
+ (function(d,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(d=typeof globalThis!="undefined"?globalThis:d||self,t(d.Popup={},d.Vue))})(this,function(d,t){"use strict";var y={isRTL:N};function N(e){return["ar","fa","iw","yi","ur","pa"].indexOf(e)>-1}var m=(e,s)=>{const l=e.__vccOpts||e;for(const[c,r]of s)l[c]=r;return l};const w={props:{select:{type:Object,default:null}},emits:["select"],data(){return{src:"",target:"",recents:{src:[],target:[]}}},watch:{select(e){!e||(this.src=e.src,this.target=e.target,this.loadRecents())}},methods:{onRecentSrc(e){this.src=e,this.onSelect()},onRecentTarget(e){this.target=e,this.onSelect()},swap(){if(this.src==="auto"||!this.select.srcs[this.target]||!this.select.targets[this.src])return;const e=this.target;this.target=this.src,this.src=e,this.onSelect()},onSelect(){const e=JSON.parse(JSON.stringify(this.select));e.src=this.src,e.target=this.target,this.$emit("select",e),this.saveRecents(this.src,this.target)},loadRecents(){const e=JSON.parse(localStorage.getItem("recents"));!e||(this.recents=e)},saveRecents(e,s){this.recents.src.includes(e)||this.recents.src.push(e),this.recents.target.includes(s)||this.recents.target.push(s),this.recents.src.length>3&&this.recents.src.shift(),this.recents.target.length>3&&this.recents.target.shift(),localStorage.setItem("recents",JSON.stringify(this.recents))}}},V={key:0,class:"flex flex-row"},u=["value"],$={key:0,xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},x=[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4"},null,-1)],b={key:1,xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},S=[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 7l5 5m0 0l-5 5m5-5H6"},null,-1)],C=["value"],T={key:1,class:"flex flex-row"},L={class:"grow"},M=["onClick"],D={class:"grow"},j=["onClick"];function I(e,s,l,c,r,a){return t.openBlock(),t.createElementBlock(t.Fragment,null,[l.select?(t.openBlock(),t.createElementBlock("div",V,[t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":s[0]||(s[0]=n=>r.src=n),class:"select select-bordered grow",onChange:s[1]||(s[1]=(...n)=>a.onSelect&&a.onSelect(...n))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.select.srcs,(n,o)=>(t.openBlock(),t.createElementBlock("option",{value:o,key:o},t.toDisplayString(n),9,u))),128))],544),[[t.vModelSelect,r.src]]),t.createElementVNode("button",{class:"grow-0 ml-2 mr-2",onClick:s[2]||(s[2]=(...n)=>a.swap&&a.swap(...n))},[r.src!="auto"?(t.openBlock(),t.createElementBlock("svg",$,x)):t.createCommentVNode("",!0),r.src=="auto"?(t.openBlock(),t.createElementBlock("svg",b,S)):t.createCommentVNode("",!0)]),t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":s[3]||(s[3]=n=>r.target=n),class:"select select-bordered grow",onChange:s[4]||(s[4]=(...n)=>a.onSelect&&a.onSelect(...n))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.select.targets,(n,o)=>(t.openBlock(),t.createElementBlock("option",{value:o,key:o},t.toDisplayString(n),9,C))),128))],544),[[t.vModelSelect,r.target]])])):t.createCommentVNode("",!0),l.select&&r.src&&r.target&&r.recents?(t.openBlock(),t.createElementBlock("div",T,[t.createElementVNode("div",L,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.recents.src,n=>(t.openBlock(),t.createElementBlock("span",{key:n,onClick:o=>a.onRecentSrc(n),class:"badge badge-sm ml-1 badge-outline"},t.toDisplayString(l.select.srcs[n]),9,M))),128))]),t.createElementVNode("div",D,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.recents.target,n=>(t.openBlock(),t.createElementBlock("span",{key:n,onClick:o=>a.onRecentTarget(n),class:"badge badge-sm ml-1 float-right mt-1"},t.toDisplayString(l.select.targets[n]),9,j))),128))])])):t.createCommentVNode("",!0)],64)}var H=m(w,[["render",I]]),k={INPUT_MAX_LENGTH:5e3,INPUT_DELAY:1e3},h={init:z,autoResize:R};const g=100,E=600,O=10;function z(e,s){s&&(e.maxlength=s),e.spellcheck=!1,p(e,g)}function R(e){if(e.value==""){p(e,g);return}if(e.scrollHeight<g){p(e,g);return}if(e.scrollHeight>E){p(e,E);return}e.style.height.replace("px","")>e.scrollHeight||p(e,e.scrollHeight+O)}function p(e,s){e.style.height=`${s}px`}const B="auto_translate",A={props:{data:{type:Object,default:null},tts:{type:Object,default:null},replace:{type:String,default:""}},data(){return{input:"",INPUT_MAX_LENGTH:k.INPUT_MAX_LENGTH,input_timeout:null,player:new Audio,playing:!1,ttsIndex:0,auto_translate:!0,firstTime:!0}},computed:{rtl(){return this.data?y.isRTL(this.data.src):!1}},watch:{replace(e){this.input=e,(this.firstTime||!this.auto_translate)&&setTimeout(()=>{this.$refs.input.select()},100),this.firstTime=!1},tts(){this.ttsIndex=0},auto_translate(e){e&&this.translate(),localStorage.setItem(B,e)}},mounted(){h.init(this.$refs.input,k.INPUT_MAX_LENGTH),this.player.addEventListener("ended",()=>{if(this.ttsIndex++,this.ttsIndex>=this.tts.src.length){this.stop();return}this.play()}),this.$refs.input.addEventListener("input",()=>{h.autoResize(this.$refs.input),!!this.auto_translate&&(clearTimeout(this.input_timeout),this.input_timeout=setTimeout(this.translate,k.INPUT_DELAY))}),this.$refs.input.addEventListener("keyup",e=>{this.auto_translate||e&&e.keyCode===13&&this.translate()})},created(){localStorage.getItem(B)==="false"&&(this.auto_translate=!1)},methods:{play(){!this.tts.src||(this.player.src=this.tts.src[this.ttsIndex],this.playing=!0,this.player.play().catch(()=>{this.playing=!1}))},stop(){this.playing=!1,this.ttsIndex=0,this.player.pause()},clear(){this.$emit("clear"),this.input="",h.init(this.$refs.input,k.INPUT_MAX_LENGTH),this.$refs.input.focus()},translate(){if(!this.input){this.clear();return}this.$emit("translate",this.input)}}},F={class:"relative indicator w-full"},P={key:0,class:"absolute top-0 left-0 w-4/5 ml-2 text-sm truncate"},U=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4 inline",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15.536 8.464a5 5 0 010 7.072m2.828-9.9a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z"})],-1)],G=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4 inline",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}),t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 10a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-4z"})],-1)],J={key:2,class:"ml-1"},X={key:0},Y=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)],q={class:"cursor-pointer label justify-start"},K=t.createElementVNode("span",{class:"ml-1 label-text text-xs"},"Auto translate",-1);function Q(e,s,l,c,r,a){return t.openBlock(),t.createElementBlock("div",null,[t.createElementVNode("div",F,[l.data?(t.openBlock(),t.createElementBlock("div",P,[r.playing?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("span",{key:0,class:"pointer",onClick:s[0]||(s[0]=(...n)=>a.play&&a.play(...n))},U)),r.playing?(t.openBlock(),t.createElementBlock("span",{key:1,class:"pointer",onClick:s[1]||(s[1]=(...n)=>a.stop&&a.stop(...n))},G)):t.createCommentVNode("",!0),l.data.ddictSrc?(t.openBlock(),t.createElementBlock("span",J,t.toDisplayString(l.data.ddictSrc),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.data.sentences,(n,o)=>(t.openBlock(),t.createElementBlock("span",{key:`${n.src_translit}-${o}`,class:"italic"},[n.src_translit?(t.openBlock(),t.createElementBlock("span",X," \u2015 "+t.toDisplayString(n.src_translit),1)):t.createCommentVNode("",!0)]))),128))])):t.createCommentVNode("",!0),r.input!=""?(t.openBlock(),t.createElementBlock("div",{key:1,onClick:s[2]||(s[2]=(...n)=>a.clear&&a.clear(...n)),class:"indicator-item m-3"},Y)):t.createCommentVNode("",!0),t.withDirectives(t.createElementVNode("textarea",{id:"input",ref:"input","onUpdate:modelValue":s[3]||(s[3]=n=>r.input=n),class:"text-lg textarea textarea-bordered w-full pt-5",style:t.normalizeStyle({"text-align":a.rtl?"right":"left"}),autofocus:""},null,4),[[t.vModelText,r.input,void 0,{trim:!0}]])]),t.createElementVNode("label",q,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":s[4]||(s[4]=n=>r.auto_translate=n),type:"checkbox",class:"toggle toggle-xs"},null,512),[[t.vModelCheckbox,r.auto_translate]]),K])])}var W=m(A,[["render",Q]]);const Z={props:{data:{type:Object,default:null},tts:{type:Object,default:null}},data(){return{player:new Audio,playing:!1,copied:!1,ttsIndex:0}},computed:{rtl(){return this.data?y.isRTL(this.data.target):!1}},watch:{data(e){if(!e){this.$refs.input.value="",h.init(this.$refs.input);return}this.$refs.input.value=e.sentences.map(s=>s.trans).join(""),h.autoResize(this.$refs.input)},tts(){this.ttsIndex=0}},mounted(){h.init(this.$refs.input),h.autoResize(this.$refs.input),this.player.addEventListener("ended",()=>{if(this.ttsIndex++,this.ttsIndex>=this.tts.target.length){this.stop();return}this.play()})},methods:{play(){!this.tts.target||(this.player.src=this.tts.target[this.ttsIndex],this.playing=!0,this.player.play().catch(()=>{this.playing=!1}))},stop(){this.playing=!1,this.ttsIndex=0,this.player.pause()},copy(){const e=this.$refs.input.value;!e||(navigator.clipboard.writeText(e),this.copied=!0,setTimeout(()=>{this.copied=!1},500))}}},v={class:"relative indicator w-full"},tt={key:0,class:"absolute top-0 left-0 w-2/3 ml-2 text-sm truncate"},et=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4 inline",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15.536 8.464a5 5 0 010 7.072m2.828-9.9a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z"})],-1)],st=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4 inline",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}),t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 10a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-4z"})],-1)],nt={key:2,class:"ml-1"},lt={key:0,xmlns:"http://www.w3.org/2000/svg",class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},rt=[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3m2 4H10m0 0l3-3m-3 3l3 3"},null,-1)],at={key:1,xmlns:"http://www.w3.org/2000/svg",class:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor"},ot=[t.createElementVNode("path",{d:"M8 2a1 1 0 000 2h2a1 1 0 100-2H8z"},null,-1),t.createElementVNode("path",{d:"M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z"},null,-1)],ct={key:0,class:"label justify-end"},it=[t.createElementVNode("span",{class:"text-xs"},"Powered by Google Translate.",-1)];function dt(e,s,l,c,r,a){return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",v,[l.data?(t.openBlock(),t.createElementBlock("div",tt,[r.playing?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("span",{key:0,class:"pointer",onClick:s[0]||(s[0]=(...n)=>a.play&&a.play(...n))},et)),r.playing?(t.openBlock(),t.createElementBlock("span",{key:1,class:"pointer",onClick:s[1]||(s[1]=(...n)=>a.stop&&a.stop(...n))},st)):t.createCommentVNode("",!0),l.data.ddictTarget?(t.openBlock(),t.createElementBlock("span",nt,t.toDisplayString(l.data.ddictTarget),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),l.data?(t.openBlock(),t.createElementBlock("div",{key:1,onClick:s[2]||(s[2]=(...n)=>a.copy&&a.copy(...n)),class:"indicator-item m-3"},[r.copied?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("svg",lt,rt)),r.copied?(t.openBlock(),t.createElementBlock("svg",at,ot)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),t.createElementVNode("textarea",{ref:"input",class:"text-lg textarea textarea-bordered w-full pt-5",style:t.normalizeStyle({"text-align":a.rtl?"right":"left"}),readonly:"",spellcheck:"false"},null,4)]),l.data?(t.openBlock(),t.createElementBlock("p",ct,it)):t.createCommentVNode("",!0)],64)}var mt=m(Z,[["render",dt]]);const ht={props:{data:{type:Object,default:null}},data(){return{name:"Definitions"}}},pt={key:0},_t={class:"card-body p-4"},kt={class:"card-title font-bold"},gt={class:"list-decimal"},ft={class:"capitalize font-bold"},yt=t.createElementVNode("br",null,null,-1),Et={class:"italic"};function Bt(e,s,l,c,r,a){return l.data.definitions?(t.openBlock(),t.createElementBlock("div",pt,[t.createElementVNode("div",_t,[t.createElementVNode("h2",kt,t.toDisplayString(r.name),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.data.definitions,(n,o)=>(t.openBlock(),t.createElementBlock("li",{key:`${n.pos}-${o}`,class:"mb-2"},[t.createElementVNode("ul",gt,[t.createElementVNode("h5",ft,t.toDisplayString(n.pos),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.entry,(i,_)=>(t.openBlock(),t.createElementBlock("li",{key:`${i.definition_id}-${_}`,class:"ml-5 mb-2"},[t.createElementVNode("span",null,t.toDisplayString(i.gloss),1),yt,t.createElementVNode("small",Et,'"'+t.toDisplayString(i.example)+'"',1)]))),128))])]))),128))])])])):t.createCommentVNode("",!0)}var Nt=m(ht,[["render",Bt]]);const wt={props:{data:{type:Object,default:null}},data(){return{name:"Translations"}},methods:{translate(e){this.$emit("translate",e)}}},Vt={key:0},ut={class:"card-body p-4"},$t={class:"card-title"},xt={class:"capitalize font-bold"},bt=["onClick"],St={class:"italic"};function Ct(e,s,l,c,r,a){return l.data.dict?(t.openBlock(),t.createElementBlock("div",Vt,[t.createElementVNode("div",ut,[t.createElementVNode("h2",$t,t.toDisplayString(r.name),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.data.dict,(n,o)=>(t.openBlock(),t.createElementBlock("li",{key:`${n.pos}-${o}`,class:"mb-2"},[t.createElementVNode("h5",xt,t.toDisplayString(n.pos),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.entry,(i,_)=>(t.openBlock(),t.createElementBlock("div",{key:`${i.word}-${_}`},[t.createElementVNode("span",{class:"badge bg-neutral",onClick:f=>a.translate(i.word)},t.toDisplayString(i.word),9,bt),t.createElementVNode("small",St," \u2015 "+t.toDisplayString(i.reverse_translation.join(", ")),1)]))),128))]))),128))])])])):t.createCommentVNode("",!0)}var Tt=m(wt,[["render",Ct]]);const Lt={props:{data:{type:Object,default:null}},data(){return{name:"Examples"}}},Mt={key:0},Dt={class:"card-body p-4"},jt={class:"card-title font-bold"},It={class:"list-disc"},Ht=["innerHTML"];function Ot(e,s,l,c,r,a){return l.data.examples&&l.data.examples.example?(t.openBlock(),t.createElementBlock("div",Mt,[t.createElementVNode("div",Dt,[t.createElementVNode("h2",jt,t.toDisplayString(r.name),1),t.createElementVNode("ul",It,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.data.examples.example,(n,o)=>(t.openBlock(),t.createElementBlock("li",{key:`${n.definition_id}-${o}`,class:"ml-4 mb-2",innerHTML:n.text},null,8,Ht))),128))])])])):t.createCommentVNode("",!0)}var zt=m(Lt,[["render",Ot]]);const Rt={props:{data:{type:Object,default:null}},data(){return{name:"Synonyms"}}},At={key:0},Ft={class:"card-body p-4"},Pt={class:"card-title font-bold"},Ut={class:"capitalize font-bold"},Gt=["onClick"],Jt=t.createElementVNode("span",null,null,-1);function Xt(e,s,l,c,r,a){return l.data.synsets?(t.openBlock(),t.createElementBlock("div",At,[t.createElementVNode("div",Ft,[t.createElementVNode("h2",Pt,t.toDisplayString(r.name),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.data.synsets,(n,o)=>(t.openBlock(),t.createElementBlock("li",{key:`${n.pos}-${o}`,class:"mb-2"},[t.createElementVNode("h5",Ut,t.toDisplayString(n.pos),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.entry,(i,_)=>(t.openBlock(),t.createElementBlock("div",{key:`${i.definition_id}-${_}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.synonym,(f,oe)=>(t.openBlock(),t.createElementBlock("span",{key:`${f}-${oe}`},[t.createElementVNode("span",{class:"badge bg-neutral mr-1",onClick:Be=>e.$emit("translate",f)},t.toDisplayString(f),9,Gt),Jt]))),128))]))),128))]))),128))])])])):t.createCommentVNode("",!0)}var Yt=m(Rt,[["render",Xt]]);const qt={props:{data:{type:Object,default:null}},data(){return{name:"See also"}}},Kt={key:0},Qt={class:"card-body p-4"},Wt={class:"card-title font-bold"},Zt=["onClick"],vt=t.createElementVNode("span",null,null,-1);function te(e,s,l,c,r,a){return l.data.related_words&&l.data.related_words.word?(t.openBlock(),t.createElementBlock("div",Kt,[t.createElementVNode("div",Qt,[t.createElementVNode("h2",Wt,t.toDisplayString(r.name),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.data.related_words.word,(n,o)=>(t.openBlock(),t.createElementBlock("span",{key:`${n}-${o}`},[t.createElementVNode("span",{class:"badge bg-neutral",onClick:i=>e.$emit("translate",n)},t.toDisplayString(n),9,Zt),vt]))),128))])])):t.createCommentVNode("",!0)}var ee=m(qt,[["render",te]]);const se={class:"p-2"},ne={class:"mt-2 grid grid-cols-1 md:grid-cols-2 gap-3"},le={class:"w-full"},re={class:"w-full"},ae=Object.assign({name:"Popup",props:{export_data:{type:Object,default:null},export_select:{type:Object,default:null},export_tts:{type:Object,default:null}},data(){return{data:null,select:null,tts:null,replace:""}},computed:{rtl(){return this.data?y.isRTL(this.data.target):!1}},watch:{export_data(e){this.data=e,e.text&&this.replace!=e.text&&(this.replace=e.text)},export_select(e){this.select=e},export_tts(e){this.tts=e}},methods:{clear(){this.data=null,this.$emit("clear")},translateReplace(e){return this.translate(e,!0)},translateSwap(e){return this.translate(e,!0,!0)},translate(e,s,l){if(l){if(!this.data.src||this.data.src==="auto"||!this.data.target)return;const c=JSON.parse(JSON.stringify(this.select));c.src=this.data.target,c.target=this.data.src,this.$emit("srctarget",c)}window.scrollTo(0,0),this.clear(),s&&(this.replace=e),this.$emit("translate",e)},onSelect(e){if(this.$emit("srctarget",e),this.data){const s=this.data.sentences.map(l=>l.orig).join("");this.$emit("translate",s)}}}},{setup(e){return(s,l)=>(t.openBlock(),t.createElementBlock("div",se,[t.createVNode(H,{select:s.select,onSelect:s.onSelect},null,8,["select","onSelect"]),t.createElementVNode("div",ne,[t.createElementVNode("div",le,[t.createVNode(W,{data:s.data,tts:s.tts,replace:s.replace,onTranslate:s.translate,onClear:s.clear},null,8,["data","tts","replace","onTranslate","onClear"])]),t.createElementVNode("div",re,[t.createVNode(mt,{data:s.data,tts:s.tts},null,8,["data","tts"])])]),s.data?(t.openBlock(),t.createElementBlock("div",{key:0,class:"mt-3 grid grid-cols-1 md:grid-cols-3 gap-3",style:t.normalizeStyle({"text-align":s.rtl?"right":"left"})},[t.createVNode(Nt,{class:"card border",data:s.data},null,8,["data"]),t.createVNode(Tt,{class:"card border",data:s.data,onTranslate:s.translateSwap},null,8,["data","onTranslate"]),t.createVNode(Yt,{class:"card border",data:s.data,onTranslate:s.translateReplace},null,8,["data","onTranslate"]),t.createVNode(ee,{class:"card border",data:s.data,onTranslate:s.translateReplace},null,8,["data","onTranslate"])],4)):t.createCommentVNode("",!0),s.data?(t.openBlock(),t.createElementBlock("div",{key:1,class:"mt-5 grid grid-cols-1 gap-6",style:t.normalizeStyle({"text-align":s.rtl?"right":"left"})},[t.createVNode(zt,{class:"card border",data:s.data},null,8,["data"])],4)):t.createCommentVNode("",!0)]))}});d.default=ae,Object.defineProperty(d,"__esModule",{value:!0}),d[Symbol.toStringTag]="Module"});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ddict/popup",
3
- "version": "1.0.1",
3
+ "version": "1.0.5",
4
4
  "files": [
5
5
  "dist"
6
6
  ],