You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Keep the public fast-element export paths flat while resolving package export types, test, and default targets to the original source and output locations.
Also address review feedback by preserving explicit declarative schemas and avoiding shell-string API doc generation.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: change/@microsoft-fast-element-22265526-9ae0-4996-878d-ec0bd68133c2.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"type": "major",
3
-
"comment": "Move optional helpers such as Updates, Observable, attr, binding, DOM, Schema, html, templating, render, hydration, directives, volatile, and ArrayObserver to dedicated fast-element subpath exports while keeping controller and definition internals on the root entrypoint.",
3
+
"comment": "Move optional helpers to dedicated flat fast-element subpath exports such as @microsoft/fast-element/children.js, @microsoft/fast-element/repeat.js, @microsoft/fast-element/two-way.js, @microsoft/fast-element/signal.js, @microsoft/fast-element/attribute-map.js, and @microsoft/fast-element/observer-map.js while keeping controller and definition internals on the root entrypoint.",
|**Server-agnostic rendering**| Templates are plain HTML strings with no dependency on Node.js or any specific SSR framework. |
60
60
|**Progressive enhancement**| Components can be server-rendered and then hydrated client-side without a full re-render. |
61
-
|**FAST parity**| The declarative syntax maps 1-to-1 to FAST Element directive helpers (`repeat`, `when`, `slotted`, `children`, `ref`) from their `@microsoft/fast-element/directives/*` subpaths. |
61
+
|**FAST parity**| The declarative syntax maps 1-to-1 to FAST Element directive helpers (`repeat`, `when`, `slotted`, `children`, `ref`) from their flat `@microsoft/fast-element/*` subpaths. |
62
62
|**Minimal authoring overhead**| Component authors write HTML, not tagged template strings, while retaining full reactive capabilities. |
63
63
64
64
---
@@ -119,7 +119,7 @@ An optional layer that uses the `Schema` to automatically:
119
119
- Propagate deep property mutations back through FAST's observable system so bindings re-render.
120
120
121
121
Enabled via the `observerMap()` definition extension. Import the extension from
122
-
`@microsoft/fast-element/extensions/observer-map.js`; the declarative entrypoint
122
+
`@microsoft/fast-element/observer-map.js`; the declarative entrypoint
123
123
does not re-export it. Calling `observerMap()` without arguments observes all
124
124
root properties discovered in the template or supplied schema.
125
125
@@ -167,7 +167,7 @@ For non-declarative elements, pass a schema directly to `observerMap()`:
@@ -203,7 +203,7 @@ An optional layer that uses the `Schema` to automatically register `@attr`-style
203
203
-`FASTElementDefinition.attributeLookup` is keyed by the HTML attribute name, and `propertyLookup` is keyed by the JS property name so `attributeChangedCallback` correctly delegates to the new `AttributeDefinition`.
204
204
205
205
Enabled via the `attributeMap()` definition extension. Import the extension from
206
-
`@microsoft/fast-element/extensions/attribute-map.js`; the declarative entrypoint
206
+
`@microsoft/fast-element/attribute-map.js`; the declarative entrypoint
207
207
does not re-export it. Calling `attributeMap()` without arguments uses the
208
208
default `"camelCase"` strategy. To preserve binding keys exactly as written,
|`attributeMap()`|`@microsoft/fast-element/extensions/attribute-map.js`| Define extension that registers `@attr`-style properties for leaf bindings discovered during parsing or supplied by `definition.schema`. |
328
-
|`observerMap()`|`@microsoft/fast-element/extensions/observer-map.js`| Define extension that defines observable root properties and proxy-based deep change tracking from `config.schema`, `definition.schema`, or a declarative template schema. |
327
+
|`attributeMap()`|`@microsoft/fast-element/attribute-map.js`| Define extension that registers `@attr`-style properties for leaf bindings discovered during parsing or supplied by `definition.schema`. |
328
+
|`observerMap()`|`@microsoft/fast-element/observer-map.js`| Define extension that defines observable root properties and proxy-based deep change tracking from `config.schema`, `definition.schema`, or a declarative template schema. |
329
329
330
330
The implementation element class (`<f-template>`), `TemplateElement.config()`,
331
331
`TemplateElement.options()`, `ElementOptions*`, and
@@ -349,10 +349,10 @@ The extension subpaths export their own configuration types:
349
349
350
350
| Type | Public subpath | Purpose |
351
351
|---|---|---|
352
-
|`ObserverMapConfig`|`@microsoft/fast-element/extensions/observer-map.js`| Configuration object for `observerMap()`; accepts optional `schema` and `properties` keys. |
353
-
|`ObserverMapPathEntry`|`@microsoft/fast-element/extensions/observer-map.js`|`boolean \| ObserverMapPathNode` — a node in the observation path tree. |
354
-
|`ObserverMapPathNode`|`@microsoft/fast-element/extensions/observer-map.js`| Object node with optional `$observe` and child property overrides. |
355
-
|`AttributeMapConfig`|`@microsoft/fast-element/extensions/attribute-map.js`| Configuration object for `attributeMap()`; accepts `attribute-name-strategy`. |
352
+
|`ObserverMapConfig`|`@microsoft/fast-element/observer-map.js`| Configuration object for `observerMap()`; accepts optional `schema` and `properties` keys. |
353
+
|`ObserverMapPathEntry`|`@microsoft/fast-element/observer-map.js`|`boolean \| ObserverMapPathNode` — a node in the observation path tree. |
354
+
|`ObserverMapPathNode`|`@microsoft/fast-element/observer-map.js`| Object node with optional `$observe` and child property overrides. |
355
+
|`AttributeMapConfig`|`@microsoft/fast-element/attribute-map.js`| Configuration object for `attributeMap()`; accepts `attribute-name-strategy`. |
Copy file name to clipboardExpand all lines: packages/fast-element/DECLARATIVE_SCHEMA_OBSERVER_MAP.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ The Schema and Observer Map architecture enables automatic observation of comple
30
30
-**Schema Class**: Generates JSON schemas that describe the structure and binding paths of data objects based on template analysis or manually registered paths
31
31
-**Observer Map Class**: Uses the schema information to automatically define observable properties and create proxies for nested object observation
32
32
-**f-template Integration**: Template processing automatically populates schemas and configures observer maps during template compilation
33
-
-**Extension Subpaths**: `@microsoft/fast-element/extensions/observer-map.js` and `@microsoft/fast-element/extensions/attribute-map.js` expose the map helpers independently from declarative templating
33
+
-**Extension Subpaths**: `@microsoft/fast-element/observer-map.js` and `@microsoft/fast-element/attribute-map.js` expose the map helpers independently from declarative templating
34
34
35
35
### Supported Data Types
36
36
@@ -167,7 +167,7 @@ entrypoint continues to re-export `observerMap()` for existing declarative code:
0 commit comments