@maggioli-design-system/mds-input-tip 1.1.0 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/collection/common/locale.js +8 -10
- package/dist/collection/type/language.js +1 -0
- package/dist/documentation.json +1 -1
- package/dist/stats.json +5 -3
- package/dist/types/common/locale.d.ts +5 -3
- package/dist/types/type/language.d.ts +1 -0
- package/dist/types/type/preference.d.ts +1 -1
- package/documentation.json +17 -2
- package/package.json +3 -3
- package/src/common/locale.ts +14 -10
- package/src/type/language.ts +4 -0
- package/src/type/preference.ts +1 -0
@@ -1,20 +1,19 @@
|
|
1
1
|
import Handlebars from "handlebars";
|
2
2
|
export class Locale {
|
3
3
|
constructor(configData) {
|
4
|
-
this.
|
4
|
+
this.rollbackLanguage = 'en';
|
5
5
|
this.lang = (element) => {
|
6
|
-
|
7
|
-
if (closestElement) {
|
8
|
-
if (closestElement.lang) {
|
9
|
-
this.language = closestElement.lang;
|
6
|
+
this.closestElement = element.closest('[lang]');
|
7
|
+
if (this.closestElement) {
|
8
|
+
if (this.closestElement.lang) {
|
9
|
+
this.language = this.closestElement.lang;
|
10
10
|
return;
|
11
11
|
}
|
12
12
|
}
|
13
|
-
this.language = this.
|
13
|
+
this.language = this.rollbackLanguage;
|
14
14
|
};
|
15
15
|
this.pluralize = (tag, context) => {
|
16
|
-
|
17
|
-
const languagePhrase = (_a = this.config[this.language][tag]) !== null && _a !== void 0 ? _a : this.config[this.defaultLanguage][tag];
|
16
|
+
const languagePhrase = this.config[this.language] ? this.config[this.language][tag] : this.config[this.rollbackLanguage][tag];
|
18
17
|
const phrases = [];
|
19
18
|
if (Array.isArray(languagePhrase)) {
|
20
19
|
phrases.push(languagePhrase[0]);
|
@@ -39,11 +38,10 @@ export class Locale {
|
|
39
38
|
return template(context);
|
40
39
|
};
|
41
40
|
this.get = (tag, context) => {
|
42
|
-
var _a;
|
43
41
|
if (context) {
|
44
42
|
return this.pluralize(tag, context);
|
45
43
|
}
|
46
|
-
return
|
44
|
+
return this.config[this.language] ? this.config[this.language][tag] : this.config[this.rollbackLanguage][tag];
|
47
45
|
};
|
48
46
|
this.config = configData;
|
49
47
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
package/dist/documentation.json
CHANGED
package/dist/stats.json
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
{
|
2
|
-
"timestamp": "2024-09-
|
2
|
+
"timestamp": "2024-09-17T05:58:48",
|
3
3
|
"compiler": {
|
4
4
|
"name": "node",
|
5
5
|
"version": "20.10.0"
|
@@ -9,11 +9,11 @@
|
|
9
9
|
"fsNamespace": "mds-input-tip",
|
10
10
|
"components": 1,
|
11
11
|
"entries": 1,
|
12
|
-
"bundles":
|
12
|
+
"bundles": 92,
|
13
13
|
"outputs": [
|
14
14
|
{
|
15
15
|
"name": "dist-collection",
|
16
|
-
"files":
|
16
|
+
"files": 44,
|
17
17
|
"generatedFiles": [
|
18
18
|
"./dist/collection/common/aria.js",
|
19
19
|
"./dist/collection/common/file.js",
|
@@ -52,6 +52,7 @@
|
|
52
52
|
"./dist/collection/type/floating-ui.js",
|
53
53
|
"./dist/collection/type/form-rel.js",
|
54
54
|
"./dist/collection/type/input.js",
|
55
|
+
"./dist/collection/type/language.js",
|
55
56
|
"./dist/collection/type/loading.js",
|
56
57
|
"./dist/collection/type/preference.js",
|
57
58
|
"./dist/collection/type/text.js",
|
@@ -501,6 +502,7 @@
|
|
501
502
|
"./src/type/floating-ui.ts": [],
|
502
503
|
"./src/type/form-rel.ts": [],
|
503
504
|
"./src/type/input.ts": [],
|
505
|
+
"./src/type/language.ts": [],
|
504
506
|
"./src/type/loading.ts": [],
|
505
507
|
"./src/type/preference.ts": [],
|
506
508
|
"./src/type/text.ts": [],
|
@@ -1,12 +1,14 @@
|
|
1
1
|
type LocaleConfig = {
|
2
|
+
el?: Record<string, string | string[]>;
|
3
|
+
en: Record<string, string | string[]>;
|
4
|
+
es?: Record<string, string | string[]>;
|
2
5
|
it?: Record<string, string | string[]>;
|
3
|
-
en?: Record<string, string | string[]>;
|
4
|
-
gr?: Record<string, string | string[]>;
|
5
6
|
};
|
6
7
|
export declare class Locale {
|
7
|
-
|
8
|
+
rollbackLanguage: string;
|
8
9
|
language: string;
|
9
10
|
config: LocaleConfig;
|
11
|
+
closestElement: HTMLElement;
|
10
12
|
constructor(configData: LocaleConfig);
|
11
13
|
lang: (element: HTMLElement) => void;
|
12
14
|
private pluralize;
|
@@ -0,0 +1 @@
|
|
1
|
+
export type LanguageType = 'auto' | `${Lowercase<string>}${Lowercase<string>}` | `${Lowercase<string>}${Lowercase<string>}${Lowercase<string>}`;
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export type UIPreferenceType = 'animation' | 'consumption' | 'contrast' | 'theme';
|
1
|
+
export type UIPreferenceType = 'animation' | 'consumption' | 'contrast' | 'theme' | 'language';
|
2
2
|
export type ConsumptionModeType = 'high' | 'medium' | 'low';
|
package/documentation.json
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
{
|
2
|
-
"timestamp": "2024-09-
|
2
|
+
"timestamp": "2024-09-17T03:14:28",
|
3
3
|
"compiler": {
|
4
4
|
"name": "@stencil/core",
|
5
5
|
"version": "4.21.0",
|
@@ -220,7 +220,7 @@
|
|
220
220
|
"path": "src/components/mds-chip/meta/interface.ts"
|
221
221
|
},
|
222
222
|
"src/components/mds-dropdown/meta/types.ts::DropdownInteractionType": {
|
223
|
-
"declaration": "export type DropdownInteractionType =\n | 'click'\n | 'mouseover'",
|
223
|
+
"declaration": "export type DropdownInteractionType =\n | 'click'\n | 'none'\n | 'mouseover'",
|
224
224
|
"docstring": "",
|
225
225
|
"path": "src/components/mds-dropdown/meta/types.ts"
|
226
226
|
},
|
@@ -434,6 +434,11 @@
|
|
434
434
|
"docstring": "",
|
435
435
|
"path": "src/components/mds-pref-animation/meta/types.ts"
|
436
436
|
},
|
437
|
+
"src/event-detail/preference.ts::MdsPrefChangeEventDetail": {
|
438
|
+
"declaration": "export interface MdsPrefChangeEventDetail {\n preference: UIPreferenceType\n}",
|
439
|
+
"docstring": "",
|
440
|
+
"path": "src/event-detail/preference.ts"
|
441
|
+
},
|
437
442
|
"src/type/preference.ts::ConsumptionModeType": {
|
438
443
|
"declaration": "export type ConsumptionModeType =\n | 'high'\n | 'medium'\n | 'low'",
|
439
444
|
"docstring": "",
|
@@ -444,6 +449,16 @@
|
|
444
449
|
"docstring": "",
|
445
450
|
"path": "src/components/mds-pref-contrast/meta/types.ts"
|
446
451
|
},
|
452
|
+
"src/type/language.ts::LanguageType": {
|
453
|
+
"declaration": "export type LanguageType =\n | 'auto'\n | `${Lowercase<string>}${Lowercase<string>}`\n | `${Lowercase<string>}${Lowercase<string>}${Lowercase<string>}`",
|
454
|
+
"docstring": "",
|
455
|
+
"path": "src/type/language.ts"
|
456
|
+
},
|
457
|
+
"src/event-detail/language.ts::MdsPrefLanguageEventDetail": {
|
458
|
+
"declaration": "export interface MdsPrefLanguageEventDetail {\n language?: LanguageType\n}",
|
459
|
+
"docstring": "",
|
460
|
+
"path": "src/event-detail/language.ts"
|
461
|
+
},
|
447
462
|
"src/components/mds-pref-theme/meta/types.ts::ThemeModeType": {
|
448
463
|
"declaration": "export type ThemeModeType =\n | 'light'\n | 'dark'\n | 'system'",
|
449
464
|
"docstring": "",
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@maggioli-design-system/mds-input-tip",
|
3
|
-
"version": "1.1.
|
3
|
+
"version": "1.1.2",
|
4
4
|
"description": "mds-input-tip is a web-component from Magma Design System, built with StencilJS, TypeScript, Storybook. It's based on the web-component standard and it's designed to be agnostic from the JavaScirpt framework you are using.",
|
5
5
|
"main": "dist/index.cjs.js",
|
6
6
|
"module": "dist/index.js",
|
@@ -24,8 +24,8 @@
|
|
24
24
|
"test": "stencil test --spec --e2e"
|
25
25
|
},
|
26
26
|
"dependencies": {
|
27
|
-
"@maggioli-design-system/mds-input-tip-item": "1.1.
|
28
|
-
"@maggioli-design-system/styles": "15.3.
|
27
|
+
"@maggioli-design-system/mds-input-tip-item": "1.1.2",
|
28
|
+
"@maggioli-design-system/styles": "15.3.2",
|
29
29
|
"@stencil/core": "4.21.0"
|
30
30
|
},
|
31
31
|
"license": "MIT",
|
package/src/common/locale.ts
CHANGED
@@ -1,35 +1,39 @@
|
|
1
1
|
import Handlebars from 'handlebars'
|
2
2
|
|
3
3
|
type LocaleConfig = {
|
4
|
+
el?: Record<string, string | string[]>
|
5
|
+
en: Record<string, string | string[]>
|
6
|
+
es?: Record<string, string | string[]>
|
4
7
|
it?: Record<string, string | string[]>
|
5
|
-
en?: Record<string, string | string[]>
|
6
|
-
gr?: Record<string, string | string[]>
|
7
8
|
}
|
8
9
|
|
9
10
|
export class Locale {
|
10
|
-
|
11
|
+
rollbackLanguage: string = 'en'
|
11
12
|
language: string
|
12
13
|
config: LocaleConfig
|
14
|
+
closestElement:HTMLElement
|
13
15
|
|
14
16
|
constructor (configData: LocaleConfig) {
|
15
17
|
this.config = configData
|
16
18
|
}
|
17
19
|
|
18
20
|
lang = (element: HTMLElement): void => {
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
21
|
+
this.closestElement = element.closest('[lang]') as HTMLElement
|
22
|
+
|
23
|
+
|
24
|
+
if (this.closestElement) {
|
25
|
+
if (this.closestElement.lang) {
|
26
|
+
this.language = this.closestElement.lang
|
23
27
|
return
|
24
28
|
}
|
25
29
|
}
|
26
30
|
|
27
|
-
this.language = this.
|
31
|
+
this.language = this.rollbackLanguage
|
28
32
|
}
|
29
33
|
|
30
34
|
private pluralize = (tag: string | string[], context: Record<string, string | number>): string => {
|
31
35
|
|
32
|
-
const languagePhrase: string | string[] = this.config[this.language][tag]
|
36
|
+
const languagePhrase: string | string[] = this.config[this.language] ? this.config[this.language][tag] : this.config[this.rollbackLanguage][tag]
|
33
37
|
const phrases: string[] = []
|
34
38
|
|
35
39
|
if (Array.isArray(languagePhrase)) {
|
@@ -61,6 +65,6 @@ export class Locale {
|
|
61
65
|
if (context) {
|
62
66
|
return this.pluralize(tag, context)
|
63
67
|
}
|
64
|
-
return this.config[this.language][tag]
|
68
|
+
return this.config[this.language] ? this.config[this.language][tag] : this.config[this.rollbackLanguage][tag]
|
65
69
|
}
|
66
70
|
}
|