@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,5 +1,169 @@
|
|
|
1
|
-
import f from "
|
|
1
|
+
import { defineComponent as R, useModel as T, useTemplateRef as z, ref as p, computed as C, onBeforeUnmount as F, openBlock as f, createBlock as m, unref as i, withCtx as M, createElementVNode as v, createVNode as k, normalizeClass as N, toDisplayString as U, withDirectives as $, vShow as H, mergeModels as I } from "vue";
|
|
2
|
+
import { Loader2 as j, StopCircle as A, Camera as G } from "lucide-vue-next";
|
|
3
|
+
import J from "../../../ui/input/Input.vue.js";
|
|
4
|
+
import "../../../ui/button/index.js";
|
|
5
|
+
import K from "../../../ui/field-frame/FieldFrame.vue.js";
|
|
6
|
+
import O from "../../../ui/button/Button.vue.js";
|
|
7
|
+
const P = ["data-element-name"], Q = { class: "flex items-center gap-2" }, te = /* @__PURE__ */ R({
|
|
8
|
+
__name: "BarcodeScannerInput",
|
|
9
|
+
props: /* @__PURE__ */ I({
|
|
10
|
+
modelValue: {},
|
|
11
|
+
id: {},
|
|
12
|
+
name: {},
|
|
13
|
+
label: {},
|
|
14
|
+
hideLabel: { type: Boolean },
|
|
15
|
+
required: { type: Boolean },
|
|
16
|
+
readonly: { type: Boolean },
|
|
17
|
+
disabled: { type: Boolean },
|
|
18
|
+
helpText: {},
|
|
19
|
+
errors: { default: () => [] },
|
|
20
|
+
scanFormats: { default: () => [
|
|
21
|
+
"code_128_reader",
|
|
22
|
+
"ean_reader",
|
|
23
|
+
"ean_8_reader",
|
|
24
|
+
"code_39_reader",
|
|
25
|
+
"upc_reader"
|
|
26
|
+
] },
|
|
27
|
+
autoStart: { type: Boolean, default: !1 },
|
|
28
|
+
facingMode: { default: "environment" }
|
|
29
|
+
}, {
|
|
30
|
+
modelValue: {},
|
|
31
|
+
modelModifiers: {}
|
|
32
|
+
}),
|
|
33
|
+
emits: ["update:modelValue"],
|
|
34
|
+
setup(e, { expose: B }) {
|
|
35
|
+
const o = e, g = T(e, "modelValue"), w = z("videoContainerRef"), a = p(!1), t = p(!1), c = p("");
|
|
36
|
+
let n = null, u = null, d = null;
|
|
37
|
+
const q = C(() => t.value ? "Starting…" : a.value ? "Stop scanning" : "Scan"), D = C(() => c.value ? [...o.errors, c.value] : o.errors);
|
|
38
|
+
function E() {
|
|
39
|
+
if (u) {
|
|
40
|
+
for (const l of u.getTracks())
|
|
41
|
+
try {
|
|
42
|
+
l.stop();
|
|
43
|
+
} catch {
|
|
44
|
+
}
|
|
45
|
+
u = null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async function s() {
|
|
49
|
+
if (n)
|
|
50
|
+
try {
|
|
51
|
+
d && n.offDetected(d), await n.stop();
|
|
52
|
+
} catch {
|
|
53
|
+
}
|
|
54
|
+
d = null, n = null, E(), a.value = !1, t.value = !1;
|
|
55
|
+
}
|
|
56
|
+
async function h() {
|
|
57
|
+
var l;
|
|
58
|
+
if (!(a.value || t.value)) {
|
|
59
|
+
c.value = "", t.value = !0;
|
|
60
|
+
try {
|
|
61
|
+
const r = typeof navigator < "u" ? navigator : void 0;
|
|
62
|
+
if (!((l = r == null ? void 0 : r.mediaDevices) != null && l.getUserMedia))
|
|
63
|
+
throw new Error("Camera access is not available in this environment.");
|
|
64
|
+
u = await r.mediaDevices.getUserMedia({
|
|
65
|
+
video: { facingMode: o.facingMode },
|
|
66
|
+
audio: !1
|
|
67
|
+
}), n = (await import("@ericblade/quagga2")).default;
|
|
68
|
+
const S = w.value;
|
|
69
|
+
if (!S)
|
|
70
|
+
throw new Error("Scanner viewport is not mounted.");
|
|
71
|
+
await n.init({
|
|
72
|
+
inputStream: {
|
|
73
|
+
type: "LiveStream",
|
|
74
|
+
target: S,
|
|
75
|
+
constraints: {
|
|
76
|
+
facingMode: o.facingMode
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
decoder: {
|
|
80
|
+
readers: [...o.scanFormats]
|
|
81
|
+
},
|
|
82
|
+
locate: !0
|
|
83
|
+
}), d = (y) => {
|
|
84
|
+
var x;
|
|
85
|
+
const b = (x = y == null ? void 0 : y.codeResult) == null ? void 0 : x.code;
|
|
86
|
+
typeof b == "string" && b.length > 0 && (g.value = b, s());
|
|
87
|
+
}, n.onDetected(d), n.start(), a.value = !0;
|
|
88
|
+
} catch (r) {
|
|
89
|
+
c.value = r instanceof Error ? r.message : "Failed to start scanner.", await s();
|
|
90
|
+
} finally {
|
|
91
|
+
t.value = !1;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
async function V() {
|
|
96
|
+
a.value ? await s() : await h();
|
|
97
|
+
}
|
|
98
|
+
function L(l) {
|
|
99
|
+
l && (g.value = l);
|
|
100
|
+
}
|
|
101
|
+
return B({ __handleDetectedForTest: L, start: h, stop: s }), o.autoStart && h(), F(() => {
|
|
102
|
+
s();
|
|
103
|
+
}), (l, r) => (f(), m(i(K), {
|
|
104
|
+
label: e.label,
|
|
105
|
+
required: e.required,
|
|
106
|
+
"hide-label": e.hideLabel,
|
|
107
|
+
for: e.id,
|
|
108
|
+
"help-text": e.helpText,
|
|
109
|
+
errors: D.value
|
|
110
|
+
}, {
|
|
111
|
+
default: M(() => [
|
|
112
|
+
v("div", {
|
|
113
|
+
class: "flex flex-col gap-2",
|
|
114
|
+
"data-element-name": e.name ?? void 0
|
|
115
|
+
}, [
|
|
116
|
+
v("div", Q, [
|
|
117
|
+
k(i(J), {
|
|
118
|
+
id: e.id,
|
|
119
|
+
"model-value": g.value ?? void 0,
|
|
120
|
+
name: e.name ?? void 0,
|
|
121
|
+
type: "text",
|
|
122
|
+
readonly: "",
|
|
123
|
+
disabled: e.disabled,
|
|
124
|
+
required: e.required,
|
|
125
|
+
placeholder: "No code scanned yet",
|
|
126
|
+
"data-element-name": e.name ?? void 0,
|
|
127
|
+
class: N(e.errors.length ? "border-destructive ring-destructive" : "")
|
|
128
|
+
}, null, 8, ["id", "model-value", "name", "disabled", "required", "data-element-name", "class"]),
|
|
129
|
+
k(i(O), {
|
|
130
|
+
type: "button",
|
|
131
|
+
variant: a.value ? "destructive" : "default",
|
|
132
|
+
disabled: e.disabled || e.readonly || t.value,
|
|
133
|
+
"data-testid": "barcode-scan-toggle",
|
|
134
|
+
onClick: V
|
|
135
|
+
}, {
|
|
136
|
+
default: M(() => [
|
|
137
|
+
t.value ? (f(), m(i(j), {
|
|
138
|
+
key: 0,
|
|
139
|
+
class: "size-4 animate-spin"
|
|
140
|
+
})) : a.value ? (f(), m(i(A), {
|
|
141
|
+
key: 1,
|
|
142
|
+
class: "size-4"
|
|
143
|
+
})) : (f(), m(i(G), {
|
|
144
|
+
key: 2,
|
|
145
|
+
class: "size-4"
|
|
146
|
+
})),
|
|
147
|
+
v("span", null, U(q.value), 1)
|
|
148
|
+
]),
|
|
149
|
+
_: 1
|
|
150
|
+
}, 8, ["variant", "disabled"])
|
|
151
|
+
]),
|
|
152
|
+
$(v("div", {
|
|
153
|
+
ref_key: "videoContainerRef",
|
|
154
|
+
ref: w,
|
|
155
|
+
"data-testid": "barcode-scan-viewport",
|
|
156
|
+
class: "relative h-64 w-full overflow-hidden rounded-md border border-input bg-muted"
|
|
157
|
+
}, null, 512), [
|
|
158
|
+
[H, a.value || t.value]
|
|
159
|
+
])
|
|
160
|
+
], 8, P)
|
|
161
|
+
]),
|
|
162
|
+
_: 1
|
|
163
|
+
}, 8, ["label", "required", "hide-label", "for", "help-text", "errors"]));
|
|
164
|
+
}
|
|
165
|
+
});
|
|
2
166
|
export {
|
|
3
|
-
|
|
167
|
+
te as default
|
|
4
168
|
};
|
|
5
169
|
//# sourceMappingURL=BarcodeScannerInput.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BarcodeScannerInput.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"BarcodeScannerInput.vue.js","sources":["../../../../../src/components/compositions/elements/input/BarcodeScannerInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven barcode scanner input.\n *\n * Wraps `@ericblade/quagga2` to provide a live camera-driven barcode\n * scanner. Renders the last decoded value in a read-only Input plus a\n * \"Scan\" button that toggles a `<video>` viewport.\n *\n * The quagga library and the `getUserMedia` API are lazy-imported when\n * scanning starts so the component is safe to render in environments\n * without a camera (e.g. jsdom).\n *\n * <BarcodeScannerInput v-model=\"ticket\" label=\"Scan ticket\" />\n */\nimport { computed, onBeforeUnmount, ref, useTemplateRef } from \"vue\"\nimport { Camera, Loader2, StopCircle } from \"lucide-vue-next\"\nimport { Input } from \"@/components/ui/input\"\nimport { Button } from \"@/components/ui/button\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\n\nexport interface BarcodeScannerInputProps {\n modelValue?: string | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n /** Quagga barcode reader symbologies to recognise. */\n scanFormats?: ReadonlyArray<string>\n /** Start scanning automatically when the component mounts. */\n autoStart?: boolean\n /** Preferred camera facing mode. */\n facingMode?: \"environment\" | \"user\"\n}\n\nconst props = withDefaults(defineProps<BarcodeScannerInputProps>(), {\n errors: () => [],\n scanFormats: () => [\n \"code_128_reader\",\n \"ean_reader\",\n \"ean_8_reader\",\n \"code_39_reader\",\n \"upc_reader\",\n ],\n autoStart: false,\n facingMode: \"environment\",\n})\n\nconst model = defineModel<string | null>(\"modelValue\")\n\n/** Loose Quagga handle — type-definitions ship with the library but we\n * keep the references local rather than pulling its full type graph. */\ntype QuaggaResult = { codeResult?: { code?: string | null } }\ntype QuaggaHandle = {\n init: (config: Record<string, unknown>) => Promise<void>\n start: () => void\n stop: () => Promise<void> | void\n onDetected: (cb: (result: QuaggaResult) => void) => void\n offDetected: (cb: (result: QuaggaResult) => void) => void\n}\n\nconst videoContainerRef = useTemplateRef<HTMLDivElement>(\"videoContainerRef\")\nconst scanning = ref<boolean>(false)\nconst starting = ref<boolean>(false)\nconst scanError = ref<string>(\"\")\n\nlet quagga: QuaggaHandle | null = null\nlet mediaStream: MediaStream | null = null\nlet detectedHandler: ((result: QuaggaResult) => void) | null = null\n\nconst buttonLabel = computed<string>(() => {\n if (starting.value) {\n return \"Starting…\"\n }\n return scanning.value ? \"Stop scanning\" : \"Scan\"\n})\n\nconst allErrors = computed<string[]>(() => {\n if (scanError.value) {\n return [...props.errors, scanError.value]\n }\n return props.errors\n})\n\nfunction releaseStream(): void {\n if (mediaStream) {\n for (const track of mediaStream.getTracks()) {\n try {\n track.stop()\n } catch {\n /* ignore */\n }\n }\n mediaStream = null\n }\n}\n\nasync function stop(): Promise<void> {\n if (quagga) {\n try {\n if (detectedHandler) {\n quagga.offDetected(detectedHandler)\n }\n await quagga.stop()\n } catch {\n /* ignore */\n }\n }\n detectedHandler = null\n quagga = null\n releaseStream()\n scanning.value = false\n starting.value = false\n}\n\nasync function start(): Promise<void> {\n if (scanning.value || starting.value) {\n return\n }\n scanError.value = \"\"\n starting.value = true\n\n try {\n const nav = typeof navigator !== \"undefined\" ? navigator : undefined\n if (!nav?.mediaDevices?.getUserMedia) {\n throw new Error(\"Camera access is not available in this environment.\")\n }\n\n mediaStream = await nav.mediaDevices.getUserMedia({\n video: { facingMode: props.facingMode },\n audio: false,\n })\n\n const mod = await import(\"@ericblade/quagga2\")\n quagga = (mod as unknown as { default: QuaggaHandle }).default\n\n const target = videoContainerRef.value\n if (!target) {\n throw new Error(\"Scanner viewport is not mounted.\")\n }\n\n await quagga.init({\n inputStream: {\n type: \"LiveStream\",\n target,\n constraints: {\n facingMode: props.facingMode,\n },\n },\n decoder: {\n readers: [...props.scanFormats],\n },\n locate: true,\n })\n\n detectedHandler = (result: QuaggaResult): void => {\n const code = result?.codeResult?.code\n if (typeof code === \"string\" && code.length > 0) {\n model.value = code\n void stop()\n }\n }\n quagga.onDetected(detectedHandler)\n\n quagga.start()\n scanning.value = true\n } catch (e) {\n scanError.value = e instanceof Error ? e.message : \"Failed to start scanner.\"\n await stop()\n } finally {\n starting.value = false\n }\n}\n\nasync function toggleScan(): Promise<void> {\n if (scanning.value) {\n await stop()\n } else {\n await start()\n }\n}\n\n/**\n * Test hook — lets tests simulate a successful Quagga detection\n * without spinning up a real camera. Not part of the public contract;\n * exposed only via `wrapper.vm` in unit tests.\n */\nfunction __handleDetectedForTest(code: string): void {\n if (code) {\n model.value = code\n }\n}\n\ndefineExpose({ __handleDetectedForTest, start, stop })\n\nif (props.autoStart) {\n void start()\n}\n\nonBeforeUnmount(() => {\n void stop()\n})\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :for=\"id\"\n :help-text=\"helpText\"\n :errors=\"allErrors\"\n >\n <div class=\"flex flex-col gap-2\" :data-element-name=\"name ?? undefined\">\n <div class=\"flex items-center gap-2\">\n <Input\n :id=\"id\"\n :model-value=\"model ?? undefined\"\n :name=\"name ?? undefined\"\n type=\"text\"\n readonly\n :disabled=\"disabled\"\n :required=\"required\"\n placeholder=\"No code scanned yet\"\n :data-element-name=\"name ?? undefined\"\n :class=\"errors.length ? 'border-destructive ring-destructive' : ''\"\n />\n <Button\n type=\"button\"\n :variant=\"scanning ? 'destructive' : 'default'\"\n :disabled=\"disabled || readonly || starting\"\n data-testid=\"barcode-scan-toggle\"\n @click=\"toggleScan\"\n >\n <Loader2 v-if=\"starting\" class=\"size-4 animate-spin\" />\n <StopCircle v-else-if=\"scanning\" class=\"size-4\" />\n <Camera v-else class=\"size-4\" />\n <span>{{ buttonLabel }}</span>\n </Button>\n </div>\n <div\n v-show=\"scanning || starting\"\n ref=\"videoContainerRef\"\n data-testid=\"barcode-scan-viewport\"\n class=\"relative h-64 w-full overflow-hidden rounded-md border border-input bg-muted\"\n />\n </div>\n </FieldFrame>\n</template>\n"],"names":["props","__props","model","_useModel","videoContainerRef","useTemplateRef","scanning","ref","starting","scanError","quagga","mediaStream","detectedHandler","buttonLabel","computed","allErrors","releaseStream","track","stop","start","nav","_a","target","result","code","e","toggleScan","__handleDetectedForTest","__expose","onBeforeUnmount","_createBlock","_unref","FieldFrame","_createElementVNode","_hoisted_2","_createVNode","Input","_normalizeClass","Button","Loader2","StopCircle","Camera","_vShow"],"mappings":"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"}
|
|
@@ -1,169 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Loader2 as j, StopCircle as A, Camera as G } from "lucide-vue-next";
|
|
3
|
-
import J from "../../../ui/input/Input.vue.js";
|
|
4
|
-
import "../../../ui/button/index.js";
|
|
5
|
-
import K from "../../../ui/field-frame/FieldFrame.vue.js";
|
|
6
|
-
import O from "../../../ui/button/Button.vue.js";
|
|
7
|
-
const P = ["data-element-name"], Q = { class: "flex items-center gap-2" }, te = /* @__PURE__ */ R({
|
|
8
|
-
__name: "BarcodeScannerInput",
|
|
9
|
-
props: /* @__PURE__ */ I({
|
|
10
|
-
modelValue: {},
|
|
11
|
-
id: {},
|
|
12
|
-
name: {},
|
|
13
|
-
label: {},
|
|
14
|
-
hideLabel: { type: Boolean },
|
|
15
|
-
required: { type: Boolean },
|
|
16
|
-
readonly: { type: Boolean },
|
|
17
|
-
disabled: { type: Boolean },
|
|
18
|
-
helpText: {},
|
|
19
|
-
errors: { default: () => [] },
|
|
20
|
-
scanFormats: { default: () => [
|
|
21
|
-
"code_128_reader",
|
|
22
|
-
"ean_reader",
|
|
23
|
-
"ean_8_reader",
|
|
24
|
-
"code_39_reader",
|
|
25
|
-
"upc_reader"
|
|
26
|
-
] },
|
|
27
|
-
autoStart: { type: Boolean, default: !1 },
|
|
28
|
-
facingMode: { default: "environment" }
|
|
29
|
-
}, {
|
|
30
|
-
modelValue: {},
|
|
31
|
-
modelModifiers: {}
|
|
32
|
-
}),
|
|
33
|
-
emits: ["update:modelValue"],
|
|
34
|
-
setup(e, { expose: B }) {
|
|
35
|
-
const o = e, g = T(e, "modelValue"), w = z("videoContainerRef"), a = p(!1), t = p(!1), c = p("");
|
|
36
|
-
let n = null, u = null, d = null;
|
|
37
|
-
const q = C(() => t.value ? "Starting…" : a.value ? "Stop scanning" : "Scan"), D = C(() => c.value ? [...o.errors, c.value] : o.errors);
|
|
38
|
-
function E() {
|
|
39
|
-
if (u) {
|
|
40
|
-
for (const l of u.getTracks())
|
|
41
|
-
try {
|
|
42
|
-
l.stop();
|
|
43
|
-
} catch {
|
|
44
|
-
}
|
|
45
|
-
u = null;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
async function s() {
|
|
49
|
-
if (n)
|
|
50
|
-
try {
|
|
51
|
-
d && n.offDetected(d), await n.stop();
|
|
52
|
-
} catch {
|
|
53
|
-
}
|
|
54
|
-
d = null, n = null, E(), a.value = !1, t.value = !1;
|
|
55
|
-
}
|
|
56
|
-
async function h() {
|
|
57
|
-
var l;
|
|
58
|
-
if (!(a.value || t.value)) {
|
|
59
|
-
c.value = "", t.value = !0;
|
|
60
|
-
try {
|
|
61
|
-
const r = typeof navigator < "u" ? navigator : void 0;
|
|
62
|
-
if (!((l = r == null ? void 0 : r.mediaDevices) != null && l.getUserMedia))
|
|
63
|
-
throw new Error("Camera access is not available in this environment.");
|
|
64
|
-
u = await r.mediaDevices.getUserMedia({
|
|
65
|
-
video: { facingMode: o.facingMode },
|
|
66
|
-
audio: !1
|
|
67
|
-
}), n = (await import("@ericblade/quagga2")).default;
|
|
68
|
-
const S = w.value;
|
|
69
|
-
if (!S)
|
|
70
|
-
throw new Error("Scanner viewport is not mounted.");
|
|
71
|
-
await n.init({
|
|
72
|
-
inputStream: {
|
|
73
|
-
type: "LiveStream",
|
|
74
|
-
target: S,
|
|
75
|
-
constraints: {
|
|
76
|
-
facingMode: o.facingMode
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
decoder: {
|
|
80
|
-
readers: [...o.scanFormats]
|
|
81
|
-
},
|
|
82
|
-
locate: !0
|
|
83
|
-
}), d = (y) => {
|
|
84
|
-
var x;
|
|
85
|
-
const b = (x = y == null ? void 0 : y.codeResult) == null ? void 0 : x.code;
|
|
86
|
-
typeof b == "string" && b.length > 0 && (g.value = b, s());
|
|
87
|
-
}, n.onDetected(d), n.start(), a.value = !0;
|
|
88
|
-
} catch (r) {
|
|
89
|
-
c.value = r instanceof Error ? r.message : "Failed to start scanner.", await s();
|
|
90
|
-
} finally {
|
|
91
|
-
t.value = !1;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
async function V() {
|
|
96
|
-
a.value ? await s() : await h();
|
|
97
|
-
}
|
|
98
|
-
function L(l) {
|
|
99
|
-
l && (g.value = l);
|
|
100
|
-
}
|
|
101
|
-
return B({ __handleDetectedForTest: L, start: h, stop: s }), o.autoStart && h(), F(() => {
|
|
102
|
-
s();
|
|
103
|
-
}), (l, r) => (f(), m(i(K), {
|
|
104
|
-
label: e.label,
|
|
105
|
-
required: e.required,
|
|
106
|
-
"hide-label": e.hideLabel,
|
|
107
|
-
for: e.id,
|
|
108
|
-
"help-text": e.helpText,
|
|
109
|
-
errors: D.value
|
|
110
|
-
}, {
|
|
111
|
-
default: M(() => [
|
|
112
|
-
v("div", {
|
|
113
|
-
class: "flex flex-col gap-2",
|
|
114
|
-
"data-element-name": e.name ?? void 0
|
|
115
|
-
}, [
|
|
116
|
-
v("div", Q, [
|
|
117
|
-
k(i(J), {
|
|
118
|
-
id: e.id,
|
|
119
|
-
"model-value": g.value ?? void 0,
|
|
120
|
-
name: e.name ?? void 0,
|
|
121
|
-
type: "text",
|
|
122
|
-
readonly: "",
|
|
123
|
-
disabled: e.disabled,
|
|
124
|
-
required: e.required,
|
|
125
|
-
placeholder: "No code scanned yet",
|
|
126
|
-
"data-element-name": e.name ?? void 0,
|
|
127
|
-
class: N(e.errors.length ? "border-destructive ring-destructive" : "")
|
|
128
|
-
}, null, 8, ["id", "model-value", "name", "disabled", "required", "data-element-name", "class"]),
|
|
129
|
-
k(i(O), {
|
|
130
|
-
type: "button",
|
|
131
|
-
variant: a.value ? "destructive" : "default",
|
|
132
|
-
disabled: e.disabled || e.readonly || t.value,
|
|
133
|
-
"data-testid": "barcode-scan-toggle",
|
|
134
|
-
onClick: V
|
|
135
|
-
}, {
|
|
136
|
-
default: M(() => [
|
|
137
|
-
t.value ? (f(), m(i(j), {
|
|
138
|
-
key: 0,
|
|
139
|
-
class: "size-4 animate-spin"
|
|
140
|
-
})) : a.value ? (f(), m(i(A), {
|
|
141
|
-
key: 1,
|
|
142
|
-
class: "size-4"
|
|
143
|
-
})) : (f(), m(i(G), {
|
|
144
|
-
key: 2,
|
|
145
|
-
class: "size-4"
|
|
146
|
-
})),
|
|
147
|
-
v("span", null, U(q.value), 1)
|
|
148
|
-
]),
|
|
149
|
-
_: 1
|
|
150
|
-
}, 8, ["variant", "disabled"])
|
|
151
|
-
]),
|
|
152
|
-
$(v("div", {
|
|
153
|
-
ref_key: "videoContainerRef",
|
|
154
|
-
ref: w,
|
|
155
|
-
"data-testid": "barcode-scan-viewport",
|
|
156
|
-
class: "relative h-64 w-full overflow-hidden rounded-md border border-input bg-muted"
|
|
157
|
-
}, null, 512), [
|
|
158
|
-
[H, a.value || t.value]
|
|
159
|
-
])
|
|
160
|
-
], 8, P)
|
|
161
|
-
]),
|
|
162
|
-
_: 1
|
|
163
|
-
}, 8, ["label", "required", "hide-label", "for", "help-text", "errors"]));
|
|
164
|
-
}
|
|
165
|
-
});
|
|
1
|
+
import f from "./BarcodeScannerInput.vue.js";
|
|
166
2
|
export {
|
|
167
|
-
|
|
3
|
+
f as default
|
|
168
4
|
};
|
|
169
5
|
//# sourceMappingURL=BarcodeScannerInput.vue2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BarcodeScannerInput.vue2.js","sources":["../../../../../src/components/compositions/elements/input/BarcodeScannerInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven barcode scanner input.\n *\n * Wraps `@ericblade/quagga2` to provide a live camera-driven barcode\n * scanner. Renders the last decoded value in a read-only Input plus a\n * \"Scan\" button that toggles a `<video>` viewport.\n *\n * The quagga library and the `getUserMedia` API are lazy-imported when\n * scanning starts so the component is safe to render in environments\n * without a camera (e.g. jsdom).\n *\n * <BarcodeScannerInput v-model=\"ticket\" label=\"Scan ticket\" />\n */\nimport { computed, onBeforeUnmount, ref, useTemplateRef } from \"vue\"\nimport { Camera, Loader2, StopCircle } from \"lucide-vue-next\"\nimport { Input } from \"@/components/ui/input\"\nimport { Button } from \"@/components/ui/button\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\n\nexport interface BarcodeScannerInputProps {\n modelValue?: string | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n /** Quagga barcode reader symbologies to recognise. */\n scanFormats?: ReadonlyArray<string>\n /** Start scanning automatically when the component mounts. */\n autoStart?: boolean\n /** Preferred camera facing mode. */\n facingMode?: \"environment\" | \"user\"\n}\n\nconst props = withDefaults(defineProps<BarcodeScannerInputProps>(), {\n errors: () => [],\n scanFormats: () => [\n \"code_128_reader\",\n \"ean_reader\",\n \"ean_8_reader\",\n \"code_39_reader\",\n \"upc_reader\",\n ],\n autoStart: false,\n facingMode: \"environment\",\n})\n\nconst model = defineModel<string | null>(\"modelValue\")\n\n/** Loose Quagga handle — type-definitions ship with the library but we\n * keep the references local rather than pulling its full type graph. */\ntype QuaggaResult = { codeResult?: { code?: string | null } }\ntype QuaggaHandle = {\n init: (config: Record<string, unknown>) => Promise<void>\n start: () => void\n stop: () => Promise<void> | void\n onDetected: (cb: (result: QuaggaResult) => void) => void\n offDetected: (cb: (result: QuaggaResult) => void) => void\n}\n\nconst videoContainerRef = useTemplateRef<HTMLDivElement>(\"videoContainerRef\")\nconst scanning = ref<boolean>(false)\nconst starting = ref<boolean>(false)\nconst scanError = ref<string>(\"\")\n\nlet quagga: QuaggaHandle | null = null\nlet mediaStream: MediaStream | null = null\nlet detectedHandler: ((result: QuaggaResult) => void) | null = null\n\nconst buttonLabel = computed<string>(() => {\n if (starting.value) {\n return \"Starting…\"\n }\n return scanning.value ? \"Stop scanning\" : \"Scan\"\n})\n\nconst allErrors = computed<string[]>(() => {\n if (scanError.value) {\n return [...props.errors, scanError.value]\n }\n return props.errors\n})\n\nfunction releaseStream(): void {\n if (mediaStream) {\n for (const track of mediaStream.getTracks()) {\n try {\n track.stop()\n } catch {\n /* ignore */\n }\n }\n mediaStream = null\n }\n}\n\nasync function stop(): Promise<void> {\n if (quagga) {\n try {\n if (detectedHandler) {\n quagga.offDetected(detectedHandler)\n }\n await quagga.stop()\n } catch {\n /* ignore */\n }\n }\n detectedHandler = null\n quagga = null\n releaseStream()\n scanning.value = false\n starting.value = false\n}\n\nasync function start(): Promise<void> {\n if (scanning.value || starting.value) {\n return\n }\n scanError.value = \"\"\n starting.value = true\n\n try {\n const nav = typeof navigator !== \"undefined\" ? navigator : undefined\n if (!nav?.mediaDevices?.getUserMedia) {\n throw new Error(\"Camera access is not available in this environment.\")\n }\n\n mediaStream = await nav.mediaDevices.getUserMedia({\n video: { facingMode: props.facingMode },\n audio: false,\n })\n\n const mod = await import(\"@ericblade/quagga2\")\n quagga = (mod as unknown as { default: QuaggaHandle }).default\n\n const target = videoContainerRef.value\n if (!target) {\n throw new Error(\"Scanner viewport is not mounted.\")\n }\n\n await quagga.init({\n inputStream: {\n type: \"LiveStream\",\n target,\n constraints: {\n facingMode: props.facingMode,\n },\n },\n decoder: {\n readers: [...props.scanFormats],\n },\n locate: true,\n })\n\n detectedHandler = (result: QuaggaResult): void => {\n const code = result?.codeResult?.code\n if (typeof code === \"string\" && code.length > 0) {\n model.value = code\n void stop()\n }\n }\n quagga.onDetected(detectedHandler)\n\n quagga.start()\n scanning.value = true\n } catch (e) {\n scanError.value = e instanceof Error ? e.message : \"Failed to start scanner.\"\n await stop()\n } finally {\n starting.value = false\n }\n}\n\nasync function toggleScan(): Promise<void> {\n if (scanning.value) {\n await stop()\n } else {\n await start()\n }\n}\n\n/**\n * Test hook — lets tests simulate a successful Quagga detection\n * without spinning up a real camera. Not part of the public contract;\n * exposed only via `wrapper.vm` in unit tests.\n */\nfunction __handleDetectedForTest(code: string): void {\n if (code) {\n model.value = code\n }\n}\n\ndefineExpose({ __handleDetectedForTest, start, stop })\n\nif (props.autoStart) {\n void start()\n}\n\nonBeforeUnmount(() => {\n void stop()\n})\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :for=\"id\"\n :help-text=\"helpText\"\n :errors=\"allErrors\"\n >\n <div class=\"flex flex-col gap-2\" :data-element-name=\"name ?? undefined\">\n <div class=\"flex items-center gap-2\">\n <Input\n :id=\"id\"\n :model-value=\"model ?? undefined\"\n :name=\"name ?? undefined\"\n type=\"text\"\n readonly\n :disabled=\"disabled\"\n :required=\"required\"\n placeholder=\"No code scanned yet\"\n :data-element-name=\"name ?? undefined\"\n :class=\"errors.length ? 'border-destructive ring-destructive' : ''\"\n />\n <Button\n type=\"button\"\n :variant=\"scanning ? 'destructive' : 'default'\"\n :disabled=\"disabled || readonly || starting\"\n data-testid=\"barcode-scan-toggle\"\n @click=\"toggleScan\"\n >\n <Loader2 v-if=\"starting\" class=\"size-4 animate-spin\" />\n <StopCircle v-else-if=\"scanning\" class=\"size-4\" />\n <Camera v-else class=\"size-4\" />\n <span>{{ buttonLabel }}</span>\n </Button>\n </div>\n <div\n v-show=\"scanning || starting\"\n ref=\"videoContainerRef\"\n data-testid=\"barcode-scan-viewport\"\n class=\"relative h-64 w-full overflow-hidden rounded-md border border-input bg-muted\"\n />\n </div>\n </FieldFrame>\n</template>\n"],"names":["props","__props","model","_useModel","videoContainerRef","useTemplateRef","scanning","ref","starting","scanError","quagga","mediaStream","detectedHandler","buttonLabel","computed","allErrors","releaseStream","track","stop","start","nav","_a","target","result","code","e","toggleScan","__handleDetectedForTest","__expose","onBeforeUnmount","_createBlock","_unref","FieldFrame","_createElementVNode","_hoisted_2","_createVNode","Input","_normalizeClass","Button","Loader2","StopCircle","Camera","_vShow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,UAAMA,IAAQC,GAaRC,IAAQC,EAA0BF,GAAC,YAAY,GAa/CG,IAAoBC,EAA+B,mBAAmB,GACtEC,IAAWC,EAAa,EAAK,GAC7BC,IAAWD,EAAa,EAAK,GAC7BE,IAAYF,EAAY,EAAE;AAEhC,QAAIG,IAA8B,MAC9BC,IAAkC,MAClCC,IAA2D;AAE/D,UAAMC,IAAcC,EAAiB,MAC/BN,EAAS,QACJ,cAEFF,EAAS,QAAQ,kBAAkB,MAC3C,GAEKS,IAAYD,EAAmB,MAC/BL,EAAU,QACL,CAAC,GAAGT,EAAM,QAAQS,EAAU,KAAK,IAEnCT,EAAM,MACd;AAED,aAASgB,IAAsB;AAC7B,UAAIL,GAAa;AACf,mBAAWM,KAASN,EAAY;AAC9B,cAAI;AACF,YAAAM,EAAM,KAAA;AAAA,UACR,QAAQ;AAAA,UAER;AAEF,QAAAN,IAAc;AAAA,MAChB;AAAA,IACF;AAEA,mBAAeO,IAAsB;AACnC,UAAIR;AACF,YAAI;AACF,UAAIE,KACFF,EAAO,YAAYE,CAAe,GAEpC,MAAMF,EAAO,KAAA;AAAA,QACf,QAAQ;AAAA,QAER;AAEF,MAAAE,IAAkB,MAClBF,IAAS,MACTM,EAAA,GACAV,EAAS,QAAQ,IACjBE,EAAS,QAAQ;AAAA,IACnB;AAEA,mBAAeW,IAAuB;;AACpC,UAAI,EAAAb,EAAS,SAASE,EAAS,QAG/B;AAAA,QAAAC,EAAU,QAAQ,IAClBD,EAAS,QAAQ;AAEjB,YAAI;AACF,gBAAMY,IAAM,OAAO,YAAc,MAAc,YAAY;AAC3D,cAAI,GAACC,IAAAD,KAAA,gBAAAA,EAAK,iBAAL,QAAAC,EAAmB;AACtB,kBAAM,IAAI,MAAM,qDAAqD;AAGvE,UAAAV,IAAc,MAAMS,EAAI,aAAa,aAAa;AAAA,YAChD,OAAO,EAAE,YAAYpB,EAAM,WAAA;AAAA,YAC3B,OAAO;AAAA,UAAA,CACR,GAGDU,KADY,MAAM,OAAO,oBAAoB,GACU;AAEvD,gBAAMY,IAASlB,EAAkB;AACjC,cAAI,CAACkB;AACH,kBAAM,IAAI,MAAM,kCAAkC;AAGpD,gBAAMZ,EAAO,KAAK;AAAA,YAChB,aAAa;AAAA,cACX,MAAM;AAAA,cACN,QAAAY;AAAA,cACA,aAAa;AAAA,gBACX,YAAYtB,EAAM;AAAA,cAAA;AAAA,YACpB;AAAA,YAEF,SAAS;AAAA,cACP,SAAS,CAAC,GAAGA,EAAM,WAAW;AAAA,YAAA;AAAA,YAEhC,QAAQ;AAAA,UAAA,CACT,GAEDY,IAAkB,CAACW,MAA+B;;AAChD,kBAAMC,KAAOH,IAAAE,KAAA,gBAAAA,EAAQ,eAAR,gBAAAF,EAAoB;AACjC,YAAI,OAAOG,KAAS,YAAYA,EAAK,SAAS,MAC5CtB,EAAM,QAAQsB,GACTN,EAAA;AAAA,UAET,GACAR,EAAO,WAAWE,CAAe,GAEjCF,EAAO,MAAA,GACPJ,EAAS,QAAQ;AAAA,QACnB,SAASmB,GAAG;AACV,UAAAhB,EAAU,QAAQgB,aAAa,QAAQA,EAAE,UAAU,4BACnD,MAAMP,EAAA;AAAA,QACR,UAAA;AACE,UAAAV,EAAS,QAAQ;AAAA,QACnB;AAAA;AAAA,IACF;AAEA,mBAAekB,IAA4B;AACzC,MAAIpB,EAAS,QACX,MAAMY,EAAA,IAEN,MAAMC,EAAA;AAAA,IAEV;AAOA,aAASQ,EAAwBH,GAAoB;AACnD,MAAIA,MACFtB,EAAM,QAAQsB;AAAA,IAElB;AAEA,WAAAI,EAAa,EAAE,yBAAAD,GAAyB,OAAAR,GAAO,MAAAD,EAAA,CAAM,GAEjDlB,EAAM,aACHmB,EAAA,GAGPU,EAAgB,MAAM;AACpB,MAAKX,EAAA;AAAA,IACP,CAAC,mBAICY,EA0CaC,EAAAC,CAAA,GAAA;AAAA,MAzCV,OAAO/B,EAAA;AAAA,MACP,UAAUA,EAAA;AAAA,MACV,cAAYA,EAAA;AAAA,MACZ,KAAKA,EAAA;AAAA,MACL,aAAWA,EAAA;AAAA,MACX,QAAQc,EAAA;AAAA,IAAA;iBAET,MAiCM;AAAA,QAjCNkB,EAiCM,OAAA;AAAA,UAjCD,OAAM;AAAA,UAAuB,qBAAmBhC,EAAA,QAAQ;AAAA,QAAA;UAC3DgC,EAyBM,OAzBNC,GAyBM;AAAA,YAxBJC,EAWEJ,EAAAK,CAAA,GAAA;AAAA,cAVC,IAAInC,EAAA;AAAA,cACJ,eAAaC,EAAA,SAAS;AAAA,cACtB,MAAMD,EAAA,QAAQ;AAAA,cACf,MAAK;AAAA,cACL,UAAA;AAAA,cACC,UAAUA,EAAA;AAAA,cACV,UAAUA,EAAA;AAAA,cACX,aAAY;AAAA,cACX,qBAAmBA,EAAA,QAAQ;AAAA,cAC3B,OAAKoC,EAAEpC,EAAA,OAAO,SAAM,wCAAA,EAAA;AAAA,YAAA;YAEvBkC,EAWSJ,EAAAO,CAAA,GAAA;AAAA,cAVP,MAAK;AAAA,cACJ,SAAShC,EAAA,QAAQ,gBAAA;AAAA,cACjB,UAAUL,EAAA,YAAYA,EAAA,YAAYO,EAAA;AAAA,cACnC,eAAY;AAAA,cACX,SAAOkB;AAAA,YAAA;yBAER,MAAuD;AAAA,gBAAxClB,EAAA,cAAfsB,EAAuDC,EAAAQ,CAAA,GAAA;AAAA;kBAA9B,OAAM;AAAA,gBAAA,MACRjC,EAAA,cAAvBwB,EAAkDC,EAAAS,CAAA,GAAA;AAAA;kBAAjB,OAAM;AAAA,gBAAA,YACvCV,EAAgCC,EAAAU,CAAA,GAAA;AAAA;kBAAjB,OAAM;AAAA,gBAAA;gBACrBR,EAA8B,gBAArBpB,EAAA,KAAW,GAAA,CAAA;AAAA,cAAA;;;;YAGxBoB,EAKE,OAAA;AAAA,qBAHI;AAAA,YAAJ,KAAI7B;AAAA,YACJ,eAAY;AAAA,YACZ,OAAM;AAAA,UAAA;YAHE,CAAAsC,GAAApC,EAAA,SAAYE,EAAA,KAAQ;AAAA,UAAA;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"BarcodeScannerInput.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export interface EmailInputProps {
|
|
2
|
+
modelValue?: string;
|
|
3
|
+
id?: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
hideLabel?: boolean;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
readonly?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
maxlength?: number;
|
|
12
|
+
minlength?: number;
|
|
13
|
+
helpText?: string;
|
|
14
|
+
errors?: string[];
|
|
15
|
+
autoFocus?: boolean;
|
|
16
|
+
}
|
|
17
|
+
type __VLS_Props = EmailInputProps;
|
|
18
|
+
type __VLS_PublicProps = {
|
|
19
|
+
"modelValue"?: string;
|
|
20
|
+
} & __VLS_Props;
|
|
21
|
+
declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
22
|
+
"update:modelValue": (value: string) => any;
|
|
23
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
24
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
25
|
+
}>, {
|
|
26
|
+
errors: string[];
|
|
27
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
28
|
+
inputRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
|
|
29
|
+
modelValue?: string | number | undefined;
|
|
30
|
+
} & import('../../../ui/input/Input.vue').InputProps> & Readonly<{
|
|
31
|
+
"onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
|
|
32
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
33
|
+
"update:modelValue": (value: string | number | undefined) => any;
|
|
34
|
+
}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLInputElement, import('vue').ComponentProvideOptions, {
|
|
35
|
+
P: {};
|
|
36
|
+
B: {};
|
|
37
|
+
D: {};
|
|
38
|
+
C: {};
|
|
39
|
+
M: {};
|
|
40
|
+
Defaults: {};
|
|
41
|
+
}, Readonly<{
|
|
42
|
+
modelValue?: string | number | undefined;
|
|
43
|
+
} & import('../../../ui/input/Input.vue').InputProps> & Readonly<{
|
|
44
|
+
"onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
|
|
45
|
+
}>, {}, {}, {}, {}, {}> | null;
|
|
46
|
+
}, HTMLDivElement>;
|
|
47
|
+
export default _default;
|
|
48
|
+
//# sourceMappingURL=EmailInput.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmailInput.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/compositions/elements/input/EmailInput.vue"],"names":[],"mappings":"AAsFA,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,KAAK,WAAW,GAAG,eAAe,CAAC;AAqBnC,KAAK,iBAAiB,GAAG;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,WAAW,CAAC;;;;;;YA3BL,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;AAwInB,wBAUG"}
|
|
@@ -1,5 +1,65 @@
|
|
|
1
|
-
import f from "
|
|
1
|
+
import { defineComponent as r, useModel as m, useTemplateRef as u, onMounted as f, openBlock as c, createBlock as h, unref as o, withCtx as s, createVNode as b, normalizeClass as g, mergeModels as x } from "vue";
|
|
2
|
+
import y from "../../../ui/input/Input.vue.js";
|
|
3
|
+
import v from "../../../ui/field-frame/FieldFrame.vue.js";
|
|
4
|
+
const M = /* @__PURE__ */ r({
|
|
5
|
+
__name: "EmailInput",
|
|
6
|
+
props: /* @__PURE__ */ x({
|
|
7
|
+
modelValue: {},
|
|
8
|
+
id: {},
|
|
9
|
+
name: {},
|
|
10
|
+
label: {},
|
|
11
|
+
hideLabel: { type: Boolean },
|
|
12
|
+
placeholder: {},
|
|
13
|
+
required: { type: Boolean },
|
|
14
|
+
readonly: { type: Boolean },
|
|
15
|
+
disabled: { type: Boolean },
|
|
16
|
+
maxlength: {},
|
|
17
|
+
minlength: {},
|
|
18
|
+
helpText: {},
|
|
19
|
+
errors: { default: () => [] },
|
|
20
|
+
autoFocus: { type: Boolean }
|
|
21
|
+
}, {
|
|
22
|
+
modelValue: {},
|
|
23
|
+
modelModifiers: {}
|
|
24
|
+
}),
|
|
25
|
+
emits: ["update:modelValue"],
|
|
26
|
+
setup(e) {
|
|
27
|
+
const i = e, a = m(e, "modelValue"), t = u("inputRef");
|
|
28
|
+
return f(() => {
|
|
29
|
+
var l;
|
|
30
|
+
i.autoFocus && ((l = t.value) == null || l.focus());
|
|
31
|
+
}), (l, d) => (c(), h(o(v), {
|
|
32
|
+
label: e.label,
|
|
33
|
+
required: e.required,
|
|
34
|
+
"hide-label": e.hideLabel,
|
|
35
|
+
for: e.id,
|
|
36
|
+
"help-text": e.helpText,
|
|
37
|
+
errors: e.errors
|
|
38
|
+
}, {
|
|
39
|
+
default: s(() => [
|
|
40
|
+
b(o(y), {
|
|
41
|
+
ref_key: "inputRef",
|
|
42
|
+
ref: t,
|
|
43
|
+
"model-value": a.value ?? void 0,
|
|
44
|
+
id: e.id,
|
|
45
|
+
name: e.name ?? void 0,
|
|
46
|
+
type: "email",
|
|
47
|
+
placeholder: e.placeholder ?? "",
|
|
48
|
+
readonly: e.readonly,
|
|
49
|
+
disabled: e.disabled,
|
|
50
|
+
required: e.required,
|
|
51
|
+
maxlength: e.maxlength,
|
|
52
|
+
minlength: e.minlength,
|
|
53
|
+
"data-element-name": e.name ?? void 0,
|
|
54
|
+
class: g(e.errors.length ? "border-destructive ring-destructive" : ""),
|
|
55
|
+
"onUpdate:modelValue": d[0] || (d[0] = (n) => a.value = n == null ? "" : String(n))
|
|
56
|
+
}, null, 8, ["model-value", "id", "name", "placeholder", "readonly", "disabled", "required", "maxlength", "minlength", "data-element-name", "class"])
|
|
57
|
+
]),
|
|
58
|
+
_: 1
|
|
59
|
+
}, 8, ["label", "required", "hide-label", "for", "help-text", "errors"]));
|
|
60
|
+
}
|
|
61
|
+
});
|
|
2
62
|
export {
|
|
3
|
-
|
|
63
|
+
M as default
|
|
4
64
|
};
|
|
5
65
|
//# sourceMappingURL=EmailInput.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailInput.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"EmailInput.vue.js","sources":["../../../../../src/components/compositions/elements/input/EmailInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven email input composition. Composes the shadcn `Input`\n * primitive (with `type=\"email\"`) and `FieldFrame` chrome.\n *\n * Self-contained — usable directly in any Vue app:\n *\n * <EmailInput v-model=\"email\" label=\"Email address\" required />\n */\nimport { onMounted, useTemplateRef } from \"vue\"\nimport { Input } from \"@/components/ui/input\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\n\nexport interface EmailInputProps {\n modelValue?: string\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n maxlength?: number\n minlength?: number\n helpText?: string\n errors?: string[]\n autoFocus?: boolean\n}\n\nconst props = withDefaults(defineProps<EmailInputProps>(), {\n errors: () => [],\n})\n\nconst model = defineModel<string>(\"modelValue\")\n\nconst inputRef = useTemplateRef<HTMLInputElement>(\"inputRef\")\n\nonMounted(() => {\n if (props.autoFocus) {\n inputRef.value?.focus()\n }\n})\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :for=\"id\"\n :help-text=\"helpText\"\n :errors=\"errors\"\n >\n <Input\n ref=\"inputRef\"\n :model-value=\"model ?? undefined\"\n :id=\"id\"\n :name=\"name ?? undefined\"\n type=\"email\"\n :placeholder=\"placeholder ?? ''\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :required=\"required\"\n :maxlength=\"maxlength\"\n :minlength=\"minlength\"\n :data-element-name=\"name ?? undefined\"\n :class=\"errors.length ? 'border-destructive ring-destructive' : ''\"\n @update:model-value=\"(v: string | number | undefined) => (model = v == null ? '' : String(v))\"\n />\n </FieldFrame>\n</template>\n"],"names":["props","__props","model","_useModel","inputRef","useTemplateRef","onMounted","_a","_createBlock","_unref","FieldFrame","_createVNode","Input","_normalizeClass","_cache","v"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,UAAMA,IAAQC,GAIRC,IAAQC,EAAmBF,GAAC,YAAY,GAExCG,IAAWC,EAAiC,UAAU;AAE5D,WAAAC,EAAU,MAAM;;AACd,MAAIN,EAAM,eACRO,IAAAH,EAAS,UAAT,QAAAG,EAAgB;AAAA,IAEpB,CAAC,mBAICC,EAwBaC,EAAAC,CAAA,GAAA;AAAA,MAvBV,OAAOT,EAAA;AAAA,MACP,UAAUA,EAAA;AAAA,MACV,cAAYA,EAAA;AAAA,MACZ,KAAKA,EAAA;AAAA,MACL,aAAWA,EAAA;AAAA,MACX,QAAQA,EAAA;AAAA,IAAA;iBAET,MAeE;AAAA,QAfFU,EAeEF,EAAAG,CAAA,GAAA;AAAA,mBAdI;AAAA,UAAJ,KAAIR;AAAA,UACH,eAAaF,EAAA,SAAS;AAAA,UACtB,IAAID,EAAA;AAAA,UACJ,MAAMA,EAAA,QAAQ;AAAA,UACf,MAAK;AAAA,UACJ,aAAaA,EAAA,eAAW;AAAA,UACxB,UAAUA,EAAA;AAAA,UACV,UAAUA,EAAA;AAAA,UACV,UAAUA,EAAA;AAAA,UACV,WAAWA,EAAA;AAAA,UACX,WAAWA,EAAA;AAAA,UACX,qBAAmBA,EAAA,QAAQ;AAAA,UAC3B,OAAKY,EAAEZ,EAAA,OAAO,SAAM,wCAAA,EAAA;AAAA,UACpB,uBAAkBa,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,MAAoCb,EAAA,QAAQa,KAAC,OAAA,KAAgB,OAAOA,CAAC;AAAA,QAAA;;;;;;"}
|
|
@@ -1,65 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import y from "../../../ui/input/Input.vue.js";
|
|
3
|
-
import v from "../../../ui/field-frame/FieldFrame.vue.js";
|
|
4
|
-
const M = /* @__PURE__ */ r({
|
|
5
|
-
__name: "EmailInput",
|
|
6
|
-
props: /* @__PURE__ */ x({
|
|
7
|
-
modelValue: {},
|
|
8
|
-
id: {},
|
|
9
|
-
name: {},
|
|
10
|
-
label: {},
|
|
11
|
-
hideLabel: { type: Boolean },
|
|
12
|
-
placeholder: {},
|
|
13
|
-
required: { type: Boolean },
|
|
14
|
-
readonly: { type: Boolean },
|
|
15
|
-
disabled: { type: Boolean },
|
|
16
|
-
maxlength: {},
|
|
17
|
-
minlength: {},
|
|
18
|
-
helpText: {},
|
|
19
|
-
errors: { default: () => [] },
|
|
20
|
-
autoFocus: { type: Boolean }
|
|
21
|
-
}, {
|
|
22
|
-
modelValue: {},
|
|
23
|
-
modelModifiers: {}
|
|
24
|
-
}),
|
|
25
|
-
emits: ["update:modelValue"],
|
|
26
|
-
setup(e) {
|
|
27
|
-
const i = e, a = m(e, "modelValue"), t = u("inputRef");
|
|
28
|
-
return f(() => {
|
|
29
|
-
var l;
|
|
30
|
-
i.autoFocus && ((l = t.value) == null || l.focus());
|
|
31
|
-
}), (l, d) => (c(), h(o(v), {
|
|
32
|
-
label: e.label,
|
|
33
|
-
required: e.required,
|
|
34
|
-
"hide-label": e.hideLabel,
|
|
35
|
-
for: e.id,
|
|
36
|
-
"help-text": e.helpText,
|
|
37
|
-
errors: e.errors
|
|
38
|
-
}, {
|
|
39
|
-
default: s(() => [
|
|
40
|
-
b(o(y), {
|
|
41
|
-
ref_key: "inputRef",
|
|
42
|
-
ref: t,
|
|
43
|
-
"model-value": a.value ?? void 0,
|
|
44
|
-
id: e.id,
|
|
45
|
-
name: e.name ?? void 0,
|
|
46
|
-
type: "email",
|
|
47
|
-
placeholder: e.placeholder ?? "",
|
|
48
|
-
readonly: e.readonly,
|
|
49
|
-
disabled: e.disabled,
|
|
50
|
-
required: e.required,
|
|
51
|
-
maxlength: e.maxlength,
|
|
52
|
-
minlength: e.minlength,
|
|
53
|
-
"data-element-name": e.name ?? void 0,
|
|
54
|
-
class: g(e.errors.length ? "border-destructive ring-destructive" : ""),
|
|
55
|
-
"onUpdate:modelValue": d[0] || (d[0] = (n) => a.value = n == null ? "" : String(n))
|
|
56
|
-
}, null, 8, ["model-value", "id", "name", "placeholder", "readonly", "disabled", "required", "maxlength", "minlength", "data-element-name", "class"])
|
|
57
|
-
]),
|
|
58
|
-
_: 1
|
|
59
|
-
}, 8, ["label", "required", "hide-label", "for", "help-text", "errors"]));
|
|
60
|
-
}
|
|
61
|
-
});
|
|
1
|
+
import f from "./EmailInput.vue.js";
|
|
62
2
|
export {
|
|
63
|
-
|
|
3
|
+
f as default
|
|
64
4
|
};
|
|
65
5
|
//# sourceMappingURL=EmailInput.vue2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailInput.vue2.js","sources":[
|
|
1
|
+
{"version":3,"file":"EmailInput.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|