@lucca-front/ng 10.0.5 → 10.0.6-rc.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucca-front/ng",
3
- "version": "10.0.5",
3
+ "version": "10.0.6-rc.1",
4
4
  "description": "A library of icons made by the team @Lucca",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,8 +29,8 @@
29
29
  "@angular/common": "^14.0.0",
30
30
  "@angular/core": "^14.0.0",
31
31
  "@angular/cdk": "^14.0.0",
32
- "@lucca-front/icons": "v10.0.5",
33
- "@lucca-front/scss": "v10.0.5",
32
+ "@lucca-front/icons": "v10.0.6-rc.1",
33
+ "@lucca-front/scss": "v10.0.6-rc.1",
34
34
  "@types/dompurify": "^2.3.0",
35
35
  "dompurify": "^2.3.0",
36
36
  "rxjs": "^6.0.0 || ^7.0.0"
@@ -18,7 +18,7 @@ function removeContainerIfEmpty(node) {
18
18
  nextOrParentNode.raws.semicolon = semicolon;
19
19
  }
20
20
  }
21
- if (!parent || parent.type === 'docment') {
21
+ if (!parent || parent.type === 'document') {
22
22
  return;
23
23
  }
24
24
  removeContainerIfEmpty(parent);
@@ -35,7 +35,7 @@ function addMixinImport(root, mixin, postCss, namespace = '') {
35
35
  importStr += ` as ${namespace}`;
36
36
  }
37
37
  const newImportRule = new postCss.AtRule({ name: 'use', params: importStr });
38
- addImport(root, newImportRule, lastImportRule);
38
+ return addImport(root, newImportRule, lastImportRule);
39
39
  }
40
40
  exports.addMixinImport = addMixinImport;
41
41
  function addImport(root, atRule, afterNode) {
@@ -53,18 +53,19 @@ function addImport(root, atRule, afterNode) {
53
53
  root.append(atRule);
54
54
  }
55
55
  }
56
+ return atRule;
56
57
  }
57
58
  exports.addImport = addImport;
