@digdir/designsystemet 0.0.0-deps-tsdown-20260421103939
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.
- package/LICENSE +7 -0
- package/README.md +115 -0
- package/configs/test-tokens.config.json +82 -0
- package/dist/bin/config.d.ts +12 -0
- package/dist/bin/config.d.ts.map +1 -0
- package/dist/bin/config.js +58 -0
- package/dist/bin/designsystemet.d.ts +3 -0
- package/dist/bin/designsystemet.d.ts.map +1 -0
- package/dist/bin/designsystemet.js +156 -0
- package/dist/bin/options.d.ts +21 -0
- package/dist/bin/options.d.ts.map +1 -0
- package/dist/bin/options.js +23 -0
- package/dist/config.schema.json +209 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BorderValues.js +9 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BoxShadowTypes.js +8 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BoxShadowValues.js +13 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/ColorModifierTypes.js +10 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/ColorSpaceTypes.js +10 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/Properties.js +53 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/StrokeStyleValues.js +14 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenSetStatus.js +9 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenTypes.js +32 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TypographyValues.js +15 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/types/index.js +11 -0
- package/dist/package.js +5 -0
- package/dist/src/colors/colorMetadata.d.ts +56 -0
- package/dist/src/colors/colorMetadata.d.ts.map +1 -0
- package/dist/src/colors/colorMetadata.js +259 -0
- package/dist/src/colors/index.d.ts +5 -0
- package/dist/src/colors/index.d.ts.map +1 -0
- package/dist/src/colors/index.js +5 -0
- package/dist/src/colors/theme.d.ts +30 -0
- package/dist/src/colors/theme.d.ts.map +1 -0
- package/dist/src/colors/theme.js +111 -0
- package/dist/src/colors/types.d.ts +69 -0
- package/dist/src/colors/types.d.ts.map +1 -0
- package/dist/src/colors/types.js +24 -0
- package/dist/src/colors/utils.d.ts +128 -0
- package/dist/src/colors/utils.d.ts.map +1 -0
- package/dist/src/colors/utils.js +244 -0
- package/dist/src/config.d.ts +181 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +118 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +10 -0
- package/dist/src/migrations/beta-to-v1.d.ts +3 -0
- package/dist/src/migrations/beta-to-v1.d.ts.map +1 -0
- package/dist/src/migrations/beta-to-v1.js +340 -0
- package/dist/src/migrations/codemods/css/plugins.d.ts +6 -0
- package/dist/src/migrations/codemods/css/plugins.d.ts.map +1 -0
- package/dist/src/migrations/codemods/css/plugins.js +35 -0
- package/dist/src/migrations/codemods/css/run.d.ts +8 -0
- package/dist/src/migrations/codemods/css/run.d.ts.map +1 -0
- package/dist/src/migrations/codemods/css/run.js +23 -0
- package/dist/src/migrations/color-rename-next49.d.ts +3 -0
- package/dist/src/migrations/color-rename-next49.d.ts.map +1 -0
- package/dist/src/migrations/color-rename-next49.js +46 -0
- package/dist/src/migrations/index.d.ts +6 -0
- package/dist/src/migrations/index.d.ts.map +1 -0
- package/dist/src/migrations/index.js +9 -0
- package/dist/src/scripts/createJsonSchema.d.ts +2 -0
- package/dist/src/scripts/createJsonSchema.d.ts.map +1 -0
- package/dist/src/scripts/update-preview-tokens.d.ts +3 -0
- package/dist/src/scripts/update-preview-tokens.d.ts.map +1 -0
- package/dist/src/tokens/build.d.ts +4 -0
- package/dist/src/tokens/build.d.ts.map +1 -0
- package/dist/src/tokens/build.js +41 -0
- package/dist/src/tokens/create/files.d.ts +11 -0
- package/dist/src/tokens/create/files.d.ts.map +1 -0
- package/dist/src/tokens/create/files.js +44 -0
- package/dist/src/tokens/create/generators/$designsystemet.d.ts +5 -0
- package/dist/src/tokens/create/generators/$designsystemet.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/$designsystemet.js +10 -0
- package/dist/src/tokens/create/generators/$metadata.d.ts +8 -0
- package/dist/src/tokens/create/generators/$metadata.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/$metadata.js +19 -0
- package/dist/src/tokens/create/generators/$themes.d.ts +27 -0
- package/dist/src/tokens/create/generators/$themes.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/$themes.js +158 -0
- package/dist/src/tokens/create/generators/primitives/color-scheme.d.ts +5 -0
- package/dist/src/tokens/create/generators/primitives/color-scheme.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/primitives/color-scheme.js +71 -0
- package/dist/src/tokens/create/generators/primitives/globals.d.ts +3 -0
- package/dist/src/tokens/create/generators/primitives/globals.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/primitives/globals.js +142 -0
- package/dist/src/tokens/create/generators/primitives/size.d.ts +4 -0
- package/dist/src/tokens/create/generators/primitives/size.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/primitives/size.js +147 -0
- package/dist/src/tokens/create/generators/primitives/typography.d.ts +4 -0
- package/dist/src/tokens/create/generators/primitives/typography.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/primitives/typography.js +216 -0
- package/dist/src/tokens/create/generators/semantic/color-modes.d.ts +8 -0
- package/dist/src/tokens/create/generators/semantic/color-modes.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/semantic/color-modes.js +26 -0
- package/dist/src/tokens/create/generators/semantic/color.d.ts +5 -0
- package/dist/src/tokens/create/generators/semantic/color.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/semantic/color.js +46 -0
- package/dist/src/tokens/create/generators/semantic/style.d.ts +3 -0
- package/dist/src/tokens/create/generators/semantic/style.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/semantic/style.js +381 -0
- package/dist/src/tokens/create/generators/themes/theme.d.ts +3 -0
- package/dist/src/tokens/create/generators/themes/theme.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/themes/theme.js +112 -0
- package/dist/src/tokens/create.d.ts +21 -0
- package/dist/src/tokens/create.d.ts.map +1 -0
- package/dist/src/tokens/create.js +47 -0
- package/dist/src/tokens/format.d.ts +15 -0
- package/dist/src/tokens/format.d.ts.map +1 -0
- package/dist/src/tokens/format.js +41 -0
- package/dist/src/tokens/generate-config.d.ts +10 -0
- package/dist/src/tokens/generate-config.d.ts.map +1 -0
- package/dist/src/tokens/generate-config.js +178 -0
- package/dist/src/tokens/index.d.ts +4 -0
- package/dist/src/tokens/index.d.ts.map +1 -0
- package/dist/src/tokens/index.js +3 -0
- package/dist/src/tokens/process/configs/color.d.ts +12 -0
- package/dist/src/tokens/process/configs/color.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/color.js +51 -0
- package/dist/src/tokens/process/configs/semantic.d.ts +3 -0
- package/dist/src/tokens/process/configs/semantic.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/semantic.js +47 -0
- package/dist/src/tokens/process/configs/shared.d.ts +10 -0
- package/dist/src/tokens/process/configs/shared.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/shared.js +19 -0
- package/dist/src/tokens/process/configs/size-mode.d.ts +3 -0
- package/dist/src/tokens/process/configs/size-mode.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/size-mode.js +28 -0
- package/dist/src/tokens/process/configs/size.d.ts +3 -0
- package/dist/src/tokens/process/configs/size.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/size.js +34 -0
- package/dist/src/tokens/process/configs/type-scale.d.ts +3 -0
- package/dist/src/tokens/process/configs/type-scale.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/type-scale.js +49 -0
- package/dist/src/tokens/process/configs/typography.d.ts +3 -0
- package/dist/src/tokens/process/configs/typography.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/typography.js +64 -0
- package/dist/src/tokens/process/configs.d.ts +20 -0
- package/dist/src/tokens/process/configs.d.ts.map +1 -0
- package/dist/src/tokens/process/configs.js +90 -0
- package/dist/src/tokens/process/formats/css/color.d.ts +4 -0
- package/dist/src/tokens/process/formats/css/color.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/color.js +63 -0
- package/dist/src/tokens/process/formats/css/semantic.d.ts +3 -0
- package/dist/src/tokens/process/formats/css/semantic.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/semantic.js +29 -0
- package/dist/src/tokens/process/formats/css/size-mode.d.ts +4 -0
- package/dist/src/tokens/process/formats/css/size-mode.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/size-mode.js +50 -0
- package/dist/src/tokens/process/formats/css/size.d.ts +21 -0
- package/dist/src/tokens/process/formats/css/size.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/size.js +93 -0
- package/dist/src/tokens/process/formats/css/type-scale.d.ts +3 -0
- package/dist/src/tokens/process/formats/css/type-scale.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/type-scale.js +55 -0
- package/dist/src/tokens/process/formats/css/typography.d.ts +3 -0
- package/dist/src/tokens/process/formats/css/typography.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/typography.js +29 -0
- package/dist/src/tokens/process/formats/css.d.ts +11 -0
- package/dist/src/tokens/process/formats/css.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css.js +18 -0
- package/dist/src/tokens/process/output/declarations.d.ts +5 -0
- package/dist/src/tokens/process/output/declarations.d.ts.map +1 -0
- package/dist/src/tokens/process/output/declarations.js +38 -0
- package/dist/src/tokens/process/output/tailwind.d.ts +3 -0
- package/dist/src/tokens/process/output/tailwind.d.ts.map +1 -0
- package/dist/src/tokens/process/output/tailwind.js +45 -0
- package/dist/src/tokens/process/output/theme.d.ts +27 -0
- package/dist/src/tokens/process/output/theme.d.ts.map +1 -0
- package/dist/src/tokens/process/output/theme.js +83 -0
- package/dist/src/tokens/process/platform.d.ts +106 -0
- package/dist/src/tokens/process/platform.d.ts.map +1 -0
- package/dist/src/tokens/process/platform.js +168 -0
- package/dist/src/tokens/process/transformers.d.ts +6 -0
- package/dist/src/tokens/process/transformers.d.ts.map +1 -0
- package/dist/src/tokens/process/transformers.js +54 -0
- package/dist/src/tokens/process/utils/getMultidimensionalThemes.d.ts +36 -0
- package/dist/src/tokens/process/utils/getMultidimensionalThemes.d.ts.map +1 -0
- package/dist/src/tokens/process/utils/getMultidimensionalThemes.js +114 -0
- package/dist/src/tokens/process/utils/kebab-case.d.ts +5 -0
- package/dist/src/tokens/process/utils/kebab-case.d.ts.map +1 -0
- package/dist/src/tokens/process/utils/kebab-case.js +9 -0
- package/dist/src/tokens/types.d.ts +74 -0
- package/dist/src/tokens/types.d.ts.map +1 -0
- package/dist/src/tokens/types.js +7 -0
- package/dist/src/tokens/utils.d.ts +63 -0
- package/dist/src/tokens/utils.d.ts.map +1 -0
- package/dist/src/tokens/utils.js +121 -0
- package/dist/src/types.d.ts +6 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +2 -0
- package/dist/src/utils/filesystem.d.ts +40 -0
- package/dist/src/utils/filesystem.d.ts.map +1 -0
- package/dist/src/utils/filesystem.js +115 -0
- package/package.json +87 -0
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import * as R from "ramda";
|
|
2
|
+
//#region src/colors/colorMetadata.ts
|
|
3
|
+
const baseColors = {
|
|
4
|
+
info: "#0A71C0",
|
|
5
|
+
success: "#068718",
|
|
6
|
+
warning: "#EA9B1B",
|
|
7
|
+
danger: "#C01B1B"
|
|
8
|
+
};
|
|
9
|
+
const dsLinkColor = "#663299";
|
|
10
|
+
const colorMetadata = {
|
|
11
|
+
"background-default": {
|
|
12
|
+
number: 1,
|
|
13
|
+
name: "background-default",
|
|
14
|
+
group: "background",
|
|
15
|
+
displayName: "Background Default",
|
|
16
|
+
description: {
|
|
17
|
+
long: "Background Default er den mest nøytrale bakgrunnsfargen.",
|
|
18
|
+
short: "Standard bakgrunnsfarge."
|
|
19
|
+
},
|
|
20
|
+
luminance: {
|
|
21
|
+
light: 1,
|
|
22
|
+
dark: .009,
|
|
23
|
+
contrast: .001
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"background-tinted": {
|
|
27
|
+
number: 2,
|
|
28
|
+
name: "background-tinted",
|
|
29
|
+
group: "background",
|
|
30
|
+
displayName: "Background Tinted",
|
|
31
|
+
description: {
|
|
32
|
+
long: "Background Tinted er en bakgrunnsfarge som har et hint av farge i seg.",
|
|
33
|
+
short: "Bakgrunn med et hint av farge i seg."
|
|
34
|
+
},
|
|
35
|
+
luminance: {
|
|
36
|
+
light: .9,
|
|
37
|
+
dark: .014,
|
|
38
|
+
contrast: .0065
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"surface-default": {
|
|
42
|
+
number: 3,
|
|
43
|
+
name: "surface-default",
|
|
44
|
+
group: "surface",
|
|
45
|
+
displayName: "Surface Default",
|
|
46
|
+
description: {
|
|
47
|
+
long: "Surface Default brukes på flater som ligger oppå bakgrunnsfargene. Dette er den mest nøytrale surface fargen.",
|
|
48
|
+
short: "Standardfarge for overflater / komponenter."
|
|
49
|
+
},
|
|
50
|
+
luminance: {
|
|
51
|
+
light: 1,
|
|
52
|
+
dark: .021,
|
|
53
|
+
contrast: .015
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"surface-tinted": {
|
|
57
|
+
number: 4,
|
|
58
|
+
name: "surface-tinted",
|
|
59
|
+
group: "surface",
|
|
60
|
+
displayName: "Surface Tinted",
|
|
61
|
+
description: {
|
|
62
|
+
long: "Surface Tinted brukes på flater som ligger oppå bakgrunnsfargene. Denne har et hint av farge i seg.",
|
|
63
|
+
short: "Overflater / komponenter med et hint av farge i seg."
|
|
64
|
+
},
|
|
65
|
+
luminance: {
|
|
66
|
+
light: .81,
|
|
67
|
+
dark: .027,
|
|
68
|
+
contrast: .015
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"surface-hover": {
|
|
72
|
+
number: 5,
|
|
73
|
+
name: "surface-hover",
|
|
74
|
+
group: "surface",
|
|
75
|
+
displayName: "Surface Hover",
|
|
76
|
+
description: {
|
|
77
|
+
long: "Surface Hover brukes på interaktive flater som ligger oppå bakgrunnsfargene i en hover state.",
|
|
78
|
+
short: "Hover-farge til overflater / komponenter."
|
|
79
|
+
},
|
|
80
|
+
luminance: {
|
|
81
|
+
light: .7,
|
|
82
|
+
dark: .036,
|
|
83
|
+
contrast: .028
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"surface-active": {
|
|
87
|
+
number: 6,
|
|
88
|
+
name: "surface-active",
|
|
89
|
+
group: "surface",
|
|
90
|
+
displayName: "Surface Active",
|
|
91
|
+
description: {
|
|
92
|
+
long: "Surface Active brukes på interaktive flater som ligger oppå bakgrunnsfargene i en active state.",
|
|
93
|
+
short: "Active-farge til overflater / komponenter."
|
|
94
|
+
},
|
|
95
|
+
luminance: {
|
|
96
|
+
light: .59,
|
|
97
|
+
dark: .056,
|
|
98
|
+
contrast: .045
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"border-subtle": {
|
|
102
|
+
number: 7,
|
|
103
|
+
name: "border-subtle",
|
|
104
|
+
group: "border",
|
|
105
|
+
displayName: "Border Subtle",
|
|
106
|
+
description: {
|
|
107
|
+
long: "Border Subtle er den lyseste border-fargen og brukes for å skille elementer fra hverandre.",
|
|
108
|
+
short: "Border-farge med lav kontrast til dekorativ bruk (skillelinjer)."
|
|
109
|
+
},
|
|
110
|
+
luminance: {
|
|
111
|
+
light: .5,
|
|
112
|
+
dark: .08,
|
|
113
|
+
contrast: .26
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"border-default": {
|
|
117
|
+
number: 8,
|
|
118
|
+
name: "border-default",
|
|
119
|
+
group: "border",
|
|
120
|
+
displayName: "Border Default",
|
|
121
|
+
description: {
|
|
122
|
+
long: "Border Default er en border-farge som brukes når man ønsker god kontrast mot bakgrunnsfargene.",
|
|
123
|
+
short: "Standard border-farge til skjemakomponenter og meningsbærende elementer."
|
|
124
|
+
},
|
|
125
|
+
luminance: {
|
|
126
|
+
light: .19,
|
|
127
|
+
dark: .22,
|
|
128
|
+
contrast: .4
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
"border-strong": {
|
|
132
|
+
number: 9,
|
|
133
|
+
name: "border-strong",
|
|
134
|
+
group: "border",
|
|
135
|
+
displayName: "Border Strong",
|
|
136
|
+
description: {
|
|
137
|
+
long: "Border Strong er den mørkeste border-fargen og brukes når man ønsker en veldig tydelig og sterk border.",
|
|
138
|
+
short: "Border-farge med høy kontrast for ekstra synlighet."
|
|
139
|
+
},
|
|
140
|
+
luminance: {
|
|
141
|
+
light: .11,
|
|
142
|
+
dark: .39,
|
|
143
|
+
contrast: .6
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"text-subtle": {
|
|
147
|
+
number: 10,
|
|
148
|
+
name: "text-subtle",
|
|
149
|
+
group: "text",
|
|
150
|
+
displayName: "Text Subtle",
|
|
151
|
+
description: {
|
|
152
|
+
long: "Text Subtle er den lyseste tekstfargen og brukes på tekst som skal være litt mindre synlig eller for å skape variasjon i typografien.",
|
|
153
|
+
short: "Tekst- og ikonfarge med lavere kontrast."
|
|
154
|
+
},
|
|
155
|
+
luminance: {
|
|
156
|
+
light: .11,
|
|
157
|
+
dark: .39,
|
|
158
|
+
contrast: .57
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
"text-default": {
|
|
162
|
+
number: 11,
|
|
163
|
+
name: "text-default",
|
|
164
|
+
group: "text",
|
|
165
|
+
displayName: "Text Default",
|
|
166
|
+
description: {
|
|
167
|
+
long: "Text Default er den mørkeste tekstfargen og brukes på tekst som skal være mest synlig. Denne fargen bør brukes på mesteparten av teksten på en side.",
|
|
168
|
+
short: "Tekst- og ikonfarge med høy kontrast og god synlighet."
|
|
169
|
+
},
|
|
170
|
+
luminance: {
|
|
171
|
+
light: .0245,
|
|
172
|
+
dark: .84,
|
|
173
|
+
contrast: .86
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
"base-default": {
|
|
177
|
+
number: 12,
|
|
178
|
+
name: "base-default",
|
|
179
|
+
group: "base",
|
|
180
|
+
displayName: "Base Default",
|
|
181
|
+
description: {
|
|
182
|
+
long: "Base Default fargen får den samme hex koden som fargen som er valgt i verktøyet. Brukes ofte som farge på viktige elementer og på flater som skal fange brukerens oppmerksomhet.",
|
|
183
|
+
short: "Standardfarge for solide bakgrunner."
|
|
184
|
+
},
|
|
185
|
+
luminance: {
|
|
186
|
+
light: 1,
|
|
187
|
+
dark: 1,
|
|
188
|
+
contrast: 1
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"base-hover": {
|
|
192
|
+
number: 13,
|
|
193
|
+
name: "base-hover",
|
|
194
|
+
group: "base",
|
|
195
|
+
displayName: "Base Hover",
|
|
196
|
+
description: {
|
|
197
|
+
long: "Base Hover brukes som hover farge på elementer som bruker Base Default fargen.",
|
|
198
|
+
short: "Hover-farge for solide bakgrunner."
|
|
199
|
+
},
|
|
200
|
+
luminance: {
|
|
201
|
+
light: 1,
|
|
202
|
+
dark: 1,
|
|
203
|
+
contrast: 1
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
"base-active": {
|
|
207
|
+
number: 14,
|
|
208
|
+
name: "base-active",
|
|
209
|
+
group: "base",
|
|
210
|
+
displayName: "Base Active",
|
|
211
|
+
description: {
|
|
212
|
+
long: "Base Active brukes som active farge på elementer som bruker Base Default fargen.",
|
|
213
|
+
short: "Active-farge for solide bakgrunner."
|
|
214
|
+
},
|
|
215
|
+
luminance: {
|
|
216
|
+
light: 1,
|
|
217
|
+
dark: 1,
|
|
218
|
+
contrast: 1
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"base-contrast-subtle": {
|
|
222
|
+
number: 15,
|
|
223
|
+
name: "base-contrast-subtle",
|
|
224
|
+
group: "base",
|
|
225
|
+
displayName: "Contrast Subtle",
|
|
226
|
+
description: {
|
|
227
|
+
long: "Contrast Subtle brukes som en viktig meningsbærende farge oppå Base Default fargen.",
|
|
228
|
+
short: "Farge med god kontrast mot Base-default."
|
|
229
|
+
},
|
|
230
|
+
luminance: {
|
|
231
|
+
light: 1,
|
|
232
|
+
dark: 1,
|
|
233
|
+
contrast: 1
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
"base-contrast-default": {
|
|
237
|
+
number: 16,
|
|
238
|
+
name: "base-contrast-default",
|
|
239
|
+
group: "base",
|
|
240
|
+
displayName: "Contrast Default",
|
|
241
|
+
description: {
|
|
242
|
+
long: "Contrast Default brukes som en viktig meningsbærende farge oppå alle Base fargane.",
|
|
243
|
+
short: "Farge med god kontrast mot Base-default og Base-hover."
|
|
244
|
+
},
|
|
245
|
+
luminance: {
|
|
246
|
+
light: 1,
|
|
247
|
+
dark: 1,
|
|
248
|
+
contrast: 1
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
const colorMetadataByNumber = R.indexBy((metadata) => metadata.number, Object.values(colorMetadata));
|
|
253
|
+
const getColorMetadataByNumber = (number) => {
|
|
254
|
+
return colorMetadataByNumber[number];
|
|
255
|
+
};
|
|
256
|
+
const colorNames = Object.keys(colorMetadata);
|
|
257
|
+
const baseColorNames = Object.keys(baseColors);
|
|
258
|
+
//#endregion
|
|
259
|
+
export { baseColorNames, baseColors, colorMetadata, colorNames, dsLinkColor, getColorMetadataByNumber };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/colors/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { baseColorNames, baseColors, colorMetadata, colorNames, dsLinkColor, getColorMetadataByNumber } from "./colorMetadata.js";
|
|
2
|
+
import { HSLToHex, areColorsContrasting, canTextBeUsedOnColors, convertColor, convertToHex, getContrastFromHex, getContrastFromLightness, getLightnessFromHex, getLuminanceFromColor, getLuminanceFromLightness, hexToCssHsl, hexToHSL, hexToHsluv, hexToRgb, hslArrToCss, isHexColor, rgbToHex } from "./utils.js";
|
|
3
|
+
import { RESERVED_COLORS, generateColorContrast, generateColorScale, generateColorSchemes, getCssVariable } from "./theme.js";
|
|
4
|
+
import { semanticColorMap, semanticColorNames, semanticColorNumbers } from "./types.js";
|
|
5
|
+
export { HSLToHex, RESERVED_COLORS, areColorsContrasting, baseColorNames, baseColors, canTextBeUsedOnColors, colorMetadata, colorNames, convertColor, convertToHex, dsLinkColor, generateColorContrast, generateColorScale, generateColorSchemes, getColorMetadataByNumber, getContrastFromHex, getContrastFromLightness, getCssVariable, getLightnessFromHex, getLuminanceFromColor, getLuminanceFromLightness, hexToCssHsl, hexToHSL, hexToHsluv, hexToRgb, hslArrToCss, isHexColor, rgbToHex, semanticColorMap, semanticColorNames, semanticColorNumbers };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Color, ColorNumber, ColorScheme, CssColor, ThemeInfo } from './types.js';
|
|
2
|
+
export declare const RESERVED_COLORS: string[];
|
|
3
|
+
/**
|
|
4
|
+
* Generates a color scale based on a base color and a color mode.
|
|
5
|
+
*
|
|
6
|
+
* @param color The base color that is used to generate the color scale
|
|
7
|
+
* @param colorScheme The color scheme to generate a scale for
|
|
8
|
+
*/
|
|
9
|
+
export declare const generateColorScale: (color: CssColor, colorScheme: ColorScheme) => Color[];
|
|
10
|
+
/**
|
|
11
|
+
* Generates color schemes based on a base color. Light, Dark and Contrast scales are included.
|
|
12
|
+
*
|
|
13
|
+
* @param color The base color that is used to generate the color schemes
|
|
14
|
+
*/
|
|
15
|
+
export declare const generateColorSchemes: (color: CssColor) => ThemeInfo;
|
|
16
|
+
/**
|
|
17
|
+
* Generates contrast color for given color
|
|
18
|
+
*
|
|
19
|
+
* @param color color
|
|
20
|
+
* @param type 'default' | 'subtle'
|
|
21
|
+
*/
|
|
22
|
+
export declare const generateColorContrast: (color: CssColor, type: "default" | "subtle") => CssColor;
|
|
23
|
+
/**
|
|
24
|
+
* Returns the css variable for a color.
|
|
25
|
+
* TODO: deprecate this
|
|
26
|
+
* @param colorType The type of color
|
|
27
|
+
* @param colorNumber The number of the color
|
|
28
|
+
*/
|
|
29
|
+
export declare const getCssVariable: (colorType: string, colorNumber: ColorNumber) => string;
|
|
30
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/colors/theme.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvF,eAAO,MAAM,eAAe,UAAsD,CAAC;AAEnF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,QAAQ,EAAE,aAAa,WAAW,KAAG,KAAK,EAiCnF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,QAAQ,KAAG,SAIrD,CAAC;AAgCH;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,QAAQ,EAAE,MAAM,SAAS,GAAG,QAAQ,KAAG,QAgBnF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,EAAE,aAAa,WAAW,WAEzE,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { colorMetadata, getColorMetadataByNumber } from "./colorMetadata.js";
|
|
2
|
+
import { getLightnessFromHex, getLuminanceFromLightness } from "./utils.js";
|
|
3
|
+
import * as R from "ramda";
|
|
4
|
+
import chroma from "chroma-js";
|
|
5
|
+
//#region src/colors/theme.ts
|
|
6
|
+
const RESERVED_COLORS = [
|
|
7
|
+
"neutral",
|
|
8
|
+
"success",
|
|
9
|
+
"warning",
|
|
10
|
+
"danger",
|
|
11
|
+
"info"
|
|
12
|
+
];
|
|
13
|
+
/**
|
|
14
|
+
* Generates a color scale based on a base color and a color mode.
|
|
15
|
+
*
|
|
16
|
+
* @param color The base color that is used to generate the color scale
|
|
17
|
+
* @param colorScheme The color scheme to generate a scale for
|
|
18
|
+
*/
|
|
19
|
+
const generateColorScale = (color, colorScheme) => {
|
|
20
|
+
let interpolationColor = color;
|
|
21
|
+
if (colorScheme === "dark") {
|
|
22
|
+
const [L, C, H] = chroma(color).oklch();
|
|
23
|
+
interpolationColor = chroma(L, C * .7, H, "oklch").hex();
|
|
24
|
+
}
|
|
25
|
+
const colors = R.mapObjIndexed((colorData) => {
|
|
26
|
+
const luminance = colorData.luminance[colorScheme];
|
|
27
|
+
return {
|
|
28
|
+
...colorData,
|
|
29
|
+
hex: chroma(interpolationColor).luminance(luminance).hex()
|
|
30
|
+
};
|
|
31
|
+
}, colorMetadata);
|
|
32
|
+
const baseColors = generateBaseColors(color, colorScheme);
|
|
33
|
+
colors["base-default"] = {
|
|
34
|
+
...colors["base-default"],
|
|
35
|
+
hex: baseColors.default
|
|
36
|
+
};
|
|
37
|
+
colors["base-hover"] = {
|
|
38
|
+
...colors["base-hover"],
|
|
39
|
+
hex: baseColors.hover
|
|
40
|
+
};
|
|
41
|
+
colors["base-active"] = {
|
|
42
|
+
...colors["base-active"],
|
|
43
|
+
hex: baseColors.active
|
|
44
|
+
};
|
|
45
|
+
colors["base-contrast-subtle"] = {
|
|
46
|
+
...colors["base-contrast-subtle"],
|
|
47
|
+
hex: generateColorContrast(baseColors.default, "subtle")
|
|
48
|
+
};
|
|
49
|
+
colors["base-contrast-default"] = {
|
|
50
|
+
...colors["base-contrast-default"],
|
|
51
|
+
hex: generateColorContrast(baseColors.default, "default")
|
|
52
|
+
};
|
|
53
|
+
return Object.values(colors);
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Generates color schemes based on a base color. Light, Dark and Contrast scales are included.
|
|
57
|
+
*
|
|
58
|
+
* @param color The base color that is used to generate the color schemes
|
|
59
|
+
*/
|
|
60
|
+
const generateColorSchemes = (color) => ({
|
|
61
|
+
light: generateColorScale(color, "light"),
|
|
62
|
+
dark: generateColorScale(color, "dark"),
|
|
63
|
+
contrast: generateColorScale(color, "contrast")
|
|
64
|
+
});
|
|
65
|
+
/**
|
|
66
|
+
* Returns the base colors for a color and color scheme.
|
|
67
|
+
*
|
|
68
|
+
* @param color The base color
|
|
69
|
+
* @param colorScheme The color scheme to generate the base colors for
|
|
70
|
+
* @returns
|
|
71
|
+
*/
|
|
72
|
+
const generateBaseColors = (color, colorScheme) => {
|
|
73
|
+
let colorLightness = getLightnessFromHex(color);
|
|
74
|
+
if (colorScheme !== "light") colorLightness = colorLightness <= 30 ? 70 : 100 - colorLightness;
|
|
75
|
+
const modifier = colorLightness <= 30 || colorLightness >= 49 && colorLightness <= 65 ? -8 : 8;
|
|
76
|
+
const calculateLightness = (base, mod) => base - mod;
|
|
77
|
+
return {
|
|
78
|
+
default: colorScheme === "light" ? color : chroma(color).luminance(getLuminanceFromLightness(colorLightness)).hex(),
|
|
79
|
+
hover: chroma(color).luminance(getLuminanceFromLightness(calculateLightness(colorLightness, modifier))).hex(),
|
|
80
|
+
active: chroma(color).luminance(getLuminanceFromLightness(calculateLightness(colorLightness, modifier * 2))).hex()
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Generates contrast color for given color
|
|
85
|
+
*
|
|
86
|
+
* @param color color
|
|
87
|
+
* @param type 'default' | 'subtle'
|
|
88
|
+
*/
|
|
89
|
+
const generateColorContrast = (color, type) => {
|
|
90
|
+
if (type === "default") return chroma.contrast(color, "#ffffff") >= chroma.contrast(color, "#000000") ? "#ffffff" : "#000000";
|
|
91
|
+
if (type === "subtle") {
|
|
92
|
+
const contrastWhite = chroma.contrast(color, "#ffffff");
|
|
93
|
+
const contrastBlack = chroma.contrast(color, "#000000");
|
|
94
|
+
const lightness = getLightnessFromHex(color);
|
|
95
|
+
const modifier = lightness <= 40 || lightness >= 60 ? 60 : 50;
|
|
96
|
+
const targetLightness = contrastWhite >= contrastBlack ? lightness + modifier : lightness - modifier;
|
|
97
|
+
return chroma(color).luminance(getLuminanceFromLightness(targetLightness)).hex();
|
|
98
|
+
}
|
|
99
|
+
return color;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Returns the css variable for a color.
|
|
103
|
+
* TODO: deprecate this
|
|
104
|
+
* @param colorType The type of color
|
|
105
|
+
* @param colorNumber The number of the color
|
|
106
|
+
*/
|
|
107
|
+
const getCssVariable = (colorType, colorNumber) => {
|
|
108
|
+
return `--ds-color-${colorType}-${getColorMetadataByNumber(colorNumber).displayName.toLowerCase().replace(/\s/g, "-")}`;
|
|
109
|
+
};
|
|
110
|
+
//#endregion
|
|
111
|
+
export { RESERVED_COLORS, generateColorContrast, generateColorScale, generateColorSchemes, getCssVariable };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export type ColorScheme = 'light' | 'dark' | 'contrast';
|
|
2
|
+
export type ContrastMode = 'aa' | 'aaa';
|
|
3
|
+
export type ColorNumber = SemanticColorMap[keyof SemanticColorMap];
|
|
4
|
+
export type ColorNames = keyof SemanticColorMap;
|
|
5
|
+
export type GlobalColors = 'danger' | 'info' | 'success' | 'warning';
|
|
6
|
+
export type ColorError = 'none' | 'decorative' | 'interaction';
|
|
7
|
+
export declare const semanticColorMap: {
|
|
8
|
+
readonly 'background-default': 1;
|
|
9
|
+
readonly 'background-tinted': 2;
|
|
10
|
+
readonly 'surface-default': 3;
|
|
11
|
+
readonly 'surface-tinted': 4;
|
|
12
|
+
readonly 'surface-hover': 5;
|
|
13
|
+
readonly 'surface-active': 6;
|
|
14
|
+
readonly 'border-subtle': 7;
|
|
15
|
+
readonly 'border-default': 8;
|
|
16
|
+
readonly 'border-strong': 9;
|
|
17
|
+
readonly 'text-subtle': 10;
|
|
18
|
+
readonly 'text-default': 11;
|
|
19
|
+
readonly 'base-default': 12;
|
|
20
|
+
readonly 'base-hover': 13;
|
|
21
|
+
readonly 'base-active': 14;
|
|
22
|
+
readonly 'base-contrast-subtle': 15;
|
|
23
|
+
readonly 'base-contrast-default': 16;
|
|
24
|
+
};
|
|
25
|
+
export declare const semanticColorNames: ("background-default" | "background-tinted" | "surface-default" | "surface-tinted" | "surface-hover" | "surface-active" | "border-subtle" | "border-default" | "border-strong" | "text-subtle" | "text-default" | "base-default" | "base-hover" | "base-active" | "base-contrast-subtle" | "base-contrast-default")[];
|
|
26
|
+
export declare const semanticColorNumbers: (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16)[];
|
|
27
|
+
type SemanticColorMap = typeof semanticColorMap;
|
|
28
|
+
type SemanticColorMapping = {
|
|
29
|
+
[K in keyof SemanticColorMap]: {
|
|
30
|
+
name: K;
|
|
31
|
+
number: SemanticColorMap[K];
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export type ColorMetadataByName = {
|
|
35
|
+
[P in keyof SemanticColorMapping]: SemanticColorMapping[P] & ColorMetadata;
|
|
36
|
+
};
|
|
37
|
+
export type ColorMetadata = {
|
|
38
|
+
name: ColorNames;
|
|
39
|
+
number: ColorNumber;
|
|
40
|
+
displayName: string;
|
|
41
|
+
description: {
|
|
42
|
+
short: string;
|
|
43
|
+
long: string;
|
|
44
|
+
};
|
|
45
|
+
group: string;
|
|
46
|
+
luminance: {
|
|
47
|
+
light: number;
|
|
48
|
+
dark: number;
|
|
49
|
+
contrast: number;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
export type Color = ColorMetadata & {
|
|
53
|
+
hex: CssColor;
|
|
54
|
+
};
|
|
55
|
+
export type ThemeInfo = {
|
|
56
|
+
light: Color[];
|
|
57
|
+
dark: Color[];
|
|
58
|
+
contrast: Color[];
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Supported CSS colors in `designsystemet/color`
|
|
62
|
+
*/
|
|
63
|
+
export type CssColor = HexColor;
|
|
64
|
+
/**
|
|
65
|
+
* Different color formats.
|
|
66
|
+
*/
|
|
67
|
+
export type HexColor = `#${string}`;
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/colors/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AACxD,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,KAAK,CAAC;AACxC,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,CAAC;AACnE,MAAM,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC;AAChD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AACrE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,aAAa,CAAC;AAE/D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;CAiBnB,CAAC;AAEX,eAAO,MAAM,kBAAkB,uTAA2B,CAAC;AAC3D,eAAO,MAAM,oBAAoB,0EAA6B,CAAC;AAE/D,KAAK,gBAAgB,GAAG,OAAO,gBAAgB,CAAC;AAEhD,KAAK,oBAAoB,GAAG;KACzB,CAAC,IAAI,MAAM,gBAAgB,GAAG;QAC7B,IAAI,EAAE,CAAC,CAAC;QACR,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;KAC7B;CACF,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;KAC/B,CAAC,IAAI,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,aAAa;CAC3E,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,aAAa,GAAG;IAClC,GAAG,EAAE,QAAQ,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,QAAQ,EAAE,KAAK,EAAE,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAEhC;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as R from "ramda";
|
|
2
|
+
//#region src/colors/types.ts
|
|
3
|
+
const semanticColorMap = {
|
|
4
|
+
"background-default": 1,
|
|
5
|
+
"background-tinted": 2,
|
|
6
|
+
"surface-default": 3,
|
|
7
|
+
"surface-tinted": 4,
|
|
8
|
+
"surface-hover": 5,
|
|
9
|
+
"surface-active": 6,
|
|
10
|
+
"border-subtle": 7,
|
|
11
|
+
"border-default": 8,
|
|
12
|
+
"border-strong": 9,
|
|
13
|
+
"text-subtle": 10,
|
|
14
|
+
"text-default": 11,
|
|
15
|
+
"base-default": 12,
|
|
16
|
+
"base-hover": 13,
|
|
17
|
+
"base-active": 14,
|
|
18
|
+
"base-contrast-subtle": 15,
|
|
19
|
+
"base-contrast-default": 16
|
|
20
|
+
};
|
|
21
|
+
const semanticColorNames = R.keys(semanticColorMap);
|
|
22
|
+
const semanticColorNumbers = R.values(semanticColorMap);
|
|
23
|
+
//#endregion
|
|
24
|
+
export { semanticColorMap, semanticColorNames, semanticColorNumbers };
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import type { CssColor, HexColor } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a HEX color '#xxxxxx' into a CSS HSL string 'hsl(x,x,x)'
|
|
4
|
+
*
|
|
5
|
+
* @param hex A hex color string
|
|
6
|
+
* @param valuesOnly If true, only the values are returned
|
|
7
|
+
* @returns A CSS HSL string
|
|
8
|
+
*/
|
|
9
|
+
export declare const hexToCssHsl: (hex: HexColor, valuesOnly?: boolean) => string;
|
|
10
|
+
/**
|
|
11
|
+
* Converts a HEX string '#xxxxxx' into an array of HSL values '[h,s,l]'
|
|
12
|
+
*
|
|
13
|
+
* @param H A Hex color string
|
|
14
|
+
* @returns HSL values in an array
|
|
15
|
+
*/
|
|
16
|
+
export declare const hexToHSL: (hex: HexColor) => number[];
|
|
17
|
+
/**
|
|
18
|
+
* Converts a HEX color '#xxxxxx' into an array of HSLuv values '[h,s,l]'
|
|
19
|
+
*
|
|
20
|
+
* @param hex A hex color string
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
export declare const hexToHsluv: (hex: HexColor) => number[];
|
|
24
|
+
/**
|
|
25
|
+
* Converts a HSL number array '[h,s,l]' into HSL CSS string 'hsl(x,x,x)'
|
|
26
|
+
*
|
|
27
|
+
* @param HSL A HSL number array '[h,s,l]'
|
|
28
|
+
* @returns A hex color string
|
|
29
|
+
*/
|
|
30
|
+
export declare const hslArrToCss: (HSL: number[]) => string;
|
|
31
|
+
/**
|
|
32
|
+
* Converts a HSL CSS string 'hsl(x,x,x)' into an array of HSL values '[h,s,l]'
|
|
33
|
+
*
|
|
34
|
+
* @param h The HSL hue
|
|
35
|
+
* @param s The HSL saturation
|
|
36
|
+
* @param l The HSL lightness
|
|
37
|
+
* @returns HEX color string
|
|
38
|
+
*/
|
|
39
|
+
export declare const HSLToHex: (h: number, s: number, l: number) => HexColor;
|
|
40
|
+
/**
|
|
41
|
+
* Converts a HEX color '#xxxxxx' into an array of RGB values '[R, G, B]'
|
|
42
|
+
*
|
|
43
|
+
* @param hex A hex color string
|
|
44
|
+
* @param type The type of RGB values to return
|
|
45
|
+
* @returns RGB values in an array
|
|
46
|
+
*/
|
|
47
|
+
export declare const hexToRgb: (hex: string, type?: "255" | "1") => {
|
|
48
|
+
r: number;
|
|
49
|
+
g: number;
|
|
50
|
+
b: number;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Get the contrast ratio between two HEX colors
|
|
54
|
+
*
|
|
55
|
+
* @param color1 The first color to compare
|
|
56
|
+
* @param color2 The second color to compare
|
|
57
|
+
* @returns
|
|
58
|
+
*/
|
|
59
|
+
export declare const getContrastFromHex: (color1: HexColor, color2: HexColor) => number;
|
|
60
|
+
/**
|
|
61
|
+
* Get the contrast ratio between two colors at a specific lightness
|
|
62
|
+
*
|
|
63
|
+
* @param lightness The lightness value
|
|
64
|
+
* @param mainColor The main color
|
|
65
|
+
* @param backgroundColor The background color
|
|
66
|
+
* @returns The contrast ratio
|
|
67
|
+
*/
|
|
68
|
+
export declare const getContrastFromLightness: (lightness: number, mainColor: CssColor, backgroundColor: CssColor) => number;
|
|
69
|
+
/**
|
|
70
|
+
* Check if two colors have enough contrast to be used together
|
|
71
|
+
*
|
|
72
|
+
* @param color1 The first color
|
|
73
|
+
* @param color2 The second color
|
|
74
|
+
* @returns If the colors have enough contrast
|
|
75
|
+
*/
|
|
76
|
+
export declare const areColorsContrasting: (color1: CssColor, color2: CssColor, type?: "decorative" | "aa" | "aaa") => boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Check if aa string value is a HEX color
|
|
79
|
+
*
|
|
80
|
+
* @param hex The hex color
|
|
81
|
+
*/
|
|
82
|
+
export declare const isHexColor: (hex: string) => boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Get the luminance value from a lightness value
|
|
85
|
+
*
|
|
86
|
+
* @param lightness The lightness value
|
|
87
|
+
*/
|
|
88
|
+
export declare const getLuminanceFromLightness: (lightness: number) => number;
|
|
89
|
+
/**
|
|
90
|
+
* Get the relative luminance from any valid css color
|
|
91
|
+
*
|
|
92
|
+
* @param color
|
|
93
|
+
*/
|
|
94
|
+
export declare const getLuminanceFromColor: (color: string) => number;
|
|
95
|
+
/**
|
|
96
|
+
* Get the HSLuv lightness from a HEX color
|
|
97
|
+
*
|
|
98
|
+
* @param hex The hex color
|
|
99
|
+
*/
|
|
100
|
+
export declare const getLightnessFromHex: (hex: HexColor) => number;
|
|
101
|
+
/**
|
|
102
|
+
*
|
|
103
|
+
* This function checks if white or black text can be used on 2 different colors at 4.5:1 contrast.
|
|
104
|
+
*
|
|
105
|
+
* @param baseDefaultColor Base default color
|
|
106
|
+
* @param baseActiveColor Base active color
|
|
107
|
+
*/
|
|
108
|
+
export declare const canTextBeUsedOnColors: (baseDefaultColor: CssColor, baseActiveColor: CssColor) => boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Converts a color to a HEX color
|
|
111
|
+
*
|
|
112
|
+
* @param color
|
|
113
|
+
* @returns
|
|
114
|
+
*/
|
|
115
|
+
export declare const convertToHex: (color?: string) => HexColor;
|
|
116
|
+
export declare const rgbToHex: (rgb: {
|
|
117
|
+
r: number;
|
|
118
|
+
g: number;
|
|
119
|
+
b: number;
|
|
120
|
+
}) => HexColor;
|
|
121
|
+
/**
|
|
122
|
+
* Convert a color to a different format
|
|
123
|
+
*
|
|
124
|
+
* @param cssColor Any valid css color
|
|
125
|
+
* @param format Color space/format supported here https://colorjs.io/docs/spaces
|
|
126
|
+
*/
|
|
127
|
+
export declare const convertColor: (cssColor: string, format: string) => string;
|
|
128
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/colors/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,QAAQ,EAAE,oBAAkB,WAO5D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,QAAQ,aAGrC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,QAAQ,aAKvC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,EAAE,WAExC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,QAE1D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,EAAE,OAAM,KAAK,GAAG,GAAW;;;;CAO9D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,QAAQ,EAAE,QAAQ,QAAQ,WAIpE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GAAI,WAAW,MAAM,EAAE,WAAW,QAAQ,EAAE,iBAAiB,QAAQ,WAYzG,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,QAAQ,EAAE,QAAQ,QAAQ,EAAE,OAAM,YAAY,GAAG,IAAI,GAAG,KAAY,YAYhH,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,YAErC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,WAAW,MAAM,WAM1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,WAElD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,KAAK,QAAQ,WAMhD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAAI,kBAAkB,QAAQ,EAAE,iBAAiB,QAAQ,YAe1F,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,QAQ7C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,KAAK;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,QAOnE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,MAAM,EAAE,QAAQ,MAAM,WA0B5D,CAAC"}
|