Skip to content

Latest commit

 

History

History
417 lines (246 loc) · 20.5 KB

CHANGELOG_COMPONENTS.md

File metadata and controls

417 lines (246 loc) · 20.5 KB

19.0.0 (2024-11-29)

Dependencies

  • components: update @scion/components to Angular 19 (0918769)

Performance Improvements

  • components/viewport: avoid change detection cycle when scrolling the viewport (402b408)

BREAKING CHANGES

  • components: Updating @scion/components to Angular 19 introduced a breaking change.

    To migrate:

  • 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(() => {
      ...
    });

Deprecations

  • components: SciDimensionModule, SciViewportModule, SciSashboxModule, SciSplitterModule and SciThrobberModule 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)

Performance Improvements

  • components/dimension: avoid unnecessary change detection cycles (948061e)

Dependencies

  • components: SCION Components requires @scion/toolkit version 1.6.0 or later.

18.1.0 (2024-10-22)

Features

  • 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)

Bug Fixes

  • components/sashbox: ensure sash resizes to minimum size (e39a347)
  • components/sashbox: prevent overflow when moving splitter (c8a0b57)

BREAKING CHANGES

  • components: SCION Components requires @scion/toolkit version 1.5.0 or later.

18.0.0 (2024-05-31)

Dependencies

  • components: update @scion/components to Angular 18 (dc202c4)

BREAKING CHANGES

  • 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 in styles.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 and sci-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

17.0.0 (2023-11-15)

Dependencies

  • components: update @scion/components to Angular 17 (ac7f284), closes #174

BREAKING CHANGES

  • 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)

Bug Fixes

  • components/viewport: calculate exact scrollbar size (7dd929a)

Features

  • components: enable theming of SCION components (e33a358)

DEPRECATIONS

  • components: Theming of SCION components has introduced deprecations that will break in the next major release.

    To migrate:

    • Import the @scion/components SCSS module in styles.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 and sci-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)

Features

  • 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)

Dependencies

  • components: update @scion/components to Angular 16 (f1813e6), closes #151 #100

BREAKING CHANGES

  • 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 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

      Migration example:

      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)

Bug Fixes

  • components/viewport: display scrollbar only when hovering the viewport (9f2c6f2)

15.0.1 (2023-03-28)

Bug Fixes

  • 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)

BREAKING CHANGES

  • 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 have display style set to none.

    • SciViewportComponent#computeOffset returns null instead of throwing an error.
    • SciViewportComponent#isElementInView returns false instead of throwing an error.
    • SciViewportComponent#scrollIntoView does nothing instead of throwing an error.

15.0.0 (2022-12-07)

Dependencies

  • components: update @scion/components to Angular 15 (2dd75b5), closes #112

BREAKING CHANGES

14.0.2 (2022-09-09)

Bug Fixes

  • components/viewport: fix offset computation of slotted content (8e287f0)

14.0.1 (2022-08-26)

Bug Fixes

  • 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)

Bug Fixes

  • components/sashbox: allow to reset the size of the sash (ea2185e)

Dependencies

  • components: update @scion/components to Angular 14 (1089d2a), closes #96

Features

  • components/viewport: allow full control over the layout of slotted content (2c1f714), closes #97

BREAKING CHANGES

DEPRECATIONS

  • 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-columnsgrid-template-columns
    • --sci-viewport-content-grid-template-rowsgrid-template-rows
    • --sci-viewport-content-grid-auto-columnsgrid-auto-columns
    • --sci-viewport-content-grid-auto-rowsgrid-auto-rows
    • --sci-viewport-content-grid-gapgap

    Migration Example:

    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)

Features

  • toolkit: separate toolkit into @scion/toolkit and @scion/components (b8845d1), closes #77

BREAKING CHANGES

  • toolkit: Separating the toolkit into @scion/toolkit and @scion/components introduced a breaking change.

    Migration of framework-agnostic tools

    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 version 1.0.0 using the following command: npm install @scion/toolkit --save. Note that the toolkit was previously released as pre-releases of version 13.0.0 or older.

    Migration of Angular-specific components and directives

    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 version 13.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();

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.