jekyll-theme-pirati 0.1.0

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 (232) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +55 -0
  5. data/_includes/accordeon/accordeon-column.html +8 -0
  6. data/_includes/accordeon/accordeon.html +12 -0
  7. data/_includes/article-list/featured_article.html +55 -0
  8. data/_includes/article-list/list-3col.html +55 -0
  9. data/_includes/article-list/pagination.html +36 -0
  10. data/_includes/article-list/standard_article.html +45 -0
  11. data/_includes/disqus_comments.html +20 -0
  12. data/_includes/footer.html +23 -0
  13. data/_includes/google-analytics.html +12 -0
  14. data/_includes/head.html +60 -0
  15. data/_includes/header.html +115 -0
  16. data/_includes/icon-github.html +1 -0
  17. data/_includes/icon-github.svg +1 -0
  18. data/_includes/icon-twitter.html +1 -0
  19. data/_includes/icon-twitter.svg +1 -0
  20. data/_includes/js/custom.js +245 -0
  21. data/_includes/js/fb.js +15 -0
  22. data/_includes/js/main.html +18 -0
  23. data/_includes/js/piwik.js +11 -0
  24. data/_includes/js/tw.js +15 -0
  25. data/_includes/people/item.html +31 -0
  26. data/_includes/people/list-2col.html +25 -0
  27. data/_includes/right-bar/bar_cal.html +15 -0
  28. data/_includes/right-bar/bar_fb.html +23 -0
  29. data/_includes/right-bar/bar_foto.html +20 -0
  30. data/_includes/right-bar/bar_map.html +37 -0
  31. data/_includes/right-bar/bar_people.html +25 -0
  32. data/_includes/right-bar/bar_program.html +35 -0
  33. data/_includes/right-bar/bar_teams_summary.html +22 -0
  34. data/_includes/right-bar/bar_teams_toc.html +31 -0
  35. data/_includes/right-bar/bar_textbox.html +23 -0
  36. data/_includes/right-bar/bar_toc.html +77 -0
  37. data/_includes/right-bar/bar_tw.html +16 -0
  38. data/_includes/right-bar/bar_video.html +23 -0
  39. data/_includes/right-bar/rbar.html +39 -0
  40. data/_includes/right-bar/social-bar.html +16 -0
  41. data/_includes/social.html +14 -0
  42. data/_includes/submenu.html +22 -0
  43. data/_includes/title/title_header.html +9 -0
  44. data/_layouts/blank.html +14 -0
  45. data/_layouts/compress.html +10 -0
  46. data/_layouts/default.html +23 -0
  47. data/_layouts/home.html +34 -0
  48. data/_layouts/page.html +34 -0
  49. data/_layouts/post.html +110 -0
  50. data/_layouts/redirected.html +13 -0
  51. data/_layouts/team.html +45 -0
  52. data/_sass/_base.scss +24 -0
  53. data/_sass/_settings.scss +569 -0
  54. data/_sass/_sprites.scss +0 -0
  55. data/_sass/components/BasicPage.scss +464 -0
  56. data/_sass/components/BlogPosting.scss +274 -0
  57. data/_sass/components/Person.scss +42 -0
  58. data/_sass/components/Slider.scss +0 -0
  59. data/_sass/components/banner.scss +75 -0
  60. data/_sass/components/blockquote.scss +53 -0
  61. data/_sass/components/card.scss +154 -0
  62. data/_sass/components/contact-bar.scss +93 -0
  63. data/_sass/components/content-card.scss +31 -0
  64. data/_sass/components/cta-button.scss +54 -0
  65. data/_sass/components/header-bar.scss +108 -0
  66. data/_sass/components/hero.scss +164 -0
  67. data/_sass/components/highlight.scss +60 -0
  68. data/_sass/components/icon.scss +25 -0
  69. data/_sass/components/pagination.scss +75 -0
  70. data/_sass/components/pripoj-se.scss +97 -0
  71. data/_sass/components/scroll-top.scss +32 -0
  72. data/_sass/components/simple-accordion.scss +85 -0
  73. data/_sass/components/tag.scss +30 -0
  74. data/_sass/components/top-bar.scss +492 -0
  75. data/_sass/components/top-sub-nav.scss +186 -0
  76. data/_sass/components/vertical-navigation.scss +68 -0
  77. data/_sass/components/welcome-header.scss +188 -0
  78. data/_sass/components/widget-accordion.scss +293 -0
  79. data/_sass/components/widget-share-box.scss +57 -0
  80. data/_sass/components/widget-simple-text.scss +15 -0
  81. data/_sass/foundation/_global.scss +638 -0
  82. data/_sass/foundation/components/_accordion-menu.scss +32 -0
  83. data/_sass/foundation/components/_accordion.scss +129 -0
  84. data/_sass/foundation/components/_badge.scss +55 -0
  85. data/_sass/foundation/components/_breadcrumbs.scss +95 -0
  86. data/_sass/foundation/components/_button-group.scss +195 -0
  87. data/_sass/foundation/components/_button.scss +265 -0
  88. data/_sass/foundation/components/_callout.scss +105 -0
  89. data/_sass/foundation/components/_close-button.scss +61 -0
  90. data/_sass/foundation/components/_drilldown.scss +79 -0
  91. data/_sass/foundation/components/_dropdown-menu.scss +221 -0
  92. data/_sass/foundation/components/_dropdown.scss +65 -0
  93. data/_sass/foundation/components/_flex-video.scss +63 -0
  94. data/_sass/foundation/components/_flex.scss +28 -0
  95. data/_sass/foundation/components/_float.scss +27 -0
  96. data/_sass/foundation/components/_label.scss +55 -0
  97. data/_sass/foundation/components/_media-object.scss +115 -0
  98. data/_sass/foundation/components/_menu-icon.scss +9 -0
  99. data/_sass/foundation/components/_menu.scss +314 -0
  100. data/_sass/foundation/components/_off-canvas.scss +177 -0
  101. data/_sass/foundation/components/_orbit.scss +193 -0
  102. data/_sass/foundation/components/_pagination.scss +162 -0
  103. data/_sass/foundation/components/_progress-bar.scss +64 -0
  104. data/_sass/foundation/components/_reveal.scss +172 -0
  105. data/_sass/foundation/components/_slider.scss +133 -0
  106. data/_sass/foundation/components/_sticky.scss +38 -0
  107. data/_sass/foundation/components/_switch.scss +232 -0
  108. data/_sass/foundation/components/_table.scss +234 -0
  109. data/_sass/foundation/components/_tabs.scss +165 -0
  110. data/_sass/foundation/components/_thumbnail.scss +54 -0
  111. data/_sass/foundation/components/_title-bar.scss +89 -0
  112. data/_sass/foundation/components/_tooltip.scss +104 -0
  113. data/_sass/foundation/components/_top-bar.scss +168 -0
  114. data/_sass/foundation/components/_visibility.scss +132 -0
  115. data/_sass/foundation/forms/_checkbox.scss +40 -0
  116. data/_sass/foundation/forms/_error.scss +84 -0
  117. data/_sass/foundation/forms/_fieldset.scss +54 -0
  118. data/_sass/foundation/forms/_forms.scss +34 -0
  119. data/_sass/foundation/forms/_help-text.scss +30 -0
  120. data/_sass/foundation/forms/_input-group.scss +128 -0
  121. data/_sass/foundation/forms/_label.scss +48 -0
  122. data/_sass/foundation/forms/_meter.scss +109 -0
  123. data/_sass/foundation/forms/_progress.scss +85 -0
  124. data/_sass/foundation/forms/_range.scss +144 -0
  125. data/_sass/foundation/forms/_select.scss +67 -0
  126. data/_sass/foundation/forms/_text.scss +163 -0
  127. data/_sass/foundation/foundation.scss +102 -0
  128. data/_sass/foundation/grid/_classes.scss +151 -0
  129. data/_sass/foundation/grid/_column.scss +126 -0
  130. data/_sass/foundation/grid/_flex-grid.scss +274 -0
  131. data/_sass/foundation/grid/_grid.scss +60 -0
  132. data/_sass/foundation/grid/_gutter.scss +34 -0
  133. data/_sass/foundation/grid/_layout.scss +51 -0
  134. data/_sass/foundation/grid/_position.scss +73 -0
  135. data/_sass/foundation/grid/_row.scss +95 -0
  136. data/_sass/foundation/grid/_size.scss +24 -0
  137. data/_sass/foundation/settings/_settings.scss +567 -0
  138. data/_sass/foundation/typography/_alignment.scss +22 -0
  139. data/_sass/foundation/typography/_base.scss +443 -0
  140. data/_sass/foundation/typography/_helpers.scss +77 -0
  141. data/_sass/foundation/typography/_print.scss +77 -0
  142. data/_sass/foundation/typography/_typography.scss +28 -0
  143. data/_sass/foundation/util/_breakpoint.scss +275 -0
  144. data/_sass/foundation/util/_color.scss +60 -0
  145. data/_sass/foundation/util/_flex.scss +68 -0
  146. data/_sass/foundation/util/_mixins.scss +235 -0
  147. data/_sass/foundation/util/_selector.scss +40 -0
  148. data/_sass/foundation/util/_unit.scss +90 -0
  149. data/_sass/foundation/util/_util.scss +11 -0
  150. data/_sass/foundation/util/_value.scss +107 -0
  151. data/_sass/main.scss +40 -0
  152. data/_sass/minima.scss +51 -0
  153. data/_sass/minima/_base.scss +254 -0
  154. data/_sass/minima/_layout.scss +255 -0
  155. data/_sass/minima/_syntax-highlighting.scss +71 -0
  156. data/_sass/objects/media.scss +55 -0
  157. data/_sass/objects/section.scss +247 -0
  158. data/_sass/objects/space.scss +7 -0
  159. data/_sass/scroll-top.scss +31 -0
  160. data/_sass/utilities/utilities.scss +190 -0
  161. data/assets/css/main.scss +110 -0
  162. data/assets/favicon/apple-touch-icon-114x114.png +0 -0
  163. data/assets/favicon/apple-touch-icon-120x120.png +0 -0
  164. data/assets/favicon/apple-touch-icon-144x144.png +0 -0
  165. data/assets/favicon/apple-touch-icon-152x152.png +0 -0
  166. data/assets/favicon/apple-touch-icon-57x57.png +0 -0
  167. data/assets/favicon/apple-touch-icon-60x60.png +0 -0
  168. data/assets/favicon/apple-touch-icon-72x72.png +0 -0
  169. data/assets/favicon/apple-touch-icon-76x76.png +0 -0
  170. data/assets/favicon/favicon-128.png +0 -0
  171. data/assets/favicon/favicon-16x16.png +0 -0
  172. data/assets/favicon/favicon-196x196.png +0 -0
  173. data/assets/favicon/favicon-32x32.png +0 -0
  174. data/assets/favicon/favicon-96x96.png +0 -0
  175. data/assets/favicon/favicon.ico +0 -0
  176. data/assets/favicon/mstile-144x144.png +0 -0
  177. data/assets/favicon/mstile-150x150.png +0 -0
  178. data/assets/favicon/mstile-310x150.png +0 -0
  179. data/assets/favicon/mstile-310x310.png +0 -0
  180. data/assets/favicon/mstile-70x70.png +0 -0
  181. data/assets/fonts/bebasneue_regular-webfont.eot +0 -0
  182. data/assets/fonts/bebasneue_regular-webfont.svg +3906 -0
  183. data/assets/fonts/bebasneue_regular-webfont.ttf +0 -0
  184. data/assets/fonts/bebasneue_regular-webfont.woff +0 -0
  185. data/assets/fonts/bebasneue_regular-webfont.woff2 +0 -0
  186. data/assets/icons/blog.png +0 -0
  187. data/assets/icons/compass.png +0 -0
  188. data/assets/icons/facebook.png +0 -0
  189. data/assets/icons/github.png +0 -0
  190. data/assets/icons/googleplus.png +0 -0
  191. data/assets/icons/instagram.png +0 -0
  192. data/assets/icons/linkedin.png +0 -0
  193. data/assets/icons/pinterest.png +0 -0
  194. data/assets/icons/piratewiki.png +0 -0
  195. data/assets/icons/redmine.png +0 -0
  196. data/assets/icons/twitter.png +0 -0
  197. data/assets/icons/vkontakte.png +0 -0
  198. data/assets/icons/youtube.png +0 -0
  199. data/assets/img/brand/logo-group.png +0 -0
  200. data/assets/img/brand/logo-group.svg +27 -0
  201. data/assets/img/brand/logo-round.png +0 -0
  202. data/assets/img/brand/logo-round.svg +104 -0
  203. data/assets/img/brand/logo.ai +5083 -16
  204. data/assets/img/brand/logo.pdf +1405 -4
  205. data/assets/img/brand/logo.png +0 -0
  206. data/assets/img/brand/logo.svg +10 -0
  207. data/assets/img/brand/logo_easy.png +0 -0
  208. data/assets/img/brand/logo_napis.ai +5003 -21
  209. data/assets/img/brand/logo_napis.pdf +1482 -3
  210. data/assets/img/brand/logo_napis.png +0 -0
  211. data/assets/img/brand/logo_napis.svg +48 -0
  212. data/assets/img/brand/logo_napis_male.png +0 -0
  213. data/assets/img/brand/logo_napis_white.ai +5106 -16
  214. data/assets/img/brand/logo_napis_white.pdf +1532 -2
  215. data/assets/img/brand/logo_napis_white.png +0 -0
  216. data/assets/img/brand/logo_napis_white.svg +51 -0
  217. data/assets/img/brand/logo_white.ai +5194 -23
  218. data/assets/img/brand/logo_white.pdf +1388 -4
  219. data/assets/img/brand/logo_white.png +0 -0
  220. data/assets/img/brand/logo_white.svg +14 -0
  221. data/assets/img/brand/logotyp_email.png +0 -0
  222. data/assets/img/brand/logow.svg +19 -0
  223. data/assets/img/header/background.jpg +0 -0
  224. data/assets/img/people/jakub-pirat.jpg +0 -0
  225. data/assets/img/posts/obrazek.u.tohoto.postu.jpg +0 -0
  226. data/assets/img/tiles/lightGrey.png +0 -0
  227. data/assets/img/tiles/tableOfContent.png +0 -0
  228. data/assets/js/common-libs.min.js +1 -0
  229. data/assets/js/custom.min.js +1 -0
  230. data/assets/people/piratska-strana.png +0 -0
  231. data/assets/people/ppp.jpg +0 -0
  232. metadata +316 -0
