Skip to content

RFC: proposal for standard string union naming conventions#22596

Merged
spmonahan merged 2 commits into
microsoft:masterfrom
spmonahan:rfc/string-union-naming-convention
Apr 28, 2022
Merged

RFC: proposal for standard string union naming conventions#22596
spmonahan merged 2 commits into
microsoft:masterfrom
spmonahan:rfc/string-union-naming-convention

Conversation

@spmonahan

Copy link
Copy Markdown
Contributor

👀 PREVIEW 👀

@github-actions github-actions Bot added the Type: RFC Request for Feedback label Apr 21, 2022
@fabricteam

fabricteam commented Apr 21, 2022

Copy link
Copy Markdown
Collaborator

📊 Bundle size report

🤖 This report was generated against 4a2a7dd5dc733cd2db4c868ef5272818c0b735cd

@codesandbox-ci

codesandbox-ci Bot commented Apr 21, 2022

Copy link
Copy Markdown

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 6e3b679:

Sandbox Source
@fluentui/react 8 starter Configuration
@fluentui/react-components 9 starter Configuration

@size-auditor

size-auditor Bot commented Apr 21, 2022

Copy link
Copy Markdown

Asset size changes

Size Auditor did not detect a change in bundle size for any component!

Baseline commit: 4a2a7dd5dc733cd2db4c868ef5272818c0b735cd (build)

@spmonahan spmonahan requested review from a team April 25, 2022 18:06
@tudorpopams tudorpopams requested a review from theerebuss April 26, 2022 12:17

@theerebuss theerebuss left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I agree with this proposal for the mentioned consistency and readability benefits. However, this will imply API changes to possible stable components, so we should also mention that as a con.

@spmonahan

Copy link
Copy Markdown
Contributor Author

I agree with this proposal for the mentioned consistency and readability benefits. However, this will imply API changes to possible stable components, so we should also mention that as a con.

Good call! Added the con along with a link to this issue where I'm collecting all proposed breaking changes: #22130

A mitigation for this breaking change is to continue to support camelCase in stable components while deprecating them in favor of spinal-case.

@miroslavstastny miroslavstastny requested a review from a team April 27, 2022 12:53
@spmonahan spmonahan merged commit c050e54 into microsoft:master Apr 28, 2022
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 13, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 13, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 13, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 13, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 13, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 13, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 13, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 13, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 13, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 16, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 16, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 16, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 16, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 16, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 17, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 17, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 17, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 17, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 17, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 17, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 17, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 17, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 17, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 18, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 18, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 18, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 18, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 18, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 18, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 18, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 18, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit to spmonahan/fluentui that referenced this pull request May 18, 2022
BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case
spmonahan added a commit that referenced this pull request May 19, 2022
* react-avatar: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-input: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-radio: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-select: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-spinbutton: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-tabster: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-textarea: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-badge: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-combobox: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* add change files for spinal-case update

* react-card: update tabster tab behaviors

Updates the `useCard()` implementation after the `react-tabster`
spinal-case breaking change.

* vr-tests: update types for v9 tests

* react-avatar: update badge types in stories

Avatar stories were using the old, camelCase PresenceBadge types.

* react-badge: fix style that broke with spinal-case change

One of the "doNotDisturb" cases was missed due to the non-typesafe way
we tested the PresenceBadge status in styles.

This test has been changed to a typesafe function call instead.

* react-combobox: update props in appearance story

Change filledDarker and filledLighter to filled-darker and filled-lighter
respectively.

* react-badge: update camelCase to spinal-case for strings
spmonahan added a commit that referenced this pull request May 20, 2022
* react-avatar: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-input: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-radio: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-select: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-spinbutton: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-tabster: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-textarea: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-badge: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-combobox: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* add change files for spinal-case update

* react-card: update tabster tab behaviors

Updates the `useCard()` implementation after the `react-tabster`
spinal-case breaking change.

* vr-tests: update types for v9 tests

* react-avatar: update badge types in stories

Avatar stories were using the old, camelCase PresenceBadge types.

* react-badge: fix style that broke with spinal-case change

One of the "doNotDisturb" cases was missed due to the non-typesafe way
we tested the PresenceBadge status in styles.

This test has been changed to a typesafe function call instead.

* react-combobox: update props in appearance story

Change filledDarker and filledLighter to filled-darker and filled-lighter
respectively.

* react-badge: update camelCase to spinal-case for strings
spmonahan added a commit that referenced this pull request May 20, 2022
* react-avatar: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-input: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-radio: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-select: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-spinbutton: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-tabster: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-textarea: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-badge: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-combobox: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* add change files for spinal-case update

* react-card: update tabster tab behaviors

Updates the `useCard()` implementation after the `react-tabster`
spinal-case breaking change.

* vr-tests: update types for v9 tests

* react-avatar: update badge types in stories

Avatar stories were using the old, camelCase PresenceBadge types.

* react-badge: fix style that broke with spinal-case change

