kempo 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/.gitattributes +2 -0
  2. package/LICENSE +21 -0
  3. package/README.md +2 -0
  4. package/dist/components/Card.js +1 -0
  5. package/dist/components/CodeEditor.js +1 -0
  6. package/dist/components/Component.js +1 -0
  7. package/dist/components/Dialog.js +1 -0
  8. package/dist/components/FocusCapture.js +1 -0
  9. package/dist/components/Icon.js +1 -0
  10. package/dist/components/Import.js +1 -0
  11. package/dist/components/LazyComponent.js +1 -0
  12. package/dist/components/ReactiveComponent.js +1 -0
  13. package/dist/components/ReactiveLazyComponent.js +1 -0
  14. package/dist/components/Resize.js +1 -0
  15. package/dist/components/Search.js +1 -0
  16. package/dist/components/ShowMore.js +1 -0
  17. package/dist/components/SideMenu.js +1 -0
  18. package/dist/components/Split.js +1 -0
  19. package/dist/components/Tabs.js +1 -0
  20. package/dist/components/ThemeSwitcher.js +1 -0
  21. package/dist/components/Timestamp.js +1 -0
  22. package/dist/components/WebSnippetEditor.js +1 -0
  23. package/dist/index.js +1 -0
  24. package/dist/kempo-hljs.css +1 -0
  25. package/dist/kempo-styles.css +1 -0
  26. package/dist/kempo-vars.css +1 -0
  27. package/dist/kempo.css +1 -0
  28. package/dist/kempo.js +1 -0
  29. package/dist/utils/cli.js +1 -0
  30. package/dist/utils/cookie.js +1 -0
  31. package/dist/utils/debounce.js +1 -0
  32. package/dist/utils/drag.js +1 -0
  33. package/dist/utils/element.js +1 -0
  34. package/dist/utils/formatTimestamp.js +1 -0
  35. package/dist/utils/fuzzyMatch.js +1 -0
  36. package/dist/utils/getPreferredTheme.js +1 -0
  37. package/dist/utils/loadCss.js +1 -0
  38. package/dist/utils/loadScript.js +1 -0
  39. package/dist/utils/object.js +1 -0
  40. package/dist/utils/string.js +1 -0
  41. package/dist/utils/toFunction.js +1 -0
  42. package/dist/utils/type.js +1 -0
  43. package/dist/utils/waitFrames.js +1 -0
  44. package/docs/components/_template.html +22 -0
  45. package/docs/components/card.html +35 -0
  46. package/docs/components/codeeditor.html +29 -0
  47. package/docs/components/component.html +88 -0
  48. package/docs/components/dialog.html +89 -0
  49. package/docs/components/icon.html +73 -0
  50. package/docs/components/import.html +34 -0
  51. package/docs/components/lazycomponent.html +50 -0
  52. package/docs/components/resize.html +107 -0
  53. package/docs/components/show-more.html +92 -0
  54. package/docs/components/sidemenu.html +97 -0
  55. package/docs/components/split.html +70 -0
  56. package/docs/components/tabs.html +33 -0
  57. package/docs/components/websnippeteditor.html +42 -0
  58. package/docs/index.html +17 -0
  59. package/docs/kempo/components/Card.js +1 -0
  60. package/docs/kempo/components/CodeEditor.js +1 -0
  61. package/docs/kempo/components/Collapse.js +1 -0
  62. package/docs/kempo/components/Component.js +1 -0
  63. package/docs/kempo/components/Dialog.js +1 -0
  64. package/docs/kempo/components/FocusCapture.js +1 -0
  65. package/docs/kempo/components/Icon.js +1 -0
  66. package/docs/kempo/components/Import.js +1 -0
  67. package/docs/kempo/components/LazyComponent.js +1 -0
  68. package/docs/kempo/components/ReactiveComponent.js +1 -0
  69. package/docs/kempo/components/ReactiveLazyComponent.js +1 -0
  70. package/docs/kempo/components/Resize.js +1 -0
  71. package/docs/kempo/components/Search.js +1 -0
  72. package/docs/kempo/components/ShowMore.js +1 -0
  73. package/docs/kempo/components/SideMenu.js +1 -0
  74. package/docs/kempo/components/Split.js +1 -0
  75. package/docs/kempo/components/Tabs.js +1 -0
  76. package/docs/kempo/components/ThemeSwitcher.js +1 -0
  77. package/docs/kempo/components/Timestamp.js +1 -0
  78. package/docs/kempo/components/WebSnippetEditor.js +1 -0
  79. package/docs/kempo/icons/arrow-down-double.svg +1 -0
  80. package/docs/kempo/icons/arrow-up-double.svg +1 -0
  81. package/docs/kempo/icons/close.svg +2 -0
  82. package/docs/kempo/icons/compare.svg +1 -0
  83. package/docs/kempo/icons/dark-mode.svg +1 -0
  84. package/docs/kempo/icons/delete.svg +1 -0
  85. package/docs/kempo/icons/filter-off.svg +1 -0
  86. package/docs/kempo/icons/filter.svg +1 -0
  87. package/docs/kempo/icons/light-mode.svg +1 -0
  88. package/docs/kempo/icons/menu.svg +1 -0
  89. package/docs/kempo/icons/pause.svg +1 -0
  90. package/docs/kempo/icons/play.svg +1 -0
  91. package/docs/kempo/icons/search.svg +1 -0
  92. package/docs/kempo/icons/settings.svg +1 -0
  93. package/docs/kempo/icons/storage.svg +1 -0
  94. package/docs/kempo/icons/trash-x.svg +1 -0
  95. package/docs/kempo/index.js +1 -0
  96. package/docs/kempo/kempo-hljs.css +1 -0
  97. package/docs/kempo/kempo-styles.css +1 -0
  98. package/docs/kempo/kempo-vars.css +1 -0
  99. package/docs/kempo/kempo.css +1 -0
  100. package/docs/kempo/kempo.js +1 -0
  101. package/docs/kempo/utils/cli.js +1 -0
  102. package/docs/kempo/utils/cookie.js +1 -0
  103. package/docs/kempo/utils/debounce.js +1 -0
  104. package/docs/kempo/utils/drag.js +1 -0
  105. package/docs/kempo/utils/element.js +1 -0
  106. package/docs/kempo/utils/formatTimestamp.js +1 -0
  107. package/docs/kempo/utils/fuzzyMatch.js +1 -0
  108. package/docs/kempo/utils/getPreferredTheme.js +1 -0
  109. package/docs/kempo/utils/loadCss.js +1 -0
  110. package/docs/kempo/utils/loadScript.js +1 -0
  111. package/docs/kempo/utils/object.js +1 -0
  112. package/docs/kempo/utils/string.js +1 -0
  113. package/docs/kempo/utils/toFunction.js +1 -0
  114. package/docs/kempo/utils/type.js +1 -0
  115. package/docs/kempo/utils/waitFrames.js +1 -0
  116. package/docs/nav-1.inc.html +66 -0
  117. package/docs/nav.inc.html +66 -0
  118. package/docs/search.json +94 -0
  119. package/docs/styles/_template.html +22 -0
  120. package/docs/styles/borders-spacing.html +193 -0
  121. package/docs/styles/buttons.html +113 -0
  122. package/docs/styles/colors.html +65 -0
  123. package/docs/styles/displays-layouts.html +156 -0
  124. package/docs/styles/embed-1.html +35 -0
  125. package/docs/styles/inputs.html +89 -0
  126. package/docs/styles/tables.html +143 -0
  127. package/docs/styles/typography.html +116 -0
  128. package/icons/arrow-down-double.svg +1 -0
  129. package/icons/arrow-up-double.svg +1 -0
  130. package/icons/close.svg +2 -0
  131. package/icons/compare.svg +1 -0
  132. package/icons/dark-mode.svg +1 -0
  133. package/icons/delete.svg +1 -0
  134. package/icons/filter-off.svg +1 -0
  135. package/icons/filter.svg +1 -0
  136. package/icons/light-mode.svg +1 -0
  137. package/icons/menu.svg +1 -0
  138. package/icons/pause.svg +1 -0
  139. package/icons/play.svg +1 -0
  140. package/icons/search.svg +1 -0
  141. package/icons/settings.svg +1 -0
  142. package/icons/storage.svg +1 -0
  143. package/icons/trash-x.svg +1 -0
  144. package/kempo/components/Card.js +65 -0
  145. package/kempo/components/CodeEditor.js +141 -0
  146. package/kempo/components/Component.js +109 -0
  147. package/kempo/components/Dialog.js +277 -0
  148. package/kempo/components/FocusCapture.js +30 -0
  149. package/kempo/components/Icon.js +60 -0
  150. package/kempo/components/Import.js +40 -0
  151. package/kempo/components/LazyComponent.js +40 -0
  152. package/kempo/components/ReactiveComponent.js +11 -0
  153. package/kempo/components/ReactiveLazyComponent.js +11 -0
  154. package/kempo/components/Resize.js +168 -0
  155. package/kempo/components/Search.js +136 -0
  156. package/kempo/components/ShowMore.js +82 -0
  157. package/kempo/components/SideMenu.js +156 -0
  158. package/kempo/components/Split.js +133 -0
  159. package/kempo/components/Tabs.js +254 -0
  160. package/kempo/components/ThemeSwitcher.js +77 -0
  161. package/kempo/components/Timestamp.js +25 -0
  162. package/kempo/components/WebSnippetEditor.js +159 -0
  163. package/kempo/kempo-hljs.css +145 -0
  164. package/kempo/kempo-styles.css +893 -0
  165. package/kempo/kempo-vars.css +154 -0
  166. package/kempo/kempo.js +48 -0
  167. package/kempo/utils/cli.js +54 -0
  168. package/kempo/utils/cookie.js +16 -0
  169. package/kempo/utils/debounce.js +9 -0
  170. package/kempo/utils/drag.js +74 -0
  171. package/kempo/utils/element.js +69 -0
  172. package/kempo/utils/formatTimestamp.js +11 -0
  173. package/kempo/utils/fuzzyMatch.js +55 -0
  174. package/kempo/utils/getPreferredTheme.js +1 -0
  175. package/kempo/utils/loadCss.js +10 -0
  176. package/kempo/utils/loadScript.js +10 -0
  177. package/kempo/utils/object.js +177 -0
  178. package/kempo/utils/string.js +54 -0
  179. package/kempo/utils/toFunction.js +24 -0
  180. package/kempo/utils/type.js +8 -0
  181. package/kempo/utils/waitFrames.js +17 -0
  182. package/package.json +33 -0
  183. package/scripts/build.js +131 -0
  184. package/scripts/docs.js +14 -0
  185. package/test/components/SuiteList.js +26 -0
  186. package/test/components/Test.js +357 -0
  187. package/test/index.html +49 -0
  188. package/test/index.js +25 -0
  189. package/test/suite.html +45 -0
  190. package/test/suites.inc.html +4 -0
  191. package/test/tests/components/Component.test.js +138 -0
  192. package/test/tests/utils/cli.test.js +113 -0
  193. package/test/tests/utils/cookie.test.js +87 -0
  194. package/test/tests/utils/debounce.test.js +71 -0
