@solfacil/girassol 0.1.11 → 0.2.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.
Files changed (47) hide show
  1. package/dist/README.md.d.ts +2 -0
  2. package/dist/cli/readme.md.d.ts +2 -0
  3. package/dist/components.d.ts +1 -0
  4. package/dist/components.json +1 -1
  5. package/dist/girassol.es.js +1390 -1321
  6. package/dist/girassol.umd.js +6 -22
  7. package/dist/style.css +1 -1
  8. package/dist/theme/safelist.d.ts +14 -0
  9. package/dist/theme/solfacil/colors.d.ts +28 -4
  10. package/dist/theme/solfacil/effects.d.ts +8 -6
  11. package/dist/theme/solfacil/index.d.ts +1 -0
  12. package/dist/theme/solfacil/spacing.d.ts +3 -0
  13. package/dist/theme/solfacil/typography.d.ts +1 -1
  14. package/dist/theme/solfacil/utilities.d.ts +1 -0
  15. package/dist/types/components/accordion/Accordion.vue.d.ts +75 -10
  16. package/dist/types/components/dropdown/Dropdown.vue.d.ts +188 -31
  17. package/dist/types/components/forms/button/Button.vue.d.ts +102 -20
  18. package/dist/types/components/forms/button/ButtonDestructive.vue.d.ts +73 -0
  19. package/dist/types/components/forms/button/index.d.ts +2 -1
  20. package/dist/types/components/forms/checkbox/Checkbox.vue.d.ts +77 -11
  21. package/dist/types/components/forms/checkbox/CheckboxGroup.vue.d.ts +114 -19
  22. package/dist/types/components/forms/input/Input.vue.d.ts +76 -10
  23. package/dist/types/components/forms/radio/Radio.vue.d.ts +77 -11
  24. package/dist/types/components/forms/radio/RadioGroup.vue.d.ts +114 -19
  25. package/dist/types/components/forms/select/ListOption.vue.d.ts +149 -0
  26. package/dist/types/components/forms/select/Select.vue.d.ts +298 -27
  27. package/dist/types/components/forms/switch/Switch.vue.d.ts +83 -13
  28. package/dist/types/components/forms/textarea/Textarea.vue.d.ts +108 -19
  29. package/dist/types/components/forms/textfield/Textfield.vue.d.ts +100 -16
  30. package/dist/types/components/forms/textfield/TextfieldPassword.vue.d.ts +71 -9
  31. package/dist/types/components/informations/chip/Chip.vue.d.ts +94 -15
  32. package/dist/types/components/loader/CircleLoader.vue.d.ts +86 -0
  33. package/dist/types/composables/use-toast/Toast.vue.d.ts +130 -24
  34. package/dist/types/composables/use-toast/index.d.ts +1 -1
  35. package/dist/types/index.d.ts +2425 -459
  36. package/dist/windi.config.d.ts +1 -1
  37. package/package.json +33 -33
  38. package/theme/safelist.ts +104 -0
  39. package/theme/solfacil/borders.ts +2 -1
  40. package/theme/solfacil/colors.ts +44 -22
  41. package/theme/solfacil/effects.ts +9 -7
  42. package/theme/solfacil/index.ts +2 -1
  43. package/theme/solfacil/spacing.ts +3 -0
  44. package/theme/solfacil/typography.ts +8 -9
  45. package/theme/solfacil/utilities.ts +239 -3
  46. package/vite.config.ts +1 -0
  47. package/windi.config.ts +14 -1
@@ -1,2 +1,2 @@
1
- declare const _default: import("windicss/types/interfaces").FullConfig;
1
+ declare const _default: import("vite-plugin-windicss").WindiCssOptions;
2
2
  export default _default;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@solfacil/girassol",
3
3
  "description": "Girassol design system",
