Skip to content

Releases: tech-systems/panes

1.5.3 AI Epoch

21 Aug 01:50

Choose a tag to compare

1.5.3 (2025-08-21)

Extra

  • 🔥 AI Chatbot demo

Features

  • core/events: new ResizeEvents to handle window resize and orientation change; adds smooth end handling by cancelling RAF and applying any pending move update; preserves current X on transition end for modules that need it (PR #254)
  • core/transitions: unified 3D transform helpers and support for X+Y movement in transition system; setPaneElTransform now updates both axes; safer transition switching during drag → breakpoint sequences (PR #254)
  • settings/models: new scrollZeroDragBottom setting (default: true) (PR #254)
  • modules/horizontal: modernized horizontal module with X+Y control, combined initialBreak syntax like "middle right", accurate left/right break calculations, and new helpers moveToHorizontalBreak(), getCurrentHorizontalBreak(), and moveToWidth(x, y) (PR #254)
  • modules/modal: allow horizontal drag during move while auto-centering X on end; destroy-from-current-position respects parsed transforms (PR #254)
  • modules/inverse: improved inverse coordinate system with proper boundaries, swipe logic, and vertical-only movement (PR #254)

Enhancements

  • events: fast swipe detection now requires an actual drag; scroll handler toggles scrolled class on content; improved mouseup/mouseleave handling and layout flush to ensure transitions apply (PR #254)
  • fitHeight: restores grab cursor after transitions; avoids forcing overflow hidden during fit-height flows (PR #254)
  • follower/zStack: use unified transform builders for consistency and performance (PR #254)

Bug Fixes

  • events: prevent swipe-next without real drag steps; ensure pending move data is applied before ending; preserve current breakpoint updates only when dragged (PR #254)
  • horizontal/inverse/modal: correct X/Y transform synchronization, breakpoint calculations, and initial positioning across modules (PR #254)

Full Changelog: v.1.4.0...v.1.5.3

1.4.0

04 Sep 18:19

Choose a tag to compare

Extra

Features

  • modal: Super Simple Modals 🔥 (9f7a910)
  • core: custom transitions for present/destroy (ed7e4c2)
  • settings: ion-content auto-disable scroll on present (#202)
  • settings: parent instance as HTMLElement or string (#193) (56049ae)
  • zStack: custom border radius for pushElement (#195) (1eb1f4c)
  • fitHeight: calcFitHeight function fallback (#218) (bb89ff7)

Enhancements

Bug Fixes

  • draggable: able to move scrolled pane by draggable element (#184) (9e3eaaa)
  • events: getEventClientYX can be undefined #214, #209 (1f283a3)
  • events: ios OSK resizes body (#200) (0fc6fac)
  • events: keyboard push based on transformY (#200) (e2108e5)
  • fitHeight: deal with Ionic framework (029d625)
  • fitHeight: calcFitHeight with fitScreenHeight (#192) (016c4d3)
  • inverse: calcFitHeight for inverse pane cause animation swing (91359a0)
  • modules: modules public methods typings, calcFitHeight fix (deb7de8)
  • present: ionic cancel transitions on initialization (#216) (a944d32)

1.3.0

04 Jul 18:12

Choose a tag to compare

Extra

BREAKING CHANGES

  • core: Events emitter and callbacks assignments (64788d0)

Callback enhanced and required simple updates.
All callbacks has been moved under events key in settings dictionary.
Callbacks now can be assigned with on() method.

Features

Enhancements

  • core: remastered isHidden() and hide() methods
  • events: keyboard hero (#175)
  • events: keyboard hero v2 (#175)(#176)
  • desktop: text no-selectable, img no-draggable, grab cursor
  • gesture: topperThanTop reducer cleared

Bug Fixes

  • break: buildBreakpoint() clear on begin (#181) (e245bca)
  • core: events attached before didPresent callback (#170) (5b49dc3)
  • desktop: handle mouseleave events (8c6c81f)
  • events: disable drag upperThanTop for full height top breakpoint (#171) (d048dbd)
  • events: clear steps after fastSwipeClose (#180) (3558cf2)
  • events: drag events emitted with position changes (#179) (c1aa175)
  • events: hide-on-bottom attribute by recent position on touchend (4804af8)
  • events: overscroll-behavior fix safari scroll bounce (c9c6a69)
  • events: skipped touchstart event (#177) (4a878f0)

1.2.8

06 Dec 23:46

Choose a tag to compare

Bug Fixes

  • draggable: reduced zIndex to prevent overlapping (#169) (6196a4e)
  • events: android fast drag was interpreted as tap event (#154) (ac7093e)
  • events: fixed unexpected jumps on fast drag (1b0d082)
  • events: prevent hidden pane to be visible on keyboard (#112) (bf34a24)
  • events: touchmove position while transition (7c367a3)
  • inverse: calcFitHeight for inverse pane cause animation swing (91359a0)
  • keyboard: detach resize from keyboard events (#112) (5d574d7)
  • events: unlock mode show hidden pane on Android #159
  • keyboard: fixed keyboard for fitHeight panes - #155

Refactor

  • core: add classes for transitions and z-stack

Enhancements

  • gestures: topperThanTop gesture smooth on backward
  • gestures: scroll events remastered for smooth entry scrolls
  • core: implemented proper UMD and EMS bundle system
  • ci: async build and face typings with public-api
  • events: default touchAngle is 45

Features

  • destroy: allow to destroy without DOM element (#163) (44a0d18)
  • docs: commits standards and changelogs

1.2.7

08 May 18:36

Choose a tag to compare

Extra

Features

  • Functions .present() and .destroy() enhanced to using Promise like functins. #144
    await myPane.present({animate: true});
    myPane.destroy({animate: true}).then(...);

Bug Fixes

  • Fixed slow drag gesture with velocity when first touchmove not firing

1.2.6

18 Mar 10:45

Choose a tag to compare

BREAKING CHANGES

  • All Z-Stack and 3D Push properties was merged into zStack object. Readme
let settings = {
  ...
  zStack: {
    pushElements: string[];
    minPushHeight?: number;
    cardYOffset?: number;
    cardZScale?: number;
    cardContrast?: number;
    stackZAngle?: number;
  }
}

Extra

Features

  • 3D Push transitions and gestures now available as cumulative options with pushElements property. Define array of elements which will be pushed when main element execute transitions. All styles from all elements will be accumulated together.
let settings = {
  ...
  zStack: {
    pushElements: ['.card-1', '.card-2', '.card-3']
  }
}

Bug Fixes

  • Click to elements fixed with .disableDrag() method #140
  • Fixed css variable --cupertino-pane-icon-close-color #139
  • Fixed pane jump on drag with positive scroll from lower breakpoints #135

1.2.5

19 Feb 19:43

Choose a tag to compare

BREAKING CHANGES

  • Added cssClass property to settings. Pass custom class for .cupertino-pane-wrapper here to style later, instead of picking custom class from your element.
  • Removed darkmode property and setDarkmode() method. Proper way you can style darkmode with variables:
body.dark {
  --cupertino-pane-icon-close-color: #a8a7ae;
  --cupertino-pane-background: #1c1c1d;
  --cupertino-pane-color: #ffffff;
  --cupertino-pane-shadow: 0 4px 16px rgb(0 0 0 / 12%);
  --cupertino-pane-border-radius: 20px;
  --cupertino-pane-move-background: #424246;
  --cupertino-pane-destroy-button-background: #424246;
}

Extra

Features

  • CSS variables available Readme

Bug Fixed

  • Fixed styles for few panes in single DOM #133
  • Fixed internal styles injector in DOM. Minified styles now injected once inside <head> tag.
  • Fixed backdrop with { animate:false }

1.2.4

28 Jan 12:26

Choose a tag to compare

Enhancements

  • Keyboard will move pane up, only if focused element is child of Pane
  • window.resize events are now automatically managed #127

Bug Fixes

  • Fixed currentBreak() method
  • Fixed and improved keyboard events #125

1.2.3

21 Jan 20:07

Choose a tag to compare

Features

  • Added .calcFitHeight() method to re-calculate automatically height fitHeight: true, if this value was not proper calculated due DOM issues #123
  • Added maxFitHeight property to settings to define maximum possible automatically calculated height #122

Bug Fixes

  • Switched resize callback to orientationchange callback for device orientation changes. Fixed issues regarding resize and keyboards. #125

1.2.2

19 Jan 18:37

Choose a tag to compare

Features

  • Added fitHeight property for usage pane without breakpoints. On fitHeight: true, pane height will automatically calculated before present. Then height will be applied as top breakpoint height, bottom and middle breakpoint will be disabled. See Bulletin demo on example. #113
  • Added fitScreenHeight property. On fitScreenHeight: true, pane height will not be more than screen height.

Enhancements

  • Button close renamed to button destroy to avoid confuses. Option renamed buttonClose -> buttonDestroy #116
  • window.resize events and orientation changing now automatically reset breakpoints and pane to proper position. May be good using in pair with fitScreenHeight: true #119

Bug Fixes

  • Cordova keyboard hide if pane is hidden #112