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.
- package/dist/components/index.cjs +17 -3
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.css.map +1 -1
- package/dist/components/index.mjs +18 -4
- package/dist/components/index.mjs.map +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.mjs +1 -1
- package/dist/index.cjs +17 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.mjs +18 -4
- package/dist/index.mjs.map +1 -1
- package/dist/utils/lazyTransliterate.d.ts +8 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* langie v1.
|
|
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
|
-
|
|
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 =
|
|
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");
|