- Enhance
fullscreen
option andplay
method to supportFullscreenOptions
(#482, #483). - Refactor the
toggle
method for toggling image between current/natural ratio (#477). - Improve the
toggle
method for zooming by double-click (#422).
- Avoid conflicts with other modals (#474).
- Allow
ToolbarOption
to be undefined (#473).
- Fix the missing declaration for the
focus
option (#470).
- Add 6 new events:
move
,moved
,rotate
,rotated
,scale
, andscaled
. - Add an example for limiting the moving range with the help of the
move
event.
- Add a new option:
focus
. - Add ARIA attributes for better accessibility.
- Add the
Tab
andEnter
keys to the keyboard support. - Check if the
pointer
object is defined or not for better compatibility (#421).
- Fix an issue in the
types/index.d.ts
file (#414).
- Add 2 new events:
play
andstop
(#411). - Let the
viewed
,zoomed
, andhidden
events not be canceled. - Improve the TypeScript declarations in the
types/index.d.ts
file.
- Improve the
hide
method for some edge cases (#407). - Improve the wheel zoom behavior (#396).
- Fix wrong usage about
this
in ES6+ (#395).
- Improve image filtering.
- Add a new options:
inheritedAttributes
. - Remove unnecessary
padding-right: 0px
from thebody
element when close the viewer modal (#394). - Reset the
padding-right
of thebody
element when resizing (#379). - Improve the
hide
method for unexpected calling (#367). - Ignore images without the
src
attribute (#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:
zoomOnTouch
andzoomOnWheel
(#329).
- Improve event type determining for iOS 13+ (#321).
- Ignore invalid
element
parameter on the class utility functions (#317). - Do nothing if the
index
value is invalid when calling theview
method (#312).
- Avoid escaping URLs (#298, #301).
- Avoid using the
innerHTML
property 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 active
error when calling theexit
method. - 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
filter
option (#211) - Add a new option:
className
(#209).
- Improve viewer instance storage to avoid side-effect.
- Fix parameter error of
Object.assign
in iOS devices.
- Enhance the
title
option 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:
zoom
andzoomed
(#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
update
method.
- Fix the wrong image switching behavior in iOS browsers.
- Fix a
TypeError
in strict mode (#149). - Fix type definitions issue of the
show
andhide
methods.
- Add a new option:
loading
. - Add type definitions file for TypeScript.
- Enhance the
show
,hide
, andplay
methods. - Change the default value of the
loop
option fromfalse
totrue
.
- Add a new option:
container
. - Recover the missing default value of the
interval
option (#133).
- Add a new option:
backdrop
.
- Add
style
field topackage.json
. - Fall back to
document.documentElement
ifdocument.body
is 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
prev
andnext
methods (#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
main
field value fromdist/viewer.js
(UMD) todist/viewer.common.js
(CommonJS). - Added
module
andbrowser
fields 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
build
event. - Rename
built
event toready
. - Fixed a bug of
data-*
attributes setting and getting (#33).
- Added some properties to
event.detail
of 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
url
option 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"