decidim-core 0.0.1.alpha2 → 0.0.1.alpha3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +11 -6
  3. data/app/assets/config/decidim_core_manifest.js +1 -0
  4. data/app/assets/images/decidim/badge-ajuntament-footer.png +0 -0
  5. data/app/assets/images/decidim/badge-ajuntament-header.svg +60 -0
  6. data/app/assets/images/decidim/cc-badge.png +0 -0
  7. data/app/assets/images/decidim/hero-home.jpg +0 -0
  8. data/app/assets/images/decidim/icons.svg +1 -0
  9. data/app/assets/javascripts/decidim.js +12 -1
  10. data/app/assets/stylesheets/{decidim.css → decidim.scss} +2 -1
  11. data/app/assets/stylesheets/decidim/application.sass +7 -0
  12. data/app/assets/stylesheets/decidim/layouts/_home.scss +244 -0
  13. data/app/assets/stylesheets/decidim/layouts/_user.scss +24 -0
  14. data/app/assets/stylesheets/decidim/layouts/_view.scss +22 -0
  15. data/app/assets/stylesheets/decidim/modules/_address.scss +26 -0
  16. data/app/assets/stylesheets/decidim/modules/_author-avatar.scss +119 -0
  17. data/app/assets/stylesheets/decidim/modules/_buttons.scss +120 -0
  18. data/app/assets/stylesheets/decidim/modules/_callout.scss +25 -0
  19. data/app/assets/stylesheets/decidim/modules/_card-grid.scss +22 -0
  20. data/app/assets/stylesheets/decidim/modules/_cards.scss +520 -0
  21. data/app/assets/stylesheets/decidim/modules/_comments.scss +119 -0
  22. data/app/assets/stylesheets/decidim/modules/_defintion-data.scss +54 -0
  23. data/app/assets/stylesheets/decidim/modules/_extra.scss +43 -0
  24. data/app/assets/stylesheets/decidim/modules/_filters.scss +96 -0
  25. data/app/assets/stylesheets/decidim/modules/_flag.scss +9 -0
  26. data/app/assets/stylesheets/decidim/modules/_footer.scss +90 -0
  27. data/app/assets/stylesheets/decidim/modules/_forms.scss +30 -0
  28. data/app/assets/stylesheets/decidim/modules/_help.scss +14 -0
  29. data/app/assets/stylesheets/decidim/modules/_icons.scss +32 -0
  30. data/app/assets/stylesheets/decidim/modules/_layout.scss +58 -0
  31. data/app/assets/stylesheets/decidim/modules/_list-docs.scss +30 -0
  32. data/app/assets/stylesheets/decidim/modules/_main-container.scss +70 -0
  33. data/app/assets/stylesheets/decidim/modules/_map.scss +72 -0
  34. data/app/assets/stylesheets/decidim/modules/_navbar.scss +258 -0
  35. data/app/assets/stylesheets/decidim/modules/_opinion-toggle.scss +30 -0
  36. data/app/assets/stylesheets/decidim/modules/_order-by.scss +66 -0
  37. data/app/assets/stylesheets/decidim/modules/_owl-carousel.scss +72 -0
  38. data/app/assets/stylesheets/decidim/modules/_phase-nav.scss +177 -0
  39. data/app/assets/stylesheets/decidim/modules/_popularity.scss +74 -0
  40. data/app/assets/stylesheets/decidim/modules/_process-header.scss +125 -0
  41. data/app/assets/stylesheets/decidim/modules/_process-info.scss +44 -0
  42. data/app/assets/stylesheets/decidim/modules/_process-nav.scss +99 -0
  43. data/app/assets/stylesheets/decidim/modules/_reference.scss +6 -0
  44. data/app/assets/stylesheets/decidim/modules/_reveal.scss +20 -0
  45. data/app/assets/stylesheets/decidim/modules/_share.scss +28 -0
  46. data/app/assets/stylesheets/decidim/modules/_signup.scss +39 -0
  47. data/app/assets/stylesheets/decidim/modules/_static-pages.scss +46 -0
  48. data/app/assets/stylesheets/decidim/modules/_status-labels.scss +14 -0
  49. data/app/assets/stylesheets/decidim/modules/_tags.scss +29 -0
  50. data/app/assets/stylesheets/decidim/modules/_timeline.scss +189 -0
  51. data/app/assets/stylesheets/decidim/modules/_title-action.scss +28 -0
  52. data/app/assets/stylesheets/decidim/modules/_typography.scss +116 -0
  53. data/app/assets/stylesheets/decidim/modules/_user-form.scss +14 -0
  54. data/app/assets/stylesheets/decidim/modules/_video.scss +18 -0
  55. data/app/assets/stylesheets/decidim/utils/_fontface.scss +1 -0
  56. data/app/assets/stylesheets/decidim/utils/_helpers.sass +21 -0
  57. data/app/assets/stylesheets/decidim/utils/_keyframes.sass +13 -0
  58. data/app/assets/stylesheets/decidim/utils/_mixins.sass +33 -0
  59. data/app/assets/stylesheets/decidim/utils/_settings.scss +570 -0
  60. data/app/assets/stylesheets/decidim/utils/_toggle-expand.scss +8 -0
  61. data/app/assets/stylesheets/decidim/utils/_variables.scss +25 -0
  62. data/app/controllers/concerns/decidim/needs_organization.rb +31 -0
  63. data/app/controllers/decidim/application_controller.rb +1 -0
  64. data/app/controllers/decidim/devise/confirmations_controller.rb +10 -0
  65. data/app/controllers/decidim/devise/invitations_controller.rb +20 -0
  66. data/app/controllers/decidim/devise/passwords_controller.rb +10 -0
  67. data/app/controllers/decidim/devise/registrations_controller.rb +19 -0
  68. data/app/controllers/decidim/devise/sessions_controller.rb +10 -0
  69. data/app/helpers/decidim/application_helper.rb +3 -0
  70. data/app/helpers/decidim/layout_helper.rb +27 -0
  71. data/app/helpers/decidim/translations_helper.rb +16 -0
  72. data/app/mailers/decidim/decidim_devise_mailer.rb +11 -0
  73. data/app/middleware/decidim/current_organization.rb +28 -0
  74. data/app/models/decidim/organization.rb +9 -0
  75. data/app/models/decidim/participatory_process.rb +14 -0
  76. data/app/models/decidim/user.rb +28 -4
  77. data/app/views/decidim/devise/confirmations/new.html.erb +15 -0
  78. data/app/views/decidim/devise/invitations/edit.html.erb +14 -0
  79. data/app/views/decidim/devise/passwords/edit.html.erb +20 -0
  80. data/app/views/decidim/devise/passwords/new.html.erb +15 -0
  81. data/app/views/decidim/devise/registrations/edit.html.erb +35 -0
  82. data/app/views/decidim/devise/registrations/new.html.erb +23 -0
  83. data/app/views/decidim/devise/sessions/new.html.erb +23 -0
  84. data/app/views/decidim/devise/shared/_links.html.erb +25 -0
  85. data/app/views/decidim/home/show.html.erb +16 -4
  86. data/app/views/devise/mailer/confirmation_instructions.html.erb +4 -0
  87. data/app/views/devise/mailer/organization_admin_invitation_instructions.html.erb +10 -0
  88. data/app/views/devise/mailer/organization_admin_invitation_instructions.text.erb +11 -0
  89. data/app/views/devise/mailer/password_change.html.erb +3 -0
  90. data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
  91. data/app/views/layouts/decidim/_footer.html.erb +28 -2
  92. data/app/views/layouts/decidim/_header.html.erb +59 -2
  93. data/config/i18n-tasks.yml +120 -0
  94. data/config/initializers/devise.rb +58 -8
  95. data/config/locales/en.yml +35 -0
  96. data/config/routes.rb +12 -1
  97. data/db/migrate/20160919104837_create_decidim_organizations.rb +13 -0
  98. data/db/migrate/20160920140207_devise_invitable_add_to_decidim_users.rb +23 -0
  99. data/db/migrate/20160920141039_user_belongs_to_organization.rb +5 -0
  100. data/db/migrate/20160920141151_user_has_roles.rb +5 -0
  101. data/db/migrate/20161005130108_add_participatory_processes.rb +17 -0
  102. data/db/migrate/20161005153007_add_description_to_organizations.rb +9 -0
  103. data/db/migrate/20161006085629_add_confirmable_to_devise.rb +14 -0
  104. data/db/seeds.rb +35 -0
  105. data/lib/decidim/core.rb +0 -1
  106. data/lib/decidim/core/engine.rb +30 -0
  107. data/lib/decidim/core/version.rb +1 -1
  108. data/lib/decidim/devise_failure_app.rb +36 -0
  109. data/lib/decidim/form_builder.rb +38 -0
  110. data/lib/decidim/translatable_attributes.rb +86 -0
  111. data/lib/devise/models/decidim_validatable.rb +67 -0
  112. data/lib/tasks/factory_girl.rake +16 -0
  113. metadata +254 -9
  114. data/config/locales/devise.en.yml +0 -62
  115. data/lib/decidim/testing_support/common_rake.rb +0 -13
  116. data/lib/generators/decidim/dummy_generator.rb +0 -58
  117. data/lib/generators/decidim/install_generator.rb +0 -76
  118. data/lib/generators/decidim/templates/initializer.rb +0 -4