@@ -0,0 +1,893 @@
1
+ /*
2
+ Reset
3
+ */
4
+ *, *::before, *::after {
5
+ font-family: inherit;
6
+ box-sizing: border-box;
7
+ line-height: var(--line-height);
8
+ }
9
+ body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dd, dt, blockquote, pre, code {
10
+ margin: 0;
11
+ padding: 0.1px;
12
+ }
13
+ html {
14
+ font-family: var(--ff_body);
15
+ font-size: var(--fs_base);
16
+ font-weight: var(--fw_base);
17
+ color: var(--tc);
18
+ }
19
+ ::selection {
20
+ background: var(--c_highlight);
21
+ }
22
+ body {
23
+ min-height: 100vh;
24
+ background-color: var(--c_bg);
25
+ color: var(--tc);
26
+ overflow-y: scroll;
27
+ font-family: var(--ff_body);
28
+ position: relative;
29
+ }
30
+ main, .container {
31
+ max-width: var(--container_width);
32
+ margin-left: auto;
33
+ margin-right: auto;
34
+ padding-top: var(--spacer);
35
+ padding-left: var(--spacer);
36
+ padding-right: var(--spacer);
37
+ }
38
+ nav > a,
39
+ nav > .link {
40
+ display: inline-block;
41
+ padding: var(--spacer) !important;
42
+ text-decoration: none;
43
+ }
44
+ menu {
45
+ margin: 0;
46
+ padding: 0;
47
+ }
48
+ menu a {
49
+ display: block;
50
+ padding: var(--spacer_q);
51
+ text-decoration: none;
52
+ color: inherit;
53
+ }
54
+ summary {
55
+ cursor: pointer;
56
+ margin-bottom: var(--sapcer);
57
+ outline: none;
58
+ box-shadow: 0 0 0 transparent;
59
+ transition: box-shadow var(--animation_ms);
60
+ border-radius: var(--radius);
61
+ }
62
+ summary:focus {
63
+ box-shadow: var(--focus_shadow);
64
+ }
65
+
66
+ /*
67
+ Display / Flex
68
+ */
69
+ .d-b { display: block !important }
70
+ .d-ib { display: inline-block !important }
71
+ .d-g { display: grid !important }
72
+ .d-i { display: inline !important }
73
+ .d-n { display: none !important }
74
+ .d-f {
75
+ display: flex !important;
76
+ flex-wrap: wrap;
77
+ }
78
+ .d-if {
79
+ display: inline-flex !important;
80
+ flex-wrap: wrap;
81
+ }
82
+ .flex, .flex-1 { flex: 1 1 auto }
83
+ .flex-0 { flex: 0 0 }
84
+ .flex-2 { flex: 2 2 auto }
85
+ .flex-3 { flex: 3 3 auto }
86
+ .flex-4 { flex: 4 4 auto }
87
+ .flex-5 { flex: 5 5 auto }
88
+ .flex-6 { flex: 6 6 auto }
89
+ .flex-7 { flex: 7 7 auto }
90
+ .flex-8 { flex: 8 8 auto }
91
+ .flex-9 { flex: 9 9 auto }
92
+ .flex-10 { flex: 10 10 auto }
93
+ @media (min-width: 1024px){
94
+ .d-d-b { display: block !important }
95
+ .d-d-ib { display: inline-block !important }
96
+ .d-d-g { display: grid !important }
97
+ .d-d-i { display: inline !important }
98
+ .d-d-n { display: none !important }
99
+ .d-d-if {
100
+ display: inline-flex !important;
101
+ flex-wrap: wrap;
102
+ }
103
+ .d-d-f {
104
+ display: flex !important;
105
+ flex-wrap: wrap;
106
+ }
107
+ .d-flex, .d-flex-1 { flex: 1 1 auto }
108
+ .d-flex-0 { flex: 0 0 }
109
+ .d-flex-2 { flex: 2 2 auto }
110
+ .d-flex-3 { flex: 3 3 auto }
111
+ .d-flex-4 { flex: 4 4 auto }
112
+ .d-flex-5 { flex: 5 5 auto }
113
+ .d-flex-6 { flex: 6 6 auto }
114
+ .d-flex-7 { flex: 7 7 auto }
115
+ .d-flex-8 { flex: 8 8 auto }
116
+ .d-flex-9 { flex: 9 9 auto }
117
+ .d-flex-10 { flex: 10 10 auto }
118
+ }
119
+ @media (min-width: 769px) and (max-width: 1023px) {
120
+ .t-d-b { display: block !important }
121
+ .t-d-ib { display: inline-block !important }
122
+ .t-d-g { display: grid !important }
123
+ .t-d-i { display: inline !important }
124
+ .t-d-n { display: none !important }
125
+ .t-d-if {
126
+ display: inline-flex !important;
127
+ flex-wrap: wrap;
128
+ }
129
+ .t-d-f {
130
+ display: flex !important;
131
+ flex-wrap: wrap;
132
+ }
133
+ .t-flex, .t-flex-1 { flex: 1 1 auto }
134
+ .t-flex-0 { flex: 0 0 }
135
+ .t-flex-2 { flex: 2 2 auto }
136
+ .t-flex-3 { flex: 3 3 auto }
137
+ .t-flex-4 { flex: 4 4 auto }
138
+ .t-flex-5 { flex: 5 5 auto }
139
+ .t-flex-6 { flex: 6 6 auto }
140
+ .t-flex-7 { flex: 7 7 auto }
141
+ .t-flex-8 { flex: 8 8 auto }
142
+ .t-flex-9 { flex: 9 9 auto }
143
+ .t-flex-10 { flex: 10 10 auto }
144
+ }
145
+ @media (max-width: 768px) {
146
+ .m-d-b { display: block !important }
147
+ .m-d-ib { display: inline-block !important }
148
+ .m-d-g { display: grid !important }
149
+ .m-d-i { display: inline !important }
150
+ .m-d-n { display: none !important }
151
+ .m-d-if {
152
+ display: inline-flex !important;
153
+ flex-wrap: wrap;
154
+ }
155
+ .m-d-f {
156
+ display: flex !important;
157
+ flex-wrap: wrap;
158
+ }
159
+ .m-flex, .m-flex-1 { flex: 1 1 auto }
160
+ .m-flex-0 { flex: 0 0 }
161
+ .m-flex-2 { flex: 2 2 auto }
162
+ .m-flex-3 { flex: 3 3 auto }
163
+ .m-flex-4 { flex: 4 4 auto }
164
+ .m-flex-5 { flex: 5 5 auto }
165
+ .m-flex-6 { flex: 6 6 auto }
166
+ .m-flex-7 { flex: 7 7 auto }
167
+ .m-flex-8 { flex: 8 8 auto }
168
+ .m-flex-9 { flex: 9 9 auto }
169
+ .m-flex-10 { flex: 10 10 auto }
170
+ }
171
+
172
+ .fixed {
173
+ position: fixed;
174
+ top: 0;
175
+ width: 100%;
176
+ z-index: 99;
177
+ }
178
+
179
+
180
+ /*
181
+ Typography
182
+ */
183
+ .small,
184
+ small {
185
+ font-size: var(--fs_small) !important;
186
+ }
187
+ .large {
188
+ font-size: var(--fs_large) !important;
189
+ }
190
+ h1, h2, h3, h4, h5, h6,
191
+ .h1, .h2, .h3, .h4, .h5, .h6,
192
+ b, strong {
193
+ font-weight: var(--fw_bold);
194
+ }
195
+ h1, h2, h3, h4, h5, h6,
196
+ .h1, .h2, .h3, .h4, .h5, .h6 {
197
+ font-family: var(--ff_heading);
198
+ }
199
+ .h1, h1 { font-size: var(--fs_h1) }
200
+ .h2, h2 { font-size: var(--fs_h2) }
201
+ .h3, h3 { font-size: var(--fs_h3) }
202
+ .h4, h4 { font-size: var(--fs_h4) }
203
+ .h5, h5 { font-size: var(--fs_h5) }
204
+ .h6, h6 { font-size: var(--fs_h6) }
205
+ p, h1, h2, h3, h4, h5, h6, blockquote, ul, ol, dl, pre, hr, dd {
206
+ margin-bottom: var(--spacer);
207
+ }
208
+ ul, ol, dl {
209
+ padding-left: calc(1.5 * var(--spacer));
210
+ }
211
+ blockquote {
212
+ border-left: 2px solid var(--c_border);
213
+ padding: var(--spacer);
214
+ }
215
+ mark {
216
+ background-color: var(--c_highlight);
217
+ color: inherit;
218
+ }
219
+ pre, code {
220
+ font-family: var(--ff_mono);
221
+ }
222
+ code {
223
+ background-color: var(--c_bg__alt);
224
+ border-radius: var(--radius);
225
+ word-break: break-word;
226
+ padding: calc(0.125 * var(--spacer)) var(--spacer_q);
227
+ }
228
+ pre code {
229
+ display: block;
230
+ padding: var(--spacer);
231
+ word-break: normal;
232
+ overflow: auto;
233
+ white-space: pre-wrap;
234
+ }
235
+ output {
236
+ display: block;
237
+ border: 1px solid var(--c_border);
238
+ border-radius: var(--radius);
239
+ padding: var(--spacer) var(--spacer) 0 var(--spacer);
240
+ }
241
+ .ta-left { text-align: left }
242
+ .ta-center { text-align: center }
243
+ .ta-right { text-align: right }
244
+ a,
245
+ .link {
246
+ color: var(--tc_link);
247
+ box-shadow: 0 0 0 transparent;
248
+ transition: color var(--animation_ms), box-shadow var(--animation_ms);
249
+ outline: none;
250
+ border-radius: var(--radius);
251
+ text-decoration: var(--link_decoration);
252
+ }
253
+ a:hover,
254
+ .link:hover {
255
+ color: var(--tc_link__hover);
256
+ }
257
+ a:focus,
258
+ .link:focus-visible {
259
+ box-shadow: var(--focus_shadow);
260
+ }
261
+ hr {
262
+ border: none;
263
+ border-top: 1px solid var(--c_border);
264
+ }
265
+ small {
266
+ font-size: 0.75em;
267
+ }
268
+ dl {
269
+ padding: 0;
270
+ margin: 0;
271
+ }
272
+ dt, dd {
273
+ padding-left: var(--spacer);
274
+ border-left: 2px solid var(--c_border);
275
+ }
276
+ dt {
277
+ padding-top: var(--spacer_h);
278
+ }
279
+ dd {
280
+ padding-bottom: var(--spacer_h);
281
+ }
282
+ dd + dd {
283
+ margin-top: calc(-1 * var(--spacer));
284
+ padding-top: 0;
285
+ }
286
+ li ul {
287
+ margin-bottom: 0;
288
+ }
289
+ .td-n {
290
+ text-decoration: none;
291
+ }
292
+
293
+ /*
294
+ Spacing, Borders and Radius
295
+ */
296
+ .p, .pt, .py { padding-top: var(--spacer) !important }
297
+ .p, .pr, .px { padding-right: var(--spacer) !important }
298
+ .p, .pb, .py { padding-bottom: var(--spacer) !important }
299
+ .p, .pl, .px { padding-left: var(--spacer) !important }
300
+ .ph, .pth, .pyh { padding-top: var(--spacer_h) !important }
301
+ .ph, .prh, .pxh { padding-right: var(--spacer_h) !important }
302
+ .ph, .pbh, .pyh { padding-bottom: var(--spacer_h) !important }
303
+ .ph, .plh, .pxh { padding-left: var(--spacer_h) !important }
304
+ .pq, .ptq, .pyq { padding-top: var(--spacer_q) !important }
305
+ .pq, .prq, .pxq { padding-right: var(--spacer_q) !important }
306
+ .pq, .pbq, .pyq { padding-bottom: var(--spacer_q) !important }
307
+ .pq, .plq, .pxq { padding-left: var(--spacer_q) !important }
308
+ .p0, .pt0, .py0 { padding-top: 0.1px !important }
309
+ .p0, .pr0, .px0 { padding-right: 0.1px !important }
310
+ .p0, .pb0, .py0 { padding-bottom: 0.1px !important }
311
+ .p0, .pl0, .px0 { padding-left: 0.1px !important }
312
+ .m, .mt, .my { margin-top: var(--spacer) !important }
313
+ .m, .mr, .mx { margin-right: var(--spacer) !important }
314
+ .m, .mb, .my { margin-bottom: var(--spacer) !important }
315
+ .m, .ml, .mx { margin-left: var(--spacer) !important }
316
+ .mh, .mth, .myh { margin-top: var(--spacer_h) !important }
317
+ .mh, .mrh, .mxh { margin-right: var(--spacer_h) !important }
318
+ .mh, .mbh, .myh { margin-bottom: var(--spacer_h) !important }
319
+ .mh, .mlh, .mxh { margin-left: var(--spacer_h) !important }
320
+ .mq, .mtq, .myq { margin-top: var(--spacer_q) !important }
321
+ .mq, .mrq, .mxq { margin-right: var(--spacer_q) !important }
322
+ .mq, .mbq, .myq { margin-bottom: var(--spacer_q) !important }
323
+ .mq, .mlq, .mxq { margin-left: var(--spacer_q) !important }
324
+ .m0, .mt0, .my0 { margin-top: 0 !important }
325
+ .m0, .mr0, .mx0 { margin-right: 0 !important }
326
+ .m0, .mb0, .my0 { margin-bottom: 0 !important }
327
+ .m0, .ml0, .mx0 { margin-left: 0 !important }
328
+ .-m, .-mt, .-my { margin-top: calc(-1 * var(--spacer)) !important }
329
+ .-m, .-mr, .-mx { margin-right: calc(-1 * var(--spacer)) !important }
330
+ .-m, .-mb, .-my { margin-bottom: calc(-1 * var(--spacer)) !important }
331
+ .-m, .-ml, .-mx { margin-left: calc(-1 * var(--spacer)) !important }
332
+ .b, .bt, .by { border-top: 1px solid var(--c_border) !important }
333
+ .b, .br, .bx { border-right: 1px solid var(--c_border) !important }
334
+ .b, .bb, .by { border-bottom: 1px solid var(--c_border) !important }
335
+ .b, .bl, .bx { border-left: 1px solid var(--c_border) !important }
336
+ .b0, .bt0, .by0 { border-top: none !important }
337
+ .b0, .br0, .bx0 { border-right: none !important }
338
+ .b0, .bb0, .by0 { border-bottom: none !important }
339
+ .b0, .bl0, .bx0 { border-left: none !important }
340
+ .r, .rtl, .rt, .rl { border-top-left-radius: var(--radius) !important }
341
+ .r, .rtr, .rt, .rr { border-top-right-radius: var(--radius) !important }
342
+ .r, .rbr, .rb, .rr { border-bottom-right-radius: var(--radius) !important }
343
+ .r, .rbl, .rb, .rl { border-bottom-left-radius: var(--radius) !important }
344
+ .r0, .rtl0, .rt0, .rl0 { border-top-left-radius: 0 !important }
345
+ .r0, .rtr0, .rt0, .rr0 { border-top-right-radius: 0 !important }
346
+ .r0, .rbr0, .rb0, .rr0 { border-bottom-right-radius: 0 !important }
347
+ .r0, .rbl0, .rb0, .rl0 { border-bottom-left-radius: 0 !important }
348
+ .round { border-radius: 9999rem !important }
349
+
350
+ /*
351
+ Rows and Columns
352
+ */
353
+ .row {
354
+ display: flex;
355
+ flex-wrap: wrap;
356
+ }
357
+ .col{ flex: 1 1 }
358
+ .span-1{min-width:8.333%;flex-basis:8.333%}
359
+ .span-2{min-width:16.666%;flex-basis:16.666%}
360
+ .span-3{min-width:25%;flex-basis:25%}
361
+ .span-4{min-width:33.333%;flex-basis:33.333%}
362
+ .span-5{min-width:41.666%;flex-basis:41.666%}
363
+ .span-6{min-width:50%;flex-basis:50%}
364
+ .span-7{min-width:58.333%;flex-basis:58.333%}
365
+ .span-8{min-width:66.666%;flex-basis:66.666%}
366
+ .span-9{min-width:75%;flex-basis:75%}
367
+ .span-10{min-width:83.333%;flex-basis:83.333%}
368
+ .span-11{min-width:91.333%;flex-basis:91.333%}
369
+ .span-12{min-width:100%;flex-basis:100%}
370
+ @media (min-width: 1024px){
371
+ .d-span-1{min-width:8.333%;flex-basis:8.333%}
372
+ .d-span-2{min-width:16.666%;flex-basis:16.666%}
373
+ .d-span-3{min-width:25%;flex-basis:25%}
374
+ .d-span-4{min-width:33.333%;flex-basis:33.333%}
375
+ .d-span-5{min-width:41.666%;flex-basis:41.666%}
376
+ .d-span-6{min-width:50%;flex-basis:50%}
377
+ .d-span-7{min-width:58.333%;flex-basis:58.333%}
378
+ .d-span-8{min-width:66.666%;flex-basis:66.666%}
379
+ .d-span-9{min-width:75%;flex-basis:75%}
380
+ .d-span-10{min-width:83.333%;flex-basis:83.333%}
381
+ .d-span-11{min-width:91.333%;flex-basis:91.333%}
382
+ .d-span-12{min-width:100%;flex-basis:100%}
383
+ }
384
+ @media (min-width: 769px) and (max-width: 1023px) {
385
+ .t-span-1{min-width:8.333%;flex-basis:8.333%}
386
+ .t-span-2{min-width:16.666%;flex-basis:16.666%}
387
+ .t-span-3{min-width:25%;flex-basis:25%}
388
+ .t-span-4{min-width:33.333%;flex-basis:33.333%}
389
+ .t-span-5{min-width:41.666%;flex-basis:41.666%}
390
+ .t-span-6{min-width:50%;flex-basis:50%}
391
+ .t-span-7{min-width:58.333%;flex-basis:58.333%}
392
+ .t-span-8{min-width:66.666%;flex-basis:66.666%}
393
+ .t-span-9{min-width:75%;flex-basis:75%}
394
+ .t-span-10{min-width:83.333%;flex-basis:83.333%}
395
+ .t-span-11{min-width:91.333%;flex-basis:91.333%}
396
+ .t-span-12{min-width:100%;flex-basis:100%}
397
+ }
398
+ @media (max-width: 768px) {
399
+ .m-span-1{min-width:8.333%;flex-basis:8.333%}
400
+ .m-span-2{min-width:16.666%;flex-basis:16.666%}
401
+ .m-span-3{min-width:25%;flex-basis:25%}
402
+ .m-span-4{min-width:33.333%;flex-basis:33.333%}
403
+ .m-span-5{min-width:41.666%;flex-basis:41.666%}
404
+ .m-span-6{min-width:50%;flex-basis:50%}
405
+ .m-span-7{min-width:58.333%;flex-basis:58.333%}
406
+ .m-span-8{min-width:66.666%;flex-basis:66.666%}
407
+ .m-span-9{min-width:75%;flex-basis:75%}
408
+ .m-span-10{min-width:83.333%;flex-basis:83.333%}
409
+ .m-span-11{min-width:91.333%;flex-basis:91.333%}
410
+ .m-span-12{min-width:100%;flex-basis:100%}
411
+ }
412
+
413
+ .cols-2 { grid-template-columns: repeat(2, 1fr); }
414
+ .cols-3 { grid-template-columns: repeat(3, 1fr); }
415
+ .cols-4 { grid-template-columns: repeat(4, 1fr); }
416
+ .cols-5 { grid-template-columns: repeat(5, 1fr); }
417
+ .cols-6 { grid-template-columns: repeat(6, 1fr); }
418
+ .cols-7 { grid-template-columns: repeat(7, 1fr); }
419
+ .cols-8 { grid-template-columns: repeat(8, 1fr); }
420
+ .cols-9 { grid-template-columns: repeat(9, 1fr); }
421
+ .cols-10 { grid-template-columns: repeat(10, 1fr); }
422
+ @media (min-width: 1024px){
423
+ .d-cols-2 { grid-template-columns: repeat(2, 1fr); }
424
+ .d-cols-3 { grid-template-columns: repeat(3, 1fr); }
425
+ .d-cols-4 { grid-template-columns: repeat(4, 1fr); }
426
+ .d-cols-5 { grid-template-columns: repeat(5, 1fr); }
427
+ .d-cols-6 { grid-template-columns: repeat(6, 1fr); }
428
+ .d-cols-7 { grid-template-columns: repeat(7, 1fr); }
429
+ .d-cols-8 { grid-template-columns: repeat(8, 1fr); }
430
+ .d-cols-9 { grid-template-columns: repeat(9, 1fr); }
431
+ .d-cols-10 { grid-template-columns: repeat(10, 1fr); }
432
+ }
433
+ @media (min-width: 769px) and (max-width: 1023px) {
434
+ .t-cols-2 { grid-template-columns: repeat(2, 1fr); }
435
+ .t-cols-3 { grid-template-columns: repeat(3, 1fr); }
436
+ .t-cols-4 { grid-template-columns: repeat(4, 1fr); }
437
+ .t-cols-5 { grid-template-columns: repeat(5, 1fr); }
438
+ .t-cols-6 { grid-template-columns: repeat(6, 1fr); }
439
+ .t-cols-7 { grid-template-columns: repeat(7, 1fr); }
440
+ .t-cols-8 { grid-template-columns: repeat(8, 1fr); }
441
+ .t-cols-9 { grid-template-columns: repeat(9, 1fr); }
442
+ .t-cols-10 { grid-template-columns: repeat(10, 1fr); }
443
+ }
444
+ @media (max-width: 768px) {
445
+ .m-cols-2 { grid-template-columns: repeat(2, 1fr); }
446
+ .m-cols-3 { grid-template-columns: repeat(3, 1fr); }
447
+ .m-cols-4 { grid-template-columns: repeat(4, 1fr); }
448
+ .m-cols-5 { grid-template-columns: repeat(5, 1fr); }
449
+ .m-cols-6 { grid-template-columns: repeat(6, 1fr); }
450
+ .m-cols-7 { grid-template-columns: repeat(7, 1fr); }
451
+ .m-cols-8 { grid-template-columns: repeat(8, 1fr); }
452
+ .m-cols-9 { grid-template-columns: repeat(9, 1fr); }
453
+ .m-cols-10 { grid-template-columns: repeat(10, 1fr); }
454
+ }
455
+
456
+
457
+ /*
458
+ Buttons
459
+ */
460
+ button:not(.no-btn):not(.no-style),
461
+ .btn,
462
+ input[type="button"],
463
+ input[type="submit"],
464
+ input[type="reset"] {
465
+ display: inline-block;
466
+ padding: var(--spacer_h) var(--spacer);
467
+ background-color: var(--btn_bg);
468
+ border: 1px solid var(--btn_border);
469
+ cursor: pointer;
470
+ outline: none;
471
+ border-radius: var(--radius);
472
+ color: var(--btn_tc);
473
+ transition: background-color var(--animation_ms), box-shadow var(--animation_ms);
474
+ text-decoration: none;
475
+ box-shadow: var(--btn_box_shadow);
476
+ font-size: inherit;
477
+ vertical-align: middle;
478
+ }
479
+ button:not(.no-btn):not(.no-style):hover,
480
+ .btn:hover,
481
+ input[type="button"]:hover,
482
+ input[type="submit"]:hover,
483
+ input[type="reset"]:hover {
484
+ background-color: var(--btn_bg__hover);
485
+ color: var(--btn_tc);
486
+ box-shadow: var(--btn_box_shadow__hover);
487
+ }
488
+ button:not(.no-btn):not(.no-style):focus,
489
+ .btn:focus,
490
+ input[type="button"]:focus,
491
+ input[type="submit"]:focus,
492
+ input[type="reset"]:focus {
493
+ box-shadow: var(--btn_box_shadow__hover), var(--focus_shadow);
494
+ z-index: 1;
495
+ }
496
+ button:not(.no-btn):not(.no-style):disabled,
497
+ .btn[disabled],
498
+ input[type="button"]:disabled,
499
+ input[type="submit"]:disabled,
500
+ input[type="reset"]:disabled {
501
+ opacity: 0.6;
502
+ }
503
+ button:not(.no-btn).primary,
504
+ .btn.primary,
505
+ input[type="button"].primary,
506
+ input[type="submit"].primary,
507
+ input[type="reset"].primary {
508
+ background-color: var(--c_primary);
509
+ --btn_tc: var(--tc_on_primary);
510
+ }
511
+ button:not(.no-btn).primary:hover,
512
+ .btn.primary:hover,
513
+ input[type="button"].primary:hover,
514
+ input[type="submit"].primary:hover,
515
+ input[type="reset"].primary:hover {
516
+ background-color: var(--c_primary__hover);
517
+ }
518
+ button:not(.no-btn).secondary,
519
+ .btn.secondary,
520
+ input[type="button"].secondary,
521
+ input[type="submit"].secondary,
522
+ input[type="reset"].secondary {
523
+ background-color: var(--c_secondary);
524
+ --btn_tc: var(--tc_on_secondary);
525
+ }
526
+ button:not(.no-btn).secondary:hover,
527
+ .btn.secondary:hover,
528
+ input[type="button"].secondary:hover,
529
+ input[type="submit"].secondary:hover,
530
+ input[type="reset"].secondary:hover {
531
+ background-color: var(--c_secondary__hover);
532
+ }
533
+ button:not(.no-btn).success,
534
+ .btn.success,
535
+ input[type="button"].success,
536
+ input[type="submit"].success,
537
+ input[type="reset"].success {
538
+ background-color: var(--c_success);
539
+ --btn_tc: var(--tc_on_success);
540
+ }
541
+ button:not(.no-btn).success:hover,
542
+ .btn.success:hover,
543
+ input[type="button"].success:hover,
544
+ input[type="submit"].success:hover,
545
+ input[type="reset"].success:hover {
546
+ background-color: var(--c_success__hover);
547
+ }
548
+ button:not(.no-btn).warning,
549
+ .btn.warning,
550
+ input[type="button"].warning,
551
+ input[type="submit"].warning,
552
+ input[type="reset"].warning {
553
+ background-color: var(--c_warning);
554
+ --btn_tc: var(--tc_on_warning);
555
+ }
556
+ button:not(.no-btn).warning:hover,
557
+ .btn.warning:hover,
558
+ input[type="button"].warning:hover,
559
+ input[type="submit"].warning:hover,
560
+ input[type="reset"].warning:hover {
561
+ background-color: var(--c_warning__hover);
562
+ }
563
+ button:not(.no-btn).danger,
564
+ .btn.danger,
565
+ input[type="button"].danger,
566
+ input[type="submit"].danger,
567
+ input[type="reset"].danger {
568
+ background-color: var(--c_danger);
569
+ --btn_tc: var(--tc_on_danger);
570
+ }
571
+ button:not(.no-btn).danger:hover,
572
+ .btn.danger:hover,
573
+ input[type="button"].danger:hover,
574
+ input[type="submit"].danger:hover,
575
+ input[type="reset"].danger:hover {
576
+ background-color: var(--c_danger__hover);
577
+ }
578
+ button:not(.no-btn):not(.no-style).link,
579
+ .btn.link,
580
+ input[type="button"].link,
581
+ input[type="submit"].link,
582
+ input[type="reset"].link {
583
+ background-color: transparent;
584
+ color: inherit;
585
+ box-shadow: 0 0 0 transparent;
586
+ border: none;
587
+ padding: 0.1px;
588
+ font-size: inherit;
589
+ }
590
+ .btn-grp {
591
+ display: inline-flex;
592
+ }
593
+ .btn-grp button:not(.no-btn):not(:first-child),
594
+ .btn-grp .btn:not(:first-child),
595
+ .btn-grp input[type="button"]:not(:first-child),
596
+ .btn-grp input[type="submit"]:not(:first-child),
597
+ .btn-grp input[type="reset"]:not(:first-child) {
598
+ border-top-left-radius: 0;
599
+ border-bottom-left-radius: 0;
600
+ border-left: 1px solid rgba(0, 0, 0, 0.25);
601
+ }
602
+ .btn-grp button:not(.no-btn):not(:last-child),
603
+ .btn-grp .btn:not(:last-child),
604
+ .btn-grp input[type="button"]:not(:last-child),
605
+ .btn-grp input[type="submit"]:not(:last-child),
606
+ .btn-grp input[type="reset"]:not(:last-child) {
607
+ border-top-right-radius: 0;
608
+ border-bottom-right-radius: 0;
609
+ }
610
+ .no-btn {
611
+ display: inline;
612
+ border: none;
613
+ background-color: transparent;
614
+ padding: 0;
615
+ font-size: inherit;
616
+ font-family: inherit;
617
+ cursor: pointer;
618
+ outline: none;
619
+ box-shadow: 0 0 0 transparent;
620
+ transition: box-shadow var(--animation_ms);
621
+ border-radius: 0;
622
+ text-align: left;
623
+ color: inherit;
624
+ }
625
+ .no-btn:focus {
626
+ box-shadow: var(--focus_shadow);
627
+ }
628
+ .full {
629
+ display: block;
630
+ width: 100%;
631
+ }
632
+
633
+ /*
634
+ Inputs
635
+ */
636
+ input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]),
637
+ select,
638
+ textarea {
639
+ display: block;
640
+ width: 100%;
641
+ background-color: var(--input_bg);
642
+ color: var(--input_tc);
643
+ border: var(--input_border_width) solid var(--c_border);
644
+ padding: var(--spacer_h) var(--spacer);
645
+ margin-bottom: var(--spacer);
646
+ border-radius: var(--radius);
647
+ outline: none;
648
+ transition: box-shadow var(--animation_ms);
649
+ }
650
+ input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]):focus,
651
+ select:focus,
652
+ textarea:focus,
653
+ input[type="checkbox"]:focus,
654
+ input[type="radio"]:focus {
655
+ box-shadow: var(--focus_shadow);
656
+ }
657
+ input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]):disabled,
658
+ select:disabled,
659
+ textarea:disabled,
660
+ input[type="checkbox"]:disabled,
661
+ input[type="radio"]:disabled {
662
+ opacity: 0.6;
663
+ }
664
+ textarea,
665
+ select[multiple] {
666
+ resize: vertical;
667
+ max-height: 75vh;
668
+ height: 6rem;
669
+ min-height: 4rem;
670
+ }
671
+ select[multiple] {
672
+ height: 8rem;
673
+ }
674
+ select {
675
+ cursor: pointer;
676
+ }
677
+ label {
678
+ display: block;
679
+ cursor: pointer;
680
+ padding-bottom: var(--spacer_h);
681
+ }
682
+ label.checkbox,
683
+ label.radio {
684
+ display: inline-block;
685
+ vertical-align: top;
686
+ width: calc(100% - 1em - (2 * var(--spacer_h)) - 6px);
687
+ margin-top: 2px;
688
+ }
689
+ input[type="checkbox"],
690
+ input[type="radio"] {
691
+ display: inline-block;
692
+ width: 1em;
693
+ height: 1em;
694
+ cursor: pointer;
695
+ vertical-align: top;
696
+ outline: none;
697
+ accent-color: var(--c_input_accent);
698
+ margin: var(--spacer_q) var(--spacer_h);
699
+ }
700
+ select option {
701
+ padding: var(--spacer_h) var(--spacer);
702
+ }
703
+ select[multiple] {
704
+ padding: 0.1px;
705
+ }
706
+ select[multiple] option {
707
+ padding: var(--spacer_h) var(--spacer);
708
+ }
709
+ input[type="color"] {
710
+ padding: 0 !important;
711
+ height: 2.35em;
712
+ }
713
+ input[type="color"]::-webkit-color-swatch-wrapper {
714
+ padding: 0;
715
+ }
716
+ input[type="color"]::-webkit-color-swatch {
717
+ border-radius: var(--radius, 0.25rem);
718
+ cursor: pointer;
719
+ }
720
+
721
+ /*
722
+ Tables
723
+ */
724
+ .table-wrapper {
725
+ overflow-x: auto;
726
+ }
727
+ table {
728
+ width: 100%;
729
+ border-spacing: 0;
730
+ }
731
+ th {
732
+ font-weight: var(--fw_bold);
733
+ text-align: left;
734
+ background-color: var(--c_bg__alt);
735
+ border-top: 1px solid var(--c_border);
736
+ }
737
+ th, td {
738
+ padding: var(--spacer_h) var(--spacer);
739
+ border-bottom: 1px solid var(--c_border);
740
+ border-left: 1px solid var(--c_border);
741
+ }
742
+ th:last-child,
743
+ td:last-child {
744
+ border-right: 1px solid var(--c_border);
745
+ }
746
+ th:first-child {
747
+ border-top-left-radius: var(--radius);
748
+ }
749
+ th:last-child {
750
+ border-top-right-radius: var(--radius);
751
+ }
752
+ tr:last-child td:first-child {
753
+ border-bottom-left-radius: var(--radius);
754
+ }
755
+ tr:last-child td:last-child {
756
+ border-bottom-right-radius: var(--radius);
757
+ }
758
+
759
+ /*
760
+ Colors
761
+ */
762
+ .bg-default {
763
+ background-color: var(--c_bg);
764
+ color: var(--tc);
765
+ }
766
+ .bg-alt {
767
+ background-color: var(--c_bg__alt);
768
+ color: var(--tc);
769
+ }
770
+ .bg-inv {
771
+ --c_primary: var(--c_primary__inv);
772
+ --c_primary__hover: var(--c_primary__inv__hover);
773
+ --c_secondary: var(--c_secondary__inv);
774
+ --c_secondary__hover: var(--c_secondary__inv__hover);
775
+ --c_success: var(--c_success__inv);
776
+ --c_success__hover: var(--c_success__inv__hover);
777
+ --c_warning: var(--c_warning__inv);
778
+ --c_warning__hover: var(--c_warning__inv__hover);
779
+ --c_danger: var(--c_danger__inv);
780
+ --c_danger__hover: var(--c_danger__inv__hover);
781
+ --tc_link: var(--tc_link__inv);
782
+ --tc_link__hover: var(--tc_link__inv__hover);
783
+
784
+ background-color: var(--c_bg__inv);
785
+ color: var(--tc_inv);
786
+ }
787
+ .bg-primary {
788
+ --tc_link: var(--tc_on_primary);
789
+ --tc_link__hover: var(--tc_on_primary);
790
+ --c_border: var(--tc_on_primary);
791
+
792
+ background-color: var(--c_primary);
793
+ color: var(--tc_on_primary);
794
+ --focus_shadow: var(--focus_shadow_on_primary);
795
+ }
796
+ .bg-secondary {
797
+ --tc_link: var(--tc_on_secondary);
798
+ --tc_link__hover: var(--tc_on_secondary);
799
+
800
+ background-color: var(--c_secondary);
801
+ color: var(--tc_on_secondary);
802
+ }
803
+ .bg-success {
804
+ --tc_link: var(--tc_on_success);
805
+ --tc_link__hover: var(--tc_on_success);
806
+
807
+ background-color: var(--c_success);
808
+ color: var(--tc_on_success);
809
+ }
810
+ .bg-warning {
811
+ --tc_link: var(--tc_on_warning);
812
+ --tc_link__hover: var(--tc_on_warning);
813
+
814
+ background-color: var(--c_warning);
815
+ color: var(--tc_on_warning);
816
+ }
817
+ .bg-danger {
818
+ --tc_link: var(--tc_on_danger);
819
+ --tc_link__hover: var(--tc_on_danger);
820
+
821
+ background-color: var(--c_danger);
822
+ color: var(--tc_on_danger);
823
+ }
824
+ .tc-default {
825
+ color: var(--tc);
826
+ }
827
+ .tc-inv {
828
+ color: var(--tc__inv);
829
+ }
830
+ .tc-primary {
831
+ color: var(--tc_primary);
832
+ }
833
+ .is-inv .tc-primary,
834
+ .bg-inv .tc-primary {
835
+ color: var(--tc_primary__inv);
836
+ }
837
+ .tc-secondary {
838
+ color: var(--tc_secondary);
839
+ }
840
+ .is-inv .tc-secondary,
841
+ .bg-inv .tc-secondary {
842
+ color: var(--tc_secondary__inv);
843
+ }
844
+ .tc-success {
845
+ color: var(--tc_success);
846
+ }
847
+ .is-inv .tc-success,
848
+ .bg-inv .tc-success {
849
+ color: var(--tc_success__inv);
850
+ }
851
+ .tc-warning {
852
+ color: var(--tc_warning);
853
+ }
854
+ .is-inv .tc-warning,
855
+ .bg-inv .tc-warning {
856
+ color: var(--tc_warning__inv);
857
+ }
858
+ .tc-danger {
859
+ color: var(--tc_danger);
860
+ }
861
+ .is-inv .tc-danger,
862
+ .bg-inv .tc-danger {
863
+ color: var(--tc_danger__inv);
864
+ }
865
+ .tc-muted {
866
+ color: var(--tc_muted);
867
+ }
868
+
869
+ /*
870
+ Misc
871
+ */
872
+ .card {
873
+ border: 1px solid var(--c_border);
874
+ border-radius: var(--radius);
875
+ padding-top: var(--spacer);
876
+ padding-left: var(--spacer);
877
+ padding-right: var(--spacer);
878
+ margin-bottom: var(--spacer);
879
+ }
880
+ .drop-shadow {
881
+ box-shadow: var(--drop_shadow);
882
+ }
883
+ .icon {
884
+ display: inline-block;
885
+ width: 1.35em;
886
+ vertical-align: top;
887
+ margin-left: auto;
888
+ margin-right: auto;
889
+ }
890
+ iframe {
891
+ border: none;
892
+ width: 100%;
893
+ }