Skip to content
New issue

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

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

Already on GitHub? # to your account

fix!: renames global 'variants' to 'patterns' to avoid name collision with local 'variant' props #293

Merged
merged 1 commit into from
Apr 12, 2022

Conversation

pretzelhammer
Copy link
Collaborator

Describe the problem this PR addresses

allows customizing existing "patterns" and creating new "patterns" for buttons, which was not possible previously while they were still called "variants" and there was a name collision with button's local "variant" prop

Describe the changes in this PR

just did

Migration Guide

  • change all <m-text variant="etc"> to <m-text pattern="etc">
  • change all <m-button variant="etc"> to <m-button pattern="etc">
  • change any theme data from
{
  button: {
    variants: {
       // etc
    },
  },
  text: {
    variants: {
      // etc
    },
  },
},
  • to this
{
  button: {
    patterns: {
       // etc
    },
  },
  text: {
    patterns: {
      // etc
    },
  },
},

@pretzelhammer pretzelhammer requested a review from a team as a code owner April 12, 2022 12:23
@pretzelhammer pretzelhammer requested a review from laurenhu April 12, 2022 12:23
@github-actions
Copy link

Styleguide deployed to https://square.github.io/maker/styleguide/patterns/#/

@github-actions
Copy link

📊 Package size report   0.08%↑

