@lukaskj/xmonkey 2.0.4 → 2.0.5

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.
@@ -1,4 +1,3 @@
1
1
  import { IUiScript } from "../interfaces/ui-script.interface.js";
2
2
  import { ClassConstructor, ScriptInfo } from "../types";
3
- import "../styles/base.scss";
4
3
  export declare function UiScript<T extends IUiScript>(_metadata: ScriptInfo): (_target: ClassConstructor<T>) => void;
@@ -1,6 +1,5 @@
1
1
  import { h, render } from "preact";
2
2
  import { XMonkeyWindowComponent } from "../x-monkey-window-component.js";
3
- import "../styles/base.scss";
4
3
  export function UiScript(_metadata) {
5
4
  return function (_target) {
6
5
  const scriptObject = new _target();
@@ -0,0 +1,3 @@
1
+ @use "variables";
2
+ @use "utils";
3
+ @use "xmonkey-wrapper";
@@ -0,0 +1,74 @@
1
+ /* https://gist.github.com/jonsuh/b2347347480105874cda110b2afc53f4 */
2
+ /* Flexbox
3
+ // ================================================== */
4
+
5
+ @use "variables" as vars;
6
+ ##{vars.$xmonkey-wrapper} {
7
+ .d-f { display: flex !important; flex-direction: column; }
8
+ .d-if { display: inline-flex !important; flex-direction: column; }
9
+
10
+ /* Flex direction */
11
+ .fd-r { flex-direction: row; } /* Default */
12
+ .fd-rr { flex-direction: row-reverse; }
13
+ .fd-c { flex-direction: column; }
14
+ .fd-cr { flex-direction: column-reverse; }
15
+
16
+
17
+ /* Flex wrap */
18
+ .fw-n { flex-wrap: nowrap; } /* Default */
19
+ .fw-w { flex-wrap: wrap; }
20
+ .fw-wr { flex-wrap: wrap-reverse; }
21
+
22
+
23
+ /* Justify content */
24
+ .jc-fe { justify-content: flex-end; }
25
+ .jc-fs { justify-content: flex-start; } /* Default */
26
+ .jc-c { justify-content: center; }
27
+ .jc-sa { justify-content: space-around; }
28
+ .jc-sb { justify-content: space-between; }
29
+
30
+
31
+ /* Align items */
32
+ .ai-fs { align-items: flex-start; }
33
+ .ai-c { align-items: center; }
34
+ .ai-fe { align-items: flex-end; }
35
+ .ai-s { align-items: stretch; } /* Default */
36
+ .ai-b { align-items: baseline; }
37
+
38
+
39
+ /* Flex grow */
40
+ .fg-0 { flex-grow: 0; } /* Default */
41
+ .fg-1 { flex-grow: 1; }
42
+
43
+
44
+ /* Flex shrink */
45
+ .fs-0 { flex-shrink: 0; }
46
+ .fs-1 { flex-shrink: 1; } /* Default */
47
+
48
+
49
+ /* Flex basis */
50
+ .fb-a { flex-basis: auto; } /* Default */
51
+ .fb-0 { flex-basis: 0; }
52
+
53
+
54
+ /* Align self */
55
+ .as-a { align-self: auto; } /* Default */
56
+ .as-fs { align-self: flex-start; }
57
+ .as-c { align-self: center; }
58
+ .as-fe { align-self: flex-end; }
59
+ .as-s { align-self: stretch; }
60
+ .as-b { align-self: baseline }
61
+
62
+
63
+ .noselect {
64
+ -webkit-touch-callout: none; /* iOS Safari */
65
+ -webkit-user-select: none; /* Safari */
66
+ -khtml-user-select: none; /* Konqueror HTML */
67
+ -moz-user-select: none; /* Old versions of Firefox */
68
+ -ms-user-select: none; /* Internet Explorer/Edge */
69
+ user-select: none; /* Non-prefixed version, currently
70
+ supported by Chrome, Edge, Opera and Firefox */
71
+ }
72
+
73
+ .hidden {display: none !important;}
74
+ }
@@ -1,6 +1,7 @@
1
1
  $xmonkey-wrapper: "__xmwr";
2
2
  $xmonkey-container: "xmwr_c";
3
3
  $xmonkey-header: "xmwr-h";
4
+ $xmonkey-body: "xmwr-b";
4
5
 
5
6
 
6
7
  $font-family: Verdana;
@@ -2,17 +2,27 @@
2
2
  @use "colors";
3
3
 
4
4
  ##{vars.$xmonkey-wrapper} {
5
- width: 250px;
5
+ width: 200px;
6
6
  position: absolute;
7
7
  top: 10px;
8
8
  left: 10px;
9
- background-color: rgba(colors.$bg, 0.9);
9
+ background-color: rgba(colors.$bg, 0.99);
10
10
  border-radius: vars.$border-radius;
11
11
  z-index: 999999;
12
12
  overflow: hidden;
13
13
 
14
+ font-family: vars.$font-family;
15
+ font-size: 12px;
14
16
  * {
17
+ font-size: 12px;
18
+ font-family: vars.$font-family;
15
19
  color: colors.$white;
20
+ button {
21
+ color: colors.$black;
22
+ }
23
+ }
24
+ pre {
25
+ overflow: auto;
16
26
  }
17
27
 
18
28
  input,
@@ -39,9 +49,15 @@
39
49
  }
