@geekity/cms 0.39.0 → 0.41.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 (297) hide show
  1. package/admin/pages/appearance/look.njk +135 -0
  2. package/admin/pages/dashboard/home.njk +9 -3
  3. package/admin/pages/documents/conflict.njk +35 -10
  4. package/admin/pages/documents/editor.njk +28 -0
  5. package/admin/pages/documents/list.njk +44 -1
  6. package/admin/pages/settings/general.njk +4 -0
  7. package/admin/pages/users/edit.njk +1 -1
  8. package/admin/src/admin.css +32 -0
  9. package/admin/static/admin.css +197 -3
  10. package/admin/static/dashboard.js +51 -23
  11. package/admin/static/editor.js +19 -19
  12. package/dist/admin/autosave-client.d.ts +85 -0
  13. package/dist/admin/autosave-client.d.ts.map +1 -0
  14. package/dist/admin/autosave-client.js +218 -0
  15. package/dist/admin/autosave-client.js.map +1 -0
  16. package/dist/admin/autosave.d.ts +11 -0
  17. package/dist/admin/autosave.d.ts.map +1 -0
  18. package/dist/admin/autosave.js +76 -0
  19. package/dist/admin/autosave.js.map +1 -0
  20. package/dist/admin/dashboard.d.ts +2 -2
  21. package/dist/admin/dashboard.d.ts.map +1 -1
  22. package/dist/admin/dashboard.js +23 -15
  23. package/dist/admin/dashboard.js.map +1 -1
  24. package/dist/admin/documents.d.ts.map +1 -1
  25. package/dist/admin/documents.js +205 -16
  26. package/dist/admin/documents.js.map +1 -1
  27. package/dist/admin/flash.d.ts +2 -0
  28. package/dist/admin/flash.d.ts.map +1 -1
  29. package/dist/admin/flash.js +12 -0
  30. package/dist/admin/flash.js.map +1 -1
  31. package/dist/admin/focus-mode.d.ts +39 -0
  32. package/dist/admin/focus-mode.d.ts.map +1 -0
  33. package/dist/admin/focus-mode.js +81 -0
  34. package/dist/admin/focus-mode.js.map +1 -0
  35. package/dist/admin/formatting.d.ts +0 -2
  36. package/dist/admin/formatting.d.ts.map +1 -1
  37. package/dist/admin/formatting.js +0 -8
  38. package/dist/admin/formatting.js.map +1 -1
  39. package/dist/admin/look.d.ts +12 -0
  40. package/dist/admin/look.d.ts.map +1 -0
  41. package/dist/admin/look.js +179 -0
  42. package/dist/admin/look.js.map +1 -0
  43. package/dist/admin/menu.d.ts.map +1 -1
  44. package/dist/admin/menu.js +5 -3
  45. package/dist/admin/menu.js.map +1 -1
  46. package/dist/admin/preview.d.ts.map +1 -1
  47. package/dist/admin/preview.js +1 -0
  48. package/dist/admin/preview.js.map +1 -1
  49. package/dist/admin/routes.d.ts.map +1 -1
  50. package/dist/admin/routes.js +6 -4
  51. package/dist/admin/routes.js.map +1 -1
  52. package/dist/admin/settings-fields.d.ts +1 -1
  53. package/dist/admin/settings-fields.d.ts.map +1 -1
  54. package/dist/admin/settings-fields.js +1 -0
  55. package/dist/admin/settings-fields.js.map +1 -1
  56. package/dist/admin/settings-general.d.ts.map +1 -1
  57. package/dist/admin/settings-general.js +1 -0
  58. package/dist/admin/settings-general.js.map +1 -1
  59. package/dist/admin/templates.d.ts +1 -0
  60. package/dist/admin/templates.d.ts.map +1 -1
  61. package/dist/admin/templates.js +2 -1
  62. package/dist/admin/templates.js.map +1 -1
  63. package/dist/admin/users.d.ts.map +1 -1
  64. package/dist/admin/users.js +2 -0
  65. package/dist/admin/users.js.map +1 -1
  66. package/dist/admin/widget-fediverse.js +1 -1
  67. package/dist/admin/widget-posting.d.ts.map +1 -1
  68. package/dist/admin/widget-posting.js +4 -75
  69. package/dist/admin/widget-posting.js.map +1 -1
  70. package/dist/admin/widget-scheduled.js +1 -1
  71. package/dist/admin/widget-top-posts.js +1 -1
  72. package/dist/autosave/index.d.ts +5 -0
  73. package/dist/autosave/index.d.ts.map +1 -0
  74. package/dist/autosave/index.js +3 -0
  75. package/dist/autosave/index.js.map +1 -0
  76. package/dist/autosave/key.d.ts +13 -0
  77. package/dist/autosave/key.d.ts.map +1 -0
  78. package/dist/autosave/key.js +29 -0
  79. package/dist/autosave/key.js.map +1 -0
  80. package/dist/autosave/store.d.ts +23 -0
  81. package/dist/autosave/store.d.ts.map +1 -0
  82. package/dist/autosave/store.js +114 -0
  83. package/dist/autosave/store.js.map +1 -0
  84. package/dist/cli.js +1 -1
  85. package/dist/cli.js.map +1 -1
  86. package/dist/cms/app.d.ts.map +1 -1
  87. package/dist/cms/app.js +1 -0
  88. package/dist/cms/app.js.map +1 -1
  89. package/dist/cms/boot.d.ts.map +1 -1
  90. package/dist/cms/boot.js +2 -0
  91. package/dist/cms/boot.js.map +1 -1
  92. package/dist/cms/create.d.ts +6 -0
  93. package/dist/cms/create.d.ts.map +1 -1
  94. package/dist/cms/create.js +1 -0
  95. package/dist/cms/create.js.map +1 -1
  96. package/dist/cms/server-error.d.ts.map +1 -1
  97. package/dist/cms/server-error.js +6 -6
  98. package/dist/cms/server-error.js.map +1 -1
  99. package/dist/cms/services.d.ts +2 -0
  100. package/dist/cms/services.d.ts.map +1 -1
  101. package/dist/cms/services.js +9 -0
  102. package/dist/cms/services.js.map +1 -1
  103. package/dist/{micropub/content.d.ts → content/html-to-markdown.d.ts} +1 -1
  104. package/dist/content/html-to-markdown.d.ts.map +1 -0
  105. package/dist/{micropub/content.js → content/html-to-markdown.js} +11 -9
  106. package/dist/content/html-to-markdown.js.map +1 -0
  107. package/dist/content/post-type.d.ts +1 -0
  108. package/dist/content/post-type.d.ts.map +1 -1
  109. package/dist/content/post-type.js +1 -1
  110. package/dist/content/post-type.js.map +1 -1
  111. package/dist/content/review.d.ts +14 -0
  112. package/dist/content/review.d.ts.map +1 -1
  113. package/dist/content/review.js +31 -8
  114. package/dist/content/review.js.map +1 -1
  115. package/dist/content/write.d.ts +8 -0
  116. package/dist/content/write.d.ts.map +1 -1
  117. package/dist/content/write.js +1 -1
  118. package/dist/content/write.js.map +1 -1
  119. package/dist/files/data-files.d.ts +2 -0
  120. package/dist/files/data-files.d.ts.map +1 -1
  121. package/dist/files/data-files.js +12 -0
  122. package/dist/files/data-files.js.map +1 -1
  123. package/dist/fonts/css.d.ts +25 -0
  124. package/dist/fonts/css.d.ts.map +1 -0
  125. package/dist/fonts/css.js +88 -0
  126. package/dist/fonts/css.js.map +1 -0
  127. package/dist/fonts/family.d.ts +23 -0
  128. package/dist/fonts/family.d.ts.map +1 -0
  129. package/dist/fonts/family.js +41 -0
  130. package/dist/fonts/family.js.map +1 -0
  131. package/dist/fonts/index.d.ts +10 -0
  132. package/dist/fonts/index.d.ts.map +1 -0
  133. package/dist/fonts/index.js +6 -0
  134. package/dist/fonts/index.js.map +1 -0
  135. package/dist/fonts/job.d.ts +20 -0
  136. package/dist/fonts/job.d.ts.map +1 -0
  137. package/dist/fonts/job.js +49 -0
  138. package/dist/fonts/job.js.map +1 -0
  139. package/dist/fonts/roles.d.ts +53 -0
  140. package/dist/fonts/roles.d.ts.map +1 -0
  141. package/dist/fonts/roles.js +64 -0
  142. package/dist/fonts/roles.js.map +1 -0
  143. package/dist/fonts/store.d.ts +69 -0
  144. package/dist/fonts/store.d.ts.map +1 -0
  145. package/dist/fonts/store.js +237 -0
  146. package/dist/fonts/store.js.map +1 -0
  147. package/dist/maintenance.d.ts +1 -0
  148. package/dist/maintenance.d.ts.map +1 -1
  149. package/dist/maintenance.js +1 -1
  150. package/dist/maintenance.js.map +1 -1
  151. package/dist/micropub/create.js +1 -1
  152. package/dist/micropub/create.js.map +1 -1
  153. package/dist/plugin.d.ts +1 -1
  154. package/dist/plugin.d.ts.map +1 -1
  155. package/dist/settings/registry.d.ts.map +1 -1
  156. package/dist/settings/registry.js +5 -1
  157. package/dist/settings/registry.js.map +1 -1
  158. package/dist/settings/types.d.ts +1 -1
  159. package/dist/settings/types.d.ts.map +1 -1
  160. package/dist/site/dashboard-layout.d.ts +33 -26
  161. package/dist/site/dashboard-layout.d.ts.map +1 -1
  162. package/dist/site/dashboard-layout.js +94 -39
  163. package/dist/site/dashboard-layout.js.map +1 -1
  164. package/dist/site/namespace.d.ts +5 -0
  165. package/dist/site/namespace.d.ts.map +1 -1
  166. package/dist/site/namespace.js +40 -1
  167. package/dist/site/namespace.js.map +1 -1
  168. package/dist/store/schema.d.ts.map +1 -1
  169. package/dist/store/schema.js +4 -0
  170. package/dist/store/schema.js.map +1 -1
  171. package/dist/store/sessions.d.ts +2 -1
  172. package/dist/store/sessions.d.ts.map +1 -1
  173. package/dist/store/sessions.js +30 -12
  174. package/dist/store/sessions.js.map +1 -1
  175. package/dist/theme/font-family.d.ts +13 -0
  176. package/dist/theme/font-family.d.ts.map +1 -0
  177. package/dist/theme/font-family.js +21 -0
  178. package/dist/theme/font-family.js.map +1 -0
  179. package/dist/theme/scheme-tokens.d.ts +50 -0
  180. package/dist/theme/scheme-tokens.d.ts.map +1 -0
  181. package/dist/theme/scheme-tokens.js +240 -0
  182. package/dist/theme/scheme-tokens.js.map +1 -0
  183. package/dist/theme/site-data.d.ts +12 -0
  184. package/dist/theme/site-data.d.ts.map +1 -1
  185. package/dist/theme/site-data.js +15 -0
  186. package/dist/theme/site-data.js.map +1 -1
  187. package/dist/theme/themes.d.ts +74 -0
  188. package/dist/theme/themes.d.ts.map +1 -1
  189. package/dist/theme/themes.js +100 -9
  190. package/dist/theme/themes.js.map +1 -1
  191. package/dist/util/file-size.d.ts +3 -0
  192. package/dist/util/file-size.d.ts.map +1 -0
  193. package/dist/util/file-size.js +9 -0
  194. package/dist/util/file-size.js.map +1 -0
  195. package/dist/web/asset-routes.d.ts.map +1 -1
  196. package/dist/web/asset-routes.js +2 -1
  197. package/dist/web/asset-routes.js.map +1 -1
  198. package/dist/web/conversation.d.ts +15 -0
  199. package/dist/web/conversation.d.ts.map +1 -1
  200. package/dist/web/conversation.js +10 -3
  201. package/dist/web/conversation.js.map +1 -1
  202. package/dist/web/document-page.d.ts.map +1 -1
  203. package/dist/web/document-page.js +11 -13
  204. package/dist/web/document-page.js.map +1 -1
  205. package/dist/web/embed.d.ts.map +1 -1
  206. package/dist/web/embed.js +4 -2
  207. package/dist/web/embed.js.map +1 -1
  208. package/dist/web/env.d.ts +2 -0
  209. package/dist/web/env.d.ts.map +1 -1
  210. package/dist/web/federation-routes.d.ts.map +1 -1
  211. package/dist/web/federation-routes.js +2 -1
  212. package/dist/web/federation-routes.js.map +1 -1
  213. package/dist/web/feed-routes.d.ts +4 -2
  214. package/dist/web/feed-routes.d.ts.map +1 -1
  215. package/dist/web/feed-routes.js +22 -4
  216. package/dist/web/feed-routes.js.map +1 -1
  217. package/dist/web/feed-source.d.ts +1 -1
  218. package/dist/web/feed-source.d.ts.map +1 -1
  219. package/dist/web/feed-source.js +1 -1
  220. package/dist/web/feed-source.js.map +1 -1
  221. package/dist/web/font-routes.d.ts +13 -0
  222. package/dist/web/font-routes.d.ts.map +1 -0
  223. package/dist/web/font-routes.js +27 -0
  224. package/dist/web/font-routes.js.map +1 -0
  225. package/dist/web/listing-pages.d.ts.map +1 -1
  226. package/dist/web/listing-pages.js +12 -14
  227. package/dist/web/listing-pages.js.map +1 -1
  228. package/dist/web/maintenance.d.ts.map +1 -1
  229. package/dist/web/maintenance.js +12 -8
  230. package/dist/web/maintenance.js.map +1 -1
  231. package/dist/web/manifest.d.ts +8 -5
  232. package/dist/web/manifest.d.ts.map +1 -1
  233. package/dist/web/manifest.js +10 -7
  234. package/dist/web/manifest.js.map +1 -1
  235. package/dist/web/markdown-conversation.d.ts +72 -0
  236. package/dist/web/markdown-conversation.d.ts.map +1 -0
  237. package/dist/web/markdown-conversation.js +63 -0
  238. package/dist/web/markdown-conversation.js.map +1 -0
  239. package/dist/web/markdown-page.d.ts +39 -0
  240. package/dist/web/markdown-page.d.ts.map +1 -1
  241. package/dist/web/markdown-page.js +5 -2
  242. package/dist/web/markdown-page.js.map +1 -1
  243. package/dist/web/markdown-representation.d.ts +31 -1
  244. package/dist/web/markdown-representation.d.ts.map +1 -1
  245. package/dist/web/markdown-representation.js +161 -8
  246. package/dist/web/markdown-representation.js.map +1 -1
  247. package/dist/web/negotiate.d.ts +3 -2
  248. package/dist/web/negotiate.d.ts.map +1 -1
  249. package/dist/web/negotiate.js +7 -3
  250. package/dist/web/negotiate.js.map +1 -1
  251. package/dist/web/oembed.d.ts +17 -3
  252. package/dist/web/oembed.d.ts.map +1 -1
  253. package/dist/web/oembed.js +68 -26
  254. package/dist/web/oembed.js.map +1 -1
  255. package/dist/web/render.d.ts +64 -5
  256. package/dist/web/render.d.ts.map +1 -1
  257. package/dist/web/render.js +185 -10
  258. package/dist/web/render.js.map +1 -1
  259. package/dist/web/request.d.ts +0 -3
  260. package/dist/web/request.d.ts.map +1 -1
  261. package/dist/web/request.js +0 -7
  262. package/dist/web/request.js.map +1 -1
  263. package/dist/web/routes.d.ts.map +1 -1
  264. package/dist/web/routes.js +13 -7
  265. package/dist/web/routes.js.map +1 -1
  266. package/dist/web/search.d.ts +6 -3
  267. package/dist/web/search.d.ts.map +1 -1
  268. package/dist/web/search.js +20 -5
  269. package/dist/web/search.js.map +1 -1
  270. package/dist/web/site-index.d.ts.map +1 -1
  271. package/dist/web/site-index.js +2 -1
  272. package/dist/web/site-index.js.map +1 -1
  273. package/dist/web/status-pages.d.ts +19 -0
  274. package/dist/web/status-pages.d.ts.map +1 -0
  275. package/dist/web/status-pages.js +44 -0
  276. package/dist/web/status-pages.js.map +1 -0
  277. package/dist/webmention/fetch-public.d.ts +6 -0
  278. package/dist/webmention/fetch-public.d.ts.map +1 -1
  279. package/dist/webmention/fetch-public.js +6 -1
  280. package/dist/webmention/fetch-public.js.map +1 -1
  281. package/package.json +1 -1
  282. package/themes/default/layouts/404.md.njk +8 -0
  283. package/themes/default/layouts/410.md.njk +7 -0
  284. package/themes/default/layouts/500.md.njk +8 -0
  285. package/themes/default/layouts/503.md.njk +9 -0
  286. package/themes/default/layouts/base.njk +28 -16
  287. package/themes/default/layouts/page.njk +4 -8
  288. package/themes/default/partials/bio.njk +1 -1
  289. package/themes/default/partials/contact-form.njk +1 -1
  290. package/themes/default/partials/markdown-footer.md.njk +121 -3
  291. package/themes/default/partials/markdown-header.md.njk +102 -0
  292. package/themes/default/partials/markdown-reply.md.njk +31 -0
  293. package/themes/default/src/style.css +326 -15
  294. package/themes/default/static/style.css +489 -3
  295. package/themes/default/theme.json +23 -1
  296. package/dist/micropub/content.d.ts.map +0 -1
  297. package/dist/micropub/content.js.map +0 -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,10 @@
