@meith/plugin-kit 0.1.0 → 0.2.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meith/plugin-kit",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "The SDK for writing a Meith plugin: typed manifests, hooks, routes, pages and migrations.",
5
5
  "license": "LGPL-3.0-or-later",
6
6
  "repository": {
@@ -20,12 +20,12 @@
20
20
  "access": "public"
21
21
  },
22
22
  "dependencies": {
23
- "@meith/theme-kit": "^0.1.0"
23
+ "@meith/theme-kit": "^0.2.0"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "react": "^19.2.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@types/react": "^19.2.3"
29
+ "@types/react": "^19.2.18"
30
30
  }
31
31
  }
package/src/hooks.ts CHANGED
@@ -175,6 +175,44 @@ export const HOOKS = {
175
175
  kind: 'filter',
176
176
  purpose: 'The search form model, including its filter options.',
177
177
  },
178
+ 'view.search-results': {
179
+ kind: 'filter',
180
+ purpose:
181
+ 'One page of search results. Already checked against the reader — a hit ' +
182
+ 'a plugin adds here has not been, and will be shown to whoever asked.',
183
+ },
184
+ 'view.discovery-view': {
185
+ kind: 'filter',
186
+ purpose:
187
+ 'A discovery listing — new posts, today, unanswered — with its tabs. ' +
188
+ 'Same warning as the search results: the rows arrive authorised.',
189
+ },
190
+ 'view.auth-page': {
191
+ kind: 'filter',
192
+ purpose:
193
+ 'The sign-in, register and password-reset page around its form. The form ' +
194
+ 'itself is a region, not a value: nothing here can change what it posts to.',
195
+ },
196
+ 'view.panel-shell': {
197
+ kind: 'filter',
198
+ purpose:
199
+ 'The frame around a control panel, including the links to the other ' +
200
+ 'panels this viewer may reach. Adding a link grants nothing.',
201
+ },
202
+ 'view.panel-nav': {
203
+ kind: 'filter',
204
+ purpose:
205
+ 'A control panel’s section rail, with the current section already ' +
206
+ 'resolved. Runs on every panel page.',
207
+ },
208
+ 'view.panel-page': {
209
+ kind: 'filter',
210
+ purpose: 'One control-panel page’s heading block. Runs on every panel page.',
211
+ },
212
+ 'view.panel-section': {
213
+ kind: 'filter',
214
+ purpose: 'One labelled section inside a panel page. Runs once per section.',
215
+ },
178
216
  'view.error-notice': {
179
217
  kind: 'filter',
180
218
  purpose: 'The error page model. Runs on the page that renders when things are broken.',
package/src/payloads.ts CHANGED
@@ -42,7 +42,9 @@ import type {
42
42
  AnnouncementModel,
43
43
  BoardIndexModel,
44
44
  BoardStatsModel,
45
+ AuthPageModel,
45
46
  CategoryBlockModel,
47
+ DiscoveryViewModel,
46
48
  ErrorNoticeModel,
47
49
  FooterModel,
48
50
  ForumJumpModel,
@@ -55,11 +57,16 @@ import type {
55
57
  NavigationModel,
56
58
  NoticeModel,
57
59
  PaginationModel,
60
+ PanelNavModel,
61
+ PanelPageModel,
62
+ PanelSectionModel,
63
+ PanelShellModel,
58
64
  PostActionsSlotModel,
59
65
  PostBitSlotModel,
60
66
  PostFormModel,
61
67
  RedirectNoticeModel,
62
68
  SearchFormModel,
69
+ SearchResultsModel,
63
70
  ShellModel,
64
71
  SubforumListModel,
65
72
  ThreadRowSlotModel,
@@ -172,6 +179,13 @@ export interface HookSignatures {
172
179
  'view.latest-posts': { value: LatestPostsModel; context: ViewerRef }
173
180
  'view.pagination': { value: PaginationModel; context: ViewerRef }
174
181
  'view.search-form': { value: SearchFormModel; context: ViewerRef }
182
+ 'view.search-results': { value: SearchResultsModel; context: ViewerRef }
183
+ 'view.discovery-view': { value: DiscoveryViewModel; context: ViewerRef }
184
+ 'view.auth-page': { value: AuthPageModel; context: ViewerRef }
185
+ 'view.panel-shell': { value: PanelShellModel; context: ViewerRef }
186
+ 'view.panel-nav': { value: PanelNavModel; context: ViewerRef }
187
+ 'view.panel-page': { value: PanelPageModel; context: ViewerRef }
188
+ 'view.panel-section': { value: PanelSectionModel; context: ViewerRef }
175
189
  'view.error-notice': { value: ErrorNoticeModel; context: ViewerRef & RequestRef }
176
190
  'view.shell': { value: ShellModel; context: ViewerRef & RequestRef }
177
191
  'view.notice': { value: NoticeModel; context: ViewerRef }