diff --git a/.github/workflows/cd-deploy-www-production.yml b/.github/workflows/cd-deploy-www-production.yml index bb1eaa857f9..2b37167ae34 100644 --- a/.github/workflows/cd-deploy-www-production.yml +++ b/.github/workflows/cd-deploy-www-production.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@master - name: Install Lerna - run: yarn global add lerna + run: yarn global add lerna@5.5.2 - name: Install package dependencies / prepare workspaces run: yarn install --frozen-lockfile diff --git a/.github/workflows/cd-deploy-www-staging.yml b/.github/workflows/cd-deploy-www-staging.yml index 493e0fe464c..919d57d7271 100644 --- a/.github/workflows/cd-deploy-www-staging.yml +++ b/.github/workflows/cd-deploy-www-staging.yml @@ -41,7 +41,7 @@ jobs: uses: actions/checkout@master - name: Install Lerna - run: yarn global add lerna + run: yarn global add lerna@5.5.2 - name: Install package dependencies / prepare workspaces run: yarn install --frozen-lockfile diff --git a/.github/workflows/cd-release-npm.yml b/.github/workflows/cd-release-npm.yml index 01b22b1ce0b..f52eccf9ccb 100644 --- a/.github/workflows/cd-release-npm.yml +++ b/.github/workflows/cd-release-npm.yml @@ -22,7 +22,7 @@ jobs: token: ${{ secrets.GH_TOKEN }} - name: Add or Update packages - run: sudo yarn global add lerna + run: sudo yarn global add lerna@5.5.2 - name: Set Git User run: | diff --git a/.github/workflows/testing/ci-daily-local.yml b/.github/workflows/testing/ci-daily-local.yml index db282dd756f..ff9faeb7b24 100644 --- a/.github/workflows/testing/ci-daily-local.yml +++ b/.github/workflows/testing/ci-daily-local.yml @@ -17,7 +17,7 @@ jobs: sudo apt-get update sudo apt-get install yarn sudo yarn global upgrade typescript - sudo yarn global add lerna + sudo yarn global add lerna@5.5.2 - name: Install package dependencies / prepare workspaces run: yarn install --frozen-lockfile diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e71bc160860..2689cc2456c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,7 +19,7 @@ npm install -g yarn The second tool you'll need is Lerna, which can be installed with this command: ```bash -yarn global add lerna +yarn global add lerna@5.5.2 ``` :::important diff --git a/change/@microsoft-fast-element-00081d16-c6c4-4ceb-9f3e-83e02b28b92a.json b/change/@microsoft-fast-element-00081d16-c6c4-4ceb-9f3e-83e02b28b92a.json deleted file mode 100644 index aa5a589929b..00000000000 --- a/change/@microsoft-fast-element-00081d16-c6c4-4ceb-9f3e-83e02b28b92a.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "prerelease", - "comment": "Adds volatile binding support for JavaScript optional chaining syntax", - "packageName": "@microsoft/fast-element", - "email": "nicholasrice@users.noreply.github.com", - "dependentChangeType": "prerelease" -} diff --git a/change/@microsoft-fast-element-44cfe95a-1f60-4e2e-a3f1-1d02aba63bab.json b/change/@microsoft-fast-element-44cfe95a-1f60-4e2e-a3f1-1d02aba63bab.json deleted file mode 100644 index 86d2fd7d98a..00000000000 --- a/change/@microsoft-fast-element-44cfe95a-1f60-4e2e-a3f1-1d02aba63bab.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "prerelease", - "comment": "Prevent notification of array splices when operation does not mutate array values", - "packageName": "@microsoft/fast-element", - "email": "nicholasrice@users.noreply.github.com", - "dependentChangeType": "prerelease" -} diff --git a/change/@microsoft-fast-foundation-240d2dac-2fd1-4e5f-a760-03c9e5505330.json b/change/@microsoft-fast-foundation-240d2dac-2fd1-4e5f-a760-03c9e5505330.json deleted file mode 100644 index 481bbe6e631..00000000000 --- a/change/@microsoft-fast-foundation-240d2dac-2fd1-4e5f-a760-03c9e5505330.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "prerelease", - "comment": "fix: toolbar should not throw if start or end is undefined", - "packageName": "@microsoft/fast-foundation", - "email": "chhol@microsoft.com", - "dependentChangeType": "prerelease" -} diff --git a/change/@microsoft-fast-foundation-7d8d0430-523b-473a-af77-e2bcf0bc6e38.json b/change/@microsoft-fast-foundation-7d8d0430-523b-473a-af77-e2bcf0bc6e38.json deleted file mode 100644 index e6da993e8d0..00000000000 --- a/change/@microsoft-fast-foundation-7d8d0430-523b-473a-af77-e2bcf0bc6e38.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "prerelease", - "comment": "Prevent keyboard navigation to hidden tab", - "packageName": "@microsoft/fast-foundation", - "email": "7282195+m-akinc@users.noreply.github.com", - "dependentChangeType": "prerelease" -} diff --git a/change/@microsoft-fast-foundation-b1cdc933-e7be-42e8-8d85-95a5af001f1a.json b/change/@microsoft-fast-foundation-b1cdc933-e7be-42e8-8d85-95a5af001f1a.json deleted file mode 100644 index a2eacca5dc4..00000000000 --- a/change/@microsoft-fast-foundation-b1cdc933-e7be-42e8-8d85-95a5af001f1a.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "prerelease", - "comment": "Removed the 'applyMixins' function from exported features.", - "packageName": "@microsoft/fast-foundation", - "email": "nicholasrice@noreply.github.com", - "dependentChangeType": "prerelease" -} diff --git a/change/@microsoft-fast-foundation-c935a253-e2ce-42db-a6fd-50b3adbd8839.json b/change/@microsoft-fast-foundation-c935a253-e2ce-42db-a6fd-50b3adbd8839.json deleted file mode 100644 index fe8d1eeef35..00000000000 --- a/change/@microsoft-fast-foundation-c935a253-e2ce-42db-a6fd-50b3adbd8839.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "prerelease", - "comment": "fix: add aria-orientation to divider only when role equals separator", - "packageName": "@microsoft/fast-foundation", - "email": "chhol@microsoft.com", - "dependentChangeType": "prerelease" -} diff --git a/change/@microsoft-fast-react-wrapper-cf03dab8-c553-4726-abe3-112e2aa326bb.json b/change/@microsoft-fast-react-wrapper-cf03dab8-c553-4726-abe3-112e2aa326bb.json deleted file mode 100644 index e9ea9e9541d..00000000000 --- a/change/@microsoft-fast-react-wrapper-cf03dab8-c553-4726-abe3-112e2aa326bb.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "prerelease", - "comment": "add displayName to react wrapper", - "packageName": "@microsoft/fast-react-wrapper", - "email": "chhol@microsoft.com", - "dependentChangeType": "prerelease" -} diff --git a/change/@microsoft-fast-react-wrapper-f0641810-496b-4919-86c8-8eb511244a49.json b/change/@microsoft-fast-react-wrapper-f0641810-496b-4919-86c8-8eb511244a49.json deleted file mode 100644 index da72430187f..00000000000 --- a/change/@microsoft-fast-react-wrapper-f0641810-496b-4919-86c8-8eb511244a49.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "none", - "comment": "adds missing types as a dev dependency", - "packageName": "@microsoft/fast-react-wrapper", - "email": "chhol@microsoft.com", - "dependentChangeType": "none" -} diff --git a/examples/todo-app/src/todo-app.template.ts b/examples/todo-app/src/todo-app.template.ts index 524686cc6e4..bbaf70eaf06 100644 --- a/examples/todo-app/src/todo-app.template.ts +++ b/examples/todo-app/src/todo-app.template.ts @@ -1,5 +1,5 @@ import { html, repeat } from "@microsoft/fast-element"; -import { twoWay } from "@microsoft/fast-element/binding/two-way"; +import { twoWay } from "@microsoft/fast-element/binding/two-way.js"; import type { TodoApp } from "./todo-app.js"; import type { Todo } from "./todo-list.js"; import "./todo-form.js"; diff --git a/examples/todo-app/src/todo-form.template.ts b/examples/todo-app/src/todo-form.template.ts index 78378c7a687..37bc3c58262 100644 --- a/examples/todo-app/src/todo-form.template.ts +++ b/examples/todo-app/src/todo-form.template.ts @@ -1,12 +1,10 @@ import { html } from "@microsoft/fast-element"; -import { twoWay } from "@microsoft/fast-element/binding/two-way"; +import { twoWay } from "@microsoft/fast-element/binding/two-way.js"; import type { TodoForm } from "./todo-form.js"; export const template = html`
x.submitTodo()}> x.description, "input")} /> - +
`; diff --git a/examples/todo-app/src/todo-list.ts b/examples/todo-app/src/todo-list.ts index ac71459d790..71e15c1679e 100644 --- a/examples/todo-app/src/todo-list.ts +++ b/examples/todo-app/src/todo-list.ts @@ -1,6 +1,6 @@ import { Observable, observable, volatile } from "@microsoft/fast-element"; -import { Context } from "@microsoft/fast-element/context"; -import { reactive } from "@microsoft/fast-element/state"; +import { Context } from "@microsoft/fast-element/context.js"; +import { reactive } from "@microsoft/fast-element/state.js"; export type Todo = { description: string; done: boolean }; export type TodoListFilter = "all" | "active" | "completed"; diff --git a/packages/utilities/fast-benchmarks/package.json b/packages/utilities/fast-benchmarks/package.json index 701bd68a6b1..3fa31a26fff 100644 --- a/packages/utilities/fast-benchmarks/package.json +++ b/packages/utilities/fast-benchmarks/package.json @@ -22,7 +22,7 @@ "help": "node ./scripts/index.js --help" }, "dependencies": { - "@microsoft/fast-element": "2.0.0-beta.24", + "@microsoft/fast-element": "2.0.0-beta.26", "tachometer": "^0.7.0" }, "devDependencies": { diff --git a/packages/utilities/fast-react-wrapper/CHANGELOG.json b/packages/utilities/fast-react-wrapper/CHANGELOG.json index 59b43458d6c..79a7b953741 100644 --- a/packages/utilities/fast-react-wrapper/CHANGELOG.json +++ b/packages/utilities/fast-react-wrapper/CHANGELOG.json @@ -1,6 +1,58 @@ { "name": "@microsoft/fast-react-wrapper", "entries": [ + { + "date": "Fri, 18 Aug 2023 00:04:39 GMT", + "tag": "@microsoft/fast-react-wrapper_v1.0.0-alpha.27", + "version": "1.0.0-alpha.27", + "comments": { + "none": [ + { + "author": "chhol@microsoft.com", + "package": "@microsoft/fast-react-wrapper", + "commit": "2dab94c0eda05bee7c4b497e68951d79d6fcbe46", + "comment": "fix test to use fast-element package export with extension" + } + ], + "prerelease": [ + { + "author": "beachball", + "package": "@microsoft/fast-react-wrapper", + "comment": "Bump @microsoft/fast-element to v2.0.0-beta.26", + "commit": "2dab94c0eda05bee7c4b497e68951d79d6fcbe46" + } + ] + } + }, + { + "date": "Sat, 12 Aug 2023 00:26:35 GMT", + "tag": "@microsoft/fast-react-wrapper_v1.0.0-alpha.26", + "version": "1.0.0-alpha.26", + "comments": { + "none": [ + { + "author": "chhol@microsoft.com", + "package": "@microsoft/fast-react-wrapper", + "commit": "fc98190c6bfb9fabe0988e89daca1c0f64f6e7c8", + "comment": "adds missing types as a dev dependency" + } + ], + "prerelease": [ + { + "author": "chhol@microsoft.com", + "package": "@microsoft/fast-react-wrapper", + "commit": "0f8fc2505445be626e55e1e1b28956c2ff3a722e", + "comment": "add displayName to react wrapper" + }, + { + "author": "beachball", + "package": "@microsoft/fast-react-wrapper", + "comment": "Bump @microsoft/fast-element to v2.0.0-beta.25", + "commit": "2297004e14386b5a689ba96361f8d8eebee69cd8" + } + ] + } + }, { "date": "Fri, 16 Jun 2023 18:17:13 GMT", "tag": "@microsoft/fast-react-wrapper_v1.0.0-alpha.25", diff --git a/packages/utilities/fast-react-wrapper/CHANGELOG.md b/packages/utilities/fast-react-wrapper/CHANGELOG.md index a21e195060f..577bf517668 100644 --- a/packages/utilities/fast-react-wrapper/CHANGELOG.md +++ b/packages/utilities/fast-react-wrapper/CHANGELOG.md @@ -1,9 +1,26 @@ # Change Log - @microsoft/fast-react-wrapper -This log was last generated on Fri, 16 Jun 2023 18:17:13 GMT and should not be manually modified. +This log was last generated on Fri, 18 Aug 2023 00:04:39 GMT and should not be manually modified. +## 1.0.0-alpha.27 + +Fri, 18 Aug 2023 00:04:39 GMT + +### Changes + +- Bump @microsoft/fast-element to v2.0.0-beta.26 + +## 1.0.0-alpha.26 + +Sat, 12 Aug 2023 00:26:35 GMT + +### Changes + +- add displayName to react wrapper (chhol@microsoft.com) +- Bump @microsoft/fast-element to v2.0.0-beta.25 + ## 1.0.0-alpha.25 Fri, 16 Jun 2023 18:17:13 GMT diff --git a/packages/utilities/fast-react-wrapper/package.json b/packages/utilities/fast-react-wrapper/package.json index 947fdbd0c20..6a1c95dde30 100644 --- a/packages/utilities/fast-react-wrapper/package.json +++ b/packages/utilities/fast-react-wrapper/package.json @@ -2,7 +2,7 @@ "name": "@microsoft/fast-react-wrapper", "description": "A utility for wrapping web components for use in React.", "sideEffects": false, - "version": "1.0.0-alpha.25", + "version": "1.0.0-alpha.27", "author": { "name": "Microsoft", "url": "https://discord.gg/FcSNfg4" @@ -83,7 +83,7 @@ "webpack-cli": "^4.9.2" }, "dependencies": { - "@microsoft/fast-element": "^2.0.0-beta.24" + "@microsoft/fast-element": "^2.0.0-beta.26" }, "peerDependencies": { "react": ">=16.9.0" diff --git a/packages/utilities/fast-react-wrapper/src/index.spec.tsx b/packages/utilities/fast-react-wrapper/src/index.spec.tsx index d97b18ee5ff..6621299e3bb 100644 --- a/packages/utilities/fast-react-wrapper/src/index.spec.tsx +++ b/packages/utilities/fast-react-wrapper/src/index.spec.tsx @@ -1,7 +1,7 @@ import { attr, customElement, DOM, FASTElement, html, nullableNumberConverter, observable, Updates } from '@microsoft/fast-element'; import React from "react"; import ReactDOM from "react-dom"; -import { uniqueElementName } from '@microsoft/fast-element/testing'; +import { uniqueElementName } from '@microsoft/fast-element/testing.js'; import { expect } from "chai"; import { reactWrapper } from './index.js'; diff --git a/packages/web-components/fast-element/CHANGELOG.json b/packages/web-components/fast-element/CHANGELOG.json index 2cea96c34e3..e910fd45dce 100644 --- a/packages/web-components/fast-element/CHANGELOG.json +++ b/packages/web-components/fast-element/CHANGELOG.json @@ -1,6 +1,48 @@ { "name": "@microsoft/fast-element", "entries": [ + { + "date": "Fri, 18 Aug 2023 00:04:40 GMT", + "tag": "@microsoft/fast-element_v2.0.0-beta.26", + "version": "2.0.0-beta.26", + "comments": { + "prerelease": [ + { + "author": "chhol@microsoft.com", + "package": "@microsoft/fast-element", + "commit": "2dab94c0eda05bee7c4b497e68951d79d6fcbe46", + "comment": "BREAKING: update fast-element export paths to include extensions" + }, + { + "author": "chhol@microsoft.com", + "package": "@microsoft/fast-element", + "commit": "8a23a94530ec7e6fb269c149bd70ca97e662dbf4", + "comment": "update fast-element exports to be explicit" + } + ] + } + }, + { + "date": "Sat, 12 Aug 2023 00:26:36 GMT", + "tag": "@microsoft/fast-element_v2.0.0-beta.25", + "version": "2.0.0-beta.25", + "comments": { + "prerelease": [ + { + "author": "nicholasrice@users.noreply.github.com", + "package": "@microsoft/fast-element", + "commit": "ff0b93a7fb4ca416629f51cc233078494aaf5f60", + "comment": "Prevent notification of array splices when operation does not mutate array values" + }, + { + "author": "nicholasrice@users.noreply.github.com", + "package": "@microsoft/fast-element", + "commit": "9f6451f7e7c121d76e2ead6f50f77c312a0157f7", + "comment": "Adds volatile binding support for JavaScript optional chaining syntax" + } + ] + } + }, { "date": "Fri, 16 Jun 2023 18:17:12 GMT", "tag": "@microsoft/fast-element_v2.0.0-beta.24", diff --git a/packages/web-components/fast-element/CHANGELOG.md b/packages/web-components/fast-element/CHANGELOG.md index cad98d91754..7982fdfc0c8 100644 --- a/packages/web-components/fast-element/CHANGELOG.md +++ b/packages/web-components/fast-element/CHANGELOG.md @@ -1,9 +1,27 @@ # Change Log - @microsoft/fast-element -This log was last generated on Fri, 16 Jun 2023 18:17:12 GMT and should not be manually modified. +This log was last generated on Fri, 18 Aug 2023 00:04:40 GMT and should not be manually modified. +## 2.0.0-beta.26 + +Fri, 18 Aug 2023 00:04:40 GMT + +### Changes + +- BREAKING: update fast-element export paths to include extensions (chhol@microsoft.com) +- update fast-element exports to be explicit (chhol@microsoft.com) + +## 2.0.0-beta.25 + +Sat, 12 Aug 2023 00:26:36 GMT + +### Changes + +- Prevent notification of array splices when operation does not mutate array values (nicholasrice@users.noreply.github.com) +- Adds volatile binding support for JavaScript optional chaining syntax (nicholasrice@users.noreply.github.com) + ## 2.0.0-beta.24 Fri, 16 Jun 2023 18:17:12 GMT diff --git a/packages/web-components/fast-element/package.json b/packages/web-components/fast-element/package.json index a3ee6ce1995..f807de81e2c 100644 --- a/packages/web-components/fast-element/package.json +++ b/packages/web-components/fast-element/package.json @@ -1,7 +1,7 @@ { "name": "@microsoft/fast-element", "description": "A library for constructing Web Components", - "version": "2.0.0-beta.24", + "version": "2.0.0-beta.26", "author": { "name": "Microsoft", "url": "https://discord.gg/FcSNfg4" @@ -26,59 +26,59 @@ "development": "./dist/esm/index.debug.js", "default": "./dist/esm/index.js" }, - "./debug": { + "./debug.js": { "types": "./dist/dts/debug.d.ts", "default": "./dist/esm/debug.js" }, - "./binding/two-way": { + "./binding/two-way.js": { "types": "./dist/dts/binding/two-way.d.ts", "default": "./dist/esm/binding/two-way.js" }, - "./binding/signal": { + "./binding/signal.js": { "types": "./dist/dts/binding/signal.d.ts", "default": "./dist/esm/binding/signal.js" }, - "./render": { + "./render.js": { "types": "./dist/dts/templating/render.d.ts", "default": "./dist/esm/templating/render.js" }, - "./utilities": { + "./utilities.js": { "types": "./dist/dts/utilities.d.ts", "default": "./dist/esm/utilities.js" }, - "./state": { + "./state.js": { "types": "./dist/dts/state/exports.d.ts", "default": "./dist/esm/state/exports.js" }, - "./context": { + "./context.js": { "types": "./dist/dts/context.d.ts", "default": "./dist/esm/context.js" }, - "./metadata": { + "./metadata.js": { "types": "./dist/dts/metadata.d.ts", "default": "./dist/esm/metadata.js" }, - "./testing": { + "./testing.js": { "types": "./dist/dts/testing/exports.d.ts", "default": "./dist/esm/testing/exports.js" }, - "./di": { + "./di.js": { "types": "./dist/dts/di/di.d.ts", "default": "./dist/esm/di/di.js" }, - "./element-hydration": { + "./element-hydration.js": { "types": "./dist/dts/components/hydration.d.ts", "default": "./dist/esm/components/hydration.js" }, - "./install-element-hydration": { + "./install-element-hydration.js": { "types": "./dist/dts/components/install-hydration.d.ts", "default": "./dist/esm/components/install-hydration.js" }, - "./pending-task": { + "./pending-task.js": { "types": "./dist/dts/pending-task.d.ts", "default": "./dist/esm/pending-task.js" }, - "./dom-policy": { + "./dom-policy.js": { "types": "./dist/dts/dom-policy.d.ts", "default": "./dist/esm/dom-policy.js" }, diff --git a/packages/web-components/fast-element/src/index.ts b/packages/web-components/fast-element/src/index.ts index 86edbc31456..1a59cd46d46 100644 --- a/packages/web-components/fast-element/src/index.ts +++ b/packages/web-components/fast-element/src/index.ts @@ -11,46 +11,140 @@ export type { export { FAST, emptyArray } from "./platform.js"; // DOM -export * from "./dom.js"; +export { DOMAspect, DOMSink, DOMPolicy, DOM } from "./dom.js"; // Observation -export * from "./observation/observable.js"; -export * from "./observation/notifier.js"; -export * from "./observation/arrays.js"; -export * from "./observation/update-queue.js"; +export { + Accessor, + Expression, + ExecutionContext, + ExpressionController, + ExpressionObserver, + ExpressionNotifier, + Observable, + observable, + ObservationRecord, + SourceLifetime, + volatile, +} from "./observation/observable.js"; +export { + Notifier, + PropertyChangeNotifier, + Subscriber, + SubscriberSet, +} from "./observation/notifier.js"; +export { + ArrayObserver, + LengthObserver, + lengthOf, + Splice, + SpliceStrategy, + SpliceStrategySupport, +} from "./observation/arrays.js"; +export { UpdateQueue, Updates } from "./observation/update-queue.js"; // Binding -export * from "./binding/binding.js"; -export * from "./binding/one-way.js"; -export * from "./binding/one-time.js"; -export * from "./binding/normalize.js"; +export { Binding, BindingDirective } from "./binding/binding.js"; +export { listener, oneWay } from "./binding/one-way.js"; +export { oneTime } from "./binding/one-time.js"; +export { normalizeBinding } from "./binding/normalize.js"; // Styles -export * from "./styles/element-styles.js"; -export * from "./styles/css.js"; -export * from "./styles/css-directive.js"; -export * from "./styles/host.js"; -export * from "./styles/style-strategy.js"; -export * from "./styles/css-binding-directive.js"; +export { + ComposableStyles, + ConstructibleStyleStrategy, + ElementStyles, +} from "./styles/element-styles.js"; +export { css, CSSTemplateTag, CSSValue } from "./styles/css.js"; +export { + AddBehavior, + cssDirective, + CSSDirective, + CSSDirectiveDefinition, +} from "./styles/css-directive.js"; +export { HostController, HostBehavior } from "./styles/host.js"; +export { StyleStrategy, StyleTarget } from "./styles/style-strategy.js"; +export { CSSBindingDirective } from "./styles/css-binding-directive.js"; // Templating -export * from "./templating/template.js"; -export * from "./templating/compiler.js"; +export { + CaptureType, + ElementViewTemplate, + html, + HTMLTemplateCompilationResult, + HTMLTemplateTag, + InlineTemplateDirective, + SyntheticViewTemplate, + TemplateValue, + ViewTemplate, +} from "./templating/template.js"; +export { CompilationStrategy, Compiler } from "./templating/compiler.js"; export { Markup, Parser } from "./templating/markup.js"; -export * from "./templating/html-binding-directive.js"; -export * from "./templating/html-directive.js"; -export * from "./templating/ref.js"; -export * from "./templating/when.js"; -export * from "./templating/repeat.js"; -export * from "./templating/slotted.js"; -export * from "./templating/children.js"; -export * from "./templating/view.js"; -export * from "./templating/node-observation.js"; +export { + ContentTemplate, + ContentView, + HTMLBindingDirective, +} from "./templating/html-binding-directive.js"; +export { + AddViewBehaviorFactory, + Aspected, + CompiledViewBehaviorFactory, + htmlDirective, + HTMLDirective, + HTMLDirectiveDefinition, + PartialHTMLDirectiveDefinition, + StatelessAttachedAttributeDirective, + ViewBehavior, + ViewBehaviorFactory, + ViewBehaviorTargets, + ViewController, +} from "./templating/html-directive.js"; +export { ref, RefDirective } from "./templating/ref.js"; +export { when } from "./templating/when.js"; +export { + repeat, + RepeatBehavior, + RepeatDirective, + RepeatOptions, +} from "./templating/repeat.js"; +export { + slotted, + SlottedDirective, + SlottedDirectiveOptions, +} from "./templating/slotted.js"; +export { + children, + ChildrenDirective, + ChildrenDirectiveOptions, + ChildListDirectiveOptions, + SubtreeDirectiveOptions, +} from "./templating/children.js"; +export { ElementView, HTMLView, SyntheticView, View } from "./templating/view.js"; +export { + elements, + ElementsFilter, + NodeBehaviorOptions, + NodeObservationDirective, +} from "./templating/node-observation.js"; // Components -export * from "./components/fast-element.js"; -export * from "./components/fast-definitions.js"; -export * from "./components/attributes.js"; +export { customElement, FASTElement } from "./components/fast-element.js"; +export { + FASTElementDefinition, + PartialFASTElementDefinition, + ShadowRootOptions, +} from "./components/fast-definitions.js"; +export { + attr, + AttributeConfiguration, + AttributeDefinition, + AttributeMode, + booleanConverter, + DecoratorAttributeConfiguration, + nullableBooleanConverter, + nullableNumberConverter, + ValueConverter, +} from "./components/attributes.js"; export { ElementController, ElementControllerStrategy, diff --git a/packages/web-components/fast-foundation/CHANGELOG.json b/packages/web-components/fast-foundation/CHANGELOG.json index 49dec32f121..83be512e72f 100644 --- a/packages/web-components/fast-foundation/CHANGELOG.json +++ b/packages/web-components/fast-foundation/CHANGELOG.json @@ -1,6 +1,105 @@ { "name": "@microsoft/fast-foundation", "entries": [ + { + "date": "Fri, 18 Aug 2023 22:48:12 GMT", + "tag": "@microsoft/fast-foundation_v3.0.0-alpha.31", + "version": "3.0.0-alpha.31", + "comments": { + "prerelease": [ + { + "author": "chhol@microsoft.com", + "package": "@microsoft/fast-foundation", + "commit": "d4d8c961b3ad5262924120070057ad6554dfdcb9", + "comment": "export patterns from foundation as package export" + } + ] + } + }, + { + "date": "Fri, 18 Aug 2023 00:04:39 GMT", + "tag": "@microsoft/fast-foundation_v3.0.0-alpha.30", + "version": "3.0.0-alpha.30", + "comments": { + "prerelease": [ + { + "author": "chhol@microsoft.com", + "package": "@microsoft/fast-foundation", + "commit": "2dab94c0eda05bee7c4b497e68951d79d6fcbe46", + "comment": "update fast-element export paths to include extensions" + }, + { + "author": "chhol@microsoft.com", + "package": "@microsoft/fast-foundation", + "commit": "98a726cdb9d1b0dd5deaa7cb61ef2c23f4758585", + "comment": "add export paths with extensions for each fast-foundation component and utilities" + }, + { + "author": "chhol@microsoft.com", + "package": "@microsoft/fast-foundation", + "commit": "4f0377849de66bd69ac69c1cc7c0ff5bbe7ebbfd", + "comment": "fix: change public static methods for listbox and data grid to not be fat arrow fns" + }, + { + "author": "beachball", + "package": "@microsoft/fast-foundation", + "comment": "Bump @microsoft/fast-element to v2.0.0-beta.26", + "commit": "2dab94c0eda05bee7c4b497e68951d79d6fcbe46" + } + ] + } + }, + { + "date": "Sat, 12 Aug 2023 00:26:35 GMT", + "tag": "@microsoft/fast-foundation_v3.0.0-alpha.29", + "version": "3.0.0-alpha.29", + "comments": { + "prerelease": [ + { + "author": "stephcomeau@msn.com", + "package": "@microsoft/fast-foundation", + "commit": "a38e6b166765bb5290b0e6cf55feffdb16a8cbb4", + "comment": "block cell nav events" + }, + { + "author": "chhol@microsoft.com", + "package": "@microsoft/fast-foundation", + "commit": "b5f23eb6c537a2659da4666f3c993c360d523153", + "comment": "fix: add aria-orientation to divider only when role equals separator" + }, + { + "author": "nicholasrice@noreply.github.com", + "package": "@microsoft/fast-foundation", + "commit": "57f3c22c6341d8a21d48b1ffb7fcbfab1ffd02d8", + "comment": "Removed the 'applyMixins' function from exported features." + }, + { + "author": "7282195+m-akinc@users.noreply.github.com", + "package": "@microsoft/fast-foundation", + "commit": "50dba9c58b1bc6ac0c8b948f68dd0cfb6485460b", + "comment": "Prevent keyboard navigation to hidden tab" + }, + { + "author": "stephcomeau@msn.com", + "package": "@microsoft/fast-foundation", + "commit": "e0d4cb42ef8ff28452a744867bde7f095a263297", + "comment": "picker zero items" + }, + { + "author": "chhol@microsoft.com", + "package": "@microsoft/fast-foundation", + "commit": "adaaeb653a37c0eec6ce5fbc57b73c24ca09f347", + "comment": "fix: toolbar should not throw if start or end is undefined" + }, + { + "author": "beachball", + "package": "@microsoft/fast-foundation", + "comment": "Bump @microsoft/fast-element to v2.0.0-beta.25", + "commit": "2297004e14386b5a689ba96361f8d8eebee69cd8" + } + ] + } + }, { "date": "Fri, 16 Jun 2023 18:17:12 GMT", "tag": "@microsoft/fast-foundation_v3.0.0-alpha.28", diff --git a/packages/web-components/fast-foundation/CHANGELOG.md b/packages/web-components/fast-foundation/CHANGELOG.md index a2de08344e6..4adbfe5ebfd 100644 --- a/packages/web-components/fast-foundation/CHANGELOG.md +++ b/packages/web-components/fast-foundation/CHANGELOG.md @@ -1,9 +1,42 @@ # Change Log - @microsoft/fast-foundation -This log was last generated on Fri, 16 Jun 2023 18:17:12 GMT and should not be manually modified. +This log was last generated on Fri, 18 Aug 2023 22:48:12 GMT and should not be manually modified. +## 3.0.0-alpha.31 + +Fri, 18 Aug 2023 22:48:12 GMT + +### Changes + +- export patterns from foundation as package export (chhol@microsoft.com) + +## 3.0.0-alpha.30 + +Fri, 18 Aug 2023 00:04:39 GMT + +### Changes + +- update fast-element export paths to include extensions (chhol@microsoft.com) +- add export paths with extensions for each fast-foundation component and utilities (chhol@microsoft.com) +- fix: change public static methods for listbox and data grid to not be fat arrow fns (chhol@microsoft.com) +- Bump @microsoft/fast-element to v2.0.0-beta.26 + +## 3.0.0-alpha.29 + +Sat, 12 Aug 2023 00:26:35 GMT + +### Changes + +- block cell nav events (stephcomeau@msn.com) +- fix: add aria-orientation to divider only when role equals separator (chhol@microsoft.com) +- Removed the 'applyMixins' function from exported features. (nicholasrice@noreply.github.com) +- Prevent keyboard navigation to hidden tab (7282195+m-akinc@users.noreply.github.com) +- picker zero items (stephcomeau@msn.com) +- fix: toolbar should not throw if start or end is undefined (chhol@microsoft.com) +- Bump @microsoft/fast-element to v2.0.0-beta.25 + ## 3.0.0-alpha.28 Fri, 16 Jun 2023 18:17:12 GMT diff --git a/packages/web-components/fast-foundation/docs/api-report.md b/packages/web-components/fast-foundation/docs/api-report.md index 22e29273ce9..85e141b8804 100644 --- a/packages/web-components/fast-foundation/docs/api-report.md +++ b/packages/web-components/fast-foundation/docs/api-report.md @@ -270,12 +270,12 @@ export function checkboxTemplate(options?: CheckboxOptio // @public export interface ColumnDefinition { - cellFocusTargetCallback?: (cell: FASTDataGridCell) => HTMLElement; + cellFocusTargetCallback?: (cell: FASTDataGridCell) => HTMLElement | null; cellInternalFocusQueue?: boolean; cellTemplate?: ViewTemplate | SyntheticViewTemplate; columnDataKey: string; gridColumn?: string; - headerCellFocusTargetCallback?: (cell: FASTDataGridCell) => HTMLElement; + headerCellFocusTargetCallback?: (cell: FASTDataGridCell) => HTMLElement | null; headerCellInternalFocusQueue?: boolean; headerCellTemplate?: ViewTemplate | SyntheticViewTemplate; isRowHeader?: boolean; @@ -418,6 +418,9 @@ export const DayFormat: { // @public export type DayFormat = ValuesOf; +// @public (undocumented) +export const defaultCellFocusTargetCallback: (cell: FASTDataGridCell) => HTMLElement | null; + // Warning: (ae-different-release-tags) This symbol has another declaration with a different release tag // Warning: (ae-internal-mixed-release-tag) Mixed release tags are not allowed for "DelegatesARIAButton" because one of its declarations is marked as @internal // @@ -1022,7 +1025,7 @@ export class FASTDataGrid extends FASTElement { disconnectedCallback(): void; focusColumnIndex: number; focusRowIndex: number; - static generateColumns: (row: object) => ColumnDefinition[]; + static generateColumns(row: object): ColumnDefinition[]; generateHeader: GenerateHeaderOptions; gridTemplateColumns: string; // (undocumented) @@ -1274,7 +1277,7 @@ export abstract class FASTListbox extends FASTElement { protected setSelectedOptions(): void; // @internal protected shouldSkipFocus: boolean; - static slottedOptionFilter: (n: HTMLElement) => boolean; + static slottedOptionFilter(n: HTMLElement): boolean; // @internal slottedOptions: Element[]; // @internal @@ -1567,7 +1570,7 @@ export class FASTPicker extends FormAssociatedPicker { // (undocumented) protected listItemTemplateChanged(): void; loadingText: string; - maxSelected: number | undefined; + maxSelected: number | null; // @internal menuConfig: AnchoredRegionConfig; // @internal diff --git a/packages/web-components/fast-foundation/package.json b/packages/web-components/fast-foundation/package.json index 70704043a66..b96783ff075 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": "3.0.0-alpha.28", + "version": "3.0.0-alpha.31", "author": { "name": "Microsoft", "url": "https://discord.gg/FcSNfg4" @@ -26,8 +26,196 @@ "types": "./dist/dts/index.d.ts", "default": "./dist/esm/index.js" }, + "./accordion.js": { + "types": "./dist/dts/accordion/index.d.ts", + "default": "./dist/esm/accordion/index.js" + }, + "./accordion-item.js": { + "types": "./dist/dts/accordion-item/index.d.ts", + "default": "./dist/esm/accordion-item/index.js" + }, + "./anchor.js": { + "types": "./dist/dts/anchor/index.d.ts", + "default": "./dist/esm/anchor/index.js" + }, + "./anchored-region.js": { + "types": "./dist/dts/anchored-region/index.d.ts", + "default": "./dist/esm/anchored-region/index.js" + }, + "./avatar.js": { + "types": "./dist/dts/avatar/index.d.ts", + "default": "./dist/esm/avatar/index.js" + }, + "./badge.js": { + "types": "./dist/dts/badge/index.d.ts", + "default": "./dist/esm/badge/index.js" + }, + "./breadcrumb.js": { + "types": "./dist/dts/breadcrumb/index.d.ts", + "default": "./dist/esm/breadcrumb/index.js" + }, + "./breadcrumb-item.js": { + "types": "./dist/dts/breadcrumb-item/index.d.ts", + "default": "./dist/esm/breadcrumb-item/index.js" + }, + "./button.js": { + "types": "./dist/dts/button/index.d.ts", + "default": "./dist/esm/button/index.js" + }, + "./calendar.js": { + "types": "./dist/dts/calendar/index.d.ts", + "default": "./dist/esm/calendar/index.js" + }, + "./card.js": { + "types": "./dist/dts/card/index.d.ts", + "default": "./dist/esm/card/index.js" + }, + "./checkbox.js": { + "types": "./dist/dts/checkbox/index.d.ts", + "default": "./dist/esm/checkbox/index.js" + }, + "./combobox.js": { + "types": "./dist/dts/combobox/index.d.ts", + "default": "./dist/esm/combobox/index.js" + }, + "./data-grid.js": { + "types": "./dist/dts/data-grid/index.d.ts", + "default": "./dist/esm/data-grid/index.js" + }, + "./design-token.js": { + "types": "./dist/dts/design-token/exports.d.ts", + "default": "./dist/esm/design-token/exports.js" + }, + "./dialog.js": { + "types": "./dist/dts/dialog/index.d.ts", + "default": "./dist/esm/dialog/index.js" + }, + "./disclosure.js": { + "types": "./dist/dts/disclosure/index.d.ts", + "default": "./dist/esm/disclosure/index.js" + }, + "./divider.js": { + "types": "./dist/dts/divider/index.d.ts", + "default": "./dist/esm/divider/index.js" + }, + "./flipper.js": { + "types": "./dist/dts/flipper/index.d.ts", + "default": "./dist/esm/flipper/index.js" + }, + "./horizontal-scroll.js": { + "types": "./dist/dts/horizontal-scroll/index.d.ts", + "default": "./dist/esm/horizontal-scroll/index.js" + }, + "./listbox.js": { + "types": "./dist/dts/listbox/index.d.ts", + "default": "./dist/esm/listbox/index.js" + }, + "./listbox-option.js": { + "types": "./dist/dts/listbox-option/index.d.ts", + "default": "./dist/esm/listbox-option/index.js" + }, + "./menu.js": { + "types": "./dist/dts/menu/index.d.ts", + "default": "./dist/esm/menu/index.js" + }, + "./menu-item.js": { + "types": "./dist/dts/menu-item/index.d.ts", + "default": "./dist/esm/menu-item/index.js" + }, + "./number-field.js": { + "types": "./dist/dts/number-field/index.d.ts", + "default": "./dist/esm/number-field/index.js" + }, + "./picker.js": { + "types": "./dist/dts/picker/index.d.ts", + "default": "./dist/esm/picker/index.js" + }, + "./progress.js": { + "types": "./dist/dts/progress/index.d.ts", + "default": "./dist/esm/progress/index.js" + }, + "./progress-ring.js": { + "types": "./dist/dts/progress-ring/index.d.ts", + "default": "./dist/esm/progress-ring/index.js" + }, + "./radio.js": { + "types": "./dist/dts/radio/index.d.ts", + "default": "./dist/esm/radio/index.js" + }, + "./radio-group.js": { + "types": "./dist/dts/radio-group/index.d.ts", + "default": "./dist/esm/radio-group/index.js" + }, + "./search.js": { + "types": "./dist/dts/search/index.d.ts", + "default": "./dist/esm/search/index.js" + }, + "./select.js": { + "types": "./dist/dts/select/index.d.ts", + "default": "./dist/esm/select/index.js" + }, + "./skeleton.js": { + "types": "./dist/dts/skeleton/index.d.ts", + "default": "./dist/esm/skeleton/index.js" + }, + "./slider.js": { + "types": "./dist/dts/slider/index.d.ts", + "default": "./dist/esm/slider/index.js" + }, + "./slider-label.js": { + "types": "./dist/dts/slider-label/index.d.ts", + "default": "./dist/esm/slider-label/index.js" + }, + "./switch.js": { + "types": "./dist/dts/switch/index.d.ts", + "default": "./dist/esm/switch/index.js" + }, + "./tab.js": { + "types": "./dist/dts/tab/index.d.ts", + "default": "./dist/esm/tab/index.js" + }, + "./tab-panel.js": { + "types": "./dist/dts/tab-panel/index.d.ts", + "default": "./dist/esm/tab-panel/index.js" + }, + "./tabs.js": { + "types": "./dist/dts/tabs/index.d.ts", + "default": "./dist/esm/tabs/index.js" + }, + "./text-area.js": { + "types": "./dist/dts/text-area/index.d.ts", + "default": "./dist/esm/text-area/index.js" + }, + "./text-field.js": { + "types": "./dist/dts/text-field/index.d.ts", + "default": "./dist/esm/text-field/index.js" + }, + "./toolbar.js": { + "types": "./dist/dts/toolbar/index.d.ts", + "default": "./dist/esm/toolbar/index.js" + }, + "./tooltip.js": { + "types": "./dist/dts/tooltip/index.d.ts", + "default": "./dist/esm/tooltip/index.js" + }, + "./tree-item.js": { + "types": "./dist/dts/tree-item/index.d.ts", + "default": "./dist/esm/tree-item/index.js" + }, + "./tree-view.js": { + "types": "./dist/dts/tree-view/index.d.ts", + "default": "./dist/esm/tree-view/index.js" + }, + "./utilities.js": { + "types": "./dist/dts/utilities/index.d.ts", + "default": "./dist/esm/utilities/index.js" + }, + "./patterns.js": { + "types": "./dist/dts/patterns/index.d.ts", + "default": "./dist/esm/patterns/index.js" + }, "./custom-elements.json": "./dist/custom-elements.json", - "./design-token-core": { + "./design-token-core.js": { "types": "./dist/dts/design-token/core/exports.d.ts", "default": "./dist/esm/design-token/core/exports.js" }, @@ -96,7 +284,7 @@ }, "dependencies": { "@floating-ui/dom": "^1.0.3", - "@microsoft/fast-element": "2.0.0-beta.24", + "@microsoft/fast-element": "2.0.0-beta.26", "@microsoft/fast-web-utilities": "^6.0.0", "tabbable": "^5.2.0", "tslib": "^2.4.0" diff --git a/packages/web-components/fast-foundation/src/accordion-item/index.ts b/packages/web-components/fast-foundation/src/accordion-item/index.ts index bbd9131ea2c..74c68ad930c 100644 --- a/packages/web-components/fast-foundation/src/accordion-item/index.ts +++ b/packages/web-components/fast-foundation/src/accordion-item/index.ts @@ -1,2 +1,2 @@ -export * from "./accordion-item.template.js"; -export * from "./accordion-item.js"; +export { accordionItemTemplate } from "./accordion-item.template.js"; +export { AccordionItemOptions, FASTAccordionItem } from "./accordion-item.js"; diff --git a/packages/web-components/fast-foundation/src/accordion/index.ts b/packages/web-components/fast-foundation/src/accordion/index.ts index dc8f7f0aa86..36667b59460 100644 --- a/packages/web-components/fast-foundation/src/accordion/index.ts +++ b/packages/web-components/fast-foundation/src/accordion/index.ts @@ -1,3 +1,3 @@ -export * from "./accordion.js"; -export * from "./accordion.options.js"; -export * from "./accordion.template.js"; +export { FASTAccordion } from "./accordion.js"; +export { AccordionExpandMode } from "./accordion.options.js"; +export { accordionTemplate } from "./accordion.template.js"; diff --git a/packages/web-components/fast-foundation/src/anchor/index.ts b/packages/web-components/fast-foundation/src/anchor/index.ts index 9ca2f50053d..de83a3d362c 100644 --- a/packages/web-components/fast-foundation/src/anchor/index.ts +++ b/packages/web-components/fast-foundation/src/anchor/index.ts @@ -1,3 +1,3 @@ -export * from "./anchor.js"; -export * from "./anchor.options.js"; -export * from "./anchor.template.js"; +export { AnchorOptions, DelegatesARIALink, FASTAnchor } from "./anchor.js"; +export { AnchorTarget } from "./anchor.options.js"; +export { anchorTemplate } from "./anchor.template.js"; diff --git a/packages/web-components/fast-foundation/src/anchored-region/index.ts b/packages/web-components/fast-foundation/src/anchored-region/index.ts index 5ec59157ebb..a5962a41066 100644 --- a/packages/web-components/fast-foundation/src/anchored-region/index.ts +++ b/packages/web-components/fast-foundation/src/anchored-region/index.ts @@ -1,4 +1,20 @@ -export * from "./anchored-region-config.js"; -export * from "./anchored-region.js"; -export * from "./anchored-region.options.js"; -export * from "./anchored-region.template.js"; +export { + AnchoredRegionConfig, + FlyoutPosBottom, + FlyoutPosBottomFill, + FlyoutPosTallest, + FlyoutPosTallestFill, + FlyoutPosTop, + FlyoutPosTopFill, +} from "./anchored-region-config.js"; +export { FASTAnchoredRegion } from "./anchored-region.js"; +export { + AnchoredRegionPositionLabel, + AutoUpdateMode, + AxisPositioningMode, + AxisScalingMode, + Dimension, + HorizontalPosition, + VerticalPosition, +} from "./anchored-region.options.js"; +export { anchoredRegionTemplate } from "./anchored-region.template.js"; diff --git a/packages/web-components/fast-foundation/src/avatar/index.ts b/packages/web-components/fast-foundation/src/avatar/index.ts index f1b19b6d4fb..22d3dd0f007 100644 --- a/packages/web-components/fast-foundation/src/avatar/index.ts +++ b/packages/web-components/fast-foundation/src/avatar/index.ts @@ -1,2 +1,2 @@ -export * from "./avatar.template.js"; -export * from "./avatar.js"; +export { avatarTemplate } from "./avatar.template.js"; +export { AvatarOptions, FASTAvatar } from "./avatar.js"; diff --git a/packages/web-components/fast-foundation/src/badge/index.ts b/packages/web-components/fast-foundation/src/badge/index.ts index dc2e6d4f772..26623a6be37 100644 --- a/packages/web-components/fast-foundation/src/badge/index.ts +++ b/packages/web-components/fast-foundation/src/badge/index.ts @@ -1,2 +1,2 @@ -export * from "./badge.template.js"; -export * from "./badge.js"; +export { badgeTemplate } from "./badge.template.js"; +export { FASTBadge } from "./badge.js"; diff --git a/packages/web-components/fast-foundation/src/breadcrumb-item/index.ts b/packages/web-components/fast-foundation/src/breadcrumb-item/index.ts index 09c46c07514..1d1ffd58816 100644 --- a/packages/web-components/fast-foundation/src/breadcrumb-item/index.ts +++ b/packages/web-components/fast-foundation/src/breadcrumb-item/index.ts @@ -1,2 +1,2 @@ -export * from "./breadcrumb-item.template.js"; -export * from "./breadcrumb-item.js"; +export { breadcrumbItemTemplate } from "./breadcrumb-item.template.js"; +export { BreadcrumbItemOptions, FASTBreadcrumbItem } from "./breadcrumb-item.js"; diff --git a/packages/web-components/fast-foundation/src/breadcrumb/index.ts b/packages/web-components/fast-foundation/src/breadcrumb/index.ts index 25e03e2c8d9..46901558777 100644 --- a/packages/web-components/fast-foundation/src/breadcrumb/index.ts +++ b/packages/web-components/fast-foundation/src/breadcrumb/index.ts @@ -1,2 +1,2 @@ -export * from "./breadcrumb.template.js"; -export * from "./breadcrumb.js"; +export { breadcrumbTemplate } from "./breadcrumb.template.js"; +export { FASTBreadcrumb } from "./breadcrumb.js"; diff --git a/packages/web-components/fast-foundation/src/button/index.ts b/packages/web-components/fast-foundation/src/button/index.ts index d2c40c1623d..752c953eaf7 100644 --- a/packages/web-components/fast-foundation/src/button/index.ts +++ b/packages/web-components/fast-foundation/src/button/index.ts @@ -1,3 +1,3 @@ -export * from "./button.js"; -export * from "./button.options.js"; -export * from "./button.template.js"; +export { ButtonOptions, DelegatesARIAButton, FASTButton } from "./button.js"; +export { ButtonType } from "./button.options.js"; +export { buttonTemplate } from "./button.template.js"; diff --git a/packages/web-components/fast-foundation/src/calendar/index.ts b/packages/web-components/fast-foundation/src/calendar/index.ts index e4e1b9a8950..7593ae43748 100644 --- a/packages/web-components/fast-foundation/src/calendar/index.ts +++ b/packages/web-components/fast-foundation/src/calendar/index.ts @@ -1,4 +1,19 @@ -export * from "./calendar.js"; -export * from "./calendar.options.js"; -export * from "./calendar.template.js"; -export * from "./date-formatter.js"; +export { + CalendarDateInfo, + CalendarInfo, + CalendarOptions, + FASTCalendar, + MonthInfo, + WeekdayText, +} from "./calendar.js"; +export { DayFormat, WeekdayFormat, MonthFormat, YearFormat } from "./calendar.options.js"; +export { + calendarCellTemplate, + calendarRowTemplate, + calendarTemplate, + calendarTitleTemplate, + calendarWeekdayTemplate, + interactiveCalendarGridTemplate, + noninteractiveCalendarTemplate, +} from "./calendar.template.js"; +export { DateFormatter } from "./date-formatter.js"; diff --git a/packages/web-components/fast-foundation/src/card/index.ts b/packages/web-components/fast-foundation/src/card/index.ts index b868766c218..60d6d755124 100644 --- a/packages/web-components/fast-foundation/src/card/index.ts +++ b/packages/web-components/fast-foundation/src/card/index.ts @@ -1,2 +1,2 @@ -export * from "./card.template.js"; -export * from "./card.js"; +export { cardTemplate } from "./card.template.js"; +export { FASTCard } from "./card.js"; diff --git a/packages/web-components/fast-foundation/src/checkbox/index.ts b/packages/web-components/fast-foundation/src/checkbox/index.ts index a9565c1257c..8459acbf81e 100644 --- a/packages/web-components/fast-foundation/src/checkbox/index.ts +++ b/packages/web-components/fast-foundation/src/checkbox/index.ts @@ -1,2 +1,2 @@ -export * from "./checkbox.template.js"; -export * from "./checkbox.js"; +export { checkboxTemplate } from "./checkbox.template.js"; +export { CheckboxOptions, FASTCheckbox } from "./checkbox.js"; diff --git a/packages/web-components/fast-foundation/src/combobox/README.md b/packages/web-components/fast-foundation/src/combobox/README.md index 67cd6dd6628..1dbd7699499 100644 --- a/packages/web-components/fast-foundation/src/combobox/README.md +++ b/packages/web-components/fast-foundation/src/combobox/README.md @@ -102,12 +102,6 @@ See [listbox-option](/docs/components/listbox-option) for more information. | ---------------- | --------------------------------------- | ------- | | `FormAssociated` | /src/form-associated/form-associated.js | | -#### Static Fields - -| Name | Privacy | Type | Default | Description | Inherited From | -| --------------------- | ------- | ---- | ------- | --------------------------------------------------- | -------------- | -| `slottedOptionFilter` | public | | | A static filter to include only selectable options. | FASTListbox | - #### Fields | Name | Privacy | Type | Default | Description | Inherited From | @@ -155,12 +149,6 @@ See [listbox-option](/docs/components/listbox-option) for more information. | ------------------------ | ----------------------------------------- | ------- | | `FormAssociatedCombobox` | /src/combobox/combobox.form-associated.js | | -#### Static Fields - -| Name | Privacy | Type | Default | Description | Inherited From | -| --------------------- | ------- | ---- | ------- | --------------------------------------------------- | -------------- | -| `slottedOptionFilter` | public | | | A static filter to include only selectable options. | FASTListbox | - #### Fields | Name | Privacy | Type | Default | Description | Inherited From | diff --git a/packages/web-components/fast-foundation/src/combobox/index.ts b/packages/web-components/fast-foundation/src/combobox/index.ts index 32a1025adb6..677b1969ccd 100644 --- a/packages/web-components/fast-foundation/src/combobox/index.ts +++ b/packages/web-components/fast-foundation/src/combobox/index.ts @@ -1,3 +1,3 @@ -export * from "./combobox.js"; -export * from "./combobox.options.js"; -export * from "./combobox.template.js"; +export { ComboboxOptions, DelegatesARIACombobox, FASTCombobox } from "./combobox.js"; +export { ComboboxAutocomplete } from "./combobox.options.js"; +export { comboboxTemplate } from "./combobox.template.js"; diff --git a/packages/web-components/fast-foundation/src/data-grid/README.md b/packages/web-components/fast-foundation/src/data-grid/README.md index 4942e54290e..d1d66b83287 100644 --- a/packages/web-components/fast-foundation/src/data-grid/README.md +++ b/packages/web-components/fast-foundation/src/data-grid/README.md @@ -144,6 +144,14 @@ export const myDataGrid = DataGrid.compose({
+### Functions + +| Name | Description | Parameters | Return | +| -------------------------------- | ----------- | ------------------------ | --------------------- | +| `defaultCellFocusTargetCallback` | | `cell: FASTDataGridCell` | `HTMLElement or null` | + +
+ ### class: `FASTDataGridRow` @@ -222,12 +230,6 @@ export const myDataGrid = DataGrid.compose({ | ------------- | ------ | ----------------------- | | `FASTElement` | | @microsoft/fast-element | -#### Static Fields - -| Name | Privacy | Type | Default | Description | Inherited From | -| ----------------- | ------- | ---- | ------- | ---------------------------------------------------------------- | -------------- | -| `generateColumns` | public | | | generates a basic column definition by examining sample row data | | - #### Fields | Name | Privacy | Type | Default | Description | Inherited From | @@ -281,6 +283,44 @@ export const myDataGrid = DataGrid.compose({
+ +### class: `ComplexCell` + +#### Superclass + +| Name | Module | Package | +| ------------- | ------ | ----------------------- | +| `FASTElement` | | @microsoft/fast-element | + +#### Fields + +| Name | Privacy | Type | Default | Description | Inherited From | +| --------------- | ------- | ------------------- | ------- | ----------- | -------------- | +| `buttonA` | public | `HTMLButtonElement` | | | | +| `buttonB` | public | `HTMLButtonElement` | | | | +| `handleFocus` | public | | | | | +| `handleKeyDown` | public | | | | | + +
+ +### Variables + +| Name | Description | Type | +| ------------------- | ----------- | ---- | +| `complexCellStyles` | | | + +
+ +### Functions + +| Name | Description | Parameters | Return | +| --------------------- | ----------- | ---------- | ------------------------ | +| `registerComplexCell` | | | | +| `complexCellTemplate` | | | `ElementViewTemplate` | + +
+ + ## Additional resources * [Component explorer examples](https://explore.fast.design/components/fast-data-grid) diff --git a/packages/web-components/fast-foundation/src/data-grid/data-grid-cell.ts b/packages/web-components/fast-foundation/src/data-grid/data-grid-cell.ts index 4cfecf8ec23..030e64c51b7 100644 --- a/packages/web-components/fast-foundation/src/data-grid/data-grid-cell.ts +++ b/packages/web-components/fast-foundation/src/data-grid/data-grid-cell.ts @@ -4,10 +4,19 @@ import { eventFocusIn, eventFocusOut, eventKeyDown, + keyArrowDown, + keyArrowLeft, + keyArrowRight, + keyArrowUp, + keyEnd, keyEnter, keyEscape, keyFunction2, + keyHome, + keyPageDown, + keyPageUp, } from "@microsoft/fast-web-utilities"; +import { isFocusable } from "tabbable"; import type { ColumnDefinition } from "./data-grid.js"; import { DataGridCellTypes } from "./data-grid.options.js"; @@ -35,6 +44,18 @@ const defaultHeaderCellContentsTemplate: ViewTemplate = html` `; +// basic focusTargetCallback that returns the first child of the cell +export const defaultCellFocusTargetCallback = ( + cell: FASTDataGridCell +): HTMLElement | null => { + for (let i = 0; i < cell.children.length; i++) { + if (isFocusable(cell.children[i])) { + return cell.children[i] as HTMLElement; + } + } + return null; +}; + /** * A Data Grid Cell Custom HTML Element. * @@ -151,7 +172,7 @@ export class FASTDataGridCell extends FASTElement { "function" ) { // move focus to the focus target - const focusTarget: HTMLElement = + const focusTarget: HTMLElement | null = this.columnDefinition.headerCellFocusTargetCallback(this); if (focusTarget !== null) { focusTarget.focus(); @@ -166,7 +187,7 @@ export class FASTDataGridCell extends FASTElement { typeof this.columnDefinition.cellFocusTargetCallback === "function" ) { // move focus to the focus target - const focusTarget: HTMLElement = + const focusTarget: HTMLElement | null = this.columnDefinition.cellFocusTargetCallback(this); if (focusTarget !== null) { focusTarget.focus(); @@ -184,25 +205,37 @@ export class FASTDataGridCell extends FASTElement { } } + private hasInternalFocusQueue(): boolean { + if (this.columnDefinition === null) { + return false; + } + if ( + (this.cellType === DataGridCellTypes.default && + this.columnDefinition.cellInternalFocusQueue) || + (this.cellType === DataGridCellTypes.columnHeader && + this.columnDefinition.headerCellInternalFocusQueue) + ) { + return true; + } + return false; + } + public handleKeydown(e: KeyboardEvent): void { + // if the cell does not have an internal focus queue we can ignore keystrokes if ( e.defaultPrevented || this.columnDefinition === null || - (this.cellType === DataGridCellTypes.default && - this.columnDefinition.cellInternalFocusQueue !== true) || - (this.cellType === DataGridCellTypes.columnHeader && - this.columnDefinition.headerCellInternalFocusQueue !== true) + !this.hasInternalFocusQueue() ) { return; } + const rootActiveElement: Element | null = this.getRootActiveElement(); + switch (e.key) { case keyEnter: case keyFunction2: - if ( - this.contains(document.activeElement) && - document.activeElement !== this - ) { + if (this.contains(rootActiveElement) && rootActiveElement !== this) { return; } @@ -212,7 +245,7 @@ export class FASTDataGridCell extends FASTElement { this.columnDefinition.headerCellFocusTargetCallback !== undefined ) { - const focusTarget: HTMLElement = + const focusTarget: HTMLElement | null = this.columnDefinition.headerCellFocusTargetCallback(this); if (focusTarget !== null) { focusTarget.focus(); @@ -223,7 +256,7 @@ export class FASTDataGridCell extends FASTElement { default: if (this.columnDefinition.cellFocusTargetCallback !== undefined) { - const focusTarget: HTMLElement = + const focusTarget: HTMLElement | null = this.columnDefinition.cellFocusTargetCallback(this); if (focusTarget !== null) { focusTarget.focus(); @@ -235,15 +268,38 @@ export class FASTDataGridCell extends FASTElement { break; case keyEscape: - if ( - this.contains(document.activeElement) && - document.activeElement !== this - ) { + if (this.contains(rootActiveElement) && rootActiveElement !== this) { this.focus(); e.preventDefault(); } break; + + // stop any unhandled grid nav events that may bubble from the cell + // when internal navigation is active. + // note: preventDefault would also block arrow keys in input elements + case keyArrowDown: + case keyArrowLeft: + case keyArrowRight: + case keyArrowUp: + case keyEnd: + case keyHome: + case keyPageDown: + case keyPageUp: + if (this.contains(rootActiveElement) && rootActiveElement !== this) { + e.stopPropagation(); + } + break; + } + } + + private getRootActiveElement(): Element | null { + const rootNode = this.getRootNode(); + + if (rootNode instanceof ShadowRoot) { + return rootNode.activeElement; } + + return document.activeElement; } private updateCellView(): void { diff --git a/packages/web-components/fast-foundation/src/data-grid/data-grid-row.ts b/packages/web-components/fast-foundation/src/data-grid/data-grid-row.ts index 0baac400c8d..db47acea78b 100644 --- a/packages/web-components/fast-foundation/src/data-grid/data-grid-row.ts +++ b/packages/web-components/fast-foundation/src/data-grid/data-grid-row.ts @@ -6,7 +6,7 @@ import { RepeatDirective, ViewTemplate, } from "@microsoft/fast-element"; -import { ViewBehaviorOrchestrator } from "@microsoft/fast-element/utilities"; +import { ViewBehaviorOrchestrator } from "@microsoft/fast-element/utilities.js"; import { eventClick, eventFocusOut, diff --git a/packages/web-components/fast-foundation/src/data-grid/data-grid.ts b/packages/web-components/fast-foundation/src/data-grid/data-grid.ts index e8c1d269caf..1b2297f4471 100644 --- a/packages/web-components/fast-foundation/src/data-grid/data-grid.ts +++ b/packages/web-components/fast-foundation/src/data-grid/data-grid.ts @@ -8,7 +8,7 @@ import { RepeatDirective, Updates, } from "@microsoft/fast-element"; -import { ViewBehaviorOrchestrator } from "@microsoft/fast-element/utilities"; +import { ViewBehaviorOrchestrator } from "@microsoft/fast-element/utilities.js"; import { eventFocus, eventFocusOut, @@ -78,7 +78,7 @@ export interface ColumnDefinition { * focus directly to the checkbox. * When headerCellInternalFocusQueue is true this function is called when the user hits Enter or F2 */ - headerCellFocusTargetCallback?: (cell: FASTDataGridCell) => HTMLElement; + headerCellFocusTargetCallback?: (cell: FASTDataGridCell) => HTMLElement | null; /** * cell template @@ -98,7 +98,7 @@ export interface ColumnDefinition { * When cellInternalFocusQueue is true this function is called when the user hits Enter or F2 */ - cellFocusTargetCallback?: (cell: FASTDataGridCell) => HTMLElement; + cellFocusTargetCallback?: (cell: FASTDataGridCell) => HTMLElement | null; /** * Whether this column is the row header @@ -116,14 +116,14 @@ export class FASTDataGrid extends FASTElement { /** * generates a basic column definition by examining sample row data */ - public static generateColumns = (row: object): ColumnDefinition[] => { + public static generateColumns(row: object): ColumnDefinition[] { return Object.getOwnPropertyNames(row).map((property: string, index: number) => { return { columnDataKey: property, gridColumn: `${index}`, }; }); - }; + } /** * generates a gridTemplateColumns based on columndefinitions diff --git a/packages/web-components/fast-foundation/src/data-grid/index.ts b/packages/web-components/fast-foundation/src/data-grid/index.ts index f7e2d016229..bb913f0a65e 100644 --- a/packages/web-components/fast-foundation/src/data-grid/index.ts +++ b/packages/web-components/fast-foundation/src/data-grid/index.ts @@ -1,6 +1,20 @@ -export * from "./data-grid.template.js"; -export * from "./data-grid.js"; -export * from "./data-grid-row.template.js"; -export * from "./data-grid-row.js"; -export * from "./data-grid-cell.template.js"; -export * from "./data-grid-cell.js"; +export { DataGridOptions, dataGridTemplate } from "./data-grid.template.js"; +export { + ColumnDefinition, + DataGridRowTypes, + DataGridSelectionBehavior, + DataGridSelectionMode, + FASTDataGrid, + GenerateHeaderOptions, +} from "./data-grid.js"; +export { + dataGridRowTemplate, + CellItemTemplateOptions, +} from "./data-grid-row.template.js"; +export { FASTDataGridRow } from "./data-grid-row.js"; +export { dataGridCellTemplate } from "./data-grid-cell.template.js"; +export { + DataGridCellTypes, + defaultCellFocusTargetCallback, + FASTDataGridCell, +} from "./data-grid-cell.js"; diff --git a/packages/web-components/fast-foundation/src/data-grid/stories/data-grid.register.ts b/packages/web-components/fast-foundation/src/data-grid/stories/data-grid.register.ts index 115539e05f5..ceb48e71e42 100644 --- a/packages/web-components/fast-foundation/src/data-grid/stories/data-grid.register.ts +++ b/packages/web-components/fast-foundation/src/data-grid/stories/data-grid.register.ts @@ -1,6 +1,7 @@ import { css } from "@microsoft/fast-element"; import { FASTDataGrid } from "../data-grid.js"; import { dataGridTemplate } from "../data-grid.template.js"; +import { registerComplexCell } from "./examples/complex-cell.js"; const styles = css` :host { @@ -19,3 +20,5 @@ FASTDataGrid.define({ }), styles, }); + +registerComplexCell(); diff --git a/packages/web-components/fast-foundation/src/data-grid/stories/data-grid.stories.ts b/packages/web-components/fast-foundation/src/data-grid/stories/data-grid.stories.ts index eff2510aec6..7f707662f04 100644 --- a/packages/web-components/fast-foundation/src/data-grid/stories/data-grid.stories.ts +++ b/packages/web-components/fast-foundation/src/data-grid/stories/data-grid.stories.ts @@ -1,6 +1,7 @@ import { html } from "@microsoft/fast-element"; import type { Meta, Story, StoryArgs } from "../../__test__/helpers.js"; import { renderComponent } from "../../__test__/helpers.js"; +import { defaultCellFocusTargetCallback } from "../data-grid-cell.js"; import { DataGridSelectionBehavior, DataGridSelectionMode, @@ -108,3 +109,52 @@ DataGridColumnDefinitions.args = { { columnDataKey: "item2" }, ], }; + +const editCellTemplate = html` + +`; + +const checkboxCellTemplate = html` + +`; + +const complexCellTemplate = html` + +`; + +export const DataGridEditBoxes: Story = renderComponent(storyTemplate).bind( + {} +); +DataGridEditBoxes.args = { + columnDefinitions: [ + { columnDataKey: "rowId" }, + { + columnDataKey: "item1", + cellTemplate: checkboxCellTemplate, + cellFocusTargetCallback: defaultCellFocusTargetCallback, + }, + { + columnDataKey: "item2", + cellInternalFocusQueue: true, + cellTemplate: editCellTemplate, + cellFocusTargetCallback: defaultCellFocusTargetCallback, + }, + { + columnDataKey: "item3", + cellInternalFocusQueue: true, + cellTemplate: complexCellTemplate, + cellFocusTargetCallback: defaultCellFocusTargetCallback, + }, + ], +}; diff --git a/packages/web-components/fast-foundation/src/data-grid/stories/examples/complex-cell.ts b/packages/web-components/fast-foundation/src/data-grid/stories/examples/complex-cell.ts new file mode 100644 index 00000000000..5a0c6fc089d --- /dev/null +++ b/packages/web-components/fast-foundation/src/data-grid/stories/examples/complex-cell.ts @@ -0,0 +1,72 @@ +import { + css, + ElementViewTemplate, + FASTElement, + html, + ref, +} from "@microsoft/fast-element"; +import { eventFocus, keyArrowLeft, keyArrowRight } from "@microsoft/fast-web-utilities"; + +export function registerComplexCell() { + ComplexCell.define({ + name: "complex-cell", + template: complexCellTemplate(), + styles: complexCellStyles, + }); +} + +export class ComplexCell extends FASTElement { + public buttonA: HTMLButtonElement; + public buttonB: HTMLButtonElement; + + public connectedCallback(): void { + super.connectedCallback(); + this.addEventListener(eventFocus, this.handleFocus); + } + + public disconnectedCallback(): void { + super.disconnectedCallback(); + } + + public handleFocus = (e: FocusEvent): void => { + this.buttonA.focus(); + }; + + public handleKeyDown = (e: KeyboardEvent): boolean => { + if (e.key !== keyArrowLeft && e.key !== keyArrowRight) { + return true; + } + if (e.target === this.buttonA) { + this.buttonB.focus(); + } else { + this.buttonA.focus(); + } + return false; + }; +} + +export function complexCellTemplate(): ElementViewTemplate { + return html` + + `; +} + +export const complexCellStyles = css` + :host { + } +`; diff --git a/packages/web-components/fast-foundation/src/design-token/core/design-token-node.pw.spec.ts b/packages/web-components/fast-foundation/src/design-token/core/design-token-node.pw.spec.ts index 4365c72619d..7a4060397a8 100644 --- a/packages/web-components/fast-foundation/src/design-token/core/design-token-node.pw.spec.ts +++ b/packages/web-components/fast-foundation/src/design-token/core/design-token-node.pw.spec.ts @@ -1,7 +1,7 @@ import "./test/fast-element-dom-shim.js"; import type { Subscriber } from "@microsoft/fast-element"; import { Observable } from "@microsoft/fast-element"; -import { reactive } from "@microsoft/fast-element/state"; +import { reactive } from "@microsoft/fast-element/state.js"; import { test } from "@playwright/test"; import { expect } from "expect"; import jest from "jest-mock"; diff --git a/packages/web-components/fast-foundation/src/design-token/event-strategy.spec.ts b/packages/web-components/fast-foundation/src/design-token/event-strategy.spec.ts index 545600ceef1..43ee982bf47 100644 --- a/packages/web-components/fast-foundation/src/design-token/event-strategy.spec.ts +++ b/packages/web-components/fast-foundation/src/design-token/event-strategy.spec.ts @@ -2,7 +2,7 @@ import { css, customElement, FASTElement, HostController, html, Observable, Updates } from "@microsoft/fast-element"; import chai, { expect } from "chai"; import spies from "chai-spies"; -import { uniqueElementName } from "@microsoft/fast-element/testing"; +import { uniqueElementName } from "@microsoft/fast-element/testing.js"; import {DesignTokenEventResolutionStrategy} from "./event-strategy.js" const elementName = uniqueElementName(); diff --git a/packages/web-components/fast-foundation/src/design-token/fast-design-token.ts b/packages/web-components/fast-foundation/src/design-token/fast-design-token.ts index c6ded56d4dd..cd04ab1da31 100644 --- a/packages/web-components/fast-foundation/src/design-token/fast-design-token.ts +++ b/packages/web-components/fast-foundation/src/design-token/fast-design-token.ts @@ -12,7 +12,7 @@ import { Observable, SubscriberSet, } from "@microsoft/fast-element"; -import { composedContains, composedParent } from "@microsoft/fast-element/utilities"; +import { composedContains, composedParent } from "@microsoft/fast-element/utilities.js"; import type { DesignTokenChangeRecord as CoreDesignTokenChangeRecord, DerivedDesignTokenValue, diff --git a/packages/web-components/fast-foundation/src/design-token/stories/design-token.stories.ts b/packages/web-components/fast-foundation/src/design-token/stories/design-token.stories.ts index e37b79d676c..46174e58c7f 100644 --- a/packages/web-components/fast-foundation/src/design-token/stories/design-token.stories.ts +++ b/packages/web-components/fast-foundation/src/design-token/stories/design-token.stories.ts @@ -1,5 +1,5 @@ import { css, FASTElement, html, Observable, Updates } from "@microsoft/fast-element"; -import { uniqueElementName } from "@microsoft/fast-element/testing"; +import { uniqueElementName } from "@microsoft/fast-element/testing.js"; import type { Meta, Story } from "../../__test__/helpers.js"; import { CSSDesignToken, DesignToken as FASTDesignToken } from "../fast-design-token.js"; diff --git a/packages/web-components/fast-foundation/src/dialog/index.ts b/packages/web-components/fast-foundation/src/dialog/index.ts index b506ed5b0bf..61130c8a85b 100644 --- a/packages/web-components/fast-foundation/src/dialog/index.ts +++ b/packages/web-components/fast-foundation/src/dialog/index.ts @@ -1,2 +1,2 @@ -export * from "./dialog.template.js"; -export * from "./dialog.js"; +export { dialogTemplate } from "./dialog.template.js"; +export { FASTDialog } from "./dialog.js"; diff --git a/packages/web-components/fast-foundation/src/directives/reflect-attributes.spec.ts b/packages/web-components/fast-foundation/src/directives/reflect-attributes.spec.ts index 5268a9fa3c0..5b74c1d3888 100644 --- a/packages/web-components/fast-foundation/src/directives/reflect-attributes.spec.ts +++ b/packages/web-components/fast-foundation/src/directives/reflect-attributes.spec.ts @@ -1,5 +1,5 @@ import { html, ref, customElement, FASTElement, Updates } from "@microsoft/fast-element"; -import { fixture, uniqueElementName } from "@microsoft/fast-element/testing"; +import { fixture, uniqueElementName } from "@microsoft/fast-element/testing.js"; import { reflectAttributes } from "./reflect-attributes.js"; import { expect } from "chai"; diff --git a/packages/web-components/fast-foundation/src/disclosure/index.ts b/packages/web-components/fast-foundation/src/disclosure/index.ts index f16328f0578..942579e9489 100644 --- a/packages/web-components/fast-foundation/src/disclosure/index.ts +++ b/packages/web-components/fast-foundation/src/disclosure/index.ts @@ -1,2 +1,2 @@ -export * from "./disclosure.template.js"; -export * from "./disclosure.js"; +export { disclosureTemplate } from "./disclosure.template.js"; +export { DisclosureOptions, FASTDisclosure } from "./disclosure.js"; diff --git a/packages/web-components/fast-foundation/src/divider/index.ts b/packages/web-components/fast-foundation/src/divider/index.ts index 7cdd5c9a190..8093d5239a1 100644 --- a/packages/web-components/fast-foundation/src/divider/index.ts +++ b/packages/web-components/fast-foundation/src/divider/index.ts @@ -1,3 +1,3 @@ -export * from "./divider.options.js"; -export * from "./divider.template.js"; -export * from "./divider.js"; +export { DividerOrientation, DividerRole } from "./divider.options.js"; +export { dividerTemplate } from "./divider.template.js"; +export { FASTDivider } from "./divider.js"; diff --git a/packages/web-components/fast-foundation/src/flipper/index.ts b/packages/web-components/fast-foundation/src/flipper/index.ts index 9045ac098f7..60cd4b73e53 100644 --- a/packages/web-components/fast-foundation/src/flipper/index.ts +++ b/packages/web-components/fast-foundation/src/flipper/index.ts @@ -1,2 +1,2 @@ -export * from "./flipper.template.js"; -export * from "./flipper.js"; +export { flipperTemplate } from "./flipper.template.js"; +export { FASTFlipper, FlipperDirection, FlipperOptions } from "./flipper.js"; diff --git a/packages/web-components/fast-foundation/src/form-associated/index.ts b/packages/web-components/fast-foundation/src/form-associated/index.ts index 285fa4139a6..a0e6681e4af 100644 --- a/packages/web-components/fast-foundation/src/form-associated/index.ts +++ b/packages/web-components/fast-foundation/src/form-associated/index.ts @@ -1 +1,10 @@ -export * from "./form-associated.js"; +export { + CheckableFormAssociated, + CheckableFormAssociatedElement, + ConstructableFormAssociated, + FormAssociated, + FormAssociatedElement, + FormAssociatedProxy, + ProxyElement, + supportsElementInternals, +} from "./form-associated.js"; diff --git a/packages/web-components/fast-foundation/src/horizontal-scroll/index.ts b/packages/web-components/fast-foundation/src/horizontal-scroll/index.ts index 0090b0ab6b4..a8150a18535 100644 --- a/packages/web-components/fast-foundation/src/horizontal-scroll/index.ts +++ b/packages/web-components/fast-foundation/src/horizontal-scroll/index.ts @@ -1,3 +1,7 @@ -export * from "./horizontal-scroll.js"; -export * from "./horizontal-scroll.options.js"; -export * from "./horizontal-scroll.template.js"; +export { FASTHorizontalScroll } from "./horizontal-scroll.js"; +export { + HorizontalScrollOptions, + HorizontalScrollView, + ScrollEasing, +} from "./horizontal-scroll.options.js"; +export { horizontalScrollTemplate } from "./horizontal-scroll.template.js"; diff --git a/packages/web-components/fast-foundation/src/index.rollup.debug.ts b/packages/web-components/fast-foundation/src/index.rollup.debug.ts index e4f788d16b3..3c602de8c91 100644 --- a/packages/web-components/fast-foundation/src/index.rollup.debug.ts +++ b/packages/web-components/fast-foundation/src/index.rollup.debug.ts @@ -1,6 +1,6 @@ import { DOM } from "@microsoft/fast-element"; -import "@microsoft/fast-element/debug"; -import { DOMPolicy } from "@microsoft/fast-element/dom-policy"; +import "@microsoft/fast-element/debug.js"; +import { DOMPolicy } from "@microsoft/fast-element/dom-policy.js"; export * from "@microsoft/fast-element"; export * from "./index.js"; diff --git a/packages/web-components/fast-foundation/src/index.rollup.ts b/packages/web-components/fast-foundation/src/index.rollup.ts index 87ded74db31..731dfc2b1e9 100644 --- a/packages/web-components/fast-foundation/src/index.rollup.ts +++ b/packages/web-components/fast-foundation/src/index.rollup.ts @@ -1,5 +1,5 @@ import { DOM } from "@microsoft/fast-element"; -import { DOMPolicy } from "@microsoft/fast-element/dom-policy"; +import { DOMPolicy } from "@microsoft/fast-element/dom-policy.js"; export * from "@microsoft/fast-element"; export * from "./index.js"; diff --git a/packages/web-components/fast-foundation/src/listbox-option/index.ts b/packages/web-components/fast-foundation/src/listbox-option/index.ts index c20688652a8..3b65c703bf0 100644 --- a/packages/web-components/fast-foundation/src/listbox-option/index.ts +++ b/packages/web-components/fast-foundation/src/listbox-option/index.ts @@ -1,2 +1,7 @@ -export * from "./listbox-option.js"; -export * from "./listbox-option.template.js"; +export { + DelegatesARIAListboxOption, + ListboxOptionOptions, + isListboxOption, + FASTListboxOption, +} from "./listbox-option.js"; +export { listboxOptionTemplate } from "./listbox-option.template.js"; diff --git a/packages/web-components/fast-foundation/src/listbox/README.md b/packages/web-components/fast-foundation/src/listbox/README.md index dc96ba5a263..923bea7d0a7 100644 --- a/packages/web-components/fast-foundation/src/listbox/README.md +++ b/packages/web-components/fast-foundation/src/listbox/README.md @@ -68,12 +68,6 @@ See [listbox-option](/docs/components/listbox-option) for more information. | ------------- | ----------------------- | ------- | | `FASTListbox` | /src/listbox/listbox.js | | -#### Static Fields - -| Name | Privacy | Type | Default | Description | Inherited From | -| --------------------- | ------- | ---- | ------- | --------------------------------------------------- | -------------- | -| `slottedOptionFilter` | public | | | A static filter to include only selectable options. | FASTListbox | - #### Fields | Name | Privacy | Type | Default | Description | Inherited From | @@ -113,12 +107,6 @@ See [listbox-option](/docs/components/listbox-option) for more information. | ------------- | ------ | ----------------------- | | `FASTElement` | | @microsoft/fast-element | -#### Static Fields - -| Name | Privacy | Type | Default | Description | Inherited From | -| --------------------- | ------- | ---- | ------- | --------------------------------------------------- | -------------- | -| `slottedOptionFilter` | public | | | A static filter to include only selectable options. | | - #### Fields | Name | Privacy | Type | Default | Description | Inherited From | diff --git a/packages/web-components/fast-foundation/src/listbox/index.ts b/packages/web-components/fast-foundation/src/listbox/index.ts index 6b253f21fa8..87d7cf59bdd 100644 --- a/packages/web-components/fast-foundation/src/listbox/index.ts +++ b/packages/web-components/fast-foundation/src/listbox/index.ts @@ -1,3 +1,3 @@ -export * from "./listbox.js"; -export * from "./listbox.element.js"; -export * from "./listbox.template.js"; +export { DelegatesARIAListbox, FASTListbox } from "./listbox.js"; +export { FASTListboxElement } from "./listbox.element.js"; +export { listboxTemplate } from "./listbox.template.js"; diff --git a/packages/web-components/fast-foundation/src/listbox/listbox.ts b/packages/web-components/fast-foundation/src/listbox/listbox.ts index 6184d2ebdcd..be57467bf90 100644 --- a/packages/web-components/fast-foundation/src/listbox/listbox.ts +++ b/packages/web-components/fast-foundation/src/listbox/listbox.ts @@ -127,8 +127,9 @@ export abstract class FASTListbox extends FASTElement { * @param n - element to filter * @public */ - public static slottedOptionFilter = (n: HTMLElement) => - isListboxOption(n) && !n.hidden; + public static slottedOptionFilter(n: HTMLElement) { + return isListboxOption(n) && !n.hidden; + } /** * The default slotted elements. diff --git a/packages/web-components/fast-foundation/src/menu-item/index.ts b/packages/web-components/fast-foundation/src/menu-item/index.ts index f32c5999c43..b34f0405fc2 100644 --- a/packages/web-components/fast-foundation/src/menu-item/index.ts +++ b/packages/web-components/fast-foundation/src/menu-item/index.ts @@ -1,2 +1,7 @@ -export * from "./menu-item.template.js"; -export * from "./menu-item.js"; +export { menuItemTemplate } from "./menu-item.template.js"; +export { + FASTMenuItem, + MenuItemOptions, + MenuItemRole, + roleForMenuItem, +} from "./menu-item.js"; diff --git a/packages/web-components/fast-foundation/src/menu/index.ts b/packages/web-components/fast-foundation/src/menu/index.ts index f94356ae46f..3242f433eed 100644 --- a/packages/web-components/fast-foundation/src/menu/index.ts +++ b/packages/web-components/fast-foundation/src/menu/index.ts @@ -1,2 +1,2 @@ -export * from "./menu.template.js"; -export * from "./menu.js"; +export { menuTemplate } from "./menu.template.js"; +export { FASTMenu } from "./menu.js"; diff --git a/packages/web-components/fast-foundation/src/number-field/index.ts b/packages/web-components/fast-foundation/src/number-field/index.ts index 95d3c65954e..356978bea94 100644 --- a/packages/web-components/fast-foundation/src/number-field/index.ts +++ b/packages/web-components/fast-foundation/src/number-field/index.ts @@ -1,2 +1,2 @@ -export * from "./number-field.template.js"; -export * from "./number-field.js"; +export { numberFieldTemplate } from "./number-field.template.js"; +export { FASTNumberField, NumberFieldOptions } from "./number-field.js"; diff --git a/packages/web-components/fast-foundation/src/patterns/index.ts b/packages/web-components/fast-foundation/src/patterns/index.ts index 6136ce19286..38200e1ed79 100644 --- a/packages/web-components/fast-foundation/src/patterns/index.ts +++ b/packages/web-components/fast-foundation/src/patterns/index.ts @@ -1,3 +1,10 @@ -export * from "./tag-for.js"; -export * from "./aria-global.js"; -export * from "./start-end.js"; +export { tagFor, TemplateElementDependency } from "./tag-for.js"; +export { ARIAGlobalStatesAndProperties } from "./aria-global.js"; +export { + EndOptions, + endSlotTemplate, + StartEnd, + StartEndOptions, + StartOptions, + startSlotTemplate, +} from "./start-end.js"; diff --git a/packages/web-components/fast-foundation/src/picker/README.md b/packages/web-components/fast-foundation/src/picker/README.md index 0be5da500c9..2be6dda1a1c 100644 --- a/packages/web-components/fast-foundation/src/picker/README.md +++ b/packages/web-components/fast-foundation/src/picker/README.md @@ -195,7 +195,7 @@ export class FASTTextField extends TextField {} | `options` | public | `string` | | Currently available options. Comma delineated string ie. "apples,oranges". | | | `filterSelected` | public | `boolean` | `true` | Whether the component should remove an option from the list when it is in the selection | | | `filterQuery` | public | `boolean` | `true` | Whether the component should remove options based on the current query | | -| `maxSelected` | public | `number or undefined` | | The maximum number of items that can be selected. | | +| `maxSelected` | public | `number or null` | `null` | The maximum number of items that can be selected. | | | `noSuggestionsText` | public | `string` | `"No suggestions available"` | The text to present to assistive technolgies when no suggestions are available. | | | `suggestionsAvailableText` | public | `string` | `"Suggestions available"` | The text to present to assistive technolgies when suggestions are available. | | | `loadingText` | public | `string` | `"Loading suggestions"` | The text to present to assistive technologies when suggestions are loading. | | diff --git a/packages/web-components/fast-foundation/src/picker/index.ts b/packages/web-components/fast-foundation/src/picker/index.ts index 815c5233273..23b6af2c170 100644 --- a/packages/web-components/fast-foundation/src/picker/index.ts +++ b/packages/web-components/fast-foundation/src/picker/index.ts @@ -1,11 +1,11 @@ -export * from "./picker-list-item.js"; -export * from "./picker-list-item.template.js"; -export * from "./picker-list.js"; -export * from "./picker-list.template.js"; -export * from "./picker-menu-option.js"; -export * from "./picker-menu-option.template.js"; -export * from "./picker-menu.js"; -export * from "./picker-menu.template.js"; -export * from "./picker.js"; -export * from "./picker.options.js"; -export * from "./picker.template.js"; +export { FASTPickerListItem } from "./picker-list-item.js"; +export { pickerListItemTemplate } from "./picker-list-item.template.js"; +export { FASTPickerList } from "./picker-list.js"; +export { pickerListTemplate } from "./picker-list.template.js"; +export { FASTPickerMenuOption } from "./picker-menu-option.js"; +export { pickerMenuOptionTemplate } from "./picker-menu-option.template.js"; +export { FASTPickerMenu } from "./picker-menu.js"; +export { pickerMenuTemplate } from "./picker-menu.template.js"; +export { FASTPicker } from "./picker.js"; +export { MenuPlacement } from "./picker.options.js"; +export { PickerOptions, pickerTemplate } from "./picker.template.js"; diff --git a/packages/web-components/fast-foundation/src/picker/picker.spec.md b/packages/web-components/fast-foundation/src/picker/picker.spec.md index 1b86faa5301..f3d816283f2 100644 --- a/packages/web-components/fast-foundation/src/picker/picker.spec.md +++ b/packages/web-components/fast-foundation/src/picker/picker.spec.md @@ -42,7 +42,7 @@ Picker is the top level container which hosts both a `picker-list` component to *Attributes:* - `selection`: List of currently selected items. Comma delineated string ie. "apples,oranges". - `options`: Currently available options. Comma delineated string ie. "apples,oranges". -- `max-selected`: The maximum number of items that can be selected. Unset by default (ie. no maximum). +- `max-selected`: The maximum number of items that can be selected. Unset by default (ie. no maximum). If the value is "0" selecting an item updates the query instead. - `no-suggestions-text`: The text to present when no suggestions are available. - `suggestions-available-text`: The text to present when suggestions are available. - `loading-text`: The text to present when suggestions are loading. diff --git a/packages/web-components/fast-foundation/src/picker/picker.spec.ts b/packages/web-components/fast-foundation/src/picker/picker.spec.ts index 424a2858958..ace7f8291f1 100644 --- a/packages/web-components/fast-foundation/src/picker/picker.spec.ts +++ b/packages/web-components/fast-foundation/src/picker/picker.spec.ts @@ -11,7 +11,7 @@ import { pickerMenuTemplate, pickerTemplate, } from "./index.js"; -import { fixture, uniqueElementName } from "@microsoft/fast-element/testing"; +import { fixture, uniqueElementName } from "@microsoft/fast-element/testing.js"; import { Updates } from "@microsoft/fast-element"; import { keyArrowLeft, diff --git a/packages/web-components/fast-foundation/src/picker/picker.ts b/packages/web-components/fast-foundation/src/picker/picker.ts index 2918cea34cb..769f2ef9465 100644 --- a/packages/web-components/fast-foundation/src/picker/picker.ts +++ b/packages/web-components/fast-foundation/src/picker/picker.ts @@ -2,6 +2,7 @@ import { attr, html, HTMLView, + nullableNumberConverter, observable, oneWay, ref, @@ -9,7 +10,7 @@ import { Updates, ViewTemplate, } from "@microsoft/fast-element"; -import { ViewBehaviorOrchestrator } from "@microsoft/fast-element/utilities"; +import { ViewBehaviorOrchestrator } from "@microsoft/fast-element/utilities.js"; import { keyArrowDown, keyArrowLeft, @@ -117,8 +118,8 @@ export class FASTPicker extends FormAssociatedPicker { * @remarks * HTML Attribute: max-selected */ - @attr({ attribute: "max-selected" }) - public maxSelected: number | undefined; + @attr({ attribute: "max-selected", converter: nullableNumberConverter }) + public maxSelected: number | null = null; /** * The text to present to assistive technolgies when no suggestions are available. @@ -806,7 +807,8 @@ export class FASTPicker extends FormAssociatedPicker { return; } if ( - this.maxSelected !== undefined && + this.maxSelected !== null && + this.maxSelected !== 0 && this.selectedItems.length >= this.maxSelected ) { if (this.getRootActiveElement() === this.inputElement) { @@ -867,21 +869,22 @@ export class FASTPicker extends FormAssociatedPicker { return false; } - if (e.target instanceof FASTPickerMenuOption) { - if (e.target.value !== undefined) { + if (e.target instanceof FASTPickerMenuOption && e.target.value !== undefined) { + if (this.maxSelected === 0) { + // if we don't allow selection just update the query + this.query = e.target.value; + } else { + this.query = ""; this.selection = `${this.selection}${this.selection === "" ? "" : ","}${ e.target.value }`; } - this.inputElement.value = ""; - this.query = ""; - this.inputElement.focus(); + this.toggleFlyout(false); + this.inputElement.focus(); return false; } - // const value: string = (e.target as PickerMenuOption).value; - return true; } @@ -913,7 +916,7 @@ export class FASTPicker extends FormAssociatedPicker { ); if (newFocusedItemIndex === selectedItemsAsElements.length) { if ( - this.maxSelected !== undefined && + this.maxSelected !== null && this.selectedItems.length >= this.maxSelected ) { ( diff --git a/packages/web-components/fast-foundation/src/progress-ring/index.ts b/packages/web-components/fast-foundation/src/progress-ring/index.ts index c6eb91da9eb..5118a937e32 100644 --- a/packages/web-components/fast-foundation/src/progress-ring/index.ts +++ b/packages/web-components/fast-foundation/src/progress-ring/index.ts @@ -1,3 +1,3 @@ -export * from "./progress-ring.js"; -export * from "./progress-ring.options.js"; -export * from "./progress-ring.template.js"; +export { FASTProgressRing } from "./progress-ring.js"; +export { ProgressRingOptions } from "./progress-ring.options.js"; +export { progressRingTemplate } from "./progress-ring.template.js"; diff --git a/packages/web-components/fast-foundation/src/progress/index.ts b/packages/web-components/fast-foundation/src/progress/index.ts index 11c506ecfef..37bedac77c6 100644 --- a/packages/web-components/fast-foundation/src/progress/index.ts +++ b/packages/web-components/fast-foundation/src/progress/index.ts @@ -1,4 +1,4 @@ -export * from "./base-progress.js"; -export * from "./progress.js"; -export * from "./progress.options.js"; -export * from "./progress.template.js"; +export { FASTBaseProgress } from "./base-progress.js"; +export { FASTProgress } from "./progress.js"; +export { ProgressOptions } from "./progress.options.js"; +export { progressTemplate } from "./progress.template.js"; diff --git a/packages/web-components/fast-foundation/src/radio-group/index.ts b/packages/web-components/fast-foundation/src/radio-group/index.ts index 6b87a7963ff..76b6dde54ce 100644 --- a/packages/web-components/fast-foundation/src/radio-group/index.ts +++ b/packages/web-components/fast-foundation/src/radio-group/index.ts @@ -1,3 +1,3 @@ -export * from "./radio-group.options.js"; -export * from "./radio-group.template.js"; -export * from "./radio-group.js"; +export { RadioGroupOrientation } from "./radio-group.options.js"; +export { radioGroupTemplate } from "./radio-group.template.js"; +export { FASTRadioGroup } from "./radio-group.js"; diff --git a/packages/web-components/fast-foundation/src/radio/index.ts b/packages/web-components/fast-foundation/src/radio/index.ts index 21261acc88d..a6c75ce3164 100644 --- a/packages/web-components/fast-foundation/src/radio/index.ts +++ b/packages/web-components/fast-foundation/src/radio/index.ts @@ -1,2 +1,2 @@ -export * from "./radio.template.js"; -export * from "./radio.js"; +export { radioTemplate } from "./radio.template.js"; +export { FASTRadio, RadioControl, RadioOptions } from "./radio.js"; diff --git a/packages/web-components/fast-foundation/src/search/index.ts b/packages/web-components/fast-foundation/src/search/index.ts index be5e82f454c..5f32589c52a 100644 --- a/packages/web-components/fast-foundation/src/search/index.ts +++ b/packages/web-components/fast-foundation/src/search/index.ts @@ -1,2 +1,2 @@ -export * from "./search.template.js"; -export * from "./search.js"; +export { searchTemplate } from "./search.template.js"; +export { DelegatesARIASearch, FASTSearch, SearchOptions } from "./search.js"; diff --git a/packages/web-components/fast-foundation/src/select/README.md b/packages/web-components/fast-foundation/src/select/README.md index af3efeb7061..a892497f2be 100644 --- a/packages/web-components/fast-foundation/src/select/README.md +++ b/packages/web-components/fast-foundation/src/select/README.md @@ -92,12 +92,6 @@ See [listbox-option](/docs/components/listbox-option) for more information. | ---------------- | --------------------------------------- | ------- | | `FormAssociated` | /src/form-associated/form-associated.js | | -#### Static Fields - -| Name | Privacy | Type | Default | Description | Inherited From | -| --------------------- | ------- | ---- | ------- | --------------------------------------------------- | -------------- | -| `slottedOptionFilter` | public | | | A static filter to include only selectable options. | FASTListbox | - #### Fields | Name | Privacy | Type | Default | Description | Inherited From | @@ -137,12 +131,6 @@ See [listbox-option](/docs/components/listbox-option) for more information. | ---------------------- | ------------------------------------- | ------- | | `FormAssociatedSelect` | /src/select/select.form-associated.js | | -#### Static Fields - -| Name | Privacy | Type | Default | Description | Inherited From | -| --------------------- | ------- | ---- | ------- | --------------------------------------------------- | -------------- | -| `slottedOptionFilter` | public | | | A static filter to include only selectable options. | FASTListbox | - #### Fields | Name | Privacy | Type | Default | Description | Inherited From | diff --git a/packages/web-components/fast-foundation/src/select/index.ts b/packages/web-components/fast-foundation/src/select/index.ts index 5e73d060120..0cd496bc911 100644 --- a/packages/web-components/fast-foundation/src/select/index.ts +++ b/packages/web-components/fast-foundation/src/select/index.ts @@ -1,2 +1,2 @@ -export * from "./select.js"; -export * from "./select.template.js"; +export { FASTSelect, DelegatesARIASelect, SelectOptions } from "./select.js"; +export { selectTemplate } from "./select.template.js"; diff --git a/packages/web-components/fast-foundation/src/skeleton/index.ts b/packages/web-components/fast-foundation/src/skeleton/index.ts index 28883268cfc..b7affaa9553 100644 --- a/packages/web-components/fast-foundation/src/skeleton/index.ts +++ b/packages/web-components/fast-foundation/src/skeleton/index.ts @@ -1,2 +1,2 @@ -export * from "./skeleton.template.js"; -export * from "./skeleton.js"; +export { skeletonTemplate } from "./skeleton.template.js"; +export { FASTSkeleton, SkeletonShape } from "./skeleton.js"; diff --git a/packages/web-components/fast-foundation/src/slider-label/index.ts b/packages/web-components/fast-foundation/src/slider-label/index.ts index 207c542e411..4f8e3cc5b2b 100644 --- a/packages/web-components/fast-foundation/src/slider-label/index.ts +++ b/packages/web-components/fast-foundation/src/slider-label/index.ts @@ -1,2 +1,2 @@ -export * from "./slider-label.template.js"; -export * from "./slider-label.js"; +export { sliderLabelTemplate } from "./slider-label.template.js"; +export { FASTSliderLabel } from "./slider-label.js"; diff --git a/packages/web-components/fast-foundation/src/slider/index.ts b/packages/web-components/fast-foundation/src/slider/index.ts index b074bc06669..b2d74778110 100644 --- a/packages/web-components/fast-foundation/src/slider/index.ts +++ b/packages/web-components/fast-foundation/src/slider/index.ts @@ -1,3 +1,8 @@ -export * from "./slider.js"; -export * from "./slider.options.js"; -export * from "./slider.template.js"; +export { FASTSlider } from "./slider.js"; +export { + SliderConfiguration, + SliderMode, + SliderOptions, + SliderOrientation, +} from "./slider.options.js"; +export { sliderTemplate } from "./slider.template.js"; diff --git a/packages/web-components/fast-foundation/src/switch/index.ts b/packages/web-components/fast-foundation/src/switch/index.ts index d5d17dc9ec7..ddebb119b0a 100644 --- a/packages/web-components/fast-foundation/src/switch/index.ts +++ b/packages/web-components/fast-foundation/src/switch/index.ts @@ -1,2 +1,2 @@ -export * from "./switch.template.js"; -export * from "./switch.js"; +export { switchTemplate } from "./switch.template.js"; +export { FASTSwitch, SwitchOptions } from "./switch.js"; diff --git a/packages/web-components/fast-foundation/src/tab-panel/index.ts b/packages/web-components/fast-foundation/src/tab-panel/index.ts index 6bdf0e21fbc..c556ff51619 100644 --- a/packages/web-components/fast-foundation/src/tab-panel/index.ts +++ b/packages/web-components/fast-foundation/src/tab-panel/index.ts @@ -1,2 +1,2 @@ -export * from "./tab-panel.template.js"; -export * from "./tab-panel.js"; +export { tabPanelTemplate } from "./tab-panel.template.js"; +export { FASTTabPanel } from "./tab-panel.js"; diff --git a/packages/web-components/fast-foundation/src/tab/index.ts b/packages/web-components/fast-foundation/src/tab/index.ts index b39affc4090..a9fd7ee3c79 100644 --- a/packages/web-components/fast-foundation/src/tab/index.ts +++ b/packages/web-components/fast-foundation/src/tab/index.ts @@ -1,2 +1,2 @@ -export * from "./tab.template.js"; -export * from "./tab.js"; +export { tabTemplate } from "./tab.template.js"; +export { FASTTab, TabOptions } from "./tab.js"; diff --git a/packages/web-components/fast-foundation/src/tabs/index.ts b/packages/web-components/fast-foundation/src/tabs/index.ts index 5200c8caa31..00696638ee7 100644 --- a/packages/web-components/fast-foundation/src/tabs/index.ts +++ b/packages/web-components/fast-foundation/src/tabs/index.ts @@ -1,3 +1,3 @@ -export * from "./tabs.options.js"; -export * from "./tabs.template.js"; -export * from "./tabs.js"; +export { TabsOptions, TabsOrientation } from "./tabs.options.js"; +export { tabsTemplate } from "./tabs.template.js"; +export { FASTTabs } from "./tabs.js"; diff --git a/packages/web-components/fast-foundation/src/text-area/index.ts b/packages/web-components/fast-foundation/src/text-area/index.ts index 814faf5561b..49290387222 100644 --- a/packages/web-components/fast-foundation/src/text-area/index.ts +++ b/packages/web-components/fast-foundation/src/text-area/index.ts @@ -1,2 +1,2 @@ -export * from "./text-area.template.js"; -export * from "./text-area.js"; +export { textAreaTemplate } from "./text-area.template.js"; +export { FASTTextArea, TextAreaResize } from "./text-area.js"; diff --git a/packages/web-components/fast-foundation/src/text-field/index.ts b/packages/web-components/fast-foundation/src/text-field/index.ts index a3e7feeac54..0fc8ee7bf70 100644 --- a/packages/web-components/fast-foundation/src/text-field/index.ts +++ b/packages/web-components/fast-foundation/src/text-field/index.ts @@ -1,2 +1,7 @@ -export * from "./text-field.template.js"; -export * from "./text-field.js"; +export { textFieldTemplate } from "./text-field.template.js"; +export { + DelegatesARIATextbox, + FASTTextField, + TextFieldOptions, + TextFieldType, +} from "./text-field.js"; diff --git a/packages/web-components/fast-foundation/src/toolbar/index.ts b/packages/web-components/fast-foundation/src/toolbar/index.ts index 1c9930f811a..d1e4fd4cb0c 100644 --- a/packages/web-components/fast-foundation/src/toolbar/index.ts +++ b/packages/web-components/fast-foundation/src/toolbar/index.ts @@ -1,3 +1,3 @@ -export * from "./toolbar.options.js"; -export * from "./toolbar.template.js"; -export * from "./toolbar.js"; +export { ToolbarOptions, ToolbarOrientation } from "./toolbar.options.js"; +export { toolbarTemplate } from "./toolbar.template.js"; +export { DelegatesARIAToolbar, FASTToolbar } from "./toolbar.js"; diff --git a/packages/web-components/fast-foundation/src/tooltip/index.ts b/packages/web-components/fast-foundation/src/tooltip/index.ts index 7aa430a347f..b5f2ae6e8d7 100644 --- a/packages/web-components/fast-foundation/src/tooltip/index.ts +++ b/packages/web-components/fast-foundation/src/tooltip/index.ts @@ -1,3 +1,3 @@ -export * from "./tooltip.js"; -export * from "./tooltip.options.js"; -export * from "./tooltip.template.js"; +export { FASTTooltip } from "./tooltip.js"; +export { TooltipPlacement } from "./tooltip.options.js"; +export { tooltipTemplate } from "./tooltip.template.js"; diff --git a/packages/web-components/fast-foundation/src/tree-item/index.ts b/packages/web-components/fast-foundation/src/tree-item/index.ts index 4c0f341625f..ef4508cff87 100644 --- a/packages/web-components/fast-foundation/src/tree-item/index.ts +++ b/packages/web-components/fast-foundation/src/tree-item/index.ts @@ -1,2 +1,2 @@ -export * from "./tree-item.template.js"; -export * from "./tree-item.js"; +export { treeItemTemplate } from "./tree-item.template.js"; +export { FASTTreeItem, isTreeItemElement, TreeItemOptions } from "./tree-item.js"; diff --git a/packages/web-components/fast-foundation/src/tree-view/index.ts b/packages/web-components/fast-foundation/src/tree-view/index.ts index 66f5d9a0223..1c9a2815fc3 100644 --- a/packages/web-components/fast-foundation/src/tree-view/index.ts +++ b/packages/web-components/fast-foundation/src/tree-view/index.ts @@ -1,2 +1,2 @@ -export * from "./tree-view.template.js"; -export * from "./tree-view.js"; +export { treeViewTemplate } from "./tree-view.template.js"; +export { FASTTreeView } from "./tree-view.js"; diff --git a/packages/web-components/fast-foundation/src/utilities/index.ts b/packages/web-components/fast-foundation/src/utilities/index.ts index 6f1b1ffb3d3..3acd79ebc11 100644 --- a/packages/web-components/fast-foundation/src/utilities/index.ts +++ b/packages/web-components/fast-foundation/src/utilities/index.ts @@ -1,7 +1,20 @@ -export * from "./direction.js"; -export * from "./match-media-stylesheet-behavior.js"; -export * from "./property-stylesheet-behavior.js"; -export * from "./style/index.js"; -export * from "./typings.js"; -export * from "./whitespace-filter.js"; -export * from "./template-helpers.js"; +export { getDirection } from "./direction.js"; +export { + darkModeStylesheetBehavior, + lightModeStylesheetBehavior, + forcedColorsStylesheetBehavior, + MatchMediaBehavior, + MediaQueryListListener, + MatchMediaStyleSheetBehavior, +} from "./match-media-stylesheet-behavior.js"; +export { PropertyStyleSheetBehavior } from "./property-stylesheet-behavior.js"; +export { + CSSDisplayPropertyValue, + disabledCursor, + display, + hidden, + focusVisible, +} from "./style/index.js"; +export { ValuesOf } from "./typings.js"; +export { whitespaceFilter } from "./whitespace-filter.js"; +export { staticallyCompose, StaticallyComposableHTML } from "./template-helpers.js"; diff --git a/packages/web-components/fast-foundation/src/utilities/style/index.ts b/packages/web-components/fast-foundation/src/utilities/style/index.ts index 07a965b0aa5..50ed8c3d0b6 100644 --- a/packages/web-components/fast-foundation/src/utilities/style/index.ts +++ b/packages/web-components/fast-foundation/src/utilities/style/index.ts @@ -1,3 +1,3 @@ -export * from "./disabled.js"; -export * from "./display.js"; -export * from "./focus.js"; +export { disabledCursor } from "./disabled.js"; +export { display, CSSDisplayPropertyValue, hidden } from "./display.js"; +export { focusVisible } from "./focus.js"; diff --git a/packages/web-components/fast-router/CHANGELOG.json b/packages/web-components/fast-router/CHANGELOG.json index bdefa9c33c4..3f0196dfa7b 100644 --- a/packages/web-components/fast-router/CHANGELOG.json +++ b/packages/web-components/fast-router/CHANGELOG.json @@ -1,6 +1,42 @@ { "name": "@microsoft/fast-router", "entries": [ + { + "date": "Fri, 18 Aug 2023 00:04:39 GMT", + "tag": "@microsoft/fast-router_v1.0.0-alpha.26", + "version": "1.0.0-alpha.26", + "comments": { + "prerelease": [ + { + "author": "chhol@microsoft.com", + "package": "@microsoft/fast-router", + "commit": "2dab94c0eda05bee7c4b497e68951d79d6fcbe46", + "comment": "update fast-element export paths to include extensions" + }, + { + "author": "beachball", + "package": "@microsoft/fast-router", + "comment": "Bump @microsoft/fast-element to v2.0.0-beta.26", + "commit": "2dab94c0eda05bee7c4b497e68951d79d6fcbe46" + } + ] + } + }, + { + "date": "Sat, 12 Aug 2023 00:26:36 GMT", + "tag": "@microsoft/fast-router_v1.0.0-alpha.25", + "version": "1.0.0-alpha.25", + "comments": { + "prerelease": [ + { + "author": "beachball", + "package": "@microsoft/fast-router", + "comment": "Bump @microsoft/fast-element to v2.0.0-beta.25", + "commit": "2297004e14386b5a689ba96361f8d8eebee69cd8" + } + ] + } + }, { "date": "Fri, 16 Jun 2023 18:17:13 GMT", "tag": "@microsoft/fast-router_v1.0.0-alpha.24", diff --git a/packages/web-components/fast-router/CHANGELOG.md b/packages/web-components/fast-router/CHANGELOG.md index 76bcfc36a3e..0b3c63e834c 100644 --- a/packages/web-components/fast-router/CHANGELOG.md +++ b/packages/web-components/fast-router/CHANGELOG.md @@ -1,9 +1,26 @@ # Change Log - @microsoft/fast-router -This log was last generated on Fri, 16 Jun 2023 18:17:13 GMT and should not be manually modified. +This log was last generated on Fri, 18 Aug 2023 00:04:39 GMT and should not be manually modified. +## 1.0.0-alpha.26 + +Fri, 18 Aug 2023 00:04:39 GMT + +### Changes + +- update fast-element export paths to include extensions (chhol@microsoft.com) +- Bump @microsoft/fast-element to v2.0.0-beta.26 + +## 1.0.0-alpha.25 + +Sat, 12 Aug 2023 00:26:36 GMT + +### Changes + +- Bump @microsoft/fast-element to v2.0.0-beta.25 + ## 1.0.0-alpha.24 Fri, 16 Jun 2023 18:17:13 GMT diff --git a/packages/web-components/fast-router/package.json b/packages/web-components/fast-router/package.json index 12d88ea7803..0c3b74a5394 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": "1.0.0-alpha.24", + "version": "1.0.0-alpha.26", "author": { "name": "Microsoft", "url": "https://discord.gg/FcSNfg4" @@ -80,6 +80,6 @@ "webpack-cli": "^4.9.2" }, "dependencies": { - "@microsoft/fast-element": "^2.0.0-beta.24" + "@microsoft/fast-element": "^2.0.0-beta.26" } } diff --git a/packages/web-components/fast-router/src/router.ts b/packages/web-components/fast-router/src/router.ts index 239b38d29d7..6c83d62ce3a 100644 --- a/packages/web-components/fast-router/src/router.ts +++ b/packages/web-components/fast-router/src/router.ts @@ -1,5 +1,5 @@ import { FASTElement } from "@microsoft/fast-element"; -import { composedParent } from "@microsoft/fast-element/utilities"; +import { composedParent } from "@microsoft/fast-element/utilities.js"; import { RenderCommand } from "./commands.js"; import { RouterConfiguration } from "./configuration.js"; import { NavigationContributor } from "./contributors.js"; diff --git a/packages/web-components/fast-ssr/CHANGELOG.json b/packages/web-components/fast-ssr/CHANGELOG.json index 8961cae2a19..17a53011071 100644 --- a/packages/web-components/fast-ssr/CHANGELOG.json +++ b/packages/web-components/fast-ssr/CHANGELOG.json @@ -1,6 +1,69 @@ { "name": "@microsoft/fast-ssr", "entries": [ + { + "date": "Fri, 18 Aug 2023 22:48:12 GMT", + "tag": "@microsoft/fast-ssr_v1.0.0-beta.31", + "version": "1.0.0-beta.31", + "comments": { + "prerelease": [ + { + "author": "beachball", + "package": "@microsoft/fast-ssr", + "comment": "Bump @microsoft/fast-foundation to v3.0.0-alpha.31", + "commit": "d4d8c961b3ad5262924120070057ad6554dfdcb9" + } + ] + } + }, + { + "date": "Fri, 18 Aug 2023 00:04:37 GMT", + "tag": "@microsoft/fast-ssr_v1.0.0-beta.30", + "version": "1.0.0-beta.30", + "comments": { + "prerelease": [ + { + "author": "chhol@microsoft.com", + "package": "@microsoft/fast-ssr", + "commit": "2dab94c0eda05bee7c4b497e68951d79d6fcbe46", + "comment": "Breaking: update fast-ssr export paths to include extensions" + }, + { + "author": "beachball", + "package": "@microsoft/fast-ssr", + "comment": "Bump @microsoft/fast-element to v2.0.0-beta.26", + "commit": "2dab94c0eda05bee7c4b497e68951d79d6fcbe46" + }, + { + "author": "beachball", + "package": "@microsoft/fast-ssr", + "comment": "Bump @microsoft/fast-foundation to v3.0.0-alpha.30", + "commit": "2dab94c0eda05bee7c4b497e68951d79d6fcbe46" + } + ] + } + }, + { + "date": "Sat, 12 Aug 2023 00:26:36 GMT", + "tag": "@microsoft/fast-ssr_v1.0.0-beta.29", + "version": "1.0.0-beta.29", + "comments": { + "prerelease": [ + { + "author": "beachball", + "package": "@microsoft/fast-ssr", + "comment": "Bump @microsoft/fast-element to v2.0.0-beta.25", + "commit": "2297004e14386b5a689ba96361f8d8eebee69cd8" + }, + { + "author": "beachball", + "package": "@microsoft/fast-ssr", + "comment": "Bump @microsoft/fast-foundation to v3.0.0-alpha.29", + "commit": "2297004e14386b5a689ba96361f8d8eebee69cd8" + } + ] + } + }, { "date": "Fri, 16 Jun 2023 18:17:13 GMT", "tag": "@microsoft/fast-ssr_v1.0.0-beta.28", diff --git a/packages/web-components/fast-ssr/CHANGELOG.md b/packages/web-components/fast-ssr/CHANGELOG.md index 5284b9c85d4..9bbd2e8bd51 100644 --- a/packages/web-components/fast-ssr/CHANGELOG.md +++ b/packages/web-components/fast-ssr/CHANGELOG.md @@ -1,9 +1,36 @@ # Change Log - @microsoft/fast-ssr -This log was last generated on Fri, 16 Jun 2023 18:17:13 GMT and should not be manually modified. +This log was last generated on Fri, 18 Aug 2023 22:48:12 GMT and should not be manually modified. +## 1.0.0-beta.31 + +Fri, 18 Aug 2023 22:48:12 GMT + +### Changes + +- Bump @microsoft/fast-foundation to v3.0.0-alpha.31 + +## 1.0.0-beta.30 + +Fri, 18 Aug 2023 00:04:37 GMT + +### Changes + +- Breaking: update fast-ssr export paths to include extensions (chhol@microsoft.com) +- Bump @microsoft/fast-element to v2.0.0-beta.26 +- Bump @microsoft/fast-foundation to v3.0.0-alpha.30 + +## 1.0.0-beta.29 + +Sat, 12 Aug 2023 00:26:36 GMT + +### Changes + +- Bump @microsoft/fast-element to v2.0.0-beta.25 +- Bump @microsoft/fast-foundation to v3.0.0-alpha.29 + ## 1.0.0-beta.28 Fri, 16 Jun 2023 18:17:13 GMT diff --git a/packages/web-components/fast-ssr/docs/api-report.md b/packages/web-components/fast-ssr/docs/api-report.md index 927d992c494..ce1f176f56e 100644 --- a/packages/web-components/fast-ssr/docs/api-report.md +++ b/packages/web-components/fast-ssr/docs/api-report.md @@ -8,7 +8,7 @@ import { AsyncLocalStorage } from 'async_hooks'; import { Binding } from '@microsoft/fast-element'; import { ComposableStyles } from '@microsoft/fast-element'; import { Constructable } from '@microsoft/fast-element'; -import { DOMContainer } from '@microsoft/fast-element/di'; +import { DOMContainer } from '@microsoft/fast-element/di.js'; import { ExecutionContext } from '@microsoft/fast-element'; import { FASTElement } from '@microsoft/fast-element'; import { FASTElementDefinition } from '@microsoft/fast-element'; diff --git a/packages/web-components/fast-ssr/package.json b/packages/web-components/fast-ssr/package.json index c3bfe928db1..5ba584a7d33 100644 --- a/packages/web-components/fast-ssr/package.json +++ b/packages/web-components/fast-ssr/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/fast-ssr", - "version": "1.0.0-beta.28", + "version": "1.0.0-beta.31", "type": "module", "author": { "name": "Microsoft", @@ -41,12 +41,12 @@ "types": "./dist/dts/exports.d.ts", "default": "./dist/esm/exports.js" }, - "./install-dom-shim": "./dist/esm/install-dom-shim.js", + "./install-dom-shim.js": "./dist/esm/install-dom-shim.js", "./dom-shim": { "types": "./dist/dts/dom-shim.d.ts", "default": "./dist/esm/dom-shim.js" }, - "./request-storage": { + "./request-storage.js": { "types": "./dist/dts/request-storage.d.ts", "default": "./dist/esm/request-storage.js" }, @@ -57,11 +57,11 @@ "tslib": "^2.4.0" }, "peerDependencies": { - "@microsoft/fast-element": "^2.0.0-beta.24" + "@microsoft/fast-element": "^2.0.0-beta.26" }, "devDependencies": { - "@microsoft/fast-element": "^2.0.0-beta.24", - "@microsoft/fast-foundation": "^3.0.0-alpha.28", + "@microsoft/fast-element": "^2.0.0-beta.26", + "@microsoft/fast-foundation": "^3.0.0-alpha.31", "@microsoft/api-extractor": "7.24.2", "@playwright/test": "^1.25.2", "@types/express": "^4.17.13", diff --git a/packages/web-components/fast-ssr/src/dom-shim.spec.ts b/packages/web-components/fast-ssr/src/dom-shim.spec.ts index f5c00f1507f..4828199d022 100644 --- a/packages/web-components/fast-ssr/src/dom-shim.spec.ts +++ b/packages/web-components/fast-ssr/src/dom-shim.spec.ts @@ -5,7 +5,7 @@ import * as Foundation from "@microsoft/fast-foundation"; import { expect, test } from "@playwright/test"; import { createWindow } from "./dom-shim.js"; import fastSSR from "./exports.js"; -import { uniqueElementName } from "@microsoft/fast-element/testing"; +import { uniqueElementName } from "@microsoft/fast-element/testing.js"; test.describe("createWindow", () => { test("should create a window with a document property that is an instance of the window's Document constructor", () => { diff --git a/packages/web-components/fast-ssr/src/element-renderer/elemenent-renderer.spec.ts b/packages/web-components/fast-ssr/src/element-renderer/elemenent-renderer.spec.ts index fe0c16b1a6d..5fcafc9e16c 100644 --- a/packages/web-components/fast-ssr/src/element-renderer/elemenent-renderer.spec.ts +++ b/packages/web-components/fast-ssr/src/element-renderer/elemenent-renderer.spec.ts @@ -4,8 +4,8 @@ import { expect, test } from '@playwright/test'; import { SyncFASTElementRenderer } from "./fast-element-renderer.js"; import fastSSR from "../exports.js"; import { consolidate, consolidateAsync } from "../test-utilities/consolidate.js"; -import { uniqueElementName } from "@microsoft/fast-element/testing"; -import { PendingTaskEvent } from "@microsoft/fast-element/pending-task"; +import { uniqueElementName } from "@microsoft/fast-element/testing.js"; +import { PendingTaskEvent } from "@microsoft/fast-element/pending-task.js"; @customElement({ name: "bare-element", diff --git a/packages/web-components/fast-ssr/src/element-renderer/fast-element-renderer.ts b/packages/web-components/fast-ssr/src/element-renderer/fast-element-renderer.ts index e94d443c275..8371bf3a85d 100644 --- a/packages/web-components/fast-ssr/src/element-renderer/fast-element-renderer.ts +++ b/packages/web-components/fast-ssr/src/element-renderer/fast-element-renderer.ts @@ -1,5 +1,5 @@ import { DOM, DOMAspect, ExecutionContext, FASTElement } from "@microsoft/fast-element"; -import { PendingTaskEvent } from "@microsoft/fast-element/pending-task"; +import { PendingTaskEvent } from "@microsoft/fast-element/pending-task.js"; import { escapeHtml } from "../escape-html.js"; import { RenderInfo } from "../render-info.js"; import { StyleRenderer } from "../styles/style-renderer.js"; diff --git a/packages/web-components/fast-ssr/src/exports.spec.ts b/packages/web-components/fast-ssr/src/exports.spec.ts index eea071e82b2..5c33e5ebfcf 100644 --- a/packages/web-components/fast-ssr/src/exports.spec.ts +++ b/packages/web-components/fast-ssr/src/exports.spec.ts @@ -3,7 +3,7 @@ import { html, RefDirective, ref } from "@microsoft/fast-element"; import fastSSR from "./exports.js"; import { ViewBehaviorFactoryRenderer } from "./template-renderer/directives.js"; import { test, expect } from "@playwright/test"; -import { uniqueElementName } from "@microsoft/fast-element/testing"; +import { uniqueElementName } from "@microsoft/fast-element/testing.js"; import { FASTElement, HTMLDirective, StatelessAttachedAttributeDirective, ViewBehaviorFactory, ViewController } from "@microsoft/fast-element"; import { consolidate } from "./test-utilities/consolidate.js"; diff --git a/packages/web-components/fast-ssr/src/request-storage.ts b/packages/web-components/fast-ssr/src/request-storage.ts index c14198cb463..ec5a7c61993 100644 --- a/packages/web-components/fast-ssr/src/request-storage.ts +++ b/packages/web-components/fast-ssr/src/request-storage.ts @@ -1,5 +1,5 @@ import { AsyncLocalStorage } from "async_hooks"; -import { DI, DOMContainer } from "@microsoft/fast-element/di"; +import { DI, DOMContainer } from "@microsoft/fast-element/di.js"; import { createWindow } from "./dom-shim.js"; let asyncLocalStorage = new AsyncLocalStorage(); diff --git a/packages/web-components/fast-ssr/src/template-renderer/directives.ts b/packages/web-components/fast-ssr/src/template-renderer/directives.ts index 91537359bc0..ca95bd3e8d2 100644 --- a/packages/web-components/fast-ssr/src/template-renderer/directives.ts +++ b/packages/web-components/fast-ssr/src/template-renderer/directives.ts @@ -8,7 +8,7 @@ import { ViewBehaviorFactory, ViewTemplate, } from "@microsoft/fast-element"; -import { RenderDirective } from "@microsoft/fast-element/render"; +import { RenderDirective } from "@microsoft/fast-element/render.js"; import { RenderInfo } from "../render-info.js"; import { DefaultTemplateRenderer } from "./template-renderer.js"; diff --git a/packages/web-components/fast-ssr/src/template-renderer/template-renderer.spec.ts b/packages/web-components/fast-ssr/src/template-renderer/template-renderer.spec.ts index 3611e0161bd..1598d95361d 100644 --- a/packages/web-components/fast-ssr/src/template-renderer/template-renderer.spec.ts +++ b/packages/web-components/fast-ssr/src/template-renderer/template-renderer.spec.ts @@ -4,10 +4,10 @@ import { expect, test } from "@playwright/test"; import fastSSR from "../exports.js"; import { consolidate } from "../test-utilities/consolidate.js"; import { DefaultTemplateRenderer } from "./template-renderer.js"; -import { render } from "@microsoft/fast-element/render"; +import { render } from "@microsoft/fast-element/render.js"; import { DefaultElementRenderer } from "../element-renderer/element-renderer.js"; import { RenderInfo } from "../render-info.js"; -import { uniqueElementName } from "@microsoft/fast-element/testing"; +import { uniqueElementName } from "@microsoft/fast-element/testing.js"; @customElement("hello-world") class HelloWorld extends FASTElement {} diff --git a/sites/website/versioned_docs/version-legacy/community/contributor-guide.md b/sites/website/versioned_docs/version-legacy/community/contributor-guide.md index 1d497a485ab..c57518786b3 100644 --- a/sites/website/versioned_docs/version-legacy/community/contributor-guide.md +++ b/sites/website/versioned_docs/version-legacy/community/contributor-guide.md @@ -27,7 +27,7 @@ npm install -g yarn The second tool you'll need is Lerna, which can be installed with this command: ```bash -yarn global add lerna +yarn global add lerna@5.5.2 ``` :::important