domma-cms 1.8.33 → 1.8.35

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 (88) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +1 -1
  3. package/plugins/docs/CLAUDE.md +318 -0
  4. package/plugins/docs/admin/css/docs.css +783 -0
  5. package/plugins/docs/admin/lib/api.js +340 -0
  6. package/plugins/docs/admin/lib/convert.js +482 -0
  7. package/plugins/docs/admin/lib/drafts.js +115 -0
  8. package/plugins/docs/admin/lib/editor.js +851 -0
  9. package/plugins/docs/admin/lib/find-replace.js +426 -0
  10. package/plugins/docs/admin/lib/folders.js +203 -0
  11. package/plugins/docs/admin/lib/panel-guard.js +73 -0
  12. package/plugins/docs/admin/lib/pdf-view.js +126 -0
  13. package/plugins/docs/admin/lib/send.js +156 -0
  14. package/plugins/docs/admin/lib/settings.js +142 -0
  15. package/plugins/docs/admin/lib/share.js +323 -0
  16. package/plugins/docs/admin/lib/shortcuts.js +44 -0
  17. package/plugins/docs/admin/lib/templates.js +194 -0
  18. package/plugins/docs/admin/lib/versions.js +192 -0
  19. package/plugins/docs/admin/templates/docs.html +92 -0
  20. package/plugins/docs/admin/templates/editor.html +86 -0
  21. package/plugins/docs/admin/views/docs.js +777 -0
  22. package/plugins/docs/admin/views/editor.js +978 -0
  23. package/plugins/docs/config.js +24 -0
  24. package/plugins/docs/docs/guide.md +270 -0
  25. package/plugins/docs/lib/extensions.js +213 -0
  26. package/plugins/docs/lib/importer.js +72 -0
  27. package/plugins/docs/lib/pdf-worker.js +48 -0
  28. package/plugins/docs/lib/pdf.js +222 -0
  29. package/plugins/docs/lib/store.js +748 -0
  30. package/plugins/docs/plugin.js +1108 -0
  31. package/plugins/docs/plugin.json +89 -0
  32. package/plugins/docs/plugin.public.js +114 -0
  33. package/plugins/docs/templates/public-doc.html +36 -0
  34. package/plugins/docs/tests/_env.js +10 -0
  35. package/plugins/docs/tests/_pdf.js +73 -0
  36. package/plugins/docs/tests/convert.test.js +95 -0
  37. package/plugins/docs/tests/drafts.test.js +82 -0
  38. package/plugins/docs/tests/pdf.test.js +86 -0
  39. package/plugins/docs/tests/plugin.test.js +816 -0
  40. package/plugins/docs/tests/shortcuts.test.js +30 -0
  41. package/plugins/free-tier.lock.json +105 -1
  42. package/plugins/garage/CLAUDE.md +51 -0
  43. package/plugins/garage/admin/css/garage.css +73 -0
  44. package/plugins/garage/admin/lib/garage.js +236 -0
  45. package/plugins/garage/admin/templates/garage.html +86 -0
  46. package/plugins/garage/admin/views/garage.js +581 -0
  47. package/plugins/garage/collections/garage-vehicles/schema.json +101 -0
  48. package/plugins/garage/config.js +18 -0
  49. package/plugins/garage/docs/guide.md +118 -0
  50. package/plugins/garage/plugin.js +471 -0
  51. package/plugins/garage/plugin.json +68 -0
  52. package/plugins/garage/tests/access.test.js +134 -0
  53. package/plugins/garage/tests/garage.test.js +106 -0
  54. package/plugins/messages/CLAUDE.md +230 -0
  55. package/plugins/messages/admin/css/messages.css +117 -0
  56. package/plugins/messages/admin/lib/messages.js +452 -0
  57. package/plugins/messages/admin/templates/messages.html +76 -0
  58. package/plugins/messages/admin/views/messages.js +1219 -0
  59. package/plugins/messages/collections/user-message-threads/schema.json +22 -0
  60. package/plugins/messages/collections/user-messages/schema.json +23 -0
  61. package/plugins/messages/config.js +14 -0
  62. package/plugins/messages/docs/guide.md +176 -0
  63. package/plugins/messages/lib/call.js +138 -0
  64. package/plugins/messages/plugin.js +994 -0
  65. package/plugins/messages/plugin.json +59 -0
  66. package/plugins/messages/plugin.public.js +52 -0
  67. package/plugins/messages/templates/call.html +6 -0
  68. package/plugins/messages/tests/after-send.test.js +22 -0
  69. package/plugins/messages/tests/api.test.js +187 -0
  70. package/plugins/messages/tests/call.test.js +497 -0
  71. package/plugins/messages/tests/drafts.test.js +25 -0
  72. package/plugins/messages/tests/messages.test.js +167 -0
  73. package/plugins/theme-roller/CLAUDE.md +65 -0
  74. package/plugins/theme-roller/admin/css/theme-roller.css +43 -0
  75. package/plugins/theme-roller/admin/lib/prompt.js +22 -0
  76. package/plugins/theme-roller/admin/lib/themes.js +196 -0
  77. package/plugins/theme-roller/admin/lib/view.js +88 -0
  78. package/plugins/theme-roller/admin/templates/theme-roller.html +73 -0
  79. package/plugins/theme-roller/admin/views/theme-roller-view.js +639 -0
  80. package/plugins/theme-roller/config.js +1 -0
  81. package/plugins/theme-roller/docs/guide.md +104 -0
  82. package/plugins/theme-roller/plugin.js +263 -0
  83. package/plugins/theme-roller/plugin.json +42 -0
  84. package/plugins/theme-roller/tests/api.test.js +161 -0
  85. package/plugins/theme-roller/tests/prompt-values.test.js +22 -0
  86. package/plugins/theme-roller/tests/themes.test.js +77 -0
  87. package/plugins/theme-roller/tests/view.test.js +55 -0
  88. package/server/routes/public.js +16 -0