One of the "doNotDisturb" cases was missed due to the non-typesafe way
we tested the PresenceBadge status in styles.

This test has been changed to a typesafe function call instead.

* react-combobox: update props in appearance story

Change filledDarker and filledLighter to filled-darker and filled-lighter
respectively.

* react-badge: update camelCase to spinal-case for strings
spmonahan added a commit that referenced this pull request May 21, 2022
* react-avatar: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-input: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-radio: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-select: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-spinbutton: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-tabster: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-textarea: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-badge: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-combobox: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* add change files for spinal-case update

* react-card: update tabster tab behaviors

Updates the `useCard()` implementation after the `react-tabster`
spinal-case breaking change.

* vr-tests: update types for v9 tests

* react-avatar: update badge types in stories

Avatar stories were using the old, camelCase PresenceBadge types.

* react-badge: fix style that broke with spinal-case change

One of the "doNotDisturb" cases was missed due to the non-typesafe way
we tested the PresenceBadge status in styles.

This test has been changed to a typesafe function call instead.

* react-combobox: update props in appearance story

Change filledDarker and filledLighter to filled-darker and filled-lighter
respectively.

* react-badge: update camelCase to spinal-case for strings
spmonahan added a commit that referenced this pull request May 23, 2022
* react-button: Removing deprecated block prop from all button components (#23071)

* react-button: Removing deprecated block prop from all button components.

* Removing block stories.

* Adding changefile.

* Removing block prop from migration guide and vr tests.

* fix(react-text): Update typography wrappers to latest naming (#22934)

* fix: change Headline to Subtitle1

* fix: change Subheadline to Subtitle2

* fix: change Body to Body1

* fix: change Caption to Caption1

* feat: add Caption2

* chore: use better vr story name

* chore: add change files

* chore: update api

* fix: rename components in missing story

* feat: removed unused `caption2ClassName`

* chore: disable classname conformance test

* chore: remove deprecated className

* chore: add conformance test exception

* BREAKING: Removing deprecated `<componentName>ClassName` exports from v9 packages (#23026)

* removing single static classnames

* api files

* change files

* disabling component-has-static-classname-exported test in react-image

* preparing to merge master

* disabling export tests

* removing change file for text

* change file

* disabling test in Dialog

* disabling more tests

* remove react-text class names

Co-authored-by: Sean Monahan <[email protected]>

* BREAKING: Update string unions to `spinal-case` (#23001)

* react-avatar: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-input: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-radio: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-select: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-spinbutton: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-tabster: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-textarea: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-badge: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* react-combobox: update unions to use spinal-case

BREAKING

Per #22596 all string
unions are being updated to use spinal-case

* add change files for spinal-case update

* react-card: update tabster tab behaviors

Updates the `useCard()` implementation after the `react-tabster`
spinal-case breaking change.

* vr-tests: update types for v9 tests

* react-avatar: update badge types in stories

Avatar stories were using the old, camelCase PresenceBadge types.

* react-badge: fix style that broke with spinal-case change

One of the "doNotDisturb" cases was missed due to the non-typesafe way
we tested the PresenceBadge status in styles.

This test has been changed to a typesafe function call instead.

* react-combobox: update props in appearance story

Change filledDarker and filledLighter to filled-darker and filled-lighter
respectively.

* react-badge: update camelCase to spinal-case for strings

* fix: missing inputClassName in merge conflict resolution

* react-select: update api snapshot

* react-alert: update conformance tests

* fix: update react-components api snapshot

* BREAKING CHANGE: Encapsulate Popper API (#22586)

* BREAKING CHANGE: Encapsulate Popper API

Updates `@fluentui/react-positioning` so that none of the popper API and
types leak anymore

* changefiles

* update test

* update stories

* positioned to positionedElement

* update api

* remove getBasePlacement

* add tests

* virtual element and boundary

* fix types

* PR fixes

* update md

* fix type

* changefile

* Update packages/react-components/react-combobox/src/components/Combobox/useCombobox.ts

Co-authored-by: Ben Howell <[email protected]>

* Update packages/react-components/react-tooltip/src/components/Tooltip/useTooltip.tsx

Co-authored-by: Ben Howell <[email protected]>

* rename popperOptions to positioningOptions

Co-authored-by: Ben Howell <[email protected]>

* BREAKING: Remove context exports from react-components (#23085)

* BREAKING: Remove context exports from react-components

In order to provider proper encapsulation and allow us to change
internals more easily, this PR removes exports of context objects from
react-components. In cases where contexts were removed, the export was
replaced with a specific provider component and hook to use the context
value.

Follows from #22300

* changefile

* stop exporting menu contexts

* changefile

* update md

Co-authored-by: Sean Monahan <[email protected]>

* react-popover: update api snapshot

* BREAKING(react-theme): remove webHighContrastTheme (#23083)

* fix(react-theme): Remove webHighContrast theme

Co-authored-by: Makoto Morimoto <[email protected]>
Co-authored-by: André Dias (he/him) <[email protected]>
Co-authored-by: Esteban Munoz Facusse <[email protected]>
Co-authored-by: ling1726 <[email protected]>
Co-authored-by: Ben Howell <[email protected]>
Co-authored-by: Miroslav Stastny <[email protected]>
marwan38 pushed a commit to marwan38/fluentui that referenced this pull request Jun 13, 2022
…#22596)

* rfcs: proposal for standard string union naming conventions

* add con about breaking change
marwan38 pushed a commit to marwan38/fluentui that referenced this pull request Jun 13, 2022
* react-button: Removing deprecated block prop from all button components (microsoft#23071)

* react-button: Removing deprecated block prop from all button components.

* Removing block stories.

* Adding changefile.

* Removing block prop from migration guide and vr tests.

* fix(react-text): Update typography wrappers to latest naming (microsoft#22934)

* fix: change Headline to Subtitle1

* fix: change Subheadline to Subtitle2

* fix: change Body to Body1

* fix: change Caption to Caption1

* feat: add Caption2

* chore: use better vr story name

* chore: add change files

* chore: update api

* fix: rename components in missing story

* feat: removed unused `caption2ClassName`

* chore: disable classname conformance test

* chore: remove deprecated className

* chore: add conformance test exception

* BREAKING: Removing deprecated `<componentName>ClassName` exports from v9 packages (microsoft#23026)

* removing single static classnames

* api files

* change files

* disabling component-has-static-classname-exported test in react-image

* preparing to merge master

* disabling export tests

* removing change file for text

* change file

* disabling test in Dialog

* disabling more tests

* remove react-text class names

Co-authored-by: Sean Monahan <[email protected]>

* BREAKING: Update string unions to `spinal-case` (microsoft#23001)

* react-avatar: update unions to use spinal-case

BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case

* react-input: update unions to use spinal-case

BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case

* react-radio: update unions to use spinal-case

BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case

* react-select: update unions to use spinal-case

BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case

* react-spinbutton: update unions to use spinal-case

BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case

* react-tabster: update unions to use spinal-case

BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case

* react-textarea: update unions to use spinal-case

BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case

* react-badge: update unions to use spinal-case

BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case

* react-combobox: update unions to use spinal-case

BREAKING

Per microsoft#22596 all string
unions are being updated to use spinal-case

* add change files for spinal-case update

* react-card: update tabster tab behaviors

Updates the `useCard()` implementation after the `react-tabster`
spinal-case breaking change.

* vr-tests: update types for v9 tests

* react-avatar: update badge types in stories

Avatar stories were using the old, camelCase PresenceBadge types.

* react-badge: fix style that broke with spinal-case change

One of the "doNotDisturb" cases was missed due to the non-typesafe way
we tested the PresenceBadge status in styles.

This test has been changed to a typesafe function call instead.

* react-combobox: update props in appearance story

Change filledDarker and filledLighter to filled-darker and filled-lighter
respectively.

* react-badge: update camelCase to spinal-case for strings

* fix: missing inputClassName in merge conflict resolution

* react-select: update api snapshot

* react-alert: update conformance tests

* fix: update react-components api snapshot

* BREAKING CHANGE: Encapsulate Popper API (microsoft#22586)

* BREAKING CHANGE: Encapsulate Popper API

Updates `@fluentui/react-positioning` so that none of the popper API and
types leak anymore

* changefiles

* update test

* update stories

* positioned to positionedElement

* update api

* remove getBasePlacement

* add tests

* virtual element and boundary

* fix types

* PR fixes

* update md

* fix type

* changefile

* Update packages/react-components/react-combobox/src/components/Combobox/useCombobox.ts

Co-authored-by: Ben Howell <[email protected]>

* Update packages/react-components/react-tooltip/src/components/Tooltip/useTooltip.tsx

Co-authored-by: Ben Howell <[email protected]>

* rename popperOptions to positioningOptions

Co-authored-by: Ben Howell <[email protected]>

* BREAKING: Remove context exports from react-components (microsoft#23085)

* BREAKING: Remove context exports from react-components

In order to provider proper encapsulation and allow us to change
internals more easily, this PR removes exports of context objects from
react-components. In cases where contexts were removed, the export was
replaced with a specific provider component and hook to use the context
value.

Follows from microsoft#22300

* changefile

* stop exporting menu contexts

* changefile

* update md

Co-authored-by: Sean Monahan <[email protected]>

* react-popover: update api snapshot

* BREAKING(react-theme): remove webHighContrastTheme (microsoft#23083)

* fix(react-theme): Remove webHighContrast theme

Co-authored-by: Makoto Morimoto <[email protected]>
Co-authored-by: André Dias (he/him) <[email protected]>
Co-authored-by: Esteban Munoz Facusse <[email protected]>
Co-authored-by: ling1726 <[email protected]>
Co-authored-by: Ben Howell <[email protected]>
Co-authored-by: Miroslav Stastny <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Type: RFC Request for Feedback

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants