@maggioli-design-system/mds-progress 2.10.3 → 3.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.
Files changed (110) hide show
  1. package/dist/cjs/{index-2c37527a.js → index-91b93373.js} +19 -4
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/mds-progress.cjs.entry.js +26 -4
  4. package/dist/cjs/mds-progress.cjs.js +2 -2
  5. package/dist/collection/collection-manifest.json +2 -2
  6. package/dist/collection/common/aria.js +17 -1
  7. package/dist/collection/common/device.js +6 -0
  8. package/dist/collection/common/keyboard-manager.js +2 -2
  9. package/dist/collection/common/locale.js +17 -5
  10. package/dist/collection/components/mds-progress/mds-progress.css +28 -259
  11. package/dist/collection/components/mds-progress/mds-progress.js +8 -2
  12. package/dist/collection/components/mds-progress/test/mds-progress.stories.js +1 -1
  13. package/dist/collection/dictionary/button.js +1 -0
  14. package/dist/collection/dictionary/file-extensions.js +114 -56
  15. package/dist/collection/dictionary/text.js +60 -1
  16. package/dist/collection/dictionary/variant.js +10 -1
  17. package/dist/collection/type/variant-file-format.js +0 -34
  18. package/dist/components/mds-progress.js +25 -3
  19. package/dist/documentation.json +3 -3
  20. package/dist/esm/{index-2c599ac6.js → index-c78d74f1.js} +19 -4
  21. package/dist/esm/loader.js +2 -2
  22. package/dist/esm/mds-progress.entry.js +26 -4
  23. package/dist/esm/mds-progress.js +3 -3
  24. package/dist/esm-es5/index-c78d74f1.js +1 -0
  25. package/dist/esm-es5/loader.js +1 -1
  26. package/dist/esm-es5/mds-progress.entry.js +1 -1
  27. package/dist/esm-es5/mds-progress.js +1 -1
  28. package/dist/mds-progress/mds-progress.esm.js +1 -1
  29. package/dist/mds-progress/mds-progress.js +1 -1
  30. package/dist/mds-progress/p-1a7421ef.system.js +2 -0
  31. package/dist/mds-progress/p-3fa56e3f.js +2 -0
  32. package/dist/mds-progress/{p-247bfa7b.system.js → p-4484605e.system.js} +1 -1
  33. package/dist/mds-progress/p-ae143936.entry.js +1 -0
  34. package/dist/mds-progress/p-aed14e74.system.entry.js +1 -0
  35. package/dist/stats.json +36 -36
  36. package/dist/types/common/aria.d.ts +3 -1
  37. package/dist/types/common/date.d.ts +1 -1
  38. package/dist/types/common/device.d.ts +2 -0
  39. package/dist/types/common/file.d.ts +3 -4
  40. package/dist/types/common/locale.d.ts +3 -1
  41. package/dist/types/components/mds-progress/mds-progress.d.ts +2 -1
  42. package/dist/types/components.d.ts +2 -2
  43. package/dist/types/dictionary/file-extensions.d.ts +2 -1
  44. package/dist/types/dictionary/text.d.ts +3 -1
  45. package/dist/types/dictionary/variant.d.ts +2 -1
  46. package/dist/types/stencil-public-runtime.d.ts +6 -0
  47. package/dist/types/type/autocomplete.d.ts +1 -1
  48. package/dist/types/type/button.d.ts +1 -1
  49. package/dist/types/type/header-bar.d.ts +2 -0
  50. package/dist/types/type/input.d.ts +3 -0
  51. package/dist/types/type/text.d.ts +2 -0
  52. package/dist/types/type/variant-file-format.d.ts +4 -4
  53. package/dist/types/type/variant.d.ts +2 -1
  54. package/documentation.json +48 -28
  55. package/package.json +4 -4
  56. package/readme.md +1 -1
  57. package/src/common/aria.ts +22 -2
  58. package/src/common/device.ts +9 -0
  59. package/src/common/file.ts +2 -3
  60. package/src/common/keyboard-manager.ts +2 -2
  61. package/src/common/locale.ts +20 -6
  62. package/src/common/unit.ts +1 -1
  63. package/src/components/mds-progress/.gitlab-ci.yml +5 -10
  64. package/src/components/mds-progress/css/mds-progress-pref-contrast.css +2 -2
  65. package/src/components/mds-progress/css/mds-progress-pref-theme.css +14 -14
  66. package/src/components/mds-progress/css/mds-progress-variant.css +1 -1
  67. package/src/components/mds-progress/mds-progress.css +14 -12
  68. package/src/components/mds-progress/mds-progress.tsx +9 -2
  69. package/src/components/mds-progress/test/mds-progress.stories.tsx +1 -1
  70. package/src/components.d.ts +2 -2
  71. package/src/dictionary/button.ts +1 -0
  72. package/src/dictionary/file-extensions.ts +118 -57
  73. package/src/dictionary/text.ts +64 -0
  74. package/src/dictionary/variant.ts +11 -0
  75. package/src/fixtures/icons.json +37 -3
  76. package/src/fixtures/iconsauce.json +26 -1
  77. package/src/meta/file-format/locale.el.json +39 -0
  78. package/src/meta/file-format/locale.en.json +39 -0
  79. package/src/meta/file-format/locale.es.json +39 -0
  80. package/src/meta/file-format/locale.it.json +39 -0
  81. package/src/tailwind/components.css +1 -1
  82. package/src/type/autocomplete.ts +0 -1
  83. package/src/type/button.ts +1 -0
  84. package/src/type/header-bar.ts +11 -0
  85. package/src/type/input.ts +4 -0
  86. package/src/type/text.ts +59 -0
  87. package/src/type/variant-file-format.ts +20 -37
  88. package/src/type/variant.ts +9 -1
  89. package/www/build/mds-progress.esm.js +1 -1
  90. package/www/build/mds-progress.js +1 -1
  91. package/www/build/p-1a7421ef.system.js +2 -0
  92. package/www/build/p-3fa56e3f.js +2 -0
  93. package/www/build/{p-247bfa7b.system.js → p-4484605e.system.js} +1 -1
  94. package/www/build/p-ae143936.entry.js +1 -0
  95. package/www/build/p-aed14e74.system.entry.js +1 -0
  96. package/dist/collection/type/language.js +0 -1
  97. package/dist/esm-es5/index-2c599ac6.js +0 -1
  98. package/dist/mds-progress/p-18057705.system.entry.js +0 -1
  99. package/dist/mds-progress/p-2ca5093d.entry.js +0 -1
  100. package/dist/mds-progress/p-313d3f72.js +0 -2
  101. package/dist/mds-progress/p-ecdde885.system.js +0 -2
  102. package/dist/types/interface/input-value.d.ts +0 -4
  103. package/dist/types/type/language.d.ts +0 -1
  104. package/src/interface/input-value.ts +0 -5
  105. package/src/type/language.ts +0 -4
  106. package/www/build/p-18057705.system.entry.js +0 -1
  107. package/www/build/p-2ca5093d.entry.js +0 -1
  108. package/www/build/p-313d3f72.js +0 -2
  109. package/www/build/p-ecdde885.system.js +0 -2
  110. /package/dist/collection/{interface/input-value.js → type/header-bar.js} +0 -0
