Releases: oddbird/slide-deck
Releases · oddbird/slide-deck
v0.2.0-rc.1
- 🚀 NEW: The
key-control
attribute
accepts values ofnone
orescape
,
to turn off keyboard navigation
(and optionally leave escape-to-blur intact).
This attribute can be applied to individual elements in a deck,
for more detailed control --
eg turning off navigation while a form has focus. - 🚀 NEW: Provide a
slide-deck.webc
component. - 🚀 NEW: All attributes have associated getters and setters:
key-control
->keyControl
(boolean | 'none' | 'escape')follow-active
->followActive
(boolean)full-screen
->fullScreen
(boolean)slide-view
->slideView
(string)
- 🚀 NEW: Use the
?slide-view=viewName
query parameter
to create links to specific slide views.
When present on load, the query parameter will override
the session storage as well as any hardcoded attribute value. - 💥 BREAKING: The
slideView
property setter
should be used for changing views,
rather than manipulating theslide-view
attribute directly.
This will also update session storage and the url query parameter. - 💥 BREAKING: When the
start
andresume
events are fired,
the slide-deck is put into apublicView
(the default isslideshow
).
When thejoin-as-speaker
event is fired,
the slide-deck is put into aprivateView
(the default isspeaker
).
These can be changed by setting the
publicView
andprivateView
properties with JS,
or by setting thepublic-view
andprivate-view
attributes in HTML. - 💥 BREAKING: Renamed the custom event handlers and matching public methods:
reset
=reset()
join
=join()
resume
=resume()
start
=start()
join-as-speaker
=joinAsSpeaker()
blank-slide
=blankSlide()
next
=next()
previous
=previous()
to-slide
=toSlide()
to-saved
=toSavedSlide()
scroll-to-active
=scrollToActive()
full-screen
=toggleFullScreen()
key-control
=toggleKeyControl()
follow-active
=toggleFollowActive()
- 🐞 FIXED: Keyboard events are given proper priority, so that
(for example) you can open the control panel from a blank slide - 👀 INTERNAL: Renamed static
storageKeys
tostoreValues
,
and staticcontrolKeys
tonavKeys
for clarity.
v0.1.4 - sessionStorage slide-view takes priority
- 🐞 FIXED: session view preference overrides attribute when deck is first constructed
attributes, parts, slots, and views
There's a lot of general cleanup here around our organizational approach and developer API:
- 💥 BREAKING: Disabled the fullscreen keyboard shortcut, until we have a chance to address the various fullscreen browser issues
- 💥 BREAKING: Removed the 'end presentation' event and keyboard shortcuts, which were more confusing than useful
- 💥 BREAKING: Removed the shadow DOM content wrapper, and all shadow DOM styles for slide layout
- 💥 BREAKING: The
reset
event targets the first slide rather than the slide-deck container - 🚀 NEW / 💥 BREAKING: Renamed and added control-panel parts, to allow for more customization of the default panel including pressed buttons with
:part(button pressed)
- 🚀 NEW: Set
aria-current='true'
on active slide - 🚀 NEW: View settings are maintained across page refresh using
sessionStorage
- 🚀 NEW: Add support for slide parts –
slide-canvas
&slide-note
- 🚀 NEW: Each slide is labeled with either
slide-item='container'
(if it has nested parts) orslide-item='canvas' slide-canvas
(if there are no nested parts) - 🚀 NEW: The
slide-deck
has a--slide-count
property, and each slide has a--slide-index
- 🚀 NEW: Default layout styles are in
slide-deck.css
and can be applied from the light DOM - 🚀 NEW: The entire control panel can be replaced from the light DOM using
slot=control-panel
on a dialog element - 🚀 NEW: Blank slides are implemented as shadow DOM dialogues, which can be replaced from the light DOM using
slot=blank-slide
on a slotteddialog
element - 🚀 NEW: When
key-control
is activated (including on-load), we target the stored active slide (or the first slide) - 🚀 NEW: Support for keyboard shortcuts on Windows/Linux using
control
instead ofcommand
- 🐞 FIXED: Slotted controls are no longer treated as slides
- 🐞 FIXED: When restoring the active slide from memory, we go to the first slide if there's no stored state
- 🐞 FIXED: Use any key to exit a blank-slide mode
Bug fixes and keyboard shortcuts
- 💥 BREAKING: Updated keyboard shortcuts
to match PowerPoint,
includingcommand-.
as 'end presentation'
rather than 'toggle full-screen' (nowcommand-shift-f
) - 🚀 NEW: Support for blank-screen shortcuts
(inspired by Curtis Wilcox) - 🚀 NEW: Both start/resume events target active slides
- 🚀 NEW: Control panel includes toggle for keyboard controls
- 🚀 NEW: Control panel buttons have
aria-pressed
styles - 🚀 NEW: All slide-event buttons that toggle a boolean state
getaria-pressed
values that update with the state - 🐞 FIXED: Scroll to the active slide when changing views
- 🐞 FIXED: Control panel view toggles were broken
- 🐞 FIXED: Control panel prevents propagation of keyboard shortcuts
- 👀 INTERNAL: The current slide is stored in an
activeSlide
property
v0.1.0 Initial release
An initial release with basic support for:
- keyboard-control
- fullscreen
- following along in a second tab
- custom control buttons, and a variety of custom event listeners
- grid and list views