58
- function addForwardRule(root, name, postCss) {
59
- let lastForwardRule;
60
- root.walkAtRules('forward', (rule) => {
61
- lastForwardRule = rule;
62
- });
63
- let afterNode = lastForwardRule;
59
+ function addForwardRule(root, name, postCss, afterNode) {
60
+ if (!afterNode) {
61
+ root.walkAtRules('forward', (rule) => {
62
+ afterNode = rule;
63
+ });
64
+ }
64
65
  if (!afterNode && root.first?.type === 'comment') {
65
66
  afterNode = root.first;
66
67
  }
67
- addImport(root, new postCss.AtRule({ name: 'forward', params: `'${name}'` }), afterNode);
68
+ return addImport(root, new postCss.AtRule({ name: 'forward', params: `'${name}'` }), afterNode);
68
69
  }
69
70
  exports.addForwardRule = addForwardRule;
70
71
  /**
@@ -2,62 +2,61 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCssImports = void 0;
4
4
  const classWithImports = [
5
- { cssClass: ['actionIcon'], cssImport: ['@lucca-front/scss/src/components/actionIcon'] },
6
- { cssClass: ['box'], cssImport: ['@lucca-front/scss/src/components/box'] },
7
- { cssClass: ['breadcrumbs'], cssImport: ['@lucca-front/scss/src/components/breadcrumbs'] },
8
- { cssClass: ['button'], cssImport: ['@lucca-front/scss/src/components/button'] },
9
- { cssClass: ['button-group'], cssImport: ['@lucca-front/scss/src/components/buttonGroup'] },
10
- { cssClass: ['callout'], cssImport: ['@lucca-front/scss/src/components/callout'] },
11
- { cssClass: ['card'], cssImport: ['@lucca-front/scss/src/components/card'] },
12
- { cssClass: ['checkbox'], cssImport: ['@lucca-front/scss/src/components/checkbox'] },
13
- { cssClass: ['chip'], cssImport: ['@lucca-front/scss/src/components/chip'] },
14
- { cssClass: ['code'], cssImport: ['@lucca-front/scss/src/components/code'] },
15
- { cssClass: ['collapse'], cssImport: ['@lucca-front/scss/src/components/collapse'] },
16
- { cssClass: ['container'], cssImport: ['@lucca-front/scss/src/components/container'] },
17
- { cssClass: ['contentSection'], cssImport: ['@lucca-front/scss/src/components/contentSection'] },
18
- { cssClass: ['titleSection'], cssImport: ['@lucca-front/scss/src/components/titleSection'] },
19
- { cssClass: ['divider'], cssImport: ['@lucca-front/scss/src/components/divider'] },
20
- { cssClass: ['emptyState'], cssImport: ['@lucca-front/scss/src/components/emptyState'] },
21
- { cssClass: ['errorPage'], cssImport: ['@lucca-front/scss/src/components/errorPage'] },
22
- { cssClass: ['textfield'], cssImport: ['@lucca-front/scss/src/components/field', '@lucca-front/scss/src/components/textfield'] },
23
- { cssClass: ['radiosfield'], cssImport: ['@lucca-front/scss/src/components/field', '@lucca-front/scss/src/components/radio'] },
24
- { cssClass: ['checkboxesfield'], cssImport: ['@lucca-front/scss/src/components/field', '@lucca-front/scss/src/components/checkbox'] },
25
- { cssClass: ['file'], cssImport: ['@lucca-front/scss/src/components/file'] },
26
- { cssClass: ['filters'], cssImport: ['@lucca-front/scss/src/components/filters'] },
27
- { cssClass: ['form-group'], cssImport: ['@lucca-front/scss/src/components/form'] },
28
- { cssClass: ['gauge'], cssImport: ['@lucca-front/scss/src/components/gauge'] },
29
- { cssClass: ['grid'], cssImport: ['@lucca-front/scss/src/components/grid'] },
30
- { cssClass: ['header'], cssImport: ['@lucca-front/scss/src/components/header'] },
31
- { cssClass: ['label'], cssImport: ['@lucca-front/scss/src/components/label'] },
32
- { cssClass: ['layout'], cssImport: ['@lucca-front/scss/src/components/layout'] },
33
- { cssClass: ['link'], cssImport: ['@lucca-front/scss/src/components/link'] },
34
- { cssClass: ['list'], cssImport: ['@lucca-front/scss/src/components/list'] },
35
- { cssClass: ['loading'], cssImport: ['@lucca-front/scss/src/components/loading'] },
36
- { cssClass: ['main-content'], cssImport: ['@lucca-front/scss/src/components/main'] },
37
- { cssClass: ['menu'], cssImport: ['@lucca-front/scss/src/components/menu'] },
38
- { cssClass: ['navSide'], cssImport: ['@lucca-front/scss/src/components/navside'], elements: ['lucca-sitemap'] },
39
- { cssClass: ['pageHeader'], cssImport: ['@lucca-front/scss/src/components/pageHeader'] },
40
- { cssClass: ['pagination'], cssImport: ['@lucca-front/scss/src/components/pagination'] },
41
- { cssClass: ['progress'], cssImport: ['@lucca-front/scss/src/components/progress'] },
42
- { cssClass: ['radio'], cssImport: ['@lucca-front/scss/src/components/radio'] },
43
- { cssClass: ['radioButtons'], cssImport: ['@lucca-front/scss/src/components/radioButtons'] },
44
- { cssClass: ['section'], cssImport: ['@lucca-front/scss/src/components/section'] },
45
- { cssClass: ['switch'], cssImport: ['@lucca-front/scss/src/components/switch'] },
46
- { cssClass: ['table'], cssImport: ['@lucca-front/scss/src/components/table'] },
47
- { cssClass: [/^mod-layoutFixed-.*/], cssImport: ['@lucca-front/scss/src/components/tableFixed'] },
48
- { cssClass: ['mod-sortable', 'table-head-row-cell-sortableButton'], cssImport: ['@lucca-front/scss/src/components/tableSorted'] },
49
- { cssClass: ['mod-stickyColumn', 'mod-stickyHeader'], cssImport: ['@lucca-front/scss/src/components/tableSticked'] },
50
- { cssClass: ['tag'], cssImport: ['@lucca-front/scss/src/components/tag'] },
51
- { cssClass: ['textfield'], cssImport: ['@lucca-front/scss/src/components/textfield'] },
52
- { cssClass: ['timeline'], cssImport: ['@lucca-front/scss/src/components/timeline'] },
53
5
  {
54
- cssClass: ['u-h1', 'u-h2', 'u-h3', 'u-h4', 'u-h5', 'u-h6'],
55
- cssImport: ['@lucca-front/scss/src/components/title'],
6
+ cssClasses: ['u-h1', 'u-h2', 'u-h3', 'u-h4', 'u-h5', 'u-h6'],
7
+ cssImports: ['@lucca-front/scss/src/components/title'],
56
8
  elements: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'],
57
9
  },
