@digdir/designsystemet 1.0.3 → 1.0.4

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 (186) hide show
  1. package/dist/bin/designsystemet.js +4264 -45
  2. package/dist/bin/options.js +5 -4
  3. package/dist/src/colors/colorMetadata.js +5 -4
  4. package/dist/src/colors/index.js +470 -4
  5. package/dist/src/colors/theme.js +286 -20
  6. package/dist/src/colors/utils.js +16 -15
  7. package/dist/{bin → src}/config.d.ts +46 -1
  8. package/dist/src/config.d.ts.map +1 -0
  9. package/dist/src/config.js +377 -0
  10. package/dist/src/index.js +3666 -2
  11. package/dist/src/migrations/beta-to-v1.js +85 -4
  12. package/dist/src/migrations/codemods/css/plugins.js +5 -4
  13. package/dist/src/migrations/codemods/css/run.d.ts.map +1 -1
  14. package/dist/src/migrations/codemods/css/run.js +18 -4
  15. package/dist/src/migrations/color-rename-next49.js +77 -6
  16. package/dist/src/migrations/index.d.ts +0 -1
  17. package/dist/src/migrations/index.d.ts.map +1 -1
  18. package/dist/src/migrations/index.js +461 -6
  19. package/dist/src/scripts/createJsonSchema.js +1608 -4
  20. package/dist/src/scripts/update-design-tokens.d.ts +2 -0
  21. package/dist/src/scripts/update-design-tokens.d.ts.map +1 -0
  22. package/dist/src/scripts/update-design-tokens.js +36 -0
  23. package/dist/src/{tokens/template.d.ts → scripts/update-template.d.ts} +1 -1
  24. package/dist/src/scripts/update-template.d.ts.map +1 -0
  25. package/dist/src/scripts/update-template.js +1200 -0
  26. package/dist/src/tokens/build.d.ts +2 -19
  27. package/dist/src/tokens/build.d.ts.map +1 -1
  28. package/dist/src/tokens/build.js +1511 -70
  29. package/dist/src/tokens/create/defaults.d.ts +7 -0
  30. package/dist/src/tokens/create/defaults.d.ts.map +1 -0
  31. package/dist/src/tokens/create/defaults.js +994 -0
  32. package/dist/src/tokens/create/generators/$designsystemet.d.ts +5 -0
  33. package/dist/src/tokens/create/generators/$designsystemet.d.ts.map +1 -0
  34. package/dist/src/tokens/create/generators/$designsystemet.js +100 -0
  35. package/dist/src/tokens/create/generators/$metadata.d.ts +8 -0
  36. package/dist/src/tokens/create/generators/$metadata.d.ts.map +1 -0
  37. package/dist/src/tokens/{write/generate$metadata.js → create/generators/$metadata.js} +3 -2
  38. package/dist/src/tokens/create/generators/$themes.d.ts +12 -0
  39. package/dist/src/tokens/create/generators/$themes.d.ts.map +1 -0
  40. package/dist/src/tokens/create/generators/$themes.js +333 -0
  41. package/dist/src/tokens/create/generators/color.d.ts +5 -0
  42. package/dist/src/tokens/create/generators/color.d.ts.map +1 -0
  43. package/dist/src/tokens/create/generators/color.js +374 -0
  44. package/dist/src/tokens/create/generators/semantic.d.ts +296 -0
  45. package/dist/src/tokens/create/generators/semantic.d.ts.map +1 -0
  46. package/dist/src/tokens/create/generators/semantic.js +483 -0
  47. package/dist/src/tokens/create/generators/theme.d.ts +3 -0
  48. package/dist/src/tokens/create/generators/theme.d.ts.map +1 -0
  49. package/dist/src/tokens/create/generators/theme.js +168 -0
  50. package/dist/src/tokens/create/generators/typography.d.ts +3 -0
  51. package/dist/src/tokens/create/generators/typography.d.ts.map +1 -0
  52. package/dist/src/tokens/create/generators/typography.js +33 -0
  53. package/dist/src/tokens/{write.d.ts → create/write.d.ts} +2 -2
  54. package/dist/src/tokens/create/write.d.ts.map +1 -0
  55. package/dist/src/tokens/create/write.js +546 -0
  56. package/dist/src/tokens/create.d.ts +4 -2
  57. package/dist/src/tokens/create.d.ts.map +1 -1
  58. package/dist/src/tokens/create.js +2049 -59
  59. package/dist/src/tokens/format.d.ts +16 -0
  60. package/dist/src/tokens/format.d.ts.map +1 -0
  61. package/dist/src/tokens/format.js +3514 -0
  62. package/dist/src/tokens/index.d.ts +1 -0
  63. package/dist/src/tokens/index.d.ts.map +1 -1
  64. package/dist/src/tokens/index.js +3526 -2
  65. package/dist/src/tokens/process/configs/color.d.ts +12 -0
  66. package/dist/src/tokens/process/configs/color.d.ts.map +1 -0
  67. package/dist/src/tokens/process/configs/color.js +823 -0
  68. package/dist/src/tokens/process/configs/semantic.d.ts +3 -0
  69. package/dist/src/tokens/process/configs/semantic.d.ts.map +1 -0
  70. package/dist/src/tokens/process/configs/semantic.js +367 -0
  71. package/dist/src/tokens/process/configs/shared.d.ts +10 -0
  72. package/dist/src/tokens/process/configs/shared.d.ts.map +1 -0
  73. package/dist/src/tokens/process/configs/shared.js +99 -0
  74. package/dist/src/tokens/process/configs/storefront.d.ts +3 -0
  75. package/dist/src/tokens/process/configs/storefront.d.ts.map +1 -0
  76. package/dist/src/tokens/process/configs/storefront.js +220 -0
  77. package/dist/src/tokens/process/configs/typography.d.ts +3 -0
  78. package/dist/src/tokens/process/configs/typography.d.ts.map +1 -0
  79. package/dist/src/tokens/process/configs/typography.js +369 -0
  80. package/dist/src/tokens/{build → process}/configs.d.ts +3 -11
  81. package/dist/src/tokens/process/configs.d.ts.map +1 -0
  82. package/dist/src/tokens/process/configs.js +976 -0
  83. package/dist/src/tokens/process/formats/css/color.d.ts +4 -0
  84. package/dist/src/tokens/process/formats/css/color.d.ts.map +1 -0
  85. package/dist/src/tokens/process/formats/css/color.js +128 -0
  86. package/dist/src/tokens/process/formats/css/semantic.d.ts +17 -0
  87. package/dist/src/tokens/process/formats/css/semantic.d.ts.map +1 -0
  88. package/dist/src/tokens/process/formats/css/semantic.js +109 -0
  89. package/dist/src/tokens/process/formats/css/typography.d.ts +3 -0
  90. package/dist/src/tokens/process/formats/css/typography.d.ts.map +1 -0
  91. package/dist/src/tokens/process/formats/css/typography.js +32 -0
  92. package/dist/src/tokens/process/formats/css.d.ts +8 -0
  93. package/dist/src/tokens/process/formats/css.d.ts.map +1 -0
  94. package/dist/src/tokens/{build → process}/formats/css.js +94 -57
  95. package/dist/src/tokens/process/formats/js-tokens.d.ts.map +1 -0
  96. package/dist/src/tokens/process/formats/js-tokens.js +109 -0
  97. package/dist/src/tokens/process/platform.d.ts +87 -0
  98. package/dist/src/tokens/process/platform.d.ts.map +1 -0
  99. package/dist/src/tokens/process/platform.js +1090 -0
  100. package/dist/src/tokens/process/transformers.d.ts.map +1 -0
  101. package/dist/src/tokens/{build → process}/transformers.js +29 -6
  102. package/dist/src/tokens/{build → process}/utils/getMultidimensionalThemes.d.ts +3 -3
  103. package/dist/src/tokens/process/utils/getMultidimensionalThemes.d.ts.map +1 -0
  104. package/dist/src/tokens/process/utils/getMultidimensionalThemes.js +922 -0
  105. package/dist/src/tokens/template/design-tokens/primitives/globals.js +5 -0
  106. package/dist/src/tokens/template/design-tokens/primitives/modes/size/global.js +5 -0
  107. package/dist/src/tokens/template/design-tokens/primitives/modes/size/large.js +5 -0
  108. package/dist/src/tokens/template/design-tokens/primitives/modes/size/medium.js +5 -0
  109. package/dist/src/tokens/template/design-tokens/primitives/modes/size/small.js +5 -0
  110. package/dist/src/tokens/template/design-tokens/primitives/modes/typography/size/large.js +5 -0
  111. package/dist/src/tokens/template/design-tokens/primitives/modes/typography/size/medium.js +5 -0
  112. package/dist/src/tokens/template/design-tokens/primitives/modes/typography/size/small.js +5 -0
  113. package/dist/src/tokens/template/design-tokens/primitives/modes/typography/typography.template.js +5 -0
  114. package/dist/src/tokens/template/design-tokens/semantic/color.base.template.js +5 -0
  115. package/dist/src/tokens/template/design-tokens/semantic/color.template.js +5 -0
  116. package/dist/src/tokens/template/design-tokens/semantic/modes/color.template.js +5 -0
  117. package/dist/src/tokens/template/design-tokens/semantic/style.js +5 -0
  118. package/dist/src/tokens/template/design-tokens/themes/theme.base.template.js +5 -0
  119. package/dist/src/tokens/template/design-tokens/themes/theme.template.js +5 -0
  120. package/dist/src/tokens/types.d.ts +54 -38
  121. package/dist/src/tokens/types.d.ts.map +1 -1
  122. package/dist/src/tokens/types.js +8 -0
  123. package/dist/src/tokens/utils.d.ts +30 -5
  124. package/dist/src/tokens/utils.d.ts.map +1 -1
  125. package/dist/src/tokens/utils.js +36 -50
  126. package/dist/src/utils.d.ts +18 -0
  127. package/dist/src/utils.d.ts.map +1 -0
  128. package/dist/src/utils.js +63 -0
  129. package/dist/typography.template-4N5YLH7F.json +22 -0
  130. package/package.json +17 -16
  131. package/dist/bin/config.d.ts.map +0 -1
  132. package/dist/bin/config.js +0 -71
  133. package/dist/src/migrations/codemods/jsx/classname-prefix.d.ts +0 -10
  134. package/dist/src/migrations/codemods/jsx/classname-prefix.d.ts.map +0 -1
  135. package/dist/src/migrations/codemods/jsx/classname-prefix.js +0 -64
  136. package/dist/src/migrations/codemods/jsx/run.d.ts +0 -7
  137. package/dist/src/migrations/codemods/jsx/run.d.ts.map +0 -1
  138. package/dist/src/migrations/codemods/jsx/run.js +0 -22
  139. package/dist/src/migrations/react-beta-to-v1.d.ts +0 -3
  140. package/dist/src/migrations/react-beta-to-v1.d.ts.map +0 -1
  141. package/dist/src/migrations/react-beta-to-v1.js +0 -5
  142. package/dist/src/scripts/copy-internal-tokens.d.ts +0 -2
  143. package/dist/src/scripts/copy-internal-tokens.d.ts.map +0 -1
  144. package/dist/src/scripts/copy-internal-tokens.js +0 -28
  145. package/dist/src/tokens/build/configs.d.ts.map +0 -1
  146. package/dist/src/tokens/build/configs.js +0 -280
  147. package/dist/src/tokens/build/formats/css.d.ts +0 -53
  148. package/dist/src/tokens/build/formats/css.d.ts.map +0 -1
  149. package/dist/src/tokens/build/formats/js-tokens.d.ts.map +0 -1
  150. package/dist/src/tokens/build/formats/js-tokens.js +0 -48
  151. package/dist/src/tokens/build/transformers.d.ts.map +0 -1
  152. package/dist/src/tokens/build/types.d.ts +0 -48
  153. package/dist/src/tokens/build/types.d.ts.map +0 -1
  154. package/dist/src/tokens/build/types.js +0 -7
  155. package/dist/src/tokens/build/utils/entryfile.d.ts +0 -12
  156. package/dist/src/tokens/build/utils/entryfile.d.ts.map +0 -1
  157. package/dist/src/tokens/build/utils/entryfile.js +0 -67
  158. package/dist/src/tokens/build/utils/getMultidimensionalThemes.d.ts.map +0 -1
  159. package/dist/src/tokens/build/utils/getMultidimensionalThemes.js +0 -112
  160. package/dist/src/tokens/design-tokens/template/$metadata.json +0 -25
  161. package/dist/src/tokens/design-tokens/template/$themes.json +0 -1498
  162. package/dist/src/tokens/template.d.ts.map +0 -1
  163. package/dist/src/tokens/template.js +0 -99
  164. package/dist/src/tokens/write/generate$metadata.d.ts +0 -9
  165. package/dist/src/tokens/write/generate$metadata.d.ts.map +0 -1
  166. package/dist/src/tokens/write/generate$themes.d.ts +0 -12
  167. package/dist/src/tokens/write/generate$themes.d.ts.map +0 -1
  168. package/dist/src/tokens/write/generate$themes.js +0 -161
  169. package/dist/src/tokens/write.d.ts.map +0 -1
  170. package/dist/src/tokens/write.js +0 -177
  171. /package/dist/{src/tokens/design-tokens/template/semantic/color-base-file.json → color.base.template-M7BHS4OV.json} +0 -0
  172. /package/dist/{src/tokens/design-tokens/template/semantic/modes/category-color/category-color-template.json → color.template-LMPUQ72A.json} +0 -0
  173. /package/dist/{src/tokens/design-tokens/template/semantic/semantic-color-template.json → color.template-XQNSHLTU.json} +0 -0
  174. /package/dist/{src/tokens/design-tokens/default/primitives/modes/size/global.json → global-XVXVBKM6.json} +0 -0
  175. /package/dist/{src/tokens/design-tokens/default/primitives/globals.json → globals-76VAFMDF.json} +0 -0
  176. /package/dist/{src/tokens/design-tokens/default/primitives/modes/typography/size/large.json → large-CIIHO7AY.json} +0 -0
  177. /package/dist/{src/tokens/design-tokens/default/primitives/modes/size/large.json → large-UUOZ6DYI.json} +0 -0
  178. /package/dist/{src/tokens/design-tokens/default/primitives/modes/size/medium.json → medium-OQ7S7P4P.json} +0 -0
  179. /package/dist/{src/tokens/design-tokens/default/primitives/modes/typography/size/medium.json → medium-VSB2S4X3.json} +0 -0
  180. /package/dist/{src/tokens/design-tokens/default/primitives/modes/typography/size/small.json → small-AEXJ6U7Z.json} +0 -0
  181. /package/dist/{src/tokens/design-tokens/default/primitives/modes/size/small.json → small-ZY4KOJWX.json} +0 -0
  182. /package/dist/src/tokens/{build → process}/formats/js-tokens.d.ts +0 -0
  183. /package/dist/src/tokens/{build → process}/transformers.d.ts +0 -0
  184. /package/dist/{src/tokens/design-tokens/default/semantic/style.json → style-FP5XVCUD.json} +0 -0
  185. /package/dist/{src/tokens/design-tokens/template/themes/theme-base-file.json → theme.base.template-Y4RMFBQY.json} +0 -0
  186. /package/dist/{src/tokens/design-tokens/template/themes/theme-color-template.json → theme.template-CTQRNOMO.json} +0 -0
