Skip to content

Latest commit

 

History

History
91 lines (70 loc) · 4.88 KB

File metadata and controls

91 lines (70 loc) · 4.88 KB

Changelog

v10.1.8 (2026-05-03)

  • Fix multiselect checkbox on narrow screens.

v10.1.7 (2026-05-01)

  • Fix skeleton shimmer animation.
  • Fix safari checkbox mark alignment.
  • Fix combobox highlighting.

v10.1.6 (2026-04-28)

  • Rebuild before npm publish.

v10.1.5 (2026-04-21)

  • New: skeleton loader components.
  • New: icon photo.

v10.1.4 (2026-04-19)

  • Grid column cell renderer now accepts svelte snippets.

v10.1.3, v10.1.2 (2026-04-18)

  • Grid no longer tries to guess the columns' types to auto-set column widths and alignment. There are now new properties for the Column: width and align for that purpose.
  • fix grid row derived double subscription which caused a svelte warning in the console.
  • fix dev source maps
  • fix tooltip edge case, where tooltip would not hide if the tag was removed from the DOM while the tooltip was visible.
  • fix input error padding.

v10.0.0 (2025-08-01)

Thousand thanks to the Svelte's team, for the long months of hard work, that we wasted on rewriting this library, to make it compatible with Svelte v5. Hopefully this is the last time they decided to innovate 😉.

Notable improvements

  • This is the first version of the library that is compatible with Svelte v5.
  • All components have been rewritten to use the new Svelte v5 syntax and features.
  • All components now use TypeScript for better developer experience.
  • Setup, tests & build process have been updated to vite & vitest.
  • Event handling has been standardized across all components (more details in the Breaking Changes section below).
  • Added ThemeSwitcher component.

Breaking changes

  • All Svelte v4 events are now loosing the colon (e.g. on:change -> onchange).
  • All events have been refactored, and all listeners/handlers have the same signature: function(event: Event, data?: any), where the first argument is always event, and second argument (data) is specific to the event & component, e.g.
    • for Inputs onchange event, data argument will contain the new value ({ value: any })
  • Event listeners added to components' events will receive the relevant data as the second argument of the callback. There is no event.detail anymore.
  • Utils functions & constants have been updated to use a new reactive state object UI, which is now exported from src/utils:
    • $ANIMATION_SPEED -> UI.ANIMATION_SPEED - (number) reactive constant
    • $PREFERS_DARK -> UI.PREFERS_DARK - (boolean) reactive constant
    • isMobile() -> UI.isMobile - (boolean) constant
  • As per Svelte's best practices, attributes bound to variables will not use quotes anymore, so: value="{value}" -> value={value} or even better: {value}.
  • Attributes are typed now, and are a bit more restrictive, so e.g. a boolean or a number attribute will not accept a string value.
  • Like in HTML, boolean attributes default to false if not present, and true if passed without a value, so <Button disabled/> is enough to disable the button, and is the same as <Button disabled={true}/>.
  • Removed components:
    • InputTag - the UX is too complex, and unintuitive. Please use a Combobox with multiselect option or a 3rd party library like.
  • Utils functions removed (please use 3rd party libraries like es-toolkit or implement your own):
    • getValueAtPath()
    • setValueAtPath()
    • empty()
    • isset()
    • pluck()
    • roundAmount()
    • isInScrollable()
    • throttle()
    • debounce()
    • deepCopy()

Other changes

  • Removed the need for consumers to provide & load the zxcvbn library. The library will now be automatically loaded from the CDN when it's needed. If it was already loaded and is available (window.zxcvbn), the local instance will be used instead.
  • Added Shortcut component (which is used in Menu and Tooltip).
  • Added some gradients to the palette which are now used throughout the components to give more visual depth.
  • Added ArrowLeft and ArrowRight to Toggle component, to allow toggling the value with the keyboard.
  • Added ArrowUp and ArrowDown to InputNumber component, to allow incrementing/decrementing the value with the keyboard.
  • Fixed Tooltip: when mouse entered target from the top - tooltip would show up and hide instantly.
  • Handle ctrlKey for windows for shortcuts in event handlers
  • Panel - now uses better css-only animate to auto (#209)
  • Upgrade all class: attributes to use all the fanciness from Svelte's class directive
  • Fixed aria-invalid value: should be true/false and not a message.
  • Test coverage has been improved significantly, with all components now having >80% coverage.
  • Tests speed and performance has been improved significantly by eliminating the animations' delays, and by a better handling of the events in tests.