bobjoll 1.0.3

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 (95) hide show
  1. package/README.md +35 -0
  2. package/package.json +25 -0
  3. package/scss/layout/_footer.scss +10 -0
  4. package/scss/layout/_header.scss +10 -0
  5. package/scss/modules/_fonts.scss +26 -0
  6. package/scss/modules/_reset.scss +219 -0
  7. package/scss/modules/bourbon/addons/_clearfix.scss +25 -0
  8. package/scss/modules/bourbon/addons/_ellipsis.scss +30 -0
  9. package/scss/modules/bourbon/addons/_position.scss +48 -0
  10. package/scss/modules/bourbon/addons/_prefixer.scss +66 -0
  11. package/scss/modules/bourbon/addons/_size.scss +51 -0
  12. package/scss/modules/bourbon/addons/_timing-functions.scss +34 -0
  13. package/scss/modules/bourbon/addons/_triangle.scss +63 -0
  14. package/scss/modules/bourbon/css3/_calc.scss +4 -0
  15. package/scss/modules/bourbon/css3/_flex-box.scss +287 -0
  16. package/scss/modules/bourbon/css3/_keyframes.scss +36 -0
  17. package/scss/modules/bourbon/css3/_linear-gradient.scss +38 -0
  18. package/scss/modules/bourbon/css3/_placeholder.scss +8 -0
  19. package/scss/modules/bourbon/css3/_selection.scss +42 -0
  20. package/scss/modules/bourbon/css3/_transition.scss +71 -0
  21. package/scss/modules/mixins/_component.scss +9 -0
  22. package/scss/modules/mixins/_grid.scss +75 -0
  23. package/scss/modules/mixins/_helpers.scss +224 -0
  24. package/scss/modules/variables/_colors.scss +447 -0
  25. package/scss/modules/variables/_general.scss +235 -0
  26. package/scss/partials/_accordion-v1-0.scss +165 -0
  27. package/scss/partials/_autocomplete-v1-0.scss +55 -0
  28. package/scss/partials/_general-v1-0.scss +51 -0
  29. package/scss/partials/_grid-v1-0.scss +109 -0
  30. package/scss/partials/_helper-v1-0.scss +299 -0
  31. package/scss/partials/_icon-v2-0.scss +323 -0
  32. package/scss/partials/_list-v1-0.scss +100 -0
  33. package/scss/partials/_modal-v1-0.scss +159 -0
  34. package/scss/partials/_notification-v1-1.scss +297 -0
  35. package/scss/partials/_progress-bar-v1.0.scss +25 -0
  36. package/scss/partials/_range-v1.0.scss +75 -0
  37. package/scss/partials/_tooltipFixed-v1.0.scss +128 -0
  38. package/scss/partials/_typography-v1-0.scss +201 -0
  39. package/scss/partials/animations/_fade.scss +23 -0
  40. package/scss/partials/animations/_rotate.scss +11 -0
  41. package/scss/partials/animations/_scale.scss +23 -0
  42. package/scss/partials/animations/_slide.scss +31 -0
  43. package/scss/partials/button-v4-0/_component.scss +304 -0
  44. package/scss/partials/form/_checkbox-and-radio-v1-0.scss +187 -0
  45. package/scss/partials/form/_dropdowns-v1-0.scss +323 -0
  46. package/scss/partials/form/_general-v1-0.scss +166 -0
  47. package/scss/partials/form/_group-v1-0.scss +157 -0
  48. package/scss/partials/form/_password-v1-0.scss +28 -0
  49. package/scss/partials/form/_switch-v1-0.scss +128 -0
  50. package/scss/partials/form/_upload-v1-0.scss +91 -0
  51. package/ts/library/common.ts +30 -0
  52. package/ts/library/cookie.ts +47 -0
  53. package/ts/library/delegate.ts +122 -0
  54. package/ts/library/dom.ts +124 -0
  55. package/ts/library/event.ts +138 -0
  56. package/ts/library/extend.js +32 -0
  57. package/ts/library/gr/dom.q.ts +12 -0
  58. package/ts/library/gr/social/dependency/twitter_pu.js +66 -0
  59. package/ts/library/gr/social/facebook.ts +154 -0
  60. package/ts/library/gr/social/google.ts +127 -0
  61. package/ts/library/gr/social/index.ts +35 -0
  62. package/ts/library/gr/social/twitter.ts +65 -0
  63. package/ts/library/helpers.ts +9 -0
  64. package/ts/library/number-abbreviate.js +57 -0
  65. package/ts/library/settings.ts +7 -0
  66. package/ts/library/storage.ts +131 -0
  67. package/ts/library/svg4everybody.legacy.js +122 -0
  68. package/ts/partials/accordion-v1.0.ts +104 -0
  69. package/ts/partials/accordionTabs-v1.0.ts +27 -0
  70. package/ts/partials/alert-v1.0.ts +51 -0
  71. package/ts/partials/copy-v1.0.ts +17 -0
  72. package/ts/partials/countdown-v1.0.ts +119 -0
  73. package/ts/partials/dropdown-v1.0.ts +247 -0
  74. package/ts/partials/hbs-v1.0.ts +9 -0
  75. package/ts/partials/modal-v1.0.ts +213 -0
  76. package/ts/partials/notifications-v1.1.ts +376 -0
  77. package/ts/partials/notify-v1.0.ts +746 -0
  78. package/ts/partials/password-v1.0.ts +19 -0
  79. package/ts/partials/popover-v1.0.ts +125 -0
  80. package/ts/partials/progress-bar-v1.0.ts +29 -0
  81. package/ts/partials/scroll-v1.0.ts +169 -0
  82. package/ts/partials/scrollable-v1.0.ts +90 -0
  83. package/ts/partials/tabs-v1.0.ts +79 -0
  84. package/ts/partials/tags-v1.0.ts +21 -0
  85. package/ts/partials/trigger-v2.0.ts +155 -0
  86. package/ts/partials/upload-v1.0.ts +17 -0
  87. package/ts/views/hbs/alert-v1.0/element.html.hbs +35 -0
  88. package/ts/views/hbs/countdown-v1.0/countdown-inner.hbs +39 -0
  89. package/ts/views/hbs/countdown-v1.0/countdown.hbs +4 -0
  90. package/ts/views/hbs/dropdown-v1.0/element.html.hbs +70 -0
  91. package/ts/views/hbs/helpers.js +58 -0
  92. package/ts/views/hbs/modal-v1.0/element.html.hbs +17 -0
  93. package/ts/views/hbs/notification-v1.1/element-disable.html.hbs +26 -0
  94. package/ts/views/hbs/notification-v1.1/element.html.hbs +43 -0
  95. package/ts/views/hbs/notification-v1.1/wrapper.html.hbs +4 -0
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": "1.0.3",
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
+ "build": "node scripts/script.js",
11
+ "test": "exit 0"
12
+ },
13
+ "publishConfig": {
14
+ "access": "public"
15
+ },
16
+ "dependencies": {
17
+ "@babel/runtime": "^7.18.9",
18
+ "axios": "^0.27.2",
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
+ }