lesli 5.0.1 → 5.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (213) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/lesli_manifest.js +7 -4
  3. data/app/assets/fonts/lesli/Domine/Domine-VariableFont_wght.ttf +0 -0
  4. data/app/assets/fonts/lesli/Domine/OFL.txt +2 -0
  5. data/app/assets/javascripts/lesli/users/passwords.js +776 -0
  6. data/app/assets/javascripts/lesli/users/registrations.js +776 -0
  7. data/app/assets/javascripts/lesli/users/sessions.js +776 -1
  8. data/app/assets/stylesheets/lesli/users/passwords.scss +5 -6
  9. data/app/assets/stylesheets/lesli/users/registrations.scss +5 -6
  10. data/app/assets/stylesheets/lesli/users/sessions.scss +5 -10
  11. data/app/controllers/lesli/abouts_controller.rb +66 -0
  12. data/app/controllers/lesli/application_lesli_controller.rb +0 -1
  13. data/app/controllers/lesli/interfaces/application/logger.rb +9 -9
  14. data/app/controllers/lesli/roles_controller.rb +43 -0
  15. data/{lib/sass/lesli/devise/registrations.scss.erb → app/controllers/lesli/users_controller.rb} +18 -23
  16. data/app/controllers/users/registrations_controller.rb +137 -58
  17. data/app/helpers/lesli/assets_helper.rb +2 -2
  18. data/app/helpers/lesli/general_helper.rb +1 -1
  19. data/app/helpers/lesli/navigation_helper.rb +7 -10
  20. data/app/helpers/lesli/system_helper.rb +1 -1
  21. data/app/lib/lesli/system.rb +7 -3
  22. data/app/mailers/lesli/application_lesli_mailer.rb +199 -0
  23. data/app/mailers/lesli/application_mailer.rb +7 -0
  24. data/app/mailers/lesli/devise_mailer.rb +33 -0
  25. data/app/models/concerns/user_guard.rb +3 -4
  26. data/app/models/lesli/account.rb +29 -0
  27. data/{lib/sass/lesli/pages/passes.scss → app/models/lesli/descriptor.rb} +14 -8
  28. data/app/models/lesli/role.rb +90 -0
  29. data/app/models/lesli/system_controller.rb +1 -0
  30. data/app/models/lesli/user/detail.rb +55 -0
  31. data/{lib/sass/lesli/pages/otps.scss → app/models/lesli/user/role.rb} +13 -9
  32. data/app/models/lesli/user.rb +4 -3
  33. data/app/services/lesli/role_service.rb +45 -0
  34. data/app/services/lesli/user_service.rb +69 -0
  35. data/app/views/devise/passwords/new.html.erb +72 -12
  36. data/app/views/devise/registrations/new.html.erb +146 -28
  37. data/app/views/devise/sessions/new.html.erb +11 -78
  38. data/app/views/devise/shared/_links.html.erb +96 -25
  39. data/app/views/lesli/emails/devise_mailer/confirmation_instructions.html.erb +23 -0
  40. data/app/views/lesli/emails/user_mailer/invitation.html.erb +23 -0
  41. data/app/views/lesli/layouts/application-devise.html.erb +1 -1
  42. data/app/views/lesli/layouts/application-public.html.erb +2 -2
  43. data/app/views/lesli/layouts/mailer.html.erb +13 -0
  44. data/app/views/lesli/layouts/mailer.text.erb +1 -0
  45. data/app/views/lesli/partials/_application-lesli-header.html.erb +27 -41
  46. data/app/views/lesli/partials/_application-lesli-javascript.html.erb +10 -6
  47. data/app/views/lesli/partials/_application-public-javascript.html.erb +12 -8
  48. data/{lib/sass/lesli/devise/confirmations.scss.erb → app/views/lesli/wrappers/_application-devise-simple.erb} +30 -46
  49. data/app/views/lesli/wrappers/{_application-auth.html.erb → _application-devise.html.erb} +15 -0
  50. data/config/initializers/{lesli_defaults.rb → lesli.rb} +4 -2
  51. data/config/locales/translations.en.yml +7 -0
  52. data/config/locales/translations.es.yml +7 -0
  53. data/config/routes.rb +24 -17
  54. data/db/migrate/v1.0/0010000210_create_lesli_roles.rb +1 -1
  55. data/db/{tables/0010003010_create_user_details.rb → migrate/v1.0/0010003010_create_lesli_user_details.rb} +6 -6
  56. data/db/{tables/0010003510_create_user_roles.rb → migrate/v1.0/0010003410_create_lesli_user_roles.rb} +4 -4
  57. data/db/{tables/0010005010_create_descriptors.rb → migrate/v1.0/0010005010_create_lesli_descriptors.rb} +5 -6
  58. data/db/{tables/0010005110_create_descriptor_privileges.rb → migrate/v1.0/0010005110_create_lesli_descriptor_privileges.rb} +8 -7
  59. data/db/{tables/0010005210_create_descriptor_activities.rb → migrate/v1.0/0010005210_create_lesli_descriptor_activities.rb} +6 -8
  60. data/db/seeds.rb +0 -2
  61. data/lib/lesli/engine.rb +25 -2
  62. data/lib/lesli/routing.rb +26 -0
  63. data/lib/lesli/version.rb +2 -2
  64. data/lib/lesli.rb +1 -0
  65. data/lib/{sass/lesli/pages/mfas.scss → mailer_previews/devise_mailer_preview.rb} +12 -6
  66. data/lib/sass/lesli/bulma/loader.scss +3 -0
  67. data/lib/sass/lesli/elements/header.scss +1 -1
  68. data/lib/sass/lesli/fonts/families.scss +3 -3
  69. data/lib/sass/lesli/layouts/application-container.scss +4 -0
  70. data/lib/sass/lesli/{devise/passwords.scss.erb → pages/devise-simple.scss} +38 -38
  71. data/lib/sass/lesli/{templates → pages}/devise.scss +4 -26
  72. data/lib/sass/lesli/settings/variables.scss +1 -1
  73. data/lib/sass/lesli/templates/application.scss +8 -4
  74. data/lib/sass/lesli/templates/dashboards.scss +8 -0
  75. data/lib/sass/lesli/templates/public.scss +2 -3
  76. data/lib/tasks/lesli/controllers.rake +33 -0
  77. data/lib/tasks/lesli/db.rake +88 -0
  78. data/lib/tasks/lesli/git.rake +74 -0
  79. data/lib/tasks/lesli_tasks.rake +70 -20
  80. data/lib/vue/devise/registrations.js +10 -15
  81. data/lib/vue/layouts/application-container.vue +10 -2
  82. data/lib/vue/layouts/application-header.vue +10 -3
  83. data/lib/vue/stores/account.js +113 -0
  84. data/lib/vue/stores/role.js +243 -0
  85. data/lib/vue/stores/translations.json +86 -0
  86. data/lib/vue/stores/user.js +102 -0
  87. data/lib/{sass/lesli/devise/sessions.scss → vue/translation.js} +14 -5
  88. data/lib/webpack/base.js +2 -2
  89. data/lib/webpack/core.js +2 -0
  90. data/readme.md +74 -55
  91. data/vendor/bulma/LICENSE +21 -0
  92. data/vendor/bulma/bulma.sass +10 -0
  93. data/vendor/bulma/css/bulma-rtl.css +11851 -0
  94. data/vendor/bulma/css/bulma-rtl.min.css +1 -0
  95. data/vendor/bulma/css/bulma.css +11851 -0
  96. data/vendor/bulma/css/bulma.min.css +1 -0
  97. data/vendor/bulma/sass/base/_all.sass +6 -0
  98. data/vendor/bulma/sass/base/animations.sass +5 -0
  99. data/vendor/bulma/sass/base/generic.sass +145 -0
  100. data/vendor/bulma/sass/base/helpers.sass +1 -0
  101. data/vendor/bulma/sass/base/minireset.sass +79 -0
  102. data/vendor/bulma/sass/components/_all.sass +15 -0
  103. data/vendor/bulma/sass/components/breadcrumb.sass +77 -0
  104. data/vendor/bulma/sass/components/card.sass +103 -0
  105. data/vendor/bulma/sass/components/dropdown.sass +83 -0
  106. data/vendor/bulma/sass/components/level.sass +79 -0
  107. data/vendor/bulma/sass/components/media.sass +59 -0
  108. data/vendor/bulma/sass/components/menu.sass +59 -0
  109. data/vendor/bulma/sass/components/message.sass +101 -0
  110. data/vendor/bulma/sass/components/modal.sass +117 -0
  111. data/vendor/bulma/sass/components/navbar.sass +446 -0
  112. data/vendor/bulma/sass/components/pagination.sass +167 -0
  113. data/vendor/bulma/sass/components/panel.sass +121 -0
  114. data/vendor/bulma/sass/components/tabs.sass +176 -0
  115. data/vendor/bulma/sass/elements/_all.sass +16 -0
  116. data/vendor/bulma/sass/elements/box.sass +26 -0
  117. data/vendor/bulma/sass/elements/button.sass +357 -0
  118. data/vendor/bulma/sass/elements/container.sass +29 -0
  119. data/vendor/bulma/sass/elements/content.sass +162 -0
  120. data/vendor/bulma/sass/elements/form.sass +1 -0
  121. data/vendor/bulma/sass/elements/icon.sass +46 -0
  122. data/vendor/bulma/sass/elements/image.sass +73 -0
  123. data/vendor/bulma/sass/elements/notification.sass +52 -0
  124. data/vendor/bulma/sass/elements/other.sass +31 -0
  125. data/vendor/bulma/sass/elements/progress.sass +73 -0
  126. data/vendor/bulma/sass/elements/table.sass +134 -0
  127. data/vendor/bulma/sass/elements/tag.sass +140 -0
  128. data/vendor/bulma/sass/elements/title.sass +70 -0
  129. data/vendor/bulma/sass/form/_all.sass +9 -0
  130. data/vendor/bulma/sass/form/checkbox-radio.sass +22 -0
  131. data/vendor/bulma/sass/form/file.sass +184 -0
  132. data/vendor/bulma/sass/form/input-textarea.sass +66 -0
  133. data/vendor/bulma/sass/form/select.sass +88 -0
  134. data/vendor/bulma/sass/form/shared.sass +60 -0
  135. data/vendor/bulma/sass/form/tools.sass +215 -0
  136. data/vendor/bulma/sass/grid/_all.sass +5 -0
  137. data/vendor/bulma/sass/grid/columns.sass +513 -0
  138. data/vendor/bulma/sass/grid/tiles.sass +36 -0
  139. data/vendor/bulma/sass/helpers/_all.sass +12 -0
  140. data/vendor/bulma/sass/helpers/color.sass +39 -0
  141. data/vendor/bulma/sass/helpers/flexbox.sass +35 -0
  142. data/vendor/bulma/sass/helpers/float.sass +10 -0
  143. data/vendor/bulma/sass/helpers/other.sass +14 -0
  144. data/vendor/bulma/sass/helpers/overflow.sass +2 -0
  145. data/vendor/bulma/sass/helpers/position.sass +7 -0
  146. data/vendor/bulma/sass/helpers/spacing.sass +31 -0
  147. data/vendor/bulma/sass/helpers/typography.sass +103 -0
  148. data/vendor/bulma/sass/helpers/visibility.sass +122 -0
  149. data/vendor/bulma/sass/layout/_all.sass +6 -0
  150. data/vendor/bulma/sass/layout/footer.sass +11 -0
  151. data/vendor/bulma/sass/layout/hero.sass +153 -0
  152. data/vendor/bulma/sass/layout/section.sass +17 -0
  153. data/vendor/bulma/sass/utilities/_all.sass +9 -0
  154. data/vendor/bulma/sass/utilities/animations.sass +1 -0
  155. data/vendor/bulma/sass/utilities/controls.sass +49 -0
  156. data/vendor/bulma/sass/utilities/derived-variables.sass +114 -0
  157. data/vendor/bulma/sass/utilities/extends.sass +25 -0
  158. data/vendor/bulma/sass/utilities/functions.sass +135 -0
  159. data/vendor/bulma/sass/utilities/initial-variables.sass +79 -0
  160. data/vendor/bulma/sass/utilities/mixins.sass +303 -0
  161. data/vendor/lesli-css/_index.scss +34 -0
  162. data/vendor/lesli-css/lesli.scss +51 -0
  163. data/{app/assets/stylesheets/lesli/users/devise.scss → vendor/lesli-css/license} +7 -11
  164. data/vendor/lesli-css/src/base/fonts.scss +50 -0
  165. data/vendor/lesli-css/src/base/normalize.scss +118 -0
  166. data/vendor/lesli-css/src/components/blockquote.scss +61 -0
  167. data/vendor/lesli-css/src/components/columns.scss +92 -0
  168. data/vendor/lesli-css/src/components/container.scss +47 -0
  169. data/vendor/lesli-css/src/components/grid.scss +0 -0
  170. data/vendor/lesli-css/src/components/navigation.scss +59 -0
  171. data/vendor/lesli-css/src/functions/colors.scss +184 -0
  172. data/vendor/lesli-css/src/helpers/units.scss +44 -0
  173. data/vendor/lesli-css/src/mixins/breakpoint.scss +184 -0
  174. data/vendor/lesli-css/src/mixins/flex.scss +80 -0
  175. data/vendor/lesli-css/src/mixins/scrollbar.scss +46 -0
  176. data/vendor/lesli-css/src/settings/variables.scss +26 -0
  177. data/vendor/lesli-css/tests/base/normalize.spec.scss +125 -0
  178. data/vendor/lesli-css/tests/functions/colors.spec.scss +117 -0
  179. data/vendor/lesli-css/tests/mixins/breakpoint.spec.scss +429 -0
  180. data/vendor/lesli-css/tests/mixins/scrollbar.spec.scss +82 -0
  181. data/vendor/lesli-css/vendor/normalize.scss +351 -0
  182. data/vendor/remixicon/License +201 -0
  183. data/vendor/remixicon/fonts/remixicon.css +2583 -0
  184. metadata +290 -51
  185. data/app/assets/fonts/lesli/Domine/Domine-Bold.ttf +0 -0
  186. data/app/assets/fonts/lesli/Domine/Domine-Regular.ttf +0 -0
  187. data/app/controllers/lesli/profiles_controller.rb +0 -60
  188. data/app/helpers/lesli/profiles_helper.rb +0 -4
  189. data/app/models/lesli/profile.rb +0 -4
  190. data/app/views/lesli/devise/sessions/_form.html.erb +0 -17
  191. data/app/views/lesli/devise/sessions/_session.html.erb +0 -2
  192. data/app/views/lesli/devise/sessions/edit.html.erb +0 -10
  193. data/app/views/lesli/devise/sessions/index.html.erb +0 -14
  194. data/app/views/lesli/devise/sessions/new.html.erb +0 -9
  195. data/app/views/lesli/devise/sessions/show.html.erb +0 -10
  196. data/app/views/lesli/profiles/_form.html.erb +0 -17
  197. data/app/views/lesli/profiles/_profile.html.erb +0 -2
  198. data/app/views/lesli/profiles/edit.html.erb +0 -10
  199. data/app/views/lesli/profiles/index.html.erb +0 -14
  200. data/app/views/lesli/profiles/new.html.erb +0 -9
  201. data/app/views/lesli/profiles/show.html.erb +0 -10
  202. data/lib/sass/lesli/pages/dashboards.scss +0 -57
  203. data/lib/tasks/db.rb +0 -76
  204. data/lib/vue/stores/profile.js +0 -90
  205. data/lib/vue/stores/workflow2.js +0 -345
  206. data/lib/vue/stores/workflows/actions.js +0 -327
  207. data/lib/vue/stores/workflows/associations.js +0 -130
  208. data/lib/vue/stores/workflows/checks.js +0 -210
  209. /data/lib/vue/stores/{announcements.js → entities/announcements.js} +0 -0
  210. /data/lib/vue/stores/{dashboard.js → entities/dashboard.js} +0 -0
  211. /data/lib/vue/stores/{workflow.js → entities/workflow.js} +0 -0
  212. /data/lib/vue/stores/{cloud-bell → panels}/notification.js +0 -0
  213. /data/lib/vue/stores/{firebase.js → services/firebase.js} +0 -0
