From 4a07014dd8400f2cc87568848200888adb09dccc Mon Sep 17 00:00:00 2001 From: Jane Chu <7559015+janechu@users.noreply.github.com> Date: Wed, 16 Feb 2022 14:19:41 -0800 Subject: [PATCH] Added change files for FAST Element 2 (#5610) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Pull Request ## 📖 Description These are the necessary change files for the current state of work for FAST Element 2.0. Subsequent changes will require a change file after a PR has been added to pin the `checkchange` to the feature branch. ## 👩‍💻 Reviewer Notes Read the change files carefully and see if you agree with the wording/change type/package/etc. ## ✅ Checklist ### General - [x] I have included a change request file using `$ yarn change` - [ ] I have added tests for my changes. - [ ] I have tested my changes. - [ ] I have updated the project documentation to reflect my changes. - [x] I have read the [CONTRIBUTING](https://github.com/Microsoft/fast/blob/master/CONTRIBUTING.md) documentation and followed the [standards](https://www.fast.design/docs/community/code-of-conduct/#our-standards) for this project. ## ⏭ Next Steps - Add a PR to pin `checkchange` to the feature branch (#5611) - Add an issue to remove `checkchange` pinning once feature branch work is complete (https://github.com/microsoft/fast/issues/5612) --- ...-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869a.json | 7 +++++++ ...-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869b.json | 7 +++++++ ...-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869c.json | 7 +++++++ ...-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869e.json | 7 +++++++ ...-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869f.json | 7 +++++++ ...-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869g.json | 7 +++++++ ...-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869h.json | 7 +++++++ ...-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869i.json | 7 +++++++ ...-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869j.json | 7 +++++++ ...-fast-element-422bda9e-1e66-46b2-a665-ca4e8a685cbc.json | 7 +++++++ ...-fast-element-422bda9e-1e66-46b2-a665-ca4e8a685cbd.json | 7 +++++++ 11 files changed, 77 insertions(+) create mode 100644 change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869a.json create mode 100644 change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869b.json create mode 100644 change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869c.json create mode 100644 change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869e.json create mode 100644 change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869f.json create mode 100644 change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869g.json create mode 100644 change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869h.json create mode 100644 change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869i.json create mode 100644 change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869j.json create mode 100644 change/@microsoft-fast-element-422bda9e-1e66-46b2-a665-ca4e8a685cbc.json create mode 100644 change/@microsoft-fast-element-422bda9e-1e66-46b2-a665-ca4e8a685cbd.json diff --git a/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869a.json b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869a.json new file mode 100644 index 00000000000..7bf0ffe70c9 --- /dev/null +++ b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869a.json @@ -0,0 +1,7 @@ +{ + "type": "major", + "comment": "`View` and `HTMLView` - Type parameters added to enable strongly typed views based on their data source. The constructor of `HTMLView` has a new signature based on changes to the compiler's output. Internals have been cleaned up and no longer rely on the Range type.", + "packageName": "@microsoft/fast-element", + "email": "roeisenb@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869b.json b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869b.json new file mode 100644 index 00000000000..34ada7b73be --- /dev/null +++ b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869b.json @@ -0,0 +1,7 @@ +{ + "type": "major", + "comment": "`ElementViewTemplate`, `SyntheticViewTemplate`, and `ViewTemplate` - Added type parameters throughout. Logic to instantiate and apply behaviors moved out of the template and into the view where it can be lazily executed. Removed the ability of the `render` method to take a string id of the node to render to. You must provide a node.", + "packageName": "@microsoft/fast-element", + "email": "roeisenb@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869c.json b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869c.json new file mode 100644 index 00000000000..74a147fe307 --- /dev/null +++ b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869c.json @@ -0,0 +1,7 @@ +{ + "type": "major", + "comment": "`DOM` - Tree Walker methods are no longer used and are thus removed. The API for removing child nodes has been removed as well since it was only used in one place and could be inlined. The helper `createCustomAttributePlaceholder()` no longer requires an attribute name. It will be uniquely generated internally.", + "packageName": "@microsoft/fast-element", + "email": "roeisenb@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869e.json b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869e.json new file mode 100644 index 00000000000..a83663e4297 --- /dev/null +++ b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869e.json @@ -0,0 +1,7 @@ +{ + "type": "major", + "comment": "`class` - Bindings to `class` are now more nuanced. Binding directly to `class` will simply set the `className` property. If you need to bind to `class` knowing that manual JS will also manipulate the `classList` in addition to the binding, then you should now bind to `:classList` instead. This allows for performance optimizations in the simple, most common case.", + "packageName": "@microsoft/fast-element", + "email": "roeisenb@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869f.json b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869f.json new file mode 100644 index 00000000000..d74aeaf826b --- /dev/null +++ b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869f.json @@ -0,0 +1,7 @@ +{ + "type": "major", + "comment": "`Behavior` and `ViewBehavior` - `Behavior` now requires an `ExecutionContext` for `unbind`. Behaviors can be used for elements or views. `ViewBehavior` has been introduced for use exclusively with views, and provides some optimization opportunities.", + "packageName": "@microsoft/fast-element", + "email": "roeisenb@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869g.json b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869g.json new file mode 100644 index 00000000000..4dc8866a841 --- /dev/null +++ b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869g.json @@ -0,0 +1,7 @@ +{ + "type": "major", + "comment": "`RefBehavior` has been replaced with `RefDirective`. The directive also implements `ViewBehavior` allowing a single directive instance to be shared across all template instances that use the ref.", + "packageName": "@microsoft/fast-element", + "email": "roeisenb@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869h.json b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869h.json new file mode 100644 index 00000000000..1e8f21753ee --- /dev/null +++ b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869h.json @@ -0,0 +1,7 @@ +{ + "type": "major", + "comment": "Removed `SlottedBehavior` and `ChildrenBehavior` have been replaced with `SlottedDirective` and `ChildrenDirective`. These directives allow a single directive instance to be shared across all template instances that use the ref.", + "packageName": "@microsoft/fast-element", + "email": "roeisenb@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869i.json b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869i.json new file mode 100644 index 00000000000..54067b1c944 --- /dev/null +++ b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869i.json @@ -0,0 +1,7 @@ +{ + "type": "major", + "comment": "Removed `AttachedBehaviorHTMLDirective` and `AttachedBehaviorType` since they are no longer used in the new directive/behavior architecture for ref, slotted, and children.", + "packageName": "@microsoft/fast-element", + "email": "roeisenb@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869j.json b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869j.json new file mode 100644 index 00000000000..711102a95c7 --- /dev/null +++ b/change/@microsoft-fast-element-08318f12-b72b-4832-b3d2-093ab5a7869j.json @@ -0,0 +1,7 @@ +{ + "type": "major", + "comment": "Renamed `Notifier#source` to `Notifier#subject` to align with other observable terminology and prevent name clashes with `BindingObserver` properties.", + "packageName": "@microsoft/fast-element", + "email": "roeisenb@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/change/@microsoft-fast-element-422bda9e-1e66-46b2-a665-ca4e8a685cbc.json b/change/@microsoft-fast-element-422bda9e-1e66-46b2-a665-ca4e8a685cbc.json new file mode 100644 index 00000000000..34b693b231f --- /dev/null +++ b/change/@microsoft-fast-element-422bda9e-1e66-46b2-a665-ca4e8a685cbc.json @@ -0,0 +1,7 @@ +{ + "type": "major", + "comment": "`HTMLDirective` - The `targetIndex: number` property has been replaced by a `targetId: string` property. The `createBehavior` method no longer takes a target `Node` but instead takes a `BehaviorTargets` instance. The actual target can be looked up on the `BehaviorTargets` instance by indexing with the `targetId` property.", + "packageName": "@microsoft/fast-element", + "email": "roeisenb@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/change/@microsoft-fast-element-422bda9e-1e66-46b2-a665-ca4e8a685cbd.json b/change/@microsoft-fast-element-422bda9e-1e66-46b2-a665-ca4e8a685cbd.json new file mode 100644 index 00000000000..7ca02e25ea9 --- /dev/null +++ b/change/@microsoft-fast-element-422bda9e-1e66-46b2-a665-ca4e8a685cbd.json @@ -0,0 +1,7 @@ +{ + "type": "major", + "comment": "`compileTemplate()` - Internals have been significantly changed. The implementation no longer uses a TreeWalker. The return type has change to an `HTMLTemplateCompilationResult` with different properties.", + "packageName": "@microsoft/fast-element", + "email": "roeisenb@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file