File Before After
components/Button/script.js 6.2 kB 2%↑6.3 kB
components/Theme/script.js 6.6 kB 0.8%↑6.6 kB
Total (Includes all files) 1.2 MB 0.08%↑1.2 MB
Tarball size 230.3 kB 0.1%↑230.6 kB
Unchanged files
File Size
components/ActionBar/index.js 46 B
components/ActionBar/script.js 14.5 kB
components/ActionBar/styles.css 5.5 kB
components/Blade/index.js 46 B
components/Blade/script.js 6.2 kB
components/Blade/styles.css 740 B
components/Button/index.js 46 B
components/Button/styles.css 3.6 kB
components/Calendar/index.js 46 B
components/Calendar/script.js 7.7 kB
components/Calendar/styles.css 2.0 kB
components/Card/index.js 46 B
components/Card/script.js 1.7 kB
components/Card/styles.css 196 B
components/Checkbox/index.js 46 B
components/Checkbox/script.js 3.9 kB
components/Checkbox/styles.css 1.3 kB
components/Choice/index.js 46 B
components/Choice/script.js 4.5 kB
components/Choice/styles.css 1.2 kB
components/Container/index.js 46 B
components/Container/script.js 4.5 kB
components/Container/styles.css 1.0 kB
components/Dialog/index.js 46 B
components/Dialog/script.js 7.4 kB
components/Dialog/styles.css 1.2 kB
components/Divider/index.js 46 B
components/Divider/script.js 1.7 kB
components/Divider/styles.css 160 B
components/Image/index.js 46 B
components/Image/script.js 3.3 kB
components/Image/styles.css 208 B
components/ImageUploader/index.js 46 B
components/ImageUploader/script.js 11.7 kB
components/ImageUploader/styles.css 2.3 kB
components/Input/index.js 46 B
components/Input/script.js 4.2 kB
components/Input/styles.css 2.1 kB
components/Loading/index.js 46 B
components/Loading/script.js 2.2 kB
components/Loading/styles.css 1.2 kB
components/Modal/index.js 46 B
components/Modal/script.js 9.8 kB
components/Modal/styles.css 1.0 kB
components/Notice/index.js 46 B
components/Notice/script.js 4.7 kB
components/Notice/styles.css 983 B
components/PinInput/index.js 46 B
components/PinInput/script.js 4.5 kB
components/PinInput/styles.css 1.2 kB
components/Popover/index.js 46 B
components/Popover/script.js 9.9 kB
components/Popover/styles.css 446 B
components/ProgressBar/index.js 46 B
components/ProgressBar/script.js 2.9 kB
components/ProgressBar/styles.css 1.1 kB
components/Radio/index.js 46 B
components/Radio/script.js 3.6 kB
components/Radio/styles.css 1.4 kB
components/SegmentedControl/index.js 46 B
components/SegmentedControl/script.js 3.1 kB
components/SegmentedControl/styles.css 870 B
components/Select/index.js 46 B
components/Select/script.js 5.0 kB
components/Select/styles.css 1.9 kB
components/Skeleton/index.js 46 B
components/Skeleton/script.js 4.3 kB
components/Skeleton/styles.css 889 B
components/StarRating/index.js 46 B
components/StarRating/script.js 5.9 kB
components/StarRating/styles.css 322 B
components/Stepper/index.js 46 B
components/Stepper/script.js 4.2 kB
components/Stepper/styles.css 402 B
components/Text/index.js 46 B
components/Text/script.js 4.6 kB
components/Text/styles.css 4.7 kB
components/Textarea/index.js 46 B
components/Textarea/script.js 3.6 kB
components/Textarea/styles.css 1.4 kB
components/TextButton/index.js 46 B
components/TextButton/script.js 3.7 kB
components/TextButton/styles.css 1.4 kB
components/Theme/index.js 46 B
components/Theme/styles.css 136 B
components/Toggle/index.js 46 B
components/Toggle/script.js 3.7 kB
components/Toggle/styles.css 3.5 kB
components/TouchCapture/index.js 25 B
components/TouchCapture/script.js 3.5 kB
components/TransitionFadeIn/index.js 25 B
components/TransitionFadeIn/script.js 2.3 kB
components/TransitionResize/index.js 25 B
components/TransitionResize/script.js 3.6 kB
components/TransitionSpringLeft/index.js 25 B
components/TransitionSpringLeft/script.js 2.3 kB
components/TransitionSpringUp/index.js 25 B
components/TransitionSpringUp/script.js 2.3 kB
components/TransitionStaggered/index.js 25 B
components/TransitionStaggered/script.js 2.5 kB
LICENSE 552 B
package.json 5.1 kB
README.md 327 B
utils/assert.js 1.1 kB
utils/BlockFormControlLayout/index.js 46 B
utils/BlockFormControlLayout/script.js 1.8 kB
utils/BlockFormControlLayout/styles.css 234 B
utils/css-validator.js 933 B
utils/debug.js 1.0 kB
utils/get-contrast.js 1.1 kB
utils/InlineFormControlLayout/index.js 46 B
utils/InlineFormControlLayout/script.js 2.5 kB
utils/InlineFormControlLayout/styles.css 380 B
utils/Transition/index.js 25 B
utils/Transition/script.js 2.4 kB
utils/TransitionResponsive/index.js 25 B
utils/TransitionResponsive/script.js 2.2 kB
utils/transitions.js 4.2 kB
Hidden files
File Before After
components/ActionBar/script.js.map 55.4 kB 55.4 kB
components/ActionBar/styles.css.map 18.3 kB 18.3 kB
components/Blade/script.js.map 23.3 kB 23.3 kB
components/Blade/styles.css.map 3.9 kB 3.9 kB
components/Button/script.js.map 24.7 kB 2%↑25.1 kB
components/Button/styles.css.map 10.6 kB 3%↑10.9 kB
components/Calendar/script.js.map 29.5 kB 29.5 kB
components/Calendar/styles.css.map 10.3 kB 10.3 kB
components/Card/script.js.map 8.8 kB 8.8 kB
components/Card/styles.css.map 711 B 711 B
components/Checkbox/script.js.map 18.6 kB 18.6 kB
components/Checkbox/styles.css.map 3.6 kB 3.6 kB
components/Choice/script.js.map 19.7 kB 19.7 kB
components/Choice/styles.css.map 5.9 kB 5.9 kB
components/Container/script.js.map 18.1 kB 18.1 kB
components/Container/styles.css.map 4.9 kB 4.9 kB
components/Dialog/script.js.map 28.6 kB 28.6 kB
components/Dialog/styles.css.map 6.8 kB 6.8 kB
components/Divider/script.js.map 8.8 kB 8.8 kB
components/Divider/styles.css.map 723 B 723 B
components/Image/script.js.map 14.1 kB 14.1 kB
components/Image/styles.css.map 2.9 kB 2.9 kB
components/ImageUploader/script.js.map 45.9 kB 45.9 kB
components/ImageUploader/styles.css.map 20.2 kB 20.2 kB
components/Input/script.js.map 20.1 kB 20.1 kB
components/Input/styles.css.map 4.9 kB 4.9 kB
components/Loading/script.js.map 11.0 kB 11.0 kB
components/Loading/styles.css.map 2.3 kB 2.3 kB
components/Modal/script.js.map 34.9 kB 34.9 kB
components/Modal/styles.css.map 10.7 kB 10.7 kB
components/Notice/script.js.map 18.6 kB 18.6 kB
components/Notice/styles.css.map 4.2 kB 4.2 kB
components/PinInput/script.js.map 18.4 kB 18.4 kB
components/PinInput/styles.css.map 7.0 kB 7.0 kB
components/Popover/script.js.map 35.1 kB 35.1 kB
components/Popover/styles.css.map 5.7 kB 5.7 kB
components/ProgressBar/script.js.map 13.3 kB 13.3 kB
components/ProgressBar/styles.css.map 2.6 kB 2.6 kB
components/Radio/script.js.map 17.5 kB 17.5 kB
components/Radio/styles.css.map 3.5 kB 3.5 kB
components/SegmentedControl/script.js.map 14.1 kB 14.1 kB
components/SegmentedControl/styles.css.map 3.3 kB 3.3 kB
components/Select/script.js.map 23.0 kB 23.0 kB
components/Select/styles.css.map 5.7 kB 5.7 kB
components/Skeleton/script.js.map 17.7 kB 17.7 kB
components/Skeleton/styles.css.map 3.0 kB 3.0 kB
components/StarRating/script.js.map 22.3 kB 22.3 kB
components/StarRating/styles.css.map 6.3 kB 6.3 kB
components/Stepper/script.js.map 17.3 kB 17.3 kB
components/Stepper/styles.css.map 3.8 kB 3.8 kB
components/Text/script.js.map 22.3 kB 22.3 kB
components/Text/styles.css.map 11.5 kB 11.5 kB
components/Textarea/script.js.map 17.6 kB 17.6 kB
components/Textarea/styles.css.map 3.8 kB 3.8 kB
components/TextButton/script.js.map 16.8 kB 16.8 kB
components/TextButton/styles.css.map 4.2 kB 4.2 kB
components/Theme/script.js.map 26.1 kB 0.6%↑26.2 kB
components/Theme/styles.css.map 2.2 kB 2.2 kB
components/Toggle/script.js.map 19.6 kB 19.6 kB
components/Toggle/styles.css.map 5.4 kB 5.4 kB
components/TouchCapture/script.js.map 12.0 kB 12.0 kB
components/TransitionFadeIn/script.js.map 10.5 kB 10.5 kB
components/TransitionResize/script.js.map 14.4 kB 14.4 kB
components/TransitionSpringLeft/script.js.map 10.5 kB 10.5 kB
components/TransitionSpringUp/script.js.map 10.5 kB 10.5 kB
components/TransitionStaggered/script.js.map 11.1 kB 11.1 kB
utils/assert.js.map 4.2 kB 4.2 kB
utils/BlockFormControlLayout/script.js.map 8.4 kB 8.4 kB
utils/BlockFormControlLayout/styles.css.map 762 B 762 B
utils/css-validator.js.map 3.3 kB 3.3 kB
utils/debug.js.map 3.6 kB 3.6 kB
utils/get-contrast.js.map 4.9 kB 4.9 kB
utils/InlineFormControlLayout/script.js.map 12.8 kB 12.8 kB
utils/InlineFormControlLayout/styles.css.map 1.5 kB 1.5 kB
utils/Transition/script.js.map 10.7 kB 10.7 kB
utils/TransitionResponsive/script.js.map 10.3 kB 10.3 kB
utils/transitions.js.map 16.8 kB 16.8 kB

