@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,7 @@
1
+ import { ComputedRef } from 'vue';
2
+ import { PageConfig } from '../schema';
3
+ import { PageElementRegistry } from './registry';
4
+ export declare function useMergedElements(config?: ComputedRef<PageConfig | undefined> | {
5
+ value: PageConfig | undefined;
6
+ }): ComputedRef<PageElementRegistry>;
7
+ //# sourceMappingURL=useMergedElements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMergedElements.d.ts","sourceRoot":"","sources":["../../src/elements/useMergedElements.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,iBAAiB,CAC/B,MAAM,CAAC,EAAE,WAAW,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG;IAAE,KAAK,EAAE,UAAU,GAAG,SAAS,CAAA;CAAE,GAC/E,WAAW,CAAC,mBAAmB,CAAC,CAKlC"}
@@ -0,0 +1,34 @@
1
+ import { Ref } from 'vue';
2
+ import { PageConfig } from '../schema';
3
+ export interface PageElementContext {
4
+ /** Current value of a named field ('' semantics are the element's concern). */
5
+ getValue: (name: string) => unknown;
6
+ setValue: (name: string, value: unknown) => void;
7
+ /** Error for a field — non-empty only once the field has been touched. */
8
+ getError: (name: string) => string;
9
+ /** Mark a field touched (typically on blur; choose-is-the-interaction inputs mark on change). */
10
+ markTouched: (name: string) => void;
11
+ /** Fire a page action by id; `validates` gates it behind form validation. */
12
+ triggerAction: (id: string, validates?: boolean) => void;
13
+ /** True while an async `onValidate` is in flight — disable submit affordances. */
14
+ isValidating: Readonly<Ref<boolean>>;
15
+ /** True while an action handler's Promise is pending — disable submit affordances. */
16
+ isSubmitting: Readonly<Ref<boolean>>;
17
+ /**
18
+ * Action id whose trigger is currently in flight (validate + action phase),
19
+ * null when idle — action-firing elements show their busy state (spinner)
20
+ * when it matches their own action.
21
+ */
22
+ pendingAction: Readonly<Ref<string | null>>;
23
+ /**
24
+ * Form-level error (`_form` key from onValidate, or an action rejection).
25
+ * The renderer shows it in a banner above the page by default; elements can
26
+ * read it here to present it elsewhere.
27
+ */
28
+ formError: Readonly<Ref<string>>;
29
+ /** Resolve an assetId to a URL; '' when no resolver is configured. */
30
+ resolveAsset: (assetId: string) => string;
31
+ config?: Readonly<PageConfig>;
32
+ }
33
+ export declare function usePageElement(): PageElementContext;
34
+ //# sourceMappingURL=usePageElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePageElement.d.ts","sourceRoot":"","sources":["../../src/elements/usePageElement.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG5C,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,0EAA0E;IAC1E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,iGAAiG;IACjG,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,6EAA6E;IAC7E,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzD,kFAAkF;IAClF,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,sFAAsF;IACtF,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC;;;;OAIG;IACH,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5C;;;;OAIG;IACH,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,sEAAsE;IACtE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,MAAM,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CAC/B;AAED,wBAAgB,cAAc,IAAI,kBAAkB,CAyBnD"}
@@ -0,0 +1,10 @@
1
+ import { Ref } from 'vue';
2
+ import { OptionItem } from '../schema';
3
+ interface OptionProps {
4
+ options?: OptionItem[];
5
+ optionsSourceId?: string;
6
+ }
7
+ /** Must be called during component setup (uses the page-element context). */
8
+ export declare function useResolvedOptions(getProps: () => OptionProps): Readonly<Ref<OptionItem[]>>;
9
+ export {};
10
+ //# sourceMappingURL=useResolvedOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResolvedOptions.d.ts","sourceRoot":"","sources":["../../src/elements/useResolvedOptions.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG5C,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAUD,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAwC3F"}
package/dist/index.css CHANGED
@@ -1,2 +1,2 @@
1
- .pb-stack[data-v-d49524e6]{flex-direction:column;min-width:0;display:flex}.pb-stack--row[data-v-d49524e6]{flex-direction:row}.pb-stack--row[data-v-d49524e6]>*{min-width:0}.pb-stack--wrap[data-v-d49524e6]{flex-wrap:wrap}.pb-card-body[data-v-d49524e6]{flex-direction:column;min-width:0;display:flex}.pb-section[data-v-d49524e6]{display:block}.pb-section__title[data-v-d49524e6]{margin:0 0 var(--coar-spacing-s,8px);font-size:var(--coar-body-base-size,14px);color:var(--coar-text-neutral-primary,#111);font-weight:600}.pb-section__body[data-v-d49524e6]{flex-direction:column;display:flex}.pb-heading[data-v-d49524e6]{color:var(--coar-text-neutral-primary,#111);margin:0;font-weight:600}.pb-paragraph[data-v-d49524e6]{color:var(--coar-text-neutral-secondary,#666);margin:0}.pb-button[data-v-d49524e6],.pb-link[data-v-d49524e6],.pb-image[data-v-d49524e6]{width:fit-content;max-width:100%}.pb-link[data-v-d49524e6]{cursor:pointer;color:var(--coar-text-accent,#06c);font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.pb-link[data-v-d49524e6]:hover{color:var(--coar-text-accent-hover,#004fa3)}.pb-image[data-v-d49524e6]{display:block}.pb-spacer[data-v-d49524e6]{flex-shrink:0}.coar-page-renderer[data-v-8ff147bf]{display:contents}.pb-tree-node[data-v-be04973b]{color:var(--coar-text-neutral-primary,#111);font-size:13px}.pb-tree-row[data-v-be04973b]{cursor:pointer;border-radius:4px;align-items:center;gap:6px;height:30px;padding-right:8px;display:flex;position:relative}.pb-tree-row[data-v-be04973b]:hover{background:var(--coar-surface-neutral-subtle,#f1f1f3)}.pb-tree-node--selected>.pb-tree-row[data-v-be04973b]{background:var(--coar-surface-accent-subtle,#e6eefa);color:var(--coar-text-accent,#1666cc)}.pb-tree-node--selected>.pb-tree-row[data-v-be04973b]:before{content:"";background:var(--coar-background-accent-primary,#1666cc);border-radius:2px;width:3px;position:absolute;top:3px;bottom:3px;left:0}.pb-tree-grip[data-v-be04973b]{width:12px;color:var(--coar-icon-neutral-disabled,#b8b8bc);opacity:0;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s ease-out;display:inline-flex}.pb-tree-row:hover .pb-tree-grip[data-v-be04973b],.pb-tree-node--selected>.pb-tree-row .pb-tree-grip[data-v-be04973b]{opacity:1}.pb-tree-type-icon[data-v-be04973b]{color:var(--coar-icon-neutral-secondary,#5a5a60);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.pb-tree-node--selected>.pb-tree-row .pb-tree-type-icon[data-v-be04973b]{color:var(--coar-icon-accent,#1666cc)}.pb-tree-label[data-v-be04973b]{flex:1;align-items:baseline;gap:6px;min-width:0;display:inline-flex}.pb-tree-label-text[data-v-be04973b]{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.pb-tree-label-key[data-v-be04973b]{color:var(--coar-text-neutral-tertiary,#8a8a90);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;overflow:hidden}.pb-tree-node--selected>.pb-tree-row .pb-tree-label-key[data-v-be04973b]{color:var(--coar-text-accent,#1666cc);opacity:.7}.pb-tree-issue[data-v-be04973b]{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-right:30px;display:inline-flex}.pb-tree-issue--warning[data-v-be04973b]{color:var(--coar-icon-semantic-warning,#b45309)}.pb-tree-issue--error[data-v-be04973b]{color:var(--coar-icon-semantic-error,#c0392b)}.pb-tree-actions[data-v-be04973b]{opacity:0;background:var(--coar-surface-neutral-subtle,#f1f1f3);border-radius:4px;gap:1px;padding:1px;transition:opacity .12s ease-out;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pb-tree-row:hover .pb-tree-actions[data-v-be04973b],.pb-tree-node--selected>.pb-tree-row .pb-tree-actions[data-v-be04973b]{opacity:1}.pb-tree-node--selected>.pb-tree-row .pb-tree-actions[data-v-be04973b]{background:var(--coar-surface-accent-subtle,#e6eefa)}.pb-tree-btn[data-v-be04973b]{width:22px;height:22px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:background-color .12s ease-out,color .12s ease-out;display:inline-flex}.pb-tree-btn[data-v-be04973b]:hover:not(:disabled){background:var(--coar-surface-neutral-default,#dedee2);color:var(--coar-icon-neutral-primary,#111)}.pb-tree-btn[data-v-be04973b]:disabled{opacity:.3;cursor:not-allowed}.pb-tree-btn--danger[data-v-be04973b]:hover:not(:disabled){background:var(--coar-surface-semantic-error-subtle,#fde8e4);color:var(--coar-text-semantic-error-bold,#c0392b)}.pb-tree-add[data-v-be04973b]{padding-top:2px;padding-bottom:2px;padding-right:8px;position:relative}.pb-tree-add__trigger[data-v-be04973b]{border:1px dashed var(--coar-border-neutral,#cecece);height:26px;color:var(--coar-text-neutral-secondary,#666);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-size:12px;transition:border-color .12s,color .12s,background-color .12s;display:inline-flex}.pb-tree-add__trigger[data-v-be04973b]:hover,.pb-tree-add__trigger--open[data-v-be04973b]{border-color:var(--coar-border-accent,#1666cc);color:var(--coar-text-accent,#1666cc);background:var(--coar-surface-accent-subtle,#e6eefa)}.pb-tree-add__menu[data-v-be04973b]{top:calc(100% + 4px);left:inherit;background:var(--coar-surface-default,#fff);border:1px solid var(--coar-border-neutral,#dcdce0);z-index:10;border-radius:6px;flex-direction:column;min-width:200px;padding:4px;display:flex;position:absolute;box-shadow:0 8px 24px #0000001f}.pb-tree-add__group-label[data-v-be04973b]{text-transform:uppercase;letter-spacing:.04em;color:var(--coar-text-neutral-tertiary,#8a8a90);padding:6px 8px 2px;font-size:11px}.pb-tree-add__divider[data-v-be04973b]{background:var(--coar-border-neutral-subtle,#eeeef0);height:1px;margin:4px 0}.pb-tree-add__item[data-v-be04973b]{color:var(--coar-text-neutral-primary,#111);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;padding:6px 8px;font-family:inherit;font-size:13px;transition:background-color .12s;display:inline-flex}.pb-tree-add__item[data-v-be04973b]:hover{background:var(--coar-surface-accent-subtle,#e6eefa);color:var(--coar-text-accent,#1666cc)}.pb-tree-add__item[data-v-be04973b]>:first-child{color:var(--coar-icon-neutral-secondary,#5a5a60);flex-shrink:0}.pb-tree-add__item[data-v-be04973b]:hover>:first-child{color:var(--coar-icon-accent,#1666cc)}.pb-outline-wrap[data-v-fc62f26e]{height:100%;padding:4px 0;overflow-y:auto}.canvas-node[data-v-5a574130]{--canvas-border:#66666e4d;--canvas-border-selected:#1666ccb3;--canvas-tab-fg:#5a5a60;--canvas-tab-bg:#fff;--canvas-tab-border:#66666e59}.canvas-node--container[data-v-5a574130]{--canvas-border:#1666cc61;--canvas-tab-fg:#1666cc;--canvas-tab-border:#1666cc73}.canvas-node--element[data-v-5a574130]{--canvas-border:#05966959;--canvas-tab-fg:#047857;--canvas-tab-border:#05966973}.canvas-node[data-v-5a574130]{box-sizing:border-box;border:1px dashed var(--canvas-border);cursor:pointer;border-radius:6px;min-width:0;padding:16px 10px 10px;transition:border-color .12s ease-out,background-color .12s ease-out;position:relative}.canvas-node[data-v-5a574130]:hover{background:#1666cc08}.canvas-node--selected[data-v-5a574130]{border-color:var(--canvas-border-selected);background:#1666cc0d;border-style:solid}.canvas-node--dragging[data-v-5a574130]{opacity:.4}.canvas-node--root[data-v-5a574130]{min-height:80px;padding:20px 14px 14px}.canvas-node__tab[data-v-5a574130]{background:var(--canvas-tab-bg);border:1px solid var(--canvas-tab-border);height:18px;color:var(--canvas-tab-fg);white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:4px;max-width:calc(100% - 40px);padding:0 6px;font-size:11px;font-weight:500;display:inline-flex;position:absolute;top:-9px;left:10px;overflow:hidden}.canvas-node__tab--grabbable[data-v-5a574130]{cursor:grab}.canvas-node__tab--grabbable[data-v-5a574130]:active{cursor:grabbing}.canvas-node--selected .canvas-node__tab[data-v-5a574130]{border-color:var(--canvas-border-selected);color:var(--canvas-border-selected);font-weight:600}.canvas-node__tab-label[data-v-5a574130]{text-overflow:ellipsis;line-height:1;overflow:hidden}.canvas-node__delete[data-v-5a574130]{border:1px solid var(--canvas-tab-border);background:var(--canvas-tab-bg);width:18px;height:18px;color:var(--canvas-tab-fg);cursor:pointer;opacity:0;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:opacity .12s ease-out,background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out;display:inline-flex;position:absolute;top:-9px;right:10px}.canvas-node--selected>.canvas-node__delete[data-v-5a574130]{opacity:1}.canvas-node:hover:not(:has(.canvas-node:hover))>.canvas-node__delete[data-v-5a574130]{opacity:1}.canvas-node__delete[data-v-5a574130]:hover{background:var(--coar-surface-semantic-error-subtle,#fde8e4);border-color:var(--coar-text-semantic-error-bold,#c0392b);color:var(--coar-text-semantic-error-bold,#c0392b)}.canvas-node__body[data-v-5a574130]{min-height:24px}.canvas-node__body--dir-row>.canvas-node[data-v-5a574130]{min-width:0}.canvas-node__body--card[data-v-5a574130]{background:var(--coar-surface-default,#fff);border:1px solid var(--coar-border-neutral,#e0e0e0);border-radius:6px;padding:12px;box-shadow:0 1px 4px #00000012}.canvas-node__section-title[data-v-5a574130]{color:var(--coar-text-neutral-primary,#111);border-bottom:1px solid var(--coar-border-neutral,#e0e0e0);margin-bottom:8px;padding-bottom:6px;font-size:13px;font-weight:600}.canvas-dropzone[data-v-5a574130]{box-sizing:border-box;opacity:0;pointer-events:none;background:#1666cc1f;border:1px dashed #1666cc73;border-radius:3px;flex-shrink:0;transition:background-color .12s ease-out,border-color .12s ease-out,opacity .15s ease-out,width .14s ease-out,min-width .14s ease-out,height .14s ease-out,min-height .14s ease-out}.canvas-dropzone--empty[data-v-5a574130]{opacity:1;pointer-events:auto;color:var(--coar-text-neutral-tertiary,#8a8a90);text-align:center;min-height:unset;background:#66666e0a;border-color:#66666e40;height:auto;padding:14px 12px;font-size:12px;font-style:italic}.canvas-dropzone--drag-active[data-v-5a574130]{background:#1666cc33;border-color:#1666ccb3}.canvas-dropzone--over[data-v-5a574130]{background:#1666cc59;border-style:solid;border-color:#1666ccf2;box-shadow:inset 0 0 0 1px #1666cc99}.canvas-dropzone--disabled[data-v-5a574130]{opacity:.55;background:#64646a14;border-color:#64646a4d}.canvas-dropzone--row[data-v-5a574130]{align-self:stretch;width:0;min-width:0}.canvas-dropzone--row.canvas-dropzone--drag-active[data-v-5a574130]{width:10px;min-width:10px}.canvas-dropzone--row.canvas-dropzone--over[data-v-5a574130]{width:24px;min-width:24px}.canvas-dropzone--column[data-v-5a574130]{width:auto;height:0;min-height:0}.canvas-dropzone--column.canvas-dropzone--drag-active[data-v-5a574130]{height:10px;min-height:10px}.canvas-dropzone--column.canvas-dropzone--over[data-v-5a574130]{height:24px;min-height:24px}.canvas-node__preview[data-v-5a574130]{pointer-events:none}.canvas-node__spacer-preview[data-v-5a574130]{background:repeating-linear-gradient(45deg,#00000008 0 4px,#0000 4px 8px);border:1px dashed #0000001f;border-radius:2px;height:20px}.canvas-node__heading[data-v-5a574130]{color:var(--coar-text-neutral-primary,#111);margin:0;font-weight:600}h1.canvas-node__heading[data-v-5a574130]{font-size:28px}h2.canvas-node__heading[data-v-5a574130]{font-size:22px}h3.canvas-node__heading[data-v-5a574130]{font-size:18px}h4.canvas-node__heading[data-v-5a574130]{font-size:15px}h5.canvas-node__heading[data-v-5a574130]{font-size:13px}h6.canvas-node__heading[data-v-5a574130]{font-size:12px}.canvas-node__paragraph[data-v-5a574130]{color:var(--coar-text-neutral-secondary,#555);margin:0;font-size:14px}.canvas-node__link[data-v-5a574130]{cursor:default;color:var(--coar-text-accent,#1666cc);background:0 0;border:none;padding:0;font-size:14px;text-decoration:underline}.canvas-node__image-preview[data-v-5a574130]{border-radius:4px;max-width:100%;height:auto;display:block}.canvas-node__image-placeholder[data-v-5a574130]{background:var(--coar-surface-subtle,#f7f7f9);color:var(--coar-text-neutral-secondary,#888);border:1px dashed #00000026;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px;font-size:12px;display:flex}.pb-canvas-shell[data-v-4d674269]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-palette[data-v-4d674269]{background:var(--coar-surface-neutral-subtle,#f7f7f9);border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:8px 12px;display:flex}.pb-palette__group[data-v-4d674269]{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.pb-palette__label[data-v-4d674269]{text-transform:uppercase;letter-spacing:.06em;color:var(--coar-text-neutral-tertiary,#8a8a90);white-space:nowrap;margin-right:2px;font-size:10px;font-weight:600}.pb-palette__divider[data-v-4d674269]{background:var(--coar-border-neutral,#d8d8dc);flex-shrink:0;width:1px;height:20px}.pb-palette__card[data-v-4d674269]{border:1px solid var(--card-border,#66666e40);height:24px;color:var(--card-fg,#5a5a60);cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#fff;border-radius:4px;align-items:center;gap:4px;padding:0 7px;font-family:inherit;font-size:12px;font-weight:500;transition:background-color .12s,border-color .12s,transform 80ms;display:inline-flex}.pb-palette__card[data-v-4d674269]:hover{background:var(--card-bg-hover,#1666cc0f);border-color:var(--card-border-hover,#1666cc66);color:var(--card-fg-hover,#1666cc)}.pb-palette__card[data-v-4d674269]:active{transform:scale(.97)}.pb-palette__card--dragging[data-v-4d674269]{opacity:.4;cursor:grabbing}.pb-palette__card--container[data-v-4d674269]{--card-fg:#1666cc;--card-fg-hover:#1666cc;--card-border:#1666cc4d;--card-border-hover:#1666cc8c;--card-bg-hover:#1666cc14}.pb-palette__card--element[data-v-4d674269]{--card-fg:#047857;--card-fg-hover:#047857;--card-border:#0596694d;--card-border-hover:#0596698c;--card-bg-hover:#05966914}.pb-canvas[data-v-4d674269]{background:repeating-linear-gradient(45deg,#00000004 0 6px,#0000 6px 12px);flex:1;padding:28px 20px 20px;overflow:auto}.pb-prop-group[data-v-e4171f7c]{flex-direction:column;gap:4px;display:flex}.pb-prop-label[data-v-e4171f7c]{color:var(--coar-text-neutral-primary,#111);font-size:12px;font-weight:500}.pb-prop-seg[data-v-e4171f7c]{border:1px solid var(--coar-border-neutral,#d0d0d0);background:var(--coar-surface-base,#fff);border-radius:6px;display:inline-flex;overflow:hidden}.pb-prop-seg__btn[data-v-e4171f7c]{color:var(--coar-text-neutral-secondary,#555);cursor:pointer;background:0 0;border:none;flex:1;padding:6px 12px;font-family:inherit;font-size:12px;transition:background-color .12s,color .12s}.pb-prop-seg__btn+.pb-prop-seg__btn[data-v-e4171f7c]{border-left:1px solid var(--coar-border-neutral,#d0d0d0)}.pb-prop-seg__btn[data-v-e4171f7c]:hover:not(.pb-prop-seg__btn--active){background:var(--coar-surface-neutral-subtle,#f0f0f2)}.pb-prop-seg__btn--active[data-v-e4171f7c]{background:var(--coar-surface-accent-subtle,#e6eefa);color:var(--coar-text-accent,#1666cc);font-weight:600}.pb-prop-textarea[data-v-13b6b029]{border:1px solid var(--coar-border-neutral,#d0d0d0);width:100%;color:var(--coar-text-neutral-primary,#111);background:var(--coar-surface-base,#fff);resize:vertical;box-sizing:border-box;border-radius:6px;min-height:60px;padding:6px 10px;font-family:inherit;font-size:13px}.pb-prop-textarea[data-v-13b6b029]:focus{outline:2px solid var(--coar-border-accent,#1a73e8);outline-offset:-1px}.pb-image-asset[data-v-49a42b45]{align-items:stretch;gap:10px;display:flex}.pb-image-asset__thumb[data-v-49a42b45]{background:var(--coar-surface-neutral-subtle,#f0f0f2);border:1px solid var(--coar-border-neutral,#e0e0e0);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.pb-image-asset__thumb img[data-v-49a42b45]{object-fit:cover;width:100%;height:100%;display:block}.pb-image-asset__empty[data-v-49a42b45]{color:var(--coar-icon-neutral-disabled,#b0b0b6);flex-direction:column;align-items:center;gap:2px;font-size:10px;display:flex}.pb-image-asset__empty-label[data-v-49a42b45]{font-size:10px}.pb-image-asset__controls[data-v-49a42b45]{flex-direction:column;justify-content:center;gap:6px;display:flex}.pb-props[data-v-380ec929]{background:var(--coar-surface-default,#fff);height:100%;min-height:0;font-family:var(--coar-body-base-family,sans-serif);flex-direction:column;display:flex}.pb-props__header[data-v-380ec929]{box-sizing:border-box;border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);height:44px;color:var(--coar-text-neutral-secondary,#5a5a60);flex-shrink:0;align-items:center;gap:8px;padding:0 14px;display:flex}.pb-props__title[data-v-380ec929]{text-transform:uppercase;letter-spacing:.06em;color:var(--coar-text-neutral-secondary,#5a5a60);font-size:11px;font-weight:600}.pb-props__body[data-v-380ec929]{flex-direction:column;flex:1;padding:16px;display:flex;overflow:auto}.pb-props__section[data-v-380ec929]{flex-direction:column;gap:12px;display:flex}.pb-props__section--separated[data-v-380ec929]{border-top:1px solid var(--coar-border-neutral-subtle,#eeeef0);margin-top:20px;padding-top:16px}.pb-props__section-title[data-v-380ec929]{text-transform:uppercase;letter-spacing:.06em;color:var(--coar-text-neutral-tertiary,#8a8a90);margin:0;font-size:10px;font-weight:600}.pb-props__empty[data-v-380ec929]{color:var(--coar-icon-neutral-disabled,#b0b0b6);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:32px 16px;display:flex}.pb-props__empty-title[data-v-380ec929]{font-size:var(--coar-body-small-base-size,14px);color:var(--coar-text-neutral-secondary,#5a5a60);margin:8px 0 0;font-weight:500}.pb-props__empty-hint[data-v-380ec929]{font-size:var(--coar-body-caption-size,12px);color:var(--coar-text-neutral-tertiary,#8a8a90);margin:0}.pb-props__issues[data-v-380ec929]{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.pb-props__issue[data-v-380ec929]{border-radius:6px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:12px;line-height:1.4;display:flex}.pb-props__issue--warning[data-v-380ec929]{background:var(--coar-surface-semantic-warning-subtle,#fef3c7);color:var(--coar-text-semantic-warning-bold,#92400e)}.pb-props__issue--error[data-v-380ec929]{background:var(--coar-surface-semantic-error-subtle,#fde8e4);color:var(--coar-text-semantic-error-bold,#c0392b)}.pb-builder[data-v-fb26dca9]{grid-template-columns:var(--v0d1c4c4b) 1px minmax(360px, 1fr) 1px var(--v0f378b9d);background:var(--coar-surface-default,#fff);border:1px solid var(--coar-border-neutral,#e2e2e6);height:100%;min-height:520px;font-family:var(--coar-body-base-family,sans-serif);border-radius:8px;transition:grid-template-columns .18s ease-out;display:grid;overflow:hidden}.pb-builder--resizing[data-v-fb26dca9]{-webkit-user-select:none;user-select:none;cursor:col-resize;transition:none}.pb-builder__pane[data-v-fb26dca9]{background:var(--coar-surface-default,#fff);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.pb-builder__pane--rail[data-v-fb26dca9]{justify-content:flex-start;align-items:center;padding:8px 0}.pb-builder__pane-header[data-v-fb26dca9]{box-sizing:border-box;border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);height:44px;color:var(--coar-text-neutral-secondary,#5a5a60);flex-shrink:0;align-items:center;gap:8px;padding:0 14px;display:flex}.pb-builder__pane-title[data-v-fb26dca9]{text-transform:uppercase;letter-spacing:.06em;color:var(--coar-text-neutral-secondary,#5a5a60);flex:1;font-size:11px;font-weight:600}.pb-builder[data-v-fb26dca9] .coar-tab-list{box-sizing:border-box;align-items:stretch;min-height:44px}.pb-builder[data-v-fb26dca9] .coar-tab-button{align-items:center;padding-top:0;padding-bottom:0;display:inline-flex}.pb-builder[data-v-fb26dca9] .pb-props__header{box-sizing:border-box;height:44px;padding:0 14px}.pb-builder[data-v-fb26dca9] .coar-tab-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder[data-v-fb26dca9] .coar-tab-panel{display:none}.pb-builder[data-v-fb26dca9] .coar-tab-panel.active{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder__tree-scroll[data-v-fb26dca9]{flex:1;padding:6px 6px 12px;overflow:auto}.pb-builder__pane-inner[data-v-fb26dca9]{border:none;border-radius:0;flex:1;min-height:0}.pb-builder__divider[data-v-fb26dca9]{background:var(--coar-border-neutral,#e2e2e6);cursor:col-resize;z-index:1;transition:background-color .12s ease-out;position:relative}.pb-builder__divider[data-v-fb26dca9]:after{content:"";cursor:inherit;position:absolute;inset:0 -3px}.pb-builder__divider[data-v-fb26dca9]:hover,.pb-builder--resizing .pb-builder__divider[data-v-fb26dca9]{background:var(--coar-background-accent-primary,#1666cc)}.pb-builder__divider--inert[data-v-fb26dca9]{cursor:default;pointer-events:none}.pb-builder__divider--inert[data-v-fb26dca9]:after{pointer-events:none}.pb-builder__icon-btn[data-v-fb26dca9]{width:26px;height:26px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.pb-builder__icon-btn[data-v-fb26dca9]:hover:not(:disabled){background:var(--coar-surface-neutral-subtle,#f0f0f2);border-color:var(--coar-border-neutral,#dcdce0);color:var(--coar-icon-neutral-primary,#111)}.pb-builder__icon-btn[data-v-fb26dca9]:disabled{opacity:.3;cursor:not-allowed}.pb-builder__icon-btn--corner[data-v-fb26dca9]{z-index:2;position:absolute;top:9px;right:10px}.pb-builder__rail-btn[data-v-fb26dca9]{width:28px;height:28px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.pb-builder__rail-btn[data-v-fb26dca9]:hover{background:var(--coar-surface-neutral-subtle,#f0f0f2);border-color:var(--coar-border-neutral,#dcdce0);color:var(--coar-icon-neutral-primary,#111)}.pb-builder__pane--center[data-v-fb26dca9]{padding:0}.pb-builder__tabs[data-v-fb26dca9]{flex-direction:column;flex:1;min-height:0;display:flex}.pb-builder__tab-label[data-v-fb26dca9]{align-items:center;gap:6px;display:inline-flex}.pb-builder__preview-pane[data-v-fb26dca9]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder__preview-toolbar[data-v-fb26dca9]{border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);background:var(--coar-surface-neutral-subtle,#f7f7f9);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.pb-builder__seg[data-v-fb26dca9]{border:1px solid var(--coar-border-neutral,#d0d0d0);background:var(--coar-surface-base,#fff);border-radius:6px;display:inline-flex;overflow:hidden}.pb-builder__seg-btn[data-v-fb26dca9]{color:var(--coar-text-neutral-secondary,#555);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:4px 10px;font-family:inherit;font-size:12px;transition:background-color .12s,color .12s;display:inline-flex}.pb-builder__seg-btn+.pb-builder__seg-btn[data-v-fb26dca9]{border-left:1px solid var(--coar-border-neutral,#d0d0d0)}.pb-builder__seg-btn[data-v-fb26dca9]:hover:not(.pb-builder__seg-btn--active){background:var(--coar-surface-neutral-subtle,#f0f0f2)}.pb-builder__seg-btn--active[data-v-fb26dca9]{background:var(--coar-surface-accent-subtle,#e6eefa);color:var(--coar-text-accent,#1666cc);font-weight:600}.pb-builder__preview[data-v-fb26dca9]{box-sizing:border-box;background:repeating-linear-gradient(45deg,#00000004 0 6px,#0000 6px 12px);flex:1;min-height:0;padding:20px 24px;overflow:auto}.pb-builder__preview-frame[data-v-fb26dca9]{background:var(--coar-surface-default,#fff);border:1px solid var(--coar-border-neutral,#e2e2e6);border-radius:8px;transition:max-width .18s ease-out,width .18s ease-out;overflow:hidden}.pb-builder__json-pane[data-v-fb26dca9]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder__json-toolbar[data-v-fb26dca9]{border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);background:var(--coar-surface-neutral-subtle,#f7f7f9);flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;display:flex}.pb-builder__json-hint[data-v-fb26dca9]{color:var(--coar-text-neutral-secondary,#888);flex:1;font-size:12px}.pb-builder__json-error[data-v-fb26dca9]{color:var(--coar-text-semantic-error-bold,#c0392b);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.pb-builder__json-apply[data-v-fb26dca9]{background:var(--coar-background-accent-primary,#1666cc);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:4px 14px;font-family:inherit;font-size:12px;font-weight:500}.pb-builder__json-apply[data-v-fb26dca9]:disabled{opacity:.4;cursor:default}.pb-builder__json-apply[data-v-fb26dca9]:not(:disabled):hover{filter:brightness(.92)}.pb-builder__json-editor[data-v-fb26dca9]{resize:none;color:var(--coar-text-neutral-primary,#111);background:var(--coar-surface-neutral-subtle,#f7f7f9);border:none;outline:none;flex:1;padding:16px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.55}
1
+ .pb-stack[data-v-22e0278d]{flex-direction:column;min-width:0;display:flex}.pb-stack--row[data-v-22e0278d]{flex-direction:row}.pb-stack--row>[data-v-22e0278d-s]{min-width:0}.pb-stack--wrap[data-v-22e0278d]{flex-wrap:wrap}.pb-prop-group[data-v-27700614]{flex-direction:column;gap:4px;display:flex}.pb-prop-label[data-v-27700614]{color:var(--coar-text-neutral-primary,#111);font-size:12px;font-weight:500}.pb-prop-seg[data-v-27700614]{border:1px solid var(--coar-border-neutral,#d0d0d0);background:var(--coar-surface-base,#fff);border-radius:6px;display:inline-flex;overflow:hidden}.pb-prop-seg__btn[data-v-27700614]{color:var(--coar-text-neutral-secondary,#555);cursor:pointer;background:0 0;border:none;flex:1;padding:6px 12px;font-family:inherit;font-size:12px;transition:background-color .12s,color .12s}.pb-prop-seg__btn+.pb-prop-seg__btn[data-v-27700614]{border-left:1px solid var(--coar-border-neutral,#d0d0d0)}.pb-prop-seg__btn[data-v-27700614]:hover:not(.pb-prop-seg__btn--active){background:var(--coar-surface-neutral-subtle,#f0f0f2)}.pb-prop-seg__btn--active[data-v-27700614]{background:var(--coar-surface-accent-subtle,#e6eefa);color:var(--coar-text-accent,#1666cc);font-weight:600}.pb-card-body[data-v-81fc7712]{flex-direction:column;min-width:0;display:flex}.pb-section[data-v-9f1ef1ed]{display:block}.pb-section__title[data-v-9f1ef1ed]{margin:0 0 var(--coar-spacing-s,8px);font-size:var(--coar-body-base-size,14px);color:var(--coar-text-neutral-primary,#111);font-weight:600}.pb-section__body[data-v-9f1ef1ed]{flex-direction:column;display:flex}.pb-spacer[data-v-87936435]{flex-shrink:0}.canvas-node__spacer-preview[data-v-62e97d99]{background:repeating-linear-gradient(45deg,#00000008 0 4px,#0000 4px 8px);border:1px dashed #0000001f;border-radius:2px;height:20px}.pb-heading[data-v-61919abd],.canvas-node__heading[data-v-72e52037]{color:var(--coar-text-neutral-primary,#111);margin:0;font-weight:600}h1.canvas-node__heading[data-v-72e52037]{font-size:28px}h2.canvas-node__heading[data-v-72e52037]{font-size:22px}h3.canvas-node__heading[data-v-72e52037]{font-size:18px}h4.canvas-node__heading[data-v-72e52037]{font-size:15px}h5.canvas-node__heading[data-v-72e52037]{font-size:13px}h6.canvas-node__heading[data-v-72e52037]{font-size:12px}.pb-paragraph[data-v-d1869f20]{color:var(--coar-text-neutral-secondary,#666);margin:0}.canvas-node__paragraph[data-v-2a478621]{color:var(--coar-text-neutral-secondary,#555);margin:0;font-size:14px}.pb-prop-textarea[data-v-0781e405]{border:1px solid var(--coar-border-neutral,#d0d0d0);width:100%;color:var(--coar-text-neutral-primary,#111);background:var(--coar-surface-base,#fff);resize:vertical;box-sizing:border-box;border-radius:6px;min-height:60px;padding:6px 10px;font-family:inherit;font-size:13px}.pb-prop-textarea[data-v-0781e405]:focus{outline:2px solid var(--coar-border-accent,#1a73e8);outline-offset:-1px}.pb-number-grid[data-v-4bfe9510]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pb-select-options[data-v-d7e1a125]{flex-direction:column;gap:6px;display:flex}.pb-select-options__label[data-v-d7e1a125]{color:var(--coar-text-neutral-secondary,#5a5a60);font-size:12px;font-weight:500}.pb-select-options__row[data-v-d7e1a125]{grid-template-columns:1fr 1fr auto auto auto;align-items:center;gap:4px;display:grid}.pb-select-options__btn[data-v-d7e1a125]{border:1px solid var(--coar-border-neutral,#dcdce0);width:22px;height:22px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:background-color .12s ease-out,color .12s ease-out;display:inline-flex}.pb-select-options__btn[data-v-d7e1a125]:hover:not(:disabled){background:var(--coar-surface-neutral-subtle,#f0f0f2);color:var(--coar-icon-neutral-primary,#111)}.pb-select-options__btn[data-v-d7e1a125]:disabled{opacity:.3;cursor:not-allowed}.pb-select-options__btn--danger[data-v-d7e1a125]:hover:not(:disabled){background:var(--coar-surface-semantic-error-subtle,#fde8e4);color:var(--coar-text-semantic-error-bold,#c0392b)}.pb-select-options__add[data-v-d7e1a125]{border:1px dashed var(--coar-border-neutral,#cecece);height:24px;color:var(--coar-text-neutral-secondary,#666);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-start;align-items:center;gap:6px;padding:0 8px;font-family:inherit;font-size:12px;transition:border-color .12s,color .12s;display:inline-flex}.pb-select-options__add[data-v-d7e1a125]:hover{border-color:var(--coar-border-accent,#1666cc);color:var(--coar-text-accent,#1666cc)}.pb-button[data-v-c2a9e667]{width:fit-content;max-width:100%}.pb-link[data-v-e02789ef]{cursor:pointer;width:fit-content;max-width:100%;color:var(--coar-text-accent,#06c);font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.pb-link[data-v-e02789ef]:hover{color:var(--coar-text-accent-hover,#004fa3)}.pb-link[data-v-e02789ef]:disabled{opacity:.5;cursor:default}.canvas-node__link[data-v-8cbfd982]{cursor:default;color:var(--coar-text-accent,#1666cc);background:0 0;border:none;padding:0;font-size:14px;text-decoration:underline}.pb-image[data-v-a8b9c85c]{width:fit-content;max-width:100%;display:block}.canvas-node__image-preview[data-v-5c45e3fb]{border-radius:4px;max-width:100%;height:auto;display:block}.canvas-node__image-placeholder[data-v-5c45e3fb]{background:var(--coar-surface-subtle,#f7f7f9);color:var(--coar-text-neutral-secondary,#888);border:1px dashed #00000026;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px;font-size:12px;display:flex}.pb-image-asset[data-v-9a98cb44]{align-items:stretch;gap:10px;display:flex}.pb-image-asset__thumb[data-v-9a98cb44]{background:var(--coar-surface-neutral-subtle,#f0f0f2);border:1px solid var(--coar-border-neutral,#e0e0e0);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.pb-image-asset__thumb img[data-v-9a98cb44]{object-fit:cover;width:100%;height:100%;display:block}.pb-image-asset__empty[data-v-9a98cb44]{color:var(--coar-icon-neutral-disabled,#b0b0b6);flex-direction:column;align-items:center;gap:2px;font-size:10px;display:flex}.pb-image-asset__empty-label[data-v-9a98cb44]{font-size:10px}.pb-image-asset__controls[data-v-9a98cb44]{flex-direction:column;justify-content:center;gap:6px;display:flex}.pb-page[data-v-aac75b9a]{flex-direction:column;min-width:0;display:flex}.coar-page-renderer[data-v-4ff07fa9]{display:contents}.pb-form-error[data-v-4ff07fa9]{margin-bottom:var(--coar-spacing-m)}.pb-tree-node[data-v-40782a93]{color:var(--coar-text-neutral-primary,#111);font-size:13px}.pb-tree-row[data-v-40782a93]{cursor:pointer;border-radius:4px;align-items:center;gap:6px;height:30px;padding-right:8px;display:flex;position:relative}.pb-tree-row[data-v-40782a93]:hover{background:var(--coar-surface-neutral-subtle,#f1f1f3)}.pb-tree-node--selected>.pb-tree-row[data-v-40782a93]{background:var(--coar-surface-accent-subtle,#e6eefa);color:var(--coar-text-accent,#1666cc)}.pb-tree-node--selected>.pb-tree-row[data-v-40782a93]:before{content:"";background:var(--coar-background-accent-primary,#1666cc);border-radius:2px;width:3px;position:absolute;top:3px;bottom:3px;left:0}.pb-tree-grip[data-v-40782a93]{width:12px;color:var(--coar-icon-neutral-disabled,#b8b8bc);opacity:.4;cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s ease-out;display:inline-flex}.pb-tree-node--root>.pb-tree-row .pb-tree-grip[data-v-40782a93]{opacity:0;cursor:default}.pb-tree-row:hover .pb-tree-grip[data-v-40782a93],.pb-tree-node--selected>.pb-tree-row .pb-tree-grip[data-v-40782a93]{opacity:1}.pb-tree-node--root>.pb-tree-row:hover .pb-tree-grip[data-v-40782a93]{opacity:0}.pb-outline-zone[data-v-40782a93]{pointer-events:none;background:0 0;border-radius:2px;height:0;margin-right:8px;transition:height .12s ease-out,background-color .12s ease-out}.pb-outline-zone--active[data-v-40782a93]{outline-offset:-1px;background:#1666cc26;outline:1px dashed #1666cc59;height:6px}.pb-outline-zone--over[data-v-40782a93]{background:var(--coar-background-accent-primary,#1666cc);outline:none;height:10px}.pb-tree-row--dropinto[data-v-40782a93]{background:var(--coar-surface-accent-subtle,#e6eefa);box-shadow:inset 0 0 0 2px var(--coar-border-accent,#1666cc)}.pb-tree-type-icon[data-v-40782a93]{color:var(--coar-icon-neutral-secondary,#5a5a60);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.pb-tree-node--selected>.pb-tree-row .pb-tree-type-icon[data-v-40782a93]{color:var(--coar-icon-accent,#1666cc)}.pb-tree-label[data-v-40782a93]{flex:1;align-items:baseline;gap:6px;min-width:0;display:inline-flex}.pb-tree-label-text[data-v-40782a93]{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.pb-tree-label-key[data-v-40782a93]{color:var(--coar-text-neutral-tertiary,#8a8a90);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;overflow:hidden}.pb-tree-node--selected>.pb-tree-row .pb-tree-label-key[data-v-40782a93]{color:var(--coar-text-accent,#1666cc);opacity:.7}.pb-tree-issue[data-v-40782a93]{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-right:30px;display:inline-flex}.pb-tree-issue--warning[data-v-40782a93]{color:var(--coar-icon-semantic-warning,#b45309)}.pb-tree-issue--error[data-v-40782a93]{color:var(--coar-icon-semantic-error,#c0392b)}.pb-tree-actions[data-v-40782a93]{opacity:0;background:var(--coar-surface-neutral-subtle,#f1f1f3);border-radius:4px;gap:1px;padding:1px;transition:opacity .12s ease-out;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pb-tree-row:hover .pb-tree-actions[data-v-40782a93],.pb-tree-node--selected>.pb-tree-row .pb-tree-actions[data-v-40782a93]{opacity:1}.pb-tree-node--selected>.pb-tree-row .pb-tree-actions[data-v-40782a93]{background:var(--coar-surface-accent-subtle,#e6eefa)}.pb-tree-btn[data-v-40782a93]{width:22px;height:22px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:background-color .12s ease-out,color .12s ease-out;display:inline-flex}.pb-tree-btn[data-v-40782a93]:hover:not(:disabled){background:var(--coar-surface-neutral-default,#dedee2);color:var(--coar-icon-neutral-primary,#111)}.pb-tree-btn[data-v-40782a93]:disabled{opacity:.3;cursor:not-allowed}.pb-tree-btn--danger[data-v-40782a93]:hover:not(:disabled){background:var(--coar-surface-semantic-error-subtle,#fde8e4);color:var(--coar-text-semantic-error-bold,#c0392b)}.pb-tree-add[data-v-40782a93]{padding-top:2px;padding-bottom:2px;padding-right:8px;position:relative}.pb-tree-add__trigger[data-v-40782a93]{border:1px dashed var(--coar-border-neutral,#cecece);height:26px;color:var(--coar-text-neutral-secondary,#666);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-size:12px;transition:border-color .12s,color .12s,background-color .12s;display:inline-flex}.pb-tree-add__trigger[data-v-40782a93]:hover,.pb-tree-add__trigger--open[data-v-40782a93]{border-color:var(--coar-border-accent,#1666cc);color:var(--coar-text-accent,#1666cc);background:var(--coar-surface-accent-subtle,#e6eefa)}.pb-tree-add__menu[data-v-40782a93]{top:calc(100% + 4px);left:inherit;background:var(--coar-surface-default,#fff);border:1px solid var(--coar-border-neutral,#dcdce0);z-index:10;border-radius:6px;flex-direction:column;min-width:200px;padding:4px;display:flex;position:absolute;box-shadow:0 8px 24px #0000001f}.pb-tree-add__group-label[data-v-40782a93]{text-transform:uppercase;letter-spacing:.04em;color:var(--coar-text-neutral-tertiary,#8a8a90);padding:6px 8px 2px;font-size:11px}.pb-tree-add__divider[data-v-40782a93]{background:var(--coar-border-neutral-subtle,#eeeef0);height:1px;margin:4px 0}.pb-tree-add__item[data-v-40782a93]{color:var(--coar-text-neutral-primary,#111);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;padding:6px 8px;font-family:inherit;font-size:13px;transition:background-color .12s;display:inline-flex}.pb-tree-add__item[data-v-40782a93]:hover{background:var(--coar-surface-accent-subtle,#e6eefa);color:var(--coar-text-accent,#1666cc)}.pb-tree-add__item[data-v-40782a93]>:first-child{color:var(--coar-icon-neutral-secondary,#5a5a60);flex-shrink:0}.pb-tree-add__item[data-v-40782a93]:hover>:first-child{color:var(--coar-icon-accent,#1666cc)}.pb-outline-wrap[data-v-90246b78]{height:100%;padding:4px 0;overflow-y:auto}.canvas-node[data-v-765f4f97]{--canvas-border:#66666e4d;--canvas-border-selected:#1666ccb3;--canvas-tab-fg:#5a5a60;--canvas-tab-bg:#fff;--canvas-tab-border:#66666e59}.canvas-node--container[data-v-765f4f97]{--canvas-border:#1666cc61;--canvas-tab-fg:#1666cc;--canvas-tab-border:#1666cc73}.canvas-node--element[data-v-765f4f97]{--canvas-border:#05966959;--canvas-tab-fg:#047857;--canvas-tab-border:#05966973}.canvas-node[data-v-765f4f97]{box-sizing:border-box;border:1px dashed var(--canvas-border);cursor:pointer;border-radius:6px;min-width:0;padding:16px 10px 10px;transition:border-color .12s ease-out,background-color .12s ease-out;position:relative}.canvas-node[data-v-765f4f97]:hover{background:#1666cc08}.canvas-node--selected[data-v-765f4f97]{border-color:var(--canvas-border-selected);background:#1666cc0d;border-style:solid}.canvas-node--dragging[data-v-765f4f97]{opacity:.4}.canvas-node--blocked[data-v-765f4f97]{--canvas-border:#c0392b80;--canvas-tab-fg:#c0392b;--canvas-tab-border:#c0392b8c;background:repeating-linear-gradient(45deg,#c0392b0a 0 6px,#0000 6px 12px)}.canvas-node__blocked[data-v-765f4f97]{color:var(--coar-text-semantic-error-bold,#c0392b);align-items:center;gap:6px;margin:2px 0 6px;font-size:11px;font-weight:500;display:flex}.canvas-node--root[data-v-765f4f97]{min-height:80px;padding:20px 14px 14px}.canvas-node__tab[data-v-765f4f97]{background:var(--canvas-tab-bg);border:1px solid var(--canvas-tab-border);height:18px;color:var(--canvas-tab-fg);white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:4px;max-width:calc(100% - 40px);padding:0 6px;font-size:11px;font-weight:500;display:inline-flex;position:absolute;top:-9px;left:10px;overflow:hidden}.canvas-node__tab--grabbable[data-v-765f4f97]{cursor:grab;touch-action:none}.canvas-node__tab--grabbable[data-v-765f4f97]:active{cursor:grabbing}.canvas-node--selected .canvas-node__tab[data-v-765f4f97]{border-color:var(--canvas-border-selected);color:var(--canvas-border-selected);font-weight:600}.canvas-node__tab-label[data-v-765f4f97]{text-overflow:ellipsis;line-height:1;overflow:hidden}.canvas-node__tab-eye[data-v-765f4f97]{opacity:.75;flex-shrink:0;align-items:center;display:inline-flex}.canvas-node__delete[data-v-765f4f97]{border:1px solid var(--canvas-tab-border);background:var(--canvas-tab-bg);width:18px;height:18px;color:var(--canvas-tab-fg);cursor:pointer;opacity:0;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:opacity .12s ease-out,background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out;display:inline-flex;position:absolute;top:-9px;right:10px}.canvas-node--selected>.canvas-node__delete[data-v-765f4f97]{opacity:1}.canvas-node:hover:not(:has(.canvas-node:hover))>.canvas-node__delete[data-v-765f4f97]{opacity:1}.canvas-node__duplicate[data-v-765f4f97]{right:34px}.canvas-node[data-v-765f4f97]:focus-visible{outline:2px solid var(--coar-border-focus,#1666cc);outline-offset:1px}.canvas-node__delete[data-v-765f4f97]:hover{background:var(--coar-surface-semantic-error-subtle,#fde8e4);border-color:var(--coar-text-semantic-error-bold,#c0392b);color:var(--coar-text-semantic-error-bold,#c0392b)}.canvas-node__body[data-v-765f4f97]{min-height:24px}.canvas-node__body--dir-row>.canvas-node[data-v-765f4f97]{min-width:0}.canvas-node__body--card[data-v-765f4f97]{background:var(--coar-surface-default,#fff);border:1px solid var(--coar-border-neutral,#e0e0e0);border-radius:6px;padding:12px;box-shadow:0 1px 4px #00000012}.canvas-node__section-title[data-v-765f4f97]{color:var(--coar-text-neutral-primary,#111);border-bottom:1px solid var(--coar-border-neutral,#e0e0e0);margin-bottom:8px;padding-bottom:6px;font-size:13px;font-weight:600}.canvas-dropzone[data-v-765f4f97]{box-sizing:border-box;opacity:0;pointer-events:none;background:#1666cc1f;border:1px dashed #1666cc73;border-radius:3px;flex-shrink:0;transition:background-color .12s ease-out,border-color .12s ease-out,opacity .15s ease-out,width .14s ease-out,min-width .14s ease-out,height .14s ease-out,min-height .14s ease-out}.canvas-dropzone--empty[data-v-765f4f97]{opacity:1;pointer-events:auto;color:var(--coar-text-neutral-tertiary,#8a8a90);text-align:center;min-height:unset;background:#66666e0a;border-color:#66666e40;height:auto;padding:14px 12px;font-size:12px;font-style:italic}.canvas-dropzone--drag-active[data-v-765f4f97]{background:#1666cc33;border-color:#1666ccb3}.canvas-dropzone--over[data-v-765f4f97]{background:#1666cc59;border-style:solid;border-color:#1666ccf2;box-shadow:inset 0 0 0 1px #1666cc99}.canvas-dropzone--disabled[data-v-765f4f97]{opacity:.55;background:#64646a14;border-color:#64646a4d}.canvas-dropzone--row[data-v-765f4f97]{align-self:stretch;width:0;min-width:0}.canvas-dropzone--row.canvas-dropzone--drag-active[data-v-765f4f97]{width:10px;min-width:10px}.canvas-dropzone--row.canvas-dropzone--over[data-v-765f4f97]{width:24px;min-width:24px}.canvas-dropzone--column[data-v-765f4f97]{width:auto;height:0;min-height:0}.canvas-dropzone--column.canvas-dropzone--drag-active[data-v-765f4f97]{height:10px;min-height:10px}.canvas-dropzone--column.canvas-dropzone--over[data-v-765f4f97]{height:24px;min-height:24px}.canvas-node__preview[data-v-765f4f97]{pointer-events:none}.canvas-node__generic-preview[data-v-765f4f97]{color:var(--coar-text-neutral-secondary,#888);border:1px dashed #66666e4d;border-radius:4px;align-items:center;gap:6px;padding:10px;font-size:12px;display:flex}.pb-canvas-shell[data-v-d3516672]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-palette[data-v-d3516672]{background:var(--coar-surface-neutral-subtle,#f7f7f9);border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:8px 12px;display:flex}.pb-palette__group[data-v-d3516672]{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.pb-palette__label[data-v-d3516672]{text-transform:uppercase;letter-spacing:.06em;color:var(--coar-text-neutral-tertiary,#8a8a90);white-space:nowrap;margin-right:2px;font-size:10px;font-weight:600}.pb-palette__divider[data-v-d3516672]{background:var(--coar-border-neutral,#d8d8dc);flex-shrink:0;width:1px;height:20px}.pb-palette__card[data-v-d3516672]{border:1px solid var(--card-border,#66666e40);height:24px;color:var(--card-fg,#5a5a60);cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;touch-action:none;background:#fff;border-radius:4px;align-items:center;gap:4px;padding:0 7px;font-family:inherit;font-size:12px;font-weight:500;transition:background-color .12s,border-color .12s,transform 80ms;display:inline-flex}.pb-palette__card[data-v-d3516672]:hover{background:var(--card-bg-hover,#1666cc0f);border-color:var(--card-border-hover,#1666cc66);color:var(--card-fg-hover,#1666cc)}.pb-palette__card[data-v-d3516672]:active{transform:scale(.97)}.pb-palette__card--dragging[data-v-d3516672]{opacity:.4;cursor:grabbing}.pb-palette__card--container[data-v-d3516672]{--card-fg:#1666cc;--card-fg-hover:#1666cc;--card-border:#1666cc4d;--card-border-hover:#1666cc8c;--card-bg-hover:#1666cc14}.pb-palette__card--element[data-v-d3516672]{--card-fg:#047857;--card-fg-hover:#047857;--card-border:#0596694d;--card-border-hover:#0596698c;--card-bg-hover:#05966914}.pb-palette__card--field[data-v-d3516672]{--card-fg:#7c3aed;--card-fg-hover:#7c3aed;--card-border:#7c3aed4d;--card-border-hover:#7c3aed8c;--card-bg-hover:#7c3aed14}.pb-palette__card--field[data-v-d3516672]:disabled{opacity:.45;cursor:default;transform:none}.pb-palette__field-required[data-v-d3516672]{color:var(--coar-text-semantic-error-bold,#c0392b);font-weight:700}.pb-canvas[data-v-d3516672]{background:repeating-linear-gradient(45deg,#00000004 0 6px,#0000 6px 12px);flex:1;padding:28px 20px 20px;overflow:auto}.pb-props[data-v-3bcb1779]{background:var(--coar-surface-default,#fff);height:100%;min-height:0;font-family:var(--coar-body-base-family,sans-serif);flex-direction:column;display:flex}.pb-props__header[data-v-3bcb1779]{box-sizing:border-box;border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);height:44px;color:var(--coar-text-neutral-secondary,#5a5a60);flex-shrink:0;align-items:center;gap:8px;padding:0 14px;display:flex}.pb-props__title[data-v-3bcb1779]{text-transform:uppercase;letter-spacing:.06em;color:var(--coar-text-neutral-secondary,#5a5a60);font-size:11px;font-weight:600}.pb-props__body[data-v-3bcb1779]{flex-direction:column;flex:1;padding:16px;display:flex;overflow:auto}.pb-props__section[data-v-3bcb1779]{flex-direction:column;gap:12px;display:flex}.pb-props__section--separated[data-v-3bcb1779]{border-top:1px solid var(--coar-border-neutral-subtle,#eeeef0);margin-top:20px;padding-top:16px}.pb-props__section-title[data-v-3bcb1779]{text-transform:uppercase;letter-spacing:.06em;color:var(--coar-text-neutral-tertiary,#8a8a90);margin:0;font-size:10px;font-weight:600}.pb-props__empty[data-v-3bcb1779]{color:var(--coar-icon-neutral-disabled,#b0b0b6);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:32px 16px;display:flex}.pb-props__empty-title[data-v-3bcb1779]{font-size:var(--coar-body-small-base-size,14px);color:var(--coar-text-neutral-secondary,#5a5a60);margin:8px 0 0;font-weight:500}.pb-props__empty-hint[data-v-3bcb1779],.pb-props__hint[data-v-3bcb1779]{font-size:var(--coar-body-caption-size,12px);color:var(--coar-text-neutral-tertiary,#8a8a90);margin:0}.pb-props__issues[data-v-3bcb1779]{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.pb-props__issue[data-v-3bcb1779]{border-radius:6px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:12px;line-height:1.4;display:flex}.pb-props__issue--warning[data-v-3bcb1779]{background:var(--coar-surface-semantic-warning-subtle,#fef3c7);color:var(--coar-text-semantic-warning-bold,#92400e)}.pb-props__issue--error[data-v-3bcb1779]{background:var(--coar-surface-semantic-error-subtle,#fde8e4);color:var(--coar-text-semantic-error-bold,#c0392b)}.pb-builder[data-v-a92ce3d0]{grid-template-columns:var(--v1af739b7) 1px minmax(360px, 1fr) 1px var(--v18f237ee);background:var(--coar-surface-default,#fff);border:1px solid var(--coar-border-neutral,#e2e2e6);height:100%;min-height:520px;font-family:var(--coar-body-base-family,sans-serif);border-radius:8px;transition:grid-template-columns .18s ease-out;display:grid;overflow:hidden}.pb-builder--resizing[data-v-a92ce3d0]{-webkit-user-select:none;user-select:none;cursor:col-resize;transition:none}.pb-builder[data-v-a92ce3d0]:focus{outline:none}.pb-builder__pane[data-v-a92ce3d0]{background:var(--coar-surface-default,#fff);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.pb-builder__pane--rail[data-v-a92ce3d0]{justify-content:flex-start;align-items:center;padding:8px 0}.pb-builder__pane-header[data-v-a92ce3d0]{box-sizing:border-box;border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);height:44px;color:var(--coar-text-neutral-secondary,#5a5a60);flex-shrink:0;align-items:center;gap:8px;padding:0 14px;display:flex}.pb-builder__pane-title[data-v-a92ce3d0]{text-transform:uppercase;letter-spacing:.06em;color:var(--coar-text-neutral-secondary,#5a5a60);flex:1;font-size:11px;font-weight:600}.pb-builder[data-v-a92ce3d0] .coar-tab-list{box-sizing:border-box;align-items:stretch;min-height:44px}.pb-builder[data-v-a92ce3d0] .coar-tab-button{align-items:center;padding-top:0;padding-bottom:0;display:inline-flex}.pb-builder[data-v-a92ce3d0] .pb-props__header{box-sizing:border-box;height:44px;padding:0 14px}.pb-builder[data-v-a92ce3d0] .coar-tab-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder[data-v-a92ce3d0] .coar-tab-panel{display:none}.pb-builder[data-v-a92ce3d0] .coar-tab-panel.active{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder__tree-scroll[data-v-a92ce3d0]{flex:1;padding:6px 6px 12px;overflow:auto}.pb-builder__pane-inner[data-v-a92ce3d0]{border:none;border-radius:0;flex:1;min-height:0}.pb-builder__divider[data-v-a92ce3d0]{background:var(--coar-border-neutral,#e2e2e6);cursor:col-resize;z-index:1;transition:background-color .12s ease-out;position:relative}.pb-builder__divider[data-v-a92ce3d0]:after{content:"";cursor:inherit;position:absolute;inset:0 -3px}.pb-builder__divider[data-v-a92ce3d0]:hover,.pb-builder--resizing .pb-builder__divider[data-v-a92ce3d0]{background:var(--coar-background-accent-primary,#1666cc)}.pb-builder__divider--inert[data-v-a92ce3d0]{cursor:default;pointer-events:none}.pb-builder__divider--inert[data-v-a92ce3d0]:after{pointer-events:none}.pb-builder__icon-btn[data-v-a92ce3d0]{width:26px;height:26px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.pb-builder__icon-btn[data-v-a92ce3d0]:hover:not(:disabled){background:var(--coar-surface-neutral-subtle,#f0f0f2);border-color:var(--coar-border-neutral,#dcdce0);color:var(--coar-icon-neutral-primary,#111)}.pb-builder__icon-btn[data-v-a92ce3d0]:disabled{opacity:.3;cursor:not-allowed}.pb-builder__icon-btn--corner[data-v-a92ce3d0]{z-index:2;position:absolute;top:9px;right:10px}.pb-builder__rail-btn[data-v-a92ce3d0]{width:28px;height:28px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.pb-builder__rail-btn[data-v-a92ce3d0]:hover{background:var(--coar-surface-neutral-subtle,#f0f0f2);border-color:var(--coar-border-neutral,#dcdce0);color:var(--coar-icon-neutral-primary,#111)}.pb-builder__pane--center[data-v-a92ce3d0]{padding:0}.pb-builder__tabs[data-v-a92ce3d0]{flex-direction:column;flex:1;min-height:0;display:flex}.pb-builder__tab-label[data-v-a92ce3d0]{align-items:center;gap:6px;display:inline-flex}.pb-builder__preview-pane[data-v-a92ce3d0]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder__preview-toolbar[data-v-a92ce3d0]{border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);background:var(--coar-surface-neutral-subtle,#f7f7f9);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.pb-builder__seg[data-v-a92ce3d0]{border:1px solid var(--coar-border-neutral,#d0d0d0);background:var(--coar-surface-base,#fff);border-radius:6px;display:inline-flex;overflow:hidden}.pb-builder__seg-btn[data-v-a92ce3d0]{color:var(--coar-text-neutral-secondary,#555);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:4px 10px;font-family:inherit;font-size:12px;transition:background-color .12s,color .12s;display:inline-flex}.pb-builder__seg-btn+.pb-builder__seg-btn[data-v-a92ce3d0]{border-left:1px solid var(--coar-border-neutral,#d0d0d0)}.pb-builder__seg-btn[data-v-a92ce3d0]:hover:not(.pb-builder__seg-btn--active){background:var(--coar-surface-neutral-subtle,#f0f0f2)}.pb-builder__seg-btn--active[data-v-a92ce3d0]{background:var(--coar-surface-accent-subtle,#e6eefa);color:var(--coar-text-accent,#1666cc);font-weight:600}.pb-builder__preview[data-v-a92ce3d0]{box-sizing:border-box;background:repeating-linear-gradient(45deg,#00000004 0 6px,#0000 6px 12px);flex:1;min-height:0;padding:20px 24px;overflow:auto}.pb-builder__preview-frame[data-v-a92ce3d0]{background:var(--coar-surface-default,#fff);border:1px solid var(--coar-border-neutral,#e2e2e6);border-radius:8px;transition:max-width .18s ease-out,width .18s ease-out;overflow:hidden}.pb-builder__json-pane[data-v-a92ce3d0]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder__json-toolbar[data-v-a92ce3d0]{border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);background:var(--coar-surface-neutral-subtle,#f7f7f9);flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;display:flex}.pb-builder__json-hint[data-v-a92ce3d0]{color:var(--coar-text-neutral-secondary,#888);flex:1;font-size:12px}.pb-builder__json-error[data-v-a92ce3d0]{color:var(--coar-text-semantic-error-bold,#c0392b);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.pb-builder__json-warning[data-v-a92ce3d0]{color:var(--coar-text-semantic-warning-bold,#9a6700);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.pb-builder__json-apply[data-v-a92ce3d0]{background:var(--coar-background-accent-primary,#1666cc);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:4px 14px;font-family:inherit;font-size:12px;font-weight:500}.pb-builder__json-apply[data-v-a92ce3d0]:disabled{opacity:.4;cursor:default}.pb-builder__json-apply[data-v-a92ce3d0]:not(:disabled):hover{filter:brightness(.92)}.pb-builder__json-editor[data-v-a92ce3d0]{resize:none;color:var(--coar-text-neutral-primary,#111);background:var(--coar-surface-neutral-subtle,#f7f7f9);border:none;outline:none;flex:1;padding:16px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.55}
2
2
  /*$vite$:1*/
package/dist/index.d.ts CHANGED
@@ -1,6 +1,16 @@
1
1
  export { default as CoarPageRenderer } from './CoarPageRenderer.vue';
2
2
  export { default as CoarPageBuilder } from './CoarPageBuilder.vue';
3
3
  export type { ActionValues, ActionHandler, CustomValidator } from './context';
4
- export type { PageNode, ElementType, NodeStyle, ContainerNode, PageRootNode, StackNode, CardNode, SectionNode, DividerNode, SpacerNode, HeadingNode, ParagraphNode, TextInputNode, CheckboxNode, SelectNode, ButtonNode, LinkNode, ImageNode, PageConfig, } from './schema';
4
+ export { FORM_ERROR_KEY } from './context';
5
+ export type { PageNode, ElementType, NodeStyle, FieldValidation, VisibleWhen, ContainerNode, BuiltinNode, ElementNode, ElementProps, EmptyProps, OptionItem, PageRootNode, StackNode, CardNode, SectionNode, DividerNode, SpacerNode, HeadingNode, ParagraphNode, NoteNode, TextInputNode, PasswordInputNode, NumberInputNode, CheckboxNode, SwitchNode, RadioGroupNode, SelectNode, MultiSelectNode, OtpInputNode, DateInputNode, DateTimeInputNode, ButtonNode, LinkNode, ImageNode, PageConfig, PageValueType, PageFieldSpec, } from './schema';
5
6
  export { isContainerNode, isElementAllowed } from './schema';
7
+ export { normalizePageSchema, migrateLegacyTypes, KNOWN_ELEMENT_TYPES, type NormalizeIssue, type NormalizeOptions, type NormalizeResult, } from './builder/schemaNormalize';
8
+ export { migrateV1PropsBag } from './builder/schemaMigrateV1';
9
+ export { definePageElement, mergeElementRegistries, PAGE_ELEMENTS_KEY, ELEMENT_KEY_PATTERN, type PageElementDefinition, type PageElementBuilderDefinition, type PageElementRegistry, type ElementValueSpec, type ElementLintIssue, type I18nText, } from './elements/registry';
10
+ export { usePageElement, type PageElementContext } from './elements/usePageElement';
11
+ export { useResolvedOptions } from './elements/useResolvedOptions';
12
+ export { isFieldCompatible, compatibleFields, compatibleElementTypes, defaultElementForField, defineFields, type TypedFieldSpec, type ValueTypeFor, } from './elements/fieldContract';
13
+ /** Shared options-list editor, exported so consumer inspectors can reuse it. */
14
+ export { default as OptionsEditor } from './builder/props/OptionsEditor.vue';
15
+ export type { EditorOption } from './builder/props/OptionsEditor.vue';
6
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEnE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE9E,YAAY,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,UAAU,GACX,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEnE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,YAAY,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,eAAe,EACf,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,GACd,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAI9D,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,QAAQ,GACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,0BAA0B,CAAC;AAElC,gFAAgF;AAChF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAC7E,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC"}