@@ -1,8 +1,274 @@
1
- import chroma from "chroma-js";
1
+ // src/colors/theme.ts
2
+ import chroma2 from "chroma-js";
3
+ import * as R2 from "ramda";
4
+
5
+ // src/colors/colorMetadata.ts
2
6
  import * as R from "ramda";
3
- import { colorMetadata, getColorMetadataByNumber } from "./colorMetadata.js";
4
- import { getLightnessFromHex, getLuminanceFromLightness } from "./utils.js";
5
- const RESERVED_COLORS = [
7
+ var colorMetadata = {
8
+ "background-default": {
9
+ number: 1,
10
+ name: "background-default",
11
+ group: "background",
12
+ displayName: "Background Default",
13
+ description: {
14
+ long: "Background Default er den mest n\xF8ytrale bakgrunnsfargen.",
15
+ short: "Standard bakgrunnsfarge."
16
+ },
17
+ luminance: {
18
+ light: 1,
19
+ dark: 9e-3,
20
+ contrast: 1e-3
21
+ }
22
+ },
23
+ "background-tinted": {
24
+ number: 2,
25
+ name: "background-tinted",
26
+ group: "background",
27
+ displayName: "Background Tinted",
28
+ description: {
29
+ long: "Background Tinted er en bakgrunnsfarge som har et hint av farge i seg.",
30
+ short: "Bakgrunn med et hint av farge i seg."
31
+ },
32
+ luminance: {
33
+ light: 0.9,
34
+ dark: 0.014,
35
+ contrast: 65e-4
36
+ }
37
+ },
38
+ "surface-default": {
39
+ number: 3,
40
+ name: "surface-default",
41
+ group: "surface",
42
+ displayName: "Surface Default",
43
+ description: {
44
+ long: "Surface Default brukes p\xE5 flater som ligger opp\xE5 bakgrunnsfargene. Dette er den mest n\xF8ytrale surface fargen.",
45
+ short: "Standardfarge for overflater / komponenter."
46
+ },
47
+ luminance: {
48
+ light: 1,
49
+ dark: 0.021,
50
+ contrast: 0.015
51
+ }
52
+ },
53
+ "surface-tinted": {
54
+ number: 4,
55
+ name: "surface-tinted",
56
+ group: "surface",
57
+ displayName: "Surface Tinted",
58
+ description: {
59
+ long: "Surface Tinted brukes p\xE5 flater som ligger opp\xE5 bakgrunnsfargene. Denne har et hint av farge i seg.",
60
+ short: "Overflater / komponenter med et hint av farge i seg."
61
+ },
62
+ luminance: {
63
+ light: 0.81,
64
+ dark: 0.027,
65
+ contrast: 0.015
66
+ }
67
+ },
68
+ "surface-hover": {
69
+ number: 5,
70
+ name: "surface-hover",
71
+ group: "surface",
72
+ displayName: "Surface Hover",
73
+ description: {
74
+ long: "Surface Hover brukes p\xE5 interaktive flater som ligger opp\xE5 bakgrunnsfargene i en hover state.",
75
+ short: "Hover-farge til overflater / komponenter."
76
+ },
77
+ luminance: {
78
+ light: 0.7,
79
+ dark: 0.036,
80
+ contrast: 0.028
81
+ }
82
+ },
83
+ "surface-active": {
84
+ number: 6,
85
+ name: "surface-active",
86
+ group: "surface",
87
+ displayName: "Surface Active",
88
+ description: {
89
+ long: "Surface Active brukes p\xE5 interaktive flater som ligger opp\xE5 bakgrunnsfargene i en active state.",
90
+ short: "Active-farge til overflater / komponenter."
91
+ },
92
+ luminance: {
93
+ light: 0.59,
94
+ dark: 0.056,
95
+ contrast: 0.045
96
+ }
97
+ },
98
+ "border-subtle": {
99
+ number: 7,
100
+ name: "border-subtle",
101
+ group: "border",
102
+ displayName: "Border Subtle",
103
+ description: {
104
+ long: "Border Subtle er den lyseste border-fargen og brukes for \xE5 skille elementer fra hverandre.",
105
+ short: "Border-farge med lav kontrast til dekorativ bruk (skillelinjer)."
106
+ },
107
+ luminance: {
108
+ light: 0.5,
109
+ dark: 0.08,
110
+ contrast: 0.26
111
+ }
112
+ },
113
+ "border-default": {
114
+ number: 8,
115
+ name: "border-default",
116
+ group: "border",
117
+ displayName: "Border Default",
118
+ description: {
119
+ long: "Border Default er en border-farge som brukes n\xE5r man \xF8nsker god kontrast mot bakgrunnsfargene.",
120
+ short: "Standard border-farge til skjemakomponenter og meningsb\xE6rende elementer."
121
+ },
122
+ luminance: {
123
+ light: 0.19,
124
+ dark: 0.22,
125
+ contrast: 0.4
126
+ }
127
+ },
128
+ "border-strong": {
129
+ number: 9,
130
+ name: "border-strong",
131
+ group: "border",
132
+ displayName: "Border Strong",
133
+ description: {
134
+ long: "Border Strong er den m\xF8rkeste border-fargen og brukes n\xE5r man \xF8nsker en veldig tydelig og sterk border.",
135
+ short: "Border-farge med h\xF8y kontrast for ekstra synlighet."
136
+ },
137
+ luminance: {
138
+ light: 0.11,
139
+ dark: 0.39,
140
+ contrast: 0.6
141
+ }
142
+ },
143
+ "text-subtle": {
144
+ number: 10,
145
+ name: "text-subtle",
146
+ group: "text",
147
+ displayName: "Text Subtle",
148
+ description: {
149
+ long: "Text Subtle er den lyseste tekstfargen og brukes p\xE5 tekst som skal v\xE6re litt mindre synlig eller for \xE5 skape variasjon i typografien.",
150
+ short: "Tekst- og ikonfarge med lavere kontrast."
151
+ },
152
+ luminance: {
153
+ light: 0.11,
154
+ dark: 0.39,
155
+ contrast: 0.57
156
+ }
157
+ },
158
+ "text-default": {
159
+ number: 11,
160
+ name: "text-default",
161
+ group: "text",
162
+ displayName: "Text Default",
163
+ description: {
164
+ long: "Text Default er den m\xF8rkeste tekstfargen og brukes p\xE5 tekst som skal v\xE6re mest synlig. Denne fargen b\xF8r brukes p\xE5 mesteparten av teksten p\xE5 en side.",
165
+ short: "Tekst- og ikonfarge med h\xF8y kontrast og god synlighet."
166
+ },
167
+ luminance: {
168
+ light: 0.0245,
169
+ dark: 0.84,
170
+ contrast: 0.86
171
+ }
172
+ },
173
+ "base-default": {
174
+ number: 12,
175
+ name: "base-default",
176
+ group: "base",
177
+ displayName: "Base Default",
178
+ description: {
179
+ long: "Base Default fargen f\xE5r den samme hex koden som fargen som er valgt i verkt\xF8yet. Brukes ofte som farge p\xE5 viktige elementer og p\xE5 flater som skal fange brukerens oppmerksomhet.",
180
+ short: "Standardfarge for solide bakgrunner."
181
+ },
182
+ luminance: {
183
+ light: 1,
184
+ dark: 1,
185
+ contrast: 1
186
+ }
187
+ },
188
+ "base-hover": {
189
+ number: 13,
190
+ name: "base-hover",
191
+ group: "base",
192
+ displayName: "Base Hover",
193
+ description: {
194
+ long: "Base Hover brukes som hover farge p\xE5 elementer som bruker Base Default fargen.",
195
+ short: "Hover-farge for solide bakgrunner."
196
+ },
197
+ luminance: {
198
+ light: 1,
199
+ dark: 1,
200
+ contrast: 1
201
+ }
202
+ },
203
+ "base-active": {
204
+ number: 14,
205
+ name: "base-active",
206
+ group: "base",
207
+ displayName: "Base Active",
208
+ description: {
209
+ long: "Base Active brukes som active farge p\xE5 elementer som bruker Base Default fargen.",
210
+ short: "Active-farge for solide bakgrunner."
211
+ },
212
+ luminance: {
213
+ light: 1,
214
+ dark: 1,
215
+ contrast: 1
216
+ }
217
+ },
218
+ "base-contrast-subtle": {
219
+ number: 15,
220
+ name: "base-contrast-subtle",
221
+ group: "base",
222
+ displayName: "Contrast Subtle",
223
+ description: {
224
+ long: "Contrast Subtle brukes som en viktig meningsb\xE6rende farge opp\xE5 Base Default fargen.",
225
+ short: "Farge med god kontrast mot Base-default."
226
+ },
227
+ luminance: {
228
+ light: 1,
229
+ dark: 1,
230
+ contrast: 1
231
+ }
232
+ },
233
+ "base-contrast-default": {
234
+ number: 16,
235
+ name: "base-contrast-default",
236
+ group: "base",
237
+ displayName: "Contrast Default",
238
+ description: {
239
+ long: "Contrast Default brukes som en viktig meningsb\xE6rende farge opp\xE5 alle Base fargane.",
240
+ short: "Farge med god kontrast mot Base-default og Base-hover."
241
+ },
242
+ luminance: {
243
+ light: 1,
244
+ dark: 1,
245
+ contrast: 1
246
+ }
247
+ }
248
+ };
249
+ var colorMetadataByNumber = R.indexBy((metadata) => metadata.number, Object.values(colorMetadata));
250
+ var getColorMetadataByNumber = (number) => {
251
+ return colorMetadataByNumber[number];
252
+ };
253
+
254
+ // src/colors/utils.ts
255
+ import chroma from "chroma-js";
256
+ import { Hsluv } from "hsluv";
257
+ var getLuminanceFromLightness = (lightness) => {
258
+ const conv = new Hsluv();
259
+ conv.hsluv_l = lightness;
260
+ conv.hsluvToHex();
261
+ return chroma(conv.hex).luminance();
262
+ };
263
+ var getLightnessFromHex = (hex) => {
264
+ const conv = new Hsluv();
265
+ conv.hex = hex;
266
+ conv.hexToHsluv();
267
+ return conv.hsluv_l;
268
+ };
269
+
270
+ // src/colors/theme.ts
271
+ var RESERVED_COLORS = [
6
272
  "neutral",
7
273
  "success",
8
274
  "warning",
@@ -14,18 +280,18 @@ const RESERVED_COLORS = [
14
280
  "purple",
15
281
  "red"
16
282
  ];
17
- const generateColorScale = (color, colorScheme) => {
283
+ var generateColorScale = (color, colorScheme) => {
18
284
  let interpolationColor = color;
19
285
  if (colorScheme === "dark") {
20
- const [L, C, H] = chroma(color).oklch();
286
+ const [L, C, H] = chroma2(color).oklch();
21
287
  const chromaModifier = 0.7;
22
- interpolationColor = chroma(L, C * chromaModifier, H, "oklch").hex();
288
+ interpolationColor = chroma2(L, C * chromaModifier, H, "oklch").hex();
23
289
  }
24
- const colors = R.mapObjIndexed((colorData) => {
290
+ const colors = R2.mapObjIndexed((colorData) => {
25
291
  const luminance = colorData.luminance[colorScheme];
26
292
  return {
27
293
  ...colorData,
28
- hex: chroma(interpolationColor).luminance(luminance).hex()
294
+ hex: chroma2(interpolationColor).luminance(luminance).hex()
29
295
  };
30
296
  }, colorMetadata);
31
297
  const baseColors = generateBaseColors(color, colorScheme);
@@ -42,12 +308,12 @@ const generateColorScale = (color, colorScheme) => {
42
308
  };
43
309
  return Object.values(colors);
44
310
  };
45
- const generateColorSchemes = (color) => ({
311
+ var generateColorSchemes = (color) => ({
46
312
  light: generateColorScale(color, "light"),
47
313
  dark: generateColorScale(color, "dark"),
48
314
  contrast: generateColorScale(color, "contrast")
49
315
  });
50
- const generateBaseColors = (color, colorScheme) => {
316
+ var generateBaseColors = (color, colorScheme) => {
51
317
  let colorLightness = getLightnessFromHex(color);
52
318
  if (colorScheme !== "light") {
53
319
  colorLightness = colorLightness <= 30 ? 70 : 100 - colorLightness;
@@ -55,26 +321,26 @@ const generateBaseColors = (color, colorScheme) => {
55
321
  const modifier = colorLightness <= 30 || colorLightness >= 49 && colorLightness <= 65 ? -8 : 8;
56
322
  const calculateLightness = (base, mod) => base - mod;
57
323
  return {
58
- default: colorScheme === "light" ? color : chroma(color).luminance(getLuminanceFromLightness(colorLightness)).hex(),
59
- hover: chroma(color).luminance(getLuminanceFromLightness(calculateLightness(colorLightness, modifier))).hex(),
60
- active: chroma(color).luminance(getLuminanceFromLightness(calculateLightness(colorLightness, modifier * 2))).hex()
324
+ default: colorScheme === "light" ? color : chroma2(color).luminance(getLuminanceFromLightness(colorLightness)).hex(),
325
+ hover: chroma2(color).luminance(getLuminanceFromLightness(calculateLightness(colorLightness, modifier))).hex(),
326
+ active: chroma2(color).luminance(getLuminanceFromLightness(calculateLightness(colorLightness, modifier * 2))).hex()
61
327
  };
62
328
  };
63
- const generateColorContrast = (color, type) => {
329
+ var generateColorContrast = (color, type) => {
64
330
  if (type === "default") {
65
- return chroma.contrast(color, "#ffffff") >= chroma.contrast(color, "#000000") ? "#ffffff" : "#000000";
331
+ return chroma2.contrast(color, "#ffffff") >= chroma2.contrast(color, "#000000") ? "#ffffff" : "#000000";
66
332
  }
67
333
  if (type === "subtle") {
68
- const contrastWhite = chroma.contrast(color, "#ffffff");
69
- const contrastBlack = chroma.contrast(color, "#000000");
334
+ const contrastWhite = chroma2.contrast(color, "#ffffff");
335
+ const contrastBlack = chroma2.contrast(color, "#000000");
70
336
  const lightness = getLightnessFromHex(color);
71
337
  const modifier = lightness <= 40 || lightness >= 60 ? 60 : 50;
72
338
  const targetLightness = contrastWhite >= contrastBlack ? lightness + modifier : lightness - modifier;
73
- return chroma(color).luminance(getLuminanceFromLightness(targetLightness)).hex();
339
+ return chroma2(color).luminance(getLuminanceFromLightness(targetLightness)).hex();
74
340
  }
75
341
  return color;
76
342
  };
77
- const getCssVariable = (colorType, colorNumber) => {
343
+ var getCssVariable = (colorType, colorNumber) => {
78
344
  return `--ds-color-${colorType}-${getColorMetadataByNumber(colorNumber).displayName.toLowerCase().replace(/\s/g, "-")}`;
79
345
  };
80
346
  export {
@@ -1,6 +1,7 @@
1
+ // src/colors/utils.ts
1
2
  import chroma from "chroma-js";
2
3
  import { Hsluv } from "hsluv";
3
- const hexToCssHsl = (hex, valuesOnly = false) => {
4
+ var hexToCssHsl = (hex, valuesOnly = false) => {
4
5
  const [h, s, l] = chroma(hex).hsl();
5
6
  const hRounded = Math.round(h);
6
7
  const sRounded = Math.round(s * 100);
@@ -8,23 +9,23 @@ const hexToCssHsl = (hex, valuesOnly = false) => {
8
9
  const cssString = `${hRounded},${sRounded}%,${lRounded}%`;
9
10
  return valuesOnly ? cssString : `hsl(${cssString})`;
10
11
  };
11
- const hexToHSL = (hex) => {
12
+ var hexToHSL = (hex) => {
12
13
  const [h, s, l] = chroma(hex).hsl();
13
14
  return [Math.round(h), Math.round(s * 100), Math.round(l * 100)];
14
15
  };
15
- const hexToHsluv = (hex) => {
16
+ var hexToHsluv = (hex) => {
16
17
  const conv = new Hsluv();
17
18
  conv.hex = hex;
18
19
  conv.hexToHsluv();
19
20
  return [conv.hsluv_h, conv.hsluv_s, conv.hsluv_l];
20
21
  };
21
- const hslArrToCss = (HSL) => {
22
+ var hslArrToCss = (HSL) => {
22
23
  return "hsl(" + HSL[0] + "," + HSL[1] + "%," + HSL[2] + "%)";
23
24
  };
24
- const HSLToHex = (h, s, l) => {
25
+ var HSLToHex = (h, s, l) => {
25
26
  return chroma.hsl(h, s / 100, l / 100).hex();
26
27
  };
27
- const hexToRgb = (hex, type = "255") => {
28
+ var hexToRgb = (hex, type = "255") => {
28
29
  const rgb = chroma(hex).rgb();
29
30
  return {
30
31
  r: type === "255" ? rgb[0] : rgb[0] / 255,
@@ -32,12 +33,12 @@ const hexToRgb = (hex, type = "255") => {
32
33
  b: type === "255" ? rgb[2] : rgb[2] / 255
33
34
  };
34
35
  };
35
- const getContrastFromHex = (color1, color2) => {
36
+ var getContrastFromHex = (color1, color2) => {
36
37
  const lum1 = chroma(color1).luminance();
37
38
  const lum2 = chroma(color2).luminance();
38
39
  return (Math.max(lum1, lum2) + 0.05) / (Math.min(lum1, lum2) + 0.05);
39
40
  };
40
- const getContrastFromLightness = (lightness, mainColor, backgroundColor) => {
41
+ var getContrastFromLightness = (lightness, mainColor, backgroundColor) => {
41
42
  const conv = new Hsluv();
42
43
  conv.hex = mainColor;
43
44
  conv.hexToHsluv();
@@ -49,7 +50,7 @@ const getContrastFromLightness = (lightness, mainColor, backgroundColor) => {
49
50
  const ratio = (Math.max(lum1, lum2) + 0.05) / (Math.min(lum1, lum2) + 0.05);
50
51
  return ratio;
51
52
  };
52
- const areColorsContrasting = (color1, color2, type = "aa") => {
53
+ var areColorsContrasting = (color1, color2, type = "aa") => {
53
54
  const contrast = getContrastFromHex(color1, color2);
54
55
  if (contrast !== null) {
55
56
  if (type === "aaa") {
@@ -62,22 +63,22 @@ const areColorsContrasting = (color1, color2, type = "aa") => {
62
63
  }
63
64
  return false;
64
65
  };
65
- const isHexColor = (hex) => {
66
+ var isHexColor = (hex) => {
66
67
  return typeof hex === "string" && hex.length === 6 && !Number.isNaN(Number("0x" + hex));
67
68
  };
68
- const getLuminanceFromLightness = (lightness) => {
69
+ var getLuminanceFromLightness = (lightness) => {
69
70
  const conv = new Hsluv();
70
71
  conv.hsluv_l = lightness;
71
72
  conv.hsluvToHex();
72
73
  return chroma(conv.hex).luminance();
73
74
  };
74
- const getLightnessFromHex = (hex) => {
75
+ var getLightnessFromHex = (hex) => {
75
76
  const conv = new Hsluv();
76
77
  conv.hex = hex;
77
78
  conv.hexToHsluv();
78
79
  return conv.hsluv_l;
79
80
  };
80
- const canTextBeUsedOnColors = (baseDefaultColor, baseActiveColor) => {
81
+ var canTextBeUsedOnColors = (baseDefaultColor, baseActiveColor) => {
81
82
  const defaultAgainstWhite = getContrastFromHex(baseDefaultColor, "#ffffff");
82
83
  const defaultAgainstBlack = getContrastFromHex(baseDefaultColor, "#000000");
83
84
  const activeAgainstWhite = getContrastFromHex(baseActiveColor, "#ffffff");
@@ -90,7 +91,7 @@ const canTextBeUsedOnColors = (baseDefaultColor, baseActiveColor) => {
90
91
  }
91
92
  return false;
92
93
  };
93
- const convertToHex = (color) => {
94
+ var convertToHex = (color) => {
94
95
  if (!color) {
95
96
  return "#000000";
96
97
  }
@@ -99,7 +100,7 @@ const convertToHex = (color) => {
99
100
  }
100
101
  return chroma(color).hex();
101
102
  };
102
- const rgbToHex = (rgb) => {
103
+ var rgbToHex = (rgb) => {
103
104
  return `#${[rgb.r, rgb.g, rgb.b].map((x) => {
104
105
  const hex = Math.round(x * 255).toString(16);
105
106
  return hex.length === 1 ? "0" + hex : hex;
@@ -1,6 +1,49 @@
1
1
  import { z } from 'zod';
2
2
  export declare function mapPathToOptionName(path: (string | number)[]): string | undefined;
3
3
  export declare const colorRegex: RegExp;
4
+ declare const themeSchema: z.ZodObject<{
5
+ colors: z.ZodObject<{
6
+ main: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodString, `#${string}`, string>>, Record<string, `#${string}`>, Record<string, string>>;
7
+ support: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodString, `#${string}`, string>>, Record<string, `#${string}`>, Record<string, string>>>>;
8
+ neutral: z.ZodEffects<z.ZodString, `#${string}`, string>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ neutral: `#${string}`;
11
+ main: Record<string, `#${string}`>;
12
+ support: Record<string, `#${string}`>;
13
+ }, {
14
+ neutral: string;
15
+ main: Record<string, string>;
16
+ support?: Record<string, string> | undefined;
17
+ }>;
18
+ typography: z.ZodOptional<z.ZodObject<{
19
+ fontFamily: z.ZodString;
20
+ }, "strip", z.ZodTypeAny, {
21
+ fontFamily: string;
22
+ }, {
23
+ fontFamily: string;
24
+ }>>;
25
+ borderRadius: z.ZodOptional<z.ZodNumber>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ colors: {
28
+ neutral: `#${string}`;
29
+ main: Record<string, `#${string}`>;
30
+ support: Record<string, `#${string}`>;
31
+ };
32
+ typography?: {
33
+ fontFamily: string;
34
+ } | undefined;
35
+ borderRadius?: number | undefined;
36
+ }, {
37
+ colors: {
38
+ neutral: string;
39
+ main: Record<string, string>;
40
+ support?: Record<string, string> | undefined;
41
+ };
42
+ typography?: {
43
+ fontFamily: string;
44
+ } | undefined;
45
+ borderRadius?: number | undefined;
46
+ }>;
4
47
  /**
5
48
  * This defines the structure of the JSON config file
6
49
  */
@@ -158,5 +201,7 @@ export declare const combinedConfigSchema: z.ZodObject<{
158
201
  }>;
159
202
  outDir: string;
160
203
  }>;
161
- export type CombinedConfigSchema = z.infer<typeof combinedConfigSchema>;
204
+ export type Config = z.infer<typeof combinedConfigSchema>;
205
+ export type ThemeConfig = z.infer<typeof themeSchema>;
206
+ export {};
162
207
  //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,sBAQ5D;AAWD,eAAO,MAAM,UAAU,QAA2C,CAAC;AAwBnE,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBhB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO3B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA8B,CAAC;AAChE,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC"}