semmet-angular 0.22.0 → 0.24.0
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/README.md +6 -0
- package/package.json +1 -1
- package/src/accordion/files/__name@dasherize__/__name@dasherize__.spec.ts.template +124 -0
- package/src/accordion/index.js +1 -1
- package/src/accordion/index.js.map +1 -1
- package/src/accordion/index.ts +1 -1
- package/src/alert/files/__name@dasherize__/__name@dasherize__.spec.ts.template +27 -0
- package/src/alert/index.js +1 -1
- package/src/alert/index.js.map +1 -1
- package/src/alert/index.ts +1 -1
- package/src/alert-dialog/files/__name@dasherize__/__name@dasherize__.spec.ts.template +66 -0
- package/src/alert-dialog/index.js +1 -1
- package/src/alert-dialog/index.js.map +1 -1
- package/src/alert-dialog/index.ts +1 -1
- package/src/button/files/__name@dasherize__/__name@dasherize__.spec.ts.template +69 -0
- package/src/button/index.js +1 -1
- package/src/button/index.js.map +1 -1
- package/src/button/index.ts +1 -1
- package/src/button-group/files/__name@dasherize__/__name@dasherize__.spec.ts.template +70 -0
- package/src/button-group/index.js +1 -1
- package/src/button-group/index.js.map +1 -1
- package/src/button-group/index.ts +1 -1
- package/src/carousel/files/__name@dasherize__/__name@dasherize__.spec.ts.template +69 -0
- package/src/carousel/index.js +1 -1
- package/src/carousel/index.js.map +1 -1
- package/src/carousel/index.ts +1 -1
- package/src/checkbox/files/__name@dasherize__/__name@dasherize__.spec.ts.template +41 -0
- package/src/checkbox/index.js +1 -1
- package/src/checkbox/index.js.map +1 -1
- package/src/checkbox/index.ts +1 -1
- package/src/close-button/files/__name@dasherize__/__name@dasherize__.spec.ts.template +64 -0
- package/src/close-button/index.js +1 -1
- package/src/close-button/index.js.map +1 -1
- package/src/close-button/index.ts +1 -1
- package/src/combobox/files/__name@dasherize__/__name@dasherize__.spec.ts.template +79 -0
- package/src/combobox/index.js +1 -1
- package/src/combobox/index.js.map +1 -1
- package/src/combobox/index.ts +1 -1
- package/src/dialog/files/__name@dasherize__/__name@dasherize__.spec.ts.template +68 -0
- package/src/dialog/index.js +1 -1
- package/src/dialog/index.js.map +1 -1
- package/src/dialog/index.ts +1 -1
- package/src/disclosure/files/__name@dasherize__/__name@dasherize__.spec.ts.template +67 -0
- package/src/disclosure/index.js +1 -1
- package/src/disclosure/index.js.map +1 -1
- package/src/disclosure/index.ts +1 -1
- package/src/input/files/__name@dasherize__/__name@dasherize__.spec.ts.template +56 -0
- package/src/input/index.js +1 -1
- package/src/input/index.js.map +1 -1
- package/src/input/index.ts +1 -1
- package/src/list-group/files/__name@dasherize__/__name@dasherize__.spec.ts.template +66 -0
- package/src/list-group/index.js +1 -1
- package/src/list-group/index.js.map +1 -1
- package/src/list-group/index.ts +1 -1
- package/src/listbox/files/__name@dasherize__/__name@dasherize__.spec.ts.template +50 -0
- package/src/listbox/index.js +1 -1
- package/src/listbox/index.js.map +1 -1
- package/src/listbox/index.ts +1 -1
- package/src/menu-button/files/__name@dasherize__/__name@dasherize__.spec.ts.template +64 -0
- package/src/menu-button/index.js +1 -1
- package/src/menu-button/index.js.map +1 -1
- package/src/menu-button/index.ts +1 -1
- package/src/navbar/files/__name@dasherize__/__name@dasherize__.spec.ts.template +74 -0
- package/src/navbar/index.js +1 -1
- package/src/navbar/index.js.map +1 -1
- package/src/navbar/index.ts +1 -1
- package/src/navigation-menu/files/__name@dasherize__/__name@dasherize__.spec.ts.template +51 -0
- package/src/navigation-menu/index.js +1 -1
- package/src/navigation-menu/index.js.map +1 -1
- package/src/navigation-menu/index.ts +1 -1
- package/src/offcanvas/files/__name@dasherize__/__name@dasherize__.spec.ts.template +70 -0
- package/src/offcanvas/index.js +1 -1
- package/src/offcanvas/index.js.map +1 -1
- package/src/offcanvas/index.ts +1 -1
- package/src/pagination/files/__name@dasherize__/__name@dasherize__.spec.ts.template +41 -0
- package/src/pagination/index.js +1 -1
- package/src/pagination/index.js.map +1 -1
- package/src/pagination/index.ts +1 -1
- package/src/popover/files/__name@dasherize__/__name@dasherize__.spec.ts.template +69 -0
- package/src/popover/index.js +1 -1
- package/src/popover/index.js.map +1 -1
- package/src/popover/index.ts +1 -1
- package/src/radio-group/files/__name@dasherize__/__name@dasherize__.spec.ts.template +47 -0
- package/src/radio-group/index.js +1 -1
- package/src/radio-group/index.js.map +1 -1
- package/src/radio-group/index.ts +1 -1
- package/src/select/files/__name@dasherize__/__name@dasherize__.spec.ts.template +54 -0
- package/src/select/index.js +1 -1
- package/src/select/index.js.map +1 -1
- package/src/select/index.ts +1 -1
- package/src/slider/files/__name@dasherize__/__name@dasherize__.spec.ts.template +61 -0
- package/src/slider/index.js +1 -1
- package/src/slider/index.js.map +1 -1
- package/src/slider/index.ts +1 -1
- package/src/spinbutton/files/__name@dasherize__/__name@dasherize__.spec.ts.template +74 -0
- package/src/spinbutton/index.js +1 -1
- package/src/spinbutton/index.js.map +1 -1
- package/src/spinbutton/index.ts +1 -1
- package/src/switch/files/__name@dasherize__/__name@dasherize__.spec.ts.template +35 -0
- package/src/switch/index.js +1 -1
- package/src/switch/index.js.map +1 -1
- package/src/switch/index.ts +1 -1
- package/src/tabs/files/__name@dasherize__/__name@dasherize__.spec.ts.template +113 -0
- package/src/tabs/index.js +1 -1
- package/src/tabs/index.js.map +1 -1
- package/src/tabs/index.ts +1 -1
- package/src/textarea/files/__name@dasherize__/__name@dasherize__.spec.ts.template +59 -0
- package/src/textarea/index.js +1 -1
- package/src/textarea/index.js.map +1 -1
- package/src/textarea/index.ts +1 -1
- package/src/toast/files/__name@dasherize__/__name@dasherize__.spec.ts.template +48 -0
- package/src/toast/index.js +1 -1
- package/src/toast/index.js.map +1 -1
- package/src/toast/index.ts +1 -1
- package/src/toolbar/files/__name@dasherize__/__name@dasherize__.spec.ts.template +45 -0
- package/src/toolbar/index.js +1 -1
- package/src/toolbar/index.js.map +1 -1
- package/src/toolbar/index.ts +1 -1
- package/src/tooltip/files/__name@dasherize__/__name@dasherize__.spec.ts.template +56 -0
- package/src/tooltip/index.js +1 -1
- package/src/tooltip/index.js.map +1 -1
- package/src/tooltip/index.ts +1 -1
- package/src/tree-view/files/__name@dasherize__/__name@dasherize__.spec.ts.template +84 -0
- package/src/tree-view/index.js +1 -1
- package/src/tree-view/index.js.map +1 -1
- package/src/tree-view/index.ts +1 -1
- package/src/utils/component-test-files/__name@dasherize__/__name@dasherize__.spec.ts.template +15 -1
- package/src/utils/generate-component.d.ts +6 -1
- package/src/utils/generate-component.js +21 -6
- package/src/utils/generate-component.js.map +1 -1
- package/src/utils/generate-component.ts +28 -7
package/src/tree-view/index.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.treeView = void 0;
|
|
4
4
|
const generate_component_1 = require("../utils/generate-component");
|
|
5
|
-
exports.treeView = (0, generate_component_1.createAriaComponentSchematic)();
|
|
5
|
+
exports.treeView = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false });
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,QAAQ,GAAG,IAAA,iDAA4B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,QAAQ,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC"}
|
package/src/tree-view/index.ts
CHANGED
package/src/utils/component-test-files/__name@dasherize__/__name@dasherize__.spec.ts.template
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
1
2
|
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
3
|
import { <%= classify(name) %> } from './<%= dasherize(name) %>';
|
|
3
4
|
|
|
5
|
+
@Component({
|
|
6
|
+
imports: [<%= classify(name) %>],
|
|
7
|
+
template: `<<%= selector %> />`,
|
|
8
|
+
})
|
|
9
|
+
class HostComponent {}
|
|
10
|
+
|
|
4
11
|
describe('<%= classify(name) %>', () => {
|
|
5
12
|
let fixture: ComponentFixture<<%= classify(name) %>>;
|
|
6
13
|
|
|
7
14
|
beforeEach(async () => {
|
|
8
15
|
await TestBed.configureTestingModule({
|
|
9
|
-
imports: [<%= classify(name)
|
|
16
|
+
imports: [<%= classify(name) %>, HostComponent],
|
|
10
17
|
}).compileComponents();
|
|
11
18
|
|
|
12
19
|
fixture = TestBed.createComponent(<%= classify(name) %>);
|
|
@@ -20,4 +27,11 @@ describe('<%= classify(name) %>', () => {
|
|
|
20
27
|
it('renders a host element', () => {
|
|
21
28
|
expect(fixture.nativeElement.tagName).toBeTruthy();
|
|
22
29
|
});
|
|
30
|
+
|
|
31
|
+
it('can be rendered from its public selector', () => {
|
|
32
|
+
const hostFixture = TestBed.createComponent(HostComponent);
|
|
33
|
+
hostFixture.detectChanges();
|
|
34
|
+
|
|
35
|
+
expect(hostFixture.nativeElement.querySelector('<%= selector %>')).toBeTruthy();
|
|
36
|
+
});
|
|
23
37
|
});
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
2
|
import { ComponentSchematicOptions } from './schema-types';
|
|
3
|
+
interface AriaComponentSchematicConfig {
|
|
4
|
+
includeSharedUnitTest?: boolean;
|
|
5
|
+
includeSharedE2eTest?: boolean;
|
|
6
|
+
}
|
|
3
7
|
/**
|
|
4
8
|
* Shared Rule factory for every Semmet Angular schematic. `url('./files')` resolves relative to
|
|
5
9
|
* whichever named schematic is currently executing (per collection.json), not to this module's
|
|
6
10
|
* location, so centralizing this logic here is safe and avoids repeating it in every schematic.
|
|
7
11
|
*/
|
|
8
|
-
export declare function createAriaComponentSchematic(): (options: ComponentSchematicOptions) => Rule;
|
|
12
|
+
export declare function createAriaComponentSchematic(config?: AriaComponentSchematicConfig): (options: ComponentSchematicOptions) => Rule;
|
|
13
|
+
export {};
|
|
@@ -12,8 +12,10 @@ const validation_1 = require("@schematics/angular/utility/validation");
|
|
|
12
12
|
* whichever named schematic is currently executing (per collection.json), not to this module's
|
|
13
13
|
* location, so centralizing this logic here is safe and avoids repeating it in every schematic.
|
|
14
14
|
*/
|
|
15
|
-
function createAriaComponentSchematic() {
|
|
15
|
+
function createAriaComponentSchematic(config = {}) {
|
|
16
16
|
return (0, project_1.createProjectSchematic)((options, { project }) => {
|
|
17
|
+
const includeSharedUnitTest = config.includeSharedUnitTest ?? true;
|
|
18
|
+
const includeSharedE2eTest = config.includeSharedE2eTest ?? true;
|
|
17
19
|
options.path ??= (0, workspace_1.buildDefaultPath)(project);
|
|
18
20
|
const parsedPath = (0, parse_name_1.parseName)(options.path, options.name);
|
|
19
21
|
const name = parsedPath.name;
|
|
@@ -24,11 +26,24 @@ function createAriaComponentSchematic() {
|
|
|
24
26
|
(0, schematics_1.applyTemplates)({ ...core_1.strings, name, selector }),
|
|
25
27
|
(0, schematics_1.move)(parsedPath.path),
|
|
26
28
|
]);
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
(0, schematics_1.
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
const rules = [(0, schematics_1.mergeWith)(componentTemplateSource)];
|
|
30
|
+
if (includeSharedUnitTest || includeSharedE2eTest) {
|
|
31
|
+
const testTemplateSource = (0, schematics_1.apply)((0, schematics_1.url)('../utils/component-test-files'), [
|
|
32
|
+
(0, schematics_1.filter)((path) => {
|
|
33
|
+
if (path.endsWith('.spec.ts.template')) {
|
|
34
|
+
return includeSharedUnitTest;
|
|
35
|
+
}
|
|
36
|
+
if (path.endsWith('.e2e-spec.ts.template')) {
|
|
37
|
+
return includeSharedE2eTest;
|
|
38
|
+
}
|
|
39
|
+
return true;
|
|
40
|
+
}),
|
|
41
|
+
(0, schematics_1.applyTemplates)({ ...core_1.strings, name, selector }),
|
|
42
|
+
(0, schematics_1.move)(parsedPath.path),
|
|
43
|
+
]);
|
|
44
|
+
rules.push((0, schematics_1.mergeWith)(testTemplateSource));
|
|
45
|
+
}
|
|
46
|
+
return (0, schematics_1.chain)(rules);
|
|
32
47
|
});
|
|
33
48
|
}
|
|
34
49
|
//# sourceMappingURL=generate-component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-component.js","sourceRoot":"","sources":["generate-component.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"generate-component.js","sourceRoot":"","sources":["generate-component.ts"],"names":[],"mappings":";;AAkBA,oEAsCC;AAxDD,2DAA8G;AAC9G,+CAA+C;AAC/C,iEAA6E;AAC7E,qEAAyE;AACzE,uEAAmE;AACnE,uEAAiG;AAQjG;;;;GAIG;AACH,SAAgB,4BAA4B,CAAC,SAAuC,EAAE;IACpF,OAAO,IAAA,gCAAsB,EAA4B,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChF,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,IAAI,IAAI,CAAC;QACnE,MAAM,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,IAAI,IAAI,CAAC;QACjE,OAAO,CAAC,IAAI,KAAK,IAAA,4BAAgB,EAAC,OAAO,CAAC,CAAC;QAE3C,MAAM,UAAU,GAAG,IAAA,sBAAS,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAE7B,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,cAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3F,IAAA,iCAAoB,EAAC,QAAQ,CAAC,CAAC;QAC/B,IAAA,8BAAiB,EAAC,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1C,MAAM,uBAAuB,GAAG,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,SAAS,CAAC,EAAE;YACpD,IAAA,2BAAc,EAAC,EAAE,GAAG,cAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC9C,IAAA,iBAAI,EAAC,UAAU,CAAC,IAAI,CAAC;SACtB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,IAAA,sBAAS,EAAC,uBAAuB,CAAC,CAAC,CAAC;QAEnD,IAAI,qBAAqB,IAAI,oBAAoB,EAAE,CAAC;YAClD,MAAM,kBAAkB,GAAG,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,+BAA+B,CAAC,EAAE;gBACrE,IAAA,mBAAM,EAAC,CAAC,IAAI,EAAE,EAAE;oBACd,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBACvC,OAAO,qBAAqB,CAAC;oBAC/B,CAAC;oBACD,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;wBAC3C,OAAO,oBAAoB,CAAC;oBAC9B,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC;gBACF,IAAA,2BAAc,EAAC,EAAE,GAAG,cAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBAC9C,IAAA,iBAAI,EAAC,UAAU,CAAC,IAAI,CAAC;aACtB,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,IAAA,sBAAS,EAAC,kBAAkB,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Rule, apply, applyTemplates, chain, mergeWith, move, url } from '@angular-devkit/schematics';
|
|
1
|
+
import { Rule, apply, applyTemplates, chain, filter, mergeWith, move, url } from '@angular-devkit/schematics';
|
|
2
2
|
import { strings } from '@angular-devkit/core';
|
|
3
3
|
import { createProjectSchematic } from '@schematics/angular/utility/project';
|
|
4
4
|
import { buildDefaultPath } from '@schematics/angular/utility/workspace';
|
|
@@ -6,13 +6,20 @@ import { parseName } from '@schematics/angular/utility/parse-name';
|
|
|
6
6
|
import { validateClassName, validateHtmlSelector } from '@schematics/angular/utility/validation';
|
|
7
7
|
import { ComponentSchematicOptions } from './schema-types';
|
|
8
8
|
|
|
9
|
+
interface AriaComponentSchematicConfig {
|
|
10
|
+
includeSharedUnitTest?: boolean;
|
|
11
|
+
includeSharedE2eTest?: boolean;
|
|
12
|
+
}
|
|
13
|
+
|
|
9
14
|
/**
|
|
10
15
|
* Shared Rule factory for every Semmet Angular schematic. `url('./files')` resolves relative to
|
|
11
16
|
* whichever named schematic is currently executing (per collection.json), not to this module's
|
|
12
17
|
* location, so centralizing this logic here is safe and avoids repeating it in every schematic.
|
|
13
18
|
*/
|
|
14
|
-
export function createAriaComponentSchematic(): (options: ComponentSchematicOptions) => Rule {
|
|
19
|
+
export function createAriaComponentSchematic(config: AriaComponentSchematicConfig = {}): (options: ComponentSchematicOptions) => Rule {
|
|
15
20
|
return createProjectSchematic<ComponentSchematicOptions>((options, { project }) => {
|
|
21
|
+
const includeSharedUnitTest = config.includeSharedUnitTest ?? true;
|
|
22
|
+
const includeSharedE2eTest = config.includeSharedE2eTest ?? true;
|
|
16
23
|
options.path ??= buildDefaultPath(project);
|
|
17
24
|
|
|
18
25
|
const parsedPath = parseName(options.path, options.name);
|
|
@@ -26,11 +33,25 @@ export function createAriaComponentSchematic(): (options: ComponentSchematicOpti
|
|
|
26
33
|
applyTemplates({ ...strings, name, selector }),
|
|
27
34
|
move(parsedPath.path),
|
|
28
35
|
]);
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
const rules = [mergeWith(componentTemplateSource)];
|
|
37
|
+
|
|
38
|
+
if (includeSharedUnitTest || includeSharedE2eTest) {
|
|
39
|
+
const testTemplateSource = apply(url('../utils/component-test-files'), [
|
|
40
|
+
filter((path) => {
|
|
41
|
+
if (path.endsWith('.spec.ts.template')) {
|
|
42
|
+
return includeSharedUnitTest;
|
|
43
|
+
}
|
|
44
|
+
if (path.endsWith('.e2e-spec.ts.template')) {
|
|
45
|
+
return includeSharedE2eTest;
|
|
46
|
+
}
|
|
47
|
+
return true;
|
|
48
|
+
}),
|
|
49
|
+
applyTemplates({ ...strings, name, selector }),
|
|
50
|
+
move(parsedPath.path),
|
|
51
|
+
]);
|
|
52
|
+
rules.push(mergeWith(testTemplateSource));
|
|
53
|
+
}
|
|
33
54
|
|
|
34
|
-
return chain(
|
|
55
|
+
return chain(rules);
|
|
35
56
|
});
|
|
36
57
|
}
|