@maggioli-design-system/mds-paginator-item 2.9.2 → 2.9.3

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.
@@ -0,0 +1,13 @@
1
+ // ISO 8601 date regex allowing optional components (month, day, time)
2
+ const ISO8601RegexString = '^\\d{4}(-\\d{2})?(-\\d{2})?(T\\d{2}(:\\d{2})?(:\\d{2})?(\\.\\d{3})?)?([+-]\\d{2}:\\d{2}|Z)?$';
3
+ const isISO8601Date = (dateString) => {
4
+ const ISO8601Regex = new RegExp(ISO8601RegexString);
5
+ return ISO8601Regex.test(dateString);
6
+ };
7
+ const sanitizeISO8601Date = (dateString) => {
8
+ if (isISO8601Date(dateString)) {
9
+ return dateString;
10
+ }
11
+ return new Date(dateString).toISOString();
12
+ };
13
+ export { sanitizeISO8601Date, isISO8601Date, };
@@ -2,15 +2,19 @@ import Handlebars from "handlebars";
2
2
  export class Locale {
3
3
  constructor(configData) {
4
4
  this.rollbackLanguage = 'en';
5
+ this.set = (configData) => {
6
+ this.config = configData;
7
+ };
5
8
  this.lang = (element) => {
6
9
  this.closestElement = element.closest('[lang]');
7
10
  if (this.closestElement) {
8
11
  if (this.closestElement.lang) {
9
12
  this.language = this.closestElement.lang;
10
- return;
13
+ return this.language;
11
14
  }
12
15
  }
13
16
  this.language = this.rollbackLanguage;
17
+ return this.language;
14
18
  };
15
19
  this.pluralize = (tag, context) => {
16
20
  const languagePhrase = this.config[this.language] ? this.config[this.language][tag] : this.config[this.rollbackLanguage][tag];
@@ -43,6 +47,8 @@ export class Locale {
43
47
  }
44
48
  return this.config[this.language] ? this.config[this.language][tag] : this.config[this.rollbackLanguage][tag];
45
49
  };
46
- this.config = configData;
50
+ if (configData) {
51
+ this.set(configData);
52
+ }
47
53
  }
48
54
  }
@@ -27,4 +27,9 @@ const buttonIconPositionDictionary = [
27
27
  'left',
28
28
  'right',
29
29
  ];
30
- export { buttonIconPositionDictionary, buttonSizeDictionary, buttonTargetDictionary, buttonToneVariantDictionary, buttonVariantDictionary, };
30
+ const buttonTypeDictionary = [
31
+ 'button',
32
+ 'submit',
33
+ 'reset',
34
+ ];
35
+ export { buttonIconPositionDictionary, buttonSizeDictionary, buttonTargetDictionary, buttonToneVariantDictionary, buttonTypeDictionary, buttonVariantDictionary, };
@@ -83,8 +83,13 @@ const toneSimpleVariantDictionary = [
83
83
  'weak',
84
84
  'quiet',
85
85
  ];
86
+ const toneSmartVariantDictionary = [
87
+ 'strong',
88
+ 'weak',
89
+ 'ghost',
90
+ ];
86
91
  const toneMinimalVariantDictionary = [
87
92
  'strong',
88
93
  'weak',
89
94
  ];
