@geekity/cms 0.40.0 → 0.42.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 (345) hide show
  1. package/admin/components/blocks.njk +15 -1
  2. package/admin/pages/appearance/look.njk +135 -0
  3. package/admin/pages/dashboard/home.njk +9 -3
  4. package/admin/pages/documents/conflict.njk +35 -10
  5. package/admin/pages/documents/editor.njk +29 -0
  6. package/admin/pages/documents/list.njk +44 -1
  7. package/admin/pages/settings/general.njk +4 -0
  8. package/admin/pages/settings/reading.njk +14 -0
  9. package/admin/pages/users/edit.njk +1 -1
  10. package/admin/pages/users/writing-goals.njk +64 -0
  11. package/admin/src/admin.css +32 -0
  12. package/admin/static/admin.css +202 -4
  13. package/admin/static/dashboard.js +51 -23
  14. package/admin/static/editor.js +22 -19
  15. package/dist/access-log.d.ts +3 -0
  16. package/dist/access-log.d.ts.map +1 -1
  17. package/dist/access-log.js +13 -9
  18. package/dist/access-log.js.map +1 -1
  19. package/dist/admin/autosave-client.d.ts +85 -0
  20. package/dist/admin/autosave-client.d.ts.map +1 -0
  21. package/dist/admin/autosave-client.js +218 -0
  22. package/dist/admin/autosave-client.js.map +1 -0
  23. package/dist/admin/autosave.d.ts +12 -0
  24. package/dist/admin/autosave.d.ts.map +1 -0
  25. package/dist/admin/autosave.js +92 -0
  26. package/dist/admin/autosave.js.map +1 -0
  27. package/dist/admin/blocks.d.ts +13 -1
  28. package/dist/admin/blocks.d.ts.map +1 -1
  29. package/dist/admin/blocks.js +40 -5
  30. package/dist/admin/blocks.js.map +1 -1
  31. package/dist/admin/core-widgets.d.ts.map +1 -1
  32. package/dist/admin/core-widgets.js +2 -0
  33. package/dist/admin/core-widgets.js.map +1 -1
  34. package/dist/admin/dashboard.d.ts +2 -2
  35. package/dist/admin/dashboard.d.ts.map +1 -1
  36. package/dist/admin/dashboard.js +23 -15
  37. package/dist/admin/dashboard.js.map +1 -1
  38. package/dist/admin/documents.d.ts.map +1 -1
  39. package/dist/admin/documents.js +223 -16
  40. package/dist/admin/documents.js.map +1 -1
  41. package/dist/admin/editor-word-counter.d.ts +8 -0
  42. package/dist/admin/editor-word-counter.d.ts.map +1 -0
  43. package/dist/admin/editor-word-counter.js +27 -0
  44. package/dist/admin/editor-word-counter.js.map +1 -0
  45. package/dist/admin/editor-words.d.ts +7 -0
  46. package/dist/admin/editor-words.d.ts.map +1 -0
  47. package/dist/admin/editor-words.js +9 -0
  48. package/dist/admin/editor-words.js.map +1 -0
  49. package/dist/admin/flash.d.ts +2 -0
  50. package/dist/admin/flash.d.ts.map +1 -1
  51. package/dist/admin/flash.js +12 -0
  52. package/dist/admin/flash.js.map +1 -1
  53. package/dist/admin/focus-mode.d.ts +37 -0
  54. package/dist/admin/focus-mode.d.ts.map +1 -0
  55. package/dist/admin/focus-mode.js +71 -0
  56. package/dist/admin/focus-mode.js.map +1 -0
  57. package/dist/admin/look.d.ts +12 -0
  58. package/dist/admin/look.d.ts.map +1 -0
  59. package/dist/admin/look.js +179 -0
  60. package/dist/admin/look.js.map +1 -0
  61. package/dist/admin/menu.d.ts.map +1 -1
  62. package/dist/admin/menu.js +7 -3
  63. package/dist/admin/menu.js.map +1 -1
  64. package/dist/admin/preview.d.ts.map +1 -1
  65. package/dist/admin/preview.js +1 -0
  66. package/dist/admin/preview.js.map +1 -1
  67. package/dist/admin/routes.d.ts.map +1 -1
  68. package/dist/admin/routes.js +8 -4
  69. package/dist/admin/routes.js.map +1 -1
  70. package/dist/admin/settings-fields.d.ts +1 -1
  71. package/dist/admin/settings-fields.d.ts.map +1 -1
  72. package/dist/admin/settings-fields.js +2 -0
  73. package/dist/admin/settings-fields.js.map +1 -1
  74. package/dist/admin/settings-general.d.ts.map +1 -1
  75. package/dist/admin/settings-general.js +1 -0
  76. package/dist/admin/settings-general.js.map +1 -1
  77. package/dist/admin/settings-reading.d.ts.map +1 -1
  78. package/dist/admin/settings-reading.js +7 -1
  79. package/dist/admin/settings-reading.js.map +1 -1
  80. package/dist/admin/templates.d.ts +2 -0
  81. package/dist/admin/templates.d.ts.map +1 -1
  82. package/dist/admin/templates.js +2 -0
  83. package/dist/admin/templates.js.map +1 -1
  84. package/dist/admin/users.d.ts.map +1 -1
  85. package/dist/admin/users.js +4 -0
  86. package/dist/admin/users.js.map +1 -1
  87. package/dist/admin/widget-writing.d.ts +3 -0
  88. package/dist/admin/widget-writing.d.ts.map +1 -0
  89. package/dist/admin/widget-writing.js +102 -0
  90. package/dist/admin/widget-writing.js.map +1 -0
  91. package/dist/admin/widgets.d.ts +4 -1
  92. package/dist/admin/widgets.d.ts.map +1 -1
  93. package/dist/admin/widgets.js +19 -8
  94. package/dist/admin/widgets.js.map +1 -1
  95. package/dist/admin/writing-goals.d.ts +33 -0
  96. package/dist/admin/writing-goals.d.ts.map +1 -0
  97. package/dist/admin/writing-goals.js +149 -0
  98. package/dist/admin/writing-goals.js.map +1 -0
  99. package/dist/autosave/index.d.ts +5 -0
  100. package/dist/autosave/index.d.ts.map +1 -0
  101. package/dist/autosave/index.js +3 -0
  102. package/dist/autosave/index.js.map +1 -0
  103. package/dist/autosave/key.d.ts +13 -0
  104. package/dist/autosave/key.d.ts.map +1 -0
  105. package/dist/autosave/key.js +29 -0
  106. package/dist/autosave/key.js.map +1 -0
  107. package/dist/autosave/store.d.ts +23 -0
  108. package/dist/autosave/store.d.ts.map +1 -0
  109. package/dist/autosave/store.js +114 -0
  110. package/dist/autosave/store.js.map +1 -0
  111. package/dist/cli.d.ts +1 -1
  112. package/dist/cli.d.ts.map +1 -1
  113. package/dist/cli.js +65 -4
  114. package/dist/cli.js.map +1 -1
  115. package/dist/cms/app.d.ts.map +1 -1
  116. package/dist/cms/app.js +1 -0
  117. package/dist/cms/app.js.map +1 -1
  118. package/dist/cms/boot.d.ts.map +1 -1
  119. package/dist/cms/boot.js +2 -0
  120. package/dist/cms/boot.js.map +1 -1
  121. package/dist/cms/create.d.ts +11 -2
  122. package/dist/cms/create.d.ts.map +1 -1
  123. package/dist/cms/create.js +61 -2
  124. package/dist/cms/create.js.map +1 -1
  125. package/dist/cms/server-error.d.ts.map +1 -1
  126. package/dist/cms/server-error.js +1 -0
  127. package/dist/cms/server-error.js.map +1 -1
  128. package/dist/cms/services.d.ts +2 -0
  129. package/dist/cms/services.d.ts.map +1 -1
  130. package/dist/cms/services.js +14 -0
  131. package/dist/cms/services.js.map +1 -1
  132. package/dist/config.d.ts +20 -0
  133. package/dist/config.d.ts.map +1 -1
  134. package/dist/config.js +6 -2
  135. package/dist/config.js.map +1 -1
  136. package/dist/content/post-type.d.ts +1 -0
  137. package/dist/content/post-type.d.ts.map +1 -1
  138. package/dist/content/post-type.js +1 -1
  139. package/dist/content/post-type.js.map +1 -1
  140. package/dist/content/words.d.ts +3 -0
  141. package/dist/content/words.d.ts.map +1 -0
  142. package/dist/content/words.js +120 -0
  143. package/dist/content/words.js.map +1 -0
  144. package/dist/content/write.d.ts +8 -0
  145. package/dist/content/write.d.ts.map +1 -1
  146. package/dist/content/write.js +1 -1
  147. package/dist/content/write.js.map +1 -1
  148. package/dist/files/data-files.d.ts +5 -0
  149. package/dist/files/data-files.d.ts.map +1 -1
  150. package/dist/files/data-files.js +30 -0
  151. package/dist/files/data-files.js.map +1 -1
  152. package/dist/fonts/css.d.ts +25 -0
  153. package/dist/fonts/css.d.ts.map +1 -0
  154. package/dist/fonts/css.js +88 -0
  155. package/dist/fonts/css.js.map +1 -0
  156. package/dist/fonts/family.d.ts +23 -0
  157. package/dist/fonts/family.d.ts.map +1 -0
  158. package/dist/fonts/family.js +41 -0
  159. package/dist/fonts/family.js.map +1 -0
  160. package/dist/fonts/index.d.ts +10 -0
  161. package/dist/fonts/index.d.ts.map +1 -0
  162. package/dist/fonts/index.js +6 -0
  163. package/dist/fonts/index.js.map +1 -0
  164. package/dist/fonts/job.d.ts +20 -0
  165. package/dist/fonts/job.d.ts.map +1 -0
  166. package/dist/fonts/job.js +49 -0
  167. package/dist/fonts/job.js.map +1 -0
  168. package/dist/fonts/roles.d.ts +53 -0
  169. package/dist/fonts/roles.d.ts.map +1 -0
  170. package/dist/fonts/roles.js +64 -0
  171. package/dist/fonts/roles.js.map +1 -0
  172. package/dist/fonts/store.d.ts +69 -0
  173. package/dist/fonts/store.d.ts.map +1 -0
  174. package/dist/fonts/store.js +237 -0
  175. package/dist/fonts/store.js.map +1 -0
  176. package/dist/gemini/capsule.d.ts +4 -0
  177. package/dist/gemini/capsule.d.ts.map +1 -0
  178. package/dist/gemini/capsule.js +9 -0
  179. package/dist/gemini/capsule.js.map +1 -0
  180. package/dist/gemini/certificate.d.ts +34 -0
  181. package/dist/gemini/certificate.d.ts.map +1 -0
  182. package/dist/gemini/certificate.js +255 -0
  183. package/dist/gemini/certificate.js.map +1 -0
  184. package/dist/gemini/site-certificate.d.ts +8 -0
  185. package/dist/gemini/site-certificate.d.ts.map +1 -0
  186. package/dist/gemini/site-certificate.js +17 -0
  187. package/dist/gemini/site-certificate.js.map +1 -0
  188. package/dist/micropub/endpoint.d.ts.map +1 -1
  189. package/dist/micropub/endpoint.js +12 -0
  190. package/dist/micropub/endpoint.js.map +1 -1
  191. package/dist/plugin.d.ts +15 -2
  192. package/dist/plugin.d.ts.map +1 -1
  193. package/dist/plugin.js.map +1 -1
  194. package/dist/settings/registry.d.ts.map +1 -1
  195. package/dist/settings/registry.js +5 -1
  196. package/dist/settings/registry.js.map +1 -1
  197. package/dist/settings/types.d.ts +1 -1
  198. package/dist/settings/types.d.ts.map +1 -1
  199. package/dist/site/dashboard-layout.d.ts +33 -26
  200. package/dist/site/dashboard-layout.d.ts.map +1 -1
  201. package/dist/site/dashboard-layout.js +94 -39
  202. package/dist/site/dashboard-layout.js.map +1 -1
  203. package/dist/site/namespace.d.ts +6 -0
  204. package/dist/site/namespace.d.ts.map +1 -1
  205. package/dist/site/namespace.js +46 -1
  206. package/dist/site/namespace.js.map +1 -1
  207. package/dist/site/users.d.ts +7 -0
  208. package/dist/site/users.d.ts.map +1 -1
  209. package/dist/site/users.js +7 -0
  210. package/dist/site/users.js.map +1 -1
  211. package/dist/site/writing-goals.d.ts +22 -0
  212. package/dist/site/writing-goals.d.ts.map +1 -0
  213. package/dist/site/writing-goals.js +42 -0
  214. package/dist/site/writing-goals.js.map +1 -0
  215. package/dist/store/schema.d.ts.map +1 -1
  216. package/dist/store/schema.js +4 -0
  217. package/dist/store/schema.js.map +1 -1
  218. package/dist/store/sessions.d.ts +2 -1
  219. package/dist/store/sessions.d.ts.map +1 -1
  220. package/dist/store/sessions.js +30 -12
  221. package/dist/store/sessions.js.map +1 -1
  222. package/dist/theme/font-family.d.ts +13 -0
  223. package/dist/theme/font-family.d.ts.map +1 -0
  224. package/dist/theme/font-family.js +21 -0
  225. package/dist/theme/font-family.js.map +1 -0
  226. package/dist/theme/scheme-tokens.d.ts +50 -0
  227. package/dist/theme/scheme-tokens.d.ts.map +1 -0
  228. package/dist/theme/scheme-tokens.js +240 -0
  229. package/dist/theme/scheme-tokens.js.map +1 -0
  230. package/dist/theme/site-data.d.ts +12 -0
  231. package/dist/theme/site-data.d.ts.map +1 -1
  232. package/dist/theme/site-data.js +15 -0
  233. package/dist/theme/site-data.js.map +1 -1
  234. package/dist/theme/themes.d.ts +74 -0
  235. package/dist/theme/themes.d.ts.map +1 -1
  236. package/dist/theme/themes.js +100 -9
  237. package/dist/theme/themes.js.map +1 -1
  238. package/dist/util/public-address.d.ts +1 -0
  239. package/dist/util/public-address.d.ts.map +1 -1
  240. package/dist/util/public-address.js +38 -30
  241. package/dist/util/public-address.js.map +1 -1
  242. package/dist/web/access-line.d.ts +2 -0
  243. package/dist/web/access-line.d.ts.map +1 -0
  244. package/dist/web/access-line.js +6 -0
  245. package/dist/web/access-line.js.map +1 -0
  246. package/dist/web/document-page.d.ts.map +1 -1
  247. package/dist/web/document-page.js +3 -4
  248. package/dist/web/document-page.js.map +1 -1
  249. package/dist/web/embed.d.ts.map +1 -1
  250. package/dist/web/embed.js +2 -1
  251. package/dist/web/embed.js.map +1 -1
  252. package/dist/web/env.d.ts +2 -0
  253. package/dist/web/env.d.ts.map +1 -1
  254. package/dist/web/feed-routes.d.ts.map +1 -1
  255. package/dist/web/feed-routes.js +4 -4
  256. package/dist/web/feed-routes.js.map +1 -1
  257. package/dist/web/feed-source.d.ts +1 -1
  258. package/dist/web/feed-source.d.ts.map +1 -1
  259. package/dist/web/feed-source.js +1 -1
  260. package/dist/web/feed-source.js.map +1 -1
  261. package/dist/web/font-routes.d.ts +13 -0
  262. package/dist/web/font-routes.d.ts.map +1 -0
  263. package/dist/web/font-routes.js +27 -0
  264. package/dist/web/font-routes.js.map +1 -0
  265. package/dist/web/gemini-listener.d.ts +30 -0
  266. package/dist/web/gemini-listener.d.ts.map +1 -0
  267. package/dist/web/gemini-listener.js +186 -0
  268. package/dist/web/gemini-listener.js.map +1 -0
  269. package/dist/web/gemini-request.d.ts +23 -0
  270. package/dist/web/gemini-request.d.ts.map +1 -0
  271. package/dist/web/gemini-request.js +127 -0
  272. package/dist/web/gemini-request.js.map +1 -0
  273. package/dist/web/listing-pages.d.ts.map +1 -1
  274. package/dist/web/listing-pages.js +7 -5
  275. package/dist/web/listing-pages.js.map +1 -1
  276. package/dist/web/llms.d.ts +1 -0
  277. package/dist/web/llms.d.ts.map +1 -1
  278. package/dist/web/llms.js +3 -0
  279. package/dist/web/llms.js.map +1 -1
  280. package/dist/web/maintenance.d.ts.map +1 -1
  281. package/dist/web/maintenance.js +6 -2
  282. package/dist/web/maintenance.js.map +1 -1
  283. package/dist/web/manifest.d.ts +8 -5
  284. package/dist/web/manifest.d.ts.map +1 -1
  285. package/dist/web/manifest.js +10 -7
  286. package/dist/web/manifest.js.map +1 -1
  287. package/dist/web/markdown-representation.d.ts +11 -20
  288. package/dist/web/markdown-representation.d.ts.map +1 -1
  289. package/dist/web/markdown-representation.js +57 -58
  290. package/dist/web/markdown-representation.js.map +1 -1
  291. package/dist/web/negotiate.d.ts +4 -16
  292. package/dist/web/negotiate.d.ts.map +1 -1
  293. package/dist/web/negotiate.js +23 -18
  294. package/dist/web/negotiate.js.map +1 -1
  295. package/dist/web/oembed.d.ts +17 -3
  296. package/dist/web/oembed.d.ts.map +1 -1
  297. package/dist/web/oembed.js +68 -26
  298. package/dist/web/oembed.js.map +1 -1
  299. package/dist/web/proxy-protocol.d.ts +13 -0
  300. package/dist/web/proxy-protocol.d.ts.map +1 -0
  301. package/dist/web/proxy-protocol.js +79 -0
  302. package/dist/web/proxy-protocol.js.map +1 -0
  303. package/dist/web/render.d.ts +52 -22
  304. package/dist/web/render.d.ts.map +1 -1
  305. package/dist/web/render.js +94 -30
  306. package/dist/web/render.js.map +1 -1
  307. package/dist/web/routes.d.ts.map +1 -1
  308. package/dist/web/routes.js +7 -8
  309. package/dist/web/routes.js.map +1 -1
  310. package/dist/web/site-index.d.ts.map +1 -1
  311. package/dist/web/site-index.js +6 -2
  312. package/dist/web/site-index.js.map +1 -1
  313. package/dist/web/status-pages.d.ts +2 -3
  314. package/dist/web/status-pages.d.ts.map +1 -1
  315. package/dist/web/status-pages.js +14 -11
  316. package/dist/web/status-pages.js.map +1 -1
  317. package/dist/web/throttle.d.ts +9 -0
  318. package/dist/web/throttle.d.ts.map +1 -1
  319. package/dist/web/throttle.js +17 -0
  320. package/dist/web/throttle.js.map +1 -1
  321. package/dist/webmention/fetch-public.d.ts +6 -0
  322. package/dist/webmention/fetch-public.d.ts.map +1 -1
  323. package/dist/webmention/fetch-public.js +6 -1
  324. package/dist/webmention/fetch-public.js.map +1 -1
  325. package/dist/writing/ledger.d.ts +15 -0
  326. package/dist/writing/ledger.d.ts.map +1 -0
  327. package/dist/writing/ledger.js +70 -0
  328. package/dist/writing/ledger.js.map +1 -0
  329. package/dist/writing/progress.d.ts +25 -0
  330. package/dist/writing/progress.d.ts.map +1 -0
  331. package/dist/writing/progress.js +83 -0
  332. package/dist/writing/progress.js.map +1 -0
  333. package/package.json +2 -1
  334. package/themes/default/layouts/404.gmi.njk +10 -0
  335. package/themes/default/layouts/410.gmi.njk +8 -0
  336. package/themes/default/layouts/500.gmi.njk +9 -0
  337. package/themes/default/layouts/503.gmi.njk +9 -0
  338. package/themes/default/layouts/base.njk +31 -16
  339. package/themes/default/layouts/page.njk +4 -8
  340. package/themes/default/partials/bio.njk +1 -1
  341. package/themes/default/partials/contact-form.njk +1 -1
  342. package/themes/default/partials/markdown-footer.md.njk +9 -1
  343. package/themes/default/src/style.css +326 -15
  344. package/themes/default/static/style.css +489 -3
  345. package/themes/default/theme.json +23 -1
