@conduction/nextcloud-vue 1.0.0-beta.19 → 1.0.0-beta.20

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": "@conduction/nextcloud-vue",
3
- "version": "1.0.0-beta.19",
3
+ "version": "1.0.0-beta.20",
4
4
  "description": "Shared Vue component library for Conduction Nextcloud apps — complements @nextcloud/vue with higher-level components, OpenRegister integration, and NL Design System support",
5
5
  "license": "EUPL-1.2",
6
6
  "author": "Conduction B.V. <info@conduction.nl>",
@@ -219,13 +219,28 @@ export default {
219
219
  return component
220
220
  },
221
221
  /**
222
- * Props forwarded to the dispatched page component. Spreads the
223
- * page's `config` object so manifest authors can supply whatever
224
- * shape the target page expects. Intentionally genericper-type
225
- * prop validation lives on the target components themselves.
222
+ * Props forwarded to the dispatched page component. Merges:
223
+ *
224
+ * 1. The page's static `config` objectmanifest-authored data
225
+ * shared across every visit to this route.
226
+ * 2. The router's `$route.params` — dynamic placeholders captured
227
+ * from the URL (e.g. `/meetings/:id/live` → `{ id: '...' }`).
228
+ * Without this merge, children that declare a route-derived
229
+ * prop (`props: { id: { type: String, required: true } }`)
230
+ * receive `undefined` even when the URL clearly contains the
231
+ * value, because the generated route definition's `props: true`
232
+ * only binds params to `CnPageRenderer` itself, not the
233
+ * dispatched child component. Params take precedence over
234
+ * `config` collisions so URL truth wins; config keeps acting
235
+ * as a default-overrides layer.
236
+ *
237
+ * Per-type prop validation lives on the target components.
226
238
  */
227
239
  resolvedProps() {
228
- return this.currentPage?.config ?? {}
240
+ return {
241
+ ...(this.currentPage?.config ?? {}),
242
+ ...(this.$route?.params ?? {}),
243
+ }
229
244
  },
230
245
  /**
231
246
  * Combined slot-override map for the dispatched page component.