4
- "version": "0.1.11",
4
+ "version": "0.2.3",
5
5
  "authors": [
6
6
  {
7
7
  "name": "Kevin Martin",
@@ -57,63 +57,63 @@
57
57
  "pre-commit": "./.husky/run-staged-tests.js"
58
58
  },
59
59
  "dependencies": {
60
- "@vueuse/core": "^8.6.0",
60
+ "@vueuse/core": "^9.0.0",
61
61
  "gluegun": "latest",
62
62
  "vue": "^3.2.37"
63
63
  },
64
64
  "devDependencies": {
65
- "@antfu/eslint-config": "^0.25.1",
66
- "@babel/core": "^7.18.2",
67
- "@babel/preset-env": "^7.18.2",
68
- "@commitlint/cli": "^17.0.2",
69
- "@commitlint/config-conventional": "^17.0.2",
70
- "@iconify/json": "^2.1.58",
71
- "@storybook/addon-a11y": "^6.5.8",
72
- "@storybook/addon-actions": "^6.5.8",
73
- "@storybook/addon-essentials": "^6.5.8",
74
- "@storybook/addon-links": "^6.5.8",
75
- "@storybook/builder-vite": "^0.1.36",
76
- "@storybook/theming": "^6.5.8",
77
- "@storybook/vue3": "^6.5.8",
65
+ "@antfu/eslint-config": "^0.25.2",
66
+ "@babel/core": "^7.18.6",
67
+ "@babel/preset-env": "^7.18.6",
68
+ "@commitlint/cli": "^17.0.3",
69
+ "@commitlint/config-conventional": "^17.0.3",
70
+ "@iconify/json": "^2.1.84",
71
+ "@storybook/addon-a11y": "^6.5.9",
72
+ "@storybook/addon-actions": "^6.5.9",
73
+ "@storybook/addon-essentials": "^6.5.9",
74
+ "@storybook/addon-links": "^6.5.9",
75
+ "@storybook/builder-vite": "^0.2.2",
76
+ "@storybook/theming": "^6.5.9",
77
+ "@storybook/vue3": "^6.5.9",
78
78
  "@testing-library/jest-dom": "^5.16.4",
79
- "@testing-library/user-event": "^14.2.0",
79
+ "@testing-library/user-event": "^14.2.1",
80
80
  "@testing-library/vue": "^6.6.0",
81
- "@types/jest-axe": "^3.5.3",
81
+ "@types/jest-axe": "^3.5.4",
82
82
  "@types/node": "^17.0.41",
83
- "@typescript-eslint/eslint-plugin": "^5.27.1",
84
- "@typescript-eslint/parser": "^5.27.1",
85
- "@vitejs/plugin-vue": "^2.3.3",
83
+ "@typescript-eslint/eslint-plugin": "^5.30.0",
84
+ "@typescript-eslint/parser": "^5.30.0",
85
+ "@vitejs/plugin-vue": "^3.0.1",
86
86
  "babel-loader": "^8.2.5",
87
87
  "c8": "^7.11.3",
88
88
  "cli-spinner": "^0.2.10",
89
89
  "commitizen": "^4.2.4",
90
90
  "copyfiles": "^2.4.1",
91
91
  "critters": "^0.0.16",
92
- "eslint": "^8.17.0",
92
+ "eslint": "^8.18.0",
93
93
  "eslint-config-prettier": "^8.5.0",
94
94
  "eslint-plugin-html": "^6.2.0",
95
- "eslint-plugin-prettier": "^4.0.0",
95
+ "eslint-plugin-prettier": "^4.2.1",
96
96
  "eslint-plugin-vue": "^8.7.1",
97
97
  "eslint-plugin-vuejs-accessibility": "^1.2.0",
98
98
  "husky": "^8.0.1",
99
99
  "jest-axe": "^5.0.1",
100
- "jsdom": "^19.0.0",
100
+ "jsdom": "^20.0.0",
101
101
  "sass": "^1.50.0",
102
- "storybook-addon-designs": "^6.2.1",
103
- "stylelint": "^14.9.0",
102
+ "storybook-addon-designs": "^6.3.1",
103
+ "stylelint": "^14.9.1",
104
104
  "stylelint-config-prettier": "^9.0.3",
105
105
  "stylelint-config-property-sort-order-smacss": "^9.0.0",
106
106
  "stylelint-order": "^5.0.0",
107
107
  "ts-node": "^10.8.1",
108
- "typescript": "^4.6.3",
109
- "unplugin-icons": "^0.14.3",
110
- "vite": "^2.9.13",
111
- "vite-plugin-inspect": "^0.5.0",
112
- "vite-plugin-windicss": "^1.8.4",
113
- "vitest": "^0.16.0",
108
+ "typescript": "^4.7.4",
109
+ "unplugin-icons": "^0.14.7",
110
+ "vite": "^3.0.3",
111
+ "vite-plugin-inspect": "^0.5.1",
112
+ "vite-plugin-windicss": "^1.8.7",
113
+ "vitest": "^0.19.1",
114
114
  "vue-loader": "^17.0.0",
115
- "vue-tsc": "^0.34.15",
116
- "windicss": "^3.5.4"
115
+ "vue-tsc": "^0.39.2",
116
+ "windicss": "^3.5.6"
117
117
  },
118
118
  "repository": {
119
119
  "type": "git",
@@ -0,0 +1,104 @@
1
+ type Data = {
2
+ colors: Record<string, any>
3
+ spacing: Record<string, any>
4
+ }
5
+
6
+ type Args = {
7
+ activeSafeList: boolean
8
+ data: Data
9
+ }
10
+
11
+ export function safelist({ activeSafeList = true, data }: Args): string[] {
12
+ if (activeSafeList) {
13
+ const colors = data.colors ? safelistElementColors(safelistColors(data.colors)) : []
14
+ const spacing = data.spacing ? safelistSpacing(data.spacing) : []
15
+
16
+ const gaps = range(20).map(i => `gap-${i}`)
17
+ const gridRows = range(14).map(i => `grid-rows-${i}`)
18
+ const gridCols = range(14).map(i => `grid-cols-${i}`)
19
+ const rowsStart = range(14).map(i => `row-start-${i}`)
20
+ const colsStart = range(14).map(i => `col-start-${i}`)
21
+ const rowsSpan = range(14).map(i => `row-span-${i}`)
22
+ const colsSpan = range(14).map(i => `col-span-${i}`)
23
+
24
+ return [
25
+ ...colors,
26
+ ...spacing,
27
+ ...gaps,
28
+ ...gridRows,
29
+ ...gridCols,
30
+ ...rowsStart,
31
+ ...colsStart,
32
+ ...rowsSpan,
33
+ ...colsSpan,
34
+ ]
35
+ }
36
+
37
+
38
+ return []
39
+ }
40
+
41
+ export function safelistColors(colors: Data['colors']) {
42
+ const colorsNames: string[] = []
43
+
44
+ for (const category in colors) {
45
+ for (const color in colors[category]) {
46
+ const current = colors[category][color]
47
+
48
+ if (typeof current === 'string') {
49
+ colorsNames.push(`${category}-${color}`)
50
+ }
51
+
52
+ if (typeof current === 'object') {
53
+ for (const insideColor in colors[category][color]) {
54
+ colorsNames.push(`${category}-${color}-${insideColor}`)
55
+ }
56
+ }
57
+ }
58
+ }
59
+
60
+ return colorsNames
61
+ }
62
+
63
+ export function safelistElementColors(colorsNames: string[]) {
64
+ const elements = ['text', 'bg', 'outline', 'fill', 'stroke', 'border', 'text-decoration-color', 'text-stroke-color']
65
+ const elementColors: string[] = []
66
+
67
+ elements.forEach((element: string) => {
68
+ colorsNames.forEach((color: string) => {
69
+ elementColors.push(`${element}-${color}`)
70
+ })
71
+ })
72
+
73
+ return elementColors
74
+ }
75
+
76
+
77
+ export function safelistSpacing(spacing: Data['spacing']): string[] {
78
+ const spacingTokenNames = Object.keys(spacing)
79
+ const paddings = ['p', 'px', 'py', 'pl', 'pr', 'pt', 'pb']
80
+ const margins = ['m', 'mx', 'my', 'ml', 'mr', 'mt', 'mb']
81
+
82
+ const typos = ['text', 'tracking', 'decoration', 'underline-offset', 'indent', 'text-stroke']
83
+ const svg = ['stroke']
84
+ const border = ['border-a', 'border-x', 'border-y', 'border-l', 'border-r', 'border-t', 'border-b']
85
+
86
+ const elements = [...paddings, ...margins, ...typos, ...svg, ...border]
87
+
88
+ const elementSpacing: string[] = []
89
+
90
+ elements.forEach((element: string) => {
91
+ spacingTokenNames.forEach((space: string) => {
92
+ elementSpacing.push(`${element}-${space}`)
93
+ })
94
+ })
95
+
96
+ margins.forEach(margin => elementSpacing.push(`${margin}-auto`))
97
+ paddings.forEach(padding => elementSpacing.push(`${padding}-auto`))
98
+
99
+ return elementSpacing
100
+ }
101
+
102
+ export function range(size: number, startAt = 1) {
103
+ return Array.from(Array(size).keys()).map(i => i + startAt)
104
+ }
@@ -4,7 +4,8 @@ export default {
4
4
  sm: '0.25rem',
5
5
  md: '0.5rem',
6
6
  lg: '1rem',
7
- full: '40rem',
7
+ full: '80rem',
8
+
8
9
  half: '50%',
9
10
  fully: '100%',
10
11
  },
@@ -1,43 +1,65 @@
1
1
  export default {
2
2
  brand: {
3
3
  primary: {
4
- light: '#FFF8EB',
5
- medium: '#FFCD70',
6
- pure: '#FFB01F',
4
+ pure: '#000000',
5
+ light: '#a3a3a3',
6
+ medium: '#666666',
7
+ dark: '#212121',
7
8
  },
9
+ secondary: {
10
+ medium: '#BFFF00',
11
+ light: '#EFFFC1',
12
+ pure: '#00B569',
13
+ dark: '#008859',
14
+ },
15
+ },
16
+
17
+ highlight: {
18
+ pure: '#8250DF',
19
+ light: '#E6DCF9',
20
+ medium: '#C0A7EF',
21
+ dark: '#342059',
8
22
  },
9
23
 
10
24
  neutral: {
11
25
  low: {
12
- light: '#8f8f8f',
13
- medium: '#525252',
14
- pure: '#292929',
26
+ pure: '#000000',
27
+ light: '#757575',
28
+ medium: '#505050',
29
+ dark: '#222222',
15
30
  },
16
-
17
31
  high: {
18
- light: '#FFFFFF',
19
- medium: '#F5F5F5',
20
- pure: '#E0E0E0',
32
+ pure: '#ffffff',
33
+ light: '#F0f0f0',
34
+ medium: '#dedede',
35
+ dark: '#c8c8c8',
21
36
  },
22
37
  },
23
-
38
+
24
39
  feedback: {
25
40
  positive: {
26
- light: '#eefbf6',
27
- medium: '#8ae5bf',
28
- pure: '#47d79a',
41
+ pure: '#1CA36F',
42
+ light: '#D2EDE2',
43
+ medium: '#8DD1B7',
44
+ dark: '#0B412C',
45
+ },
46
+ warning: {
47
+ pure: '#FFB300',
48
+ light: '#FFF0CC',
49
+ medium: '#FFD97F',
50
+ dark: '#664800',
29
51
  },
30
-
31
52
  informative: {
32
- light: '#ebf8ff',
33
- medium: '#70cbff',
34
- pure: '#1faeff',
53
+ pure: '#1976D2',
54
+ light: '#D1E4F6',
55
+ medium: '#8CBAE8',
56
+ dark: '#0A2F54',
35
57
  },
36
-
37
58
  negative: {
38
- light: '#ffebeb',
39
- medium: '#ff7470',
40
- pure: '#ff251f',
59
+ pure: '#D0382D',
60
+ light: '#F6D7D5',
61
+ medium: '#E79B96',
62
+ dark: '#531612',
41
63
  },
42
64
  },
43
65
  }
@@ -1,15 +1,17 @@
1
1
  export default {
2
- opacity: {
2
+ opacity: {
3
3
  'DEFAULT': 1,
4
4
 
5
- strong: 0.8,
6
- moderate: 0.32,
7
- weak: 0.16,
5
+ semiopaque: 0.8,
6
+ intense: 0.6,
7
+ medium: 0.32,
8
+ light: 0.16,
8
9
  },
9
10
 
10
11
  boxShadow: {
11
- soft: '0px 8px 16px rgba(41, 41, 41, 0.08)',
12
- medium: '0px 12px 24px rgba(41, 41, 41, 0.16)',
13
- large: '0px 16px 64px rgba(41, 41, 41, 0.24)',
12
+ weak: '0px 4px 8px rgba(41, 41, 41, 0.08)',
13
+ moderate: '0px 8px 24px rgba(41, 41, 41, 0.16)',
14
+ intense: '0px 16px 32px rgba(41, 41, 41, 0.32)',
15
+ strong: '0px 16px 48px rgba(41, 41, 41, 0.32)',
14
16
  },
15
17
  }
@@ -5,7 +5,7 @@ import spacing from './spacing'
5
5
  import effects from './effects'
6
6
  import misc from './miscs'
7
7
 
8
- import { debug, maxLines, outlinesForFocus, placeholder } from './utilities'
8
+ import { componentTypos ,debug, maxLines, outlinesForFocus, placeholder } from './utilities'
9
9
 
10
10
 
11
11
  export {
@@ -18,6 +18,7 @@ export {
18
18
  }
19
19
 
20
20
  export const utilities = {
21
+ componentTypos,
21
22
  outlinesForFocus,
22
23
  maxLines,
23
24
  debug,
@@ -14,6 +14,7 @@ export default {
14
14
  '2xl': '5rem',
15
15
  '3xl': '6rem',
16
16
  'mega': '7.5rem',
17
+ 'huge': '10rem',
17
18
  'giga': '12.5rem',
18
19
  },
19
20
 
@@ -32,6 +33,7 @@ export default {
32
33
  '2xl': '5rem',
33
34
  '3xl': '6rem',
34
35
  'mega': '7.5rem',
36
+ 'huge': '10rem',
35
37
  'giga': '12.5rem',
36
38
  },
37
39
 
@@ -50,6 +52,7 @@ export default {
50
52
  '2xl': '5rem',
51
53
  '3xl': '6rem',
52
54
  'mega': '7.5rem',
55
+ 'huge': '10rem',
53
56
  'giga': '12.5rem',
54
57
  },
55
58
  }
@@ -1,10 +1,8 @@
1
1
  export default {
2
2
  fontFamily: {
3
3
  sans: ['"Lato"', 'sans-serif'],
4
-
5
4
  base: ['"Lato"', 'sans-serif'],
6
5
  highlight: ['"Rubik"'],
7
- code: ['"Roboto Slab", "serif"'],
8
6
  },
9
7
 
10
8
  fontSize: {
@@ -14,21 +12,22 @@ export default {
14
12
  'xs': '1.25rem',
15
13
 
16
14
  'sm': '1.5rem',
17
- 'md': '2rem',
18
- 'lg': '2.5rem',
15
+ 'md': '1.75rem',
16
+ 'lg': '2rem',
19
17
 
20
- 'xl': '3rem',
21
- '2xl': '3.5rem',
22
- '3xl': '4rem',
18
+ 'xl': '2.5rem',
19
+ '2xl': '3rem',
20
+ '3xl': '3.5rem',
21
+ 'huge': '4rem',
23
22
  'mega': '4.5rem',
24
- 'giga': '5.5rem',
23
+ 'giga': '5rem',
25
24
  },
26
25
 
27
26
  lineHeight: {
28
27
  'default': 1,
29
28
 
30
29
  'xs': 1.15,
31
- 'sm': 1.2,
30
+ 'sm': 1.25,
32
31
 
33
32
  'md': 1.33,
34
33
 
@@ -1,14 +1,250 @@
1
1
  import plugin from 'windicss/plugin'
2
2
 
3
+ export const componentTypos = plugin(({ addUtilities, theme }) => {
4
+ const wrapperThemeType = (path: string) => `${theme(path)}`
5
+
6
+
7
+ const display = {
8
+ '.fonts-display-large': {
9
+ fontSize: wrapperThemeType('fontSize.3xl'),
10
+ fontFamily: wrapperThemeType('fontFamily.highlight'),
11
+ lineHeight: wrapperThemeType('lineHeight.xs'),
12
+ fontWeight: wrapperThemeType('fontWeight.medium'),
13
+ color: wrapperThemeType('colors.neutral.low.dark'),
14
+
15
+ '@media (min-width: 1024px)': {
16
+ fontSize: wrapperThemeType('fontSize.mega'),
17
+ },
18
+ },
19
+
20
+
21
+ '.fonts-display-medium': {
22
+ fontFamily: wrapperThemeType('fontFamily.highlight'),
23
+ fontSize: wrapperThemeType('fontSize.2xl'),
24
+ lineHeight: wrapperThemeType('lineHeight.xs'),
25
+ fontWeight: wrapperThemeType('fontWeight.medium'),
26
+ color: wrapperThemeType('colors.neutral.low.dark'),
27
+
28
+ '@media (min-width: 1024px)': {
29
+ fontSize: wrapperThemeType('fontSize.huge'),
30
+ },
31
+ },
32
+
33
+ '.fonts-display-small': {
34
+ fontFamily: wrapperThemeType('fontFamily.highlight'),
35
+ fontSize: wrapperThemeType('fontSize.xl'),
36
+ lineHeight: wrapperThemeType('lineHeight.xs'),
37
+ fontWeight: wrapperThemeType('fontWeight.medium'),
38
+ color: wrapperThemeType('colors.neutral.low.dark'),
39
+
40
+ '@media (min-width: 1024px)': {
41
+ fontSize: wrapperThemeType('fontSize.3xl'),
42
+ },
43
+ },
44
+
45
+ }
46
+
47
+ const heading = {
48
+ '.fonts-heading-h1': {
49
+ fontSize: wrapperThemeType('fontSize.md'),
50
+ fontFamily: wrapperThemeType('fontFamily.highlight'),
51
+ lineHeight: wrapperThemeType('lineHeight.xs'),
52
+ fontWeight: wrapperThemeType('fontWeight.medium'),
53
+ color: wrapperThemeType('colors.neutral.low.dark'),
54
+
55
+ '@media (min-width: 1024px)': {
56
+ fontSize: wrapperThemeType('fontSize.xl'),
57
+ },
58
+ },
59
+
60
+
61
+ '.fonts-heading-h2': {
62
+ fontFamily: wrapperThemeType('fontFamily.highlight'),
63
+ fontSize: wrapperThemeType('fontSize.sm'),
64
+ lineHeight: wrapperThemeType('lineHeight.xs'),
65
+ fontWeight: wrapperThemeType('fontWeight.medium'),
66
+ color: wrapperThemeType('colors.neutral.low.dark'),
67
+
68
+ '@media (min-width: 1024px)': {
69
+ fontSize: wrapperThemeType('fontSize.lg'),
70
+ },
71
+ },
72
+
73
+ '.fonts-heading-h3': {
74
+ fontFamily: wrapperThemeType('fontFamily.highlight'),
75
+ fontSize: wrapperThemeType('fontSize.xs'),
76
+ lineHeight: wrapperThemeType('lineHeight.xs'),
77
+ fontWeight: wrapperThemeType('fontWeight.medium'),
78
+ color: wrapperThemeType('colors.neutral.low.dark'),
79
+
80
+ '@media (min-width: 1024px)': {
81
+ fontSize: wrapperThemeType('fontSize.sm'),
82
+ },
83
+ },
84
+
85
+ '.fonts-heading-h4': {
86
+ fontFamily: wrapperThemeType('fontFamily.highlight'),
87
+ fontSize: wrapperThemeType('fontSize.2xs'),
88
+ lineHeight: wrapperThemeType('lineHeight.xs'),
89
+ fontWeight: wrapperThemeType('fontWeight.medium'),
90
+ color: wrapperThemeType('colors.neutral.low.dark'),
91
+
92
+ '@media (min-width: 1024px)': {
93
+ fontSize: wrapperThemeType('fontSize.2xs'),
94
+ },
95
+ },
96
+
97
+ }
98
+
99
+ const subtitle = {
100
+ '.fonts-subtitle-medium': {
101
+ fontSize: wrapperThemeType('fontSize.md'),
102
+ fontFamily: wrapperThemeType('fontFamily.base'),
103
+ lineHeight: wrapperThemeType('lineHeight.xs'),
104
+ fontWeight: wrapperThemeType('fontWeight.regular'),
105
+ color: wrapperThemeType('colors.neutral.low.light'),
106
+
107
+ '@media (min-width: 1024px)': {
108
+ fontSize: wrapperThemeType('fontSize.xs'),
109
+ },
110
+ },
111
+
112
+
113
+ '.fonts-subtitle-small': {
114
+ fontSize: wrapperThemeType('fontSize.md'),
115
+ fontFamily: wrapperThemeType('fontFamily.base'),
116
+ lineHeight: wrapperThemeType('lineHeight.xs'),
117
+ fontWeight: wrapperThemeType('fontWeight.regular'),
118
+ color: wrapperThemeType('colors.neutral.low.light'),
119
+
120
+ '@media (min-width: 1024px)': {
121
+ fontSize: wrapperThemeType('fontSize.xs'),
122
+ },
123
+ },
124
+ }
125
+
126
+ const body = {
127
+ '.fonts-body-large-regular': {
128
+ fontSize: wrapperThemeType('fontSize.2xs'),
129
+ fontFamily: wrapperThemeType('fontFamily.base'),
130
+ lineHeight: wrapperThemeType('lineHeight.xs'),
131
+ fontWeight: wrapperThemeType('fontWeight.bold'),
132
+ color: wrapperThemeType('colors.neutral.low.medium'),
133
+ },
134
+
135
+ '.fonts-body-larger-bold': {
136
+ fontSize: wrapperThemeType('fontSize.2xs'),
137
+ fontFamily: wrapperThemeType('fontFamily.base'),
138
+ lineHeight: wrapperThemeType('lineHeight.xs'),
139
+ fontWeight: wrapperThemeType('fontWeight.bold'),
140
+ color: wrapperThemeType('colors.neutral.low.medium'),
141
+ },
142
+
143
+ '.fonts-body-medium-regular': {
144
+ fontSize: wrapperThemeType('fontSize.3xs'),
145
+ fontFamily: wrapperThemeType('fontFamily.base'),
146
+ lineHeight: wrapperThemeType('lineHeight.xs'),
147
+ fontWeight: wrapperThemeType('fontWeight.regular'),
148
+ color: wrapperThemeType('colors.neutral.low.medium'),
149
+ },
150
+
151
+ '.fonts-body-medium-bold': {
152
+ fontSize: wrapperThemeType('fontSize.3xs'),
153
+ fontFamily: wrapperThemeType('fontFamily.base'),
154
+ lineHeight: wrapperThemeType('lineHeight.xs'),
155
+ fontWeight: wrapperThemeType('fontWeight.bold'),
156
+ color: wrapperThemeType('colors.neutral.low.medium'),
157
+ },
158
+
159
+ '.fonts-body-small-regular': {
160
+ fontSize: wrapperThemeType('fontSize.micro'),
161
+ fontFamily: wrapperThemeType('fontFamily.base'),
162
+ lineHeight: wrapperThemeType('lineHeight.xs'),
163
+ fontWeight: wrapperThemeType('fontWeight.regular'),
164
+ color: wrapperThemeType('colors.neutral.low.medium'),
165
+ },
166
+
167
+ '.fonts-body-small-bold': {
168
+ fontSize: wrapperThemeType('fontSize.micro'),
169
+ fontFamily: wrapperThemeType('fontFamily.base'),
170
+ lineHeight: wrapperThemeType('lineHeight.xs'),
171
+ fontWeight: wrapperThemeType('fontWeight.bold'),
172
+ color: wrapperThemeType('colors.neutral.low.medium'),
173
+ },
174
+ }
175
+
176
+ const link = {
177
+ '.fonts-link-inline-large': {
178
+ fontSize: wrapperThemeType('fontSize.2xs'),
179
+ fontFamily: wrapperThemeType('fontFamily.base'),
180
+ lineHeight: wrapperThemeType('lineHeight.xs'),
181
+ fontWeight: wrapperThemeType('fontWeight.regular'),
182
+ color: wrapperThemeType('colors.neutral.low.medium'),
183
+ textDecoration: 'underline',
184
+
185
+ '&:hover': {
186
+ color: wrapperThemeType('colors.neutral.low.dark'),
187
+ },
188
+ },
189
+
190
+ '.fonts-link-inline-medium': {
191
+ fontSize: wrapperThemeType('fontSize.3xs'),
192
+ fontFamily: wrapperThemeType('fontFamily.base'),
193
+ lineHeight: wrapperThemeType('lineHeight.xs'),
194
+ fontWeight: wrapperThemeType('fontWeight.regular'),
195
+ color: wrapperThemeType('colors.neutral.low.medium'),
196
+ textDecoration: 'underline',
197
+
198
+ '&:hover': {
199
+ color: wrapperThemeType('colors.neutral.low.dark'),
200
+ },
201
+ },
202
+
203
+ '.fonts-link-inline-small': {
204
+ fontSize: wrapperThemeType('fontSize.micro'),
205
+ fontFamily: wrapperThemeType('fontFamily.base'),
206
+ lineHeight: wrapperThemeType('lineHeight.xs'),
207
+ fontWeight: wrapperThemeType('fontWeight.regular'),
208
+ color: wrapperThemeType('colors.neutral.low.medium'),
209
+ textDecoration: 'underline',
210
+
211
+ '&:hover': {
212
+ color: wrapperThemeType('colors.neutral.low.dark'),
213
+ },
214
+ },
215
+ }
216
+
217
+ const overline = {
218
+ '.fonts-overline-small': {
219
+ fontSize: wrapperThemeType('fontSize.2xs'),
220
+ fontFamily: wrapperThemeType('fontFamily.base'),
221
+ lineHeight: wrapperThemeType('lineHeight.xs'),
222
+ fontWeight: wrapperThemeType('fontWeight.regular'),
223
+ color: wrapperThemeType('colors.neutral.low.medium'),
224
+ textTransform: 'uppercase',
225
+ },
226
+ }
227
+
228
+ addUtilities({
229
+ ...display,
230
+ ...heading,
231
+ ...subtitle,
232
+ ...body,
233
+ ...link,
234
+ ...overline,
235
+ })
236
+ })
237
+
238
+
3
239
  export const outlinesForFocus = plugin(({ addUtilities }) => {
4
240
  addUtilities({
5
241
  '.outline-focused': {
6
- outline: '3px solid #292929',
7
- outlineOffset: '0px',
242
+ outline: '2px solid #8250DF',
243
+ outlineOffset: '2px',
8
244
  },
9
245
 
10
246
  '.outline-focused-invert': {
11
- outline: '3px solid #ffffff',
247
+ outline: '2px solid #ffffff',
12
248
  outlineOffset: '0px',
13
249
  },
14
250
  })
package/vite.config.ts CHANGED
@@ -54,6 +54,7 @@ export default defineConfig({
54
54
  Icons({
55
55
  autoInstall: true,
56
56
  compiler: 'vue3',
57
+ scale: 1.0,
57
58
  }),
58
59
 
59
60
  GirassolComponentsTypes(),