bulma-rails 0.9.4 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +86 -13
  3. data/app/assets/stylesheets/bulma.scss +4 -0
  4. data/app/assets/stylesheets/bulma_sass/_index.scss +10 -0
  5. data/app/assets/stylesheets/bulma_sass/base/_index.scss +6 -0
  6. data/app/assets/stylesheets/bulma_sass/base/animations.scss +15 -0
  7. data/app/assets/stylesheets/bulma_sass/base/generic.scss +240 -0
  8. data/app/assets/stylesheets/bulma_sass/base/minireset.scss +92 -0
  9. data/app/assets/stylesheets/bulma_sass/base/skeleton.scss +114 -0
  10. data/app/assets/stylesheets/bulma_sass/components/_index.scss +13 -0
  11. data/app/assets/stylesheets/bulma_sass/components/breadcrumb.scss +139 -0
  12. data/app/assets/stylesheets/bulma_sass/components/card.scss +162 -0
  13. data/app/assets/stylesheets/bulma_sass/components/dropdown.scss +188 -0
  14. data/app/assets/stylesheets/bulma_sass/components/menu.scss +165 -0
  15. data/app/assets/stylesheets/bulma_sass/components/message.scss +183 -0
  16. data/app/assets/stylesheets/bulma_sass/components/modal.scss +164 -0
  17. data/app/assets/stylesheets/bulma_sass/components/navbar.scss +799 -0
  18. data/app/assets/stylesheets/bulma_sass/components/pagination.scss +379 -0
  19. data/app/assets/stylesheets/bulma_sass/components/panel.scss +218 -0
  20. data/app/assets/stylesheets/bulma_sass/components/tabs.scss +273 -0
  21. data/app/assets/stylesheets/bulma_sass/elements/_index.scss +16 -0
  22. data/app/assets/stylesheets/bulma_sass/elements/block.scss +6 -0
  23. data/app/assets/stylesheets/bulma_sass/elements/box.scss +59 -0
  24. data/app/assets/stylesheets/bulma_sass/elements/button.scss +659 -0
  25. data/app/assets/stylesheets/bulma_sass/elements/content.scss +289 -0
  26. data/app/assets/stylesheets/bulma_sass/elements/delete.scss +6 -0
  27. data/app/assets/stylesheets/bulma_sass/elements/icon.scss +67 -0
  28. data/app/assets/stylesheets/bulma_sass/elements/image.scss +64 -0
  29. data/app/assets/stylesheets/bulma_sass/elements/loader.scss +15 -0
  30. data/app/assets/stylesheets/bulma_sass/elements/notification.scss +105 -0
  31. data/app/assets/stylesheets/bulma_sass/elements/progress.scss +115 -0
  32. data/app/assets/stylesheets/bulma_sass/elements/table.scss +261 -0
  33. data/app/assets/stylesheets/bulma_sass/elements/tag.scss +219 -0
  34. data/app/assets/stylesheets/bulma_sass/elements/title.scss +130 -0
  35. data/app/assets/stylesheets/bulma_sass/form/_index.scss +9 -0
  36. data/app/assets/stylesheets/bulma_sass/form/checkbox-radio.scss +36 -0
  37. data/app/assets/stylesheets/bulma_sass/form/file.scss +330 -0
  38. data/app/assets/stylesheets/bulma_sass/form/input-textarea.scss +115 -0
  39. data/app/assets/stylesheets/bulma_sass/form/select.scss +144 -0
  40. data/app/assets/stylesheets/bulma_sass/form/shared.scss +178 -0
  41. data/app/assets/stylesheets/bulma_sass/form/tools.scss +352 -0
  42. data/app/assets/stylesheets/bulma_sass/grid/_index.scss +5 -0
  43. data/app/assets/stylesheets/bulma_sass/grid/columns.scss +961 -0
  44. data/app/assets/stylesheets/bulma_sass/grid/grid.scss +209 -0
  45. data/app/assets/stylesheets/bulma_sass/helpers/_index.scss +15 -0
  46. data/app/assets/stylesheets/bulma_sass/helpers/aspect-ratio.scss +12 -0
  47. data/app/assets/stylesheets/bulma_sass/helpers/border.scss +15 -0
  48. data/app/assets/stylesheets/bulma_sass/helpers/color.scss +344 -0
  49. data/app/assets/stylesheets/bulma_sass/helpers/flexbox.scss +62 -0
  50. data/app/assets/stylesheets/bulma_sass/helpers/float.scss +28 -0
  51. data/app/assets/stylesheets/bulma_sass/helpers/gap.scss +24 -0
  52. data/app/assets/stylesheets/bulma_sass/helpers/other.scss +19 -0
  53. data/app/assets/stylesheets/bulma_sass/helpers/overflow.scss +21 -0
  54. data/app/assets/stylesheets/bulma_sass/helpers/position.scss +19 -0
  55. data/app/assets/stylesheets/bulma_sass/helpers/spacing.scss +64 -0
  56. data/app/assets/stylesheets/bulma_sass/helpers/typography.scss +174 -0
  57. data/app/assets/stylesheets/bulma_sass/helpers/visibility.scss +221 -0
  58. data/app/assets/stylesheets/bulma_sass/layout/_index.scss +9 -0
  59. data/app/assets/stylesheets/bulma_sass/layout/container.scss +59 -0
  60. data/app/assets/stylesheets/bulma_sass/layout/footer.scss +23 -0
  61. data/app/assets/stylesheets/bulma_sass/layout/hero.scss +273 -0
  62. data/app/assets/stylesheets/bulma_sass/layout/level.scss +107 -0
  63. data/app/assets/stylesheets/bulma_sass/layout/media.scss +106 -0
  64. data/app/assets/stylesheets/bulma_sass/layout/section.scss +38 -0
  65. data/app/assets/stylesheets/bulma_sass/themes/_index.scss +36 -0
  66. data/app/assets/stylesheets/bulma_sass/themes/dark.scss +57 -0
  67. data/app/assets/stylesheets/bulma_sass/themes/light.scss +147 -0
  68. data/app/assets/stylesheets/bulma_sass/themes/setup.scss +174 -0
  69. data/app/assets/stylesheets/bulma_sass/utilities/_index.scss +7 -0
  70. data/app/assets/stylesheets/bulma_sass/utilities/controls.scss +85 -0
  71. data/app/assets/stylesheets/bulma_sass/utilities/css-variables.scss +502 -0
  72. data/app/assets/stylesheets/bulma_sass/utilities/derived-variables.scss +112 -0
  73. data/app/assets/stylesheets/bulma_sass/utilities/extends.scss +34 -0
  74. data/app/assets/stylesheets/bulma_sass/utilities/functions.scss +310 -0
  75. data/app/assets/stylesheets/bulma_sass/utilities/initial-variables.scss +157 -0
  76. data/app/assets/stylesheets/bulma_sass/utilities/mixins.scss +462 -0
  77. data/bulma-rails.gemspec +4 -6
  78. metadata +83 -74
  79. data/app/assets/stylesheets/bulma.sass +0 -10
  80. data/app/assets/stylesheets/sass/base/_all.sass +0 -6
  81. data/app/assets/stylesheets/sass/base/animations.sass +0 -5
  82. data/app/assets/stylesheets/sass/base/generic.sass +0 -145
  83. data/app/assets/stylesheets/sass/base/helpers.sass +0 -1
  84. data/app/assets/stylesheets/sass/base/minireset.sass +0 -79
  85. data/app/assets/stylesheets/sass/components/_all.sass +0 -15
  86. data/app/assets/stylesheets/sass/components/breadcrumb.sass +0 -77
  87. data/app/assets/stylesheets/sass/components/card.sass +0 -103
  88. data/app/assets/stylesheets/sass/components/dropdown.sass +0 -83
  89. data/app/assets/stylesheets/sass/components/level.sass +0 -79
  90. data/app/assets/stylesheets/sass/components/media.sass +0 -59
  91. data/app/assets/stylesheets/sass/components/menu.sass +0 -59
  92. data/app/assets/stylesheets/sass/components/message.sass +0 -101
  93. data/app/assets/stylesheets/sass/components/modal.sass +0 -117
  94. data/app/assets/stylesheets/sass/components/navbar.sass +0 -446
  95. data/app/assets/stylesheets/sass/components/pagination.sass +0 -167
  96. data/app/assets/stylesheets/sass/components/panel.sass +0 -121
  97. data/app/assets/stylesheets/sass/components/tabs.sass +0 -176
  98. data/app/assets/stylesheets/sass/elements/_all.sass +0 -16
  99. data/app/assets/stylesheets/sass/elements/box.sass +0 -26
  100. data/app/assets/stylesheets/sass/elements/button.sass +0 -357
  101. data/app/assets/stylesheets/sass/elements/container.sass +0 -29
  102. data/app/assets/stylesheets/sass/elements/content.sass +0 -162
  103. data/app/assets/stylesheets/sass/elements/form.sass +0 -1
  104. data/app/assets/stylesheets/sass/elements/icon.sass +0 -46
  105. data/app/assets/stylesheets/sass/elements/image.sass +0 -73
  106. data/app/assets/stylesheets/sass/elements/notification.sass +0 -52
  107. data/app/assets/stylesheets/sass/elements/other.sass +0 -31
  108. data/app/assets/stylesheets/sass/elements/progress.sass +0 -73
  109. data/app/assets/stylesheets/sass/elements/table.sass +0 -134
  110. data/app/assets/stylesheets/sass/elements/tag.sass +0 -140
  111. data/app/assets/stylesheets/sass/elements/title.sass +0 -70
  112. data/app/assets/stylesheets/sass/form/_all.sass +0 -9
  113. data/app/assets/stylesheets/sass/form/checkbox-radio.sass +0 -22
  114. data/app/assets/stylesheets/sass/form/file.sass +0 -184
  115. data/app/assets/stylesheets/sass/form/input-textarea.sass +0 -66
  116. data/app/assets/stylesheets/sass/form/select.sass +0 -88
  117. data/app/assets/stylesheets/sass/form/shared.sass +0 -60
  118. data/app/assets/stylesheets/sass/form/tools.sass +0 -215
  119. data/app/assets/stylesheets/sass/grid/_all.sass +0 -5
  120. data/app/assets/stylesheets/sass/grid/columns.sass +0 -513
  121. data/app/assets/stylesheets/sass/grid/tiles.sass +0 -36
  122. data/app/assets/stylesheets/sass/helpers/_all.sass +0 -12
  123. data/app/assets/stylesheets/sass/helpers/color.sass +0 -39
  124. data/app/assets/stylesheets/sass/helpers/flexbox.sass +0 -35
  125. data/app/assets/stylesheets/sass/helpers/float.sass +0 -10
  126. data/app/assets/stylesheets/sass/helpers/other.sass +0 -14
  127. data/app/assets/stylesheets/sass/helpers/overflow.sass +0 -2
  128. data/app/assets/stylesheets/sass/helpers/position.sass +0 -7
  129. data/app/assets/stylesheets/sass/helpers/spacing.sass +0 -31
  130. data/app/assets/stylesheets/sass/helpers/typography.sass +0 -103
  131. data/app/assets/stylesheets/sass/helpers/visibility.sass +0 -122
  132. data/app/assets/stylesheets/sass/layout/_all.sass +0 -6
  133. data/app/assets/stylesheets/sass/layout/footer.sass +0 -11
  134. data/app/assets/stylesheets/sass/layout/hero.sass +0 -153
  135. data/app/assets/stylesheets/sass/layout/section.sass +0 -17
  136. data/app/assets/stylesheets/sass/utilities/_all.sass +0 -9
  137. data/app/assets/stylesheets/sass/utilities/animations.sass +0 -1
  138. data/app/assets/stylesheets/sass/utilities/controls.sass +0 -49
  139. data/app/assets/stylesheets/sass/utilities/derived-variables.sass +0 -114
  140. data/app/assets/stylesheets/sass/utilities/extends.sass +0 -25
  141. data/app/assets/stylesheets/sass/utilities/functions.sass +0 -135
  142. data/app/assets/stylesheets/sass/utilities/initial-variables.sass +0 -79
  143. data/app/assets/stylesheets/sass/utilities/mixins.sass +0 -303