7251
7275
  margin-bottom: calc(var(--spacing) * 10);
7252
7276
  }
7253
7277
 
7278
+ .box-content {
7279
+ box-sizing: content-box;
7280
+ }
7281
+
7254
7282
  .alert {
7255
7283
  border-width: var(--border);
7256
7284
  border-color: var(--alert-border-color, var(--color-base-200));
@@ -7347,6 +7375,10 @@
7347
7375
  height: auto;
7348
7376
  }
7349
7377
 
7378
+ .h-auto\! {
7379
+ height: auto !important;
7380
+ }
7381
+
7350
7382
  .h-full {
7351
7383
  height: 100%;
7352
7384
  }
@@ -7367,6 +7399,10 @@
7367
7399
  min-height: calc(var(--spacing) * 64);
7368
7400
  }
7369
7401
 
7402
+ .min-h-\[calc\(100dvh-4rem\)\] {
7403
+ min-height: calc(100dvh - 4rem);
7404
+ }
7405
+
7370
7406
  .min-h-full {
7371
7407
  min-height: 100%;
7372
7408
  }
@@ -7443,6 +7479,10 @@
7443
7479
  max-width: var(--container-6xl);
7444
7480
  }
7445
7481
 
7482
+ .max-w-\[70ch\] {
7483
+ max-width: 70ch;
7484
+ }
7485
+
7446
7486
  .max-w-full {
7447
7487
  max-width: 100%;
7448
7488
  }