58
- { cssClass: ['toasts'], cssImport: ['@lucca-front/scss/src/components/toast'] },
59
- { cssClass: ['tableOfContent'], cssImport: ['@lucca-front/scss/src/components/tableOfContent'] },
60
- { cssClass: [/^u-.*/], cssImport: ['@lucca-front/scss/src/components/util'] },
10
+ { cssClasses: ['actionIcon'], cssImports: ['@lucca-front/scss/src/components/actionIcon'] },
11
+ { cssClasses: ['box'], cssImports: ['@lucca-front/scss/src/components/box'] },
12
+ { cssClasses: ['breadcrumbs'], cssImports: ['@lucca-front/scss/src/components/breadcrumbs'] },
13
+ { cssClasses: ['button-group'], cssImports: ['@lucca-front/scss/src/components/buttonGroup'] },
14
+ { cssClasses: ['button'], cssImports: ['@lucca-front/scss/src/components/button'] },
15
+ { cssClasses: ['callout'], cssImports: ['@lucca-front/scss/src/components/callout'] },
16
+ { cssClasses: ['card'], cssImports: ['@lucca-front/scss/src/components/card'] },
17
+ { cssClasses: ['checkbox'], cssImports: ['@lucca-front/scss/src/components/checkbox'] },
18
+ { cssClasses: ['checkboxesfield'], cssImports: ['@lucca-front/scss/src/components/field', '@lucca-front/scss/src/components/checkbox'] },
19
+ { cssClasses: ['chip'], cssImports: ['@lucca-front/scss/src/components/chip'] },
20
+ { cssClasses: ['code'], cssImports: ['@lucca-front/scss/src/components/code'] },
21
+ { cssClasses: ['collapse'], cssImports: ['@lucca-front/scss/src/components/collapse'] },
22
+ { cssClasses: ['container'], cssImports: ['@lucca-front/scss/src/components/container'] },
23
+ { cssClasses: ['contentSection'], cssImports: ['@lucca-front/scss/src/components/contentSection'] },
24
+ { cssClasses: ['divider'], cssImports: ['@lucca-front/scss/src/components/divider'], elements: ['hr'] },
25
+ { cssClasses: ['emptyState'], cssImports: ['@lucca-front/scss/src/components/emptyState'] },
26
+ { cssClasses: ['errorPage'], cssImports: ['@lucca-front/scss/src/components/errorPage'] },
27
+ { cssClasses: ['file'], cssImports: ['@lucca-front/scss/src/components/file'] },
28
+ { cssClasses: ['filters'], cssImports: ['@lucca-front/scss/src/components/filters'] },
29
+ { cssClasses: ['form-group'], cssImports: ['@lucca-front/scss/src/components/form'] },
30
+ { cssClasses: ['gauge'], cssImports: ['@lucca-front/scss/src/components/gauge'] },
31
+ { cssClasses: ['grid'], cssImports: ['@lucca-front/scss/src/components/grid'] },
32
+ { cssClasses: ['header'], cssImports: ['@lucca-front/scss/src/components/header'] },
33
+ { cssClasses: ['label'], cssImports: ['@lucca-front/scss/src/components/label'] },
34
+ { cssClasses: ['layout'], cssImports: ['@lucca-front/scss/src/components/layout'] },
35
+ { cssClasses: ['link'], cssImports: ['@lucca-front/scss/src/components/link'] },
36
+ { cssClasses: ['list'], cssImports: ['@lucca-front/scss/src/components/list'] },
37
+ { cssClasses: ['loading'], cssImports: ['@lucca-front/scss/src/components/loading'] },
38
+ { cssClasses: ['main-content'], cssImports: ['@lucca-front/scss/src/components/main'] },
39
+ { cssClasses: ['menu'], cssImports: ['@lucca-front/scss/src/components/menu'] },
40
+ { cssClasses: ['mod-sortable', 'table-head-row-cell-sortableButton'], cssImports: ['@lucca-front/scss/src/components/tableSorted'] },
41
+ { cssClasses: ['mod-stickyColumn', 'mod-stickyHeader'], cssImports: ['@lucca-front/scss/src/components/tableSticked'] },
42
+ { cssClasses: ['navSide'], cssImports: ['@lucca-front/scss/src/components/navside'], elements: ['lucca-sitemap'] },
43
+ { cssClasses: ['pageHeader'], cssImports: ['@lucca-front/scss/src/components/pageHeader'] },
44
+ { cssClasses: ['pagination'], cssImports: ['@lucca-front/scss/src/components/pagination'] },
45
+ { cssClasses: ['progress'], cssImports: ['@lucca-front/scss/src/components/progress'] },
46
+ { cssClasses: ['radio'], cssImports: ['@lucca-front/scss/src/components/radio'] },
47
+ { cssClasses: ['radioButtons'], cssImports: ['@lucca-front/scss/src/components/radioButtons'] },
48
+ { cssClasses: ['radiosfield'], cssImports: ['@lucca-front/scss/src/components/field', '@lucca-front/scss/src/components/radio'] },
49
+ { cssClasses: ['section'], cssImports: ['@lucca-front/scss/src/components/section'] },
50
+ { cssClasses: ['switch'], cssImports: ['@lucca-front/scss/src/components/switch'] },
51
+ { cssClasses: ['table'], cssImports: ['@lucca-front/scss/src/components/table'] },
52
+ { cssClasses: ['tableOfContent'], cssImports: ['@lucca-front/scss/src/components/tableOfContent'] },
53
+ { cssClasses: ['tag'], cssImports: ['@lucca-front/scss/src/components/tag'] },
54
+ { cssClasses: ['textfield'], cssImports: ['@lucca-front/scss/src/components/field', '@lucca-front/scss/src/components/textfield'] },
55
+ { cssClasses: ['timeline'], cssImports: ['@lucca-front/scss/src/components/timeline'] },
56
+ { cssClasses: ['titleSection'], cssImports: ['@lucca-front/scss/src/components/titleSection'] },
57
+ { cssClasses: ['toasts'], cssImports: ['@lucca-front/scss/src/components/toast'] },
58
+ { cssClasses: [/^mod-layoutFixed-.*/], cssImports: ['@lucca-front/scss/src/components/tableFixed'] },
59
+ { cssClasses: [/^u-.*/], cssImports: ['@lucca-front/scss/src/components/util'] },
61
60
  ];
