@microsoft/fast-html 1.0.0-alpha.31 → 1.0.0-alpha.32

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 (51) hide show
  1. package/dist/dts/components/observer-map.d.ts +1 -1
  2. package/dist/dts/components/schema.d.ts +1 -1
  3. package/dist/dts/components/utilities.d.ts +20 -18
  4. package/dist/esm/components/element.js +0 -5
  5. package/dist/esm/components/utilities.js +116 -71
  6. package/package.json +17 -32
  7. package/dist/dts/fixtures/attribute/attribute.spec.d.ts +0 -1
  8. package/dist/dts/fixtures/attribute/main.d.ts +0 -1
  9. package/dist/dts/fixtures/binding/binding.spec.d.ts +0 -1
  10. package/dist/dts/fixtures/binding/main.d.ts +0 -1
  11. package/dist/dts/fixtures/children/children.spec.d.ts +0 -1
  12. package/dist/dts/fixtures/children/main.d.ts +0 -1
  13. package/dist/dts/fixtures/dot-syntax/dot-syntax.spec.d.ts +0 -1
  14. package/dist/dts/fixtures/dot-syntax/main.d.ts +0 -1
  15. package/dist/dts/fixtures/event/event.spec.d.ts +0 -1
  16. package/dist/dts/fixtures/event/main.d.ts +0 -1
  17. package/dist/dts/fixtures/lifecycle-callbacks/lifecycle-callbacks.spec.d.ts +0 -1
  18. package/dist/dts/fixtures/lifecycle-callbacks/main.d.ts +0 -5
  19. package/dist/dts/fixtures/observer-map/main.d.ts +0 -1
  20. package/dist/dts/fixtures/observer-map/observer-map.spec.d.ts +0 -1
  21. package/dist/dts/fixtures/ref/main.d.ts +0 -1
  22. package/dist/dts/fixtures/ref/ref.spec.d.ts +0 -1
  23. package/dist/dts/fixtures/repeat/main.d.ts +0 -1
  24. package/dist/dts/fixtures/repeat/repeat.spec.d.ts +0 -1
  25. package/dist/dts/fixtures/slotted/main.d.ts +0 -1
  26. package/dist/dts/fixtures/slotted/slotted.spec.d.ts +0 -1
  27. package/dist/dts/fixtures/when/main.d.ts +0 -1
  28. package/dist/dts/fixtures/when/when.spec.d.ts +0 -1
  29. package/dist/esm/fixtures/attribute/attribute.spec.js +0 -23
  30. package/dist/esm/fixtures/attribute/main.js +0 -20
  31. package/dist/esm/fixtures/binding/binding.spec.js +0 -23
  32. package/dist/esm/fixtures/binding/main.js +0 -30
  33. package/dist/esm/fixtures/children/children.spec.js +0 -37
  34. package/dist/esm/fixtures/children/main.js +0 -25
  35. package/dist/esm/fixtures/dot-syntax/dot-syntax.spec.js +0 -116
  36. package/dist/esm/fixtures/dot-syntax/main.js +0 -42
  37. package/dist/esm/fixtures/event/event.spec.js +0 -35
  38. package/dist/esm/fixtures/event/main.js +0 -32
  39. package/dist/esm/fixtures/lifecycle-callbacks/lifecycle-callbacks.spec.js +0 -166
  40. package/dist/esm/fixtures/lifecycle-callbacks/main.js +0 -126
  41. package/dist/esm/fixtures/observer-map/main.js +0 -375
  42. package/dist/esm/fixtures/observer-map/observer-map.spec.js +0 -251
  43. package/dist/esm/fixtures/ref/main.js +0 -15
  44. package/dist/esm/fixtures/ref/ref.spec.js +0 -9
  45. package/dist/esm/fixtures/repeat/main.js +0 -44
  46. package/dist/esm/fixtures/repeat/repeat.spec.js +0 -36
  47. package/dist/esm/fixtures/slotted/main.js +0 -33
  48. package/dist/esm/fixtures/slotted/slotted.spec.js +0 -24
  49. package/dist/esm/fixtures/when/main.js +0 -156
  50. package/dist/esm/fixtures/when/when.spec.js +0 -82
  51. package/dist/esm/tsconfig.tsbuildinfo +0 -1