@@ -7572,6 +7612,10 @@
7572
7612
  justify-content: flex-end;
7573
7613
  }
7574
7614
 
7615
+ .justify-start {
7616
+ justify-content: flex-start;
7617
+ }
7618
+
7575
7619
  .gap-1 {
7576
7620
  gap: var(--spacing);
7577
7621
  }
@@ -7596,6 +7640,10 @@
7596
7640
  gap: calc(var(--spacing) * 6);
7597
7641
  }
7598
7642
 
7643
+ .gap-6\! {
7644
+ gap: calc(var(--spacing) * 6) !important;
7645
+ }
7646
+
7599
7647
  .gap-px {
7600
7648
  gap: 1px;
7601
7649
  }
@@ -7638,6 +7686,10 @@
7638
7686
  overflow-x: auto;
7639
7687
  }
7640
7688
 
7689
+ .overflow-y-auto {
7690
+ overflow-y: auto;
7691
+ }
7692
+
7641
7693
  .rounded {
7642
7694
  border-radius: .25rem;
7643
7695
  }
@@ -7654,6 +7706,10 @@
7654
7706
  border-radius: 3.40282e38px;
7655
7707
  }
7656
7708
 
7709
+ .rounded-none\! {
7710
+ border-radius: 0 !important;
7711
+ }
7712
+
7657
7713
  .border {
7658
7714
  border-style: var(--tw-border-style);
7659
7715
  border-width: 1px;
@@ -7684,10 +7740,18 @@
7684
7740
  border-bottom-width: 2px;
7685
7741
  }