90
- export { themeFullVariantAvatarDictionary, themeFullVariantDictionary, themeLabelVariantDictionary, themeLuminanceVariantDictionary, themeStatusVariantDictionary, themeVariantDictionary, toneActionVariantDictionary, toneMinimalVariantDictionary, toneSimpleVariantDictionary, toneVariantDictionary, };
95
+ export { themeFullVariantAvatarDictionary, themeFullVariantDictionary, themeLabelVariantDictionary, themeLuminanceVariantDictionary, themeStatusVariantDictionary, themeVariantDictionary, toneActionVariantDictionary, toneMinimalVariantDictionary, toneSimpleVariantDictionary, toneSmartVariantDictionary, toneVariantDictionary, };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2024-09-17T05:59:28",
2
+ "timestamp": "2024-09-26T11:00:33",
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-17T05:59:28",
2
+ "timestamp": "2024-09-26T11:00:33",
3
3
  "compiler": {
4
4
  "name": "node",
5
5
  "version": "20.10.0"
@@ -9,13 +9,14 @@
9
9
  "fsNamespace": "mds-paginator-item",
10
10
  "components": 1,
11
11
  "entries": 1,
12
- "bundles": 89,
12
+ "bundles": 91,
13
13
  "outputs": [
14
14
  {
15
15
  "name": "dist-collection",
16
- "files": 41,
16
+ "files": 43,
17
17
  "generatedFiles": [
18
18
  "./dist/collection/common/aria.js",
19
+ "./dist/collection/common/date.js",
19
20
  "./dist/collection/common/file.js",
20
21
  "./dist/collection/common/icon.js",
21
22
  "./dist/collection/common/keyboard-manager.js",
@@ -45,6 +46,7 @@
45
46
  "./dist/collection/interface/input-value.js",
46
47
  "./dist/collection/type/autocomplete.js",
47
48
  "./dist/collection/type/button.js",
49
+ "./dist/collection/type/date.js",
48
50
  "./dist/collection/type/file-types.js",
49
51
  "./dist/collection/type/floating-ui.js",
50
52
  "./dist/collection/type/form-rel.js",
@@ -578,6 +580,7 @@
578
580
  },
579
581
  "sourceGraph": {
580
582
  "./src/common/aria.ts": [],
583
+ "./src/common/date.ts": [],
581
584
  "./src/common/file.ts": [],
582
585
  "./src/common/icon.ts": [],
583
586
  "./src/common/keyboard-manager.ts": [],
@@ -619,6 +622,7 @@
619
622
  "./src/interface/input-value.ts": [],
620
623
  "./src/type/autocomplete.ts": [],
621
624
  "./src/type/button.ts": [],
625
+ "./src/type/date.ts": [],
622
626
  "./src/type/file-types.ts": [],
623
627
  "./src/type/floating-ui.ts": [],
624
628
  "./src/type/form-rel.ts": [],
@@ -0,0 +1,4 @@
1
+ import { ISO8601Date } from '@type/date';
2
+ declare const isISO8601Date: (dateString: string) => boolean;
3
+ declare const sanitizeISO8601Date: (dateString: string) => ISO8601Date;
4
+ export { sanitizeISO8601Date, isISO8601Date, };
@@ -9,8 +9,9 @@ export declare class Locale {
9
9
  language: string;
10
10
  config: LocaleConfig;
11
11
  closestElement: HTMLElement;
12
- constructor(configData: LocaleConfig);
13
- lang: (element: HTMLElement) => void;
12
+ constructor(configData?: LocaleConfig);
13
+ set: (configData: LocaleConfig) => void;
14
+ lang: (element: HTMLElement) => string;
14
15
  private pluralize;
15
16
  get: (tag: string | string[], context?: Record<string, string | number>) => string;
16
17
  }
@@ -3,4 +3,5 @@ declare const buttonToneVariantDictionary: string[];
3
3
  declare const buttonTargetDictionary: string[];
4
4
  declare const buttonSizeDictionary: string[];
5
5
  declare const buttonIconPositionDictionary: string[];
6
- export { buttonIconPositionDictionary, buttonSizeDictionary, buttonTargetDictionary, buttonToneVariantDictionary, buttonVariantDictionary, };
6
+ declare const buttonTypeDictionary: string[];
7
+ export { buttonIconPositionDictionary, buttonSizeDictionary, buttonTargetDictionary, buttonToneVariantDictionary, buttonTypeDictionary, buttonVariantDictionary, };
@@ -7,5 +7,6 @@ declare const themeLabelVariantDictionary: string[];
7
7
  declare const toneVariantDictionary: string[];
8
8
  declare const toneActionVariantDictionary: string[];
9
9
  declare const toneSimpleVariantDictionary: string[];
10
+ declare const toneSmartVariantDictionary: string[];
10
11
  declare const toneMinimalVariantDictionary: string[];
11
- export { themeFullVariantAvatarDictionary, themeFullVariantDictionary, themeLabelVariantDictionary, themeLuminanceVariantDictionary, themeStatusVariantDictionary, themeVariantDictionary, toneActionVariantDictionary, toneMinimalVariantDictionary, toneSimpleVariantDictionary, toneVariantDictionary, };
12
+ export { themeFullVariantAvatarDictionary, themeFullVariantDictionary, themeLabelVariantDictionary, themeLuminanceVariantDictionary, themeStatusVariantDictionary, themeVariantDictionary, toneActionVariantDictionary, toneMinimalVariantDictionary, toneSimpleVariantDictionary, toneSmartVariantDictionary, toneVariantDictionary, };
@@ -0,0 +1,5 @@
1
+ type ISO8601DateFormat<K, T> = K & {
2
+ __isISO8601DateFormat: T;
3
+ };
4
+ type ISO8601Date = ISO8601DateFormat<string, 'ISO8601Date'>;
5
+ export { ISO8601Date, };
@@ -8,5 +8,5 @@ export type ActionVariantType = 'primary' | 'dark' | 'light';
8
8
  export type StateVariantType = 'disabled' | 'focused' | 'readonly';
9
9
  export type ToneActionVariantType = 'primary' | 'secondary' | 'tertiary' | 'strong' | 'weak' | 'ghost' | 'quiet';
10
10
  export type ToneVariantType = 'strong' | 'weak' | 'ghost' | 'quiet';
11
- export type ToneSimpleVariantType = 'strong' | 'weak' | 'quiet';
11
+ export type ToneSimpleVariantType = 'quiet' | 'strong' | 'weak';
12
12
  export type ToneMinimalVariantType = 'strong' | 'weak';
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2024-09-17T03:14:28",
2
+ "timestamp": "2024-09-26T07:00:37",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.21.0",
@@ -229,8 +229,8 @@
229
229
  "docstring": "",
230
230
  "path": "src/type/variant.ts"
231
231
  },
232
- "src/type/variant.ts::ToneSimpleVariantType": {
233
- "declaration": "export type ToneSimpleVariantType =\n | 'strong'\n | 'weak'\n | 'quiet'",
232
+ "src/type/variant.ts::ToneVariantType": {
233
+ "declaration": "export type ToneVariantType =\n | 'strong' // background strong\n | 'weak' // background weak\n | 'ghost' // bordered\n | 'quiet'",
234
234
  "docstring": "",
235
235
  "path": "src/type/variant.ts"
236
236
  },
@@ -254,6 +254,11 @@
254
254
  "docstring": "",
255
255
  "path": "src/type/variant.ts"
256
256
  },
257
+ "src/type/variant.ts::ToneSimpleVariantType": {
258
+ "declaration": "export type ToneSimpleVariantType =\n | 'quiet'\n | 'strong'\n | 'weak'",
259
+ "docstring": "",
260
+ "path": "src/type/variant.ts"
261
+ },
257
262
  "src/components/mds-benchmark-bar/meta/types.ts::BenchmarkBarTypographyType": {
258
263
  "declaration": "export type BenchmarkBarTypographyType =\n | 'option'\n | 'label'",
259
264
  "docstring": "",
@@ -294,11 +299,6 @@
294
299
  "docstring": "",
295
300
  "path": "src/type/button.ts"
296
301
  },
297
- "src/type/variant.ts::ToneVariantType": {
298
- "declaration": "export type ToneVariantType =\n | 'strong' // background strong\n | 'weak' // background weak\n | 'ghost' // bordered\n | 'quiet'",
299
- "docstring": "",
300
- "path": "src/type/variant.ts"
301
- },
302
302
  "src/type/button.ts::ButtonSizeType": {
303
303
  "declaration": "export type ButtonSizeType =\n | 'sm'\n | 'md'\n | 'lg'\n | 'xl'",
304
304
  "docstring": "",
@@ -574,6 +574,16 @@
574
574
  "docstring": "",
575
575
  "path": "src/components/mds-progress/meta/types.ts"
576
576
  },
577
+ "src/type/date.ts::ISO8601Date": {
578
+ "declaration": "type ISO8601Date = ISO8601DateFormat<string, 'ISO8601Date'>",
579
+ "docstring": "",
580
+ "path": "src/type/date.ts"
581
+ },
582
+ "src/components/mds-push-notification/meta/types.ts::NotificationDateFormatType": {
583
+ "declaration": "string",
584
+ "docstring": "",
585
+ "path": "src/components/mds-push-notification/meta/types.ts"
586
+ },
577
587
  "src/components/mds-push-notification/meta/types.ts::NotificationPreviewType": {
578
588
  "declaration": "export type NotificationPreviewType =\n | 'avatar'\n | 'image'",
579
589
  "docstring": "",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maggioli-design-system/mds-paginator-item",
3
- "version": "2.9.2",
3
+ "version": "2.9.3",
4
4
  "description": "mds-paginator-item 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,7 +24,7 @@
24
24
  "test": "stencil test --spec --e2e"
25
25
  },
26
26
  "dependencies": {
27
- "@maggioli-design-system/mds-text": "4.4.2",
27
+ "@maggioli-design-system/mds-text": "4.4.3",
28
28
  "@maggioli-design-system/styles": "15.3.2",
29
29
  "@stencil/core": "4.21.0"
30
30
  },
package/readme.md CHANGED
@@ -23,26 +23,6 @@ This is a web-component from Maggioli Design System [Magma](https://magma.maggio
23
23
  | `"default"` | Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here. |
24
24
 
25
25
 
26
- ## CSS Custom Properties
27
-
28
- | Name | Description |
29
- | ------------------------------------------ | --------------------------------------------------------------- |
30
- | `--mds-paginator-item-background` | Sets the background-color of the pages area and the item |
31
- | `--mds-paginator-item-background-disabled` | Sets the background-color of the item when is disabled |
32
- | `--mds-paginator-item-background-hover` | Sets the background-color of the item when the mouse is over it |
33
- | `--mds-paginator-item-background-selected` | Sets the background-color of the item when is selected |
34
- | `--mds-paginator-item-color` | Sets the text color of the component |
35
- | `--mds-paginator-item-color-disabled` | Sets the color of the item when is disabled |
36
- | `--mds-paginator-item-color-hover` | Sets the text color of the item when the mouse is over it |
37
- | `--mds-paginator-item-color-selected` | Sets the text color of the item when is selected |
38
- | `--mds-paginator-item-radius` | Sets the border-radius of the component |
39
- | `--mds-paginator-item-shadow` | Sets the box-shadow of the component |
40
- | `--mds-paginator-item-shadow-disabled` | Sets the box-shadow of the item when is disabled |
41
- | `--mds-paginator-item-shadow-hover` | Sets the box-shadow of the item when the mouse is over it |
42
- | `--mds-paginator-item-shadow-selected` | Sets the box-shadow of the item when is selected |
43
- | `--mds-paginator-item-size` | Sets the height and the min-width of the paginator item |
44
-
45
-
46
26
  ## Dependencies
47
27
 
48
28
  ### Used by
@@ -0,0 +1,21 @@
1
+ import { ISO8601Date } from '@type/date'
2
+
3
+ // ISO 8601 date regex allowing optional components (month, day, time)
4
+ const ISO8601RegexString = '^\\d{4}(-\\d{2})?(-\\d{2})?(T\\d{2}(:\\d{2})?(:\\d{2})?(\\.\\d{3})?)?([+-]\\d{2}:\\d{2}|Z)?$'
5
+
6
+ const isISO8601Date = (dateString: string): boolean => {
7
+ const ISO8601Regex = new RegExp(ISO8601RegexString)
8
+ return ISO8601Regex.test(dateString)
9
+ }
10
+
11
+ const sanitizeISO8601Date = (dateString: string): ISO8601Date => {
12
+ if (isISO8601Date(dateString)) {
13
+ return dateString as ISO8601Date
14
+ }
15
+ return new Date(dateString).toISOString() as ISO8601Date
16
+ }
17
+
18
+ export {
19
+ sanitizeISO8601Date,
20
+ isISO8601Date,
21
+ }
@@ -13,22 +13,28 @@ export class Locale {
13
13
  config: LocaleConfig
14
14
  closestElement:HTMLElement
15
15
 
16
- constructor (configData: LocaleConfig) {
16
+ constructor (configData?: LocaleConfig) {
17
+ if (configData) {
18
+ this.set(configData)
19
+ }
20
+ }
21
+
22
+ set = (configData: LocaleConfig): void => {
17
23
  this.config = configData
18
24
  }
19
25
 
20
- lang = (element: HTMLElement): void => {
26
+ lang = (element: HTMLElement): string => {
21
27
  this.closestElement = element.closest('[lang]') as HTMLElement
22
28
 
23
-
24
29
  if (this.closestElement) {
25
30
  if (this.closestElement.lang) {
26
31
  this.language = this.closestElement.lang
27
- return
32
+ return this.language
28
33
  }
29
34
  }
30
35
 
31
36
  this.language = this.rollbackLanguage
37
+ return this.language
32
38
  }
33
39
 
34
40
  private pluralize = (tag: string | string[], context: Record<string, string | number>): string => {
@@ -32,10 +32,17 @@ const buttonIconPositionDictionary = [
32
32
  'right',
33
33
  ]
34
34
 
35
+ const buttonTypeDictionary = [
36
+ 'button',
37
+ 'submit',
38
+ 'reset',
39
+ ]
40
+
35
41
  export {
36
42
  buttonIconPositionDictionary,
37
43
  buttonSizeDictionary,
38
44
  buttonTargetDictionary,
39
45
  buttonToneVariantDictionary,
46
+ buttonTypeDictionary,
40
47
  buttonVariantDictionary,
41
48
  }
@@ -92,6 +92,12 @@ const toneSimpleVariantDictionary = [
92
92
  'quiet',
93
93
  ]
94
94
 
95
+ const toneSmartVariantDictionary = [
96
+ 'strong',
97
+ 'weak',
98
+ 'ghost',
99
+ ]
100
+
95
101
  const toneMinimalVariantDictionary = [
96
102
  'strong',
97
103
  'weak',
@@ -107,5 +113,6 @@ export {
107
113
  toneActionVariantDictionary,
108
114
  toneMinimalVariantDictionary,
109
115
  toneSimpleVariantDictionary,
116
+ toneSmartVariantDictionary,
110
117
  toneVariantDictionary,
111
118
  }
@@ -33,6 +33,7 @@
33
33
  "mgg/address-book-off",
34
34
  "mgg/address-book-on",
35
35
  "mgg/adv-denied",
36
+ "mgg/ai",
36
37
  "mgg/alerts-pagopa",
37
38
  "mgg/ansc",
38
39
  "mgg/area-edificabile",
@@ -86,8 +87,16 @@
86
87
  "mgg/download-csv",
87
88
  "mgg/download-json",
88
89
  "mgg/electronic-document",
90
+ "mgg/email-assigned",
91
+ "mgg/email-open-blocked",
89
92
  "mgg/email-open-check",
93
+ "mgg/email-open-lock",
90
94
  "mgg/email-open-off",
95
+ "mgg/email-open-play",
96
+ "mgg/email-open-stop",
97
+ "mgg/email-open-user",
98
+ "mgg/email-open-view",
99
+ "mgg/email-to-assign",
91
100
  "mgg/face-to-face-meeting",
92
101
  "mgg/factory",
93
102
  "mgg/farmer",
@@ -115,12 +124,19 @@
115
124
  "mgg/fit-vertical",
116
125
  "mgg/forwarded-with-a-single-sending",
117
126
  "mgg/fullscreen-on-alt",
127
+ "mgg/google-book-closed",
128
+ "mgg/google-book-closed-outline",
129
+ "mgg/google-book-large",
130
+ "mgg/google-book-large-outline",
131
+ "mgg/google-book-opening",
132
+ "mgg/google-book-opening-outline",
118
133
  "mgg/google-check-small",
119
134
  "mgg/google-experiment",
120
135
  "mgg/google-face-retouching-off",
121
136
  "mgg/google-hub",
122
137
  "mgg/google-keyboard-double-arrow-down",
123
138
  "mgg/google-keyboard-double-arrow-up",
139
+ "mgg/google-newsstand",
124
140
  "mgg/google-place-item",
125
141
  "mgg/group-assigned-automatically-system",
126
142
  "mgg/group-ceased",
@@ -130,6 +146,7 @@
130
146
  "mgg/historic-building",
131
147
  "mgg/historic-building-unusable",
132
148
  "mgg/home-hammer",
149
+ "mgg/home-link",
133
150
  "mgg/home-number",
134
151
  "mgg/inagibile",
135
152
  "mgg/input-calendar-costs",
@@ -21,6 +21,7 @@
21
21
  "mgg/address-book-off",
22
22
  "mgg/address-book-on",
23
23
  "mgg/adv-denied",
24
+ "mgg/ai",
24
25
  "mgg/alerts-pagopa",
25
26
  "mgg/ansc",
26
27
  "mgg/area-edificabile",
@@ -74,8 +75,16 @@
74
75
  "mgg/download-csv",
75
76
  "mgg/download-json",
76
77
  "mgg/electronic-document",
78
+ "mgg/email-assigned",
79
+ "mgg/email-open-blocked",
77
80
  "mgg/email-open-check",
81
+ "mgg/email-open-lock",
78
82
  "mgg/email-open-off",
83
+ "mgg/email-open-play",
84
+ "mgg/email-open-stop",
85
+ "mgg/email-open-user",
86
+ "mgg/email-open-view",
87
+ "mgg/email-to-assign",
79
88
  "mgg/face-to-face-meeting",
80
89
  "mgg/factory",
81
90
  "mgg/farmer",
@@ -103,12 +112,19 @@
103
112
  "mgg/fit-vertical",
104
113
  "mgg/forwarded-with-a-single-sending",
105
114
  "mgg/fullscreen-on-alt",
115
+ "mgg/google-book-closed-outline",
116
+ "mgg/google-book-closed",
117
+ "mgg/google-book-large-outline",
118
+ "mgg/google-book-large",
119
+ "mgg/google-book-opening-outline",
120
+ "mgg/google-book-opening",
106
121
  "mgg/google-check-small",
107
122
  "mgg/google-experiment",
108
123
  "mgg/google-face-retouching-off",
109
124
  "mgg/google-hub",
110
125
  "mgg/google-keyboard-double-arrow-down",
111
126
  "mgg/google-keyboard-double-arrow-up",
127
+ "mgg/google-newsstand",
112
128
  "mgg/google-place-item",
113
129
  "mgg/group-assigned-automatically-system",
114
130
  "mgg/group-ceased",
@@ -118,6 +134,7 @@
118
134
  "mgg/historic-building-unusable",
119
135
  "mgg/historic-building",
120
136
  "mgg/home-hammer",
137
+ "mgg/home-link",
121
138
  "mgg/home-number",
122
139
  "mgg/inagibile",
123
140
  "mgg/input-calendar-costs",
@@ -0,0 +1,10 @@
1
+ type ISO8601DateFormat<K, T> = K & { __isISO8601DateFormat: T };
2
+
3
+ // Defines a branded type for the date ISO 8601 string
4
+ type ISO8601Date = ISO8601DateFormat<string, 'ISO8601Date'>
5
+
6
+ // const validDate: ISO8601Date = sanitizeISO8601Date('2024-09-24T15:30:00Z')
7
+
8
+ export {
9
+ ISO8601Date,
10
+ }
@@ -90,9 +90,9 @@ export type ToneVariantType =
90
90
  | 'quiet' // no background, no border
91
91
 
92
92
  export type ToneSimpleVariantType =
93
+ | 'quiet'
93
94
  | 'strong'
94
95
  | 'weak'
95
- | 'quiet'
96
96
 
97
97
  export type ToneMinimalVariantType =
98
98
  | 'strong'