@@ -7,6 +7,7 @@
7
7
  --tw-translate-z: 0;
8
8
  --tw-space-y-reverse: 0;
9
9
  --tw-border-style: solid;
10
+ --tw-leading: initial;
10
11
  --tw-font-weight: initial;
11
12
  --tw-ordinal: initial;
12
13
  --tw-slashed-zero: initial;
@@ -65,10 +66,13 @@
65
66
  --text-xl--line-height: calc(1.75 / 1.25);
66
67
  --text-2xl: 1.5rem;
67
68
  --text-2xl--line-height: calc(2 / 1.5);
69
+ --text-3xl: 1.875rem;
70
+ --text-3xl--line-height: calc(2.25 / 1.875);
68
71
  --font-weight-normal: 400;
69
72
  --font-weight-medium: 500;
70
73
  --font-weight-semibold: 600;
71
74
  --font-weight-bold: 700;
75
+ --leading-tight: 1.25;
72
76
  --default-transition-duration: .15s;
73
77
  --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
74
78
  --default-font-family: var(--font-sans);
@@ -7052,6 +7056,10 @@
7052
7056
  position: sticky;
7053
7057
  }
7054
7058
 
7059
+ .inset-0 {
7060
+ inset: 0;
7061
+ }
7062
+
7055
7063
  .end-1 {
7056
7064
  inset-inline-end: calc(var(--spacing) * 1);
7057
7065
  }