@@ -1,44 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { RenderableFASTElement, TemplateElement } from "@microsoft/fast-html";
3
- import { FASTElement, observable } from "@microsoft/fast-element";
4
- class TestElement extends FASTElement {
5
- constructor() {
6
- super(...arguments);
7
- this.list = ["Foo", "Bar"];
8
- this.item_parent = "Bat";
9
- }
10
- }
11
- __decorate([
12
- observable,
13
- __metadata("design:type", Array)
14
- ], TestElement.prototype, "list", void 0);
15
- RenderableFASTElement(TestElement).defineAsync({
16
- name: "test-element",
17
- templateOptions: "defer-and-hydrate",
18
- });
19
- class TestElementInnerWhen extends FASTElement {
20
- constructor() {
21
- super(...arguments);
22
- this.list = [
23
- {
24
- show: true,
25
- text: "Foo",
26
- },
27
- {
28
- show: false,
29
- text: "Bar",
30
- },
31
- ];
32
- }
33
- }
34
- __decorate([
35
- observable,
36
- __metadata("design:type", Array)
37
- ], TestElementInnerWhen.prototype, "list", void 0);
38
- RenderableFASTElement(TestElementInnerWhen).defineAsync({
39
- name: "test-element-inner-when",
40
- templateOptions: "defer-and-hydrate",
41
- });
42
- TemplateElement.define({
43
- name: "f-template",
44
- });
@@ -1,36 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { expect, test } from "@playwright/test";
3
- test.describe("f-template", () => __awaiter(void 0, void 0, void 0, function* () {
4
- test("create a repeat directive", ({ page }) => __awaiter(void 0, void 0, void 0, function* () {
5
- yield page.goto("/repeat");
6
- const customElement = yield page.locator("test-element");
7
- let customElementListItems = yield customElement.locator("li");
8
- expect(yield customElementListItems.count()).toEqual(2);
9
- expect(yield customElementListItems.nth(0).textContent()).toEqual("Foo - Bat");
10
- expect(yield customElementListItems.nth(1).textContent()).toEqual("Bar - Bat");
11
- yield page.evaluate(() => {
12
- const customElement = document.getElementsByTagName("test-element");
13
- customElement.item(0).list = [
14
- "A",
15
- "B",
16
- "C"
17
- ];
18
- });
19
- const timeout = new Promise(function (resolve) {
20
- setTimeout(resolve, 100);
21
- });
22
- yield timeout;
23
- customElementListItems = yield customElement.locator("li");
24
- expect(yield customElementListItems.count()).toEqual(3);
25
- expect(yield customElementListItems.nth(0).textContent()).toEqual("A - Bat");
26
- expect(yield customElementListItems.nth(1).textContent()).toEqual("B - Bat");
27
- expect(yield customElementListItems.nth(2).textContent()).toEqual("C - Bat");
28
- }));
29
- test("create a repeat directive with an inner when", ({ page }) => __awaiter(void 0, void 0, void 0, function* () {
30
- yield page.goto("/repeat");
31
- const customElement = yield page.locator("test-element-inner-when");
32
- let customElementListItems = yield customElement.locator("li");
33
- expect(yield customElementListItems.count()).toEqual(1);
34
- expect(yield customElementListItems.nth(0).textContent()).toEqual("Foo");
35
- }));
36
- }));
@@ -1,33 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { RenderableFASTElement, TemplateElement } from "@microsoft/fast-html";
3
- import { FASTElement, observable } from "@microsoft/fast-element";
4
- class TestElement extends FASTElement {
5
- constructor() {
6
- super(...arguments);
7
- this.slottedNodes = [];
8
- this.slottedFooNodes = [];
9
- this.slottedBarNodes = [];
10
- }
11
- slottedFooNodesChanged() {
12
- this.classList.add(`class-${this.slottedFooNodes.length}`);
13
- }
14
- }
15
- __decorate([
16
- observable,
17
- __metadata("design:type", Array)
18
- ], TestElement.prototype, "slottedNodes", void 0);
19
- __decorate([
20
- observable,
21
- __metadata("design:type", Array)
22
- ], TestElement.prototype, "slottedFooNodes", void 0);
23
- __decorate([
24
- observable,
25
- __metadata("design:type", Array)
26
- ], TestElement.prototype, "slottedBarNodes", void 0);
27
- RenderableFASTElement(TestElement).defineAsync({
28
- name: "test-element",
29
- templateOptions: "defer-and-hydrate",
30
- });
31
- TemplateElement.define({
32
- name: "f-template",
33
- });
@@ -1,24 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { expect, test } from "@playwright/test";
3
- test.describe("f-template", () => {
4
- let element;
5
- test.beforeEach(({ page }) => __awaiter(void 0, void 0, void 0, function* () {
6
- yield page.goto("/slotted");
7
- element = page.locator("test-element");
8
- }));
9
- test("create a slotted directive", () => __awaiter(void 0, void 0, void 0, function* () {
10
- yield expect(element).toHaveJSProperty("classList.length", 2);
11
- yield element.evaluate((node) => {
12
- const newElement = document.createElement("button");
13
- newElement.slot = "foo";
14
- node.append(newElement);
15
- });
16
- yield expect(element).toHaveJSProperty("classList.length", 3);
17
- }));
18
- test("slotted nodes are filtered by elements()", () => __awaiter(void 0, void 0, void 0, function* () {
19
- yield expect(element).toHaveJSProperty("slottedNodes.length", 1);
20
- }));
21
- test("slotted nodes are filtered by elements() with query", () => __awaiter(void 0, void 0, void 0, function* () {
22
- yield expect(element).toHaveJSProperty("slottedBarNodes.length", 1);
23
- }));
24
- });
@@ -1,156 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { RenderableFASTElement, TemplateElement } from "@microsoft/fast-html";
3
- import { attr, FASTElement } from "@microsoft/fast-element";
4
- class TestElement extends FASTElement {
5
- constructor() {
6
- super(...arguments);
7
- this.show = false;
8
- }
9
- }
10
- __decorate([
11
- attr({ mode: "boolean" }),
12
- __metadata("design:type", Boolean)
13
- ], TestElement.prototype, "show", void 0);
14
- RenderableFASTElement(TestElement).defineAsync({
15
- name: "test-element",
16
- templateOptions: "defer-and-hydrate",
17
- });
18
- class TestElementNot extends FASTElement {
19
- constructor() {
20
- super(...arguments);
21
- this.hide = false;
22
- }
23
- }
24
- __decorate([
25
- attr({ mode: "boolean" }),
26
- __metadata("design:type", Boolean)
27
- ], TestElementNot.prototype, "hide", void 0);
28
- RenderableFASTElement(TestElementNot).defineAsync({
29
- name: "test-element-not",
30
- templateOptions: "defer-and-hydrate",
31
- });
32
- class TestElementEquals extends FASTElement {
33
- constructor() {
34
- super(...arguments);
35
- this.varA = 0;
36
- }
37
- }
38
- __decorate([
39
- attr({ attribute: "var-a" }),
40
- __metadata("design:type", Number)
41
- ], TestElementEquals.prototype, "varA", void 0);
42
- RenderableFASTElement(TestElementEquals).defineAsync({
43
- name: "test-element-equals",
44
- templateOptions: "defer-and-hydrate",
45
- });
46
- class TestElementNotEquals extends FASTElement {
47
- constructor() {
48
- super(...arguments);
49
- this.varA = 0;
50
- }
51
- }
52
- __decorate([
53
- attr({ attribute: "var-a" }),
54
- __metadata("design:type", Number)
55
- ], TestElementNotEquals.prototype, "varA", void 0);
56
- RenderableFASTElement(TestElementNotEquals).defineAsync({
57
- name: "test-element-not-equals",
58
- templateOptions: "defer-and-hydrate",
59
- });
60
- class TestElementGe extends FASTElement {
61
- constructor() {
62
- super(...arguments);
63
- this.varA = 0;
64
- }
65
- }
66
- __decorate([
67
- attr({ attribute: "var-a" }),
68
- __metadata("design:type", Number)
69
- ], TestElementGe.prototype, "varA", void 0);
70
- RenderableFASTElement(TestElementGe).defineAsync({
71
- name: "test-element-ge",
72
- templateOptions: "defer-and-hydrate",
73
- });
74
- class TestElementGt extends FASTElement {
75
- constructor() {
76
- super(...arguments);
77
- this.varA = 0;
78
- }
79
- }
80
- __decorate([
81
- attr({ attribute: "var-a" }),
82
- __metadata("design:type", Number)
83
- ], TestElementGt.prototype, "varA", void 0);
84
- RenderableFASTElement(TestElementGt).defineAsync({
85
- name: "test-element-gt",
86
- templateOptions: "defer-and-hydrate",
87
- });
88
- class TestElementLe extends FASTElement {
89
- constructor() {
90
- super(...arguments);
91
- this.varA = 0;
92
- }
93
- }
94
- __decorate([
95
- attr({ attribute: "var-a" }),
96
- __metadata("design:type", Number)
97
- ], TestElementLe.prototype, "varA", void 0);
98
- RenderableFASTElement(TestElementLe).defineAsync({
99
- name: "test-element-le",
100
- templateOptions: "defer-and-hydrate",
101
- });
102
- class TestElementLt extends FASTElement {
103
- constructor() {
104
- super(...arguments);
105
- this.varA = 0;
106
- }
107
- }
108
- __decorate([
109
- attr({ attribute: "var-a" }),
110
- __metadata("design:type", Number)
111
- ], TestElementLt.prototype, "varA", void 0);
112
- RenderableFASTElement(TestElementLt).defineAsync({
113
- name: "test-element-lt",
114
- templateOptions: "defer-and-hydrate",
115
- });
116
- class TestElementOr extends FASTElement {
117
- constructor() {
118
- super(...arguments);
119
- this.thisVar = false;
120
- this.thatVar = false;
121
- }
122
- }
123
- __decorate([
124
- attr({ attribute: "this-var", mode: "boolean" }),
125
- __metadata("design:type", Boolean)
126
- ], TestElementOr.prototype, "thisVar", void 0);
127
- __decorate([
128
- attr({ attribute: "that-var", mode: "boolean" }),
129
- __metadata("design:type", Boolean)
130
- ], TestElementOr.prototype, "thatVar", void 0);
131
- RenderableFASTElement(TestElementOr).defineAsync({
132
- name: "test-element-or",
133
- templateOptions: "defer-and-hydrate",
134
- });
135
- class TestElementAnd extends FASTElement {
136
- constructor() {
137
- super(...arguments);
138
- this.thisVar = false;
139
- this.thatVar = false;
140
- }
141
- }
142
- __decorate([
143
- attr({ attribute: "this-var", mode: "boolean" }),
144
- __metadata("design:type", Boolean)
145
- ], TestElementAnd.prototype, "thisVar", void 0);
146
- __decorate([
147
- attr({ attribute: "that-var", mode: "boolean" }),
148
- __metadata("design:type", Boolean)
149
- ], TestElementAnd.prototype, "thatVar", void 0);
150
- RenderableFASTElement(TestElementAnd).defineAsync({
151
- name: "test-element-and",
152
- templateOptions: "defer-and-hydrate",
153
- });
154
- TemplateElement.define({
155
- name: "f-template",
156
- });
@@ -1,82 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { expect, test } from "@playwright/test";
3
- test.describe("f-template", () => __awaiter(void 0, void 0, void 0, function* () {
4
- test("create a when directive for a boolean: true", ({ page }) => __awaiter(void 0, void 0, void 0, function* () {
5
- yield page.goto("/when");
6
- const customElementShow = yield page.locator("#show");
7
- const customElementHide = yield page.locator("#hide");
8
- yield expect(customElementShow).toHaveText("Hello world");
9
- yield expect(customElementHide).not.toHaveText("Hello world");
10
- yield page.evaluate(() => {
11
- const customElementShow = document.getElementById("show");
12
- const customElementHide = document.getElementById("hide");
13
- customElementShow === null || customElementShow === void 0 ? void 0 : customElementShow.removeAttribute("show");
14
- customElementHide === null || customElementHide === void 0 ? void 0 : customElementHide.setAttribute("show", "");
15
- });
16
- yield expect(customElementShow).not.toHaveText("Hello world");
17
- yield expect(customElementHide).toHaveText("Hello world");
18
- }));
19
- test("create a when directive for a boolean: false", ({ page }) => __awaiter(void 0, void 0, void 0, function* () {
20
- yield page.goto("/when");
21
- const customElementShow = yield page.locator("#show-not");
22
- const customElementHide = yield page.locator("#hide-not");
23
- yield expect(customElementShow).toHaveText("Hello world");
24
- yield expect(customElementHide).not.toHaveText("Hello world");
25
- }));
26
- test("create a when directive value uses equals", ({ page }) => __awaiter(void 0, void 0, void 0, function* () {
27
- yield page.goto("/when");
28
- const customElementShow = yield page.locator("#equals-true");
29
- const customElementHide = yield page.locator("#equals-false");
30
- yield expect(customElementShow).toHaveText("Equals 3");
31
- yield expect(customElementHide).not.toHaveText("Equals 3");
32
- }));
33
- test("create a when directive value uses not equals", ({ page }) => __awaiter(void 0, void 0, void 0, function* () {
34
- yield page.goto("/when");
35
- const customElementShow = yield page.locator("#not-equals-true");
36
- const customElementHide = yield page.locator("#not-equals-false");
37
- yield expect(customElementShow).toHaveText("Not equals 3");
38
- yield expect(customElementHide).not.toHaveText("Not equals 3");
39
- }));
40
- test("create a when directive value uses greater than or equals", ({ page }) => __awaiter(void 0, void 0, void 0, function* () {
41
- yield page.goto("/when");
42
- const customElementShow = yield page.locator("#ge-true");
43
- const customElementHide = yield page.locator("#ge-false");
44
- yield expect(customElementShow).toHaveText("Two and Over");
45
- yield expect(customElementHide).not.toHaveText("Two and Over");
46
- }));
47
- test("create a when directive value uses greater than", ({ page }) => __awaiter(void 0, void 0, void 0, function* () {
48
- yield page.goto("/when");
49
- const customElementShow = yield page.locator("#gt-true");
50
- const customElementHide = yield page.locator("#gt-false");
51
- yield expect(customElementShow).toHaveText("Over two");
52
- yield expect(customElementHide).not.toHaveText("Over two");
53
- }));
54
- test("create a when directive value uses less than or equals", ({ page }) => __awaiter(void 0, void 0, void 0, function* () {
55
- yield page.goto("/when");
56
- const customElementShow = yield page.locator("#le-true");
57
- const customElementHide = yield page.locator("#le-false");
58
- yield expect(customElementShow).toHaveText("Two and Under");
59
- yield expect(customElementHide).not.toHaveText("Two and Under");
60
- }));
61
- test("create a when directive value uses less than", ({ page }) => __awaiter(void 0, void 0, void 0, function* () {
62
- yield page.goto("/when");
63
- const customElementShow = yield page.locator("#lt-true");
64
- const customElementHide = yield page.locator("#lt-false");
65
- yield expect(customElementShow).toHaveText("Under two");
66
- yield expect(customElementHide).not.toHaveText("Under two");
67
- }));
68
- test("create a when directive value uses or", ({ page }) => __awaiter(void 0, void 0, void 0, function* () {
69
- yield page.goto("/when");
70
- const customElementShow = yield page.locator("#or-true");
71
- const customElementHide = yield page.locator("#or-false");
72
- yield expect(customElementShow).toHaveText("This or That");
73
- yield expect(customElementHide).not.toHaveText("This or That");
74
- }));
75
- test("create a when directive value uses and", ({ page }) => __awaiter(void 0, void 0, void 0, function* () {
76
- yield page.goto("/when");
77
- const customElementShow = yield page.locator("#and-true");
78
- const customElementHide = yield page.locator("#and-false");
79
- yield expect(customElementShow).toHaveText("This and That");
80
- yield expect(customElementHide).not.toHaveText("This and That");
81
- }));
82
- }));