summaryrefslogtreecommitdiffstats
path: root/tpl/objects/side-nav.pug
diff options
context:
space:
mode:
Diffstat (limited to 'tpl/objects/side-nav.pug')
-rw-r--r--tpl/objects/side-nav.pug48
1 files changed, 48 insertions, 0 deletions
diff --git a/tpl/objects/side-nav.pug b/tpl/objects/side-nav.pug
new file mode 100644
index 0000000..511f298
--- /dev/null
+++ b/tpl/objects/side-nav.pug
@@ -0,0 +1,48 @@
1include icon.pug
2include status-indicator.pug
3include action-button.pug
4
5mixin side-nav
6 -
7 let classes = {
8 'o-side-nav': true,
9 }
10 if (attributes.class) {
11 classes[attributes.class] = true;
12 }
13
14 div(class=classes)&attributes(attributes)
15 block
16
17mixin side-nav-item
18 -
19 let classes = {
20 'o-side-nav__item': true,
21 'l-media': true,
22 'l-media--75': true,
23 'o-side-nav__header': attributes.header,
24 'is-selected': attributes.selected,
25 }
26 if (attributes.class) {
27 classes[attributes.class] = true;
28 }
29
30 #{!!attributes.tag ? attributes.tag : 'button'}(class=classes)&attributes(attributes)
31 if attributes.icon
32 .l-media__block.o-side-nav__icon-slot
33 if attributes.iconIsStatus
34 +status-indicator(attributes.icon)(class='o-side-nav__icon')
35 else
36 +icon(attributes.icon)(class='o-side-nav__icon')
37 .l-media__block.l-media__block--main&attributes({ class: attributes.contentClass })
38 block
39 if attributes.postIcon
40 .l-media__block.o-side-nav__icon-slot
41 +icon(attributes.postIcon)(class='o-side-nav__icon')
42
43mixin side-nav-header
44 header.o-side-nav__header
45 block
46
47mixin side-nav-separator
48 .o-side-nav__separator