langie 1.13.1 → 1.14.0

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,5 +1,5 @@
1
1
  /**
2
- * langie v1.13.1
2
+ * langie v1.14.0
3
3
  * (c) 2026 nlit
4
4
  * @license Apache-2.0
5
5
  *
@@ -78,7 +78,15 @@ styleInject(".multiselect-single-label,\n.multiselect-option {\n display: flex;
78
78
  var import_vue3 = require("vue");
79
79
  var import_multiselect = __toESM(require("@vueform/multiselect"));
80
80
  var import_fuse = __toESM(require("fuse.js"));
81
- var import_transliteration = require("transliteration");
81
+
82
+ // src/utils/lazyTransliterate.ts
83
+ var pending = null;
84
+ function loadTransliterate() {
85
+ if (!pending) {
86
+ pending = import("transliteration").then((m) => m.transliterate);
87
+ }
88
+ return pending;
89
+ }
82
90
 
83
91
  // src/language-aliases/european.ts
84
92
  var EUROPEAN_LANGUAGES = [
@@ -759,6 +767,7 @@ var LanguageSelect_default = /* @__PURE__ */ (0, import_vue.defineComponent)({
759
767
  return props.languages.length <= 0;
760
768
  });
761
769
  const searchQuery = (0, import_vue3.ref)("");
770
+ const transliterate = (0, import_vue3.shallowRef)(null);
762
771
  const validLanguages = (0, import_vue3.computed)(() => {
763
772
  return props.languages.filter((lang) => lang && lang.code && lang.name && lang.native_name);
764
773
  });
@@ -811,7 +820,7 @@ var LanguageSelect_default = /* @__PURE__ */ (0, import_vue.defineComponent)({
811
820
  if (searchTerm !== query) {
812
821
  mergeByCode(fuse.value.search(query));
813
822
  }
814
- const latinQuery = (0, import_transliteration.transliterate)(query);
823
+ const latinQuery = transliterate.value ? transliterate.value(query) : "";
815
824
  if (latinQuery && latinQuery.toLowerCase() !== query.toLowerCase()) {
816
825
  mergeByCode(fuse.value.search(latinQuery));
817
826
  }
@@ -852,6 +861,11 @@ var LanguageSelect_default = /* @__PURE__ */ (0, import_vue.defineComponent)({
852
861
  function handleSearch(query) {
853
862
  searchQuery.value = query;
854
863
  if (!query.trim()) return;
864
+ if (!transliterate.value) {
865
+ void loadTransliterate().then((fn) => {
866
+ transliterate.value = fn;
867
+ });
868
+ }
855
869
  (0, import_vue3.nextTick)(() => {
856
870
  multiselectRef.value?.setPointerFirst?.();
857
871
  const dropdown = document.querySelector(".multiselect-dropdown");