@mixd-id/web-scaffold 0.2.250801010 → 0.2.250801011
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/docs/components/AccountIcon.md +16 -0
- package/docs/components/Ahref.md +35 -0
- package/docs/components/Alert.md +72 -0
- package/docs/components/ArrayList.md +39 -0
- package/docs/components/Article.md +28 -0
- package/docs/components/BarChart.md +81 -0
- package/docs/components/Block.md +23 -0
- package/docs/components/Box.md +15 -0
- package/docs/components/Button.md +68 -0
- package/docs/components/Card.md +67 -0
- package/docs/components/Carousel.md +70 -0
- package/docs/components/Cart.md +20 -0
- package/docs/components/CartIcon.md +29 -0
- package/docs/components/Chart.md +53 -0
- package/docs/components/ChartBar.md +34 -0
- package/docs/components/ChatTyping.md +21 -0
- package/docs/components/Checkbox.md +63 -0
- package/docs/components/CodeEditor.md +25 -0
- package/docs/components/CollapsiblePanel.md +41 -0
- package/docs/components/ColorPicker.md +52 -0
- package/docs/components/Confirm.md +62 -0
- package/docs/components/ContextMenu.md +76 -0
- package/docs/components/ContextMenuItem.md +29 -0
- package/docs/components/CopyToClipboard.md +43 -0
- package/docs/components/Countdown.md +47 -0
- package/docs/components/Datepicker.md +61 -0
- package/docs/components/Datetimepicker.md +57 -0
- package/docs/components/DayTimeRange.md +20 -0
- package/docs/components/Dropdown.md +65 -0
- package/docs/components/ErrorText.md +15 -0
- package/docs/components/FBLogin.md +21 -0
- package/docs/components/Flex.md +44 -0
- package/docs/components/GHeatMaps.md +16 -0
- package/docs/components/GSignIn.md +21 -0
- package/docs/components/Gmaps.md +16 -0
- package/docs/components/GmapsDirection.md +20 -0
- package/docs/components/Grid.md +36 -0
- package/docs/components/HTMLEditor.md +26 -0
- package/docs/components/IconMenu.md +20 -0
- package/docs/components/Image.md +78 -0
- package/docs/components/Link.md +33 -0
- package/docs/components/MultiDropdown.md +46 -0
- package/docs/components/Radio.md +55 -0
- package/docs/components/Slider.md +47 -0
- package/docs/components/Switch.md +43 -0
- package/docs/components/Table.md +31 -0
- package/docs/components/Tabs.md +65 -0
- package/docs/components/Text.md +30 -0
- package/docs/components/Textarea.md +66 -0
- package/docs/components/Textbox.md +97 -0
- package/docs/components/Timepicker.md +62 -0
- package/docs/components/Toast.md +59 -0
- package/docs/components/Uploader.md +51 -0
- package/docs/components/Video.md +54 -0
- package/package.json +65 -2
- package/docs/components/Dashboard.md +0 -56
- package/docs/components/Header2.md +0 -16
- package/log.txt +0 -7
- package/public/assets/dashboard/bar.png +0 -0
- package/public/assets/dashboard/doughnut.png +0 -0
- package/public/assets/dashboard/metric.png +0 -0
- package/public/assets/dashboard/pie.png +0 -0
- package/public/assets/dashboard/polar-area.png +0 -0
- package/public/assets/dashboard/virtual-table.png +0 -0
- package/public/static/dashboard/bar.png +0 -0
- package/public/static/dashboard/doughnut.png +0 -0
- package/public/static/dashboard/metric.png +0 -0
- package/public/static/dashboard/pie.png +0 -0
- package/public/static/dashboard/polar-area.png +0 -0
- package/public/static/dashboard/virtual-table.png +0 -0
- package/src/components/404.vue +0 -61
- package/src/components/AccountIcon.vue +0 -19
- package/src/components/Ahref.vue +0 -200
- package/src/components/Alert.vue +0 -257
- package/src/components/ArrayList.vue +0 -49
- package/src/components/Article.vue +0 -387
- package/src/components/Block.vue +0 -31
- package/src/components/Box.vue +0 -34
- package/src/components/Button.vue +0 -258
- package/src/components/Card.vue +0 -257
- package/src/components/Carousel.vue +0 -364
- package/src/components/Cart.vue +0 -192
- package/src/components/CartIcon.vue +0 -89
- package/src/components/Chart.vue +0 -485
- package/src/components/ChartBar.vue +0 -192
- package/src/components/ChatTyping.vue +0 -69
- package/src/components/Checkbox.vue +0 -200
- package/src/components/Checkout.vue +0 -373
- package/src/components/CheckoutDelivery.vue +0 -267
- package/src/components/CodeEditor.vue +0 -50
- package/src/components/CollapsiblePanel.vue +0 -70
- package/src/components/ColorPicker.vue +0 -165
- package/src/components/ColorPicker2.vue +0 -186
- package/src/components/ColorPicker3.vue +0 -100
- package/src/components/Confirm.vue +0 -180
- package/src/components/ContextMenu.vue +0 -265
- package/src/components/ContextMenuItem.vue +0 -53
- package/src/components/ConversationBuilder.vue +0 -161
- package/src/components/CopyToClipboard.vue +0 -34
- package/src/components/Countdown.vue +0 -264
- package/src/components/DGrid.vue +0 -21
- package/src/components/DGridItem.vue +0 -263
- package/src/components/Dashboard.vue +0 -243
- package/src/components/Dashboard2.vue +0 -118
- package/src/components/DashboardComponentSelector.vue +0 -96
- package/src/components/DashboardConfigs.vue +0 -202
- package/src/components/DataList.vue +0 -92
- package/src/components/Datepicker.vue +0 -399
- package/src/components/DayTimeRange.vue +0 -126
- package/src/components/Dropdown.vue +0 -224
- package/src/components/ErrorText.vue +0 -57
- package/src/components/FBLogin.vue +0 -194
- package/src/components/Feed.vue +0 -118
- package/src/components/Flex.vue +0 -44
- package/src/components/GHeatMaps.vue +0 -317
- package/src/components/GSignIn.vue +0 -166
- package/src/components/Gmaps.vue +0 -251
- package/src/components/GmapsDirection.vue +0 -191
- package/src/components/Grid.vue +0 -35
- package/src/components/HTMLEditor.vue +0 -588
- package/src/components/IconMenu.vue +0 -95
- package/src/components/IconMenu2.vue +0 -89
- package/src/components/IconPlus.vue +0 -89
- package/src/components/Image.vue +0 -263
- package/src/components/Image360.vue +0 -140
- package/src/components/ImageFullScreen.vue +0 -101
- package/src/components/ImagePreview.vue +0 -93
- package/src/components/ImageUploader.vue +0 -114
- package/src/components/ImportModal.vue +0 -260
- package/src/components/Link.vue +0 -95
- package/src/components/List.vue +0 -1381
- package/src/components/ListContextMenu.vue +0 -88
- package/src/components/ListItem.vue +0 -160
- package/src/components/ListPage1.vue +0 -1401
- package/src/components/ListPage1Filter.vue +0 -170
- package/src/components/ListView.vue +0 -961
- package/src/components/ListViewBarSummary.vue +0 -81
- package/src/components/ListViewLineSummary.vue +0 -75
- package/src/components/ListViewLiveBarSummary.vue +0 -52
- package/src/components/ListViewMapSummary.vue +0 -56
- package/src/components/ListViewSettings.vue +0 -514
- package/src/components/ListViewTableSummary.vue +0 -77
- package/src/components/LogViewerItem.vue +0 -116
- package/src/components/MarkdownEdit.vue +0 -128
- package/src/components/MarkdownPreview.vue +0 -102
- package/src/components/MenuItem1.vue +0 -36
- package/src/components/Modal.vue +0 -456
- package/src/components/MultiDropdown.vue +0 -124
- package/src/components/MultilineText.vue +0 -174
- package/src/components/OTPField.vue +0 -139
- package/src/components/ObjectTree.vue +0 -105
- package/src/components/PageBuilder.vue +0 -449
- package/src/components/Paragraph.vue +0 -40
- package/src/components/PresetSelectorFilterItem.vue +0 -203
- package/src/components/Radio.vue +0 -109
- package/src/components/SearchModal.vue +0 -153
- package/src/components/Slider.vue +0 -317
- package/src/components/SplitPane.vue +0 -129
- package/src/components/Svg.vue +0 -33
- package/src/components/SvgEditor.vue +0 -173
- package/src/components/Switch.vue +0 -101
- package/src/components/TabView.vue +0 -105
- package/src/components/Table.vue +0 -56
- package/src/components/TableView.vue +0 -200
- package/src/components/TableViewHead.vue +0 -159
- package/src/components/Tabs.vue +0 -131
- package/src/components/Test.vue +0 -23
- package/src/components/Testimonial.vue +0 -86
- package/src/components/Text.vue +0 -34
- package/src/components/TextBlock.vue +0 -50
- package/src/components/TextEditor.vue +0 -85
- package/src/components/TextWithTag.vue +0 -298
- package/src/components/Textarea.vue +0 -184
- package/src/components/Textbox.vue +0 -216
- package/src/components/Thumbnail.vue +0 -27
- package/src/components/Timepicker.vue +0 -125
- package/src/components/Toast.vue +0 -117
- package/src/components/TreeMenu.vue +0 -122
- package/src/components/TreeView.vue +0 -106
- package/src/components/TreeView2.vue +0 -38
- package/src/components/TreeViewItem.vue +0 -453
- package/src/components/TreeViewItem1.vue +0 -282
- package/src/components/TreeViewItem2.vue +0 -55
- package/src/components/Uploader.vue +0 -45
- package/src/components/Video.vue +0 -119
- package/src/components/VirtualGrid.vue +0 -297
- package/src/components/VirtualScroll.vue +0 -282
- package/src/components/VirtualTable.vue +0 -956
- package/src/components/YoutubeVideo.vue +0 -196
- package/src/configs/dashboard/bar.js +0 -10
- package/src/configs/dashboard/collection-1.js +0 -5
- package/src/configs/dashboard/data-table.js +0 -9
- package/src/configs/dashboard/doughnut.js +0 -7
- package/src/configs/dashboard/gheatmaps.js +0 -9
- package/src/configs/dashboard/grid-2.js +0 -34
- package/src/configs/dashboard/grid-3.js +0 -34
- package/src/configs/dashboard/grid-4.js +0 -34
- package/src/configs/dashboard/grid.js +0 -15
- package/src/configs/dashboard/metric.js +0 -10
- package/src/configs/dashboard/pie.js +0 -7
- package/src/configs/dashboard/polar-area.js +0 -7
- package/src/configs/dashboard/virtual-table.js +0 -9
- package/src/configs/icons-fa.json +0 -12
- package/src/configs/web-page-builder.js +0 -118
- package/src/defs/dashboard-preset.js +0 -22
- package/src/directives/intersect.js +0 -26
- package/src/hooks/device.js +0 -14
- package/src/index.css +0 -3
- package/src/index.js +0 -648
- package/src/middleware/http/trim-string.js +0 -20
- package/src/mixin/component.js +0 -306
- package/src/mixin/ready-state.js +0 -37
- package/src/stores/components.js +0 -36
- package/src/stores/datasource.js +0 -11
- package/src/themes/default/index.js +0 -303
- package/src/utils/dashboard.js +0 -140
- package/src/utils/event-bus.js +0 -8
- package/src/utils/helpers.cjs +0 -635
- package/src/utils/helpers.js +0 -635
- package/src/utils/helpers.mjs +0 -722
- package/src/utils/importer.js +0 -209
- package/src/utils/list.mjs +0 -1509
- package/src/utils/listpage1.js +0 -1507
- package/src/utils/listview.js +0 -1287
- package/src/utils/preset-selector.cjs +0 -1455
- package/src/utils/preset-selector.js +0 -1452
- package/src/utils/preset-selector.mjs +0 -234
- package/src/utils/queue.js +0 -63
- package/src/utils/selection.js +0 -43
- package/src/utils/web.js +0 -50
- package/src/utils/web.mjs +0 -120
- package/src/utils/wss.js +0 -296
- package/src/utils/wss.mjs +0 -285
- package/src/widgets/AhrefSetting.vue +0 -97
- package/src/widgets/ArticleSetting.vue +0 -457
- package/src/widgets/BackgroundColorSetting.vue +0 -153
- package/src/widgets/BackgroundSetting.vue +0 -132
- package/src/widgets/BlockSetting.vue +0 -49
- package/src/widgets/BorderColorSetting.vue +0 -57
- package/src/widgets/BorderSetting.vue +0 -201
- package/src/widgets/BotEditor/BotEditorActions.vue +0 -163
- package/src/widgets/BotEditor/BotEditorSettings.vue +0 -21
- package/src/widgets/BotEditor.vue +0 -248
- package/src/widgets/BoxSetting.vue +0 -53
- package/src/widgets/ButtonSetting.vue +0 -113
- package/src/widgets/CarouselSetting.vue +0 -181
- package/src/widgets/CartSetting.vue +0 -46
- package/src/widgets/CheckoutSetting.vue +0 -46
- package/src/widgets/CollapsiblePanelSetting.vue +0 -46
- package/src/widgets/ColumnSelector.vue +0 -104
- package/src/widgets/ComponentPropertyLabel.vue +0 -35
- package/src/widgets/ComponentPropertySelector.vue +0 -115
- package/src/widgets/ComponentSetting.vue +0 -2220
- package/src/widgets/ComponentSetting2.vue +0 -927
- package/src/widgets/ComponentSetting3.vue +0 -231
- package/src/widgets/ContactForm.vue +0 -193
- package/src/widgets/ContactFormSetting.vue +0 -395
- package/src/widgets/CountdownSetting.vue +0 -76
- package/src/widgets/Dashboard/BarChart.vue +0 -366
- package/src/widgets/Dashboard/BarChartSetting.vue +0 -317
- package/src/widgets/Dashboard/DataTable.vue +0 -125
- package/src/widgets/Dashboard/DataTableSetting.vue +0 -243
- package/src/widgets/Dashboard/DatasourceFilterSharing.vue +0 -93
- package/src/widgets/Dashboard/DatasourcePreview.vue +0 -93
- package/src/widgets/Dashboard/DatasourceSelector.vue +0 -122
- package/src/widgets/Dashboard/Doughnut.vue +0 -199
- package/src/widgets/Dashboard/DoughnutSetting.vue +0 -196
- package/src/widgets/Dashboard/GHeatMapsSetting.vue +0 -108
- package/src/widgets/Dashboard/InteractionEdit.vue +0 -228
- package/src/widgets/Dashboard/Metric.vue +0 -135
- package/src/widgets/Dashboard/MetricSetting.vue +0 -227
- package/src/widgets/Dashboard/Pie.vue +0 -188
- package/src/widgets/Dashboard/PieSetting.vue +0 -247
- package/src/widgets/Dashboard/PolarArea.vue +0 -201
- package/src/widgets/Dashboard/PolarAreaSetting.vue +0 -195
- package/src/widgets/Dashboard/SharingModal.vue +0 -115
- package/src/widgets/Dashboard/ViewSelector.vue +0 -183
- package/src/widgets/Dashboard/VirtualColumnEdit.vue +0 -97
- package/src/widgets/Dashboard/VirtualTableSetting.vue +0 -171
- package/src/widgets/Dashboard0.vue +0 -1856
- package/src/widgets/DataListSetting.vue +0 -102
- package/src/widgets/EffectSetting.vue +0 -94
- package/src/widgets/EmbeddedVideo.vue +0 -60
- package/src/widgets/EmbeddedVideoSetting.vue +0 -50
- package/src/widgets/FAQ.vue +0 -98
- package/src/widgets/FAQSetting.vue +0 -94
- package/src/widgets/FeatureList.vue +0 -131
- package/src/widgets/FeatureListSetting.vue +0 -233
- package/src/widgets/FiltersSetting.vue +0 -88
- package/src/widgets/FlexSetting.vue +0 -174
- package/src/widgets/GridSetting.vue +0 -165
- package/src/widgets/Header.vue +0 -15
- package/src/widgets/Header0.vue +0 -41
- package/src/widgets/Header0Setting.vue +0 -75
- package/src/widgets/Header2.vue +0 -65
- package/src/widgets/Header2Setting.vue +0 -193
- package/src/widgets/HeaderSetting.vue +0 -102
- package/src/widgets/IconList.vue +0 -51
- package/src/widgets/IconListSetting.vue +0 -188
- package/src/widgets/ImageSetting.vue +0 -119
- package/src/widgets/LayoutSetting.vue +0 -251
- package/src/widgets/LinkSetting.vue +0 -209
- package/src/widgets/LinkSettingModal.vue +0 -173
- package/src/widgets/LogViewer.vue +0 -85
- package/src/widgets/MarginPaddingSetting.vue +0 -58
- package/src/widgets/MarginSetting.vue +0 -142
- package/src/widgets/MenuEditor.vue +0 -256
- package/src/widgets/MenuItem1Setting.vue +0 -78
- package/src/widgets/ModalSetting.vue +0 -94
- package/src/widgets/MultiValueSetting.vue +0 -121
- package/src/widgets/MultiValueSetting2.vue +0 -147
- package/src/widgets/OGSettingModal.vue +0 -103
- package/src/widgets/PaddingSetting.vue +0 -142
- package/src/widgets/ParagraphSetting.vue +0 -89
- package/src/widgets/PositionSetting.vue +0 -209
- package/src/widgets/PresetBar.vue +0 -990
- package/src/widgets/PresetBarPivot.vue +0 -198
- package/src/widgets/PresetBarPivotColumnEdit.vue +0 -197
- package/src/widgets/PresetSelector.vue +0 -685
- package/src/widgets/Review.vue +0 -131
- package/src/widgets/ReviewSetting.vue +0 -201
- package/src/widgets/SearchModalSetting.vue +0 -70
- package/src/widgets/Share.vue +0 -164
- package/src/widgets/ShareSetting.vue +0 -99
- package/src/widgets/SizingSetting.vue +0 -306
- package/src/widgets/SpacingSetting.vue +0 -77
- package/src/widgets/StyleSetting.vue +0 -543
- package/src/widgets/StyleSetting2.vue +0 -90
- package/src/widgets/SvgSetting.vue +0 -133
- package/src/widgets/TableSetting.vue +0 -172
- package/src/widgets/TestimonialSetting.vue +0 -161
- package/src/widgets/TextBlockSetting.vue +0 -81
- package/src/widgets/ThumbnailSetting.vue +0 -49
- package/src/widgets/TransitionSetting.vue +0 -64
- package/src/widgets/TypographySetting.vue +0 -334
- package/src/widgets/UserActionBuilder/UserActionCondition.vue +0 -99
- package/src/widgets/UserActionBuilder/UserActionConsole.vue +0 -97
- package/src/widgets/UserActionBuilder/UserActionItem.vue +0 -273
- package/src/widgets/UserActionBuilder/UserActionOutput.vue +0 -152
- package/src/widgets/UserActionBuilder/UserActionOutputDelay.vue +0 -27
- package/src/widgets/UserActionBuilder/UserActionOutputLog.vue +0 -28
- package/src/widgets/UserActionBuilder/UserActionOutputReply.vue +0 -112
- package/src/widgets/UserActionBuilder/UserActionProps.vue +0 -213
- package/src/widgets/UserActionBuilder.vue +0 -314
- package/src/widgets/WebComponentSelector.vue +0 -205
- package/src/widgets/WebDatasourceSelector.vue +0 -153
- package/src/widgets/WebLayoutSelector.vue +0 -147
- package/src/widgets/WebPageBuilder.vue +0 -2161
- package/src/widgets/WebPageBuilder2.vue +0 -1091
- package/src/widgets/WebPageBuilder3.vue +0 -411
- package/src/widgets/WebPageBuilder4/BackgroundColorSetting.vue +0 -54
- package/src/widgets/WebPageBuilder4/BackgroundPositionSetting.vue +0 -75
- package/src/widgets/WebPageBuilder4/BackgroundRepeatSetting.vue +0 -72
- package/src/widgets/WebPageBuilder4/BackgroundSizeSetting.vue +0 -72
- package/src/widgets/WebPageBuilder4/BlurSetting.vue +0 -72
- package/src/widgets/WebPageBuilder4/BorderColorSetting.vue +0 -64
- package/src/widgets/WebPageBuilder4/BorderRadiusSetting.vue +0 -75
- package/src/widgets/WebPageBuilder4/BorderSizeSetting.vue +0 -69
- package/src/widgets/WebPageBuilder4/BorderStyleSetting.vue +0 -72
- package/src/widgets/WebPageBuilder4/BoxShadowSetting.vue +0 -73
- package/src/widgets/WebPageBuilder4/ButtonSetting.vue +0 -65
- package/src/widgets/WebPageBuilder4/CarouselSetting.vue +0 -178
- package/src/widgets/WebPageBuilder4/DisplaySetting.vue +0 -76
- package/src/widgets/WebPageBuilder4/FlexAlignSetting.vue +0 -71
- package/src/widgets/WebPageBuilder4/FlexDirectionSetting.vue +0 -70
- package/src/widgets/WebPageBuilder4/FlexJustifySetting.vue +0 -74
- package/src/widgets/WebPageBuilder4/FlexPropertySetting.vue +0 -71
- package/src/widgets/WebPageBuilder4/FlexSetting.vue +0 -96
- package/src/widgets/WebPageBuilder4/FlexWrapSetting.vue +0 -69
- package/src/widgets/WebPageBuilder4/GapSetting.vue +0 -75
- package/src/widgets/WebPageBuilder4/GrayscaleSetting.vue +0 -68
- package/src/widgets/WebPageBuilder4/GridSetting.vue +0 -216
- package/src/widgets/WebPageBuilder4/HeightSetting.vue +0 -98
- package/src/widgets/WebPageBuilder4/ImageSetting.vue +0 -102
- package/src/widgets/WebPageBuilder4/MarginSetting.vue +0 -73
- package/src/widgets/WebPageBuilder4/MaxHeightSetting.vue +0 -82
- package/src/widgets/WebPageBuilder4/MaxWidthSetting.vue +0 -90
- package/src/widgets/WebPageBuilder4/MinHeightSetting.vue +0 -81
- package/src/widgets/WebPageBuilder4/MinWidthSetting.vue +0 -101
- package/src/widgets/WebPageBuilder4/MultiValueSetting.vue +0 -163
- package/src/widgets/WebPageBuilder4/OpacitySetting.vue +0 -77
- package/src/widgets/WebPageBuilder4/OverflowSetting.vue +0 -81
- package/src/widgets/WebPageBuilder4/PaddingSetting.vue +0 -57
- package/src/widgets/WebPageBuilder4/PositionSetting.vue +0 -191
- package/src/widgets/WebPageBuilder4/PropertySetting.vue +0 -176
- package/src/widgets/WebPageBuilder4/TextSetting.vue +0 -72
- package/src/widgets/WebPageBuilder4/TreeView.vue +0 -46
- package/src/widgets/WebPageBuilder4/TreeViewItem.vue +0 -303
- package/src/widgets/WebPageBuilder4/WebPageComponentSelector.vue +0 -141
- package/src/widgets/WebPageBuilder4/WebPagePropertySelector.vue +0 -172
- package/src/widgets/WebPageBuilder4/WidthSetting.vue +0 -105
- package/src/widgets/WebPageBuilder4/ZIndexSetting.vue +0 -72
- package/src/widgets/WebPageBuilder4.vue +0 -798
- package/src/widgets/WebPagePreview.vue +0 -295
- package/src/widgets/WebPageSelector.vue +0 -173
- package/src/widgets/WebTemplateCreator.vue +0 -156
- package/src/widgets/YoutubeVideoSetting.vue +0 -68
- package/tailwind.config.js +0 -481
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Ahref
|
|
2
|
+
A link component that automatically handles internal (router-link) and external (anchor) links.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| href | String | `''` | The URL to navigate to. Uses router-link for internal, anchor for external |
|
|
8
|
+
| target | String | `undefined` | Link target attribute (e.g., `'_blank'`) |
|
|
9
|
+
| text | String | `undefined` | Text content of the link |
|
|
10
|
+
| variant | String/Number | `'primary'` | Visual variant: `'primary'`, `'secondary'`, `'outline'` |
|
|
11
|
+
|
|
12
|
+
## Slots
|
|
13
|
+
| Slot | Description |
|
|
14
|
+
|------|-------------|
|
|
15
|
+
| default | Custom content inside the link, overrides `text` prop |
|
|
16
|
+
|
|
17
|
+
## Samples
|
|
18
|
+
|
|
19
|
+
### External link
|
|
20
|
+
```vue
|
|
21
|
+
<Ahref href="https://example.com" target="_blank" text="Visit Example" />
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### With custom content
|
|
25
|
+
```vue
|
|
26
|
+
<Ahref href="/profile">
|
|
27
|
+
<span>👤 My Profile</span>
|
|
28
|
+
</Ahref>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Secondary variant
|
|
32
|
+
```vue
|
|
33
|
+
<Ahref href="/settings" text="Settings" variant="secondary" />
|
|
34
|
+
```
|
|
35
|
+
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Alert
|
|
2
|
+
A modal alert dialog component for displaying messages to users. Teleports to the overlay container.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
None (controlled via methods)
|
|
6
|
+
|
|
7
|
+
## Events
|
|
8
|
+
| Event | Payload | Description |
|
|
9
|
+
|-------|---------|-------------|
|
|
10
|
+
| appear | - | Emitted when the alert has finished appearing |
|
|
11
|
+
|
|
12
|
+
## Methods
|
|
13
|
+
| Method | Parameters | Description |
|
|
14
|
+
|--------|------------|-------------|
|
|
15
|
+
| open | `{ title?, message, buttonText?, onConfirm? }` | Opens the alert dialog |
|
|
16
|
+
| close | - | Closes the alert dialog |
|
|
17
|
+
|
|
18
|
+
## Slots
|
|
19
|
+
| Slot | Description |
|
|
20
|
+
|------|-------------|
|
|
21
|
+
| icon | Custom icon to display in the alert |
|
|
22
|
+
|
|
23
|
+
## Samples
|
|
24
|
+
|
|
25
|
+
### Basic usage via ref
|
|
26
|
+
```vue
|
|
27
|
+
<template>
|
|
28
|
+
<Alert ref="alert" />
|
|
29
|
+
<Button @click="showAlert">Show Alert</Button>
|
|
30
|
+
</template>
|
|
31
|
+
|
|
32
|
+
<script setup>
|
|
33
|
+
const alert = ref(null)
|
|
34
|
+
|
|
35
|
+
function showAlert() {
|
|
36
|
+
alert.value.open({
|
|
37
|
+
title: 'Warning',
|
|
38
|
+
message: 'This action cannot be undone.'
|
|
39
|
+
})
|
|
40
|
+
}
|
|
41
|
+
</script>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### With custom button text and callback
|
|
45
|
+
```vue
|
|
46
|
+
<script setup>
|
|
47
|
+
function showAlert() {
|
|
48
|
+
alert.value.open({
|
|
49
|
+
title: 'Success',
|
|
50
|
+
message: 'Your changes have been saved.',
|
|
51
|
+
buttonText: 'Got it!',
|
|
52
|
+
onConfirm: () => {
|
|
53
|
+
console.log('Alert confirmed')
|
|
54
|
+
}
|
|
55
|
+
})
|
|
56
|
+
}
|
|
57
|
+
</script>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Error alert from API response
|
|
61
|
+
```vue
|
|
62
|
+
<script setup>
|
|
63
|
+
async function fetchData() {
|
|
64
|
+
try {
|
|
65
|
+
await api.getData()
|
|
66
|
+
} catch (error) {
|
|
67
|
+
alert.value.open(error)
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
</script>
|
|
71
|
+
```
|
|
72
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# ArrayList
|
|
2
|
+
A component for displaying and managing a list of items with add and remove capabilities.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| items | Array | `undefined` | Array of items to display. Each item should have a `name` property |
|
|
8
|
+
|
|
9
|
+
## Events
|
|
10
|
+
| Event | Payload | Description |
|
|
11
|
+
|-------|---------|-------------|
|
|
12
|
+
| add | - | Emitted when the add button is clicked |
|
|
13
|
+
| remove | Object | Emitted when an item's remove button is clicked, with the item as payload |
|
|
14
|
+
|
|
15
|
+
## Slots
|
|
16
|
+
| Slot | Props | Description |
|
|
17
|
+
|------|-------|-------------|
|
|
18
|
+
| default | `{ item }` | Custom template for each item |
|
|
19
|
+
|
|
20
|
+
## Samples
|
|
21
|
+
|
|
22
|
+
### Basic
|
|
23
|
+
```vue
|
|
24
|
+
<ArrayList
|
|
25
|
+
:items="[{ name: 'Item 1' }, { name: 'Item 2' }]"
|
|
26
|
+
@add="addItem"
|
|
27
|
+
@remove="removeItem"
|
|
28
|
+
/>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### With custom item template
|
|
32
|
+
```vue
|
|
33
|
+
<ArrayList :items="tags" @add="addTag" @remove="removeTag">
|
|
34
|
+
<template #default="{ item }">
|
|
35
|
+
<span class="badge">{{ item.name }}</span>
|
|
36
|
+
</template>
|
|
37
|
+
</ArrayList>
|
|
38
|
+
```
|
|
39
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Article
|
|
2
|
+
A rich HTML article component with edit mode support for WYSIWYG editing.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| htmlText | String | `undefined` | HTML content to render in the article |
|
|
8
|
+
|
|
9
|
+
## Methods
|
|
10
|
+
| Method | Parameters | Description |
|
|
11
|
+
|--------|------------|-------------|
|
|
12
|
+
| getSelection | - | Returns the current text selection with `text`, `href`, and `target` |
|
|
13
|
+
| addLink | `{ href, target, text }` | Inserts a link at the current selection |
|
|
14
|
+
| addTableColumn | - | Adds a column to the table at current selection |
|
|
15
|
+
| addTableRow | - | Adds a row to the table at current selection |
|
|
16
|
+
|
|
17
|
+
## Samples
|
|
18
|
+
|
|
19
|
+
### Basic
|
|
20
|
+
```vue
|
|
21
|
+
<Article :htmlText="'<p>Hello <strong>World</strong></p>'" />
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### With rich content
|
|
25
|
+
```vue
|
|
26
|
+
<Article :htmlText="articleContent" />
|
|
27
|
+
```
|
|
28
|
+
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# BarChart
|
|
2
|
+
A bar chart component powered by Chart.js, with support for stacked bars, percentage display, interactive legends, and click interactions.
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Props
|
|
6
|
+
| Property | Type | Default | Description |
|
|
7
|
+
|----------|------|---------|-------------|
|
|
8
|
+
| uid | String | `undefined` | Unique identifier for the chart instance |
|
|
9
|
+
| label | String | `undefined` | Title label displayed above the chart |
|
|
10
|
+
| datasourceUid | String | `undefined` | UID of the datasource to query |
|
|
11
|
+
| barHeight | Number | `200` | Height of the chart area in pixels |
|
|
12
|
+
| stacked | Boolean \| Number | `undefined` | Enable stacked bar mode |
|
|
13
|
+
| usePercentage | Boolean \| Number | `undefined` | Display y-axis values as percentages |
|
|
14
|
+
| xAxes | Array | `undefined` | X-axis field configuration |
|
|
15
|
+
| yAxes | Array | `undefined` | Y-axis field configuration |
|
|
16
|
+
| xAxeMultiple | Boolean | `undefined` | Enable multiple x-axis grouping |
|
|
17
|
+
| yAxeMultiple | Boolean | `undefined` | Enable multiple y-axis datasets with legend |
|
|
18
|
+
| xAxesGroup | String | `undefined` | Grouping key for x-axis |
|
|
19
|
+
| segments | Array | `undefined` | Segment configuration |
|
|
20
|
+
| excluded | Array | `[]` | Dataset labels to exclude from rendering |
|
|
21
|
+
| interactions | Array | `undefined` | Click interaction definitions |
|
|
22
|
+
| yAxeOnClick | Array | `undefined` | Click handler configuration for y-axis |
|
|
23
|
+
|
|
24
|
+
## Inject
|
|
25
|
+
| Name | Description |
|
|
26
|
+
|------|-------------|
|
|
27
|
+
| getSrc | Returns the data source endpoint |
|
|
28
|
+
| getViewedPreset | Returns the currently viewed preset |
|
|
29
|
+
| getQueryFilters | Returns active query filters |
|
|
30
|
+
| selectPreset | Function to navigate to a preset |
|
|
31
|
+
| socket | WebSocket instance for data fetching |
|
|
32
|
+
|
|
33
|
+
## Events
|
|
34
|
+
| Event | Description |
|
|
35
|
+
|-------|-------------|
|
|
36
|
+
| `{uid}.load` | Triggers a reload of the chart data |
|
|
37
|
+
| `dashboard.load` | Triggers a reload (shared across dashboard components) |
|
|
38
|
+
|
|
39
|
+
## Samples
|
|
40
|
+
|
|
41
|
+
### Basic
|
|
42
|
+
```vue
|
|
43
|
+
<BarChart uid="chart-1"
|
|
44
|
+
label="Revenue"
|
|
45
|
+
datasource-uid="ds-1"
|
|
46
|
+
:x-axes="['month']"
|
|
47
|
+
:y-axes="['total']" />
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Stacked with percentage
|
|
51
|
+
```vue
|
|
52
|
+
<BarChart uid="chart-2"
|
|
53
|
+
label="Distribution"
|
|
54
|
+
datasource-uid="ds-1"
|
|
55
|
+
:stacked="true"
|
|
56
|
+
:use-percentage="true"
|
|
57
|
+
:bar-height="300"
|
|
58
|
+
:x-axes="['category']"
|
|
59
|
+
:y-axes="['count']"
|
|
60
|
+
:y-axe-multiple="true" />
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### With click interaction
|
|
64
|
+
```vue
|
|
65
|
+
<BarChart uid="chart-3"
|
|
66
|
+
label="Sales by Region"
|
|
67
|
+
datasource-uid="ds-2"
|
|
68
|
+
:x-axes="['region']"
|
|
69
|
+
:y-axes="['sales']"
|
|
70
|
+
:interactions="[{
|
|
71
|
+
event: 'click',
|
|
72
|
+
action: 'openDashboardPreset',
|
|
73
|
+
presetUid: 'detail-preset',
|
|
74
|
+
filters: [{
|
|
75
|
+
datasourceUid: 'ds-2',
|
|
76
|
+
key: 'region',
|
|
77
|
+
operator: 'eq',
|
|
78
|
+
value: '{segment}'
|
|
79
|
+
}]
|
|
80
|
+
}]" />
|
|
81
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Block
|
|
2
|
+
A container component that renders a list of dynamic components.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| items | Array | `undefined` | Array of component definitions. Each item should have a `type` property |
|
|
8
|
+
|
|
9
|
+
## Samples
|
|
10
|
+
|
|
11
|
+
### Basic
|
|
12
|
+
```vue
|
|
13
|
+
<Block :items="[
|
|
14
|
+
{ type: 'Text', text: 'Hello' },
|
|
15
|
+
{ type: 'Button', text: 'Click me' }
|
|
16
|
+
]" />
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### With custom styling
|
|
20
|
+
```vue
|
|
21
|
+
<Block :items="components" :style="{ padding: '20px' }" />
|
|
22
|
+
```
|
|
23
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Box
|
|
2
|
+
A simple container box component with centered content.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| title | String | `'Box'` | The title of the box |
|
|
8
|
+
|
|
9
|
+
## Samples
|
|
10
|
+
|
|
11
|
+
### Basic
|
|
12
|
+
```vue
|
|
13
|
+
<Box title="My Box" />
|
|
14
|
+
```
|
|
15
|
+
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Button
|
|
2
|
+
A versatile button component with multiple variants and loading state support.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| variant | String/Number | `'primary'` | Visual variant: `'primary'`, `'secondary'`, `'outline'`, `'minimal'` |
|
|
8
|
+
| state | String/Number | `1` | Button state: `1` (normal), `-1` (disabled), `2` (loading) |
|
|
9
|
+
| text | String | `undefined` | Button text content |
|
|
10
|
+
| target | String | `undefined` | Navigation target URL or section |
|
|
11
|
+
| targetType | String | `undefined` | Type of target: `'section'` for scroll behavior |
|
|
12
|
+
| disabledText | String | `undefined` | Tooltip text shown when disabled |
|
|
13
|
+
|
|
14
|
+
## Events
|
|
15
|
+
| Event | Payload | Description |
|
|
16
|
+
|-------|---------|-------------|
|
|
17
|
+
| click | Event | Emitted on button click when enabled |
|
|
18
|
+
| disabled-click | - | Emitted when clicking a disabled button |
|
|
19
|
+
|
|
20
|
+
## Methods
|
|
21
|
+
| Method | Parameters | Description |
|
|
22
|
+
|--------|------------|-------------|
|
|
23
|
+
| focus | - | Focuses the button |
|
|
24
|
+
| setState | `state` | Programmatically sets the button state |
|
|
25
|
+
| resetState | - | Resets state to the prop value |
|
|
26
|
+
|
|
27
|
+
## Slots
|
|
28
|
+
| Slot | Description |
|
|
29
|
+
|------|-------------|
|
|
30
|
+
| default | Custom button content, overrides `text` prop |
|
|
31
|
+
|
|
32
|
+
## Samples
|
|
33
|
+
|
|
34
|
+
### Basic
|
|
35
|
+
```vue
|
|
36
|
+
<Button text="Click me" @click="handleClick" />
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### With variants
|
|
40
|
+
```vue
|
|
41
|
+
<Button text="Primary" variant="primary" />
|
|
42
|
+
<Button text="Secondary" variant="secondary" />
|
|
43
|
+
<Button text="Outline" variant="outline" />
|
|
44
|
+
<Button text="Minimal" variant="minimal" />
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Loading state
|
|
48
|
+
```vue
|
|
49
|
+
<Button text="Submitting..." :state="2" />
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Disabled state
|
|
53
|
+
```vue
|
|
54
|
+
<Button text="Submit" :state="-1" disabled-text="Please fill all fields" />
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Scroll to section
|
|
58
|
+
```vue
|
|
59
|
+
<Button text="Go to Features" target="features" target-type="section" />
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### With custom content
|
|
63
|
+
```vue
|
|
64
|
+
<Button @click="save">
|
|
65
|
+
<span>💾</span> Save Changes
|
|
66
|
+
</Button>
|
|
67
|
+
```
|
|
68
|
+
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Card
|
|
2
|
+
A card component that can be used as a static container or floating modal.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| class | String | `undefined` | Custom CSS class |
|
|
8
|
+
| dismissable | Boolean | `false` | Whether the card can be dismissed |
|
|
9
|
+
| float | Boolean | `false` | Enables floating/modal mode with teleport |
|
|
10
|
+
| height | String/Number | `undefined` | Card height |
|
|
11
|
+
| width | String/Number | `undefined` | Card width |
|
|
12
|
+
| state | Boolean | `false` | Initial open state (for non-float mode) |
|
|
13
|
+
| hash | String | `undefined` | URL hash to control card visibility |
|
|
14
|
+
| query | String | `undefined` | URL query param to control card visibility |
|
|
15
|
+
|
|
16
|
+
## Methods
|
|
17
|
+
| Method | Parameters | Description |
|
|
18
|
+
|--------|------------|-------------|
|
|
19
|
+
| open | `context?` | Opens the floating card |
|
|
20
|
+
| close | - | Closes the floating card |
|
|
21
|
+
|
|
22
|
+
## Slots
|
|
23
|
+
| Slot | Props | Description |
|
|
24
|
+
|------|-------|-------------|
|
|
25
|
+
| header | - | Custom header content (float mode) |
|
|
26
|
+
| default | `{ context }` | Main card content |
|
|
27
|
+
|
|
28
|
+
## Samples
|
|
29
|
+
|
|
30
|
+
### Static card
|
|
31
|
+
```vue
|
|
32
|
+
<Card class="p-4">
|
|
33
|
+
<h3>Card Title</h3>
|
|
34
|
+
<p>Card content goes here</p>
|
|
35
|
+
</Card>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Floating card (modal)
|
|
39
|
+
```vue
|
|
40
|
+
<Card ref="card" float width="400">
|
|
41
|
+
<template #default="{ context }">
|
|
42
|
+
<div class="p-4">
|
|
43
|
+
<h3>Modal Card</h3>
|
|
44
|
+
<p>{{ context.message }}</p>
|
|
45
|
+
</div>
|
|
46
|
+
</template>
|
|
47
|
+
</Card>
|
|
48
|
+
|
|
49
|
+
<Button @click="$refs.card.open({ message: 'Hello!' })">Open Card</Button>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Hash-controlled card
|
|
53
|
+
```vue
|
|
54
|
+
<Card float hash="#details" width="500">
|
|
55
|
+
<div class="p-4">Details content</div>
|
|
56
|
+
</Card>
|
|
57
|
+
|
|
58
|
+
<router-link :to="{ hash: '#details' }">Show Details</router-link>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Query-controlled card
|
|
62
|
+
```vue
|
|
63
|
+
<Card float query="edit" width="600">
|
|
64
|
+
<div class="p-4">Edit form</div>
|
|
65
|
+
</Card>
|
|
66
|
+
```
|
|
67
|
+
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Carousel
|
|
2
|
+
A carousel/slider component with touch support, auto-play, and navigation controls.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| items | Array | `undefined` | Array of items to display in the carousel |
|
|
8
|
+
| infinite | Boolean | `false` | Enable infinite loop scrolling |
|
|
9
|
+
| ratio | Array | `undefined` | Aspect ratio [width, height] |
|
|
10
|
+
| autoPlay | Number/String | `undefined` | Auto-play interval in milliseconds |
|
|
11
|
+
| useLegend | Boolean/Number | `undefined` | Show pagination dots |
|
|
12
|
+
| useNextPrev | Boolean/Number | `undefined` | Show next/previous navigation buttons |
|
|
13
|
+
|
|
14
|
+
## Events
|
|
15
|
+
| Event | Payload | Description |
|
|
16
|
+
|-------|---------|-------------|
|
|
17
|
+
| change | Number | Emitted when slide index changes |
|
|
18
|
+
|
|
19
|
+
## Methods
|
|
20
|
+
| Method | Parameters | Description |
|
|
21
|
+
|--------|------------|-------------|
|
|
22
|
+
| setIndex | `index` | Navigate to specific slide |
|
|
23
|
+
| next | `useBack?` | Go to next slide |
|
|
24
|
+
| prev | - | Go to previous slide |
|
|
25
|
+
| play | - | Start auto-play |
|
|
26
|
+
| stop | - | Stop auto-play |
|
|
27
|
+
| setPosition | `noAnimation?` | Update carousel position |
|
|
28
|
+
|
|
29
|
+
## Slots
|
|
30
|
+
| Slot | Props | Description |
|
|
31
|
+
|------|-------|-------------|
|
|
32
|
+
| default | `{ item }` | Custom template for each carousel item |
|
|
33
|
+
| next | - | Custom next button |
|
|
34
|
+
| prev | - | Custom previous button |
|
|
35
|
+
| legend | - | Custom pagination dots |
|
|
36
|
+
|
|
37
|
+
## Samples
|
|
38
|
+
|
|
39
|
+
### Basic
|
|
40
|
+
```vue
|
|
41
|
+
<Carousel :items="images" />
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### With navigation
|
|
45
|
+
```vue
|
|
46
|
+
<Carousel :items="slides" use-next-prev use-legend />
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Auto-play
|
|
50
|
+
```vue
|
|
51
|
+
<Carousel :items="banners" :auto-play="5000" />
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Custom item template
|
|
55
|
+
```vue
|
|
56
|
+
<Carousel :items="products">
|
|
57
|
+
<template #default="{ item }">
|
|
58
|
+
<div class="product-slide">
|
|
59
|
+
<Image :src="item.image" />
|
|
60
|
+
<h3>{{ item.name }}</h3>
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</Carousel>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Infinite loop
|
|
67
|
+
```vue
|
|
68
|
+
<Carousel :items="gallery" infinite use-next-prev />
|
|
69
|
+
```
|
|
70
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Cart
|
|
2
|
+
A shopping cart component with item management, quantity controls, and checkout functionality.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| apiUrl | String | `undefined` | API endpoint for cart operations |
|
|
8
|
+
|
|
9
|
+
## Inject
|
|
10
|
+
| Name | Description |
|
|
11
|
+
|------|-------------|
|
|
12
|
+
| alert | Alert component instance for error handling |
|
|
13
|
+
|
|
14
|
+
## Samples
|
|
15
|
+
|
|
16
|
+
### Basic
|
|
17
|
+
```vue
|
|
18
|
+
<Cart api-url="/api/cart" />
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# CartIcon
|
|
2
|
+
A shopping cart icon button with badge and dropdown preview.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| items | Array | `undefined` | Array of custom icon components |
|
|
8
|
+
|
|
9
|
+
## Slots
|
|
10
|
+
| Slot | Description |
|
|
11
|
+
|------|-------------|
|
|
12
|
+
| icon | Custom icon content |
|
|
13
|
+
|
|
14
|
+
## Samples
|
|
15
|
+
|
|
16
|
+
### Basic
|
|
17
|
+
```vue
|
|
18
|
+
<CartIcon />
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### With custom icon
|
|
22
|
+
```vue
|
|
23
|
+
<CartIcon>
|
|
24
|
+
<template #icon>
|
|
25
|
+
<svg><!-- custom cart icon --></svg>
|
|
26
|
+
</template>
|
|
27
|
+
</CartIcon>
|
|
28
|
+
```
|
|
29
|
+
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Chart
|
|
2
|
+
A chart component supporting multiple chart types (bar, line, doughnut, pie, maps) with preset configuration.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| config | Object | `{}` | Chart configuration object |
|
|
8
|
+
| presetKey | Any | `undefined` | Key for preset selection |
|
|
9
|
+
| src | Any | `undefined` | Data source |
|
|
10
|
+
| title | String | `undefined` | Chart title |
|
|
11
|
+
| subscribeKey | String | `undefined` | WebSocket subscription key for real-time updates |
|
|
12
|
+
| presetMode | String | `undefined` | Preset mode: `'sidebar'` or `'external'` |
|
|
13
|
+
|
|
14
|
+
## Events
|
|
15
|
+
| Event | Payload | Description |
|
|
16
|
+
|-------|---------|-------------|
|
|
17
|
+
| open-preset | - | Emitted when opening preset selector |
|
|
18
|
+
|
|
19
|
+
## Inject
|
|
20
|
+
| Name | Description |
|
|
21
|
+
|------|-------------|
|
|
22
|
+
| alert | Alert component instance |
|
|
23
|
+
| socket | WebSocket instance for real-time data |
|
|
24
|
+
|
|
25
|
+
## Samples
|
|
26
|
+
|
|
27
|
+
### Basic bar chart
|
|
28
|
+
```vue
|
|
29
|
+
<Chart
|
|
30
|
+
:config="{ type: 'bar' }"
|
|
31
|
+
title="Sales Overview"
|
|
32
|
+
src="/api/charts/sales"
|
|
33
|
+
/>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Line chart with preset
|
|
37
|
+
```vue
|
|
38
|
+
<Chart
|
|
39
|
+
:config="chartConfig"
|
|
40
|
+
title="Revenue"
|
|
41
|
+
preset-key="revenue-monthly"
|
|
42
|
+
/>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Real-time chart
|
|
46
|
+
```vue
|
|
47
|
+
<Chart
|
|
48
|
+
:config="config"
|
|
49
|
+
title="Live Data"
|
|
50
|
+
subscribe-key="metrics"
|
|
51
|
+
/>
|
|
52
|
+
```
|
|
53
|
+
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# ChartBar
|
|
2
|
+
A bar chart component using Chart.js with time-based data support.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| items | Array | `undefined` | Array of data items with `createdAt` timestamp |
|
|
8
|
+
| options | Object | `undefined` | Chart.js configuration options |
|
|
9
|
+
|
|
10
|
+
## Methods
|
|
11
|
+
| Method | Parameters | Description |
|
|
12
|
+
|--------|------------|-------------|
|
|
13
|
+
| setInitialData | - | Generates initial sample data |
|
|
14
|
+
| play | - | Starts chart animation/updates |
|
|
15
|
+
|
|
16
|
+
## Samples
|
|
17
|
+
|
|
18
|
+
### Basic
|
|
19
|
+
```vue
|
|
20
|
+
<ChartBar :items="timeSeriesData" />
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### With custom options
|
|
24
|
+
```vue
|
|
25
|
+
<ChartBar
|
|
26
|
+
:items="data"
|
|
27
|
+
:options="{
|
|
28
|
+
scales: {
|
|
29
|
+
y: { beginAtZero: true }
|
|
30
|
+
}
|
|
31
|
+
}"
|
|
32
|
+
/>
|
|
33
|
+
```
|
|
34
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# ChatTyping
|
|
2
|
+
An animated typing indicator for chat interfaces showing three bouncing dots.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
None
|
|
6
|
+
|
|
7
|
+
## Samples
|
|
8
|
+
|
|
9
|
+
### Basic
|
|
10
|
+
```vue
|
|
11
|
+
<ChatTyping />
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### In chat context
|
|
15
|
+
```vue
|
|
16
|
+
<div class="chat-message">
|
|
17
|
+
<ChatTyping v-if="isTyping" />
|
|
18
|
+
<span v-else>{{ message }}</span>
|
|
19
|
+
</div>
|
|
20
|
+
```
|
|
21
|
+
|