Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add fast-foundation as a new package #3122

Merged
merged 23 commits into from
May 14, 2020

Conversation

chrisdholt
Copy link
Member

@chrisdholt chrisdholt commented May 13, 2020

Description

This PR adds fast-foundation as a new package. This package includes the templates, classes, and common utilities used to compose fast web components.

Issue type checklist

  • Chore: A change that does not impact distributed packages.
  • Bug fix: A change that fixes an issue, link to the issue above.
  • New feature: A change that adds functionality.

Is this a breaking change?

  • This change causes current functionality to break.

Process & policy checklist

  • I have added tests for my changes.
  • I have tested my changes.
  • I have updated the project documentation to reflect my changes.
  • I have read the CONTRIBUTING documentation and followed the standards for this project.

@janechu
Copy link
Collaborator

janechu commented May 13, 2020

I believe this should be marked as a breaking change.

Copy link
Contributor

@EisenbergEffect EisenbergEffect left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I definitely think this is the right way to go. Thanks @chrisdholt, especially for adding the usage docs. Nice touch.

One teeny, weeny, very annoying request have to make....can we add the .js file extension to all the imports? I can do it myself when I fix up the builds, but I'd prefer to have only one PR that touches all the files as opposed to two if possible.

@chrisdholt
Copy link
Member Author

I definitely think this is the right way to go. Thanks @chrisdholt, especially for adding the usage docs. Nice touch.

One teeny, weeny, very annoying request have to make....can we add the .js file extension to all the imports? I can do it myself when I fix up the builds, but I'd prefer to have only one PR that touches all the files as opposed to two if possible.

We're having an issue with storybook for some reason handling the .js extensions. I'll start by adding it to the foundation package for sure :). We're going to need to work to solve it for the fast-components package though.

@@ -416,7 +416,7 @@ export class DesignSystemProvider extends FASTElement
/**
* Defines a design-system-provider custom element
*/
export function designSystemProvider(name: string) {
export function designSystemProvider(name: string, styles: ElementStyles | undefined) {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nicholasrice and @EisenbergEffect want to bring attention to this API change as part of this. Because we aren't passing styles I needed to add that as part of the decorator here for composing the custom element.

Copy link
Contributor

@nicholasrice nicholasrice May 13, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to pass the template here also?

@EisenbergEffect and I discussed potentially opening this up to have the same API as @customElement - this might be the right time to make that change.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In that case, I think we should do that. I'll update.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated!

@@ -0,0 +1,2 @@
# FAST Foundation
A suite of templates, classes, and utilities for composing web components.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we make a note that this should be fleshed out like our other README files to show installation and basic use?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I wanted to get feedback on what all we want to outline in here.

@eljefe223
Copy link
Contributor

smoked fast-components works

template,
styles,
})
export class FASTBadge extends Badge {}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just a note that we probably need to expand on badge with the inclusion of css variables (not necessarily in this PR but without that the usage is incomplete).

@chrisdholt chrisdholt force-pushed the users/chhol/add-fast-foundation-package branch from c883525 to 6e7f3db Compare May 14, 2020 00:47
@@ -3,14 +3,13 @@ export * from "./badge";
export * from "./button";
export * from "./card";
export * from "./checkbox";
export * from "./custom-properties";
export * from "./color";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you'll need to export the recipe behaviors from "./styles/recipes".

If we don't need the color recipes exported right now I would hold off

@chrisdholt chrisdholt force-pushed the users/chhol/add-fast-foundation-package branch from 1e46a59 to aad1697 Compare May 14, 2020 03:05
@chrisdholt chrisdholt merged commit 208ae8a into master May 14, 2020
@chrisdholt chrisdholt deleted the users/chhol/add-fast-foundation-package branch May 14, 2020 03:37
chrisdholt added a commit that referenced this pull request May 18, 2020
* add initial frame for fast-foundation
* move specs from fast-components to fast-foundation
* remove dupe templates and classes from fast-components
* update pathing to reference fast-foundation
* update package.json package title
* remove reference to fast slider
* update pathing for components and revert unintentional file removal
* update readme paths to specs
* drop errant inclusion of changelog
* update design system provider readmes
* fix focus styling on anchor and button
* remove unnecessary slider-util file from fast-components
* remove unnecessary references to storybook
* update designSystemProvider decorator API to expect template
* fix eslint error on import order
* fix readme capitalization
* drop dependency on fast-web-utilities
* update design system provider readme to reflect api
* export color recipes
* export color recipes
* remove unused vars
* update pathing to .js
* add initial package.json version

BREAKING CHANGE
chrisdholt added a commit that referenced this pull request May 18, 2020
BREAKING CHANGE

* add initial frame for fast-foundation
* move specs from fast-components to fast-foundation
* remove dupe templates and classes from fast-components
* update pathing to reference fast-foundation
* update package.json package title
* remove reference to fast slider
* update pathing for components and revert unintentional file removal
* update readme paths to specs
* drop errant inclusion of changelog
* update design system provider readmes
* fix focus styling on anchor and button
* remove unnecessary slider-util file from fast-components
* remove unnecessary references to storybook
* update designSystemProvider decorator API to expect template
* fix eslint error on import order
* fix readme capitalization
* drop dependency on fast-web-utilities
* update design system provider readme to reflect api
* export color recipes
* export color recipes
* remove unused vars
* update pathing to .js
* add initial package.json version

BREAKING CHANGE
chrisdholt added a commit that referenced this pull request May 18, 2020
* add initial frame for fast-foundation
* move specs from fast-components to fast-foundation
* remove dupe templates and classes from fast-components
* update pathing to reference fast-foundation
* update package.json package title
* remove reference to fast slider
* update pathing for components and revert unintentional file removal
* update readme paths to specs
* drop errant inclusion of changelog
* update design system provider readmes
* fix focus styling on anchor and button
* remove unnecessary slider-util file from fast-components
* remove unnecessary references to storybook
* update designSystemProvider decorator API to expect template
* fix eslint error on import order
* fix readme capitalization
* drop dependency on fast-web-utilities
* update design system provider readme to reflect api
* export color recipes
* export color recipes
* remove unused vars
* update pathing to .js
* add initial package.json version

Breaking Change
chrisdholt added a commit that referenced this pull request May 18, 2020
chrisdholt added a commit that referenced this pull request May 18, 2020
chrisdholt added a commit that referenced this pull request May 18, 2020
BREAKING CHANGE: fundamental changes to the API and exports of certain packages
chrisdholt added a commit that referenced this pull request May 18, 2020
* add initial frame for fast-foundation

* move specs from fast-components to fast-foundation

* remove dupe templates and classes from fast-components

* update pathing to reference fast-foundation

* update package.json package title

* remove reference to fast slider

* update pathing for components and revert unintentional file removal

* update readme paths to specs

* drop errant inclusion of changelog

* update design system provider readmes

* fix focus styling on anchor and button

* remove unnecessary slider-util file from fast-components

* remove unnecessary references to storybook

* update designSystemProvider decorator API to expect template

* fix eslint error on import order

* fix readme capitalization

* drop dependency on fast-web-utilities

* update design system provider readme to reflect api

* export color recipes

* export color recipes

* remove unused vars

* update pathing to .js

* add initial package.json version

BREAKING CHANGE: breaks certain package exports
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants