devextreme-themebuilder 23.2.6 → 24.1.2-beta

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 (178) hide show
  1. package/data/bootstrap-metadata/bootstrap3-metadata.js +53 -53
  2. package/data/bootstrap-metadata/bootstrap4-metadata.js +47 -47
  3. package/data/bootstrap-metadata/bootstrap5-metadata.js +47 -47
  4. package/data/clean-css-options.json +27 -27
  5. package/data/metadata/dx-theme-builder-metadata.js +7 -7
  6. package/data/migration-metadata/migration-metadata.js +120 -120
  7. package/data/scss/widgets/base/_contextMenu.scss +1 -1
  8. package/data/scss/widgets/base/_drawer.scss +6 -0
  9. package/data/scss/widgets/base/_fileUploader.scss +6 -0
  10. package/data/scss/widgets/base/_form.scss +3 -2
  11. package/data/scss/widgets/base/_gridBase.scss +7 -0
  12. package/data/scss/widgets/base/_icons.scss +15 -2
  13. package/data/scss/widgets/base/_menuBase.scss +20 -0
  14. package/data/scss/widgets/base/{_splitter.scss → _splitterBar.scss} +1 -1
  15. package/data/scss/widgets/base/_validation.scss +5 -6
  16. package/data/scss/widgets/base/calendar/_mixins.scss +1 -2
  17. package/data/scss/widgets/base/{_checkBox.scss → checkBox/_index.scss} +1 -0
  18. package/data/scss/widgets/base/checkBox/_mixins.scss +42 -0
  19. package/data/scss/widgets/base/fileManager/_index.scss +2 -2
  20. package/data/scss/widgets/base/gantt/_index.scss +1 -1
  21. package/data/scss/widgets/base/scheduler/_index.scss +0 -4
  22. package/data/scss/widgets/base/scheduler/views/_index.scss +0 -1
  23. package/data/scss/widgets/base/splitter/_index.scss +61 -0
  24. package/data/scss/widgets/base/splitter/_mixins.scss +24 -0
  25. package/data/scss/widgets/base/textEditor/_mixins.scss +38 -39
  26. package/data/scss/widgets/base/treeView/_common.scss +0 -1
  27. package/data/scss/widgets/fluent/_colors.scss +19 -1
  28. package/data/scss/widgets/fluent/_index.scss +1 -0
  29. package/data/scss/widgets/fluent/_sizes.scss +9 -0
  30. package/data/scss/widgets/fluent/accordion/_sizes.scss +0 -1
  31. package/data/scss/widgets/fluent/button/_colors.scss +1 -2
  32. package/data/scss/widgets/fluent/button/_mixins.scss +4 -10
  33. package/data/scss/widgets/fluent/button/_sizes.scss +4 -0
  34. package/data/scss/widgets/fluent/calendar/_index.scss +0 -1
  35. package/data/scss/widgets/fluent/checkBox/_index.scss +18 -22
  36. package/data/scss/widgets/fluent/checkBox/_sizes.scss +10 -19
  37. package/data/scss/widgets/fluent/common/_mixins.scss +1 -1
  38. package/data/scss/widgets/fluent/common/_sizes.scss +4 -0
  39. package/data/scss/widgets/fluent/fieldset/_index.scss +1 -1
  40. package/data/scss/widgets/fluent/fileManager/_colors.scss +0 -1
  41. package/data/scss/widgets/fluent/fileManager/_index.scss +1 -1
  42. package/data/scss/widgets/fluent/form/_index.scss +9 -0
  43. package/data/scss/widgets/fluent/form/_sizes.scss +3 -0
  44. package/data/scss/widgets/fluent/gantt/_index.scss +1 -1
  45. package/data/scss/widgets/fluent/gridBase/_colors.scss +2 -6
  46. package/data/scss/widgets/fluent/gridBase/_index.scss +5 -2
  47. package/data/scss/widgets/fluent/gridBase/_sizes.scss +2 -1
  48. package/data/scss/widgets/fluent/list/_sizes.scss +5 -0
  49. package/data/scss/widgets/fluent/loadPanel/_colors.scss +0 -2
  50. package/data/scss/widgets/fluent/lookup/_colors.scss +0 -2
  51. package/data/scss/widgets/fluent/menu/_colors.scss +1 -0
  52. package/data/scss/widgets/fluent/menuBase/_index.scss +1 -1
  53. package/data/scss/widgets/fluent/overlay/_colors.scss +0 -2
  54. package/data/scss/widgets/fluent/pager/_sizes.scss +0 -4
  55. package/data/scss/widgets/fluent/popup/_sizes.scss +4 -0
  56. package/data/scss/widgets/fluent/progressBar/_sizes.scss +0 -1
  57. package/data/scss/widgets/fluent/radioGroup/_colors.scss +0 -1
  58. package/data/scss/widgets/fluent/scheduler/_colors.scss +4 -7
  59. package/data/scss/widgets/fluent/scheduler/_sizes.scss +0 -4
  60. package/data/scss/widgets/fluent/slider/_index.scss +0 -5
  61. package/data/scss/widgets/fluent/slider/_sizes.scss +0 -3
  62. package/data/scss/widgets/fluent/splitter/_colors.scss +36 -2
  63. package/data/scss/widgets/fluent/splitter/_index.scss +15 -7
  64. package/data/scss/widgets/fluent/splitter/_sizes.scss +1 -0
  65. package/data/scss/widgets/fluent/splitterBar/_colors.scss +8 -0
  66. package/data/scss/widgets/fluent/splitterBar/_index.scss +19 -0
  67. package/data/scss/widgets/fluent/splitterBar/_sizes.scss +3 -0
  68. package/data/scss/widgets/fluent/switch/_colors.scss +0 -1
  69. package/data/scss/widgets/fluent/switch/_sizes.scss +0 -1
  70. package/data/scss/widgets/fluent/tagBox/_sizes.scss +0 -1
  71. package/data/scss/widgets/fluent/textBox/_colors.scss +0 -6
  72. package/data/scss/widgets/fluent/textBox/_index.scss +3 -9
  73. package/data/scss/widgets/fluent/textEditor/_colors.scss +6 -0
  74. package/data/scss/widgets/fluent/textEditor/_index.scss +5 -6
  75. package/data/scss/widgets/fluent/textEditor/_sizes.scss +0 -7
  76. package/data/scss/widgets/fluent/toolbar/_sizes.scss +4 -0
  77. package/data/scss/widgets/fluent/treeList/_colors.scss +0 -1
  78. package/data/scss/widgets/fluent/typography/_sizes.scss +14 -0
  79. package/data/scss/widgets/fluent/validation/_index.scss +5 -6
  80. package/data/scss/widgets/generic/_colors.scss +19 -29
  81. package/data/scss/widgets/generic/_index.scss +1 -0
  82. package/data/scss/widgets/generic/_sizes.scss +8 -0
  83. package/data/scss/widgets/generic/button/_colors.scss +0 -1
  84. package/data/scss/widgets/generic/button/_sizes.scss +4 -4
  85. package/data/scss/widgets/generic/calendar/_index.scss +0 -1
  86. package/data/scss/widgets/generic/checkBox/_colors.scss +0 -9
  87. package/data/scss/widgets/generic/checkBox/_index.scss +21 -26
  88. package/data/scss/widgets/generic/checkBox/_sizes.scss +14 -16
  89. package/data/scss/widgets/generic/dropDownEditor/_colors.scss +1 -1
  90. package/data/scss/widgets/generic/fieldset/_index.scss +1 -1
  91. package/data/scss/widgets/generic/fileManager/_index.scss +1 -1
  92. package/data/scss/widgets/generic/form/_index.scss +9 -0
  93. package/data/scss/widgets/generic/gantt/_index.scss +1 -1
  94. package/data/scss/widgets/generic/gridBase/_index.scss +18 -6
  95. package/data/scss/widgets/generic/gridBase/_sizes.scss +5 -2
  96. package/data/scss/widgets/generic/htmlEditor/_sizes.scss +0 -1
  97. package/data/scss/widgets/generic/list/_sizes.scss +5 -0
  98. package/data/scss/widgets/generic/menu/_colors.scss +1 -0
  99. package/data/scss/widgets/generic/menuBase/_colors.scss +0 -1
  100. package/data/scss/widgets/generic/menuBase/_index.scss +1 -1
  101. package/data/scss/widgets/generic/overlay/_colors.scss +1 -1
  102. package/data/scss/widgets/generic/popup/_sizes.scss +4 -0
  103. package/data/scss/widgets/generic/scheduler/_index.scss +0 -3
  104. package/data/scss/widgets/generic/scheduler/_sizes.scss +0 -1
  105. package/data/scss/widgets/generic/speedDialAction/_index.scss +0 -1
  106. package/data/scss/widgets/generic/splitter/_colors.scss +22 -38
  107. package/data/scss/widgets/generic/splitter/_index.scss +15 -7
  108. package/data/scss/widgets/generic/splitter/_sizes.scss +1 -0
  109. package/data/scss/widgets/generic/splitterBar/_colors.scss +43 -0
  110. package/data/scss/widgets/generic/splitterBar/_index.scss +19 -0
  111. package/data/scss/widgets/generic/splitterBar/_sizes.scss +4 -0
  112. package/data/scss/widgets/generic/tabs/variables/_colors.scss +0 -1
  113. package/data/scss/widgets/generic/textEditor/_colors.scss +5 -1
  114. package/data/scss/widgets/generic/timeView/_sizes.scss +0 -1
  115. package/data/scss/widgets/generic/toolbar/_sizes.scss +4 -0
  116. package/data/scss/widgets/generic/treeList/_colors.scss +0 -1
  117. package/data/scss/widgets/generic/treeList/_index.scss +16 -0
  118. package/data/scss/widgets/generic/treeList/_sizes.scss +10 -0
  119. package/data/scss/widgets/generic/treeView/_sizes.scss +0 -1
  120. package/data/scss/widgets/generic/typography/_index.scss +29 -13
  121. package/data/scss/widgets/generic/typography/_sizes.scss +26 -0
  122. package/data/scss/widgets/material/_colors.scss +19 -8
  123. package/data/scss/widgets/material/_index.scss +1 -0
  124. package/data/scss/widgets/material/_sizes.scss +8 -0
  125. package/data/scss/widgets/material/accordion/_sizes.scss +0 -1
  126. package/data/scss/widgets/material/button/_colors.scss +0 -2
  127. package/data/scss/widgets/material/button/_mixins.scss +2 -12
  128. package/data/scss/widgets/material/button/_sizes.scss +4 -0
  129. package/data/scss/widgets/material/calendar/_index.scss +0 -1
  130. package/data/scss/widgets/material/checkBox/_colors.scss +0 -1
  131. package/data/scss/widgets/material/checkBox/_index.scss +21 -13
  132. package/data/scss/widgets/material/checkBox/_sizes.scss +26 -19
  133. package/data/scss/widgets/material/fieldset/_index.scss +1 -1
  134. package/data/scss/widgets/material/fileManager/_colors.scss +0 -1
  135. package/data/scss/widgets/material/fileManager/_index.scss +1 -1
  136. package/data/scss/widgets/material/form/_index.scss +9 -0
  137. package/data/scss/widgets/material/gantt/_index.scss +1 -1
  138. package/data/scss/widgets/material/gridBase/_index.scss +5 -2
  139. package/data/scss/widgets/material/gridBase/_sizes.scss +2 -1
  140. package/data/scss/widgets/material/htmlEditor/_colors.scss +0 -4
  141. package/data/scss/widgets/material/htmlEditor/_sizes.scss +0 -1
  142. package/data/scss/widgets/material/list/_sizes.scss +5 -0
  143. package/data/scss/widgets/material/menu/_colors.scss +1 -0
  144. package/data/scss/widgets/material/menuBase/_index.scss +1 -1
  145. package/data/scss/widgets/material/pager/_sizes.scss +0 -4
  146. package/data/scss/widgets/material/popup/_sizes.scss +4 -0
  147. package/data/scss/widgets/material/scheduler/_index.scss +5 -2
  148. package/data/scss/widgets/material/scheduler/_sizes.scss +0 -3
  149. package/data/scss/widgets/material/slider/_index.scss +0 -3
  150. package/data/scss/widgets/material/splitter/_colors.scss +34 -2
  151. package/data/scss/widgets/material/splitter/_index.scss +15 -7
  152. package/data/scss/widgets/material/splitter/_sizes.scss +1 -0
  153. package/data/scss/widgets/material/splitterBar/_colors.scss +8 -0
  154. package/data/scss/widgets/material/splitterBar/_index.scss +19 -0
  155. package/data/scss/widgets/material/splitterBar/_sizes.scss +4 -0
  156. package/data/scss/widgets/material/switch/_colors.scss +0 -1
  157. package/data/scss/widgets/material/tagBox/_sizes.scss +0 -3
  158. package/data/scss/widgets/material/textEditor/_colors.scss +5 -0
  159. package/data/scss/widgets/material/textEditor/_index.scss +2 -3
  160. package/data/scss/widgets/material/toolbar/_sizes.scss +4 -0
  161. package/data/scss/widgets/material/treeList/_colors.scss +0 -1
  162. package/data/scss/widgets/material/typography/_sizes.scss +14 -0
  163. package/data/scss/widgets/material/validation/_index.scss +2 -3
  164. package/modules/base-parameters.js +2 -2
  165. package/modules/bootstrap-extractor.js +164 -164
  166. package/modules/builder.js +25 -25
  167. package/modules/bundle-resolver.js +16 -16
  168. package/modules/commands.js +7 -7
  169. package/modules/compile-manager.js +78 -78
  170. package/modules/compiler.js +114 -114
  171. package/modules/config-normalizer.js +150 -150
  172. package/modules/logger.js +16 -16
  173. package/modules/parse-value.js +83 -83
  174. package/modules/post-compiler.js +81 -81
  175. package/modules/pre-compiler.js +24 -24
  176. package/modules/themes.js +137 -137
  177. package/modules/widgets-handler.js +72 -72
  178. package/package.json +4 -4