@@ -7072,6 +7080,10 @@
7072
7080
  top: calc(var(--spacing) * 2);
7073
7081
  }
7074
7082
 
7083
+ .bottom-0 {
7084
+ bottom: 0;
7085
+ }
7086
+
7075
7087
  .left-0 {
7076
7088
  left: 0;
7077
7089
  }
@@ -7143,6 +7155,10 @@
7143
7155
  z-index: 50;
7144
7156
  }
7145
7157
 
7158
+ .z-100 {
7159
+ z-index: 100;
7160
+ }
7161
+
7146
7162
  .col-span-2 {
7147
7163
  grid-column: span 2 / span 2;
7148
7164
  }
@@ -7183,6 +7199,10 @@
7183
7199
  margin-inline-start: calc(var(--spacing) * -2);
7184
7200
  }
7185
7201
 
7202
+ .ms-auto {
7203
+ margin-inline-start: auto;
7204
+ }
7205
+
7186
7206
  .me-auto {
7187
7207
  margin-inline-end: auto;
7188
7208
  }
@@ -7219,6 +7239,10 @@
7219
7239
  margin-top: calc(var(--spacing) * 10);
7220
7240
  }
7221
7241
 
7242
+ .mt-auto {
7243
+ margin-top: auto;
7244
+ }
7245
+
7222
7246
  .mr-auto {
7223
7247
  margin-right: auto;
7224
7248
  }
