19.0.0 (2024-11-29)
- components: update
@scion/components
to Angular 19 (0918769)
- components/viewport: avoid change detection cycle when scrolling the viewport (402b408)
-
components: Updating
@scion/components
to Angular 19 introduced a breaking change.To migrate:
- Update your application to Angular 19; for detailed migration instructions, refer to https://v19.angular.dev/update-guide;
-
components/viewport: Changed viewport to emit scroll events outside the Angular zone.
To handle scroll events inside the Angular zone, e.g., if updating component bindings, manually synchronize with the Angular zone, as follows:
inject(NgZone).run(() => { ... });
- components:
SciDimensionModule
,SciViewportModule
,SciSashboxModule
,SciSplitterModule
andSciThrobberModule
have been deprecated. Import respective standalone components and directives instead. The modules will be removed in a future release.
18.1.1 (2024-10-28)
- components/dimension: avoid unnecessary change detection cycles (948061e)
- components: SCION Components requires
@scion/toolkit
version1.6.0
or later.
18.1.0 (2024-10-22)
- components/dimension: provide signal to observe the bounding box of an element (1d1d804)
- components/dimension: provide signal to observe the size of an element (b817e7b)
18.0.1 (2024-10-03)
- components/sashbox: ensure sash resizes to minimum size (e39a347)
- components/sashbox: prevent overflow when moving splitter (c8a0b57)
- components: SCION Components requires
@scion/toolkit
version1.5.0
or later.
18.0.0 (2024-05-31)
- components: update @scion/components to Angular 18 (dc202c4)
-
components: Updating
@scion/components
to Angular 18 introduced a breaking change.To migrate:
- Update your application to Angular 18; for detailed migration instructions, refer to https://v18.angular.dev/update-guide;
- Deprecations introduced in version 16.2.0 have been removed:
- SCION components now require the SCSS module
@scion/components
to be imported instyles.scss
. See SCION Design Tokens for more information. Note that this step is not required if using@scion/workbench
as imported by the SCION Workbench. - CSS variables of
sci-splitter
andsci-sashbox
components have been replaced as follows:--sci-splitter-bgcolor
➜--sci-splitter-background-color
--sci-splitter-bgcolor_hover
➜--sci-splitter-background-color-hover
--sci-splitter-size_hover
➜--sci-splitter-size-hover
--sci-splitter-opacity_active
➜--sci-splitter-opacity-active
--sci-splitter-opacity_hover
➜--sci-splitter-opacity-hover
--sci-sashbox-splitter-bgcolor
➜--sci-sashbox-splitter-background-color
--sci-sashbox-splitter-size_hover
➜--sci-sashbox-splitter-size-hover
--sci-sashbox-splitter-opacity_hover
➜--sci-sashbox-splitter-opacity-hover
--sci-sashbox-splitter-bgcolor_hover
➜--sci-sashbox-splitter-background-color-hover
--sci-sashbox-splitter-opacity_active
➜--sci-sashbox-splitter-opacity-active
- SCION components now require the SCSS module
17.0.0 (2023-11-15)
-
components: Updating
@scion/components
to Angular 17 introduced a breaking change.To migrate:
-
Update your application to Angular 17; for detailed migration instructions, refer to https://v17.angular.io/guide/update-to-latest-version;
-
Scrollbar-related mixins have been moved to the
@scion/components/scrollbar
SCSS module; migrate as follows:Before migration:
@use '@scion/components' as sci-components; @include sci-components.scrollbar-hide-when-inactive(); @include sci-components.scrollbar-position();
After migration:
@use '@scion/components/scrollbar' as sci-scrollbar; @include sci-scrollbar.scrollbar-hide-when-inactive(); @include sci-scrollbar.scrollbar-position();
-
16.2.0 (2023-10-09)
- components/viewport: calculate exact scrollbar size (7dd929a)
- components: enable theming of SCION components (e33a358)
-
components: Theming of SCION components has introduced deprecations that will break in the next major release.
To migrate:
-
Import the
@scion/components
SCSS module instyles.scss
. Optionally, pass a configuration to customize the default look of SCION components or to support multiple themes. See SCION Design Tokens for more information. Note that this step is not required if using@scion/workbench
as imported by the SCION Workbench. -
For consistency, following CSS variables for styling the
sci-splitter
andsci-sashbox
components have been renamed:--sci-splitter-bgcolor
➜--sci-splitter-background-color
--sci-splitter-bgcolor_hover
➜--sci-splitter-background-color-hover
--sci-splitter-size_hover
➜--sci-splitter-size-hover
--sci-splitter-opacity_active
➜--sci-splitter-opacity-active
--sci-splitter-opacity_hover
➜--sci-splitter-opacity-hover
--sci-sashbox-splitter-bgcolor
➜--sci-sashbox-splitter-background-color
--sci-sashbox-splitter-size_hover
➜--sci-sashbox-splitter-size-hover
--sci-sashbox-splitter-opacity_hover
➜--sci-sashbox-splitter-opacity-hover
--sci-sashbox-splitter-bgcolor_hover
➜--sci-sashbox-splitter-background-color-hover
--sci-sashbox-splitter-opacity_active
➜--sci-sashbox-splitter-opacity-active
-
Scrollbar-related mixins have been moved to the
@scion/components/scrollbar
SCSS module. Migrate as follows:Before:
@use '@scion/components' as sci-components; @include sci-components.scrollbar-hide-when-inactive() @include sci-components.scrollbar-position()
After:
@use '@scion/components/scrollbar' as sci-scrollbar; @include sci-scrollbar.scrollbar-hide-when-inactive() @include sci-scrollbar.scrollbar-position()
-
16.1.0 (2023-06-02)
- components: accept passing
undefined
in optional inputs (aacdda1) - components: mark required inputs as required (010008c)
- components: migrate to standalone components (78be807)
16.0.0 (2023-05-15)
-
components: Updating
@scion/components
to Angular 16 introduced a breaking change.To migrate:
-
Update your application to Angular 16; for detailed migration instructions, refer to https://v16.angular.io/guide/update-to-latest-version;
-
Deprecated API for customizing the layout of
sci-viewport
via CSS variables has been removed. Change the following CSS variables to styles of thesci-viewport::part(content)
pseudo element selector:--sci-viewport-content-grid-template-columns
->grid-template-columns
--sci-viewport-content-grid-template-rows
->grid-template-rows
--sci-viewport-content-grid-auto-columns
->grid-auto-columns
--sci-viewport-content-grid-auto-rows
->grid-auto-rows
--sci-viewport-content-grid-gap
->gap
Before
sci-viewport { --sci-viewport-content-grid-template-columns: 1fr 1fr; --sci-viewport-content-grid-gap: 1em; }
After
sci-viewport::part(content) { grid-template-columns: 1fr 1fr; gap: 1em; }
-
15.0.2 (2023-03-29)
- components/viewport: display scrollbar only when hovering the viewport (9f2c6f2)
15.0.1 (2023-03-28)
- components/viewport: consider elements as scrolled into view when there is no viewport overflow (22baab7)
- components/viewport: do not throw error when calling
computeOffset
for an element not contained in the viewport (7177bc7) - components/viewport: do not throw error when calling
isElementInView
for an element not contained in the viewport (7eeac19) - components/viewport: do not throw error when calling
scrollIntoView
for elements not contained in the viewport (f27a94f)
-
components/viewport: more tolerant handling of elements not contained in the viewport introduced a breaking change.
The following methods of
SciViewportComponent
are now more tolerant when invoked for elements that are not contained in the viewport or havedisplay
style set tonone
.SciViewportComponent#computeOffset
returnsnull
instead of throwing an error.SciViewportComponent#isElementInView
returnsfalse
instead of throwing an error.SciViewportComponent#scrollIntoView
does nothing instead of throwing an error.
15.0.0 (2022-12-07)
-
components: Updating
@scion/components
to Angular 15 introduced a breaking change.To migrate:
- update your application to Angular 15; for detailed migration instructions, refer to https://v15.angular.io/guide/update-to-latest-version;
14.0.2 (2022-09-09)
- components/viewport: fix offset computation of slotted content (8e287f0)
14.0.1 (2022-08-26)
- components/viewport: focus elements of slotted content via sequential keyboard navigation (5dd5a5d), closes #108
- components: fix resolution of SASS modules when linking the library via
tsconfig
path overrides (522eba3)
14.0.0 (2022-08-16)
- components/sashbox: allow to reset the size of the sash (ea2185e)
-
components: Updating
@scion/components
to Angular 14 introduced a breaking change.To migrate:
- update your application to Angular 14; for detailed migration instructions, refer to https://v14.angular.io/guide/update-to-latest-version;
- update @scion/components to version 14; for detailed migration instructions, refer to https://github.com/SchweizerischeBundesbahnen/scion-toolkit/blob/master/CHANGELOG_COMPONENTS.md;
-
components/viewport: The flexible definition of the layout of the viewport's slotted content introduced a deprecation.
The layout of slotted content can now be configured using the
::part(content)
pseudo-element selector instead of custom CSS variables. We have deprecated related CSS variables and will discontinue support in version 15.To migrate, change the following custom CSS variables to styles of the
sci-viewport::part(content)
pseudo element selector:--sci-viewport-content-grid-template-columns
➜grid-template-columns
--sci-viewport-content-grid-template-rows
➜grid-template-rows
--sci-viewport-content-grid-auto-columns
➜grid-auto-columns
--sci-viewport-content-grid-auto-rows
➜grid-auto-rows
--sci-viewport-content-grid-gap
➜gap
Before migration:
sci-viewport { --sci-viewport-content-grid-template-columns: 1fr 1fr; --sci-viewport-content-grid-gap: 1em; }
After migration:
sci-viewport::part(content) { grid-template-columns: 1fr 1fr; gap: 1em; }
13.0.0 (2022-05-17)
-
toolkit: Separating the toolkit into
@scion/toolkit
and@scion/components
introduced a breaking change.Below is the list of framework-agnostic tools:
@scion/toolkit/bean-manager
@scion/toolkit/observable
@scion/toolkit/operators
@scion/toolkit/storage
@scion/toolkit/util
@scion/toolkit/uuid
To migrate:
- Install the NPM module
@scion/toolkit
in version1.0.0
using the following command:npm install @scion/toolkit --save
. Note that the toolkit was previously released as pre-releases of version13.0.0
or older.
The following Angular-specific tools have been moved from
@scion/toolkit
to@scion/components
:@scion/toolkit/dimension
@scion/toolkit/sashbox
@scion/toolkit/splitter
@scion/toolkit/throbber
@scion/toolkit/viewport
To migrate:
- Install the NPM module
@scion/components
in version13.0.0
using the following command:npm install @scion/components @scion/toolkit @angular/cdk --save
- Search and replace the following imports:
@scion/toolkit/dimension
➜@scion/components/dimension
@scion/toolkit/sashbox
➜@scion/components/sashbox
@scion/toolkit/splitter
➜@scion/components/splitter
@scion/toolkit/throbber
➜@scion/components/throbber
@scion/toolkit/viewport
➜@scion/components/viewport
- If you use the viewport scrollbar in other viewport implementations, such as CDK's virtual scroll viewport, follow these steps:
- Load SASS mixins as SASS module via the
@use
rule instead of the@import
rule, as follows:@import '~@scion/toolkit/viewport/scrollbar';
➜@use '@scion/components' as sci-components;
- We have renamed the scrollbar style mixins. See viewport description for a full example. Migrate as follows:
@include hide-scrollbars-when-inactive();
➜@include sci-components.scrollbar-hide-when-inactive();
@include scrollbar();
➜@include sci-components.scrollbar-position();
- Load SASS mixins as SASS module via the
SEPARATION OF @SCION/TOOLKIT INTO @SCION/TOOLKIT@1.0.0 AND @SCION/COMPONENTS@13.0.0
Previously, framework-agnostic and Angular-specific tools were published as a single NPM package, which often led to confusion and prevented framework-agnostic tools from having a release cycle independent of the Angular project.
Therefore, we have moved Angular-specific components and directives to the NPM package @scion/components
. It will continue to be versioned according to the Angular major release train. On the other hand, framework-agnostic tools will continue to be released under @scion/toolkit
, but now starting with version 1.0.0
instead of pre-release versions.
The changelog before the separation into @scion/toolkit
and @scion/components
can be found here.