@nebularstreams/statify 3.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 (193) hide show
  1. package/dist/.DS_Store +0 -0
  2. package/dist/website.simple/webfonts/fa-brands-400.woff2 +0 -0
  3. package/dist/website.simple/webfonts/fa-solid-900.eot +0 -0
  4. package/dist/website.simple/webfonts/fa-solid-900.svg +4649 -0
  5. package/dist/website.simple/webfonts/fa-solid-900.ttf +0 -0
  6. package/dist/website.simple/webfonts/fa-solid-900.woff +0 -0
  7. package/dist/website.simple/webfonts/fa-solid-900.woff2 +0 -0
  8. package/dist/website.simple/website.css +32 -0
  9. package/dist/website.simple/website.min.js +6 -0
  10. package/dist/website.software/webfonts/fa-brands-400.woff2 +0 -0
  11. package/dist/website.software/webfonts/fa-solid-900.eot +0 -0
  12. package/dist/website.software/webfonts/fa-solid-900.svg +4649 -0
  13. package/dist/website.software/webfonts/fa-solid-900.ttf +0 -0
  14. package/dist/website.software/webfonts/fa-solid-900.woff +0 -0
  15. package/dist/website.software/webfonts/fa-solid-900.woff2 +0 -0
  16. package/dist/website.software/website.css +32 -0
  17. package/dist/website.software/website.min.js +6 -0
  18. package/dist/website.worlds/webfonts/fa-brands-400.woff2 +0 -0
  19. package/dist/website.worlds/webfonts/fa-solid-900.eot +0 -0
  20. package/dist/website.worlds/webfonts/fa-solid-900.svg +4649 -0
  21. package/dist/website.worlds/webfonts/fa-solid-900.ttf +0 -0
  22. package/dist/website.worlds/webfonts/fa-solid-900.woff +0 -0
  23. package/dist/website.worlds/webfonts/fa-solid-900.woff2 +0 -0
  24. package/dist/website.worlds/website.css +32 -0
  25. package/dist/website.worlds/website.min.js +6 -0
  26. package/package.json +49 -0
  27. package/readme.md +105 -0
  28. package/src/publisher-lib.js +179 -0
  29. package/src/publisher-list.js +91 -0
  30. package/src/publisher.js +38 -0
  31. package/src/util/cdn/nobj.cdn.js +88 -0
  32. package/src/util/htmlroute.js +39 -0
  33. package/src/util/markdown/lib.showdown.icon.js +62 -0
  34. package/src/util/markdown/lib.showdown.yt.js +54 -0
  35. package/src/util/markdown/markdown.js +144 -0
  36. package/src/util/navibar/util.navibar.js +63 -0
  37. package/src/util/sha.js +20 -0
  38. package/src/util/tokenizer.js +234 -0
  39. package/src/util/widgets/NoticeWidget.js +30 -0
  40. package/src/util/widgets/app.widgets.js +70 -0
  41. package/src/util/widgets/util.definewidget.js +14 -0
  42. package/src/widgets/Cookies.js +55 -0
  43. package/src/widgets/Frameset-simple.js +114 -0
  44. package/src/widgets/Frameset.js +124 -0
  45. package/src/widgets/Page.js +356 -0
  46. package/src/widgets/RightSide.js +93 -0
  47. package/src/widgets/Snippets.js +75 -0
  48. package/src/widgets/Tail.js +11 -0
  49. package/src/widgets/Widgets.js +10 -0
  50. package/src/widgets.client/Client.js +22 -0
  51. package/src/widgets.features/FeatureList.js +364 -0
  52. package/src/widgets.features/Youtube.js +23 -0
  53. package/src/widgets.features/bootcol.js +29 -0
  54. package/src/widgets.features/css/feature.css +112 -0
  55. package/src/widgets.features/css/tail.css +4 -0
  56. package/src/widgets.howto/Faq.js +201 -0
  57. package/src/widgets.howto/HowTo.js +419 -0
  58. package/src/widgets.howto/Tiles.js +51 -0
  59. package/src/widgets.howto/script-contractable.js +31 -0
  60. package/src/widgets.markdown/Document.js +84 -0
  61. package/src/widgets.market/MarketItem.js +278 -0
  62. package/src/widgets.market/MarketItem.orig.js +268 -0
  63. package/src/widgets.market/MarketItem.strips.js +276 -0
  64. package/src/widgets.market/StoryLicenseWIdget.js +45 -0
  65. package/src/widgets.market/app.utils.js +238 -0
  66. package/src.website/css/app/animations.css +27 -0
  67. package/src.website/css/app/ismobile.css +7 -0
  68. package/src.website/css/app/style.css +51 -0
  69. package/src.website/css/app/style.fullheight.css +9 -0
  70. package/src.website/css/app/style.mdblocks.css +59 -0
  71. package/src.website/css/app/style.putosafari.css +3 -0
  72. package/src.website/css/bootstrap/bootstrap-tiny-core.css +47 -0
  73. package/src.website/css/bootstrap/bootstrap-tiny-media-columns.css +1276 -0
  74. package/src.website/css/bootstrap/bootstrap-tiny-media-custom.css +59 -0
  75. package/src.website/css/bootstrap/bootstrap-tiny-media-display.css +279 -0
  76. package/src.website/css/bootstrap/bootstrap-tiny-media-flex.css +881 -0
  77. package/src.website/css/bootstrap/bootstrap-tiny-media-fonts.css +39 -0
  78. package/src.website/css/bootstrap/bootstrap-tiny-media-paddings.css +1348 -0
  79. package/src.website/css/css-core/core.ext.css +65 -0
  80. package/src.website/css/css-core/frontpage.css +28 -0
  81. package/src.website/css/css-core/root.css +34 -0
  82. package/src.website/css/css-core/root.fullheight.css +12 -0
  83. package/src.website/css/css-core/ui.dialog.round.css +14 -0
  84. package/src.website/css/css-core/ui.navibar.css +28 -0
  85. package/src.website/css/css-core/ui.notifications.css +12 -0
  86. package/src.website/css/css-featurelist/feature.css +196 -0
  87. package/src.website/css/css-featurelist/tail.css +4 -0
  88. package/src.website/css/css-screens/doc.css +22 -0
  89. package/src.website/css/css-screens/screens-meta.css +3 -0
  90. package/src.website/css/css-unsplash/unsplash.css +32 -0
  91. package/src.website/css/css-videos/youtube.css +28 -0
  92. package/src.website/css/css-wiki/wiki.css +206 -0
  93. package/src.website/css/css-wiki/wiki.sidepane.css +16 -0
  94. package/src.website/css/fontawesome/fa-brands.css +18 -0
  95. package/src.website/css/fontawesome/fa-solid.css +16 -0
  96. package/src.website/css/fontawesome/fa.css +4359 -0
  97. package/src.website/css/skin/mierda.css +15 -0
  98. package/src.website/css/skin/skin.dark.css +85 -0
  99. package/src.website/css/skin/skin.light.css +27 -0
  100. package/src.website/css/skin/vars.font.css +8 -0
  101. package/src.website/css/skin/vars.sizes.css +4 -0
  102. package/src.website/package-lock.json +2160 -0
  103. package/src.website/package.json +28 -0
  104. package/src.website/public/webfonts/fa-brands-400.woff2 +0 -0
  105. package/src.website/public/webfonts/fa-solid-900.eot +0 -0
  106. package/src.website/public/webfonts/fa-solid-900.svg +4649 -0
  107. package/src.website/public/webfonts/fa-solid-900.ttf +0 -0
  108. package/src.website/public/webfonts/fa-solid-900.woff +0 -0
  109. package/src.website/public/webfonts/fa-solid-900.woff2 +0 -0
  110. package/src.website/rollup.simple.mjs +36 -0
  111. package/src.website/rollup.software.mjs +36 -0
  112. package/src.website/rollup.terser.mjs +24 -0
  113. package/src.website/rollup.worlds.mjs +36 -0
  114. package/src.website/src/app/app.style.mjs +36 -0
  115. package/src.website/src/app/index.mjs +118 -0
  116. package/src.website/src/config.js +8 -0
  117. package/src.website/src/core/cdnmodel.mjs +7 -0
  118. package/src.website/src/core/clientruntime.mjs +41 -0
  119. package/src.website/src/core.cookies/analytics.mjs +96 -0
  120. package/src.website/src/core.cookies/cookiemanager.mjs +128 -0
  121. package/src.website/src/core.cookies/css/cookies.css +80 -0
  122. package/src.website/src/core.cookies/css/nocookies.css +48 -0
  123. package/src.website/src/core.extra/css/contractable.css +12 -0
  124. package/src.website/src/core.extra/css/faq.css +42 -0
  125. package/src.website/src/core.extra/css/howto.css +81 -0
  126. package/src.website/src/core.extra/extra.document.mjs +83 -0
  127. package/src.website/src/core.extra/extra.faq.mjs +30 -0
  128. package/src.website/src/core.extra/extra.mjs +62 -0
  129. package/src.website/src/main.simple.mjs +4 -0
  130. package/src.website/src/main.software.mjs +10 -0
  131. package/src.website/src/main.worlds.mjs +9 -0
  132. package/src.website/src/support/ismobile.mjs +4 -0
  133. package/src.website/src/support/nonce.mjs +4 -0
  134. package/src.website/src/support/persistsettings.mjs +41 -0
  135. package/src.website/src/support/qrcode.mjs +1269 -0
  136. package/src.website/src/support/timeutils.mjs +237 -0
  137. package/src.website/src/widgets/index.mjs +22 -0
  138. package/src.website/src.widgets/widgets.market/index.mjs +11 -0
  139. package/src.website/src.widgets/widgets.market/widgets/market/DiscoverWidget.mjs +401 -0
  140. package/src.website/src.widgets/widgets.market/widgets/market/EmptyNew.mjs +28 -0
  141. package/src.website/src.widgets/widgets.market/widgets/market/MarketDetail.mjs +78 -0
  142. package/src.website/src.widgets/widgets.market/widgets/market/MarketItem.mjs +349 -0
  143. package/src.website/src.widgets/widgets.market/widgets/market/MarketWidget.mjs +437 -0
  144. package/src.website/src.widgets/widgets.market/widgets/market/StoryLicenseWidget.mjs +34 -0
  145. package/src.website/src.widgets/widgets.market/widgets/market/css/market.css +394 -0
  146. package/src.website/src.widgets/widgets.market/widgets/market/css/notice.css +6 -0
  147. package/src.website/src.widgets/widgets.market/widgets/navibar/NaviBarWidget.mjs +58 -0
  148. package/src.website/src.widgets/widgets.market/widgets/navibar/css/titlebar.css +68 -0
  149. package/src.website/src.widgets/widgets.market/widgets/navibar/css/ui.navibar.css +28 -0
  150. package/src.website/src.widgets/widgets.software/index.mjs +9 -0
  151. package/src.website/src.widgets/widgets.software/widgets/BootStrapColumnWidget.mjs +17 -0
  152. package/src.website/src.widgets/widgets.software/widgets/DownloadWidget.mjs +210 -0
  153. package/src.website/src.widgets/widgets.software/widgets/LicenseWidget.js +103 -0
  154. package/src.website/src.widgets/widgets.software/widgets/css/download/download.css +110 -0
  155. package/src.website/src.widgets/widgets.software/widgets/css/license/beta.css +28 -0
  156. package/src.website/src.widgets/widgets.software/widgets/css/license/button.css +30 -0
  157. package/src.website/src.widgets/widgets.software/widgets/css/license/front.css +46 -0
  158. package/src.website/src.widgets/widgets.software/widgets/css/license/licenses.css +13 -0
  159. package/src.website/src.widgets/widgets.software/widgets/css/license/overstate.css +15 -0
  160. package/src.website/src.widgets/widgets.software/widgets/css/license/story.css +8 -0
  161. package/src.website/src.widgets/widgets.software/widgets/css/license/toolbar.css +9 -0
  162. package/src.website/src.widgets/widgets.software/widgets/support/version.mjs +88 -0
  163. package/src.website/src.widgets/widgets.worlds/index.mjs +11 -0
  164. package/src.website/src.widgets/widgets.worlds/widgets/LocalBrowser.mjs +386 -0
  165. package/src.website/src.widgets/widgets.worlds/widgets/LocalLauncher.code.mjs +247 -0
  166. package/src.website/src.widgets/widgets.worlds/widgets/LocalLauncher.mjs +239 -0
  167. package/src.website/src.widgets/widgets.worlds/widgets/css/input.css +32 -0
  168. package/src.website/src.widgets/widgets.worlds/widgets/css/localprojects.css +188 -0
  169. package/templates/documentation/assets/docs.css +7 -0
  170. package/templates/documentation/assets/images/right.webp +0 -0
  171. package/templates/documentation/images.json +12 -0
  172. package/templates/documentation/metadata.json +120 -0
  173. package/templates/documentation/pages/cookies.md +25 -0
  174. package/templates/documentation/pages/index.md +13 -0
  175. package/templates/documentation/pages/privacy.md +50 -0
  176. package/templates/documentation/pages/tos.md +49 -0
  177. package/templates/landing/assets/res/carousel/image-1.webp +0 -0
  178. package/templates/landing/assets/res/carousel/image-2.webp +0 -0
  179. package/templates/landing/assets/res/carousel/image-3.webp +0 -0
  180. package/templates/landing/assets/res/custom.css +122 -0
  181. package/templates/landing/assets/res/logos/favicon.ico +0 -0
  182. package/templates/landing/assets/res/logos/favicon.png +0 -0
  183. package/templates/landing/assets/res/logos/logo.medallion.png +0 -0
  184. package/templates/landing/assets/res/logos/logo.white.png +0 -0
  185. package/templates/landing/assets/res/proj/banda-tech-client.webp +0 -0
  186. package/templates/landing/assets/res/proj/banda-tech-server.webp +0 -0
  187. package/templates/landing/assets/res/proj/proj-common-ground.webp +0 -0
  188. package/templates/landing/assets/res/proj/proj-fieldnote.webp +0 -0
  189. package/templates/landing/assets/res/proj/proj-tribes.webp +0 -0
  190. package/templates/landing/images.json +932 -0
  191. package/templates/landing/metadata.json +115 -0
  192. package/templates/landing/pages/index.json +268 -0
  193. package/tool/cli.js +183 -0
