@moodlehq/design-system 2.1.1 → 3.0.0

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 (36) hide show
  1. package/README.md +6 -1
  2. package/css.d.ts +5 -0
  3. package/dist/components/button/Button.d.ts +9 -4
  4. package/dist/components/button/Button.js +37 -0
  5. package/dist/components/button/Button.js.map +1 -0
  6. package/dist/components/button/index.js +2 -0
  7. package/dist/components/close-button/CloseButton.d.ts +14 -0
  8. package/dist/components/close-button/CloseButton.js +25 -0
  9. package/dist/components/close-button/CloseButton.js.map +1 -0
  10. package/dist/components/close-button/index.d.ts +1 -0
  11. package/dist/components/close-button/index.js +2 -0
  12. package/dist/components/index.d.ts +4 -0
  13. package/dist/components/radio/Radio.d.ts +22 -0
  14. package/dist/components/radio/Radio.js +47 -0
  15. package/dist/components/radio/Radio.js.map +1 -0
  16. package/dist/components/radio/index.d.ts +1 -0
  17. package/dist/components/radio/index.js +2 -0
  18. package/dist/index.css +362 -151
  19. package/dist/index.js +7 -31
  20. package/package.json +31 -12
  21. package/tokens/css/borders.css +4 -3
  22. package/tokens/css/breakpoints.css +11 -0
  23. package/tokens/css/colors.css +20 -2
  24. package/tokens/css/index.css +1 -0
  25. package/tokens/css/shadows.css +3 -3
  26. package/tokens/css/sizes.css +7 -6
  27. package/tokens/css/spacing.css +1 -0
  28. package/tokens/scss/_borders.scss +4 -3
  29. package/tokens/scss/_breakpoints.scss +8 -0
  30. package/tokens/scss/_colors.scss +20 -2
  31. package/tokens/scss/_index.legacy.scss +1 -0
  32. package/tokens/scss/_index.scss +1 -0
  33. package/tokens/scss/_shadows.scss +3 -3
  34. package/tokens/scss/_sizes.scss +7 -6
  35. package/tokens/scss/_spacing.scss +1 -0
  36. package/dist/index.js.map +0 -1
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@moodlehq/design-system",
3
- "version": "2.1.1",
3
+ "version": "3.0.0",
4
4
  "description": "The Moodle Design System",
5
5
  "files": [
6
6
  "/dist",
7
7
  "/tokens/css",
8
- "/tokens/scss"
8
+ "/tokens/scss",
9
+ "/css.d.ts"
9
10
  ],
10
11
  "exports": {
11
12
  ".": {
@@ -13,8 +14,13 @@
13
14
  "import": "./dist/index.js"
14
15
  },
15
16
  "./css": {
17
+ "types": "./css.d.ts",
16
18
  "default": "./dist/index.css"
17
19
  },
20
+ "./components/*": {
21
+ "types": "./dist/components/*/index.d.ts",
22
+ "import": "./dist/components/*/index.js"
23
+ },
18
24
  "./tokens/css": {
19
25
  "default": "./tokens/css/index.css"
20
26
  },
@@ -26,6 +32,9 @@
26
32
  }
27
33
  },
28
34
  "type": "module",
35
+ "sideEffects": [
36
+ "**/*.css"
37
+ ],
29
38
  "dependencies": {
30
39
  "bootstrap": "^5.3.8"
31
40
  },
@@ -35,29 +44,34 @@
35
44
  },
