@maggioli-design-system/mds-list 3.13.4 → 3.13.5

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.
@@ -19,15 +19,17 @@ export class Locale {
19
19
  };
20
20
  this.update = (doc) => {
21
21
  const context = doc !== null && doc !== void 0 ? doc : this.element.shadowRoot;
22
- context && context.querySelectorAll('*').forEach(el => {
23
- if (el.tagName.toLowerCase().startsWith('mds-')) {
24
- // eslint-disable-next-line no-restricted-syntax
25
- if (el && 'updateLang' in el) {
26
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
- el.updateLang();
22
+ if (context) {
23
+ context.querySelectorAll('*').forEach(el => {
24
+ if (el.tagName.toLowerCase().startsWith('mds-')) {
25
+ // eslint-disable-next-line no-restricted-syntax
26
+ if (el && 'updateLang' in el) {
27
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
+ el.updateLang();
29
+ }
28
30
  }
29
- }
30
- });
31
+ });
32
+ }
31
33
  };
32
34
  this.pluralize = (tag, context) => {
33
35
  const languagePhrase = this.config[this.language] ? this.config[this.language][tag] : this.config[this.rollbackLanguage][tag];
@@ -0,0 +1,5 @@
1
+ const randomNumber = (min, max, integer = false) => {
2
+ const num = Math.random() * (max - min) + min;
3
+ return integer ? Math.floor(num) : num;
4
+ };
5
+ export { randomNumber, };
@@ -25,4 +25,13 @@ const hasSlotted = (el, name) => {
25
25
  }
26
26
  return false;
27
27
  };
28
- export { hasSlottedElements, hasSlottedNodes, hasSlotted, };
28
+ const hasSlottedContent = (el, name) => {
29
+ var _a;
30
+ const query = name ? `slot[name="${name}"]` : 'slot:not([name])';
31
+ const slot = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(query);
32
+ if (!slot)
33
+ return false;
34
+ const assignedNodes = slot.assignedNodes({ flatten: true });
35
+ return assignedNodes.some(node => { var _a; return node.nodeType === Node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== ''; });
36
+ };
37
+ export { hasSlottedElements, hasSlottedNodes, hasSlottedContent, hasSlotted, };
@@ -7,6 +7,15 @@ const cssDurationToMilliseconds = (duration, defaultValue = 1000) => {
7
7
  }
8
8
  return defaultValue;
9
9
  };
