Release Notes

This document provides information about changes, new features, and potential breaking changes between versions of the Lemonway Widget.

Version 1.0.1

New Features

  • onHeightChange Callback: New optional callback that provides the widget's computed height to integrators
    • Allows partners to dynamically adjust their container height to match the widget content
    • Prevents double scrollbars when integrators want to control container sizing
    • Returns the height in pixels (includes a 50px safety margin)
    • Works in both auto-resize and fixed-dimension modes

Changes

  • Simplified Scroll Management: Removed conditional scroll behavior system
    • Iframe now uses scrolling: 'auto' by default instead of conditional scrolling: 'no'/'auto' switching
    • Widget container behavior is now more predictable and easier to integrate
    • Integrators can choose to either let the widget auto-resize or use the onHeightChange callback to manage container height

Improvements

  • Demo Tool Enhancements:
    • Added export configuration feature to generate ready-to-use code snippets
    • Removed console logging system for cleaner demo experience
    • Added host container behavior toggle to demonstrate onHeightChange callback usage
    • Export now includes all available callbacks with example implementations

Usage Example

LemonwayWidget.init('YOUR_ONBOARDING_URL', 'container-id', {
  lang: 'en',
  onHeightChange: (height) => {
    const container = document.getElementById('container-id');
    if (container) {
      container.style.height = `${height}px`;
    }
  },
  onPageChange: () => {
    console.log('Page changed');
  },
  onMyAccount: () => {
    console.log('My Account clicked');
  },
  onFinish: () => {
    console.log('Onboarding finished');
  },
  onError: (error) => {
    console.error(error);
  }
});

Migration Notes

  • No breaking changes - all existing implementations continue to work
  • The onHeightChange callback is optional and only needed if you want to manually control container height
  • If you were relying on the previous scroll behavior, the widget now handles scrolling more automatically

Version 1.0.0

New Features

  • Theme Customization: Complete theming system allowing partners to customize the widget appearance

    • Typography: Custom fonts and font sizes for headings (H1, H2, H3) and body text
    • Colors: Primary and secondary color customization with automatic HSL conversion
    • Buttons: Full button styling including background, text, border, and hover states
    • Forms: Comprehensive form component theming (inputs, labels, borders, focus states)
    • Cards: Information block styling with active/inactive states
    • Navigation: Carousel and stepper dot color customization

Breaking Changes

  • None - All new features are opt-in and backward compatible

Usage Example

LemonwayWidget.init('YOUR_ONBOARDING_URL', 'container-id', {
  lang: 'en',
  theme: {
    typography: {
      h1Font: 'Playfair Display, serif',
      bodyFont: 'Lato, sans-serif',
      bodyFontSize: '1rem'
    },
    colors: {
      primary: '#3643BA',
      secondary: '#54CFA1'
    },
    buttons: {
      primaryBackground: '#3643BA',
      primaryText: '#ffffff',
      radius: '0.5rem'
    },
    forms: {
      radius: '0.5rem',
      borderColor: '#e2e8f0',
      borderColorFocus: '#3643BA'
    }
  }
});

Version 0.2.6

Bug Fixes

  • Fixed multiple height handling issues causing unexpected scrollbars or cut content in embedded contexts
  • Improved auto-resize logic in responsive mode to better fit container dimensions
  • Ensured fixed-dimension mode consistently respects provided width/height with stable internal scrolling
  • Reduced layout jumps on initialization and page changes

Version 0.2.5

New Features

  • sidebarBreakpoint: New configuration option to control the responsive breakpoint for sidebar visibility
    • Allows partners to customize when the sidebar menu appears based on screen width
    • Supports multiple CSS units: px, rem, em, vh, vw, %
    • Examples: '900px', '64rem', '4em', '80vh', '50vw', '75%'
    • Default value: '1200px' (maintains previous default)
    • Works in conjunction with isSidebarMenuEnabled=true

Bug Fixes

  • Fixed issue where sidebar menu would not appear in widget mode even with isSidebarMenuEnabled=true when container width was less than 1200px

Version 0.2.4

Changes

  • Fix permissions for widget mode

Version 0.2.3

Changes

  • Added a public global method LemonwayWidget.destroy(targetId) to explicitly tear down an instance (removes iframe + listeners) and avoid duplicate callbacks when remounting the widget (no breaking changes; existing init usage is unchanged).

Usage

Recommended: call LemonwayWidget.destroy('container-id') before mounting the widget again in the same container.

Version 0.2.2

New Features

  • isWelcomePageEnabled: New boolean configuration option to control whether welcome pages are displayed in the onboarding flow
    • When set to false, users are automatically redirected to the validation page, skipping the welcome screens
    • Default value: true (maintains existing behavior)
    • Compatible with both individual and legal entity onboarding flows

Usage Example

LemonwayWidget.init('YOUR_ONBOARDING_URL', 'container-id', {
  isWelcomePageEnabled: false // Skip welcome pages
});

Version 0.2.1

Add arePersonalFieldsReadonly to add readonly on personal fields

Version 0.2.0

Add isSidebarMenuEnabled to activate/desactivate sidebar menu in the config

Version 0.1.0

Initial release of the Lemonway Widget.

Features

  • Basic onboarding flow implementation
  • Support for iframe integration
  • Event system for communication with parent window
  • Responsive design
  • Multiple language support

Implementation Notes

  • This is the first versioned release of the widget
  • The widget is now accessible via a versioned URL: https://hosted-onboarding.lemonway.com/widget/0.1.0.min.js

Future Versions

Future versions of the widget will be documented here with detailed descriptions of:

  • New features
  • Bug fixes
  • Performance improvements
  • Breaking changes and migration guides
  • Deprecated features

When updating to a new version, always review these release notes to understand what has changed and how it might impact your implementation.