@@ -0,0 +1,357 @@
1
+ @import "../utilities/controls"
2
+ @import "../utilities/mixins"
3
+
4
+ $button-color: $text-strong !default
5
+ $button-background-color: $scheme-main !default
6
+ $button-family: false !default
7
+
8
+ $button-border-color: $border !default
9
+ $button-border-width: $control-border-width !default
10
+
11
+ $button-padding-vertical: calc(0.5em - #{$button-border-width}) !default
12
+ $button-padding-horizontal: 1em !default
13
+
14
+ $button-hover-color: $link-hover !default
15
+ $button-hover-border-color: $link-hover-border !default
16
+
17
+ $button-focus-color: $link-focus !default
18
+ $button-focus-border-color: $link-focus-border !default
19
+ $button-focus-box-shadow-size: 0 0 0 0.125em !default
20
+ $button-focus-box-shadow-color: bulmaRgba($link, 0.25) !default
21
+
22
+ $button-active-color: $link-active !default
23
+ $button-active-border-color: $link-active-border !default
24
+
25
+ $button-text-color: $text !default
26
+ $button-text-decoration: underline !default
27
+ $button-text-hover-background-color: $background !default
28
+ $button-text-hover-color: $text-strong !default
29
+
30
+ $button-ghost-background: none !default
31
+ $button-ghost-border-color: transparent !default
32
+ $button-ghost-color: $link !default
33
+ $button-ghost-decoration: none !default
34
+ $button-ghost-hover-color: $link !default
35
+ $button-ghost-hover-decoration: underline !default
36
+
37
+ $button-disabled-background-color: $scheme-main !default
38
+ $button-disabled-border-color: $border !default
39
+ $button-disabled-shadow: none !default
40
+ $button-disabled-opacity: 0.5 !default
41
+
42
+ $button-static-color: $text-light !default
43
+ $button-static-background-color: $scheme-main-ter !default
44
+ $button-static-border-color: $border !default
45
+
46
+ $button-colors: $colors !default
47
+ $button-responsive-sizes: ("mobile": ("small": ($size-small * 0.75), "normal": ($size-small * 0.875), "medium": $size-small, "large": $size-normal), "tablet-only": ("small": ($size-small * 0.875), "normal": ($size-small), "medium": $size-normal, "large": $size-medium)) !default
48
+
49
+ // The button sizes use mixins so they can be used at different breakpoints
50
+ =button-small
51
+ &:not(.is-rounded)
52
+ border-radius: $radius-small
53
+ font-size: $size-small
54
+ =button-normal
55
+ font-size: $size-normal
56
+ =button-medium
57
+ font-size: $size-medium
58
+ =button-large
59
+ font-size: $size-large
60
+
61
+ .button
62
+ @extend %control
63
+ @extend %unselectable
64
+ background-color: $button-background-color
65
+ border-color: $button-border-color
66
+ border-width: $button-border-width
67
+ color: $button-color
68
+ cursor: pointer
69
+ @if $button-family
70
+ font-family: $button-family
71
+ justify-content: center
72
+ padding-bottom: $button-padding-vertical
73
+ padding-left: $button-padding-horizontal
74
+ padding-right: $button-padding-horizontal
75
+ padding-top: $button-padding-vertical
76
+ text-align: center
77
+ white-space: nowrap
78
+ strong
79
+ color: inherit
80
+ .icon
81
+ &,
82
+ &.is-small,
83
+ &.is-medium,
84
+ &.is-large
85
+ height: 1.5em
86
+ width: 1.5em
87
+ &:first-child:not(:last-child)
88
+ +ltr-property("margin", calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width}), false)
89
+ +ltr-property("margin", $button-padding-horizontal * 0.25)
90
+ &:last-child:not(:first-child)
91
+ +ltr-property("margin", $button-padding-horizontal * 0.25, false)
92
+ +ltr-property("margin", calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width}))
93
+ &:first-child:last-child
94
+ margin-left: calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width})
95
+ margin-right: calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width})
96
+ // States
97
+ &:hover,
98
+ &.is-hovered
99
+ border-color: $button-hover-border-color
100
+ color: $button-hover-color
101
+ &:focus,
102
+ &.is-focused
103
+ border-color: $button-focus-border-color
104
+ color: $button-focus-color
105
+ &:not(:active)
106
+ box-shadow: $button-focus-box-shadow-size $button-focus-box-shadow-color
107
+ &:active,
108
+ &.is-active
109
+ border-color: $button-active-border-color
110
+ color: $button-active-color
111
+ // Colors
112
+ &.is-text
113
+ background-color: transparent
114
+ border-color: transparent
115
+ color: $button-text-color
116
+ text-decoration: $button-text-decoration
117
+ &:hover,
118
+ &.is-hovered,
119
+ &:focus,
120
+ &.is-focused
121
+ background-color: $button-text-hover-background-color
122
+ color: $button-text-hover-color
123
+ &:active,
124
+ &.is-active
125
+ background-color: bulmaDarken($button-text-hover-background-color, 5%)
126
+ color: $button-text-hover-color
127
+ &[disabled],
128
+ fieldset[disabled] &
129
+ background-color: transparent
130
+ border-color: transparent
131
+ box-shadow: none
132
+ &.is-ghost
133
+ background: $button-ghost-background
134
+ border-color: $button-ghost-border-color
135
+ color: $button-ghost-color
136
+ text-decoration: $button-ghost-decoration
137
+ &:hover,
138
+ &.is-hovered
139
+ color: $button-ghost-hover-color
140
+ text-decoration: $button-ghost-hover-decoration
141
+ @each $name, $pair in $button-colors
142
+ $color: nth($pair, 1)
143
+ $color-invert: nth($pair, 2)
144
+ &.is-#{$name}
145
+ background-color: $color
146
+ border-color: transparent
147
+ color: $color-invert
148
+ &:hover,
149
+ &.is-hovered
150
+ background-color: bulmaDarken($color, 2.5%)
151
+ border-color: transparent
152
+ color: $color-invert
153
+ &:focus,
154
+ &.is-focused
155
+ border-color: transparent
156
+ color: $color-invert
157
+ &:not(:active)
158
+ box-shadow: $button-focus-box-shadow-size bulmaRgba($color, 0.25)
159
+ &:active,
160
+ &.is-active
161
+ background-color: bulmaDarken($color, 5%)
162
+ border-color: transparent
163
+ color: $color-invert
164
+ &[disabled],
165
+ fieldset[disabled] &
166
+ background-color: $color
167
+ border-color: $color
168
+ box-shadow: none
169
+ &.is-inverted
170
+ background-color: $color-invert
171
+ color: $color
172
+ &:hover,
173
+ &.is-hovered
174
+ background-color: bulmaDarken($color-invert, 5%)
175
+ &[disabled],
176
+ fieldset[disabled] &
177
+ background-color: $color-invert
178
+ border-color: transparent
179
+ box-shadow: none
180
+ color: $color
181
+ &.is-loading
182
+ &::after
183
+ border-color: transparent transparent $color-invert $color-invert !important
184
+ &.is-outlined
185
+ background-color: transparent
186
+ border-color: $color
187
+ color: $color
188
+ &:hover,
189
+ &.is-hovered,
190
+ &:focus,
191
+ &.is-focused
192
+ background-color: $color
193
+ border-color: $color
194
+ color: $color-invert
195
+ &.is-loading
196
+ &::after
197
+ border-color: transparent transparent $color $color !important
198
+ &:hover,
199
+ &.is-hovered,
200
+ &:focus,
201
+ &.is-focused
202
+ &::after
203
+ border-color: transparent transparent $color-invert $color-invert !important
204
+ &[disabled],
205
+ fieldset[disabled] &
206
+ background-color: transparent
207
+ border-color: $color
208
+ box-shadow: none
209
+ color: $color
210
+ &.is-inverted.is-outlined
211
+ background-color: transparent
212
+ border-color: $color-invert
213
+ color: $color-invert
214
+ &:hover,
215
+ &.is-hovered,
216
+ &:focus,
217
+ &.is-focused
218
+ background-color: $color-invert
219
+ color: $color
220
+ &.is-loading
221
+ &:hover,
222
+ &.is-hovered,
223
+ &:focus,
224
+ &.is-focused
225
+ &::after
226
+ border-color: transparent transparent $color $color !important
227
+ &[disabled],
228
+ fieldset[disabled] &
229
+ background-color: transparent
230
+ border-color: $color-invert
231
+ box-shadow: none
232
+ color: $color-invert
233
+ // If light and dark colors are provided
234
+ @if length($pair) >= 4
235
+ $color-light: nth($pair, 3)
236
+ $color-dark: nth($pair, 4)
237
+ &.is-light
238
+ background-color: $color-light
239
+ color: $color-dark
240
+ &:hover,
241
+ &.is-hovered
242
+ background-color: bulmaDarken($color-light, 2.5%)
243
+ border-color: transparent
244
+ color: $color-dark
245
+ &:active,
246
+ &.is-active
247
+ background-color: bulmaDarken($color-light, 5%)
248
+ border-color: transparent
249
+ color: $color-dark
250
+ // Sizes
251
+ &.is-small
252
+ +button-small
253
+ &.is-normal
254
+ +button-normal
255
+ &.is-medium
256
+ +button-medium
257
+ &.is-large
258
+ +button-large
259
+ // Modifiers
260
+ &[disabled],
261
+ fieldset[disabled] &
262
+ background-color: $button-disabled-background-color
263
+ border-color: $button-disabled-border-color
264
+ box-shadow: $button-disabled-shadow
265
+ opacity: $button-disabled-opacity
266
+ &.is-fullwidth
267
+ display: flex
268
+ width: 100%
269
+ &.is-loading
270
+ color: transparent !important
271
+ pointer-events: none
272
+ &::after
273
+ @extend %loader
274
+ +center(1em)
275
+ position: absolute !important
276
+ &.is-static
277
+ background-color: $button-static-background-color
278
+ border-color: $button-static-border-color
279
+ color: $button-static-color
280
+ box-shadow: none
281
+ pointer-events: none
282
+ &.is-rounded
283
+ border-radius: $radius-rounded
284
+ padding-left: calc(#{$button-padding-horizontal} + 0.25em)
285
+ padding-right: calc(#{$button-padding-horizontal} + 0.25em)
286
+
287
+ .buttons
288
+ align-items: center
289
+ display: flex
290
+ flex-wrap: wrap
291
+ justify-content: flex-start
292
+ .button
293
+ margin-bottom: 0.5rem
294
+ &:not(:last-child):not(.is-fullwidth)
295
+ +ltr-property("margin", 0.5rem)
296
+ &:last-child
297
+ margin-bottom: -0.5rem
298
+ &:not(:last-child)
299
+ margin-bottom: 1rem
300
+ // Sizes
301
+ &.are-small
302
+ .button:not(.is-normal):not(.is-medium):not(.is-large)
303
+ +button-small
304
+ &.are-medium
305
+ .button:not(.is-small):not(.is-normal):not(.is-large)
306
+ +button-medium
307
+ &.are-large
308
+ .button:not(.is-small):not(.is-normal):not(.is-medium)
309
+ +button-large
310
+ &.has-addons
311
+ .button
312
+ &:not(:first-child)
313
+ border-bottom-left-radius: 0
314
+ border-top-left-radius: 0
315
+ &:not(:last-child)
316
+ border-bottom-right-radius: 0
317
+ border-top-right-radius: 0
318
+ +ltr-property("margin", -1px)
319
+ &:last-child
320
+ +ltr-property("margin", 0)
321
+ &:hover,
322
+ &.is-hovered
323
+ z-index: 2
324
+ &:focus,
325
+ &.is-focused,
326
+ &:active,
327
+ &.is-active,
328
+ &.is-selected
329
+ z-index: 3
330
+ &:hover
331
+ z-index: 4
332
+ &.is-expanded
333
+ flex-grow: 1
334
+ flex-shrink: 1
335
+ &.is-centered
336
+ justify-content: center
337
+ &:not(.has-addons)
338
+ .button:not(.is-fullwidth)
339
+ margin-left: 0.25rem
340
+ margin-right: 0.25rem
341
+ &.is-right
342
+ justify-content: flex-end
343
+ &:not(.has-addons)
344
+ .button:not(.is-fullwidth)
345
+ margin-left: 0.25rem
346
+ margin-right: 0.25rem
347
+
348
+ @each $bp-name, $bp-sizes in $button-responsive-sizes
349
+ +breakpoint($bp-name)
350
+ @each $size, $value in $bp-sizes
351
+ @if $size != "normal"
352
+ .button.is-responsive.is-#{$size}
353
+ font-size: $value
354
+ @else
355
+ .button.is-responsive,
356
+ .button.is-responsive.is-normal
357
+ font-size: $value
@@ -0,0 +1,29 @@
1
+ @import "../utilities/mixins"
2
+
3
+ $container-offset: (2 * $gap) !default
4
+ $container-max-width: $fullhd !default
5
+
6
+ .container
7
+ flex-grow: 1
8
+ margin: 0 auto
9
+ position: relative
10
+ width: auto
11
+ &.is-fluid
12
+ max-width: none !important
13
+ padding-left: $gap
14
+ padding-right: $gap
15
+ width: 100%
16
+ +desktop
17
+ max-width: $desktop - $container-offset
18
+ +until-widescreen
19
+ &.is-widescreen:not(.is-max-desktop)
20
+ max-width: min($widescreen, $container-max-width) - $container-offset
21
+ +until-fullhd
22
+ &.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen)
23
+ max-width: min($fullhd, $container-max-width) - $container-offset
24
+ +widescreen
25
+ &:not(.is-max-desktop)
26
+ max-width: min($widescreen, $container-max-width) - $container-offset
27
+ +fullhd
28
+ &:not(.is-max-desktop):not(.is-max-widescreen)
29
+ max-width: min($fullhd, $container-max-width) - $container-offset
@@ -0,0 +1,162 @@
1
+ @import "../utilities/mixins"
2
+
3
+ $content-heading-color: $text-strong !default
4
+ $content-heading-weight: $weight-semibold !default
5
+ $content-heading-line-height: 1.125 !default
6
+
7
+ $content-block-margin-bottom: 1em !default
8
+
9
+ $content-blockquote-background-color: $background !default
10
+ $content-blockquote-border-left: 5px solid $border !default
11
+ $content-blockquote-padding: 1.25em 1.5em !default
12
+
13
+ $content-pre-padding: 1.25em 1.5em !default
14
+
15
+ $content-table-cell-border: 1px solid $border !default
16
+ $content-table-cell-border-width: 0 0 1px !default
17
+ $content-table-cell-padding: 0.5em 0.75em !default
18
+ $content-table-cell-heading-color: $text-strong !default
19
+ $content-table-head-cell-border-width: 0 0 2px !default
20
+ $content-table-head-cell-color: $text-strong !default
21
+ $content-table-body-last-row-cell-border-bottom-width: 0 !default
22
+ $content-table-foot-cell-border-width: 2px 0 0 !default
23
+ $content-table-foot-cell-color: $text-strong !default
24
+
25
+ .content
26
+ @extend %block
27
+ // Inline
28
+ li + li
29
+ margin-top: 0.25em
30
+ // Block
31
+ p,
32
+ dl,
33
+ ol,
34
+ ul,
35
+ blockquote,
36
+ pre,
37
+ table
38
+ &:not(:last-child)
39
+ margin-bottom: $content-block-margin-bottom
40
+ h1,
41
+ h2,
42
+ h3,
43
+ h4,
44
+ h5,
45
+ h6
46
+ color: $content-heading-color
47
+ font-weight: $content-heading-weight
48
+ line-height: $content-heading-line-height
49
+ h1
50
+ font-size: 2em
51
+ margin-bottom: 0.5em
52
+ &:not(:first-child)
53
+ margin-top: 1em
54
+ h2
55
+ font-size: 1.75em
56
+ margin-bottom: 0.5714em
57
+ &:not(:first-child)
58
+ margin-top: 1.1428em
59
+ h3
60
+ font-size: 1.5em
61
+ margin-bottom: 0.6666em
62
+ &:not(:first-child)
63
+ margin-top: 1.3333em
64
+ h4
65
+ font-size: 1.25em
66
+ margin-bottom: 0.8em
67
+ h5
68
+ font-size: 1.125em
69
+ margin-bottom: 0.8888em
70
+ h6
71
+ font-size: 1em
72
+ margin-bottom: 1em
73
+ blockquote
74
+ background-color: $content-blockquote-background-color
75
+ +ltr-property("border", $content-blockquote-border-left, false)
76
+ padding: $content-blockquote-padding
77
+ ol
78
+ list-style-position: outside
79
+ +ltr-property("margin", 2em, false)
80
+ margin-top: 1em
81
+ &:not([type])
82
+ list-style-type: decimal
83
+ &.is-lower-alpha
84
+ list-style-type: lower-alpha
85
+ &.is-lower-roman
86
+ list-style-type: lower-roman
87
+ &.is-upper-alpha
88
+ list-style-type: upper-alpha
89
+ &.is-upper-roman
90
+ list-style-type: upper-roman
91
+ ul
92
+ list-style: disc outside
93
+ +ltr-property("margin", 2em, false)
94
+ margin-top: 1em
95
+ ul
96
+ list-style-type: circle
97
+ margin-top: 0.5em
98
+ ul
99
+ list-style-type: square
100
+ dd
101
+ +ltr-property("margin", 2em, false)
102
+ figure
103
+ margin-left: 2em
104
+ margin-right: 2em
105
+ text-align: center
106
+ &:not(:first-child)
107
+ margin-top: 2em
108
+ &:not(:last-child)
109
+ margin-bottom: 2em
110
+ img
111
+ display: inline-block
112
+ figcaption
113
+ font-style: italic
114
+ pre
115
+ +overflow-touch
116
+ overflow-x: auto
117
+ padding: $content-pre-padding
118
+ white-space: pre
119
+ word-wrap: normal
120
+ sup,
121
+ sub
122
+ font-size: 75%
123
+ table
124
+ width: 100%
125
+ td,
126
+ th
127
+ border: $content-table-cell-border
128
+ border-width: $content-table-cell-border-width
129
+ padding: $content-table-cell-padding
130
+ vertical-align: top
131
+ th
132
+ color: $content-table-cell-heading-color
133
+ &:not([align])
134
+ text-align: inherit
135
+ thead
136
+ td,
137
+ th
138
+ border-width: $content-table-head-cell-border-width
139
+ color: $content-table-head-cell-color
140
+ tfoot
141
+ td,
142
+ th
143
+ border-width: $content-table-foot-cell-border-width
144
+ color: $content-table-foot-cell-color
145
+ tbody
146
+ tr
147
+ &:last-child
148
+ td,
149
+ th
150
+ border-bottom-width: $content-table-body-last-row-cell-border-bottom-width
151
+ .tabs
152
+ li + li
153
+ margin-top: 0
154
+ // Sizes
155
+ &.is-small
156
+ font-size: $size-small
157
+ &.is-normal
158
+ font-size: $size-normal
159
+ &.is-medium
160
+ font-size: $size-medium
161
+ &.is-large
162
+ font-size: $size-large
@@ -0,0 +1 @@
1
+ @warn "The form.sass file is DEPRECATED. It has moved into its own /form folder. Please import sass/form/_all instead."
@@ -0,0 +1,46 @@
1
+ $icon-dimensions: 1.5rem !default
2
+ $icon-dimensions-small: 1rem !default
3
+ $icon-dimensions-medium: 2rem !default
4
+ $icon-dimensions-large: 3rem !default
5
+ $icon-text-spacing: 0.25em !default
6
+
7
+ .icon
8
+ align-items: center
9
+ display: inline-flex
10
+ justify-content: center
11
+ height: $icon-dimensions
12
+ width: $icon-dimensions
13
+ // Sizes
14
+ &.is-small
15
+ height: $icon-dimensions-small
16
+ width: $icon-dimensions-small
17
+ &.is-medium
18
+ height: $icon-dimensions-medium
19
+ width: $icon-dimensions-medium
20
+ &.is-large
21
+ height: $icon-dimensions-large
22
+ width: $icon-dimensions-large
23
+
24
+ .icon-text
25
+ align-items: flex-start
26
+ color: inherit
27
+ display: inline-flex
28
+ flex-wrap: wrap
29
+ line-height: $icon-dimensions
30
+ vertical-align: top
31
+ .icon
32
+ flex-grow: 0
33
+ flex-shrink: 0
34
+ &:not(:last-child)
35
+ +ltr
36
+ margin-right: $icon-text-spacing
37
+ +rtl
38
+ margin-left: $icon-text-spacing
39
+ &:not(:first-child)
40
+ +ltr
41
+ margin-left: $icon-text-spacing
42
+ +rtl
43
+ margin-right: $icon-text-spacing
44
+
45
+ div.icon-text
46
+ display: flex
@@ -0,0 +1,73 @@
1
+ @import "../utilities/mixins"
2
+
3
+ $dimensions: 16 24 32 48 64 96 128 !default
4
+
5
+ .image
6
+ display: block
7
+ position: relative
8
+ img
9
+ display: block
10
+ height: auto
11
+ width: 100%
12
+ &.is-rounded
13
+ border-radius: $radius-rounded
14
+ &.is-fullwidth
15
+ width: 100%
16
+ // Ratio
17
+ &.is-square,
18
+ &.is-1by1,
19
+ &.is-5by4,
20
+ &.is-4by3,
21
+ &.is-3by2,
22
+ &.is-5by3,
23
+ &.is-16by9,
24
+ &.is-2by1,
25
+ &.is-3by1,
26
+ &.is-4by5,
27
+ &.is-3by4,
28
+ &.is-2by3,
29
+ &.is-3by5,
30
+ &.is-9by16,
31
+ &.is-1by2,
32
+ &.is-1by3
33
+ img,
34
+ .has-ratio
35
+ @extend %overlay
36
+ height: 100%
37
+ width: 100%
38
+ &.is-square,
39
+ &.is-1by1
40
+ padding-top: 100%
41
+ &.is-5by4
42
+ padding-top: 80%
43
+ &.is-4by3
44
+ padding-top: 75%
45
+ &.is-3by2
46
+ padding-top: 66.6666%
47
+ &.is-5by3
48
+ padding-top: 60%
49
+ &.is-16by9
50
+ padding-top: 56.25%
51
+ &.is-2by1
52
+ padding-top: 50%
53
+ &.is-3by1
54
+ padding-top: 33.3333%
55
+ &.is-4by5
56
+ padding-top: 125%
57
+ &.is-3by4
58
+ padding-top: 133.3333%
59
+ &.is-2by3
60
+ padding-top: 150%
61
+ &.is-3by5
62
+ padding-top: 166.6666%
63
+ &.is-9by16
64
+ padding-top: 177.7777%
65
+ &.is-1by2
66
+ padding-top: 200%
67
+ &.is-1by3
68
+ padding-top: 300%
69
+ // Sizes
70
+ @each $dimension in $dimensions
71
+ &.is-#{$dimension}x#{$dimension}
72
+ height: $dimension * 1px
73
+ width: $dimension * 1px