@digigov/css 2.0.0-85c27c19 → 2.0.0-8bbad051

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 (130) hide show
  1. package/dist/base/index.css +1 -1
  2. package/dist/base.js +1 -1
  3. package/dist/components.js +1 -1
  4. package/dist/digigov.css +3 -3
  5. package/dist/utilities/index.css +1 -1
  6. package/dist/utilities.js +1 -1
  7. package/index.js +99 -69
  8. package/package.json +13 -13
  9. package/postcss.config.js +4 -3
  10. package/src/base/index.css +1 -0
  11. package/src/base/index.native.css +0 -0
  12. package/src/base/postcss.config.js +11 -10
  13. package/src/base/tailwind.config.js +4 -11
  14. package/src/components/accordion.common.css +29 -0
  15. package/src/components/accordion.css +38 -12
  16. package/src/components/accordion.native.css +27 -0
  17. package/src/components/autocomplete.css +6 -4
  18. package/src/components/blockquote.common.css +14 -0
  19. package/src/components/blockquote.css +9 -0
  20. package/src/components/blockquote.native.css +14 -0
  21. package/src/components/breadcrumbs.css +1 -1
  22. package/src/components/button.common.css +62 -0
  23. package/src/components/button.css +13 -28
  24. package/src/components/button.native.css +55 -0
  25. package/src/components/card.common.css +33 -0
  26. package/src/components/card.css +13 -13
  27. package/src/components/card.native.css +29 -0
  28. package/src/components/checkboxes.common.css +16 -0
  29. package/src/components/checkboxes.css +6 -8
  30. package/src/components/checkboxes.native.css +27 -0
  31. package/src/components/chip.common.css +19 -0
  32. package/src/components/chip.css +5 -4
  33. package/src/components/chip.native.css +15 -0
  34. package/src/components/code.css +14 -15
  35. package/src/components/copy-to-clipboard.css +1 -1
  36. package/src/components/copy-to-clipboard.native.css +26 -0
  37. package/src/components/details.common.css +26 -0
  38. package/src/components/details.css +10 -9
  39. package/src/components/details.native.css +34 -0
  40. package/src/components/drawer.css +20 -3
  41. package/src/components/dropdown.common.css +23 -0
  42. package/src/components/dropdown.css +7 -9
  43. package/src/components/dropdown.native.css +27 -0
  44. package/src/components/filter.css +71 -22
  45. package/src/components/footer.css +8 -7
  46. package/src/components/form.common.css +81 -0
  47. package/src/components/form.css +38 -9
  48. package/src/components/form.native.css +182 -0
  49. package/src/components/header.common.css +35 -0
  50. package/src/components/header.css +16 -20
  51. package/src/components/header.native.css +29 -0
  52. package/src/components/index.css +1 -0
  53. package/src/components/kitchensink.css +2 -2
  54. package/src/components/layout.common.css +36 -0
  55. package/src/components/layout.css +12 -11
  56. package/src/components/layout.native.css +40 -0
  57. package/src/components/loader.common.css +7 -0
  58. package/src/components/loader.css +3 -1
  59. package/src/components/loader.native.css +5 -0
  60. package/src/components/masthead.css +1 -1
  61. package/src/components/misc.css +1 -1
  62. package/src/components/modal.common.css +16 -0
  63. package/src/components/modal.css +19 -15
  64. package/src/components/modal.native.css +18 -0
  65. package/src/components/nav.common.css +22 -0
  66. package/src/components/nav.css +6 -8
  67. package/src/components/nav.native.css +39 -0
  68. package/src/components/notification-banner.common.css +46 -0
  69. package/src/components/notification-banner.css +27 -7
  70. package/src/components/notification-banner.native.css +42 -0
  71. package/src/components/pagination.css +19 -3
  72. package/src/components/panel.common.css +30 -0
  73. package/src/components/panel.css +6 -15
  74. package/src/components/panel.native.css +26 -0
  75. package/src/components/phase-banner.common.css +23 -0
  76. package/src/components/phase-banner.css +7 -6
  77. package/src/components/phase-banner.native.css +30 -0
  78. package/src/components/postcss.config.js +7 -6
  79. package/src/components/radios.common.css +16 -0
  80. package/src/components/radios.css +5 -11
  81. package/src/components/radios.native.css +23 -0
  82. package/src/components/skeleton.common.css +20 -0
  83. package/src/components/skeleton.css +7 -10
  84. package/src/components/skeleton.native.css +53 -0
  85. package/src/components/stack.common.css +67 -0
  86. package/src/components/stack.css +25 -23
  87. package/src/components/stack.native.css +68 -0
  88. package/src/components/summary-list.common.css +102 -0
  89. package/src/components/summary-list.css +91 -22
  90. package/src/components/summary-list.native.css +97 -0
  91. package/src/components/svg-icons.common.css +56 -0
  92. package/src/components/svg-icons.native.css +54 -0
  93. package/src/components/table.css +50 -11
  94. package/src/components/test.css +7 -0
  95. package/src/components/typography.common.css +135 -0
  96. package/src/components/typography.css +47 -97
  97. package/src/components/typography.native.css +128 -0
  98. package/src/components/warning-text.common.css +23 -0
  99. package/src/components/warning-text.css +9 -7
  100. package/src/components/warning-text.native.css +22 -0
  101. package/src/index.native.css +26 -0
  102. package/src/utilities/gap.css +141 -0
  103. package/src/utilities/index.css +6 -1828
  104. package/src/utilities/index.native.css +6 -0
  105. package/src/utilities/layout.css +231 -0
  106. package/src/utilities/layout.native.css +278 -0
  107. package/src/utilities/margin.css +4299 -0
  108. package/src/utilities/padding.css +4299 -0
  109. package/src/utilities/postcss.config.js +7 -6
  110. package/src/utilities/print.css +11 -0
  111. package/src/utilities/utilities.css +3 -2368
  112. package/tailwind.config.js +102 -106
  113. package/theming.js +121 -0
  114. package/defaultTheme/accordion.json +0 -16
  115. package/defaultTheme/back-to-top.json +0 -27
  116. package/defaultTheme/brandConfig.json +0 -147
  117. package/defaultTheme/breadcrumbs.json +0 -8
  118. package/defaultTheme/button.json +0 -90
  119. package/defaultTheme/card.json +0 -23
  120. package/defaultTheme/form.json +0 -30
  121. package/defaultTheme/globals.json +0 -81
  122. package/defaultTheme/index.js +0 -27
  123. package/defaultTheme/layout.json +0 -55
  124. package/defaultTheme/misc.json +0 -68
  125. package/defaultTheme/panel.json +0 -48
  126. package/defaultTheme/phase-banner.json +0 -8
  127. package/defaultTheme/radios.json +0 -8
  128. package/defaultTheme/summary-list.json +0 -8
  129. package/defaultTheme/typography.json +0 -295
  130. package/themes.plugin.js +0 -148