10
+ const cssDurationToSeconds = (duration, defaultValue = 1000) => {
11
+ if (duration.includes('ms')) {
12
+ return Number(duration.replace('ms', '')) / 1000;
13
+ }
14
+ if (duration.includes('s')) {
15
+ return Number(duration.replace('s', ''));
16
+ }
17
+ return defaultValue;
18
+ };
10
19
  const cssSizeToNumber = (size, defaultValue = 0) => {
11
20
  if (size.includes('px')) {
12
21
  return Number(size.replace('px', ''));
@@ -19,4 +28,10 @@ const cssSizeToNumber = (size, defaultValue = 0) => {
19
28
  }
20
29
  return defaultValue;
21
30
  };
22
- export { cssDurationToMilliseconds, cssSizeToNumber, };
31
+ const cssRotationToNumber = (size, defaultValue = 0) => {
32
+ if (size.includes('deg')) {
33
+ return Number(size.replace('deg', ''));
34
+ }
35
+ return defaultValue;
36
+ };
37
+ export { cssDurationToMilliseconds, cssDurationToSeconds, cssRotationToNumber, cssSizeToNumber, };
@@ -2,5 +2,7 @@ import { h } from "@stencil/core";
2
2
  export default {
3
3
  title: 'UI / List',
4
4
  };
5
- const Template = () => h("mds-list", null, h("mds-list-item", null, "Pane"), h("mds-list-item", null, "Acqua"), h("mds-list-item", null, "Pasta"));
6
- export const Default = Template.bind({});
5
+ const Template = () => (h("mds-list", null, h("mds-list-item", null, "Pane"), h("mds-list-item", null, "Acqua"), h("mds-list-item", null, "Pasta")));
6
+ export const Default = {
7
+ render: Template,
8
+ };
@@ -11,12 +11,27 @@ const buttonVariantDictionary = [
11
11
  'success',
12
12
  'warning',
13
13
  ];
14
+ const buttonDropdownVariantDictionary = [
15
+ 'ai',
16
+ 'dark',
17
+ 'error',
18
+ 'info',
19
+ 'light',
20
+ 'primary',
21
+ 'secondary',
22
+ 'success',
23
+ 'warning',
24
+ ];
14
25
  const buttonToneVariantDictionary = [
15
26
  'strong',
16
27
  'weak',
17
28
  'ghost',
18
29
  'quiet',
19
30
  ];
31
+ const buttonToneMinimalVariantDictionary = [
32
+ 'strong',
33
+ 'weak',
34
+ ];
20
35
  const buttonTargetDictionary = [
21
36
  'blank',
22
37
  'self',
@@ -27,6 +42,10 @@ const buttonSizeDictionary = [
27
42
  'lg',
28
43
  'xl',
29
44
  ];
45
+ const tabSizeDictionary = [
46
+ 'sm',
47
+ 'md',
48
+ ];
30
49
  const buttonIconPositionDictionary = [
31
50
  'left',
32
51
  'right',
@@ -36,4 +55,4 @@ const buttonTypeDictionary = [
36
55
  'submit',
37
56
  'reset',
38
57
  ];
39
- export { buttonIconPositionDictionary, buttonSizeDictionary, buttonTargetDictionary, buttonToneVariantDictionary, buttonTypeDictionary, buttonVariantDictionary, };
58
+ export { buttonDropdownVariantDictionary, buttonIconPositionDictionary, buttonSizeDictionary, buttonTargetDictionary, buttonToneMinimalVariantDictionary, buttonToneVariantDictionary, buttonTypeDictionary, buttonVariantDictionary, tabSizeDictionary, };
@@ -1,5 +1,5 @@
1
1
  import jsonIconsDictionary from "../fixtures/icons.json";
2
- import jsonMggIconsDictionary from "../fixtures/iconsauce.json";
2
+ import jsonMggIconsDictionary from "@maggioli-design-system/svg-icons/dist/iconsauce.json";
3
3
  const iconsDictionary = jsonIconsDictionary;
4
4
  const mggIconsDictionary = jsonMggIconsDictionary;
5
5
  const svgIconsDictionary = [
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-06-03T11:52:26",
2
+ "timestamp": "2026-01-16T14:21:48",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.27.2",
package/dist/stats.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
- "timestamp": "2025-06-03T11:52:27",
2
+ "timestamp": "2026-01-16T14:21:48",
3
3
  "compiler": {
4
4
  "name": "node",
5
- "version": "22.11.0"
5
+ "version": "22.15.0"
6
6
  },
7
7
  "app": {
8
8
  "namespace": "MdsList",
9
9
  "fsNamespace": "mds-list",
10
10
  "components": 1,
11
11
  "entries": 1,
12
- "bundles": 103,
12
+ "bundles": 104,
13
13
  "outputs": [
14
14
  {
15
15
  "name": "dist-collection",
16
- "files": 55,
16
+ "files": 56,
17
17
  "generatedFiles": [
18
18
  "./dist/collection/common/aria.js",
19
19
  "./dist/collection/common/browser.js",
@@ -24,6 +24,7 @@
24
24
  "./dist/collection/common/icon.js",
25
25
  "./dist/collection/common/keyboard-manager.js",
26
26
  "./dist/collection/common/locale.js",
27
+ "./dist/collection/common/number.js",
27
28
  "./dist/collection/common/slot.js",
28
29
  "./dist/collection/common/string.js",
29
30
  "./dist/collection/common/unit.js",
@@ -391,6 +392,7 @@
391
392
  "./src/common/icon.ts": [],
392
393
  "./src/common/keyboard-manager.ts": [],
393
394
  "./src/common/locale.ts": [],
395
+ "./src/common/number.ts": [],
394
396
  "./src/common/slot.ts": [],
395
397
  "./src/common/string.ts": [],
396
398
  "./src/common/unit.ts": [],
@@ -419,8 +421,7 @@
419
421
  "./src/dictionary/file-extensions.ts": [],
420
422
  "./src/dictionary/floating-ui.ts": [],
421
423
  "./src/dictionary/icon.ts": [
422
- "./src/fixtures/icons.json",
423
- "./src/fixtures/iconsauce.json"
424
+ "./src/fixtures/icons.json"
424
425
  ],
425
426
  "./src/dictionary/input.ts": [],
426
427
  "./src/dictionary/keyboard.ts": [],
@@ -0,0 +1,2 @@
1
+ declare const randomNumber: (min: number, max: number, integer?: boolean) => number;
2
+ export { randomNumber, };
@@ -1,4 +1,5 @@
1
1
  declare const hasSlottedElements: (el: HTMLElement, name?: string) => boolean;
2
2
  declare const hasSlottedNodes: (el: HTMLElement, name?: string) => boolean;
3
3
  declare const hasSlotted: (el: HTMLElement, name?: string) => boolean;
4
- export { hasSlottedElements, hasSlottedNodes, hasSlotted, };
4
+ declare const hasSlottedContent: (el: HTMLElement, name?: string) => boolean;
5
+ export { hasSlottedElements, hasSlottedNodes, hasSlottedContent, hasSlotted, };
@@ -1,3 +1,5 @@
1
1
  declare const cssDurationToMilliseconds: (duration: string, defaultValue?: number) => number;
2
+ declare const cssDurationToSeconds: (duration: string, defaultValue?: number) => number;
2
3
  declare const cssSizeToNumber: (size: string, defaultValue?: number) => number;
3
- export { cssDurationToMilliseconds, cssSizeToNumber, };
4
+ declare const cssRotationToNumber: (size: string, defaultValue?: number) => number;
5
+ export { cssDurationToMilliseconds, cssDurationToSeconds, cssRotationToNumber, cssSizeToNumber, };
@@ -2,4 +2,6 @@ declare const _default: {
2
2
  title: string;
3
3
  };
4
4
  export default _default;
5
- export declare const Default: any;
5
+ export declare const Default: {
6
+ render: () => any;
7
+ };
@@ -1,7 +1,10 @@
1
1
  declare const buttonVariantDictionary: string[];
2
+ declare const buttonDropdownVariantDictionary: string[];
2
3
  declare const buttonToneVariantDictionary: string[];
4
+ declare const buttonToneMinimalVariantDictionary: string[];
3
5
  declare const buttonTargetDictionary: string[];
4
6
  declare const buttonSizeDictionary: string[];
7
+ declare const tabSizeDictionary: string[];
5
8
  declare const buttonIconPositionDictionary: string[];
6
9
  declare const buttonTypeDictionary: string[];
7
- export { buttonIconPositionDictionary, buttonSizeDictionary, buttonTargetDictionary, buttonToneVariantDictionary, buttonTypeDictionary, buttonVariantDictionary, };
10
+ export { buttonDropdownVariantDictionary, buttonIconPositionDictionary, buttonSizeDictionary, buttonTargetDictionary, buttonToneMinimalVariantDictionary, buttonToneVariantDictionary, buttonTypeDictionary, buttonVariantDictionary, tabSizeDictionary, };
@@ -1,4 +1,4 @@
1
- declare const iconsDictionary: string[];
1
+ declare const iconsDictionary: any;
2
2
  declare const mggIconsDictionary: string[];
3
3
  declare const svgIconsDictionary: string[];
4
4
  export { iconsDictionary, mggIconsDictionary, svgIconsDictionary, };
@@ -1,5 +1,7 @@
1
1
  export type ButtonType = 'a' | 'button' | 'reset' | 'submit';
2
2
  export type ButtonTargetType = 'self' | 'blank';
3
3
  export type ButtonSizeType = 'sm' | 'md' | 'lg' | 'xl';
4
+ export type TabSizeType = 'sm' | 'md';
4
5
  export type ButtonIconPositionType = 'left' | 'right';
5
6
  export type ButtonVariantType = 'ai' | 'apple' | 'dark' | 'error' | 'google' | 'info' | 'light' | 'primary' | 'secondary' | 'success' | 'warning';
7
+ export type ButtonDropdownVariantType = 'ai' | 'dark' | 'error' | 'info' | 'light' | 'primary' | 'secondary' | 'success' | 'warning';
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-06-03T08:10:23",
2
+ "timestamp": "2026-01-16T12:28:24",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.27.2",
@@ -172,6 +172,11 @@
172
172
  "docstring": "",
173
173
  "path": "src/type/text.ts"
174
174
  },
175
+ "src/type/button.ts::ButtonDropdownVariantType": {
176
+ "declaration": "export type ButtonDropdownVariantType =\n | 'ai'\n | 'dark'\n | 'error'\n | 'info'\n | 'light'\n | 'primary'\n | 'secondary'\n | 'success'\n | 'warning'",
177
+ "docstring": "",
178
+ "path": "src/type/button.ts"
179
+ },
175
180
  "src/components/mds-calendar-cell/meta/types.ts::CalendarCellType": {
176
181
  "declaration": "export type CalendarCellType =\n | 'other'\n | 'current'\n | 'weekend'",
177
182
  "docstring": "",
@@ -193,7 +198,7 @@
193
198
  "path": "src/type/variant.ts"
194
199
  },
195
200
  "src/components/mds-chip/meta/interface.ts::MdsChipEvent": {
196
- "declaration": "interface MdsChipEvent {\n event: Event\n element: HTMLMdsChipElement\n}",
201
+ "declaration": "interface MdsChipEvent {\n event: Event\n selected?: boolean\n element: HTMLMdsChipElement\n}",
197
202
  "docstring": "",
198
203
  "path": "src/components/mds-chip/meta/interface.ts"
199
204
  },
@@ -402,6 +407,11 @@
402
407
  "docstring": "",
403
408
  "path": "src/type/typography.ts"
404
409
  },
410
+ "src/components/mds-mention/meta/type.ts::MentionSize": {
411
+ "declaration": "export type MentionSize =\n | 'sm'\n | 'md'\n | 'lg'",
412
+ "docstring": "",
413
+ "path": "src/components/mds-mention/meta/type.ts"
414
+ },
405
415
  "src/components/mds-modal/meta/types.ts::ModalPositionType": {
406
416
  "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'",
407
417
  "docstring": "",
@@ -442,6 +452,11 @@
442
452
  "docstring": "",
443
453
  "path": "src/components/mds-policy-ai/meta/types.ts"
444
454
  },
455
+ "src/type/button.ts::TabSizeType": {
456
+ "declaration": "export type TabSizeType =\n | 'sm'\n | 'md'",
457
+ "docstring": "",
458
+ "path": "src/type/button.ts"
459
+ },
445
460
  "src/components/mds-pref-animation/meta/types.ts::AnimationModeType": {
446
461
  "declaration": "export type AnimationModeType =\n | 'reduce'\n | 'no-preference'\n | 'system'",
447
462
  "docstring": "",
@@ -522,6 +537,11 @@
522
537
  "docstring": "",
523
538
  "path": "src/components/mds-radial-menu/meta/types.ts"
524
539
  },
540
+ "src/components.d.ts::ModalOverflowType": {
541
+ "declaration": "any",
542
+ "docstring": "",
543
+ "path": "src/components.d.ts"
544
+ },
525
545
  "src/components/mds-stepper-bar/meta/event-detail.ts::MdsStepperBarEventDetail": {
526
546
  "declaration": "export interface MdsStepperBarEventDetail {\n step: number\n value: string\n}",
527
547
  "docstring": "",
@@ -532,6 +552,11 @@
532
552
  "docstring": "",
533
553
  "path": "src/components/mds-stepper-bar-item/meta/event-detail.ts"
534
554
  },
555
+ "src/components/mds-tab/meta/type.ts::DirectionType": {
556
+ "declaration": "export type DirectionType =\n | 'horizontal'\n | 'vertical'",
557
+ "docstring": "",
558
+ "path": "src/components/mds-tab/meta/type.ts"
559
+ },
535
560
  "src/type/animation.ts::HorizontalActionsAnimationType": {
536
561
  "declaration": "export type HorizontalActionsAnimationType =\n | 'fade'\n | 'slide'",
537
562
  "docstring": "",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maggioli-design-system/mds-list",
3
- "version": "3.13.4",
3
+ "version": "3.13.5",
4
4
  "description": "mds-list 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",
@@ -23,7 +23,7 @@
23
23
  "prepublishOnly": "npm run build"
24
24
  },
25
25
  "dependencies": {
26
- "@maggioli-design-system/mds-list-item": "3.15.4",
26
+ "@maggioli-design-system/mds-list-item": "3.15.5",
27
27
  "@maggioli-design-system/styles": "15.11.0",
28
28
  "@stencil/core": "4.27.2"
29
29
  },
@@ -41,15 +41,17 @@ export class Locale {
41
41
 
42
42
  update = (doc?: Document | ShadowRoot): void => {
43
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()
44
+ if (context) {
45
+ context.querySelectorAll('*').forEach(el => {
46
+ if (el.tagName.toLowerCase().startsWith('mds-')) {
47
+ // eslint-disable-next-line no-restricted-syntax
48
+ if (el && 'updateLang' in el) {
49
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
+ (el as any).updateLang()
51
+ }
50
52
  }
51
- }
52
- })
53
+ })
54
+ }
53
55
  }
54
56
 
55
57
  private pluralize = (tag: string | string[], context: Record<string, string | number | boolean>): string => {
@@ -0,0 +1,8 @@
1
+ const randomNumber = (min: number, max: number, integer: boolean = false): number => {
2
+ const num = Math.random() * (max - min) + min
3
+ return integer ? Math.floor(num) : num
4
+ }
5
+
6
+ export {
7
+ randomNumber,
8
+ }
@@ -28,8 +28,20 @@ const hasSlotted = (el: HTMLElement, name?: string): boolean => {
28
28
  return false
29
29
  }
30
30
 
31
+ const hasSlottedContent = (el: HTMLElement, name?: string): boolean => {
32
+ const query = name ? `slot[name="${name}"]` : 'slot:not([name])'
33
+ const slot: HTMLSlotElement = el.shadowRoot?.querySelector(query) as HTMLSlotElement
34
+ if (!slot) return false
35
+
36
+ const assignedNodes = slot.assignedNodes({ flatten: true })
37
+ return assignedNodes.some(node =>
38
+ node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '',
39
+ )
40
+ }
41
+
31
42
  export {
32
43
  hasSlottedElements,
33
44
  hasSlottedNodes,
45
+ hasSlottedContent,
34
46
  hasSlotted,
35
47
  }
@@ -11,6 +11,19 @@ const cssDurationToMilliseconds = (duration: string, defaultValue = 1000): numbe
11
11
  return defaultValue
12
12
  }
13
13
 
14
+ const cssDurationToSeconds = (duration: string, defaultValue = 1000): number => {
15
+
16
+ if (duration.includes('ms')) {
17
+ return Number(duration.replace('ms', '')) / 1000
18
+ }
19
+
20
+ if (duration.includes('s')) {
21
+ return Number(duration.replace('s', ''))
22
+ }
23
+
24
+ return defaultValue
25
+ }
26
+
14
27
  const cssSizeToNumber = (size: string, defaultValue = 0): number => {
15
28
  if (size.includes('px')) {
16
29
  return Number(size.replace('px', ''))
@@ -27,7 +40,17 @@ const cssSizeToNumber = (size: string, defaultValue = 0): number => {
27
40
  return defaultValue
28
41
  }
29
42
 
43
+ const cssRotationToNumber = (size: string, defaultValue = 0): number => {
44
+ if (size.includes('deg')) {
45
+ return Number(size.replace('deg', ''))
46
+ }
47
+
48
+ return defaultValue
49
+ }
50
+
30
51
  export {
31
52
  cssDurationToMilliseconds,
53
+ cssDurationToSeconds,
54
+ cssRotationToNumber,
32
55
  cssSizeToNumber,
33
56
  }
@@ -4,11 +4,14 @@ export default {
4
4
  title: 'UI / List',
5
5
  }
6
6
 
7
- const Template = () =>
7
+ const Template = () => (
8
8
  <mds-list>
9
9
  <mds-list-item>Pane</mds-list-item>
10
10
  <mds-list-item>Acqua</mds-list-item>
11
11
  <mds-list-item>Pasta</mds-list-item>
12
12
  </mds-list>
13
+ )
13
14
 
14
- export const Default = Template.bind({})
15
+ export const Default = {
16
+ render: Template,
17
+ }
@@ -12,6 +12,18 @@ const buttonVariantDictionary = [
12
12
  'warning',
13
13
  ]
14
14
 
15
+ const buttonDropdownVariantDictionary = [
16
+ 'ai',
17
+ 'dark',
18
+ 'error',
19
+ 'info',
20
+ 'light',
21
+ 'primary',
22
+ 'secondary',
23
+ 'success',
24
+ 'warning',
25
+ ]
26
+
15
27
  const buttonToneVariantDictionary = [
16
28
  'strong',
17
29
  'weak',
@@ -19,6 +31,11 @@ const buttonToneVariantDictionary = [
19
31
  'quiet',
20
32
  ]
21
33
 
34
+ const buttonToneMinimalVariantDictionary = [
35
+ 'strong',
36
+ 'weak',
37
+ ]
38
+
22
39
  const buttonTargetDictionary = [
23
40
  'blank',
24
41
  'self',
@@ -31,6 +48,11 @@ const buttonSizeDictionary = [
31
48
  'xl',
32
49
  ]
33
50
 
51
+ const tabSizeDictionary = [
52
+ 'sm',
53
+ 'md',
54
+ ]
55
+
34
56
  const buttonIconPositionDictionary = [
35
57
  'left',
36
58
  'right',
@@ -43,10 +65,13 @@ const buttonTypeDictionary = [
43
65
  ]
44
66
 
45
67
  export {
68
+ buttonDropdownVariantDictionary,
46
69
  buttonIconPositionDictionary,
47
70
  buttonSizeDictionary,
48
71
  buttonTargetDictionary,
72
+ buttonToneMinimalVariantDictionary,
49
73
  buttonToneVariantDictionary,
50
74
  buttonTypeDictionary,
51
75
  buttonVariantDictionary,
76
+ tabSizeDictionary,
52
77
  }
@@ -1,5 +1,6 @@
1
1
  import jsonIconsDictionary from '../fixtures/icons.json'
2
- import jsonMggIconsDictionary from '../fixtures/iconsauce.json'
2
+ import jsonMggIconsDictionary from '@maggioli-design-system/svg-icons/dist/iconsauce.json'
3
+
3
4
  const iconsDictionary = jsonIconsDictionary
4
5
  const mggIconsDictionary = jsonMggIconsDictionary
5
6
  const svgIconsDictionary = [
@@ -21,7 +21,7 @@
21
21
  pointer-events: none;
22
22
  position: absolute;
23
23
  transition-behavior: allow-discrete;
24
- transition-property: display opacity;
24
+ transition-property: display, opacity;
25
25
  }
26
26
 
27
27
  .contrast-area-50 {
@@ -14,6 +14,10 @@ export type ButtonSizeType =
14
14
  | 'lg'
15
15
  | 'xl'
16
16
 
17
+ export type TabSizeType =
18
+ | 'sm'
19
+ | 'md'
20
+
17
21
  export type ButtonIconPositionType =
18
22
  | 'left'
19
23
  | 'right'
@@ -30,3 +34,14 @@ export type ButtonVariantType =
30
34
  | 'secondary'
31
35
  | 'success'
32
36
  | 'warning'
37
+
38
+ export type ButtonDropdownVariantType =
39
+ | 'ai'
40
+ | 'dark'
41
+ | 'error'
42
+ | 'info'
43
+ | 'light'
44
+ | 'primary'
45
+ | 'secondary'
46
+ | 'success'
47
+ | 'warning'