40
50
  }
41
51
 
52
+ .#{vars.$xmonkey-body} {
53
+ padding: 3px;
54
+ }
55
+
42
56
  .#{vars.$xmonkey-header} {
43
57
  height: 15px;
44
58
  line-height: 15px !important;
59
+ background-color: colors.$primary;
60
+ width: 100%;
45
61
  // border-top-left-radius: vars.$border-radius;
46
62
  // border-top-right-radius: vars.$border-radius;
47
63
  .xmwr-x {
@@ -5,7 +5,7 @@ export function XMonkeyWindowComponent(props) {
5
5
  function toggleMinimize() {
6
6
  setMinimized(!minimized);
7
7
  }
8
- return (_jsxs("div", { className: "xmwr_c d--f fd--c ai--c jc--sb", children: [_jsxs("div", { className: "xmwr-h w-100 m0 d--f fd--r jc--c bg-primary noselect", children: [_jsx("div", { className: "xmwr-title m0", children: props.title }), _jsx(MinimizeButton, { toggleMinimize: toggleMinimize, minimized: minimized })] }), _jsx("div", { className: `xmwr-b w-100 d--f jc--c ` + (minimized ? "b-collapsed" : ""), children: props.children })] }));
8
+ return (_jsxs("div", { className: "xmwr_c d-f fd-c ai-c jc-sb", children: [_jsxs("div", { className: "xmwr-h w-100 m0 d-f fd-r jc-c bg-primary noselect", children: [_jsx("div", { className: "xmwr-title m0", children: props.title }), _jsx(MinimizeButton, { toggleMinimize: toggleMinimize, minimized: minimized })] }), _jsx("div", { className: `xmwr-b w-100 d-f jc-c ` + (minimized ? "b-collapsed" : ""), children: props.children })] }));
9
9
  }
10
10
  function MinimizeButton({ minimized, toggleMinimize }) {
11
11
  const minimizeChar = minimized ? "+" : "-";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lukaskj/xmonkey",
3
- "version": "2.0.4",
3
+ "version": "2.0.5",
4
4
  "author": "lukaskj",
5
5
  "license": "ISC",
6
6
  "scripts": {
@@ -17,7 +17,7 @@
17
17
  "build:debug": "DEBUG=1 node esbuild/build.mjs",
18
18
  "copy-styles": "cp -R src/styles/ dist/styles",
19
19
  "dev": "nodemon",
20
- "start": "tsx --watch ./src/index.ts",
20
+ "start": "tsx ./src/build.ts",
21
21
  "format": "prettier --write src/",
22
22
  "lint": "tsc --noEmit && eslint \"{src,apps,libs,test}/**/*.{ts,tsx}\" --fix",
23
23
  "test": "jest --config ./jest.config.js --maxWorkers=1",
@@ -1,4 +0,0 @@
1
- import { IConsoleScript } from "@lukaskj/xmonkey";
2
- export declare class ExampleConsoleScript implements IConsoleScript {
3
- execute(): Promise<void>;
4
- }
@@ -1,28 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { sleep } from "../utils/sleep.js";
8
- import { ConsoleScript } from "@lukaskj/xmonkey";
9
- let ExampleConsoleScript = class ExampleConsoleScript {
10
- async execute() {
11
- for (let i = 0; i < 50; i++) {
12
- console.log("Executing script...", i + 1, location.href);
13
- await sleep(20);
14
- }
15
- }
16
- };
17
- ExampleConsoleScript = __decorate([
18
- ConsoleScript({
19
- "@name": "Example Console Script",
20
- "@namespace": "console-scripts",
21
- "@match": "https://en.wikipedia.org/*",
22
- "@version": "1.0",
23
- "@author": "-",
24
- "@description": "Example Console Script Description",
25
- "@grant": ["GM.addStyle"],
26
- })
27
- ], ExampleConsoleScript);
28
- export { ExampleConsoleScript };
@@ -1,6 +0,0 @@
1
- import { IUiScript } from "@lukaskj/xmonkey";
2
- import "@lukaskj/xmonkey/styles/base.scss";
3
- export declare class ExampleUiScript implements IUiScript {
4
- title: string;
5
- render(): import("preact").JSX.Element;
6
- }
@@ -1,34 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "preact/jsx-runtime";
8
- import { UiScript } from "@lukaskj/xmonkey";
9
- import "@lukaskj/xmonkey/styles/base.scss";
10
- import { useState } from "preact/hooks";
11
- let ExampleUiScript = class ExampleUiScript {
12
- title = "Example UI Script";
13
- render() {
14
- return _jsx(JsxUiExample, {});
15
- }
16
- };
17
- ExampleUiScript = __decorate([
18
- UiScript({
19
- "@name": "Example Console Script",
20
- "@namespace": "console-scripts",
21
- "@match": "https://en.wikipedia.org/*",
22
- "@version": "1.0",
23
- "@author": "-",
24
- "@description": "Example Console Script Description",
25
- "@grant": ["GM.addStyle"],
26
- })
27
- ], ExampleUiScript);
28
- export { ExampleUiScript };
29
- function JsxUiExample() {
30
- const [count, setCount] = useState(0);
31
- const increment = () => setCount(count + 1);
32
- const decrement = () => setCount((currentCount) => currentCount - 1);
33
- return (_jsxs(_Fragment, { children: [_jsxs("p", { children: ["Count: ", count] }), _jsxs("div", { class: "w-100 d--f jc--c", children: [_jsx("button", { class: "btn small primary", onClick: increment, children: "Increment" }), _jsx("button", { class: "btn small primary", onClick: decrement, children: "Decrement" })] })] }));
34
- }
@@ -1,4 +0,0 @@
1
- @use "variables";
2
- @use "./xmonkey-wrapper.scss";
3
- @use "./utils.css";
4
- @use "lit"
@@ -1,173 +0,0 @@
1
- @use "../variables" as vars;
2
- @use "../colors";
3
- /*
4
- * Lit v0.1
5
- * Primary Color set to: #FA0
6
- * Font set to: Nunito
7
- */
8
-
9
- $input-padding: 3px;
10
-
11
- ##{vars.$xmonkey-wrapper} {
12
- font-family: vars.$font-family;
13
- * {
14
- box-sizing: border-box;
15
- font-size: 12px;
16
- font-family: vars.$font-family;
17
- margin: 2.5px 0;
18
- }
19
- pre {
20
- overflow: auto;
21
- }
22
-
23
- .col,
24
- .row {
25
- padding: 0 3px;
26
- }
27
- .col {
28
- flex-direction: column;
29
- }
30
-
31
- .row {
32
- flex-direction: row;
33
- flex-wrap: wrap;
34
- }
35
-
36
- .w-100,
37
- .row {
38
- width: 100%;
39
- }
40
-
41
- .card:focus,
42
- .xcard:focus,
43
- hr {
44
- outline: 0;
45
- border: solid colors.$primary;
46
- }
47
-
48
- .card,
49
- .xcard,
50
- pre {
51
- padding: $input-padding;
52
- border: solid colors.$white;
53
- }
54
-
55
- a:hover,
56
- .btn:hover {
57
- opacity: 0.8;
58
- }
59
-
60
- .c {
61
- max-width: 60em;
62
- padding: $input-padding;
63
- margin: auto;
64
- font: 1em/1.6 vars.$font;
65
- }
66
-
67
- h6 {
68
- font: 100 1em vars.$font;
69
- }
70
-
71
- h5 {
72
- font: 100 1.2em vars.$font;
73
- }
74
-
75
- h3 {
76
- font: 100 2em vars.$font;
77
- }
78
-
79
- h4 {
80
- font: 100 1.5em vars.$font;
81
- }
82
-
83
- h2 {
84
- font: 100 2.2em vars.$font;
85
- }
86
-
87
- h1 {
88
- font: 100 2.5em vars.$font;
89
- }
90
-
91
- a {
92
- color: colors.$primary;
93
- text-decoration: none;
94
- }
95
-
96
- td,
97
- th {
98
- padding: $input-padding;
99
- text-align: left;
100
- border-bottom: solid colors.$white;
101
- }
102
-
103
- .btn {
104
- padding: $input-padding;
105
- text-transform: uppercase;
106
- background: colors.$white;
107
- color: colors.$black;
108
- border: solid colors.$white;
109
- font: 1em vars.$font;
110
-
111
- &.primary {
112
- color: colors.$white;
113
- background: colors.$primary;
114
- border: solid colors.$primary;
115
- }
116
-
117
- &.secondary {
118
- color: colors.$white;
119
- background: colors.$secondary;
120
- border: solid colors.$secondary;
121
- }
122
-
123
- &.success {
124
- color: colors.$white;
125
- background: colors.$success;
126
- border: solid colors.$success;
127
- }
128
-
129
- &.warning {
130
- color: colors.$white;
131
- background: colors.$warning;
132
- border: solid colors.$warning;
133
- }
134
-
135
- &.error {
136
- color: colors.$white;
137
- background: colors.$error;
138
- border: solid colors.$error;
139
- }
140
-
141
- &.info {
142
- color: colors.$white;
143
- background: colors.$info;
144
- border: solid colors.$info;
145
- }
146
- }
147
-
148
- @media (min-width: 35em) {
149
- .\31 {
150
- width: 5%;
151
- }
152
-
153
- .\33 {
154
- width: 22%;
155
- }
156
-
157
- .\34 {
158
- width: 30%;
159
- }
160
-
161
- .\35 {
162
- width: 40%;
163
- }
164
-
165
- .\32 {
166
- width: 15%;
167
- }
168
-
169
- .\36 {
170
- width: 50%;
171
- }
172
- }
173
- }
@@ -1,340 +0,0 @@
1
- @use "../variables" as vars;
2
- @use "../colors";
3
-
4
- ##{vars.$xmonkey-wrapper} {
5
- /*Colors*/
6
-
7
- .white {
8
- color: #fff;
9
- }
10
- .bg-white {
11
- background-color: #fff;
12
- }
13
- .b-white {
14
- border-color: #fff;
15
- }
16
- .gray {
17
- color: colors.$gray;
18
- }
19
- .bg-gray {
20
- background-color: colors.$gray;
21
- }
22
- .b-gray {
23
- border-color: colors.$gray;
24
- }
25
- .black {
26
- color: #000;
27
- }
28
- .bg-black {
29
- background-color: #000;
30
- }
31
- .b-black {
32
- border-color: #000;
33
- }
34
- .accent {
35
- color: colors.$secondary;
36
- }
37
- .bg-accent {
38
- background-color: colors.$secondary;
39
- }
40
- .b-accent {
41
- border-color: colors.$secondary;
42
- }
43
- .warning {
44
- color: colors.$warning;
45
- }
46
- .bg-warning {
47
- background-color: colors.$warning;
48
- }
49
- .b-warning {
50
- border-color: colors.$warning;
51
- }
52
- .error {
53
- color: colors.$error;
54
- }
55
- .bg-error {
56
- background-color: colors.$error;
57
- }
58
- .b-error {
59
- border-color: colors.$error;
60
- }
61
- .success {
62
- color: colors.$success;
63
- }
64
- .bg-success {
65
- background-color: colors.$success;
66
- }
67
- .b-success {
68
- border-color: colors.$success;
69
- }
70
- .info {
71
- color: colors.$info;
72
- }
73
- .bg-info {
74
- background-color: colors.$info;
75
- }
76
- .b-info {
77
- border-color: colors.$info;
78
- }
79
- .bg-primary {
80
- background-color: colors.$primary;
81
- }
82
- .b-primary {
83
- border-color: colors.$primary;
84
- }
85
-
86
- /*Margin+Padding*/
87
-
88
- .m0 {
89
- margin: 0;
90
- }
91
-
92
- .m1 {
93
- margin: 0.5em;
94
- }
95
-
96
- .m2 {
97
- margin: 1em;
98
- }
99
-
100
- .m3 {
101
- margin: 2em;
102
- }
103
-
104
- .m4 {
105
- margin: 4em;
106
- }
107
-
108
- .mt0 {
109
- margin-top: 0;
110
- }
111
-
112
- .mt1 {
113
- margin-top: 0.5em;
114
- }
115
-
116
- .mt2 {
117
- margin-top: 1em;
118
- }
119
-
120
- .mt3 {
121
- margin-top: 2em;
122
- }
123
-
124
- .mt4 {
125
- margin-top: 4em;
126
- }
127
-
128
- .mr0 {
129
- margin-right: 0;
130
- }
131
-
132
- .mr1 {
133
- margin-right: 0.5em;
134
- }
135
-
136
- .mr2 {
137
- margin-right: 1em;
138
- }
139
-
140
- .mr3 {
141
- margin-right: 2em;
142
- }
143
-
144
- .mr4 {
145
- margin-right: 4em;
146
- }
147
-
148
- .mb0 {
149
- margin-bottom: 0;
150
- }
151
-
152
- .mb1 {
153
- margin-bottom: 0.5em;
154
- }
155
-
156
- .mb2 {
157
- margin-bottom: 1em;
158
- }
159
-
160
- .mb3 {
161
- margin-bottom: 2em;
162
- }
163
-
164
- .mb4 {
165
- margin-bottom: 4em;
166
- }
167
-
168
- .ml0 {
169
- margin-left: 0;
170
- }
171
-
172
- .ml1 {
173
- margin-left: 0.5em;
174
- }
175
-
176
- .ml2 {
177
- margin-left: 1em;
178
- }
179
-
180
- .ml3 {
181
- margin-left: 2em;
182
- }
183
-
184
- .ml4 {
185
- margin-left: 4em;
186
- }
187
-
188
- .p0 {
189
- padding: 0;
190
- }
191
-
192
- .p1 {
193
- padding: 0.5em;
194
- }
195
-
196
- .p2 {
197
- padding: 1em;
198
- }
199
-
200
- .p3 {
201
- padding: 2em;
202
- }
203
-
204
- .p4 {
205
- padding: 4em;
206
- }
207
-
208
- .pv0 {
209
- padding-top: 0;
210
- padding-bottom: 0;
211
- }
212
-
213
- .pv1 {
214
- padding-top: 0.5em;
215
- padding-bottom: 0.5em;
216
- }
217
-
218
- .pv2 {
219
- padding-top: 1em;
220
- padding-bottom: 1em;
221
- }
222
-
223
- .pv3 {
224
- padding-top: 2em;
225
- padding-bottom: 2em;
226
- }
227
-
228
- .pv4 {
229
- padding-top: 4em;
230
- padding-bottom: 4em;
231
- }
232
-
233
- .ph0 {
234
- padding-right: 0;
235
- padding-left: 0;
236
- }
237
-
238
- .ph1 {
239
- padding-right: 0.5em;
240
- padding-left: 0.5em;
241
- }
242
-
243
- .ph2 {
244
- padding-right: 1em;
245
- padding-left: 1em;
246
- }
247
-
248
- .ph3 {
249
- padding-right: 2em;
250
- padding-left: 2em;
251
- }
252
-
253
- .ph4 {
254
- padding-right: 4em;
255
- padding-left: 4em;
256
- }
257
-
258
- /*Misc Utilities*/
259
- .gapless {
260
- border-spacing: 0;
261
- }
262
- .vc {
263
- position: relative;
264
- top: 40%;
265
- transform: perspective(1px) translateY(-45%);
266
- }
267
- .pill {
268
- border-radius: 9999px;
269
- }
270
- .rounded {
271
- border-radius: 4px;
272
- }
273
- .tc {
274
- text-align: center;
275
- }
276
- .mega {
277
- font-size: 3.5em;
278
- }
279
- .large {
280
- font-size: 1.5em;
281
- }
282
- .small {
283
- font-size: 0.8em;
284
- }
285
- .caps {
286
- text-transform: uppercase;
287
- }
288
- .tracked {
289
- letter-spacing: 0.1em;
290
- }
291
- .vh-100 {
292
- height: 100vh;
293
- }
294
-
295
- .inline {
296
- display: inline-block;
297
- }
298
- .bold {
299
- font-weight: 700;
300
- }
301
- .normal {
302
- font-weight: 400;
303
- }
304
- .light {
305
- font-weight: 300;
306
- }
307
- .dim {
308
- opacity: 1;
309
- transition: opacity 0.15s ease-in;
310
- }
311
-
312
- .dim:hover,
313
- .dim:focus {
314
- opacity: 0.5;
315
- transition: opacity 0.15s ease-in;
316
- }
317
- .ta-center {
318
- text-align: center;
319
- }
320
- .ta-left {
321
- text-align: left;
322
- }
323
- .ta-right {
324
- text-align: right;
325
- }
326
-
327
- .w-10 {width: 10% !important;}
328
- .w-20 {width: 20% !important;}
329
- .w-30 {width: 30% !important;}
330
- .w-40 {width: 40% !important;}
331
- .w-48 {width: 48% !important;}
332
- .w-50 {width: 50% !important;}
333
- .w-60 {width: 60% !important;}
334
- .w-70 {width: 70% !important;}
335
- .w-80 {width: 80% !important;}
336
- .w-90 {width: 90% !important;}
337
- .w-100 {width: 100% !important;}
338
- .fg-0 {flex-grow: 0!important;}
339
- .fg-1 {flex-grow: 1!important;}
340
- }
@@ -1,2 +0,0 @@
1
- @use "base";
2
- @use "util";
@@ -1,70 +0,0 @@
1
- /* https://gist.github.com/jonsuh/b2347347480105874cda110b2afc53f4 */
2
- /* Flexbox
3
- // ================================================== */
4
- .d--f { display: flex !important; flex-direction: column; }
5
- .d--if { display: inline-flex !important; flex-direction: column; }
6
-
7
- /* Flex direction */
8
- .fd--r { flex-direction: row; } /* Default */
9
- .fd--rr { flex-direction: row-reverse; }
10
- .fd--c { flex-direction: column; }
11
- .fd--cr { flex-direction: column-reverse; }
12
-
13
-
14
- /* Flex wrap */
15
- .fw--n { flex-wrap: nowrap; } /* Default */
16
- .fw--w { flex-wrap: wrap; }
17
- .fw--wr { flex-wrap: wrap-reverse; }
18
-
19
-
20
- /* Justify content */
21
- .jc--fe { justify-content: flex-end; }
22
- .jc--fs { justify-content: flex-start; } /* Default */
23
- .jc--c { justify-content: center; }
24
- .jc--sa { justify-content: space-around; }
25
- .jc--sb { justify-content: space-between; }
26
-
27
-
28
- /* Align items */
29
- .ai--fs { align-items: flex-start; }
30
- .ai--c { align-items: center; }
31
- .ai--fe { align-items: flex-end; }
32
- .ai--s { align-items: stretch; } /* Default */
33
- .ai--b { align-items: baseline; }
34
-
35
-
36
- /* Flex grow */
37
- .fg--0 { flex-grow: 0; } /* Default */
38
- .fg--1 { flex-grow: 1; }
39
-
40
-
41
- /* Flex shrink */
42
- .fs--0 { flex-shrink: 0; }
43
- .fs--1 { flex-shrink: 1; } /* Default */
44
-
45
-
46
- /* Flex basis */
47
- .fb--a { flex-basis: auto; } /* Default */
48
- .fb--0 { flex-basis: 0; }
49
-
50
-
51
- /* Align self */
52
- .as--a { align-self: auto; } /* Default */
53
- .as--fs { align-self: flex-start; }
54
- .as--c { align-self: center; }
55
- .as--fe { align-self: flex-end; }
56
- .as--s { align-self: stretch; }
57
- .as--b { align-self: baseline }
58
-
59
-
60
- .noselect {
61
- -webkit-touch-callout: none; /* iOS Safari */
62
- -webkit-user-select: none; /* Safari */
63
- -khtml-user-select: none; /* Konqueror HTML */
64
- -moz-user-select: none; /* Old versions of Firefox */
65
- -ms-user-select: none; /* Internet Explorer/Edge */
66
- user-select: none; /* Non-prefixed version, currently
67
- supported by Chrome, Edge, Opera and Firefox */
68
- }
69
-
70
- .hidden {display: none !important;}