7686
7742
 
7743
+ .border-base-200 {
7744
+ border-color: var(--color-base-200);
7745
+ }
7746
+
7687
7747
  .border-base-300 {
7688
7748
  border-color: var(--color-base-300);
7689
7749
  }
7690
7750
 
7751
+ .border-transparent\! {
7752
+ border-color: #0000 !important;
7753
+ }
7754
+
7691
7755
  .border-warning {
7692
7756
  border-color: var(--color-warning);
7693
7757
  }
@@ -7730,6 +7794,10 @@
7730
7794
  }
7731
7795
  }
7732
7796
 
7797
+ .bg-transparent\! {
7798
+ background-color: #0000 !important;
7799
+ }
7800
+
7733
7801
  .bg-warning {
7734
7802
  background-color: var(--color-warning);
7735
7803
  }
@@ -7876,6 +7944,10 @@
7876
7944
  padding: calc(var(--spacing) * 6);
7877
7945
  }
7878
7946
 
7947
+ .px-0\! {
7948
+ padding-inline: 0 !important;
7949
+ }
7950
+
7879
7951
  .px-1 {
7880
7952
  padding-inline: var(--spacing);
7881
7953
  }
@@ -7884,10 +7956,18 @@
7884
7956
  padding-inline: calc(var(--spacing) * 2);
