widenarrow-ui 0.1.2

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 (238) hide show
  1. package/.babelrc +11 -0
  2. package/.eslintrc +105 -0
  3. package/.prettierrc +7 -0
  4. package/README.md +3 -0
  5. package/copyTS.js +15 -0
  6. package/dist/Box/Box.module.scss +80 -0
  7. package/dist/Box/Box.tsx +143 -0
  8. package/dist/index.tsx +3 -0
  9. package/package.json +69 -0
  10. package/src/components/Box/Box.module.scss +80 -0
  11. package/src/components/Box/Box.tsx +143 -0
  12. package/src/components/index.tsx +3 -0
  13. package/src/index.tsx +1 -0
  14. package/src/styles/colors.scss +160 -0
  15. package/src/styles/icons/Read Me.txt +7 -0
  16. package/src/styles/icons/demo-files/demo.css +152 -0
  17. package/src/styles/icons/demo-files/demo.js +29 -0
  18. package/src/styles/icons/demo.html +758 -0
  19. package/src/styles/icons/fonts/icomoon.eot +0 -0
  20. package/src/styles/icons/fonts/icomoon.svg +57 -0
  21. package/src/styles/icons/fonts/icomoon.ttf +0 -0
  22. package/src/styles/icons/fonts/icomoon.woff +0 -0
  23. package/src/styles/icons/selection.json +1606 -0
  24. package/src/styles/icons/style.css +173 -0
  25. package/src/styles/keyframes.scss +103 -0
  26. package/src/styles/libraryOverrides.scss +62 -0
  27. package/src/styles/main.scss +299 -0
  28. package/src/styles/mixins.scss +1300 -0
  29. package/src/styles/normalize.scss +459 -0
  30. package/src/styles/print.scss +70 -0
  31. package/src/styles/svg/accountSettings.svg +1 -0
  32. package/src/styles/svg/addChart.svg +1 -0
  33. package/src/styles/svg/addFolder.svg +1 -0
  34. package/src/styles/svg/addOutlined.svg +8 -0
  35. package/src/styles/svg/addPageBreak.svg +14 -0
  36. package/src/styles/svg/addPost.svg +1 -0
  37. package/src/styles/svg/addSectionAbove.svg +3 -0
  38. package/src/styles/svg/addSectionBelow.svg +3 -0
  39. package/src/styles/svg/addSolid.svg +6 -0
  40. package/src/styles/svg/ai.svg +1 -0
  41. package/src/styles/svg/arrowDown.svg +1 -0
  42. package/src/styles/svg/arrowFirstPage.svg +1 -0
  43. package/src/styles/svg/arrowForkRight.svg +1 -0
  44. package/src/styles/svg/arrowLastPage.svg +1 -0
  45. package/src/styles/svg/arrowLeft.svg +1 -0
  46. package/src/styles/svg/arrowRight.svg +1 -0
  47. package/src/styles/svg/arrowUp.svg +1 -0
  48. package/src/styles/svg/attachment.svg +1 -0
  49. package/src/styles/svg/banner.svg +1 -0
  50. package/src/styles/svg/benchmarks.svg +7 -0
  51. package/src/styles/svg/block.svg +5 -0
  52. package/src/styles/svg/cancelTrial.svg +1 -0
  53. package/src/styles/svg/cardMode.svg +7 -0
  54. package/src/styles/svg/changeOrder.svg +3 -0
  55. package/src/styles/svg/check.svg +3 -0
  56. package/src/styles/svg/checkCircleExtraSmall.svg +1 -0
  57. package/src/styles/svg/checkCircleLarge.svg +3 -0
  58. package/src/styles/svg/checkCircleSmall.svg +3 -0
  59. package/src/styles/svg/checkIndeterminateWhite.svg +5 -0
  60. package/src/styles/svg/checkWhite.svg +3 -0
  61. package/src/styles/svg/checkboxCircle.svg +3 -0
  62. package/src/styles/svg/checkboxCircleChecked.svg +6 -0
  63. package/src/styles/svg/chevron.svg +1 -0
  64. package/src/styles/svg/chevronLeft.svg +1 -0
  65. package/src/styles/svg/chevronRight.svg +1 -0
  66. package/src/styles/svg/chevronUp.svg +1 -0
  67. package/src/styles/svg/classification.svg +1 -0
  68. package/src/styles/svg/clipBoard.svg +1 -0
  69. package/src/styles/svg/cluster.svg +1 -0
  70. package/src/styles/svg/cogwheel.svg +1 -0
  71. package/src/styles/svg/comment.svg +5 -0
  72. package/src/styles/svg/commentAdd.svg +6 -0
  73. package/src/styles/svg/compare.svg +6 -0
  74. package/src/styles/svg/copy.svg +1 -0
  75. package/src/styles/svg/createNewsletter.svg +1 -0
  76. package/src/styles/svg/cross.svg +6 -0
  77. package/src/styles/svg/crossCircleExtraSmall.svg +1 -0
  78. package/src/styles/svg/crossCircleLarge.svg +3 -0
  79. package/src/styles/svg/crossCircleSmall.svg +3 -0
  80. package/src/styles/svg/crossCircleSmallFilled.svg +1 -0
  81. package/src/styles/svg/dashboard.svg +1 -0
  82. package/src/styles/svg/dateRange.svg +6 -0
  83. package/src/styles/svg/description.svg +3 -0
  84. package/src/styles/svg/desktop.svg +1 -0
  85. package/src/styles/svg/dot.svg +1 -0
  86. package/src/styles/svg/dotOutlined.svg +4 -0
  87. package/src/styles/svg/dots.svg +5 -0
  88. package/src/styles/svg/dotsBackground.svg +6 -0
  89. package/src/styles/svg/down.svg +5 -0
  90. package/src/styles/svg/download.svg +1 -0
  91. package/src/styles/svg/duplicate.svg +1 -0
  92. package/src/styles/svg/dynamic_feed.svg +5 -0
  93. package/src/styles/svg/edit.svg +5 -0
  94. package/src/styles/svg/embed.svg +1 -0
  95. package/src/styles/svg/errorOutlined.svg +1 -0
  96. package/src/styles/svg/ethernet.svg +1 -0
  97. package/src/styles/svg/exitToApp.svg +1 -0
  98. package/src/styles/svg/expand.svg +1 -0
  99. package/src/styles/svg/expandArrows.svg +5 -0
  100. package/src/styles/svg/feed.svg +1 -0
  101. package/src/styles/svg/filter.svg +5 -0
  102. package/src/styles/svg/filterSettings.svg +5 -0
  103. package/src/styles/svg/findReplace.svg +1 -0
  104. package/src/styles/svg/folder.svg +1 -0
  105. package/src/styles/svg/folderFilled.svg +1 -0
  106. package/src/styles/svg/formatFontSize.svg +1 -0
  107. package/src/styles/svg/formatImgBottom.svg +1 -0
  108. package/src/styles/svg/formatImgCenterCenter.svg +1 -0
  109. package/src/styles/svg/formatImgCrop.svg +1 -0
  110. package/src/styles/svg/formatImgHero.svg +1 -0
  111. package/src/styles/svg/formatImgLeft.svg +1 -0
  112. package/src/styles/svg/formatImgLeftBottom.svg +1 -0
  113. package/src/styles/svg/formatImgLeftCenter.svg +3 -0
  114. package/src/styles/svg/formatImgRight.svg +1 -0
  115. package/src/styles/svg/formatImgRightBottom.svg +1 -0
  116. package/src/styles/svg/formatImgRightCenter.svg +3 -0
  117. package/src/styles/svg/formatImgTop.svg +1 -0
  118. package/src/styles/svg/formatTextAlignCenter.svg +1 -0
  119. package/src/styles/svg/formatTextAlignLeft.svg +1 -0
  120. package/src/styles/svg/formatTextAlignRight.svg +1 -0
  121. package/src/styles/svg/formatTextBold.svg +1 -0
  122. package/src/styles/svg/formatTextItalic.svg +1 -0
  123. package/src/styles/svg/formatTextListBulleted.svg +1 -0
  124. package/src/styles/svg/formatTextListNumbered.svg +1 -0
  125. package/src/styles/svg/formatTextUnderlined.svg +1 -0
  126. package/src/styles/svg/gridMode.svg +1 -0
  127. package/src/styles/svg/handlebar.svg +6 -0
  128. package/src/styles/svg/help.svg +1 -0
  129. package/src/styles/svg/history.svg +1 -0
  130. package/src/styles/svg/icn_infomanagement@2x.svg +81 -0
  131. package/src/styles/svg/icn_informationtools@2x.svg +71 -0
  132. package/src/styles/svg/icn_reportlibrary@2x.svg +72 -0
  133. package/src/styles/svg/icn_teamsetup@2x.svg +87 -0
  134. package/src/styles/svg/inbox.svg +1 -0
  135. package/src/styles/svg/info.svg +1 -0
  136. package/src/styles/svg/keywords.svg +1 -0
  137. package/src/styles/svg/lightBulb.svg +1 -0
  138. package/src/styles/svg/like.svg +3 -0
  139. package/src/styles/svg/likeSolid.svg +7 -0
  140. package/src/styles/svg/link.svg +1 -0
  141. package/src/styles/svg/link_off.svg +1 -0
  142. package/src/styles/svg/list.svg +6 -0
  143. package/src/styles/svg/listMode.svg +5 -0
  144. package/src/styles/svg/lock.svg +1 -0
  145. package/src/styles/svg/mail.svg +1 -0
  146. package/src/styles/svg/masonry.svg +1 -0
  147. package/src/styles/svg/menu.svg +1 -0
  148. package/src/styles/svg/minimizeArrows.svg +5 -0
  149. package/src/styles/svg/minus.svg +1 -0
  150. package/src/styles/svg/monitoringLogo.svg +9 -0
  151. package/src/styles/svg/movie.svg +1 -0
  152. package/src/styles/svg/navigateDownLarge.svg +3 -0
  153. package/src/styles/svg/navigateLeftLarge.svg +3 -0
  154. package/src/styles/svg/navigateRightLarge.svg +4 -0
  155. package/src/styles/svg/news.svg +4 -0
  156. package/src/styles/svg/newsletterClosed.svg +3 -0
  157. package/src/styles/svg/newsletterOpened.svg +3 -0
  158. package/src/styles/svg/newsletterSender.svg +1 -0
  159. package/src/styles/svg/nochange.svg +5 -0
  160. package/src/styles/svg/nodirection.svg +4 -0
  161. package/src/styles/svg/notification.svg +1 -0
  162. package/src/styles/svg/openInNew.svg +1 -0
  163. package/src/styles/svg/palette.svg +4 -0
  164. package/src/styles/svg/pattern.svg +1 -0
  165. package/src/styles/svg/pause.svg +1 -0
  166. package/src/styles/svg/pauseCircle.svg +1 -0
  167. package/src/styles/svg/pdf.svg +1 -0
  168. package/src/styles/svg/pencil.svg +1 -0
  169. package/src/styles/svg/phone.svg +1 -0
  170. package/src/styles/svg/photo.svg +1 -0
  171. package/src/styles/svg/photos.svg +1 -0
  172. package/src/styles/svg/pin.svg +1 -0
  173. package/src/styles/svg/play.svg +6 -0
  174. package/src/styles/svg/playCircle.svg +1 -0
  175. package/src/styles/svg/plus.svg +3 -0
  176. package/src/styles/svg/portals.svg +1 -0
  177. package/src/styles/svg/ppt.svg +3 -0
  178. package/src/styles/svg/present.svg +3 -0
  179. package/src/styles/svg/previewEye.svg +1 -0
  180. package/src/styles/svg/previewEyeOff.svg +1 -0
  181. package/src/styles/svg/profile.svg +1 -0
  182. package/src/styles/svg/publish.svg +1 -0
  183. package/src/styles/svg/purchaseInbox.svg +1 -0
  184. package/src/styles/svg/questionmark.svg +1 -0
  185. package/src/styles/svg/recurring.svg +1 -0
  186. package/src/styles/svg/renew.svg +1 -0
  187. package/src/styles/svg/replay.svg +1 -0
  188. package/src/styles/svg/report.svg +1 -0
  189. package/src/styles/svg/reportLibrary.svg +6 -0
  190. package/src/styles/svg/reset.svg +4 -0
  191. package/src/styles/svg/robot.svg +1 -0
  192. package/src/styles/svg/rss.svg +1 -0
  193. package/src/styles/svg/schedule.svg +1 -0
  194. package/src/styles/svg/search.svg +1 -0
  195. package/src/styles/svg/searchPerson.svg +1 -0
  196. package/src/styles/svg/send.svg +1 -0
  197. package/src/styles/svg/sendList.svg +9 -0
  198. package/src/styles/svg/settingsFilled.svg +5 -0
  199. package/src/styles/svg/settingsOff.svg +7 -0
  200. package/src/styles/svg/settingsOutlined.svg +5 -0
  201. package/src/styles/svg/share.svg +1 -0
  202. package/src/styles/svg/sliderHandle.svg +8 -0
  203. package/src/styles/svg/sort.svg +5 -0
  204. package/src/styles/svg/sso.svg +1 -0
  205. package/src/styles/svg/ssoConfig.svg +1 -0
  206. package/src/styles/svg/statistics.svg +5 -0
  207. package/src/styles/svg/strategy.svg +1 -0
  208. package/src/styles/svg/subscriptions.svg +5 -0
  209. package/src/styles/svg/suggestion.svg +1 -0
  210. package/src/styles/svg/sysAdmin.svg +1 -0
  211. package/src/styles/svg/taxonomy.svg +1 -0
  212. package/src/styles/svg/translate.svg +5 -0
  213. package/src/styles/svg/trash.svg +6 -0
  214. package/src/styles/svg/trial.svg +1 -0
  215. package/src/styles/svg/undo.svg +1 -0
  216. package/src/styles/svg/unfoldLess.svg +1 -0
  217. package/src/styles/svg/unfoldMore.svg +1 -0
  218. package/src/styles/svg/up.svg +5 -0
  219. package/src/styles/svg/upload.svg +1 -0
  220. package/src/styles/svg/user.svg +5 -0
  221. package/src/styles/svg/userRemove.svg +1 -0
  222. package/src/styles/svg/users.svg +5 -0
  223. package/src/styles/svg/usersAdd.svg +1 -0
  224. package/src/styles/svg/verified.svg +1 -0
  225. package/src/styles/svg/warning.svg +1 -0
  226. package/src/styles/svg/warningOutlined.svg +1 -0
  227. package/src/styles/svg/wide-narrow-logo.svg +1 -0
  228. package/src/styles/svg/wide-narrow-w-logo.svg +1 -0
  229. package/src/styles/svg/willBeDeleted.svg +1 -0
  230. package/src/styles/svg/world.svg +1 -0
  231. package/src/styles/svg/zoomIn.svg +1 -0
  232. package/src/styles/svg/zoomOut.svg +1 -0
  233. package/src/styles/variables.scss +117 -0
  234. package/src/types/styling.ts +34 -0
  235. package/tsconfig.json +17 -0
  236. package/types/classnames/index.d.ts +1 -0
  237. package/types/declaration.d.ts +1 -0
  238. package/types/react-router-dom/index.d.ts +1 -0
