langie 1.13.1 → 2.0.1
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 +20 -4
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.css.map +1 -1
- package/dist/components/index.mjs +21 -5
- package/dist/components/index.mjs.map +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.mjs +1 -1
- package/dist/index.cjs +20 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.mjs +21 -5
- package/dist/index.mjs.map +1 -1
- package/dist/utils/lazyTransliterate.d.ts +8 -0
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* langie
|
|
2
|
+
* langie v2.0.1
|
|
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 = [
|
|
@@ -747,6 +755,7 @@ var LanguageSelect_default = /* @__PURE__ */ (0, import_vue.defineComponent)({
|
|
|
747
755
|
"5b09cc17-COLORS.neutral.gray400": (0, import_vue2.unref)(COLORS).neutral.gray400
|
|
748
756
|
}));
|
|
749
757
|
const COMBOBOX_ARIA = { "aria-multiselectable": void 0 };
|
|
758
|
+
const multiselectId = (0, import_vue3.useId)();
|
|
750
759
|
const getFlagCode = (lang) => {
|
|
751
760
|
const flagCode = lang.flag_country || lang.code;
|
|
752
761
|
return flagCode;
|
|
@@ -759,6 +768,7 @@ var LanguageSelect_default = /* @__PURE__ */ (0, import_vue.defineComponent)({
|
|
|
759
768
|
return props.languages.length <= 0;
|
|
760
769
|
});
|
|
761
770
|
const searchQuery = (0, import_vue3.ref)("");
|
|
771
|
+
const transliterate = (0, import_vue3.shallowRef)(null);
|
|
762
772
|
const validLanguages = (0, import_vue3.computed)(() => {
|
|
763
773
|
return props.languages.filter((lang) => lang && lang.code && lang.name && lang.native_name);
|
|
764
774
|
});
|
|
@@ -811,7 +821,7 @@ var LanguageSelect_default = /* @__PURE__ */ (0, import_vue.defineComponent)({
|
|
|
811
821
|
if (searchTerm !== query) {
|
|
812
822
|
mergeByCode(fuse.value.search(query));
|
|
813
823
|
}
|
|
814
|
-
const latinQuery =
|
|
824
|
+
const latinQuery = transliterate.value ? transliterate.value(query) : "";
|
|
815
825
|
if (latinQuery && latinQuery.toLowerCase() !== query.toLowerCase()) {
|
|
816
826
|
mergeByCode(fuse.value.search(latinQuery));
|
|
817
827
|
}
|
|
@@ -852,6 +862,11 @@ var LanguageSelect_default = /* @__PURE__ */ (0, import_vue.defineComponent)({
|
|
|
852
862
|
function handleSearch(query) {
|
|
853
863
|
searchQuery.value = query;
|
|
854
864
|
if (!query.trim()) return;
|
|
865
|
+
if (!transliterate.value) {
|
|
866
|
+
void loadTransliterate().then((fn) => {
|
|
867
|
+
transliterate.value = fn;
|
|
868
|
+
});
|
|
869
|
+
}
|
|
855
870
|
(0, import_vue3.nextTick)(() => {
|
|
856
871
|
multiselectRef.value?.setPointerFirst?.();
|
|
857
872
|
const dropdown = document.querySelector(".multiselect-dropdown");
|
|
@@ -920,6 +935,7 @@ var LanguageSelect_default = /* @__PURE__ */ (0, import_vue.defineComponent)({
|
|
|
920
935
|
label: "name",
|
|
921
936
|
"value-prop": "code",
|
|
922
937
|
"filter-results": false,
|
|
938
|
+
id: (0, import_vue2.unref)(multiselectId),
|
|
923
939
|
aria: COMBOBOX_ARIA,
|
|
924
940
|
onKeydown: handleKeydown
|
|
925
941
|
}, {
|
|
@@ -998,7 +1014,7 @@ var LanguageSelect_default = /* @__PURE__ */ (0, import_vue.defineComponent)({
|
|
|
998
1014
|
]),
|
|
999
1015
|
_: 1
|
|
1000
1016
|
/* STABLE */
|
|
1001
|
-
}, 8, ["modelValue", "options", "placeholder", "disabled", "loading"])) : isLoading.value && validLanguages.value.length === 0 ? ((0, import_vue2.openBlock)(), (0, import_vue2.createElementBlock)(
|
|
1017
|
+
}, 8, ["modelValue", "options", "placeholder", "disabled", "loading", "id"])) : isLoading.value && validLanguages.value.length === 0 ? ((0, import_vue2.openBlock)(), (0, import_vue2.createElementBlock)(
|
|
1002
1018
|
import_vue2.Fragment,
|
|
1003
1019
|
{ key: 1 },
|
|
1004
1020
|
[
|