Skip to content

v2.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 11 Dec 11:06
3f15ba3

2.0.0 (2024-12-11)

⚠ BREAKING CHANGES

  • Previously the disabledInteractive property had to be used along with the disabled property. With this change, either disabled or disabledInteractive should be used. This affects all button components (primarily sbb-button) and we strongly recommend checking all current usages of disabledInteractive.
  • willOpen, didOpen, willClose, didClose, willStick, didStick, willUnstick and didUnstick events no longer bubble.
  • Remove deprecated didChange events from sbb-checkbox, sbb-checkbox-panel, sbb-toggle-check, sbb-select, sbb-toggle and sbb-datepicker. Use change event as alternative.
  • react is now a peer dependency of our react package.
  • sbb-image: Removed caption, copyright, copyrightHolder attributes; We removed the caption and the copyright from the component to improve the usage flexibility of the sbb-image. The consumer is now responsible for providing them (see the sbb-image readme to know more).
  • sbb-image: Removed borderRadius, aspectRatio attributes. Use the utility classes instead (see the sbb-image readme to know more). Removed the --sbb-image-border-radius CSS var from the sbb-image. Alternatively, use the border-radius CSS property.
  • sbb-teaser-hero: Removed image-src, image-alt attributes. Removed chip slot. Consumers can slot an sbb-image and add overlay elements on top of it (see the sbb-teaser-hero readme to know more).
  • sbb-alert: The link properties (linkContent, href, target, rel, accessibilityLabel) of the sbb-alert have been removed. Consumers have to slot a <sbb-link> into the unnamed content slot.
  • sbb-loading-indicator: The sbb-loading-indicator component no longer supports the circle variant, to achieve this look use sbb-loading-indicator-circle instead. For any other case where it is used in its window variant just remove the variant property as it is no longer needed.
  • sbb-tertiary-button: sbb-tertiary-button was renamed to sbb-accent-button
  • sbb-header: removed the logo slot and the default sbb-logo from the sbb-header. Alternatively, add the sbb-header-logo CSS class to the logo or to an <a>-element containing the logo and use the default slot. To align the logo to the right, use a spacer element with the sbb-header-spacer CSS class applied. For more information, see sbb-header docs.
  • sbb-mini-button: the SbbMiniButtonBaseElement is used only in the sbb-mini-button-component, so it can be safely removed to avoid redundant code.
  • sbb-datepicker: This refactoring introduces multiple breaking changes to the datepicker:
    • DateAdapter: return value for invalid dates changed from undefined to
      null
    • Datepicker: removed functions getAvailableDate() and
      isDateAvailable()
    • Datepicker: moved functions findPreviousAvailableDate() and
      findNextAvailableDate() into SbbDatepickerElement and removed all
      params but date
    • Datepicker: removed properties dateParser and format, as
      alternative use custom DateAdapter
    • Datepicker: now property newly accepts null instead of undefined
    • Datepicker: removed methods getValueAsDate() and setValueAsDate().
      Use getter/setter valueAsDate instead.
  • sbb-dialog, sbb-link: Removed the word-break: break-word; CSS rule from lyne components. They will follow the default break rules. Impacted components are: sbb-dialog-content, sbb-link, sbb-link-button, sbb-link-static, sbb-block-link, sbb-block-link-button and sbb-block-link-static.
  • sbb-file-selector: The sbb-file-selector has been split into two components based on the values of the variant property. The files property has now Readonly<File>[] type instead than File[] to not allow the direct modification of the inner File properties. Changes:
    • the variant property has been removed from the sbb-file-selector component;
    • the sbb-file-selector now corresponds to the old default variant;
    • a new component named sbb-file-selector-dropzone has been created; it corresponds to the old dropzone variant;
    • the 'titleContent' property has been removed from the sbb-file-selector (since it refers only to dropzone case);
    • the files property now returns a Readonly<File>[];
    • the deprecated getFiles() method has been removed.
  • sbb-time-input: getValueAsDate() and setValueAsDate() methods of the sbb-time-input have been replaced by getter/setter valueAsDate.
  • sbb-alert, sbb-alert-group: The deprecated dismissalRequested event and requestDismissal() method of sbb-alert have been removed. The sbb-alert handles its closing and DOM removal on his own. If the closing should be prevented, the willClose event can be canceled. The didDismissAlert of the sbb-alert-group has been removed. As alternative, consumers can listen to the didClose event of an sbb-alert.
  • sbb-form-field: The getInputElement() method of the sbb-form-field has been removed. Use inputElement property as alternative.
  • sbb-option,sbb-autocomplete-grid-option: active property from sbb-option and sbb-autocomplete-grid-option has been removed
  • sbb-train-formation: The hide-wagen-label property of the sbb-train-formation was removed. Now it automatically doesn't show the label if no label is set on all the wagons. The i18n i18nClosedCompartmentLabel() method doesn't take wagonNumber as an argument anymore but is a constant now. Additionally, there are some visual changes:
    • sbb-train-wagon: The ouccpancy property doesn't default to none
      anymore but to null. Please replace the currently undefined occupancy
      property with the value none.
    • sbb-train-wagon: Previously for the locomotive the label was not
      displayed, but now it would, as soon as there is one provided
    • sbb-train-formation: The inline padding (left / right) was removed
      but can be set by CSS variable. See documentation.
  • sbb-radio-button, sbb-radio-button-panel: Removed SbbRadioButtonGroupEventDetail from the change, input and didChange events of the sbb-radio-button-group. As an alternative to event.detail.value use radioButtonGroup.value
  • sbb-chip-label: sbb-chip has been renamed to sbb-chip-label.
  • sbb-teaser-hero, sbb-teaser-paid: sbb-teaser-paid was removed and integrated in sbb-teaser-hero. Replacing the component / selector should be enough, as the API remains the same. sbb-teaser-hero moved from @sbb-esta/experimental into @sbb-esta/elements package, therefore imports need to be adapted.
  • Several deprecated core functionalities have been removed.
    • dom.js getDocumentWritingMode() removed
    • dom.js getLocalName() removed
    • eventing.js formElementHandlerAspect() removed
    • eventing.js HandlerRepository, HandlerAspectParams and
      HandlerAspect removed
    • mixins.js SbbFocusableDisabledActionMixin removed
    • observers.js completely removed (containing
      NodeIntersectionObserver, AgnosticIntersectionObserver,
      NodeMutationObserver, AgnosticMutationObserver, NodeResizeObserver
      and AgnosticResizeObserver)
    • waitForEvent() method was removed in favor of using EventSpy class

