-
-
Notifications
You must be signed in to change notification settings - Fork 262
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
Initial pre-release - Carbon v11 styles #1881
Conversation
See [@carbon/layout](https://github.com/carbon-design-system/carbon/blob/main/docs/migration/v11.md#carbonlayout) migration guide: $layout-01 Removed, use $spacing-05 instead $layout-02 Removed, use $spacing-06 instead $layout-03 Removed, use $spacing-07 instead $layout-04 Removed, use $spacing-09 instead $layout-05 Removed, use $spacing-10 instead $layout-06 Removed, use $spacing-12 instead $layout-07 Removed, use $spacing-13 instead
Upgrading to css-grid should be separate.
In v11 [Tabs](https://carbondesignsystem.com/migrating/guide/design/#tabs-breaking) received some additional modifiers. In this commit we only want to make sure that the Svelte v10 tabs still work using v11 styles. This probably needs additional testing.
Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported.
For better compatibility with existing code bases size `xl` is still supported.
Note that further work is needed here in order to make theming work again. Also documentation needs updating.
For better compatibility with existing codebases size xl is still supported.
For better compatibility with existing codebases size xl is still supported.
Note that state labels `tileCollapsedLabel` and `tileExpandedLabel` are no longer supported.
For better compatibility with existing codebases sizes `field` and `small` are still supported. Note that flagship implementation does the same thing.
This removes legacy `ToggleSkeleton`.
Size `xl` changed to `lg`.
For better compatibility with existing codebases size `xl` is still supported.
Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported.
Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported.
Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported.
The `bx--aspect-ratio--object` class is gone and needs to be replaced manually.
`cols` no longer has a defaults to 50 but remains at 100% width by default.
Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported.
Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported.
Size `compact` changed to `xs`. For better compatibility with existing codebases size `compact` is still supported.
- Adapt documentation to new styles
- remove g80 theme option everywhere - utilize new `data-carbon-theme` attribute when applying theme - use cds instead of bx in places
See upgrade guide here: https://carbondesignsystem.com/migrating/guide/develop As proposed in carbon-design-system#1881 we can now start adopting v11 styles and merge incremental changes and fixes onto `next/v11-styles` branch. I would propose to merge small steps onto this new branch and discuss separte topics individually. This allows many contributors to propose small changes. The v11 style adoption should be held as minimal as possible since many components already have some notable changes in Carbon v11.
See upgrade guide here: https://carbondesignsystem.com/migrating/guide/develop As proposed in carbon-design-system#1881 we can now start adopting v11 styles and merge incremental changes and fixes onto `next/v11-styles` branch. I would propose to merge small steps onto this new branch and discuss separte topics individually. This allows many contributors to propose small changes. The v11 style adoption should be held as minimal as possible since many components already have some notable changes in Carbon v11.
@theetrain I’m glad to see activity towards a v11 styles adoption. What I observe is that this PR is already large and it’s growing. Decisions such as “switch to npm” should be discussed in entirely separate PRs and not mixed up with v11 styles. Also, I would abstain from switching all class prefixes from What’s the minimal change that we can merge onto |
Thanks for chiming in @gregorw; this week, I am working full-time on getting v11 styles in a prerelease and my goal is to get as much done before Friday so that contributors could have an easier time focusing on the components. You're right though, it's better to release early and often so I'll wrap this up today as best I can.
Absolutely, though in this case I had hit a wall when running the docs due to cryptic
I'll switch back to |
- Leaving out latest prettier for now - Ignoring Sveld warnings for now
Hi @metonym; please have a look at Gregor's comment above. In the PR body, have a read over the questions and 'after merging todos' to see if we can comfortably start a prerelease with these changes. I understand the PR is huge with 188 file changes. After merging, we and the community can review components in #1629 until full coverage is attained; and it should be straightforward to review one component at a time given the new theme files are made and the theme toggle is functioning. After your approval, and if you prefer, I can help merge and then rebase the |
Nice work @theetrain and @gregorw! It's shaping up very nicely.
I agree. If it's no longer supported in v1, doesn't make much to sense to support it here.
I think a prop like |
I did notice discrepancies in the docs site, and I see you've listed them as known issues. I assume these will be addressed before a pre-release? I would very much like to be able to compare |
Yeah the obvious issues are with the Search, Tile, and CodeSnippet components. Their v11 classes have been changed a bit. I believe once those components have each had a thorough look, then they will appear correctly on the docs. Another example is InlineNotification not respecting dark themes. Would you like to deploy a separate docs site for this branch? Up to you. I'll make the first pre-release tomorrow. |
@theetrain To clarify, do you mean to pre-release with the known bugs, and iterate on them in patches? |
@metonym yes, with the intent to follow up. I didn't yet go through testing every component, so it's more likely there are other issues - but that's ok. With the pre-releases, we can go through every component and make small PRs to fix what we see until eventually everything works with v11. At that point, we can merge |
**carbon-components-svelte has unstable styles and interactions during this pre-release phase. See #1872 for details.** Breaking changes - Overall, this is a major style change the will impact the appearance and features of many components. Use caution when upgrading and test your applications. Components - Button has new prop values for size and kind - Theme follows v11 conventions: g80 theme isn't supported, toggled themes adjust data-carbon-theme attribute in <html> tag (for now, tokens use bx prefix, but that may change) - Tabs has a contained prop instead of type, and a new mobile appearance (scrolling tabs) - ContentSwitcher size prop no longer supports size="xl"; md is the new default - MultiSelect no longer supports xl size - OverflowMenu no longer supports xl size - Search no longer supports xl size - TreeView no longer supports compact size - UIShell has a new light theme CSS - Several class names have been changed due to the v11 overhaul. If you're targeting or overriding component classes, be sure to test your code - Many tokens and CSS variables have been renamed. Details: https://carbondesignsystem.com/migrating/guide/develop - Themes are applied to the <html> element as data-carbon-theme="g10" instead of theme="g10" - The g80 theme no longer exists General - Codebase uses npm instead of yarn --- Commit notes * chore: depend on @carbon/styles instead of carbon-components See upgrade guide here: https://carbondesignsystem.com/migrating/guide/develop * chore: use v11 styles for docs * chore: stick to `bx` instead of `cds` class prefix * chore: migrate layout spacing to v11 See [@carbon/layout](https://github.com/carbon-design-system/carbon/blob/main/docs/migration/v11.md#carbonlayout) migration guide: $layout-01 Removed, use $spacing-05 instead $layout-02 Removed, use $spacing-06 instead $layout-03 Removed, use $spacing-07 instead $layout-04 Removed, use $spacing-09 instead $layout-05 Removed, use $spacing-10 instead $layout-06 Removed, use $spacing-12 instead $layout-07 Removed, use $spacing-13 instead * chore: migrate type tokens to v11 See https://github.com/carbon-design-system/carbon/blob/main/docs/migration/v11.md#type-tokens * chore: keep flex-grid instead of css grid for the moment Upgrading to css-grid should be separate. * chore: v11 Tabs In v11 [Tabs](https://carbondesignsystem.com/migrating/guide/design/#tabs-breaking) received some additional modifiers. In this commit we only want to make sure that the Svelte v10 tabs still work using v11 styles. This probably needs additional testing. * chore: use @ibm/plex fonts * chore: v11 Button * dependency: @carbon/styles update * chore: v11 ComboBox Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 ContentSwitcher For better compatibility with existing code bases size `xl` is still supported. * chore: remove legacy v10 css files Note that further work is needed here in order to make theming work again. Also documentation needs updating. * chore: v11 DatePicker For better compatibility with existing codebases size xl is still supported. * chore: v11 Dropdown For better compatibility with existing codebases size xl is still supported. * chore: v11 ExpandableTile Note that state labels `tileCollapsedLabel` and `tileExpandedLabel` are no longer supported. * chore: v11 FileUploader For better compatibility with existing codebases sizes `field` and `small` are still supported. Note that flagship implementation does the same thing. * chore: v11 Toggle This removes legacy `ToggleSkeleton`. * chore: v11 MultiSelect Size `xl` changed to `lg`. * chore: v11 NumberInput For better compatibility with existing codebases size `xl` is still supported. * chore: v11 OverflowMenu Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 PasswordInput Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 Search * chore: v11 Select Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 AspectRatio The `bx--aspect-ratio--object` class is gone and needs to be replaced manually. * chore: v11 TextArea `cols` no longer has a defaults to 50 but remains at 100% width by default. * chore: v11 TextInput Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 TimePicker Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 TreeView Size `compact` changed to `xs`. For better compatibility with existing codebases size `compact` is still supported. * chore: remove Truncate since it does not exist in Carbon v11 * chore: v11 UIShell * chore: v11 Accordion Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * tmp: v11 PopoverContent * Revert "chore: remove Truncate since it does not exist in Carbon v11" This reverts commit 5833536. * chore: use truncate mixins * docs: add truncate mixins * chore: use `cds` class prefix in v11 styles * build: switch to npm * chore: set up all component styles, fonts, and themes - Adapt documentation to new styles * chore: add individual theme css * feat: migrate Theme component to v11 - remove g80 theme option everywhere - utilize new `data-carbon-theme` attribute when applying theme - use cds instead of bx in places * chore: use bx css prefixes for now * chore: resolve peerDependencies - Leaving out latest prettier for now - Ignoring Sveld warnings for now * chore: fix type errors and tests --------- Co-authored-by: Gregor Wassmann <gregor.wassmann@gmail.com>
**carbon-components-svelte has unstable styles and interactions during this pre-release phase. See #1872 for details.** Breaking changes - Overall, this is a major style change the will impact the appearance and features of many components. Use caution when upgrading and test your applications. Components - Button has new prop values for size and kind - Theme follows v11 conventions: g80 theme isn't supported, toggled themes adjust data-carbon-theme attribute in <html> tag (for now, tokens use bx prefix, but that may change) - Tabs has a contained prop instead of type, and a new mobile appearance (scrolling tabs) - ContentSwitcher size prop no longer supports size="xl"; md is the new default - MultiSelect no longer supports xl size - OverflowMenu no longer supports xl size - Search no longer supports xl size - TreeView no longer supports compact size - UIShell has a new light theme CSS - Several class names have been changed due to the v11 overhaul. If you're targeting or overriding component classes, be sure to test your code - Many tokens and CSS variables have been renamed. Details: https://carbondesignsystem.com/migrating/guide/develop - Themes are applied to the <html> element as data-carbon-theme="g10" instead of theme="g10" - The g80 theme no longer exists General - Codebase uses npm instead of yarn --- Commit notes * chore: depend on @carbon/styles instead of carbon-components See upgrade guide here: https://carbondesignsystem.com/migrating/guide/develop * chore: use v11 styles for docs * chore: stick to `bx` instead of `cds` class prefix * chore: migrate layout spacing to v11 See [@carbon/layout](https://github.com/carbon-design-system/carbon/blob/main/docs/migration/v11.md#carbonlayout) migration guide: $layout-01 Removed, use $spacing-05 instead $layout-02 Removed, use $spacing-06 instead $layout-03 Removed, use $spacing-07 instead $layout-04 Removed, use $spacing-09 instead $layout-05 Removed, use $spacing-10 instead $layout-06 Removed, use $spacing-12 instead $layout-07 Removed, use $spacing-13 instead * chore: migrate type tokens to v11 See https://github.com/carbon-design-system/carbon/blob/main/docs/migration/v11.md#type-tokens * chore: keep flex-grid instead of css grid for the moment Upgrading to css-grid should be separate. * chore: v11 Tabs In v11 [Tabs](https://carbondesignsystem.com/migrating/guide/design/#tabs-breaking) received some additional modifiers. In this commit we only want to make sure that the Svelte v10 tabs still work using v11 styles. This probably needs additional testing. * chore: use @ibm/plex fonts * chore: v11 Button * dependency: @carbon/styles update * chore: v11 ComboBox Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 ContentSwitcher For better compatibility with existing code bases size `xl` is still supported. * chore: remove legacy v10 css files Note that further work is needed here in order to make theming work again. Also documentation needs updating. * chore: v11 DatePicker For better compatibility with existing codebases size xl is still supported. * chore: v11 Dropdown For better compatibility with existing codebases size xl is still supported. * chore: v11 ExpandableTile Note that state labels `tileCollapsedLabel` and `tileExpandedLabel` are no longer supported. * chore: v11 FileUploader For better compatibility with existing codebases sizes `field` and `small` are still supported. Note that flagship implementation does the same thing. * chore: v11 Toggle This removes legacy `ToggleSkeleton`. * chore: v11 MultiSelect Size `xl` changed to `lg`. * chore: v11 NumberInput For better compatibility with existing codebases size `xl` is still supported. * chore: v11 OverflowMenu Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 PasswordInput Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 Search * chore: v11 Select Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 AspectRatio The `bx--aspect-ratio--object` class is gone and needs to be replaced manually. * chore: v11 TextArea `cols` no longer has a defaults to 50 but remains at 100% width by default. * chore: v11 TextInput Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 TimePicker Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 TreeView Size `compact` changed to `xs`. For better compatibility with existing codebases size `compact` is still supported. * chore: remove Truncate since it does not exist in Carbon v11 * chore: v11 UIShell * chore: v11 Accordion Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * tmp: v11 PopoverContent * Revert "chore: remove Truncate since it does not exist in Carbon v11" This reverts commit 5833536. * chore: use truncate mixins * docs: add truncate mixins * chore: use `cds` class prefix in v11 styles * build: switch to npm * chore: set up all component styles, fonts, and themes - Adapt documentation to new styles * chore: add individual theme css * feat: migrate Theme component to v11 - remove g80 theme option everywhere - utilize new `data-carbon-theme` attribute when applying theme - use cds instead of bx in places * chore: use bx css prefixes for now * chore: resolve peerDependencies - Leaving out latest prettier for now - Ignoring Sveld warnings for now * chore: fix type errors and tests --------- Co-authored-by: Gregor Wassmann <gregor.wassmann@gmail.com>
First pre-release has been made: v1.0.0-next-0. See #1872 for more details. |
**carbon-components-svelte has unstable styles and interactions during this pre-release phase. See #1872 for details.** Breaking changes - Overall, this is a major style change the will impact the appearance and features of many components. Use caution when upgrading and test your applications. Components - Button has new prop values for size and kind - Theme follows v11 conventions: g80 theme isn't supported, toggled themes adjust data-carbon-theme attribute in <html> tag (for now, tokens use bx prefix, but that may change) - Tabs has a contained prop instead of type, and a new mobile appearance (scrolling tabs) - ContentSwitcher size prop no longer supports size="xl"; md is the new default - MultiSelect no longer supports xl size - OverflowMenu no longer supports xl size - Search no longer supports xl size - TreeView no longer supports compact size - UIShell has a new light theme CSS - Several class names have been changed due to the v11 overhaul. If you're targeting or overriding component classes, be sure to test your code - Many tokens and CSS variables have been renamed. Details: https://carbondesignsystem.com/migrating/guide/develop - Themes are applied to the <html> element as data-carbon-theme="g10" instead of theme="g10" - The g80 theme no longer exists General - Codebase uses npm instead of yarn --- Commit notes * chore: depend on @carbon/styles instead of carbon-components See upgrade guide here: https://carbondesignsystem.com/migrating/guide/develop * chore: use v11 styles for docs * chore: stick to `bx` instead of `cds` class prefix * chore: migrate layout spacing to v11 See [@carbon/layout](https://github.com/carbon-design-system/carbon/blob/main/docs/migration/v11.md#carbonlayout) migration guide: $layout-01 Removed, use $spacing-05 instead $layout-02 Removed, use $spacing-06 instead $layout-03 Removed, use $spacing-07 instead $layout-04 Removed, use $spacing-09 instead $layout-05 Removed, use $spacing-10 instead $layout-06 Removed, use $spacing-12 instead $layout-07 Removed, use $spacing-13 instead * chore: migrate type tokens to v11 See https://github.com/carbon-design-system/carbon/blob/main/docs/migration/v11.md#type-tokens * chore: keep flex-grid instead of css grid for the moment Upgrading to css-grid should be separate. * chore: v11 Tabs In v11 [Tabs](https://carbondesignsystem.com/migrating/guide/design/#tabs-breaking) received some additional modifiers. In this commit we only want to make sure that the Svelte v10 tabs still work using v11 styles. This probably needs additional testing. * chore: use @ibm/plex fonts * chore: v11 Button * dependency: @carbon/styles update * chore: v11 ComboBox Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 ContentSwitcher For better compatibility with existing code bases size `xl` is still supported. * chore: remove legacy v10 css files Note that further work is needed here in order to make theming work again. Also documentation needs updating. * chore: v11 DatePicker For better compatibility with existing codebases size xl is still supported. * chore: v11 Dropdown For better compatibility with existing codebases size xl is still supported. * chore: v11 ExpandableTile Note that state labels `tileCollapsedLabel` and `tileExpandedLabel` are no longer supported. * chore: v11 FileUploader For better compatibility with existing codebases sizes `field` and `small` are still supported. Note that flagship implementation does the same thing. * chore: v11 Toggle This removes legacy `ToggleSkeleton`. * chore: v11 MultiSelect Size `xl` changed to `lg`. * chore: v11 NumberInput For better compatibility with existing codebases size `xl` is still supported. * chore: v11 OverflowMenu Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 PasswordInput Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 Search * chore: v11 Select Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 AspectRatio The `bx--aspect-ratio--object` class is gone and needs to be replaced manually. * chore: v11 TextArea `cols` no longer has a defaults to 50 but remains at 100% width by default. * chore: v11 TextInput Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 TimePicker Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * chore: v11 TreeView Size `compact` changed to `xs`. For better compatibility with existing codebases size `compact` is still supported. * chore: remove Truncate since it does not exist in Carbon v11 * chore: v11 UIShell * chore: v11 Accordion Size `xl` changed to `lg`. For better compatibility with existing codebases size `xl` is still supported. * tmp: v11 PopoverContent * Revert "chore: remove Truncate since it does not exist in Carbon v11" This reverts commit 5833536. * chore: use truncate mixins * docs: add truncate mixins * chore: use `cds` class prefix in v11 styles * build: switch to npm * chore: set up all component styles, fonts, and themes - Adapt documentation to new styles * chore: add individual theme css * feat: migrate Theme component to v11 - remove g80 theme option everywhere - utilize new `data-carbon-theme` attribute when applying theme - use cds instead of bx in places * chore: use bx css prefixes for now * chore: resolve peerDependencies - Leaving out latest prettier for now - Ignoring Sveld warnings for now * chore: fix type errors and tests --------- Co-authored-by: Gregor Wassmann <gregor.wassmann@gmail.com>
Closes #1636, closes #1709, closes #1886
Relates to: #1872, #1629
This is the initial prerelease for carbon-components-svelte featuring:
@carbon/styles@1.46.0
)Questions
size="xl"
? I think we shouldn't.size="md"
instead of "size=undefined"? It may be better to use explicit values when writing a form generator, but they can always returnsize=null
I suppose.Search.svelte
supportssize="md"
; maybe this can be addressed as part of Standardize props, events, and slots #1621Before merging todos
@carbon/styles
to latestsize="xl"
option--cds
class prefix from flagship package instead of--bx
data-
attributesDeferred todos:
After merging todos
next/v11-styles
branch (and subsequent contributions); use 'breaking changes' message below in commit bodynext/carbon-v11
ontomaster
to get latest fixes and featuresnext/carbon-v11
checked out, deploy package as1.0.0-alpha.0
in package.json (v1.0.0-alpha.0
in git)next/carbon-v11
branch👀 The following can go into the squashed commit message:
Breaking changes
Overall, this is a major style change the will impact the appearance and features of many components. Use caution when upgrading and test your applications.
Components
size
andkind
g80
theme isn't supported, toggled themes adjustdata-carbon-theme
attribute in<html>
tag (for now, tokens usebx
prefix, but that may change)contained
prop instead oftype
size
prop no longer supportssize="xl"
;md
is the new defaultxl
sizexl
sizexl
sizecompact
sizeCSS
<html>
element asdata-carbon-theme="g10"
instead oftheme="g10"
General
npm
instead ofyarn