@@ -1,83 +1,83 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.parseString = exports.parse = exports.color = void 0;
27
- const sass = __importStar(require("sass-embedded"));
28
- const color = (value) => {
29
- const getHex = (colorValue) => colorValue.toString(16).padStart(2, '0');
30
- const alpha = Math.round(255 * value.alpha);
31
- if (alpha === 0) {
32
- return 'transparent';
33
- }
34
- const hexRed = getHex(value.red);
35
- const hexGreen = getHex(value.green);
36
- const hexBlue = getHex(value.blue);
37
- const hexAlpha = alpha === 255 ? '' : getHex(alpha);
38
- return `#${hexRed}${hexGreen}${hexBlue}${hexAlpha}`;
39
- };
40
- exports.color = color;
41
- const parse = (value) => {
42
- let result = value.toString();
43
- if (value instanceof sass.SassColor) {
44
- result = (0, exports.color)(value);
45
- }
46
- return result;
47
- };
48
- exports.parse = parse;
49
- /**
50
- * Parse a string as a Sass object
51
- * cribbed from davidkpiano/sassport
52
- *
53
- * @param {string} str
54
- * @return {Value}
55
- */
56
- const parseString = (str) => {
57
- // eslint-disable-next-line @typescript-eslint/init-declarations
58
- let result;
59
- try {
60
- sass.compileString(`$_: ___([${str}]);`, {
61
- functions: {
62
- '___($value)': ([listValue]) => {
63
- if (listValue.asList.size > 1) {
64
- result = new sass.SassList(listValue.asList, {
65
- brackets: false,
66
- separator: listValue.separator,
67
- });
68
- }
69
- else {
70
- result = listValue.get(0);
71
- }
72
- return result;
73
- },
74
- },
75
- });
76
- }
77
- catch (e) {
78
- // debugger;
79
- return new sass.SassString(str);
80
- }
81
- return result;
82
- };
83
- exports.parseString = parseString;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.parseString = exports.parse = exports.color = void 0;
27
+ const sass = __importStar(require("sass-embedded"));
28
+ const color = (value) => {
29
+ const getHex = (colorValue) => colorValue.toString(16).padStart(2, '0');
30
+ const alpha = Math.round(255 * value.alpha);
31
+ if (alpha === 0) {
32
+ return 'transparent';
33
+ }
34
+ const hexRed = getHex(value.red);
35
+ const hexGreen = getHex(value.green);
36
+ const hexBlue = getHex(value.blue);
37
+ const hexAlpha = alpha === 255 ? '' : getHex(alpha);
38
+ return `#${hexRed}${hexGreen}${hexBlue}${hexAlpha}`;
39
+ };
40
+ exports.color = color;
41
+ const parse = (value) => {
42
+ let result = value.toString();
43
+ if (value instanceof sass.SassColor) {
44
+ result = (0, exports.color)(value);
45
+ }
46
+ return result;
47
+ };
48
+ exports.parse = parse;
49
+ /**
50
+ * Parse a string as a Sass object
51
+ * cribbed from davidkpiano/sassport
52
+ *
53
+ * @param {string} str
54
+ * @return {Value}
55
+ */
56
+ const parseString = (str) => {
57
+ // eslint-disable-next-line @typescript-eslint/init-declarations
58
+ let result;
59
+ try {
60
+ sass.compileString(`$_: ___([${str}]);`, {
61
+ functions: {
62
+ '___($value)': ([listValue]) => {
63
+ if (listValue.asList.size > 1) {
64
+ result = new sass.SassList(listValue.asList, {
65
+ brackets: false,
66
+ separator: listValue.separator,
67
+ });
68
+ }
69
+ else {
70
+ result = listValue.get(0);
71
+ }
72
+ return result;
73
+ },
74
+ },
75
+ });
76
+ }
77
+ catch (e) {
78
+ // debugger;
79
+ return new sass.SassString(str);
80
+ }
81
+ return result;
82
+ };
83
+ exports.parseString = parseString;
@@ -1,81 +1,81 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.optimizeCss = exports.removeExternalResources = exports.fixSwatchCss = exports.autoPrefix = exports.cleanCss = exports.addInfoHeader = exports.addBasePath = void 0;
16
- const clean_css_1 = __importDefault(require("clean-css"));
17
- const autoprefixer_1 = __importDefault(require("autoprefixer"));
18
- const postcss_1 = __importDefault(require("postcss"));
19
- const clean_css_options_json_1 = __importDefault(require("../data/clean-css-options.json"));
20
- // eslint-disable-next-line import/extensions
21
- const dx_theme_builder_metadata_1 = require("../data/metadata/dx-theme-builder-metadata");
22
- function addBasePath(css, basePath) {
23
- const normalizedPath = `${basePath.replace(/[/\\]$/, '')}/`;
24
- return css.toString().replace(/(url\()("|')?(icons|fonts)/g, `$1$2${normalizedPath}$3`);
25
- }
26
- exports.addBasePath = addBasePath;
27
- function addInfoHeader(css, version) {
28
- const generatedBy = '* Generated by the DevExpress ThemeBuilder';
29
- const versionString = `* Version: ${version}`;
30
- const link = '* http://js.devexpress.com/ThemeBuilder/';
31
- const header = `/*${generatedBy}\n${versionString}\n${link}\n*/\n\n`;
32
- const source = css.toString();
33
- const encoding = '@charset "UTF-8";';
34
- if (source.startsWith(encoding)) {
35
- return `${encoding}\n${header}${source.replace(`${encoding}\n`, '')}`;
36
- }
37
- return `${header}${css}`;
38
- }
39
- exports.addInfoHeader = addInfoHeader;
40
- function cleanCss(css) {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- const promiseOptions = { returnPromise: true };
43
- const options = Object.assign(Object.assign({}, clean_css_options_json_1.default), promiseOptions);
44
- const cleaner = new clean_css_1.default(options);
45
- return (yield cleaner.minify(css)).styles;
46
- });
47
- }
48
- exports.cleanCss = cleanCss;
49
- function autoPrefix(css) {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- return (yield (0, postcss_1.default)((0, autoprefixer_1.default)({
52
- overrideBrowserslist: dx_theme_builder_metadata_1.browsersList,
53
- })).process(css, {
54
- from: undefined,
55
- })).css;
56
- });
57
- }
58
- exports.autoPrefix = autoPrefix;
59
- function fixSwatchCss(css, swatchClass, colorScheme) {
60
- let result = css.toString();
61
- const escapedSelector = swatchClass.replace('.', '\\.');
62
- const swatchOrderRegex = new RegExp(`([ \\t]*)([\\w\\.#:\\*][\\w\\.#:\\*\\->()\\s]*)(${escapedSelector}\\s)([^,{+~]*)`, 'gm');
63
- const changeTypographyRulesOrderRegex = /(\.dx-swatch-.*?)\s(\.dx-theme-.*?-typography)(.*?)(\s{|,)/g;
64
- const themeMarkerRegex = /(\.dx-theme-marker\s*{\s*font-family:\s*['"]dx\..*?\.)(.*)(['"])/g;
65
- result = result
66
- .replace(swatchOrderRegex, '$1$3$2$4')
67
- .replace(changeTypographyRulesOrderRegex, '$2 $1$3,$2$1$3$4')
68
- .replace(themeMarkerRegex, `$1${colorScheme}$3`);
69
- return result;
70
- }
71
- exports.fixSwatchCss = fixSwatchCss;
72
- function removeExternalResources(css) {
73
- const fontRegex = /^\s*@import\surl\(.*googleapis.*\);[\n\r]{0,2}/gmi;
74
- return css.replace(fontRegex, '');
75
- }
76
- exports.removeExternalResources = removeExternalResources;
77
- function optimizeCss(css) {
78
- const optimizedCss = css.replace(/rgba\(0,0,0,0\)/g, 'transparent');
79
- return optimizedCss;
80
- }
81
- exports.optimizeCss = optimizeCss;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.optimizeCss = exports.removeExternalResources = exports.fixSwatchCss = exports.autoPrefix = exports.cleanCss = exports.addInfoHeader = exports.addBasePath = void 0;
16
+ const clean_css_1 = __importDefault(require("clean-css"));
17
+ const autoprefixer_1 = __importDefault(require("autoprefixer"));
18
+ const postcss_1 = __importDefault(require("postcss"));
19
+ const clean_css_options_json_1 = __importDefault(require("../data/clean-css-options.json"));
20
+ // eslint-disable-next-line import/extensions
21
+ const dx_theme_builder_metadata_1 = require("../data/metadata/dx-theme-builder-metadata");
22
+ function addBasePath(css, basePath) {
23
+ const normalizedPath = `${basePath.replace(/[/\\]$/, '')}/`;
24
+ return css.toString().replace(/(url\()("|')?(icons|fonts)/g, `$1$2${normalizedPath}$3`);
25
+ }
26
+ exports.addBasePath = addBasePath;
27
+ function addInfoHeader(css, version) {
28
+ const generatedBy = '* Generated by the DevExpress ThemeBuilder';
29
+ const versionString = `* Version: ${version}`;
30
+ const link = '* http://js.devexpress.com/ThemeBuilder/';
31
+ const header = `/*${generatedBy}\n${versionString}\n${link}\n*/\n\n`;
32
+ const source = css.toString();
33
+ const encoding = '@charset "UTF-8";';
34
+ if (source.startsWith(encoding)) {
35
+ return `${encoding}\n${header}${source.replace(`${encoding}\n`, '')}`;
36
+ }
37
+ return `${header}${css}`;
38
+ }
39
+ exports.addInfoHeader = addInfoHeader;
40
+ function cleanCss(css) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ const promiseOptions = { returnPromise: true };
43
+ const options = Object.assign(Object.assign({}, clean_css_options_json_1.default), promiseOptions);
44
+ const cleaner = new clean_css_1.default(options);
45
+ return (yield cleaner.minify(css)).styles;
46
+ });
47
+ }
48
+ exports.cleanCss = cleanCss;
49
+ function autoPrefix(css) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ return (yield (0, postcss_1.default)((0, autoprefixer_1.default)({
52
+ overrideBrowserslist: dx_theme_builder_metadata_1.browsersList,
53
+ })).process(css, {
54
+ from: undefined,
55
+ })).css;
56
+ });
57
+ }
58
+ exports.autoPrefix = autoPrefix;
59
+ function fixSwatchCss(css, swatchClass, colorScheme) {
60
+ let result = css.toString();
61
+ const escapedSelector = swatchClass.replace('.', '\\.');
62
+ const swatchOrderRegex = new RegExp(`([ \\t]*)([\\w\\.#:\\*][\\w\\.#:\\*\\->()\\s]*)(${escapedSelector}\\s)([^,{+~]*)`, 'gm');
63
+ const changeTypographyRulesOrderRegex = /(\.dx-swatch-.*?)\s(\.dx-theme-.*?-typography)(.*?)(\s{|,)/g;
64
+ const themeMarkerRegex = /(\.dx-theme-marker\s*{\s*font-family:\s*['"]dx\..*?\.)(.*)(['"])/g;
65
+ result = result
66
+ .replace(swatchOrderRegex, '$1$3$2$4')
67
+ .replace(changeTypographyRulesOrderRegex, '$2 $1$3,$2$1$3$4')
68
+ .replace(themeMarkerRegex, `$1${colorScheme}$3`);
69
+ return result;
70
+ }
71
+ exports.fixSwatchCss = fixSwatchCss;
72
+ function removeExternalResources(css) {
73
+ const fontRegex = /^\s*@import\surl\(.*googleapis.*\);[\n\r]{0,2}/gmi;
74
+ return css.replace(fontRegex, '');
75
+ }
76
+ exports.removeExternalResources = removeExternalResources;
77
+ function optimizeCss(css) {
78
+ const optimizedCss = css.replace(/rgba\(0,0,0,0\)/g, 'transparent');
79
+ return optimizedCss;
80
+ }
81
+ exports.optimizeCss = optimizeCss;
@@ -1,24 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSassForSwatch = void 0;
4
- const SWATCH_SELECTOR_PREFIX = '.dx-swatch-';
5
- function createSassForSwatch(outColorScheme, sass) {
6
- const unchangedParts = [];
7
- const importRegex = /@import .*?;\n/g;
8
- const fontFaceRegex = /@font-face\s*{.*?}\n/gs;
9
- const replaceHandler = (substring) => {
10
- unchangedParts.push(substring);
11
- return '';
12
- };
13
- let source = sass.toString();
14
- source = source
15
- .replace(importRegex, replaceHandler)
16
- .replace(fontFaceRegex, replaceHandler);
17
- const selector = SWATCH_SELECTOR_PREFIX + outColorScheme;
18
- const cleanSass = source.replace('@charset "UTF-8";', '');
19
- return {
20
- sass: `${unchangedParts.join('')}${selector} { ${cleanSass} };`,
21
- selector,
22
- };
23
- }
24
- exports.createSassForSwatch = createSassForSwatch;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSassForSwatch = void 0;
4
+ const SWATCH_SELECTOR_PREFIX = '.dx-swatch-';
5
+ function createSassForSwatch(outColorScheme, sass) {
6
+ const unchangedParts = [];
7
+ const importRegex = /@import .*?;\n/g;
8
+ const fontFaceRegex = /@font-face\s*{.*?}\n/gs;
9
+ const replaceHandler = (substring) => {
10
+ unchangedParts.push(substring);
11
+ return '';
12
+ };
13
+ let source = sass.toString();
14
+ source = source
15
+ .replace(importRegex, replaceHandler)
16
+ .replace(fontFaceRegex, replaceHandler);
17
+ const selector = SWATCH_SELECTOR_PREFIX + outColorScheme;
18
+ const cleanSass = source.replace('@charset "UTF-8";', '');
19
+ return {
20
+ sass: `${unchangedParts.join('')}${selector} { ${cleanSass} };`,
21
+ selector,
22
+ };
23
+ }
24
+ exports.createSassForSwatch = createSassForSwatch;