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,184 @@
1
+ $file-border-color: $border !default
2
+ $file-radius: $radius !default
3
+
4
+ $file-cta-background-color: $scheme-main-ter !default
5
+ $file-cta-color: $text !default
6
+ $file-cta-hover-color: $text-strong !default
7
+ $file-cta-active-color: $text-strong !default
8
+
9
+ $file-name-border-color: $border !default
10
+ $file-name-border-style: solid !default
11
+ $file-name-border-width: 1px 1px 1px 0 !default
12
+ $file-name-max-width: 16em !default
13
+
14
+ $file-colors: $form-colors !default
15
+
16
+ .file
17
+ @extend %unselectable
18
+ align-items: stretch
19
+ display: flex
20
+ justify-content: flex-start
21
+ position: relative
22
+ // Colors
23
+ @each $name, $pair in $file-colors
24
+ $color: nth($pair, 1)
25
+ $color-invert: nth($pair, 2)
26
+ &.is-#{$name}
27
+ .file-cta
28
+ background-color: $color
29
+ border-color: transparent
30
+ color: $color-invert
31
+ &:hover,
32
+ &.is-hovered
33
+ .file-cta
34
+ background-color: bulmaDarken($color, 2.5%)
35
+ border-color: transparent
36
+ color: $color-invert
37
+ &:focus,
38
+ &.is-focused
39
+ .file-cta
40
+ border-color: transparent
41
+ box-shadow: 0 0 0.5em bulmaRgba($color, 0.25)
42
+ color: $color-invert
43
+ &:active,
44
+ &.is-active
45
+ .file-cta
46
+ background-color: bulmaDarken($color, 5%)
47
+ border-color: transparent
48
+ color: $color-invert
49
+ // Sizes
50
+ &.is-small
51
+ font-size: $size-small
52
+ &.is-normal
53
+ font-size: $size-normal
54
+ &.is-medium
55
+ font-size: $size-medium
56
+ .file-icon
57
+ .fa
58
+ font-size: 21px
59
+ &.is-large
60
+ font-size: $size-large
61
+ .file-icon
62
+ .fa
63
+ font-size: 28px
64
+ // Modifiers
65
+ &.has-name
66
+ .file-cta
67
+ border-bottom-right-radius: 0
68
+ border-top-right-radius: 0
69
+ .file-name
70
+ border-bottom-left-radius: 0
71
+ border-top-left-radius: 0
72
+ &.is-empty
73
+ .file-cta
74
+ border-radius: $file-radius
75
+ .file-name
76
+ display: none
77
+ &.is-boxed
78
+ .file-label
79
+ flex-direction: column
80
+ .file-cta
81
+ flex-direction: column
82
+ height: auto
83
+ padding: 1em 3em
84
+ .file-name
85
+ border-width: 0 1px 1px
86
+ .file-icon
87
+ height: 1.5em
88
+ width: 1.5em
89
+ .fa
90
+ font-size: 21px
91
+ &.is-small
92
+ .file-icon .fa
93
+ font-size: 14px
94
+ &.is-medium
95
+ .file-icon .fa
96
+ font-size: 28px
97
+ &.is-large
98
+ .file-icon .fa
99
+ font-size: 35px
100
+ &.has-name
101
+ .file-cta
102
+ border-radius: $file-radius $file-radius 0 0
103
+ .file-name
104
+ border-radius: 0 0 $file-radius $file-radius
105
+ border-width: 0 1px 1px
106
+ &.is-centered
107
+ justify-content: center
108
+ &.is-fullwidth
109
+ .file-label
110
+ width: 100%
111
+ .file-name
112
+ flex-grow: 1
113
+ max-width: none
114
+ &.is-right
115
+ justify-content: flex-end
116
+ .file-cta
117
+ border-radius: 0 $file-radius $file-radius 0
118
+ .file-name
119
+ border-radius: $file-radius 0 0 $file-radius
120
+ border-width: 1px 0 1px 1px
121
+ order: -1
122
+
123
+ .file-label
124
+ align-items: stretch
125
+ display: flex
126
+ cursor: pointer
127
+ justify-content: flex-start
128
+ overflow: hidden
129
+ position: relative
130
+ &:hover
131
+ .file-cta
132
+ background-color: bulmaDarken($file-cta-background-color, 2.5%)
133
+ color: $file-cta-hover-color
134
+ .file-name
135
+ border-color: bulmaDarken($file-name-border-color, 2.5%)
136
+ &:active
137
+ .file-cta
138
+ background-color: bulmaDarken($file-cta-background-color, 5%)
139
+ color: $file-cta-active-color
140
+ .file-name
141
+ border-color: bulmaDarken($file-name-border-color, 5%)
142
+
143
+ .file-input
144
+ height: 100%
145
+ left: 0
146
+ opacity: 0
147
+ outline: none
148
+ position: absolute
149
+ top: 0
150
+ width: 100%
151
+
152
+ .file-cta,
153
+ .file-name
154
+ @extend %control
155
+ border-color: $file-border-color
156
+ border-radius: $file-radius
157
+ font-size: 1em
158
+ padding-left: 1em
159
+ padding-right: 1em
160
+ white-space: nowrap
161
+
162
+ .file-cta
163
+ background-color: $file-cta-background-color
164
+ color: $file-cta-color
165
+
166
+ .file-name
167
+ border-color: $file-name-border-color
168
+ border-style: $file-name-border-style
169
+ border-width: $file-name-border-width
170
+ display: block
171
+ max-width: $file-name-max-width
172
+ overflow: hidden
173
+ text-align: inherit
174
+ text-overflow: ellipsis
175
+
176
+ .file-icon
177
+ align-items: center
178
+ display: flex
179
+ height: 1em
180
+ justify-content: center
181
+ +ltr-property("margin", 0.5em)
182
+ width: 1em
183
+ .fa
184
+ font-size: 14px
@@ -0,0 +1,66 @@
1
+ $textarea-padding: $control-padding-horizontal !default
2
+ $textarea-max-height: 40em !default
3
+ $textarea-min-height: 8em !default
4
+
5
+ $textarea-colors: $form-colors !default
6
+
7
+ %input-textarea
8
+ @extend %input
9
+ box-shadow: $input-shadow
10
+ max-width: 100%
11
+ width: 100%
12
+ &[readonly]
13
+ box-shadow: none
14
+ // Colors
15
+ @each $name, $pair in $textarea-colors
16
+ $color: nth($pair, 1)
17
+ &.is-#{$name}
18
+ border-color: $color
19
+ &:focus,
20
+ &.is-focused,
21
+ &:active,
22
+ &.is-active
23
+ box-shadow: $input-focus-box-shadow-size bulmaRgba($color, 0.25)
24
+ // Sizes
25
+ &.is-small
26
+ +control-small
27
+ &.is-medium
28
+ +control-medium
29
+ &.is-large
30
+ +control-large
31
+ // Modifiers
32
+ &.is-fullwidth
33
+ display: block
34
+ width: 100%
35
+ &.is-inline
36
+ display: inline
37
+ width: auto
38
+
39
+ .input
40
+ @extend %input-textarea
41
+ &.is-rounded
42
+ border-radius: $radius-rounded
43
+ padding-left: calc(#{$control-padding-horizontal} + 0.375em)
44
+ padding-right: calc(#{$control-padding-horizontal} + 0.375em)
45
+ &.is-static
46
+ background-color: transparent
47
+ border-color: transparent
48
+ box-shadow: none
49
+ padding-left: 0
50
+ padding-right: 0
51
+
52
+ .textarea
53
+ @extend %input-textarea
54
+ display: block
55
+ max-width: 100%
56
+ min-width: 100%
57
+ padding: $textarea-padding
58
+ resize: vertical
59
+ &:not([rows])
60
+ max-height: $textarea-max-height
61
+ min-height: $textarea-min-height
62
+ &[rows]
63
+ height: initial
64
+ // Modifiers
65
+ &.has-fixed-size
66
+ resize: none
@@ -0,0 +1,88 @@
1
+ $select-colors: $form-colors !default
2
+
3
+ .select
4
+ display: inline-block
5
+ max-width: 100%
6
+ position: relative
7
+ vertical-align: top
8
+ &:not(.is-multiple)
9
+ height: $input-height
10
+ &:not(.is-multiple):not(.is-loading)
11
+ &::after
12
+ @extend %arrow
13
+ border-color: $input-arrow
14
+ +ltr-position(1.125em)
15
+ z-index: 4
16
+ &.is-rounded
17
+ select
18
+ border-radius: $radius-rounded
19
+ +ltr-property("padding", 1em, false)
20
+ select
21
+ @extend %input
22
+ cursor: pointer
23
+ display: block
24
+ font-size: 1em
25
+ max-width: 100%
26
+ outline: none
27
+ &::-ms-expand
28
+ display: none
29
+ &[disabled]:hover,
30
+ fieldset[disabled] &:hover
31
+ border-color: $input-disabled-border-color
32
+ &:not([multiple])
33
+ +ltr-property("padding", 2.5em)
34
+ &[multiple]
35
+ height: auto
36
+ padding: 0
37
+ option
38
+ padding: 0.5em 1em
39
+ // States
40
+ &:not(.is-multiple):not(.is-loading):hover
41
+ &::after
42
+ border-color: $input-hover-color
43
+ // Colors
44
+ @each $name, $pair in $select-colors
45
+ $color: nth($pair, 1)
46
+ &.is-#{$name}
47
+ &:not(:hover)::after
48
+ border-color: $color
49
+ select
50
+ border-color: $color
51
+ &:hover,
52
+ &.is-hovered
53
+ border-color: bulmaDarken($color, 5%)
54
+ &:focus,
55
+ &.is-focused,
56
+ &:active,
57
+ &.is-active
58
+ box-shadow: $input-focus-box-shadow-size bulmaRgba($color, 0.25)
59
+ // Sizes
60
+ &.is-small
61
+ +control-small
62
+ &.is-medium
63
+ +control-medium
64
+ &.is-large
65
+ +control-large
66
+ // Modifiers
67
+ &.is-disabled
68
+ &::after
69
+ border-color: $input-disabled-color !important
70
+ opacity: 0.5
71
+ &.is-fullwidth
72
+ width: 100%
73
+ select
74
+ width: 100%
75
+ &.is-loading
76
+ &::after
77
+ @extend %loader
78
+ margin-top: 0
79
+ position: absolute
80
+ +ltr-position(0.625em)
81
+ top: 0.625em
82
+ transform: none
83
+ &.is-small:after
84
+ font-size: $size-small
85
+ &.is-medium:after
86
+ font-size: $size-medium
87
+ &.is-large:after
88
+ font-size: $size-large
@@ -0,0 +1,60 @@
1
+ @import "../utilities/controls"
2
+ @import "../utilities/mixins"
3
+
4
+ $form-colors: $colors !default
5
+
6
+ $input-color: $text-strong !default
7
+ $input-background-color: $scheme-main !default
8
+ $input-border-color: $border !default
9
+ $input-height: $control-height !default
10
+ $input-shadow: inset 0 0.0625em 0.125em rgba($scheme-invert, 0.05) !default
11
+ $input-placeholder-color: bulmaRgba($input-color, 0.3) !default
12
+
13
+ $input-hover-color: $text-strong !default
14
+ $input-hover-border-color: $border-hover !default
15
+
16
+ $input-focus-color: $text-strong !default
17
+ $input-focus-border-color: $link !default
18
+ $input-focus-box-shadow-size: 0 0 0 0.125em !default
19
+ $input-focus-box-shadow-color: bulmaRgba($link, 0.25) !default
20
+
21
+ $input-disabled-color: $text-light !default
22
+ $input-disabled-background-color: $background !default
23
+ $input-disabled-border-color: $background !default
24
+ $input-disabled-placeholder-color: bulmaRgba($input-disabled-color, 0.3) !default
25
+
26
+ $input-arrow: $link !default
27
+
28
+ $input-icon-color: $border !default
29
+ $input-icon-active-color: $text !default
30
+
31
+ $input-radius: $radius !default
32
+
33
+ =input
34
+ @extend %control
35
+ background-color: $input-background-color
36
+ border-color: $input-border-color
37
+ border-radius: $input-radius
38
+ color: $input-color
39
+ +placeholder
40
+ color: $input-placeholder-color
41
+ &:hover,
42
+ &.is-hovered
43
+ border-color: $input-hover-border-color
44
+ &:focus,
45
+ &.is-focused,
46
+ &:active,
47
+ &.is-active
48
+ border-color: $input-focus-border-color
49
+ box-shadow: $input-focus-box-shadow-size $input-focus-box-shadow-color
50
+ &[disabled],
51
+ fieldset[disabled] &
52
+ background-color: $input-disabled-background-color
53
+ border-color: $input-disabled-border-color
54
+ box-shadow: none
55
+ color: $input-disabled-color
56
+ +placeholder
57
+ color: $input-disabled-placeholder-color
58
+
59
+ %input
60
+ +input
@@ -0,0 +1,215 @@
1
+ $label-color: $text-strong !default
2
+ $label-weight: $weight-bold !default
3
+
4
+ $help-size: $size-small !default
5
+
6
+ $label-colors: $form-colors !default
7
+
8
+ .label
9
+ color: $label-color
10
+ display: block
11
+ font-size: $size-normal
12
+ font-weight: $label-weight
13
+ &:not(:last-child)
14
+ margin-bottom: 0.5em
15
+ // Sizes
16
+ &.is-small
17
+ font-size: $size-small
18
+ &.is-medium
19
+ font-size: $size-medium
20
+ &.is-large
21
+ font-size: $size-large
22
+
23
+ .help
24
+ display: block
25
+ font-size: $help-size
26
+ margin-top: 0.25rem
27
+ @each $name, $pair in $label-colors
28
+ $color: nth($pair, 1)
29
+ &.is-#{$name}
30
+ color: $color
31
+
32
+ // Containers
33
+
34
+ .field
35
+ &:not(:last-child)
36
+ margin-bottom: 0.75rem
37
+ // Modifiers
38
+ &.has-addons
39
+ display: flex
40
+ justify-content: flex-start
41
+ .control
42
+ &:not(:last-child)
43
+ +ltr-property("margin", -1px)
44
+ &:not(:first-child):not(:last-child)
45
+ .button,
46
+ .input,
47
+ .select select
48
+ border-radius: 0
49
+ &:first-child:not(:only-child)
50
+ .button,
51
+ .input,
52
+ .select select
53
+ +ltr
54
+ border-bottom-right-radius: 0
55
+ border-top-right-radius: 0
56
+ +rtl
57
+ border-bottom-left-radius: 0
58
+ border-top-left-radius: 0
59
+ &:last-child:not(:only-child)
60
+ .button,
61
+ .input,
62
+ .select select
63
+ +ltr
64
+ border-bottom-left-radius: 0
65
+ border-top-left-radius: 0
66
+ +rtl
67
+ border-bottom-right-radius: 0
68
+ border-top-right-radius: 0
69
+ .button,
70
+ .input,
71
+ .select select
72
+ &:not([disabled])
73
+ &:hover,
74
+ &.is-hovered
75
+ z-index: 2
76
+ &:focus,
77
+ &.is-focused,
78
+ &:active,
79
+ &.is-active
80
+ z-index: 3
81
+ &:hover
82
+ z-index: 4
83
+ &.is-expanded
84
+ flex-grow: 1
85
+ flex-shrink: 1
86
+ &.has-addons-centered
87
+ justify-content: center
88
+ &.has-addons-right
89
+ justify-content: flex-end
90
+ &.has-addons-fullwidth
91
+ .control
92
+ flex-grow: 1
93
+ flex-shrink: 0
94
+ &.is-grouped
95
+ display: flex
96
+ justify-content: flex-start
97
+ & > .control
98
+ flex-shrink: 0
99
+ &:not(:last-child)
100
+ margin-bottom: 0
101
+ +ltr-property("margin", 0.75rem)
102
+ &.is-expanded
103
+ flex-grow: 1
104
+ flex-shrink: 1
105
+ &.is-grouped-centered
106
+ justify-content: center
107
+ &.is-grouped-right
108
+ justify-content: flex-end
109
+ &.is-grouped-multiline
110
+ flex-wrap: wrap
111
+ & > .control
112
+ &:last-child,
113
+ &:not(:last-child)
114
+ margin-bottom: 0.75rem
115
+ &:last-child
116
+ margin-bottom: -0.75rem
117
+ &:not(:last-child)
118
+ margin-bottom: 0
119
+ &.is-horizontal
120
+ +tablet
121
+ display: flex
122
+
123
+ .field-label
124
+ .label
125
+ font-size: inherit
126
+ +mobile
127
+ margin-bottom: 0.5rem
128
+ +tablet
129
+ flex-basis: 0
130
+ flex-grow: 1
131
+ flex-shrink: 0
132
+ +ltr-property("margin", 1.5rem)
133
+ text-align: right
134
+ &.is-small
135
+ font-size: $size-small
136
+ padding-top: 0.375em
137
+ &.is-normal
138
+ padding-top: 0.375em
139
+ &.is-medium
140
+ font-size: $size-medium
141
+ padding-top: 0.375em
142
+ &.is-large
143
+ font-size: $size-large
144
+ padding-top: 0.375em
145
+
146
+ .field-body
147
+ .field .field
148
+ margin-bottom: 0
149
+ +tablet
150
+ display: flex
151
+ flex-basis: 0
152
+ flex-grow: 5
153
+ flex-shrink: 1
154
+ .field
155
+ margin-bottom: 0
156
+ & > .field
157
+ flex-shrink: 1
158
+ &:not(.is-narrow)
159
+ flex-grow: 1
160
+ &:not(:last-child)
161
+ +ltr-property("margin", 0.75rem)
162
+
163
+ .control
164
+ box-sizing: border-box
165
+ clear: both
166
+ font-size: $size-normal
167
+ position: relative
168
+ text-align: inherit
169
+ // Modifiers
170
+ &.has-icons-left,
171
+ &.has-icons-right
172
+ .input,
173
+ .select
174
+ &:focus
175
+ & ~ .icon
176
+ color: $input-icon-active-color
177
+ &.is-small ~ .icon
178
+ font-size: $size-small
179
+ &.is-medium ~ .icon
180
+ font-size: $size-medium
181
+ &.is-large ~ .icon
182
+ font-size: $size-large
183
+ .icon
184
+ color: $input-icon-color
185
+ height: $input-height
186
+ pointer-events: none
187
+ position: absolute
188
+ top: 0
189
+ width: $input-height
190
+ z-index: 4
191
+ &.has-icons-left
192
+ .input,
193
+ .select select
194
+ padding-left: $input-height
195
+ .icon.is-left
196
+ left: 0
197
+ &.has-icons-right
198
+ .input,
199
+ .select select
200
+ padding-right: $input-height
201
+ .icon.is-right
202
+ right: 0
203
+ &.is-loading
204
+ &::after
205
+ @extend %loader
206
+ position: absolute !important
207
+ +ltr-position(0.625em)
208
+ top: 0.625em
209
+ z-index: 4
210
+ &.is-small:after
211
+ font-size: $size-small
212
+ &.is-medium:after
213
+ font-size: $size-medium
214
+ &.is-large:after
215
+ font-size: $size-large
@@ -0,0 +1,5 @@
1
+ /* Bulma Grid */
2
+ @charset "utf-8"
3
+
4
+ @import "columns"
5
+ @import "tiles"