@@ -7251,6 +7275,14 @@
7251
7275
  margin-bottom: calc(var(--spacing) * 10);
7252
7276
  }
7253
7277
 
7278
+ .ml-3 {
7279
+ margin-left: calc(var(--spacing) * 3);
7280
+ }
7281
+
7282
+ .box-content {
7283
+ box-sizing: content-box;
7284
+ }
7285
+
7254
7286
  .alert {
7255
7287
  border-width: var(--border);
7256
7288
  border-color: var(--alert-border-color, var(--color-base-200));
@@ -7347,6 +7379,10 @@
7347
7379
  height: auto;
7348
7380
  }
7349
7381
 
7382
+ .h-auto\! {
7383
+ height: auto !important;
7384
+ }
7385
+
7350
7386
  .h-full {
7351
7387
  height: 100%;
7352
7388
  }
@@ -7367,6 +7403,10 @@
7367
7403
  min-height: calc(var(--spacing) * 64);
7368
7404
  }
7369
7405
 
7406
+ .min-h-\[calc\(100dvh-4rem\)\] {
7407
+ min-height: calc(100dvh - 4rem);
7408
+ }
7409
+
7370
7410
  .min-h-full {
7371
7411
  min-height: 100%;
7372
7412
  }
@@ -7443,6 +7483,10 @@
7443
7483
  max-width: var(--container-6xl);
