@ihk-gfi/lux-components-update 13.3.0 → 14.0.1

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 (141) hide show
  1. package/README.md +2 -2
  2. package/package.json +10 -8
  3. package/src/add-lux-components/files/app/app-routing.module.ts +2 -0
  4. package/src/add-lux-components/files/app/app.component.html +7 -2
  5. package/src/add-lux-components/files/app/app.component.ts +9 -1
  6. package/src/add-lux-components/files/app/app.module.ts +6 -1
  7. package/src/add-lux-components/files/app/base/license-hint/license-hint.component.html +7 -0
  8. package/src/add-lux-components/files/app/base/license-hint/license-hint.component.ts +18 -0
  9. package/src/add-lux-components/files/app/home/home.component.scss +3 -0
  10. package/src/add-lux-components/files/assets/svg/Example.svg +6 -0
  11. package/src/add-lux-components/files/assets/svg/android.svg +2 -0
  12. package/src/add-lux-components/files/assets/svg/box.svg +690 -0
  13. package/src/add-lux-components/files/assets/svg/demoAppLogo.svg +1 -0
  14. package/src/add-lux-components/files/assets/svg/red_power_button.svg +67 -0
  15. package/src/add-lux-components/files/assets/svg/svg2009.svg +57457 -0
  16. package/src/add-lux-components/files/environments/environment.ts +2 -2
  17. package/src/add-lux-components/files/locale/messages.en.xlf +544 -373
  18. package/src/add-lux-components/files/locale/messages.xlf +517 -352
  19. package/src/add-lux-components/files/src/polyfills.ts +29 -39
  20. package/src/add-lux-components/index.d.ts +1 -1
  21. package/src/add-lux-components/index.js +47 -26
  22. package/src/add-lux-components/index.js.map +1 -1
  23. package/src/add-lux-components/index.ts +50 -31
  24. package/src/add-lux-components/index_spec.js +3 -3
  25. package/src/add-lux-components/index_spec.ts +1 -1
  26. package/src/collection.json +13 -19
  27. package/src/theme/change-theme-to-authentic/index.d.ts +4 -0
  28. package/src/theme/change-theme-to-authentic/index.js +129 -0
  29. package/src/theme/change-theme-to-authentic/index.js.map +1 -0
  30. package/src/theme/change-theme-to-authentic/index.ts +131 -0
  31. package/src/{updates/update130000 → theme/change-theme-to-authentic}/index_spec.d.ts +0 -0
  32. package/src/theme/change-theme-to-authentic/index_spec.js +300 -0
  33. package/src/theme/change-theme-to-authentic/index_spec.js.map +1 -0
  34. package/src/theme/change-theme-to-authentic/index_spec.ts +321 -0
  35. package/src/{updates/update130300 → theme/change-theme-to-authentic}/schema.json +3 -3
  36. package/src/theme/change-to-lux-icons/index.d.ts +2 -0
  37. package/src/theme/change-to-lux-icons/index.js +383 -0
  38. package/src/theme/change-to-lux-icons/index.js.map +1 -0
  39. package/src/theme/change-to-lux-icons/index.ts +392 -0
  40. package/src/{updates/update130100 → theme/change-to-lux-icons}/index_spec.d.ts +0 -0
  41. package/src/theme/change-to-lux-icons/index_spec.js +128 -0
  42. package/src/theme/change-to-lux-icons/index_spec.js.map +1 -0
  43. package/src/theme/change-to-lux-icons/index_spec.ts +130 -0
  44. package/src/{updates/update130200 → theme/change-to-lux-icons}/schema.json +3 -3
  45. package/src/update-dependencies/index.d.ts +0 -3
  46. package/src/update-dependencies/index.js +70 -115
  47. package/src/update-dependencies/index.js.map +1 -1
  48. package/src/update-dependencies/index.ts +75 -120
  49. package/src/update-en-messages/index.js +18 -15
  50. package/src/update-en-messages/index.js.map +1 -1
  51. package/src/update-en-messages/index.ts +22 -16
  52. package/src/updates/update140000/files/src/polyfills.ts +70 -0
  53. package/src/updates/update140000/index.d.ts +14 -0
  54. package/src/updates/update140000/index.js +95 -0
  55. package/src/updates/update140000/index.js.map +1 -0
  56. package/src/updates/update140000/index.ts +110 -0
  57. package/src/updates/{update130200 → update140000}/index_spec.d.ts +0 -0
  58. package/src/updates/update140000/index_spec.js +165 -0
  59. package/src/updates/update140000/index_spec.js.map +1 -0
  60. package/src/updates/update140000/index_spec.ts +171 -0
  61. package/src/updates/{update130000 → update140000}/schema.json +0 -0
  62. package/src/utility/files.d.ts +2 -2
  63. package/src/utility/files.js +5 -5
  64. package/src/utility/files.js.map +1 -1
  65. package/src/utility/files.ts +5 -5
  66. package/src/utility/html/hit.d.ts +21 -0
  67. package/src/utility/html/hit.js +27 -0
  68. package/src/utility/html/hit.js.map +1 -0
  69. package/src/utility/html/hit.ts +28 -0
  70. package/src/utility/html/html-manipulator.d.ts +71 -0
  71. package/src/utility/html/html-manipulator.js +136 -0
  72. package/src/utility/html/html-manipulator.js.map +1 -0
  73. package/src/utility/html/html-manipulator.ts +156 -0
  74. package/src/utility/{html_spec.d.ts → html/html_spec.d.ts} +0 -0
  75. package/src/utility/{html_spec.js → html/html_spec.js} +232 -100
  76. package/src/utility/html/html_spec.js.map +1 -0
  77. package/src/utility/{html_spec.ts → html/html_spec.ts} +282 -106
  78. package/src/utility/html/manipulator-functions.d.ts +99 -0
  79. package/src/utility/html/manipulator-functions.js +147 -0
  80. package/src/utility/html/manipulator-functions.js.map +1 -0
  81. package/src/utility/html/manipulator-functions.ts +149 -0
  82. package/src/utility/json.d.ts +2 -2
  83. package/src/utility/json.js +16 -7
  84. package/src/utility/json.js.map +1 -1
  85. package/src/utility/json.ts +46 -26
  86. package/src/utility/json_spec.js +18 -18
  87. package/src/utility/json_spec.js.map +1 -1
  88. package/src/utility/json_spec.ts +136 -66
  89. package/src/utility/typescript.d.ts +3 -3
  90. package/src/utility/typescript.js +2 -2
  91. package/src/utility/typescript.js.map +1 -1
  92. package/src/utility/typescript.ts +3 -3
  93. package/src/utility/typescript_spec.js +0 -1
  94. package/src/utility/typescript_spec.js.map +1 -1
  95. package/src/utility/typescript_spec.ts +0 -2
  96. package/src/utility/util.d.ts +7 -6
  97. package/src/utility/util.js +12 -8
  98. package/src/utility/util.js.map +1 -1
  99. package/src/utility/util.ts +13 -10
  100. package/src/utility/validation.d.ts +2 -3
  101. package/src/utility/validation.js +2 -3
  102. package/src/utility/validation.js.map +1 -1
  103. package/src/utility/validation.ts +2 -3
  104. package/tsconfig.json +5 -7
  105. package/src/add-lux-components/files/scripts/.browserslistrc +0 -20
  106. package/src/updates/update130000/files/root/.browserslistrc +0 -20
  107. package/src/updates/update130000/index.d.ts +0 -27
  108. package/src/updates/update130000/index.js +0 -310
  109. package/src/updates/update130000/index.js.map +0 -1
  110. package/src/updates/update130000/index.ts +0 -362
  111. package/src/updates/update130000/index_spec.js +0 -584
  112. package/src/updates/update130000/index_spec.js.map +0 -1
  113. package/src/updates/update130000/index_spec.ts +0 -675
  114. package/src/updates/update130100/index.d.ts +0 -2
  115. package/src/updates/update130100/index.js +0 -27
  116. package/src/updates/update130100/index.js.map +0 -1
  117. package/src/updates/update130100/index.ts +0 -27
  118. package/src/updates/update130100/index_spec.js +0 -65
  119. package/src/updates/update130100/index_spec.js.map +0 -1
  120. package/src/updates/update130100/index_spec.ts +0 -69
  121. package/src/updates/update130100/schema.json +0 -23
  122. package/src/updates/update130200/index.d.ts +0 -2
  123. package/src/updates/update130200/index.js +0 -43
  124. package/src/updates/update130200/index.js.map +0 -1
  125. package/src/updates/update130200/index.ts +0 -41
  126. package/src/updates/update130200/index_spec.js +0 -106
  127. package/src/updates/update130200/index_spec.js.map +0 -1
  128. package/src/updates/update130200/index_spec.ts +0 -110
  129. package/src/updates/update130300/index.d.ts +0 -2
  130. package/src/updates/update130300/index.js +0 -35
  131. package/src/updates/update130300/index.js.map +0 -1
  132. package/src/updates/update130300/index.ts +0 -32
  133. package/src/updates/update130300/index_spec.d.ts +0 -1
  134. package/src/updates/update130300/index_spec.js +0 -85
  135. package/src/updates/update130300/index_spec.js.map +0 -1
  136. package/src/updates/update130300/index_spec.ts +0 -89
  137. package/src/utility/html.d.ts +0 -49
  138. package/src/utility/html.js +0 -246
  139. package/src/utility/html.js.map +0 -1
  140. package/src/utility/html.ts +0 -288
  141. package/src/utility/html_spec.js.map +0 -1