Features

  • introduce button form support (#3170) (eeb7a0a)
  • provide lean context config (#3233) (0e2a847)
  • sbb-file-selector: split file-selector variants in separate components (#3198) (7527030)
  • sbb-image: support overlapping sbb-chip-label (#3200) (a59064e)
  • sbb-radio-button, sbb-radio-button-panel: implement native form support (#3160) (e113c6a)
  • sbb-sticky-bar: introduce controllable slide in and out animation (11884da), closes #3072
  • sbb-train-formation: introduce new types and refactoring (#3199) (8eb7ae6)

Bug Fixes

  • cleanup deprecated core functionality (#3219) (4b129c4)
  • improve handling of animation events for zero duration (#3284) (6da37fc)
  • opening and close events no longer bubble (#3278) (eabc4ca)
  • remove deprecated didChange events where possible (#3253) (da64d5d)
  • sbb-alert, sbb-alert-group: remove dismissal event and method (#3216) (4acede6)
  • sbb-datepicker: remove deprecated methods and properties (#3247) (ad6b19f)
  • sbb-form-field: remove deprecated getInputElement() method (#3221) (23d1fea)
  • sbb-mini-button: remove useless base class (#3257) (ce8c318)
  • sbb-option,sbb-autocomplete-grid-option: remove deprecated active property (#3220) (bb62e75)
  • sbb-popover: ensure correct trigger connection after hydration (#3016) (5e59b8f), closes #3012 #3014
  • sbb-time-input: create get/set for valueAsDate (#2244) (7d39928)

Documentation

  • fix SASS link in getting started docs (#3151) (692a72d)
  • sbb-autocomplete-grid: fix urls in readme.md (#2979) (7aa916f)
  • sbb-card: cleanup stories and visual tests (#3225) (dd8d644)
  • teaser-product: fixed broken link in documentation (#3029) (f7e9807)

Code Refactoring

  • add SbbMediaMatcherController (#3205) (39fa565)
  • change react to a peer dependency (1e806ed)
  • fix scss mixed declarations (#2947) (ca22eda)
  • remove async modifier from willUpdate (#3223) (30292e9)
  • remove dvh/dvw backwards compatibility (#3228) (ef10abb)
  • remove font-smoothing (#3052) (489ef28)
  • remove obsolete getLocalName() (#3110) (f349463)
  • remove obsolete index.ts files (#3147) (837106d)
  • replace [rtl] and [ltr] selectors with :dir (#3084) (164e3bc)
  • sbb-alert: remove sbb-link from shadow DOM (#3270) (8197bf1)
  • sbb-chip-label: rename chip to chip-label (#3188) (4b2123d)
  • sbb-header: removed 'logo' slot (#3230) (0f0066d)
  • sbb-image: add utility classes for border-radius and aspect-ratio (#3200) (a59064e)
  • sbb-image: extract caption and copyright from the component (#3200) (a59064e)
  • sbb-loading-indicator: split variants into two components and add missing sizes (#3211) (d450f49)
  • sbb-teaser-hero: adapt to the new sbb-image usage (#3200) (a59064e)
  • sbb-teaser, sbb-teaser-product, sbb-teaser-product-static: adapt to the new sbb-image usage (#3200) (a59064e)
  • sbb-tertiary-button: rename tertiary to accent button (#3260) (449b04d)
  • use --sbb-hover-image-brightness token for images (#3045) (75b44c2)
  • use inert attribute instead of property hack (#3099) (fdd2862)
  • use lit observers (#3074) (3e554eb)

Styles

  • sbb-dialog, sbb-link: removed break-word css rule (#3231) (edcdec1)

Tests