7444
7484
  }
7445
7485
 
7486
+ .max-w-\[70ch\] {
7487
+ max-width: 70ch;
7488
+ }
7489
+
7446
7490
  .max-w-full {
7447
7491
  max-width: 100%;
7448
7492
  }
@@ -7572,6 +7616,10 @@
7572
7616
  justify-content: flex-end;
7573
7617
  }
7574
7618
 
7619
+ .justify-start {
7620
+ justify-content: flex-start;
7621
+ }
7622
+
7575
7623
  .gap-1 {
7576
7624
  gap: var(--spacing);
7577
7625
  }
@@ -7596,6 +7644,10 @@
7596
7644
  gap: calc(var(--spacing) * 6);
7597
7645
  }
7598
7646
 
7647
+ .gap-6\! {
7648
+ gap: calc(var(--spacing) * 6) !important;
7649
+ }
7650
+
7599
7651
  .gap-px {
7600
7652
  gap: 1px;
7601
7653
  }
@@ -7638,6 +7690,10 @@
7638
7690
  overflow-x: auto;
7639
7691
  }
7640
7692
 
7693
+ .overflow-y-auto {
7694
+ overflow-y: auto;
7695
+ }
7696
+
7641
7697
  .rounded {
7642
7698
  border-radius: .25rem;
7643
7699
  }