@@ -1,5 +1,7 @@
1
1
  declare const unslugName: (name: string) => string;
2
2
  declare const setAttributeIfEmpty: (element: HTMLElement, attribute: string, value: string) => string;
3
+ declare const removeAttributesIf: (element: HTMLElement, attribute: string, valueCheck: string | undefined, cleanAttributes: string | string[]) => boolean;
4
+ declare const ifAttribute: (element: HTMLElement, attribute: string, valueCheck?: string) => boolean;
3
5
  declare const hashValue: (value: string) => string;
4
6
  declare const hashRandomValue: (value?: string) => string;
5
- export { unslugName, setAttributeIfEmpty, hashRandomValue, hashValue, };
7
+ export { hashRandomValue, hashValue, removeAttributesIf, setAttributeIfEmpty, ifAttribute, unslugName, };
@@ -1,4 +1,4 @@
1
- import { ISO8601Date } from '@type/date';
1
+ import { ISO8601Date } from "../type/date";
2
2
  declare const isISO8601Date: (dateString: string) => boolean;
3
3
  declare const sanitizeISO8601Date: (dateString: string) => ISO8601Date;
4
4
  export { sanitizeISO8601Date, isISO8601Date, };
@@ -0,0 +1,2 @@
1
+ declare const isMobileDevice: () => boolean;
2
+ export { isMobileDevice, };
@@ -1,9 +1,8 @@
1
- import { ExtensionInfo } from '@dictionary/file-extensions';
1
+ import { ExtensionInfo } from "../dictionary/file-extensions";
2
+ import { ThemeFullVariantType } from "../type/variant";
2
3
  interface FileFormatsVariants {
3
- color: string;
4
4
  icon: string;
5
- iconBackground: string;
6
- variant: string;
5
+ variant: ThemeFullVariantType;
7
6
  }
8
7
  declare const getName: (rawFilename: string) => string;
9
8
  declare const getSuffix: (rawFilename: string, suffixOverride?: string) => string;
@@ -9,9 +9,11 @@ export declare class Locale {
9
9
  language: string;
10
10
  config: LocaleConfig;
11
11
  closestElement: HTMLElement;
12
+ element: HTMLElement;
12
13
  constructor(configData?: LocaleConfig);
13
14
  set: (configData: LocaleConfig) => void;
14
- lang: (element: HTMLElement) => string;
15
+ lang: (el: HTMLElement) => string;
16
+ update: (doc?: Document | ShadowRoot) => void;
15
17
  private pluralize;
16
18
  get: (tag: string | string[], context?: Record<string, string | number>) => string;
17
19
  }
@@ -1,5 +1,5 @@
1
1
  import { DirectionType } from './meta/types';
