Skip to content

v5.0.0

Latest
Compare
Choose a tag to compare
@AlexVelezLl AlexVelezLl released this 05 Feb 13:50
· 49 commits to develop since this release

What's Changed

Environment 💻

  • 🚩BREAKING🚩 Upgrades Node.js to v18 and Vue to 2.7. By @bjester and @rtibbles in #645.
    • Guidance: Make sure your system supports Node.js v18 and Vue 2.7 before upgrading.
  • Integrates visual testing setup to KDS. By @KshitijThareja in #901.

New components

New composables

  • Accessibility icon useKLiveRegion: composable with public methods for updating the live regions with assertive and polite messages. By @MisRob in #687.
    • Guidance: Find all polite and live regions (or roles) in an application. Remove them and instead use useKLiveRegion.sendPoliteMessage and useKLiveRegion.sendAssertiveMessage to update the live regions that KDS inserted to document body during installation.
  • useKResponsiveElement: Provides the following reactive element's size information: elementHeight and elementWidth. By @AlexVelezLl in #783.

KImg

  • 🚩BREAKING🚩 Removes KImg props related to dimensions: height, width, maxHeight, minHeight, maxWidth, minWidth. By @MisRob in #615.
    • Guidance: Use native style, for example replace <KImg width="100%" maxWidth="500px" /> by <KImg :style="{ width: '100%', maxWidth: '500px' }" />.
  • Updates KImg's placeholder and letterbox area background color to a lighter shade of grey, v_50. By @MisRob in #666.

KTextTruncator

  • 🚩BREAKING🚩 Removes lineHeightIE prop and drops Internet Explorer 11 support. By @Nivas7 in #652.
    • Guidance: To be used in newer versions of products that don't need to support IE11.

KResponsiveWindow

  • 🚩BREAKING🚩 Removes KResponsiveWindowMixin. By @AlexVelezLl in #719.
    • Guidance: Replace any use of KResponsiveWindowMixin with the new composable useKResponsiveWindow.

KResponsiveElementMixin

  • 🚩BREAKING🚩 Removes KResponsiveElementMixin. By @AlexVelezLl in #783.
    • Guidance: Replace any use of KResponsiveElementMixin with the new composable useKResponsiveElement.

UiToolbar

  • 🚩BREAKING🚩 Removes /lib/keen/UiToolbar. By @rtibbles in #831.
    • Guidance: Use the new KToolbar component instead.

KModal

  • 🚩BREAKING🚩 Renames KModal's appendToRoot prop to appendToOverlay. By @MisRob in #722
    • Guidance: Rename KModal's appendToRoot prop to appendToOverlay
  • Accessibility icon Updates KModal to trap keyboard focus. By @lokesh-sagi125 in #799.
  • Fixes KModal content height calculation, and now it shrinks when the content has a smaller height. By @galovdev in #590.
    • Guidance: Double check that the height of the modals continues to work correctly.
  • Fixes infinite recursive error when KModal request the focus. By @AlexVelezLl in #903.

KDS General Styling

  • 🚩BREAKING🚩 Removes deprecated dropshadows. By @lokesh-sagi125 in #815.
    • Guidance: Update any %dropshadow-Xdp usage different than 1dp, 2dp and 6dp to the latest drop shadows guidelines.

KImg, KTabs, KTabsList

  • 🚩BREAKING🚩 Component error handling now use @error listener to avoid polluting test output, nor suppressing console.* in tests. By @bjester in #645.
    • Guidance: The KImg component may now emit an Error object in its @error listener when incorrectly configured, in addition to an UiEvent|Event when an image fails to load. Consumers should type check the value.

