bulma-rails 0.9.4 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +74 -13
  3. data/app/assets/stylesheets/bulma.scss +4 -0
  4. data/app/assets/stylesheets/sass/_index.scss +10 -0
  5. data/app/assets/stylesheets/sass/base/_index.scss +6 -0
  6. data/app/assets/stylesheets/sass/base/animations.scss +15 -0
  7. data/app/assets/stylesheets/sass/base/generic.scss +239 -0
  8. data/app/assets/stylesheets/sass/base/minireset.scss +92 -0
  9. data/app/assets/stylesheets/sass/base/skeleton.scss +114 -0
  10. data/app/assets/stylesheets/sass/components/_index.scss +13 -0
  11. data/app/assets/stylesheets/sass/components/breadcrumb.scss +139 -0
  12. data/app/assets/stylesheets/sass/components/card.scss +162 -0
  13. data/app/assets/stylesheets/sass/components/dropdown.scss +188 -0
  14. data/app/assets/stylesheets/sass/components/menu.scss +165 -0
  15. data/app/assets/stylesheets/sass/components/message.scss +183 -0
  16. data/app/assets/stylesheets/sass/components/modal.scss +164 -0
  17. data/app/assets/stylesheets/sass/components/navbar.scss +799 -0
  18. data/app/assets/stylesheets/sass/components/pagination.scss +379 -0
  19. data/app/assets/stylesheets/sass/components/panel.scss +218 -0
  20. data/app/assets/stylesheets/sass/components/tabs.scss +273 -0
  21. data/app/assets/stylesheets/sass/elements/_index.scss +16 -0
  22. data/app/assets/stylesheets/sass/elements/block.scss +6 -0
  23. data/app/assets/stylesheets/sass/elements/box.scss +59 -0
  24. data/app/assets/stylesheets/sass/elements/button.scss +647 -0
  25. data/app/assets/stylesheets/sass/elements/content.scss +289 -0
  26. data/app/assets/stylesheets/sass/elements/delete.scss +6 -0
  27. data/app/assets/stylesheets/sass/elements/icon.scss +67 -0
  28. data/app/assets/stylesheets/sass/elements/image.scss +62 -0
  29. data/app/assets/stylesheets/sass/elements/loader.scss +15 -0
  30. data/app/assets/stylesheets/sass/elements/notification.scss +105 -0
  31. data/app/assets/stylesheets/sass/elements/progress.scss +115 -0
  32. data/app/assets/stylesheets/sass/elements/table.scss +261 -0
  33. data/app/assets/stylesheets/sass/elements/tag.scss +219 -0
  34. data/app/assets/stylesheets/sass/elements/title.scss +128 -0
  35. data/app/assets/stylesheets/sass/form/_index.scss +9 -0
  36. data/app/assets/stylesheets/sass/form/checkbox-radio.scss +36 -0
  37. data/app/assets/stylesheets/sass/form/file.scss +330 -0
  38. data/app/assets/stylesheets/sass/form/input-textarea.scss +113 -0
  39. data/app/assets/stylesheets/sass/form/select.scss +144 -0
  40. data/app/assets/stylesheets/sass/form/shared.scss +176 -0
  41. data/app/assets/stylesheets/sass/form/tools.scss +352 -0
  42. data/app/assets/stylesheets/sass/grid/_index.scss +5 -0
  43. data/app/assets/stylesheets/sass/grid/columns.scss +961 -0
  44. data/app/assets/stylesheets/sass/grid/grid.scss +209 -0
  45. data/app/assets/stylesheets/sass/helpers/_index.scss +15 -0
  46. data/app/assets/stylesheets/sass/helpers/aspect-ratio.scss +10 -0
  47. data/app/assets/stylesheets/sass/helpers/border.scss +15 -0
  48. data/app/assets/stylesheets/sass/helpers/color.scss +344 -0
  49. data/app/assets/stylesheets/sass/helpers/flexbox.scss +62 -0
  50. data/app/assets/stylesheets/sass/helpers/float.scss +28 -0
  51. data/app/assets/stylesheets/sass/helpers/gap.scss +24 -0
  52. data/app/assets/stylesheets/sass/helpers/other.scss +19 -0
  53. data/app/assets/stylesheets/sass/helpers/overflow.scss +21 -0
  54. data/app/assets/stylesheets/sass/helpers/position.scss +19 -0
  55. data/app/assets/stylesheets/sass/helpers/spacing.scss +64 -0
  56. data/app/assets/stylesheets/sass/helpers/typography.scss +168 -0
  57. data/app/assets/stylesheets/sass/helpers/visibility.scss +221 -0
  58. data/app/assets/stylesheets/sass/layout/_index.scss +9 -0
  59. data/app/assets/stylesheets/sass/layout/container.scss +59 -0
  60. data/app/assets/stylesheets/sass/layout/footer.scss +23 -0
  61. data/app/assets/stylesheets/sass/layout/hero.scss +270 -0
  62. data/app/assets/stylesheets/sass/layout/level.scss +107 -0
  63. data/app/assets/stylesheets/sass/layout/media.scss +106 -0
  64. data/app/assets/stylesheets/sass/layout/section.scss +38 -0
  65. data/app/assets/stylesheets/sass/themes/_index.scss +35 -0
  66. data/app/assets/stylesheets/sass/themes/dark.scss +56 -0
  67. data/app/assets/stylesheets/sass/themes/light.scss +146 -0
  68. data/app/assets/stylesheets/sass/themes/setup.scss +174 -0
  69. data/app/assets/stylesheets/sass/utilities/_index.scss +7 -0
  70. data/app/assets/stylesheets/sass/utilities/controls.scss +85 -0
  71. data/app/assets/stylesheets/sass/utilities/css-variables.scss +426 -0
  72. data/app/assets/stylesheets/sass/utilities/derived-variables.scss +112 -0
  73. data/app/assets/stylesheets/sass/utilities/extends.scss +34 -0
  74. data/app/assets/stylesheets/sass/utilities/functions.scss +258 -0
  75. data/app/assets/stylesheets/sass/utilities/initial-variables.scss +155 -0
  76. data/app/assets/stylesheets/sass/utilities/mixins.scss +460 -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,799 @@
