@cocoar/vue-page-builder 2.16.0 → 2.17.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 (257) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +169 -0
  3. package/dist/CoarPageBuilder.vue.d.ts.map +1 -1
  4. package/dist/CoarPageRenderer.vue.d.ts +44 -2
  5. package/dist/CoarPageRenderer.vue.d.ts.map +1 -1
  6. package/dist/PageNode.vue.d.ts.map +1 -1
  7. package/dist/builder/BuilderCanvas.vue.d.ts.map +1 -1
  8. package/dist/builder/BuilderCanvasNode.vue.d.ts +11 -0
  9. package/dist/builder/BuilderCanvasNode.vue.d.ts.map +1 -0
  10. package/dist/builder/BuilderOutline.vue.d.ts +3 -1
  11. package/dist/builder/BuilderOutline.vue.d.ts.map +1 -1
  12. package/dist/builder/BuilderOutlineNode.vue.d.ts.map +1 -1
  13. package/dist/builder/BuilderPropsPanel.vue.d.ts.map +1 -1
  14. package/dist/builder/nodeDefaults.d.ts +17 -11
  15. package/dist/builder/nodeDefaults.d.ts.map +1 -1
  16. package/dist/builder/operations.d.ts +9 -0
  17. package/dist/builder/operations.d.ts.map +1 -1
  18. package/dist/builder/pointerDnd.d.ts +40 -0
  19. package/dist/builder/pointerDnd.d.ts.map +1 -0
  20. package/dist/builder/props/OptionsEditor.vue.d.ts +14 -0
  21. package/dist/builder/props/OptionsEditor.vue.d.ts.map +1 -0
  22. package/dist/builder/props/StyleProps.vue.d.ts +2 -0
  23. package/dist/builder/props/StyleProps.vue.d.ts.map +1 -1
  24. package/dist/builder/schemaMigrateV1.d.ts +18 -0
  25. package/dist/builder/schemaMigrateV1.d.ts.map +1 -0
  26. package/dist/builder/schemaNormalize.d.ts +38 -0
  27. package/dist/builder/schemaNormalize.d.ts.map +1 -0
  28. package/dist/builder/useBuilderDnd.d.ts +11 -3
  29. package/dist/builder/useBuilderDnd.d.ts.map +1 -1
  30. package/dist/builder/usePageBuilder.d.ts +27 -7
  31. package/dist/builder/usePageBuilder.d.ts.map +1 -1
  32. package/dist/builder/useSchemaValidation.d.ts.map +1 -1
  33. package/dist/context.d.ts +46 -4
  34. package/dist/context.d.ts.map +1 -1
  35. package/dist/elements/builtins.d.ts +3 -0
  36. package/dist/elements/builtins.d.ts.map +1 -0
  37. package/dist/elements/button/ButtonInspector.vue.d.ts +10 -0
  38. package/dist/elements/button/ButtonInspector.vue.d.ts.map +1 -0
  39. package/dist/{builder/props/ButtonProps.vue.d.ts → elements/button/ButtonPreview.vue.d.ts} +2 -2
  40. package/dist/elements/button/ButtonPreview.vue.d.ts.map +1 -0
  41. package/dist/elements/button/ButtonRenderer.vue.d.ts +7 -0
  42. package/dist/elements/button/ButtonRenderer.vue.d.ts.map +1 -0
  43. package/dist/elements/button/index.d.ts +10 -0
  44. package/dist/elements/button/index.d.ts.map +1 -0
  45. package/dist/{builder/props/CardProps.vue.d.ts → elements/card/CardInspector.vue.d.ts} +1 -1
  46. package/dist/elements/card/CardInspector.vue.d.ts.map +1 -0
  47. package/dist/elements/card/CardRenderer.vue.d.ts +22 -0
  48. package/dist/elements/card/CardRenderer.vue.d.ts.map +1 -0
  49. package/dist/elements/card/index.d.ts +4 -0
  50. package/dist/elements/card/index.d.ts.map +1 -0
  51. package/dist/elements/checkbox/CheckboxDefaultInput.vue.d.ts +12 -0
  52. package/dist/elements/checkbox/CheckboxDefaultInput.vue.d.ts.map +1 -0
  53. package/dist/elements/checkbox/CheckboxInspector.vue.d.ts +10 -0
  54. package/dist/elements/checkbox/CheckboxInspector.vue.d.ts.map +1 -0
  55. package/dist/elements/checkbox/CheckboxPreview.vue.d.ts +8 -0
  56. package/dist/elements/checkbox/CheckboxPreview.vue.d.ts.map +1 -0
  57. package/dist/{builder/props/CheckboxProps.vue.d.ts → elements/checkbox/CheckboxRenderer.vue.d.ts} +1 -2
  58. package/dist/elements/checkbox/CheckboxRenderer.vue.d.ts.map +1 -0
  59. package/dist/elements/checkbox/index.d.ts +5 -0
  60. package/dist/elements/checkbox/index.d.ts.map +1 -0
  61. package/dist/elements/date-input/DateInputDefaultInput.vue.d.ts +12 -0
  62. package/dist/elements/date-input/DateInputDefaultInput.vue.d.ts.map +1 -0
  63. package/dist/elements/date-input/DateInputInspector.vue.d.ts +8 -0
  64. package/dist/elements/date-input/DateInputInspector.vue.d.ts.map +1 -0
  65. package/dist/elements/date-input/DateInputPreview.vue.d.ts +8 -0
  66. package/dist/elements/date-input/DateInputPreview.vue.d.ts.map +1 -0
  67. package/dist/elements/date-input/DateInputRenderer.vue.d.ts +7 -0
  68. package/dist/elements/date-input/DateInputRenderer.vue.d.ts.map +1 -0
  69. package/dist/elements/date-input/index.d.ts +6 -0
  70. package/dist/elements/date-input/index.d.ts.map +1 -0
  71. package/dist/elements/datetime-input/DateTimeInputDefaultInput.vue.d.ts +12 -0
  72. package/dist/elements/datetime-input/DateTimeInputDefaultInput.vue.d.ts.map +1 -0
  73. package/dist/elements/datetime-input/DateTimeInputInspector.vue.d.ts +8 -0
  74. package/dist/elements/datetime-input/DateTimeInputInspector.vue.d.ts.map +1 -0
  75. package/dist/elements/datetime-input/DateTimeInputPreview.vue.d.ts +8 -0
  76. package/dist/elements/datetime-input/DateTimeInputPreview.vue.d.ts.map +1 -0
  77. package/dist/elements/datetime-input/DateTimeInputRenderer.vue.d.ts +7 -0
  78. package/dist/elements/datetime-input/DateTimeInputRenderer.vue.d.ts.map +1 -0
  79. package/dist/elements/datetime-input/index.d.ts +6 -0
  80. package/dist/elements/datetime-input/index.d.ts.map +1 -0
  81. package/dist/elements/divider/DividerPreview.vue.d.ts +8 -0
  82. package/dist/elements/divider/DividerPreview.vue.d.ts.map +1 -0
  83. package/dist/elements/divider/DividerRenderer.vue.d.ts +7 -0
  84. package/dist/elements/divider/DividerRenderer.vue.d.ts.map +1 -0
  85. package/dist/elements/divider/index.d.ts +2 -0
  86. package/dist/elements/divider/index.d.ts.map +1 -0
  87. package/dist/elements/fieldContract.d.ts +42 -0
  88. package/dist/elements/fieldContract.d.ts.map +1 -0
  89. package/dist/elements/heading/HeadingInspector.vue.d.ts +10 -0
  90. package/dist/elements/heading/HeadingInspector.vue.d.ts.map +1 -0
  91. package/dist/{builder/props/HeadingProps.vue.d.ts → elements/heading/HeadingPreview.vue.d.ts} +2 -2
  92. package/dist/elements/heading/HeadingPreview.vue.d.ts.map +1 -0
  93. package/dist/elements/heading/HeadingRenderer.vue.d.ts +7 -0
  94. package/dist/elements/heading/HeadingRenderer.vue.d.ts.map +1 -0
  95. package/dist/elements/heading/index.d.ts +5 -0
  96. package/dist/elements/heading/index.d.ts.map +1 -0
  97. package/dist/elements/image/ImageInspector.vue.d.ts +10 -0
  98. package/dist/elements/image/ImageInspector.vue.d.ts.map +1 -0
  99. package/dist/{builder/props/ImageProps.vue.d.ts → elements/image/ImagePreview.vue.d.ts} +2 -2
  100. package/dist/elements/image/ImagePreview.vue.d.ts.map +1 -0
  101. package/dist/elements/image/ImageRenderer.vue.d.ts +7 -0
  102. package/dist/elements/image/ImageRenderer.vue.d.ts.map +1 -0
  103. package/dist/elements/image/index.d.ts +5 -0
  104. package/dist/elements/image/index.d.ts.map +1 -0
  105. package/dist/{builder/props/LinkProps.vue.d.ts → elements/link/LinkInspector.vue.d.ts} +4 -2
  106. package/dist/elements/link/LinkInspector.vue.d.ts.map +1 -0
  107. package/dist/elements/link/LinkPreview.vue.d.ts +8 -0
  108. package/dist/elements/link/LinkPreview.vue.d.ts.map +1 -0
  109. package/dist/elements/link/LinkRenderer.vue.d.ts +7 -0
  110. package/dist/elements/link/LinkRenderer.vue.d.ts.map +1 -0
  111. package/dist/elements/link/index.d.ts +5 -0
  112. package/dist/elements/link/index.d.ts.map +1 -0
  113. package/dist/elements/multi-select/MultiSelectDefaultInput.vue.d.ts +12 -0
  114. package/dist/elements/multi-select/MultiSelectDefaultInput.vue.d.ts.map +1 -0
  115. package/dist/elements/multi-select/MultiSelectInspector.vue.d.ts +8 -0
  116. package/dist/elements/multi-select/MultiSelectInspector.vue.d.ts.map +1 -0
  117. package/dist/elements/multi-select/MultiSelectPreview.vue.d.ts +8 -0
  118. package/dist/elements/multi-select/MultiSelectPreview.vue.d.ts.map +1 -0
  119. package/dist/elements/multi-select/MultiSelectRenderer.vue.d.ts +7 -0
  120. package/dist/elements/multi-select/MultiSelectRenderer.vue.d.ts.map +1 -0
  121. package/dist/elements/multi-select/index.d.ts +8 -0
  122. package/dist/elements/multi-select/index.d.ts.map +1 -0
  123. package/dist/elements/note/NoteInspector.vue.d.ts +10 -0
  124. package/dist/elements/note/NoteInspector.vue.d.ts.map +1 -0
  125. package/dist/elements/note/NotePreview.vue.d.ts +8 -0
  126. package/dist/elements/note/NotePreview.vue.d.ts.map +1 -0
  127. package/dist/elements/note/NoteRenderer.vue.d.ts +7 -0
  128. package/dist/elements/note/NoteRenderer.vue.d.ts.map +1 -0
  129. package/dist/elements/note/index.d.ts +5 -0
  130. package/dist/elements/note/index.d.ts.map +1 -0
  131. package/dist/elements/number-input/NumberInputDefaultInput.vue.d.ts +12 -0
  132. package/dist/elements/number-input/NumberInputDefaultInput.vue.d.ts.map +1 -0
  133. package/dist/elements/number-input/NumberInputInspector.vue.d.ts +8 -0
  134. package/dist/elements/number-input/NumberInputInspector.vue.d.ts.map +1 -0
  135. package/dist/elements/number-input/NumberInputPreview.vue.d.ts +8 -0
  136. package/dist/elements/number-input/NumberInputPreview.vue.d.ts.map +1 -0
  137. package/dist/elements/number-input/NumberInputRenderer.vue.d.ts +7 -0
  138. package/dist/elements/number-input/NumberInputRenderer.vue.d.ts.map +1 -0
  139. package/dist/elements/number-input/index.d.ts +10 -0
  140. package/dist/elements/number-input/index.d.ts.map +1 -0
  141. package/dist/elements/optionUtils.d.ts +4 -0
  142. package/dist/elements/optionUtils.d.ts.map +1 -0
  143. package/dist/elements/otp-input/OtpInputInspector.vue.d.ts +8 -0
  144. package/dist/elements/otp-input/OtpInputInspector.vue.d.ts.map +1 -0
  145. package/dist/elements/otp-input/OtpInputPreview.vue.d.ts +8 -0
  146. package/dist/elements/otp-input/OtpInputPreview.vue.d.ts.map +1 -0
  147. package/dist/elements/otp-input/OtpInputRenderer.vue.d.ts +7 -0
  148. package/dist/elements/otp-input/OtpInputRenderer.vue.d.ts.map +1 -0
  149. package/dist/elements/otp-input/index.d.ts +8 -0
  150. package/dist/elements/otp-input/index.d.ts.map +1 -0
  151. package/dist/{builder/props/ParagraphProps.vue.d.ts → elements/paragraph/ParagraphInspector.vue.d.ts} +1 -1
  152. package/dist/elements/paragraph/ParagraphInspector.vue.d.ts.map +1 -0
  153. package/dist/elements/paragraph/ParagraphPreview.vue.d.ts +8 -0
  154. package/dist/elements/paragraph/ParagraphPreview.vue.d.ts.map +1 -0
  155. package/dist/elements/paragraph/ParagraphRenderer.vue.d.ts +7 -0
  156. package/dist/elements/paragraph/ParagraphRenderer.vue.d.ts.map +1 -0
  157. package/dist/elements/paragraph/index.d.ts +4 -0
  158. package/dist/elements/paragraph/index.d.ts.map +1 -0
  159. package/dist/elements/password-input/PasswordInputInspector.vue.d.ts +8 -0
  160. package/dist/elements/password-input/PasswordInputInspector.vue.d.ts.map +1 -0
  161. package/dist/elements/password-input/PasswordInputPreview.vue.d.ts +8 -0
  162. package/dist/elements/password-input/PasswordInputPreview.vue.d.ts.map +1 -0
  163. package/dist/elements/password-input/PasswordInputRenderer.vue.d.ts +7 -0
  164. package/dist/elements/password-input/PasswordInputRenderer.vue.d.ts.map +1 -0
  165. package/dist/elements/password-input/index.d.ts +6 -0
  166. package/dist/elements/password-input/index.d.ts.map +1 -0
  167. package/dist/elements/previewUtils.d.ts +11 -0
  168. package/dist/elements/previewUtils.d.ts.map +1 -0
  169. package/dist/elements/radio-group/RadioGroupDefaultInput.vue.d.ts +12 -0
  170. package/dist/elements/radio-group/RadioGroupDefaultInput.vue.d.ts.map +1 -0
  171. package/dist/elements/radio-group/RadioGroupInspector.vue.d.ts +8 -0
  172. package/dist/elements/radio-group/RadioGroupInspector.vue.d.ts.map +1 -0
  173. package/dist/elements/radio-group/RadioGroupPreview.vue.d.ts +8 -0
  174. package/dist/elements/radio-group/RadioGroupPreview.vue.d.ts.map +1 -0
  175. package/dist/elements/radio-group/RadioGroupRenderer.vue.d.ts +7 -0
  176. package/dist/elements/radio-group/RadioGroupRenderer.vue.d.ts.map +1 -0
  177. package/dist/elements/radio-group/index.d.ts +8 -0
  178. package/dist/elements/radio-group/index.d.ts.map +1 -0
  179. package/dist/elements/registry.d.ts +136 -0
  180. package/dist/elements/registry.d.ts.map +1 -0
  181. package/dist/{builder/props/SectionProps.vue.d.ts → elements/section/SectionInspector.vue.d.ts} +1 -1
  182. package/dist/elements/section/SectionInspector.vue.d.ts.map +1 -0
  183. package/dist/elements/section/SectionRenderer.vue.d.ts +22 -0
  184. package/dist/elements/section/SectionRenderer.vue.d.ts.map +1 -0
  185. package/dist/elements/section/index.d.ts +4 -0
  186. package/dist/elements/section/index.d.ts.map +1 -0
  187. package/dist/elements/select/SelectDefaultInput.vue.d.ts +12 -0
  188. package/dist/elements/select/SelectDefaultInput.vue.d.ts.map +1 -0
  189. package/dist/{builder/props/SelectProps.vue.d.ts → elements/select/SelectInspector.vue.d.ts} +1 -1
  190. package/dist/elements/select/SelectInspector.vue.d.ts.map +1 -0
  191. package/dist/elements/select/SelectPreview.vue.d.ts +8 -0
  192. package/dist/elements/select/SelectPreview.vue.d.ts.map +1 -0
  193. package/dist/elements/select/SelectRenderer.vue.d.ts +7 -0
  194. package/dist/elements/select/SelectRenderer.vue.d.ts.map +1 -0
  195. package/dist/elements/select/index.d.ts +8 -0
  196. package/dist/elements/select/index.d.ts.map +1 -0
  197. package/dist/{builder/props/SpacerProps.vue.d.ts → elements/spacer/SpacerInspector.vue.d.ts} +1 -1
  198. package/dist/elements/spacer/SpacerInspector.vue.d.ts.map +1 -0
  199. package/dist/elements/spacer/SpacerPreview.vue.d.ts +8 -0
  200. package/dist/elements/spacer/SpacerPreview.vue.d.ts.map +1 -0
  201. package/dist/elements/spacer/SpacerRenderer.vue.d.ts +7 -0
  202. package/dist/elements/spacer/SpacerRenderer.vue.d.ts.map +1 -0
  203. package/dist/elements/spacer/index.d.ts +4 -0
  204. package/dist/elements/spacer/index.d.ts.map +1 -0
  205. package/dist/{builder/props/StackProps.vue.d.ts → elements/stack/StackInspector.vue.d.ts} +1 -1
  206. package/dist/elements/stack/StackInspector.vue.d.ts.map +1 -0
  207. package/dist/elements/stack/StackRenderer.vue.d.ts +22 -0
  208. package/dist/elements/stack/StackRenderer.vue.d.ts.map +1 -0
  209. package/dist/elements/stack/index.d.ts +5 -0
  210. package/dist/elements/stack/index.d.ts.map +1 -0
  211. package/dist/elements/switch/SwitchDefaultInput.vue.d.ts +12 -0
  212. package/dist/elements/switch/SwitchDefaultInput.vue.d.ts.map +1 -0
  213. package/dist/elements/switch/SwitchInspector.vue.d.ts +10 -0
  214. package/dist/elements/switch/SwitchInspector.vue.d.ts.map +1 -0
  215. package/dist/elements/switch/SwitchPreview.vue.d.ts +8 -0
  216. package/dist/elements/switch/SwitchPreview.vue.d.ts.map +1 -0
  217. package/dist/elements/switch/SwitchRenderer.vue.d.ts +7 -0
  218. package/dist/elements/switch/SwitchRenderer.vue.d.ts.map +1 -0
  219. package/dist/elements/switch/index.d.ts +5 -0
  220. package/dist/elements/switch/index.d.ts.map +1 -0
  221. package/dist/{builder/props/TextInputProps.vue.d.ts → elements/text-input/TextInputInspector.vue.d.ts} +1 -1
  222. package/dist/elements/text-input/TextInputInspector.vue.d.ts.map +1 -0
  223. package/dist/elements/text-input/TextInputPreview.vue.d.ts +8 -0
  224. package/dist/elements/text-input/TextInputPreview.vue.d.ts.map +1 -0
  225. package/dist/elements/text-input/TextInputRenderer.vue.d.ts +7 -0
  226. package/dist/elements/text-input/TextInputRenderer.vue.d.ts.map +1 -0
  227. package/dist/elements/text-input/index.d.ts +8 -0
  228. package/dist/elements/text-input/index.d.ts.map +1 -0
  229. package/dist/elements/useMergedElements.d.ts +7 -0
  230. package/dist/elements/useMergedElements.d.ts.map +1 -0
  231. package/dist/elements/usePageElement.d.ts +34 -0
  232. package/dist/elements/usePageElement.d.ts.map +1 -0
  233. package/dist/elements/useResolvedOptions.d.ts +10 -0
  234. package/dist/elements/useResolvedOptions.d.ts.map +1 -0
  235. package/dist/index.css +1 -1
  236. package/dist/index.d.ts +11 -1
  237. package/dist/index.d.ts.map +1 -1
  238. package/dist/index.js +4979 -2120
  239. package/dist/renderSafety.d.ts +21 -0
  240. package/dist/renderSafety.d.ts.map +1 -0
  241. package/dist/schema.d.ts +276 -69
  242. package/dist/schema.d.ts.map +1 -1
  243. package/package.json +15 -5
  244. package/dist/builder/props/ButtonProps.vue.d.ts.map +0 -1
  245. package/dist/builder/props/CardProps.vue.d.ts.map +0 -1
  246. package/dist/builder/props/CheckboxProps.vue.d.ts.map +0 -1
  247. package/dist/builder/props/HeadingProps.vue.d.ts.map +0 -1
  248. package/dist/builder/props/ImageProps.vue.d.ts.map +0 -1
  249. package/dist/builder/props/LinkProps.vue.d.ts.map +0 -1
  250. package/dist/builder/props/ParagraphProps.vue.d.ts.map +0 -1
  251. package/dist/builder/props/SectionProps.vue.d.ts.map +0 -1
  252. package/dist/builder/props/SelectProps.vue.d.ts.map +0 -1
  253. package/dist/builder/props/SpacerProps.vue.d.ts.map +0 -1
  254. package/dist/builder/props/StackProps.vue.d.ts.map +0 -1
  255. package/dist/builder/props/TextInputProps.vue.d.ts.map +0 -1
  256. package/dist/builder/props/registry.d.ts +0 -15
  257. package/dist/builder/props/registry.d.ts.map +0 -1