36
45
  "devDependencies": {
37
46
  "@chromatic-com/storybook": "^5.0.0",
47
+ "@modelcontextprotocol/sdk": "^1.0.0",
38
48
  "@commitlint/cli": "^20.1.0",
39
49
  "@commitlint/config-conventional": "^20.0.0",
40
50
  "@eslint/compat": "^2.0.0",
41
51
  "@eslint/eslintrc": "^3.3.3",
42
- "@eslint/js": "^9.39.1",
52
+ "@eslint/js": "^10.0.1",
53
+ "@etchteam/storybook-addon-status": "^8.0.0",
54
+ "@figma/code-connect": "^1.4.4",
55
+ "@fortawesome/fontawesome-free": "^7.2.0",
43
56
  "@storybook/addon-a11y": "^10.1.2",
44
57
  "@storybook/addon-coverage": "^3.0.0",
45
58
  "@storybook/addon-docs": "^10.1.2",
46
59
  "@storybook/addon-themes": "^10.1.2",
47
60
  "@storybook/addon-vitest": "^10.1.2",
48
61
  "@storybook/react-vite": "^10.1.2",
62
+ "@testing-library/dom": "^10.4.1",
49
63
  "@testing-library/jest-dom": "^6.9.1",
50
64
  "@testing-library/react": "^16.3.0",
51
65
  "@types/node": "^25.0.2",
52
66
  "@types/react": "^19.2.7",
53
67
  "@types/react-dom": "^19.2.3",
54
- "@typescript-eslint/eslint-plugin": "^8.48.0",
55
- "@typescript-eslint/parser": "^8.48.0",
56
- "@vitejs/plugin-react": "^5.1.0",
68
+ "@typescript-eslint/eslint-plugin": "^8.57.1",
69
+ "@typescript-eslint/parser": "^8.57.1",
70
+ "@vitejs/plugin-react": "^6.0.1",
57
71
  "@vitest/browser-playwright": "^4.0.14",
58
72
  "@vitest/coverage-istanbul": "^4.0.14",
59
73
  "bootstrap": "^5.3.8",
60
- "eslint": "^9.39.1",
74
+ "eslint": "^10.0.3",
61
75
  "eslint-config-prettier": "^10.1.8",
62
76
  "eslint-plugin-prettier": "^5.5.4",
63
77
  "eslint-plugin-react": "^7.37.5",
@@ -67,7 +81,7 @@
67
81
  "fast-check": "^4.5.3",
68
82
  "globals": "^17.1.0",
69
83
  "husky": "^9.1.7",
70
- "jsdom": "^28.0.0",
84
+ "jsdom": "^29.0.0",
71
85
  "lint-staged": "^16.2.7",
72
86
  "playwright": "^1.57.0",
73
87
  "prettier": "^3.7.3",
@@ -81,8 +95,8 @@
81
95
  "style-dictionary": "^5.1.1",
82
96
  "tsx": "^4.21.0",
83
97
  "typescript": "^5.9.3",
84
- "typescript-eslint": "^8.48.0",
85
- "vite": "^7.2.6",
98
+ "typescript-eslint": "^8.57.1",
99
+ "vite": "^8.0.0",
86
100
  "vite-plugin-dts": "^4.5.4",
87
101
  "vite-tsconfig-paths": "^6.0.1",
88
102
  "vitest": "^4.0.4"
@@ -94,10 +108,12 @@
94
108
  "storybook": "storybook dev -p 6006",
95
109
  "build": "tsc && vite build",
96
110
  "build-storybook": "storybook build",
111
+ "build-docs": "tsx scripts/build-docs.ts",
97
112
  "build-tokens": "tsx scripts/tokens.ts",
98
113
  "format": "prettier --config .github/linters/.prettierrc --ignore-path .github/linters/.prettierignore --write . '**/*.{ts,tsx,js,jsx,yml}'",
99
114
  "lint": "eslint . --ext .ts,.tsx,.js,.jsx --fix --config .github/linters/eslint.config.mjs",
100
- "prepare": "husky"
115
+ "prepare": "husky",
116
+ "figma-connect": "figma connect publish"
101
117
  },