62
61
  function getCssImports(allVisitedClasses, allVisitedElements) {
63
62
  const exactCssClasses = {};
@@ -65,16 +64,16 @@ function getCssImports(allVisitedClasses, allVisitedElements) {
65
64
  const regexpCssTests = [];
66
65
  // Pre-compute classWithImports for performance optimization
67
66
  for (const classWithImport of classWithImports) {
68
- for (const cssClass of classWithImport.cssClass) {
67
+ for (const cssClass of classWithImport.cssClasses) {
69
68
  if (typeof cssClass === 'string') {
70
- exactCssClasses[cssClass] = classWithImport.cssImport;
69
+ exactCssClasses[cssClass] = classWithImport.cssImports;
71
70
  }
72
71
  else {
73
- regexpCssTests.push((css) => (css.match(cssClass) ? classWithImport.cssImport : null));
72
+ regexpCssTests.push((css) => (css.match(cssClass) ? classWithImport.cssImports : null));
74
73
  }
75
74
  }
76
75
  for (const element of classWithImport.elements || []) {
77
- exactCssElements[element] = classWithImport.cssImport;
76
+ exactCssElements[element] = classWithImport.cssImports;
78
77
  }
79
78
  }
80
79
  const imports = new Set();
@@ -55,15 +55,15 @@ function migrateScssFile(content, postCss, postCssScss, postcssValueParser) {
55
55
  exports.migrateScssFile = migrateScssFile;
56
56
  function optimizeScssGlobalImport(content, cssImports, postCss, postCssScss) {
57
57
  const root = postCssScss.parse(content);
58
- let hasGlobalImport = false;
58
+ let startImport = null;
59
59
  root.walkAtRules('forward', (rule) => {
60
60
  if (rule.params.includes('@lucca-front/scss/src/main')) {
61
- hasGlobalImport = true;
61
+ startImport = rule;
62
62
  }
63
63
  });
64
- if (hasGlobalImport) {
64
+ if (startImport) {
65
65
  for (const cssImport of cssImports) {
66
- (0, scss_ast_js_1.addForwardRule)(root, cssImport, postCss);
66
+ startImport = (0, scss_ast_js_1.addForwardRule)(root, cssImport, postCss, startImport);
67
67
  }
68
68
  }
69
69
  return root.toResult({ syntax: { stringify: postCssScss.stringify } }).css;
@@ -73,6 +73,8 @@ const classMigrationMap = {
73
73
  'u-fontWeightBold': 'u-fontWeight600',
74
74
  'u-order1': 'u-flexOrder1',
75
75
  'u-order-1': 'u-flexOrderMinus1',
76
+ 'u-right': 'u-floatRight',
77
+ 'u-left': 'u-floatLeft',
76
78
  };
77
79
  function migrateHTMLFile(path, content, angularCompiler) {
78
80
  return path.endsWith('index.html') ? migrateIndexHTMLFile(content, angularCompiler) : (0, html_ast_js_1.updateCssClassNames)(content, classMigrationMap, angularCompiler);
@@ -129,7 +129,7 @@ describe('CSS Vars Migration', () => {
129
129
  tree.create('app.component.html', '<button type="button" class="button">Test</button>');
130
130
  tree.create('table.component.html', '<table class="table mod-sortable" [class.mod-stickyColumn]="true"></table>');
131
131
  tree.create('util.component.html', '<div class="u-marginTopStandard">LOL</div>');
132
- tree.create('styles.scss', "@import '@lucca-front/scss/src/main.overridable';");
132
+ tree.create('styles.scss', "@import '@lucca-front/scss/src/main.overridable';\n@import '@lucca-front/ng/style/main.overridable';");
133
133
  const schematicRunner = new testing_1.SchematicTestRunner('migrations', collectionPath);
134
134
  // migration-v10-css-vars is the name of the migration, which is defined in the migration.json file
135
135
  await schematicRunner.runSchematicAsync('migration-v10-css-vars', { skipInstallation: true }, tree).toPromise();
@@ -143,6 +143,7 @@ describe('CSS Vars Migration', () => {
143
143
  `@forward '@lucca-front/scss/src/components/tableSorted';`,
144
144
  `@forward '@lucca-front/scss/src/components/tableSticked';`,
145
145
  `@forward '@lucca-front/scss/src/components/util';`,
146
+ `@forward '@lucca-front/ng/src/main';`,
146
147
  ];
147
148
  expect(tree.readContent('styles.scss')).toBe(expectedImports.join('\n'));
148
149
  });