sb-styleguide 0.0.9 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.codoopts +10 -0
- data/.env +1 -0
- data/.gitignore +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +10 -3
- data/Gemfile.lock +134 -94
- data/Procfile +1 -0
- data/README.md +3 -5
- data/Rakefile +3 -0
- data/app/assets/images/layouts/basic-marketing-site.png +0 -0
- data/app/assets/images/layouts/jumbotron-site.png +0 -0
- data/app/assets/javascripts/base.js.coffee +3 -0
- data/app/assets/javascripts/grids.js.coffee +3 -0
- data/app/assets/javascripts/javascript.js.coffee +3 -0
- data/app/assets/javascripts/modules.js.coffee +3 -0
- data/app/assets/stylesheets/application-old-ie.css.scss +11 -0
- data/app/assets/stylesheets/application.css.scss +33 -30
- data/app/assets/stylesheets/base/_all.scss +6 -0
- data/app/assets/stylesheets/base/_reset.css.scss +16 -0
- data/app/assets/stylesheets/base/_type.scss +16 -0
- data/app/assets/stylesheets/{coderay_githubish.css.scss → modules/_coderay.css.scss} +40 -0
- data/app/assets/stylesheets/modules/_layout_examples.css.scss +13 -0
- data/app/assets/stylesheets/modules/_webfont_table.css.scss +47 -0
- data/app/assets/stylesheets/vanilla-normal-old-ie.css.scss +11 -0
- data/app/assets/stylesheets/vanilla-normal.css.scss +33 -0
- data/app/controllers/application_controller.rb +2 -0
- data/app/controllers/base_controller.rb +52 -0
- data/app/controllers/grids_controller.rb +48 -0
- data/app/controllers/javascript_controller.rb +20 -0
- data/app/controllers/modules_controller.rb +43 -0
- data/app/helpers/styleguide_helper.rb +33 -0
- data/app/views/base/_webfonts_social_standard.html +429 -0
- data/app/views/base/_webfonts_ss_standard.html +2413 -0
- data/app/views/base/buttons.html.haml +20 -0
- data/app/views/base/forms.html.haml +40 -0
- data/app/views/base/images.html.haml +1 -0
- data/app/views/base/index.html.haml +68 -0
- data/app/views/base/labels.html.haml +22 -0
- data/app/views/base/lists.html.haml +20 -0
- data/app/views/base/webfonts.html.haml +17 -0
- data/app/views/grids/index.html.haml +73 -0
- data/app/views/grids/layouts.html.haml +9 -0
- data/app/views/grids/layouts/basic-marketing-site.haml +69 -0
- data/app/views/grids/layouts/jumbotron-site.haml +92 -0
- data/app/views/layouts/_main_nav.html.haml +6 -6
- data/app/views/layouts/application.html.haml +6 -32
- data/app/views/modules/alerts.html.haml +12 -0
- data/app/views/modules/footer.html.haml +2 -0
- data/app/views/modules/index.html.haml +5 -0
- data/app/views/modules/nav.html.haml +12 -0
- data/app/views/modules/panels.html.haml +3 -0
- data/app/views/modules/tabs.html.haml +58 -0
- data/app/views/old_javascript/close.html.haml +2 -0
- data/app/views/old_javascript/forms.html.haml +2 -0
- data/app/views/old_javascript/ga_events.html.haml +2 -0
- data/app/views/old_javascript/index.html.haml +2 -0
- data/app/views/old_javascript/responsive_resize.html.haml +2 -0
- data/app/views/old_javascript/switch.html.haml +2 -0
- data/app/views/parts/base/_button.haml +3 -0
- data/app/views/parts/base/_button_colours.haml +4 -0
- data/app/views/parts/base/_button_group.haml +4 -0
- data/app/views/parts/base/_button_sizing.haml +3 -0
- data/app/views/parts/base/_button_states.haml +3 -0
- data/app/views/parts/base/_form_example.haml +26 -0
- data/app/views/parts/base/_form_example_horizontal.haml +26 -0
- data/app/views/parts/base/_form_group.haml +10 -0
- data/app/views/parts/base/_form_location.haml +3 -0
- data/app/views/parts/base/_labels.haml +5 -0
- data/app/views/parts/base/_labels_sizing.haml +3 -0
- data/app/views/parts/base/_list.haml +10 -0
- data/app/views/parts/base/_list_action.haml +5 -0
- data/app/views/parts/base/_list_nav.haml +12 -0
- data/app/views/parts/base/_list_unset.haml +10 -0
- data/app/views/parts/base/_type_body.haml +2 -0
- data/app/views/parts/base/_type_headings.haml +5 -0
- data/app/views/parts/base/_type_helpers.haml +3 -0
- data/app/views/parts/base/_type_links.haml +9 -0
- data/app/views/parts/base/_type_shouts.haml +4 -0
- data/app/views/parts/grids/_example_layout_1.haml +10 -0
- data/app/views/parts/grids/_live_grid.haml +29 -0
- data/app/views/parts/modules/_alerts.haml +11 -0
- data/app/views/parts/modules/_nav_footer.haml +34 -0
- data/app/views/parts/modules/_nav_header.haml +18 -0
- data/app/views/parts/modules/_panels.haml +9 -0
- data/app/views/parts/modules/_tabs_minimal.haml +11 -0
- data/app/views/parts/modules/_tabs_simple_group.haml +11 -0
- data/app/views/parts/modules/_tabs_simple_group_toggle.haml +11 -0
- data/app/views/parts/modules/_tabs_toggle.haml +5 -0
- data/app/views/parts/modules/_tabs_traditional.haml +11 -0
- data/app/views/shared/_title.html.haml +8 -0
- data/app/views/shared/_ui_nav.html.haml +5 -0
- data/app/views/ui/typography.html.haml +86 -96
- data/lib/sb-styleguide.rb +1 -1
- data/lib/sb-styleguide/version.rb +1 -1
- data/lib/templates/haml/scaffold/_form.html.haml +8 -0
- data/public/javascripts/LICENSE.html +158 -0
- data/public/javascripts/README.md.html +164 -0
- data/public/javascripts/assets/codo.css +1 -0
- data/public/javascripts/assets/codo.js +21 -0
- data/public/javascripts/assets/search_data.js +1 -0
- data/public/javascripts/class_index.html +215 -0
- data/public/javascripts/class_list.html +58 -0
- data/public/javascripts/classes/Close.html +259 -0
- data/public/javascripts/classes/GAEvent.html +231 -0
- data/public/javascripts/classes/ResizeHandler.html +225 -0
- data/public/javascripts/classes/Switch.html +318 -0
- data/public/javascripts/classes/TBGForm.html +373 -0
- data/public/javascripts/extra_list.html +36 -0
- data/public/javascripts/file_list.html +74 -0
- data/public/javascripts/files/styleguide/plugins/tbg-close.js.coffee.html +160 -0
- data/public/javascripts/files/styleguide/plugins/tbg-forms.js.coffee.html +160 -0
- data/public/javascripts/files/styleguide/plugins/tbg-ga-events.js.coffee.html +160 -0
- data/public/javascripts/files/styleguide/plugins/tbg-respinsiveresize.js.coffee.html +160 -0
- data/public/javascripts/files/styleguide/plugins/tbg-switch.js.coffee.html +160 -0
- data/public/javascripts/index.html +14 -0
- data/public/javascripts/method_list.html +187 -0
- data/public/javascripts/mixin_list.html +28 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/assets/codo.css +1 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/assets/codo.js +21 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/assets/search_data.js +1 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/class_index.html +194 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/class_list.html +58 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/classes/Close.html +215 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/classes/GAEvent.html +235 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/classes/ResizeHandler.html +192 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/classes/Switch.html +233 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/classes/TBGForm.html +318 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/extra_list.html +30 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/file_list.html +58 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/files/tbg-close.js.coffee.html +154 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/files/tbg-forms.js.coffee.html +154 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/files/tbg-ga-events.js.coffee.html +154 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/files/tbg-respinsiveresize.js.coffee.html +154 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/files/tbg-switch.js.coffee.html +154 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/index.html +14 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/method_list.html +163 -0
- data/vendor/assets/javascripts/styleguide/plugins/doc/mixin_list.html +28 -0
- data/vendor/assets/javascripts/styleguide/plugins/tbg-close.js.coffee +28 -4
- data/vendor/assets/javascripts/styleguide/plugins/tbg-forms.js.coffee +52 -5
- data/vendor/assets/javascripts/styleguide/plugins/tbg-ga-events.js.coffee +28 -8
- data/vendor/assets/javascripts/styleguide/plugins/tbg-respinsiveresize.js.coffee +21 -2
- data/vendor/assets/javascripts/styleguide/plugins/tbg-switch.js.coffee +37 -2
- data/vendor/assets/stylesheets/_mixins.css.scss +128 -35
- data/vendor/assets/stylesheets/_settings.css.scss +7 -4
- data/vendor/assets/stylesheets/styleguide/base/_labels.css.scss +22 -6
- data/vendor/assets/stylesheets/styleguide/base/_lists.css.scss +23 -18
- data/vendor/assets/stylesheets/styleguide/base/_type.css.scss +11 -5
- data/vendor/assets/stylesheets/styleguide/grid/_grid.css.scss +9 -9
- data/vendor/assets/stylesheets/styleguide/modules/_switch.css.scss +32 -16
- metadata +134 -18
- data/.rvmrc +0 -1
- data/app/helpers/application_helper.rb +0 -13
- data/app/helpers/javascripts_helper.rb +0 -2
- data/app/helpers/ui_helper.rb +0 -2
- data/app/mailers/.gitkeep +0 -0
- data/app/models/.gitkeep +0 -0
- data/app/views/javascripts/_js_nav.html.haml +0 -5
- data/app/views/javascripts/index.html.haml +0 -45
- data/app/views/type/_headings.haml +0 -6
- data/app/views/type/_paragraphs.haml +0 -4
- data/app/views/ui/_ui_nav.html.haml +0 -13
- data/vendor/assets/stylesheets/styleguide/layout/_all.css.scss +0 -5
- data/vendor/plugins/.gitkeep +0 -0
@@ -1,12 +1,12 @@
|
|
1
1
|
%nav.nav-global
|
2
2
|
#nav-global.nav-collapse.baby-switch-content<
|
3
3
|
%ul.nav-items.collapse><
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
= nav_link "Home", root_path
|
5
|
+
= nav_link "Grids", grid_path
|
6
|
+
= nav_link "Base", base_path
|
7
|
+
= nav_link "Modules", modules_path
|
8
|
+
= nav_link "Javascript", javascripts_path
|
9
|
+
= nav_link "Github", github_path
|
10
10
|
.nav-mobile-switch.baby-only
|
11
11
|
%a{ :href => "#nav-global", :data => {:switch => true, :"switch-toggle" => true} }><
|
12
12
|
%span>< Show navigation
|
@@ -2,40 +2,14 @@
|
|
2
2
|
%html
|
3
3
|
%head
|
4
4
|
%meta{:charset => "utf-8"}
|
5
|
-
%title= @page_title || "SB Style Guide"
|
5
|
+
%title= strip_tags(@page_title) || "SB Style Guide"
|
6
6
|
= javascript_include_tag "lib/modernizr"
|
7
|
-
=
|
7
|
+
= sassie_stylesheets "application"
|
8
8
|
%body.page_classes
|
9
9
|
= render :partial => "layouts/main_nav"
|
10
10
|
.container
|
11
|
-
=
|
11
|
+
= render :partial => "shared/title"
|
12
|
+
.row
|
13
|
+
.mother-three.sister-four.column= render :partial => "shared/ui_nav"
|
14
|
+
.mother-five.sister-four.column= yield
|
12
15
|
= javascript_include_tag "application"
|
13
|
-
%footer.footer
|
14
|
-
.container
|
15
|
-
%a{ :href=> '#footer-content', :class => "footer-tab ss-icon footer-up", :data => { :switch => true, :"switch-toggle" => true}} navigateup
|
16
|
-
%a{ :href=> '#footer-content', :class => "footer-tab ss-icon footer-down", :data => { :switch => true, :"switch-toggle" => true}} navigatedown
|
17
|
-
|
18
|
-
#footer-content.container
|
19
|
-
.mother-seven.column
|
20
|
-
.row
|
21
|
-
.mother-two.sister-one.column.footer-logo-container
|
22
|
-
%a{:href=>root_path}
|
23
|
-
.footer-logo{ :role=>"img", :"aria-label"=>"Studentbeans.com"}
|
24
|
-
.row
|
25
|
-
%p.support © #{Time.now.year.to_s} The Beans Group. All Rights reserved.
|
26
|
-
.mother-two.column
|
27
|
-
%ul.support
|
28
|
-
%li=link_to "footer link"
|
29
|
-
%li=link_to "footer link"
|
30
|
-
%li=link_to "footer link"
|
31
|
-
.mother-two.column
|
32
|
-
%ul.support
|
33
|
-
%li=link_to "footer link"
|
34
|
-
%li=link_to "footer link"
|
35
|
-
%li=link_to "footer link"
|
36
|
-
.mother-one.column
|
37
|
-
%ul.action-list.h5
|
38
|
-
%li=link_to "facebook", "http://facebook.com", :class => "ss-icon ss-social"
|
39
|
-
%li=link_to "twitter", "http://twitter.com", :class => "ss-icon ss-social"
|
40
|
-
|
41
|
-
|
@@ -0,0 +1,12 @@
|
|
1
|
+
:markdown
|
2
|
+
RoR makes great use of [flash messages](http://guides.rubyonrails.org/action_controller_overview.html#the-flash) to give the
|
3
|
+
users important information as they navigate the site.
|
4
|
+
|
5
|
+
Within each project we **need** to have an alert for standard messages, success messages and alert messages.
|
6
|
+
|
7
|
+
Alerts depend on the `Close` plugin.
|
8
|
+
%hr
|
9
|
+
|
10
|
+
%h3#Standard-alerts Standard Alerts
|
11
|
+
= example "modules", "alerts"
|
12
|
+
%hr
|
@@ -0,0 +1,12 @@
|
|
1
|
+
%h3 Header Navigation
|
2
|
+
:markdown
|
3
|
+
This is a responsive header navigation that folds down on the smallest media query.
|
4
|
+
= example "modules", "nav_header"
|
5
|
+
%hr
|
6
|
+
|
7
|
+
|
8
|
+
%h3 Footer Navigation
|
9
|
+
:markdown
|
10
|
+
It's down there; at the bottom of the page.
|
11
|
+
= example "modules", "nav_footer"
|
12
|
+
%hr
|
@@ -0,0 +1,58 @@
|
|
1
|
+
:markdown
|
2
|
+
This module is names `Tabs` in the style guide for convenience only. In mark-up and
|
3
|
+
code it is called `Switch` as it does much more than traditional tabs.
|
4
|
+
|
5
|
+
Tabs use the `Switch` plugin to manage active state.
|
6
|
+
|
7
|
+
%h3.h5 data-switch options
|
8
|
+
|
9
|
+
%dl
|
10
|
+
%dt
|
11
|
+
%code data-switch="true"
|
12
|
+
%dd An event listener will initalise the switch plugin when an element with this attribute is clicked.
|
13
|
+
%dt
|
14
|
+
%code data-switch-group="[group name]"
|
15
|
+
%dd By giving an element a group name then the plugin can change the state of other switches within the same group.
|
16
|
+
%dt
|
17
|
+
%code data-switch-toggle
|
18
|
+
%dd This option enables a switch to toggle it's state upon click.
|
19
|
+
|
20
|
+
%ul.shout
|
21
|
+
%li= link_to "View the Switch Plugin ", "/jasmine?spec=Switch%3A"
|
22
|
+
%li= link_to "View Switch Plugin Tests", "/jasmine?spec=Switch%3A"
|
23
|
+
%hr
|
24
|
+
|
25
|
+
%h3#minimal-switch Minimal Switch
|
26
|
+
:markdown
|
27
|
+
Simplest form of the switch. This version of the switch is a simple reveal with no off state.
|
28
|
+
= example "modules", "tabs_minimal"
|
29
|
+
%hr
|
30
|
+
|
31
|
+
|
32
|
+
%h3#toggle-switch Toogle Switch
|
33
|
+
:markdown
|
34
|
+
Using the data attribute `data-switch-toggle`, content can be toggled and it's state has no effect on other elements.
|
35
|
+
= example "modules", "tabs_toggle"
|
36
|
+
%hr
|
37
|
+
|
38
|
+
%h3#simple-group Simple Groups
|
39
|
+
:markdown
|
40
|
+
By adding the `switch-group` data element we can make groups of switches reactive to each others state.
|
41
|
+
= example "modules", "tabs_simple_group"
|
42
|
+
%hr
|
43
|
+
|
44
|
+
|
45
|
+
%h3#simple-group-toggle Simple Groups With Toggle
|
46
|
+
:markdown
|
47
|
+
If you add to the switch link then
|
48
|
+
the content will toggle open and shut when the user clicks.
|
49
|
+
= example "modules", "tabs_simple_group_toggle"
|
50
|
+
%hr
|
51
|
+
|
52
|
+
%h3#Traditional-tabs Traditional Tabs
|
53
|
+
:markdown
|
54
|
+
Creating a tabbed module is easy. Simply add the class `.tab` to the links `ul` of a grouped switch.
|
55
|
+
|
56
|
+
If you wish for a tab to be open on load then add `.is-active` to the tab `li` and corresponding `.switch-content`.
|
57
|
+
= example "modules", "tabs_traditional"
|
58
|
+
%hr
|
@@ -0,0 +1,26 @@
|
|
1
|
+
%form{:action => "/test-endpoint", :class => "formtastic entry", :data => { :"forms-success-content" => " ", :"forms-success-replace" => ".test-content", :forms => "/test-endpoint" } }
|
2
|
+
%fieldset.inputs
|
3
|
+
%ol
|
4
|
+
%li.string.input.required.stringish
|
5
|
+
%label{:for => "test_entry_first_name"}
|
6
|
+
First name
|
7
|
+
%abbr{:title => "required"} *
|
8
|
+
%input{:id => "test_entry_first_name", :maxlength => "255", :name => "entry[first_name]", :type => "text"}
|
9
|
+
%li.string.input.required.stringish
|
10
|
+
%label{:for => "test_entry_last_name"}
|
11
|
+
Last name
|
12
|
+
%abbr{:title => "required"} *
|
13
|
+
%input{:id => "test_entry_last_name", :maxlength => "255", :name => "entry[last_name]", :type => "text"}
|
14
|
+
%li.email.input.required.stringish
|
15
|
+
%label{:for => "test_entry_email"}
|
16
|
+
Email
|
17
|
+
%abbr{:title => "required"} *
|
18
|
+
%input{:id => "test_entry_email", :maxlength => "255", :name => "entry[email]", :type => "email"}
|
19
|
+
|
20
|
+
%fieldset.actions
|
21
|
+
%ol
|
22
|
+
%li.support.action
|
23
|
+
:markdown
|
24
|
+
By submitting this test you agree to the [Terms and Conditions](/terms-and-conditions) and to share your information with us.
|
25
|
+
%li.action.button_action
|
26
|
+
%button.green.btn{:name => "button", :type => "submit"} Submit Test
|
@@ -0,0 +1,26 @@
|
|
1
|
+
%form{:action => "/test-endpoint", :class => "horizontal formtastic entry", :data => { :"forms-success-content" => " ", :"forms-success-replace" => ".test-content", :forms => "/test-endpoint" } }
|
2
|
+
%fieldset.inputs
|
3
|
+
%ol
|
4
|
+
%li.string.input.required.stringish
|
5
|
+
%label{:for => "test_entry_first_name"}
|
6
|
+
First name
|
7
|
+
%abbr{:title => "required"} *
|
8
|
+
%input{:id => "test_entry_first_name", :maxlength => "255", :name => "entry[first_name]", :type => "text"}
|
9
|
+
%li.string.input.required.stringish
|
10
|
+
%label{:for => "test_entry_last_name"}
|
11
|
+
Last name
|
12
|
+
%abbr{:title => "required"} *
|
13
|
+
%input{:id => "test_entry_last_name", :maxlength => "255", :name => "entry[last_name]", :type => "text"}
|
14
|
+
%li.email.input.required.stringish
|
15
|
+
%label{:for => "test_entry_email"}
|
16
|
+
Email
|
17
|
+
%abbr{:title => "required"} *
|
18
|
+
%input{:id => "test_entry_email", :maxlength => "255", :name => "entry[email]", :type => "email"}
|
19
|
+
|
20
|
+
%fieldset.actions
|
21
|
+
%ol
|
22
|
+
%li.support.action
|
23
|
+
:markdown
|
24
|
+
By submitting this test you agree to the [Terms and Conditions](/terms-and-conditions) and to share your information with us.
|
25
|
+
%li.action.button_action
|
26
|
+
%button.green.btn{:name => "button", :type => "submit"} Submit Test
|
@@ -0,0 +1,10 @@
|
|
1
|
+
.container
|
2
|
+
.row
|
3
|
+
.mother-eight.column
|
4
|
+
%h1 My Title
|
5
|
+
%p.standout Curabitur dictum ultricies leo, sit amet pretium tortor lacinia at. Duis faucibus, nisi a hendrerit dictum, lorem tellus vulputate leo, mattis tincidunt ligula tellus nec tellus.
|
6
|
+
.row
|
7
|
+
.mother-two.column
|
8
|
+
My Nav
|
9
|
+
.mother-six.column
|
10
|
+
Stuff
|
@@ -0,0 +1,29 @@
|
|
1
|
+
.row
|
2
|
+
- 8.times do |n|
|
3
|
+
.mother-one.sister-one.baby-one.column
|
4
|
+
%p.example-highlight= n+1
|
5
|
+
|
6
|
+
.row
|
7
|
+
.mother-one.sister-hide.column
|
8
|
+
%p.example-highlight 1
|
9
|
+
.mother-two.sister-one.baby-two.column
|
10
|
+
%p.example-highlight 2
|
11
|
+
.mother-five.sister-three.baby-two.column
|
12
|
+
%p.example-highlight 5
|
13
|
+
|
14
|
+
.row
|
15
|
+
.mother-push-two.mother-six.sister-push-none.sister-four.column
|
16
|
+
%p.example-highlight 6
|
17
|
+
.row
|
18
|
+
.mother-eight.column
|
19
|
+
%p.example-highlight Nested Grid
|
20
|
+
.row
|
21
|
+
.mother-four.sister-four.column
|
22
|
+
%p.example-highlight 4
|
23
|
+
.mother-four.sister-four.column
|
24
|
+
%p.example-highlight 4
|
25
|
+
|
26
|
+
.row
|
27
|
+
.mother-eight.column
|
28
|
+
%p.example-highlight 8
|
29
|
+
|
@@ -0,0 +1,11 @@
|
|
1
|
+
%section.alert#info_box
|
2
|
+
%a{ :href => "#info_box", :class => "ss-icon close", :data => {:close => true}} close
|
3
|
+
%p Standard Information Flash Message
|
4
|
+
%section.alert.success#success_box
|
5
|
+
%a{ :href => "#success_box", :class => "ss-icon close", :data => {:close => "#success_box"}} close
|
6
|
+
%p Success Flash Message
|
7
|
+
%section.alert.error#error_box
|
8
|
+
%a{ :href => "#error_box", :class => "ss-icon close", :data => {:close => "#error_box"}} close
|
9
|
+
%p Error Flash Message
|
10
|
+
|
11
|
+
|