@@ -0,0 +1,28 @@
1
+ .title-action{
2
+ margin-bottom: 1rem;
3
+ display: flex;
4
+ flex-wrap: wrap;
5
+ align-items: center;
6
+ margin-bottom: 1.5rem;
7
+ }
8
+
9
+ .title-action__title{
10
+ display: inline-block;
11
+ margin-right: 1rem;
12
+ vertical-align: middle;
13
+ margin-bottom: 0;
14
+ &.section-heading{
15
+ margin-bottom: 0;
16
+ }
17
+ }
18
+
19
+ .title-action__action{
20
+ display: inline-block;
21
+ vertical-align: middle;
22
+ margin-bottom: 0;
23
+ .icon{
24
+ width: 11px;
25
+ height: 11px;
26
+ margin-left: .3rem;
27
+ }
28
+ }
@@ -0,0 +1,116 @@
1
+ /* Variables */
2
+
3
+
4
+ /* Typography - Foundation overrides */
5
+
6
+ .heading1{
7
+ line-height: 1.1;
8
+ font-weight: 600;
9
+ font-size: map-get(map-get($header-sizes, small), h1) / 16 + em;
10
+ @include breakpoint(medium){
11
+ font-size: map-get(map-get($header-sizes, medium), h1) / 16 + em;
12
+ }
13
+ }
14
+
15
+ .heading2{
16
+ line-height: 1.2;
17
+ //font-weight: 600;
18
+ font-size: map-get(map-get($header-sizes, small), h2) / 16 + em;
19
+ @include breakpoint(medium){
20
+ font-size: map-get(map-get($header-sizes, medium), h2) / 16 + em;
21
+ }
22
+ }
23
+
24
+ .heading3{
25
+ line-height: 1.2;
26
+ font-size: map-get(map-get($header-sizes, small), h3) / 16 + em;
27
+ @include breakpoint(medium){
28
+ font-size: map-get(map-get($header-sizes, medium), h3) / 16 + em;
29
+ }
30
+ }
31
+
32
+ .heading4{
33
+ line-height: 1.2;
34
+ font-size: map-get(map-get($header-sizes, small), h4) / 16 + em;
35
+ @include breakpoint(medium){
36
+ font-size: map-get(map-get($header-sizes, medium), h4) / 16 + em;
37
+ }
38
+ }
39
+
40
+ .heading5{
41
+ line-height: 1.2;
42
+ font-size: map-get(map-get($header-sizes, small), h5) / 16 + em;
43
+ @include breakpoint(medium){
44
+ font-size: map-get(map-get($header-sizes, medium), h5) / 16 + em;
45
+ }
46
+ }
47
+
48
+ .heading6{
49
+ text-transform: uppercase;
50
+ letter-spacing: .03em;
51
+ font-weight: 600;
52
+ font-size: map-get(map-get($header-sizes, small), h6) / 16 + em;
53
+ @include breakpoint(medium){
54
+ font-size: map-get(map-get($header-sizes, medium), h6) / 16 + em;
55
+ }
56
+ }
57
+
58
+ .heading-small{
59
+ font-size: 1rem;
60
+ }
61
+
62
+ hr{
63
+ width: 50%;
64
+ }
65
+
66
+ /* New typographic styles */
67
+
68
+ .section-heading{
69
+ position: relative;
70
+ margin-bottom: 1rem;
71
+ font-weight: 600;
72
+ text-transform: uppercase;
73
+ font-size: 1.125em;
74
+ letter-spacing: .05em;
75
+ &:before{
76
+ content: "";
77
+ display: inline-block;
78
+ width: 4px;
79
+ height: .8em;
80
+ background-color: $primary;
81
+ margin-right: .5rem;
82
+ margin-bottom: -.1rem;
83
+ }
84
+ }
85
+
86
+ .page-title{
87
+ margin-bottom: 3rem;
88
+ }
89
+
90
+ .text-highlight{
91
+ margin-bottom: 0;
92
+ color: $white;
93
+ text-shadow: 0 0 10px rgba(black, .8);
94
+ &.heading1{
95
+ font-weight: 800;
96
+ }
97
+ > a{
98
+ color: inherit;
99
+ &:hover{
100
+ color: $primary;
101
+ }
102
+ }
103
+ }
104
+
105
+ .text-large{
106
+ font-size: 130%;
107
+ }
108
+
109
+ .text-small{
110
+ font-size: 80%;
111
+ color: $muted;
112
+ }
113
+
114
+ .word-wrapper{
115
+ display: inline-block;
116
+ }
@@ -0,0 +1,14 @@
1
+ .user-form{
2
+ input[type="text"],
3
+ input[type="email"],
4
+ input[type="password"]{
5
+ height: 3rem;
6
+ }
7
+ .button{
8
+ margin: 2rem 0;
9
+ }
10
+ }
11
+
12
+ .user-form__label{
13
+ font-weight: 600;
14
+ }
@@ -0,0 +1,18 @@
1
+ .embed-container {
2
+ position: relative;
3
+ padding-bottom: 56.25%;
4
+ height: 0;
5
+ overflow: hidden;
6
+ max-width: 100%;
7
+ }
8
+
9
+ .embed-container iframe,
10
+ .embed-container object,
11
+ .embed-container embed {
12
+ position: absolute;
13
+ top: 0;
14
+ left: 0;
15
+ width: 100%;
16
+ height: 100%;
17
+ border: none;
18
+ }
@@ -0,0 +1 @@
1
+ @import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,900);
@@ -0,0 +1,21 @@
1
+ // Helpers
2
+
3
+ .list-reset
4
+ margin: 0
5
+ padding: 0
6
+ list-style: none
7
+
8
+ .list-inline
9
+
10
+ > li
11
+ display: inline-block
12
+ vertical-align: top
13
+
14
+ > dt
15
+ clear: both
16
+ margin-right: 0.3em
17
+
18
+ > dt,
19
+ > dd
20
+ float: left
21
+ margin-bottom: 0
@@ -0,0 +1,13 @@
1
+ // Keyframes
2
+
3
+ @keyframes fadeIn
4
+ 0%
5
+ opacity: 0
6
+ 100%
7
+ opacity: 1
8
+
9
+ @keyframes fadeOut
10
+ 0%
11
+ opacity: 1
12
+ 100%
13
+ opacity: 0
@@ -0,0 +1,33 @@
1
+ // Mixins
2
+
3
+ // Media queries, based on: http://alwaystwisted.com/post.php?s=2013-04-01-my-media-query-mixin
4
+
5
+ =mq($point, $query1: min, $query2: width)
6
+ @media (#{$query1}-#{$query2}: $point)
7
+ @content
8
+
9
+ // Centered elements
10
+
11
+ =centered
12
+ position: absolute
13
+ top: 50%
14
+ left: 50%
15
+ transform: translate(-50%, -50%)
16
+
17
+ // Drop Overlays
18
+
19
+ =drop-overlay()
20
+ content: ''
21
+ position: absolute
22
+ z-index: $z2
23
+ top: 0
24
+ left: 0
25
+ bottom: 0
26
+ right: 0
27
+ background: rgba(#27353B, .6)
28
+
29
+ // Usefull Compass mixins
30
+
31
+ // +font-face
32
+ // +ellipsis
33
+ // +clearfix
@@ -0,0 +1,570 @@
1
+ // Foundation for Sites Settings
2
+ // -----------------------------
3
+ //
4
+ // Table of Contents:
5
+ //
6
+ // 1. Global
7
+ // 2. Breakpoints
8
+ // 3. The Grid
9
+ // 4. Base Typography
10
+ // 5. Typography Helpers
11
+ // 6. Abide
12
+ // 7. Accordion
13
+ // 8. Accordion Menu
14
+ // 9. Badge
15
+ // 10. Breadcrumbs
16
+ // 11. Button
17
+ // 12. Button Group
18
+ // 13. Callout
19
+ // 14. Close Button
20
+ // 15. Drilldown
21
+ // 16. Dropdown
22
+ // 17. Dropdown Menu
23
+ // 18. Flex Video
24
+ // 19. Forms
25
+ // 20. Label
26
+ // 21. Media Object
27
+ // 22. Menu
28
+ // 23. Meter
29
+ // 24. Off-canvas
30
+ // 25. Orbit
31
+ // 26. Pagination
32
+ // 27. Progress Bar
33
+ // 28. Reveal
34
+ // 29. Slider
35
+ // 30. Switch
36
+ // 31. Table
37
+ // 32. Tabs
38
+ // 33. Thumbnail
39
+ // 34. Title Bar
40
+ // 35. Tooltip
41
+ // 36. Top Bar
42
+
43
+ @import 'util/util';
44
+
45
+ // 1. Global
46
+ // ---------
47
+
48
+ $global-font-size: 100%;
49
+ $global-width: rem-calc(1200);
50
+ $global-lineheight: 1.5;
51
+ $foundation-palette: (
52
+ primary: #C24B29, //#dc0030,
53
+ //secondary: #777777,
54
+ secondary: #5295ad,//#74AABE,
55
+ success: #57d685,
56
+ warning: #ffae00,
57
+ alert: #ec5840,
58
+ );
59
+ $light-gray: #fafafa;
60
+ $medium-gray: #e8e8e8;
61
+ $dark-gray: #2c2930;
62
+ $black: #1a181d;
63
+ $white: #fff;
64
+ $body-background: $light-gray;
65
+ $body-font-color: #3D393C;
66
+ $body-font-family: 'Source Sans Pro', Helvetica, Roboto, Arial, sans-serif;
67
+ $body-antialiased: true;
68
+ $global-margin: 1rem;
69
+ $global-padding: 1rem;
70
+ $global-weight-normal: normal;
71
+ $global-weight-bold: 600;
72
+ $global-radius: 4px;
73
+ $global-text-direction: ltr;
74
+ $global-flexbox: false;
75
+ $print-transparent-backgrounds: true;
76
+
77
+ @include add-foundation-colors;
78
+
79
+ // 2. Breakpoints
80
+ // --------------
81
+
82
+ $breakpoints: (
83
+ small: 0,
84
+ smallmedium: 450px,
85
+ medium: 640px,
86
+ mediumlarge: 800px,
87
+ large: 1024px,
88
+ xlarge: 1200px,
89
+ xxlarge: 1440px,
90
+ );
91
+ $breakpoint-classes: (small smallmedium medium mediumlarge large);
92
+
93
+ // 3. The Grid
94
+ // -----------
95
+
96
+ $grid-row-width: $global-width;
97
+ $grid-column-count: 12;
98
+ $grid-column-gutter: (
99
+ small: 20px,
100
+ medium: 30px,
101
+ );
102
+ $grid-column-align-edge: true;
103
+ $block-grid-max: 8;
104
+
105
+ // 4. Base Typography
106
+ // ------------------
107
+
108
+ $header-font-family: $body-font-family;
109
+ $header-font-weight: $global-weight-normal;
110
+ $header-font-style: normal;
111
+ $font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace;
112
+ $header-sizes: (
113
+ small: (
114
+ 'h1': 40,
115
+ 'h2': 32,
116
+ 'h3': 28,
117
+ 'h4': 24,
118
+ 'h5': 20,
119
+ 'h6': 16,
120
+ ),
121
+ medium: (
122
+ 'h1': 48,
123
+ 'h2': 32,
124
+ 'h3': 28,
125
+ 'h4': 24,
126
+ 'h5': 20,
127
+ 'h6': 16,
128
+ ),
129
+ );
130
+ $header-color: inherit;
131
+ $header-lineheight: 1.4;
132
+ $header-margin-bottom: 0.5rem;
133
+ $header-text-rendering: optimizeLegibility;
134
+ $small-font-size: 90%;
135
+ $header-small-font-color: lighten($body-font-color, 30);
136
+ $paragraph-lineheight: 1.6;
137
+ $paragraph-margin-bottom: 1rem;
138
+ $paragraph-text-rendering: optimizeLegibility;
139
+ $code-color: $black;
140
+ $code-font-family: $font-family-monospace;
141
+ $code-font-weight: $global-weight-normal;
142
+ $code-background: $light-gray;
143
+ $code-border: 1px solid $medium-gray;
144
+ $code-padding: rem-calc(2 5 1);
145
+ $anchor-color: $secondary-color;
146
+ $anchor-color-hover: scale-color($anchor-color, $lightness: -14%);
147
+ $anchor-text-decoration: none;
148
+ $anchor-text-decoration-hover: none;
149
+ $hr-width: $global-width;
150
+ $hr-border: 1px solid $medium-gray;
151
+ $hr-margin: 6rem auto 5rem;
152
+ $list-lineheight: $paragraph-lineheight;
153
+ $list-margin-bottom: $paragraph-margin-bottom;
154
+ $list-style-type: disc;
155
+ $list-style-position: outside;
156
+ $list-side-margin: 1.25rem;
157
+ $list-nested-side-margin: 1.25rem;
158
+ $defnlist-margin-bottom: 1rem;
159
+ $defnlist-term-weight: $global-weight-bold;
160
+ $defnlist-term-margin-bottom: 0.3rem;
161
+ $blockquote-color: $dark-gray;
162
+ $blockquote-padding: rem-calc(9 20 0 19);
163
+ $blockquote-border: 1px solid $medium-gray;
164
+ $cite-font-size: rem-calc(13);
165
+ $cite-color: $dark-gray;
166
+ $keystroke-font: $font-family-monospace;
167
+ $keystroke-color: $black;
168
+ $keystroke-background: $light-gray;
169
+ $keystroke-padding: rem-calc(2 4 0);
170
+ $keystroke-radius: $global-radius;
171
+ $abbr-underline: 1px dotted $black;
172
+
173
+ // 5. Typography Helpers
174
+ // ---------------------
175
+
176
+ $lead-font-size: $global-font-size * 1.25;
177
+ $lead-lineheight: 1.45;
178
+ $subheader-lineheight: 1.4;
179
+ $subheader-color: $dark-gray;
180
+ $subheader-font-weight: $global-weight-normal;
181
+ $subheader-margin-top: 0.2rem;
182
+ $subheader-margin-bottom: 0.5rem;
183
+ $stat-font-size: 2.5rem;
184
+
185
+ // 6. Abide
186
+ // --------
187
+
188
+ $abide-inputs: true;
189
+ $abide-labels: true;
190
+ $input-background-invalid: map-get($foundation-palette, alert);
191
+ $form-label-color-invalid: map-get($foundation-palette, alert);
192
+ $input-error-color: map-get($foundation-palette, alert);
193
+ $input-error-font-size: rem-calc(12);
194
+ $input-error-font-weight: $global-weight-bold;
195
+
196
+ // 7. Accordion
197
+ // ------------
198
+
199
+ $accordion-background: $white;
200
+ $accordion-plusminus: true;
201
+ $accordion-item-color: foreground($accordion-background, $primary-color);
202
+ $accordion-item-background-hover: $light-gray;
203
+ $accordion-item-padding: 1.25rem 1rem;
204
+ $accordion-content-background: $white;
205
+ $accordion-content-border: 1px solid $light-gray;
206
+ $accordion-content-color: foreground($accordion-content-background, $body-font-color);
207
+ $accordion-content-padding: 1rem;
208
+
209
+ // 8. Accordion Menu
210
+ // -----------------
211
+
212
+ $accordionmenu-arrows: true;
213
+ $accordionmenu-arrow-color: $primary-color;
214
+
215
+ // 9. Badge
216
+ // --------
217
+
218
+ $badge-background: $primary-color;
219
+ $badge-color: foreground($badge-background);
220
+ $badge-padding: 0.3em;
221
+ $badge-minwidth: 1.5em;
222
+ $badge-font-size: 0.6rem;
223
+
224
+ // 10. Breadcrumbs
225
+ // ---------------
226
+
227
+ $breadcrumbs-margin: 0 0 $global-margin 0;
228
+ $breadcrumbs-item-font-size: rem-calc(11);
229
+ $breadcrumbs-item-color: $primary-color;
230
+ $breadcrumbs-item-color-current: $black;
231
+ $breadcrumbs-item-color-disabled: $medium-gray;
232
+ $breadcrumbs-item-margin: 0.75rem;
233
+ $breadcrumbs-item-uppercase: true;
234
+ $breadcrumbs-item-slash: true;
235
+
236
+ // 11. Button
237
+ // ----------
238
+
239
+ $button-padding: 0.85em 1em;
240
+ $button-margin: 0 0 $global-margin 0;
241
+ $button-fill: solid;
242
+ $button-background: $primary-color;
243
+ $button-background-hover: scale-color($button-background, $lightness: -15%);
244
+ $button-color: $white;
245
+ $button-color-alt: $black;
246
+ $button-radius: $global-radius;
247
+ $button-sizes: (
248
+ tiny: 0.9rem,
249
+ small: 0.9rem,
250
+ default: 1rem,
251
+ large: 1.25rem,
252
+ );
253
+ $button-opacity-disabled: 0.25;
254
+
255
+ // 12. Button Group
256
+ // ----------------
257
+
258
+ $buttongroup-margin: 1rem;
259
+ $buttongroup-spacing: 1px;
260
+ $buttongroup-child-selector: '.button';
261
+ $buttongroup-expand-max: 6;
262
+
263
+ // 13. Callout
264
+ // -----------
265
+
266
+ $callout-background: $white;
267
+ $callout-background-fade: 90%;
268
+ $callout-border: 0;
269
+ $callout-margin: 0 0 1rem 0;
270
+ $callout-padding: 1rem;
271
+ $callout-font-color: $body-font-color;
272
+ $callout-font-color-alt: $body-background;
273
+ $callout-radius: 0;
274
+ $callout-link-tint: 30%;
275
+
276
+ // 14. Close Button
277
+ // ----------------
278
+
279
+ $closebutton-position: right top;
280
+ $closebutton-offset-horizontal: 1rem;
281
+ $closebutton-offset-vertical: 0.5rem;
282
+ $closebutton-size: 2em;
283
+ $closebutton-lineheight: 1;
284
+ $closebutton-color: $dark-gray;
285
+ $closebutton-color-hover: map-get($foundation-palette, primary);
286
+
287
+ // 15. Drilldown
288
+ // -------------
289
+
290
+ $drilldown-transition: transform 0.15s linear;
291
+ $drilldown-arrows: true;
292
+ $drilldown-arrow-color: $primary-color;
293
+ $drilldown-background: $white;
294
+
295
+ // 16. Dropdown
296
+ // ------------
297
+
298
+ $dropdown-padding: 1rem;
299
+ $dropdown-border: 1px solid $medium-gray;
300
+ $dropdown-font-size: 1rem;
301
+ $dropdown-width: 300px;
302
+ $dropdown-radius: $global-radius;
303
+ $dropdown-sizes: (
304
+ tiny: 100px,
305
+ small: 200px,
306
+ large: 400px,
307
+ );
308
+
309
+ // 17. Dropdown Menu
310
+ // -----------------
311
+
312
+ $dropdownmenu-arrows: true;
313
+ $dropdownmenu-arrow-color: $anchor-color;
314
+ $dropdownmenu-min-width: 200px;
315
+ $dropdownmenu-background: $white;
316
+ $dropdownmenu-border: 1px solid $medium-gray;
317
+
318
+ // 18. Flex Video
319
+ // --------------
320
+
321
+ $flexvideo-margin-bottom: rem-calc(16);
322
+ $flexvideo-ratio: 4 by 3;
323
+ $flexvideo-ratio-widescreen: 16 by 9;
324
+
325
+ // 19. Forms
326
+ // ---------
327
+
328
+ $fieldset-border: 1px solid $medium-gray;
329
+ $fieldset-padding: rem-calc(20);
330
+ $fieldset-margin: rem-calc(18 0);
331
+ $legend-padding: rem-calc(0 3);
332
+ $form-spacing: rem-calc(16);
333
+ $helptext-color: $body-font-color;
334
+ $helptext-font-size: rem-calc(13);
335
+ $helptext-font-style: italic;
336
+ $input-prefix-color: $black;
337
+ $input-prefix-background: $light-gray;
338
+ $input-prefix-border: 1px solid $medium-gray;
339
+ $input-prefix-padding: 1rem;
340
+ $form-label-color: $body-font-color;
341
+ $form-label-font-size: rem-calc(16);
342
+ $form-label-font-weight: $global-weight-normal;
343
+ $form-label-line-height: 1.8;
344
+ $select-background: $white;
345
+ $select-triangle-color: $dark-gray;
346
+ $select-radius: $global-radius;
347
+ $input-color: $black;
348
+ $input-placeholder-color: darken($medium-gray, 30);
349
+ $input-font-family: inherit;
350
+ $input-font-size: rem-calc(16);
351
+ $input-background: $white;
352
+ $input-background-focus: $white;
353
+ $input-background-disabled: $light-gray;
354
+ $input-border: 1px solid $medium-gray;
355
+ $input-border-focus: 1px solid map-get($foundation-palette, primary);
356
+ $input-shadow: inset 0 1px 2px rgba($black, 0.1);
357
+ $input-shadow-focus: 0 0 5px $medium-gray;
358
+ $input-cursor-disabled: not-allowed;
359
+ $input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
360
+ $input-number-spinners: true;
361
+ $input-radius: $global-radius;
362
+
363
+ // 20. Label
364
+ // ---------
365
+
366
+ $label-background: $primary-color;
367
+ $label-color: foreground($label-background);
368
+ $label-font-size: 0.8rem;
369
+ $label-padding: 0.33333rem 0.5rem;
370
+ $label-radius: $global-radius;
371
+
372
+ // 21. Media Object
373
+ // ----------------
374
+
375
+ $mediaobject-margin-bottom: $global-margin;
376
+ $mediaobject-section-padding: $global-padding;
377
+ $mediaobject-image-width-stacked: 100%;
378
+
379
+ // 22. Menu
380
+ // --------
381
+
382
+ $menu-margin: 0;
383
+ $menu-margin-nested: 1rem;
384
+ $menu-item-padding: 0.7rem 1rem;
385
+ $menu-item-color-active: $white;
386
+ $menu-item-background-active: map-get($foundation-palette, primary);
387
+ $menu-icon-spacing: 0.25rem;
388
+
389
+ // 23. Meter
390
+ // ---------
391
+
392
+ $meter-height: 1rem;
393
+ $meter-radius: $global-radius;
394
+ $meter-background: $medium-gray;
395
+ $meter-fill-good: $success-color;
396
+ $meter-fill-medium: $warning-color;
397
+ $meter-fill-bad: $alert-color;
398
+
399
+ // 24. Off-canvas
400
+ // --------------
401
+
402
+ $offcanvas-size: 250px;
403
+ $offcanvas-background: $light-gray;
404
+ $offcanvas-zindex: -1;
405
+ $offcanvas-transition-length: 0.5s;
406
+ $offcanvas-transition-timing: ease;
407
+ $offcanvas-fixed-reveal: true;
408
+ $offcanvas-exit-background: rgba($white, 0.25);
409
+ $maincontent-class: 'off-canvas-content';
410
+ $maincontent-shadow: 0 0 10px rgba($black, 0.5);
411
+
412
+ // 25. Orbit
413
+ // ---------
414
+
415
+ $orbit-bullet-background: $medium-gray;
416
+ $orbit-bullet-background-active: $dark-gray;
417
+ $orbit-bullet-diameter: 1.2rem;
418
+ $orbit-bullet-margin: 0.1rem;
419
+ $orbit-bullet-margin-top: 0.8rem;
420
+ $orbit-bullet-margin-bottom: 0.8rem;
421
+ $orbit-caption-background: rgba($black, 0.5);
422
+ $orbit-caption-padding: 1rem;
423
+ $orbit-control-background-hover: rgba($black, 0.5);
424
+ $orbit-control-padding: 1rem;
425
+ $orbit-control-zindex: 10;
426
+
427
+ // 26. Pagination
428
+ // --------------
429
+
430
+ $pagination-font-size: rem-calc(16);
431
+ $pagination-margin-bottom: $global-margin;
432
+ $pagination-item-color: $body-font-color;
433
+ $pagination-item-padding: rem-calc(3 10);
434
+ $pagination-item-spacing: rem-calc(1);
435
+ $pagination-radius: $global-radius;
436
+ $pagination-item-background-hover: $white;
437
+ $pagination-item-background-current: $secondary-color;
438
+ $pagination-item-color-current: foreground($pagination-item-background-current);
439
+ $pagination-item-color-disabled: lighten($body-font-color, 30);
440
+ $pagination-ellipsis-color: $body-font-color;
441
+ $pagination-mobile-items: false;
442
+ $pagination-arrows: false;
443
+
444
+ // 27. Progress Bar
445
+ // ----------------
446
+
447
+ $progress-height: 1rem;
448
+ $progress-background: $medium-gray;
449
+ $progress-margin-bottom: $global-margin;
450
+ $progress-meter-background: $primary-color;
451
+ $progress-radius: $global-radius;
452
+
453
+ // 28. Reveal
454
+ // ----------
455
+
456
+ $reveal-background: $light-gray;
457
+ $reveal-width: 600px;
458
+ $reveal-max-width: $global-width;
459
+ $reveal-padding: $global-padding;
460
+ $reveal-border: 1px solid $medium-gray;
461
+ $reveal-radius: $global-radius;
462
+ $reveal-zindex: 1005;
463
+ $reveal-overlay-background: rgba($black, 0.45);
464
+
465
+ // 29. Slider
466
+ // ----------
467
+
468
+ $slider-width-vertical: 0.5rem;
469
+ $slider-transition: all 0.2s ease-in-out;
470
+ $slider-height: 0.5rem;
471
+ $slider-background: $light-gray;
472
+ $slider-fill-background: $medium-gray;
473
+ $slider-handle-height: 1.4rem;
474
+ $slider-handle-width: 1.4rem;
475
+ $slider-handle-background: $primary-color;
476
+ $slider-opacity-disabled: 0.25;
477
+ $slider-radius: $global-radius;
478
+
479
+ // 30. Switch
480
+ // ----------
481
+
482
+ $switch-background: $medium-gray;
483
+ $switch-background-active: $success-color;
484
+ $switch-height: 2rem;
485
+ $switch-height-tiny: 1.5rem;
486
+ $switch-height-small: 1.75rem;
487
+ $switch-height-large: 2.5rem;
488
+ $switch-radius: $global-radius;
489
+ $switch-margin: $global-margin;
490
+ $switch-paddle-background: $white;
491
+ $switch-paddle-offset: 0.25rem;
492
+ $switch-paddle-radius: $global-radius;
493
+ $switch-paddle-transition: all 0.25s ease-out;
494
+
495
+ // 31. Table
496
+ // ---------
497
+
498
+ $table-background: $white;
499
+ $table-color-scale: 5%;
500
+ $table-border: 1px solid smart-scale($table-background, $table-color-scale);
501
+ $table-padding: rem-calc(8 10 10);
502
+ $table-hover-scale: 2%;
503
+ $table-row-hover: darken($table-background, $table-hover-scale);
504
+ $table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale);
505
+ $table-striped-background: smart-scale($table-background, $table-color-scale);
506
+ $table-stripe: even;
507
+ $table-head-background: smart-scale($table-background, $table-color-scale / 2);
508
+ $table-foot-background: smart-scale($table-background, $table-color-scale);
509
+ $table-head-font-color: $body-font-color;
510
+ $show-header-for-stacked: false;
511
+
512
+ // 32. Tabs
513
+ // --------
514
+
515
+ $tab-margin: 0;
516
+ $tab-background: darken($light-gray, 2.5);
517
+ $tab-background-active: $white;
518
+ $tab-item-font-size: rem-calc(16);
519
+ $tab-item-background-hover: $white;
520
+ $tab-item-padding: 1.25rem 1.5rem;
521
+ $tab-expand-max: 6;
522
+ $tab-content-background: $white;
523
+ $tab-content-border: transparent;
524
+ $tab-content-color: foreground(transparent, transparent);
525
+ $tab-content-padding: 0;
526
+
527
+ // 33. Thumbnail
528
+ // -------------
529
+
530
+ $thumbnail-border: solid 4px $white;
531
+ $thumbnail-margin-bottom: $global-margin;
532
+ $thumbnail-shadow: 0 0 0 1px $medium-gray;
533
+ $thumbnail-shadow-hover: 0 0 0px 1px $primary-color;
534
+ $thumbnail-transition: box-shadow 200ms ease-out;
535
+ $thumbnail-radius: $global-radius;
536
+
537
+ // 34. Title Bar
538
+ // -------------
539
+
540
+ $titlebar-background: $black;
541
+ $titlebar-color: $white;
542
+ $titlebar-padding: 0.5rem;
543
+ $titlebar-text-font-weight: bold;
544
+ $titlebar-icon-color: $white;
545
+ $titlebar-icon-color-hover: $medium-gray;
546
+ $titlebar-icon-spacing: 0.25rem;
547
+
548
+ // 35. Tooltip
549
+ // -----------
550
+
551
+ $has-tip-font-weight: $global-weight-bold;
552
+ $has-tip-border-bottom: dotted 1px $dark-gray;
553
+ $tooltip-background-color: $black;
554
+ $tooltip-color: $white;
555
+ $tooltip-padding: 0.75rem;
556
+ $tooltip-font-size: $small-font-size;
557
+ $tooltip-pip-width: 0.75rem;
558
+ $tooltip-pip-height: $tooltip-pip-width * 0.866;
559
+ $tooltip-radius: $global-radius;
560
+
561
+ // 36. Top Bar
562
+ // -----------
563
+
564
+ $topbar-padding: 0.5rem;
565
+ $topbar-background: $black;
566
+ $topbar-submenu-background: $topbar-background;
567
+ $topbar-title-spacing: 1rem;
568
+ $topbar-input-width: 200px;
569
+ $topbar-unstack-breakpoint: medium;
570
+