102
118
  "lint-staged": {
103
119
  "*{js,jsx,ts,tsx}": [
@@ -124,5 +140,8 @@
124
140
  "bugs": {
125
141
  "url": "https://github.com/moodlehq/design-system/issues"
126
142
  },
127
- "homepage": "https://github.com/moodlehq/design-system#readme"
143
+ "homepage": "https://github.com/moodlehq/design-system#readme",
144
+ "overrides": {
145
+ "zod-validation-error": "4.0.2"
146
+ }
128
147
  }
@@ -8,11 +8,12 @@
8
8
  --mds-stroke-weight-sm: 0.0625rem;
9
9
  --mds-stroke-weight-xl: 0.25rem;
10
10
  --mds-stroke-weight-xxl: 0.3125rem;
11
- --mds-border-radius-lg: var(--mds-scale-300);
12
- --mds-border-radius-md: var(--mds-scale-200);
11
+ --mds-border-radius-lg: var(--mds-scale-400);
12
+ --mds-border-radius-md: var(--mds-scale-300);
13
13
  --mds-border-radius-none: var(--mds-scale-0);
14
14
  --mds-border-radius-pill: var(--mds-scale-1800);
15
- --mds-border-radius-sm: var(--mds-scale-100);
15
+ --mds-border-radius-sm: var(--mds-scale-200);
16
16
  --mds-border-radius-xl: var(--mds-scale-600);
17
+ --mds-border-radius-xs: var(--mds-scale-100);
17
18
  --mds-border-radius-xxl: var(--mds-scale-1000);
18
19
  }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY.
3
+ */
4
+
5
+ :root {
6
+ --mds-breakpoints-lg: 62rem;
7
+ --mds-breakpoints-md: 48rem;
8
+ --mds-breakpoints-sm: 36rem;
9
+ --mds-breakpoints-xl: 75rem;
10
+ --mds-breakpoints-xxl: 87.5rem;
11
+ }
@@ -4,11 +4,26 @@
4
4
 