2
- import { ThemeVariantType } from '@type/variant';
2
+ import { ThemeVariantType } from "../../type/variant";
3
3
  export declare class MdsProgress {
4
4
  private element;
5
5
  currentStep: string;
@@ -21,6 +21,7 @@ export declare class MdsProgress {
21
21
  */
22
22
  readonly steps: string;
23
23
  componentWillLoad(): void;
24
+ componentDidLoad(): void;
24
25
  private setProgress;
25
26
  progressChanged(progress: number): void;
26
27
  stepsChanged(steps: string): void;
@@ -6,9 +6,9 @@
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { DirectionType } from "./components/mds-progress/meta/types";
9
- import { ThemeVariantType } from "@type/variant";
9
+ import { ThemeVariantType } from "./type/variant";
10
10
  export { DirectionType } from "./components/mds-progress/meta/types";
11
- export { ThemeVariantType } from "@type/variant";
11
+ export { ThemeVariantType } from "./type/variant";
12
12
  export namespace Components {
13
13
  interface MdsProgress {
14
14
  /**
@@ -1,9 +1,10 @@
1
+ import { FileFormat } from "../type/variant-file-format";
1
2
  interface FileExtenstion {
2
3
  [key: string]: ExtensionInfo;
3
4
  }
4
5
  interface ExtensionInfo {
5
6
  preview?: boolean;
6
- format: string;
7
+ format: FileFormat;
7
8
  description: string;
8
9
  }
9
10
  declare const fileExtensionsDictionary: FileExtenstion;
@@ -1,2 +1,4 @@
1
+ declare const typographyTagDictionary: string[];
2
+ declare const typographyHeadingTagDictionary: string[];
1
3
  declare const truncateDictionary: string[];
2
- export { truncateDictionary, };
4
+ export { truncateDictionary, typographyHeadingTagDictionary, typographyTagDictionary, };
@@ -5,8 +5,9 @@ declare const themeFullVariantDictionary: string[];
5
5
  declare const themeFullVariantAvatarDictionary: string[];
6
6
  declare const themeLabelVariantDictionary: string[];
7
7
  declare const toneVariantDictionary: string[];
8
+ declare const themeVariantChipDictionary: string[];
8
9
  declare const toneActionVariantDictionary: string[];
9
10
  declare const toneSimpleVariantDictionary: string[];
10
11
  declare const toneSmartVariantDictionary: string[];
11
12
  declare const toneMinimalVariantDictionary: string[];
12
- export { themeFullVariantAvatarDictionary, themeFullVariantDictionary, themeLabelVariantDictionary, themeLuminanceVariantDictionary, themeStatusVariantDictionary, themeVariantDictionary, toneActionVariantDictionary, toneMinimalVariantDictionary, toneSimpleVariantDictionary, toneSmartVariantDictionary, toneVariantDictionary, };
13
+ export { themeFullVariantAvatarDictionary, themeFullVariantDictionary, themeLabelVariantDictionary, themeLuminanceVariantDictionary, themeStatusVariantDictionary, themeVariantDictionary, themeVariantChipDictionary, toneActionVariantDictionary, toneMinimalVariantDictionary, toneSimpleVariantDictionary, toneSmartVariantDictionary, toneVariantDictionary, };
@@ -1015,6 +1015,8 @@ export declare namespace JSXBase {
1015
1015
  autoPlay?: boolean;
1016
1016
  autoplay?: boolean | string;
1017
1017
  controls?: boolean;
1018
+ controlslist?: 'nodownload' | 'nofullscreen' | 'noremoteplayback';
1019
+ controlsList?: 'nodownload' | 'nofullscreen' | 'noremoteplayback';
1018
1020
  crossOrigin?: string;
1019
1021
  crossorigin?: string;
1020
1022
  loop?: boolean;
@@ -1564,6 +1566,10 @@ export declare namespace JSXBase {
1564
1566
  onSubmitCapture?: (event: Event) => void;
1565
1567
  onInvalid?: (event: Event) => void;
1566
1568
  onInvalidCapture?: (event: Event) => void;
1569
+ onBeforeToggle?: (event: Event) => void;
1570
+ onBeforeToggleCapture?: (event: Event) => void;
1571
+ onToggle?: (event: Event) => void;
1572
+ onToggleCapture?: (event: Event) => void;
1567
1573
  onLoad?: (event: Event) => void;
1568
1574
  onLoadCapture?: (event: Event) => void;
1569
1575
  onError?: (event: Event) => void;
@@ -1,2 +1,2 @@
1
- export type AutocompleteType = 'additional-name' | 'address' | 'address-level1' | 'address-level2' | 'address-level3' | 'address-level4' | 'address-line1' | 'address-line2' | 'address-line3' | 'bday' | 'bday-day' | 'bday-month' | 'bday-year' | 'cc-additional-name' | 'cc-csc' | 'cc-exp' | 'cc-exp-month' | 'cc-exp-year' | 'cc-family-name' | 'cc-family-name' | 'cc-given-name' | 'cc-name' | 'cc-number' | 'cc-type' | 'country' | 'country-name' | 'current-password' | 'email' | 'family-name' | 'given-name' | 'honorific-prefix' | 'honorific-suffix' | 'impp' | 'language' | 'name' | 'new-password' | 'nickname' | 'off' | 'on' | 'one-time-code' | 'organization' | 'organization-title' | 'photo' | 'postal-code' | 'sex' | 'street-address' | 'tel' | 'tel-area-code' | 'tel-country-code' | 'tel-extension' | 'tel-local' | 'tel-national' | 'transaction-amount' | 'transaction-currency' | 'url' | 'username';
1
+ export type AutocompleteType = 'additional-name' | 'address' | 'address-level1' | 'address-level2' | 'address-level3' | 'address-level4' | 'address-line1' | 'address-line2' | 'address-line3' | 'bday' | 'bday-day' | 'bday-month' | 'bday-year' | 'cc-additional-name' | 'cc-csc' | 'cc-exp' | 'cc-exp-month' | 'cc-exp-year' | 'cc-family-name' | 'cc-given-name' | 'cc-name' | 'cc-number' | 'cc-type' | 'country' | 'country-name' | 'current-password' | 'email' | 'family-name' | 'given-name' | 'honorific-prefix' | 'honorific-suffix' | 'impp' | 'language' | 'name' | 'new-password' | 'nickname' | 'off' | 'on' | 'one-time-code' | 'organization' | 'organization-title' | 'photo' | 'postal-code' | 'sex' | 'street-address' | 'tel' | 'tel-area-code' | 'tel-country-code' | 'tel-extension' | 'tel-local' | 'tel-national' | 'transaction-amount' | 'transaction-currency' | 'url' | 'username';
2
2
  export type InputTextType = 'date' | 'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'textarea' | 'time' | 'url';
@@ -2,4 +2,4 @@ export type ButtonType = 'a' | 'button' | 'reset' | 'submit';
2
2
  export type ButtonTargetType = 'self' | 'blank';
3
3
  export type ButtonSizeType = 'sm' | 'md' | 'lg' | 'xl';
4
4
  export type ButtonIconPositionType = 'left' | 'right';
5
- export type ButtonVariantType = 'primary' | 'dark' | 'light' | 'error' | 'info' | 'success' | 'warning';
5
+ export type ButtonVariantType = 'primary' | 'secondary' | 'dark' | 'light' | 'error' | 'info' | 'success' | 'warning';
@@ -0,0 +1,2 @@
1
+ export type HeaderBarMenuType = 'all' | 'desktop' | 'mobile' | 'none';
2
+ export type HeaderBarNavType = 'all' | 'desktop' | 'mobile' | 'none';
@@ -2,3 +2,6 @@ export type InputControlsLayoutType = 'horizontal' | 'vertical';
2
2
  export type InputControlsIconType = 'arrow' | 'arithmetic';
3
3
  export type InputValueType = null | number | string | undefined;
4
4
  export type InputTextType = 'date' | 'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'textarea' | 'time' | 'url';
5
+ export interface MdsInputEventDetail {
6
+ value?: File | string | FormData | null;
7
+ }
@@ -1 +1,3 @@
1
+ export type TypographyTagType = 'abbr' | 'address' | 'article' | 'b' | 'bdo' | 'blockquote' | 'cite' | 'code' | 'dd' | 'del' | 'details' | 'dfn' | 'div' | 'dl' | 'dt' | 'em' | 'figcaption' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'i' | 'ins' | 'kbd' | 'label' | 'legend' | 'li' | 'mark' | 'ol' | 'p' | 'pre' | 'q' | 'rb' | 'rt' | 'ruby' | 's' | 'samp' | 'small' | 'span' | 'strong' | 'sub' | 'summary' | 'sup' | 'time' | 'u' | 'ul' | 'var';
2
+ export type TypographyHeadingTagType = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
1
3
  export type TypographyTruncateType = 'all' | 'none' | 'word';
@@ -1,11 +1,11 @@
1
+ import { ThemeFullVariantType } from "./variant";
2
+ type FileFormat = 'archive' | 'attachment' | 'audio' | 'code' | 'data' | 'document' | 'email' | 'executable' | 'image' | 'markup' | 'slide' | 'spreadsheet' | 'text' | 'vector' | 'video';
1
3
  interface FileFormatVariant {
2
- color: string;
3
4
  icon: string;
4
- iconBackground: string;
5
- variant: string;
5
+ variant: ThemeFullVariantType;
6
6
  }
7
7
  interface FileFormatVariants {
8
8
  [key: string]: FileFormatVariant;
9
9
  }
10
10
  declare const fileFormatsVariant: FileFormatVariants;
11
- export { fileFormatsVariant, FileFormatVariant, FileFormatVariants, };
11
+ export { fileFormatsVariant, FileFormat, FileFormatVariant, FileFormatVariants, };
@@ -5,8 +5,9 @@ export type ThemeFullVariantAvatarType = 'amaranth' | 'aqua' | 'blue' | 'error'
5
5
  export type ThemeLuminanceVariantType = 'dark' | 'light';
6
6
  export type LabelVariantType = 'amaranth' | 'aqua' | 'blue' | 'green' | 'lime' | 'orange' | 'orchid' | 'sky' | 'violet' | 'yellow';
7
7
  export type ActionVariantType = 'primary' | 'dark' | 'light';
8
+ export type ChipVariantType = 'primary' | 'secondary' | 'dark' | 'error' | 'info' | 'success' | 'warning';
8
9
  export type StateVariantType = 'disabled' | 'focused' | 'readonly';
9
- export type ToneActionVariantType = 'primary' | 'secondary' | 'tertiary' | 'strong' | 'weak' | 'ghost' | 'quiet';
10
+ export type ToneActionVariantType = 'primary' | 'secondary' | 'strong' | 'weak' | 'ghost' | 'quiet';
10
11
  export type ToneVariantType = 'strong' | 'weak' | 'ghost' | 'quiet';
11
12
  export type ToneSimpleVariantType = 'quiet' | 'strong' | 'weak';
12
13
  export type ToneMinimalVariantType = 'strong' | 'weak';
@@ -1,17 +1,17 @@
1
1
  {
2
- "timestamp": "2024-09-26T07:00:37",
2
+ "timestamp": "2024-12-04T15:30:05",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
- "version": "4.21.0",
6
- "typescriptVersion": "5.5.3"
5
+ "version": "4.22.2",
6
+ "typescriptVersion": "5.5.4"
7
7
  },
8
8
  "components": [
9
9
  {
10
10
  "filePath": "src/components/mds-progress/mds-progress.tsx",
11
11
  "encapsulation": "shadow",
12
12
  "tag": "mds-progress",
13
- "readme": "# mds-progress\n\n\n\nThis is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), 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.\n",
14
- "docs": "This is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), 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.",
13
+ "readme": "# mds-progress\n\n\n\nThis is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), built with StencilJS, TypeScript, Storybook. It's based on the web-component standard and it's designed to be agnostic from the JavaScript framework you are using.\n",
14
+ "docs": "This is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), built with StencilJS, TypeScript, Storybook. It's based on the web-component standard and it's designed to be agnostic from the JavaScript framework you are using.",
15
15
  "docsTags": [],
16
16
  "usage": {},
17
17
  "props": [
@@ -220,6 +220,11 @@
220
220
  "docstring": "",
221
221
  "path": "src/components/mds-accordion-item/meta/event-detail.ts"
222
222
  },
223
+ "src/components/mds-accordion-timer/meta/event-detail.ts::MdsAccordionTimerEventDetail": {
224
+ "declaration": "export interface MdsAccordionTimerEventDetail {\n index: number;\n}",
225
+ "docstring": "",
226
+ "path": "src/components/mds-accordion-timer/meta/event-detail.ts"
227
+ },
223
228
  "src/components/mds-accordion-timer-item/meta/event-detail.ts::MdsAccordionTimerItemEventDetail": {
224
229
  "declaration": "export interface MdsAccordionTimerItemEventDetail {\n selected: boolean;\n uuid: number;\n}",
225
230
  "docstring": "",
@@ -306,7 +311,7 @@
306
311
  "path": "src/type/button.ts"
307
312
  },
308
313
  "src/type/button.ts::ButtonVariantType": {
309
- "declaration": "export type ButtonVariantType =\n | 'primary'\n | 'dark'\n | 'light'\n | 'error'\n | 'info'\n | 'success'\n | 'warning'",
314
+ "declaration": "export type ButtonVariantType =\n | 'primary'\n | 'secondary'\n | 'dark'\n | 'light'\n | 'error'\n | 'info'\n | 'success'\n | 'warning'",
310
315
  "docstring": "",
311
316
  "path": "src/type/button.ts"
312
317
  },
@@ -320,6 +325,11 @@
320
325
  "docstring": "",
321
326
  "path": "src/type/button.ts"
322
327
  },
328
+ "src/type/variant.ts::ChipVariantType": {
329
+ "declaration": "export type ChipVariantType =\n | 'primary'\n | 'secondary'\n | 'dark'\n | 'error'\n | 'info'\n | 'success'\n | 'warning'",
330
+ "docstring": "",
331
+ "path": "src/type/variant.ts"
332
+ },
323
333
  "src/components/mds-chip/meta/interface.ts::MdsChipEvent": {
324
334
  "declaration": "interface MdsChipEvent {\n event: Event\n element: HTMLMdsChipElement\n}",
325
335
  "docstring": "",
@@ -361,7 +371,7 @@
361
371
  "path": "src/type/text.ts"
362
372
  },
363
373
  "src/components/mds-file-preview/meta/event-detail.ts::MdsFilePreviewEventDetail": {
364
- "declaration": "export interface MdsFilePreviewEventDetail {\n extension: string\n filename: string\n target: HTMLMdsFileElement\n}",
374
+ "declaration": "export interface MdsFilePreviewEventDetail {\n extension: string\n filename: string\n target: HTMLMdsFilePreviewElement\n}",
365
375
  "docstring": "",
366
376
  "path": "src/components/mds-file-preview/meta/event-detail.ts"
367
377
  },
@@ -375,10 +385,15 @@
375
385
  "docstring": "",
376
386
  "path": "src/components/mds-filter-item/meta/event-detail.ts"
377
387
  },
378
- "src/components/mds-header-bar/meta/types.ts::MenuType": {
379
- "declaration": "export type MenuType =\n | 'all'\n | 'desktop'\n | 'mobile'\n | 'none'",
388
+ "src/type/header-bar.ts::HeaderBarMenuType": {
389
+ "declaration": "export type HeaderBarMenuType =\n | 'all'\n | 'desktop'\n | 'mobile'\n | 'none'",
380
390
  "docstring": "",
381
- "path": "src/components/mds-header-bar/meta/types.ts"
391
+ "path": "src/type/header-bar.ts"
392
+ },
393
+ "src/type/header-bar.ts::HeaderBarNavType": {
394
+ "declaration": "export type HeaderBarNavType =\n | 'all'\n | 'desktop'\n | 'mobile'\n | 'none'",
395
+ "docstring": "",
396
+ "path": "src/type/header-bar.ts"
382
397
  },
383
398
  "src/components/mds-header/meta/event-detail.ts::MdsHeaderEventDetail": {
384
399
  "declaration": "export interface MdsHeaderEventDetail {\n bar: HTMLMdsHeaderBarElement\n}",
@@ -416,7 +431,7 @@
416
431
  "path": "src/components/mds-img/meta/event-detail.ts"
417
432
  },
418
433
  "src/type/autocomplete.ts::AutocompleteType": {
419
- "declaration": "export type AutocompleteType =\n | 'additional-name'\n | 'address'\n | 'address-level1'\n | 'address-level2'\n | 'address-level3'\n | 'address-level4'\n | 'address-line1'\n | 'address-line2'\n | 'address-line3'\n | 'bday'\n | 'bday-day'\n | 'bday-month'\n | 'bday-year'\n | 'cc-additional-name'\n | 'cc-csc'\n | 'cc-exp'\n | 'cc-exp-month'\n | 'cc-exp-year'\n | 'cc-family-name'\n | 'cc-family-name'\n | 'cc-given-name'\n | 'cc-name'\n | 'cc-number'\n | 'cc-type'\n | 'country'\n | 'country-name'\n | 'current-password'\n | 'email'\n | 'family-name'\n | 'given-name'\n | 'honorific-prefix'\n | 'honorific-suffix'\n | 'impp'\n | 'language'\n | 'name'\n | 'new-password'\n | 'nickname'\n | 'off'\n | 'on'\n | 'one-time-code'\n | 'organization'\n | 'organization-title'\n | 'photo'\n | 'postal-code'\n | 'sex'\n | 'street-address'\n | 'tel'\n | 'tel-area-code'\n | 'tel-country-code'\n | 'tel-extension'\n | 'tel-local'\n | 'tel-national'\n | 'transaction-amount'\n | 'transaction-currency'\n | 'url'\n | 'username'",
434
+ "declaration": "export type AutocompleteType =\n | 'additional-name'\n | 'address'\n | 'address-level1'\n | 'address-level2'\n | 'address-level3'\n | 'address-level4'\n | 'address-line1'\n | 'address-line2'\n | 'address-line3'\n | 'bday'\n | 'bday-day'\n | 'bday-month'\n | 'bday-year'\n | 'cc-additional-name'\n | 'cc-csc'\n | 'cc-exp'\n | 'cc-exp-month'\n | 'cc-exp-year'\n | 'cc-family-name'\n | 'cc-given-name'\n | 'cc-name'\n | 'cc-number'\n | 'cc-type'\n | 'country'\n | 'country-name'\n | 'current-password'\n | 'email'\n | 'family-name'\n | 'given-name'\n | 'honorific-prefix'\n | 'honorific-suffix'\n | 'impp'\n | 'language'\n | 'name'\n | 'new-password'\n | 'nickname'\n | 'off'\n | 'on'\n | 'one-time-code'\n | 'organization'\n | 'organization-title'\n | 'photo'\n | 'postal-code'\n | 'sex'\n | 'street-address'\n | 'tel'\n | 'tel-area-code'\n | 'tel-country-code'\n | 'tel-extension'\n | 'tel-local'\n | 'tel-national'\n | 'transaction-amount'\n | 'transaction-currency'\n | 'url'\n | 'username'",
420
435
  "docstring": "",
421
436
  "path": "src/type/autocomplete.ts"
422
437
  },
@@ -445,10 +460,10 @@
445
460
  "docstring": "",
446
461
  "path": "src/type/typography.ts"
447
462
  },
448
- "src/components/mds-input/meta/event-detail.ts::MdsInputEventDetail": {
449
- "declaration": "export interface MdsInputEventDetail {\n value?: string\n}",
463
+ "src/type/input.ts::MdsInputEventDetail": {
464
+ "declaration": "export interface MdsInputEventDetail {\n value?: File | string | FormData | null\n}",
450
465
  "docstring": "",
451
- "path": "src/components/mds-input/meta/event-detail.ts"
466
+ "path": "src/type/input.ts"
452
467
  },
453
468
  "src/components/mds-input-field/meta/types.ts::InputFieldType": {
454
469
  "declaration": "export type InputFieldType =\n | 'date'\n | 'email'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'textarea'\n | 'time'\n | 'url'\n | 'cc'\n | 'cf'\n | 'isbn'\n | 'piva'",
@@ -465,11 +480,6 @@
465
480
  "docstring": "",
466
481
  "path": "src/components/mds-input-field/meta/validators.ts"
467
482
  },
468
- "src/interface/input-value.ts::InputValue": {
469
- "declaration": "export interface InputValue {\n value: InputValueType\n}",
470
- "docstring": "",
471
- "path": "src/interface/input-value.ts"
472
- },
473
483
  "src/components/mds-input-switch/meta/types.ts::InputSwitchSizeType": {
474
484
  "declaration": "export type InputSwitchSizeType =\n | 'sm'\n | 'md'\n | 'lg'",
475
485
  "docstring": "",
@@ -516,7 +526,12 @@
516
526
  "path": "src/type/typography.ts"
517
527
  },
518
528
  "src/components/mds-modal/meta/types.ts::ModalPositionType": {
519
- "declaration": "export type ModalPositionType =\n | 'bottom'\n | 'center'\n | 'left'\n | 'right'\n | 'top'",
529
+ "declaration": "export type ModalPositionType =\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right'\n | 'center'\n | 'left'\n | 'right'\n | 'top'\n | 'top-left'\n | 'top-right'",
530
+ "docstring": "",
531
+ "path": "src/components/mds-modal/meta/types.ts"
532
+ },
533
+ "src/components/mds-modal/meta/types.ts::ModalAnimationStateType": {
534
+ "declaration": "export type ModalAnimationStateType =\n | 'intro'\n | 'none'\n | 'outro'",
520
535
  "docstring": "",
521
536
  "path": "src/components/mds-modal/meta/types.ts"
522
537
  },
@@ -555,13 +570,8 @@
555
570
  "docstring": "",
556
571
  "path": "src/components/mds-pref-contrast/meta/types.ts"
557
572
  },
558
- "src/type/language.ts::LanguageType": {
559
- "declaration": "export type LanguageType =\n | 'auto'\n | `${Lowercase<string>}${Lowercase<string>}`\n | `${Lowercase<string>}${Lowercase<string>}${Lowercase<string>}`",
560
- "docstring": "",
561
- "path": "src/type/language.ts"
562
- },
563
573
  "src/event-detail/language.ts::MdsPrefLanguageEventDetail": {
564
- "declaration": "export interface MdsPrefLanguageEventDetail {\n language?: LanguageType\n}",
574
+ "declaration": "export interface MdsPrefLanguageEventDetail {\n /* A string representing the language version as defined in {@link https://datatracker.ietf.org/doc/html/rfc5646 RFC 5646: Tags for Identifying Languages (also known as BCP 47)}.\n *\n * `Examples of valid language codes include \"en\", \"en-US\", \"fr\", \"fr-FR\", \"es-ES\", etc.`\n */\n language?: string\n}",
565
575
  "docstring": "",
566
576
  "path": "src/event-detail/language.ts"
567
577
  },
@@ -605,6 +615,11 @@
605
615
  "docstring": "",
606
616
  "path": "src/components/mds-push-notification/meta/event-detail.ts"
607
617
  },
618
+ "src/type/text.ts::TypographyHeadingTagType": {
619
+ "declaration": "export type TypographyHeadingTagType =\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'",
620
+ "docstring": "",
621
+ "path": "src/type/text.ts"
622
+ },
608
623
  "src/components/mds-stepper-bar/meta/event-detail.ts::MdsStepperBarEventDetail": {
609
624
  "declaration": "export interface MdsStepperBarEventDetail {\n step: number\n value: string\n}",
610
625
  "docstring": "",
@@ -635,15 +650,20 @@
635
650
  "docstring": "",
636
651
  "path": "src/components/mds-tab-item/meta/event-detail.ts"
637
652
  },
653
+ "src/components/mds-table-header-cell/meta/types.ts::SortDirectionType": {
654
+ "declaration": "export type SortDirectionType =\n | 'ascending'\n | 'descending'\n | 'none'",
655
+ "docstring": "",
656
+ "path": "src/components/mds-table-header-cell/meta/types.ts"
657
+ },
638
658
  "src/components/mds-text/meta/types.ts::TextAnimationType": {
639
659
  "declaration": "export type TextAnimationType =\n | 'none'\n | 'yugop'",
640
660
  "docstring": "",
641
661
  "path": "src/components/mds-text/meta/types.ts"
642
662
  },
643
- "src/components/mds-text/meta/types.ts::TypographyTagType": {
663
+ "src/type/text.ts::TypographyTagType": {
644
664
  "declaration": "export type TypographyTagType =\n | 'abbr'\n | 'address'\n | 'article'\n | 'b'\n | 'bdo'\n | 'blockquote'\n | 'cite'\n | 'code'\n | 'dd'\n | 'del'\n | 'details'\n | 'dfn'\n | 'div'\n | 'dl'\n | 'dt'\n | 'em'\n | 'figcaption'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'i'\n | 'ins'\n | 'kbd'\n | 'label'\n | 'legend'\n | 'li'\n | 'mark'\n | 'ol'\n | 'p'\n | 'pre'\n | 'q'\n | 'rb'\n | 'rt'\n | 'ruby'\n | 's'\n | 'samp'\n | 'small'\n | 'span'\n | 'strong'\n | 'sub'\n | 'summary'\n | 'sup'\n | 'time'\n | 'u'\n | 'ul'\n | 'var'",
645
665
  "docstring": "",
646
- "path": "src/components/mds-text/meta/types.ts"
666
+ "path": "src/type/text.ts"
647
667
  },
648
668
  "src/type/variant.ts::ThemeLuminanceVariantType": {
649
669
  "declaration": "export type ThemeLuminanceVariantType =\n | 'dark'\n | 'light'",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@maggioli-design-system/mds-progress",
3
- "version": "2.10.3",
4
- "description": "mds-progress 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.",
3
+ "version": "3.0.1",
4
+ "description": "mds-progress 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 JavaScript framework you are using.",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
7
7
  "es2015": "dist/esm/index.mjs",
@@ -24,8 +24,8 @@
24
24
  "test": "stencil test --spec --e2e"
25
25
  },
26
26
  "dependencies": {
27
- "@maggioli-design-system/styles": "15.3.2",
28
- "@stencil/core": "4.21.0"
27
+ "@maggioli-design-system/styles": "15.5.0",
28
+ "@stencil/core": "4.22.2"
29
29
  },
30
30
  "license": "MIT",
31
31
  "author": {
package/readme.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- This is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), 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
+ This is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), built with StencilJS, TypeScript, Storybook. It's based on the web-component standard and it's designed to be agnostic from the JavaScript framework you are using.
6
6
 
7
7
  <!-- Auto Generated Below -->
8
8
 
@@ -20,6 +20,24 @@ const setAttributeIfEmpty = (element: HTMLElement, attribute: string, value: str
20
20
  return value
21
21
  }
22
22
 
23
+ const removeAttributesIf = (element: HTMLElement, attribute: string, valueCheck: string = 'true', cleanAttributes: string | string[]): boolean => {
24
+ if (ifAttribute(element, attribute, valueCheck)) {
25
+ const attributesList = Array.isArray(cleanAttributes) ? cleanAttributes : [cleanAttributes]
26
+ attributesList.forEach(attributeToRemove => {
27
+ element.removeAttribute(attributeToRemove)
28
+ })
29
+ return true
30
+ }
31
+ return false
32
+ }
33
+
34
+ const ifAttribute = (element: HTMLElement, attribute: string, valueCheck: string = 'true'): boolean => {
35
+ if (element.hasAttribute(attribute) && element.getAttribute(attribute) === valueCheck) {
36
+ return true
37
+ }
38
+ return false
39
+ }
40
+
23
41
  const hashValue = (value: string): string => `${value}-${hash(value)}`
24
42
 
25
43
  const hashRandomValue = (value?: string): string => {
@@ -32,8 +50,10 @@ const hashRandomValue = (value?: string): string => {
32
50
  }
33
51
 
34
52
  export {
35
- unslugName,
36
- setAttributeIfEmpty,
37
53
  hashRandomValue,
38
54
  hashValue,
55
+ removeAttributesIf,
56
+ setAttributeIfEmpty,
57
+ ifAttribute,
58
+ unslugName,
39
59
  }
@@ -0,0 +1,9 @@
1
+ const isMobileDevice = (): boolean => {
2
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
+ const userAgent = navigator.userAgent || navigator.vendor || (window as any).opera
4
+ return /android|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(userAgent)
5
+ }
6
+
7
+ export {
8
+ isMobileDevice,
9
+ }
@@ -1,11 +1,10 @@
1
1
  import { fileExtensionsDictionary, ExtensionInfo } from '@dictionary/file-extensions'
2
2
  import { fileFormatsVariant } from '@type/variant-file-format'
3
+ import { ThemeFullVariantType } from '@type/variant'
3
4
 
4
5
  interface FileFormatsVariants {
5
- color: string
6
6
  icon: string
7
- iconBackground: string
8
- variant: string
7
+ variant: ThemeFullVariantType
9
8
  }
10
9
 
11
10
  const sanitizeFilename = (filename: string, error: string = 'Attribute "filename" is undefined.') => {
@@ -36,14 +36,14 @@ export class KeyboardManager {
36
36
 
37
37
  attachEscapeBehavior = (callback: () => void): void => {
38
38
  this.escapeCallback = callback
39
- if (window !== undefined) {
39
+ if (typeof window !== 'undefined') {
40
40
  window.addEventListener('keydown', this.handleEscapeBehaviorDispatchEvent.bind(this))
41
41
  }
42
42
  }
43
43
 
44
44
  detachEscapeBehavior = (): void => {
45
45
  this.escapeCallback = () => { return }
46
- if (window !== undefined) {
46
+ if (typeof window !== 'undefined') {
47
47
  window.removeEventListener('keydown', this.handleEscapeBehaviorDispatchEvent.bind(this))
48
48
  }
49
49
  }
@@ -1,4 +1,4 @@
1
- import Handlebars from 'handlebars'
1
+ import { render } from 'mustache'
2
2
 
3
3
  type LocaleConfig = {
4
4
  el?: Record<string, string | string[]>
@@ -12,6 +12,7 @@ export class Locale {
12
12
  language: string
13
13
  config: LocaleConfig
14
14
  closestElement:HTMLElement
15
+ element: HTMLElement
15
16
 
16
17
  constructor (configData?: LocaleConfig) {
17
18
  if (configData) {
@@ -23,8 +24,9 @@ export class Locale {
23
24
  this.config = configData
24
25
  }
25
26
 
26
- lang = (element: HTMLElement): string => {
27
- this.closestElement = element.closest('[lang]') as HTMLElement
27
+ lang = (el: HTMLElement): string => {
28
+ this.element = el
29
+ this.closestElement = this.element.closest('[lang]') as HTMLElement
28
30
 
29
31
  if (this.closestElement) {
30
32
  if (this.closestElement.lang) {
@@ -37,11 +39,24 @@ export class Locale {
37
39
  return this.language
38
40
  }
39
41
 
42
+ update = (doc?: Document | ShadowRoot): void => {
43
+ const context = doc ?? this.element.shadowRoot
44
+ context && context.querySelectorAll('*').forEach(el => {
45
+ if (el.tagName.toLowerCase().startsWith('mds-')) {
46
+ // eslint-disable-next-line no-restricted-syntax
47
+ if (el && 'updateLang' in el) {
48
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
+ (el as any).updateLang()
50
+ }
51
+ }
52
+ })
53
+ }
54
+
40
55
  private pluralize = (tag: string | string[], context: Record<string, string | number>): string => {
41
56
 
42
57
  const languagePhrase: string | string[] = this.config[this.language] ? this.config[this.language][tag] : this.config[this.rollbackLanguage][tag]
43
58
  const phrases: string[] = []
44
-
59
+
45
60
  if (Array.isArray(languagePhrase)) {
46
61
  phrases.push(languagePhrase[0])
47
62
  phrases.push(languagePhrase[1])
@@ -63,8 +78,7 @@ export class Locale {
63
78
  }
64
79
  }
65
80
 
66
- const template = Handlebars.compile(translatePhrase)
67
- return template(context)
81
+ return render(translatePhrase, context)
68
82
  }
69
83
 
70
84
  get = (tag: string | string[], context?: Record<string, string | number>): string => {
@@ -23,7 +23,7 @@ const cssSizeToNumber = (size: string, defaultValue = 0): number => {
23
23
  if (size.includes('em')) {
24
24
  return Number(size.replace('em', '')) * 16
25
25
  }
26
-
26
+
27
27
  return defaultValue
28
28
  }
29
29
 
@@ -2,24 +2,19 @@
2
2
  variables:
3
3
  COMPONENT: mds-progress
4
4
 
5
- # ISOLATE
6
- progress-isolate:
7
- extends: [.base-isolate, .base-progress]
8
- dependencies: [base-stencil-build]
9
-
10
5
  # TEST
11
6
  progress-publish-test:
12
7
  extends: [.base-stencil-publish-test, .base-progress]
13
- dependencies: [base-stencil-build, progress-isolate]
8
+ dependencies: [base-stencil-build, base-isolate]
14
9
 
15
10
  # PUBLISH
16
11
  progress-publish:
17
12
  extends: [.base-stencil-publish, .base-progress]
18
- dependencies: [base-stencil-build, progress-isolate]
19
- needs: [base-stencil-build, progress-isolate, progress-publish-test]
13
+ dependencies: [base-stencil-build, base-isolate]
14
+ needs: [base-stencil-build, base-isolate, progress-publish-test]
20
15
 
21
16
  # INSTALL TEST
22
17
  progress-install-test:
23
18
  extends: [.base-stencil-install-test, .base-progress]
24
- dependencies: [base-stencil-build, progress-isolate]
25
- needs: [base-stencil-build, progress-isolate, progress-publish]
19
+ dependencies: [base-stencil-build, base-isolate]
20
+ needs: [base-stencil-build, base-isolate, progress-publish]
@@ -4,7 +4,7 @@
4
4
  :host,
5
5
  :host( [variant="primary"] ) {
6
6
 
7
- --mds-progress-color: theme('colors.brand-maggioli-05');
7
+ --mds-progress-color: theme('colors.variant-primary-05');
8
8
  --mds-progress-background: theme('colors.tone-neutral-07');
9
9
  }
10
10
  }
@@ -15,7 +15,7 @@
15
15
  :host,
16
16
  :host( [variant="primary"] ) {
17
17
 
18
- --mds-progress-color: theme('colors.brand-maggioli-05');
18
+ --mds-progress-color: theme('colors.variant-primary-05');
19
19
  --mds-progress-background: theme('colors.tone-neutral-07');
20
20
  }
21
21
  }