7885
7957
  }
7886
7958
 
7959
+ .px-6\! {
7960
+ padding-inline: calc(var(--spacing) * 6) !important;
7961
+ }
7962
+
7887
7963
  .py-1\.5 {
7888
7964
  padding-block: calc(var(--spacing) * 1.5);
7889
7965
  }
7890
7966
 
7967
+ .py-3 {
7968
+ padding-block: calc(var(--spacing) * 3);
7969
+ }
7970
+
7891
7971
  .ps-5 {
7892
7972
  padding-inline-start: calc(var(--spacing) * 5);
7893
7973
  }
@@ -7908,6 +7988,14 @@
7908
7988
  padding-top: calc(var(--spacing) * 4);
7909
7989
  }
7910
7990
 
7991
+ .pt-16\! {
7992
+ padding-top: calc(var(--spacing) * 16) !important;
7993
+ }
7994
+
7995
+ .pb-0\! {
7996
+ padding-bottom: 0 !important;
7997
+ }
7998
+
7911
7999
  .pb-1 {
7912
8000
  padding-bottom: var(--spacing);
7913
8001
  }
@@ -7929,6 +8017,11 @@
7929
8017
  line-height: var(--tw-leading, var(--text-2xl--line-height));
7930
8018
  }
7931
8019
 