@@ -0,0 +1,73 @@
1
+ <!-- Theme Roller. Bound with M.applyBindings - see admin/views/theme-roller-view.js, which also
2
+ inserts the row template (the router renders a templateUrl through _.render, eating any {{…}}). -->
3
+ <div class="trx">
4
+ <p class="trx-alert" data-bind-hidden="supported.value">
5
+ <span data-icon="alert-triangle" data-icon-size="16"></span>
6
+ This CMS cannot use custom themes yet - it needs Domma CMS 0.73 or later. Themes still save here.
7
+ </p>
8
+
9
+ <div class="tabs trx-tabs">
10
+ <div class="tab-list">
11
+ <button type="button" class="tab-item active">Roller</button>
12
+ <button type="button" class="tab-item">Saved themes <span class="trx-count" data-bind-text="themes.value.length"></span></button>
13
+ <button type="button" class="tab-item">Custom CSS</button>
14
+ </div>
15
+
16
+ <!-- Roller -->
17
+ <div class="tab-panel active">
18
+ <div class="trx-bar">
19
+ <div class="trx-editing">
20
+ <strong data-bind-text="editingLabel.value">New theme</strong>
21
+ <small data-bind-text="editingMeta.value"></small>
22
+ <span class="trx-chip is-dirty" data-bind-hidden="!dirty.value" title="Changes not saved yet">Unsaved</span>
23
+ <span class="trx-chips" data-bind-hidden="!editingUsage.value.length">
24
+ <span class="trx-chip" data-bind-text="editingUsageText.value"></span>
25
+ </span>
26
+ </div>
27
+ <div class="trx-actions">
28
+ <button type="button" class="btn btn-sm btn-ghost" data-on-click="newTheme" title="Start a new theme">
29
+ <span data-icon="plus" data-icon-size="14"></span> New</button>
30
+ <button type="button" class="btn btn-sm btn-primary" data-on-click="save" data-bind-disabled="saving.value">
31
+ <span data-icon="save" data-icon-size="14"></span> <span data-bind-text="saveText.value">Save</span></button>
32
+ <button type="button" class="btn btn-sm btn-outline" data-on-click="saveAs" data-bind-hidden="!editingId.value" title="Save these settings as a new theme">
33
+ Save as…</button>
34
+ <button type="button" class="btn btn-sm btn-ghost trx-more" data-bind-hidden="!editingId.value" aria-label="More for this theme" title="More">⋮</button>
35
+ <span data-help-title="Theme Roller" data-help="Pick a base theme in the roller, change any colour, font, spacing or border, and Save. A saved theme can be used on the site or in the admin - from here (⋮, or right-click it under Saved themes) or from Content › Theme, where it is listed with the built-in themes. Only what you change is stored; everything else comes from the base."></span>
36
+ </div>
37
+ </div>
38
+ <div class="trx-roller"></div>
39
+ </div>
40
+
41
+ <!-- Saved themes -->
42
+ <div class="tab-panel">
43
+ <div class="trx-card">
44
+ <div class="trx-card-title">Saved themes
45
+ <span data-help-title="Saved themes" data-help="Click a theme to edit it in the roller. Right-click it (or ⋮, or Shift+F10) to use it on the site or in the admin, stop using it, duplicate, rename, export its CSS or delete it. Deleting a theme that is in use puts each place back on its base theme."></span></div>
46
+ <div class="trx-toolbar" hidden data-bind-hidden="loading.value || !themes.value.length">
47
+ <div class="trx-seg" role="group" aria-label="Which themes">
48
+ <button type="button" data-on-click="s_all" data-bind-class="show.value === 'all' && 'is-on'">All <small data-bind-text="counts.value.all"></small></button>
49
+ <button type="button" data-on-click="s_used" data-bind-class="show.value === 'used' && 'is-on'">In use <small data-bind-text="counts.value.used"></small></button>
50
+ <button type="button" data-on-click="s_unused" data-bind-class="show.value === 'unused' && 'is-on'">Not in use <small data-bind-text="counts.value.unused"></small></button>
51
+ </div>
52
+ <input type="search" class="form-input trx-search" placeholder="Name, base theme…" aria-label="Search saved themes" data-model="query.value">
53
+ </div>
54
+ <div class="trx-note trx-loading dm-loading-slot" data-bind-hidden="!loading.value">Loading…</div>
55
+ <p class="trx-note" hidden data-bind-hidden="loading.value || rows.value.length" data-bind-text="emptyText.value"></p>
56
+ <div class="trx-list" data-each="rows.value key=id"></div>
57
+ </div>
58
+ </div>
59
+
60
+ <!-- Custom CSS -->
61
+ <div class="tab-panel">
62
+ <div class="trx-card">
63
+ <div class="trx-card-title">Custom CSS
64
+ <span data-help-title="Custom CSS" data-help="Hand-written CSS appended to every public page, after the theme - so it has the last word. Ctrl+S saves."></span></div>
65
+ <textarea class="form-input trx-css" spellcheck="false" placeholder="/* Add your custom CSS here */"></textarea>
66
+ <div class="trx-css-actions">
67
+ <button type="button" class="btn btn-sm btn-primary" data-on-click="saveCss" data-bind-disabled="savingCss.value">
68
+ <span data-icon="save" data-icon-size="14"></span> Save CSS</button>
69
+ </div>
70
+ </div>
71
+ </div>
72
+ </div>
73
+ </div>