@@ -5,6 +5,7 @@ const schematics_1 = require("@angular-devkit/schematics");
5
5
  const cheerio_1 = require("cheerio");
6
6
  const logging_1 = require("../utility/logging");
7
7
  const util_1 = require("../utility/util");
8
+ const TRANS_UNIT_SELECTOR = 'trans-unit';
8
9
  function updateEnMessages() {
9
10
  return (0, schematics_1.chain)([
10
11
  (0, util_1.messageInfoRule)(`Die englischen Übersetzungen im Projekt werden aktualisiert...`),
@@ -23,17 +24,12 @@ function updateEnMessagesIntern() {
23
24
  const contentSDEn = readTransUnitFile(tree, filePathSDEn);
24
25
  const contentAPPEn = readTransUnitFile(tree, filePathAPPEn);
25
26
  const contentAPPDe = readTransUnitFile(tree, filePathAPPDe);
26
- const fnLCEEn = cheerio_1.default.load(contentLCEn, { xmlMode: true, decodeEntities: false });
27
- const fnSDEn = cheerio_1.default.load(contentSDEn, { xmlMode: true, decodeEntities: false });
28
- const fnAPPEn = cheerio_1.default.load(contentAPPEn, { xmlMode: true, decodeEntities: false });
29
- const fnAPPDe = cheerio_1.default.load(contentAPPDe, { xmlMode: true, decodeEntities: false });
30
- let newContent = `
31
- <?xml version="1.0" encoding="UTF-8" ?>
32
- <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
33
- <file source-language="en" datatype="plaintext" original="ng2.template">
34
- <body>
35
- `;
36
- fnAPPDe('trans-unit').each((i, element) => {
27
+ const fnLCEEn = (0, cheerio_1.load)(contentLCEn, { xmlMode: true, decodeEntities: false });
28
+ const fnSDEn = (0, cheerio_1.load)(contentSDEn, { xmlMode: true, decodeEntities: false });
29
+ const fnAPPEn = (0, cheerio_1.load)(contentAPPEn, { xmlMode: true, decodeEntities: false });
30
+ const fnAPPDe = (0, cheerio_1.load)(contentAPPDe, { xmlMode: true, decodeEntities: false });
31
+ let newContent = headerContent;
32
+ fnAPPDe(TRANS_UNIT_SELECTOR).each((_i, element) => {
37
33
  const id = fnAPPDe(element).attr('id');
38
34
  if (id === null || id === void 0 ? void 0 : id.startsWith('luxc.')) {
39
35
  const transUnit = fnLCEEn(`trans-unit[id="${id}"]`).first();
@@ -51,10 +47,7 @@ function updateEnMessagesIntern() {
51
47
  newContent += ' ' + fnAPPDe(element).toString() + '\n';
52
48
  }
53
49
  });
54
- newContent += `
55
- </body>
56
- </file>
57
- </xliff> `;
50
+ newContent += footerContent;
58
51
  (0, logging_1.logInfo)(`Die Datei '${filePathAPPEn}' wurde aktualisiert.`);
59
52
  if (!tree.exists(filePathAPPEn)) {
60
53
  tree.create(filePathAPPEn, newContent);
@@ -72,4 +65,14 @@ function readTransUnitFile(tree, filePath) {
72
65
  }
73
66
  return content;
74
67
  }
68
+ const headerContent = `
69
+ <?xml version="1.0" encoding="UTF-8" ?>
70
+ <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
71
+ <file source-language="en" datatype="plaintext" original="ng2.template">
72
+ <body>
73
+ `;
74
+ const footerContent = `
75
+ </body>
76
+ </file>
77
+ </xliff> `;
75
78
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import { chain, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';
2
- import cheerio from 'cheerio';
2
+ import { load } from 'cheerio';
3
3
  import { logInfo } from '../utility/logging';
4
4
  import { messageInfoRule } from '../utility/util';
5
5
 
6
+ const TRANS_UNIT_SELECTOR: string = 'trans-unit';
7
+
6
8
  export function updateEnMessages(): Rule {
7
9
  return chain([
8
10
  messageInfoRule(`Die englischen Übersetzungen im Projekt werden aktualisiert...`),
@@ -23,19 +25,14 @@ function updateEnMessagesIntern(): Rule {
23
25
  const contentAPPEn = readTransUnitFile(tree, filePathAPPEn);
24
26
  const contentAPPDe = readTransUnitFile(tree, filePathAPPDe);
25
27
 
26
- const fnLCEEn = cheerio.load(contentLCEn, { xmlMode: true, decodeEntities: false });
27
- const fnSDEn = cheerio.load(contentSDEn, { xmlMode: true, decodeEntities: false });
28
- const fnAPPEn = cheerio.load(contentAPPEn, { xmlMode: true, decodeEntities: false });
29
- const fnAPPDe = cheerio.load(contentAPPDe, { xmlMode: true, decodeEntities: false });
28
+ const fnLCEEn = load(contentLCEn, { xmlMode: true, decodeEntities: false });
29
+ const fnSDEn = load(contentSDEn, { xmlMode: true, decodeEntities: false });
30
+ const fnAPPEn = load(contentAPPEn, { xmlMode: true, decodeEntities: false });
31
+ const fnAPPDe = load(contentAPPDe, { xmlMode: true, decodeEntities: false });
30
32
 
31
- let newContent = `
32
- <?xml version="1.0" encoding="UTF-8" ?>
33
- <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
34
- <file source-language="en" datatype="plaintext" original="ng2.template">
35
- <body>
36
- `;
33
+ let newContent = headerContent;
37
34
 
38
- fnAPPDe('trans-unit').each((i, element) => {
35
+ fnAPPDe(TRANS_UNIT_SELECTOR).each((_i, element) => {
39
36
  const id = fnAPPDe(element).attr('id');
40
37
  if (id?.startsWith('luxc.')) {
41
38
  const transUnit = fnLCEEn(`trans-unit[id="${ id }"]`).first();
@@ -52,10 +49,7 @@ function updateEnMessagesIntern(): Rule {
52
49
  }
53
50
  });
54
51
 
55
- newContent += `
56
- </body>
57
- </file>
58
- </xliff> `;
52
+ newContent += footerContent;
59
53
 
60
54
  logInfo(`Die Datei '${ filePathAPPEn }' wurde aktualisiert.`);
61
55
  if (!tree.exists(filePathAPPEn)) {
@@ -76,3 +70,15 @@ function readTransUnitFile(tree: Tree, filePath: string): string {
76
70
 
77
71
  return content;
78
72
  }
73
+
74
+ const headerContent = `
75
+ <?xml version="1.0" encoding="UTF-8" ?>
76
+ <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
77
+ <file source-language="en" datatype="plaintext" original="ng2.template">
78
+ <body>
79
+ `;
80
+
81
+ const footerContent = `
82
+ </body>
83
+ </file>
84
+ </xliff> `;
@@ -0,0 +1,70 @@
1
+ /***************************************************************************************************
2
+ * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.
3
+ */
4
+ import '@angular/localize/init';
5
+
6
+ /**
7
+ * This file includes polyfills needed by Angular and is loaded before the app.
8
+ * You can add your own extra polyfills to this file.
9
+ *
10
+ * This file is divided into 2 sections:
11
+ * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
12
+ * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
13
+ * file.
14
+ *
15
+ * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
16
+ * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
17
+ * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
18
+ *
19
+ * Learn more in https://angular.io/guide/browser-support
20
+ */
21
+
22
+ /***************************************************************************************************
23
+ * BROWSER POLYFILLS
24
+ */
25
+
26
+ /**
27
+ * IE11 requires the following for NgClass support on SVG elements
28
+ */
29
+ // import 'classlist.js'; // Run `npm install --save classlist.js`.
30
+
31
+ /**
32
+ * Web Animations `@angular/platform-browser/animations`
33
+ * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
34
+ * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
35
+ */
36
+ // import 'web-animations-js'; // Run `npm install --save web-animations-js`.
37
+
38
+ /**
39
+ * By default, zone.js will patch all possible macroTask and DomEvents
40
+ * user can disable parts of macroTask/DomEvents patch by setting following flags
41
+ * because those flags need to be set before `zone.js` being loaded, and webpack
42
+ * will put import in the top of bundle, so user need to create a separate file
43
+ * in this directory (for example: zone-flags.ts), and put the following flags
44
+ * into that file, and then add the following code before importing zone.js.
45
+ * import './zone-flags';
46
+ *
47
+ * The flags allowed in zone-flags.ts are listed here.
48
+ *
49
+ * The following flags will work for all browsers.
50
+ *
51
+ * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
52
+ * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
53
+ * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
54
+ *
55
+ * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
56
+ * with the following flag, it will bypass `zone.js` patch for IE/Edge
57
+ *
58
+ * (window as any).__Zone_enable_cross_context_check = true;
59
+ *
60
+ */
61
+
62
+ /***************************************************************************************************
63
+ * Zone JS is required by default for Angular itself.
64
+ */
65
+ import 'zone.js'; // Included with Angular CLI.
66
+
67
+
68
+ /***************************************************************************************************
69
+ * APPLICATION IMPORTS
70
+ */
@@ -0,0 +1,14 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ export declare const updateMajorVersion = "14";
3
+ export declare const updateMinVersion = "13.3.0";
4
+ export declare const updateNodeMinVersion = "16.0.0";
5
+ export declare const iconAssetBlock: {
6
+ glob: string;
7
+ input: string;
8
+ output: string;
9
+ };
10
+ export declare function update(options: any): Rule;
11
+ export declare function updateProject(options: any): Rule;
12
+ export declare function addIconAssets(options: any): Rule;
13
+ export declare function renameLuxSelectedFiles(options: any): Rule;
14
+ export declare function copyFiles(options: any): Rule;
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.copyFiles = exports.renameLuxSelectedFiles = exports.addIconAssets = exports.updateProject = exports.update = exports.iconAssetBlock = exports.updateNodeMinVersion = exports.updateMinVersion = exports.updateMajorVersion = void 0;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const chalk = require("chalk");
6
+ const index_1 = require("../../update-dependencies/index");
7
+ const files_1 = require("../../utility/files");
8
+ const html_manipulator_1 = require("../../utility/html/html-manipulator");
9
+ const manipulator_functions_1 = require("../../utility/html/manipulator-functions");
10
+ const json_1 = require("../../utility/json");
11
+ const logging_1 = require("../../utility/logging");
12
+ const util_1 = require("../../utility/util");
13
+ const validation_1 = require("../../utility/validation");
14
+ exports.updateMajorVersion = '14';
15
+ exports.updateMinVersion = '13.3.0';
16
+ exports.updateNodeMinVersion = '16.0.0';
17
+ exports.iconAssetBlock = {
18
+ "glob": "**/*",
19
+ "input": "./node_modules/@ihk-gfi/lux-components-icons-and-fonts/assets/icons/",
20
+ "output": "./assets/icons"
21
+ };
22
+ function update(options) {
23
+ return (_tree, _context) => {
24
+ return (0, schematics_1.chain)([
25
+ check(options),
26
+ (0, util_1.applyRuleIf)(exports.updateMinVersion, updateProject(options)),
27
+ (0, util_1.finish)(false, `${chalk.yellowBright('Wichtig!!!')} Hinweise im Update Guide beachten -> https://github.com/IHK-GfI/lux-components/wiki/update-guide-${exports.updateMajorVersion}`)
28
+ ]);
29
+ };
30
+ }
31
+ exports.update = update;
32
+ function updateProject(options) {
33
+ return (_tree, _context) => {
34
+ return (0, schematics_1.chain)([
35
+ (0, util_1.messageInfoRule)(`LUX-Components ${exports.updateMajorVersion} werden aktualisiert...`),
36
+ addIconAssets(options),
37
+ copyFiles(options),
38
+ renameLuxSelectedFiles(options),
39
+ (0, index_1.updateDependencies)(),
40
+ (0, util_1.messageSuccessRule)(`LUX-Components ${exports.updateMajorVersion} wurden aktualisiert.`)
41
+ ]);
42
+ };
43
+ }
44
+ exports.updateProject = updateProject;
45
+ function addIconAssets(options) {
46
+ const assetPath = ['projects', options.project, 'architect', 'build', 'options', 'assets'];
47
+ const testAssetPath = ['projects', options.project, 'architect', 'test', 'options', 'assets'];
48
+ return (0, schematics_1.chain)([
49
+ (0, util_1.messageInfoRule)(`Die LUX-Iconpfade werden in den Asset-Abschnitten ergänzt...`),
50
+ (0, json_1.updateJsonArray)('/angular.json', assetPath, exports.iconAssetBlock),
51
+ (0, json_1.updateJsonArray)('/angular.json', testAssetPath, exports.iconAssetBlock),
52
+ (0, util_1.messageSuccessRule)(`Die LUX-Iconpfade wurden in den Asset-Abschnitten ergänzt.`),
53
+ ]);
54
+ }
55
+ exports.addIconAssets = addIconAssets;
56
+ function renameLuxSelectedFiles(options) {
57
+ return (0, schematics_1.chain)([
58
+ (0, util_1.messageInfoRule)(`Das Attribut "luxSelectedFiles" wird umbenannt in "luxSelected"...`),
59
+ (tree, _context) => {
60
+ (0, files_1.iterateFilesAndModifyContent)(tree, options.path, (filePath, content) => {
61
+ let result = content;
62
+ result = html_manipulator_1.HtmlManipulator.transform(result, 'lux-file-input', (0, manipulator_functions_1.renameAttrFn)('luxSelectedFiles', 'luxSelected'));
63
+ result = html_manipulator_1.HtmlManipulator.transform(result, 'lux-file-list', (0, manipulator_functions_1.renameAttrFn)('luxSelectedFiles', 'luxSelected'));
64
+ result = html_manipulator_1.HtmlManipulator.transform(result, 'lux-file-upload', (0, manipulator_functions_1.renameAttrFn)('luxSelectedFiles', 'luxSelected'));
65
+ result = html_manipulator_1.HtmlManipulator.transform(result, 'lux-file-input', (0, manipulator_functions_1.renameAttrFn)('luxSelectedFilesChange', 'luxSelectedChange'));
66
+ result = html_manipulator_1.HtmlManipulator.transform(result, 'lux-file-list', (0, manipulator_functions_1.renameAttrFn)('luxSelectedFilesChange', 'luxSelectedChange'));
67
+ result = html_manipulator_1.HtmlManipulator.transform(result, 'lux-file-upload', (0, manipulator_functions_1.renameAttrFn)('luxSelectedFilesChange', 'luxSelectedChange'));
68
+ if (content !== result) {
69
+ (0, logging_1.logInfo)(filePath + ' wurde angepasst.');
70
+ tree.overwrite(filePath, result);
71
+ }
72
+ }, '.component.html');
73
+ },
74
+ (0, util_1.messageSuccessRule)(`Das Attribut "luxSelectedFiles" wurde umbenannt in "luxSelected".`)
75
+ ]);
76
+ }
77
+ exports.renameLuxSelectedFiles = renameLuxSelectedFiles;
78
+ function copyFiles(options) {
79
+ return (0, schematics_1.chain)([
80
+ (0, util_1.messageInfoRule)(`Dateien werden kopiert...`),
81
+ (0, files_1.moveFilesToDirectory)(options, 'files/src', '/src'),
82
+ (0, util_1.messageSuccessRule)(`Dateien wurden kopiert.`)
83
+ ]);
84
+ }
85
+ exports.copyFiles = copyFiles;
86
+ function check(_options) {
87
+ return (tree, _context) => {
88
+ (0, logging_1.logInfoWithDescriptor)(`Vorbedingungen werden geprüft...`);
89
+ (0, validation_1.validateNodeVersion)(_context, exports.updateNodeMinVersion);
90
+ (0, validation_1.validateLuxComponentsVersion)(tree, `${exports.updateMinVersion} || ^${exports.updateMajorVersion}.0.0`);
91
+ (0, logging_1.logSuccess)(`Vorbedingungen wurden geprüft.`);
92
+ return tree;
93
+ };
94
+ }
95
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ import { chain, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';
2
+ import * as chalk from 'chalk';
3
+ import { updateDependencies } from '../../update-dependencies/index';
4
+ import { iterateFilesAndModifyContent, moveFilesToDirectory } from '../../utility/files';
5
+ import { HtmlManipulator as Html } from '../../utility/html/html-manipulator';
6
+ import { renameAttrFn } from '../../utility/html/manipulator-functions';
7
+ import { updateJsonArray } from '../../utility/json';
8
+ import { logInfo, logInfoWithDescriptor, logSuccess } from '../../utility/logging';
9
+ import { applyRuleIf, finish, messageInfoRule, messageSuccessRule } from '../../utility/util';
10
+ import { validateLuxComponentsVersion, validateNodeVersion } from '../../utility/validation';
11
+
12
+ export const updateMajorVersion = '14';
13
+ export const updateMinVersion = '13.3.0';
14
+ export const updateNodeMinVersion = '16.0.0';
15
+
16
+ export const iconAssetBlock = {
17
+ "glob": "**/*",
18
+ "input": "./node_modules/@ihk-gfi/lux-components-icons-and-fonts/assets/icons/",
19
+ "output": "./assets/icons"
20
+ };
21
+
22
+ export function update(options: any): Rule {
23
+ return (_tree: Tree, _context: SchematicContext) => {
24
+ return chain([
25
+ check(options),
26
+ applyRuleIf(updateMinVersion, updateProject(options)),
27
+ finish(
28
+ false,
29
+ `${chalk.yellowBright(
30
+ 'Wichtig!!!'
31
+ )} Hinweise im Update Guide beachten -> https://github.com/IHK-GfI/lux-components/wiki/update-guide-${updateMajorVersion}`
32
+ )
33
+ ]);
34
+ };
35
+ }
36
+
37
+ export function updateProject(options: any): Rule {
38
+ return (_tree: Tree, _context: SchematicContext) => {
39
+ return chain([
40
+ messageInfoRule(`LUX-Components ${updateMajorVersion} werden aktualisiert...`),
41
+ addIconAssets(options),
42
+ copyFiles(options),
43
+ renameLuxSelectedFiles(options),
44
+ updateDependencies(),
45
+ messageSuccessRule(`LUX-Components ${updateMajorVersion} wurden aktualisiert.`)
46
+ ]);
47
+ };
48
+ }
49
+
50
+ export function addIconAssets(options: any): Rule {
51
+ const assetPath = ['projects', options.project, 'architect', 'build', 'options', 'assets'];
52
+ const testAssetPath = ['projects', options.project, 'architect', 'test', 'options', 'assets'];
53
+
54
+ return chain([
55
+ messageInfoRule(`Die LUX-Iconpfade werden in den Asset-Abschnitten ergänzt...`),
56
+ updateJsonArray('/angular.json', assetPath, iconAssetBlock),
57
+ updateJsonArray('/angular.json', testAssetPath, iconAssetBlock),
58
+ messageSuccessRule(`Die LUX-Iconpfade wurden in den Asset-Abschnitten ergänzt.`),
59
+ ]);
60
+ }
61
+
62
+ export function renameLuxSelectedFiles(options: any): Rule {
63
+ return chain([
64
+ messageInfoRule(`Das Attribut "luxSelectedFiles" wird umbenannt in "luxSelected"...`),
65
+ (tree: Tree, _context: SchematicContext) => {
66
+ iterateFilesAndModifyContent(
67
+ tree,
68
+ options.path,
69
+ (filePath: string, content: string) => {
70
+ let result = content;
71
+ result = Html.transform(result, 'lux-file-input', renameAttrFn('luxSelectedFiles', 'luxSelected'));
72
+ result = Html.transform(result, 'lux-file-list', renameAttrFn('luxSelectedFiles', 'luxSelected'));
73
+ result = Html.transform(result, 'lux-file-upload', renameAttrFn('luxSelectedFiles', 'luxSelected'));
74
+
75
+ result = Html.transform(result, 'lux-file-input', renameAttrFn('luxSelectedFilesChange', 'luxSelectedChange'));
76
+ result = Html.transform(result, 'lux-file-list', renameAttrFn('luxSelectedFilesChange', 'luxSelectedChange'));
77
+ result = Html.transform(result, 'lux-file-upload', renameAttrFn('luxSelectedFilesChange', 'luxSelectedChange'));
78
+
79
+ if (content !== result) {
80
+ logInfo(filePath + ' wurde angepasst.');
81
+ tree.overwrite(filePath, result);
82
+ }
83
+ },
84
+ '.component.html'
85
+ );
86
+ },
87
+ messageSuccessRule(`Das Attribut "luxSelectedFiles" wurde umbenannt in "luxSelected".`)
88
+ ]);
89
+ }
90
+
91
+ export function copyFiles(options: any): Rule {
92
+ return chain([
93
+ messageInfoRule(`Dateien werden kopiert...`),
94
+ moveFilesToDirectory(options, 'files/src', '/src'),
95
+ messageSuccessRule(`Dateien wurden kopiert.`)
96
+ ]);
97
+ }
98
+
99
+ function check(_options: any): Rule {
100
+ return (tree: Tree, _context: SchematicContext) => {
101
+ logInfoWithDescriptor(`Vorbedingungen werden geprüft...`);
102
+
103
+ validateNodeVersion(_context, updateNodeMinVersion);
104
+ validateLuxComponentsVersion(tree, `${updateMinVersion} || ^${updateMajorVersion}.0.0`);
105
+
106
+ logSuccess(`Vorbedingungen wurden geprüft.`);
107
+
108
+ return tree;
109
+ };
110
+ }
@@ -0,0 +1,165 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const schematics_1 = require("@angular-devkit/schematics");
13
+ const testing_1 = require("@angular-devkit/schematics/testing");
14
+ const jsonc_parser_1 = require("jsonc-parser");
15
+ const path = require("path");
16
+ const rxjs_1 = require("rxjs");
17
+ const json_1 = require("../../utility/json");
18
+ const test_1 = require("../../utility/test");
19
+ const util_1 = require("../../utility/util");
20
+ const index_1 = require("./index");
21
+ describe('update140000', () => {
22
+ let appTree;
23
+ let runner;
24
+ let context;
25
+ const testOptions = {
26
+ project: '',
27
+ path: '/',
28
+ verbose: false
29
+ };
30
+ beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
31
+ const collectionPath = path.join(__dirname, '../../collection.json');
32
+ runner = new testing_1.SchematicTestRunner('schematics', collectionPath);
33
+ const collection = '@schematics/angular';
34
+ appTree = yield runner.runExternalSchematicAsync(collection, 'workspace', test_1.workspaceOptions).toPromise();
35
+ appTree = yield runner.runExternalSchematicAsync(collection, 'application', test_1.appOptions, appTree).toPromise();
36
+ context = runner.engine.createContext(runner.engine.createSchematic('update', runner.engine.createCollection(collectionPath)));
37
+ util_1.UtilConfig.defaultWaitMS = 0;
38
+ testOptions.project = test_1.appOptions.name;
39
+ testOptions.path = test_1.workspaceOptions.newProjectRoot + '/' + test_1.appOptions.name;
40
+ testOptions.verbose = true;
41
+ }));
42
+ describe('[Rule] addIconAssets', () => {
43
+ it('Sollte den LUX-Iconpfad in den Assets-Abschnitten ergänzen', (done) => {
44
+ const filePath = './angular.json';
45
+ appTree.overwrite(filePath, angularJsonIconAssets);
46
+ (0, schematics_1.callRule)((0, index_1.addIconAssets)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe({
47
+ next: (success) => {
48
+ var _a, _b;
49
+ const assetPath = ['projects', testOptions.project, 'architect', 'build', 'options', 'assets'];
50
+ const node = (0, jsonc_parser_1.findNodeAtLocation)((0, json_1.readJson)(success, filePath), assetPath);
51
+ expect(node).toBeDefined();
52
+ expect((_a = node === null || node === void 0 ? void 0 : node.children) === null || _a === void 0 ? void 0 : _a.length).toBe(3);
53
+ expect(JSON.stringify((0, jsonc_parser_1.getNodeValue)(node.children[2]))).toBe(JSON.stringify(index_1.iconAssetBlock));
54
+ const testAssetPath = ['projects', testOptions.project, 'architect', 'test', 'options', 'assets'];
55
+ const testNode = (0, jsonc_parser_1.findNodeAtLocation)((0, json_1.readJson)(success, filePath), testAssetPath);
56
+ expect(testNode).toBeDefined();
57
+ expect((_b = testNode === null || testNode === void 0 ? void 0 : testNode.children) === null || _b === void 0 ? void 0 : _b.length).toBe(3);
58
+ expect(JSON.stringify((0, jsonc_parser_1.getNodeValue)(testNode.children[2]))).toBe(JSON.stringify(index_1.iconAssetBlock));
59
+ done();
60
+ },
61
+ error: (reason) => expect(reason).toBeUndefined()
62
+ });
63
+ });
64
+ });
65
+ describe('[Rule] renameLuxSelectedFiles', () => {
66
+ it('Sollte das Attribut "luxSelectedFiles" in "luxSelected" umbenennen', (done) => {
67
+ const filePath = testOptions.path + '/renameLuxSelectedFiles/Test.component.html';
68
+ appTree.create(filePath, renameLuxSelectedFilesContent);
69
+ (0, schematics_1.callRule)((0, index_1.renameLuxSelectedFiles)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe({
70
+ next: (success) => {
71
+ var _a;
72
+ const content = (_a = success.read(filePath)) === null || _a === void 0 ? void 0 : _a.toString();
73
+ expect(content).toContain('<lux-file-input luxSelected="selected" (luxSelectedChange)="onSelected()"></lux-file-input>');
74
+ expect(content).toContain('<lux-file-input [luxSelected]="selected" (luxSelectedChange)="onSelected()"></lux-file-input>');
75
+ expect(content).toContain('<lux-file-input [(luxSelected)]="selected"></lux-file-input>');
76
+ expect(content).toContain('<lux-file-list luxSelected="selected" (luxSelectedChange)="onSelected()"></lux-file-list>');
77
+ expect(content).toContain('<lux-file-list [luxSelected]="selected" (luxSelectedChange)="onSelected()"></lux-file-list>');
78
+ expect(content).toContain('<lux-file-list [(luxSelected)]="selected"></lux-file-list>');
79
+ expect(content).toContain('<lux-file-upload luxSelected="selected" (luxSelectedChange)="onSelected()"></lux-file-upload>');
80
+ expect(content).toContain('<lux-file-upload [luxSelected]="selected" (luxSelectedChange)="onSelected()"></lux-file-upload>');
81
+ expect(content).toContain('<lux-file-upload [(luxSelected)]="selected"></lux-file-upload>');
82
+ done();
83
+ },
84
+ error: (reason) => expect(reason).toBeUndefined()
85
+ });
86
+ });
87
+ });
88
+ });
89
+ const renameLuxSelectedFilesContent = `
90
+ <lux-file-input luxSelectedFiles="selected" (luxSelectedFilesChange)="onSelected()"></lux-file-input>
91
+ <lux-file-input [luxSelectedFiles]="selected" (luxSelectedFilesChange)="onSelected()"></lux-file-input>
92
+ <lux-file-input [(luxSelectedFiles)]="selected"></lux-file-input>
93
+
94
+ <lux-file-list luxSelectedFiles="selected" (luxSelectedFilesChange)="onSelected()"></lux-file-list>
95
+ <lux-file-list [luxSelectedFiles]="selected" (luxSelectedFilesChange)="onSelected()"></lux-file-list>
96
+ <lux-file-list [(luxSelectedFiles)]="selected"></lux-file-list>
97
+
98
+ <lux-file-upload luxSelectedFiles="selected" (luxSelectedFilesChange)="onSelected()"></lux-file-upload>
99
+ <lux-file-upload [luxSelectedFiles]="selected" (luxSelectedFilesChange)="onSelected()"></lux-file-upload>
100
+ <lux-file-upload [(luxSelectedFiles)]="selected"></lux-file-upload>
101
+ `;
102
+ const angularJsonIconAssets = `
103
+ {
104
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
105
+ "version": 1,
106
+ "newProjectRoot": "projects",
107
+ "projects": {
108
+ "bar": {
109
+ "root": "",
110
+ "sourceRoot": "src",
111
+ "projectType": "application",
112
+ "i18n": {
113
+ "sourceLocale": {
114
+ "code": "de",
115
+ "baseHref": "/"
116
+ },
117
+ "locales": {
118
+ "en": "src/locale/messages.en.xlf"
119
+ }
120
+ },
121
+ "architect": {
122
+ "build": {
123
+ "builder": "ngx-build-plus:browser",
124
+ "options": {
125
+ "outputPath": "dist",
126
+ "index": "src/index.html",
127
+ "main": "src/main.ts",
128
+ "tsConfig": "src/tsconfig.app.json",
129
+ "polyfills": "src/polyfills.ts",
130
+ "localize": [
131
+ "de"
132
+ ],
133
+ "i18nMissingTranslation": "error",
134
+ "assets": [
135
+ "src/assets",
136
+ "src/favicon.ico"
137
+ ],
138
+ "styles": [
139
+ "src/styles.scss"
140
+ ]
141
+ },
142
+ },
143
+ "test": {
144
+ "builder": "ngx-build-plus:karma",
145
+ "options": {
146
+ "main": "src/test.ts",
147
+ "karmaConfig": "./karma.conf.js",
148
+ "polyfills": "src/polyfills.ts",
149
+ "tsConfig": "src/tsconfig.spec.json",
150
+ "scripts": [],
151
+ "styles": [
152
+ "src/styles.scss"
153
+ ],
154
+ "assets": [
155
+ "src/assets",
156
+ "src/favicon.ico"
157
+ ]
158
+ }
159
+ }
160
+ }
161
+ }
162
+ }
163
+ }
164
+ `;
165
+ //# sourceMappingURL=index_spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index_spec.js","sourceRoot":"","sources":["index_spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2DAAwE;AACxE,gEAAuF;AACvF,+CAAgE;AAChE,6BAA6B;AAC7B,+BAA0C;AAC1C,6CAA8C;AAC9C,6CAAkE;AAClE,6CAAgD;AAChD,mCAAgF;AAEhF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,OAAqB,CAAC;IAC1B,IAAI,MAA2B,CAAC;IAChC,IAAI,OAAyB,CAAC;IAE9B,MAAM,WAAW,GAAwD;QACvE,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,KAAK;KACf,CAAC;IAEF,UAAU,CAAC,GAAS,EAAE;QACpB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QACrE,MAAM,GAAG,IAAI,6BAAmB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAE/D,MAAM,UAAU,GAAG,qBAAqB,CAAC;QACzC,OAAO,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,UAAU,EAAE,WAAW,EAAE,uBAAgB,CAAC,CAAC,SAAS,EAAE,CAAC;QACxG,OAAO,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,UAAU,EAAE,aAAa,EAAE,iBAAU,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;QAE7G,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CACnC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CACxF,CAAC;QAEF,iBAAU,CAAC,aAAa,GAAG,CAAC,CAAC;QAE7B,WAAW,CAAC,OAAO,GAAG,iBAAU,CAAC,IAAI,CAAC;QACtC,WAAW,CAAC,IAAI,GAAG,uBAAgB,CAAC,cAAc,GAAG,GAAG,GAAG,iBAAU,CAAC,IAAI,CAAC;QAC3E,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;IAC7B,CAAC,CAAA,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,4DAA4D,EAAE,CAAC,IAAI,EAAE,EAAE;YACxE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;YAEnD,IAAA,qBAAQ,EAAC,IAAA,qBAAa,EAAC,WAAW,CAAC,EAAE,IAAA,SAAY,EAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC;gBAC7E,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;;oBAChB,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAC/F,MAAM,IAAI,GAAG,IAAA,iCAAkB,EAAC,IAAA,eAAQ,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;oBACxE,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC3B,MAAM,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,2BAAY,EAAC,IAAK,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAc,CAAC,CAAC,CAAC;oBAE9F,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAClG,MAAM,QAAQ,GAAG,IAAA,iCAAkB,EAAC,IAAA,eAAQ,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;oBAChF,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC/B,MAAM,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,2BAAY,EAAC,QAAS,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAc,CAAC,CAAC,CAAC;oBAElG,IAAI,EAAE,CAAC;gBACT,CAAC;gBACD,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE;aAClD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,oEAAoE,EAAE,CAAC,IAAI,EAAE,EAAE;YAChF,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,GAAG,6CAA6C,CAAC;YAClF,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;YAExD,IAAA,qBAAQ,EAAC,IAAA,8BAAsB,EAAC,WAAW,CAAC,EAAE,IAAA,SAAY,EAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC;gBACtF,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;;oBAChB,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,0CAAE,QAAQ,EAAE,CAAC;oBAEnD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,6FAA6F,CAAC,CAAC;oBACzH,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,+FAA+F,CAAC,CAAC;oBAC3H,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,8DAA8D,CAAC,CAAC;oBAE1F,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,2FAA2F,CAAC,CAAC;oBACvH,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,6FAA6F,CAAC,CAAC;oBACzH,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,4DAA4D,CAAC,CAAC;oBAExF,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,+FAA+F,CAAC,CAAC;oBAC3H,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iGAAiG,CAAC,CAAC;oBAC7H,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,gEAAgE,CAAC,CAAC;oBAC5F,IAAI,EAAE,CAAC;gBACT,CAAC;gBACD,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE;aAClD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAG;;;;;;;;;;;;CAYrC,CAAC;AAEF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8D7B,CAAC"}