diff options
Diffstat (limited to 'tpl')
-rw-r--r-- | tpl/index.pug | 28 | ||||
-rw-r--r-- | tpl/objects/dialog.pug | 36 | ||||
-rw-r--r-- | tpl/objects/menu.pug | 7 |
3 files changed, 57 insertions, 14 deletions
diff --git a/tpl/index.pug b/tpl/index.pug index 623a513..98aec2e 100644 --- a/tpl/index.pug +++ b/tpl/index.pug | |||
@@ -533,16 +533,30 @@ html | |||
533 | +box | 533 | +box |
534 | +backdrop | 534 | +backdrop |
535 | +dialog('Lorem ipsum') | 535 | +dialog('Lorem ipsum') |
536 | = loremIpsum | 536 | +slot('body') |
537 | = loremIpsum | ||
537 | 538 | ||
538 | +box | 539 | +box |
539 | +backdrop | 540 | +backdrop |
540 | +dialog('Lorem ipsum') | 541 | +dialog('Lorem ipsum')(bodyClass='l-overflow') |
541 | p.u-mt-0= loremIpsum | 542 | +slot('body') |
542 | p= loremIpsum | 543 | p.u-mt-0= loremIpsum |
543 | p= loremIpsum | 544 | p= loremIpsum |
544 | p= loremIpsum | 545 | p= loremIpsum |
545 | p= loremIpsum | 546 | p= loremIpsum |
547 | p= loremIpsum | ||
548 | |||
549 | +box | ||
550 | +backdrop | ||
551 | +dialog('Lorem ipsum')(noRule=true) | ||
552 | +slot('sidebar') | ||
553 | +menu(style={ 'min-width': '10em' }) | ||
554 | +menu-header= '#channel' | ||
555 | +menu-item(icon='bookmark', selected=true)= 'Bookmark' | ||
556 | +menu-item(icon='tags')= 'Tags' | ||
557 | +slot('body') | ||
558 | p.u-mt-0= loremIpsum | ||
559 | |||
546 | 560 | ||
547 | //----------------------------------------- | 561 | //----------------------------------------- |
548 | 562 | ||
diff --git a/tpl/objects/dialog.pug b/tpl/objects/dialog.pug index 0ee52df..3a47b2f 100644 --- a/tpl/objects/dialog.pug +++ b/tpl/objects/dialog.pug | |||
@@ -4,15 +4,39 @@ include heading.pug | |||
4 | include action-button.pug | 4 | include action-button.pug |
5 | 5 | ||
6 | mixin dialog(title) | 6 | mixin dialog(title) |
7 | .o-dialog.t-raised | 7 | - const slots = {} |
8 | |||
9 | mixin slot(key) | ||
10 | - slots[key] = block | ||
11 | |||
12 | - | ||
13 | block ? block() : undefined | ||
14 | |||
15 | let classes = { | ||
16 | 'o-dialog': true, | ||
17 | 't-raised': true, | ||
18 | 'o-dialog--split': !!slots.sidebar, | ||
19 | } | ||
20 | |||
21 | let bodyClass = { | ||
22 | 'o-dialog__body': true | ||
23 | } | ||
24 | if (attributes.bodyClass) { | ||
25 | bodyClass[attributes.bodyClass] = true; | ||
26 | } | ||
27 | |||
28 | div(class=classes) | ||
29 | if slots.sidebar | ||
30 | .o-dialog__sidebar | ||
31 | - slots.sidebar() | ||
8 | header.o-dialog__header | 32 | header.o-dialog__header |
9 | +div-heading('lg')(class='o-dialog__title') | 33 | +div-heading('lg')(class='o-dialog__title') |
10 | = title | 34 | = title |
11 | +action-button(round=true quiet=true icon='x' class='o-dialog__close-btn') | 35 | section(class=bodyClass) |
12 | +rule('medium')(class='o-dialog__rule') | 36 | +action-button(round=true quiet=true icon='x' class='o-dialog__close-btn') |
13 | section.o-dialog__body | 37 | if slots.body |
14 | block | 38 | - slots.body() |
15 | footer.o-dialog__footer.l-button-group | 39 | footer.o-dialog__footer.l-button-group |
16 | +a-button(outline=true)= 'Cancel' | 40 | +a-button(outline=true)= 'Cancel' |
17 | = ' ' | 41 | = ' ' |
18 | +a-button(outline=true variant='primary')= 'Continue' | 42 | +a-button(variant='accent')= 'Continue' |
diff --git a/tpl/objects/menu.pug b/tpl/objects/menu.pug index 0a654ce..84321d7 100644 --- a/tpl/objects/menu.pug +++ b/tpl/objects/menu.pug | |||
@@ -3,7 +3,12 @@ include status-indicator.pug | |||
3 | include action-button.pug | 3 | include action-button.pug |
4 | 4 | ||
5 | mixin menu | 5 | mixin menu |
6 | .o-menu | 6 | - |
7 | let classes = { | ||
8 | 'o-menu': true, | ||
9 | } | ||
10 | |||
11 | div(class=classes)&attributes(attributes) | ||
7 | block | 12 | block |
8 | 13 | ||
9 | mixin menu-item | 14 | mixin menu-item |