lesli 5.0.2 → 5.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/lesli_manifest.js +2 -1
  3. data/app/assets/javascripts/lesli/users/confirmations.js +32 -0
  4. data/app/assets/javascripts/lesli/users/passwords.js +3 -3
  5. data/app/assets/javascripts/lesli/users/registrations.js +2 -2
  6. data/app/assets/javascripts/lesli/users/sessions.js +2 -2
  7. data/app/assets/stylesheets/lesli/users/confirmations.scss +28 -6
  8. data/app/controllers/lesli/abouts_controller.rb +66 -0
  9. data/app/controllers/lesli/interfaces/application/authorization.rb +2 -2
  10. data/app/controllers/lesli/interfaces/application/logger.rb +14 -38
  11. data/app/controllers/lesli/roles_controller.rb +3 -1
  12. data/app/controllers/users/confirmations_controller.rb +63 -27
  13. data/app/controllers/users/passwords_controller.rb +70 -30
  14. data/app/controllers/users/sessions_controller.rb +2 -4
  15. data/app/lib/lesli/system.rb +13 -5
  16. data/app/mailers/lesli/application_lesli_mailer.rb +8 -19
  17. data/app/mailers/lesli/devise_mailer.rb +29 -3
  18. data/app/models/concerns/account_initializer.rb +91 -0
  19. data/app/models/concerns/{user_guard.rb → user_security.rb} +7 -8
  20. data/app/models/lesli/account.rb +8 -26
  21. data/app/models/lesli/application_lesli_record.rb +1 -0
  22. data/app/models/lesli/descriptor/privilege.rb +38 -0
  23. data/app/models/lesli/descriptor.rb +18 -1
  24. data/app/models/lesli/role/power.rb +70 -0
  25. data/app/models/lesli/role/privilege.rb +38 -0
  26. data/app/models/lesli/role.rb +20 -15
  27. data/app/models/lesli/user/{role.rb → power.rb} +1 -1
  28. data/app/{services/lesli/role_service.rb → models/lesli/user/setting.rb} +10 -9
  29. data/app/models/lesli/user.rb +11 -20
  30. data/app/operators/lesli/descriptor_privilege_operator.rb +75 -0
  31. data/app/operators/lesli/role_power_operator.rb +108 -0
  32. data/app/operators/lesli/user_registration_operator.rb +121 -0
  33. data/app/services/lesli/user_service.rb +2 -4
  34. data/app/services/lesli/{user/session_service.rb → user_session_service.rb} +11 -4
  35. data/app/views/devise/confirmations/new.html.erb +0 -14
  36. data/app/views/devise/confirmations/show.html.erb +63 -0
  37. data/app/views/devise/passwords/edit.html.erb +78 -24
  38. data/app/views/devise/passwords/new.html.erb +1 -2
  39. data/app/views/lesli/emails/devise_mailer/confirmation_instructions.html.erb +1 -1
  40. data/app/views/lesli/emails/devise_mailer/reset_password_instructions.html.erb +23 -0
  41. data/app/views/lesli/partials/_application-lesli-header.html.erb +3 -1
  42. data/config/initializers/devise.rb +2 -0
  43. data/config/routes.rb +2 -0
  44. data/db/migrate/v1.0/0010000110_create_lesli_accounts.rb +2 -0
  45. data/db/{tables/0010001010_create_account_settings.rb → migrate/v1.0/0010001010_create_lesli_account_settings.rb} +5 -5
  46. data/db/{tables/0010003110_create_user_settings.rb → migrate/v1.0/0010003110_create_lesli_user_settings.rb} +4 -4
  47. data/db/migrate/v1.0/0010003210_create_lesli_user_sessions.rb +6 -2
  48. data/db/migrate/v1.0/{0010003410_create_lesli_user_roles.rb → 0010003410_create_lesli_user_powers.rb} +4 -4
  49. data/db/migrate/v1.0/0010005010_create_lesli_descriptors.rb +1 -1
  50. data/db/migrate/v1.0/{0010003910_create_lesli_user_agents.rb → 0010005510_create_lesli_role_powers.rb} +7 -9
  51. data/db/{tables/0010005710_create_role_privileges.rb → migrate/v1.0/0010005710_create_lesli_role_privileges.rb} +6 -6
  52. data/db/seed/development/users.rb +4 -4
  53. data/db/seed/tools.rb +4 -4
  54. data/lib/lesli/engine.rb +33 -10
  55. data/lib/lesli/version.rb +1 -1
  56. data/lib/sass/lesli/bulma/loader.scss +3 -0
  57. data/lib/sass/lesli/pages/devise-simple.scss +2 -1
  58. data/lib/tasks/lesli/controllers.rake +3 -6
  59. data/lib/tasks/lesli/db.rake +11 -1
  60. data/lib/tasks/lesli/role.rake +54 -0
  61. data/lib/vue/application.js +9 -2
  62. data/lib/vue/devise/passwords.js +3 -3
  63. data/lib/vue/layouts/application-header.vue +10 -3
  64. data/lib/webpack/core.js +2 -1
  65. data/readme.md +23 -7
  66. data/vendor/bulma/LICENSE +21 -0
  67. data/vendor/bulma/bulma.sass +10 -0
  68. data/vendor/bulma/css/bulma-rtl.css +11851 -0
  69. data/vendor/bulma/css/bulma-rtl.min.css +1 -0
  70. data/vendor/bulma/css/bulma.css +11851 -0
  71. data/vendor/bulma/css/bulma.min.css +1 -0
  72. data/vendor/bulma/sass/base/_all.sass +6 -0
  73. data/vendor/bulma/sass/base/animations.sass +5 -0
  74. data/vendor/bulma/sass/base/generic.sass +145 -0
  75. data/vendor/bulma/sass/base/helpers.sass +1 -0
  76. data/vendor/bulma/sass/base/minireset.sass +79 -0
  77. data/vendor/bulma/sass/components/_all.sass +15 -0
  78. data/vendor/bulma/sass/components/breadcrumb.sass +77 -0
  79. data/vendor/bulma/sass/components/card.sass +103 -0
  80. data/vendor/bulma/sass/components/dropdown.sass +83 -0
  81. data/vendor/bulma/sass/components/level.sass +79 -0
  82. data/vendor/bulma/sass/components/media.sass +59 -0
  83. data/vendor/bulma/sass/components/menu.sass +59 -0
  84. data/vendor/bulma/sass/components/message.sass +101 -0
  85. data/vendor/bulma/sass/components/modal.sass +117 -0
  86. data/vendor/bulma/sass/components/navbar.sass +446 -0
  87. data/vendor/bulma/sass/components/pagination.sass +167 -0
  88. data/vendor/bulma/sass/components/panel.sass +121 -0
  89. data/vendor/bulma/sass/components/tabs.sass +176 -0
  90. data/vendor/bulma/sass/elements/_all.sass +16 -0
  91. data/vendor/bulma/sass/elements/box.sass +26 -0
  92. data/vendor/bulma/sass/elements/button.sass +357 -0
  93. data/vendor/bulma/sass/elements/container.sass +29 -0
  94. data/vendor/bulma/sass/elements/content.sass +162 -0
  95. data/vendor/bulma/sass/elements/form.sass +1 -0
  96. data/vendor/bulma/sass/elements/icon.sass +46 -0
  97. data/vendor/bulma/sass/elements/image.sass +73 -0
  98. data/vendor/bulma/sass/elements/notification.sass +52 -0
  99. data/vendor/bulma/sass/elements/other.sass +31 -0
  100. data/vendor/bulma/sass/elements/progress.sass +73 -0
  101. data/vendor/bulma/sass/elements/table.sass +134 -0
  102. data/vendor/bulma/sass/elements/tag.sass +140 -0
  103. data/vendor/bulma/sass/elements/title.sass +70 -0
  104. data/vendor/bulma/sass/form/_all.sass +9 -0
  105. data/vendor/bulma/sass/form/checkbox-radio.sass +22 -0
  106. data/vendor/bulma/sass/form/file.sass +184 -0
  107. data/vendor/bulma/sass/form/input-textarea.sass +66 -0
  108. data/vendor/bulma/sass/form/select.sass +88 -0
  109. data/vendor/bulma/sass/form/shared.sass +60 -0
  110. data/vendor/bulma/sass/form/tools.sass +215 -0
  111. data/vendor/bulma/sass/grid/_all.sass +5 -0
  112. data/vendor/bulma/sass/grid/columns.sass +513 -0
  113. data/vendor/bulma/sass/grid/tiles.sass +36 -0
  114. data/vendor/bulma/sass/helpers/_all.sass +12 -0
  115. data/vendor/bulma/sass/helpers/color.sass +39 -0
  116. data/vendor/bulma/sass/helpers/flexbox.sass +35 -0
  117. data/vendor/bulma/sass/helpers/float.sass +10 -0
  118. data/vendor/bulma/sass/helpers/other.sass +14 -0
  119. data/vendor/bulma/sass/helpers/overflow.sass +2 -0
  120. data/vendor/bulma/sass/helpers/position.sass +7 -0
  121. data/vendor/bulma/sass/helpers/spacing.sass +31 -0
  122. data/vendor/bulma/sass/helpers/typography.sass +103 -0
  123. data/vendor/bulma/sass/helpers/visibility.sass +122 -0
  124. data/vendor/bulma/sass/layout/_all.sass +6 -0
  125. data/vendor/bulma/sass/layout/footer.sass +11 -0
  126. data/vendor/bulma/sass/layout/hero.sass +153 -0
  127. data/vendor/bulma/sass/layout/section.sass +17 -0
  128. data/vendor/bulma/sass/utilities/_all.sass +9 -0
  129. data/vendor/bulma/sass/utilities/animations.sass +1 -0
  130. data/vendor/bulma/sass/utilities/controls.sass +49 -0
  131. data/vendor/bulma/sass/utilities/derived-variables.sass +114 -0
  132. data/vendor/bulma/sass/utilities/extends.sass +25 -0
  133. data/vendor/bulma/sass/utilities/functions.sass +135 -0
  134. data/vendor/bulma/sass/utilities/initial-variables.sass +79 -0
  135. data/vendor/bulma/sass/utilities/mixins.sass +303 -0
  136. data/vendor/lesli-css/_index.scss +34 -0
  137. data/vendor/lesli-css/lesli.scss +51 -0
  138. data/vendor/lesli-css/license +28 -0
  139. data/vendor/lesli-css/src/base/fonts.scss +50 -0
  140. data/vendor/lesli-css/src/base/normalize.scss +118 -0
  141. data/vendor/lesli-css/src/components/blockquote.scss +61 -0
  142. data/vendor/lesli-css/src/components/columns.scss +92 -0
  143. data/vendor/lesli-css/src/components/container.scss +47 -0
  144. data/vendor/lesli-css/src/components/grid.scss +0 -0
  145. data/vendor/lesli-css/src/components/navigation.scss +59 -0
  146. data/vendor/lesli-css/src/functions/colors.scss +184 -0
  147. data/vendor/lesli-css/src/helpers/units.scss +44 -0
  148. data/vendor/lesli-css/src/mixins/breakpoint.scss +184 -0
  149. data/vendor/lesli-css/src/mixins/flex.scss +80 -0
  150. data/vendor/lesli-css/src/mixins/scrollbar.scss +46 -0
  151. data/vendor/lesli-css/src/settings/variables.scss +26 -0
  152. data/vendor/lesli-css/tests/base/normalize.spec.scss +125 -0
  153. data/vendor/lesli-css/tests/functions/colors.spec.scss +117 -0
  154. data/vendor/lesli-css/tests/mixins/breakpoint.spec.scss +429 -0
  155. data/vendor/lesli-css/tests/mixins/scrollbar.spec.scss +82 -0
  156. data/vendor/lesli-css/vendor/normalize.scss +351 -0
  157. data/vendor/remixicon/License +201 -0
  158. data/vendor/remixicon/fonts/remixicon.css +2583 -0
  159. metadata +116 -18
  160. data/app/models/concerns/account_engines.rb +0 -249
  161. data/app/models/concerns/user_polyfill.rb +0 -134
  162. data/config/locales/translations.en.yml +0 -7
  163. data/config/locales/translations.es.yml +0 -7
  164. data/db/migrate/v1.0/0010001510_create_lesli_account_requests.rb +0 -45
  165. data/db/migrate/v1.0/0010003810_create_lesli_user_requests.rb +0 -44
  166. data/db/tables/0010005510_create_role_descriptors.rb +0 -44
