@gxp-dev/mod-ui 2.0.0 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.storybook/preview.ts +7 -0
- package/README.md +6 -6
- package/dist/_virtual/_plugin-vue_export-helper.js +10 -0
- package/dist/_virtual/_plugin-vue_export-helper.js.map +1 -0
- package/dist/action.d.ts +4 -0
- package/dist/action.d.ts.map +1 -0
- package/dist/action.js +9 -0
- package/dist/action.js.map +1 -0
- package/dist/adapters/fieldTypeMap.d.ts.map +1 -1
- package/dist/adapters/fieldTypeMap.js +4 -8
- package/dist/adapters/fieldTypeMap.js.map +1 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/boolean.d.ts +5 -0
- package/dist/boolean.d.ts.map +1 -0
- package/dist/boolean.js +11 -0
- package/dist/boolean.js.map +1 -0
- package/dist/builder.d.ts +9 -0
- package/dist/builder.d.ts.map +1 -0
- package/dist/builder.js +19 -0
- package/dist/builder.js.map +1 -0
- package/dist/cards.d.ts +8 -0
- package/dist/cards.d.ts.map +1 -0
- package/dist/cards.js +17 -0
- package/dist/cards.js.map +1 -0
- package/dist/code.d.ts +6 -0
- package/dist/code.d.ts.map +1 -0
- package/dist/code.js +13 -0
- package/dist/code.js.map +1 -0
- package/dist/components/compositions/cards/CardListCard.vue.d.ts +30 -0
- package/dist/components/compositions/cards/CardListCard.vue.d.ts.map +1 -0
- package/dist/components/compositions/cards/CardListCard.vue.js +122 -2
- package/dist/components/compositions/cards/CardListCard.vue.js.map +1 -1
- package/dist/components/compositions/cards/CardListCard.vue2.js +2 -122
- package/dist/components/compositions/cards/CardListCard.vue2.js.map +1 -1
- package/dist/components/compositions/cards/DataTableCard.vue.d.ts +58 -0
- package/dist/components/compositions/cards/DataTableCard.vue.d.ts.map +1 -0
- package/dist/components/compositions/cards/DataTableCard.vue.js +387 -2
- package/dist/components/compositions/cards/DataTableCard.vue.js.map +1 -1
- package/dist/components/compositions/cards/DataTableCard.vue2.js +2 -387
- package/dist/components/compositions/cards/DataTableCard.vue2.js.map +1 -1
- package/dist/components/compositions/cards/ElementDisplayCard.vue.d.ts +16 -0
- package/dist/components/compositions/cards/ElementDisplayCard.vue.d.ts.map +1 -0
- package/dist/components/compositions/cards/ElementDisplayCard.vue.js +64 -2
- package/dist/components/compositions/cards/ElementDisplayCard.vue.js.map +1 -1
- package/dist/components/compositions/cards/ElementDisplayCard.vue2.js +2 -64
- package/dist/components/compositions/cards/ElementDisplayCard.vue2.js.map +1 -1
- package/dist/components/compositions/cards/ElementListCard.vue.d.ts +22 -0
- package/dist/components/compositions/cards/ElementListCard.vue.d.ts.map +1 -0
- package/dist/components/compositions/cards/ElementListCard.vue.js +92 -2
- package/dist/components/compositions/cards/ElementListCard.vue.js.map +1 -1
- package/dist/components/compositions/cards/ElementListCard.vue2.js +2 -92
- package/dist/components/compositions/cards/ElementListCard.vue2.js.map +1 -1
- package/dist/components/compositions/cards/GridViewCard.vue.d.ts +35 -0
- package/dist/components/compositions/cards/GridViewCard.vue.d.ts.map +1 -0
- package/dist/components/compositions/cards/GridViewCard.vue.js +128 -2
- package/dist/components/compositions/cards/GridViewCard.vue.js.map +1 -1
- package/dist/components/compositions/cards/GridViewCard.vue2.js +2 -128
- package/dist/components/compositions/cards/GridViewCard.vue2.js.map +1 -1
- package/dist/components/compositions/cards/InfoCard.vue.d.ts +24 -0
- package/dist/components/compositions/cards/InfoCard.vue.d.ts.map +1 -0
- package/dist/components/compositions/cards/InfoCard.vue.js +183 -2
- package/dist/components/compositions/cards/InfoCard.vue.js.map +1 -1
- package/dist/components/compositions/cards/InfoCard.vue2.js +2 -183
- package/dist/components/compositions/cards/InfoCard.vue2.js.map +1 -1
- package/dist/components/compositions/cards/TabListCard.vue.d.ts +36 -0
- package/dist/components/compositions/cards/TabListCard.vue.d.ts.map +1 -0
- package/dist/components/compositions/cards/TabListCard.vue.js +124 -2
- package/dist/components/compositions/cards/TabListCard.vue.js.map +1 -1
- package/dist/components/compositions/cards/TabListCard.vue2.js +2 -124
- package/dist/components/compositions/cards/TabListCard.vue2.js.map +1 -1
- package/dist/components/compositions/elements/action/ButtonAction.vue.d.ts +42 -0
- package/dist/components/compositions/elements/action/ButtonAction.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/action/ButtonAction.vue.js +157 -2
- package/dist/components/compositions/elements/action/ButtonAction.vue.js.map +1 -1
- package/dist/components/compositions/elements/action/ButtonAction.vue2.js +2 -157
- package/dist/components/compositions/elements/action/ButtonAction.vue2.js.map +1 -1
- package/dist/components/compositions/elements/action/ButtonGroupAction.vue.d.ts +46 -0
- package/dist/components/compositions/elements/action/ButtonGroupAction.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/action/ButtonGroupAction.vue.js +66 -2
- package/dist/components/compositions/elements/action/ButtonGroupAction.vue.js.map +1 -1
- package/dist/components/compositions/elements/action/ButtonGroupAction.vue2.js +2 -66
- package/dist/components/compositions/elements/action/ButtonGroupAction.vue2.js.map +1 -1
- package/dist/components/compositions/elements/action/LinkAction.vue.d.ts +30 -0
- package/dist/components/compositions/elements/action/LinkAction.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/action/LinkAction.vue.js +55 -2
- package/dist/components/compositions/elements/action/LinkAction.vue.js.map +1 -1
- package/dist/components/compositions/elements/action/LinkAction.vue2.js +2 -55
- package/dist/components/compositions/elements/action/LinkAction.vue2.js.map +1 -1
- package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue.d.ts +25 -0
- package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue.js +68 -2
- package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue.js.map +1 -1
- package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue2.js +2 -68
- package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue2.js.map +1 -1
- package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue.d.ts +29 -0
- package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue.js +75 -2
- package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue.js.map +1 -1
- package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue2.js +2 -75
- package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue2.js.map +1 -1
- package/dist/components/compositions/elements/boolean/RadioBoolean.vue.d.ts +33 -0
- package/dist/components/compositions/elements/boolean/RadioBoolean.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/boolean/RadioBoolean.vue.js +91 -2
- package/dist/components/compositions/elements/boolean/RadioBoolean.vue.js.map +1 -1
- package/dist/components/compositions/elements/boolean/RadioBoolean.vue2.js +2 -91
- package/dist/components/compositions/elements/boolean/RadioBoolean.vue2.js.map +1 -1
- package/dist/components/compositions/elements/boolean/SwitchBoolean.vue.d.ts +29 -0
- package/dist/components/compositions/elements/boolean/SwitchBoolean.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/boolean/SwitchBoolean.vue.js +77 -2
- package/dist/components/compositions/elements/boolean/SwitchBoolean.vue.js.map +1 -1
- package/dist/components/compositions/elements/boolean/SwitchBoolean.vue2.js +2 -77
- package/dist/components/compositions/elements/boolean/SwitchBoolean.vue2.js.map +1 -1
- package/dist/components/compositions/elements/builder/DependencyListBuilder.vue.d.ts +29 -0
- package/dist/components/compositions/elements/builder/DependencyListBuilder.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/builder/DependencyListBuilder.vue.js +666 -2
- package/dist/components/compositions/elements/builder/DependencyListBuilder.vue.js.map +1 -1
- package/dist/components/compositions/elements/builder/DependencyListBuilder.vue2.js +2 -666
- package/dist/components/compositions/elements/builder/DependencyListBuilder.vue2.js.map +1 -1
- package/dist/components/compositions/elements/builder/ElementListBuilder.vue.d.ts +29 -0
- package/dist/components/compositions/elements/builder/ElementListBuilder.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/builder/ElementListBuilder.vue.js +421 -2
- package/dist/components/compositions/elements/builder/ElementListBuilder.vue.js.map +1 -1
- package/dist/components/compositions/elements/builder/ElementListBuilder.vue2.js +2 -421
- package/dist/components/compositions/elements/builder/ElementListBuilder.vue2.js.map +1 -1
- package/dist/components/compositions/elements/builder/FormBuilder.vue.d.ts +30 -0
- package/dist/components/compositions/elements/builder/FormBuilder.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/builder/FormBuilder.vue.js +857 -2
- package/dist/components/compositions/elements/builder/FormBuilder.vue.js.map +1 -1
- package/dist/components/compositions/elements/builder/FormBuilder.vue2.js +2 -857
- package/dist/components/compositions/elements/builder/FormBuilder.vue2.js.map +1 -1
- package/dist/components/compositions/elements/builder/GridBuilder.vue.d.ts +37 -0
- package/dist/components/compositions/elements/builder/GridBuilder.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/builder/GridBuilder.vue.js +452 -2
- package/dist/components/compositions/elements/builder/GridBuilder.vue.js.map +1 -1
- package/dist/components/compositions/elements/builder/GridBuilder.vue2.js +2 -452
- package/dist/components/compositions/elements/builder/GridBuilder.vue2.js.map +1 -1
- package/dist/components/compositions/elements/builder/ObjectBuilder.vue.d.ts +33 -0
- package/dist/components/compositions/elements/builder/ObjectBuilder.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/builder/ObjectBuilder.vue.js +511 -2
- package/dist/components/compositions/elements/builder/ObjectBuilder.vue.js.map +1 -1
- package/dist/components/compositions/elements/builder/ObjectBuilder.vue2.js +2 -511
- package/dist/components/compositions/elements/builder/ObjectBuilder.vue2.js.map +1 -1
- package/dist/components/compositions/elements/builder/PresetBuilder.vue.d.ts +29 -0
- package/dist/components/compositions/elements/builder/PresetBuilder.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/builder/PresetBuilder.vue.js +163 -2
- package/dist/components/compositions/elements/builder/PresetBuilder.vue.js.map +1 -1
- package/dist/components/compositions/elements/builder/PresetBuilder.vue2.js +2 -163
- package/dist/components/compositions/elements/builder/PresetBuilder.vue2.js.map +1 -1
- package/dist/components/compositions/elements/builder/QuizBuilder.vue.d.ts +34 -0
- package/dist/components/compositions/elements/builder/QuizBuilder.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/builder/QuizBuilder.vue.js +591 -2
- package/dist/components/compositions/elements/builder/QuizBuilder.vue.js.map +1 -1
- package/dist/components/compositions/elements/builder/QuizBuilder.vue2.js +2 -591
- package/dist/components/compositions/elements/builder/QuizBuilder.vue2.js.map +1 -1
- package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue.d.ts +29 -0
- package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue.js +580 -2
- package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue.js.map +1 -1
- package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue2.js +2 -580
- package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue2.js.map +1 -1
- package/dist/components/compositions/elements/card/ListCard.vue.d.ts +21 -0
- package/dist/components/compositions/elements/card/ListCard.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/code/BuildStatus.vue.d.ts +43 -0
- package/dist/components/compositions/elements/code/BuildStatus.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/code/BuildStatus.vue.js +246 -2
- package/dist/components/compositions/elements/code/BuildStatus.vue.js.map +1 -1
- package/dist/components/compositions/elements/code/BuildStatus.vue2.js +2 -246
- package/dist/components/compositions/elements/code/BuildStatus.vue2.js.map +1 -1
- package/dist/components/compositions/elements/code/ChatMessage.vue.d.ts +39 -0
- package/dist/components/compositions/elements/code/ChatMessage.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/code/ChatMessage.vue.js +267 -2
- package/dist/components/compositions/elements/code/ChatMessage.vue.js.map +1 -1
- package/dist/components/compositions/elements/code/ChatMessage.vue2.js +2 -267
- package/dist/components/compositions/elements/code/ChatMessage.vue2.js.map +1 -1
- package/dist/components/compositions/elements/code/FileTree.vue.d.ts +42 -0
- package/dist/components/compositions/elements/code/FileTree.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/code/FileTree.vue.js +251 -2
- package/dist/components/compositions/elements/code/FileTree.vue.js.map +1 -1
- package/dist/components/compositions/elements/code/FileTree.vue2.js +2 -251
- package/dist/components/compositions/elements/code/FileTree.vue2.js.map +1 -1
- package/dist/components/compositions/elements/code/GitCodeEditor.vue.d.ts +54 -0
- package/dist/components/compositions/elements/code/GitCodeEditor.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/code/GitCodeEditor.vue.js +273 -2
- package/dist/components/compositions/elements/code/GitCodeEditor.vue.js.map +1 -1
- package/dist/components/compositions/elements/code/GitCodeEditor.vue2.js +2 -273
- package/dist/components/compositions/elements/code/GitCodeEditor.vue2.js.map +1 -1
- package/dist/components/compositions/elements/code/PullRequestsList.vue.d.ts +46 -0
- package/dist/components/compositions/elements/code/PullRequestsList.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/code/PullRequestsList.vue.js +303 -2
- package/dist/components/compositions/elements/code/PullRequestsList.vue.js.map +1 -1
- package/dist/components/compositions/elements/code/PullRequestsList.vue2.js +2 -303
- package/dist/components/compositions/elements/code/PullRequestsList.vue2.js.map +1 -1
- package/dist/components/compositions/elements/configuration-block/DialogBlock.vue.d.ts +17 -0
- package/dist/components/compositions/elements/configuration-block/DialogBlock.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/configuration-block/DialogBlock.vue.js +101 -2
- package/dist/components/compositions/elements/configuration-block/DialogBlock.vue.js.map +1 -1
- package/dist/components/compositions/elements/configuration-block/DialogBlock.vue2.js +2 -101
- package/dist/components/compositions/elements/configuration-block/DialogBlock.vue2.js.map +1 -1
- package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue.d.ts +20 -0
- package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue.js +33 -2
- package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue.js.map +1 -1
- package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue2.js +2 -33
- package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue2.js.map +1 -1
- package/dist/components/compositions/elements/configuration-block/ModalBlock.vue.d.ts +17 -0
- package/dist/components/compositions/elements/configuration-block/ModalBlock.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/configuration-block/ModalBlock.vue.js +103 -2
- package/dist/components/compositions/elements/configuration-block/ModalBlock.vue.js.map +1 -1
- package/dist/components/compositions/elements/configuration-block/ModalBlock.vue2.js +2 -103
- package/dist/components/compositions/elements/configuration-block/ModalBlock.vue2.js.map +1 -1
- package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue.d.ts +29 -0
- package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue.js +172 -2
- package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue.js.map +1 -1
- package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue2.js +2 -140
- package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue2.js.map +1 -1
- package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue.d.ts +12 -0
- package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue.js +5 -0
- package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue.js.map +1 -0
- package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue2.js +25 -0
- package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue2.js.map +1 -0
- package/dist/components/compositions/elements/display/BannerDisplay.vue.d.ts +13 -0
- package/dist/components/compositions/elements/display/BannerDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/BannerDisplay.vue.js +63 -2
- package/dist/components/compositions/elements/display/BannerDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/BannerDisplay.vue2.js +2 -63
- package/dist/components/compositions/elements/display/BannerDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/display/BarcodeDisplay.vue.d.ts +12 -0
- package/dist/components/compositions/elements/display/BarcodeDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/BarcodeDisplay.vue.js +52 -2
- package/dist/components/compositions/elements/display/BarcodeDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/BarcodeDisplay.vue2.js +2 -52
- package/dist/components/compositions/elements/display/BarcodeDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/display/CarouselDisplay.vue.d.ts +27 -0
- package/dist/components/compositions/elements/display/CarouselDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/CarouselDisplay.vue.js +144 -2
- package/dist/components/compositions/elements/display/CarouselDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/CarouselDisplay.vue2.js +2 -144
- package/dist/components/compositions/elements/display/CarouselDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/display/ChartDisplay.vue.d.ts +17 -0
- package/dist/components/compositions/elements/display/ChartDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/ChartDisplay.vue.js +78 -2
- package/dist/components/compositions/elements/display/ChartDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/ChartDisplay.vue2.js +2 -78
- package/dist/components/compositions/elements/display/ChartDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/display/HtmlDisplay.vue.d.ts +7 -0
- package/dist/components/compositions/elements/display/HtmlDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/HtmlDisplay.vue.js +20 -2
- package/dist/components/compositions/elements/display/HtmlDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/HtmlDisplay.vue2.js +2 -20
- package/dist/components/compositions/elements/display/HtmlDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/display/IconDisplay.vue.d.ts +10 -0
- package/dist/components/compositions/elements/display/IconDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/IconDisplay.vue.js +55 -2
- package/dist/components/compositions/elements/display/IconDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/IconDisplay.vue2.js +2 -55
- package/dist/components/compositions/elements/display/IconDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/display/IframeDisplay.vue.d.ts +11 -0
- package/dist/components/compositions/elements/display/IframeDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/IframeDisplay.vue.js +32 -2
- package/dist/components/compositions/elements/display/IframeDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/IframeDisplay.vue2.js +2 -32
- package/dist/components/compositions/elements/display/IframeDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/display/ImageDisplay.vue.d.ts +8 -0
- package/dist/components/compositions/elements/display/ImageDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/ImageDisplay.vue.js +35 -2
- package/dist/components/compositions/elements/display/ImageDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/ImageDisplay.vue2.js +2 -35
- package/dist/components/compositions/elements/display/ImageDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/display/MarkdownDisplay.vue.d.ts +7 -0
- package/dist/components/compositions/elements/display/MarkdownDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/MarkdownDisplay.vue.js +39 -2
- package/dist/components/compositions/elements/display/MarkdownDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/MarkdownDisplay.vue2.js +2 -39
- package/dist/components/compositions/elements/display/MarkdownDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/display/ProgressBarDisplay.vue.d.ts +11 -0
- package/dist/components/compositions/elements/display/ProgressBarDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/ProgressBarDisplay.vue.js +42 -2
- package/dist/components/compositions/elements/display/ProgressBarDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/ProgressBarDisplay.vue2.js +2 -42
- package/dist/components/compositions/elements/display/ProgressBarDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/display/QrCodeDisplay.vue.d.ts +9 -0
- package/dist/components/compositions/elements/display/QrCodeDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/QrCodeDisplay.vue.js +46 -2
- package/dist/components/compositions/elements/display/QrCodeDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/QrCodeDisplay.vue2.js +2 -46
- package/dist/components/compositions/elements/display/QrCodeDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue.d.ts +7 -0
- package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue.js +64 -2
- package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue2.js +2 -64
- package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/display/SpriteDisplay.vue.d.ts +7 -0
- package/dist/components/compositions/elements/display/SpriteDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/SpriteDisplay.vue.js +64 -2
- package/dist/components/compositions/elements/display/SpriteDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/SpriteDisplay.vue2.js +2 -64
- package/dist/components/compositions/elements/display/SpriteDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/display/TypeDisplay.vue.d.ts +11 -0
- package/dist/components/compositions/elements/display/TypeDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/TypeDisplay.vue.js +42 -2
- package/dist/components/compositions/elements/display/TypeDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/TypeDisplay.vue2.js +2 -42
- package/dist/components/compositions/elements/display/TypeDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue.d.ts +10 -0
- package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue.js +33 -2
- package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue.js.map +1 -1
- package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue2.js +2 -33
- package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue2.js.map +1 -1
- package/dist/components/compositions/elements/editor/CodeEditor.vue.d.ts +33 -0
- package/dist/components/compositions/elements/editor/CodeEditor.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/editor/CodeEditor.vue.js +5 -2
- package/dist/components/compositions/elements/editor/CodeEditor.vue.js.map +1 -1
- package/dist/components/compositions/elements/editor/CodeEditor.vue2.js +211 -53
- package/dist/components/compositions/elements/editor/CodeEditor.vue2.js.map +1 -1
- package/dist/components/compositions/elements/editor/HtmlEditor.vue.d.ts +24 -0
- package/dist/components/compositions/elements/editor/HtmlEditor.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/editor/HtmlEditor.vue.js +5 -2
- package/dist/components/compositions/elements/editor/HtmlEditor.vue.js.map +1 -1
- package/dist/components/compositions/elements/editor/HtmlEditor.vue2.js +1333 -50
- package/dist/components/compositions/elements/editor/HtmlEditor.vue2.js.map +1 -1
- package/dist/components/compositions/elements/editor/ImageEditor.vue.d.ts +24 -0
- package/dist/components/compositions/elements/editor/ImageEditor.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/editor/ImageEditor.vue.js +67 -2
- package/dist/components/compositions/elements/editor/ImageEditor.vue.js.map +1 -1
- package/dist/components/compositions/elements/editor/ImageEditor.vue2.js +2 -67
- package/dist/components/compositions/elements/editor/ImageEditor.vue2.js.map +1 -1
- package/dist/components/compositions/elements/editor/MarkdownEditor.vue.d.ts +28 -0
- package/dist/components/compositions/elements/editor/MarkdownEditor.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/editor/MarkdownEditor.vue.js +82 -2
- package/dist/components/compositions/elements/editor/MarkdownEditor.vue.js.map +1 -1
- package/dist/components/compositions/elements/editor/MarkdownEditor.vue2.js +2 -82
- package/dist/components/compositions/elements/editor/MarkdownEditor.vue2.js.map +1 -1
- package/dist/components/compositions/elements/editor/RichTextEditor.vue.d.ts +26 -0
- package/dist/components/compositions/elements/editor/RichTextEditor.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/editor/RichTextEditor.vue.js +262 -2
- package/dist/components/compositions/elements/editor/RichTextEditor.vue.js.map +1 -1
- package/dist/components/compositions/elements/editor/RichTextEditor.vue2.js +2 -262
- package/dist/components/compositions/elements/editor/RichTextEditor.vue2.js.map +1 -1
- package/dist/components/compositions/elements/file/AssetPickerFile.vue.d.ts +47 -0
- package/dist/components/compositions/elements/file/AssetPickerFile.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/file/AssetPickerFile.vue.js +293 -2
- package/dist/components/compositions/elements/file/AssetPickerFile.vue.js.map +1 -1
- package/dist/components/compositions/elements/file/AssetPickerFile.vue2.js +2 -293
- package/dist/components/compositions/elements/file/AssetPickerFile.vue2.js.map +1 -1
- package/dist/components/compositions/elements/file/DropzoneFile.vue.d.ts +33 -0
- package/dist/components/compositions/elements/file/DropzoneFile.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/file/DropzoneFile.vue.js +171 -2
- package/dist/components/compositions/elements/file/DropzoneFile.vue.js.map +1 -1
- package/dist/components/compositions/elements/file/DropzoneFile.vue2.js +2 -171
- package/dist/components/compositions/elements/file/DropzoneFile.vue2.js.map +1 -1
- package/dist/components/compositions/elements/file/UploadFile.vue.d.ts +33 -0
- package/dist/components/compositions/elements/file/UploadFile.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/file/UploadFile.vue.js +149 -2
- package/dist/components/compositions/elements/file/UploadFile.vue.js.map +1 -1
- package/dist/components/compositions/elements/file/UploadFile.vue2.js +2 -149
- package/dist/components/compositions/elements/file/UploadFile.vue2.js.map +1 -1
- package/dist/components/compositions/elements/input/BarcodeScannerInput.vue.d.ts +48 -0
- package/dist/components/compositions/elements/input/BarcodeScannerInput.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/input/BarcodeScannerInput.vue.js +166 -2
- package/dist/components/compositions/elements/input/BarcodeScannerInput.vue.js.map +1 -1
- package/dist/components/compositions/elements/input/BarcodeScannerInput.vue2.js +2 -166
- package/dist/components/compositions/elements/input/BarcodeScannerInput.vue2.js.map +1 -1
- package/dist/components/compositions/elements/input/EmailInput.vue.d.ts +48 -0
- package/dist/components/compositions/elements/input/EmailInput.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/input/EmailInput.vue.js +62 -2
- package/dist/components/compositions/elements/input/EmailInput.vue.js.map +1 -1
- package/dist/components/compositions/elements/input/EmailInput.vue2.js +2 -62
- package/dist/components/compositions/elements/input/EmailInput.vue2.js.map +1 -1
- package/dist/components/compositions/elements/input/NumberInput.vue.d.ts +49 -0
- package/dist/components/compositions/elements/input/NumberInput.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/input/NumberInput.vue.js +73 -2
- package/dist/components/compositions/elements/input/NumberInput.vue.js.map +1 -1
- package/dist/components/compositions/elements/input/NumberInput.vue2.js +2 -73
- package/dist/components/compositions/elements/input/NumberInput.vue2.js.map +1 -1
- package/dist/components/compositions/elements/input/PasswordInput.vue.d.ts +49 -0
- package/dist/components/compositions/elements/input/PasswordInput.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/input/PasswordInput.vue.js +98 -2
- package/dist/components/compositions/elements/input/PasswordInput.vue.js.map +1 -1
- package/dist/components/compositions/elements/input/PasswordInput.vue2.js +2 -98
- package/dist/components/compositions/elements/input/PasswordInput.vue2.js.map +1 -1
- package/dist/components/compositions/elements/input/RangeSliderInput.vue.d.ts +31 -0
- package/dist/components/compositions/elements/input/RangeSliderInput.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/input/RangeSliderInput.vue.js +69 -2
- package/dist/components/compositions/elements/input/RangeSliderInput.vue.js.map +1 -1
- package/dist/components/compositions/elements/input/RangeSliderInput.vue2.js +2 -69
- package/dist/components/compositions/elements/input/RangeSliderInput.vue2.js.map +1 -1
- package/dist/components/compositions/elements/input/SearchInput.vue.d.ts +48 -0
- package/dist/components/compositions/elements/input/SearchInput.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/input/SearchInput.vue.js +69 -2
- package/dist/components/compositions/elements/input/SearchInput.vue.js.map +1 -1
- package/dist/components/compositions/elements/input/SearchInput.vue2.js +2 -69
- package/dist/components/compositions/elements/input/SearchInput.vue2.js.map +1 -1
- package/dist/components/compositions/elements/input/TelInput.vue.d.ts +48 -0
- package/dist/components/compositions/elements/input/TelInput.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/input/TelInput.vue.js +62 -2
- package/dist/components/compositions/elements/input/TelInput.vue.js.map +1 -1
- package/dist/components/compositions/elements/input/TelInput.vue2.js +2 -62
- package/dist/components/compositions/elements/input/TelInput.vue2.js.map +1 -1
- package/dist/components/compositions/elements/input/TextInput.vue.d.ts +48 -0
- package/dist/components/compositions/elements/input/TextInput.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/input/TextInput.vue.js +62 -2
- package/dist/components/compositions/elements/input/TextInput.vue.js.map +1 -1
- package/dist/components/compositions/elements/input/TextInput.vue2.js +2 -62
- package/dist/components/compositions/elements/input/TextInput.vue2.js.map +1 -1
- package/dist/components/compositions/elements/input/TextareaInput.vue.d.ts +54 -0
- package/dist/components/compositions/elements/input/TextareaInput.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/input/TextareaInput.vue.js +63 -2
- package/dist/components/compositions/elements/input/TextareaInput.vue.js.map +1 -1
- package/dist/components/compositions/elements/input/TextareaInput.vue2.js +2 -63
- package/dist/components/compositions/elements/input/TextareaInput.vue2.js.map +1 -1
- package/dist/components/compositions/elements/input/UrlInput.vue.d.ts +48 -0
- package/dist/components/compositions/elements/input/UrlInput.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/input/UrlInput.vue.js +62 -2
- package/dist/components/compositions/elements/input/UrlInput.vue.js.map +1 -1
- package/dist/components/compositions/elements/input/UrlInput.vue2.js +2 -62
- package/dist/components/compositions/elements/input/UrlInput.vue2.js.map +1 -1
- package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue.d.ts +44 -0
- package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue.js +167 -2
- package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue.js.map +1 -1
- package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue2.js +2 -167
- package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue2.js.map +1 -1
- package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue.d.ts +31 -0
- package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue.js +121 -2
- package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue.js.map +1 -1
- package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue2.js +2 -121
- package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue2.js.map +1 -1
- package/dist/components/compositions/elements/option-select/CheckboxOption.vue.d.ts +29 -0
- package/dist/components/compositions/elements/option-select/CheckboxOption.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/option-select/CheckboxOption.vue.js +87 -2
- package/dist/components/compositions/elements/option-select/CheckboxOption.vue.js.map +1 -1
- package/dist/components/compositions/elements/option-select/CheckboxOption.vue2.js +2 -87
- package/dist/components/compositions/elements/option-select/CheckboxOption.vue2.js.map +1 -1
- package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue.d.ts +41 -0
- package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue.js +237 -2
- package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue.js.map +1 -1
- package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue2.js +2 -237
- package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue2.js.map +1 -1
- package/dist/components/compositions/elements/option-select/ListOption.vue.d.ts +29 -0
- package/dist/components/compositions/elements/option-select/ListOption.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/option-select/ListOption.vue.js +89 -2
- package/dist/components/compositions/elements/option-select/ListOption.vue.js.map +1 -1
- package/dist/components/compositions/elements/option-select/ListOption.vue2.js +2 -89
- package/dist/components/compositions/elements/option-select/ListOption.vue2.js.map +1 -1
- package/dist/components/compositions/elements/option-select/PillSelectOption.vue.d.ts +28 -0
- package/dist/components/compositions/elements/option-select/PillSelectOption.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/option-select/PillSelectOption.vue.js +85 -2
- package/dist/components/compositions/elements/option-select/PillSelectOption.vue.js.map +1 -1
- package/dist/components/compositions/elements/option-select/PillSelectOption.vue2.js +2 -85
- package/dist/components/compositions/elements/option-select/PillSelectOption.vue2.js.map +1 -1
- package/dist/components/compositions/elements/option-select/RadioOption.vue.d.ts +29 -0
- package/dist/components/compositions/elements/option-select/RadioOption.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/option-select/RadioOption.vue.js +98 -2
- package/dist/components/compositions/elements/option-select/RadioOption.vue.js.map +1 -1
- package/dist/components/compositions/elements/option-select/RadioOption.vue2.js +2 -98
- package/dist/components/compositions/elements/option-select/RadioOption.vue2.js.map +1 -1
- package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue.d.ts +29 -0
- package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue.js +151 -2
- package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue.js.map +1 -1
- package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue2.js +2 -151
- package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue2.js.map +1 -1
- package/dist/components/compositions/elements/option-select/SelectOption.vue.d.ts +29 -0
- package/dist/components/compositions/elements/option-select/SelectOption.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/option-select/SelectOption.vue.js +116 -2
- package/dist/components/compositions/elements/option-select/SelectOption.vue.js.map +1 -1
- package/dist/components/compositions/elements/option-select/SelectOption.vue2.js +2 -116
- package/dist/components/compositions/elements/option-select/SelectOption.vue2.js.map +1 -1
- package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue.d.ts +40 -0
- package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue.js +182 -2
- package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue.js.map +1 -1
- package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue2.js +2 -182
- package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue2.js.map +1 -1
- package/dist/components/compositions/elements/picker/ColorPicker.vue.d.ts +29 -0
- package/dist/components/compositions/elements/picker/ColorPicker.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/picker/ColorPicker.vue.js +155 -2
- package/dist/components/compositions/elements/picker/ColorPicker.vue.js.map +1 -1
- package/dist/components/compositions/elements/picker/ColorPicker.vue2.js +2 -155
- package/dist/components/compositions/elements/picker/ColorPicker.vue2.js.map +1 -1
- package/dist/components/compositions/elements/picker/DataModelPicker.vue.d.ts +29 -0
- package/dist/components/compositions/elements/picker/DataModelPicker.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/picker/DataModelPicker.vue.js +104 -2
- package/dist/components/compositions/elements/picker/DataModelPicker.vue.js.map +1 -1
- package/dist/components/compositions/elements/picker/DataModelPicker.vue2.js +2 -104
- package/dist/components/compositions/elements/picker/DataModelPicker.vue2.js.map +1 -1
- package/dist/components/compositions/elements/picker/DatePicker.vue.d.ts +32 -0
- package/dist/components/compositions/elements/picker/DatePicker.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/picker/DatePicker.vue.js +140 -2
- package/dist/components/compositions/elements/picker/DatePicker.vue.js.map +1 -1
- package/dist/components/compositions/elements/picker/DatePicker.vue2.js +2 -140
- package/dist/components/compositions/elements/picker/DatePicker.vue2.js.map +1 -1
- package/dist/components/compositions/elements/picker/DateTimePicker.vue.d.ts +26 -0
- package/dist/components/compositions/elements/picker/DateTimePicker.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/picker/DateTimePicker.vue.js +171 -2
- package/dist/components/compositions/elements/picker/DateTimePicker.vue.js.map +1 -1
- package/dist/components/compositions/elements/picker/DateTimePicker.vue2.js +2 -171
- package/dist/components/compositions/elements/picker/DateTimePicker.vue2.js.map +1 -1
- package/dist/components/compositions/elements/picker/IconPicker.vue.d.ts +26 -0
- package/dist/components/compositions/elements/picker/IconPicker.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/picker/IconPicker.vue.js +190 -2
- package/dist/components/compositions/elements/picker/IconPicker.vue.js.map +1 -1
- package/dist/components/compositions/elements/picker/IconPicker.vue2.js +2 -190
- package/dist/components/compositions/elements/picker/IconPicker.vue2.js.map +1 -1
- package/dist/components/compositions/elements/picker/IconPickerInline.vue.d.ts +24 -0
- package/dist/components/compositions/elements/picker/IconPickerInline.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/{components/IconPickerInline.vue2.js → picker/IconPickerInline.vue.js} +23 -23
- package/dist/components/compositions/elements/picker/IconPickerInline.vue.js.map +1 -0
- package/dist/components/compositions/elements/picker/IconPickerInline.vue2.js +5 -0
- package/dist/components/compositions/elements/picker/IconPickerInline.vue2.js.map +1 -0
- package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue.d.ts +41 -0
- package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue.js +271 -2
- package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue.js.map +1 -1
- package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue2.js +2 -271
- package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue2.js.map +1 -1
- package/dist/components/compositions/elements/picker/MapPicker.vue.d.ts +55 -0
- package/dist/components/compositions/elements/picker/MapPicker.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/picker/MapPicker.vue.js +118 -2
- package/dist/components/compositions/elements/picker/MapPicker.vue.js.map +1 -1
- package/dist/components/compositions/elements/picker/MapPicker.vue2.js +2 -118
- package/dist/components/compositions/elements/picker/MapPicker.vue2.js.map +1 -1
- package/dist/components/compositions/elements/picker/TimePicker.vue.d.ts +26 -0
- package/dist/components/compositions/elements/picker/TimePicker.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/picker/TimePicker.vue.js +106 -2
- package/dist/components/compositions/elements/picker/TimePicker.vue.js.map +1 -1
- package/dist/components/compositions/elements/picker/TimePicker.vue2.js +2 -106
- package/dist/components/compositions/elements/picker/TimePicker.vue2.js.map +1 -1
- package/dist/components/compositions/elements/picker/TimezonePicker.vue.d.ts +26 -0
- package/dist/components/compositions/elements/picker/TimezonePicker.vue.d.ts.map +1 -0
- package/dist/components/compositions/elements/picker/TimezonePicker.vue.js +124 -2
- package/dist/components/compositions/elements/picker/TimezonePicker.vue.js.map +1 -1
- package/dist/components/compositions/elements/picker/TimezonePicker.vue2.js +2 -124
- package/dist/components/compositions/elements/picker/TimezonePicker.vue2.js.map +1 -1
- package/dist/components/ui/index.d.ts +3 -3
- package/dist/components/ui/toast/index.d.ts +1 -1
- package/dist/components/ui/toast/index.js.map +1 -1
- package/dist/configuration-block.d.ts +5 -0
- package/dist/configuration-block.d.ts.map +1 -0
- package/dist/configuration-block.js +11 -0
- package/dist/configuration-block.js.map +1 -0
- package/dist/definitions/elements/PickerElement.d.ts +1 -1
- package/dist/definitions/elements/PickerElement.d.ts.map +1 -1
- package/dist/definitions/elements/PickerElement.js +3 -2
- package/dist/definitions/elements/PickerElement.js.map +1 -1
- package/dist/definitions/elements/index.d.ts +1 -155
- package/dist/definitions/elements/index.d.ts.map +1 -1
- package/dist/definitions/elements/index.js +112 -121
- package/dist/definitions/elements/index.js.map +1 -1
- package/dist/definitions/index.d.ts +1 -1
- package/dist/definitions/shared/base.d.ts +1 -1
- package/dist/definitions/shared/base.d.ts.map +1 -1
- package/dist/definitions/shared/base.js.map +1 -1
- package/dist/display.d.ts +16 -0
- package/dist/display.d.ts.map +1 -0
- package/dist/display.js +33 -0
- package/dist/display.js.map +1 -0
- package/dist/editor.d.ts +6 -0
- package/dist/editor.d.ts.map +1 -0
- package/dist/editor.js +13 -0
- package/dist/editor.js.map +1 -0
- package/dist/engine/registry.d.ts +0 -2
- package/dist/engine/registry.d.ts.map +1 -1
- package/dist/engine/registry.js +1 -5
- package/dist/engine/registry.js.map +1 -1
- package/dist/engine/useCardLoader.js +1 -1
- package/dist/engine/useCardLoader.js.map +1 -1
- package/dist/engine/useElementLoader.js +1 -1
- package/dist/engine/useElementLoader.js.map +1 -1
- package/dist/engine/useFormData.d.ts.map +1 -1
- package/dist/engine/useFormData.js +13 -13
- package/dist/engine/useFormData.js.map +1 -1
- package/dist/file.d.ts +4 -0
- package/dist/file.d.ts.map +1 -0
- package/dist/file.js +9 -0
- package/dist/file.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +71 -75
- package/dist/index.js.map +1 -1
- package/dist/input.d.ts +11 -0
- package/dist/input.d.ts.map +1 -0
- package/dist/input.js +23 -0
- package/dist/input.js.map +1 -0
- package/dist/lib/storybook.d.ts +45 -0
- package/dist/lib/storybook.d.ts.map +1 -0
- package/dist/option-select.d.ts +10 -0
- package/dist/option-select.d.ts.map +1 -0
- package/dist/option-select.js +21 -0
- package/dist/option-select.js.map +1 -0
- package/dist/pages/ShowPage.vue.js +1 -1
- package/dist/pages/ShowPage.vue.js.map +1 -1
- package/dist/picker.d.ts +12 -0
- package/dist/picker.d.ts.map +1 -0
- package/dist/picker.js +25 -0
- package/dist/picker.js.map +1 -0
- package/dist/stores/dependencyListBuilderStore.d.ts +1 -1
- package/dist/stores/dependencyListBuilderStore.js +5 -5
- package/dist/stores/dependencyListBuilderStore.js.map +1 -1
- package/dist/stores/elementListBuilderStore.d.ts +1 -1
- package/dist/stores/elementListBuilderStore.js +14 -14
- package/dist/stores/elementListBuilderStore.js.map +1 -1
- package/dist/stores/formBuilderStore.d.ts +1 -1
- package/dist/stores/formBuilderStore.js +5 -5
- package/dist/stores/formBuilderStore.js.map +1 -1
- package/dist/stores/formDataStore.d.ts +1 -1
- package/dist/stores/formDataStore.js +2 -2
- package/dist/stores/formDataStore.js.map +1 -1
- package/dist/stores/gridBuilderStore.d.ts +1 -1
- package/dist/stores/gridBuilderStore.js +11 -11
- package/dist/stores/gridBuilderStore.js.map +1 -1
- package/dist/stores/objectBuilderStore.d.ts +1 -1
- package/dist/stores/objectBuilderStore.js +1 -1
- package/dist/stores/objectBuilderStore.js.map +1 -1
- package/dist/stores/presetBuilderStore.d.ts +1 -1
- package/dist/stores/presetBuilderStore.js +12 -12
- package/dist/stores/presetBuilderStore.js.map +1 -1
- package/dist/stores/quizBuilderStore.d.ts +1 -1
- package/dist/stores/quizBuilderStore.js +1 -1
- package/dist/stores/quizBuilderStore.js.map +1 -1
- package/dist/stores/reactiveCanvasBuilderStore.d.ts +1 -1
- package/dist/stores/reactiveCanvasBuilderStore.js +40 -40
- package/dist/stores/reactiveCanvasBuilderStore.js.map +1 -1
- package/dist/styles/mod-ui.css +1 -0
- package/package.json +198 -37
- package/src/action.ts +3 -0
- package/src/adapters/fieldTypeMap.ts +3 -8
- package/src/adapters/index.ts +1 -1
- package/src/boolean.ts +4 -0
- package/src/builder.ts +8 -0
- package/src/cards.ts +7 -0
- package/src/code.ts +5 -0
- package/src/components/compositions/cards/CardListCard.stories.ts +2 -0
- package/src/components/compositions/cards/DataTableCard.stories.ts +2 -0
- package/src/components/compositions/cards/ElementDisplayCard.stories.ts +2 -0
- package/src/components/compositions/cards/ElementListCard.stories.ts +2 -0
- package/src/components/compositions/cards/GridViewCard.stories.ts +2 -0
- package/src/components/compositions/cards/InfoCard.stories.ts +2 -0
- package/src/components/compositions/cards/TabListCard.stories.ts +2 -0
- package/src/components/compositions/elements/action/ButtonAction.stories.ts +3 -1
- package/src/components/compositions/elements/action/ButtonGroupAction.stories.ts +3 -1
- package/src/components/compositions/elements/action/LinkAction.stories.ts +3 -1
- package/src/components/compositions/elements/boolean/CheckboxBoolean.stories.ts +3 -1
- package/src/components/compositions/elements/boolean/IconToggleBoolean.stories.ts +3 -1
- package/src/components/compositions/elements/boolean/RadioBoolean.stories.ts +3 -1
- package/src/components/compositions/elements/boolean/SwitchBoolean.stories.ts +3 -1
- package/src/components/compositions/elements/builder/DependencyListBuilder.stories.ts +1 -1
- package/src/components/compositions/elements/builder/ElementListBuilder.stories.ts +1 -1
- package/src/components/compositions/elements/builder/ElementListBuilder.test.ts +0 -1
- package/src/components/compositions/elements/builder/FormBuilder.stories.ts +2 -0
- package/src/components/compositions/elements/builder/FormBuilder.test.ts +0 -1
- package/src/components/compositions/elements/builder/GridBuilder.stories.ts +2 -0
- package/src/components/compositions/elements/builder/ObjectBuilder.stories.ts +1 -1
- package/src/components/compositions/elements/builder/PresetBuilder.stories.ts +1 -1
- package/src/components/compositions/elements/builder/QuizBuilder.stories.ts +2 -0
- package/src/components/compositions/elements/builder/ReactiveCanvasBuilder.stories.ts +1 -1
- package/src/components/compositions/elements/code/BuildStatus.stories.ts +3 -1
- package/src/components/compositions/elements/code/ChatMessage.stories.ts +1 -1
- package/src/components/compositions/elements/code/FileTree.stories.ts +3 -1
- package/src/components/compositions/elements/code/GitCodeEditor.stories.ts +3 -1
- package/src/components/compositions/elements/code/PullRequestsList.stories.ts +3 -1
- package/src/components/compositions/elements/configuration-block/DialogBlock.stories.ts +1 -1
- package/src/components/compositions/elements/configuration-block/ElementsBlock.stories.ts +1 -1
- package/src/components/compositions/elements/configuration-block/ModalBlock.stories.ts +2 -0
- package/src/components/compositions/elements/configuration-block/RepeatableBlock.stories.ts +45 -2
- package/src/components/compositions/elements/configuration-block/RepeatableBlock.test.ts +47 -16
- package/src/components/compositions/elements/configuration-block/RepeatableBlock.vue +161 -92
- package/src/components/compositions/elements/configuration-block/RepeatableRow.vue +36 -0
- package/src/components/compositions/elements/display/BannerDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/display/BarcodeDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/display/CarouselDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/display/ChartDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/display/HtmlDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/display/IconDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/display/IframeDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/display/ImageDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/display/MarkdownDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/display/ProgressBarDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/display/QrCodeDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/display/ReactiveCanvasDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/display/SpriteDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/display/TypeDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/display/VideoPlayerDisplay.stories.ts +3 -1
- package/src/components/compositions/elements/editor/CodeEditor.stories.ts +88 -12
- package/src/components/compositions/elements/editor/CodeEditor.test.ts +72 -41
- package/src/components/compositions/elements/editor/CodeEditor.vue +306 -38
- package/src/components/compositions/elements/editor/HtmlEditor.stories.ts +73 -6
- package/src/components/compositions/elements/editor/HtmlEditor.test.ts +59 -50
- package/src/components/compositions/elements/editor/HtmlEditor.vue +942 -41
- package/src/components/compositions/elements/editor/ImageEditor.stories.ts +3 -1
- package/src/components/compositions/elements/editor/MarkdownEditor.stories.ts +3 -1
- package/src/components/compositions/elements/editor/RichTextEditor.stories.ts +3 -1
- package/src/components/compositions/elements/file/AssetPickerFile.stories.ts +3 -1
- package/src/components/compositions/elements/file/DropzoneFile.stories.ts +3 -1
- package/src/components/compositions/elements/file/UploadFile.stories.ts +3 -1
- package/src/components/compositions/elements/input/BarcodeScannerInput.stories.ts +3 -1
- package/src/components/compositions/elements/input/EmailInput.stories.ts +3 -1
- package/src/components/compositions/elements/input/NumberInput.stories.ts +3 -1
- package/src/components/compositions/elements/input/PasswordInput.stories.ts +3 -1
- package/src/components/compositions/elements/input/RangeSliderInput.stories.ts +3 -1
- package/src/components/compositions/elements/input/SearchInput.stories.ts +3 -1
- package/src/components/compositions/elements/input/TelInput.stories.ts +3 -1
- package/src/components/compositions/elements/input/TextInput.stories.ts +3 -1
- package/src/components/compositions/elements/input/TextareaInput.stories.ts +3 -1
- package/src/components/compositions/elements/input/UrlInput.stories.ts +3 -1
- package/src/components/compositions/elements/option-select/AsyncSelectOption.stories.ts +3 -1
- package/src/components/compositions/elements/option-select/AutoCompleteOption.stories.ts +3 -1
- package/src/components/compositions/elements/option-select/CheckboxOption.stories.ts +3 -1
- package/src/components/compositions/elements/option-select/IntegrationConnectorOption.stories.ts +3 -1
- package/src/components/compositions/elements/option-select/ListOption.stories.ts +3 -1
- package/src/components/compositions/elements/option-select/PillSelectOption.stories.ts +3 -1
- package/src/components/compositions/elements/option-select/RadioOption.stories.ts +3 -1
- package/src/components/compositions/elements/option-select/SelectMultipleOption.stories.ts +3 -1
- package/src/components/compositions/elements/option-select/SelectOption.stories.ts +3 -1
- package/src/components/compositions/elements/picker/AsyncSelectPicker.stories.ts +3 -1
- package/src/components/compositions/elements/picker/ColorPicker.stories.ts +3 -1
- package/src/components/compositions/elements/picker/DataModelPicker.stories.ts +3 -1
- package/src/components/compositions/elements/picker/DatePicker.stories.ts +3 -1
- package/src/components/compositions/elements/picker/DateTimePicker.stories.ts +3 -1
- package/src/components/compositions/elements/picker/IconPicker.stories.ts +3 -1
- package/src/components/compositions/elements/{components → picker}/IconPickerInline.stories.ts +3 -1
- package/src/components/compositions/elements/{components → picker}/IconPickerInline.test.ts +8 -8
- package/src/components/compositions/elements/{components → picker}/IconPickerInline.vue +4 -4
- package/src/components/compositions/elements/picker/IntegrationConnectorPicker.stories.ts +3 -1
- package/src/components/compositions/elements/picker/MapPicker.stories.ts +3 -1
- package/src/components/compositions/elements/picker/TimePicker.stories.ts +3 -1
- package/src/components/compositions/elements/picker/TimezonePicker.stories.ts +3 -1
- package/src/components/ui/accordion/Accordion.stories.ts +2 -0
- package/src/components/ui/alert/Alert.stories.ts +2 -0
- package/src/components/ui/avatar/Avatar.stories.ts +2 -0
- package/src/components/ui/badge/Badge.stories.ts +2 -0
- package/src/components/ui/button/Button.stories.ts +5 -0
- package/src/components/ui/calendar/Calendar.stories.ts +2 -0
- package/src/components/ui/card/Card.stories.ts +2 -0
- package/src/components/ui/checkbox/Checkbox.stories.ts +2 -0
- package/src/components/ui/combobox/Combobox.stories.ts +2 -0
- package/src/components/ui/command/Command.stories.ts +2 -0
- package/src/components/ui/dialog/Dialog.stories.ts +2 -0
- package/src/components/ui/dropdown-menu/DropdownMenu.stories.ts +2 -0
- package/src/components/ui/field-frame/FieldFrame.stories.ts +1 -1
- package/src/components/ui/index.ts +3 -3
- package/src/components/ui/input/Input.stories.ts +2 -0
- package/src/components/ui/label/Label.stories.ts +2 -0
- package/src/components/ui/popover/Popover.stories.ts +2 -0
- package/src/components/ui/progress/Progress.stories.ts +2 -0
- package/src/components/ui/radio-group/RadioGroup.stories.ts +2 -0
- package/src/components/ui/select/Select.stories.ts +2 -0
- package/src/components/ui/separator/Separator.stories.ts +2 -0
- package/src/components/ui/sheet/Sheet.stories.ts +2 -0
- package/src/components/ui/skeleton/Skeleton.stories.ts +2 -0
- package/src/components/ui/slider/Slider.stories.ts +2 -0
- package/src/components/ui/switch/Switch.stories.ts +2 -0
- package/src/components/ui/table/Table.stories.ts +2 -0
- package/src/components/ui/tabs/Tabs.stories.ts +2 -0
- package/src/components/ui/textarea/Textarea.stories.ts +2 -0
- package/src/components/ui/toast/Toaster.stories.ts +2 -0
- package/src/components/ui/toast/index.ts +1 -1
- package/src/components/ui/toggle/Toggle.stories.ts +2 -0
- package/src/components/ui/tooltip/Tooltip.stories.ts +2 -0
- package/src/configuration-block.ts +4 -0
- package/src/definitions/__tests__/schema.test.ts +0 -1
- package/src/definitions/elements/PickerElement.ts +2 -0
- package/src/definitions/elements/index.ts +0 -18
- package/src/definitions/index.ts +1 -1
- package/src/definitions/shared/base.ts +0 -1
- package/src/display.ts +15 -0
- package/src/editor.ts +5 -0
- package/src/engine/registry.ts +1 -7
- package/src/engine/useFormData.ts +1 -1
- package/src/file.ts +3 -0
- package/src/index.ts +3 -3
- package/src/input.ts +10 -0
- package/src/lib/storybook.ts +67 -0
- package/src/option-select.ts +9 -0
- package/src/pages/IndexPage.stories.ts +2 -1
- package/src/pages/ShowPage.stories.ts +2 -1
- package/src/pages/ShowPage.vue +1 -1
- package/src/picker.ts +11 -0
- package/src/stores/dependencyListBuilderStore.ts +1 -1
- package/src/stores/elementListBuilderStore.ts +1 -1
- package/src/stores/formBuilderStore.ts +1 -1
- package/src/stores/formDataStore.ts +1 -1
- package/src/stores/gridBuilderStore.ts +1 -1
- package/src/stores/objectBuilderStore.ts +1 -1
- package/src/stores/presetBuilderStore.ts +1 -1
- package/src/stores/quizBuilderStore.ts +1 -1
- package/src/stores/reactiveCanvasBuilderStore.ts +1 -1
- package/src/styles/themes/dark.css +1 -1
- package/src/styles/themes/default.css +1 -1
- package/src/styles/themes/kiosk.css +1 -1
- package/dist/components/compositions/elements/components/IconBadge.vue.js +0 -5
- package/dist/components/compositions/elements/components/IconBadge.vue.js.map +0 -1
- package/dist/components/compositions/elements/components/IconBadge.vue2.js +0 -77
- package/dist/components/compositions/elements/components/IconBadge.vue2.js.map +0 -1
- package/dist/components/compositions/elements/components/IconPickerInline.vue.js +0 -5
- package/dist/components/compositions/elements/components/IconPickerInline.vue.js.map +0 -1
- package/dist/components/compositions/elements/components/IconPickerInline.vue2.js.map +0 -1
- package/dist/definitions/elements/ComponentsElement.d.ts +0 -187
- package/dist/definitions/elements/ComponentsElement.d.ts.map +0 -1
- package/dist/definitions/elements/ComponentsElement.js +0 -111
- package/dist/definitions/elements/ComponentsElement.js.map +0 -1
- package/dist/styles/index.css +0 -1
- package/src/components/compositions/elements/components/IconBadge.stories.ts +0 -96
- package/src/components/compositions/elements/components/IconBadge.test.ts +0 -70
- package/src/components/compositions/elements/components/IconBadge.vue +0 -121
- package/src/definitions/elements/ComponentsElement.ts +0 -149
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormBuilder.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"FormBuilder.vue.js","sources":["../../../../../src/components/compositions/elements/builder/FormBuilder.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * FormBuilder — visual schema builder.\n *\n * Three-pane layout:\n * - LEFT (Palette): Clickable list of element types from\n * CardElementMetadataMap. Click to append a\n * new element to the root card.\n * - MIDDLE (Canvas): Live preview via CardRenderer plus a drag-\n * sortable grid canvas. Each element block shows\n * a center-top reorder handle and a top-right\n * resize handle on hover.\n * - RIGHT (Inspector): Property panel for the selected element.\n * Every input writes through the\n * formBuilderStore.\n *\n * State is owned by `formBuilderStore` (Pinia). The builder accepts an\n * optional initial schema via `modelValue` and emits the current schema\n * through `update:modelValue` so the host page can save it like any\n * other form field.\n *\n * Drag reorder: center-top handle → pointer events snap element to new\n * index in elementList.\n * Drag resize: top-right handle → pointer events set colSpan (1–4) on\n * the element, mapping to 25/50/75/100 % of the canvas width.\n */\nimport { computed, onBeforeUnmount, onMounted, reactive, ref, watch } from \"vue\"\nimport {\n ArrowDown,\n ArrowUp,\n ChevronRight,\n ChevronsLeftRight,\n GripHorizontal,\n Info,\n LayoutList,\n Maximize2,\n Minimize2,\n PencilLine,\n Plus,\n Trash2,\n X,\n} from \"lucide-vue-next\"\nimport type { CardElement } from \"@/definitions/elements\"\nimport { CardElementMetadataMap, CardElementStylesMap, getElementEditConfig } from \"@/definitions/elements\"\nimport type { EditConfigField } from \"@/definitions/shared/base\"\nimport { joinElementType, splitElementType } from \"@/definitions/shared/base\"\nimport { shouldRender } from \"@/engine/useDisplayConditions\"\nimport { Badge } from \"@/components/ui/badge\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n} from \"@/components/ui/card\"\nimport { Input } from \"@/components/ui/input\"\nimport { Label } from \"@/components/ui/label\"\nimport { Separator } from \"@/components/ui/separator\"\nimport { Textarea } from \"@/components/ui/textarea\"\nimport { Switch } from \"@/components/ui/switch\"\nimport CardRenderer from \"@/engine/CardRenderer.vue\"\nimport ElementRenderer from \"@/engine/ElementRenderer.vue\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\"\nimport {\n useFormBuilder,\n type BuilderSchema,\n} from \"@/stores/formBuilderStore\"\nimport { cn } from \"@/lib/utils\"\n\nexport interface FormBuilderProps {\n /** Initial / current schema. Two-way bindable via v-model. */\n modelValue?: BuilderSchema\n /**\n * Identifier used to key the formBuilderStore. Defaults to a stable\n * auto-generated id so multiple FormBuilders on the same page don't\n * collide.\n */\n builderId?: string\n label?: string\n name?: string | null\n item?: Record<string, unknown>\n classList?: string[] | string\n}\n\nconst props = withDefaults(defineProps<FormBuilderProps>(), {\n item: () => ({}),\n})\n\nconst model = defineModel<BuilderSchema | undefined>(\"modelValue\")\n\nlet nextAutoId = 0\nfunction makeAutoId(): string {\n nextAutoId += 1\n return `form-builder-${Date.now()}-${nextAutoId}`\n}\nconst fallbackId = ref<string>(makeAutoId())\n\nconst builderId = computed<string>(() => props.builderId ?? fallbackId.value)\n\n/** Controls which canvas view is active. */\nconst canvasMode = ref<\"inline\" | \"list\">(\"list\")\n\n/**\n * When non-null the canvas is \"zoomed into\" a specific card-type element.\n * Only that card's children are shown and editable. Schema storage is\n * unaffected — this is purely a UI focus state.\n */\nconst zoomedCardId = ref<string | null>(null)\nconst isZoomed = computed(() => zoomedCardId.value !== null)\nconst zoomedCardElement = computed(() =>\n zoomedCardId.value\n ? (builder.schema.value.elements[zoomedCardId.value] ?? null)\n : null,\n)\n\nfunction zoomInto(elementId: string): void {\n zoomedCardId.value = elementId\n builder.select(\"element\", elementId)\n}\n\nfunction zoomOut(): void {\n zoomedCardId.value = null\n}\n\nconst builder = useFormBuilder(builderId.value)\n\nfunction isBuilderSchema(value: unknown): value is BuilderSchema {\n if (typeof value !== \"object\" || value === null) {\n return false\n }\n const v = value as Record<string, unknown>\n return (\n typeof v.rootCardId === \"string\" &&\n typeof v.cards === \"object\" &&\n v.cards !== null &&\n typeof v.elements === \"object\" &&\n v.elements !== null\n )\n}\n\n/** Seed the store from the initial modelValue. */\nonMounted(() => {\n const seed = model.value\n if (isBuilderSchema(seed)) {\n builder.loadSchema(seed)\n }\n})\n\n/** Push schema changes back via v-model. */\nwatch(\n () => builder.schema.value,\n (next) => {\n model.value = next\n },\n { deep: true },\n)\n\nconst rootCard = computed(\n () => builder.schema.value.cards[builder.schema.value.rootCardId],\n)\n\nconst canvasRootContainerId = computed(() => builder.schema.value.rootCardId)\n\n/** Active container for the visible canvas — root unless zoomed into a card element. */\nconst activeCanvasContainerId = computed(() => zoomedCardId.value ?? canvasRootContainerId.value)\n\n/** The element list shown in the canvas — scoped to the zoomed card when active. */\nconst activeElementList = computed(() =>\n zoomedCardId.value ? getElementList(zoomedCardId.value) : rootElementList.value,\n)\n\nconst rootElementList = computed<string[]>(() => {\n const card = rootCard.value\n if (!card) {\n return []\n }\n return ((card as unknown as Record<string, unknown>).elementList as string[]) ?? []\n})\n\n/** True when an element's type starts with \"card.\" — it acts as a nested container. */\nfunction isCardElement(elementId: string): boolean {\n const el = builder.schema.value.elements[elementId]\n if (!el) return false\n return String((el as unknown as Record<string, unknown>).type ?? \"\").startsWith(\"card.\")\n}\n\n/** Returns the elementList for any container (card or card-type element). */\nfunction getElementList(containerId: string): string[] {\n const schema = builder.schema.value\n const card = schema.cards[containerId]\n if (card) return ((card as unknown as Record<string, unknown>).elementList as string[] | undefined) ?? []\n const el = schema.elements[containerId]\n if (el) return ((el as unknown as Record<string, unknown>).elementList as string[] | undefined) ?? []\n return []\n}\n\n/**\n * For inline-mode rendering: augments a card-type element with resolved\n * `nestedElements` so the composition receives actual child objects, not IDs.\n */\nfunction resolveElementForRender(elementId: string): CardElement {\n const el = builder.schema.value.elements[elementId]!\n if (!isCardElement(elementId)) return el\n const bag = el as unknown as Record<string, unknown>\n const childIds = (bag.elementList as string[] | undefined) ?? []\n const nestedElements = childIds\n .map((id) => builder.schema.value.elements[id])\n .filter(Boolean)\n return { ...el, nestedElements } as unknown as CardElement\n}\n\nconst paletteGroups = computed(() =>\n (\n Object.entries(CardElementMetadataMap) as Array<\n [\n keyof typeof CardElementMetadataMap,\n (typeof CardElementMetadataMap)[keyof typeof CardElementMetadataMap],\n ]\n >\n ).map(([type, meta]) => ({\n type,\n meta,\n styles: CardElementStylesMap[type],\n })),\n)\n\nconst expandedGroups = reactive<Record<string, boolean>>({})\n\nfunction toggleGroup(type: string): void {\n expandedGroups[type] = !expandedGroups[type]\n}\n\nconst selectedElement = computed<CardElement | null>(() => {\n const sel = builder.selection.value\n if (sel.kind !== \"element\" || !sel.id) {\n return null\n }\n return builder.schema.value.elements[sel.id] ?? null\n})\n\n/** ID of the container that owns the currently selected element. */\nconst selectedContainerId = computed<string>(() => {\n const sel = builder.selection.value\n if (sel.kind !== \"element\" || !sel.id) return canvasRootContainerId.value\n if (rootElementList.value.includes(sel.id)) return canvasRootContainerId.value\n for (const [elId, el] of Object.entries(builder.schema.value.elements)) {\n const bag = el as unknown as Record<string, unknown>\n if (typeof bag.type === \"string\" && (bag.type as string).startsWith(\"card.\")) {\n if (((bag.elementList as string[] | undefined) ?? []).includes(sel.id)) {\n return elId\n }\n }\n }\n return canvasRootContainerId.value\n})\n\nconst selectedContainerList = computed<string[]>(() => getElementList(selectedContainerId.value))\n\nconst selectedIndex = computed<number>(() => {\n const sel = builder.selection.value\n if (sel.kind !== \"element\" || !sel.id) return -1\n return selectedContainerList.value.indexOf(sel.id)\n})\n\nconst canMoveDown = computed<boolean>(() => {\n const list = selectedContainerList.value\n return selectedIndex.value >= 0 && selectedIndex.value < list.length - 1\n})\n\nfunction onStyleClick(category: keyof typeof CardElementMetadataMap, style: string): void {\n const sel = builder.selection.value\n // Priority: 1) zoomed card container, 2) selected card element, 3) root.\n let containerId: string\n if (zoomedCardId.value) {\n containerId = zoomedCardId.value\n } else if (sel.kind === \"element\" && sel.id && isCardElement(sel.id)) {\n containerId = sel.id\n } else {\n containerId = builder.schema.value.rootCardId\n }\n const newId = builder.addElement(containerId, `${category}.${style}`)\n builder.select(\"element\", newId)\n}\n\nfunction onCanvasElementClick(elementId: string): void {\n builder.select(\"element\", elementId)\n}\n\nfunction onMoveUp(): void {\n if (selectedIndex.value <= 0) return\n builder.reorderElement(selectedContainerId.value, selectedIndex.value, selectedIndex.value - 1)\n}\n\nfunction onMoveDown(): void {\n if (!canMoveDown.value) return\n builder.reorderElement(selectedContainerId.value, selectedIndex.value, selectedIndex.value + 1)\n}\n\nfunction onRemove(): void {\n const sel = builder.selection.value\n if (sel.kind === \"element\" && sel.id) {\n builder.removeElement(sel.id)\n } else if (sel.kind === \"card\" && sel.id) {\n builder.removeCard(sel.id)\n }\n}\n\nfunction onClearSelection(): void {\n builder.select(null, null)\n}\n\nfunction patchSelected(patch: Partial<CardElement>): void {\n const sel = builder.selection.value\n if (sel.kind === \"element\" && sel.id) {\n builder.updateElement(sel.id, patch)\n }\n}\n\n/**\n * Dynamically resolved list of inspector fields for the selected element.\n * Uses the category-level EditConfig and evaluates conditionParams against a\n * virtual item that includes `style` extracted from the dot-notation type so\n * conditions like `{ name: \"style\", logic: \"==\", value: \"textarea\" }` work.\n */\nconst inspectorFields = computed<Array<{ fieldName: string; spec: EditConfigField }>>(() => {\n const el = selectedElement.value\n if (!el) return []\n\n const editConfig = getElementEditConfig(el.type)\n if (!editConfig) return []\n\n const { style } = splitElementType(el.type)\n const virtualItem = { ...(el as unknown as Record<string, unknown>), style }\n\n return Object.entries(editConfig)\n .filter(([, spec]) => {\n const t = (spec as EditConfigField).type as string\n // Skip fields that need complex nested renderers in the inspector.\n if (t?.startsWith(\"configuration-block.\")) return false\n if (t?.startsWith(\"builder.\")) return false\n if (t?.startsWith(\"code.\")) return false\n return shouldRender(spec as EditConfigField, virtualItem)\n })\n .map(([fieldName, spec]) => ({ fieldName, spec: spec as EditConfigField }))\n})\n\nfunction getFieldValue(fieldName: string): unknown {\n const el = selectedElement.value as unknown as Record<string, unknown> | null\n // `style` is not stored separately — derive it from the dot-notation `type`.\n if (fieldName === \"style\" && el?.type) {\n return splitElementType(String(el.type)).style\n }\n return el?.[fieldName] ?? \"\"\n}\n\nfunction onFieldInput(fieldName: string, value: unknown): void {\n // A style change means the element type changes: \"boolean.checkbox\" → \"boolean.switch\".\n if (fieldName === \"style\") {\n const el = selectedElement.value\n if (!el) return\n const { category } = splitElementType(el.type)\n patchSelected({ type: joinElementType(category, String(value)) } as unknown as Partial<CardElement>)\n return\n }\n patchSelected({ [fieldName]: value } as Partial<CardElement>)\n}\n\n/* ------------------------------------------------------------------ */\n/* Drag-reorder + drag-resize */\n/* ------------------------------------------------------------------ */\n\nconst canvasEl = ref<HTMLElement | null>(null)\n\ninterface FormDragState {\n mode: \"reorder\" | \"resize\"\n elementId: string\n fromContainerId: string\n fromIndex: number\n startClientX: number\n startColSpan: number\n containerWidth: number\n pointerId: number\n captureTarget: HTMLElement\n}\n\nconst activeDrag = ref<FormDragState | null>(null)\nconst dropTargetIndex = ref<number | null>(null)\nconst dropContainerId = ref<string | null>(null)\n\n/** colSpan (1–4) is stored directly on the element as a builder prop. */\nfunction getColSpan(elementId: string): number {\n const el = builder.schema.value.elements[elementId] as unknown as Record<string, unknown>\n const span = el?.colSpan\n return typeof span === \"number\" && span >= 1 && span <= 4 ? span : 4\n}\n\nfunction elementGridStyle(elementId: string): Record<string, string> {\n return { gridColumn: `span ${getColSpan(elementId)}` }\n}\n\nfunction beginFormDrag(\n mode: \"reorder\" | \"resize\",\n elementId: string,\n fromContainerId: string,\n fromIndex: number,\n event: PointerEvent,\n): void {\n if (event.button !== 0) return\n event.preventDefault()\n event.stopPropagation()\n builder.select(\"element\", elementId)\n const target = event.target as HTMLElement\n try {\n target.setPointerCapture(event.pointerId)\n } catch {\n // jsdom or restricted context\n }\n activeDrag.value = {\n mode,\n elementId,\n fromContainerId,\n fromIndex,\n startClientX: event.clientX,\n startColSpan: getColSpan(elementId),\n containerWidth: canvasEl.value?.getBoundingClientRect().width ?? 0,\n pointerId: event.pointerId,\n captureTarget: target,\n }\n if (mode === \"reorder\") {\n dropTargetIndex.value = fromIndex\n dropContainerId.value = fromContainerId\n }\n window.addEventListener(\"pointermove\", onFormPointerMove)\n window.addEventListener(\"pointerup\", onFormPointerUp)\n window.addEventListener(\"pointercancel\", onFormPointerUp)\n}\n\nfunction onReorderHandlePointerDown(\n elementId: string,\n containerId: string,\n index: number,\n event: PointerEvent,\n): void {\n beginFormDrag(\"reorder\", elementId, containerId, index, event)\n}\n\nfunction onResizeHandlePointerDown(\n elementId: string,\n event: PointerEvent,\n): void {\n beginFormDrag(\"resize\", elementId, canvasRootContainerId.value, -1, event)\n}\n\nfunction onFormPointerMove(event: PointerEvent): void {\n const state = activeDrag.value\n if (!state) return\n\n if (state.mode === \"resize\") {\n const dx = event.clientX - state.startClientX\n const colW = (state.containerWidth > 0 ? state.containerWidth : 400) / 4\n const colDelta = Math.round(dx / colW)\n const newSpan = Math.max(1, Math.min(4, state.startColSpan + colDelta))\n builder.updateElement(state.elementId, { colSpan: newSpan } as unknown as Partial<CardElement>)\n return\n }\n\n const target = document.elementFromPoint(event.clientX, event.clientY)\n if (!target) return\n\n // Determine which container the pointer is over (innermost wins).\n const containerEl = (target as HTMLElement).closest(\"[data-container-id]\")\n const cId = (containerEl as HTMLElement | null)?.dataset.containerId ?? null\n dropContainerId.value = cId\n\n // Find the element block index within that container.\n let blockEl: Element | null = (target as HTMLElement).closest(\"[data-element-block-index]\")\n // Discard if the block is outside (ancestor of) the detected container.\n if (blockEl && containerEl && !containerEl.contains(blockEl)) {\n blockEl = null\n }\n if (blockEl) {\n const idx = Number.parseInt(\n (blockEl as HTMLElement).dataset.elementBlockIndex ?? \"-1\",\n 10,\n )\n if (idx >= 0) dropTargetIndex.value = idx\n } else {\n // Hovering over empty space in the container — drop at end.\n dropTargetIndex.value = cId ? getElementList(cId).length : null\n }\n}\n\nfunction onFormPointerUp(event: PointerEvent): void {\n const state = activeDrag.value\n if (!state) {\n cleanupFormDrag()\n return\n }\n try {\n state.captureTarget.releasePointerCapture(state.pointerId)\n } catch {\n // ignore\n }\n if (state.mode === \"reorder\" && dropTargetIndex.value !== null) {\n const targetContainer = dropContainerId.value ?? state.fromContainerId\n if (targetContainer !== state.fromContainerId) {\n builder.moveElement(state.fromContainerId, targetContainer, state.elementId, dropTargetIndex.value)\n } else if (dropTargetIndex.value !== state.fromIndex) {\n builder.reorderElement(state.fromContainerId, state.fromIndex, dropTargetIndex.value)\n }\n }\n cleanupFormDrag()\n void event\n}\n\nfunction cleanupFormDrag(): void {\n activeDrag.value = null\n dropTargetIndex.value = null\n dropContainerId.value = null\n window.removeEventListener(\"pointermove\", onFormPointerMove)\n window.removeEventListener(\"pointerup\", onFormPointerUp)\n window.removeEventListener(\"pointercancel\", onFormPointerUp)\n}\n\nonBeforeUnmount(() => {\n cleanupFormDrag()\n})\n\nconst outerGridColumns = computed(() =>\n selectedElement.value\n ? \"220px 1fr 280px\"\n : \"220px 1fr 2rem\",\n)\n</script>\n\n<template>\n <div\n :class=\"cn('gxp-form-builder grid gap-3 rounded-lg border bg-card', props.classList)\"\n :style=\"{ gridTemplateColumns: outerGridColumns, minHeight: '24rem', transition: 'grid-template-columns 200ms ease' }\"\n data-testid=\"form-builder\"\n :data-element-name=\"props.name ?? undefined\"\n >\n <aside\n class=\"flex flex-col gap-2 border-r p-3 overflow-y-auto\"\n data-testid=\"form-builder-palette\"\n >\n <h4 class=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n {{ props.label ?? \"Element palette\" }}\n </h4>\n <div class=\"flex flex-col gap-0.5\">\n <div\n v-for=\"entry in paletteGroups\"\n :key=\"entry.type\"\n >\n <button\n type=\"button\"\n class=\"flex w-full items-start gap-2 rounded-md px-2 py-1.5 text-left text-xs transition-colors hover:bg-accent/30\"\n :data-testid=\"`form-builder-palette-${entry.type}`\"\n @click=\"toggleGroup(entry.type)\"\n >\n <ChevronRight\n class=\"mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform duration-150\"\n :class=\"expandedGroups[entry.type] ? 'rotate-90' : ''\"\n />\n <span class=\"flex min-w-0 flex-col gap-0.5\">\n <span class=\"font-medium\">{{ entry.meta.displayLabel }}</span>\n <span class=\"line-clamp-2 text-[10px] text-muted-foreground\">\n {{ entry.meta.description }}\n </span>\n </span>\n </button>\n\n <div\n v-if=\"expandedGroups[entry.type]\"\n class=\"ml-5 flex flex-col gap-0.5 pb-1\"\n >\n <button\n v-for=\"styleOption in entry.styles\"\n :key=\"styleOption.value\"\n type=\"button\"\n class=\"flex items-center gap-1.5 rounded border bg-background px-2 py-1 text-left text-xs transition-colors hover:border-primary hover:bg-accent/40\"\n :data-testid=\"`form-builder-palette-${entry.type}-${styleOption.value}`\"\n @click=\"onStyleClick(entry.type, styleOption.value)\"\n >\n <Plus class=\"h-3 w-3 shrink-0 text-muted-foreground\" />\n {{ styleOption.label }}\n </button>\n </div>\n </div>\n </div>\n </aside>\n\n <section\n class=\"flex flex-col gap-3 overflow-y-auto p-3\"\n data-testid=\"form-builder-canvas\"\n >\n <header class=\"flex flex-col gap-2\">\n <!-- Zoom breadcrumb — shown when focused into a card element -->\n <div\n v-if=\"isZoomed\"\n class=\"flex items-center gap-2 rounded-md border bg-muted/40 px-2.5 py-1.5 text-xs\"\n data-testid=\"form-builder-zoom-breadcrumb\"\n >\n <button\n type=\"button\"\n class=\"flex items-center gap-1.5 text-muted-foreground transition-colors hover:text-foreground\"\n data-testid=\"form-builder-zoom-out\"\n @click=\"zoomOut\"\n >\n <Minimize2 class=\"h-3.5 w-3.5\" />\n <span>Full form</span>\n </button>\n <span class=\"text-muted-foreground/50\">/</span>\n <span class=\"font-medium\">\n {{ (zoomedCardElement as Record<string, unknown> | null)?.label ?? 'Card' }}\n </span>\n </div>\n <div class=\"flex items-center justify-between\">\n <h4 class=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n {{ canvasMode === \"inline\" ? \"Canvas\" : isZoomed ? \"Card preview\" : \"Preview\" }}\n </h4>\n <div class=\"flex items-center gap-2\">\n <!-- Mode toggle -->\n <div class=\"flex items-center rounded-md border p-0.5\">\n <button\n type=\"button\"\n class=\"rounded px-1.5 py-0.5 transition-colors\"\n :class=\"canvasMode === 'list' ? 'bg-accent text-accent-foreground' : 'text-muted-foreground hover:text-foreground'\"\n title=\"List mode — separate preview and element list\"\n data-testid=\"form-builder-mode-list\"\n @click=\"canvasMode = 'list'\"\n >\n <LayoutList class=\"h-3.5 w-3.5\" />\n </button>\n <button\n type=\"button\"\n class=\"rounded px-1.5 py-0.5 transition-colors\"\n :class=\"canvasMode === 'inline' ? 'bg-accent text-accent-foreground' : 'text-muted-foreground hover:text-foreground'\"\n title=\"Inline mode — live interactive canvas\"\n data-testid=\"form-builder-mode-inline\"\n @click=\"canvasMode = 'inline'\"\n >\n <PencilLine class=\"h-3.5 w-3.5\" />\n </button>\n </div>\n <Badge variant=\"outline\" class=\"font-mono text-[10px]\">\n builder/form-builder\n </Badge>\n </div>\n </div>\n </header>\n\n <!-- ─── LIST MODE ──────────────────────────────────────────────── -->\n <template v-if=\"canvasMode === 'list'\">\n <!-- Preview section: full CardRenderer when at root, element preview when zoomed -->\n <div class=\"rounded-md border border-dashed bg-background p-3\">\n <template v-if=\"isZoomed && zoomedCardId\">\n <Suspense>\n <ElementRenderer\n :element=\"resolveElementForRender(zoomedCardId)\"\n :item=\"props.item\"\n />\n </Suspense>\n <p\n v-if=\"!activeElementList.length\"\n class=\"py-6 text-center text-xs text-muted-foreground\"\n data-testid=\"form-builder-canvas-empty\"\n >\n Click an element in the palette to add it.\n </p>\n </template>\n <template v-else-if=\"rootCard\">\n <CardRenderer\n :card=\"rootCard\"\n :item=\"props.item\"\n :elements=\"builder.schema.value.elements\"\n :cards=\"builder.schema.value.cards\"\n />\n <p\n v-if=\"rootElementList.length === 0\"\n class=\"py-6 text-center text-xs text-muted-foreground\"\n data-testid=\"form-builder-canvas-empty\"\n >\n Click an element in the palette to add it.\n </p>\n </template>\n </div>\n\n <!-- Drag-sortable grid canvas — scoped to active container -->\n <div\n ref=\"canvasEl\"\n class=\"grid gap-2 text-xs\"\n style=\"grid-template-columns: repeat(4, minmax(0, 1fr))\"\n :data-container-id=\"activeCanvasContainerId\"\n data-testid=\"form-builder-canvas-list\"\n >\n <p\n v-if=\"!activeElementList.length\"\n class=\"col-span-full py-4 text-center text-muted-foreground\"\n >\n Add elements from the palette.\n </p>\n <div\n v-for=\"(elId, index) in activeElementList\"\n :key=\"elId\"\n :data-element-block-index=\"index\"\n :data-testid=\"`form-builder-row-${elId}`\"\n class=\"group relative cursor-pointer select-none rounded border bg-background transition-colors\"\n :class=\"[\n isCardElement(elId) ? 'px-2 pb-2 pt-5' : 'px-2 pb-2 pt-5 text-center',\n builder.selection.value.kind === 'element' && builder.selection.value.id === elId\n ? 'border-primary bg-accent/30'\n : 'hover:border-primary/50',\n activeDrag?.elementId === elId && activeDrag.mode === 'reorder'\n ? 'opacity-40 ring-2 ring-primary'\n : '',\n dropContainerId === activeCanvasContainerId &&\n dropTargetIndex === index &&\n activeDrag?.mode === 'reorder' &&\n activeDrag?.elementId !== elId\n ? 'ring-2 ring-primary/60 bg-primary/5'\n : '',\n ]\"\n :style=\"elementGridStyle(elId)\"\n @click=\"onCanvasElementClick(elId)\"\n >\n <!-- Center-top reorder handle -->\n <span\n class=\"absolute left-1/2 top-0.5 -translate-x-1/2 cursor-grab touch-none rounded-sm bg-muted/60 px-1 py-0.5 opacity-0 transition-opacity group-hover:opacity-100 active:cursor-grabbing\"\n title=\"Drag to reorder\"\n @click.stop\n @pointerdown.stop=\"(e: PointerEvent) => onReorderHandlePointerDown(elId, activeCanvasContainerId, index, e)\"\n >\n <GripHorizontal class=\"h-3 w-3 text-muted-foreground\" />\n </span>\n\n <!-- Top-right resize handle -->\n <span\n class=\"absolute right-0.5 top-0.5 cursor-ew-resize touch-none rounded-sm bg-muted/60 px-1 py-0.5 opacity-0 transition-opacity group-hover:opacity-100\"\n :title=\"`Width: ${getColSpan(elId)}/4 — drag to resize`\"\n @click.stop\n @pointerdown.stop=\"(e: PointerEvent) => onResizeHandlePointerDown(elId, e)\"\n >\n <ChevronsLeftRight class=\"h-3 w-3 text-muted-foreground\" />\n </span>\n\n <!-- Non-card element: label + type badge -->\n <template v-if=\"!isCardElement(elId)\">\n <span class=\"block truncate font-medium leading-tight\">\n {{ builder.schema.value.elements[elId]?.label ?? \"(unnamed)\" }}\n </span>\n <Badge variant=\"secondary\" class=\"mt-1 font-mono text-[9px]\">\n {{ builder.schema.value.elements[elId]?.type }}\n </Badge>\n </template>\n\n <!-- Card-type element: label + nested droppable container -->\n <template v-else>\n <!-- Zoom-in button — top-left, shown on hover or when selected -->\n <button\n type=\"button\"\n class=\"absolute left-0.5 top-0.5 z-10 flex h-5 w-5 items-center justify-center rounded bg-muted/60 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100 hover:bg-muted hover:text-foreground\"\n :class=\"{ '!opacity-100': builder.selection.value.kind === 'element' && builder.selection.value.id === elId }\"\n title=\"Zoom into this card\"\n data-testid=\"form-builder-zoom-in\"\n @click.stop=\"zoomInto(elId)\"\n >\n <Maximize2 class=\"h-3 w-3\" />\n </button>\n <div>\n <span class=\"block truncate font-medium leading-tight\">\n {{ builder.schema.value.elements[elId]?.label ?? \"(unnamed)\" }}\n </span>\n <Badge variant=\"outline\" class=\"mt-1 font-mono text-[9px]\">\n {{ builder.schema.value.elements[elId]?.type }}\n </Badge>\n </div>\n <!-- Nested mini-grid for children -->\n <div\n class=\"mt-1.5 grid gap-1 rounded border border-dashed bg-muted/20 p-1\"\n style=\"grid-template-columns: repeat(4, minmax(0, 1fr))\"\n :data-container-id=\"elId\"\n @click.stop=\"onCanvasElementClick(elId)\"\n >\n <p\n v-if=\"!getElementList(elId).length\"\n class=\"col-span-full py-2 text-center text-[10px] text-muted-foreground\"\n >\n Drop elements here — or select & use palette\n </p>\n <div\n v-for=\"(childId, childIdx) in getElementList(elId)\"\n :key=\"childId\"\n :data-element-block-index=\"childIdx\"\n :data-testid=\"`form-builder-row-${childId}`\"\n class=\"group/child relative cursor-pointer select-none rounded border bg-background px-1.5 pb-1 pt-4 text-center text-[10px] transition-colors\"\n :class=\"[\n builder.selection.value.kind === 'element' && builder.selection.value.id === childId\n ? 'border-primary bg-accent/30'\n : 'hover:border-primary/50',\n activeDrag?.elementId === childId && activeDrag.mode === 'reorder'\n ? 'opacity-40 ring-2 ring-primary'\n : '',\n dropContainerId === elId &&\n dropTargetIndex === childIdx &&\n activeDrag?.mode === 'reorder' &&\n activeDrag?.elementId !== childId\n ? 'ring-2 ring-primary/60 bg-primary/5'\n : '',\n ]\"\n :style=\"elementGridStyle(childId)\"\n @click.stop=\"onCanvasElementClick(childId)\"\n >\n <span\n class=\"absolute left-1/2 top-0.5 -translate-x-1/2 cursor-grab touch-none rounded-sm bg-muted/60 px-1 py-0.5 opacity-0 transition-opacity group-hover/child:opacity-100 active:cursor-grabbing\"\n title=\"Drag to reorder\"\n @click.stop\n @pointerdown.stop=\"(e: PointerEvent) => onReorderHandlePointerDown(childId, elId, childIdx, e)\"\n >\n <GripHorizontal class=\"h-3 w-3 text-muted-foreground\" />\n </span>\n <span\n class=\"absolute right-0.5 top-0.5 cursor-ew-resize touch-none rounded-sm bg-muted/60 px-1 py-0.5 opacity-0 transition-opacity group-hover/child:opacity-100\"\n :title=\"`Width: ${getColSpan(childId)}/4 — drag to resize`\"\n @click.stop\n @pointerdown.stop=\"(e: PointerEvent) => onResizeHandlePointerDown(childId, e)\"\n >\n <ChevronsLeftRight class=\"h-3 w-3 text-muted-foreground\" />\n </span>\n <span class=\"block truncate font-medium leading-tight\">\n {{ builder.schema.value.elements[childId]?.label ?? \"(unnamed)\" }}\n </span>\n <Badge variant=\"secondary\" class=\"mt-0.5 font-mono text-[9px]\">\n {{ builder.schema.value.elements[childId]?.type }}\n </Badge>\n </div>\n </div>\n </template>\n </div>\n </div>\n </template>\n\n <!-- ─── INLINE MODE ────────────────────────────────────────────── -->\n <template v-else>\n <div class=\"rounded-md border border-dashed bg-background p-2\">\n <p\n v-if=\"activeElementList.length === 0\"\n class=\"py-6 text-center text-xs text-muted-foreground\"\n data-testid=\"form-builder-canvas-empty\"\n >\n Click an element in the palette to add it.\n </p>\n <div\n v-else\n ref=\"canvasEl\"\n class=\"grid gap-3\"\n style=\"grid-template-columns: repeat(4, minmax(0, 1fr))\"\n :data-container-id=\"activeCanvasContainerId\"\n data-testid=\"form-builder-canvas-list\"\n >\n <div\n v-for=\"(elId, index) in activeElementList\"\n :key=\"elId\"\n :data-element-block-index=\"index\"\n :data-testid=\"`form-builder-row-${elId}`\"\n class=\"group relative cursor-pointer rounded border pt-8 px-1.5 pb-1.5 transition-colors\"\n :class=\"[\n builder.selection.value.kind === 'element' && builder.selection.value.id === elId\n ? 'border-primary ring-1 ring-primary/30'\n : 'border-transparent hover:border-primary/40',\n activeDrag?.elementId === elId && activeDrag.mode === 'reorder'\n ? 'opacity-40 ring-2 ring-primary'\n : '',\n dropContainerId === activeCanvasContainerId &&\n dropTargetIndex === index &&\n activeDrag?.mode === 'reorder' &&\n activeDrag?.elementId !== elId\n ? 'ring-2 ring-primary/60 bg-primary/5'\n : '',\n ]\"\n :style=\"elementGridStyle(elId)\"\n @click=\"onCanvasElementClick(elId)\"\n >\n <!-- Center-top reorder handle -->\n <span\n class=\"absolute left-1/2 top-1 z-10 -translate-x-1/2 cursor-grab touch-none rounded-sm bg-muted/80 px-1 py-0.5 opacity-0 transition-opacity group-hover:opacity-100 active:cursor-grabbing\"\n title=\"Drag to reorder\"\n @click.stop\n @pointerdown.stop=\"(e: PointerEvent) => onReorderHandlePointerDown(elId, activeCanvasContainerId, index, e)\"\n >\n <GripHorizontal class=\"h-3 w-3 text-muted-foreground\" />\n </span>\n\n <!-- Top-right resize handle -->\n <span\n class=\"absolute right-1 top-1 z-10 cursor-ew-resize touch-none rounded-sm bg-muted/80 px-1 py-0.5 opacity-0 transition-opacity group-hover:opacity-100\"\n :title=\"`Width: ${getColSpan(elId)}/4 — drag to resize`\"\n @click.stop\n @pointerdown.stop=\"(e: PointerEvent) => onResizeHandlePointerDown(elId, e)\"\n >\n <ChevronsLeftRight class=\"h-3 w-3 text-muted-foreground\" />\n </span>\n\n <!-- Zoom-in button — card elements only, top-left, shown on hover or when selected -->\n <button\n v-if=\"isCardElement(elId)\"\n type=\"button\"\n class=\"absolute left-1 top-1 z-10 flex h-5 w-5 items-center justify-center rounded bg-muted/80 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100 hover:bg-muted hover:text-foreground\"\n :class=\"{ '!opacity-100': builder.selection.value.kind === 'element' && builder.selection.value.id === elId }\"\n title=\"Zoom into this card\"\n data-testid=\"form-builder-zoom-in\"\n @click.stop=\"zoomInto(elId)\"\n >\n <Maximize2 class=\"h-3.5 w-3.5\" />\n </button>\n\n <!-- Live element render — card elements get resolved nestedElements -->\n <ElementRenderer\n :element=\"resolveElementForRender(elId)\"\n :item=\"props.item\"\n />\n </div>\n </div>\n </div>\n </template>\n </section>\n\n <!-- ─── INSPECTOR (collapsed) ──────────────────────────────────────── -->\n <aside\n v-if=\"!selectedElement\"\n class=\"flex items-start justify-center border-l pt-3 overflow-hidden\"\n data-testid=\"form-builder-inspector\"\n >\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger as-child>\n <span\n class=\"flex h-6 w-6 shrink-0 items-center justify-center rounded-full text-muted-foreground\"\n tabindex=\"0\"\n aria-label=\"Select an element on the canvas to edit its properties\"\n data-testid=\"form-builder-inspector-empty\"\n >\n <Info class=\"h-4 w-4\" />\n </span>\n </TooltipTrigger>\n <TooltipContent side=\"left\">\n Select an element on the canvas to edit its properties\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n </aside>\n\n <!-- ─── INSPECTOR (expanded) ─────────────────────────────────────── -->\n <aside\n v-else\n class=\"flex flex-col gap-2 overflow-y-auto border-l p-3\"\n data-testid=\"form-builder-inspector\"\n >\n <header class=\"flex items-center justify-between\">\n <h4 class=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n Inspector\n </h4>\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label=\"Clear selection\"\n @click=\"onClearSelection\"\n >\n <X class=\"h-3.5 w-3.5\" />\n </Button>\n </header>\n\n <div\n class=\"flex flex-col gap-3\"\n data-testid=\"form-builder-inspector-fields\"\n >\n <Card class=\"border-dashed\">\n <CardHeader class=\"py-2\">\n <CardTitle class=\"font-mono text-xs uppercase tracking-wide\">\n {{ selectedElement.type }}\n </CardTitle>\n </CardHeader>\n <CardContent class=\"flex flex-col gap-2 pb-3\">\n <template\n v-for=\"field in inspectorFields\"\n :key=\"field.fieldName\"\n >\n <!-- boolean switch / checkbox → toggle row -->\n <div\n v-if=\"field.spec.type?.toString().startsWith('boolean.')\"\n class=\"flex items-center justify-between rounded border bg-background px-2 py-1\"\n >\n <Label :for=\"`fb-${field.fieldName}`\" class=\"cursor-pointer\">\n {{ field.spec.label ?? field.fieldName }}\n </Label>\n <Switch\n :id=\"`fb-${field.fieldName}`\"\n :model-value=\"Boolean(getFieldValue(field.fieldName))\"\n :data-testid=\"`form-builder-inspector-${field.fieldName}`\"\n @update:model-value=\"(v: boolean) => onFieldInput(field.fieldName, v)\"\n />\n </div>\n\n <!-- option-select → native select -->\n <div\n v-else-if=\"field.spec.type?.toString().startsWith('option-select.')\"\n class=\"flex flex-col gap-1\"\n >\n <Label :for=\"`fb-${field.fieldName}`\">\n {{ field.spec.label ?? field.fieldName }}\n </Label>\n <select\n :id=\"`fb-${field.fieldName}`\"\n class=\"flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm transition-colors focus:outline-none focus:ring-1 focus:ring-ring\"\n :value=\"String(getFieldValue(field.fieldName) ?? '')\"\n :data-testid=\"`form-builder-inspector-${field.fieldName}`\"\n @change=\"(e: Event) => onFieldInput(field.fieldName, (e.target as HTMLSelectElement).value)\"\n >\n <option\n v-for=\"opt in (field.spec.selectOptions as Array<{label: string; value: string}> ?? [])\"\n :key=\"opt.value\"\n :value=\"opt.value\"\n >\n {{ opt.label }}\n </option>\n </select>\n </div>\n\n <!-- textarea -->\n <div\n v-else-if=\"field.spec.type === 'input.textarea'\"\n class=\"flex flex-col gap-1\"\n >\n <Label :for=\"`fb-${field.fieldName}`\">\n {{ field.spec.label ?? field.fieldName }}\n </Label>\n <Textarea\n :id=\"`fb-${field.fieldName}`\"\n :model-value=\"String(getFieldValue(field.fieldName) ?? '')\"\n :data-testid=\"`form-builder-inspector-${field.fieldName}`\"\n @input=\"(e: Event) => onFieldInput(field.fieldName, (e.target as HTMLTextAreaElement).value)\"\n />\n </div>\n\n <!-- default: text input (covers input.*, picker.*, display.*, etc.) -->\n <div\n v-else\n class=\"flex flex-col gap-1\"\n >\n <Label :for=\"`fb-${field.fieldName}`\">\n {{ field.spec.label ?? field.fieldName }}\n </Label>\n <Input\n :id=\"`fb-${field.fieldName}`\"\n :model-value=\"String(getFieldValue(field.fieldName) ?? '')\"\n :data-testid=\"`form-builder-inspector-${field.fieldName}`\"\n @input=\"(e: Event) => onFieldInput(field.fieldName, (e.target as HTMLInputElement).value)\"\n />\n </div>\n </template>\n\n <Separator v-if=\"inspectorFields.length\" class=\"my-1\" />\n\n <!-- Base fields always shown (not in every EditConfig) -->\n <div class=\"flex flex-col gap-1\">\n <Label for=\"fb-help\">Help text</Label>\n <Textarea\n id=\"fb-help\"\n :model-value=\"String(getFieldValue('helpText') ?? '')\"\n data-testid=\"form-builder-inspector-help\"\n @input=\"(e: Event) => onFieldInput('helpText', (e.target as HTMLTextAreaElement).value)\"\n />\n </div>\n <div class=\"flex items-center justify-between rounded border bg-background px-2 py-1\">\n <Label for=\"fb-disabled\">Disabled</Label>\n <Switch\n id=\"fb-disabled\"\n :model-value=\"Boolean(getFieldValue('disabled'))\"\n @update:model-value=\"(v: boolean) => onFieldInput('disabled', v)\"\n />\n </div>\n </CardContent>\n </Card>\n\n <div class=\"flex items-center gap-1\">\n <Button\n variant=\"outline\"\n size=\"sm\"\n :disabled=\"selectedIndex <= 0\"\n data-testid=\"form-builder-move-up\"\n @click=\"onMoveUp\"\n >\n <ArrowUp class=\"h-3.5 w-3.5\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"sm\"\n :disabled=\"!canMoveDown\"\n data-testid=\"form-builder-move-down\"\n @click=\"onMoveDown\"\n >\n <ArrowDown class=\"h-3.5 w-3.5\" />\n </Button>\n <Button\n variant=\"destructive\"\n size=\"sm\"\n class=\"ml-auto\"\n data-testid=\"form-builder-remove\"\n @click=\"onRemove\"\n >\n <Trash2 class=\"h-3.5 w-3.5\" />\n Remove\n </Button>\n </div>\n </div>\n </aside>\n </div>\n</template>\n"],"names":["props","__props","model","_useModel","nextAutoId","makeAutoId","fallbackId","ref","builderId","computed","canvasMode","zoomedCardId","isZoomed","zoomedCardElement","builder","zoomInto","elementId","zoomOut","useFormBuilder","isBuilderSchema","value","v","onMounted","seed","watch","next","rootCard","canvasRootContainerId","activeCanvasContainerId","activeElementList","getElementList","rootElementList","card","isCardElement","el","containerId","schema","resolveElementForRender","nestedElements","id","paletteGroups","CardElementMetadataMap","type","meta","CardElementStylesMap","expandedGroups","reactive","toggleGroup","selectedElement","sel","selectedContainerId","elId","bag","selectedContainerList","selectedIndex","canMoveDown","list","onStyleClick","category","style","newId","onCanvasElementClick","onMoveUp","onMoveDown","onRemove","onClearSelection","patchSelected","patch","inspectorFields","editConfig","getElementEditConfig","splitElementType","virtualItem","spec","t","shouldRender","fieldName","getFieldValue","onFieldInput","joinElementType","canvasEl","activeDrag","dropTargetIndex","dropContainerId","getColSpan","span","elementGridStyle","beginFormDrag","mode","fromContainerId","fromIndex","event","target","_a","onFormPointerMove","onFormPointerUp","onReorderHandlePointerDown","index","onResizeHandlePointerDown","state","dx","colW","colDelta","newSpan","containerEl","cId","blockEl","idx","cleanupFormDrag","targetContainer","onBeforeUnmount","outerGridColumns","_createElementBlock","_normalizeClass","_unref","cn","_createElementVNode","_hoisted_2","_hoisted_3","_toDisplayString","_hoisted_4","_Fragment","_renderList","entry","$event","_createVNode","ChevronRight","_hoisted_6","_hoisted_7","_hoisted_8","_openBlock","_hoisted_9","styleOption","Plus","_hoisted_11","_hoisted_12","_hoisted_13","Minimize2","_cache","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","LayoutList","PencilLine","Badge","_hoisted_19","_createBlock","_Suspense","ElementRenderer","_hoisted_20","CardRenderer","_hoisted_21","_hoisted_23","_b","_c","_normalizeStyle","_withModifiers","e","GripHorizontal","ChevronsLeftRight","Maximize2","_hoisted_29","_hoisted_31","childId","childIdx","_hoisted_35","_hoisted_27","_hoisted_36","_hoisted_37","_hoisted_45","_hoisted_46","Button","X","_hoisted_47","Card","CardHeader","CardTitle","_createTextVNode","CardContent","field","_hoisted_48","Label","Switch","_hoisted_49","opt","_hoisted_51","_hoisted_52","Textarea","_hoisted_53","Input","Separator","_hoisted_54","_hoisted_55","_hoisted_56","ArrowUp","ArrowDown","Trash2","_hoisted_43","TooltipProvider","Tooltip","TooltipTrigger","_hoisted_44","Info","TooltipContent"],"mappings":"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"}
|