@@ -7654,6 +7710,10 @@
7654
7710
  border-radius: 3.40282e38px;
7655
7711
  }
7656
7712
 
7713
+ .rounded-none\! {
7714
+ border-radius: 0 !important;
7715
+ }
7716
+
7657
7717
  .border {
7658
7718
  border-style: var(--tw-border-style);
7659
7719
  border-width: 1px;
@@ -7684,10 +7744,18 @@
7684
7744
  border-bottom-width: 2px;
7685
7745
  }
7686
7746
 
7747
+ .border-base-200 {
7748
+ border-color: var(--color-base-200);
7749
+ }
7750
+
7687
7751
  .border-base-300 {
7688
7752
  border-color: var(--color-base-300);
7689
7753
  }
7690
7754
 
7755
+ .border-transparent\! {
7756
+ border-color: #0000 !important;
7757
+ }
7758
+
7691
7759
  .border-warning {
7692
7760
  border-color: var(--color-warning);
7693
7761
  }
@@ -7730,6 +7798,10 @@
7730
7798
  }
7731
7799
  }
7732
7800
 
7801
+ .bg-transparent\! {
7802
+ background-color: #0000 !important;
7803
+ }
7804
+
7733
7805
  .bg-warning {
7734
7806
  background-color: var(--color-warning);
7735
7807
  }
@@ -7816,7 +7888,7 @@
7816
7888
  stroke: var(--color-base-100);
7817
7889
  }
7818
7890
 
7819
- .stroke-base-content\/10 {
7891
+ .stroke-base-content, .stroke-base-content\/10 {
7820
7892
  stroke: var(--color-base-content);
7821
7893
  }
7822
7894
 
@@ -7876,6 +7948,10 @@
7876
7948
  padding: calc(var(--spacing) * 6);
7877
7949
  }
7878
7950
 
7951
+ .px-0\! {
7952
+ padding-inline: 0 !important;
7953
+ }
7954
+
7879
7955
  .px-1 {
7880
7956
  padding-inline: var(--spacing);
7881
7957
  }
@@ -7884,10 +7960,18 @@
7884
7960
  padding-inline: calc(var(--spacing) * 2);
7885
7961
  }
7886
7962
 
7963
+ .px-6\! {
7964
+ padding-inline: calc(var(--spacing) * 6) !important;
7965
+ }
7966
+
7887
7967
  .py-1\.5 {
7888
7968
  padding-block: calc(var(--spacing) * 1.5);
7889
7969
  }
7890
7970
 
7971
+ .py-3 {
7972
+ padding-block: calc(var(--spacing) * 3);
7973
+ }
7974
+
7891
7975
  .ps-5 {
7892
7976
  padding-inline-start: calc(var(--spacing) * 5);
7893
7977
  }
@@ -7908,6 +7992,14 @@
7908
7992
  padding-top: calc(var(--spacing) * 4);
7909
7993
  }
7910
7994
 
7995
+ .pt-16\! {
7996
+ padding-top: calc(var(--spacing) * 16) !important;
7997
+ }
7998
+
7999
+ .pb-0\! {
8000
+ padding-bottom: 0 !important;
8001
+ }
8002
+
7911
8003
  .pb-1 {
7912
8004
  padding-bottom: var(--spacing);
7913
8005
  }
@@ -7929,6 +8021,11 @@
7929
8021
  line-height: var(--tw-leading, var(--text-2xl--line-height));
7930
8022
  }
7931
8023
 
8024
+ .text-3xl\! {
8025
+ font-size: var(--text-3xl) !important;
8026
+ line-height: var(--tw-leading, var(--text-3xl--line-height)) !important;
8027
+ }
8028
+
7932
8029
  .text-base {
7933
8030
  font-size: var(--text-base);
7934
8031
  line-height: var(--tw-leading, var(--text-base--line-height));
@@ -7954,6 +8051,15 @@
7954
8051
  line-height: var(--tw-leading, var(--text-xs--line-height));
7955
8052
  }
7956
8053
 
8054
+ .text-\[1\.0625rem\] {
8055
+ font-size: 1.0625rem;
8056
+ }
8057
+
8058
+ .leading-tight {
8059
+ --tw-leading: var(--leading-tight);
8060
+ line-height: var(--leading-tight);
8061
+ }
8062
+
7957
8063
  .font-bold {
7958
8064
  --tw-font-weight: var(--font-weight-bold);
7959
8065
  font-weight: var(--font-weight-bold);
@@ -8038,6 +8144,10 @@
8038
8144
  text-transform: capitalize;
8039
8145
  }
8040
8146
 
8147
+ .italic {
8148
+ font-style: italic;
8149
+ }
8150
+
8041
8151
  .tabular-nums {
8042
8152
  --tw-numeric-spacing: tabular-nums;
8043
8153
  font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
@@ -8051,7 +8161,17 @@
8051
8161
  opacity: .7;
8052
8162
  }
8053
8163
 
8054
- .shadow, .shadow-sm {
8164
+ .shadow {
8165
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
8166
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
8167
+ }
8168
+
8169
+ .shadow-none\! {
8170
+ --tw-shadow: 0 0 #0000 !important;
8171
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
8172
+ }
8173
+
8174
+ .shadow-sm {
8055
8175
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
8056
8176
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
8057
8177
  }
@@ -8238,6 +8358,15 @@
8238
8358
  outline-style: solid;
8239
8359
  }
