Releases: tech-systems/panes
Releases · tech-systems/panes
1.5.3 AI Epoch
1.5.3 (2025-08-21)
Extra
- 🔥 AI Chatbot demo
Features
- core/events: new
ResizeEventsto 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;
setPaneElTransformnow updates both axes; safer transition switching during drag → breakpoint sequences (PR #254) - settings/models: new
scrollZeroDragBottomsetting (default:true) (PR #254) - modules/horizontal: modernized horizontal module with X+Y control, combined
initialBreaksyntax like "middle right", accurate left/right break calculations, and new helpersmoveToHorizontalBreak(),getCurrentHorizontalBreak(), andmoveToWidth(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
scrolledclass 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
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
- core: fast initialization (#186) (b36600b)
- fitHeight: remastered algorithm (#192) & test (e641a1b) (12b9f9a) (7340ff6) (42bccfa) (a62a2bd) (a4af25c)
- core: improved internal styles mechanics (#189) (23af735)
- fitHeight: improved pane height calculations (#186) (cb8eb05)
- keyboard: keyboard hero v3, v4 ((#215) (#208) (#203) (#188) (#187))
- keyboard: Keyboard improvements for non-cordova android with OSK (#200) (#188) (#187) (8549050)
- keyboard: Keyboard improvements for lower chrome versions (#200) (f23568b)
- types: zStack public methods (4c0f7d0)
- backdrop: pass MouseEvent to onBackdropTap callback (bc8d5ca)
- gestures: upper-than-top gestures unable to move pane by Y for disabled options (2f3280)
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
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
- core: fully modularized (#174) (63b0cbb)
- core: modularized (#174) (07f9d74)
- modules: Horizontal module (#164) (176e327)
- modules: Inverse module (2436337)
- api: calcFitHeight method with animated in params (2327f3b)
Enhancements
- core: remastered
isHidden()andhide()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
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:
calcFitHeightfor 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:
topperThanTopgesture 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
touchAngleis 45
Features
1.2.7
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
touchmovenot firing
1.2.6
BREAKING CHANGES
- All Z-Stack and 3D Push properties was merged into
zStackobject. 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
pushElementsproperty. 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
1.2.5
BREAKING CHANGES
- Added
cssClassproperty to settings. Pass custom class for.cupertino-pane-wrapperhere to style later, instead of picking custom class from your element. - Removed
darkmodeproperty andsetDarkmode()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
- 3 Panes live environment demo available
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
1.2.3
Features
- Added
.calcFitHeight()method to re-calculate automatically heightfitHeight: true, if this value was not proper calculated due DOM issues #123 - Added
maxFitHeightproperty to settings to define maximum possible automatically calculated height #122
Bug Fixes
- Switched
resizecallback toorientationchangecallback for device orientation changes. Fixed issues regarding resize and keyboards. #125
1.2.2
Features
- Added
fitHeightproperty for usage pane without breakpoints. OnfitHeight: 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
fitScreenHeightproperty. OnfitScreenHeight: 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.resizeevents and orientation changing now automatically reset breakpoints and pane to proper position. May be good using in pair withfitScreenHeight: true#119
Bug Fixes
- Cordova keyboard hide if pane is hidden #112