package/themes.plugin.js DELETED
@@ -1,148 +0,0 @@
1
- const fs = require("fs");
2
- const path = require("path");
3
- const postcss = require("postcss");
4
- const postcssrc = require("postcss-load-config");
5
- const postcssJs = require("postcss-js");
6
-
7
- const prefix = "ds";
8
- const mediaQueriesMapping = {
9
- xs: "@media (min-width: 0px)",
10
- sm: "@media (min-width: 640px)",
11
- md: "@media (min-width: 768px)",
12
- lg: "@media (min-width: 1024px)",
13
- print: "@media print",
14
- };
15
-
16
- let hasRun = false;
17
-
18
- module.exports = function addThemes({ addBase, config }) {
19
- if (hasRun) {
20
- return;
21
- }
22
- hasRun = true;
23
-
24
- let base = {};
25
- const themes = config("themes");
26
- const defaultTheme = config("defaultTheme");
27
- for (const customTheme in themes) {
28
- const customThemeObject = require(themes[customTheme]);
29
- if (customThemeObject.overrides) {
30
- console.log("Loading theme css from source...");
31
- const css = fs
32
- .readFileSync(
33
- path.resolve(
34
- path.dirname(themes[customTheme]),
35
- "overrides/index.css",
36
- ),
37
- )
38
- .toString();
39
- const ctx = {};
40
- const { plugins, options } = postcssrc.sync(ctx);
41
- const result = postcss(plugins).process(css, options).result.root;
42
- const cssJs = postcssJs.objectify(result);
43
- base[`.${customTheme}`] = cssJs;
44
- }
45
- if (customTheme === defaultTheme) {
46
- base[`:root,:root.${customTheme},::before,::after`] =
47
- extractVars(customThemeObject);
48
- } else {
49
- base[
50
- `:root.${customTheme},.${customTheme},.${customTheme} *::before,.${customTheme} *::after`
51
- ] = extractVars(customThemeObject);
52
- }
53
-
54
- if (customThemeObject.variables && customThemeObject.variables.components) {
55
- const extractedVariables = extractMediaQueriesFromComponentVars(
56
- customThemeObject.variables.components,
57
- customTheme,
58
- defaultTheme,
59
- );
60
- Object.keys(extractedVariables).forEach((key) => {
61
- if (base[key]) {
62
- base[key] = { ...base[key], ...extractedVariables[key] };
63
- } else {
64
- base[key] = extractedVariables[key];
65
- }
66
- });
67
- }
68
- }
69
- addBase(base);
70
- };
71
-
72
- function extractVars(themeObj) {
73
- const colorVars = extractColorVars(themeObj.colors);
74
- const globalVars =
75
- themeObj.variables && themeObj.variables.globals
76
- ? extractGlobalVars(themeObj.variables.globals)
77
- : {};
78
- return { ...colorVars, ...globalVars };
79
- }
80
-
81
- function extractColorVars(colorObj, colorGroup = "") {
82
- return Object.keys(colorObj).reduce((vars, colorKey) => {
83
- const value = colorObj[colorKey];
84
- const colorName =
85
- colorKey == "default"
86
- ? `--color${colorGroup}`
87
- : `--color${colorGroup}-${colorKey}`;
88
- const newVars =
89
- typeof value === "string"
90
- ? {
91
- [colorName]: value,
92
- [`${colorName}-rgb`]: hexToRGB(value),
93
- }
94
- : extractColorVars(value, `-${colorKey}`);
95
- return { ...vars, ...newVars };
96
- }, {});
97
- }
98
-
99
- function extractGlobalVars(globalVarsObj) {
100
- return Object.keys(globalVarsObj).reduce((vars, varKey) => {
101
- const value = globalVarsObj[varKey];
102
- vars[`--${varKey}`] = value;
103
- return vars;
104
- }, {});
105
- }
106
-
107
- function hexToRGB(hex) {
108
- const r = parseInt(hex.slice(1, 3), 16),
109
- g = parseInt(hex.slice(3, 5), 16),
110
- b = parseInt(hex.slice(5, 7), 16);
111
-
112
- return r + ", " + g + ", " + b;
113
- }
114
-
115
- function extractMediaQueriesFromComponentVars(
116
- componentObj,
117
- customTheme,
118
- defaultTheme,
119
- ) {
120
- let mediaObj = {};
121
- Object.keys(componentObj).forEach((componentClass) => {
122
- Object.keys(componentObj[componentClass]).forEach((componentAttr) => {
123
- Object.keys(componentObj[componentClass][componentAttr]).forEach(
124
- (componentMedia) => {
125
- const newAttrKey = `--${componentClass}-${componentAttr}`;
126
- const newAttrValue =
127
- componentObj[componentClass][componentAttr][componentMedia];
128
- const newAttr = { [newAttrKey]: newAttrValue };
129
- const newClass = `.${prefix}-${componentClass}`;
130
- const newMedia = mediaQueriesMapping[componentMedia];
131
- const newTheme =
132
- customTheme === defaultTheme ? "" : `.${customTheme}`;
133
-
134
- if (mediaObj[newMedia]) {
135
- if (mediaObj[newMedia][newTheme][newClass]) {
136
- mediaObj[newMedia][newTheme][newClass][newAttrKey] = newAttrValue;
137
- } else {
138
- mediaObj[newMedia][newTheme][newClass] = newAttr;
139
- }
140
- } else {
141
- mediaObj[newMedia] = { [newTheme]: { [newClass]: newAttr } };
142
- }
143
- },
144
- );
145
- });
146
- });
147
- return mediaObj;
148
- }