@@ -0,0 +1,21 @@
1
+ import { Temporal } from '@js-temporal/polyfill';
2
+ declare const HEADING_TAGS: readonly ["h1", "h2", "h3", "h4", "h5", "h6"];
3
+ export type HeadingTag = (typeof HEADING_TAGS)[number];
4
+ /**
5
+ * Schema `level` becomes a DOM tag name — anything outside 1–6 (strings, NaN,
6
+ * tampered data) would throw in `document.createElement`.
7
+ */
8
+ export declare function headingTag(level: unknown): HeadingTag;
9
+ /**
10
+ * Compile a schema `validation.pattern`. Anchored, because the schema
11
+ * documents `pattern` as a full-string match (the HTML `pattern`-attribute
12
+ * semantics). Returns null instead of throwing on an invalid pattern — a
13
+ * tenant typo must render as an inert rule, not crash the page.
14
+ */
15
+ export declare function compilePagePattern(pattern: string): RegExp | null;
16
+ export declare function isValidEmail(value: string): boolean;
17
+ export declare function isUnsafeFieldName(name: string): boolean;
18
+ export declare function isoToPlainDate(value: unknown): Temporal.PlainDate | null;
19
+ export declare function isoToPlainDateTime(value: unknown): Temporal.PlainDateTime | null;
20
+ export {};
21
+ //# sourceMappingURL=renderSafety.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderSafety.d.ts","sourceRoot":"","sources":["../src/renderSafety.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,QAAA,MAAM,YAAY,+CAAgD,CAAC;AACnE,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAGrD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMjE;AAWD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAUD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAMD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,SAAS,GAAG,IAAI,CAOxE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,aAAa,GAAG,IAAI,CAOhF"}
package/dist/schema.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { PageElementRegistry } from './elements/registry';
1
2
  export interface NodeStyle {
2
3
  /** CSS gap between children, e.g. '8px', '1rem'. Applied to inner layout. */
3
4
  gap?: string;
@@ -32,122 +33,289 @@ interface PageNodeBase {
32
33
  id: string;
33
34
  style?: NodeStyle;
34
35
  }
35
- /** Root-level page container. Behaves like a column; always the schema root. */
36
+ /** Element-specific props. Must stay JSON-safe the bag is persisted verbatim. */
37
+ export type ElementProps = Record<string, unknown>;
38
+ /**
39
+ * The unified node grammar: `type` is an open string (the element-registry
40
+ * key), everything element-specific lives in the `props` bag, and the host
41
+ * vocabulary stays at node level (`id`, `style`, the value-model trio, and
42
+ * `children` for containers). The bag exists so consumer-registered elements
43
+ * can never collide with host fields; built-ins follow the same grammar for
44
+ * uniformity.
45
+ *
46
+ * `name`/`defaultValue`/`validation` are only meaningful when the element's
47
+ * registry definition declares a `value` spec; `children` only when it
48
+ * declares `container`.
49
+ */
50
+ export interface ElementNode<K extends string = string, P extends ElementProps = ElementProps> extends PageNodeBase {
51
+ type: K;
52
+ props: P;
53
+ /** When set (and the definition has a value spec), the renderer manages this node's value. */
54
+ name?: string;
55
+ defaultValue?: unknown;
56
+ validation?: FieldValidation;
57
+ /** Conditional visibility against the live value model. See `VisibleWhen`. */
58
+ visibleWhen?: VisibleWhen;
59
+ children?: PageNode[];
60
+ }
61
+ /** Marker bag for elements without element-specific props. */
62
+ export type EmptyProps = Record<string, never>;
63
+ /** Option entry shared by the option-based inputs (radio-group, select, multi-select). */
64
+ export interface OptionItem {
65
+ value: string;
66
+ label: string;
67
+ }
68
+ /**
69
+ * Root-level page container. Behaves like a column; always the schema root.
70
+ * The one node shape outside the element grammar — it is a schema-shape
71
+ * marker, not a placeable element, and carries the wire-format version.
72
+ */
36
73
  export interface PageRootNode extends PageNodeBase {
37
74
  type: 'page';
75
+ /**
76
+ * Wire-format version. `2` = unified props-bag grammar (current). `1` /
77
+ * absent = the pre-GA flat grammar, migrated transparently on ingest by
78
+ * `normalizePageSchema` (and on the fly by the renderer).
79
+ */
80
+ schemaVersion?: number;
81
+ /**
82
+ * Enter submits the page: a plain Enter inside an Enter-eligible input
83
+ * (see `ElementValueSpec.submitOnEnter`) fires the page's default button —
84
+ * the first button with `default: true`, else the first `validates: true`
85
+ * button in tree order. Off by default.
86
+ */
87
+ enterSubmits?: boolean;
38
88
  children: PageNode[];
39
89
  }
40
90
  /**
41
91
  * Generic flex container. Direction is toggleable in the props panel, so users
42
92
  * never have to delete + recreate to switch between vertical and horizontal stacks.
43
93
  */
44
- export interface StackNode extends PageNodeBase {
45
- type: 'stack';
94
+ export interface StackNode extends ElementNode<'stack', {
46
95
  /** Flex direction. Defaults to 'column'. */
47
96
  direction?: 'column' | 'row';
48
97
  /** Wrap children to the next line. Only meaningful for direction = 'row'. */
49
98
  wrap?: boolean;
99
+ }> {
50
100
  children: PageNode[];
51
101
  }
52
- export interface CardNode extends PageNodeBase {
53
- type: 'card';
102
+ export interface CardNode extends ElementNode<'card', {
54
103
  title?: string;
104
+ }> {
55
105
  children: PageNode[];
56
106
  }
57
- export interface SectionNode extends PageNodeBase {
58
- type: 'section';
107
+ export interface SectionNode extends ElementNode<'section', {
59
108
  title?: string;
109
+ }> {
60
110
  children: PageNode[];
61
111
  }
62
- export interface DividerNode extends PageNodeBase {
63
- type: 'divider';
64
- }
65
- export interface SpacerNode extends PageNodeBase {
66
- type: 'spacer';
112
+ export type DividerNode = ElementNode<'divider', EmptyProps>;
113
+ export type SpacerNode = ElementNode<'spacer', {
67
114
  /** CSS size, e.g. '24px'. Defaults to flex:1 (fills available space). */
68
115
  size?: string;
69
- }
70
- export interface HeadingNode extends PageNodeBase {
71
- type: 'heading';
116
+ }>;
117
+ export type HeadingNode = ElementNode<'heading', {
72
118
  text: string;
73
119
  level?: 1 | 2 | 3 | 4 | 5 | 6;
74
- }
75
- export interface ParagraphNode extends PageNodeBase {
76
- type: 'paragraph';
120
+ }>;
121
+ export type ParagraphNode = ElementNode<'paragraph', {
77
122
  text: string;
78
- }
79
- export interface FieldValidation {
80
- required?: boolean;
81
- minLength?: number;
82
- maxLength?: number;
83
- pattern?: string;
84
- /** Field must equal the value of another named field. */
85
- matchField?: string;
86
- /** Overrides the default error message for any rule on this field. */
87
- message?: string;
88
- }
89
- export interface TextInputNode extends PageNodeBase {
90
- type: 'text-input';
91
- /** When set, value is managed by the renderer and passed to actions. */
92
- name?: string;
123
+ }>;
124
+ export type NoteNode = ElementNode<'note', {
125
+ text: string;
126
+ /** Visual tone of the note box. Defaults to the design system's 'neutral'. */
127
+ variant?: 'neutral' | 'success' | 'warning' | 'error' | 'info' | 'accent';
128
+ }>;
129
+ export type TextInputNode = ElementNode<'text-input', {
93
130
  label?: string;
94
131
  placeholder?: string;
95
132
  /** Controls HTML input type and autocomplete hints. Defaults to 'text'. */
96
- inputType?: 'text' | 'email' | 'password' | 'url';
97
- defaultValue?: string;
98
- validation?: FieldValidation;
133
+ inputType?: 'text' | 'email' | 'url';
134
+ /** Visible text rows; 2+ renders a multiline textarea. Defaults to 1. */
135
+ rows?: number;
99
136
  disabled?: boolean;
100
- }
101
- export interface CheckboxNode extends PageNodeBase {
102
- type: 'checkbox';
103
- /** When set, value is managed by the renderer and passed to actions. */
104
- name?: string;
137
+ }>;
138
+ /**
139
+ * Masked single-line input. Its own element (not a text-input variant) so it
140
+ * is directly pickable in the palette and as a representation for string
141
+ * fields. Legacy `text-input` nodes with `inputType: 'password'` migrate here.
142
+ */
143
+ export type PasswordInputNode = ElementNode<'password-input', {
144
+ label?: string;
145
+ placeholder?: string;
146
+ disabled?: boolean;
147
+ }>;
148
+ export type NumberInputNode = ElementNode<'number-input', {
149
+ label?: string;
150
+ placeholder?: string;
151
+ min?: number;
152
+ max?: number;
153
+ step?: number;
154
+ /** Number of decimal places. Defaults to 0 (integers). */
155
+ decimals?: number;
156
+ disabled?: boolean;
157
+ }>;
158
+ export type CheckboxNode = ElementNode<'checkbox', {
105
159
  label: string;
106
- defaultValue?: boolean;
107
- validation?: Pick<FieldValidation, 'required'>;
108
160
  disabled?: boolean;
109
- }
110
- export interface SelectNode extends PageNodeBase {
111
- type: 'select';
112
- /** When set, value is managed by the renderer and passed to actions. */
113
- name?: string;
161
+ }>;
162
+ /** `validation.required` means the switch must be ON (consent-style, like checkbox). */
163
+ export type SwitchNode = ElementNode<'switch', {
164
+ label: string;
165
+ disabled?: boolean;
166
+ }>;
167
+ export type RadioGroupNode = ElementNode<'radio-group', {
168
+ label?: string;
169
+ options?: OptionItem[];
170
+ /** Dynamic option list: resolved via `config.optionsSource` at render time; wins over `options`. */
171
+ optionsSourceId?: string;
172
+ /** Layout of the radio buttons. Defaults to 'vertical'. */
173
+ orientation?: 'vertical' | 'horizontal';
174
+ disabled?: boolean;
175
+ }>;
176
+ export type SelectNode = ElementNode<'select', {
114
177
  label?: string;
115
178
  placeholder?: string;
116
- options?: {
117
- value: string;
118
- label: string;
119
- }[];
120
- defaultValue?: string;
121
- validation?: Pick<FieldValidation, 'required'>;
179
+ options?: OptionItem[];
180
+ /** Dynamic option list: resolved via `config.optionsSource` at render time; wins over `options`. */
181
+ optionsSourceId?: string;
122
182
  disabled?: boolean;
123
- }
124
- export interface ButtonNode extends PageNodeBase {
125
- type: 'button';
183
+ }>;
184
+ /** `validation.required` means at least one option must be selected. */
185
+ export type MultiSelectNode = ElementNode<'multi-select', {
186
+ label?: string;
187
+ placeholder?: string;
188
+ options?: OptionItem[];
189
+ /** Dynamic option list: resolved via `config.optionsSource` at render time; wins over `options`. */
190
+ optionsSourceId?: string;
191
+ disabled?: boolean;
192
+ }>;
193
+ /** `validation.required` means the code must be COMPLETE (all cells filled). */
194
+ export type OtpInputNode = ElementNode<'otp-input', {
195
+ label?: string;
196
+ /** Number of code cells. Defaults to 6. */
197
+ length?: number;
198
+ /** Accepted character set. Defaults to 'numeric'. */
199
+ otpType?: 'numeric' | 'alphanumeric' | 'text';
200
+ /** Render cells masked (like a password). */
201
+ mask?: boolean;
202
+ disabled?: boolean;
203
+ }>;
204
+ /**
205
+ * Date value wire format: ISO string `YYYY-MM-DD` (in `defaultValue` and the
206
+ * value model). The renderer converts to/from `Temporal.PlainDate` at the
207
+ * component boundary; an unparsable value renders as empty instead of crashing.
208
+ */
209
+ export type DateInputNode = ElementNode<'date-input', {
210
+ label?: string;
211
+ placeholder?: string;
212
+ disabled?: boolean;
213
+ }>;
214
+ /** Date-time wire format: ISO `YYYY-MM-DDTHH:mm[:ss]` (no time zone — plain wall time). */
215
+ export type DateTimeInputNode = ElementNode<'datetime-input', {
216
+ label?: string;
217
+ placeholder?: string;
218
+ disabled?: boolean;
219
+ }>;
220
+ export type ButtonNode = ElementNode<'button', {
126
221
  label: string;
127
222
  /** Action ID matched against the `actions` map passed to the renderer. */
128
223
  action?: string;
129
224
  /** When true, validates all named fields before calling the action. */
130
225
  validates?: boolean;
226
+ /**
227
+ * The page's default button: Enter-to-submit (page `enterSubmits`) fires
228
+ * this one. Without it, Enter falls back to the first `validates: true`
229
+ * button in tree order.
230
+ */
231
+ default?: boolean;
131
232
  icon?: string;
132
233
  variant?: 'primary' | 'secondary' | 'ghost' | 'danger';
133
234
  size?: 'xs' | 's' | 'm' | 'l';
134
- }
135
- export interface LinkNode extends PageNodeBase {
136
- type: 'link';
235
+ }>;
236
+ export type LinkNode = ElementNode<'link', {
137
237
  label: string;
138
238
  /** Action ID matched against the `actions` map passed to the renderer. */
139
239
  action?: string;
140
- }
141
- export interface ImageNode extends PageNodeBase {
142
- type: 'image';
240
+ }>;
241
+ export type ImageNode = ElementNode<'image', {
143
242
  /** Asset ID resolved by `assetResolver` at render time. Never a raw URL. */
144
243
  assetId: string;
145
244
  alt?: string;
245
+ }>;
246
+ /**
247
+ * Declarative field validation, at node level (host vocabulary — uniform for
248
+ * every valued element). Which rules an element actually enforces is the
249
+ * element's concern: the built-in inputs enforce `required`/`matchField`
250
+ * everywhere and the text rules (`minLength`/`maxLength`/`pattern`) on
251
+ * text-input only.
252
+ */
253
+ export interface FieldValidation {
254
+ required?: boolean;
255
+ minLength?: number;
256
+ maxLength?: number;
257
+ pattern?: string;
258
+ /** Field must equal the value of another named field. */
259
+ matchField?: string;
260
+ /** Overrides the default error message for any rule on this field. */
261
+ message?: string;
262
+ }
263
+ /**
264
+ * Declarative conditional visibility, at node level (host vocabulary — works
265
+ * on every element, containers included). The node and its whole subtree
266
+ * render only while the condition holds against the LIVE value model, and a
267
+ * hidden subtree leaves the value model with it: hidden required fields never
268
+ * veto a validating button, and hidden values never ship in action payloads.
269
+ * Values typed before hiding are kept internally and return when re-shown.
270
+ * A malformed condition fails OPEN (the node stays visible).
271
+ */
272
+ export interface VisibleWhen {
273
+ /** Name of the controlling field (a named input on the page). */
274
+ field: string;
275
+ /** Visible while the field's value equals this (JSON-safe values compare by content). */
276
+ equals?: unknown;
277
+ /** Visible while the field's value is one of these. */
278
+ in?: unknown[];
146
279
  }
147
280
  export type ContainerNode = PageRootNode | StackNode | CardNode | SectionNode;
148
- export type PageNode = PageRootNode | StackNode | CardNode | SectionNode | DividerNode | SpacerNode | HeadingNode | ParagraphNode | TextInputNode | CheckboxNode | SelectNode | ButtonNode | LinkNode | ImageNode;
149
- export type ElementType = PageNode['type'];
281
+ /** The built-in element set (closed drives the internal per-type tables). */
282
+ export type BuiltinNode = StackNode | CardNode | SectionNode | DividerNode | SpacerNode | HeadingNode | ParagraphNode | NoteNode | TextInputNode | PasswordInputNode | NumberInputNode | CheckboxNode | SwitchNode | RadioGroupNode | SelectNode | MultiSelectNode | OtpInputNode | DateInputNode | DateTimeInputNode | ButtonNode | LinkNode | ImageNode;
283
+ /**
284
+ * Any node in a page tree. The union is OPEN: the last member admits
285
+ * consumer-registered elements (whose `type` is their registry key). Code
286
+ * that needs the closed built-in set uses `ElementType`/`BuiltinNode`;
287
+ * dispatch on the open set goes through the element registry, not switches.
288
+ */
289
+ export type PageNode = PageRootNode | BuiltinNode | ElementNode;
290
+ /** Built-in type strings (closed). The wire format admits any string `type`. */
291
+ export type ElementType = 'page' | BuiltinNode['type'];
150
292
  export declare function isContainerNode(node: PageNode): node is ContainerNode;
293
+ /**
294
+ * Value type of a contract field / of the values an element can edit. Open
295
+ * union: consumers can introduce their own tokens (e.g. 'geo', 'money') —
296
+ * compatibility is exact token match between field and element.
297
+ */
298
+ export type PageValueType = 'string' | 'number' | 'boolean' | 'string[]' | 'date' | 'datetime' | (string & {});
299
+ /**
300
+ * One field of the data contract behind a page — typically a DTO property.
301
+ * The contract constrains AUTHORING only: the persisted schema stays
302
+ * self-contained (binding is just `node.name === field.name`), and documents
303
+ * remain renderable without it.
304
+ */
305
+ export interface PageFieldSpec {
306
+ /** The ActionValues key — the DTO property name. */
307
+ name: string;
308
+ valueType: PageValueType;
309
+ /** Display label, applied to the element on binding (when still default). */
310
+ label?: string;
311
+ /**
312
+ * Contract-level requirement: binding sets `validation.required`, and the
313
+ * builder lint warns while the field is missing from the page.
314
+ */
315
+ required?: boolean;
316
+ /** Preferred element type for the field-first flow (palette drag). */
317
+ defaultElement?: string;
318
+ }
151
319
  /**
152
320
  * Shared between `<CoarPageBuilder>` and `<CoarPageRenderer>`. The IDP / consumer
153
321
  * passes the SAME config to both — the builder uses it to filter UI affordances
@@ -156,10 +324,39 @@ export declare function isContainerNode(node: PageNode): node is ContainerNode;
156
324
  */
157
325
  export interface PageConfig {
158
326
  /**
159
- * Element types permitted to appear in the tree. Omit to allow every type.
160
- * `page` (the root marker) is always implicitly allowed regardless of this list.
327
+ * Element types permitted to appear in the tree (built-in types and
328
+ * consumer-registered keys alike). Omit to allow every type. `page` (the
329
+ * root marker) is always implicitly allowed regardless of this list.
330
+ */
331
+ allowedElements?: (ElementType | (string & {}))[];
332
+ /**
333
+ * Consumer-registered elements, merged ADDITIVELY over the built-in set
334
+ * (shadowing a built-in key warns in DEV). The same config reaches builder
335
+ * and renderer, so one registration serves palette, canvas, inspector and
336
+ * runtime. App-wide defaults can be provided under `PAGE_ELEMENTS_KEY`
337
+ * instead; this field wins when both are present.
338
+ */
339
+ elements?: PageElementRegistry;
340
+ /**
341
+ * The data contract behind the page (DTO fields). When present, the
342
+ * builder's Field section offers these instead of a free-text name —
343
+ * filtered to the fields the selected element can edit (see
344
+ * `ElementValueSpec.types`) — and the lint flags unknown names,
345
+ * incompatible bindings, and missing required fields.
161
346
  */
162
- allowedElements?: ElementType[];
347
+ fields?: PageFieldSpec[];
348
+ /**
349
+ * Allow binding names outside `fields`. Defaults to false — with a
350
+ * contract, authors pick from it.
351
+ */
352
+ allowCustomFields?: boolean;
353
+ /**
354
+ * Hide the free element picker (the Containers/Elements palette groups and
355
+ * the outline's add-child menu). Authors then place content exclusively by
356
+ * dragging contract `fields`. Pure authoring UI — `allowedElements` remains
357
+ * the boundary for what may be USED at all.
358
+ */
359
+ hideElementPicker?: boolean;
163
360
  /**
164
361
  * Action IDs that buttons and links may reference. When provided, the builder's
165
362
  * Action-ID input becomes a dropdown of these choices instead of free text.
@@ -184,6 +381,16 @@ export interface PageConfig {
184
381
  * back to its `:asset-resolver` prop only.
185
382
  */
186
383
  assetResolver?: (id: string) => string;
384
+ /**
385
+ * Resolves an options-source id to the option list of a choice input
386
+ * (select / multi-select / radio-group) — the async sibling of
387
+ * `assetResolver` in the callback family, for API-backed lists (countries,
388
+ * users, …). A node opts in via its `optionsSourceId` prop; static
389
+ * `options` remain the default and the fallback when this callback is
390
+ * absent. Called once per element instance — memoize consumer-side when
391
+ * several elements share a source.
392
+ */
393
+ optionsSource?: (sourceId: string) => Promise<OptionItem[]>;
187
394
  /**
188
395
  * Opens the consumer's own asset picker UI (modal, drawer — whatever you
189
396
  * want) and resolves to the chosen `assetId`, or `null` if the user
@@ -199,6 +406,6 @@ export interface PageConfig {
199
406
  * The root `page` type is always allowed — it's a schema-shape marker, not a
200
407
  * user-placeable element.
201
408
  */
202
- export declare function isElementAllowed(type: ElementType, config?: PageConfig): boolean;
409
+ export declare function isElementAllowed(type: string, config?: PageConfig): boolean;
203
410
  export {};
204
411
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IAExB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,CAAA;IACxF,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAA;IAG9C,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAA;IAClD;;;;;OAKG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;IAC/B,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAID,UAAU,YAAY;IACpB,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAID,gFAAgF;AAChF,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,QAAQ,EAAE,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C,IAAI,EAAE,OAAO,CAAA;IACb,4CAA4C;IAC5C,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;IAC5B,6EAA6E;IAC7E,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,QAAQ,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,QAAS,SAAQ,YAAY;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,QAAQ,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,QAAQ,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,IAAI,EAAE,SAAS,CAAA;CAChB;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,IAAI,EAAE,QAAQ,CAAA;IACd,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAID,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACb;AAID,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,IAAI,EAAE,YAAY,CAAA;IAClB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAA;IACjD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,IAAI,EAAE,UAAU,CAAA;IAChB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,IAAI,EAAE,QAAQ,CAAA;IACd,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAID,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAA;IACtD,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;CAC9B;AAED,MAAM,WAAW,QAAS,SAAQ,YAAY;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAID,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C,IAAI,EAAE,OAAO,CAAA;IACb,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAID,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAA;AAE7E,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,WAAW,GACX,WAAW,GACX,UAAU,GACV,WAAW,GACX,aAAa,GACb,aAAa,GACb,YAAY,GACZ,UAAU,GACV,UAAU,GACV,QAAQ,GACR,SAAS,CAAA;AAEb,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;AAI1C,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,IAAI,aAAa,CAOrE;AAID;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,WAAW,EAAE,CAAA;IAC/B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAClD;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAA;IACtC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CAC3D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAIhF"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cocoar/vue-page-builder",
3
- "version": "2.16.0",
3
+ "version": "2.17.0",
4
4
  "description": "Generic headless visual page builder and renderer for Vue 3 built on the Cocoar Design System",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -8,6 +8,8 @@
8
8
  "url": "https://github.com/cocoar-dev/cocoar-ui-vue.git",
9
9
  "directory": "packages/page-builder"
10
10
  },
11
+ "homepage": "https://docs.cocoar.dev/cocoar-ui-vue/",
12
+ "bugs": "https://github.com/cocoar-dev/cocoar-ui-vue/issues",
11
13
  "keywords": [
12
14
  "vue",
13
15
  "vue3",
@@ -17,7 +19,8 @@
17
19
  ],
18
20
  "type": "module",
19
21
  "sideEffects": [
20
- "*.css"
22
+ "*.css",
23
+ "*.vue"
21
24
  ],
22
25
  "main": "./dist/index.js",
23
26
  "module": "./dist/index.js",
@@ -26,22 +29,29 @@
26
29
  ".": {
27
30
  "import": "./dist/index.js",
28
31
  "types": "./dist/index.d.ts"
29
- }
32
+ },
33
+ "./styles": "./dist/index.css"
30
34
  },
31
35
  "files": [
32
36
  "dist"
33
37
  ],
34
38
  "scripts": {
35
39
  "build": "vite build",
36
- "test": "vitest run --passWithNoTests",
40
+ "test": "vitest run",
41
+ "typecheck": "vue-tsc --noEmit",
37
42
  "lint": "eslint src/"
38
43
  },
39
44
  "peerDependencies": {
40
- "@cocoar/vue-ui": "2.16.0",
45
+ "@cocoar/vue-localization": "2.17.0",
46
+ "@cocoar/vue-ui": "2.17.0",
41
47
  "vue": "^3.5.0"
42
48
  },
43
49
  "devDependencies": {
50
+ "@cocoar/vue-localization": "workspace:*",
44
51
  "@cocoar/vue-ui": "workspace:*",
45
52
  "vue": "^3.5.32"
53
+ },
54
+ "dependencies": {
55
+ "@js-temporal/polyfill": "^0.5.1"
46
56
  }
47
57
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/ButtonProps.vue"],"names":[],"mappings":"AA2HA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;CAC9C,CAAC;;AAqRF,wBAMG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CardProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/CardProps.vue"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;CAC5C,CAAC;;AAmEF,wBAOG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckboxProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/CheckboxProps.vue"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;CAChD,CAAC;;AA0IF,wBAMG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeadingProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/HeadingProps.vue"],"names":[],"mappings":"AA+CA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC/C,CAAC;;AA2GF,wBAMG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/ImageProps.vue"],"names":[],"mappings":"AAiJA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;CAC7C,CAAC;;AAiOF,wBAMG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LinkProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/LinkProps.vue"],"names":[],"mappings":"AAmEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;CAC5C,CAAC;;AA4IF,wBAMG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ParagraphProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/ParagraphProps.vue"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;CACjD,CAAC;;AA8DF,wBAOG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SectionProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/SectionProps.vue"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC/C,CAAC;;AAmEF,wBAOG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SelectProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/SelectProps.vue"],"names":[],"mappings":"AA+CA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;CAC9C,CAAC;;AAsKF,wBAMG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SpacerProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/SpacerProps.vue"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;CAC9C,CAAC;;AAuEF,wBAOG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"StackProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/StackProps.vue"],"names":[],"mappings":"AA8FA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;CAC7C,CAAC;;AAkGF,wBAMG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextInputProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/TextInputProps.vue"],"names":[],"mappings":"AAyEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;CACjD,CAAC;;AA6MF,wBAMG"}
@@ -1,15 +0,0 @@
1
- import { Component } from 'vue';
2
- import { ElementType } from '../../schema';
3
- export interface PropsRegistryEntry {
4
- /** Component to render for the element-specific props section. */
5
- component: Component;
6
- /** Title shown above the element section. */
7
- sectionTitle: string;
8
- }
9
- /**
10
- * Per-element-type props registry. An entry is absent when an element type has
11
- * no type-specific properties (`page`, `divider`) — only the universal style
12
- * section is shown for those.
13
- */
14
- export declare const PROPS_REGISTRY: Partial<Record<ElementType, PropsRegistryEntry>>;
15
- //# sourceMappingURL=registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/builder/props/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAehD,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,SAAS,EAAE,SAAS,CAAC;IACrB,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAa3E,CAAC"}