8020
+ .text-3xl\! {
8021
+ font-size: var(--text-3xl) !important;
8022
+ line-height: var(--tw-leading, var(--text-3xl--line-height)) !important;
8023
+ }
8024
+
7932
8025
  .text-base {
7933
8026
  font-size: var(--text-base);
7934
8027
  line-height: var(--tw-leading, var(--text-base--line-height));
@@ -7954,6 +8047,15 @@
7954
8047
  line-height: var(--tw-leading, var(--text-xs--line-height));
7955
8048
  }
7956
8049
 
8050
+ .text-\[1\.0625rem\] {
8051
+ font-size: 1.0625rem;
8052
+ }
8053
+
8054
+ .leading-tight {
8055
+ --tw-leading: var(--leading-tight);
8056
+ line-height: var(--leading-tight);
8057
+ }
8058
+
7957
8059
  .font-bold {
7958
8060
  --tw-font-weight: var(--font-weight-bold);
7959
8061
  font-weight: var(--font-weight-bold);
@@ -8038,6 +8140,10 @@
8038
8140
  text-transform: capitalize;
8039
8141
  }
8040
8142
 
8143
+ .italic {
8144
+ font-style: italic;
8145
+ }
8146
+
8041
8147
  .tabular-nums {
8042
8148
  --tw-numeric-spacing: tabular-nums;
8043
8149
  font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
@@ -8051,7 +8157,17 @@
8051
8157
  opacity: .7;
8052
8158
  }
8053
8159
 
8054
- .shadow, .shadow-sm {
8160
+ .shadow {
8161
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
8162
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
8163
+ }
8164
+
8165
+ .shadow-none\! {
8166
+ --tw-shadow: 0 0 #0000 !important;
8167
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
8168
+ }
8169
+
8170
+ .shadow-sm {
8055
8171
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
8056
8172
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
8057
8173
  }
@@ -8238,6 +8354,15 @@
8238
8354
  outline-style: solid;
8239
8355
  }
8240
8356
 