@@ -0,0 +1,394 @@
1
+ .market {
2
+ line-height: 1.25;
3
+ }
4
+
5
+ .market .avatar {
6
+ border: solid 1px var(--border-color);
7
+ border-radius: 1000rem;
8
+ }
9
+
10
+ .market .image {
11
+ background: var(--placeholder);
12
+ background-size: cover;
13
+ background-position: center;
14
+ }
15
+
16
+ .market .toolbar > button {
17
+ font-variant: inherit;
18
+ }
19
+
20
+ .market .templatestories li {
21
+ height: fit-content;
22
+ }
23
+
24
+ .market .templatestories .inner:before {
25
+ content: "FREE !";
26
+ background: var(--accent);
27
+ color: var(--text-over-accent);
28
+ text-align: center;
29
+ transform: rotate(-45deg);
30
+ position: absolute;
31
+ font-size: 0.5rem;
32
+ padding: 0 2rem;
33
+ transform-origin: right;
34
+ left: -2.5rem;
35
+ top: -1rem;
36
+ z-index: 100000;
37
+ }
38
+
39
+ .market .templatestories {
40
+ align-content: flex-start;
41
+ padding-top: 0.5rem;
42
+ padding-left: 0.5rem;
43
+ padding-right: 0.5rem;
44
+ }
45
+
46
+ .market .image.asp169:before {
47
+ padding-top: 56.25%;
48
+ content: "";
49
+ display: block;
50
+ }
51
+
52
+ .market nav > .title {
53
+ font-weight: bold;
54
+ }
55
+
56
+ .market .toolbar {
57
+ z-index: 10000;
58
+ }
59
+
60
+ /*
61
+ .market .graytrx {
62
+ filter: grayscale(1);
63
+ transition: filter 1s ease-in-out;
64
+ }
65
+
66
+ .market .graytrx:hover {
67
+ filter: grayscale(0);
68
+ }
69
+ */
70
+ .market .graytrx {
71
+ position: relative;
72
+ border-radius: 0.25rem;
73
+ }
74
+
75
+ .market .buttoncontainer button, .market .buttoncontainer a {
76
+ margin: 0;
77
+ border: 0 !important;
78
+ }
79
+
80
+ .market a.button {
81
+ padding: 0 !important;
82
+ margin: 0 !important;
83
+ }
84
+
85
+ .market a.button-accent {
86
+ background-color: var(--accent);
87
+ color: var(--text-over-accent) !important;
88
+ text-align: center;
89
+ border-radius: 1rem;
90
+ box-shadow: 0 0 2px var(--shadow-color);
91
+ transition: all 0.25s linear;
92
+ }
93
+
94
+ .market .attribution {
95
+ }
96
+
97
+ .market .coverimage {
98
+ border-bottom: solid 1px var(--border-color);
99
+ }
100
+
101
+ .market .tag {
102
+ background: var(--accent-light);
103
+ color: var(--text);
104
+ border-radius: 3rem;
105
+ padding: 0.25rem 0.5rem;
106
+ margin: 0.25rem;
107
+ text-align: center;
108
+ cursor: pointer;
109
+ border: solid 1px var(--border-color);
110
+ font-variant: all-small-caps;
111
+ }
112
+
113
+ .market .liclist li {
114
+ max-width: initial;
115
+ list-style-type: none;
116
+ font-size: .6rem;
117
+ padding: 0.25rem;
118
+ color: var(--text-lo);
119
+ min-width: 200px;
120
+ flex-grow: 1;
121
+ margin: 0.1rem 0;
122
+ }
123
+
124
+ .market .liclist .icon {
125
+ flex-shrink: 0;
126
+ font-size: 1rem;
127
+ text-align: center;
128
+ background: var(--accent);
129
+ color: var(--text-over-accent);
130
+ border-radius: 1000rem;
131
+ width: 2rem;
132
+ height: 2rem;
133
+ line-height: 2rem;
134
+ margin-right: 0.5rem;
135
+ }
136
+
137
+
138
+ .market .maxcontainer {
139
+ height: fit-content;
140
+ flex-shrink: 0;
141
+ }
142
+
143
+ .max .titlestrip,
144
+ .featured .titlestrip {
145
+ border-bottom: solid 1px var(--border-color);
146
+ }
147
+
148
+ .titlestrip .icon {
149
+ color: var(--border-color);
150
+ }
151
+
152
+ .descriptionstrip {
153
+ padding: 1rem;
154
+ border-bottom: solid 1px var(--border-color);
155
+ white-space: pre-wrap;
156
+ }
157
+
158
+ .market h2 {
159
+ margin-bottom: 0.5rem;
160
+ }
161
+
162
+ .market ol {
163
+ margin: 0.5rem 0;
164
+ padding-left: 2.25rem;
165
+ border-left: solid 0.5rem var(--accent);
166
+ padding-right: 1.5rem;
167
+ }
168
+
169
+ .market .liclist {
170
+ padding: 0 0.5rem;
171
+ border-left: solid 0.5rem var(--accent);
172
+ }
173
+
174
+ .market .templatemax {
175
+ height: max-content;
176
+ min-height: -webkit-fill-available;
177
+ }
178
+
179
+ .market .divimage {
180
+ transition: background 0.5s linear;
181
+ }
182
+
183
+ .market .divimage button {
184
+ top: 0;
185
+ border: 0;
186
+ background: transparent;
187
+ color: white;
188
+ font-size: 3rem;
189
+ text-shadow: 1px 0 0 black, 0 1px 0 black, -1px 0 0 black, 0 -1px 0 black;
190
+ }
191
+
192
+ .market .minitag {
193
+ background: lightgray;
194
+ padding: 0 0.25rem;
195
+ border-radius: 100rem;
196
+ margin-right: 0.25rem;
197
+ font-size: 0.75rem;
198
+ margin-top: 0.15rem;
199
+ margin-left: -0.15rem;
200
+ }
201
+
202
+ .market .buttoncontainer a {
203
+ flex-direction: row;
204
+ align-items: center;
205
+ margin-right: 0.5rem;
206
+ }
207
+
208
+ .market .buttoncontainer button,
209
+ .market .buttoncontainer a {
210
+ margin: 0;
211
+ }
212
+
213
+ .market .metric {
214
+ border: solid 1px var(--border-color);
215
+ margin: 0 0.25rem;
216
+ padding: 0 0.5rem;
217
+ border-radius: 1000rem;
218
+ background-color: var(--window-background);
219
+ font-size: 0.75rem;
220
+ white-space: nowrap;
221
+ text-overflow: ellipsis;
222
+ overflow: hidden;
223
+ }
224
+
225
+ .market .metric:after {
226
+ content: attr(data-num);
227
+ padding: 0 0.5rem;
228
+ }
229
+
230
+ .market .templateitem.max .metric:after {
231
+ content: attr(data-num) " " attr(data-metric);
232
+ }
233
+
234
+ .market .metric:before {
235
+ font-family: "Font Awesome 5 Free";
236
+ }
237
+
238
+ .market .thumbnail {
239
+ margin: 0.5rem;
240
+ width: 200px;
241
+ flex-grow: 1;
242
+ max-width: calc(50% - 1rem);
243
+ border-radius: 0.25rem;
244
+ position: relative;
245
+ overflow: hidden;
246
+ }
247
+
248
+ li.thumbnail.flexcol.error-loading-image {
249
+ display: none;
250
+ }
251
+
252
+ .market .thumbnail.current:before {
253
+ background: var(--accent);
254
+ color: var(--text-over-accent);
255
+ }
256
+
257
+ .scenes .thumbnail:after {
258
+ content: "scene";
259
+ background: white;
260
+ position: absolute;
261
+ bottom: 0;
262
+ font-variant: all-small-caps;
263
+ padding: 0 0.5rem;
264
+ border-top-right-radius: 0.5rem;
265
+ font-weight: bold;
266
+ color: black;
267
+ }
268
+
269
+ .templates .thumbnail:after {
270
+ content: "template";
271
+ background: darkmagenta;
272
+ position: absolute;
273
+ bottom: 0;
274
+ font-variant: all-small-caps;
275
+ padding: 0 0.5rem;
276
+ font-size: 1rem;
277
+ border-top-right-radius: 0.5rem;
278
+ font-weight: bold;
279
+ color: white;
280
+ }
281
+
282
+ /*
283
+ .market .thumbnail:before {
284
+ transition: all 0.5s ease-in-out;
285
+ content: attr(title);
286
+ border: solid 1px var(--border-color);
287
+ padding: 0.5rem;
288
+ border-radius: 10000rem;
289
+ font-size: 0.6rem;
290
+ text-align: center;
291
+ margin-bottom: 0.5rem;
292
+ overflow: hidden;
293
+ text-overflow: ellipsis;
294
+ white-space: nowrap;
295
+ background: var(--window-background-lo);
296
+ }
297
+ */
298
+
299
+ .market ul > li.templateitem {
300
+ transition: all 0.2s ease-out;
301
+ }
302
+
303
+ .market .marketdetail {
304
+ place-content: flex-start;
305
+ }
306
+
307
+ .market ul > li.templateitem:active {
308
+ transform: scale(0.9);
309
+ }
310
+
311
+ .market .templateitem > .inner {
312
+ overflow: hidden;
313
+ }
314
+
315
+ .market .thumbnail img:active {
316
+ transform: scale(0.9);
317
+ }
318
+
319
+ .market .thumbnail img {
320
+ width: 100%;
321
+ border-radius: 0.25rem;
322
+ border: solid 1px var(--border-color);
323
+ transition: all 0.2s ease-out;
324
+ }
325
+
326
+ .market a {
327
+ cursor: pointer;
328
+ text-decoration: none;
329
+ }
330
+
331
+ .market a:hover {
332
+ color: var(--accent);
333
+ }
334
+
335
+
336
+ .market a.button-accent:active {
337
+ transform: scale(0.97);
338
+ }
339
+
340
+ .market .buttoncontainer {
341
+ margin-bottom: 1rem;
342
+ }
343
+
344
+ .market .ytwrapper {
345
+ top: 0;
346
+ }
347
+
348
+ .market .nodownload {
349
+ font-weight: bold;
350
+ border: solid 1px;
351
+ padding: 1rem;
352
+ }
353
+
354
+ .market iframe {
355
+ border: 0;
356
+ margin: 0;
357
+ padding: 0;
358
+ }
359
+
360
+ /*
361
+ in-card
362
+ .market .howto {
363
+ padding: 1rem;
364
+ border-radius: 1rem;
365
+ border: solid 1px var(--border-color);
366
+ background: var(--window-background-lo);
367
+ }
368
+ .market .attrib {
369
+ background: var(--window-background-hi);
370
+ padding: 1rem;
371
+ border-radius: 1rem;
372
+ margin: 0.5rem 0;
373
+ border: solid 1px var(--border-color);
374
+ }
375
+ */
376
+
377
+ .market .howto,
378
+ .market .attrib {
379
+ padding: 0 0.5rem;
380
+ }
381
+
382
+
383
+ .market .diffdate:after {
384
+ padding: 0 0.5rem;
385
+ content: attr(data-computedtime);
386
+ }
387
+
388
+ .error-loading-image {
389
+ background: #550000;
390
+ }
391
+
392
+ .error-loading-image img {
393
+ display: none;
394
+ }
@@ -0,0 +1,6 @@
1
+ .notihead {
2
+ background: var(--accent);
3
+ border-radius: 1rem;
4
+ color: white;
5
+ margin: 0.5rem;
6
+ }
@@ -0,0 +1,58 @@
1
+ import m from "mithril";
2
+ import {defineWidget, ButtonNew} from "@nebularstreams/libmui"
3
+
4
+ import "./css/titlebar.css";
5
+ import "./css/ui.navibar.css";
6
+
7
+ import CdnModel from "../../../../src/core/cdnmodel.mjs";
8
+ import {run} from "../../../../src/core.cookies/cookiemanager.mjs";
9
+ import {get, set} from "../../../../src/support/persistsettings.mjs";
10
+
11
+ const
12
+ { platform } = CdnModel,
13
+ RES_LOGO_BANNER = "frontpage-over.png",
14
+ HOME = "/promo",
15
+ ENABLE = true;
16
+
17
+ const
18
+ NaviBarWidget = defineWidget(
19
+ ({ attrs, children }) => m(
20
+ "nav.flexrow.pad-h.noshrink" + (attrs.subbar ? ".subbar" : ""),
21
+ {
22
+ class: attrs.class || "shadow-2",
23
+ "aria-label": attrs.label || "Main Navigation"
24
+ },
25
+ attrs.subbar
26
+ ? children
27
+ : [
28
+ m("img.unitsizesmall", {
29
+ alt: "Logo",
30
+ src: platform.resources(attrs.logo || RES_LOGO_BANNER),
31
+ onclick: () => m.route.set(attrs.homeLink || HOME)
32
+ }),
33
+ ...children,
34
+ ...ENABLE
35
+ ? [
36
+ m(".grows"),
37
+ m(ButtonNew, {
38
+ onclick: () => run(true),
39
+ icon: "cookie",
40
+ "aria-label": "change cookie settings",
41
+ class: "unitsize marg-0 d-none with-nocookies noshrink scaff-left transbutton"
42
+ }),
43
+ m(ButtonNew, {
44
+ "aria-label": "dark or light skin",
45
+ class: "unitsize marg-0 noshrink transbutton scaff-left",
46
+ icon: get("skin") ? "sun" : "moon",
47
+ onClick: () => {
48
+ set("skin", !get("skin"));
49
+ m.redraw();
50
+ }
51
+ })
52
+ ]
53
+ : []
54
+ ]
55
+ )
56
+ );
57
+
58
+ export default NaviBarWidget;
@@ -0,0 +1,68 @@
1
+ nav a {
2
+ color: inherit !important;
3
+ text-decoration: none;
4
+ }
5
+
6
+ nav a:hover {
7
+ text-decoration: underline;
8
+ }
9
+
10
+ nav.titlebar {
11
+ z-index: 1000;
12
+ align-items: center;
13
+ white-space: nowrap;
14
+ font-variant: all-small-caps;
15
+ }
16
+
17
+ nav.titlebar > * {
18
+ margin: 0 0.5rem;
19
+ text-overflow: ellipsis;
20
+ overflow: hidden;
21
+ }
22
+
23
+ nav.titlebar .square {
24
+ flex-shrink: 0;
25
+ display: inline-block;
26
+ margin: 0;
27
+ padding: 0 1rem;
28
+ border-left: solid 1px var(--border-color);
29
+ height: var(--unitsize);
30
+ line-height: var(--unitsize);
31
+ }
32
+
33
+ nav.titlebar .inter,
34
+ nav.titlebar .mute {
35
+ flex-shrink: 0;
36
+ }
37
+
38
+ nav.titlebar > .inter:after {
39
+ content: "\f0da";
40
+ font-family: "Font Awesome 5 Free";
41
+ padding-left: 1rem;
42
+ }
43
+
44
+ nav.titlebar > .sep {
45
+ padding: 0;
46
+ color: var(--text-lo);
47
+ }
48
+
49
+ .naviholder i {
50
+ line-height: inherit;
51
+ }
52
+
53
+ nav.autohide {
54
+ transition: opacity 0.5s linear;
55
+ }
56
+
57
+ .scrolltop nav.autohide {
58
+ opacity: 0;
59
+ }
60
+
61
+ nav .transbutton {
62
+ background: transparent;
63
+ border: 0;
64
+ color: var(--text);
65
+ cursor: pointer;
66
+ margin: 0;
67
+ border-left: solid 1px var(--border-color);
68
+ }
@@ -0,0 +1,28 @@
1
+
2
+ nav.tab-menu.flexrow {
3
+
4
+ right: 0;
5
+ left: 0;
6
+ padding-left: 0.5rem;
7
+ box-shadow: 0 0 2px var(--shadow-color);
8
+ }
9
+
10
+ nav input {
11
+ border: 0;
12
+ border-radius: 2rem;
13
+ padding: 0.25rem 0.25rem 0.25rem 0.5rem;
14
+ }
15
+
16
+ nav.tab-menu > .tab-menu-item.selected-tab-item {
17
+ color: var(--accent);
18
+ border-radius: 10rem;
19
+ display: inline-block;
20
+ }
21
+
22
+ nav.subbar {
23
+ z-index: 100;
24
+ line-height: 2rem;
25
+ border-top: dashed 1px var(--border-color);
26
+ font-variant: all-small-caps;
27
+ height: 2rem;
28
+ }
@@ -0,0 +1,9 @@
1
+ import Download from "./widgets/DownloadWidget.mjs";
2
+ import License from "./widgets/LicenseWidget.js";
3
+
4
+ const WidgetLibrary = {
5
+ Download,
6
+ License
7
+ };
8
+
9
+ export default WidgetLibrary;
@@ -0,0 +1,17 @@
1
+ import m from "mithril";
2
+
3
+ const
4
+ BootStrapColumnWidget = defineWidget(
5
+ ({attrs, children}) => m(".container.flexcol",
6
+ {
7
+ class: attrs.class || "col-12"
8
+ },
9
+ [
10
+ m(".grows", {
11
+ class: (attrs.rows ? "flexrow" : "flexcol") + " " + (attrs.subclass || "")
12
+ }, children)
13
+ ]
14
+ )
15
+ );
16
+
17
+ export default BootStrapColumnWidget;