@@ -0,0 +1,513 @@
1
+ @import "../utilities/mixins"
2
+
3
+ $column-gap: 0.75rem !default
4
+
5
+ .column
6
+ display: block
7
+ flex-basis: 0
8
+ flex-grow: 1
9
+ flex-shrink: 1
10
+ padding: $column-gap
11
+ .columns.is-mobile > &.is-narrow
12
+ flex: none
13
+ width: unset
14
+ .columns.is-mobile > &.is-full
15
+ flex: none
16
+ width: 100%
17
+ .columns.is-mobile > &.is-three-quarters
18
+ flex: none
19
+ width: 75%
20
+ .columns.is-mobile > &.is-two-thirds
21
+ flex: none
22
+ width: 66.6666%
23
+ .columns.is-mobile > &.is-half
24
+ flex: none
25
+ width: 50%
26
+ .columns.is-mobile > &.is-one-third
27
+ flex: none
28
+ width: 33.3333%
29
+ .columns.is-mobile > &.is-one-quarter
30
+ flex: none
31
+ width: 25%
32
+ .columns.is-mobile > &.is-one-fifth
33
+ flex: none
34
+ width: 20%
35
+ .columns.is-mobile > &.is-two-fifths
36
+ flex: none
37
+ width: 40%
38
+ .columns.is-mobile > &.is-three-fifths
39
+ flex: none
40
+ width: 60%
41
+ .columns.is-mobile > &.is-four-fifths
42
+ flex: none
43
+ width: 80%
44
+ .columns.is-mobile > &.is-offset-three-quarters
45
+ +ltr-property("margin", 75%, false)
46
+ .columns.is-mobile > &.is-offset-two-thirds
47
+ +ltr-property("margin", 66.6666%, false)
48
+ .columns.is-mobile > &.is-offset-half
49
+ +ltr-property("margin", 50%, false)
50
+ .columns.is-mobile > &.is-offset-one-third
51
+ +ltr-property("margin", 33.3333%, false)
52
+ .columns.is-mobile > &.is-offset-one-quarter
53
+ +ltr-property("margin", 25%, false)
54
+ .columns.is-mobile > &.is-offset-one-fifth
55
+ +ltr-property("margin", 20%, false)
56
+ .columns.is-mobile > &.is-offset-two-fifths
57
+ +ltr-property("margin", 40%, false)
58
+ .columns.is-mobile > &.is-offset-three-fifths
59
+ +ltr-property("margin", 60%, false)
60
+ .columns.is-mobile > &.is-offset-four-fifths
61
+ +ltr-property("margin", 80%, false)
62
+ @for $i from 0 through 12
63
+ .columns.is-mobile > &.is-#{$i}
64
+ flex: none
65
+ width: percentage(divide($i, 12))
66
+ .columns.is-mobile > &.is-offset-#{$i}
67
+ +ltr-property("margin", percentage(divide($i, 12)), false)
68
+ +mobile
69
+ &.is-narrow-mobile
70
+ flex: none
71
+ width: unset
72
+ &.is-full-mobile
73
+ flex: none
74
+ width: 100%
75
+ &.is-three-quarters-mobile
76
+ flex: none
77
+ width: 75%
78
+ &.is-two-thirds-mobile
79
+ flex: none
80
+ width: 66.6666%
81
+ &.is-half-mobile
82
+ flex: none
83
+ width: 50%
84
+ &.is-one-third-mobile
85
+ flex: none
86
+ width: 33.3333%
87
+ &.is-one-quarter-mobile
88
+ flex: none
89
+ width: 25%
90
+ &.is-one-fifth-mobile
91
+ flex: none
92
+ width: 20%
93
+ &.is-two-fifths-mobile
94
+ flex: none
95
+ width: 40%
96
+ &.is-three-fifths-mobile
97
+ flex: none
98
+ width: 60%
99
+ &.is-four-fifths-mobile
100
+ flex: none
101
+ width: 80%
102
+ &.is-offset-three-quarters-mobile
103
+ +ltr-property("margin", 75%, false)
104
+ &.is-offset-two-thirds-mobile
105
+ +ltr-property("margin", 66.6666%, false)
106
+ &.is-offset-half-mobile
107
+ +ltr-property("margin", 50%, false)
108
+ &.is-offset-one-third-mobile
109
+ +ltr-property("margin", 33.3333%, false)
110
+ &.is-offset-one-quarter-mobile
111
+ +ltr-property("margin", 25%, false)
112
+ &.is-offset-one-fifth-mobile
113
+ +ltr-property("margin", 20%, false)
114
+ &.is-offset-two-fifths-mobile
115
+ +ltr-property("margin", 40%, false)
116
+ &.is-offset-three-fifths-mobile
117
+ +ltr-property("margin", 60%, false)
118
+ &.is-offset-four-fifths-mobile
119
+ +ltr-property("margin", 80%, false)
120
+ @for $i from 0 through 12
121
+ &.is-#{$i}-mobile
122
+ flex: none
123
+ width: percentage(divide($i, 12))
124
+ &.is-offset-#{$i}-mobile
125
+ +ltr-property("margin", percentage(divide($i, 12)), false)
126
+ +tablet
127
+ &.is-narrow,
128
+ &.is-narrow-tablet
129
+ flex: none
130
+ width: unset
131
+ &.is-full,
132
+ &.is-full-tablet
133
+ flex: none
134
+ width: 100%
135
+ &.is-three-quarters,
136
+ &.is-three-quarters-tablet
137
+ flex: none
138
+ width: 75%
139
+ &.is-two-thirds,
140
+ &.is-two-thirds-tablet
141
+ flex: none
142
+ width: 66.6666%
143
+ &.is-half,
144
+ &.is-half-tablet
145
+ flex: none
146
+ width: 50%
147
+ &.is-one-third,
148
+ &.is-one-third-tablet
149
+ flex: none
150
+ width: 33.3333%
151
+ &.is-one-quarter,
152
+ &.is-one-quarter-tablet
153
+ flex: none
154
+ width: 25%
155
+ &.is-one-fifth,
156
+ &.is-one-fifth-tablet
157
+ flex: none
158
+ width: 20%
159
+ &.is-two-fifths,
160
+ &.is-two-fifths-tablet
161
+ flex: none
162
+ width: 40%
163
+ &.is-three-fifths,
164
+ &.is-three-fifths-tablet
165
+ flex: none
166
+ width: 60%
167
+ &.is-four-fifths,
168
+ &.is-four-fifths-tablet
169
+ flex: none
170
+ width: 80%
171
+ &.is-offset-three-quarters,
172
+ &.is-offset-three-quarters-tablet
173
+ +ltr-property("margin", 75%, false)
174
+ &.is-offset-two-thirds,
175
+ &.is-offset-two-thirds-tablet
176
+ +ltr-property("margin", 66.6666%, false)
177
+ &.is-offset-half,
178
+ &.is-offset-half-tablet
179
+ +ltr-property("margin", 50%, false)
180
+ &.is-offset-one-third,
181
+ &.is-offset-one-third-tablet
182
+ +ltr-property("margin", 33.3333%, false)
183
+ &.is-offset-one-quarter,
184
+ &.is-offset-one-quarter-tablet
185
+ +ltr-property("margin", 25%, false)
186
+ &.is-offset-one-fifth,
187
+ &.is-offset-one-fifth-tablet
188
+ +ltr-property("margin", 20%, false)
189
+ &.is-offset-two-fifths,
190
+ &.is-offset-two-fifths-tablet
191
+ +ltr-property("margin", 40%, false)
192
+ &.is-offset-three-fifths,
193
+ &.is-offset-three-fifths-tablet
194
+ +ltr-property("margin", 60%, false)
195
+ &.is-offset-four-fifths,
196
+ &.is-offset-four-fifths-tablet
197
+ +ltr-property("margin", 80%, false)
198
+ @for $i from 0 through 12
199
+ &.is-#{$i},
200
+ &.is-#{$i}-tablet
201
+ flex: none
202
+ width: percentage(divide($i, 12))
203
+ &.is-offset-#{$i},
204
+ &.is-offset-#{$i}-tablet
205
+ +ltr-property("margin", percentage(divide($i, 12)), false)
206
+ +touch
207
+ &.is-narrow-touch
208
+ flex: none
209
+ width: unset
210
+ &.is-full-touch
211
+ flex: none
212
+ width: 100%
213
+ &.is-three-quarters-touch
214
+ flex: none
215
+ width: 75%
216
+ &.is-two-thirds-touch
217
+ flex: none
218
+ width: 66.6666%
219
+ &.is-half-touch
220
+ flex: none
221
+ width: 50%
222
+ &.is-one-third-touch
223
+ flex: none
224
+ width: 33.3333%
225
+ &.is-one-quarter-touch
226
+ flex: none
227
+ width: 25%
228
+ &.is-one-fifth-touch
229
+ flex: none
230
+ width: 20%
231
+ &.is-two-fifths-touch
232
+ flex: none
233
+ width: 40%
234
+ &.is-three-fifths-touch
235
+ flex: none
236
+ width: 60%
237
+ &.is-four-fifths-touch
238
+ flex: none
239
+ width: 80%
240
+ &.is-offset-three-quarters-touch
241
+ +ltr-property("margin", 75%, false)
242
+ &.is-offset-two-thirds-touch
243
+ +ltr-property("margin", 66.6666%, false)
244
+ &.is-offset-half-touch
245
+ +ltr-property("margin", 50%, false)
246
+ &.is-offset-one-third-touch
247
+ +ltr-property("margin", 33.3333%, false)
248
+ &.is-offset-one-quarter-touch
249
+ +ltr-property("margin", 25%, false)
250
+ &.is-offset-one-fifth-touch
251
+ +ltr-property("margin", 20%, false)
252
+ &.is-offset-two-fifths-touch
253
+ +ltr-property("margin", 40%, false)
254
+ &.is-offset-three-fifths-touch
255
+ +ltr-property("margin", 60%, false)
256
+ &.is-offset-four-fifths-touch
257
+ +ltr-property("margin", 80%, false)
258
+ @for $i from 0 through 12
259
+ &.is-#{$i}-touch
260
+ flex: none
261
+ width: percentage(divide($i, 12))
262
+ &.is-offset-#{$i}-touch
263
+ +ltr-property("margin", percentage(divide($i, 12)), false)
264
+ +desktop
265
+ &.is-narrow-desktop
266
+ flex: none
267
+ width: unset
268
+ &.is-full-desktop
269
+ flex: none
270
+ width: 100%
271
+ &.is-three-quarters-desktop
272
+ flex: none
273
+ width: 75%
274
+ &.is-two-thirds-desktop
275
+ flex: none
276
+ width: 66.6666%
277
+ &.is-half-desktop
278
+ flex: none
279
+ width: 50%
280
+ &.is-one-third-desktop
281
+ flex: none
282
+ width: 33.3333%
283
+ &.is-one-quarter-desktop
284
+ flex: none
285
+ width: 25%
286
+ &.is-one-fifth-desktop
287
+ flex: none
288
+ width: 20%
289
+ &.is-two-fifths-desktop
290
+ flex: none
291
+ width: 40%
292
+ &.is-three-fifths-desktop
293
+ flex: none
294
+ width: 60%
295
+ &.is-four-fifths-desktop
296
+ flex: none
297
+ width: 80%
298
+ &.is-offset-three-quarters-desktop
299
+ +ltr-property("margin", 75%, false)
300
+ &.is-offset-two-thirds-desktop
301
+ +ltr-property("margin", 66.6666%, false)
302
+ &.is-offset-half-desktop
303
+ +ltr-property("margin", 50%, false)
304
+ &.is-offset-one-third-desktop
305
+ +ltr-property("margin", 33.3333%, false)
306
+ &.is-offset-one-quarter-desktop
307
+ +ltr-property("margin", 25%, false)
308
+ &.is-offset-one-fifth-desktop
309
+ +ltr-property("margin", 20%, false)
310
+ &.is-offset-two-fifths-desktop
311
+ +ltr-property("margin", 40%, false)
312
+ &.is-offset-three-fifths-desktop
313
+ +ltr-property("margin", 60%, false)
314
+ &.is-offset-four-fifths-desktop
315
+ +ltr-property("margin", 80%, false)
316
+ @for $i from 0 through 12
317
+ &.is-#{$i}-desktop
318
+ flex: none
319
+ width: percentage(divide($i, 12))
320
+ &.is-offset-#{$i}-desktop
321
+ +ltr-property("margin", percentage(divide($i, 12)), false)
322
+ +widescreen
323
+ &.is-narrow-widescreen
324
+ flex: none
325
+ width: unset
326
+ &.is-full-widescreen
327
+ flex: none
328
+ width: 100%
329
+ &.is-three-quarters-widescreen
330
+ flex: none
331
+ width: 75%
332
+ &.is-two-thirds-widescreen
333
+ flex: none
334
+ width: 66.6666%
335
+ &.is-half-widescreen
336
+ flex: none
337
+ width: 50%
338
+ &.is-one-third-widescreen
339
+ flex: none
340
+ width: 33.3333%
341
+ &.is-one-quarter-widescreen
342
+ flex: none
343
+ width: 25%
344
+ &.is-one-fifth-widescreen
345
+ flex: none
346
+ width: 20%
347
+ &.is-two-fifths-widescreen
348
+ flex: none
349
+ width: 40%
350
+ &.is-three-fifths-widescreen
351
+ flex: none
352
+ width: 60%
353
+ &.is-four-fifths-widescreen
354
+ flex: none
355
+ width: 80%
356
+ &.is-offset-three-quarters-widescreen
357
+ +ltr-property("margin", 75%, false)
358
+ &.is-offset-two-thirds-widescreen
359
+ +ltr-property("margin", 66.6666%, false)
360
+ &.is-offset-half-widescreen
361
+ +ltr-property("margin", 50%, false)
362
+ &.is-offset-one-third-widescreen
363
+ +ltr-property("margin", 33.3333%, false)
364
+ &.is-offset-one-quarter-widescreen
365
+ +ltr-property("margin", 25%, false)
366
+ &.is-offset-one-fifth-widescreen
367
+ +ltr-property("margin", 20%, false)
368
+ &.is-offset-two-fifths-widescreen
369
+ +ltr-property("margin", 40%, false)
370
+ &.is-offset-three-fifths-widescreen
371
+ +ltr-property("margin", 60%, false)
372
+ &.is-offset-four-fifths-widescreen
373
+ +ltr-property("margin", 80%, false)
374
+ @for $i from 0 through 12
375
+ &.is-#{$i}-widescreen
376
+ flex: none
377
+ width: percentage(divide($i, 12))
378
+ &.is-offset-#{$i}-widescreen
379
+ +ltr-property("margin", percentage(divide($i, 12)), false)
380
+ +fullhd
381
+ &.is-narrow-fullhd
382
+ flex: none
383
+ width: unset
384
+ &.is-full-fullhd
385
+ flex: none
386
+ width: 100%
387
+ &.is-three-quarters-fullhd
388
+ flex: none
389
+ width: 75%
390
+ &.is-two-thirds-fullhd
391
+ flex: none
392
+ width: 66.6666%
393
+ &.is-half-fullhd
394
+ flex: none
395
+ width: 50%
396
+ &.is-one-third-fullhd
397
+ flex: none
398
+ width: 33.3333%
399
+ &.is-one-quarter-fullhd
400
+ flex: none
401
+ width: 25%
402
+ &.is-one-fifth-fullhd
403
+ flex: none
404
+ width: 20%
405
+ &.is-two-fifths-fullhd
406
+ flex: none
407
+ width: 40%
408
+ &.is-three-fifths-fullhd
409
+ flex: none
410
+ width: 60%
411
+ &.is-four-fifths-fullhd
412
+ flex: none
413
+ width: 80%
414
+ &.is-offset-three-quarters-fullhd
415
+ +ltr-property("margin", 75%, false)
416
+ &.is-offset-two-thirds-fullhd
417
+ +ltr-property("margin", 66.6666%, false)
418
+ &.is-offset-half-fullhd
419
+ +ltr-property("margin", 50%, false)
420
+ &.is-offset-one-third-fullhd
421
+ +ltr-property("margin", 33.3333%, false)
422
+ &.is-offset-one-quarter-fullhd
423
+ +ltr-property("margin", 25%, false)
424
+ &.is-offset-one-fifth-fullhd
425
+ +ltr-property("margin", 20%, false)
426
+ &.is-offset-two-fifths-fullhd
427
+ +ltr-property("margin", 40%, false)
428
+ &.is-offset-three-fifths-fullhd
429
+ +ltr-property("margin", 60%, false)
430
+ &.is-offset-four-fifths-fullhd
431
+ +ltr-property("margin", 80%, false)
432
+ @for $i from 0 through 12
433
+ &.is-#{$i}-fullhd
434
+ flex: none
435
+ width: percentage(divide($i, 12))
436
+ &.is-offset-#{$i}-fullhd
437
+ +ltr-property("margin", percentage(divide($i, 12)), false)
438
+
439
+ .columns
440
+ +ltr-property("margin", (-$column-gap), false)
441
+ +ltr-property("margin", (-$column-gap))
442
+ margin-top: (-$column-gap)
443
+ &:last-child
444
+ margin-bottom: (-$column-gap)
445
+ &:not(:last-child)
446
+ margin-bottom: calc(1.5rem - #{$column-gap})
447
+ // Modifiers
448
+ &.is-centered
449
+ justify-content: center
450
+ &.is-gapless
451
+ +ltr-property("margin", 0, false)
452
+ +ltr-property("margin", 0)
453
+ margin-top: 0
454
+ & > .column
455
+ margin: 0
456
+ padding: 0 !important
457
+ &:not(:last-child)
458
+ margin-bottom: 1.5rem
459
+ &:last-child
460
+ margin-bottom: 0
461
+ &.is-mobile
462
+ display: flex
463
+ &.is-multiline
464
+ flex-wrap: wrap
465
+ &.is-vcentered
466
+ align-items: center
467
+ // Responsiveness
468
+ +tablet
469
+ &:not(.is-desktop)
470
+ display: flex
471
+ +desktop
472
+ // Modifiers
473
+ &.is-desktop
474
+ display: flex
475
+
476
+ @if $variable-columns
477
+ .columns.is-variable
478
+ --columnGap: 0.75rem
479
+ +ltr-property("margin", calc(-1 * var(--columnGap)), false)
480
+ +ltr-property("margin", calc(-1 * var(--columnGap)))
481
+ > .column
482
+ padding-left: var(--columnGap)
483
+ padding-right: var(--columnGap)
484
+ @for $i from 0 through 8
485
+ &.is-#{$i}
486
+ --columnGap: #{$i * 0.25rem}
487
+ +mobile
488
+ &.is-#{$i}-mobile
489
+ --columnGap: #{$i * 0.25rem}
490
+ +tablet
491
+ &.is-#{$i}-tablet
492
+ --columnGap: #{$i * 0.25rem}
493
+ +tablet-only
494
+ &.is-#{$i}-tablet-only
495
+ --columnGap: #{$i * 0.25rem}
496
+ +touch
497
+ &.is-#{$i}-touch
498
+ --columnGap: #{$i * 0.25rem}
499
+ +desktop
500
+ &.is-#{$i}-desktop
501
+ --columnGap: #{$i * 0.25rem}
502
+ +desktop-only
503
+ &.is-#{$i}-desktop-only
504
+ --columnGap: #{$i * 0.25rem}
505
+ +widescreen
506
+ &.is-#{$i}-widescreen
507
+ --columnGap: #{$i * 0.25rem}
508
+ +widescreen-only
509
+ &.is-#{$i}-widescreen-only
510
+ --columnGap: #{$i * 0.25rem}
511
+ +fullhd
512
+ &.is-#{$i}-fullhd
513
+ --columnGap: #{$i * 0.25rem}
@@ -0,0 +1,36 @@
1
+ @import "../utilities/mixins"
2
+
3
+ $tile-spacing: 0.75rem !default
4
+
5
+ .tile
6
+ align-items: stretch
7
+ display: block
8
+ flex-basis: 0
9
+ flex-grow: 1
10
+ flex-shrink: 1
11
+ min-height: min-content
12
+ // Modifiers
13
+ &.is-ancestor
14
+ margin-left: $tile-spacing * -1
15
+ margin-right: $tile-spacing * -1
16
+ margin-top: $tile-spacing * -1
17
+ &:last-child
18
+ margin-bottom: $tile-spacing * -1
19
+ &:not(:last-child)
20
+ margin-bottom: $tile-spacing
21
+ &.is-child
22
+ margin: 0 !important
23
+ &.is-parent
24
+ padding: $tile-spacing
25
+ &.is-vertical
26
+ flex-direction: column
27
+ & > .tile.is-child:not(:last-child)
28
+ margin-bottom: 1.5rem !important
29
+ // Responsiveness
30
+ +tablet
31
+ &:not(.is-child)
32
+ display: flex
33
+ @for $i from 1 through 12
34
+ &.is-#{$i}
35
+ flex: none
36
+ width: (divide($i, 12)) * 100%
@@ -0,0 +1,12 @@
1
+ /* Bulma Helpers */
2
+ @charset "utf-8"
3
+
4
+ @import "color"
5
+ @import "flexbox"
6
+ @import "float"
7
+ @import "other"
8
+ @import "overflow"
9
+ @import "position"
10
+ @import "spacing"
11
+ @import "typography"
12
+ @import "visibility"
@@ -0,0 +1,39 @@
1
+ @import "../utilities/derived-variables"
2
+
3
+ @each $name, $pair in $colors
4
+ $color: nth($pair, 1)
5
+ .has-text-#{$name}
6
+ color: $color !important
7
+ a.has-text-#{$name}
8
+ &:hover,
9
+ &:focus
10
+ color: bulmaDarken($color, 10%) !important
11
+ .has-background-#{$name}
12
+ background-color: $color !important
13
+ @if length($pair) >= 4
14
+ $color-light: nth($pair, 3)
15
+ $color-dark: nth($pair, 4)
16
+ // Light
17
+ .has-text-#{$name}-light
18
+ color: $color-light !important
19
+ a.has-text-#{$name}-light
20
+ &:hover,
21
+ &:focus
22
+ color: bulmaDarken($color-light, 10%) !important
23
+ .has-background-#{$name}-light
24
+ background-color: $color-light !important
25
+ // Dark
26
+ .has-text-#{$name}-dark
27
+ color: $color-dark !important
28
+ a.has-text-#{$name}-dark
29
+ &:hover,
30
+ &:focus
31
+ color: bulmaLighten($color-dark, 10%) !important
32
+ .has-background-#{$name}-dark
33
+ background-color: $color-dark !important
34
+
35
+ @each $name, $shade in $shades
36
+ .has-text-#{$name}
37
+ color: $shade !important
38
+ .has-background-#{$name}
39
+ background-color: $shade !important
@@ -0,0 +1,35 @@
1
+ $flex-direction-values: row, row-reverse, column, column-reverse
2
+ @each $value in $flex-direction-values
3
+ .is-flex-direction-#{$value}
4
+ flex-direction: $value !important
5
+
6
+ $flex-wrap-values: nowrap, wrap, wrap-reverse
7
+ @each $value in $flex-wrap-values
8
+ .is-flex-wrap-#{$value}
9
+ flex-wrap: $value !important
10
+
11
+ $justify-content-values: flex-start, flex-end, center, space-between, space-around, space-evenly, start, end, left, right
12
+ @each $value in $justify-content-values
13
+ .is-justify-content-#{$value}
14
+ justify-content: $value !important
15
+
16
+ $align-content-values: flex-start, flex-end, center, space-between, space-around, space-evenly, stretch, start, end, baseline
17
+ @each $value in $align-content-values
18
+ .is-align-content-#{$value}
19
+ align-content: $value !important
20
+
21
+ $align-items-values: stretch, flex-start, flex-end, center, baseline, start, end, self-start, self-end
22
+ @each $value in $align-items-values
23
+ .is-align-items-#{$value}
24
+ align-items: $value !important
25
+
26
+ $align-self-values: auto, flex-start, flex-end, center, baseline, stretch
27
+ @each $value in $align-self-values
28
+ .is-align-self-#{$value}
29
+ align-self: $value !important
30
+
31
+ $flex-operators: grow, shrink
32
+ @each $operator in $flex-operators
33
+ @for $i from 0 through 5
34
+ .is-flex-#{$operator}-#{$i}
35
+ flex-#{$operator}: $i !important
@@ -0,0 +1,10 @@
1
+ @import "../utilities/mixins"
2
+
3
+ .is-clearfix
4
+ +clearfix
5
+
6
+ .is-pulled-left
7
+ float: left !important
8
+
9
+ .is-pulled-right
10
+ float: right !important
@@ -0,0 +1,14 @@
1
+ @import "../utilities/mixins"
2
+
3
+ .is-radiusless
4
+ border-radius: 0 !important
5
+
6
+ .is-shadowless
7
+ box-shadow: none !important
8
+
9
+ .is-clickable
10
+ cursor: pointer !important
11
+ pointer-events: all !important
12
+
13
+ .is-unselectable
14
+ @extend %unselectable
@@ -0,0 +1,2 @@
1
+ .is-clipped
2
+ overflow: hidden !important
@@ -0,0 +1,7 @@
1
+ @import "../utilities/mixins"
2
+
3
+ .is-overlay
4
+ @extend %overlay
5
+
6
+ .is-relative
7
+ position: relative !important
@@ -0,0 +1,31 @@
1
+ .is-marginless
2
+ margin: 0 !important
3
+
4
+ .is-paddingless
5
+ padding: 0 !important
6
+
7
+ $spacing-shortcuts: ("margin": "m", "padding": "p") !default
8
+ $spacing-directions: ("top": "t", "right": "r", "bottom": "b", "left": "l") !default
9
+ $spacing-horizontal: "x" !default
10
+ $spacing-vertical: "y" !default
11
+ $spacing-values: ("0": 0, "1": 0.25rem, "2": 0.5rem, "3": 0.75rem, "4": 1rem, "5": 1.5rem, "6": 3rem, "auto": auto) !default
12
+
13
+ @each $property, $shortcut in $spacing-shortcuts
14
+ @each $name, $value in $spacing-values
15
+ // All directions
16
+ .#{$shortcut}-#{$name}
17
+ #{$property}: $value !important
18
+ // Cardinal directions
19
+ @each $direction, $suffix in $spacing-directions
20
+ .#{$shortcut}#{$suffix}-#{$name}
21
+ #{$property}-#{$direction}: $value !important
22
+ // Horizontal axis
23
+ @if $spacing-horizontal != null
24
+ .#{$shortcut}#{$spacing-horizontal}-#{$name}
25
+ #{$property}-left: $value !important
26
+ #{$property}-right: $value !important
27
+ // Vertical axis
28
+ @if $spacing-vertical != null
29
+ .#{$shortcut}#{$spacing-vertical}-#{$name}
30
+ #{$property}-top: $value !important
31
+ #{$property}-bottom: $value !important