@@ -0,0 +1,1300 @@
1
+ @import 'variables';
2
+ @import 'colors';
3
+
4
+ /**
5
+ * Media Queries
6
+ */
7
+ @mixin breakpoint($min, $max: null) {
8
+ @if $max {
9
+ @media (min-width: $min) and (max-width: $max) {
10
+ @content;
11
+ }
12
+ } @else {
13
+ @media (min-width: $min) {
14
+ @content;
15
+ }
16
+ }
17
+ }
18
+
19
+ @mixin coarse() {
20
+ @media (hover: none) and (pointer: coarse) {
21
+ @content;
22
+ }
23
+ }
24
+
25
+ @mixin mobile-only() {
26
+ @include breakpoint(1px, $md - 1px) {
27
+ @content;
28
+ }
29
+ }
30
+
31
+ @mixin internet-explorer-11() {
32
+ @media screen and (-ms-high-contrast: none) {
33
+ @content;
34
+ }
35
+ }
36
+
37
+ @mixin edge() {
38
+ @supports (-ms-ime-align: auto) {
39
+ @content;
40
+ }
41
+ }
42
+
43
+ @mixin focus-visible($width: 2px, $color: $blue) {
44
+ box-shadow: 0 0 0 $width $color;
45
+ }
46
+
47
+ @mixin focus-visible-inset() {
48
+ box-shadow: inset 0 0 0 2px $blue;
49
+ }
50
+
51
+ @mixin heading-1($color: $text-grey, $font-weight: 300) {
52
+ font-size: $font-size-xxxxxl; // 44px
53
+ font-weight: $font-weight;
54
+ color: $color;
55
+ }
56
+
57
+ @mixin heading-2($color: $text-grey, $font-weight: 400) {
58
+ font-size: $font-size-xxxl;
59
+ font-weight: $font-weight;
60
+ color: $color;
61
+ }
62
+
63
+ @mixin heading-3($color: $text-grey, $font-weight: 600) {
64
+ font-size: $font-size-xxl;
65
+ font-weight: $font-weight;
66
+ color: $color;
67
+ }
68
+
69
+ @mixin heading-4($color: $text-grey, $font-weight: 700) {
70
+ font-size: $font-size-xl;
71
+ font-weight: $font-weight;
72
+ color: $color;
73
+ }
74
+
75
+ @mixin heading-5($color: $text-grey, $font-weight: 600) {
76
+ font-size: $font-size-m;
77
+ font-weight: $font-weight;
78
+ line-height: normal;
79
+ color: $color;
80
+ }
81
+
82
+ @mixin heading-6($color: $text-grey, $font-weight: 600) {
83
+ font-size: $font-size-s;
84
+ font-weight: $font-weight;
85
+ color: $color;
86
+ }
87
+
88
+ @mixin body-text($color: $text-grey, $font-size: $font-size-m) {
89
+ font-size: $font-size;
90
+ font-weight: 400;
91
+ letter-spacing: $letter-spacing-text;
92
+ color: $color;
93
+ }
94
+
95
+ @mixin meta-text($font-size: $font-size-s, $color: $meta-text-grey) {
96
+ font-size: $font-size;
97
+ color: $color;
98
+ }
99
+
100
+ @mixin overflow-ellipsis() {
101
+ white-space: nowrap;
102
+ overflow: hidden;
103
+ text-overflow: ellipsis;
104
+ }
105
+
106
+ // PRINT
107
+ @mixin pdf-heading-1 {
108
+ // cover page header
109
+ font-size: $pdf-font-size-xxl;
110
+ font-weight: 400;
111
+ margin: 0 0 2rem 0;
112
+ line-height: 3rem;
113
+ word-break: break-word;
114
+ }
115
+
116
+ @mixin pdf-heading-2 {
117
+ // first page header
118
+ font-size: $pdf-font-size-xl;
119
+ font-weight: 700;
120
+ margin: 2rem 0;
121
+ line-height: 2.2rem;
122
+ word-break: break-word;
123
+ }
124
+
125
+ @mixin pdf-heading-3 {
126
+ // following pages header
127
+ font-size: 1.6rem;
128
+ font-weight: 600;
129
+ margin: 0;
130
+ letter-spacing: -0.02rem;
131
+ line-height: 2rem;
132
+ word-break: break-word;
133
+ }
134
+
135
+ @mixin pdf-heading-4 {
136
+ // Report post titles
137
+ font-size: $pdf-font-size-l;
138
+ font-weight: 600;
139
+ margin: 0;
140
+ letter-spacing: -0.02rem;
141
+ line-height: 1.8rem;
142
+ word-break: break-word;
143
+ }
144
+
145
+ @mixin pdf-heading-5 {
146
+ // field/strategy titles & matrix titles
147
+ font-size: $pdf-font-size-m;
148
+ font-weight: 600;
149
+ margin: 0;
150
+ line-height: 1.2rem;
151
+ word-break: break-word;
152
+ }
153
+
154
+ @mixin pdf-heading-6 {
155
+ // post title square name
156
+ font-size: $pdf-font-size-s;
157
+ font-weight: 400;
158
+ color: $pdf-text-color-2;
159
+ line-height: 1.2rem;
160
+ margin: 0;
161
+ word-break: break-word;
162
+ }
163
+
164
+ @mixin pdf-bread-text {
165
+ font-size: $pdf-font-size-m;
166
+ line-height: 1.4rem;
167
+ letter-spacing: $letter-spacing-text-rem;
168
+ word-break: break-word;
169
+ word-wrap: break-word;
170
+
171
+ p {
172
+ line-height: 1.4;
173
+ margin-bottom: 1rem;
174
+ }
175
+
176
+ ol,
177
+ ul {
178
+ margin-bottom: 1rem;
179
+ }
180
+ }
181
+
182
+ /**
183
+ * Flex grid
184
+ */
185
+ @mixin flex-row() {
186
+ display: flex;
187
+ flex-wrap: wrap;
188
+ flex-direction: row;
189
+ }
190
+
191
+ @mixin flex-gtr-col($columns, $gutter, $margin-bottom: $gutter) {
192
+ $percentage: percentage(1 / $columns);
193
+ $width: (($columns - 1) * $gutter) / $columns;
194
+ flex-basis: calc(#{$percentage} - #{$width});
195
+ margin-bottom: $margin-bottom;
196
+ margin-left: $gutter/2;
197
+ margin-right: $gutter/2;
198
+ min-width: 0; // Needed to work with trunkated text and overflow hidden
199
+ @if $columns != 1 {
200
+ &:nth-of-type(#{$columns}n + 1) {
201
+ margin-right: $gutter/2;
202
+ margin-left: 0;
203
+ }
204
+ &:nth-of-type(#{$columns}n + #{$columns}) {
205
+ margin-left: $gutter/2;
206
+ margin-right: 0;
207
+ }
208
+ } @else if $columns == 1 {
209
+ margin-left: 0 !important;
210
+ margin-right: 0 !important;
211
+ }
212
+ }
213
+
214
+ /**
215
+ |--------------------------------------------------
216
+ | Heavily inspired of http://flexboxgrid.com/.
217
+ | Use when having cols of different width with gutter
218
+ |--------------------------------------------------
219
+ */
220
+ @mixin flex-grid-row($gutter: 0) {
221
+ $half-gutter: $gutter/2;
222
+
223
+ display: flex;
224
+ flex-wrap: wrap;
225
+ flex-direction: row;
226
+ margin: -$half-gutter;
227
+ }
228
+
229
+ @mixin flex-grid-column($span, $columns, $gutter: 0) {
230
+ $percentage: percentage($span/$columns);
231
+ $half-gutter: $gutter/2;
232
+
233
+ flex-basis: calc(#{$percentage});
234
+ max-width: calc(#{$percentage});
235
+ padding-left: $half-gutter;
236
+ padding-right: $half-gutter;
237
+ }
238
+
239
+ /**
240
+ * Modals
241
+ */
242
+ @mixin modal-padding() {
243
+ padding: $two-base-size;
244
+
245
+ @include breakpoint($md) {
246
+ padding: $four-base-size;
247
+ }
248
+ }
249
+
250
+ @mixin modal-footer() {
251
+ display: flex;
252
+ padding-top: $two-base-size;
253
+ border-top: 1px solid $grey-2;
254
+ justify-content: flex-end;
255
+ }
256
+
257
+ /**
258
+ * Headings
259
+ */
260
+
261
+ // Used on entrypoints, lists, etc.
262
+ @mixin section-heading-container() {
263
+ display: flex;
264
+ align-items: center;
265
+ justify-content: space-between;
266
+ padding: $two-base-size 0 $base-size;
267
+ min-height: $heading-height;
268
+
269
+ @include breakpoint($md) {
270
+ padding: $four-base-size 0 $base-size;
271
+ }
272
+ }
273
+
274
+ @mixin section-heading() {
275
+ margin: 0;
276
+ color: $text-grey;
277
+ font-size: $font-size-m;
278
+ padding: 0;
279
+ font-weight: 600;
280
+ }
281
+
282
+ @mixin modal-heading-container() {
283
+ position: relative;
284
+ top: 0;
285
+ z-index: $z-index-one;
286
+ background-color: $modal-background;
287
+ display: flex;
288
+ align-items: center;
289
+ justify-content: space-between;
290
+ padding: $base-size 0;
291
+ border-bottom: 1px solid $border-grey;
292
+ margin-bottom: $two-base-size;
293
+
294
+ @include breakpoint($md) {
295
+ padding-bottom: 10px;
296
+ }
297
+ }
298
+
299
+ @mixin modal-heading() {
300
+ margin: 0;
301
+ font-size: $font-size-xl;
302
+ padding: 0;
303
+ font-weight: 400;
304
+
305
+ @include breakpoint($md) {
306
+ font-size: $font-size-xxl;
307
+ }
308
+ }
309
+
310
+ // Card headings
311
+ @mixin card-heading-container() {
312
+ display: flex;
313
+ align-items: center;
314
+ border-bottom: 1px solid $border-light-grey;
315
+ justify-content: space-between;
316
+ min-height: $three-base-size;
317
+ padding-bottom: $base-size;
318
+ margin-bottom: $half-base-size;
319
+ }
320
+
321
+ @mixin card-heading() {
322
+ font-size: $font-size-xl;
323
+ min-height: $three-base-size;
324
+ margin: 0;
325
+ font-weight: bold;
326
+ }
327
+
328
+ // Cards with no bg (widgets such as Post List)
329
+ @mixin card-heading-container-no-bg() {
330
+ display: flex;
331
+ align-items: center;
332
+ border-bottom: none;
333
+ justify-content: space-between;
334
+ min-height: $three-base-size;
335
+ padding-bottom: $base-size;
336
+ margin-bottom: $half-base-size;
337
+ }
338
+
339
+ // Report Card headings, E.g source reports.
340
+ @mixin report-heading-container {
341
+ width: 100%;
342
+ border-bottom: 1px solid transparent;
343
+ padding-bottom: $base-size;
344
+ }
345
+
346
+ @mixin report-heading() {
347
+ font-size: $font-size-s;
348
+ margin: 0;
349
+ font-weight: bold;
350
+ }
351
+
352
+ /**
353
+ * Readability
354
+ */
355
+ @mixin readability-container {
356
+ margin: 0 auto;
357
+ max-width: $text-max-width;
358
+ }
359
+
360
+ /**
361
+ * Positioning
362
+ */
363
+ @mixin absolute-center() {
364
+ position: absolute;
365
+ top: 50%;
366
+ left: 50%;
367
+ transform: translate(-50%, -50%);
368
+ }
369
+
370
+ @mixin flex-center() {
371
+ display: flex;
372
+ justify-content: center;
373
+ align-items: center;
374
+ }
375
+
376
+ /**
377
+ * Resetting
378
+ */
379
+ @mixin reset-btn {
380
+ appearance: none;
381
+ display: inline;
382
+ background: none;
383
+ outline: 0;
384
+ color: inherit;
385
+ border: none;
386
+ padding: 0;
387
+ font: inherit;
388
+ cursor: pointer;
389
+
390
+ &:hover {
391
+ background: none;
392
+ border: none;
393
+ box-shadow: none;
394
+ }
395
+ }
396
+
397
+ @mixin reset-list() {
398
+ list-style: none;
399
+ padding: 0;
400
+ margin: 0;
401
+ }
402
+ /**
403
+ * Scroll wheel
404
+ * NOTE only works on webkit browsers (chrome and safari)
405
+ */
406
+ @mixin scrollBar() {
407
+ ::-webkit-scrollbar {
408
+ width: 8px;
409
+ }
410
+
411
+ ::-webkit-scrollbar-thumb {
412
+ border-radius: 4px;
413
+ background-color: $grey-1;
414
+ }
415
+
416
+ ::-webkit-scrollbar-track {
417
+ width: 4px;
418
+ background-color: $grey-5;
419
+ }
420
+ }
421
+
422
+ /**
423
+ * Aspect ratio
424
+ */
425
+ @mixin aspect-ratio-16-9-wrapper() {
426
+ position: relative;
427
+ overflow: hidden;
428
+ height: 0;
429
+ padding-bottom: 56.25%;
430
+ }
431
+
432
+ @mixin aspect-ratio-golden-ratio-wrapper() {
433
+ position: relative;
434
+ overflow: hidden;
435
+ height: 0;
436
+ padding-bottom: 61.8%;
437
+ }
438
+
439
+ @mixin aspect-ratio-4-3-wrapper() {
440
+ position: relative;
441
+ overflow: hidden;
442
+ height: 0;
443
+ padding-bottom: 75%;
444
+ }
445
+
446
+ /**
447
+ * Badges
448
+ */
449
+ @mixin badge($background-color: $grey-2, $color: $white) {
450
+ display: inline-block;
451
+ min-width: 20px;
452
+ padding: 2px;
453
+ font-size: $font-size-xs;
454
+ font-weight: 300;
455
+ color: $color;
456
+ line-height: 1;
457
+ vertical-align: middle;
458
+ white-space: nowrap;
459
+ text-align: center;
460
+ background-color: $background-color;
461
+ border-radius: 4px;
462
+ }
463
+
464
+ /**
465
+ * Form elements
466
+ */
467
+ @mixin form-label() {
468
+ display: block;
469
+ height: $two-base-size;
470
+ font-weight: 600;
471
+ white-space: nowrap;
472
+ color: $text-grey;
473
+ font-size: $font-size-s;
474
+ margin-bottom: $base-size;
475
+ }
476
+
477
+ @mixin input-field() {
478
+ border: 1px solid $border-grey;
479
+ color: $text-grey;
480
+ height: $form-component-height;
481
+ border-radius: $border-radius;
482
+ font-size: $font-size-s;
483
+ background-color: $white;
484
+ padding: 6px 12px;
485
+ outline: none;
486
+ transition: border 100ms ease;
487
+ -webkit-appearance: none;
488
+
489
+ &:focus {
490
+ border-color: $blue;
491
+ }
492
+ &:focus-visible {
493
+ @include focus-visible(1px);
494
+ }
495
+ }
496
+
497
+ @mixin form-helperText {
498
+ color: $grey-4;
499
+ font-size: $font-size-s;
500
+ letter-spacing: 0;
501
+ margin: $half-base-size 0 0;
502
+
503
+ &_disabled {
504
+ opacity: $disabled-opacity;
505
+ }
506
+ }
507
+
508
+ /**
509
+ * Menu
510
+ */
511
+
512
+ // The menu separator. Screen, refine, report, app.
513
+ @mixin menu-section-heading {
514
+ font-size: $font-size-m;
515
+ padding: 28px 10px 16px 20px;
516
+ color: $text-on-dark-background-grey;
517
+ letter-spacing: $letter-spacing-heading;
518
+ font-weight: 600;
519
+ margin: 0;
520
+ }
521
+
522
+ // The links to base routes. e.g Inboxes, Dashboard etc.
523
+ @mixin menu-link {
524
+ cursor: pointer;
525
+ padding: 18px 10px 18px 20px;
526
+ color: $text-on-dark-background-grey;
527
+ font-weight: 600;
528
+ letter-spacing: $letter-spacing-heading;
529
+ display: flex;
530
+ align-items: center;
531
+ width: 100%;
532
+ transition: background 100ms ease;
533
+ }
534
+
535
+ // The droppable "buttons" in the menu
536
+ @mixin menu-drop-items {
537
+ line-height: $line-height;
538
+
539
+ @include breakpoint(1px, $md - 1) {
540
+ width: calc(100% - 40px); // Necessary due to scroll wheel
541
+ margin: $base-size auto 0;
542
+ }
543
+
544
+ @include breakpoint($md) {
545
+ padding: 0 20px 20px 20px;
546
+ width: 100%;
547
+ }
548
+ @include breakpoint($lg) {
549
+ padding: 0 32px 20px 40px;
550
+ width: 100%;
551
+ }
552
+ }
553
+
554
+ @mixin menu-footer {
555
+ width: 100%;
556
+ letter-spacing: $letter-spacing-heading;
557
+ color: $text-on-dark-background-grey;
558
+ font-size: $font-size-s;
559
+ font-weight: 400;
560
+ padding: 16px 20px;
561
+ }
562
+
563
+ /**
564
+ * Cards
565
+ */
566
+ @mixin card-base($padding: $two-base-size) {
567
+ background: $white;
568
+ padding: $padding;
569
+ border-radius: $border-radius;
570
+ }
571
+
572
+ @mixin card-base-hoverable($padding: $two-base-size) {
573
+ @include card-base(0);
574
+
575
+ // show shadow on hover
576
+ &:after {
577
+ content: '';
578
+ position: absolute;
579
+ z-index: $z-index-negative;
580
+ top: 0;
581
+ left: 0;
582
+ bottom: 0;
583
+ right: 0;
584
+ opacity: 0;
585
+ border-radius: 6px;
586
+ box-shadow: $card-hover-shadow;
587
+ transition: opacity 150ms ease-in-out;
588
+ }
589
+
590
+ @include breakpoint($md) {
591
+ &:hover {
592
+ &::after {
593
+ opacity: 1;
594
+ }
595
+ }
596
+ }
597
+ }
598
+
599
+ /**
600
+ * Sidebar on SearchPage and InboxPage
601
+ */
602
+ @mixin sticky-sidebar {
603
+ display: none;
604
+ top: $two-base-size;
605
+ width: 100%;
606
+
607
+ @include breakpoint($lg) {
608
+ width: calc(100% - #{$content-with-sidebar});
609
+ display: flex;
610
+ flex-direction: column;
611
+ }
612
+
613
+ @media screen and (min-height: 1000px) {
614
+ position: sticky;
615
+ }
616
+ }
617
+
618
+ @mixin spinnerBorder($primaryColor, $secondaryColor) {
619
+ border-left-color: $primaryColor;
620
+ border-right-color: $primaryColor;
621
+ border-top-color: $primaryColor;
622
+ border-bottom-color: $secondaryColor;
623
+ }
624
+
625
+ @mixin spinner {
626
+ content: '';
627
+ border: solid 2px $icon-grey;
628
+ @include spinnerBorder($icon-grey, $grey-1);
629
+ box-sizing: border-box;
630
+ position: absolute;
631
+ width: 24px;
632
+ height: 24px;
633
+ border-radius: 50%;
634
+ top: 50%;
635
+ transform: translate(-0%, -50%);
636
+ margin-top: -12px;
637
+ animation: spin 2s infinite linear;
638
+ }
639
+
640
+ /**
641
+ * Post
642
+ */
643
+ @mixin post {
644
+ background: $white;
645
+ border-radius: $border-radius;
646
+
647
+ position: relative;
648
+ border: 1px solid $white;
649
+ margin-bottom: $base-size;
650
+
651
+ box-shadow: none;
652
+ padding: 28px 0 16px 0;
653
+
654
+ // show shadow on hover
655
+ &_hoverable {
656
+ &:after {
657
+ content: '';
658
+ position: absolute;
659
+ z-index: -1;
660
+ top: 0;
661
+ left: 0;
662
+ bottom: 0;
663
+ right: 0;
664
+ opacity: 0;
665
+ border-radius: 6px;
666
+ box-shadow: $card-hover-shadow;
667
+ transition: opacity 0.2s ease-in-out;
668
+ }
669
+
670
+ &:hover::after {
671
+ opacity: 1;
672
+ }
673
+ }
674
+
675
+ &_isDraggable {
676
+ cursor: grab;
677
+ }
678
+
679
+ &_isDragging {
680
+ opacity: 0;
681
+ cursor: grabbing;
682
+ }
683
+
684
+ &_isGhosting {
685
+ opacity: 0;
686
+ }
687
+
688
+ &_canDrop {
689
+ border: 1px dashed $blue;
690
+ background: $drag-n-drop-droppable-area;
691
+ }
692
+
693
+ &_isOver {
694
+ background: $drag-n-drop-hover;
695
+ }
696
+
697
+ &_isProcessing {
698
+ background-color: rgba(255, 255, 255, 0.3);
699
+ border-color: rgba(255, 255, 255, 0.3);
700
+ box-shadow: none;
701
+ &:before {
702
+ @include spinner;
703
+ margin-left: 16px;
704
+ }
705
+ }
706
+ }
707
+
708
+ @mixin reportTabHeader {
709
+ display: flex;
710
+ height: 60px;
711
+ align-items: center;
712
+ justify-content: space-between;
713
+ padding: 0 $two-base-size;
714
+ // cursor: pointer;
715
+ border-bottom: 1px solid $grey-2;
716
+ }
717
+
718
+ // 1. Fix IE11 & Edge issue where bottom of tab disappears below container
719
+ @mixin reportTab {
720
+ background-color: $report-tab-background;
721
+ height: 100%;
722
+ // IE11
723
+ @include internet-explorer-11 {
724
+ height: auto;
725
+ margin-bottom: 40px;
726
+ }
727
+
728
+ @include edge {
729
+ height: auto;
730
+ margin-bottom: 40px;
731
+ }
732
+
733
+ min-height: 1px;
734
+ margin: 0;
735
+ padding: 0;
736
+ overflow: hidden;
737
+ transition: width 200ms ease-in-out;
738
+ border-right: 1px solid $border-light-grey;
739
+
740
+ $sizes: 0, 7, 10, 20, 23, 25, 30, 50, 60, 65, 70, 100;
741
+
742
+ @each $size in $sizes {
743
+ &_#{$size} {
744
+ width: calc(#{$size} * 1%);
745
+
746
+ @if $size >= 60 {
747
+ background-color: $report-tab-selected-background;
748
+ }
749
+ }
750
+ }
751
+ }
752
+
753
+ @mixin facetItem {
754
+ margin: 0 $half-base-size $half-base-size 0;
755
+ max-width: 100%;
756
+ }
757
+
758
+ @mixin tableCell($cellHeight: 42px) {
759
+ display: flex;
760
+ align-items: center;
761
+ min-height: $cellHeight;
762
+ font-size: $font-size-s;
763
+
764
+ &_05 {
765
+ flex-basis: percentage(0.5/12);
766
+ max-width: percentage(0.5/12);
767
+ }
768
+
769
+ &_1 {
770
+ flex-basis: percentage(1/12);
771
+ max-width: percentage(1/12);
772
+ }
773
+
774
+ &_15 {
775
+ flex-basis: percentage(1.5/12);
776
+ max-width: percentage(1.5/12);
777
+ }
778
+
779
+ &_2 {
780
+ flex-basis: percentage(2/12);
781
+ max-width: percentage(2/12);
782
+ }
783
+
784
+ &_25 {
785
+ flex-basis: percentage(2.5/12);
786
+ max-width: percentage(2.5/12);
787
+ }
788
+
789
+ &_3 {
790
+ flex-basis: percentage(3/12);
791
+ max-width: percentage(3/12);
792
+ }
793
+
794
+ &_35 {
795
+ flex-basis: percentage(3.5/12);
796
+ max-width: percentage(3.5/12);
797
+ }
798
+
799
+ &_4 {
800
+ flex-basis: percentage(4/12);
801
+ max-width: percentage(4/12);
802
+ }
803
+
804
+ &_5 {
805
+ flex-basis: percentage(5/12);
806
+ max-width: percentage(5/12);
807
+ }
808
+
809
+ &_6 {
810
+ flex-basis: percentage(6/12);
811
+ max-width: percentage(6/12);
812
+ }
813
+
814
+ &_7 {
815
+ flex-basis: percentage(7/12);
816
+ max-width: percentage(7/12);
817
+ }
818
+
819
+ &_8 {
820
+ flex-basis: percentage(8/12);
821
+ max-width: percentage(8/12);
822
+ }
823
+
824
+ &_9 {
825
+ flex-basis: percentage(9/12);
826
+ max-width: percentage(9/12);
827
+ }
828
+
829
+ &_10 {
830
+ flex-basis: percentage(10/12);
831
+ max-width: percentage(10/12);
832
+ }
833
+
834
+ &_11 {
835
+ flex-basis: percentage(11/12);
836
+ max-width: percentage(11/12);
837
+ }
838
+
839
+ &_auto {
840
+ flex-grow: 1;
841
+ flex-basis: auto;
842
+ max-width: 100%;
843
+ }
844
+
845
+ &_fullWidth {
846
+ flex-basis: 100%;
847
+ max-width: 100%;
848
+ }
849
+
850
+ &_hidden {
851
+ display: none;
852
+ }
853
+ }
854
+
855
+ @mixin tableCellContent($padding: 0 $base-size) {
856
+ font-weight: 400;
857
+ display: flex;
858
+ padding: $padding;
859
+ width: 100%;
860
+ justify-content: flex-start;
861
+
862
+ &_alignCenter {
863
+ align-items: center;
864
+ }
865
+
866
+ &_justifyRight {
867
+ justify-content: flex-end;
868
+ text-align: right;
869
+ }
870
+
871
+ &_justifySpaceBetween {
872
+ justify-content: space-between;
873
+ }
874
+
875
+ &_justifyCenter {
876
+ justify-content: center;
877
+ }
878
+
879
+ &_thin {
880
+ padding-top: 0;
881
+ padding-bottom: 4px;
882
+ }
883
+
884
+ &_wrap {
885
+ flex-wrap: wrap;
886
+ }
887
+
888
+ &_truncateText {
889
+ display: block;
890
+ white-space: nowrap;
891
+ overflow: hidden;
892
+ text-overflow: ellipsis;
893
+ }
894
+
895
+ &_normalTextWeight {
896
+ font-weight: 400;
897
+ }
898
+ }
899
+
900
+ /**
901
+ * Margin
902
+ */
903
+ @mixin margin($number: 8) {
904
+ .marginBottom_025 {
905
+ margin-bottom: 2px;
906
+ }
907
+
908
+ .marginBottom_05 {
909
+ margin-bottom: $half-base-size;
910
+ }
911
+
912
+ .marginBottom_15 {
913
+ margin-bottom: 12px;
914
+ }
915
+
916
+ .marginBottom_25 {
917
+ margin-bottom: 20px;
918
+ }
919
+
920
+ .marginTop_05 {
921
+ margin-top: $half-base-size;
922
+ }
923
+
924
+ .marginTop_15 {
925
+ margin-top: 12px;
926
+ }
927
+
928
+ .marginTop_25 {
929
+ margin-top: 20px;
930
+ }
931
+
932
+ .marginLeft_05 {
933
+ margin-left: $half-base-size;
934
+ }
935
+
936
+ .marginLeft_15 {
937
+ margin-left: 12px;
938
+ }
939
+
940
+ .marginLeft_25 {
941
+ margin-left: 18px;
942
+ }
943
+
944
+ .marginLeft_auto {
945
+ margin-left: auto;
946
+ }
947
+
948
+ .marginRight_05 {
949
+ margin-right: $half-base-size;
950
+ }
951
+
952
+ .marginRight_15 {
953
+ margin-right: 12px;
954
+ }
955
+
956
+ .marginRight_25 {
957
+ margin-right: 18px;
958
+ }
959
+
960
+ .marginRight_auto {
961
+ margin-right: auto;
962
+ }
963
+
964
+ @for $i from 0 through $number {
965
+ .margin_#{$i} {
966
+ margin: calc(#{$i} * #{$base-size});
967
+ }
968
+
969
+ .marginX_#{$i} {
970
+ margin-left: calc(#{$i} * #{$base-size});
971
+ margin-right: calc(#{$i} * #{$base-size});
972
+ }
973
+
974
+ .marginY_#{$i} {
975
+ margin-top: calc(#{$i} * #{$base-size});
976
+ margin-bottom: calc(#{$i} * #{$base-size});
977
+ }
978
+
979
+ .marginBottom_#{$i} {
980
+ margin-bottom: calc(#{$i} * #{$base-size});
981
+ }
982
+
983
+ .marginTop_#{$i} {
984
+ margin-top: calc(#{$i} * #{$base-size});
985
+ }
986
+
987
+ .marginLeft_#{$i} {
988
+ margin-left: calc(#{$i} * #{$base-size});
989
+ }
990
+
991
+ .marginRight_#{$i} {
992
+ margin-right: calc(#{$i} * #{$base-size});
993
+ }
994
+ }
995
+ }
996
+
997
+ @mixin padding($number: 8) {
998
+ .paddingBottom_025 {
999
+ padding-bottom: 2px;
1000
+ }
1001
+
1002
+ .paddingBottom_05 {
1003
+ padding-bottom: $half-base-size;
1004
+ }
1005
+
1006
+ .paddingBottom_15 {
1007
+ padding-bottom: 12px;
1008
+ }
1009
+
1010
+ .paddingBottom_25 {
1011
+ padding-bottom: 20px;
1012
+ }
1013
+
1014
+ .paddingTop_05 {
1015
+ padding-top: $half-base-size;
1016
+ }
1017
+
1018
+ .paddingTop_15 {
1019
+ padding-top: 12px;
1020
+ }
1021
+
1022
+ .paddingTop_25 {
1023
+ padding-top: 20px;
1024
+ }
1025
+
1026
+ .paddingLeft_05 {
1027
+ padding-left: $half-base-size;
1028
+ }
1029
+
1030
+ .paddingLeft_15 {
1031
+ padding-left: 12px;
1032
+ }
1033
+
1034
+ .paddingLeft_25 {
1035
+ padding-left: 20px;
1036
+ }
1037
+
1038
+ .paddingRight_05 {
1039
+ padding-right: $half-base-size;
1040
+ }
1041
+
1042
+ @for $i from 0 through $number {
1043
+ .padding_#{$i} {
1044
+ padding: calc(#{$i} * #{$base-size});
1045
+ }
1046
+
1047
+ .paddingX_#{$i} {
1048
+ padding-left: calc(#{$i} * #{$base-size});
1049
+ padding-right: calc(#{$i} * #{$base-size});
1050
+ }
1051
+
1052
+ .paddingY_#{$i} {
1053
+ padding-top: calc(#{$i} * #{$base-size});
1054
+ padding-bottom: calc(#{$i} * #{$base-size});
1055
+ }
1056
+
1057
+ .paddingBottom_#{$i} {
1058
+ padding-bottom: calc(#{$i} * #{$base-size});
1059
+ }
1060
+
1061
+ .paddingTop_#{$i} {
1062
+ padding-top: calc(#{$i} * #{$base-size});
1063
+ }
1064
+
1065
+ .paddingLeft_#{$i} {
1066
+ padding-left: calc(#{$i} * #{$base-size});
1067
+ }
1068
+
1069
+ .paddingRight_#{$i} {
1070
+ padding-right: calc(#{$i} * #{$base-size});
1071
+ }
1072
+ }
1073
+ }
1074
+
1075
+ @mixin backgroundColor($prefix) {
1076
+ .#{$prefix}_orange {
1077
+ background-color: $orange;
1078
+ }
1079
+ .#{$prefix}_green {
1080
+ background-color: $green;
1081
+ }
1082
+ .#{$prefix}_red {
1083
+ background-color: $red;
1084
+ }
1085
+ .#{$prefix}_white {
1086
+ background-color: $white;
1087
+ }
1088
+ .#{$prefix}_grey1 {
1089
+ background-color: $grey-1;
1090
+ }
1091
+ .#{$prefix}_grey2 {
1092
+ background-color: $grey-2;
1093
+ }
1094
+ .#{$prefix}_grey3 {
1095
+ background-color: $grey-3;
1096
+ }
1097
+ .#{$prefix}_grey4 {
1098
+ background-color: $grey-4;
1099
+ }
1100
+ .#{$prefix}_grey5 {
1101
+ background-color: $grey-5;
1102
+ }
1103
+ }
1104
+
1105
+ @mixin borderColor {
1106
+ .borderColor_green {
1107
+ border-color: $green;
1108
+ }
1109
+ .borderColor_red {
1110
+ border-color: $red;
1111
+ }
1112
+ .borderColor_white {
1113
+ border-color: $white;
1114
+ }
1115
+ .borderColor_grey1 {
1116
+ border-color: $grey-1;
1117
+ }
1118
+ .borderColor_grey2 {
1119
+ border-color: $grey-2;
1120
+ }
1121
+ .borderColor_grey3 {
1122
+ border-color: $grey-3;
1123
+ }
1124
+ .borderColor_grey4 {
1125
+ border-color: $grey-4;
1126
+ }
1127
+ .borderColor_grey5 {
1128
+ border-color: $grey-5;
1129
+ }
1130
+ .borderColor_grey6 {
1131
+ border-color: $grey-6;
1132
+ }
1133
+ }
1134
+
1135
+ @mixin width {
1136
+ @for $i from 0 through 20 {
1137
+ $percentage: $i * 5;
1138
+
1139
+ .width_#{$percentage} {
1140
+ width: #{$percentage}#{'%'};
1141
+ }
1142
+ .minWidth_#{$percentage} {
1143
+ min-width: #{$percentage}#{'%'};
1144
+ }
1145
+ .maxWidth_#{$percentage} {
1146
+ max-width: #{$percentage}#{'%'};
1147
+ }
1148
+ }
1149
+ }
1150
+
1151
+ @mixin flexRules {
1152
+ .displayFlex {
1153
+ display: flex;
1154
+ }
1155
+
1156
+ .displayFlexCenter {
1157
+ @include flex-center;
1158
+ }
1159
+
1160
+ .displayFlexCenterSpaceBetween {
1161
+ display: flex;
1162
+ justify-content: space-between;
1163
+ align-items: center;
1164
+ }
1165
+
1166
+ .alignItems_center {
1167
+ align-items: center;
1168
+ }
1169
+
1170
+ .alignItems_flexStart {
1171
+ align-items: flex-start;
1172
+ }
1173
+
1174
+ .alignItems_flexEnd {
1175
+ align-items: flex-end;
1176
+ }
1177
+
1178
+ .flexWrap_wrap {
1179
+ flex-wrap: wrap;
1180
+ }
1181
+
1182
+ .flexWrap_noWrap {
1183
+ flex-wrap: nowrap;
1184
+ }
1185
+
1186
+ .flexWrap_wrapReverse {
1187
+ flex-wrap: wrap-reverse;
1188
+ }
1189
+
1190
+ .flexDirection_row {
1191
+ flex-direction: row;
1192
+ }
1193
+
1194
+ .flexDirection_rowReverse {
1195
+ flex-direction: row-reverse;
1196
+ }
1197
+
1198
+ .flexDirection_column {
1199
+ flex-direction: column;
1200
+ }
1201
+
1202
+ .flexDirection_columnReverse {
1203
+ flex-direction: column-reverse;
1204
+ }
1205
+
1206
+ .justifyContent_center {
1207
+ justify-content: center;
1208
+ }
1209
+
1210
+ .justifyContent_spaceAround {
1211
+ justify-content: space-around;
1212
+ }
1213
+
1214
+ .justifyContent_spaceBetween {
1215
+ justify-content: space-between;
1216
+ }
1217
+
1218
+ .justifyContent_flexStart {
1219
+ justify-content: flex-start;
1220
+ }
1221
+
1222
+ .justifyContent_flexEnd {
1223
+ justify-content: flex-end;
1224
+ }
1225
+
1226
+ @for $i from 0 through 4 {
1227
+ .flexGrow_#{$i} {
1228
+ flex-grow: #{$i};
1229
+ }
1230
+ }
1231
+ }
1232
+
1233
+ @mixin buttonColors($backgroundColor, $borderColor, $textColor) {
1234
+ background-color: $backgroundColor;
1235
+ border-color: $borderColor;
1236
+ color: $textColor;
1237
+
1238
+ .icon,
1239
+ svg {
1240
+ fill: $textColor;
1241
+ }
1242
+ }
1243
+
1244
+ @mixin showHideOnBreakPointRules($flexOrBlock) {
1245
+ .showOnBreakpoint_sm {
1246
+ display: none;
1247
+
1248
+ @include breakpoint($sm) {
1249
+ display: #{$flexOrBlock};
1250
+ }
1251
+ }
1252
+ .showOnBreakpoint_md {
1253
+ display: none;
1254
+
1255
+ @include breakpoint($md) {
1256
+ display: #{$flexOrBlock};
1257
+ }
1258
+ }
1259
+ .showOnBreakpoint_lg {
1260
+ display: none;
1261
+
1262
+ @include breakpoint($lg) {
1263
+ display: #{$flexOrBlock};
1264
+ }
1265
+ }
1266
+ .showOnBreakpoint_xl {
1267
+ display: none;
1268
+
1269
+ @include breakpoint($xl) {
1270
+ display: #{$flexOrBlock};
1271
+ }
1272
+ }
1273
+ }
1274
+
1275
+ @mixin searchDropDownItem {
1276
+ position: relative;
1277
+ cursor: pointer;
1278
+ display: flex;
1279
+ justify-content: space-between;
1280
+ padding: $base-size;
1281
+ border-bottom: 1px solid $border-light-grey;
1282
+
1283
+ &:hover {
1284
+ background-color: $grey-1;
1285
+ }
1286
+ &:active {
1287
+ background-color: $grey-2;
1288
+ }
1289
+ &:focus {
1290
+ border-bottom: 1px solid $blue;
1291
+ }
1292
+
1293
+ &_keyBoardFocused {
1294
+ background-color: $grey-1;
1295
+ }
1296
+ &_disabled {
1297
+ pointer-events: none;
1298
+ opacity: $disabled-opacity;
1299
+ }
1300
+ }