diff --git a/core/wiki/peek-stylesheets.tid b/core/wiki/peek-stylesheets.tid
index 7d9726fbeda..58ffaebcac4 100644
--- a/core/wiki/peek-stylesheets.tid
+++ b/core/wiki/peek-stylesheets.tid
@@ -1,76 +1,52 @@
title: $:/snippets/peek-stylesheets
-\define expandable-stylesheets-list()
-\whitespace trim
-
-<$list filter="[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]">
-<$vars state=<>>
-<$set name="state" value={{{ [addsuffix] }}}>
--
-<$reveal type="match" state=<> text="yes" tag="span">
-<$button set=<> setTo="no" class="tc-btn-invisible">
-{{$:/core/images/down-arrow}}
-$button>
-$reveal>
-<$reveal type="nomatch" state=<> text="yes" tag="span">
-<$button set=<> setTo="yes" class="tc-btn-invisible">
-{{$:/core/images/right-arrow}}
-$button>
-$reveal>
-<$link>
-<$view field="title"/>
-$link>
-<$reveal type="match" state=<> text="yes" tag="div">
-<$set name="source" tiddler=<>>
-<$wikify name="styles" text=<
-$set>
-$vars>
-$list>
-
\end
-\define stylesheets-list()
+\procedure toggle-content()
+<$parameters openState="" open="[substitute[]get[text]else[no]]" openImage="$:/core/images/down-arrow" closedImage="$:/core/images/right-arrow" openCaption="" closedCaption="">
+<%if [!is[blank]] %>
+<$checkbox tiddler={{{ [substitute[]] }}} field="text" checked="yes" style.appearance="none">
+
+<%if [subfiltermatch[yes]] %>
+<$transclude $tiddler=<> size="1em" /> <>
+<%else%>
+<$transclude $tiddler=<> size="1em" /> <>
+<%endif%>
+
+$checkbox>
+<%endif%>
+$parameters>
+\end
+
+\procedure expandable-list()
\whitespace trim
+<$parameters filter="" openState="" open="[substitute[]get[text]else[no]]">
-<$list filter="[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]">
+<$list filter=<> >
-
-<$link>
-<$view field="title"/>
-$link>
-<$set name="source" tiddler=<>>
-<$wikify name="styles" text=<
$list>
+$parameters>
\end
-\whitespace trim
-<$vars modeState=<>>
+<$let modeState=`$:/state/peek-stylesheets/mode/$(qualify)$` mode={{{ [get[text]else[expand]] }}} listFilter="[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]">
-<$reveal type="nomatch" state=<> text="expanded" tag="div">
-<$button set=<> setTo="expanded" class="tc-btn-invisible">{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Stylesheets/Expand/Caption}}$button>
-$reveal>
-<$reveal type="match" state=<> text="expanded" tag="div">
-<$button set=<> setTo="restored" class="tc-btn-invisible">{{$:/core/images/chevron-down}} {{$:/language/ControlPanel/Stylesheets/Restore/Caption}}$button>
-$reveal>
+<$transclude $variable="toggle-content" openImage="$:/core/images/chevron-right" closedImage="$:/core/images/chevron-down" openState=<> openCaption={{$:/language/ControlPanel/Stylesheets/Expand/Caption}} closedCaption={{$:/language/ControlPanel/Stylesheets/Restore/Caption}}/>
-<$reveal type="nomatch" state=<> text="expanded" tag="div">
-<>
-$reveal>
-<$reveal type="match" state=<> text="expanded" tag="div">
-<>
-$reveal>
+<%if [match[expand]]%>
+<$transclude $variable="expandable-list" filter=<> open="yes"/>
+<%else%>
+<$transclude $variable="expandable-list" filter=<> openState="$:/state/peek-tiddler/open/$(currentTiddler)$$(qualify)$"/>
+<%endif%>
-$vars>
+$let>
\ No newline at end of file