lesli 5.0.2 → 5.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/config/lesli_manifest.js +2 -1
- data/app/assets/javascripts/lesli/users/confirmations.js +32 -0
- data/app/assets/javascripts/lesli/users/passwords.js +3 -3
- data/app/assets/javascripts/lesli/users/registrations.js +2 -2
- data/app/assets/javascripts/lesli/users/sessions.js +2 -2
- data/app/assets/stylesheets/lesli/users/confirmations.scss +28 -6
- data/app/controllers/lesli/abouts_controller.rb +66 -0
- data/app/controllers/lesli/interfaces/application/authorization.rb +2 -2
- data/app/controllers/lesli/interfaces/application/logger.rb +14 -38
- data/app/controllers/lesli/roles_controller.rb +3 -1
- data/app/controllers/users/confirmations_controller.rb +63 -27
- data/app/controllers/users/passwords_controller.rb +70 -30
- data/app/controllers/users/sessions_controller.rb +2 -4
- data/app/lib/lesli/system.rb +13 -5
- data/app/mailers/lesli/application_lesli_mailer.rb +8 -19
- data/app/mailers/lesli/devise_mailer.rb +29 -3
- data/app/models/concerns/account_initializer.rb +91 -0
- data/app/models/concerns/{user_guard.rb → user_security.rb} +7 -8
- data/app/models/lesli/account.rb +8 -26
- data/app/models/lesli/application_lesli_record.rb +1 -0
- data/app/models/lesli/descriptor/privilege.rb +38 -0
- data/app/models/lesli/descriptor.rb +18 -1
- data/app/models/lesli/role/power.rb +70 -0
- data/app/models/lesli/role/privilege.rb +38 -0
- data/app/models/lesli/role.rb +20 -15
- data/app/models/lesli/user/{role.rb → power.rb} +1 -1
- data/app/{services/lesli/role_service.rb → models/lesli/user/setting.rb} +10 -9
- data/app/models/lesli/user.rb +11 -20
- data/app/operators/lesli/descriptor_privilege_operator.rb +75 -0
- data/app/operators/lesli/role_power_operator.rb +108 -0
- data/app/operators/lesli/user_registration_operator.rb +121 -0
- data/app/services/lesli/user_service.rb +2 -4
- data/app/services/lesli/{user/session_service.rb → user_session_service.rb} +11 -4
- data/app/views/devise/confirmations/new.html.erb +0 -14
- data/app/views/devise/confirmations/show.html.erb +63 -0
- data/app/views/devise/passwords/edit.html.erb +78 -24
- data/app/views/devise/passwords/new.html.erb +1 -2
- data/app/views/lesli/emails/devise_mailer/confirmation_instructions.html.erb +1 -1
- data/app/views/lesli/emails/devise_mailer/reset_password_instructions.html.erb +23 -0
- data/app/views/lesli/partials/_application-lesli-header.html.erb +3 -1
- data/config/initializers/devise.rb +2 -0
- data/config/routes.rb +2 -0
- data/db/migrate/v1.0/0010000110_create_lesli_accounts.rb +2 -0
- data/db/{tables/0010001010_create_account_settings.rb → migrate/v1.0/0010001010_create_lesli_account_settings.rb} +5 -5
- data/db/{tables/0010003110_create_user_settings.rb → migrate/v1.0/0010003110_create_lesli_user_settings.rb} +4 -4
- data/db/migrate/v1.0/0010003210_create_lesli_user_sessions.rb +6 -2
- data/db/migrate/v1.0/{0010003410_create_lesli_user_roles.rb → 0010003410_create_lesli_user_powers.rb} +4 -4
- data/db/migrate/v1.0/0010005010_create_lesli_descriptors.rb +1 -1
- data/db/migrate/v1.0/{0010003910_create_lesli_user_agents.rb → 0010005510_create_lesli_role_powers.rb} +7 -9
- data/db/{tables/0010005710_create_role_privileges.rb → migrate/v1.0/0010005710_create_lesli_role_privileges.rb} +6 -6
- data/db/seed/development/users.rb +4 -4
- data/db/seed/tools.rb +4 -4
- data/lib/lesli/engine.rb +33 -10
- data/lib/lesli/version.rb +1 -1
- data/lib/sass/lesli/bulma/loader.scss +3 -0
- data/lib/sass/lesli/pages/devise-simple.scss +2 -1
- data/lib/tasks/lesli/controllers.rake +3 -6
- data/lib/tasks/lesli/db.rake +11 -1
- data/lib/tasks/lesli/role.rake +54 -0
- data/lib/vue/application.js +9 -2
- data/lib/vue/devise/passwords.js +3 -3
- data/lib/vue/layouts/application-header.vue +10 -3
- data/lib/webpack/core.js +2 -1
- data/readme.md +23 -7
- data/vendor/bulma/LICENSE +21 -0
- data/vendor/bulma/bulma.sass +10 -0
- data/vendor/bulma/css/bulma-rtl.css +11851 -0
- data/vendor/bulma/css/bulma-rtl.min.css +1 -0
- data/vendor/bulma/css/bulma.css +11851 -0
- data/vendor/bulma/css/bulma.min.css +1 -0
- data/vendor/bulma/sass/base/_all.sass +6 -0
- data/vendor/bulma/sass/base/animations.sass +5 -0
- data/vendor/bulma/sass/base/generic.sass +145 -0
- data/vendor/bulma/sass/base/helpers.sass +1 -0
- data/vendor/bulma/sass/base/minireset.sass +79 -0
- data/vendor/bulma/sass/components/_all.sass +15 -0
- data/vendor/bulma/sass/components/breadcrumb.sass +77 -0
- data/vendor/bulma/sass/components/card.sass +103 -0
- data/vendor/bulma/sass/components/dropdown.sass +83 -0
- data/vendor/bulma/sass/components/level.sass +79 -0
- data/vendor/bulma/sass/components/media.sass +59 -0
- data/vendor/bulma/sass/components/menu.sass +59 -0
- data/vendor/bulma/sass/components/message.sass +101 -0
- data/vendor/bulma/sass/components/modal.sass +117 -0
- data/vendor/bulma/sass/components/navbar.sass +446 -0
- data/vendor/bulma/sass/components/pagination.sass +167 -0
- data/vendor/bulma/sass/components/panel.sass +121 -0
- data/vendor/bulma/sass/components/tabs.sass +176 -0
- data/vendor/bulma/sass/elements/_all.sass +16 -0
- data/vendor/bulma/sass/elements/box.sass +26 -0
- data/vendor/bulma/sass/elements/button.sass +357 -0
- data/vendor/bulma/sass/elements/container.sass +29 -0
- data/vendor/bulma/sass/elements/content.sass +162 -0
- data/vendor/bulma/sass/elements/form.sass +1 -0
- data/vendor/bulma/sass/elements/icon.sass +46 -0
- data/vendor/bulma/sass/elements/image.sass +73 -0
- data/vendor/bulma/sass/elements/notification.sass +52 -0
- data/vendor/bulma/sass/elements/other.sass +31 -0
- data/vendor/bulma/sass/elements/progress.sass +73 -0
- data/vendor/bulma/sass/elements/table.sass +134 -0
- data/vendor/bulma/sass/elements/tag.sass +140 -0
- data/vendor/bulma/sass/elements/title.sass +70 -0
- data/vendor/bulma/sass/form/_all.sass +9 -0
- data/vendor/bulma/sass/form/checkbox-radio.sass +22 -0
- data/vendor/bulma/sass/form/file.sass +184 -0
- data/vendor/bulma/sass/form/input-textarea.sass +66 -0
- data/vendor/bulma/sass/form/select.sass +88 -0
- data/vendor/bulma/sass/form/shared.sass +60 -0
- data/vendor/bulma/sass/form/tools.sass +215 -0
- data/vendor/bulma/sass/grid/_all.sass +5 -0
- data/vendor/bulma/sass/grid/columns.sass +513 -0
- data/vendor/bulma/sass/grid/tiles.sass +36 -0
- data/vendor/bulma/sass/helpers/_all.sass +12 -0
- data/vendor/bulma/sass/helpers/color.sass +39 -0
- data/vendor/bulma/sass/helpers/flexbox.sass +35 -0
- data/vendor/bulma/sass/helpers/float.sass +10 -0
- data/vendor/bulma/sass/helpers/other.sass +14 -0
- data/vendor/bulma/sass/helpers/overflow.sass +2 -0
- data/vendor/bulma/sass/helpers/position.sass +7 -0
- data/vendor/bulma/sass/helpers/spacing.sass +31 -0
- data/vendor/bulma/sass/helpers/typography.sass +103 -0
- data/vendor/bulma/sass/helpers/visibility.sass +122 -0
- data/vendor/bulma/sass/layout/_all.sass +6 -0
- data/vendor/bulma/sass/layout/footer.sass +11 -0
- data/vendor/bulma/sass/layout/hero.sass +153 -0
- data/vendor/bulma/sass/layout/section.sass +17 -0
- data/vendor/bulma/sass/utilities/_all.sass +9 -0
- data/vendor/bulma/sass/utilities/animations.sass +1 -0
- data/vendor/bulma/sass/utilities/controls.sass +49 -0
- data/vendor/bulma/sass/utilities/derived-variables.sass +114 -0
- data/vendor/bulma/sass/utilities/extends.sass +25 -0
- data/vendor/bulma/sass/utilities/functions.sass +135 -0
- data/vendor/bulma/sass/utilities/initial-variables.sass +79 -0
- data/vendor/bulma/sass/utilities/mixins.sass +303 -0
- data/vendor/lesli-css/_index.scss +34 -0
- data/vendor/lesli-css/lesli.scss +51 -0
- data/vendor/lesli-css/license +28 -0
- data/vendor/lesli-css/src/base/fonts.scss +50 -0
- data/vendor/lesli-css/src/base/normalize.scss +118 -0
- data/vendor/lesli-css/src/components/blockquote.scss +61 -0
- data/vendor/lesli-css/src/components/columns.scss +92 -0
- data/vendor/lesli-css/src/components/container.scss +47 -0
- data/vendor/lesli-css/src/components/grid.scss +0 -0
- data/vendor/lesli-css/src/components/navigation.scss +59 -0
- data/vendor/lesli-css/src/functions/colors.scss +184 -0
- data/vendor/lesli-css/src/helpers/units.scss +44 -0
- data/vendor/lesli-css/src/mixins/breakpoint.scss +184 -0
- data/vendor/lesli-css/src/mixins/flex.scss +80 -0
- data/vendor/lesli-css/src/mixins/scrollbar.scss +46 -0
- data/vendor/lesli-css/src/settings/variables.scss +26 -0
- data/vendor/lesli-css/tests/base/normalize.spec.scss +125 -0
- data/vendor/lesli-css/tests/functions/colors.spec.scss +117 -0
- data/vendor/lesli-css/tests/mixins/breakpoint.spec.scss +429 -0
- data/vendor/lesli-css/tests/mixins/scrollbar.spec.scss +82 -0
- data/vendor/lesli-css/vendor/normalize.scss +351 -0
- data/vendor/remixicon/License +201 -0
- data/vendor/remixicon/fonts/remixicon.css +2583 -0
- metadata +116 -18
- data/app/models/concerns/account_engines.rb +0 -249
- data/app/models/concerns/user_polyfill.rb +0 -134
- data/config/locales/translations.en.yml +0 -7
- data/config/locales/translations.es.yml +0 -7
- data/db/migrate/v1.0/0010001510_create_lesli_account_requests.rb +0 -45
- data/db/migrate/v1.0/0010003810_create_lesli_user_requests.rb +0 -44
- data/db/tables/0010005510_create_role_descriptors.rb +0 -44
@@ -0,0 +1,145 @@
|
|
1
|
+
@import "../utilities/mixins"
|
2
|
+
|
3
|
+
$body-background-color: $scheme-main !default
|
4
|
+
$body-size: 16px !default
|
5
|
+
$body-min-width: 300px !default
|
6
|
+
$body-rendering: optimizeLegibility !default
|
7
|
+
$body-family: $family-primary !default
|
8
|
+
$body-overflow-x: hidden !default
|
9
|
+
$body-overflow-y: scroll !default
|
10
|
+
|
11
|
+
$body-color: $text !default
|
12
|
+
$body-font-size: 1em !default
|
13
|
+
$body-weight: $weight-normal !default
|
14
|
+
$body-line-height: 1.5 !default
|
15
|
+
|
16
|
+
$code-family: $family-code !default
|
17
|
+
$code-padding: 0.25em 0.5em 0.25em !default
|
18
|
+
$code-weight: normal !default
|
19
|
+
$code-size: 0.875em !default
|
20
|
+
|
21
|
+
$small-font-size: 0.875em !default
|
22
|
+
|
23
|
+
$hr-background-color: $background !default
|
24
|
+
$hr-height: 2px !default
|
25
|
+
$hr-margin: 1.5rem 0 !default
|
26
|
+
|
27
|
+
$strong-color: $text-strong !default
|
28
|
+
$strong-weight: $weight-bold !default
|
29
|
+
|
30
|
+
$pre-font-size: 0.875em !default
|
31
|
+
$pre-padding: 1.25rem 1.5rem !default
|
32
|
+
$pre-code-font-size: 1em !default
|
33
|
+
|
34
|
+
html
|
35
|
+
background-color: $body-background-color
|
36
|
+
font-size: $body-size
|
37
|
+
-moz-osx-font-smoothing: grayscale
|
38
|
+
-webkit-font-smoothing: antialiased
|
39
|
+
min-width: $body-min-width
|
40
|
+
overflow-x: $body-overflow-x
|
41
|
+
overflow-y: $body-overflow-y
|
42
|
+
text-rendering: $body-rendering
|
43
|
+
text-size-adjust: 100%
|
44
|
+
|
45
|
+
article,
|
46
|
+
aside,
|
47
|
+
figure,
|
48
|
+
footer,
|
49
|
+
header,
|
50
|
+
hgroup,
|
51
|
+
section
|
52
|
+
display: block
|
53
|
+
|
54
|
+
body,
|
55
|
+
button,
|
56
|
+
input,
|
57
|
+
optgroup,
|
58
|
+
select,
|
59
|
+
textarea
|
60
|
+
font-family: $body-family
|
61
|
+
|
62
|
+
code,
|
63
|
+
pre
|
64
|
+
-moz-osx-font-smoothing: auto
|
65
|
+
-webkit-font-smoothing: auto
|
66
|
+
font-family: $code-family
|
67
|
+
|
68
|
+
body
|
69
|
+
color: $body-color
|
70
|
+
font-size: $body-font-size
|
71
|
+
font-weight: $body-weight
|
72
|
+
line-height: $body-line-height
|
73
|
+
|
74
|
+
// Inline
|
75
|
+
|
76
|
+
a
|
77
|
+
color: $link
|
78
|
+
cursor: pointer
|
79
|
+
text-decoration: none
|
80
|
+
strong
|
81
|
+
color: currentColor
|
82
|
+
&:hover
|
83
|
+
color: $link-hover
|
84
|
+
|
85
|
+
code
|
86
|
+
background-color: $code-background
|
87
|
+
color: $code
|
88
|
+
font-size: $code-size
|
89
|
+
font-weight: $code-weight
|
90
|
+
padding: $code-padding
|
91
|
+
|
92
|
+
hr
|
93
|
+
background-color: $hr-background-color
|
94
|
+
border: none
|
95
|
+
display: block
|
96
|
+
height: $hr-height
|
97
|
+
margin: $hr-margin
|
98
|
+
|
99
|
+
img
|
100
|
+
height: auto
|
101
|
+
max-width: 100%
|
102
|
+
|
103
|
+
input[type="checkbox"],
|
104
|
+
input[type="radio"]
|
105
|
+
vertical-align: baseline
|
106
|
+
|
107
|
+
small
|
108
|
+
font-size: $small-font-size
|
109
|
+
|
110
|
+
span
|
111
|
+
font-style: inherit
|
112
|
+
font-weight: inherit
|
113
|
+
|
114
|
+
strong
|
115
|
+
color: $strong-color
|
116
|
+
font-weight: $strong-weight
|
117
|
+
|
118
|
+
// Block
|
119
|
+
|
120
|
+
fieldset
|
121
|
+
border: none
|
122
|
+
|
123
|
+
pre
|
124
|
+
+overflow-touch
|
125
|
+
background-color: $pre-background
|
126
|
+
color: $pre
|
127
|
+
font-size: $pre-font-size
|
128
|
+
overflow-x: auto
|
129
|
+
padding: $pre-padding
|
130
|
+
white-space: pre
|
131
|
+
word-wrap: normal
|
132
|
+
code
|
133
|
+
background-color: transparent
|
134
|
+
color: currentColor
|
135
|
+
font-size: $pre-code-font-size
|
136
|
+
padding: 0
|
137
|
+
|
138
|
+
table
|
139
|
+
td,
|
140
|
+
th
|
141
|
+
vertical-align: top
|
142
|
+
&:not([align])
|
143
|
+
text-align: inherit
|
144
|
+
th
|
145
|
+
color: $text-strong
|
@@ -0,0 +1 @@
|
|
1
|
+
@warn "The helpers.sass file is DEPRECATED. It has moved into its own /helpers folder. Please import sass/helpers/_all instead."
|
@@ -0,0 +1,79 @@
|
|
1
|
+
/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */
|
2
|
+
// Blocks
|
3
|
+
html,
|
4
|
+
body,
|
5
|
+
p,
|
6
|
+
ol,
|
7
|
+
ul,
|
8
|
+
li,
|
9
|
+
dl,
|
10
|
+
dt,
|
11
|
+
dd,
|
12
|
+
blockquote,
|
13
|
+
figure,
|
14
|
+
fieldset,
|
15
|
+
legend,
|
16
|
+
textarea,
|
17
|
+
pre,
|
18
|
+
iframe,
|
19
|
+
hr,
|
20
|
+
h1,
|
21
|
+
h2,
|
22
|
+
h3,
|
23
|
+
h4,
|
24
|
+
h5,
|
25
|
+
h6
|
26
|
+
margin: 0
|
27
|
+
padding: 0
|
28
|
+
|
29
|
+
// Headings
|
30
|
+
h1,
|
31
|
+
h2,
|
32
|
+
h3,
|
33
|
+
h4,
|
34
|
+
h5,
|
35
|
+
h6
|
36
|
+
font-size: 100%
|
37
|
+
font-weight: normal
|
38
|
+
|
39
|
+
// List
|
40
|
+
ul
|
41
|
+
list-style: none
|
42
|
+
|
43
|
+
// Form
|
44
|
+
button,
|
45
|
+
input,
|
46
|
+
select,
|
47
|
+
textarea
|
48
|
+
margin: 0
|
49
|
+
|
50
|
+
// Box sizing
|
51
|
+
html
|
52
|
+
box-sizing: border-box
|
53
|
+
|
54
|
+
*
|
55
|
+
&,
|
56
|
+
&::before,
|
57
|
+
&::after
|
58
|
+
box-sizing: inherit
|
59
|
+
|
60
|
+
// Media
|
61
|
+
img,
|
62
|
+
video
|
63
|
+
height: auto
|
64
|
+
max-width: 100%
|
65
|
+
|
66
|
+
// Iframe
|
67
|
+
iframe
|
68
|
+
border: 0
|
69
|
+
|
70
|
+
// Table
|
71
|
+
table
|
72
|
+
border-collapse: collapse
|
73
|
+
border-spacing: 0
|
74
|
+
|
75
|
+
td,
|
76
|
+
th
|
77
|
+
padding: 0
|
78
|
+
&:not([align])
|
79
|
+
text-align: inherit
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/* Bulma Components */
|
2
|
+
@charset "utf-8"
|
3
|
+
|
4
|
+
@import "breadcrumb"
|
5
|
+
@import "card"
|
6
|
+
@import "dropdown"
|
7
|
+
@import "level"
|
8
|
+
@import "media"
|
9
|
+
@import "menu"
|
10
|
+
@import "message"
|
11
|
+
@import "modal"
|
12
|
+
@import "navbar"
|
13
|
+
@import "pagination"
|
14
|
+
@import "panel"
|
15
|
+
@import "tabs"
|
@@ -0,0 +1,77 @@
|
|
1
|
+
@import "../utilities/mixins"
|
2
|
+
|
3
|
+
$breadcrumb-item-color: $link !default
|
4
|
+
$breadcrumb-item-hover-color: $link-hover !default
|
5
|
+
$breadcrumb-item-active-color: $text-strong !default
|
6
|
+
|
7
|
+
$breadcrumb-item-padding-vertical: 0 !default
|
8
|
+
$breadcrumb-item-padding-horizontal: 0.75em !default
|
9
|
+
|
10
|
+
$breadcrumb-item-separator-color: $border-hover !default
|
11
|
+
|
12
|
+
.breadcrumb
|
13
|
+
@extend %block
|
14
|
+
@extend %unselectable
|
15
|
+
font-size: $size-normal
|
16
|
+
white-space: nowrap
|
17
|
+
a
|
18
|
+
align-items: center
|
19
|
+
color: $breadcrumb-item-color
|
20
|
+
display: flex
|
21
|
+
justify-content: center
|
22
|
+
padding: $breadcrumb-item-padding-vertical $breadcrumb-item-padding-horizontal
|
23
|
+
&:hover
|
24
|
+
color: $breadcrumb-item-hover-color
|
25
|
+
li
|
26
|
+
align-items: center
|
27
|
+
display: flex
|
28
|
+
&:first-child a
|
29
|
+
+ltr-property("padding", 0, false)
|
30
|
+
&.is-active
|
31
|
+
a
|
32
|
+
color: $breadcrumb-item-active-color
|
33
|
+
cursor: default
|
34
|
+
pointer-events: none
|
35
|
+
& + li::before
|
36
|
+
color: $breadcrumb-item-separator-color
|
37
|
+
content: "\0002f"
|
38
|
+
ul,
|
39
|
+
ol
|
40
|
+
align-items: flex-start
|
41
|
+
display: flex
|
42
|
+
flex-wrap: wrap
|
43
|
+
justify-content: flex-start
|
44
|
+
.icon
|
45
|
+
&:first-child
|
46
|
+
+ltr-property("margin", 0.5em)
|
47
|
+
&:last-child
|
48
|
+
+ltr-property("margin", 0.5em, false)
|
49
|
+
// Alignment
|
50
|
+
&.is-centered
|
51
|
+
ol,
|
52
|
+
ul
|
53
|
+
justify-content: center
|
54
|
+
&.is-right
|
55
|
+
ol,
|
56
|
+
ul
|
57
|
+
justify-content: flex-end
|
58
|
+
// Sizes
|
59
|
+
&.is-small
|
60
|
+
font-size: $size-small
|
61
|
+
&.is-medium
|
62
|
+
font-size: $size-medium
|
63
|
+
&.is-large
|
64
|
+
font-size: $size-large
|
65
|
+
// Styles
|
66
|
+
&.has-arrow-separator
|
67
|
+
li + li::before
|
68
|
+
content: "\02192"
|
69
|
+
&.has-bullet-separator
|
70
|
+
li + li::before
|
71
|
+
content: "\02022"
|
72
|
+
&.has-dot-separator
|
73
|
+
li + li::before
|
74
|
+
content: "\000b7"
|
75
|
+
&.has-succeeds-separator
|
76
|
+
li + li::before
|
77
|
+
content: "\0227B"
|
@@ -0,0 +1,103 @@
|
|
1
|
+
@import "../utilities/mixins"
|
2
|
+
|
3
|
+
$card-color: $text !default
|
4
|
+
$card-background-color: $scheme-main !default
|
5
|
+
$card-shadow: $shadow !default
|
6
|
+
$card-radius: 0.25rem !default
|
7
|
+
|
8
|
+
$card-header-background-color: transparent !default
|
9
|
+
$card-header-color: $text-strong !default
|
10
|
+
$card-header-padding: 0.75rem 1rem !default
|
11
|
+
$card-header-shadow: 0 0.125em 0.25em rgba($scheme-invert, 0.1) !default
|
12
|
+
$card-header-weight: $weight-bold !default
|
13
|
+
|
14
|
+
$card-content-background-color: transparent !default
|
15
|
+
$card-content-padding: 1.5rem !default
|
16
|
+
|
17
|
+
$card-footer-background-color: transparent !default
|
18
|
+
$card-footer-border-top: 1px solid $border-light !default
|
19
|
+
$card-footer-padding: 0.75rem !default
|
20
|
+
|
21
|
+
$card-media-margin: $block-spacing !default
|
22
|
+
|
23
|
+
.card
|
24
|
+
background-color: $card-background-color
|
25
|
+
border-radius: $card-radius
|
26
|
+
box-shadow: $card-shadow
|
27
|
+
color: $card-color
|
28
|
+
max-width: 100%
|
29
|
+
position: relative
|
30
|
+
|
31
|
+
%card-item
|
32
|
+
&:first-child
|
33
|
+
border-top-left-radius: $card-radius
|
34
|
+
border-top-right-radius: $card-radius
|
35
|
+
&:last-child
|
36
|
+
border-bottom-left-radius: $card-radius
|
37
|
+
border-bottom-right-radius: $card-radius
|
38
|
+
|
39
|
+
.card-header
|
40
|
+
@extend %card-item
|
41
|
+
background-color: $card-header-background-color
|
42
|
+
align-items: stretch
|
43
|
+
box-shadow: $card-header-shadow
|
44
|
+
display: flex
|
45
|
+
|
46
|
+
.card-header-title
|
47
|
+
align-items: center
|
48
|
+
color: $card-header-color
|
49
|
+
display: flex
|
50
|
+
flex-grow: 1
|
51
|
+
font-weight: $card-header-weight
|
52
|
+
padding: $card-header-padding
|
53
|
+
&.is-centered
|
54
|
+
justify-content: center
|
55
|
+
|
56
|
+
.card-header-icon
|
57
|
+
+reset
|
58
|
+
align-items: center
|
59
|
+
cursor: pointer
|
60
|
+
display: flex
|
61
|
+
justify-content: center
|
62
|
+
padding: $card-header-padding
|
63
|
+
|
64
|
+
.card-image
|
65
|
+
display: block
|
66
|
+
position: relative
|
67
|
+
&:first-child
|
68
|
+
img
|
69
|
+
border-top-left-radius: $card-radius
|
70
|
+
border-top-right-radius: $card-radius
|
71
|
+
&:last-child
|
72
|
+
img
|
73
|
+
border-bottom-left-radius: $card-radius
|
74
|
+
border-bottom-right-radius: $card-radius
|
75
|
+
|
76
|
+
.card-content
|
77
|
+
@extend %card-item
|
78
|
+
background-color: $card-content-background-color
|
79
|
+
padding: $card-content-padding
|
80
|
+
|
81
|
+
.card-footer
|
82
|
+
@extend %card-item
|
83
|
+
background-color: $card-footer-background-color
|
84
|
+
border-top: $card-footer-border-top
|
85
|
+
align-items: stretch
|
86
|
+
display: flex
|
87
|
+
|
88
|
+
.card-footer-item
|
89
|
+
align-items: center
|
90
|
+
display: flex
|
91
|
+
flex-basis: 0
|
92
|
+
flex-grow: 1
|
93
|
+
flex-shrink: 0
|
94
|
+
justify-content: center
|
95
|
+
padding: $card-footer-padding
|
96
|
+
&:not(:last-child)
|
97
|
+
+ltr-property("border", $card-footer-border-top)
|
98
|
+
|
99
|
+
// Combinations
|
100
|
+
|
101
|
+
.card
|
102
|
+
.media:not(:last-child)
|
103
|
+
margin-bottom: $card-media-margin
|
@@ -0,0 +1,83 @@
|
|
1
|
+
@import "../utilities/mixins"
|
2
|
+
|
3
|
+
$dropdown-menu-min-width: 12rem !default
|
4
|
+
|
5
|
+
$dropdown-content-background-color: $scheme-main !default
|
6
|
+
$dropdown-content-arrow: $link !default
|
7
|
+
$dropdown-content-offset: 4px !default
|
8
|
+
$dropdown-content-padding-bottom: 0.5rem !default
|
9
|
+
$dropdown-content-padding-top: 0.5rem !default
|
10
|
+
$dropdown-content-radius: $radius !default
|
11
|
+
$dropdown-content-shadow: $shadow !default
|
12
|
+
$dropdown-content-z: 20 !default
|
13
|
+
|
14
|
+
$dropdown-item-color: $text !default
|
15
|
+
$dropdown-item-hover-color: $scheme-invert !default
|
16
|
+
$dropdown-item-hover-background-color: $background !default
|
17
|
+
$dropdown-item-active-color: $link-invert !default
|
18
|
+
$dropdown-item-active-background-color: $link !default
|
19
|
+
|
20
|
+
$dropdown-divider-background-color: $border-light !default
|
21
|
+
|
22
|
+
.dropdown
|
23
|
+
display: inline-flex
|
24
|
+
position: relative
|
25
|
+
vertical-align: top
|
26
|
+
&.is-active,
|
27
|
+
&.is-hoverable:hover
|
28
|
+
.dropdown-menu
|
29
|
+
display: block
|
30
|
+
&.is-right
|
31
|
+
.dropdown-menu
|
32
|
+
left: auto
|
33
|
+
right: 0
|
34
|
+
&.is-up
|
35
|
+
.dropdown-menu
|
36
|
+
bottom: 100%
|
37
|
+
padding-bottom: $dropdown-content-offset
|
38
|
+
padding-top: initial
|
39
|
+
top: auto
|
40
|
+
|
41
|
+
.dropdown-menu
|
42
|
+
display: none
|
43
|
+
+ltr-position(0, false)
|
44
|
+
min-width: $dropdown-menu-min-width
|
45
|
+
padding-top: $dropdown-content-offset
|
46
|
+
position: absolute
|
47
|
+
top: 100%
|
48
|
+
z-index: $dropdown-content-z
|
49
|
+
|
50
|
+
.dropdown-content
|
51
|
+
background-color: $dropdown-content-background-color
|
52
|
+
border-radius: $dropdown-content-radius
|
53
|
+
box-shadow: $dropdown-content-shadow
|
54
|
+
padding-bottom: $dropdown-content-padding-bottom
|
55
|
+
padding-top: $dropdown-content-padding-top
|
56
|
+
|
57
|
+
.dropdown-item
|
58
|
+
color: $dropdown-item-color
|
59
|
+
display: block
|
60
|
+
font-size: 0.875rem
|
61
|
+
line-height: 1.5
|
62
|
+
padding: 0.375rem 1rem
|
63
|
+
position: relative
|
64
|
+
|
65
|
+
a.dropdown-item,
|
66
|
+
button.dropdown-item
|
67
|
+
+ltr-property("padding", 3rem)
|
68
|
+
text-align: inherit
|
69
|
+
white-space: nowrap
|
70
|
+
width: 100%
|
71
|
+
&:hover
|
72
|
+
background-color: $dropdown-item-hover-background-color
|
73
|
+
color: $dropdown-item-hover-color
|
74
|
+
&.is-active
|
75
|
+
background-color: $dropdown-item-active-background-color
|
76
|
+
color: $dropdown-item-active-color
|
77
|
+
|
78
|
+
.dropdown-divider
|
79
|
+
background-color: $dropdown-divider-background-color
|
80
|
+
border: none
|
81
|
+
display: block
|
82
|
+
height: 1px
|
83
|
+
margin: 0.5rem 0
|
@@ -0,0 +1,79 @@
|
|
1
|
+
@import "../utilities/mixins"
|
2
|
+
|
3
|
+
$level-item-spacing: ($block-spacing * 0.5) !default
|
4
|
+
|
5
|
+
.level
|
6
|
+
@extend %block
|
7
|
+
align-items: center
|
8
|
+
justify-content: space-between
|
9
|
+
code
|
10
|
+
border-radius: $radius
|
11
|
+
img
|
12
|
+
display: inline-block
|
13
|
+
vertical-align: top
|
14
|
+
// Modifiers
|
15
|
+
&.is-mobile
|
16
|
+
display: flex
|
17
|
+
.level-left,
|
18
|
+
.level-right
|
19
|
+
display: flex
|
20
|
+
.level-left + .level-right
|
21
|
+
margin-top: 0
|
22
|
+
.level-item
|
23
|
+
&:not(:last-child)
|
24
|
+
margin-bottom: 0
|
25
|
+
+ltr-property("margin", $level-item-spacing)
|
26
|
+
&:not(.is-narrow)
|
27
|
+
flex-grow: 1
|
28
|
+
// Responsiveness
|
29
|
+
+tablet
|
30
|
+
display: flex
|
31
|
+
& > .level-item
|
32
|
+
&:not(.is-narrow)
|
33
|
+
flex-grow: 1
|
34
|
+
|
35
|
+
.level-item
|
36
|
+
align-items: center
|
37
|
+
display: flex
|
38
|
+
flex-basis: auto
|
39
|
+
flex-grow: 0
|
40
|
+
flex-shrink: 0
|
41
|
+
justify-content: center
|
42
|
+
.title,
|
43
|
+
.subtitle
|
44
|
+
margin-bottom: 0
|
45
|
+
// Responsiveness
|
46
|
+
+mobile
|
47
|
+
&:not(:last-child)
|
48
|
+
margin-bottom: $level-item-spacing
|
49
|
+
|
50
|
+
.level-left,
|
51
|
+
.level-right
|
52
|
+
flex-basis: auto
|
53
|
+
flex-grow: 0
|
54
|
+
flex-shrink: 0
|
55
|
+
.level-item
|
56
|
+
// Modifiers
|
57
|
+
&.is-flexible
|
58
|
+
flex-grow: 1
|
59
|
+
// Responsiveness
|
60
|
+
+tablet
|
61
|
+
&:not(:last-child)
|
62
|
+
+ltr-property("margin", $level-item-spacing)
|
63
|
+
|
64
|
+
.level-left
|
65
|
+
align-items: center
|
66
|
+
justify-content: flex-start
|
67
|
+
// Responsiveness
|
68
|
+
+mobile
|
69
|
+
& + .level-right
|
70
|
+
margin-top: 1.5rem
|
71
|
+
+tablet
|
72
|
+
display: flex
|
73
|
+
|
74
|
+
.level-right
|
75
|
+
align-items: center
|
76
|
+
justify-content: flex-end
|
77
|
+
// Responsiveness
|
78
|
+
+tablet
|
79
|
+
display: flex
|
@@ -0,0 +1,59 @@
|
|
1
|
+
@import "../utilities/mixins"
|
2
|
+
|
3
|
+
$media-border-color: bulmaRgba($border, 0.5) !default
|
4
|
+
$media-border-size: 1px !default
|
5
|
+
$media-spacing: 1rem !default
|
6
|
+
$media-spacing-large: 1.5rem !default
|
7
|
+
$media-content-spacing: 0.75rem !default
|
8
|
+
$media-level-1-spacing: 0.75rem !default
|
9
|
+
$media-level-1-content-spacing: 0.5rem !default
|
10
|
+
$media-level-2-spacing: 0.5rem !default
|
11
|
+
|
12
|
+
.media
|
13
|
+
align-items: flex-start
|
14
|
+
display: flex
|
15
|
+
text-align: inherit
|
16
|
+
.content:not(:last-child)
|
17
|
+
margin-bottom: $media-content-spacing
|
18
|
+
.media
|
19
|
+
border-top: $media-border-size solid $media-border-color
|
20
|
+
display: flex
|
21
|
+
padding-top: $media-level-1-spacing
|
22
|
+
.content:not(:last-child),
|
23
|
+
.control:not(:last-child)
|
24
|
+
margin-bottom: $media-level-1-content-spacing
|
25
|
+
.media
|
26
|
+
padding-top: $media-level-2-spacing
|
27
|
+
& + .media
|
28
|
+
margin-top: $media-level-2-spacing
|
29
|
+
& + .media
|
30
|
+
border-top: $media-border-size solid $media-border-color
|
31
|
+
margin-top: $media-spacing
|
32
|
+
padding-top: $media-spacing
|
33
|
+
// Sizes
|
34
|
+
&.is-large
|
35
|
+
& + .media
|
36
|
+
margin-top: $media-spacing-large
|
37
|
+
padding-top: $media-spacing-large
|
38
|
+
|
39
|
+
.media-left,
|
40
|
+
.media-right
|
41
|
+
flex-basis: auto
|
42
|
+
flex-grow: 0
|
43
|
+
flex-shrink: 0
|
44
|
+
|
45
|
+
.media-left
|
46
|
+
+ltr-property("margin", $media-spacing)
|
47
|
+
|
48
|
+
.media-right
|
49
|
+
+ltr-property("margin", $media-spacing, false)
|
50
|
+
|
51
|
+
.media-content
|
52
|
+
flex-basis: auto
|
53
|
+
flex-grow: 1
|
54
|
+
flex-shrink: 1
|
55
|
+
text-align: inherit
|
56
|
+
|
57
|
+
+mobile
|
58
|
+
.media-content
|
59
|
+
overflow-x: auto
|
@@ -0,0 +1,59 @@
|
|
1
|
+
@import "../utilities/mixins"
|
2
|
+
|
3
|
+
$menu-item-color: $text !default
|
4
|
+
$menu-item-radius: $radius-small !default
|
5
|
+
$menu-item-hover-color: $text-strong !default
|
6
|
+
$menu-item-hover-background-color: $background !default
|
7
|
+
$menu-item-active-color: $link-invert !default
|
8
|
+
$menu-item-active-background-color: $link !default
|
9
|
+
|
10
|
+
$menu-list-border-left: 1px solid $border !default
|
11
|
+
$menu-list-line-height: 1.25 !default
|
12
|
+
$menu-list-link-padding: 0.5em 0.75em !default
|
13
|
+
$menu-nested-list-margin: 0.75em !default
|
14
|
+
$menu-nested-list-padding-left: 0.75em !default
|
15
|
+
|
16
|
+
$menu-label-color: $text-light !default
|
17
|
+
$menu-label-font-size: 0.75em !default
|
18
|
+
$menu-label-letter-spacing: 0.1em !default
|
19
|
+
$menu-label-spacing: 1em !default
|
20
|
+
|
21
|
+
.menu
|
22
|
+
font-size: $size-normal
|
23
|
+
// Sizes
|
24
|
+
&.is-small
|
25
|
+
font-size: $size-small
|
26
|
+
&.is-medium
|
27
|
+
font-size: $size-medium
|
28
|
+
&.is-large
|
29
|
+
font-size: $size-large
|
30
|
+
|
31
|
+
.menu-list
|
32
|
+
line-height: $menu-list-line-height
|
33
|
+
a
|
34
|
+
border-radius: $menu-item-radius
|
35
|
+
color: $menu-item-color
|
36
|
+
display: block
|
37
|
+
padding: $menu-list-link-padding
|
38
|
+
&:hover
|
39
|
+
background-color: $menu-item-hover-background-color
|
40
|
+
color: $menu-item-hover-color
|
41
|
+
// Modifiers
|
42
|
+
&.is-active
|
43
|
+
background-color: $menu-item-active-background-color
|
44
|
+
color: $menu-item-active-color
|
45
|
+
li
|
46
|
+
ul
|
47
|
+
+ltr-property("border", $menu-list-border-left, false)
|
48
|
+
margin: $menu-nested-list-margin
|
49
|
+
+ltr-property("padding", $menu-nested-list-padding-left, false)
|
50
|
+
|
51
|
+
.menu-label
|
52
|
+
color: $menu-label-color
|
53
|
+
font-size: $menu-label-font-size
|
54
|
+
letter-spacing: $menu-label-letter-spacing
|
55
|
+
text-transform: uppercase
|
56
|
+
&:not(:first-child)
|
57
|
+
margin-top: $menu-label-spacing
|
58
|
+
&:not(:last-child)
|
59
|
+
margin-bottom: $menu-label-spacing
|