@rathnasgala2/template 3.0.1 → 3.1.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/types/index.d.ts CHANGED
@@ -177,6 +177,34 @@ export interface AppearanceNormalized {
177
177
  }
178
178
 
179
179
  /** The subset of `build-input:2.0.0` this renderer reads. */
180
+ /** One author-defined reaction (`interactions-config:2.0.0`). */
181
+ export interface InteractionsReactionDefinition {
182
+ key: string;
183
+ label: string;
184
+ visual: { kind: 'emoji'; token: string };
185
+ order: number;
186
+ enabled: boolean;
187
+ }
188
+
189
+ /** The repository's `gala/modules/interactions.json` (`interactions-config:2.0.0`). */
190
+ export interface InteractionsConfig {
191
+ schemaId: 'urn:gala:schema:interactions-config:2.0.0';
192
+ schemaVersion: '2.0.0';
193
+ reactions: {
194
+ enabled: boolean;
195
+ definitions: InteractionsReactionDefinition[];
196
+ };
197
+ comments: { enabled: boolean; allowReplies: boolean; maxDepth: number };
198
+ publicCounts: { reactions: boolean; comments: boolean };
199
+ }
200
+
201
+ /** `build-input.modules.interactions`: the config plus the two origins. */
202
+ export interface InteractionsModule {
203
+ config: InteractionsConfig;
204
+ apiOrigin: string;
205
+ appOrigin: string;
206
+ }
207
+
180
208
  export interface NormalizedBuildInput {
181
209
  schemaId: string;
182
210
  schemaVersion: string;
@@ -200,7 +228,7 @@ export interface NormalizedBuildInput {
200
228
  content: ContentBuildRecord[];
201
229
  navigation: NavigationNormalized;
202
230
  appearance: AppearanceNormalized;
203
- modules: Record<string, never>;
231
+ modules: { interactions?: InteractionsModule };
204
232
  buildEpoch: string;
205
233
  baseUrl: string;
206
234
  basePath: string;
@@ -221,7 +249,7 @@ export interface ManifestRouteEntry {
221
249
  byteLength: string;
222
250
  sha256: string;
223
251
  routeClass: 'html' | 'feed' | 'sitemap' | 'asset' | 'error';
224
- interactionBearing: false;
252
+ interactionBearing: boolean;
225
253
  }
226
254
 
227
255
  /** A `manifestAsset`-shaped entry (the media pipeline emits one per generated file). */