🤖 This report was automatically generated by pkg-size-action

Copy link
Collaborator

@laurenhu laurenhu left a comment

Choose a reason for hiding this comment

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

I really like the nomenclature of pattern to describe groups of props that are reused and how it separates those groupings from a component's variant since a pattern can encompass a variant as well.

@pretzelhammer pretzelhammer merged commit 7c23d7b into beta Apr 12, 2022
@pretzelhammer pretzelhammer deleted the patterns branch April 12, 2022 15:15
@github-actions
Copy link

🎉 This PR is included in version 10.0.0-beta.4 🎉

The release is available on:

Your semantic-release bot 📦🚀

pretzelhammer added a commit that referenced this pull request May 11, 2022
* feat!: user-defined theme variants for mtext & mbutton (#278)

* feat(text)!: theme variants

* refactor(heading)!: removes heading component after merging it into text component

* refactor!: changes mtext theme defaults & theme prop resolution algo

* docs(text): variant docs

* feat(button)!: user defined theme variants

* docs: fix headings in beta advanced lab demo (#284)

* fix!: typography defaults (#285)

* fix!: typography defaults

* docs: theme lab typo controls (#286)

* docs: adds basic typography controls to ThemeTest lab

* docs: adds typography variants controls to ThemeTest lab

* docs: moves typography controls to top of themetest lab

* fix(theme): 0 values now resolve correctly (#287)

* fix!: renames global 'variants' to 'patterns' to avoid name collision with local 'variant' props (#293)

* feat!: theme font family weight internally (#289)

* feat(input): theme input component text style

* feat(textarea): themes textarea text style

* feat(actionbarbutton): themes actionbarbutton's text style

* feat(button): themes button text style

* feat(calendar): themes calendar text styles

* feat(choice): themes Choice text style

* feat(container): themes container's label & content text styles

* docs: more spacing in ThemeTest lab

* feat(notice): themes notice's text content

* feat(pininput): themes pininput text content

* feat: themes SegmentedControl & Select text content

* feat(stepper): themes stepper text content

* feat(textbutton): themes textbutton's text content

* feat: themes labels & sublabels in inline form controls

* fix(container): fixes which global text styles are applied to container

* docs: adds title family & weight to ThemeTest lab

* feat: themes text content in Blades, Dialogs, Modals

* fix: headlines have same font family as titles

* fix: themed colors for Calendar, Container, & Inline Form components

* refactor!: renames heading & body colors to title & paragraph

* fix: title & paragraph color theming

* fix: label default theme

* feat: more typography css inheritance

* docs: updates ThemeTest docs & Text docs

* refactor: minimizes paragraph css in calendar

* refactor: minimizes css styles in container

* refactor: minimizes typo css in modal, dialog, blade

* refactor: minimizes typo css in input

* refactor: minimizes typo css in notice

* refactor: minimizes typo css in select

* refactor: minimizes typo css in inline form controls

* docs: updates variants to patterns

* refactor!: prefix public css vars (#305)

* refactor!: prefix public css vars

* docs: update themes lab to use public css var

* refactor!: removes unnecessary color prefix on vars (#307)

* refactor!: some font-related config renames (#311)

* refactor!: renames font-related color, family, & weight vars

* docs(theme): updates after font-related var renames

* docs(themetest): updates themetest lab after font-related var renames

* docs: adds table of reusable theme vars to theme docs

* refactor!: rename css vars again

* docs: update themes lab colors theme object

* docs: more Themes lab fixes

* docs: finally fixes Themes lab
pretzelhammer added a commit that referenced this pull request May 11, 2022
…vars (#320)

* feat!: user-defined theme variants for mtext & mbutton (#278)

* feat(text)!: theme variants

* refactor(heading)!: removes heading component after merging it into text component

* refactor!: changes mtext theme defaults & theme prop resolution algo

* docs(text): variant docs

* feat(button)!: user defined theme variants

* docs: fix headings in beta advanced lab demo (#284)

* fix!: typography defaults (#285)

* fix!: typography defaults

* docs: theme lab typo controls (#286)

* docs: adds basic typography controls to ThemeTest lab

* docs: adds typography variants controls to ThemeTest lab

* docs: moves typography controls to top of themetest lab

* fix(theme): 0 values now resolve correctly (#287)

* fix!: renames global 'variants' to 'patterns' to avoid name collision with local 'variant' props (#293)

* feat!: theme font family weight internally (#289)

* feat(input): theme input component text style

* feat(textarea): themes textarea text style

* feat(actionbarbutton): themes actionbarbutton's text style

* feat(button): themes button text style

* feat(calendar): themes calendar text styles

* feat(choice): themes Choice text style

* feat(container): themes container's label & content text styles

* docs: more spacing in ThemeTest lab

* feat(notice): themes notice's text content

* feat(pininput): themes pininput text content

* feat: themes SegmentedControl & Select text content

* feat(stepper): themes stepper text content

* feat(textbutton): themes textbutton's text content

* feat: themes labels & sublabels in inline form controls

* fix(container): fixes which global text styles are applied to container

* docs: adds title family & weight to ThemeTest lab

* feat: themes text content in Blades, Dialogs, Modals

* fix: headlines have same font family as titles

* fix: themed colors for Calendar, Container, & Inline Form components

* refactor!: renames heading & body colors to title & paragraph

* fix: title & paragraph color theming

* fix: label default theme

* feat: more typography css inheritance

* docs: updates ThemeTest docs & Text docs

* refactor: minimizes paragraph css in calendar

* refactor: minimizes css styles in container

* refactor: minimizes typo css in modal, dialog, blade

* refactor: minimizes typo css in input

* refactor: minimizes typo css in notice

* refactor: minimizes typo css in select

* refactor: minimizes typo css in inline form controls

* docs: updates variants to patterns

* refactor!: prefix public css vars (#305)

* refactor!: prefix public css vars

* docs: update themes lab to use public css var

* refactor!: removes unnecessary color prefix on vars (#307)

* refactor!: some font-related config renames (#311)

* refactor!: renames font-related color, family, & weight vars

* docs(theme): updates after font-related var renames

* docs(themetest): updates themetest lab after font-related var renames

* docs: adds table of reusable theme vars to theme docs

* refactor!: rename css vars again

* docs: update themes lab colors theme object

* docs: more Themes lab fixes

* docs: finally fixes Themes lab
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants