SCION Toolkit | Projects Overview | Changelog | Contributing | Sponsoring |
---|
Changelog > @scion/toolkit
1.6.0 (2024-10-28)
- toolkit/operators: provide replacement for
subscribeInside
andobserveInside
operators (4d45a8b)
- toolkit/observable: avoid unnecessary change detection cycles (5aea0f1)
1.5.1 (2024-10-22)
- toolkit/observable: position document root in CSS layer when using
fromBoundingClientRect$
(9af2f48)
1.5.0 (2024-10-03)
- toolkit/observable: optimize position detection in
fromBoundingClientRect$
(540b8bb)
- toolkit/operators: remove deprecated
pluckArray
operator (6c84329) - toolkit/testing: remove deprecated
ObserveCaptor#resetValues
method (10253e6)
- toolkit/testing:
ObserveCaptor#resetValues
was deprecated and has been removed; useObserveCaptor#reset
instead. - toolkit/operators: RxJS operator
pluckArray
was deprecated and has been removed; usemapArray
instead.
1.4.1 (2023-06-14)
1.4.0 (2023-04-19)
- toolkit/util: fix comparing unordered arrays (900fe45)
1.3.1 (2022-11-09)
- toolkit/bean-manager: construct eager bean of a multi-token when registered after started the bean manager (6c29afd)
1.3.0 (2022-11-02)
- toolkit/crypto: provide
digest
function to compute the hash of data (67eff30)
1.2.1 (2022-10-07)
- toolkit/bean-manager: do not destroy "value beans" (2698ec3)
1.2.0 (2022-09-26)
- toolkit/operators/filterArray: continue filtering if a predicate completes without first emission (b1435d6)
- toolkit/operators/filterArray: do not error if a predicate errors (84af2b0)
1.1.0 (2022-09-16)
1.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/[email protected] AND @SCION/[email protected]
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.
Below is the changelog of @scion/toolkit
before the separation.
13.0.0-beta.2 (2022-03-15)
- toolkit/bean-manager: construct eager bean when registering it after started the bean manager (3511b4b)
- toolkit/bean-manager: prevent registering a bean with
undefined
as value (8f68cdf) - toolkit/testing: time out
ObserveCaptor#waitUntilEmitCount
when not capturing expected emissions in time (ec8507c)
- toolkit/bean-manager: allow using an existing bean as initializer (efde8b1)
- toolkit/storage: allow synchronous retrieval of an item (eadd8fd)
13.0.0-beta.1 (2022-02-18)
- toolkit: update
@scion/toolkit
to Angular 13 and migrate to RxJS 7.5 (d9114e2)
- toolkit/observable: remove option for disabling native resize observer (af91803)
-
toolkit: Updating
@scion/toolkit
to Angular 13 and RxJS 7.5 introduced a breaking change.To migrate:
- update your application to Angular 13; for detailed migration instructions, refer to https://github.com/angular/angular/blob/master/CHANGELOG.md#1321-2022-02-02.
- migrate your application to RxJS 7.5; for detailed migration instructions, refer to https://rxjs.dev/6-to-7-change-summary.
-
toolkit/observable: Support for disabling the native
ResizeObserver
has been removed because this API is now supported by all major browsers.To migrate:
- remove the
options
parameter when callingfromDimension$
. - remove the global flag
FromDimension.defaults.useNativeResizeObserver
.
- remove the
12.0.0-beta.3 (2021-12-06)
- toolkit/viewport: remove DOM elements instantly after computing the native scrollbar track size (af28dee)
- toolkit/splitter: provide splitter Angular component to control the size of elements next to it (4cb5afe)
12.0.0-beta.2 (2021-08-31)
- toolkit/testing: fix check in
ObserveCaptor
to indicate whether the Observable has failed (606b47e)
- toolkit: provide a function to remove undefined entries from a dictionary (5350a1c)
12.0.0-beta.1 (2021-07-01)
11.0.0-beta.12 (2021-06-24)
- ɵtoolkit/accordion: stretch the accordion header horizontally to its full width (4f4e152)
- ɵtoolkit/filter-field: use unique id to identify the input element (736e32a)
- ɵtoolkit/tabbar: allow activating a tab programmatically (6c70831)
- toolkit/operators: add
bufferUntil
operator to buffer emissions (50e365e) - toolkit/operators: add
combineArray
operator to combine Observables contained in the source array (113a419) - toolkit/operators: add
distinctArray
operator to remove duplicates in the source array (5a61e1c)
11.0.0-beta.11 (2021-04-26)
11.0.0-beta.10 (2021-03-16)
- toolkit/testing: allow to reset the emit count of
ObserveCaptor
(b2427bf)
11.0.0-beta.9 (2021-03-09)
- toolkit/util: make the signature of
Arrays.intersect
compatible with strict type checking mode (21bde13), closes #48
11.0.0-beta.8 (2021-02-21)
- ɵtoolkit/accordion: trigger filled state update on initialization (7a5402f)
- ɵtoolkit/list: remove padding to prevent native scrollbars from showing (5fc6dc1)
11.0.0-beta.7 (2021-02-10)
- toolkit/util: support the coercion of Map's from other JavaScript realms (aea4aa8)
11.0.0-beta.6 (2021-01-15)
- ɵtoolkit/accordion: remove viewport from accordion (ff0aac3)
- toolkit/viewport: render the actual scroll position when an animation completes (8033a79)
11.0.0-beta.5 (2021-01-11)
- ɵtoolkit/accordion: allow displaying accordion items in solid instead of speech bubble style (7d211d3)
- ɵtoolkit/accordion: provide page object to be used in e2e protractor tests (c94c14e)
- ɵtoolkit/filter-field: allow the user to reset filter text (29e3fec)
- ɵtoolkit/filter-field: enable the filter field for use with the Angular Forms API (079b00c)
- ɵtoolkit/theme: remove the focus glow from disabled input fields (be9944c)
- toolkit/observable: allow observing an element's position on the screen (7cbffa1)
- toolkit/viewport: allow a viewport to grow with its content (b7f9e0d)
- toolkit/viewport: Changed the
sci-viewport
element to grow with its content. The viewport no longer positions its content absolutely, but in the document element flow instead, allowing the viewport to adapt its size to its content's width and height. This change may be breaking. Please refer to our documentation on how to layout a viewport: https://github.com/SchweizerischeBundesbahnen/scion-toolkit/blob/master/docs/site/tools/viewport.md.
As part of this change, we also had to change the sci-scrollable
directive's behavior. It no longer positions its host absolutely, but in document element flow instead. You may use this directive for adding the SCION scrollbar to other viewport implementations, such as the <cdk-virtual-scroll-viewport>
component of Angular CDK. To migrate, add the host to a CSS grid container to fill the remaining space vertically and horizontally.
11.0.0-beta.4 (2020-12-17)
- toolkit/sashbox: do not form a stacking context barrier on sash content (ff624fd)
- ɵtoolkit/checkbox: allow to query the checked state via page object (1b0a767)
- ɵtoolkit/property: throw an error if the page object is given an invalid element finder (ca0cb90)
- ɵtoolkit/tabbar: provide page object to select a tab in e2e tests (9538a02)
11.0.0-beta.3 (2020-12-09)
- ɵtoolkit/filter-field: allow setting a placeholder text if empty (0e4d4cf)
- toolkit/sashbox: prevent the splitter from overlapping overlays (6903256)
- toolkit/throbber: provide a throbber to indicate execution of an action (eca1da9)
- toolkit/viewport: allow styling scrollbar and prefix CSS variable names to lay out viewport content (f91dc1f)
-
toolkit/viewport: Renamed CSS variables to lay out viewport content.
To migrate: If customizing the default layout of viewport content, replace the following CSS variables:
--grid-template-columns
->--sci-viewport-content-grid-template-columns
--grid-template-rows
->--sci-viewport-content-grid-template-rows
--grid-auto-columns
->--sci-viewport-content-grid-auto-columns
--grid-auto-rows
->--sci-viewport-content-grid-auto-rows
--gap
->--sci-viewport-content-grid-gap
11.0.0-beta.2 (2020-11-17)
- toolkit: restrict the toolkit to be compatible with Angular version 11 (2e603df)
11.0.0-beta.1 (2020-11-17)
-
toolkit: Added support for Angular 11.
To migrate: If using Angular-specific tools, migrate your app to Angular 11 as following:
- Run
ng update @angular/cli @angular/core @angular/cdk
. - Refer to the Angular Update Guide for detailed instructions on how to update Angular: https://update.angular.io
- Run
10.0.0-beta.4 (2020-11-11)
- toolkit/testing: capture error in
ObserveCaptor
(31d3efe)
10.0.0-beta.3 (2020-11-05)
- toolkit/sashbox: accept numeric values for sash proportions (94100ba)
- toolkit/sashbox: emit sash sizes when resetting the sash layout (6063078)
- toolkit/sashbox: remove dimension module from imported modules as not used (76bb850)
- toolkit/viewport: remove dimension module from imported modules as not used (eef3cf8)
- toolkit/util: add method to arrays util to get the last element in an array matching a predicate (2346dc1)
- toolkit/operators: allow running downstream and upstream operators inside a context (5074075)
- toolkit/operators: deprecate
pluckArray
RxJS operator in favor of themapArray
operator (5c72584) - toolkit/sashbox: emit sash sizes when finished sashing (0d28543)
- toolkit/util: make options object optional in
Arrays.remove
utility (c87f5fd) - toolkit/storage: observe changes to items in local and session storage using the WebStorage class (f435426)
- toolkit/bean-manager: provide bean manager to look up singleton objects (bf76eca)
10.0.0-beta.2 (2020-08-07)
10.0.0-beta.1 (2020-07-17)
- ɵtoolkit: prefix the version in the URL of the testing application (885700b)
-
Added support for Angular 10.
To migrate:
- if using Angular-specific tools, migrate your app to Angular 10 by running
ng update @angular/cli @angular/core @angular/cdk
.
- if using Angular-specific tools, migrate your app to Angular 10 by running
9.0.0-beta.3 (2020-06-12)
- ɵtoolkit: allow placing form field labels above (6220121)
- ɵtoolkit: change colors in accent color palette to have a higher contrast (50d0a40)
- toolkit: make sashbox component work with Angular 9 (8fd97a8)
- toolkit: use dash-case for CSS variables of sci-sashbox component (0504476)
-
toolkit: Renamed CSS variables of sci-sashbox component as following:
--sci-sashbox-splitter_backgroundColor
to--sci-sashbox-splitter-bgcolor
--sci-sashbox-splitter_backgroundColorOnHover
to--sci-sashbox-splitter-bgcolor_hover
--sci-sashbox-splitter_size
to--sci-sashbox-splitter-size
--sci-sashbox-splitter_sizeOnHover
to--sci-sashbox-splitter-size_hover
--sci-sashbox-splitter_touchTargetSize
to--sci-sashbox-splitter-touch-target-size
--sci-sashbox-splitter_crossAxisSize
to--sci-sashbox-splitter-cross-axis-size
--sci-sashbox-splitter_borderRadius
to--sci-sashbox-splitter-border-radius
--sci-sashbox-splitter_opacityWhenActive
to `--sci-sashbox-splitter-opacity_active--sci-sashbox-splitter_opacityOnHover
to--sci-sashbox-splitter-opacity_hover
9.0.0-beta.2 (2020-06-01)
- publish internal toolkit under
@scion/toolkit.internal
instead of@scion/~toolkit
(78a31d7)
- create scion-toolkit repository with tools from scion-workbench repository (42571e1)