8240
8360
 
8361
+ .has-checked\:border-2:has(:checked) {
8362
+ border-style: var(--tw-border-style);
8363
+ border-width: 2px;
8364
+ }
8365
+
8366
+ .has-checked\:border-primary:has(:checked) {
8367
+ border-color: var(--color-primary);
8368
+ }
8369
+
8241
8370
  @media not all and (min-width: 64rem) {
8242
8371
  .max-lg\:relative {
8243
8372
  position: relative;
@@ -8517,6 +8646,10 @@
8517
8646
  grid-template-columns: repeat(2, minmax(0, 1fr));
8518
8647
  }
8519
8648
 
8649
+ .xl\:grid-cols-3 {
8650
+ grid-template-columns: repeat(3, minmax(0, 1fr));
8651
+ }
8652
+
8520
8653
  .xl\:grid-cols-6 {
8521
8654
  grid-template-columns: repeat(6, minmax(0, 1fr));
8522
8655
  }
@@ -8539,8 +8672,8 @@
8539
8672
  }
8540
8673
 
8541
8674
  @container (min-width: 48rem) {
8542
- .\@3xl\:col-span-2 {
8543
- grid-column: span 2 / span 2;
8675
+ .\@3xl\:min-h-24 {
8676
+ min-height: calc(var(--spacing) * 24);
8544
8677
  }
8545
8678
 
8546
8679
  .\@3xl\:grid-cols-2 {
@@ -8554,6 +8687,34 @@
8554
8687
  }
8555
8688
  }
8556
8689
 
8690
+ .\[\&_\.fieldset-legend\]\:text-xs .fieldset-legend {
8691
+ font-size: var(--text-xs);
8692
+ line-height: var(--tw-leading, var(--text-xs--line-height));
8693
+ }
8694
+
8695
+ .\[\&_\.fieldset-legend\]\:font-medium .fieldset-legend {
8696
+ --tw-font-weight: var(--font-weight-medium);
8697
+ font-weight: var(--font-weight-medium);
8698
+ }
8699
+
8700
+ .\[\&_\.fieldset-legend\]\:text-base-content\/55 .fieldset-legend {
8701
+ color: var(--color-base-content);
8702
+ }
8703
+
8704
+ @supports (color: color-mix(in lab, red, red)) {
8705
+ .\[\&_\.fieldset-legend\]\:text-base-content\/55 .fieldset-legend {
8706
+ color: color-mix(in oklab, var(--color-base-content) 55%, transparent);
8707
+ }
8708
+ }
8709
+
8710
+ .\[\&\>p\]\:min-h-0 > p {
8711
+ min-height: 0;
8712
+ }
8713
+
8714
+ .\[\&\>p\]\:basis-auto > p {
8715
+ flex-basis: auto;
8716
+ }
8717
+
8557
8718
  @media (min-width: 64rem) {
8558
8719
  @media (hover: hover) {
8559
8720
  .lg\:\[\@media\(hover\:hover\)\]\:opacity-0 {
@@ -8744,6 +8905,38 @@
8744
8905
  }
8745
8906
  }
8746
8907
 
8908
+ html.editor-focus #editor-surface .cm-editor {
8909
+ background-color: #0000;
8910
+ border-color: #0000;
8911
+ height: auto;
8912
+ min-height: 60dvh;
8913
+ font-size: 1.0625rem;
8914
+ }
8915
+
8916
+ html.editor-focus #editor-surface .cm-editor.cm-focused {
8917
+ outline: none;
8918
+ }
8919
+
8920
+ html.editor-focus #editor-surface .cm-scroller {
8921
+ line-height: 1.8;
8922
+ }
8923
+
8924
+ html.editor-focus #editor-surface .cm-content {
8925
+ padding-block: 0;
8926
+ }
8927
+
8928
+ html.editor-focus #editor-surface .cm-line {
8929
+ padding-inline: 0;
8930
+ }
8931
+
8932
+ html.editor-focus #editor-surface .cm-gutters {
8933
+ display: none;
8934
+ }
8935
+
8936
+ html.editor-focus #editor-surface .cm-activeLine {
8937
+ background-color: #0000;
8938
+ }
8939
+
8747
8940
  @keyframes rotator {
8748
8941
  89.9999%, 100% {
8749
8942
  --first-item-position: 0 0%;
@@ -8876,6 +9069,11 @@
8876
9069
  initial-value: solid;
8877
9070
  }
8878
9071
 
9072
+ @property --tw-leading {
9073
+ syntax: "*";
9074
+ inherits: false
9075
+ }
9076
+
8879
9077
  @property --tw-font-weight {
8880
9078
  syntax: "*";
8881
9079
  inherits: false
@@ -11,7 +11,7 @@
11
11
  var dragged = null;
12
12
  var before = '';
13
13
 
14
- Array.prototype.forEach.call(cards(), function (card) {
14
+ Array.prototype.forEach.call(cards(grid), function (card) {
15
15
  var title = card.querySelector('.card-title');
16
16
  var handle = document.createElement('span');
17
17
  handle.className = 'cursor-grab select-none text-base-content/60';
@@ -26,7 +26,7 @@
26
26
  });
27
27
  card.addEventListener('dragstart', function (event) {
28
28
  dragged = card;
29
- before = order().join('\n');
29
+ before = arrangement();
30
30
  event.dataTransfer.effectAllowed = 'move';
31
31
  event.dataTransfer.setData('text/plain', card.getAttribute('data-dashboard-card'));
32
32
  card.classList.add('opacity-50');
@@ -35,44 +35,64 @@
35
35
  card.draggable = false;
36
36
  card.classList.remove('opacity-50');
37
37
  dragged = null;
38
- if (order().join('\n') !== before) save(card);
38
+ if (arrangement() !== before) save(card);
39
39
  });
40
40
  });
41
41
 
42
42
  grid.addEventListener('dragover', function (event) {
43
43
  if (!dragged) return;
44
44
  event.preventDefault();
45
+ var column = event.target.closest('[data-dashboard-column]');
46
+ if (!column) return;
45
47
  var over = event.target.closest('[data-dashboard-card]');
46
- if (!over || over === dragged) return;
47
- var past = isPastDiagonal(over.getBoundingClientRect(), event);
48
- if (past && over.nextElementSibling !== dragged) over.after(dragged);
49
- else if (!past && over.previousElementSibling !== dragged) over.before(dragged);
48
+ if (over === dragged) return;
49
+ if (!over) {
50
+ if (column.lastElementChild !== dragged) column.appendChild(dragged);
51
+ return;
52
+ }
53
+ var box = over.getBoundingClientRect();
54
+ if (event.clientY > box.top + box.height / 2) {
55
+ if (over.nextElementSibling !== dragged) over.after(dragged);
56
+ } else if (over.previousElementSibling !== dragged) {
57
+ over.before(dragged);
58
+ }
50
59
  });
51
60
  grid.addEventListener('drop', function (event) {
52
61
  if (dragged) event.preventDefault();
53
62
  });
54
63
 
55
- function isPastDiagonal(box, event) {
56
- return (event.clientX - box.left) / box.width + (event.clientY - box.top) / box.height > 1;
64
+ function columns() {
65
+ return Array.prototype.slice.call(grid.querySelectorAll('[data-dashboard-column]'));
57
66
  }
58
67
 
59
- function cards() {
60
- return Array.prototype.slice.call(grid.querySelectorAll('[data-dashboard-card]'));
68
+ function cards(within) {
69
+ return Array.prototype.slice.call(within.querySelectorAll('[data-dashboard-card]'));
61
70
  }
62
71
 
63
- function order() {
64
- return cards().map(function (card) {
72
+ function keys(column) {
73
+ return cards(column).map(function (card) {
65
74
  return card.getAttribute('data-dashboard-card');
66
75
  });
67
76
  }
68
77
 
78
+ function arrangement() {
79
+ return columns()
80
+ .map(function (column) {
81
+ return keys(column).join('\n');
82
+ })
83
+ .join('\n\n');
84
+ }
85
+
69
86
  function save(card) {
70
87
  var form = card.querySelector('form');
71
88
  var body = new URLSearchParams();
72
89
  body.append('csrf_token', form.elements['csrf_token'].value);
73
90
  body.append('action', 'order');
74
- order().forEach(function (key) {
75
- body.append('order', key);
91
+ columns().forEach(function (column) {
92
+ var side = column.getAttribute('data-dashboard-column');
93
+ keys(column).forEach(function (key) {
94
+ body.append(side, key);
95
+ });
76
96
  });
77
97
  fetch(url, {
78
98
  method: 'POST',
@@ -85,14 +105,17 @@
85
105
  throw new Error(String(response.status));
86
106
  }
87
107
  moveButtons();
88
- var all = cards();
108
+ var column = card.closest('[data-dashboard-column]');
109
+ var stack = cards(column);
89
110
  live.textContent =
90
111
  card.querySelector('.card-title').textContent.replace('⠿', '').trim() +
91
112
  ' moved to position ' +
92
- String(all.indexOf(card) + 1) +
113
+ String(stack.indexOf(card) + 1) +
93
114
  ' of ' +
94
- String(all.length) +
95
- '.';
115
+ String(stack.length) +
116
+ ' in the ' +
117
+ column.getAttribute('data-dashboard-column') +
118
+ ' column.';
96
119
  })
97
120
  .catch(function () {
98
121
  window.location.reload();
@@ -100,10 +123,15 @@
100
123
  }
101
124
 
102
125
  function moveButtons() {
103
- var all = cards();
104
- all.forEach(function (card, index) {
105
- card.querySelector('button[value="earlier"]').disabled = index === 0;
106
- card.querySelector('button[value="later"]').disabled = index === all.length - 1;
126
+ columns().forEach(function (column) {
127
+ var side = column.getAttribute('data-dashboard-column');
128
+ var stack = cards(column);
129
+ stack.forEach(function (card, index) {
130
+ card.querySelector('button[value="earlier"]').disabled = index === 0;
131
+ card.querySelector('button[value="later"]').disabled = index === stack.length - 1;
132
+ card.querySelector('button[value="left"]').hidden = side === 'left';
133
+ card.querySelector('button[value="right"]').hidden = side === 'right';
134
+ });
107
135
  });
108
136
  }
109
137
  })();