KSelect

  • Internal refactor of KSelect as part of moving away from Keen UI. By @Jaspreet-singh-1032 in #549.
    • Guidance: Thorough QA of places that use KSelect is recommended due to the large scope of refactor.
  • Adds new events: @dropdown-open, @dropdown-close, @query-change, @input, @touch, @focus. By @Jaspreet-singh-1032 in #549.
  • Adds new slots: #default, #display, #option, #no-results, #error, #help. By @Jaspreet-singh-1032 in #549.
  • Adds new public method reset to reset the state of the KSelect to default values. By @Jaspreet-singh-1032 in #549.
  • Fixes KSelect not being reactive to value prop changes. By @rtibbles in #843.
  • 🗒️ Improves KSelect documentation by documenting undocumented slots and props. By @yeshwanth235 in #821.
  • Teleport KSelect dropdown to the Overlay layer to fix positioning errors. By @AlexVelezLl in #877.

KIconButton

  • Adds tooltip prop as fallback when ariaLabel is missing in KIconButton. By @shivam-daksh in #798.

KDateRange

  • Changes KDateRange behavior when opening the calendar, it now shows the month of the lastAllowedDate prop instead of the current month. By @LianaHarris360 in #718.

KDropdownMenu

  • Accessibility icon Fixes keyboard navigation flow that prevented focusing the next option when a divider was present. By @Sahil-Sinha-11 in #818.
  • Accessibility icon Fixes an issue where focus is not correctly restored to the last focused element after the dropdown is closed. By @Sahil-Sinha-11 in #818.
  • Adds maxWidth prop to KDropdownMenu to override dropdown max width. By @lokesh-sagi125 in #870.

KSwitch

KTooltip

  • Adds new prop, appendToOverlay, to KTooltip. By @MisRob in #722
  • 🗒️ Adds documentation for KTooltip component. By @shruti862 in #859.

KIcon

  • Adds new icons: previewUnavailable, brokenImage, autoReplace, basicSkillsResource, circleCheckmark, optionsCircle, dailyLifeResource, forTeachersResource and schoolResource . By @MisRob, @rtibbles and @marcellamaki in #678, #391 and #919.
  • Adds brokenImage icon as fallback if the provided icon is invalid. By @rtibbles in #391.
  • Makes the sidebar icon flip in RTL languages. By @MisRob in #722

KRadioButton

  • Adds warning in KRadioButton if it is not nested inside a KradioButtonGroup. By @lokesh-sagi125 in #781.

KBreadcrumbs

  • Accessibility icon Adds the global title attribute to KBreadcrumbs so that the truncated text can be seen fully when a breadcrumb item is hovered. By @RONAK-AI647 in #872.

KThemePlugin

  • Adds $darken1, $darken2 and $darken3 global utility functions for darkening palette colors. By @shivam-daksh in #728.
  • Updates dropshadows to the latest design guidelines. By @lokesh-sagi125 in #762

KDS Instalation

  • Accessibility icon Adds logic that inserts ARIA live assertive and polite regions to an application's document body during KDS initialization. By @MisRob in #687.
  • Inserts the overlay container element #k-overlay to an application's document body during KDS initialization. By @MisRob in #722

User experience

  • Updates $core-time value from 0.25s to 0.15s to get faster transitions in KButton, KExternalLink, KRouterLink, KModal, KCard, KIcon, KTabsList, KTabs, and places in consumers that imports $core-time. By @MisRob in #723.

Docs 🗒️

  • Adds new Installation page to inform the KDS installation steps, and note the changes it makes to the DOM, and the properties, helpers and components it provided. By @MisRob in #687.
  • Updates drop shadows documentation to the latest guidance from the design team. By @MisRob in #723.
  • Updates KDS Docs favicon to the new branding. By @RONAK-AI647 in #809.
  • Improves visibility of focus-ring in Firefox. By @RONAK-AI647 in #827.
  • Reorganizes elevation diagram in styling docs to be under the z-index section for better clarity. By @RONAK-AI647 in #819.
  • Adds search text to route query for better browser history management. By @RONAK-AI647 in #847.
  • Improves docs mobile responsiveness by adding a menu hamburguer to open docs sidenav on mobile devices. By @FidalMathew in #862.
  • Adds toggle functionality for switching between an example and its code snippet in the docs. By @chetan21122004 in #873.

New Contributors

Full Changelog: v4.6.0...v5.0.0