Commit graph

116 commits

Author SHA1 Message Date
Enrico Sacchetti
4dabb827ee feat!: initial pre-release - Carbon v11 styles (#1881)
**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 5833536199.

* 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>
2024-03-23 16:46:40 -07:00
Eric Liu
acd08cde5c docs(ui-shell): remove unused imports 2024-03-18 14:31:28 -07:00
spburtsev
d8bc65163e
feat(ui-shell): support button tooltip in HeaderGlobalAction (#1894)
Closes #1893
2024-03-07 20:37:58 -08:00
Eric Liu
ced9673681 docs(toast-notification): add "Autoclose" example 2024-02-25 13:38:46 -08:00
Eric Liu
c6af8bdafe docs(image-loader): add "Dynamic image source" example 2024-02-24 13:40:02 -08:00
Gregor Wassmann
3bd943d12c
chore: linting (#1885) 2024-01-11 06:55:39 -08:00
metonym
1600775968
style(docs): color-scheme reflects theme (#1874) 2023-12-30 10:35:44 -08:00
metonym
1ad4e3d385
feat(tree-view): add showNode accessor (#1844)
Closes #1377
2023-11-12 14:25:15 -08:00
metonym
6a55fef62e
feat(tree-view): make node slottable (#1843)
Closes #1660
2023-11-12 14:15:28 -08:00
Eric Liu
a828625c66
docs(button): add "Programmatic focus" example (#1834)
Related #1830
2023-10-23 09:55:00 -07:00
Eric Liu
836b360b9b
fix(tile-group): add name and required props (#1818) 2023-10-03 11:20:16 -07:00
Eric Liu
5ef4dc1a72
docs(radio-button): use name in examples (#1817) 2023-10-03 09:34:01 -04:00
Jonathan Quintin
7ddbf17cbb
feat(progress-bar): add status prop (#1560)
* ProgressBar status feature added

* ProgressBar: Removed the css variables and use carbon-css instead.
The way of assigning the ProgressBar value has change. It is now a style
variable and scale-x is calculated in the css. This way prevent the
override of carbon css.

* Removed an unessacery span.

* Removed an unnecessary span.

* Added the status for the ProgressBarUx

* Remove `style css` and update docs.

* - Fixed the `capped` variable for more readability
- Updated docs `label` and `helperText`
- Updated docs and css

* fix: finished/error states cannot be indeterminate

* Run "yarn build:css"

* Re-run "yarn build:docs"

* test(progress-bar): assert `status` prop

* chore: add aria-busy and set valuenow to 0 when not active

---------

Co-authored-by: Eric Liu <ericyl.us@gmail.com>
Co-authored-by: Enrico Sacchetti <enrico@theetrain.ca>
2023-02-19 12:34:41 -05:00
metonym
ec867c46ba
fix(tree-view)!: remove expanded property from TreeNode interface (#1631)
* fix(tree-view)!: remove `expanded` property from `TreeNode`

* fix(tree-view-node-list)!: remove unused `expanded` prop

* docs(tree-view): remove `expanded` as a property

#1630
2023-01-17 20:55:46 -05:00
Enrico Sacchetti
8d55752a18
fix(pagination-nav)!: use 1-indexing to be consistent with Pagination (#1518)
Fixes #1513
2022-12-13 10:23:04 -08:00
Eric Liu
a3204cc131 docs(popover): simplify external element example 2022-12-07 20:13:13 -08:00
Maxime Fafard
0f8a57b9d2
fix(popover): fire "click:outside" event when clicking sibling elements (#1570) 2022-12-07 20:10:45 -08:00
metonym
b5b392963e
docs(pagination-nav): add more examples (#1514)
Adds "Reactive example," "Total," "Shown," and "Custom button text."
2022-10-08 13:38:11 -07:00
metonym
6b515b7589 docs(ui-shell): make SideNav in rail example a sibling to Content
Related #1459
2022-08-23 07:59:15 -07:00
metonym
b6a62d2502
docs(data-table): extract "Sortable with pagination" example into iframe (#1456) 2022-08-18 07:08:35 -07:00
metonym
dbe33d5cbb
feat(toolbar-search): add filteredRowIds prop to support pagination (#1454)
Closes #1393

* feat(toolbar-search): add `filteredRowIds` prop

* Run "yarn build:docs"

* test(data-table): assert `filteredRowIds` prop

* docs(data-table): add pagination to default filterable examples
2022-08-18 06:59:14 -07:00
metonym
b42f9ba258
docs: add DataTable example "Batch selection with controlled toolbar" (#1447)
* docs(inline-notification): add `NotificationActionButton` to Component API

* docs(data-table): rename example "Selectable with batch actions"

* docs(data-table): add example "Batch selection with controlled toolbar"

* docs(notification): remove note on minimum Svelte version

This banner is redundant since the minimum Svelte version is displayed in the README and on the home page of the docs.
2022-08-15 06:29:58 -07:00
metonym
e3978e883b
docs: flatten side nav hierarchy, remove recipes (#1430)
* style(docs): remove bottom margin in index route

* docs: flatten side nav hierarchy

* docs(accordion): move expandable accordion recipe

* docs(breadcrumb): move breadcrumb trail recipe

* docs: remove recipes
2022-08-06 13:27:02 -07:00
Johannes
8bd615b250
fix(combobox): value should call itemToString with filtered item (#1411)
Fixes #1405

When using the `shouldFilterItem` prop, the `ComboBox` does not display the custom label set with `itemToString` in the input after a selection.
2022-07-23 06:15:11 -07:00
metonym
45627aad1f
docs: rename ComboBox example, do not open modal in DatePicker by default (#1374)
* docs(combo-box): "Selected id" -> " Initial selected id"

* docs(date-picker): do not open modal by default to prevent stealing focusing
2022-06-26 16:43:34 -07:00
metonym
6a3614bf55
fix(password-input): support invalid state when used in a FluidForm (#1371)
* fix(password-input): support invalid state when used in a `FluidForm`

* docs(fluid-form): add example "Invalid state"
2022-06-25 08:17:19 -07:00
metonym
72c24b83b2
feat(data-table): support programmatic sorting (#1337)
* refactor(data-table): pass down sortable props instead of using context

* feat(data-table): support programmatic sorting

* test(data-table): assert new props

* docs(data-table): add "Programmatic sorting" example

* refactor(data-table): remove unused tableSortable store

* refactor(data-table): remove unused indices
2022-06-05 13:37:50 -07:00
metonym
1a904dda36
docs(modal): add "Has scrolling content," "Custom focus" examples (#1334)
* docs(modal): add example "Has scrolling content"

* docs(modal): add "Custom focus" example

* docs: do not open modals initially
2022-06-02 19:26:26 -07:00
metonym
a958825d19
breaking(date-picker): default flatpickrProps.static to true (#1298)
Closes #985

* breaking(date-picker): default `flatpickrProps.static` to true

* docs(date-picker): update docs on `flatpickrProps.static`

* docs(date-picker): feature single/range examples first
2022-05-14 11:46:38 -07:00
metonym
c6f210899b
feat(data-table): allow custom column widths (#1265)
* feat(data-table): allow header column `width`, `minWidth` values

* Run "yarn build:docs"

* test(data-table): assert width, minWidth properties

* docs(data-table): add "Custom column widths" example
2022-05-14 09:24:24 -07:00
metonym
7c4842f506
docs(code-snippet): add "Reactive example" (#1296)
* docs(code-snippet): add description to "Hidden copy button"

* docs(code-snippet): add "Reactive example"
2022-05-13 19:18:14 -07:00
metonym
52eff3c5a8
docs(data-table): add "Expandable and selectable" example (#1277)
* docs(data-table): add "Expandable and selectable" example

* docs(data-table): add "Batch selection" example

* docs(data-table): rework "Batch selection with initial selected rows" example

* docs(data-table): rework selectable examples to include selectedRowIds

* docs: remove extra space from pre tags
2022-04-30 09:58:14 -07:00
Eric Liu
c2568ec5d4 docs(grid): fix typo in padded grid example [ci skip] 2022-04-17 13:04:27 -07:00
metonym
ba58ba8f00
refactor: use icons from carbon-icons-svelte@11 (#1227)
* chore: update ignore rules, remove unused files

* refactor(icons): use icons from carbon-icons-svelte@11

* docs(time-picker): fix default value

* chore: upgrade carbon-icons-svelte to v11

* docs: update examples to use icons from carbon-icons-svelte@11

* docs: update number of icons [ci skip]
2022-04-03 11:57:28 -07:00
metonym
d34f571150
docs: use all.css for prefixed styles (#1221)
* docs: remove .bx--content override

* docs(ui-shell): add note on UI Shell theming

* docs(grid): touch up grid examples

* docs(theme): wrap localStorage in try catch

So that the site still works in Safari with all cookies blocked.

* docs: use prefixed all.css

Without vendor prefixes, some styles are lost in Safari.

* docs: remove svelte-preprocess from svelte.config.js
2022-04-02 11:45:29 -07:00
metonym
5209f329bd
build(types): copy .d.ts files from src to types (#1218) 2022-03-27 13:26:13 -07:00
metonym
21714d0e3a
breaking: remove deprecated props and components (#1191) 2022-03-27 08:21:58 -07:00
metonym
53fdbdf991
fix(data-table): expandable rows should work with zebra styles (#1200)
Fixes #1199
2022-03-23 08:04:08 -07:00
metonym
2df7b92269
feat(toolbar-search): support auto-filterable rows (#1179)
Closes #591
2022-03-19 12:01:03 -07:00
metonym
1017e80198
feat(multi-select): make MultiSelect slottable (#1183) 2022-03-19 09:15:58 -07:00
metonym
f5594daba6
feat(dropdown): make Dropdown slottable (#1182) 2022-03-19 09:15:52 -07:00
metonym
2858776367
feat(combo-box): make ComboBox slottable (#1181)
Closes #1176
2022-03-19 09:15:41 -07:00
metonym
ceb7abf2e9
docs: fix formatting, broken link (#1177) 2022-03-16 07:33:59 -07:00
metonym
95a1dfa1af
feat(data-table): support non-selectable rows (#1166)
Closes #1148
2022-03-12 19:36:02 -08:00
metonym
cb014219fd
chore(deps-dev): upgrade svelte-check to v2.4.5 (#1159) 2022-03-12 13:50:47 -08:00
brunnerh
5de0d9a357
breaking(breakpoint): add breakpointObserver store (#1092)
* breaking: re-name event "on:match" to "on:change" in `Breakpoint.svelte`

* feat: add `breakpointObserver` read-only store

* refactor: export breakpoint constants from `breakpoints.js`
2022-03-08 08:38:58 -08:00
metonym
44d848c60d
docs(file-uploader): improve FileUploader documentation (#1126)
- add `FileUploader` "Clear files" example
- document `validateFiles` prop for `FileUploaderDropContainer`
- add descriptions for `FileUploaderButton`, `FileUploader` examples
2022-02-21 14:26:02 -08:00
Gregor Wassmann
a8039a4d1e
feat(modal): support primaryButtonIcon prop (#1047) 2022-01-29 09:35:08 -08:00
metonym
4e3415a4e9
docs: Checkbox, Tabs, NumberInput (#1045)
* add `Checkbox` reactive example for `bind:checked` (#967)

* update `Checkbox` reactive example for `bind:group` to demo two-way binding

* simplify `Tabs` reactive example

* add `NumberInput` "No value" example
2022-01-27 07:27:10 -08:00
Koichi Kiyokawa
cde8a79fa8
feat(ComboBox): selectedIndex -> selectedId (#1016)
* feat(breaking): selectedIndex -> selectedId in ComboBox

* docs: update ComboBox
2022-01-18 06:37:55 -08:00