- Use SVG icons for better visual effects (#637).
- Fix an issue where some CSS styles were incompatible with old browsers (#611).
- Fix the issue of title blinking when opening the same image again (#609).
- Fix the incorrect RegExp for Safari browser detection (#606).
- Not actually moving when the
offsetX/Yis0(#585, #588).
- Do not close the viewer when dragging the image on the backdrop (#577).
- Add missing type definitions for
initialCoverageoption andzoomandzoomTomethods (#571).
- Add a new option:
initialCoverage(#314, #526). - Don't load images in the list when hide the navbar (#451).
- Support for providing pivot pointer coordinates to
zoomandzoomTomethods (#202). - Don't override the padding right of the body when the width of the scrollbar is zero (#197).
- Add keyboard support to playing view (#90).
- Continue to initialize even if some images fail to load in inline mode.
- Avoid conflicts with nested modals (#540).
- Use legacy color function notation for better compatibility (#529).
- Get the pageX/Y properties from the original event when it is an emulated double click in touch devices (#527).
- Improve the zoom experience on the touch screen (#510).
- Increase title height for avoiding truncation (#509).
- Fix a
TypeErrorwhen there are not any images (#504). - Remove loading class on image load error (#502).
- Check if the active item exists to avoid TypeError (#491).
- Compute nav item gutter dynamically (#487).
- Enhance
fullscreenoption andplaymethod to supportFullscreenOptions(#482, #483). - Refactor the
togglemethod for toggling image between current/natural ratio (#477). - Improve the
togglemethod for zooming by double-click (#422).
- Avoid conflicts with other modals (#474).
- Allow
ToolbarOptionto be undefined (#473).
- Fix the missing declaration for the
focusoption (#470).
- Add 6 new events:
move,moved,rotate,rotated,scale, andscaled. - Add an example for limiting the moving range with the help of the
moveevent.
- Add a new option:
focus. - Add ARIA attributes for better accessibility.
- Add the
TabandEnterkeys to the keyboard support. - Check if the
pointerobject is defined or not for better compatibility (#421).
- Fix an issue in the
types/index.d.tsfile (#414).
- Add 2 new events:
playandstop(#411). - Let the
viewed,zoomed, andhiddenevents not be canceled. - Improve the TypeScript declarations in the
types/index.d.tsfile.
- Improve the
hidemethod for some edge cases (#407). - Improve the wheel zoom behavior (#396).
- Fix wrong usage about
thisin ES6+ (#395).
- Improve image filtering.
- Add a new options:
inheritedAttributes. - Remove unnecessary
padding-right: 0pxfrom thebodyelement when close the viewer modal (#394). - Reset the
padding-rightof thebodyelement when resizing (#379). - Improve the
hidemethod for unexpected calling (#367). - Ignore images without the
srcattribute (#326).
- Force reflow element in a new way to avoid side-effect (#343).
- Add a new option:
slideOnTouch(#340). - Detect if the queried image is existing when updating the image list (#333).
- Add two new options:
zoomOnTouchandzoomOnWheel(#329).
- Improve event type determining for iOS 13+ (#321).
- Ignore invalid
elementparameter on the class utility functions (#317). - Do nothing if the
indexvalue is invalid when calling theviewmethod (#312).
- Avoid escaping URLs (#298, #301).
- Avoid using the
innerHTMLproperty for security (#269).
- Improve the escaping function to avoid escaping HTML entities repeatedly.
- Decode image name when it comes from URL (#282).
- Fix the missing fade-out transition when hiding the viewer (#275).
- Escape all strings that use in HTML for better security (#269).
- Fix unexpected modal exiting behavior when the mouse is pressed (#255).
- Abort image downloading when cancel viewing for better performance.
- Fix
Document not activeerror when calling theexitmethod. - Improve wheel event listening for better performance (#102).
- Ignore pointer events when not the primary button was pressed (#221).
- Emulate click (single tap) and double click (double tap) in touch devices to support backdrop and image zooming (#210).
- Fix wrong click action when target image is ignored by the
filteroption (#211) - Add a new option:
className(#209).
- Improve viewer instance storage to avoid side-effect.
- Fix parameter error of
Object.assignin iOS devices.
- Enhance the
titleoption to support to customize title content (#54, #185). - Add 2 new options:
toggleOnDblclick(#173) andinitialViewIndex(#183).
- Make the touch zooming smoother (#162).
- Add 2 new events:
zoomandzoomed(#144).
- Add a namespace to data attribute names (from
data-*todata-viewer-*) to avoid side-effect. - Make sure the image data is a non-null object to avoid unexpected errors.
- Fix broken zoom feature in iOS browsers (#167).
- Add in browser checking to support import in Node.js.
- Cancel update when there are no images when calling the
updatemethod.
- Fix the wrong image switching behavior in iOS browsers.
- Fix a
TypeErrorin strict mode (#149). - Fix type definitions issue of the
showandhidemethods.
- Add a new option:
loading. - Add type definitions file for TypeScript.
- Enhance the
show,hide, andplaymethods. - Change the default value of the
loopoption fromfalsetotrue.
- Add a new option:
container. - Recover the missing default value of the
intervaloption (#133).
- Add a new option:
backdrop.
- Add
stylefield topackage.json. - Fall back to
document.documentElementifdocument.bodyis not existing (#120). - Fix the issue of NodeList deconstructing (#118).
- Add a new option:
loop. - Enhance toolbar customization.
- Add a new option:
filter. - Support to customize the layout of the toolbar (#79).
- Enhance the
prevandnextmethods (#47). - Disallow to show again if it had shown.
- Refactor - separate constants, simplify utilities, and so on.
- Stop play after exited fullscreen.
- Improve JSDoc.
- Fixed multiple active items in the navbar (#75).
- Ignore the mouse down event when the viewer is hiding (#70).
- Support to use the viewer in a modal (#39).
- Changed the
mainfield value fromdist/viewer.js(UMD) todist/viewer.common.js(CommonJS). - Added
moduleandbrowserfields topackage.json. - Fixed an issue of touch zoom.
- Fixed the issue of touch and move problem (#63).
- Prevented the default behavior of drag action (#63).
- Ported JavaScript code to ECMAScript 6.
- Ported CSS code to CSSNext.
- Improve event handler for Pointer Events.
- Improve modal opening and closing.
- Remove the
buildevent. - Rename
builtevent toready. - Fixed a bug of
data-*attributes setting and getting (#33).
- Added some properties to
event.detailof the "view" and "viewed" events.
- Fix the issue of hiding the wrong element in the "view" method (#19).
- Fix the error of the parameters on the
urloption when it is a function.
- Added tests.
- Ignored the invalid class name.
- Re-render image only when viewed.
- Add more available values to the "title", "toolbar" and "navbar" options.
- Support to toggle the visibility of title, toolbar, and navbar between different screen widths.
- Exit fullscreen when stop playing.
- Fixed title not generated bug.
- Added "update" method for update image dynamically.
- Hides title and toolbar on small screen (width < 768px).
- Supports to zoom from event triggering point.
- Optimized "toggle" method.
- Fixed a bug about the index of the viewing image.
- Supports 2 modes: "modal" (default), "inline"
- Supports 30 options: "inline", "button", "navbar", "title", "toolbar", "tooltip", "movable", "zoomable", "rotatable", "scalable", "transition", "fullscreen", "keyboard", "interval", "minWidth", "minHeight", "zoomRatio", "minZoomRatio", "maxZoomRatio", "zIndex", "zIndexInline", "url", "build", "built", "show", "shown", "hide", "hidden", "view", "viewed"
- Supports 22 methods: "show", "hide", "view", "prev", "next", "move", "moveTo", "zoom", "zoomTo", "rotate", "rotateTo", "scale", "scaleX", "scaleY", "play", "stop", "full", "exit", "tooltip", "toggle", "reset", "destroy"
- Supports 8 events: "build", "built", "show", "shown", "hide", "hidden", "view", "viewed"