5
5
  :root {
6
6
  --mds-border-translucent: rgba(0, 0, 0, 0);
7
+ --mds-activity-icon-assessment-bg: var(--mds-color-pink-100);
8
+ --mds-activity-icon-assessment-icon: var(--mds-color-pink-500);
9
+ --mds-activity-icon-collaboration-bg: var(--mds-color-indigo-100);
10
+ --mds-activity-icon-collaboration-icon: var(--mds-color-indigo-500);
11
+ --mds-activity-icon-communication-bg: var(--mds-color-orange-100);
12
+ --mds-activity-icon-communication-icon: var(--mds-color-orange-600);
13
+ --mds-activity-icon-file-bg: var(--mds-color-cyan-100);
14
+ --mds-activity-icon-file-icon: var(--mds-color-cyan-500);
15
+ --mds-activity-icon-interactive-bg: var(--mds-color-red-100);
16
+ --mds-activity-icon-interactive-icon: var(--mds-color-red-700);
17
+ --mds-activity-icon-other-bg: var(--mds-color-gray-300);
18
+ --mds-activity-icon-other-icon: var(--mds-color-gray-900);
19
+ --mds-activity-icon-resource-bg: var(--mds-color-cyan-100);
20
+ --mds-activity-icon-resource-icon: var(--mds-color-cyan-500);
7
21
  --mds-bg-feedback-danger-subtle: var(--mds-color-red-100);
8
22
  --mds-bg-feedback-info-default: var(--mds-color-cyan-500);
9
23
  --mds-bg-feedback-info-subtle: var(--mds-color-cyan-100);
10
24
  --mds-bg-feedback-primary-default: var(--mds-color-blue-500);
11
25
  --mds-bg-feedback-primary-subtle: var(--mds-color-blue-100);
26
+ --mds-bg-feedback-secondary-default: var(--mds-color-gray-400);
12
27
  --mds-bg-feedback-secondary-subtle: var(--mds-color-gray-100);
13
28
  --mds-bg-feedback-success-default: var(--mds-color-green-500);
14
29
  --mds-bg-feedback-success-subtle: var(--mds-color-green-100);
@@ -16,11 +31,11 @@
16
31
  --mds-bg-feedback-warning-subtle: var(--mds-color-yellow-100);
17
32
  --mds-bg-interactive-danger-active: var(--mds-color-red-700);
18
33
  --mds-bg-interactive-danger-default: var(--mds-color-red-500);
19
- --mds-bg-interactive-danger-disabled: var(--mds-color-red-300);
34
+ --mds-bg-interactive-danger-disabled: var(--mds-color-red-200);
20
35
  --mds-bg-interactive-danger-hover: var(--mds-color-red-600);
21
36
  --mds-bg-interactive-primary-active: var(--mds-color-blue-700);
22
37
  --mds-bg-interactive-primary-default: var(--mds-color-blue-500);
23
- --mds-bg-interactive-primary-disabled: var(--mds-color-blue-300);
38
+ --mds-bg-interactive-primary-disabled: var(--mds-color-blue-200);
24
39
  --mds-bg-interactive-primary-hover: var(--mds-color-blue-600);
25
40
  --mds-bg-interactive-secondary-default: var(--mds-color-gray-400);
26
41
  --mds-bg-interactive-secondary-disabled: var(--mds-color-gray-200);
@@ -44,7 +59,9 @@
44
59
  --mds-border-interactive-secondary-disabled: var(--mds-color-gray-500);
45
60
  --mds-border-interactive-secondary-hover: var(--mds-color-gray-600);
46
61
  --mds-border-subtle: var(--mds-color-gray-200);
62
+ --mds-focus-danger: var(--mds-color-red-200);
47
63
  --mds-text-danger: var(--mds-color-red-500);
64
+ --mds-text-danger-disabled: var(--mds-color-red-300);
48
65
  --mds-text-default: var(--mds-color-gray-900);
49
66
  --mds-text-emphasis: var(--mds-color-gray-black);
50
67
  --mds-text-feedback-danger: var(--mds-color-red-800);
@@ -54,6 +71,7 @@
54
71
  --mds-text-feedback-success: var(--mds-color-green-800);
55
72
  --mds-text-feedback-warning: var(--mds-color-yellow-800);
56
73
  --mds-text-inverse: var(--mds-color-gray-100);
74
+ --mds-text-link-primary-disabled: var(--mds-color-blue-300);
57
75
  --mds-text-muted: var(--mds-color-gray-600);
58
76
  --mds-text-subtle: var(--mds-color-gray-700);
59
77
  --mds-bg-feedback-danger-default: var(--mds-bg-interactive-danger-default);
@@ -3,6 +3,7 @@
3
3
  */
4
4
 
5
5
  @import "./borders.css";
6
+ @import "./breakpoints.css";
6
7
  @import "./colors.css";
7
8
  @import "./primitives.css";
8
9
  @import "./shadows.css";
@@ -3,9 +3,9 @@
3
3
  */
4
4
 
5
5
  :root {
6
- --mds-color-lg: rgba(0, 0, 0, 0.2);
7
- --mds-color-md: rgba(0, 0, 0, 0.2);
8
- --mds-color-sm: rgba(0, 0, 0, 0.1);
6
+ --mds-color-lg: rgba(0, 0, 0, 0.17);
7
+ --mds-color-md: rgba(0, 0, 0, 0.15);
8
+ --mds-color-sm: rgba(0, 0, 0, 0.08);
9
9
  --mds-blur-lg: var(--mds-scale-1200);
10
10
  --mds-blur-md: var(--mds-scale-600);
11
11
  --mds-blur-sm: var(--mds-scale-100);
@@ -3,11 +3,12 @@
3
3
  */
4
4
 
5
5
  :root {
6
- --mds-icons-lg: var(--mds-scale-700);
7
- --mds-icons-md: var(--mds-scale-600);
8
- --mds-icons-sm: var(--mds-scale-400);
9
- --mds-icons-xl: var(--mds-scale-800);
10
- --mds-icons-xs: var(--mds-scale-300);
11
- --mds-icons-xxl: var(--mds-scale-1000);
6
+ --mds-icons-lg: var(--mds-scale-800);
7
+ --mds-icons-md: var(--mds-scale-700);
8
+ --mds-icons-sm: var(--mds-scale-600);
9
+ --mds-icons-xl: var(--mds-scale-1000);
10
+ --mds-icons-xs: var(--mds-scale-400);
11
+ --mds-icons-xxl: var(--mds-scale-1100);
12
+ --mds-icons-xxs: var(--mds-scale-300);
12
13
  --mds-icons-xxxl: var(--mds-scale-1200);
13
14
  }
@@ -3,6 +3,7 @@
3
3
  */
4
4
 
5
5
  :root {
6
+ --mds-spacing-offset: 0.0625rem;
6
7
  --mds-spacing-lg: var(--mds-scale-700);
7
8
  --mds-spacing-md: var(--mds-scale-600);
8
9
  --mds-spacing-none: var(--mds-scale-0);
@@ -1,12 +1,13 @@
1
1
 
2
2
  // THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY.
3
3
 
4
- $mds-border-radius-lg: 0.5rem !default;
5
- $mds-border-radius-md: 0.375rem !default;
4
+ $mds-border-radius-lg: 0.75rem !default;
5
+ $mds-border-radius-md: 0.5rem !default;
6
6
  $mds-border-radius-none: 0rem !default;
7
7
  $mds-border-radius-pill: 50rem !default;
8
- $mds-border-radius-sm: 0.25rem !default;
8
+ $mds-border-radius-sm: 0.375rem !default;
9
9
  $mds-border-radius-xl: 1rem !default;
10
+ $mds-border-radius-xs: 0.25rem !default;
10
11
  $mds-border-radius-xxl: 2rem !default;
11
12
  $mds-stroke-weight-lg: 0.1875rem !default;
12
13
  $mds-stroke-weight-md: 0.125rem !default;
@@ -0,0 +1,8 @@
1
+
2
+ // THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY.
3
+
4
+ $mds-breakpoints-lg: 62rem !default;
5
+ $mds-breakpoints-md: 48rem !default;
6
+ $mds-breakpoints-sm: 36rem !default;
7
+ $mds-breakpoints-xl: 75rem !default;
8
+ $mds-breakpoints-xxl: 87.5rem !default;
@@ -1,12 +1,27 @@
1
1
 
2
2
  // THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY.
3
3
 
4
+ $mds-activity-icon-assessment-bg: #f8d1e3 !default;
5
+ $mds-activity-icon-assessment-icon: #db1a74 !default;
6
+ $mds-activity-icon-collaboration-bg: #e0cffc !default;
7
+ $mds-activity-icon-collaboration-icon: #6610f2 !default;
8
+ $mds-activity-icon-communication-bg: #ffe3d1 !default;
9
+ $mds-activity-icon-communication-icon: #cc5e13 !default;
10
+ $mds-activity-icon-file-bg: #cce6ea !default;
11
+ $mds-activity-icon-file-icon: #008196 !default;
12
+ $mds-activity-icon-interactive-bg: #f4d6d2 !default;
13
+ $mds-activity-icon-interactive-icon: #791d13 !default;
14
+ $mds-activity-icon-other-bg: #dee2e6 !default;
15
+ $mds-activity-icon-other-icon: #1d2125 !default;
16
+ $mds-activity-icon-resource-bg: #cce6ea !default;
17
+ $mds-activity-icon-resource-icon: #008196 !default;
4
18
  $mds-bg-feedback-danger-default: #ca3120 !default;
5
19
  $mds-bg-feedback-danger-subtle: #f4d6d2 !default;
6
20
  $mds-bg-feedback-info-default: #008196 !default;
7
21
  $mds-bg-feedback-info-subtle: #cce6ea !default;
8
22
  $mds-bg-feedback-primary-default: #0f6cbf !default;
9
23
  $mds-bg-feedback-primary-subtle: #cfe2f2 !default;
24
+ $mds-bg-feedback-secondary-default: #ced4da !default;
10
25
  $mds-bg-feedback-secondary-subtle: #f8f9fa !default;
11
26
  $mds-bg-feedback-success-default: #357a32 !default;
12
27
  $mds-bg-feedback-success-subtle: #d7e4d6 !default;
@@ -14,11 +29,11 @@ $mds-bg-feedback-warning-default: #f0ad4e !default;
14
29
  $mds-bg-feedback-warning-subtle: #fcefdc !default;
15
30
  $mds-bg-interactive-danger-active: #791d13 !default;
16
31
  $mds-bg-interactive-danger-default: #ca3120 !default;
17
- $mds-bg-interactive-danger-disabled: #df8379 !default;
32
+ $mds-bg-interactive-danger-disabled: #eaada6 !default;
18
33
  $mds-bg-interactive-danger-hover: #a2271a !default;
19
34
  $mds-bg-interactive-primary-active: #094173 !default;
20
35
  $mds-bg-interactive-primary-default: #0f6cbf !default;
21
- $mds-bg-interactive-primary-disabled: #6fa7d9 !default;
36
+ $mds-bg-interactive-primary-disabled: #9fc4e5 !default;
22
37
  $mds-bg-interactive-primary-hover: #0c5699 !default;
23
38
  $mds-bg-interactive-secondary-active: #ced4da !default;
24
39
  $mds-bg-interactive-secondary-default: #ced4da !default;
@@ -48,8 +63,10 @@ $mds-border-interactive-secondary-disabled: #8f959e !default;
48
63
  $mds-border-interactive-secondary-hover: #6a737b !default;
49
64
  $mds-border-subtle: #e9ecef !default;
50
65
  $mds-border-translucent: rgba(0, 0, 0, 0) !default;
66
+ $mds-focus-danger: #eaada6 !default;
51
67
  $mds-focus-default: #0f6cbf !default;
52
68
  $mds-text-danger: #ca3120 !default;
69
+ $mds-text-danger-disabled: #df8379 !default;
53
70
  $mds-text-default: #1d2125 !default;
54
71
  $mds-text-emphasis: #000000 !default;
55
72
  $mds-text-feedback-danger: #51140d !default;
@@ -60,6 +77,7 @@ $mds-text-feedback-success: #153114 !default;
60
77
  $mds-text-feedback-warning: #60451f !default;
61
78
  $mds-text-inverse: #f8f9fa !default;
62
79
  $mds-text-link-primary-default: #0f6cbf !default;
80
+ $mds-text-link-primary-disabled: #6fa7d9 !default;
63
81
  $mds-text-link-primary-hover: #0c5699 !default;
64
82
  $mds-text-muted: #6a737b !default;
65
83
  $mds-text-subtle: #495057 !default;
@@ -3,6 +3,7 @@
3
3
  // Tags: [MDS_LEGACY_SCSSPHP_COMPAT]
4
4
 
5
5
  @import "_borders.scss";
6
+ @import "_breakpoints.scss";
6
7
  @import "_colors.scss";
7
8
  @import "_primitives.scss";
8
9
  @import "_shadows.scss";
@@ -2,6 +2,7 @@
2
2
  // THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY.
3
3
 
4
4
  @forward "borders";
5
+ @forward "breakpoints";
5
6
  @forward "colors";
6
7
  @forward "primitives";
7
8
  @forward "shadows";
@@ -1,9 +1,9 @@
1
1
 
2
2
  // THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY.
3
3
 
4
- $mds-color-lg: rgba(0, 0, 0, 0.2) !default;
5
- $mds-color-md: rgba(0, 0, 0, 0.2) !default;
6
- $mds-color-sm: rgba(0, 0, 0, 0.1) !default;
4
+ $mds-color-lg: rgba(0, 0, 0, 0.17) !default;
5
+ $mds-color-md: rgba(0, 0, 0, 0.15) !default;
6
+ $mds-color-sm: rgba(0, 0, 0, 0.08) !default;
7
7
  $mds-blur-lg: 3rem !default;
8
8
  $mds-blur-md: 1rem !default;
9
9
  $mds-blur-sm: 0.25rem !default;
@@ -1,10 +1,11 @@
1
1
 
2
2
  // THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY.
3
3
 
4
- $mds-icons-lg: 1.25rem !default;
5
- $mds-icons-md: 1rem !default;
6
- $mds-icons-sm: 0.75rem !default;
7
- $mds-icons-xl: 1.5rem !default;
8
- $mds-icons-xs: 0.5rem !default;
9
- $mds-icons-xxl: 2rem !default;
4
+ $mds-icons-lg: 1.5rem !default;
5
+ $mds-icons-md: 1.25rem !default;
6
+ $mds-icons-sm: 1rem !default;
7
+ $mds-icons-xl: 2rem !default;
8
+ $mds-icons-xs: 0.75rem !default;
9
+ $mds-icons-xxl: 2.5rem !default;
10
+ $mds-icons-xxs: 0.5rem !default;
10
11
  $mds-icons-xxxl: 3rem !default;
@@ -4,6 +4,7 @@
4
4
  $mds-spacing-lg: 1.25rem !default;
5
5
  $mds-spacing-md: 1rem !default;
6
6
  $mds-spacing-none: 0rem !default;
7
+ $mds-spacing-offset: 0.0625rem !default;
7
8
  $mds-spacing-sm: 0.75rem !default;
8
9
  $mds-spacing-xl: 2rem !default;
9
10
  $mds-spacing-xs: 0.5rem !default;
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../components/button/Button.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes } from 'react';\n\ntype ButtonVariant =\n | 'primary'\n | 'secondary'\n | 'danger'\n | 'outline-primary'\n | 'outline-secondary'\n | 'outline-danger';\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n label: string;\n variant?: string;\n size?: 'sm' | 'lg';\n}\n\nconst allowedVariants: ButtonVariant[] = [\n 'primary',\n 'secondary',\n 'danger',\n 'outline-primary',\n 'outline-secondary',\n 'outline-danger',\n];\n\nexport const Button = ({\n label,\n variant,\n size,\n className,\n type = 'button',\n ...props\n}: ButtonProps) => {\n const resolvedVariant =\n variant && allowedVariants.includes(variant as ButtonVariant)\n ? variant\n : 'primary';\n\n const classes = ['mds-btn', 'btn', `btn-${resolvedVariant}`];\n if (size) {\n classes.push(`btn-${size}`);\n }\n if (className) {\n classes.push(className);\n }\n\n return (\n <button className={classes.join(' ')} type={type} {...props}>\n {label}\n </button>\n );\n};\n"],"names":[],"mappings":";AAgBA,MAAM,kBAAmC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,SAAS,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,GAAG;AACL,MAAmB;AACjB,QAAM,kBACJ,WAAW,gBAAgB,SAAS,OAAwB,IACxD,UACA;AAEN,QAAM,UAAU,CAAC,WAAW,OAAO,OAAO,eAAe,EAAE;AAC3D,MAAI,MAAM;AACR,YAAQ,KAAK,OAAO,IAAI,EAAE;AAAA,EAC5B;AACA,MAAI,WAAW;AACb,YAAQ,KAAK,SAAS;AAAA,EACxB;AAEA,SACE,oBAAC,UAAA,EAAO,WAAW,QAAQ,KAAK,GAAG,GAAG,MAAa,GAAG,OACnD,UAAA,MAAA,CACH;AAEJ;"}