8357
+ .has-checked\:border-2:has(:checked) {
8358
+ border-style: var(--tw-border-style);
8359
+ border-width: 2px;
8360
+ }
8361
+
8362
+ .has-checked\:border-primary:has(:checked) {
8363
+ border-color: var(--color-primary);
8364
+ }
8365
+
8241
8366
  @media not all and (min-width: 64rem) {
8242
8367
  .max-lg\:relative {
8243
8368
  position: relative;
@@ -8517,6 +8642,10 @@
8517
8642
  grid-template-columns: repeat(2, minmax(0, 1fr));
8518
8643
  }
8519
8644
 
8645
+ .xl\:grid-cols-3 {
8646
+ grid-template-columns: repeat(3, minmax(0, 1fr));
8647
+ }
8648
+
8520
8649
  .xl\:grid-cols-6 {
8521
8650
  grid-template-columns: repeat(6, minmax(0, 1fr));
8522
8651
  }
@@ -8539,8 +8668,8 @@
8539
8668
  }
8540
8669
 
8541
8670
  @container (min-width: 48rem) {
8542
- .\@3xl\:col-span-2 {
8543
- grid-column: span 2 / span 2;
8671
+ .\@3xl\:min-h-24 {
8672
+ min-height: calc(var(--spacing) * 24);
8544
8673
  }
8545
8674
 
8546
8675
  .\@3xl\:grid-cols-2 {
@@ -8554,6 +8683,34 @@
8554
8683
  }
8555
8684
  }
8556
8685
 
8686
+ .\[\&_\.fieldset-legend\]\:text-xs .fieldset-legend {
8687
+ font-size: var(--text-xs);
8688
+ line-height: var(--tw-leading, var(--text-xs--line-height));
8689
+ }
8690
+
8691
+ .\[\&_\.fieldset-legend\]\:font-medium .fieldset-legend {
8692
+ --tw-font-weight: var(--font-weight-medium);
8693
+ font-weight: var(--font-weight-medium);
8694
+ }
8695
+
8696
+ .\[\&_\.fieldset-legend\]\:text-base-content\/55 .fieldset-legend {
8697
+ color: var(--color-base-content);
8698
+ }
8699
+
8700
+ @supports (color: color-mix(in lab, red, red)) {
8701
+ .\[\&_\.fieldset-legend\]\:text-base-content\/55 .fieldset-legend {
8702
+ color: color-mix(in oklab, var(--color-base-content) 55%, transparent);
8703
+ }
8704
+ }
8705
+
8706
+ .\[\&\>p\]\:min-h-0 > p {
8707
+ min-height: 0;
8708
+ }
8709
+
8710
+ .\[\&\>p\]\:basis-auto > p {
8711
+ flex-basis: auto;
8712
+ }
8713
+
8557
8714
  @media (min-width: 64rem) {
8558
8715
  @media (hover: hover) {
8559
8716
  .lg\:\[\@media\(hover\:hover\)\]\:opacity-0 {
@@ -8744,6 +8901,38 @@
8744
8901
  }
8745
8902
  }
8746
8903
 
8904
+ html.editor-focus #editor-surface .cm-editor {
8905
+ background-color: #0000;
8906
+ border-color: #0000;
8907
+ height: auto;
8908
+ min-height: 60dvh;
8909
+ font-size: 1.0625rem;
8910
+ }
8911
+
8912
+ html.editor-focus #editor-surface .cm-editor.cm-focused {
8913
+ outline: none;
8914
+ }
8915
+
8916
+ html.editor-focus #editor-surface .cm-scroller {
8917
+ line-height: 1.8;
8918
+ }
8919
+
8920
+ html.editor-focus #editor-surface .cm-content {
8921
+ padding-block: 0;
8922
+ }
8923
+
8924
+ html.editor-focus #editor-surface .cm-line {
8925
+ padding-inline: 0;
8926
+ }
8927
+
8928
+ html.editor-focus #editor-surface .cm-gutters {
8929
+ display: none;
8930
+ }
8931
+
8932
+ html.editor-focus #editor-surface .cm-activeLine {
8933
+ background-color: #0000;
8934
+ }
8935
+
8747
8936
  @keyframes rotator {
8748
8937
  89.9999%, 100% {
8749
8938
  --first-item-position: 0 0%;
@@ -8876,6 +9065,11 @@
8876
9065
  initial-value: solid;
8877
9066
  }
8878
9067
 
9068
+ @property --tw-leading {
9069
+ syntax: "*";
9070
+ inherits: false
9071
+ }
9072
+
8879
9073
  @property --tw-font-weight {
8880
9074
  syntax: "*";
8881
9075
  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
  })();