bobjoll 0.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 (96) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -0
  3. package/package.json +25 -0
  4. package/scss/layout/_footer.scss +10 -0
  5. package/scss/layout/_header.scss +10 -0
  6. package/scss/modules/_fonts.scss +26 -0
  7. package/scss/modules/_reset.scss +219 -0
  8. package/scss/modules/bourbon/addons/_clearfix.scss +25 -0
  9. package/scss/modules/bourbon/addons/_ellipsis.scss +30 -0
  10. package/scss/modules/bourbon/addons/_position.scss +48 -0
  11. package/scss/modules/bourbon/addons/_prefixer.scss +66 -0
  12. package/scss/modules/bourbon/addons/_size.scss +51 -0
  13. package/scss/modules/bourbon/addons/_timing-functions.scss +34 -0
  14. package/scss/modules/bourbon/addons/_triangle.scss +63 -0
  15. package/scss/modules/bourbon/css3/_calc.scss +4 -0
  16. package/scss/modules/bourbon/css3/_flex-box.scss +287 -0
  17. package/scss/modules/bourbon/css3/_keyframes.scss +36 -0
  18. package/scss/modules/bourbon/css3/_linear-gradient.scss +38 -0
  19. package/scss/modules/bourbon/css3/_placeholder.scss +8 -0
  20. package/scss/modules/bourbon/css3/_selection.scss +42 -0
  21. package/scss/modules/bourbon/css3/_transition.scss +71 -0
  22. package/scss/modules/mixins/_component.scss +9 -0
  23. package/scss/modules/mixins/_grid.scss +75 -0
  24. package/scss/modules/mixins/_helpers.scss +224 -0
  25. package/scss/modules/variables/_colors.scss +447 -0
  26. package/scss/modules/variables/_general.scss +235 -0
  27. package/scss/partials/_accordion-v1-0.scss +165 -0
  28. package/scss/partials/_autocomplete-v1-0.scss +55 -0
  29. package/scss/partials/_general-v1-0.scss +51 -0
  30. package/scss/partials/_grid-v1-0.scss +109 -0
  31. package/scss/partials/_helper-v1-0.scss +299 -0
  32. package/scss/partials/_icon-v2-0.scss +323 -0
  33. package/scss/partials/_list-v1-0.scss +100 -0
  34. package/scss/partials/_modal-v1-0.scss +159 -0
  35. package/scss/partials/_notification-v1-1.scss +297 -0
  36. package/scss/partials/_progress-bar-v1.0.scss +25 -0
  37. package/scss/partials/_range-v1.0.scss +75 -0
  38. package/scss/partials/_tooltipFixed-v1.0.scss +128 -0
  39. package/scss/partials/_typography-v1-0.scss +201 -0
  40. package/scss/partials/animations/_fade.scss +23 -0
  41. package/scss/partials/animations/_rotate.scss +11 -0
  42. package/scss/partials/animations/_scale.scss +23 -0
  43. package/scss/partials/animations/_slide.scss +31 -0
  44. package/scss/partials/button-v4-0/_component.scss +304 -0
  45. package/scss/partials/form/_checkbox-and-radio-v1-0.scss +187 -0
  46. package/scss/partials/form/_dropdowns-v1-0.scss +323 -0
  47. package/scss/partials/form/_general-v1-0.scss +166 -0
  48. package/scss/partials/form/_group-v1-0.scss +157 -0
  49. package/scss/partials/form/_password-v1-0.scss +28 -0
  50. package/scss/partials/form/_switch-v1-0.scss +128 -0
  51. package/scss/partials/form/_upload-v1-0.scss +91 -0
  52. package/ts/library/common.ts +30 -0
  53. package/ts/library/cookie.ts +47 -0
  54. package/ts/library/delegate.ts +122 -0
  55. package/ts/library/dom.ts +124 -0
  56. package/ts/library/event.ts +138 -0
  57. package/ts/library/extend.js +32 -0
  58. package/ts/library/gr/dom.q.ts +12 -0
  59. package/ts/library/gr/social/dependency/twitter_pu.js +66 -0
  60. package/ts/library/gr/social/facebook.ts +154 -0
  61. package/ts/library/gr/social/google.ts +127 -0
  62. package/ts/library/gr/social/index.ts +35 -0
  63. package/ts/library/gr/social/twitter.ts +65 -0
  64. package/ts/library/helpers.ts +9 -0
  65. package/ts/library/number-abbreviate.js +57 -0
  66. package/ts/library/settings.ts +7 -0
  67. package/ts/library/storage.ts +131 -0
  68. package/ts/library/svg4everybody.legacy.js +122 -0
  69. package/ts/partials/accordion-v1.0.ts +104 -0
  70. package/ts/partials/accordionTabs-v1.0.ts +27 -0
  71. package/ts/partials/alert-v1.0.ts +51 -0
  72. package/ts/partials/copy-v1.0.ts +17 -0
  73. package/ts/partials/countdown-v1.0.ts +119 -0
  74. package/ts/partials/dropdown-v1.0.ts +247 -0
  75. package/ts/partials/hbs-v1.0.ts +9 -0
  76. package/ts/partials/modal-v1.0.ts +213 -0
  77. package/ts/partials/notifications-v1.1.ts +376 -0
  78. package/ts/partials/notify-v1.0.ts +746 -0
  79. package/ts/partials/password-v1.0.ts +19 -0
  80. package/ts/partials/popover-v1.0.ts +125 -0
  81. package/ts/partials/progress-bar-v1.0.ts +29 -0
  82. package/ts/partials/scroll-v1.0.ts +169 -0
  83. package/ts/partials/scrollable-v1.0.ts +90 -0
  84. package/ts/partials/tabs-v1.0.ts +79 -0
  85. package/ts/partials/tags-v1.0.ts +21 -0
  86. package/ts/partials/trigger-v2.0.ts +155 -0
  87. package/ts/partials/upload-v1.0.ts +17 -0
  88. package/ts/views/hbs/alert-v1.0/element.html.hbs +35 -0
  89. package/ts/views/hbs/countdown-v1.0/countdown-inner.hbs +39 -0
  90. package/ts/views/hbs/countdown-v1.0/countdown.hbs +4 -0
  91. package/ts/views/hbs/dropdown-v1.0/element.html.hbs +70 -0
  92. package/ts/views/hbs/helpers.js +58 -0
  93. package/ts/views/hbs/modal-v1.0/element.html.hbs +17 -0
  94. package/ts/views/hbs/notification-v1.1/element-disable.html.hbs +26 -0
  95. package/ts/views/hbs/notification-v1.1/element.html.hbs +43 -0
  96. package/ts/views/hbs/notification-v1.1/wrapper.html.hbs +4 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License Copyright (c) 2021
