@maggioli-design-system/mds-input-tip 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,20 +1,19 @@
1
1
  import Handlebars from "handlebars";
2
2
  export class Locale {
3
3
  constructor(configData) {
4
- this.defaultLanguage = 'en';
4
+ this.rollbackLanguage = 'en';
5
5
  this.lang = (element) => {
6
- const closestElement = element.closest('[lang]');
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.defaultLanguage;
13
+ this.language = this.rollbackLanguage;
14
14
  };
15
15
  this.pluralize = (tag, context) => {
16
- var _a;
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 (_a = this.config[this.language][tag]) !== null && _a !== void 0 ? _a : this.config[this.defaultLanguage][tag];
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 {};
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2024-09-05T13:44:15",
2
+ "timestamp": "2024-09-13T08:51:11",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.21.0",
package/dist/stats.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2024-09-05T13:44:15",
2
+ "timestamp": "2024-09-13T08:51:11",
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": 91,
12
+ "bundles": 92,
13
13
  "outputs": [
14
14
  {
15
15
  "name": "dist-collection",
16
- "files": 43,
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
- defaultLanguage: string;
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';
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2024-09-05T13:13:09",
2
+ "timestamp": "2024-09-13T08:12:14",
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.0",
3
+ "version": "1.1.1",
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.0",
28
- "@maggioli-design-system/styles": "15.3.0",
27
+ "@maggioli-design-system/mds-input-tip-item": "1.1.1",
28
+ "@maggioli-design-system/styles": "15.3.1",
29
29
  "@stencil/core": "4.21.0"
30
30
  },
31
31
  "license": "MIT",
@@ -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
- defaultLanguage: string = 'en'
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
- const closestElement:HTMLElement = element.closest('[lang]') as HTMLElement
20
- if (closestElement) {
21
- if (closestElement.lang) {
22
- this.language = closestElement.lang
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.defaultLanguage
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] ?? this.config[this.defaultLanguage][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] ?? this.config[this.defaultLanguage][tag]
68
+ return this.config[this.language] ? this.config[this.language][tag] : this.config[this.rollbackLanguage][tag]
65
69
  }
66
70
  }
@@ -0,0 +1,4 @@
1
+ export type LanguageType =
2
+ | 'auto'
3
+ | `${Lowercase<string>}${Lowercase<string>}`
4
+ | `${Lowercase<string>}${Lowercase<string>}${Lowercase<string>}`
@@ -3,6 +3,7 @@ export type UIPreferenceType =
3
3
  | 'consumption'
4
4
  | 'contrast'
5
5
  | 'theme'
6
+ | 'language'
6
7
 
7
8
  export type ConsumptionModeType =
8
9
  | 'high'