@@ -0,0 +1,273 @@
1
+ @use "../utilities/css-variables" as cv;
2
+ @use "../utilities/derived-variables" as dv;
3
+ @use "../utilities/extends";
4
+ @use "../utilities/initial-variables" as iv;
5
+ @use "../utilities/mixins" as mx;
6
+
7
+ $hero-body-padding: 3rem 1.5rem !default;
8
+ $hero-body-padding-tablet: 3rem 3rem !default;
9
+ $hero-body-padding-small: 1.5rem !default;
10
+ $hero-body-padding-medium: 9rem 4.5rem !default;
11
+ $hero-body-padding-large: 18rem 6rem !default;
12
+
13
+ $hero-gradient-h-offset: 5deg !default;
14
+ $hero-gradient-s-offset: 10% !default;
15
+ $hero-gradient-l-offset: 5% !default;
16
+
17
+ $hero-colors: dv.$colors !default;
18
+
19
+ // Main container
20
+ .#{iv.$class-prefix}hero {
21
+ @include cv.register-vars(
22
+ (
23
+ "hero-body-padding": #{$hero-body-padding},
24
+ "hero-body-padding-tablet": #{$hero-body-padding-tablet},
25
+ "hero-body-padding-small": #{$hero-body-padding-small},
26
+ "hero-body-padding-medium": #{$hero-body-padding-medium},
27
+ "hero-body-padding-large": #{$hero-body-padding-large},
28
+ "hero-gradient-h-offset": #{$hero-gradient-h-offset},
29
+ "hero-gradient-s-offset": #{$hero-gradient-s-offset},
30
+ "hero-gradient-l-offset": #{$hero-gradient-l-offset},
31
+ )
32
+ );
33
+ }
34
+
35
+ .#{iv.$class-prefix}hero {
36
+ align-items: stretch;
37
+ display: flex;
38
+ flex-direction: column;
39
+ justify-content: space-between;
40
+
41
+ .#{iv.$class-prefix}navbar {
42
+ background: none;
43
+ }
44
+
45
+ .#{iv.$class-prefix}tabs {
46
+ ul {
47
+ border-bottom: none;
48
+ }
49
+ }
50
+
51
+ // Colors
52
+ @each $name, $pair in $hero-colors {
53
+ &.#{iv.$class-prefix}is-#{$name} {
54
+ @include cv.register-vars(
55
+ (
56
+ "hero-h": #{cv.getVar($name, "", "-h")},
57
+ "hero-s": #{cv.getVar($name, "", "-s")},
58
+ "hero-background-l": #{cv.getVar($name, "", "-l")},
59
+ "hero-color-l": #{cv.getVar($name, "", "-invert-l")},
60
+ )
61
+ );
62
+
63
+ $background-color: hsl(
64
+ #{cv.getVar("hero-h")},
65
+ #{cv.getVar("hero-s")},
66
+ #{cv.getVar("hero-background-l")}
67
+ );
68
+ $color: hsl(
69
+ #{cv.getVar("hero-h")},
70
+ #{cv.getVar("hero-s")},
71
+ #{cv.getVar("hero-color-l")}
72
+ );
73
+
74
+ background-color: hsl(
75
+ #{cv.getVar("hero-h")},
76
+ #{cv.getVar("hero-s")},
77
+ #{cv.getVar("hero-background-l")}
78
+ );
79
+ color: $color;
80
+
81
+ .#{iv.$class-prefix}navbar {
82
+ @include cv.register-vars(
83
+ (
84
+ "navbar-item-color": $color,
85
+ "navbar-item-hover-background-color": $color,
86
+ "navbar-item-hover-color": $background-color,
87
+ "navbar-item-active-background-color": $color,
88
+ "navbar-item-active-color": $background-color,
89
+ )
90
+ );
91
+ }
92
+
93
+ .#{iv.$class-prefix}tabs {
94
+ @include cv.register-vars(
95
+ (
96
+ "tabs-link-color": $color,
97
+ "tabs-boxed-link-active-background-color": $color,
98
+ "tabs-boxed-link-active-border-color": $background-color,
99
+ "tabs-link-active-color": $background-color,
100
+ )
101
+ );
102
+ }
103
+
104
+ .#{iv.$class-prefix}subtitle {
105
+ @include cv.register-vars(
106
+ (
107
+ "subtitle-color": $color,
108
+ "subtitle-strong-color": $color,
109
+ )
110
+ );
111
+ }
112
+
113
+ .#{iv.$class-prefix}title {
114
+ @include cv.register-vars(
115
+ (
116
+ "title-color": $color,
117
+ "title-strong-color": $color,
118
+ )
119
+ );
120
+ }
121
+
122
+ // Modifiers
123
+ &.#{iv.$class-prefix}is-bold {
124
+ $gradient-top-left: hsl(
125
+ calc(#{cv.getVar("hero-h")} - #{$hero-gradient-h-offset}),
126
+ calc(#{cv.getVar("hero-s")} + #{$hero-gradient-s-offset}),
127
+ calc(#{cv.getVar("hero-background-l")} + #{$hero-gradient-l-offset})
128
+ );
129
+ $gradient-middle: hsl(
130
+ #{cv.getVar("hero-h")},
131
+ #{cv.getVar("hero-s")},
132
+ #{cv.getVar("hero-background-l")}
133
+ );
134
+ $gradient-bottom-right: hsl(
135
+ calc(#{cv.getVar("hero-h")} + #{$hero-gradient-h-offset}),
136
+ calc(#{cv.getVar("hero-s")} - #{$hero-gradient-s-offset}),
137
+ calc(#{cv.getVar("hero-background-l")} - #{$hero-gradient-l-offset})
138
+ );
139
+
140
+ background-image: linear-gradient(
141
+ 141deg,
142
+ $gradient-top-left 0%,
143
+ $gradient-middle 71%,
144
+ $gradient-bottom-right 100%
145
+ );
146
+
147
+ @include mx.mobile {
148
+ .#{iv.$class-prefix}navbar-menu {
149
+ background-image: linear-gradient(
150
+ 141deg,
151
+ $gradient-top-left 0%,
152
+ $color 71%,
153
+ $gradient-bottom-right 100%
154
+ );
155
+ }
156
+ }
157
+ }
158
+ }
159
+ }
160
+
161
+ // Sizes
162
+ &.#{iv.$class-prefix}is-small {
163
+ .#{iv.$class-prefix}hero-body {
164
+ padding: cv.getVar("hero-body-padding-small");
165
+ }
166
+ }
167
+
168
+ &.#{iv.$class-prefix}is-medium {
169
+ @include mx.tablet {
170
+ .#{iv.$class-prefix}hero-body {
171
+ padding: cv.getVar("hero-body-padding-medium");
172
+ }
173
+ }
174
+ }
175
+
176
+ &.#{iv.$class-prefix}is-large {
177
+ @include mx.tablet {
178
+ .#{iv.$class-prefix}hero-body {
179
+ padding: cv.getVar("hero-body-padding-large");
180
+ }
181
+ }
182
+ }
183
+
184
+ &.#{iv.$class-prefix}is-halfheight,
185
+ &.#{iv.$class-prefix}is-fullheight,
186
+ &.#{iv.$class-prefix}is-fullheight-with-navbar {
187
+ .#{iv.$class-prefix}hero-body {
188
+ align-items: center;
189
+ display: flex;
190
+
191
+ & > .#{iv.$class-prefix}container {
192
+ flex-grow: 1;
193
+ flex-shrink: 1;
194
+ }
195
+ }
196
+ }
197
+
198
+ &.#{iv.$class-prefix}is-halfheight {
199
+ min-height: 50vh;
200
+ }
201
+
202
+ &.#{iv.$class-prefix}is-fullheight {
203
+ min-height: 100vh;
204
+ }
205
+ }
206
+
207
+ // Components
208
+
209
+ .#{iv.$class-prefix}hero-video {
210
+ @extend %overlay;
211
+ overflow: hidden;
212
+
213
+ video {
214
+ left: 50%;
215
+ min-height: 100%;
216
+ min-width: 100%;
217
+ position: absolute;
218
+ top: 50%;
219
+ transform: translate3d(-50%, -50%, 0);
220
+ }
221
+
222
+ // Modifiers
223
+ &.#{iv.$class-prefix}is-transparent {
224
+ opacity: 0.3;
225
+ }
226
+
227
+ // Responsiveness
228
+ @include mx.mobile {
229
+ display: none;
230
+ }
231
+ }
232
+
233
+ .#{iv.$class-prefix}hero-buttons {
234
+ margin-top: 1.5rem;
235
+
236
+ // Responsiveness
237
+ @include mx.mobile {
238
+ .#{iv.$class-prefix}button {
239
+ display: flex;
240
+
241
+ &:not(:last-child) {
242
+ margin-bottom: 0.75rem;
243
+ }
244
+ }
245
+ }
246
+
247
+ @include mx.tablet {
248
+ display: flex;
249
+ justify-content: center;
250
+
251
+ .#{iv.$class-prefix}button:not(:last-child) {
252
+ margin-inline-end: 1.5rem;
253
+ }
254
+ }
255
+ }
256
+
257
+ // Containers
258
+
259
+ .#{iv.$class-prefix}hero-head,
260
+ .#{iv.$class-prefix}hero-foot {
261
+ flex-grow: 0;
262
+ flex-shrink: 0;
263
+ }
264
+
265
+ .#{iv.$class-prefix}hero-body {
266
+ flex-grow: 1;
267
+ flex-shrink: 0;
268
+ padding: cv.getVar("hero-body-padding");
269
+
270
+ @include mx.tablet {
271
+ padding: cv.getVar("hero-body-padding-tablet");
272
+ }
273
+ }
@@ -0,0 +1,107 @@
1
+ @use "../utilities/css-variables" as cv;
2
+ @use "../utilities/initial-variables" as iv;
3
+ @use "../utilities/extends";
4
+ @use "../utilities/mixins" as mx;
5
+
6
+ $level-item-spacing: calc(#{cv.getVar("block-spacing")} * 0.5) !default;
7
+
8
+ .#{iv.$class-prefix}level {
9
+ @extend %block;
10
+ @include cv.register-var("level-item-spacing", #{$level-item-spacing});
11
+ align-items: center;
12
+ display: flex;
13
+ flex-direction: column;
14
+ justify-content: space-between;
15
+ gap: cv.getVar("level-item-spacing");
16
+
17
+ code {
18
+ border-radius: cv.getVar("radius");
19
+ }
20
+
21
+ img {
22
+ display: inline-block;
23
+ vertical-align: top;
24
+ }
25
+
26
+ // Modifiers
27
+ &.#{iv.$class-prefix}is-mobile {
28
+ display: flex;
29
+ flex-direction: row;
30
+
31
+ .#{iv.$class-prefix}level-left,
32
+ .#{iv.$class-prefix}level-right {
33
+ display: flex;
34
+ }
35
+
36
+ .#{iv.$class-prefix}level-item {
37
+ &:not(.#{iv.$class-prefix}is-narrow) {
38
+ flex-grow: 1;
39
+ }
40
+ }
41
+ }
42
+
43
+ // Responsiveness
44
+ @include mx.tablet {
45
+ display: flex;
46
+ flex-direction: row;
47
+
48
+ & > .#{iv.$class-prefix}level-item {
49
+ &:not(.#{iv.$class-prefix}is-narrow) {
50
+ flex-grow: 1;
51
+ }
52
+ }
53
+ }
54
+ }
55
+
56
+ .#{iv.$class-prefix}level-item {
57
+ align-items: center;
58
+ display: flex;
59
+ flex-basis: auto;
60
+ flex-grow: 0;
61
+ flex-shrink: 0;
62
+ justify-content: center;
63
+
64
+ .#{iv.$class-prefix}title,
65
+ .#{iv.$class-prefix}subtitle {
66
+ margin-bottom: 0;
67
+ }
68
+ }
69
+
70
+ .#{iv.$class-prefix}level-left,
71
+ .#{iv.$class-prefix}level-right {
72
+ flex-basis: auto;
73
+ flex-grow: 0;
74
+ flex-shrink: 0;
75
+ gap: $level-item-spacing;
76
+
77
+ .#{iv.$class-prefix}level-item {
78
+ // Modifiers
79
+ &.#{iv.$class-prefix}is-flexible {
80
+ flex-grow: 1;
81
+ }
82
+ }
83
+ }
84
+
85
+ .#{iv.$class-prefix}level-left {
86
+ align-items: center;
87
+ display: flex;
88
+ flex-direction: column;
89
+ justify-content: flex-start;
90
+
91
+ // Responsiveness
92
+ @include mx.tablet {
93
+ flex-direction: row;
94
+ }
95
+ }
96
+
97
+ .#{iv.$class-prefix}level-right {
98
+ align-items: center;
99
+ display: flex;
100
+ flex-direction: column;
101
+ justify-content: flex-end;
102
+
103
+ // Responsiveness
104
+ @include mx.tablet {
105
+ flex-direction: row;
106
+ }
107
+ }
@@ -0,0 +1,106 @@
1
+ @use "../utilities/css-variables" as cv;
2
+ @use "../utilities/initial-variables" as iv;
3
+ @use "../utilities/extends";
4
+ @use "../utilities/mixins" as mx;
5
+
6
+ $media-border-color: hsla(
7
+ #{cv.getVar("scheme-h")},
8
+ #{cv.getVar("scheme-s")},
9
+ #{cv.getVar("border-l")},
10
+ 0.5
11
+ ) !default;
12
+ $media-border-size: 1px !default;
13
+ $media-spacing: 1rem !default;
14
+ $media-spacing-large: 1.5rem !default;
15
+ $media-content-spacing: 0.75rem !default;
16
+ $media-level-1-spacing: 0.75rem !default;
17
+ $media-level-1-content-spacing: 0.5rem !default;
18
+ $media-level-2-spacing: 0.5rem !default;
19
+
20
+ .#{iv.$class-prefix}media {
21
+ @extend %block;
22
+ @include cv.register-vars(
23
+ (
24
+ "media-border-color": #{$media-border-color},
25
+ "media-border-size": #{$media-border-size},
26
+ "media-spacing": #{$media-spacing},
27
+ "media-spacing-large": #{$media-spacing-large},
28
+ "media-content-spacing": #{$media-content-spacing},
29
+ "media-level-1-spacing": #{$media-level-1-spacing},
30
+ "media-level-1-content-spacing": #{$media-level-1-content-spacing},
31
+ "media-level-2-spacing": #{$media-level-2-spacing},
32
+ )
33
+ );
34
+ align-items: flex-start;
35
+ display: flex;
36
+ text-align: inherit;
37
+
38
+ .#{iv.$class-prefix}content:not(:last-child) {
39
+ margin-bottom: cv.getVar("media-content-spacing");
40
+ }
41
+
42
+ .#{iv.$class-prefix}media {
43
+ border-top-color: cv.getVar("media-border-color");
44
+ border-top-style: solid;
45
+ border-top-width: cv.getVar("media-border-size");
46
+ display: flex;
47
+ padding-top: cv.getVar("media-level-1-spacing");
48
+
49
+ .#{iv.$class-prefix}content:not(:last-child),
50
+ .#{iv.$class-prefix}control:not(:last-child) {
51
+ margin-bottom: cv.getVar("media-level-1-content-spacing");
52
+ }
53
+
54
+ .#{iv.$class-prefix}media {
55
+ padding-top: cv.getVar("media-level-2-spacing");
56
+
57
+ & + .#{iv.$class-prefix}media {
58
+ margin-top: cv.getVar("media-level-2-spacing");
59
+ }
60
+ }
61
+ }
62
+
63
+ & + .#{iv.$class-prefix}media {
64
+ border-top-color: cv.getVar("media-border-color");
65
+ border-top-style: solid;
66
+ border-top-width: cv.getVar("media-border-size");
67
+ margin-top: cv.getVar("media-spacing");
68
+ padding-top: cv.getVar("media-spacing");
69
+ }
70
+
71
+ // Sizes
72
+ &.#{iv.$class-prefix}is-large {
73
+ & + .#{iv.$class-prefix}media {
74
+ margin-top: cv.getVar("media-spacing-large");
75
+ padding-top: cv.getVar("media-spacing-large");
76
+ }
77
+ }
78
+ }
79
+
80
+ .#{iv.$class-prefix}media-left,
81
+ .#{iv.$class-prefix}media-right {
82
+ flex-basis: auto;
83
+ flex-grow: 0;
84
+ flex-shrink: 0;
85
+ }
86
+
87
+ .#{iv.$class-prefix}media-left {
88
+ margin-inline-end: cv.getVar("media-spacing");
89
+ }
90
+
91
+ .#{iv.$class-prefix}media-right {
92
+ margin-inline-start: cv.getVar("media-spacing");
93
+ }
94
+
95
+ .#{iv.$class-prefix}media-content {
96
+ flex-basis: auto;
97
+ flex-grow: 1;
98
+ flex-shrink: 1;
99
+ text-align: inherit;
100
+ }
101
+
102
+ @include mx.mobile {
103
+ .#{iv.$class-prefix}media-content {
104
+ overflow-x: auto;
105
+ }
106
+ }
@@ -0,0 +1,38 @@
1
+ @use "../utilities/css-variables" as cv;
2
+ @use "../utilities/initial-variables" as iv;
3
+ @use "../utilities/mixins" as mx;
4
+
5
+ $section-padding: 3rem 1.5rem !default;
6
+ $section-padding-desktop: 3rem 3rem !default;
7
+ $section-padding-medium: 9rem 4.5rem !default;
8
+ $section-padding-large: 18rem 6rem !default;
9
+
10
+ .#{iv.$class-prefix}section {
11
+ @include cv.register-vars(
12
+ (
13
+ "section-padding": #{$section-padding},
14
+ "section-padding-desktop": #{$section-padding-desktop},
15
+ "section-padding-medium": #{$section-padding-medium},
16
+ "section-padding-large": #{$section-padding-large},
17
+ )
18
+ );
19
+ padding: cv.getVar("section-padding");
20
+
21
+ // Responsiveness
22
+ @include mx.desktop {
23
+ padding: cv.getVar("section-padding-desktop");
24
+
25
+ // Sizes
26
+ &.#{iv.$class-prefix}is-medium {
27
+ padding: cv.getVar("section-padding-medium");
28
+ }
29
+
30
+ &.#{iv.$class-prefix}is-large {
31
+ padding: cv.getVar("section-padding-large");
32
+ }
33
+ }
34
+
35
+ &.#{iv.$class-prefix}is-fullheight {
36
+ min-height: 100vh;
37
+ }
38
+ }
@@ -0,0 +1,36 @@
1
+ /* Bulma Themes */
2
+ @charset "utf-8";
3
+
4
+ @use "../utilities/initial-variables" as iv;
5
+ @use "../utilities/css-variables" as cv;
6
+
7
+ @use "light";
8
+ @use "dark";
9
+ @use "setup";
10
+
11
+ #{iv.$variables-host} {
12
+ @include light.light-theme;
13
+ @include setup.setup-theme;
14
+ }
15
+
16
+ // prefers-color-scheme: light
17
+ @include cv.system-theme($name: "light") {
18
+ @include light.light-theme;
19
+ }
20
+
21
+ // prefers-color-scheme: dark
22
+ @include cv.system-theme($name: "dark") {
23
+ @include dark.dark-theme;
24
+ }
25
+
26
+ // :root, [data-theme=light], .theme-light
27
+ @include cv.bulma-theme($name: "light") {
28
+ @include light.light-theme;
29
+ @include setup.setup-theme;
30
+ }
31
+
32
+ // [data-theme=dark], .theme-dark
33
+ @include cv.bulma-theme($name: "dark") {
34
+ @include dark.dark-theme;
35
+ @include setup.setup-theme;
36
+ }
@@ -0,0 +1,57 @@
1
+ @use "sass:list";
2
+ @use "sass:meta";
3
+
4
+ @use "../utilities/initial-variables" as iv;
5
+ @use "../utilities/css-variables" as cv;
6
+ @use "../utilities/derived-variables" as dv;
7
+ @use "setup";
8
+
9
+ // The main lightness of this theme
10
+ $scheme-main-l: 9%;
11
+ $background-l: 14%;
12
+ $text-l: 71%;
13
+
14
+ // The main scheme color, used to make calculations
15
+ $scheme-main: hsl(iv.$scheme-h, iv.$scheme-s, $scheme-main-l);
16
+ $background: hsl(iv.$scheme-h, iv.$scheme-s, $background-l);
17
+ $text: hsl(iv.$scheme-h, iv.$scheme-s, $text-l);
18
+
19
+ @mixin dark-theme {
20
+ @each $name, $color in dv.$colors {
21
+ $base: $color;
22
+
23
+ @if meta.type-of($color == "list") {
24
+ $base: list.nth($color, 1);
25
+ }
26
+
27
+ @include cv.generate-on-scheme-colors($name, $base, $scheme-main);
28
+ }
29
+
30
+ @include cv.register-vars(
31
+ (
32
+ "scheme-brightness": "dark",
33
+ "scheme-main-l": $scheme-main-l,
34
+ "scheme-main-bis-l": $scheme-main-l + 2%,
35
+ "scheme-main-ter-l": $scheme-main-l + 4%,
36
+ "soft-l": iv.$dark-l,
37
+ "bold-l": iv.$light-l,
38
+ "soft-invert-l": iv.$light-l,
39
+ "bold-invert-l": iv.$dark-l,
40
+ "background-l": $background-l,
41
+ "border-weak-l": 21%,
42
+ "border-l": 24%,
43
+ "text-weak-l": 53%,
44
+ "text-l": $text-l,
45
+ "text-strong-l": 93%,
46
+ "text-title-l": 100%,
47
+ "hover-background-l-delta": 5%,
48
+ "active-background-l-delta": 10%,
49
+ "hover-border-l-delta": 10%,
50
+ "active-border-l-delta": 20%,
51
+ "hover-color-l-delta": 5%,
52
+ "active-color-l-delta": 10%,
53
+ )
54
+ );
55
+
56
+ @include cv.register-hsl("shadow", white);
57
+ }