diff --git a/change/@microsoft-fast-components-7e5a74b4-5300-4441-ab94-b04fa3df822d.json b/change/@microsoft-fast-components-7e5a74b4-5300-4441-ab94-b04fa3df822d.json
new file mode 100644
index 00000000000..5516169bd0e
--- /dev/null
+++ b/change/@microsoft-fast-components-7e5a74b4-5300-4441-ab94-b04fa3df822d.json
@@ -0,0 +1,7 @@
+{
+ "type": "minor",
+ "comment": "Add viewport lock to tooltip",
+ "packageName": "@microsoft/fast-components",
+ "email": "scomea@microsoft.com",
+ "dependentChangeType": "patch"
+}
diff --git a/change/@microsoft-fast-element-2209e960-6afa-481f-8b02-2eb04dad79e4.json b/change/@microsoft-fast-element-2209e960-6afa-481f-8b02-2eb04dad79e4.json
deleted file mode 100644
index 9286a844628..00000000000
--- a/change/@microsoft-fast-element-2209e960-6afa-481f-8b02-2eb04dad79e4.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "type": "minor",
- "comment": "Adds capability to Observable to subscribe to any observable property change for an object",
- "packageName": "@microsoft/fast-element",
- "email": "nicholasrice@users.noreply.github.com",
- "dependentChangeType": "patch"
-}
diff --git a/change/@microsoft-fast-element-90a5f3da-460f-437e-9f65-b8dd45ad3809.json b/change/@microsoft-fast-element-90a5f3da-460f-437e-9f65-b8dd45ad3809.json
deleted file mode 100644
index e368d1961ea..00000000000
--- a/change/@microsoft-fast-element-90a5f3da-460f-437e-9f65-b8dd45ad3809.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "type": "minor",
- "comment": "ensure HTMLStyleElement DOM order matches call addStylesTo() call order",
- "packageName": "@microsoft/fast-element",
- "email": "nicholasrice@users.noreply.github.com",
- "dependentChangeType": "patch"
-}
diff --git a/change/@microsoft-fast-foundation-6123b50a-4704-44ff-b7f1-e5fca21d79e1.json b/change/@microsoft-fast-foundation-6123b50a-4704-44ff-b7f1-e5fca21d79e1.json
new file mode 100644
index 00000000000..27235f9e205
--- /dev/null
+++ b/change/@microsoft-fast-foundation-6123b50a-4704-44ff-b7f1-e5fca21d79e1.json
@@ -0,0 +1,7 @@
+{
+ "type": "minor",
+ "comment": "add viewport lock to tooltip",
+ "packageName": "@microsoft/fast-foundation",
+ "email": "scomea@microsoft.com",
+ "dependentChangeType": "patch"
+}
diff --git a/change/@microsoft-fast-foundation-f40d1c3b-d5e2-4839-a156-db8a57cc0068.json b/change/@microsoft-fast-foundation-81d33959-8eaf-4838-aadb-93181b3d2166.json
similarity index 71%
rename from change/@microsoft-fast-foundation-f40d1c3b-d5e2-4839-a156-db8a57cc0068.json
rename to change/@microsoft-fast-foundation-81d33959-8eaf-4838-aadb-93181b3d2166.json
index bce75b17517..d5ff27b29e6 100644
--- a/change/@microsoft-fast-foundation-f40d1c3b-d5e2-4839-a156-db8a57cc0068.json
+++ b/change/@microsoft-fast-foundation-81d33959-8eaf-4838-aadb-93181b3d2166.json
@@ -1,6 +1,6 @@
{
"type": "patch",
- "comment": "add up/down key support to number-field",
+ "comment": "don't block all keys while focused",
"packageName": "@microsoft/fast-foundation",
"email": "corylaviska@microsoft.com",
"dependentChangeType": "patch"
diff --git a/change/@microsoft-fast-foundation-ebbf16ab-d1c9-48db-871e-28c8c01c2727.json b/change/@microsoft-fast-foundation-ebbf16ab-d1c9-48db-871e-28c8c01c2727.json
deleted file mode 100644
index 51bc9184eec..00000000000
--- a/change/@microsoft-fast-foundation-ebbf16ab-d1c9-48db-871e-28c8c01c2727.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "type": "minor",
- "comment": "Refactor DesignToken implementation to support deep token dependency hierarchies",
- "packageName": "@microsoft/fast-foundation",
- "email": "nicholasrice@users.noreply.github.com",
- "dependentChangeType": "patch"
-}
diff --git a/packages/tooling/fast-figma-plugin-msft/CHANGELOG.json b/packages/tooling/fast-figma-plugin-msft/CHANGELOG.json
index 3f10c8c0a7a..0601473228c 100644
--- a/packages/tooling/fast-figma-plugin-msft/CHANGELOG.json
+++ b/packages/tooling/fast-figma-plugin-msft/CHANGELOG.json
@@ -1,6 +1,36 @@
{
"name": "@microsoft/fast-figma-plugin-msft",
"entries": [
+ {
+ "date": "Mon, 30 Aug 2021 22:30:39 GMT",
+ "tag": "@microsoft/fast-figma-plugin-msft_v0.8.16",
+ "version": "0.8.16",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-components to v2.7.3",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "c4fe4d0706dae02bc2d4c8ea37dafe6c79c03075",
+ "package": "@microsoft/fast-figma-plugin-msft"
+ }
+ ]
+ }
+ },
+ {
+ "date": "Fri, 27 Aug 2021 14:14:26 GMT",
+ "tag": "@microsoft/fast-figma-plugin-msft_v0.8.16",
+ "version": "0.8.16",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-element to v1.5.0",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e498f1e35232169d2bf80e366350d0cde812d76d",
+ "package": "@microsoft/fast-figma-plugin-msft"
+ }
+ ]
+ }
+ },
{
"date": "Thu, 26 Aug 2021 07:17:43 GMT",
"tag": "@microsoft/fast-figma-plugin-msft_v0.8.16",
diff --git a/packages/tooling/fast-figma-plugin-msft/CHANGELOG.md b/packages/tooling/fast-figma-plugin-msft/CHANGELOG.md
index 255c9f24b77..d519ae9f1f0 100644
--- a/packages/tooling/fast-figma-plugin-msft/CHANGELOG.md
+++ b/packages/tooling/fast-figma-plugin-msft/CHANGELOG.md
@@ -1,11 +1,27 @@
# Change Log - @microsoft/fast-figma-plugin-msft
-This log was last generated on Thu, 26 Aug 2021 07:17:43 GMT and should not be manually modified.
+This log was last generated on Mon, 30 Aug 2021 22:30:39 GMT and should not be manually modified.
## 0.8.16
+Mon, 30 Aug 2021 22:30:39 GMT
+
+### Patches
+
+- Bump @microsoft/fast-components to v2.7.3 (nicholasrice@users.noreply.github.com)
+
+## 0.8.16
+
+Fri, 27 Aug 2021 14:14:26 GMT
+
+### Patches
+
+- Bump @microsoft/fast-element to v1.5.0 (nicholasrice@users.noreply.github.com)
+
+## 0.8.16
+
Thu, 26 Aug 2021 07:17:43 GMT
### Patches
diff --git a/packages/tooling/fast-figma-plugin-msft/package.json b/packages/tooling/fast-figma-plugin-msft/package.json
index 609d6409d05..45ddf1fec19 100644
--- a/packages/tooling/fast-figma-plugin-msft/package.json
+++ b/packages/tooling/fast-figma-plugin-msft/package.json
@@ -29,10 +29,10 @@
"@babel/core": "^7.12.13",
"@babel/preset-env": "^7.12.13",
"@microsoft/fast-colors": "^5.1.3",
- "@microsoft/fast-components": "^2.7.1",
+ "@microsoft/fast-components": "^2.7.3",
"@microsoft/fast-components-react-msft": "^4.32.0",
"@microsoft/fast-components-styles-msft": "^4.29.0",
- "@microsoft/fast-element": "^1.4.2",
+ "@microsoft/fast-element": "^1.5.0",
"@types/figma": "^1.0.2",
"@types/node": "^10.12.12",
"@types/react": "^16.9.17",
diff --git a/packages/tooling/fast-tooling-react/CHANGELOG.json b/packages/tooling/fast-tooling-react/CHANGELOG.json
index 16b96023345..aad12eba286 100644
--- a/packages/tooling/fast-tooling-react/CHANGELOG.json
+++ b/packages/tooling/fast-tooling-react/CHANGELOG.json
@@ -1,6 +1,36 @@
{
"name": "@microsoft/fast-tooling-react",
"entries": [
+ {
+ "date": "Mon, 30 Aug 2021 22:30:39 GMT",
+ "tag": "@microsoft/fast-tooling-react_v2.10.14",
+ "version": "2.10.14",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-tooling to v0.27.7",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "c4fe4d0706dae02bc2d4c8ea37dafe6c79c03075",
+ "package": "@microsoft/fast-tooling-react"
+ }
+ ]
+ }
+ },
+ {
+ "date": "Fri, 27 Aug 2021 14:14:26 GMT",
+ "tag": "@microsoft/fast-tooling-react_v2.10.13",
+ "version": "2.10.13",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-tooling to v0.27.6",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e498f1e35232169d2bf80e366350d0cde812d76d",
+ "package": "@microsoft/fast-tooling-react"
+ }
+ ]
+ }
+ },
{
"date": "Thu, 26 Aug 2021 07:17:43 GMT",
"tag": "@microsoft/fast-tooling-react_v2.10.12",
diff --git a/packages/tooling/fast-tooling-react/CHANGELOG.md b/packages/tooling/fast-tooling-react/CHANGELOG.md
index 59d72059e3f..317fde72375 100644
--- a/packages/tooling/fast-tooling-react/CHANGELOG.md
+++ b/packages/tooling/fast-tooling-react/CHANGELOG.md
@@ -1,9 +1,25 @@
# Change Log - @microsoft/fast-tooling-react
-This log was last generated on Thu, 26 Aug 2021 07:17:43 GMT and should not be manually modified.
+This log was last generated on Mon, 30 Aug 2021 22:30:39 GMT and should not be manually modified.
+## 2.10.14
+
+Mon, 30 Aug 2021 22:30:39 GMT
+
+### Patches
+
+- Bump @microsoft/fast-tooling to v0.27.7 (nicholasrice@users.noreply.github.com)
+
+## 2.10.13
+
+Fri, 27 Aug 2021 14:14:26 GMT
+
+### Patches
+
+- Bump @microsoft/fast-tooling to v0.27.6 (nicholasrice@users.noreply.github.com)
+
## 2.10.12
Thu, 26 Aug 2021 07:17:43 GMT
diff --git a/packages/tooling/fast-tooling-react/package.json b/packages/tooling/fast-tooling-react/package.json
index 9585a205f4b..afa4f69d40c 100644
--- a/packages/tooling/fast-tooling-react/package.json
+++ b/packages/tooling/fast-tooling-react/package.json
@@ -2,7 +2,7 @@
"name": "@microsoft/fast-tooling-react",
"description": "A React-specific set of components and utilities to assist in creating web UI",
"sideEffects": false,
- "version": "2.10.12",
+ "version": "2.10.14",
"author": {
"name": "Microsoft",
"url": "https://discord.gg/FcSNfg4"
@@ -113,14 +113,14 @@
},
"dependencies": {
"@microsoft/fast-colors": "^5.1.3",
- "@microsoft/fast-components": "^2.7.1",
+ "@microsoft/fast-components": "^2.7.3",
"@microsoft/fast-components-class-name-contracts-base": "^4.8.0",
"@microsoft/fast-components-foundation-react": "^3.2.0",
- "@microsoft/fast-element": "^1.4.2",
- "@microsoft/fast-foundation": "^2.7.1",
+ "@microsoft/fast-element": "^1.5.0",
+ "@microsoft/fast-foundation": "^2.8.1",
"@microsoft/fast-jss-manager-react": "^4.8.0",
"@microsoft/fast-jss-utilities": "^4.8.0",
- "@microsoft/fast-tooling": "^0.27.5",
+ "@microsoft/fast-tooling": "^0.27.7",
"@microsoft/fast-web-utilities": "^4.8.0",
"@skatejs/val": "^0.5.0",
"exenv-es6": "^1.0.0",
diff --git a/packages/tooling/fast-tooling/CHANGELOG.json b/packages/tooling/fast-tooling/CHANGELOG.json
index 9520708763c..730e27129de 100644
--- a/packages/tooling/fast-tooling/CHANGELOG.json
+++ b/packages/tooling/fast-tooling/CHANGELOG.json
@@ -1,6 +1,36 @@
{
"name": "@microsoft/fast-tooling",
"entries": [
+ {
+ "date": "Mon, 30 Aug 2021 22:30:39 GMT",
+ "tag": "@microsoft/fast-tooling_v0.27.7",
+ "version": "0.27.7",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-foundation to v2.8.1",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "c4fe4d0706dae02bc2d4c8ea37dafe6c79c03075",
+ "package": "@microsoft/fast-tooling"
+ }
+ ]
+ }
+ },
+ {
+ "date": "Fri, 27 Aug 2021 14:14:26 GMT",
+ "tag": "@microsoft/fast-tooling_v0.27.6",
+ "version": "0.27.6",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-element to v1.5.0",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e498f1e35232169d2bf80e366350d0cde812d76d",
+ "package": "@microsoft/fast-tooling"
+ }
+ ]
+ }
+ },
{
"date": "Thu, 26 Aug 2021 07:17:43 GMT",
"tag": "@microsoft/fast-tooling_v0.27.5",
diff --git a/packages/tooling/fast-tooling/CHANGELOG.md b/packages/tooling/fast-tooling/CHANGELOG.md
index 16b55516625..5873877a3d9 100644
--- a/packages/tooling/fast-tooling/CHANGELOG.md
+++ b/packages/tooling/fast-tooling/CHANGELOG.md
@@ -1,9 +1,25 @@
# Change Log - @microsoft/fast-tooling
-This log was last generated on Thu, 26 Aug 2021 07:17:43 GMT and should not be manually modified.
+This log was last generated on Mon, 30 Aug 2021 22:30:39 GMT and should not be manually modified.
+## 0.27.7
+
+Mon, 30 Aug 2021 22:30:39 GMT
+
+### Patches
+
+- Bump @microsoft/fast-foundation to v2.8.1 (nicholasrice@users.noreply.github.com)
+
+## 0.27.6
+
+Fri, 27 Aug 2021 14:14:26 GMT
+
+### Patches
+
+- Bump @microsoft/fast-element to v1.5.0 (nicholasrice@users.noreply.github.com)
+
## 0.27.5
Thu, 26 Aug 2021 07:17:43 GMT
diff --git a/packages/tooling/fast-tooling/package.json b/packages/tooling/fast-tooling/package.json
index 24190c350ec..982cc38f3b7 100644
--- a/packages/tooling/fast-tooling/package.json
+++ b/packages/tooling/fast-tooling/package.json
@@ -2,7 +2,7 @@
"name": "@microsoft/fast-tooling",
"description": "A set of utilities to assist in creating web UI",
"sideEffects": false,
- "version": "0.27.5",
+ "version": "0.27.7",
"author": {
"name": "Microsoft",
"url": "https://discord.gg/FcSNfg4"
@@ -97,9 +97,9 @@
},
"dependencies": {
"@microsoft/fast-colors": "^5.1.3",
- "@microsoft/fast-components": "^2.7.1",
- "@microsoft/fast-element": "^1.4.2",
- "@microsoft/fast-foundation": "^2.7.1",
+ "@microsoft/fast-components": "^2.7.3",
+ "@microsoft/fast-element": "^1.5.0",
+ "@microsoft/fast-foundation": "^2.8.1",
"@microsoft/fast-web-utilities": "^4.8.0",
"vscode-html-languageservice": "^3.1.3"
}
diff --git a/packages/web-components/fast-components/CHANGELOG.json b/packages/web-components/fast-components/CHANGELOG.json
index 7f59bc581a3..81c82922dc1 100644
--- a/packages/web-components/fast-components/CHANGELOG.json
+++ b/packages/web-components/fast-components/CHANGELOG.json
@@ -1,6 +1,36 @@
{
"name": "@microsoft/fast-components",
"entries": [
+ {
+ "date": "Mon, 30 Aug 2021 22:30:39 GMT",
+ "tag": "@microsoft/fast-components_v2.7.3",
+ "version": "2.7.3",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-foundation to v2.8.1",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "c4fe4d0706dae02bc2d4c8ea37dafe6c79c03075",
+ "package": "@microsoft/fast-components"
+ }
+ ]
+ }
+ },
+ {
+ "date": "Fri, 27 Aug 2021 14:14:26 GMT",
+ "tag": "@microsoft/fast-components_v2.7.2",
+ "version": "2.7.2",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-element to v1.5.0",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e498f1e35232169d2bf80e366350d0cde812d76d",
+ "package": "@microsoft/fast-components"
+ }
+ ]
+ }
+ },
{
"date": "Thu, 26 Aug 2021 07:17:43 GMT",
"tag": "@microsoft/fast-components_v2.7.1",
diff --git a/packages/web-components/fast-components/CHANGELOG.md b/packages/web-components/fast-components/CHANGELOG.md
index cd4be156c77..b2a67adbee6 100644
--- a/packages/web-components/fast-components/CHANGELOG.md
+++ b/packages/web-components/fast-components/CHANGELOG.md
@@ -1,9 +1,25 @@
# Change Log - @microsoft/fast-components
-This log was last generated on Thu, 26 Aug 2021 07:17:43 GMT and should not be manually modified.
+This log was last generated on Mon, 30 Aug 2021 22:30:39 GMT and should not be manually modified.
+## 2.7.3
+
+Mon, 30 Aug 2021 22:30:39 GMT
+
+### Patches
+
+- Bump @microsoft/fast-foundation to v2.8.1 (nicholasrice@users.noreply.github.com)
+
+## 2.7.2
+
+Fri, 27 Aug 2021 14:14:26 GMT
+
+### Patches
+
+- Bump @microsoft/fast-element to v1.5.0 (nicholasrice@users.noreply.github.com)
+
## 2.7.1
Thu, 26 Aug 2021 07:17:43 GMT
diff --git a/packages/web-components/fast-components/package.json b/packages/web-components/fast-components/package.json
index 9ca6b382d6e..d916054cb35 100644
--- a/packages/web-components/fast-components/package.json
+++ b/packages/web-components/fast-components/package.json
@@ -2,7 +2,7 @@
"name": "@microsoft/fast-components",
"description": "A library of Web Components",
"sideEffects": false,
- "version": "2.7.1",
+ "version": "2.7.3",
"author": {
"name": "Microsoft",
"url": "https://discord.gg/FcSNfg4"
@@ -111,8 +111,8 @@
},
"dependencies": {
"@microsoft/fast-colors": "^5.1.3",
- "@microsoft/fast-element": "^1.4.2",
- "@microsoft/fast-foundation": "^2.7.1",
+ "@microsoft/fast-element": "^1.5.0",
+ "@microsoft/fast-foundation": "^2.8.1",
"@microsoft/fast-web-utilities": "^4.8.0",
"tslib": "^1.13.0",
"vscode-html-languageservice": "^4.0.3"
diff --git a/packages/web-components/fast-components/src/tooltip/fixtures/base.html b/packages/web-components/fast-components/src/tooltip/fixtures/base.html
index ffb8455d75c..213bb2b3f03 100644
--- a/packages/web-components/fast-components/src/tooltip/fixtures/base.html
+++ b/packages/web-components/fast-components/src/tooltip/fixtures/base.html
@@ -1,98 +1,79 @@
Tooltip
Default
-
+
Helpful text is helpful
-
+
anchor
-
Show/Hide
-
-
- Always visible
-
-
- Always visible
-
-
- Always visible
-
-
- Always visible
-
-
- Toggle tooltips
-
-
+
Show/Hide with auto updating and lock to viewport
+
+ Helpful text is helpful
+
+
+ Helpful text is helpful
+
+
+ Helpful text is helpful
+
+
+ Helpful text is helpful
+
+
+ Toggle tooltips
+
-
Top
+
Fixed positions
-
- Helpful text is helpful
+
+ Top
-
- anchor
-
-
-
-
Right
-
-
- Helpful text is helpful
+
+ Right
-
- anchor
-
-
-
-
Bottom
-
-
- Helpful text is helpful
+
+ Bottom
-
- anchor
-
-
-
-
Left
-
-
- Helpful text is helpful
+
+ Left
-
+
anchor
diff --git a/packages/web-components/fast-components/src/tooltip/tooltip.styles.ts b/packages/web-components/fast-components/src/tooltip/tooltip.styles.ts
index 6a9aeba399d..1eb52c48828 100644
--- a/packages/web-components/fast-components/src/tooltip/tooltip.styles.ts
+++ b/packages/web-components/fast-components/src/tooltip/tooltip.styles.ts
@@ -25,7 +25,7 @@ export const tooltipStyles: (
) =>
css`
:host {
- contain: layout;
+ contain: size;
overflow: visible;
height: 0;
width: 0;
diff --git a/packages/web-components/fast-components/src/tooltip/tooltip.vscode.definition.json b/packages/web-components/fast-components/src/tooltip/tooltip.vscode.definition.json
index 3ba3a3c9df0..ad74ee9de87 100644
--- a/packages/web-components/fast-components/src/tooltip/tooltip.vscode.definition.json
+++ b/packages/web-components/fast-components/src/tooltip/tooltip.vscode.definition.json
@@ -30,6 +30,16 @@
"default": 300,
"required": false
},
+ {
+ "name": "auto-update-mode",
+ "title": "Auto update mode",
+ "description":
+ "Controls when the tooltip updates its position.",
+ "type": "string",
+ "values": [{ "name": "anchor" }, { "name": "auto" }],
+ "default": "anchor",
+ "required": false
+ },
{
"name": "position",
"title": "Position",
@@ -44,6 +54,22 @@
{ "name": "end" }
],
"type": "string",
+ "required,": false
+ },
+ {
+ "name": "horizontal-viewport-lock",
+ "title": "Horizontal viewport lock",
+ "description": "Controls if the tooltip will always remain fully in the viewport on the horizontal axis",
+ "type": "boolean",
+ "default": false,
+ "required": false
+ },
+ {
+ "name": "vertical-viewport-lock",
+ "title": "Vertical viewport lock",
+ "description": "Controls if the tooltip will always remain fully in the viewport on the vertical axis",
+ "type": "boolean",
+ "default": false,
"required": false
}
],
diff --git a/packages/web-components/fast-element/CHANGELOG.json b/packages/web-components/fast-element/CHANGELOG.json
index e0b9c03c16b..f0c2cd3a2bb 100644
--- a/packages/web-components/fast-element/CHANGELOG.json
+++ b/packages/web-components/fast-element/CHANGELOG.json
@@ -1,6 +1,27 @@
{
"name": "@microsoft/fast-element",
"entries": [
+ {
+ "date": "Fri, 27 Aug 2021 14:14:26 GMT",
+ "tag": "@microsoft/fast-element_v1.5.0",
+ "version": "1.5.0",
+ "comments": {
+ "minor": [
+ {
+ "comment": "Adds capability to Observable to subscribe to any observable property change for an object",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e498f1e35232169d2bf80e366350d0cde812d76d",
+ "package": "@microsoft/fast-element"
+ },
+ {
+ "comment": "ensure HTMLStyleElement DOM order matches call addStylesTo() call order",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e43c49b26457f6bdca34b91bbaa8658359e4b2d5",
+ "package": "@microsoft/fast-element"
+ }
+ ]
+ }
+ },
{
"date": "Thu, 26 Aug 2021 07:17:43 GMT",
"tag": "@microsoft/fast-element_v1.4.2",
diff --git a/packages/web-components/fast-element/CHANGELOG.md b/packages/web-components/fast-element/CHANGELOG.md
index 5dd3690e379..1881328269f 100644
--- a/packages/web-components/fast-element/CHANGELOG.md
+++ b/packages/web-components/fast-element/CHANGELOG.md
@@ -1,9 +1,18 @@
# Change Log - @microsoft/fast-element
-This log was last generated on Thu, 26 Aug 2021 07:17:43 GMT and should not be manually modified.
+This log was last generated on Fri, 27 Aug 2021 14:14:26 GMT and should not be manually modified.
+## 1.5.0
+
+Fri, 27 Aug 2021 14:14:26 GMT
+
+### Minor changes
+
+- Adds capability to Observable to subscribe to any observable property change for an object (nicholasrice@users.noreply.github.com)
+- ensure HTMLStyleElement DOM order matches call addStylesTo() call order (nicholasrice@users.noreply.github.com)
+
## 1.4.2
Thu, 26 Aug 2021 07:17:43 GMT
diff --git a/packages/web-components/fast-element/package.json b/packages/web-components/fast-element/package.json
index 38967215241..c2bfc5f91b0 100644
--- a/packages/web-components/fast-element/package.json
+++ b/packages/web-components/fast-element/package.json
@@ -2,7 +2,7 @@
"name": "@microsoft/fast-element",
"description": "A library for constructing Web Components",
"sideEffects": false,
- "version": "1.4.2",
+ "version": "1.5.0",
"author": {
"name": "Microsoft",
"url": "https://discord.gg/FcSNfg4"
diff --git a/packages/web-components/fast-foundation/CHANGELOG.json b/packages/web-components/fast-foundation/CHANGELOG.json
index 779fe8eee9a..84d48e22a2f 100644
--- a/packages/web-components/fast-foundation/CHANGELOG.json
+++ b/packages/web-components/fast-foundation/CHANGELOG.json
@@ -1,6 +1,58 @@
{
"name": "@microsoft/fast-foundation",
"entries": [
+ {
+ "date": "Mon, 30 Aug 2021 22:30:39 GMT",
+ "tag": "@microsoft/fast-foundation_v2.8.1",
+ "version": "2.8.1",
+ "comments": {
+ "none": [
+ {
+ "comment": "docs(integrations): add an ember tutorial",
+ "author": "roeisenb@microsoft.com",
+ "commit": "cb5d2b128a7f0283377642b8e7e97fc68d22d952",
+ "package": "@microsoft/fast-foundation"
+ }
+ ],
+ "patch": [
+ {
+ "comment": "fixing issue where a token would subscribe to itself, causing max-callstack-exceded in certain scenarios",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "c4fe4d0706dae02bc2d4c8ea37dafe6c79c03075",
+ "package": "@microsoft/fast-foundation"
+ }
+ ]
+ }
+ },
+ {
+ "date": "Fri, 27 Aug 2021 14:14:26 GMT",
+ "tag": "@microsoft/fast-foundation_v2.8.0",
+ "version": "2.8.0",
+ "comments": {
+ "minor": [
+ {
+ "comment": "Refactor DesignToken implementation to support deep token dependency hierarchies",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e498f1e35232169d2bf80e366350d0cde812d76d",
+ "package": "@microsoft/fast-foundation"
+ }
+ ],
+ "patch": [
+ {
+ "comment": "add up/down key support to number-field",
+ "author": "corylaviska@microsoft.com",
+ "commit": "0dd749b39bb8d1a0005b0a511ebcc7853f6a077b",
+ "package": "@microsoft/fast-foundation"
+ },
+ {
+ "comment": "Bump @microsoft/fast-element to v1.5.0",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e498f1e35232169d2bf80e366350d0cde812d76d",
+ "package": "@microsoft/fast-foundation"
+ }
+ ]
+ }
+ },
{
"date": "Thu, 26 Aug 2021 07:17:43 GMT",
"tag": "@microsoft/fast-foundation_v2.7.1",
diff --git a/packages/web-components/fast-foundation/CHANGELOG.md b/packages/web-components/fast-foundation/CHANGELOG.md
index 01e0558d3bc..1821707b9eb 100644
--- a/packages/web-components/fast-foundation/CHANGELOG.md
+++ b/packages/web-components/fast-foundation/CHANGELOG.md
@@ -1,9 +1,30 @@
# Change Log - @microsoft/fast-foundation
-This log was last generated on Thu, 26 Aug 2021 07:17:43 GMT and should not be manually modified.
+This log was last generated on Mon, 30 Aug 2021 22:30:39 GMT and should not be manually modified.
+## 2.8.1
+
+Mon, 30 Aug 2021 22:30:39 GMT
+
+### Patches
+
+- fixing issue where a token would subscribe to itself, causing max-callstack-exceded in certain scenarios (nicholasrice@users.noreply.github.com)
+
+## 2.8.0
+
+Fri, 27 Aug 2021 14:14:26 GMT
+
+### Minor changes
+
+- Refactor DesignToken implementation to support deep token dependency hierarchies (nicholasrice@users.noreply.github.com)
+
+### Patches
+
+- add up/down key support to number-field (corylaviska@microsoft.com)
+- Bump @microsoft/fast-element to v1.5.0 (nicholasrice@users.noreply.github.com)
+
## 2.7.1
Thu, 26 Aug 2021 07:17:43 GMT
diff --git a/packages/web-components/fast-foundation/docs/api-report.md b/packages/web-components/fast-foundation/docs/api-report.md
index 47e640ffd5c..914580933e2 100644
--- a/packages/web-components/fast-foundation/docs/api-report.md
+++ b/packages/web-components/fast-foundation/docs/api-report.md
@@ -2077,6 +2077,7 @@ export class Tooltip extends FoundationElement {
horizontalPositioningMode: AxisPositioningMode;
// @internal (undocumented)
horizontalScaling: AxisScalingMode;
+ horizontalViewportLock: boolean;
position: TooltipPosition;
// @internal
region: AnchoredRegion;
@@ -2090,6 +2091,7 @@ export class Tooltip extends FoundationElement {
verticalPositioningMode: AxisPositioningMode;
// @internal (undocumented)
verticalScaling: AxisScalingMode;
+ verticalViewportLock: boolean;
// @internal
viewportElement: HTMLElement | null;
visible: boolean;
diff --git a/packages/web-components/fast-foundation/docs/integrations/ember.md b/packages/web-components/fast-foundation/docs/integrations/ember.md
new file mode 100644
index 00000000000..45a9e68910f
--- /dev/null
+++ b/packages/web-components/fast-foundation/docs/integrations/ember.md
@@ -0,0 +1,121 @@
+---
+id: ember
+title: Ember
+sidebar_label: Ember
+custom_edit_url: https://github.com/microsoft/fast/edit/master/packages/web-components/fast-foundation/docs/integrations/ember.md
+---
+
+FAST and Ember work great together. Let's take a look at how you can set up an Ember project, starting from scratch.
+
+## Setting up the Ember project
+
+First, you'll need to make sure that you have Node.js installed. You can learn more and download that [on the official site](https://nodejs.org/).
+
+With Node.js installed, you can run the following command to install the Ember CLI:
+
+```shell
+npm install -g ember-cli
+```
+
+With the CLI installed, you have access to the `ember` command-line interface. This can be used to create a new Ember project. For example, to create a new Ember App named "fast-ember", you would use the following command:
+
+```shell
+ember new fast-ember --lang en
+```
+
+When the CLI completes, you should have a basic runnable Ember application.
+
+## Configuring packages
+
+Next, we'll install the FAST packages, along with supporting libraries. To do that, run this command from your new project folder:
+
+```shell
+npm install --save @microsoft/fast-components @microsoft/fast-element lodash-es
+```
+
+## Using the components
+
+With all the basic pieces in place, let's run our app with `npm start`. The Ember CLI should build your project and make it available on localhost. Right now, it displays a basic welcome message, since we haven't added any code or interesting HTML. Let's change that.
+
+First, open your `app/app.js` file and add the following code:
+
+```ts
+import {
+ provideFASTDesignSystem,
+ fastCard,
+ fastButton,
+ fastTextField
+} from '@microsoft/fast-components';
+
+provideFASTDesignSystem()
+ .register(
+ fastCard(),
+ fastButton(),
+ fastTextField()
+ );
+```
+
+This code uses the FAST Design System to register `
`, `` and `` components. Once you save, the dev server will rebuild and refresh your browser. However, you still won't see anything. Open your `application.hbs` file and replace the `` component with the following HTML and then save again.
+
+```html
+
+ FAST Ember
+
+ Click Me
+
+```
+
+Now you should see the FAST web components displayed in your Ember application.
+
+Next, let's improve this by refactoring this code into a component. Stop the CLI and run the following command to scaffold an Ember component.
+
+```shell
+ember generate component fast-demo
+```
+
+Copy the the HTML above and use it to replace the HTML in your `app/components/fast-demo.hbs` file. Next replace the same HTML in your `templates/application.hbs` file with the following Ember component use:
+
+```html
+
+```
+
+Run `npm start` again and you should see the same output, but now we have moved our web components into a `FastDemo` Ember component.
+
+Let's go a little further. Create a `fast-demo.js` file in the same folder as your `fast-demo.hbs` file and paste the following code:
+
+```js
+import Component from '@glimmer/component';
+import { action } from '@ember/object';
+import { tracked } from '@glimmer/tracking';
+
+export default class FastDemoComponent extends Component {
+ @tracked exampleTextField = '';
+
+ @action
+ onClick() {
+ console.log(this.exampleTextField);
+ }
+
+ @action
+ onInput(event) {
+ this.exampleTextField = event.target.value;
+ }
+}
+```
+
+Next, update the `fast-demo.hbs` file with the following HTML:
+
+```html
+
+ FAST Ember
+
+ Click Me
+
+```
+
+With this code in place, you now have FAST Web Components fully binding to data and handling user interactions, all from inside an Ember component.
+
+Congratulations! You're now set up to use FAST and Ember!
diff --git a/packages/web-components/fast-foundation/package.json b/packages/web-components/fast-foundation/package.json
index ae2c63e6296..a842918618e 100644
--- a/packages/web-components/fast-foundation/package.json
+++ b/packages/web-components/fast-foundation/package.json
@@ -2,7 +2,7 @@
"name": "@microsoft/fast-foundation",
"description": "A library of Web Component building blocks",
"sideEffects": false,
- "version": "2.7.1",
+ "version": "2.8.1",
"author": {
"name": "Microsoft",
"url": "https://discord.gg/FcSNfg4"
@@ -89,7 +89,7 @@
"webpack": "^4.44.0"
},
"dependencies": {
- "@microsoft/fast-element": "^1.4.2",
+ "@microsoft/fast-element": "^1.5.0",
"@microsoft/fast-web-utilities": "^4.8.0",
"@microsoft/tsdoc-config": "^0.13.4",
"tabbable": "^5.2.0",
diff --git a/packages/web-components/fast-foundation/src/design-token/design-token.spec.ts b/packages/web-components/fast-foundation/src/design-token/design-token.spec.ts
index 67fe1af4799..2bf2f102985 100644
--- a/packages/web-components/fast-foundation/src/design-token/design-token.spec.ts
+++ b/packages/web-components/fast-foundation/src/design-token/design-token.spec.ts
@@ -498,6 +498,19 @@ describe("A DesignToken", () => {
removeElement(target);
});
+
+ it("should support accessing the token for being assigned from the derived value", () => {
+ const tokenA = DesignToken.create("token-a");
+ const parent = addElement();
+ const child = addElement(parent);
+ tokenA.withDefault(6);
+ const recipe = (el: HTMLElement) => tokenA.getValueFor(el.parentElement!) * 2;
+ tokenA.setValueFor(parent, recipe);
+ tokenA.setValueFor(child, recipe);
+
+ expect(tokenA.getValueFor(parent)).to.equal(12);
+ expect(tokenA.getValueFor(child)).to.equal(24);
+ })
});
it("should update the CSS custom property of a derived token with a dependency that is a derived token that depends on a third token", async () => {
const tokenA = DesignToken.create("token-a");
diff --git a/packages/web-components/fast-foundation/src/design-token/design-token.ts b/packages/web-components/fast-foundation/src/design-token/design-token.ts
index 178aa6e7d90..07d99c64200 100644
--- a/packages/web-components/fast-foundation/src/design-token/design-token.ts
+++ b/packages/web-components/fast-foundation/src/design-token/design-token.ts
@@ -377,10 +377,13 @@ class DesignTokenBindingObserver {
this.handleChange();
for (const record of this.observer.records()) {
- if (record.propertySource instanceof DesignTokenNode) {
+ const { propertySource } = record;
+ if (propertySource instanceof DesignTokenNode) {
const token = DesignTokenImpl.getTokenById(record.propertyName);
- if (token !== undefined) {
+ // Tokens should not enumerate themselves as a dependency because
+ // any setting of the token will override the value for that scope.
+ if (token !== undefined && token !== this.token) {
this.dependencies.add(token);
}
}
@@ -643,7 +646,6 @@ class DesignTokenNode implements Behavior, Subscriber {
}
});
}
-
x.subscribe(subscriber);
});
}
diff --git a/packages/web-components/fast-foundation/src/slider/slider.ts b/packages/web-components/fast-foundation/src/slider/slider.ts
index 5a7c6b691c1..b120f63eef2 100644
--- a/packages/web-components/fast-foundation/src/slider/slider.ts
+++ b/packages/web-components/fast-foundation/src/slider/slider.ts
@@ -290,22 +290,22 @@ export class Slider extends FormAssociatedSlider implements SliderConfiguration
}
protected keypressHandler = (e: KeyboardEvent) => {
- if (e.keyCode !== keyCodeTab) {
- e.preventDefault();
- }
-
if (e.keyCode === keyCodeHome) {
+ e.preventDefault();
this.value = `${this.min}`;
} else if (e.keyCode === keyCodeEnd) {
+ e.preventDefault();
this.value = `${this.max}`;
} else if (!e.shiftKey) {
switch (e.keyCode) {
case keyCodeArrowRight:
case keyCodeArrowUp:
+ e.preventDefault();
this.increment();
break;
case keyCodeArrowLeft:
case keyCodeArrowDown:
+ e.preventDefault();
this.decrement();
break;
}
diff --git a/packages/web-components/fast-foundation/src/tooltip/tooltip.spec.md b/packages/web-components/fast-foundation/src/tooltip/tooltip.spec.md
index c4db9bc8f9a..2f9e3426611 100644
--- a/packages/web-components/fast-foundation/src/tooltip/tooltip.spec.md
+++ b/packages/web-components/fast-foundation/src/tooltip/tooltip.spec.md
@@ -45,6 +45,10 @@ _Attributes:_
- auto-update-mode - Corresponds to anchored region's auto update mode and governs when the tooltip checks its position. Default is "auto".
+- horizontal-viewport-lock - Controls if the tooltip will always remain fully in the viewport on the horizontal axis
+
+- vertical-viewport-lock - Controls if the tooltip will always remain fully in the viewport on the vertical axis
+
_Properties:_
- `anchorElement` - Holds a reference to the HTMLElement currently being used as the anchor. Can be set directly or be populated by setting the anchor attribute.
diff --git a/packages/web-components/fast-foundation/src/tooltip/tooltip.spec.ts b/packages/web-components/fast-foundation/src/tooltip/tooltip.spec.ts
index 8470e417c83..b1ca00238a3 100644
--- a/packages/web-components/fast-foundation/src/tooltip/tooltip.spec.ts
+++ b/packages/web-components/fast-foundation/src/tooltip/tooltip.spec.ts
@@ -300,4 +300,16 @@ describe("Tooltip", () => {
await disconnect();
});
+
+ it("should set viewport lock attributes to undefined(false) by default", async () => {
+ const { element, connect, disconnect } = await setup();
+ const tooltip: Tooltip = element;
+
+ await connect();
+
+ expect(tooltip.verticalViewportLock).to.equal(undefined);
+ expect(tooltip.horizontalViewportLock).to.equal(undefined);
+
+ await disconnect();
+ });
});
diff --git a/packages/web-components/fast-foundation/src/tooltip/tooltip.template.ts b/packages/web-components/fast-foundation/src/tooltip/tooltip.template.ts
index 3d7fe13a9a9..030c47bea1d 100644
--- a/packages/web-components/fast-foundation/src/tooltip/tooltip.template.ts
+++ b/packages/web-components/fast-foundation/src/tooltip/tooltip.template.ts
@@ -31,6 +31,8 @@ export const tooltipTemplate: (
horizontal-default-position="${x => x.horizontalDefaultPosition}"
horizontal-scaling="${x => x.horizontalScaling}"
horizontal-inset="${x => x.horizontalInset}"
+ vertical-viewport-lock="${x => x.horizontalViewportLock}"
+ horizontal-viewport-lock="${x => x.verticalViewportLock}"
dir="${x => x.currentDirection}"
${ref("region")}
>
diff --git a/packages/web-components/fast-foundation/src/tooltip/tooltip.ts b/packages/web-components/fast-foundation/src/tooltip/tooltip.ts
index 2a66c572a14..57c998627d7 100644
--- a/packages/web-components/fast-foundation/src/tooltip/tooltip.ts
+++ b/packages/web-components/fast-foundation/src/tooltip/tooltip.ts
@@ -18,8 +18,6 @@ export { TooltipPosition };
* @public
*/
export class Tooltip extends FoundationElement {
- private static DirectionAttributeName: string = "dir";
-
/**
* Whether the tooltip is visible or not.
* If undefined tooltip is shown when anchor element is hovered
@@ -89,6 +87,24 @@ export class Tooltip extends FoundationElement {
@attr({ attribute: "auto-update-mode" })
public autoUpdateMode: AutoUpdateMode = "anchor";
+ /**
+ * Controls if the tooltip will always remain fully in the viewport on the horizontal axis
+ * @public
+ * @remarks
+ * HTML Attribute: horizontal-viewport-lock
+ */
+ @attr({ attribute: "horizontal-viewport-lock" })
+ public horizontalViewportLock: boolean;
+
+ /**
+ * Controls if the tooltip will always remain fully in the viewport on the vertical axis
+ * @public
+ * @remarks
+ * HTML Attribute: vertical-viewport-lock
+ */
+ @attr({ attribute: "vertical-viewport-lock" })
+ public verticalViewportLock: boolean;
+
/**
* the html element currently being used as anchor.
* Setting this directly overrides the anchor attribute.
@@ -459,7 +475,6 @@ export class Tooltip extends FoundationElement {
if (!this.tooltipVisible) {
return;
}
- this.viewportElement = document.body;
this.region.viewportElement = this.viewportElement;
this.region.anchorElement = this.anchorElement;
(this.region as any).addEventListener(
diff --git a/packages/web-components/fast-router/CHANGELOG.json b/packages/web-components/fast-router/CHANGELOG.json
index 24002ea7822..a720435108a 100644
--- a/packages/web-components/fast-router/CHANGELOG.json
+++ b/packages/web-components/fast-router/CHANGELOG.json
@@ -1,6 +1,21 @@
{
"name": "@microsoft/fast-router",
"entries": [
+ {
+ "date": "Fri, 27 Aug 2021 14:14:26 GMT",
+ "tag": "@microsoft/fast-router_v0.2.6",
+ "version": "0.2.6",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-element to v1.5.0",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e498f1e35232169d2bf80e366350d0cde812d76d",
+ "package": "@microsoft/fast-router"
+ }
+ ]
+ }
+ },
{
"date": "Thu, 26 Aug 2021 07:17:43 GMT",
"tag": "@microsoft/fast-router_v0.2.5",
diff --git a/packages/web-components/fast-router/CHANGELOG.md b/packages/web-components/fast-router/CHANGELOG.md
index 0264a614435..1629bc16f0b 100644
--- a/packages/web-components/fast-router/CHANGELOG.md
+++ b/packages/web-components/fast-router/CHANGELOG.md
@@ -1,9 +1,17 @@
# Change Log - @microsoft/fast-router
-This log was last generated on Thu, 26 Aug 2021 07:17:43 GMT and should not be manually modified.
+This log was last generated on Fri, 27 Aug 2021 14:14:26 GMT and should not be manually modified.
+## 0.2.6
+
+Fri, 27 Aug 2021 14:14:26 GMT
+
+### Patches
+
+- Bump @microsoft/fast-element to v1.5.0 (nicholasrice@users.noreply.github.com)
+
## 0.2.5
Thu, 26 Aug 2021 07:17:43 GMT
diff --git a/packages/web-components/fast-router/package.json b/packages/web-components/fast-router/package.json
index 523ea480ea4..708a28c81a0 100644
--- a/packages/web-components/fast-router/package.json
+++ b/packages/web-components/fast-router/package.json
@@ -2,7 +2,7 @@
"name": "@microsoft/fast-router",
"description": "A web-components-based router.",
"sideEffects": false,
- "version": "0.2.5",
+ "version": "0.2.6",
"author": {
"name": "Microsoft",
"url": "https://discord.gg/FcSNfg4"
@@ -83,6 +83,6 @@
"webpack": "^4.44.0"
},
"dependencies": {
- "@microsoft/fast-element": "^1.4.2"
+ "@microsoft/fast-element": "^1.5.0"
}
}
diff --git a/sites/fast-color-explorer/CHANGELOG.json b/sites/fast-color-explorer/CHANGELOG.json
index f5bc08e582c..313835c2a24 100644
--- a/sites/fast-color-explorer/CHANGELOG.json
+++ b/sites/fast-color-explorer/CHANGELOG.json
@@ -1,6 +1,36 @@
{
"name": "@microsoft/fast-color-explorer",
"entries": [
+ {
+ "date": "Mon, 30 Aug 2021 22:30:39 GMT",
+ "tag": "@microsoft/fast-color-explorer_v1.6.19",
+ "version": "1.6.19",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/site-utilities to v0.9.0",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "c4fe4d0706dae02bc2d4c8ea37dafe6c79c03075",
+ "package": "@microsoft/fast-color-explorer"
+ }
+ ]
+ }
+ },
+ {
+ "date": "Fri, 27 Aug 2021 14:14:26 GMT",
+ "tag": "@microsoft/fast-color-explorer_v1.6.19",
+ "version": "1.6.19",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/site-utilities to v0.9.0",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e498f1e35232169d2bf80e366350d0cde812d76d",
+ "package": "@microsoft/fast-color-explorer"
+ }
+ ]
+ }
+ },
{
"date": "Thu, 26 Aug 2021 07:17:43 GMT",
"tag": "@microsoft/fast-color-explorer_v1.6.19",
diff --git a/sites/fast-color-explorer/CHANGELOG.md b/sites/fast-color-explorer/CHANGELOG.md
index 83429d66bfb..c1106eabec2 100644
--- a/sites/fast-color-explorer/CHANGELOG.md
+++ b/sites/fast-color-explorer/CHANGELOG.md
@@ -1,11 +1,27 @@
# Change Log - @microsoft/fast-color-explorer
-This log was last generated on Thu, 26 Aug 2021 07:17:43 GMT and should not be manually modified.
+This log was last generated on Mon, 30 Aug 2021 22:30:39 GMT and should not be manually modified.
## 1.6.19
+Mon, 30 Aug 2021 22:30:39 GMT
+
+### Patches
+
+- Bump @microsoft/site-utilities to v0.9.0 (nicholasrice@users.noreply.github.com)
+
+## 1.6.19
+
+Fri, 27 Aug 2021 14:14:26 GMT
+
+### Patches
+
+- Bump @microsoft/site-utilities to v0.9.0 (nicholasrice@users.noreply.github.com)
+
+## 1.6.19
+
Thu, 26 Aug 2021 07:17:43 GMT
### Patches
diff --git a/sites/fast-color-explorer/package.json b/sites/fast-color-explorer/package.json
index 1050b821e3d..ae758c367a0 100644
--- a/sites/fast-color-explorer/package.json
+++ b/sites/fast-color-explorer/package.json
@@ -70,7 +70,7 @@
},
"dependencies": {
"@microsoft/fast-colors": "^5.1.3",
- "@microsoft/fast-components": "^2.7.1",
+ "@microsoft/fast-components": "^2.7.3",
"@microsoft/fast-components-react-base": "^4.27.0",
"@microsoft/fast-components-react-msft": "^4.32.0",
"@microsoft/fast-components-styles-msft": "^4.29.0",
diff --git a/sites/fast-component-explorer/CHANGELOG.json b/sites/fast-component-explorer/CHANGELOG.json
index dce66175ea3..de93049f8fe 100644
--- a/sites/fast-component-explorer/CHANGELOG.json
+++ b/sites/fast-component-explorer/CHANGELOG.json
@@ -1,6 +1,36 @@
{
"name": "@microsoft/fast-component-explorer",
"entries": [
+ {
+ "date": "Mon, 30 Aug 2021 22:30:39 GMT",
+ "tag": "@microsoft/fast-component-explorer_v0.17.2",
+ "version": "0.17.2",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-tooling-react to v2.10.14",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "c4fe4d0706dae02bc2d4c8ea37dafe6c79c03075",
+ "package": "@microsoft/fast-component-explorer"
+ }
+ ]
+ }
+ },
+ {
+ "date": "Fri, 27 Aug 2021 14:14:26 GMT",
+ "tag": "@microsoft/fast-component-explorer_v0.17.2",
+ "version": "0.17.2",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-tooling-react to v2.10.13",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e498f1e35232169d2bf80e366350d0cde812d76d",
+ "package": "@microsoft/fast-component-explorer"
+ }
+ ]
+ }
+ },
{
"date": "Thu, 26 Aug 2021 07:17:43 GMT",
"tag": "@microsoft/fast-component-explorer_v0.17.2",
diff --git a/sites/fast-component-explorer/CHANGELOG.md b/sites/fast-component-explorer/CHANGELOG.md
index f2a40870835..d3adfae212c 100644
--- a/sites/fast-component-explorer/CHANGELOG.md
+++ b/sites/fast-component-explorer/CHANGELOG.md
@@ -1,11 +1,27 @@
# Change Log - @microsoft/fast-component-explorer
-This log was last generated on Thu, 26 Aug 2021 07:17:43 GMT and should not be manually modified.
+This log was last generated on Mon, 30 Aug 2021 22:30:39 GMT and should not be manually modified.
## 0.17.2
+Mon, 30 Aug 2021 22:30:39 GMT
+
+### Patches
+
+- Bump @microsoft/fast-tooling-react to v2.10.14 (nicholasrice@users.noreply.github.com)
+
+## 0.17.2
+
+Fri, 27 Aug 2021 14:14:26 GMT
+
+### Patches
+
+- Bump @microsoft/fast-tooling-react to v2.10.13 (nicholasrice@users.noreply.github.com)
+
+## 0.17.2
+
Thu, 26 Aug 2021 07:17:43 GMT
### Patches
diff --git a/sites/fast-component-explorer/package.json b/sites/fast-component-explorer/package.json
index 12d31740908..be25d50392d 100644
--- a/sites/fast-component-explorer/package.json
+++ b/sites/fast-component-explorer/package.json
@@ -86,8 +86,8 @@
"@microsoft/fast-components-react-msft": "^4.32.0",
"@microsoft/fast-components-styles-msft": "^4.29.0",
"@microsoft/fast-jss-manager-react": "^4.8.0",
- "@microsoft/fast-tooling": "^0.27.5",
- "@microsoft/fast-tooling-react": "^2.10.12",
+ "@microsoft/fast-tooling": "^0.27.7",
+ "@microsoft/fast-tooling-react": "^2.10.14",
"@microsoft/fast-web-utilities": "^4.8.0",
"@skatejs/val": "^0.5.0",
"monaco-editor": "^0.21.2",
diff --git a/sites/fast-creator/CHANGELOG.json b/sites/fast-creator/CHANGELOG.json
index 4504275ff34..b865ed362e0 100644
--- a/sites/fast-creator/CHANGELOG.json
+++ b/sites/fast-creator/CHANGELOG.json
@@ -1,6 +1,36 @@
{
"name": "@microsoft/fast-creator",
"entries": [
+ {
+ "date": "Mon, 30 Aug 2021 22:30:39 GMT",
+ "tag": "@microsoft/fast-creator_v0.7.0",
+ "version": "0.7.0",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-tooling-react to v2.10.14",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "c4fe4d0706dae02bc2d4c8ea37dafe6c79c03075",
+ "package": "@microsoft/fast-creator"
+ }
+ ]
+ }
+ },
+ {
+ "date": "Fri, 27 Aug 2021 14:14:26 GMT",
+ "tag": "@microsoft/fast-creator_v0.7.0",
+ "version": "0.7.0",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-tooling-react to v2.10.13",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e498f1e35232169d2bf80e366350d0cde812d76d",
+ "package": "@microsoft/fast-creator"
+ }
+ ]
+ }
+ },
{
"date": "Thu, 26 Aug 2021 07:17:43 GMT",
"tag": "@microsoft/fast-creator_v0.7.0",
diff --git a/sites/fast-creator/CHANGELOG.md b/sites/fast-creator/CHANGELOG.md
index 356f86a1ff2..a53fab0f789 100644
--- a/sites/fast-creator/CHANGELOG.md
+++ b/sites/fast-creator/CHANGELOG.md
@@ -1,11 +1,27 @@
# Change Log - @microsoft/fast-creator
-This log was last generated on Thu, 26 Aug 2021 07:17:43 GMT and should not be manually modified.
+This log was last generated on Mon, 30 Aug 2021 22:30:39 GMT and should not be manually modified.
## 0.7.0
+Mon, 30 Aug 2021 22:30:39 GMT
+
+### Patches
+
+- Bump @microsoft/fast-tooling-react to v2.10.14 (nicholasrice@users.noreply.github.com)
+
+## 0.7.0
+
+Fri, 27 Aug 2021 14:14:26 GMT
+
+### Patches
+
+- Bump @microsoft/fast-tooling-react to v2.10.13 (nicholasrice@users.noreply.github.com)
+
+## 0.7.0
+
Thu, 26 Aug 2021 07:17:43 GMT
### Patches
diff --git a/sites/fast-creator/app/configs/fast/library.fast.ts b/sites/fast-creator/app/configs/fast/library.fast.ts
index 8801c0776bb..09df9014b6b 100644
--- a/sites/fast-creator/app/configs/fast/library.fast.ts
+++ b/sites/fast-creator/app/configs/fast/library.fast.ts
@@ -48,7 +48,6 @@ import {
fastTextAreaTag,
fastTextFieldTag,
} from "./library.fast.tags";
-import { registerFASTComponents } from "./library.fast.registry";
export const fastComponentId = "fast-components";
export const fastComponentLibrary: WebComponentLibraryDefinition = {
@@ -58,7 +57,9 @@ export const fastComponentLibrary: WebComponentLibraryDefinition = {
import: async () => {
await import("./library.fast.import");
},
- register: registerFASTComponents,
+ register: async () => {
+ (await import("./library.fast.registry")).registerFASTComponents();
+ },
componentDictionary: {
[fastComponentSchemas[fastAnchorTag].$id]: {
displayName: fastComponentSchemas[fastAnchorTag].title,
diff --git a/sites/fast-creator/app/configs/fluent-ui/library.fluent-ui.ts b/sites/fast-creator/app/configs/fluent-ui/library.fluent-ui.ts
index 73568b189cc..03d9dc9f4ac 100644
--- a/sites/fast-creator/app/configs/fluent-ui/library.fluent-ui.ts
+++ b/sites/fast-creator/app/configs/fluent-ui/library.fluent-ui.ts
@@ -48,7 +48,6 @@ import {
fluentTextAreaTag,
fluentTextFieldTag,
} from "./library.fluent-ui.tags";
-import { registerFluentUIComponents } from "./library.fluent-ui.registry";
export const fluentUIComponentId = "fluent-ui-components";
export const fluentUIComponentLibrary: WebComponentLibraryDefinition = {
@@ -58,7 +57,9 @@ export const fluentUIComponentLibrary: WebComponentLibraryDefinition = {
import: async () => {
await import("./library.fluent-ui.import");
},
- register: registerFluentUIComponents,
+ register: async () => {
+ (await import("./library.fluent-ui.registry")).registerFluentUIComponents();
+ },
componentDictionary: {
[fluentUIComponentSchemas[fluentAnchorTag].$id]: {
displayName: fluentUIComponentSchemas[fluentAnchorTag].title,
diff --git a/sites/fast-creator/app/preview/preview.tsx b/sites/fast-creator/app/preview/preview.tsx
index 24214877949..5cef1a335e6 100644
--- a/sites/fast-creator/app/preview/preview.tsx
+++ b/sites/fast-creator/app/preview/preview.tsx
@@ -20,7 +20,6 @@ import {
nativeElementDefinitions,
} from "@microsoft/site-utilities";
import { classNames, Direction } from "@microsoft/fast-web-utilities";
-import { mapFASTComponentsDesignSystem } from "../configs/fast/library.fast.design-system.mapping";
import { mapFluentUIComponentsDesignSystem } from "../configs/fluent-ui/library.fluent-ui.design-system.mapping";
import { elementLibraries } from "../configs";
import {
diff --git a/sites/fast-creator/app/preview/webpack.common.js b/sites/fast-creator/app/preview/webpack.common.js
index 53da33920ee..657530641be 100644
--- a/sites/fast-creator/app/preview/webpack.common.js
+++ b/sites/fast-creator/app/preview/webpack.common.js
@@ -4,6 +4,7 @@ const path = require("path");
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
+const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer");
const appDir = path.resolve(__dirname, "./");
const outDir = path.resolve(__dirname, "./www");
@@ -69,5 +70,9 @@ module.exports = {
inject: "body",
template: path.resolve(appDir, "index.html"),
}),
+ new BundleAnalyzerPlugin({
+ // Remove this to inspect bundle sizes.
+ analyzerMode: "disabled",
+ }),
],
};
diff --git a/sites/fast-creator/app/webpack.common.js b/sites/fast-creator/app/webpack.common.js
index 104036acd0f..046c9c9d740 100644
--- a/sites/fast-creator/app/webpack.common.js
+++ b/sites/fast-creator/app/webpack.common.js
@@ -6,6 +6,7 @@ const CopyPlugin = require("copy-webpack-plugin");
const MonacoWebpackPlugin = require("monaco-editor-webpack-plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const manifest = require("@microsoft/site-utilities/src/curated-html.json").join("");
+const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer");
const appDir = path.resolve(__dirname, "./");
const outDir = path.resolve(__dirname, "./www");
@@ -95,5 +96,9 @@ module.exports = {
languages: ["html"],
features: ["format", "coreCommands", "codeAction", "suggest"],
}),
+ new BundleAnalyzerPlugin({
+ // Remove this to inspect bundle sizes.
+ analyzerMode: "disabled",
+ }),
],
};
diff --git a/sites/fast-creator/package.json b/sites/fast-creator/package.json
index e1b4c1b064d..d135b4b4f5b 100644
--- a/sites/fast-creator/package.json
+++ b/sites/fast-creator/package.json
@@ -70,10 +70,10 @@
},
"dependencies": {
"@fluentui/web-components": "^1.2.3",
- "@microsoft/fast-components": "^2.7.1",
- "@microsoft/fast-tooling": "^0.27.5",
- "@microsoft/fast-tooling-react": "^2.10.12",
- "@microsoft/fast-foundation": "^2.7.1",
+ "@microsoft/fast-components": "^2.7.3",
+ "@microsoft/fast-tooling": "^0.27.7",
+ "@microsoft/fast-tooling-react": "^2.10.14",
+ "@microsoft/fast-foundation": "^2.8.1",
"monaco-editor": "^0.21.2",
"monaco-editor-webpack-plugin": "^1.9.0"
}
diff --git a/sites/fast-tooling-examples/CHANGELOG.json b/sites/fast-tooling-examples/CHANGELOG.json
index 625473d7a09..e04116bd248 100644
--- a/sites/fast-tooling-examples/CHANGELOG.json
+++ b/sites/fast-tooling-examples/CHANGELOG.json
@@ -1,6 +1,36 @@
{
"name": "@microsoft/fast-tooling-examples",
"entries": [
+ {
+ "date": "Mon, 30 Aug 2021 22:30:39 GMT",
+ "tag": "@microsoft/fast-tooling-examples_v0.4.19",
+ "version": "0.4.19",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/site-utilities to v0.9.0",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "c4fe4d0706dae02bc2d4c8ea37dafe6c79c03075",
+ "package": "@microsoft/fast-tooling-examples"
+ }
+ ]
+ }
+ },
+ {
+ "date": "Fri, 27 Aug 2021 14:14:26 GMT",
+ "tag": "@microsoft/fast-tooling-examples_v0.4.19",
+ "version": "0.4.19",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/site-utilities to v0.9.0",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e498f1e35232169d2bf80e366350d0cde812d76d",
+ "package": "@microsoft/fast-tooling-examples"
+ }
+ ]
+ }
+ },
{
"date": "Thu, 26 Aug 2021 07:17:43 GMT",
"tag": "@microsoft/fast-tooling-examples_v0.4.19",
diff --git a/sites/fast-tooling-examples/CHANGELOG.md b/sites/fast-tooling-examples/CHANGELOG.md
index 4a208be0da5..b1324f28b32 100644
--- a/sites/fast-tooling-examples/CHANGELOG.md
+++ b/sites/fast-tooling-examples/CHANGELOG.md
@@ -1,11 +1,27 @@
# Change Log - @microsoft/fast-tooling-examples
-This log was last generated on Thu, 26 Aug 2021 07:17:43 GMT and should not be manually modified.
+This log was last generated on Mon, 30 Aug 2021 22:30:39 GMT and should not be manually modified.
## 0.4.19
+Mon, 30 Aug 2021 22:30:39 GMT
+
+### Patches
+
+- Bump @microsoft/site-utilities to v0.9.0 (nicholasrice@users.noreply.github.com)
+
+## 0.4.19
+
+Fri, 27 Aug 2021 14:14:26 GMT
+
+### Patches
+
+- Bump @microsoft/site-utilities to v0.9.0 (nicholasrice@users.noreply.github.com)
+
+## 0.4.19
+
Thu, 26 Aug 2021 07:17:43 GMT
### Patches
diff --git a/sites/fast-tooling-examples/package.json b/sites/fast-tooling-examples/package.json
index 072b5b1950e..c701499e200 100644
--- a/sites/fast-tooling-examples/package.json
+++ b/sites/fast-tooling-examples/package.json
@@ -49,9 +49,9 @@
"worker-loader": "^2.0.0"
},
"dependencies": {
- "@microsoft/fast-components": "^2.7.1",
- "@microsoft/fast-tooling": "^0.27.5",
- "@microsoft/fast-tooling-react": "^2.10.12",
+ "@microsoft/fast-components": "^2.7.3",
+ "@microsoft/fast-tooling": "^0.27.7",
+ "@microsoft/fast-tooling-react": "^2.10.14",
"focus-visible": "^4.1.5",
"react": "^16.13.1",
"react-dnd": "^9.0.0",
diff --git a/sites/fast-website/CHANGELOG.json b/sites/fast-website/CHANGELOG.json
index a4321b8600a..6984b76bf45 100644
--- a/sites/fast-website/CHANGELOG.json
+++ b/sites/fast-website/CHANGELOG.json
@@ -1,6 +1,36 @@
{
"name": "@microsoft/fast-website",
"entries": [
+ {
+ "date": "Mon, 30 Aug 2021 22:30:39 GMT",
+ "tag": "@microsoft/fast-website_v1.3.16",
+ "version": "1.3.16",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/site-utilities to v0.9.0",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "c4fe4d0706dae02bc2d4c8ea37dafe6c79c03075",
+ "package": "@microsoft/fast-website"
+ }
+ ]
+ }
+ },
+ {
+ "date": "Fri, 27 Aug 2021 14:14:26 GMT",
+ "tag": "@microsoft/fast-website_v1.3.16",
+ "version": "1.3.16",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/site-utilities to v0.9.0",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e498f1e35232169d2bf80e366350d0cde812d76d",
+ "package": "@microsoft/fast-website"
+ }
+ ]
+ }
+ },
{
"date": "Thu, 26 Aug 2021 07:17:43 GMT",
"tag": "@microsoft/fast-website_v1.3.16",
diff --git a/sites/fast-website/CHANGELOG.md b/sites/fast-website/CHANGELOG.md
index eb503859899..ea054a2f582 100644
--- a/sites/fast-website/CHANGELOG.md
+++ b/sites/fast-website/CHANGELOG.md
@@ -1,11 +1,27 @@
# Change Log - @microsoft/fast-website
-This log was last generated on Thu, 26 Aug 2021 07:17:43 GMT and should not be manually modified.
+This log was last generated on Mon, 30 Aug 2021 22:30:39 GMT and should not be manually modified.
## 1.3.16
+Mon, 30 Aug 2021 22:30:39 GMT
+
+### Patches
+
+- Bump @microsoft/site-utilities to v0.9.0 (nicholasrice@users.noreply.github.com)
+
+## 1.3.16
+
+Fri, 27 Aug 2021 14:14:26 GMT
+
+### Patches
+
+- Bump @microsoft/site-utilities to v0.9.0 (nicholasrice@users.noreply.github.com)
+
+## 1.3.16
+
Thu, 26 Aug 2021 07:17:43 GMT
### Patches
diff --git a/sites/fast-website/package.json b/sites/fast-website/package.json
index 1f05bd94c1d..da44807786b 100644
--- a/sites/fast-website/package.json
+++ b/sites/fast-website/package.json
@@ -9,9 +9,9 @@
"devDependencies": {
"@babel/core": "^7.12.13",
"@babel/preset-env": "^7.12.13",
- "@microsoft/fast-components": "^2.7.1",
- "@microsoft/fast-element": "^1.4.2",
- "@microsoft/fast-foundation": "^2.7.1",
+ "@microsoft/fast-components": "^2.7.3",
+ "@microsoft/fast-element": "^1.5.0",
+ "@microsoft/fast-foundation": "^2.8.1",
"@microsoft/fast-web-utilities": "^4.8.0",
"@microsoft/site-utilities": "^0.9.0",
"@rollup/plugin-alias": "^3.1.1",
diff --git a/sites/fast-website/src/app/index.ts b/sites/fast-website/src/app/index.ts
index 62bb40afe0f..e51044ea07f 100644
--- a/sites/fast-website/src/app/index.ts
+++ b/sites/fast-website/src/app/index.ts
@@ -1,7 +1,9 @@
import { DesignSystem } from "@microsoft/fast-foundation";
-import { allComponents } from "@microsoft/fast-components";
+import { allComponents, baseLayerLuminance } from "@microsoft/fast-components";
import "./css/style.css";
DesignSystem.getOrCreate().register(Object.values(allComponents).map(x => x()));
+baseLayerLuminance.setValueFor(document.body, 0.09);
+
export * from "./components";
diff --git a/sites/site-utilities/CHANGELOG.json b/sites/site-utilities/CHANGELOG.json
index 6e6b30d3676..441660fad63 100644
--- a/sites/site-utilities/CHANGELOG.json
+++ b/sites/site-utilities/CHANGELOG.json
@@ -1,6 +1,36 @@
{
"name": "@microsoft/site-utilities",
"entries": [
+ {
+ "date": "Mon, 30 Aug 2021 22:30:39 GMT",
+ "tag": "@microsoft/site-utilities_v0.9.0",
+ "version": "0.9.0",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-tooling-react to v2.10.14",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "c4fe4d0706dae02bc2d4c8ea37dafe6c79c03075",
+ "package": "@microsoft/site-utilities"
+ }
+ ]
+ }
+ },
+ {
+ "date": "Fri, 27 Aug 2021 14:14:26 GMT",
+ "tag": "@microsoft/site-utilities_v0.9.0",
+ "version": "0.9.0",
+ "comments": {
+ "patch": [
+ {
+ "comment": "Bump @microsoft/fast-tooling-react to v2.10.13",
+ "author": "nicholasrice@users.noreply.github.com",
+ "commit": "e498f1e35232169d2bf80e366350d0cde812d76d",
+ "package": "@microsoft/site-utilities"
+ }
+ ]
+ }
+ },
{
"date": "Thu, 26 Aug 2021 07:17:43 GMT",
"tag": "@microsoft/site-utilities_v0.9.0",
diff --git a/sites/site-utilities/CHANGELOG.md b/sites/site-utilities/CHANGELOG.md
index 22effb8a2ba..872f440e651 100644
--- a/sites/site-utilities/CHANGELOG.md
+++ b/sites/site-utilities/CHANGELOG.md
@@ -1,11 +1,27 @@
# Change Log - @microsoft/site-utilities
-This log was last generated on Thu, 26 Aug 2021 07:17:43 GMT and should not be manually modified.
+This log was last generated on Mon, 30 Aug 2021 22:30:39 GMT and should not be manually modified.
## 0.9.0
+Mon, 30 Aug 2021 22:30:39 GMT
+
+### Patches
+
+- Bump @microsoft/fast-tooling-react to v2.10.14 (nicholasrice@users.noreply.github.com)
+
+## 0.9.0
+
+Fri, 27 Aug 2021 14:14:26 GMT
+
+### Patches
+
+- Bump @microsoft/fast-tooling-react to v2.10.13 (nicholasrice@users.noreply.github.com)
+
+## 0.9.0
+
Thu, 26 Aug 2021 07:17:43 GMT
### Patches
diff --git a/sites/site-utilities/package.json b/sites/site-utilities/package.json
index df79feef422..9de689971a2 100644
--- a/sites/site-utilities/package.json
+++ b/sites/site-utilities/package.json
@@ -58,10 +58,10 @@
},
"dependencies": {
"@fluentui/web-components": "^1.2.3",
- "@microsoft/fast-components": "^2.7.1",
- "@microsoft/fast-foundation": "^2.7.1",
- "@microsoft/fast-tooling": "^0.27.5",
- "@microsoft/fast-tooling-react": "^2.10.12",
+ "@microsoft/fast-components": "^2.7.3",
+ "@microsoft/fast-foundation": "^2.8.1",
+ "@microsoft/fast-tooling": "^0.27.7",
+ "@microsoft/fast-tooling-react": "^2.10.14",
"@skatejs/val": "^0.5.0",
"monaco-editor": "^0.21.2",
"vscode-html-languageservice": "^3.1.3"
diff --git a/sites/site-utilities/statics/assets/components/fast-tooltip.schema.json b/sites/site-utilities/statics/assets/components/fast-tooltip.schema.json
index 955ac66c1c5..b9e68e765c5 100644
--- a/sites/site-utilities/statics/assets/components/fast-tooltip.schema.json
+++ b/sites/site-utilities/statics/assets/components/fast-tooltip.schema.json
@@ -27,6 +27,17 @@
"mapsToAttribute": "delay",
"type": "number"
},
+ "auto-update-mode": {
+ "enum": [
+ "anchor",
+ "auto"
+ ],
+ "default": "anchor",
+ "title": "Auto update mode",
+ "description": "Controls when the tooltip updates its position.",
+ "mapsToAttribute": "auto-update-mode",
+ "type": "string"
+ },
"position": {
"enum": [
"top",
@@ -41,6 +52,18 @@
"mapsToAttribute": "position",
"type": "string"
},
+ "horizontal-viewport-lock": {
+ "title": "Horizontal viewport lock",
+ "description": "Controls if the tooltip will always remain fully in the viewport on the horizontal axis",
+ "mapsToAttribute": "horizontal-viewport-lock",
+ "type": "boolean"
+ },
+ "vertical-viewport-lock": {
+ "title": "Vertical viewport lock",
+ "description": "Controls if the tooltip will always remain fully in the viewport on the vertical axis",
+ "mapsToAttribute": "vertical-viewport-lock",
+ "type": "boolean"
+ },
"Slot": {
"title": "Default slot",
"description": "The tooltip content",
diff --git a/sites/website/sidebars.js b/sites/website/sidebars.js
index 5efdb67267b..f3e23a3ffea 100644
--- a/sites/website/sidebars.js
+++ b/sites/website/sidebars.js
@@ -78,6 +78,11 @@ module.exports = {
"design/localization",
],
},
+ {
+ type: "category",
+ label: "Apps and Experiences",
+ items: ["apps-and-experiences/dependency-injection"],
+ },
{
type: "category",
label: "Integrations",
@@ -87,6 +92,7 @@ module.exports = {
"integrations/aspnet",
"integrations/aurelia",
"integrations/blazor",
+ "integrations/ember",
"integrations/react",
"integrations/vue",
"integrations/webpack",
diff --git a/sites/website/src/docs/apps-and-experiences/dependency-injection.md b/sites/website/src/docs/apps-and-experiences/dependency-injection.md
new file mode 100644
index 00000000000..c62d59d3919
--- /dev/null
+++ b/sites/website/src/docs/apps-and-experiences/dependency-injection.md
@@ -0,0 +1,181 @@
+---
+id: dependency-injection
+title: Dependency Injection
+sidebar_label: Dependency Injection
+custom_edit_url: https://github.com/microsoft/fast/edit/master/sites/website/src/docs/apps-and-experiences/dependency-injection.md
+---
+
+An important principle of object oriented programming (OOP) is to favor a compositional approach to systems over an inheritance-based approach. In such systems complex problems are broken down into small, single-purpose objects that collaborate with one another. However, this approach is not a panacea, and introduces its own set of challenges:
+
+- How do we instantiate a set of collaborating objects, particularly when there is a complex arrangement of dependencies between the objects?
+- How do we avoid tight coupling between an object and the implementation details of its dependencies?
+- How do we manage memory and control the lifetimes of objects in such a system?
+- How does our user interface, often controlled by a different engine, gain access to our composed system capabilities?
+
+To address these challenges, FAST introduces the concept of a *dependency injection container*. A DI Container is a sub-system with the responsibilities of understanding dependency relationships, constructing objects with their dependencies, delivering dependencies to components, and managing lifetimes.
+
+## Creating a DI Container
+
+DI Containers can exist in a hierarchy, allowing child containers to override the dependencies of the parent, but typically there is one root container in which all the system's services are registered. In a typical FAST application, you will want this container to be associated with the `document.body` so that all UI component children can gain access to its capabilities. Here's how you would create that root container:
+
+```ts
+const container = DI.getOrCreateDOMContainer();
+```
+
+You'll want to create and configure your root container as early as possible in your application lifecycle, typically in your application's entry point module. If you are using FAST's Design System features or its components, we've integrated them with DI, so that you can configure everything with a unified API. Instead of calling `DI.getOrCreateDOMContainer()` you can simply import the Design System Provider function and use that. Here's some code that you may have seen in other parts of our documentation, that does just that:
+
+```ts
+provideFASTDesignSystem()
+ .register(
+ fastButton()
+ );
+```
+
+The `register` method of the `DesignSystem` actually delegates directly to the DI container. As a result, you can register your Web Components and all your application dependencies in the same place, following the same patterns.
+
+### Example Scenario
+
+Once you have a container, you can use it to register and retrieve system dependencies. This is best demonstrated with a typical scenario. Imagine that we have a `NewAccountScreen` web component in our app. Users navigate to this screen to create a new account. This screen is dependent on an `AccountService`, which is able to create accounts and login new users. The `AccountService` itself is dependent on a `UserSession` and an `HTTPClient`. The `HTTPClient` is dependent on a `ServiceBaseURL` string. Let's set this up, working from the inside out.
+
+## Creating DI Keys
+
+The FAST DI can handle any kind of dependency, including primitive values like strings. Simply register a `ServiceBaseURL` with the container and any HTTP service that needs it can simply request it by key. This allows for a centralized configuration, making it easy to swap out in different environments. Here's how you define a strongly typed *key* that symbolizes an interface to a dependency.
+
+```ts
+export const ServiceBaseURL = DI.createInterface();
+```
+
+## Registering Dependencies
+
+Once an interface key is defined, you'll want to register a concrete value with the root container. That can be done like so:
+
+```ts
+container.register(
+ Registration.instance(ServiceBaseURL, "https://www.fast.design/")
+);
+```
+
+Or through the design system like this:
+
+```ts
+provideFASTDesignSystem()
+ .register(
+ Registration.instance(ServiceBaseURL, "https://www.fast.design/")
+ );
+```
+
+The container (and the Design System) has a `register` method that takes a variable number of `Registry` instances. The `Registration` object is a helper for creating registrations with various behaviors. Here is a summary of what's available on the `Registration` object:
+
+- `instance` - Configures an existing object instance. Every request with the key will return this exact instance.
+- `singleton` - Configures a class that is instantiated when the Key is first requested. All successive request with the same key will return the cached instance.
+- `transient` - Configures a class that is instantiated for each request with the Key. This means that each requestor gets a new instance.
+- `callback` - Configures a function callback. Every time the Key is requested, the callback will be run, allowing custom code to dynamically return values.
+- `cachedCallback` - Configures a function callback. The first time the Key is requested, the callback will be run to return a value. Successive calls return the cached value without invoking the callback again.
+- `aliasTo` - Configures a Key to act as an alias to another Key.
+
+:::note
+Component functions like `fastButton()` actually return an instance of `Registry` that is responsible for obtaining contextual information from the DI container and using it to register the Web Component with FAST. You can follow this same pattern not only with your own components but with any configurable, shared dependency.
+:::
+
+## Constructor Injection
+
+The above code defines a key for the `ServiceBaseURL` and configures a value for the container, but how do we get that value to the `HTTPClient`? Since `HTTPClient` is a plain class (as opposed to a web component), we'll leverage constructor injection. To do so, we declare that our constructor is dependent on `ServiceBaseURL` as follows:
+
+```ts
+export class HTTPClient {
+ constructor(@ServiceBaseURL serviceBaseURL: string) {}
+ public get(url: string): Promise { ... }
+}
+```
+
+Notice that in TypeScript, we can use the key as a decorator for the constructor parameter. This tells the DI container that when it creates an instance of `HTTPClient` it should first resolve `ServiceBaseURL` since it will need to provide that as the first parameter when constructing `HTTPClient`.
+
+## DI Key and Inject Patterns
+
+Our `ServiceBaseURL` represented a simple string. So, how do we handle something more complex like `HTTPClient`? After all, we want that to be injected into the `AccountService`. A common pattern is to create an interface for `HTTPClient` and a key with the same name. TypeScript allows these to be named the same, which works to our advantage here.
+
+```ts
+export interface HTTPClient {
+ get(url: string): Promise;
+}
+
+export const HTTPClient = DI.createInterface();
+
+export class DefaultHTTPClient implements HTTPClient {
+ constructor(@ServiceBaseURL serviceBaseURL: string) {}
+ public get(url: string): Promise { ... }
+}
+```
+
+We could follow the same pattern for the `UserSession` as well, but let's look at a different approach. Sometimes, you may find that having the extra interface/implementation with interface key abstraction is an over-complication for your use case. You don't have to create a custom key if you just want to inject a concrete class. The `AccountService` could declare its dependencies using the generic `inject` decorator like so:
+
+```ts
+export class AccountService {
+ constructor(
+ @HttpClient http: HttpClient,
+ @inject(UserSession) session: UserSession
+ ) {}
+}
+```
+
+Better yet, if you are using the `tsconfig.json` setting `"emitDecoratorMetadata": true` then you can even do this:
+
+```ts
+export class AccountService {
+ constructor(
+ @HttpClient http: HttpClient,
+ @inject() session: UserSession
+ ) {}
+}
+```
+
+## Other DI Registration Approaches
+
+Above, we saw that `ServiceBaseURL` had to be explicitly registered with the container. Otherwise, how else would we know what string to resolve? However, explicit registration with the container is not always needed.
+
+### Auto-registration
+
+In the case of `UserSession` above, the container will use `UserSession` directly as the key. However, since we have not explicitly registered `UserSession` in the container, it will attempt to use the key itself as the registration. As a result, it will instantiate `UserSession` and then register the instance. Another way of thinking of this is that auto-registered classes are treated as singletons by default.
+
+### Default Registration
+
+We've seen how we can explicitly register dependencies with the container and also how classes can be auto-registered. A third approach is to have the key itself define a default registration. If defined, this registration will be used if no other registration for the same key is configured with the container. We could set the `AccountService` up to work this way if we desired. Here's what that would look like:
+
+```ts
+export interface AccountService {
+ ...
+}
+
+class DefaultAccountService implements AccountService {
+ constructor(
+ @HttpClient http: HttpClient,
+ @inject() session: UserSession
+ ) {}
+}
+
+export const AccountService = DI.createInterface(
+ x => x.singleton(DefaultAccountService)
+);
+```
+
+## Injecting into Web Components
+
+Ultimately, our `NewAccountScreen` web component needs our `AccountService`. Unfortunately, web components must have parameterless constructors. To complicate matters further, the constructor is usually called by the web browser's runtime itself while parsing HTML, so our DI container is completely blocked from the process.
+
+To address this, the FAST DI supports property injection on web components. Here's how we would declare the dependency:
+
+```ts
+export class NewAccountScreen extends FASTElement {
+ @AccountService accountService!: AccountService;
+}
+```
+
+With the property defined as above, the `accountService` property will be available to access from the `connectedCallback` lifecycle hook forward.
+
+Alternatively, like with constructor injection, you can also use the `inject` decorator directly with concrete types. Here's what that looks like:
+
+```ts
+export class NewAccountScreen extends FASTElement {
+ @inject(MyService) accountService!: MyService;
+}
+```
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index cce303e4144..202aebed79a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3242,35 +3242,27 @@
"@nodelib/fs.scandir" "2.1.4"
fastq "^1.6.0"
-"@npmcli/ci-detect@^1.0.0":
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz#6c1d2c625fb6ef1b9dea85ad0a5afcbef85ef22a"
- integrity sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q==
-
-"@npmcli/git@^2.0.1":
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-2.0.4.tgz#725f5e32864f3849420e84baf130e426a707cbb7"
- integrity sha512-OJZCmJ9DNn1cz9HPXXsPmUBnqaArot3CGYo63CyajHQk+g87rPXVOJByGsskQJhPsUUEXJcsZ2Q6bWd2jSwnBA==
+"@npmcli/git@^2.1.0":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-2.1.0.tgz#2fbd77e147530247d37f325930d457b3ebe894f6"
+ integrity sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==
dependencies:
- "@npmcli/promise-spawn" "^1.1.0"
+ "@npmcli/promise-spawn" "^1.3.2"
lru-cache "^6.0.0"
- mkdirp "^1.0.3"
- npm-pick-manifest "^6.0.0"
+ mkdirp "^1.0.4"
+ npm-pick-manifest "^6.1.1"
promise-inflight "^1.0.1"
- promise-retry "^1.1.1"
- semver "^7.3.2"
- unique-filename "^1.1.1"
+ promise-retry "^2.0.1"
+ semver "^7.3.5"
which "^2.0.2"
-"@npmcli/installed-package-contents@^1.0.5":
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.5.tgz#cc78565e55d9f14d46acf46a96f70934e516fa3d"
- integrity sha512-aKIwguaaqb6ViwSOFytniGvLPb9SMCUm39TgM3SfUo7n0TxUMbwoXfpwyvQ4blm10lzbAwTsvjr7QZ85LvTi4A==
+"@npmcli/installed-package-contents@^1.0.6":
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa"
+ integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==
dependencies:
npm-bundled "^1.1.1"
npm-normalize-package-bin "^1.0.1"
- read-package-json-fast "^1.1.1"
- readdir-scoped-modules "^1.1.0"
"@npmcli/move-file@^1.0.1":
version "1.1.1"
@@ -3280,29 +3272,27 @@
mkdirp "^1.0.4"
rimraf "^3.0.2"
-"@npmcli/node-gyp@^1.0.0":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.1.tgz#dedc4ea9b3c6ef207081ebcd82c053ef60edc478"
- integrity sha512-pBqoKPWmuk9iaEcXlLBVRIA6I1kG9JiICU+sG0NuD6NAR461F+02elHJS4WkQxHW2W5rnsfvP/ClKwmsZ9RaaA==
+"@npmcli/node-gyp@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz#3cdc1f30e9736dbc417373ed803b42b1a0a29ede"
+ integrity sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg==
-"@npmcli/promise-spawn@^1.1.0", "@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.0":
+"@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.2":
version "1.3.2"
resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5"
integrity sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==
dependencies:
infer-owner "^1.0.4"
-"@npmcli/run-script@^1.3.0":
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-1.8.1.tgz#729c5ac7293f250b654504d263952703af6da39c"
- integrity sha512-G8c86g9cQHyRINosIcpovzv0BkXQc3urhL1ORf3KTe4TS4UBsg2O4Z2feca/W3pfzdHEJzc83ETBW4aKbb3SaA==
+"@npmcli/run-script@^1.8.2":
+ version "1.8.6"
+ resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-1.8.6.tgz#18314802a6660b0d4baa4c3afe7f1ad39d8c28b7"
+ integrity sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==
dependencies:
- "@npmcli/node-gyp" "^1.0.0"
- "@npmcli/promise-spawn" "^1.3.0"
- infer-owner "^1.0.4"
+ "@npmcli/node-gyp" "^1.0.2"
+ "@npmcli/promise-spawn" "^1.3.2"
node-gyp "^7.1.0"
- puka "^1.0.1"
- read-package-json-fast "^1.1.3"
+ read-package-json-fast "^2.0.1"
"@octokit/auth-token@^2.4.0", "@octokit/auth-token@^2.4.4":
version "2.4.5"
@@ -5285,7 +5275,7 @@ agent-base@4, agent-base@^4.3.0:
dependencies:
es6-promisify "^5.0.0"
-agent-base@6:
+agent-base@6, agent-base@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
@@ -6789,6 +6779,29 @@ cacache@^15.0.5:
tar "^6.0.2"
unique-filename "^1.1.1"
+cacache@^15.2.0:
+ version "15.2.0"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz#73af75f77c58e72d8c630a7a2858cb18ef523389"
+ integrity sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw==
+ dependencies:
+ "@npmcli/move-file" "^1.0.1"
+ chownr "^2.0.0"
+ fs-minipass "^2.0.0"
+ glob "^7.1.4"
+ infer-owner "^1.0.4"
+ lru-cache "^6.0.0"
+ minipass "^3.1.1"
+ minipass-collect "^1.0.2"
+ minipass-flush "^1.0.5"
+ minipass-pipeline "^1.2.2"
+ mkdirp "^1.0.3"
+ p-map "^4.0.0"
+ promise-inflight "^1.0.1"
+ rimraf "^3.0.2"
+ ssri "^8.0.1"
+ tar "^6.0.2"
+ unique-filename "^1.1.1"
+
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
@@ -7201,7 +7214,7 @@ chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.5.1:
optionalDependencies:
fsevents "~2.3.1"
-chownr@^1.1.1, chownr@^1.1.2:
+chownr@^1.1.1, chownr@^1.1.2, chownr@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
@@ -8638,6 +8651,13 @@ debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.6:
dependencies:
ms "^2.1.1"
+debug@^4.3.1:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
+ integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
+ dependencies:
+ ms "2.1.2"
+
debug@~4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
@@ -9531,6 +9551,11 @@ err-code@^1.0.0:
resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960"
integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=
+err-code@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9"
+ integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==
+
errno@^0.1.3, errno@~0.1.7:
version "0.1.8"
resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f"
@@ -10834,7 +10859,7 @@ fs-extra@^9.0.0, fs-extra@^9.0.1:
jsonfile "^6.0.1"
universalify "^2.0.0"
-fs-minipass@^1.2.5:
+fs-minipass@^1.2.7:
version "1.2.7"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
@@ -11690,6 +11715,13 @@ hosted-git-info@^3.0.6:
dependencies:
lru-cache "^6.0.0"
+hosted-git-info@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961"
+ integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==
+ dependencies:
+ lru-cache "^6.0.0"
+
hpack.js@^2.1.6:
version "2.1.6"
resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2"
@@ -14344,12 +14376,7 @@ lodash-es@4.17.15:
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.15.tgz#21bd96839354412f23d7a10340e5eac6ee455d78"
integrity sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ==
-lodash-es@^4.17.15, lodash-es@^4.2.1:
- version "4.17.20"
- resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.20.tgz#29f6332eefc60e849f869c264bc71126ad61e8f7"
- integrity sha512-JD1COMZsq8maT6mnuz1UMV0jvYD0E0aUsSOdrr1/nAG3dhqQXwRRgeW0cSqH1U43INKcqxaiVIQNOUDld7gRDA==
-
-lodash-es@^4.17.20:
+lodash-es@^4.17.15, lodash-es@^4.17.20, lodash-es@^4.2.1:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
@@ -14714,13 +14741,13 @@ make-fetch-happen@^5.0.0:
socks-proxy-agent "^4.0.0"
ssri "^6.0.0"
-make-fetch-happen@^8.0.9:
- version "8.0.13"
- resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-8.0.13.tgz#3692e1fdf027343c782e53bfe1f941fe85db9462"
- integrity sha512-rQ5NijwwdU8tIaBrpTtSVrNCcAJfyDRcKBC76vOQlyJX588/88+TE+UpjWl4BgG7gCkp29wER7xcRqkeg+x64Q==
+make-fetch-happen@^9.0.1:
+ version "9.0.5"
+ resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.0.5.tgz#e7819afd9c8605f1452df4c1c6dc5c502ca18459"
+ integrity sha512-XN0i/VqHsql30Oq7179spk6vu3IuaPL1jaivNYhBrJtK7tkOuJwMK2IlROiOnJ40b9SvmOo2G86FZyI6LD2EsQ==
dependencies:
agentkeepalive "^4.1.3"
- cacache "^15.0.5"
+ cacache "^15.2.0"
http-cache-semantics "^4.1.0"
http-proxy-agent "^4.0.1"
https-proxy-agent "^5.0.0"
@@ -14731,8 +14758,9 @@ make-fetch-happen@^8.0.9:
minipass-fetch "^1.3.2"
minipass-flush "^1.0.5"
minipass-pipeline "^1.2.4"
- promise-retry "^1.1.1"
- socks-proxy-agent "^5.0.0"
+ negotiator "^0.6.2"
+ promise-retry "^2.0.1"
+ socks-proxy-agent "^6.0.0"
ssri "^8.0.0"
makeerror@1.0.x:
@@ -15248,7 +15276,7 @@ minipass-sized@^1.0.3:
dependencies:
minipass "^3.0.0"
-minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0:
+minipass@^2.3.5, minipass@^2.6.0, minipass@^2.9.0:
version "2.9.0"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
@@ -15263,7 +15291,7 @@ minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3:
dependencies:
yallist "^4.0.0"
-minizlib@^1.2.1:
+minizlib@^1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==
@@ -15319,7 +15347,7 @@ mkdirp@*, mkdirp@^1.0.3, mkdirp@^1.0.4:
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-mkdirp@0.5.5, mkdirp@0.5.x, mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1:
+mkdirp@0.5.5, mkdirp@0.5.x, mkdirp@0.x, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1:
version "0.5.5"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
@@ -15592,7 +15620,7 @@ nearley@^2.7.10:
railroad-diagrams "^1.0.0"
randexp "0.4.6"
-negotiator@0.6.2:
+negotiator@0.6.2, negotiator@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
@@ -15916,6 +15944,15 @@ npm-package-arg@^8.0.0, npm-package-arg@^8.0.1:
semver "^7.0.0"
validate-npm-package-name "^3.0.0"
+npm-package-arg@^8.1.2:
+ version "8.1.5"
+ resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44"
+ integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==
+ dependencies:
+ hosted-git-info "^4.0.1"
+ semver "^7.3.4"
+ validate-npm-package-name "^3.0.0"
+
npm-packlist@^1.4.4:
version "1.4.8"
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
@@ -15953,14 +15990,22 @@ npm-pick-manifest@^6.0.0:
npm-package-arg "^8.0.0"
semver "^7.0.0"
-npm-registry-fetch@^9.0.0:
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz#86f3feb4ce00313bc0b8f1f8f69daae6face1661"
- integrity sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==
+npm-pick-manifest@^6.1.1:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz#7b5484ca2c908565f43b7f27644f36bb816f5148"
+ integrity sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==
dependencies:
- "@npmcli/ci-detect" "^1.0.0"
- lru-cache "^6.0.0"
- make-fetch-happen "^8.0.9"
+ npm-install-checks "^4.0.0"
+ npm-normalize-package-bin "^1.0.1"
+ npm-package-arg "^8.1.2"
+ semver "^7.3.4"
+
+npm-registry-fetch@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz#68c1bb810c46542760d62a6a965f85a702d43a76"
+ integrity sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==
+ dependencies:
+ make-fetch-happen "^9.0.1"
minipass "^3.1.3"
minipass-fetch "^1.3.0"
minipass-json-stream "^1.0.1"
@@ -16464,14 +16509,14 @@ package-json@^6.3.0:
semver "^6.2.0"
pacote@^11.1.6:
- version "11.2.4"
- resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.2.4.tgz#dc7ca740a573ed86a3bf863511d22c1d413ec82f"
- integrity sha512-GfTeVQGJ6WyBQbQD4t3ocHbyOmTQLmWjkCKSZPmKiGFKYKNUaM5U2gbLzUW8WG1XmS9yQFnsTFA0k3o1+q4klQ==
+ version "11.3.5"
+ resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.3.5.tgz#73cf1fc3772b533f575e39efa96c50be8c3dc9d2"
+ integrity sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==
dependencies:
- "@npmcli/git" "^2.0.1"
- "@npmcli/installed-package-contents" "^1.0.5"
+ "@npmcli/git" "^2.1.0"
+ "@npmcli/installed-package-contents" "^1.0.6"
"@npmcli/promise-spawn" "^1.2.0"
- "@npmcli/run-script" "^1.3.0"
+ "@npmcli/run-script" "^1.8.2"
cacache "^15.0.5"
chownr "^2.0.0"
fs-minipass "^2.1.0"
@@ -16481,11 +16526,11 @@ pacote@^11.1.6:
npm-package-arg "^8.0.1"
npm-packlist "^2.1.4"
npm-pick-manifest "^6.0.0"
- npm-registry-fetch "^9.0.0"
- promise-retry "^1.1.1"
- read-package-json-fast "^1.1.3"
+ npm-registry-fetch "^11.0.0"
+ promise-retry "^2.0.1"
+ read-package-json-fast "^2.0.1"
rimraf "^3.0.2"
- ssri "^8.0.0"
+ ssri "^8.0.1"
tar "^6.1.0"
pako@^1.0.5, pako@~1.0.2, pako@~1.0.5:
@@ -17747,6 +17792,14 @@ promise-retry@^1.1.1:
err-code "^1.0.0"
retry "^0.10.0"
+promise-retry@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22"
+ integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==
+ dependencies:
+ err-code "^2.0.2"
+ retry "^0.12.0"
+
promise.allsettled@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.4.tgz#65e71f2a604082ed69c548b68603294090ee6803"
@@ -17892,11 +17945,6 @@ public-encrypt@^4.0.0:
randombytes "^2.0.1"
safe-buffer "^5.1.2"
-puka@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/puka/-/puka-1.0.1.tgz#a2df782b7eb4cf9564e4c93a5da422de0dfacc02"
- integrity sha512-ssjRZxBd7BT3dte1RR3VoeT2cT/ODH8x+h0rUF1rMqB0srHYf48stSDWfiYakTp5UBZMxroZhB2+ExLDHm7W3g==
-
pump@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
@@ -18488,10 +18536,10 @@ read-cmd-shim@^1.0.1:
dependencies:
graceful-fs "^4.1.2"
-read-package-json-fast@^1.1.1, read-package-json-fast@^1.1.3:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-1.2.1.tgz#e8518d6f37c99eb3afc26704c5cbb50d7ead82dd"
- integrity sha512-OFbpwnHcv74Oa5YN5WvbOBfLw6yPmPcwvyJJw/tj9cWFBF7juQUDLDSZiOjEcgzfweWeeROOmbPpNN1qm4hcRg==
+read-package-json-fast@^2.0.1:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83"
+ integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==
dependencies:
json-parse-even-better-errors "^2.3.0"
npm-normalize-package-bin "^1.0.1"
@@ -18646,7 +18694,7 @@ readable-stream@~2.0.0:
string_decoder "~0.10.x"
util-deprecate "~1.0.1"
-readdir-scoped-modules@^1.0.0, readdir-scoped-modules@^1.1.0:
+readdir-scoped-modules@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309"
integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==
@@ -19404,7 +19452,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
+safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -20039,19 +20087,19 @@ socks-proxy-agent@^4.0.0:
agent-base "~4.2.1"
socks "~2.3.2"
-socks-proxy-agent@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz#7c0f364e7b1cf4a7a437e71253bed72e9004be60"
- integrity sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA==
+socks-proxy-agent@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.0.0.tgz#9f8749cdc05976505fa9f9a958b1818d0e60573b"
+ integrity sha512-FIgZbQWlnjVEQvMkylz64/rUggGtrKstPnx8OZyYFG0tAFR8CSBtpXxSwbFLHyeXFn/cunFL7MpuSOvDSOPo9g==
dependencies:
- agent-base "6"
- debug "4"
- socks "^2.3.3"
+ agent-base "^6.0.2"
+ debug "^4.3.1"
+ socks "^2.6.1"
-socks@^2.3.3:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/socks/-/socks-2.5.1.tgz#7720640b6b5ec9a07d556419203baa3f0596df5f"
- integrity sha512-oZCsJJxapULAYJaEYBSzMcz8m3jqgGrHaGhkmU/o/PQfFWYWxkAaA0UMGImb6s6tEXfKi959X6VJjMMQ3P6TTQ==
+socks@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e"
+ integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==
dependencies:
ip "^1.1.5"
smart-buffer "^4.1.0"
@@ -20276,7 +20324,7 @@ ssri@^6.0.0, ssri@^6.0.1:
dependencies:
figgy-pudding "^3.5.1"
-ssri@^8.0.0:
+ssri@^8.0.0, ssri@^8.0.1:
version "8.0.1"
resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af"
integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==
@@ -20857,22 +20905,22 @@ tar-stream@^2.1.4:
readable-stream "^3.1.1"
tar@^4.4.10, tar@^4.4.12, tar@^4.4.8:
- version "4.4.13"
- resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
- integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
+ version "4.4.17"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.17.tgz#44be5e3fa8353ee1d11db3b1401561223a5c3985"
+ integrity sha512-q7OwXq6NTdcYIa+k58nEMV3j1euhDhGCs/VRw9ymx/PbH0jtIM2+VTgDE/BW3rbLkrBUXs5fzEKgic5oUciu7g==
dependencies:
- chownr "^1.1.1"
- fs-minipass "^1.2.5"
- minipass "^2.8.6"
- minizlib "^1.2.1"
- mkdirp "^0.5.0"
- safe-buffer "^5.1.2"
- yallist "^3.0.3"
+ chownr "^1.1.4"
+ fs-minipass "^1.2.7"
+ minipass "^2.9.0"
+ minizlib "^1.3.3"
+ mkdirp "^0.5.5"
+ safe-buffer "^5.2.1"
+ yallist "^3.1.1"
tar@^6.0.2, tar@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83"
- integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==
+ version "6.1.8"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.8.tgz#4fc50cfe56511c538ce15b71e05eebe66530cbd4"
+ integrity sha512-sb9b0cp855NbkMJcskdSYA7b11Q8JsX4qe4pyUAfHp+Y6jBjJeek2ZVlwEfWayshEIwlIzXx0Fain3QG9JPm2A==
dependencies:
chownr "^2.0.0"
fs-minipass "^2.0.0"
@@ -23076,7 +23124,7 @@ y18n@^5.0.5:
resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18"
integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==
-yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3:
+yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==