1
+ @use "../utilities/css-variables" as cv;
2
+ @use "../utilities/initial-variables" as iv;
3
+ @use "../utilities/derived-variables" as dv;
4
+ @use "../utilities/extends";
5
+ @use "../utilities/mixins" as mx;
6
+
7
+ $navbar-h: cv.getVar("scheme-h") !default;
8
+ $navbar-s: cv.getVar("scheme-s") !default;
9
+ $navbar-l: cv.getVar("scheme-main-l") !default;
10
+ $navbar-background-color: cv.getVar("scheme-main") !default;
11
+ $navbar-box-shadow-size: 0 0.125em 0 0 !default;
12
+ $navbar-box-shadow-color: cv.getVar("background") !default;
13
+ $navbar-height: 3.25rem !default;
14
+ $navbar-padding-vertical: 1rem !default;
15
+ $navbar-padding-horizontal: 2rem !default;
16
+ $navbar-z: 30 !default;
17
+ $navbar-fixed-z: 30 !default;
18
+
19
+ $navbar-item-background-a: 0 !default;
20
+ $navbar-item-background-l: cv.getVar("scheme-main-l") !default;
21
+ $navbar-item-background-l-delta: 0% !default;
22
+ $navbar-item-hover-background-l-delta: cv.getVar(
23
+ "hover-background-l-delta"
24
+ ) !default;
25
+ $navbar-item-active-background-l-delta: cv.getVar(
26
+ "active-background-l-delta"
27
+ ) !default;
28
+ $navbar-item-color-l: cv.getVar("text-l") !default;
29
+ $navbar-item-color: hsl(
30
+ #{cv.getVar("navbar-h")},
31
+ #{cv.getVar("navbar-s")},
32
+ #{cv.getVar("navbar-item-color-l")}
33
+ ) !default;
34
+ $navbar-item-selected-h: cv.getVar("link-h") !default;
35
+ $navbar-item-selected-s: cv.getVar("link-s") !default;
36
+ $navbar-item-selected-l: cv.getVar("link-l") !default;
37
+ $navbar-item-selected-background-l: cv.getVar("link-l") !default;
38
+ $navbar-item-selected-color-l: cv.getVar("link-invert-l") !default;
39
+ $navbar-item-img-max-height: 1.75rem !default;
40
+
41
+ $navbar-dropdown-item-h: cv.getVar("scheme-h") !default;
42
+ $navbar-dropdown-item-s: cv.getVar("scheme-s") !default;
43
+ $navbar-dropdown-item-l: cv.getVar("scheme-main-l") !default;
44
+ $navbar-dropdown-item-background-l: cv.getVar("scheme-main-l") !default;
45
+ $navbar-dropdown-item-color-l: cv.getVar("text-l") !default;
46
+
47
+ $navbar-burger-color: cv.getVar("link") !default;
48
+
49
+ $navbar-tab-hover-background-color: transparent !default;
50
+ $navbar-tab-hover-border-bottom-color: cv.getVar("link") !default;
51
+ $navbar-tab-active-color: cv.getVar("link") !default;
52
+ $navbar-tab-active-background-color: transparent !default;
53
+ $navbar-tab-active-border-bottom-color: cv.getVar("link") !default;
54
+ $navbar-tab-active-border-bottom-style: solid !default;
55
+ $navbar-tab-active-border-bottom-width: 0.1875em !default;
56
+
57
+ $navbar-dropdown-background-color: cv.getVar("scheme-main") !default;
58
+ $navbar-dropdown-border-l: cv.getVar("border-l") !default;
59
+ $navbar-dropdown-border-color: hsl(
60
+ cv.getVar("navbar-h"),
61
+ cv.getVar("navbar-s"),
62
+ cv.getVar("navbar-dropdown-border-l")
63
+ ) !default;
64
+ $navbar-dropdown-border-style: solid !default;
65
+ $navbar-dropdown-border-width: 0.125em !default;
66
+ $navbar-dropdown-offset: -0.25em !default;
67
+ $navbar-dropdown-arrow: cv.getVar("link") !default;
68
+ $navbar-dropdown-radius: cv.getVar("radius-large") !default;
69
+ $navbar-dropdown-z: 20 !default;
70
+
71
+ $navbar-dropdown-boxed-radius: cv.getVar("radius-large") !default;
72
+ $navbar-dropdown-boxed-shadow:
73
+ 0 0.5em 0.5em
74
+ hsla(
75
+ #{cv.getVar("scheme-h")},
76
+ #{cv.getVar("scheme-s")},
77
+ #{cv.getVar("scheme-invert-l")},
78
+ 0.1
79
+ ),
80
+ 0 0 0 1px
81
+ hsla(
82
+ #{cv.getVar("scheme-h")},
83
+ #{cv.getVar("scheme-s")},
84
+ #{cv.getVar("scheme-invert-l")},
85
+ 0.1
86
+ ) !default;
87
+
88
+ $navbar-divider-background-l: cv.getVar("background-l") !default;
89
+ $navbar-divider-height: 0.125em !default;
90
+
91
+ $navbar-bottom-box-shadow-size: 0 -0.125em 0 0 !default;
92
+
93
+ $navbar-breakpoint: iv.$desktop !default;
94
+
95
+ $navbar-colors: dv.$colors !default;
96
+
97
+ @mixin navbar-fixed {
98
+ left: 0;
99
+ position: fixed;
100
+ right: 0;
101
+ z-index: cv.getVar("navbar-fixed-z");
102
+ }
103
+
104
+ :root {
105
+ @include cv.register-vars(
106
+ (
107
+ "navbar-height": #{$navbar-height},
108
+ )
109
+ );
110
+ }
111
+
112
+ .#{iv.$class-prefix}navbar {
113
+ @include cv.register-vars(
114
+ (
115
+ "navbar-h": #{$navbar-h},
116
+ "navbar-s": #{$navbar-s},
117
+ "navbar-l": #{$navbar-l},
118
+ "navbar-background-color": #{$navbar-background-color},
119
+ "navbar-box-shadow-size": #{$navbar-box-shadow-size},
120
+ "navbar-box-shadow-color": #{$navbar-box-shadow-color},
121
+ "navbar-padding-vertical": #{$navbar-padding-vertical},
122
+ "navbar-padding-horizontal": #{$navbar-padding-horizontal},
123
+ "navbar-z": #{$navbar-z},
124
+ "navbar-fixed-z": #{$navbar-fixed-z},
125
+ "navbar-item-background-a": #{$navbar-item-background-a},
126
+ "navbar-item-background-l": #{$navbar-item-background-l},
127
+ "navbar-item-background-l-delta": #{$navbar-item-background-l-delta},
128
+ "navbar-item-hover-background-l-delta": #{$navbar-item-hover-background-l-delta},
129
+ "navbar-item-active-background-l-delta": #{$navbar-item-active-background-l-delta},
130
+ "navbar-item-color-l": #{$navbar-item-color-l},
131
+ "navbar-item-color": #{$navbar-item-color},
132
+ "navbar-item-selected-h": #{$navbar-item-selected-h},
133
+ "navbar-item-selected-s": #{$navbar-item-selected-s},
134
+ "navbar-item-selected-l": #{$navbar-item-selected-l},
135
+ "navbar-item-selected-background-l": #{$navbar-item-selected-background-l},
136
+ "navbar-item-selected-color-l": #{$navbar-item-selected-color-l},
137
+ "navbar-item-img-max-height": #{$navbar-item-img-max-height},
138
+ "navbar-burger-color": #{$navbar-burger-color},
139
+ "navbar-tab-hover-background-color": #{$navbar-tab-hover-background-color},
140
+ "navbar-tab-hover-border-bottom-color": #{$navbar-tab-hover-border-bottom-color},
141
+ "navbar-tab-active-color": #{$navbar-tab-active-color},
142
+ "navbar-tab-active-background-color": #{$navbar-tab-active-background-color},
143
+ "navbar-tab-active-border-bottom-color": #{$navbar-tab-active-border-bottom-color},
144
+ "navbar-tab-active-border-bottom-style": #{$navbar-tab-active-border-bottom-style},
145
+ "navbar-tab-active-border-bottom-width": #{$navbar-tab-active-border-bottom-width},
146
+ "navbar-dropdown-background-color": #{$navbar-dropdown-background-color},
147
+ "navbar-dropdown-border-l": #{$navbar-dropdown-border-l},
148
+ "navbar-dropdown-border-color": #{$navbar-dropdown-border-color},
149
+ "navbar-dropdown-border-style": #{$navbar-dropdown-border-style},
150
+ "navbar-dropdown-border-width": #{$navbar-dropdown-border-width},
151
+ "navbar-dropdown-offset": #{$navbar-dropdown-offset},
152
+ "navbar-dropdown-arrow": #{$navbar-dropdown-arrow},
153
+ "navbar-dropdown-radius": #{$navbar-dropdown-radius},
154
+ "navbar-dropdown-z": #{$navbar-dropdown-z},
155
+ "navbar-dropdown-boxed-radius": #{$navbar-dropdown-boxed-radius},
156
+ "navbar-dropdown-boxed-shadow": #{$navbar-dropdown-boxed-shadow},
157
+ "navbar-dropdown-item-h": #{$navbar-dropdown-item-h},
158
+ "navbar-dropdown-item-s": #{$navbar-dropdown-item-s},
159
+ "navbar-dropdown-item-l": #{$navbar-dropdown-item-l},
160
+ "navbar-dropdown-item-background-l": #{$navbar-dropdown-item-background-l},
161
+ "navbar-dropdown-item-color-l": #{$navbar-dropdown-item-color-l},
162
+ "navbar-divider-background-l": #{$navbar-divider-background-l},
163
+ "navbar-divider-height": #{$navbar-divider-height},
164
+ "navbar-bottom-box-shadow-size": #{$navbar-bottom-box-shadow-size},
165
+ )
166
+ );
167
+ }
168
+
169
+ .#{iv.$class-prefix}navbar {
170
+ background-color: cv.getVar("navbar-background-color");
171
+ min-height: cv.getVar("navbar-height");
172
+ position: relative;
173
+ z-index: cv.getVar("navbar-z");
174
+
175
+ @each $name, $pair in $navbar-colors {
176
+ &.#{iv.$class-prefix}is-#{$name} {
177
+ @include cv.register-vars(
178
+ (
179
+ "navbar-h": #{cv.getVar($name, "", "-h")},
180
+ "navbar-s": #{cv.getVar($name, "", "-s")},
181
+ "navbar-l": #{cv.getVar($name, "", "-l")},
182
+ "burger-h": #{cv.getVar($name, "", "-h")},
183
+ "burger-s": #{cv.getVar($name, "", "-s")},
184
+ "burger-l": #{cv.getVar($name, "", "-invert-l")},
185
+ "navbar-background-color": #{cv.getVar($name)},
186
+ "navbar-item-background-l": #{cv.getVar($name, "", "-l")},
187
+ "navbar-item-color-l": #{cv.getVar($name, "", "-invert-l")},
188
+ "navbar-item-selected-h": #{cv.getVar($name, "", "-h")},
189
+ "navbar-item-selected-s": #{cv.getVar($name, "", "-s")},
190
+ "navbar-item-selected-l": #{cv.getVar($name, "", "-l")},
191
+ "navbar-item-selected-background-l": #{cv.getVar($name, "", "-l")},
192
+ "navbar-item-selected-color-l": #{cv.getVar($name, "", "-invert-l")},
193
+ "navbar-dropdown-arrow": #{cv.getVar($name, "", "-invert-l")},
194
+ "navbar-dropdown-background-color":
195
+ hsl(
196
+ #{cv.getVar($name, "", "-h")},
197
+ #{cv.getVar($name, "", "-s")},
198
+ #{cv.getVar("navbar-dropdown-item-background-l")}
199
+ ),
200
+ "navbar-dropdown-item-h": #{cv.getVar($name, "", "-h")},
201
+ "navbar-dropdown-item-s": #{cv.getVar($name, "", "-s")},
202
+ )
203
+ );
204
+ }
205
+ }
206
+
207
+ & > .#{iv.$class-prefix}container {
208
+ align-items: stretch;
209
+ display: flex;
210
+ min-height: cv.getVar("navbar-height");
211
+ width: 100%;
212
+ }
213
+
214
+ &.#{iv.$class-prefix}has-shadow {
215
+ box-shadow: cv.getVar("navbar-box-shadow-size")
216
+ cv.getVar("navbar-box-shadow-color");
217
+ }
218
+
219
+ &.#{iv.$class-prefix}is-fixed-bottom,
220
+ &.#{iv.$class-prefix}is-fixed-top {
221
+ @include navbar-fixed;
222
+ }
223
+
224
+ &.#{iv.$class-prefix}is-fixed-bottom {
225
+ bottom: 0;
226
+
227
+ &.#{iv.$class-prefix}has-shadow {
228
+ box-shadow: cv.getVar("navbar-bottom-box-shadow-size")
229
+ cv.getVar("navbar-box-shadow-color");
230
+ }
231
+ }
232
+
233
+ &.#{iv.$class-prefix}is-fixed-top {
234
+ top: 0;
235
+ }
236
+ }
237
+
238
+ html,
239
+ body {
240
+ &.#{iv.$class-prefix}has-navbar-fixed-top {
241
+ padding-top: cv.getVar("navbar-height");
242
+ }
243
+
244
+ &.#{iv.$class-prefix}has-navbar-fixed-bottom {
245
+ padding-bottom: cv.getVar("navbar-height");
246
+ }
247
+ }
248
+
249
+ .#{iv.$class-prefix}navbar-brand,
250
+ .#{iv.$class-prefix}navbar-tabs {
251
+ align-items: stretch;
252
+ display: flex;
253
+ flex-shrink: 0;
254
+ min-height: cv.getVar("navbar-height");
255
+ }
256
+
257
+ .#{iv.$class-prefix}navbar-tabs {
258
+ @include mx.overflow-touch;
259
+ max-width: 100vw;
260
+ overflow-x: auto;
261
+ overflow-y: hidden;
262
+ }
263
+
264
+ .#{iv.$class-prefix}navbar-burger {
265
+ @extend %reset;
266
+ @include mx.burger(2.5rem);
267
+
268
+ & {
269
+ align-self: center;
270
+ color: cv.getVar("navbar-burger-color");
271
+ margin-inline-start: auto;
272
+ margin-inline-end: 0.375rem;
273
+ }
274
+ }
275
+
276
+ .#{iv.$class-prefix}navbar-menu {
277
+ display: none;
278
+ }
279
+
280
+ .#{iv.$class-prefix}navbar-item,
281
+ .#{iv.$class-prefix}navbar-link {
282
+ color: cv.getVar("navbar-item-color");
283
+ display: block;
284
+ gap: 0.75rem;
285
+ line-height: 1.5;
286
+ padding: 0.5rem 0.75rem;
287
+ position: relative;
288
+
289
+ .#{iv.$class-prefix}icon {
290
+ &:only-child {
291
+ margin-left: -0.25rem;
292
+ margin-right: -0.25rem;
293
+ }
294
+ }
295
+ }
296
+
297
+ a.#{iv.$class-prefix}navbar-item,
298
+ .#{iv.$class-prefix}navbar-link {
299
+ background-color: hsla(
300
+ #{cv.getVar("navbar-h")},
301
+ #{cv.getVar("navbar-s")},
302
+ calc(
303
+ #{cv.getVar("navbar-item-background-l")} + #{cv.getVar(
304
+ "navbar-item-background-l-delta"
305
+ )}
306
+ ),
307
+ #{cv.getVar("navbar-item-background-a")}
308
+ );
309
+ cursor: pointer;
310
+
311
+ &:focus,
312
+ &:focus-within,
313
+ &:hover {
314
+ @include cv.register-vars(
315
+ (
316
+ "navbar-item-background-l-delta": #{cv.getVar(
317
+ "navbar-item-hover-background-l-delta"
318
+ )},
319
+ "navbar-item-background-a": 1,
320
+ )
321
+ );
322
+ }
323
+
324
+ &:active {
325
+ @include cv.register-vars(
326
+ (
327
+ "navbar-item-background-l-delta": #{cv.getVar(
328
+ "navbar-item-active-background-l-delta"
329
+ )},
330
+ "navbar-item-background-a": 1,
331
+ )
332
+ );
333
+ }
334
+
335
+ &.#{iv.$class-prefix}is-active,
336
+ &.#{iv.$class-prefix}is-selected {
337
+ @include cv.register-vars(
338
+ (
339
+ "navbar-h": #{cv.getVar("navbar-item-selected-h")},
340
+ "navbar-s": #{cv.getVar("navbar-item-selected-s")},
341
+ "navbar-l": #{cv.getVar("navbar-item-selected-l")},
342
+ "navbar-item-background-l": #{cv.getVar(
343
+ "navbar-item-selected-background-l"
344
+ )},
345
+ "navbar-item-background-a": 1,
346
+ "navbar-item-color-l": #{cv.getVar("navbar-item-selected-color-l")},
347
+ )
348
+ );
349
+ }
350
+ }
351
+
352
+ .#{iv.$class-prefix}navbar-item {
353
+ flex-grow: 0;
354
+ flex-shrink: 0;
355
+
356
+ img,
357
+ svg {
358
+ max-height: cv.getVar("navbar-item-img-max-height");
359
+ }
360
+
361
+ &.#{iv.$class-prefix}has-dropdown {
362
+ padding: 0;
363
+ }
364
+
365
+ &.#{iv.$class-prefix}is-expanded {
366
+ flex-grow: 1;
367
+ flex-shrink: 1;
368
+ }
369
+
370
+ &.#{iv.$class-prefix}is-tab {
371
+ border-bottom: 1px solid transparent;
372
+ min-height: cv.getVar("navbar-height");
373
+ padding-bottom: calc(0.5rem - 1px);
374
+
375
+ &:focus,
376
+ &:hover {
377
+ background-color: cv.getVar("navbar-tab-hover-background-color");
378
+ border-bottom-color: cv.getVar("navbar-tab-hover-border-bottom-color");
379
+ }
380
+
381
+ &.#{iv.$class-prefix}is-active {
382
+ background-color: cv.getVar("navbar-tab-active-background-color");
383
+ border-bottom-color: cv.getVar("navbar-tab-active-border-bottom-color");
384
+ border-bottom-style: cv.getVar("navbar-tab-active-border-bottom-style");
385
+ border-bottom-width: cv.getVar("navbar-tab-active-border-bottom-width");
386
+ color: cv.getVar("navbar-tab-active-color");
387
+ padding-bottom: calc(
388
+ 0.5rem - #{cv.getVar("navbar-tab-active-border-bottom-width")}
389
+ );
390
+ }
391
+ }
392
+ }
393
+
394
+ .#{iv.$class-prefix}navbar-content {
395
+ flex-grow: 1;
396
+ flex-shrink: 1;
397
+ }
398
+
399
+ .#{iv.$class-prefix}navbar-link:not(.#{iv.$class-prefix}is-arrowless) {
400
+ padding-inline-end: 2.5em;
401
+
402
+ &::after {
403
+ @extend %arrow;
404
+ border-color: cv.getVar("navbar-dropdown-arrow");
405
+ margin-top: -0.375em;
406
+ inset-inline-end: 1.125em;
407
+ }
408
+ }
409
+
410
+ .#{iv.$class-prefix}navbar-dropdown {
411
+ font-size: 0.875rem;
412
+ padding-bottom: 0.75rem;
413
+ padding-top: 0.5rem;
414
+
415
+ .#{iv.$class-prefix}navbar-item {
416
+ padding-left: 1.5rem;
417
+ padding-right: 1.5rem;
418
+
419
+ &:not(.is-active, .is-selected) {
420
+ background-color: hsl(
421
+ #{cv.getVar("navbar-dropdown-item-h")},
422
+ #{cv.getVar("navbar-dropdown-item-s")},
423
+ calc(
424
+ #{cv.getVar("navbar-dropdown-item-background-l")} + #{cv.getVar(
425
+ "navbar-item-background-l-delta"
426
+ )}
427
+ )
428
+ );
429
+ color: hsl(
430
+ #{cv.getVar("navbar-dropdown-item-h")},
431
+ #{cv.getVar("navbar-dropdown-item-s")},
432
+ #{cv.getVar("navbar-dropdown-item-color-l")}
433
+ );
434
+ }
435
+ }
436
+ }
437
+
438
+ .#{iv.$class-prefix}navbar-divider {
439
+ background-color: hsl(
440
+ #{cv.getVar("navbar-h")},
441
+ #{cv.getVar("navbar-s")},
442
+ #{cv.getVar("navbar-divider-background-l")}
443
+ );
444
+ border: none;
445
+ display: none;
446
+ height: cv.getVar("navbar-divider-height");
447
+ margin: 0.5rem 0;
448
+ }
449
+
450
+ @include mx.until($navbar-breakpoint) {
451
+ .#{iv.$class-prefix}navbar > .#{iv.$class-prefix}container {
452
+ display: block;
453
+ }
454
+
455
+ .#{iv.$class-prefix}navbar-brand,
456
+ .#{iv.$class-prefix}navbar-tabs {
457
+ .#{iv.$class-prefix}navbar-item {
458
+ align-items: center;
459
+ display: flex;
460
+ }
461
+ }
462
+
463
+ .#{iv.$class-prefix}navbar-link {
464
+ &::after {
465
+ display: none;
466
+ }
467
+ }
468
+
469
+ .#{iv.$class-prefix}navbar-menu {
470
+ background-color: cv.getVar("navbar-background-color");
471
+ box-shadow: 0 0.5em 1em
472
+ hsla(
473
+ #{cv.getVar("scheme-h")},
474
+ #{cv.getVar("scheme-s")},
475
+ #{cv.getVar("scheme-invert-l")},
476
+ 0.1
477
+ );
478
+ padding: 0.5rem 0;
479
+
480
+ &.#{iv.$class-prefix}is-active {
481
+ display: block;
482
+ }
483
+ }
484
+
485
+ // Fixed navbar
486
+ .#{iv.$class-prefix}navbar {
487
+ &.#{iv.$class-prefix}is-fixed-bottom-touch,
488
+ &.#{iv.$class-prefix}is-fixed-top-touch {
489
+ @include navbar-fixed;
490
+ }
491
+
492
+ &.#{iv.$class-prefix}is-fixed-bottom-touch {
493
+ bottom: 0;
494
+
495
+ &.#{iv.$class-prefix}has-shadow {
496
+ box-shadow: 0 -0.125em 0.1875em hsla(#{cv.getVar("scheme-h")}, #{cv.getVar(
497
+ "scheme-s"
498
+ )}, #{cv.getVar("scheme-invert-l")}, 0.1);
499
+ }
500
+ }
501
+
502
+ &.#{iv.$class-prefix}is-fixed-top-touch {
503
+ top: 0;
504
+ }
505
+
506
+ &.#{iv.$class-prefix}is-fixed-top,
507
+ &.#{iv.$class-prefix}is-fixed-top-touch {
508
+ .#{iv.$class-prefix}navbar-menu {
509
+ @include mx.overflow-touch;
510
+ max-height: calc(100vh - #{cv.getVar("navbar-height")});
511
+ overflow: auto;
512
+ }
513
+ }
514
+ }
515
+
516
+ html,
517
+ body {
518
+ &.#{iv.$class-prefix}has-navbar-fixed-top-touch {
519
+ padding-top: cv.getVar("navbar-height");
520
+ }
521
+
522
+ &.#{iv.$class-prefix}has-navbar-fixed-bottom-touch {
523
+ padding-bottom: cv.getVar("navbar-height");
524
+ }
525
+ }
526
+ }
527
+
528
+ @include mx.from($navbar-breakpoint) {
529
+ .#{iv.$class-prefix}navbar,
530
+ .#{iv.$class-prefix}navbar-menu,
531
+ .#{iv.$class-prefix}navbar-start,
532
+ .#{iv.$class-prefix}navbar-end {
533
+ align-items: stretch;
534
+ display: flex;
535
+ }
536
+
537
+ .#{iv.$class-prefix}navbar {
538
+ min-height: cv.getVar("navbar-height");
539
+
540
+ &.#{iv.$class-prefix}is-spaced {
541
+ padding: cv.getVar("navbar-padding-vertical")
542
+ cv.getVar("navbar-padding-horizontal");
543
+
544
+ .#{iv.$class-prefix}navbar-start,
545
+ .#{iv.$class-prefix}navbar-end {
546
+ align-items: center;
547
+ }
548
+
549
+ a.#{iv.$class-prefix}navbar-item,
550
+ .#{iv.$class-prefix}navbar-link {
551
+ border-radius: cv.getVar("radius");
552
+ }
553
+ }
554
+
555
+ &.#{iv.$class-prefix}is-transparent {
556
+ @include cv.register-vars(
557
+ (
558
+ "navbar-item-background-a": 0,
559
+ )
560
+ );
561
+
562
+ .#{iv.$class-prefix}navbar-dropdown {
563
+ a.#{iv.$class-prefix}navbar-item {
564
+ background-color: hsl(
565
+ #{cv.getVar("navbar-h")},
566
+ #{cv.getVar("navbar-s")},
567
+ calc(
568
+ #{cv.getVar("navbar-item-background-l")} + #{cv.getVar(
569
+ "navbar-item-background-l-delta"
570
+ )}
571
+ )
572
+ );
573
+
574
+ &.#{iv.$class-prefix}is-active,
575
+ &.#{iv.$class-prefix}is-selected {
576
+ @include cv.register-vars(
577
+ (
578
+ "navbar-h": #{cv.getVar("navbar-item-selected-h")},
579
+ "navbar-s": #{cv.getVar("navbar-item-selected-s")},
580
+ "navbar-l": #{cv.getVar("navbar-item-selected-l")},
581
+ "navbar-item-background-l": #{cv.getVar(
582
+ "navbar-item-selected-background-l"
583
+ )},
584
+ "navbar-item-color-l": #{cv.getVar(
585
+ "navbar-item-selected-color-l"
586
+ )},
587
+ )
588
+ );
589
+ }
590
+ }
591
+ }
592
+ }
593
+ }
594
+
595
+ .#{iv.$class-prefix}navbar-burger {
596
+ display: none;
597
+ }
598
+
599
+ .#{iv.$class-prefix}navbar-item,
600
+ .#{iv.$class-prefix}navbar-link {
601
+ align-items: center;
602
+ display: flex;
603
+ }
604
+
605
+ .#{iv.$class-prefix}navbar-item {
606
+ &.#{iv.$class-prefix}has-dropdown {
607
+ align-items: stretch;
608
+ }
609
+
610
+ &.#{iv.$class-prefix}has-dropdown-up {
611
+ .#{iv.$class-prefix}navbar-link::after {
612
+ transform: rotate(135deg) translate(0.25em, -0.25em);
613
+ }
614
+
615
+ .#{iv.$class-prefix}navbar-dropdown {
616
+ border-bottom-color: cv.getVar("navbar-dropdown-border-color");
617
+ border-bottom-style: cv.getVar("navbar-dropdown-border-style");
618
+ border-bottom-width: cv.getVar("navbar-dropdown-border-width");
619
+ border-radius: cv.getVar("navbar-dropdown-radius")
620
+ cv.getVar("navbar-dropdown-radius") 0 0;
621
+ border-top: none;
622
+ bottom: 100%;
623
+ box-shadow: 0 -0.5em 0.5em hsla(#{cv.getVar("scheme-h")}, #{cv.getVar(
624
+ "scheme-s"
625
+ )}, #{cv.getVar("scheme-invert-l")}, 0.1);
626
+ top: auto;
627
+ }
628
+ }
629
+
630
+ &.#{iv.$class-prefix}is-active,
631
+ &.#{iv.$class-prefix}is-hoverable:focus,
632
+ &.#{iv.$class-prefix}is-hoverable:focus-within,
633
+ &.#{iv.$class-prefix}is-hoverable:hover {
634
+ .#{iv.$class-prefix}navbar-dropdown {
635
+ display: block;
636
+
637
+ .#{iv.$class-prefix}navbar.#{iv.$class-prefix}is-spaced &,
638
+ &.#{iv.$class-prefix}is-boxed {
639
+ opacity: 1;
640
+ pointer-events: auto;
641
+ transform: translateY(0);
642
+ }
643
+ }
644
+ }
645
+ }
646
+
647
+ .#{iv.$class-prefix}navbar-menu {
648
+ flex-grow: 1;
649
+ flex-shrink: 0;
650
+ }
651
+
652
+ .#{iv.$class-prefix}navbar-start {
653
+ justify-content: flex-start;
654
+ margin-inline-end: auto;
655
+ }
656
+
657
+ .#{iv.$class-prefix}navbar-end {
658
+ justify-content: flex-end;
659
+ margin-inline-start: auto;
660
+ }
661
+
662
+ .#{iv.$class-prefix}navbar-dropdown {
663
+ background-color: cv.getVar("navbar-dropdown-background-color");
664
+ border-end-start-radius: cv.getVar("navbar-dropdown-radius");
665
+ border-end-end-radius: cv.getVar("navbar-dropdown-radius");
666
+ border-top-color: cv.getVar("navbar-dropdown-border-color");
667
+ border-top-style: cv.getVar("navbar-dropdown-border-style");
668
+ border-top-width: cv.getVar("navbar-dropdown-border-width");
669
+ box-shadow: 0 0.5em 0.5em
670
+ hsla(
671
+ #{cv.getVar("scheme-h")},
672
+ #{cv.getVar("scheme-s")},
673
+ #{cv.getVar("scheme-invert-l")},
674
+ 0.1
675
+ );
676
+ display: none;
677
+ font-size: 0.875rem;
678
+ inset-inline-start: 0;
679
+ min-width: 100%;
680
+ position: absolute;
681
+ top: 100%;
682
+ z-index: cv.getVar("navbar-dropdown-z");
683
+
684
+ .#{iv.$class-prefix}navbar-item {
685
+ padding: 0.375rem 1rem;
686
+ white-space: nowrap;
687
+ }
688
+
689
+ a.#{iv.$class-prefix}navbar-item {
690
+ padding-inline-end: 3rem;
691
+
692
+ &:not(.is-active, .is-selected) {
693
+ background-color: hsl(
694
+ #{cv.getVar("navbar-dropdown-item-h")},
695
+ #{cv.getVar("navbar-dropdown-item-s")},
696
+ calc(
697
+ #{cv.getVar("navbar-dropdown-item-background-l")} + #{cv.getVar(
698
+ "navbar-item-background-l-delta"
699
+ )}
700
+ )
701
+ );
702
+ color: hsl(
703
+ #{cv.getVar("navbar-dropdown-item-h")},
704
+ #{cv.getVar("navbar-dropdown-item-s")},
705
+ #{cv.getVar("navbar-dropdown-item-color-l")}
706
+ );
707
+ }
708
+ }
709
+
710
+ .#{iv.$class-prefix}navbar.#{iv.$class-prefix}is-spaced &,
711
+ &.#{iv.$class-prefix}is-boxed {
712
+ border-radius: cv.getVar("navbar-dropdown-boxed-radius");
713
+ border-top: none;
714
+ box-shadow: cv.getVar("navbar-dropdown-boxed-shadow");
715
+ display: block;
716
+ opacity: 0;
717
+ pointer-events: none;
718
+ top: calc(100% + (#{cv.getVar("navbar-dropdown-offset")}));
719
+ transform: translateY(-5px);
720
+ transition-duration: cv.getVar("duration");
721
+ transition-property: opacity, transform;
722
+ }
723
+
724
+ &.#{iv.$class-prefix}is-right {
725
+ left: auto;
726
+ right: 0;
727
+ }
728
+ }
729
+
730
+ .#{iv.$class-prefix}navbar-divider {
731
+ display: block;
732
+ }
733
+
734
+ .#{iv.$class-prefix}navbar > .#{iv.$class-prefix}container,
735
+ .#{iv.$class-prefix}container > .#{iv.$class-prefix}navbar {
736
+ .#{iv.$class-prefix}navbar-brand {
737
+ margin-inline-start: -0.75rem;
738
+ }
739
+
740
+ .#{iv.$class-prefix}navbar-menu {
741
+ margin-inline-end: -0.75rem;
742
+ }
743
+ }
744
+
745
+ // Fixed navbar
746
+ .#{iv.$class-prefix}navbar {
747
+ &.#{iv.$class-prefix}is-fixed-bottom-desktop,
748
+ &.#{iv.$class-prefix}is-fixed-top-desktop {
749
+ @include navbar-fixed;
750
+ }
751
+
752
+ &.#{iv.$class-prefix}is-fixed-bottom-desktop {
753
+ bottom: 0;
754
+
755
+ &.#{iv.$class-prefix}has-shadow {
756
+ box-shadow: 0 -0.125em 0.1875em hsla(#{cv.getVar("scheme-h")}, #{cv.getVar(
757
+ "scheme-s"
758
+ )}, #{cv.getVar("scheme-invert-l")}, 0.1);
759
+ }
760
+ }
761
+
762
+ &.#{iv.$class-prefix}is-fixed-top-desktop {
763
+ top: 0;
764
+ }
765
+ }
766
+
767
+ html,
768
+ body {
769
+ &.#{iv.$class-prefix}has-navbar-fixed-top-desktop {
770
+ padding-top: cv.getVar("navbar-height");
771
+ }
772
+
773
+ &.#{iv.$class-prefix}has-navbar-fixed-bottom-desktop {
774
+ padding-bottom: cv.getVar("navbar-height");
775
+ }
776
+
777
+ &.#{iv.$class-prefix}has-spaced-navbar-fixed-top {
778
+ padding-top: calc(
779
+ #{cv.getVar("navbar-height")} + #{cv.getVar("navbar-padding-vertical")} *
780
+ 2
781
+ );
782
+ }
783
+
784
+ &.#{iv.$class-prefix}has-spaced-navbar-fixed-bottom {
785
+ padding-bottom: calc(
786
+ #{cv.getVar("navbar-height")} + #{cv.getVar("navbar-padding-vertical")} *
787
+ 2
788
+ );
789
+ }
790
+ }
791
+ }
792
+
793
+ // Combination
794
+
795
+ .#{iv.$class-prefix}hero {
796
+ &.#{iv.$class-prefix}is-fullheight-with-navbar {
797
+ min-height: calc(100vh - #{cv.getVar("navbar-height")});
798
+ }
799
+ }