2
+
3
+ Permission is hereby granted, free
4
+ of charge, to any person obtaining a copy of this software and associated
5
+ documentation files (the "Software"), to deal in the Software without
6
+ restriction, including without limitation the rights to use, copy, modify, merge,
7
+ publish, distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to the
9
+ following conditions:
10
+
11
+ The above copyright notice and this permission notice
12
+ (including the next paragraph) shall be included in all copies or substantial
13
+ portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
16
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
18
+ EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
19
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,35 @@
1
+ # bobjoll
2
+
3
+ HBS views of bob joll
4
+
5
+ ## Features
6
+
7
+ - ES6 syntax, managed with Prettier + Eslint and Stylelint
8
+ - Typescript
9
+ - Handlebars
10
+
11
+ ## Install
12
+
13
+ ```sh
14
+ yarn add bobjoll
15
+ // or
16
+ npm i bobjoll
17
+ ```
18
+
19
+ ### Requirements
20
+
21
+ - Node.js `v10.x` or later
22
+
23
+
24
+ ### Usage
25
+
26
+ ```js
27
+ import { IsUrlValid } from 'bobjoll';
28
+ import alert from 'bobjoll/views/alert-v1.0/element.html.hbs'
29
+
30
+
31
+ if(IsUrlValid('http://your-domain.com')) {
32
+ // execute the compiled template and print the output to the console
33
+ console.log(alert({ message: "This url valid as a rock!" }));
34
+ }
35
+ ```
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "bobjoll",
3
+ "version": "0.0.4",
4
+ "private": false,
5
+ "description": "HBS views of bob joll",
6
+ "license": "MIT",
7
+ "author": "hfrpik",
8
+ "main": "ts/library/helpers.ts",
9
+ "scripts": {
10
+ "test": "exit 0"
11
+ },
12
+ "repository": "https://www.gitlab.com/hfrpik/bobjoll",
13
+ "publishConfig": {
14
+ "access": "public"
15
+ },
16
+ "dependencies": {
17
+ "@babel/runtime": "^7.18.9",
18
+ "axios": "^0.27.0",
19
+ "handlebars": "~4.7.7"
20
+ },
21
+ "devDependencies": {
22
+ "handlebars-template-loader": "^1.0.0",
23
+ "typescript": "3.9.4"
24
+ }
25
+ }
@@ -0,0 +1,10 @@
1
+ @if $general-v1-0 {
2
+ #footer {
3
+ margin: $base-spacing 0 0 0;
4
+ padding: $small-spacing 0;
5
+
6
+ border-top: $base-border;
7
+
8
+ background-color: color('footer', 'background');
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ @if $general-v1-0 {
2
+ #header {
3
+ margin: 0 0 $base-spacing 0;
4
+ padding: $small-spacing 0;
5
+
6
+ border-bottom: $base-border;
7
+
8
+ background-color: color('header', 'background');
9
+ }
10
+ }
@@ -0,0 +1,26 @@
1
+
2
+ @if $fonts {
3
+ @font-face {
4
+ font-family: 'Proxima Nova';
5
+ src: url('~bobjoll/fonts/proximanova-regular-webfont.woff2') format('woff2');
6
+ font-weight: $normal-font-weight;
7
+ font-style: normal;
8
+ font-display: swap;
9
+ }
10
+
11
+ @font-face {
12
+ font-family: 'Proxima Nova';
13
+ src: url('~bobjoll/fonts/proximanova-semibold-webfont.woff2') format('woff2');
14
+ font-weight: $semi-font-weight;
15
+ font-style: normal;
16
+ font-display: swap;
17
+ }
18
+
19
+ @font-face {
20
+ font-family: 'Proxima Nova';
21
+ src: url('~bobjoll/fonts/proximanova-bold-webfont.woff2') format('woff2');
22
+ font-weight: $bold-font-weight;
23
+ font-style: normal;
24
+ font-display: swap;
25
+ }
26
+ }
@@ -0,0 +1,219 @@
1
+ /*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */
2
+
3
+ html {
4
+ font-family: sans-serif; /* 1 */
5
+ -ms-text-size-adjust: 100%; /* 2 */
6
+ -webkit-text-size-adjust: 100%; /* 2 */
7
+ }
8
+
9
+ body {
10
+ margin: 0;
11
+ }
12
+
13
+ article,
14
+ aside,
15
+ details,
16
+ figcaption,
17
+ figure,
18
+ footer,
19
+ header,
20
+ hgroup,
21
+ main,
22
+ menu,
23
+ nav,
24
+ section,
25
+ summary {
26
+ display: block;
27
+ }
28
+
29
+ audio,
30
+ canvas,
31
+ progress,
32
+ video {
33
+ display: inline-block; /* 1 */
34
+ vertical-align: baseline; /* 2 */
35
+ }
36
+
37
+ audio:not([controls]) {
38
+ display: none;
39
+ height: 0;
40
+ }
41
+
42
+ [hidden],
43
+ template {
44
+ display: none;
45
+ }
46
+
47
+ a {
48
+ background-color: transparent;
49
+ }
50
+
51
+ a:active,
52
+ a:hover {
53
+ outline: 0;
54
+ }
55
+
56
+ abbr[title] {
57
+ text-decoration: none;
58
+ }
59
+
60
+ b,
61
+ strong {
62
+ font-weight: bold;
63
+ }
64
+
65
+ dfn {
66
+ font-style: italic;
67
+ }
68
+
69
+ h1 {
70
+ font-size: 2em;
71
+ margin: 0.67em 0;
72
+ }
73
+
74
+ mark {
75
+ background: #ff0;
76
+ color: #000;
77
+ }
78
+
79
+ small {
80
+ font-size: 80%;
81
+ }
82
+
83
+ sub,
84
+ sup {
85
+ font-size: 75%;
86
+ line-height: 0;
87
+ position: relative;
88
+ vertical-align: baseline;
89
+ }
90
+
91
+ sup {
92
+ top: -0.5em;
93
+ }
94
+
95
+ sub {
96
+ bottom: -0.25em;
97
+ }
98
+
99
+ img {
100
+ border: 0;
101
+ }
102
+ svg:not(:root) {
103
+ overflow: hidden;
104
+ }
105
+
106
+ figure {
107
+ margin: 1em 40px;
108
+ }
109
+
110
+ hr {
111
+ -moz-box-sizing: content-box;
112
+ box-sizing: content-box;
113
+ height: 0;
114
+ }
115
+
116
+ pre {
117
+ overflow: auto;
118
+ }
119
+
120
+ code,
121
+ kbd,
122
+ pre,
123
+ samp {
124
+ font-family: monospace, monospace;
125
+ font-size: 1em;
126
+ }
127
+ button,
128
+ input,
129
+ optgroup,
130
+ select,
131
+ textarea {
132
+ color: inherit; /* 1 */
133
+ font: inherit; /* 2 */
134
+ margin: 0; /* 3 */
135
+ }
136
+
137
+ button {
138
+ overflow: visible;
139
+ }
140
+
141
+ button,
142
+ select {
143
+ text-transform: none;
144
+ }
145
+
146
+ button,
147
+ html input[type="button"], /* 1 */
148
+ input[type="reset"],
149
+ input[type="submit"] {
150
+ -webkit-appearance: button; /* 2 */
151
+ cursor: pointer; /* 3 */
152
+ }
153
+
154
+ button[disabled],
155
+ html input[disabled] {
156
+ cursor: default;
157
+ }
158
+
159
+ button::-moz-focus-inner,
160
+ input::-moz-focus-inner {
161
+ border: 0;
162
+ padding: 0;
163
+ }
164
+
165
+ input {
166
+ line-height: normal;
167
+ }
168
+
169
+ input[type="checkbox"],
170
+ input[type="radio"] {
171
+ box-sizing: border-box; /* 1 */
172
+ padding: 0; /* 2 */
173
+ }
174
+
175
+ input[type="number"]::-webkit-inner-spin-button,
176
+ input[type="number"]::-webkit-outer-spin-button {
177
+ height: auto;
178
+ }
179
+
180
+ input[type="search"] {
181
+ -webkit-appearance: textfield; /* 1 */
182
+ -moz-box-sizing: content-box;
183
+ -webkit-box-sizing: content-box; /* 2 */
184
+ box-sizing: content-box;
185
+ }
186
+
187
+ input[type="search"]::-webkit-search-cancel-button,
188
+ input[type="search"]::-webkit-search-decoration {
189
+ -webkit-appearance: none;
190
+ }
191
+
192
+ fieldset {
193
+ border: 1px solid #c0c0c0;
194
+ margin: 0 2px;
195
+ padding: 0.35em 0.625em 0.75em;
196
+ }
197
+
198
+ legend {
199
+ border: 0; /* 1 */
200
+ padding: 0; /* 2 */
201
+ }
202
+
203
+ textarea {
204
+ overflow: auto;
205
+ }
206
+
207
+ optgroup {
208
+ font-weight: bold;
209
+ }
210
+
211
+ table {
212
+ border-collapse: collapse;
213
+ border-spacing: 0;
214
+ }
215
+
216
+ td,
217
+ th {
218
+ padding: 0;
219
+ }
@@ -0,0 +1,25 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Provides an easy way to include a clearfix for containing floats.
4
+ ///
5
+ /// @link http://cssmojo.com/latest_new_clearfix_so_far/
6
+ ///
7
+ /// @example scss - Usage
8
+ /// .element {
9
+ /// @include clearfix;
10
+ /// }
11
+ ///
12
+ /// @example css - CSS Output
13
+ /// .element::after {
14
+ /// clear: both;
15
+ /// content: "";
16
+ /// display: table;
17
+ /// }
18
+
19
+ @mixin clearfix {
20
+ &::after {
21
+ clear: both;
22
+ content: "";
23
+ display: table;
24
+ }
25
+ }
@@ -0,0 +1,30 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Truncates text and adds an ellipsis to represent overflow.
4
+ ///
5
+ /// @param {Number} $width [100%]
6
+ /// Max-width for the string to respect before being truncated
7
+ ///
8
+ /// @example scss - Usage
9
+ /// .element {
10
+ /// @include ellipsis;
11
+ /// }
12
+ ///
13
+ /// @example css - CSS Output
14
+ /// .element {
15
+ /// display: inline-block;
16
+ /// max-width: 100%;
17
+ /// overflow: hidden;
18
+ /// text-overflow: ellipsis;
19
+ /// white-space: nowrap;
20
+ /// word-wrap: normal;
21
+ /// }
22
+
23
+ @mixin ellipsis($width: 100%) {
24
+ display: inline-block;
25
+ max-width: $width;
26
+ overflow: hidden;
27
+ text-overflow: ellipsis;
28
+ white-space: nowrap;
29
+ word-wrap: normal;
30
+ }
@@ -0,0 +1,48 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Provides a quick method for setting an element’s position. Use a `null` value to “skip” a side.
4
+ ///
5
+ /// @param {Position} $position [relative]
6
+ /// A CSS position value
7
+ ///
8
+ /// @param {Arglist} $coordinates [null null null null]
9
+ /// List of values that correspond to the 4-value syntax for the edges of a box
10
+ ///
11
+ /// @example scss - Usage
12
+ /// .element {
13
+ /// @include position(absolute, 0 null null 10em);
14
+ /// }
15
+ ///
16
+ /// @example css - CSS Output
17
+ /// .element {
18
+ /// left: 10em;
19
+ /// position: absolute;
20
+ /// top: 0;
21
+ /// }
22
+ ///
23
+ /// @require {function} is-length
24
+ /// @require {function} unpack
25
+
26
+ @mixin position($position: relative, $coordinates: null null null null) {
27
+ @if type-of($position) == list {
28
+ $coordinates: $position;
29
+ $position: relative;
30
+ }
31
+
32
+ $coordinates: unpack($coordinates);
33
+
34
+ $offsets: (
35
+ top: nth($coordinates, 1),
36
+ right: nth($coordinates, 2),
37
+ bottom: nth($coordinates, 3),
38
+ left: nth($coordinates, 4)
39
+ );
40
+
41
+ position: $position;
42
+
43
+ @each $offset, $value in $offsets {
44
+ @if is-length($value) {
45
+ #{$offset}: $value;
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,66 @@
1
+ @charset "UTF-8";
2
+
3
+ /// A mixin for generating vendor prefixes on non-standardized properties.
4
+ ///
5
+ /// @param {String} $property
6
+ /// Property to prefix
7
+ ///
8
+ /// @param {*} $value
9
+ /// Value to use
10
+ ///
11
+ /// @param {List} $prefixes
12
+ /// Prefixes to define
13
+ ///
14
+ /// @example scss - Usage
15
+ /// .element {
16
+ /// @include prefixer(border-radius, 10px, webkit ms spec);
17
+ /// }
18
+ ///
19
+ /// @example css - CSS Output
20
+ /// .element {
21
+ /// -webkit-border-radius: 10px;
22
+ /// -moz-border-radius: 10px;
23
+ /// border-radius: 10px;
24
+ /// }
25
+ ///
26
+ /// @require {variable} $prefix-for-webkit
27
+ /// @require {variable} $prefix-for-mozilla
28
+ /// @require {variable} $prefix-for-microsoft
29
+ /// @require {variable} $prefix-for-opera
30
+ /// @require {variable} $prefix-for-spec
31
+
32
+ @mixin prefixer($property, $value, $prefixes) {
33
+ @each $prefix in $prefixes {
34
+ @if $prefix == webkit {
35
+ @if $prefix-for-webkit {
36
+ -webkit-#{$property}: $value;
37
+ }
38
+ } @else if $prefix == moz {
39
+ @if $prefix-for-mozilla {
40
+ -moz-#{$property}: $value;
41
+ }
42
+ } @else if $prefix == ms {
43
+ @if $prefix-for-microsoft {
44
+ -ms-#{$property}: $value;
45
+ }
46
+ } @else if $prefix == o {
47
+ @if $prefix-for-opera {
48
+ -o-#{$property}: $value;
49
+ }
50
+ } @else if $prefix == spec {
51
+ @if $prefix-for-spec {
52
+ #{$property}: $value;
53
+ }
54
+ } @else {
55
+ @warn "Unrecognized prefix: #{$prefix}";
56
+ }
57
+ }
58
+ }
59
+
60
+ @mixin disable-prefix-for-all() {
61
+ $prefix-for-webkit: false !global;
62
+ $prefix-for-mozilla: false !global;
63
+ $prefix-for-microsoft: false !global;
64
+ $prefix-for-opera: false !global;
65
+ $prefix-for-spec: false !global;
66
+ }
@@ -0,0 +1,51 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Sets the `width` and `height` of the element.
4
+ ///
5
+ /// @param {List} $size
6
+ /// A list of at most 2 size values.
7
+ ///
8
+ /// If there is only a single value in `$size` it is used for both width and height. All units are supported.
9
+ ///
10
+ /// @example scss - Usage
11
+ /// .first-element {
12
+ /// @include size(2em);
13
+ /// }
14
+ ///
15
+ /// .second-element {
16
+ /// @include size(auto 10em);
17
+ /// }
18
+ ///
19
+ /// @example css - CSS Output
20
+ /// .first-element {
21
+ /// width: 2em;
22
+ /// height: 2em;
23
+ /// }
24
+ ///
25
+ /// .second-element {
26
+ /// width: auto;
27
+ /// height: 10em;
28
+ /// }
29
+ ///
30
+ /// @todo Refactor in 5.0.0 to use a comma-separated argument
31
+
32
+ @mixin size($value) {
33
+ $width: nth($value, 1);
34
+ $height: $width;
35
+
36
+ @if length($value) > 1 {
37
+ $height: nth($value, 2);
38
+ }
39
+
40
+ @if is-size($height) {
41
+ height: $height;
42
+ } @else {
43
+ @warn "`#{$height}` is not a valid length for the `$height` parameter in the `size` mixin.";
44
+ }
45
+
46
+ @if is-size($width) {
47
+ width: $width;
48
+ } @else {
49
+ @warn "`#{$width}` is not a valid length for the `$width` parameter in the `size` mixin.";
50
+ }
51
+ }
@@ -0,0 +1,34 @@
1
+ @charset "UTF-8";
2
+
3
+ /// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie)
4
+ ///
5
+ /// Timing functions are the same as demoed here: http://jqueryui.com/resources/demos/effect/easing.html
6
+ ///
7
+ /// @type cubic-bezier
8
+
9
+ $ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530);
10
+ $ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);
11
+ $ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220);
12
+ $ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060);
13
+ $ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715);
14
+ $ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035);
15
+ $ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335);
16
+ $ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045);
17
+
18
+ $ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
19
+ $ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
20
+ $ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
21
+ $ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000);
22
+ $ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000);
23
+ $ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
24
+ $ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000);
25
+ $ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275);
26
+
27
+ $ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
28
+ $ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
29
+ $ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000);
30
+ $ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000);
31
+ $ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950);
32
+ $ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000);
33
+ $ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860);
34
+ $ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550);
@@ -0,0 +1,63 @@
1
+ @mixin triangle($size, $color, $direction) {
2
+ $width: nth($size, 1);
3
+ $height: nth($size, length($size));
4
+ $foreground-color: nth($color, 1);
5
+ $background-color: if(length($color) == 2, nth($color, 2), transparent);
6
+ height: 0;
7
+ width: 0;
8
+
9
+ @if ($direction == up) or ($direction == down) or ($direction == right) or ($direction == left) {
10
+ $width: $width / 2;
11
+ $height: if(length($size) > 1, $height, $height/2);
12
+
13
+ @if $direction == up {
14
+ border-bottom: $height solid $foreground-color;
15
+ border-left: $width solid $background-color;
16
+ border-right: $width solid $background-color;
17
+ } @else if $direction == right {
18
+ border-bottom: $width solid $background-color;
19
+ border-left: $height solid $foreground-color;
20
+ border-top: $width solid $background-color;
21
+ } @else if $direction == down {
22
+ border-left: $width solid $background-color;
23
+ border-right: $width solid $background-color;
24
+ border-top: $height solid $foreground-color;
25
+ } @else if $direction == left {
26
+ border-bottom: $width solid $background-color;
27
+ border-right: $height solid $foreground-color;
28
+ border-top: $width solid $background-color;
29
+ }
30
+ } @else if ($direction == up-right) or ($direction == up-left) {
31
+ border-top: $height solid $foreground-color;
32
+
33
+ @if $direction == up-right {
34
+ border-left: $width solid $background-color;
35
+ } @else if $direction == up-left {
36
+ border-right: $width solid $background-color;
37
+ }
38
+ } @else if ($direction == down-right) or ($direction == down-left) {
39
+ border-bottom: $height solid $foreground-color;
40
+
41
+ @if $direction == down-right {
42
+ border-left: $width solid $background-color;
43
+ } @else if $direction == down-left {
44
+ border-right: $width solid $background-color;
45
+ }
46
+ } @else if ($direction == inset-up) {
47
+ border-color: $background-color $background-color $foreground-color;
48
+ border-style: solid;
49
+ border-width: $height $width;
50
+ } @else if ($direction == inset-down) {
51
+ border-color: $foreground-color $background-color $background-color;
52
+ border-style: solid;
53
+ border-width: $height $width;
54
+ } @else if ($direction == inset-right) {
55
+ border-color: $background-color $background-color $background-color $foreground-color;
56
+ border-style: solid;
57
+ border-width: $width $height;
58
+ } @else if ($direction == inset-left) {
59
+ border-color: $background-color $foreground-color $background-color $background-color;
60
+ border-style: solid;
61
+ border-width: $width $height;
62
+ }
63
+ }
@@ -0,0 +1,4 @@
1
+ @mixin calc($property, $value) {
2
+ #{$property}: -webkit-calc(#{$value});
3
+ #{$property}: calc(#{$value});
4
+ }