@@ -0,0 +1,60 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group functions
7
+ ////
8
+
9
+ /// Checks the lightness of `$color`, and if it passes the `$threshold` of lightness, it returns the `$yes` color. Otherwise, it returns the `$no` color. Use this function to dynamically output a foreground color based on a given background color.
10
+ ///
11
+ /// @param {Color} $color - Color to check the lightness of.
12
+ /// @param {Color} $yes [$black] - Color to return if `$color` is light.
13
+ /// @param {Color} $no [$white] - Color to return if `$color` is dark.
14
+ /// @param {Percentage} $threshold [60%] - Threshold of lightness to check against.
15
+ ///
16
+ /// @returns {Color} The $yes color or $no color.
17
+ @function foreground($color, $yes: $black, $no: $white, $threshold: 60%) {
18
+ @if $color == transparent {
19
+ $color: $body-background;
20
+ }
21
+ @if (lightness($color) > $threshold) {
22
+ @return $yes;
23
+ }
24
+ @else {
25
+ @return $no;
26
+ }
27
+ }
28
+
29
+ /// Scales a color to be lighter if it's light, or darker if it's dark. Use this function to tint a color appropriate to its lightness.
30
+ ///
31
+ /// @param {Color} $color - Color to scale.
32
+ /// @param {Percentage} $scale [5%] - Amount to scale up or down.
33
+ /// @param {Percentage} $threshold [40%] - Threshold of lightness to check against.
34
+ ///
35
+ /// @returns {Color} A scaled color.
36
+ @function smart-scale($color, $scale: 5%, $threshold: 40%) {
37
+ @if lightness($color) > $threshold {
38
+ $scale: -$scale;
39
+ }
40
+ @return scale-color($color, $lightness: $scale);
41
+ }
42
+
43
+ /// Transfers the colors in the `$foundation-palette` variable into the legacy color variables, such as `$primary-color` and `$secondary-color`. Call this mixin below the Global section of your settings file to properly migrate your codebase.
44
+ @mixin add-foundation-colors() {
45
+ @if map-has-key($foundation-palette, primary) {
46
+ $primary-color: map-get($foundation-palette, primary) !global;
47
+ }
48
+ @if map-has-key($foundation-palette, secondary) {
49
+ $secondary-color: map-get($foundation-palette, secondary) !global;
50
+ }
51
+ @if map-has-key($foundation-palette, success) {
52
+ $success-color: map-get($foundation-palette, success) !global;
53
+ }
54
+ @if map-has-key($foundation-palette, warning) {
55
+ $warning-color: map-get($foundation-palette, warning) !global;
56
+ }
57
+ @if map-has-key($foundation-palette, alert) {
58
+ $alert-color: map-get($foundation-palette, alert) !global;
59
+ }
60
+ }
@@ -0,0 +1,68 @@
1
+ $-zf-flex-justify: (
2
+ 'left': flex-start,
3
+ 'right': flex-end,
4
+ 'center': center,
5
+ 'justify': space-between,
6
+ 'spaced': space-around,
7
+ );
8
+
9
+ $-zf-flex-align: (
10
+ 'top': flex-start,
11
+ 'bottom': flex-end,
12
+ 'middle': center,
13
+ 'stretch': stretch,
14
+ );
15
+
16
+ /// Enables flexbox by adding `display: flex` to the element.
17
+ @mixin flex {
18
+ display: flex;
19
+ }
20
+
21
+ /// Horizontally or vertically aligns the items within a flex container.
22
+ ///
23
+ /// @param {Keyword} $x [null] - Horizontal alignment to use. Can be `left`, `right`, `center`, `justify`, or `spaced`. Or, set it to `null` (the default) to not set horizontal alignment.
24
+ /// @param {Keyword} $y [null] - Vertical alignment to use. Can be `top`, `bottom`, `middle`, or `stretch`. Or, set it to `null` (the default) to not set vertical alignment.
25
+ @mixin flex-align($x: null, $y: null) {
26
+ @if $x {
27
+ @if map-has-key($-zf-flex-justify, $x) {
28
+ $x: map-get($-zf-flex-justify, $x);
29
+ }
30
+ @else {
31
+ @warn 'flex-grid-row-align(): #{$x} is not a valid value for horizontal alignment. Use left, right, center, justify, or spaced.'
32
+ }
33
+ }
34
+
35
+ @if $y {
36
+ @if map-has-key($-zf-flex-align, $y) {
37
+ $y: map-get($-zf-flex-align, $y);
38
+ }
39
+ @else {
40
+ @warn 'flex-grid-row-align(): #{$y} is not a valid value for vertical alignment. Use top, bottom, middle, or stretch.'
41
+ }
42
+ }
43
+
44
+ justify-content: $x;
45
+ align-items: $y;
46
+ }
47
+
48
+ /// Vertically align a single column within a flex row. Apply this mixin to a flex column.
49
+ ///
50
+ /// @param {Keyword} $y [null] - Vertical alignment to use. Can be `top`, `bottom`, `middle`, or `stretch`. Or, set it to `null` (the default) to not set vertical alignment.
51
+ @mixin flex-align-self($y: null) {
52
+ @if $y {
53
+ @if map-has-key($-zf-flex-align, $y) {
54
+ $y: map-get($-zf-flex-align, $y);
55
+ }
56
+ @else {
57
+ @warn 'flex-grid-column-align(): #{$y} is not a valid value for alignment. Use top, bottom, middle, or stretch.'
58
+ }
59
+ }
60
+
61
+ align-self: $y;
62
+ }
63
+
64
+ /// Changes the source order of a flex child. Children with lower numbers appear first in the layout.
65
+ /// @param {Number} $order [0] - Order number to apply.
66
+ @mixin flex-order($order: 0) {
67
+ order: $order;
68
+ }
@@ -0,0 +1,235 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group functions
7
+ ////
8
+
9
+ /// Creates a CSS triangle, which can be used for dropdown arrows, dropdown pips, and more. Use this mixin inside a `&::before` or `&::after` selector, to attach the triangle to an existing element.
10
+ ///
11
+ /// @param {Number} $triangle-size - Width of the triangle.
12
+ /// @param {Color} $triangle-color - Color of the triangle.
13
+ /// @param {Keyword} $triangle-direction - Direction the triangle points. Can be `up`, `right`, `down`, or `left`.
14
+ @mixin css-triangle(
15
+ $triangle-size,
16
+ $triangle-color,
17
+ $triangle-direction
18
+ ) {
19
+ content: '';
20
+ display: block;
21
+ width: 0;
22
+ height: 0;
23
+ border: inset $triangle-size;
24
+
25
+ @if ($triangle-direction == down) {
26
+ border-color: $triangle-color transparent transparent;
27
+ border-top-style: solid;
28
+ border-bottom-width: 0;
29
+ }
30
+ @if ($triangle-direction == up) {
31
+ border-color: transparent transparent $triangle-color;
32
+ border-bottom-style: solid;
33
+ border-top-width: 0;
34
+ }
35
+ @if ($triangle-direction == right) {
36
+ border-color: transparent transparent transparent $triangle-color;
37
+ border-left-style: solid;
38
+ border-right-width: 0;
39
+ }
40
+ @if ($triangle-direction == left) {
41
+ border-color: transparent $triangle-color transparent transparent;
42
+ border-right-style: solid;
43
+ border-left-width: 0;
44
+ }
45
+ }
46
+
47
+ /// Creates a menu icon with a set width, height, number of bars, and colors. The mixin uses the height of the icon and the weight of the bars to determine spacing. <div class="docs-example-burger"></div>
48
+ ///
49
+ /// @param {Color} $color [$black] - Color to use for the icon.
50
+ /// @param {Color} $color-hover [$dark-gray] - Color to use when the icon is hovered over.
51
+ /// @param {Number} $width [20px] - Width of the icon.
52
+ /// @param {Number} $height [16px] - Height of the icon.
53
+ /// @param {Number} $weight [2px] - Height of individual bars in the icon.
54
+ /// @param {Number} $bars [3] - Number of bars in the icon.
55
+ @mixin hamburger(
56
+ $color: $black,
57
+ $color-hover: $dark-gray,
58
+ $width: 20px,
59
+ $height: 16px,
60
+ $weight: 2px,
61
+ $bars: 3
62
+ ) {
63
+ // box-shadow CSS output
64
+ $shadow: ();
65
+ $hover-shadow: ();
66
+
67
+ // Spacing between bars is calculated based on the total height of the icon and the weight of each bar
68
+ $spacing: floor(($height - ($weight * $bars)) / ($bars - 1));
69
+
70
+ // Icon container
71
+ position: relative;
72
+ display: inline-block;
73
+ vertical-align: middle;
74
+ cursor: pointer;
75
+ width: $width;
76
+ height: $height;
77
+
78
+ // Icon bars
79
+ &::after {
80
+ content: '';
81
+ position: absolute;
82
+ display: block;
83
+ width: 100%;
84
+ height: $weight;
85
+ background: $color;
86
+ top: 0;
87
+ left: 0;
88
+
89
+ @for $i from 2 through $bars {
90
+ $offset: ($weight + $spacing) * ($i - 1);
91
+ $shadow: append($shadow, 0 $offset 0 $color, comma);
92
+ }
93
+
94
+ box-shadow: $shadow;
95
+ }
96
+
97
+ // Hover state
98
+ @if $color-hover {
99
+ // Generate CSS
100
+ @for $i from 2 through $bars {
101
+ $offset: ($weight + $spacing) * ($i - 1);
102
+ $hover-shadow: append($hover-shadow, 0 $offset 0 $color-hover, comma);
103
+ }
104
+
105
+ &:hover::after {
106
+ background: $color-hover;
107
+ box-shadow: $hover-shadow;
108
+ }
109
+ }
110
+ }
111
+
112
+ /// Adds a downward-facing triangle as a background image to an element. The image is formatted as an SVG, making it easy to change the color. Because Internet Explorer doesn't support encoded SVGs as background images, a PNG fallback is also included.
113
+ /// There are two PNG fallbacks: a black triangle and a white triangle. The one used depends on the lightness of the input color.
114
+ ///
115
+ /// @param {Color} $color [$black] - Color to use for the triangle.
116
+ @mixin background-triangle($color: $black) {
117
+ $rgb: 'rgb%28#{red($color)}, #{green($color)}, #{blue($color)}%29';
118
+
119
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: #{$rgb}'></polygon></svg>");
120
+
121
+ @media screen and (min-width:0\0) {
122
+ @if lightness($color) < 60% {
123
+ // White triangle
124
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==');
125
+ }
126
+ @else {
127
+ // Black triangle
128
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMBJREFUeNrEllsOhCAMRVszC9IlzU7KCmVHTJsoMWYMUtpyv9BgbuXQB5ZSdgBYYY4ycgBivk8KYFsQMfMiTTBP4o3nUzCKzOabLJbLy2/g31evGkAginR4/ZegKH5qX3bJCscA3t0x3kgO5tQFyhhFf50xRqFLbyMUNJQzgyjGS/wgCpvKqkRBpuWrE4V9d+1E4dPUXqIg107SQOE/2DRQxMwTDygIInVDET9T3lCoj/6j/VCmGjZOl2lKpZ8AAwDQP7zIimDGFQAAAABJRU5ErkJggg==');
129
+ }
130
+ }
131
+ }
132
+
133
+ /// Applies the micro clearfix hack popularized by Nicolas Gallagher. Include this mixin on a container if its children are all floated, to give the container a proper height.
134
+ /// The clearfix is augmented with specific styles to prevent borders in flexbox environments
135
+ /// @link http://nicolasgallagher.com/micro-clearfix-hack/ Micro Clearfix Hack
136
+ /// @link http://danisadesigner.com/blog/flexbox-clear-fix-pseudo-elements/ Flexbox fix
137
+ @mixin clearfix {
138
+ &::before,
139
+ &::after {
140
+ content: ' ';
141
+ display: table;
142
+ @if $global-flexbox {
143
+ flex-basis: 0;
144
+ order: 1;
145
+ }
146
+ }
147
+
148
+ &::after {
149
+ clear: both;
150
+ }
151
+ }
152
+
153
+ /// Adds CSS for a "quantity query" selector that automatically sizes elements based on how many there are inside a container.
154
+ /// @link http://alistapart.com/article/quantity-queries-for-css Quantity Queries for CSS
155
+ ///
156
+ /// @param {Number} $max - Maximum number of items to detect. The higher this number is, the more CSS that's required to cover each number of items.
157
+ /// @param {Keyword} $elem [li] - Tag to use for sibling selectors.
158
+ @mixin auto-width($max, $elem: li) {
159
+ @for $i from 2 through $max {
160
+ &:nth-last-child(#{$i}):first-child,
161
+ &:nth-last-child(#{$i}):first-child ~ #{$elem} {
162
+ width: percentage(1 / $i);
163
+ }
164
+ }
165
+ }
166
+
167
+ /// Removes the focus ring around an element when a mouse input is detected.
168
+ @mixin disable-mouse-outline {
169
+ [data-whatinput='mouse'] & {
170
+ outline: 0;
171
+ }
172
+ }
173
+
174
+ /// Makes an element visually hidden, but still accessible to keyboards and assistive devices.
175
+ /// @link http://snook.ca/archives/html_and_css/hiding-content-for-accessibility Hiding Content for Accessibility
176
+ @mixin element-invisible {
177
+ position: absolute !important;
178
+ width: 1px;
179
+ height: 1px;
180
+ overflow: hidden;
181
+ clip: rect(0, 0, 0, 0);
182
+ }
183
+
184
+ /// Reverses the CSS output created by the `element-invisible()` mixin.
185
+ @mixin element-invisible-off {
186
+ position: static !important;
187
+ height: auto;
188
+ width: auto;
189
+ overflow: visible;
190
+ clip: auto;
191
+ }
192
+
193
+ /// Vertically centers the element inside of its first non-static parent,
194
+ /// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass
195
+ @mixin vertical-center {
196
+ position: absolute;
197
+ top: 50%;
198
+ transform: translateY(-50%);
199
+ }
200
+
201
+ /// Horizontally centers the element inside of its first non-static parent,
202
+ /// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass
203
+ @mixin horizontal-center {
204
+ position: absolute;
205
+ left: 50%;
206
+ transform: translateX(-50%);
207
+ }
208
+
209
+ /// Absolutely centers the element inside of its first non-static parent,
210
+ /// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass
211
+ @mixin absolute-center {
212
+ position: absolute;
213
+ top: 50%;
214
+ left: 50%;
215
+ transform: translate(-50%, -50%);
216
+ }
217
+
218
+ /// Iterates through breakpoints defined in `$breakpoint-classes` and prints the CSS inside the mixin at each breakpoint's media query. Use this with the grid, or any other component that has responsive classes.
219
+ ///
220
+ /// @param {Boolean} $small [true] - If `false`, the mixin will skip the `small` breakpoint. Use this with components that don't prefix classes with `small-`, only `medium-` and up.
221
+ @mixin -zf-each-breakpoint($small: true) {
222
+ $map: $breakpoint-classes;
223
+
224
+ @if not $small {
225
+ $map: map-remove($map, $-zf-zero-breakpoint);
226
+ }
227
+
228
+ @each $size in $map {
229
+ $-zf-size: $size !global;
230
+
231
+ @include breakpoint($size) {
232
+ @content;
233
+ }
234
+ }
235
+ }
@@ -0,0 +1,40 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group functions
7
+ ////
8
+
9
+ /// Generates a selector with every text input type. You can also filter the list to only output a subset of those selectors.
10
+ ///
11
+ /// @param {List|Keyword} $types [()] - A list of text input types to use. Leave blank to use all of them.
12
+ @function text-inputs($types: ()) {
13
+ $return: ();
14
+
15
+ $all-types:
16
+ text
17
+ password
18
+ date
19
+ datetime
20
+ datetime-local
21
+ month
22
+ week
23
+ email
24
+ number
25
+ search
26
+ tel
27
+ time
28
+ url
29
+ color;
30
+
31
+ @if not has-value($types) {
32
+ $types: $all-types;
33
+ }
34
+
35
+ @each $type in $types {
36
+ $return: append($return, unquote('[type=\'#{$type}\']'), comma);
37
+ }
38
+
39
+ @return $return;
40
+ }
@@ -0,0 +1,90 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group functions
7
+ ////
8
+
9
+ $global-font-size: 100% !default;
10
+
11
+ // scss-lint:disable ZeroUnit
12
+
13
+ /// Removes the unit (e.g. px, em, rem) from a value, returning the number only.
14
+ ///
15
+ /// @param {Number} $num - Number to strip unit from.
16
+ ///
17
+ /// @returns {Number} The same number, sans unit.
18
+ @function strip-unit($num) {
19
+ @return $num / ($num * 0 + 1);
20
+ }
21
+
22
+ /// Converts one or more pixel values into matching rem values.
23
+ ///
24
+ /// @param {Number|List} $values - One or more values to convert. Be sure to separate them with spaces and not commas. If you need to convert a comma-separated list, wrap the list in parentheses.
25
+ /// @param {Number} $base [null] - The base value to use when calculating the `rem`. If you're using Foundation out of the box, this is 16px. If this parameter is `null`, the function will reference the `$base-font-size` variable as the base.
26
+ ///
27
+ /// @returns {List} A list of converted values.
28
+ @function rem-calc($values, $base: null) {
29
+ $rem-values: ();
30
+ $count: length($values);
31
+
32
+ // If no base is defined, defer to the global font size
33
+ @if $base == null {
34
+ $base: $global-font-size;
35
+ }
36
+
37
+ // If the base font size is a %, then multiply it by 16px
38
+ // This is because 100% font size = 16px in most all browsers
39
+ @if unit($base) == '%' {
40
+ $base: ($base / 100%) * 16px;
41
+ }
42
+
43
+ @if $count == 1 {
44
+ @return -zf-to-rem($values, $base);
45
+ }
46
+
47
+ @for $i from 1 through $count {
48
+ $rem-values: append($rem-values, -zf-to-rem(nth($values, $i), $base));
49
+ }
50
+
51
+ @return $rem-values;
52
+ }
53
+
54
+ // Converts a unitless, pixel, or rem value to em, for use in breakpoints.
55
+ @function -zf-bp-to-em($value) {
56
+ // Pixel and unitless values are converted to rems
57
+ @if unit($value) == 'px' or unitless($value) {
58
+ $value: rem-calc($value, $base: 16px);
59
+ }
60
+
61
+ // Then the value is converted to ems
62
+ @return strip-unit($value) * 1em;
63
+ }
64
+
65
+ /// Converts a pixel value to matching rem value. *Any* value passed, regardless of unit, is assumed to be a pixel value. By default, the base pixel value used to calculate the rem value is taken from the `$global-font-size` variable.
66
+ /// @access private
67
+ ///
68
+ /// @param {Number} $value - Pixel value to convert.
69
+ /// @param {Number} $base [null] - Base for pixel conversion.
70
+ ///
71
+ /// @returns {Number} A number in rems, calculated based on the given value and the base pixel value. rem values are passed through as is.
72
+ @function -zf-to-rem($value, $base: null) {
73
+ // Check if the value is a number
74
+ @if type-of($value) != 'number' {
75
+ @warn inspect($value) + ' was passed to rem-calc(), which is not a number.';
76
+ @return $value;
77
+ }
78
+
79
+ // Calculate rem if units for $value is not rem
80
+ @if unit($value) != 'rem' {
81
+ $value: strip-unit($value) / strip-unit($base) * 1rem;
82
+ }
83
+
84
+ // Turn 0rem into 0
85
+ @if $value == 0rem {
86
+ $value: 0;
87
+ }
88
+
89
+ @return $value;
90
+ }