@mixd-id/web-scaffold 0.2.250801010 → 0.2.250801012
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,44 @@
|
|
|
1
|
+
# Flex
|
|
2
|
+
A flexible container component using CSS flexbox for layout.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| items | Array | `undefined` | Array of component definitions to render |
|
|
8
|
+
| flexColumns | Array | `undefined` | Configuration for flex columns |
|
|
9
|
+
| columnType | Array | `undefined` | Type configuration for columns |
|
|
10
|
+
| data | Object | `undefined` | Data object provided to child components |
|
|
11
|
+
|
|
12
|
+
## Slots
|
|
13
|
+
| Slot | Description |
|
|
14
|
+
|------|-------------|
|
|
15
|
+
| default | Custom content, overrides `items` prop |
|
|
16
|
+
|
|
17
|
+
## Samples
|
|
18
|
+
|
|
19
|
+
### Basic with slot
|
|
20
|
+
```vue
|
|
21
|
+
<Flex class="gap-4">
|
|
22
|
+
<div>Item 1</div>
|
|
23
|
+
<div>Item 2</div>
|
|
24
|
+
<div>Item 3</div>
|
|
25
|
+
</Flex>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### With dynamic items
|
|
29
|
+
```vue
|
|
30
|
+
<Flex :items="[
|
|
31
|
+
{ type: 'Text', text: 'Hello' },
|
|
32
|
+
{ type: 'Button', text: 'Click' }
|
|
33
|
+
]" />
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Column layout
|
|
37
|
+
```vue
|
|
38
|
+
<Flex :style="{ flexDirection: 'column' }">
|
|
39
|
+
<header>Header</header>
|
|
40
|
+
<main>Content</main>
|
|
41
|
+
<footer>Footer</footer>
|
|
42
|
+
</Flex>
|
|
43
|
+
```
|
|
44
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# GHeatMaps
|
|
2
|
+
A Google Maps heatmap visualization component.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| data | Array | `undefined` | Heatmap data points |
|
|
8
|
+
| config | Object | `undefined` | Map configuration |
|
|
9
|
+
|
|
10
|
+
## Samples
|
|
11
|
+
|
|
12
|
+
### Basic
|
|
13
|
+
```vue
|
|
14
|
+
<GHeatMaps :data="heatmapData" :config="mapConfig" />
|
|
15
|
+
```
|
|
16
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# GSignIn
|
|
2
|
+
A Google Sign-In button component.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| clientId | String | `undefined` | Google Client ID |
|
|
8
|
+
|
|
9
|
+
## Events
|
|
10
|
+
| Event | Payload | Description |
|
|
11
|
+
|-------|---------|-------------|
|
|
12
|
+
| success | Object | Emitted on successful sign-in |
|
|
13
|
+
| error | Error | Emitted on sign-in failure |
|
|
14
|
+
|
|
15
|
+
## Samples
|
|
16
|
+
|
|
17
|
+
### Basic
|
|
18
|
+
```vue
|
|
19
|
+
<GSignIn client-id="YOUR_CLIENT_ID" @success="handleLogin" />
|
|
20
|
+
```
|
|
21
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Gmaps
|
|
2
|
+
A Google Maps component for displaying maps with markers and custom data.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| data | Object | `undefined` | Map data including markers |
|
|
8
|
+
| config | Object | `undefined` | Map configuration options |
|
|
9
|
+
|
|
10
|
+
## Samples
|
|
11
|
+
|
|
12
|
+
### Basic
|
|
13
|
+
```vue
|
|
14
|
+
<Gmaps :data="mapData" :config="{ zoom: 12, center: { lat: -6.2, lng: 106.8 } }" />
|
|
15
|
+
```
|
|
16
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# GmapsDirection
|
|
2
|
+
A Google Maps direction/routing component.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| origin | Object | `undefined` | Starting point coordinates |
|
|
8
|
+
| destination | Object | `undefined` | Ending point coordinates |
|
|
9
|
+
| waypoints | Array | `undefined` | Intermediate waypoints |
|
|
10
|
+
|
|
11
|
+
## Samples
|
|
12
|
+
|
|
13
|
+
### Basic
|
|
14
|
+
```vue
|
|
15
|
+
<GmapsDirection
|
|
16
|
+
:origin="{ lat: -6.2, lng: 106.8 }"
|
|
17
|
+
:destination="{ lat: -6.3, lng: 106.9 }"
|
|
18
|
+
/>
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Grid
|
|
2
|
+
A CSS grid container component for grid-based layouts.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| items | Array | `undefined` | Array of component definitions to render in the grid |
|
|
8
|
+
|
|
9
|
+
## Slots
|
|
10
|
+
| Slot | Description |
|
|
11
|
+
|------|-------------|
|
|
12
|
+
| default | Custom grid content, overrides `items` prop |
|
|
13
|
+
|
|
14
|
+
## Samples
|
|
15
|
+
|
|
16
|
+
### Basic with slot
|
|
17
|
+
```vue
|
|
18
|
+
<Grid :style="{ gridTemplateColumns: 'repeat(3, 1fr)', gap: '1rem' }">
|
|
19
|
+
<div>Cell 1</div>
|
|
20
|
+
<div>Cell 2</div>
|
|
21
|
+
<div>Cell 3</div>
|
|
22
|
+
</Grid>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### With dynamic items
|
|
26
|
+
```vue
|
|
27
|
+
<Grid :items="cards" :style="{ gridTemplateColumns: 'repeat(auto-fill, minmax(200px, 1fr))' }" />
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Responsive grid
|
|
31
|
+
```vue
|
|
32
|
+
<Grid class="grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
|
|
33
|
+
<Card v-for="item in items" :key="item.id">{{ item.name }}</Card>
|
|
34
|
+
</Grid>
|
|
35
|
+
```
|
|
36
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# HTMLEditor
|
|
2
|
+
A WYSIWYG HTML editor component.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| modelValue | String | `undefined` | HTML content. Supports `v-model` |
|
|
8
|
+
| placeholder | String | `undefined` | Placeholder text |
|
|
9
|
+
|
|
10
|
+
## Events
|
|
11
|
+
| Event | Payload | Description |
|
|
12
|
+
|-------|---------|-------------|
|
|
13
|
+
| update:modelValue | String | Emitted on content change |
|
|
14
|
+
|
|
15
|
+
## Samples
|
|
16
|
+
|
|
17
|
+
### Basic
|
|
18
|
+
```vue
|
|
19
|
+
<HTMLEditor v-model="content" />
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### With placeholder
|
|
23
|
+
```vue
|
|
24
|
+
<HTMLEditor v-model="articleContent" placeholder="Write your article..." />
|
|
25
|
+
```
|
|
26
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# IconMenu
|
|
2
|
+
An icon-based menu component.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| items | Array | `undefined` | Menu items array |
|
|
8
|
+
|
|
9
|
+
## Events
|
|
10
|
+
| Event | Payload | Description |
|
|
11
|
+
|-------|---------|-------------|
|
|
12
|
+
| click | Object | Emitted when menu item is clicked |
|
|
13
|
+
|
|
14
|
+
## Samples
|
|
15
|
+
|
|
16
|
+
### Basic
|
|
17
|
+
```vue
|
|
18
|
+
<IconMenu :items="menuItems" @click="handleMenuClick" />
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Image
|
|
2
|
+
An image component with lazy loading, multiple states (loading, error), and edit capabilities.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| src | Any | `undefined` | Image source URL, File object, or responsive array |
|
|
8
|
+
| alt | String | `undefined` | Alternative text for the image |
|
|
9
|
+
| eager | Boolean/String | `false` | Load image immediately instead of lazy loading |
|
|
10
|
+
| editable | Boolean/String | `false` | Enable image upload/edit functionality |
|
|
11
|
+
| ratio | Array | `[]` | Aspect ratio [width, height] |
|
|
12
|
+
| target | String | `undefined` | Navigation target when clicked |
|
|
13
|
+
| defaultSrc | String | SVG placeholder | Fallback image when src is empty |
|
|
14
|
+
| spinnerType | String | `'shimmer'` | Loading indicator type: `'shimmer'` or `'spinner'` |
|
|
15
|
+
|
|
16
|
+
## Events
|
|
17
|
+
| Event | Payload | Description |
|
|
18
|
+
|-------|---------|-------------|
|
|
19
|
+
| click | Event | Emitted when image is clicked |
|
|
20
|
+
| change | `(base64, file)` | Emitted when image is changed (editable mode) |
|
|
21
|
+
|
|
22
|
+
## Methods
|
|
23
|
+
| Method | Parameters | Description |
|
|
24
|
+
|--------|------------|-------------|
|
|
25
|
+
| edit | - | Opens file picker for image selection |
|
|
26
|
+
| reset | - | Resets the image to empty state |
|
|
27
|
+
|
|
28
|
+
## Slots
|
|
29
|
+
| Slot | Props | Description |
|
|
30
|
+
|------|-------|-------------|
|
|
31
|
+
| empty | `{ instance }` | Content when no image is set |
|
|
32
|
+
| loading | - | Custom loading indicator |
|
|
33
|
+
| error | `{ instance }` | Content when image fails to load |
|
|
34
|
+
|
|
35
|
+
## Samples
|
|
36
|
+
|
|
37
|
+
### Basic
|
|
38
|
+
```vue
|
|
39
|
+
<Image src="/path/to/image.jpg" alt="Description" />
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Eager loading
|
|
43
|
+
```vue
|
|
44
|
+
<Image src="/hero.jpg" eager />
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Editable
|
|
48
|
+
```vue
|
|
49
|
+
<Image :src="avatar" editable @change="onImageChange" />
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### With aspect ratio
|
|
53
|
+
```vue
|
|
54
|
+
<Image src="/banner.jpg" :ratio="[16, 9]" />
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Responsive sources
|
|
58
|
+
```vue
|
|
59
|
+
<Image :src="[
|
|
60
|
+
{ screen: 'sm', src: '/small.jpg' },
|
|
61
|
+
{ screen: 'lg', src: '/large.jpg' }
|
|
62
|
+
]" />
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Custom empty state
|
|
66
|
+
```vue
|
|
67
|
+
<Image :src="userAvatar">
|
|
68
|
+
<template #empty>
|
|
69
|
+
<div class="placeholder">No Image</div>
|
|
70
|
+
</template>
|
|
71
|
+
</Image>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Custom loading
|
|
75
|
+
```vue
|
|
76
|
+
<Image src="/large-image.jpg" spinner-type="spinner" />
|
|
77
|
+
```
|
|
78
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Link
|
|
2
|
+
A versatile link component supporting router navigation, external links, and file downloads.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| text | String | `undefined` | Link text content |
|
|
8
|
+
| items | Array | `undefined` | Array of child components to render inside the link |
|
|
9
|
+
| mode | String | `undefined` | Link mode: `'route'`, `'link'`, or `'download'` |
|
|
10
|
+
| route | Object | `undefined` | Router link configuration `{ path, hash }` |
|
|
11
|
+
| link | Object | `undefined` | External link configuration `{ href, target }` |
|
|
12
|
+
| download | Object | `undefined` | Download configuration `{ url, name, originalName }` |
|
|
13
|
+
|
|
14
|
+
## Samples
|
|
15
|
+
|
|
16
|
+
### External link
|
|
17
|
+
```vue
|
|
18
|
+
<Link mode="link" :link="{ href: 'https://example.com', target: '_blank' }" text="Visit Site" />
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Download link
|
|
22
|
+
```vue
|
|
23
|
+
<Link mode="download" :download="{ url: '/files/report.pdf', name: 'report.pdf' }" text="Download Report" />
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### With child components
|
|
27
|
+
```vue
|
|
28
|
+
<Link mode="route" :route="{ path: '/profile' }" :items="[
|
|
29
|
+
{ type: 'Image', src: '/avatar.jpg' },
|
|
30
|
+
{ type: 'Text', text: 'View Profile' }
|
|
31
|
+
]" />
|
|
32
|
+
```
|
|
33
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# MultiDropdown
|
|
2
|
+
A multi-select dropdown component with search and checkbox selection.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| modelValue | Array | `undefined` | Array of selected items. Supports `v-model` |
|
|
8
|
+
| items | Array | `undefined` | Array of selectable items |
|
|
9
|
+
| textKey | String | `'text'` | Property key for display text |
|
|
10
|
+
| valueKey | String | `'value'` | Property key for item value |
|
|
11
|
+
| containerClass | String | `undefined` | Custom class for container |
|
|
12
|
+
|
|
13
|
+
## Events
|
|
14
|
+
| Event | Payload | Description |
|
|
15
|
+
|-------|---------|-------------|
|
|
16
|
+
| update:modelValue | Array | Emitted on selection change |
|
|
17
|
+
|
|
18
|
+
## Methods
|
|
19
|
+
| Method | Parameters | Description |
|
|
20
|
+
|--------|------------|-------------|
|
|
21
|
+
| open | - | Opens the dropdown |
|
|
22
|
+
|
|
23
|
+
## Samples
|
|
24
|
+
|
|
25
|
+
### Basic
|
|
26
|
+
```vue
|
|
27
|
+
<MultiDropdown
|
|
28
|
+
v-model="selectedItems"
|
|
29
|
+
:items="[
|
|
30
|
+
{ text: 'Option 1', value: 1 },
|
|
31
|
+
{ text: 'Option 2', value: 2 },
|
|
32
|
+
{ text: 'Option 3', value: 3 }
|
|
33
|
+
]"
|
|
34
|
+
/>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Custom keys
|
|
38
|
+
```vue
|
|
39
|
+
<MultiDropdown
|
|
40
|
+
v-model="selectedTags"
|
|
41
|
+
:items="tags"
|
|
42
|
+
text-key="name"
|
|
43
|
+
value-key="id"
|
|
44
|
+
/>
|
|
45
|
+
```
|
|
46
|
+
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Radio
|
|
2
|
+
A radio button component with support for custom styling and grouped selection.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| name | String | `undefined` | Radio group name |
|
|
8
|
+
| modelValue | Any | `undefined` | The selected value in the group. Supports `v-model` |
|
|
9
|
+
| value | Any | `undefined` | The value of this radio option |
|
|
10
|
+
| checked | Any | `undefined` | Override checked state |
|
|
11
|
+
| disabled | Any | `undefined` | Disables the radio button |
|
|
12
|
+
| custom | Any | `undefined` | Use custom styling without default indicator |
|
|
13
|
+
|
|
14
|
+
## Events
|
|
15
|
+
| Event | Payload | Description |
|
|
16
|
+
|-------|---------|-------------|
|
|
17
|
+
| update:modelValue | Any | Emitted when selection changes, enables `v-model` |
|
|
18
|
+
| change | - | Emitted when selection changes |
|
|
19
|
+
|
|
20
|
+
## Slots
|
|
21
|
+
| Slot | Description |
|
|
22
|
+
|------|-------------|
|
|
23
|
+
| default | Label content next to the radio |
|
|
24
|
+
| item | Custom entire radio item content |
|
|
25
|
+
|
|
26
|
+
## Samples
|
|
27
|
+
|
|
28
|
+
### Basic radio group
|
|
29
|
+
```vue
|
|
30
|
+
<Radio v-model="selected" value="option1">Option 1</Radio>
|
|
31
|
+
<Radio v-model="selected" value="option2">Option 2</Radio>
|
|
32
|
+
<Radio v-model="selected" value="option3">Option 3</Radio>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### With name attribute
|
|
36
|
+
```vue
|
|
37
|
+
<Radio v-model="gender" name="gender" value="male">Male</Radio>
|
|
38
|
+
<Radio v-model="gender" name="gender" value="female">Female</Radio>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Disabled option
|
|
42
|
+
```vue
|
|
43
|
+
<Radio v-model="plan" value="free">Free</Radio>
|
|
44
|
+
<Radio v-model="plan" value="pro" disabled>Pro (Coming Soon)</Radio>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Custom radio styling
|
|
48
|
+
```vue
|
|
49
|
+
<Radio v-model="theme" value="light" custom>
|
|
50
|
+
<template #item>
|
|
51
|
+
<div class="custom-radio-card">Light Theme</div>
|
|
52
|
+
</template>
|
|
53
|
+
</Radio>
|
|
54
|
+
```
|
|
55
|
+
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Slider
|
|
2
|
+
A range slider component supporting single and double (range) modes.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| modelValue | String/Number | `''` | The value. For double mode, use format `'min-max'`. Supports `v-model` |
|
|
8
|
+
| items | Array | `undefined` | Custom array of values for the slider |
|
|
9
|
+
| min | String/Number | `'0'` | Minimum value |
|
|
10
|
+
| max | String/Number | `'100'` | Maximum value |
|
|
11
|
+
| mode | String | `'single'` | Slider mode: `'single'` or `'double'` |
|
|
12
|
+
| step | String/Number | `'10'` | Step increment between values |
|
|
13
|
+
|
|
14
|
+
## Events
|
|
15
|
+
| Event | Payload | Description |
|
|
16
|
+
|-------|---------|-------------|
|
|
17
|
+
| update:modelValue | String/Number | Emitted on change, enables `v-model` |
|
|
18
|
+
| change | String/Number | Emitted when value changes |
|
|
19
|
+
|
|
20
|
+
## Slots
|
|
21
|
+
| Slot | Description |
|
|
22
|
+
|------|-------------|
|
|
23
|
+
| inner | Custom content inside slider handles |
|
|
24
|
+
|
|
25
|
+
## Samples
|
|
26
|
+
|
|
27
|
+
### Basic single slider
|
|
28
|
+
```vue
|
|
29
|
+
<Slider v-model="value" :min="0" :max="100" />
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Range slider (double mode)
|
|
33
|
+
```vue
|
|
34
|
+
<Slider v-model="range" mode="double" :min="0" :max="1000" :step="50" />
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### With custom items
|
|
38
|
+
```vue
|
|
39
|
+
<Slider v-model="selected" :items="[10, 25, 50, 100, 200, 500]" />
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Price range filter
|
|
43
|
+
```vue
|
|
44
|
+
<Slider v-model="priceRange" mode="double" :min="0" :max="10000" :step="100" />
|
|
45
|
+
<!-- priceRange = "500-2500" -->
|
|
46
|
+
```
|
|
47
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Switch
|
|
2
|
+
A toggle switch component for boolean values.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| modelValue | Any | `undefined` | The bound value. Supports `v-model` |
|
|
8
|
+
| trueValue | Any | `undefined` | Value when switch is on (default: `1`) |
|
|
9
|
+
| falseValue | Any | `undefined` | Value when switch is off (default: `0`) |
|
|
10
|
+
| readonly | Any | `undefined` | Makes the switch read-only |
|
|
11
|
+
|
|
12
|
+
## Events
|
|
13
|
+
| Event | Payload | Description |
|
|
14
|
+
|-------|---------|-------------|
|
|
15
|
+
| update:modelValue | Any | Emitted on change, enables `v-model` |
|
|
16
|
+
| change | Any | Emitted when switch state changes |
|
|
17
|
+
|
|
18
|
+
## Samples
|
|
19
|
+
|
|
20
|
+
### Basic boolean
|
|
21
|
+
```vue
|
|
22
|
+
<Switch v-model="enabled" />
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### With custom values
|
|
26
|
+
```vue
|
|
27
|
+
<Switch v-model="status" true-value="active" false-value="inactive" />
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Readonly
|
|
31
|
+
```vue
|
|
32
|
+
<Switch v-model="locked" readonly />
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### With labels
|
|
36
|
+
```vue
|
|
37
|
+
<div class="flex items-center gap-2">
|
|
38
|
+
<label>Off</label>
|
|
39
|
+
<Switch v-model="darkMode" />
|
|
40
|
+
<label>On</label>
|
|
41
|
+
</div>
|
|
42
|
+
```
|
|
43
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Table
|
|
2
|
+
A simple table component for displaying tabular data with headers and content.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| headers | Array | `undefined` | Array of header objects with `text` and `key` properties |
|
|
8
|
+
| contents | Array | `undefined` | Array of row objects with keys matching header keys |
|
|
9
|
+
|
|
10
|
+
## Samples
|
|
11
|
+
|
|
12
|
+
### Basic
|
|
13
|
+
```vue
|
|
14
|
+
<Table
|
|
15
|
+
:headers="[
|
|
16
|
+
{ text: 'Name', key: 'name' },
|
|
17
|
+
{ text: 'Email', key: 'email' },
|
|
18
|
+
{ text: 'Status', key: 'status' }
|
|
19
|
+
]"
|
|
20
|
+
:contents="[
|
|
21
|
+
{ name: 'John', email: 'john@example.com', status: 'Active' },
|
|
22
|
+
{ name: 'Jane', email: 'jane@example.com', status: 'Pending' }
|
|
23
|
+
]"
|
|
24
|
+
/>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Dynamic data
|
|
28
|
+
```vue
|
|
29
|
+
<Table :headers="tableHeaders" :contents="tableData" />
|
|
30
|
+
```
|
|
31
|
+
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Tabs
|
|
2
|
+
A tab navigation component with multiple visual variants.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| modelValue | Any | `undefined` | The selected tab value. Supports `v-model` |
|
|
8
|
+
| items | Array | `undefined` | Array of tab items with `text` and `value` properties |
|
|
9
|
+
| bodyClass | String | `undefined` | Custom class for tab body |
|
|
10
|
+
| itemClass | String | `undefined` | Custom class for each tab item |
|
|
11
|
+
| variant | String | `'comp'` | Visual variant: `'comp'`, `'button'`, `'vertical'` |
|
|
12
|
+
|
|
13
|
+
## Events
|
|
14
|
+
| Event | Payload | Description |
|
|
15
|
+
|-------|---------|-------------|
|
|
16
|
+
| update:modelValue | Any | Emitted on tab change, enables `v-model` |
|
|
17
|
+
| change | Any | Emitted when selected tab changes |
|
|
18
|
+
|
|
19
|
+
## Slots
|
|
20
|
+
| Slot | Props | Description |
|
|
21
|
+
|------|-------|-------------|
|
|
22
|
+
| default | `{ item, index }` | Custom content for each tab button |
|
|
23
|
+
|
|
24
|
+
## Samples
|
|
25
|
+
|
|
26
|
+
### Basic
|
|
27
|
+
```vue
|
|
28
|
+
<Tabs
|
|
29
|
+
v-model="activeTab"
|
|
30
|
+
:items="[
|
|
31
|
+
{ text: 'Tab 1', value: 'tab1' },
|
|
32
|
+
{ text: 'Tab 2', value: 'tab2' },
|
|
33
|
+
{ text: 'Tab 3', value: 'tab3' }
|
|
34
|
+
]"
|
|
35
|
+
/>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Button variant
|
|
39
|
+
```vue
|
|
40
|
+
<Tabs v-model="view" variant="button" :items="viewOptions" />
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Vertical tabs
|
|
44
|
+
```vue
|
|
45
|
+
<Tabs v-model="section" variant="vertical" :items="sections" />
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### With custom content
|
|
49
|
+
```vue
|
|
50
|
+
<Tabs v-model="tab" :items="tabs">
|
|
51
|
+
<template #default="{ item }">
|
|
52
|
+
<span>{{ item.icon }}</span>
|
|
53
|
+
{{ item.text }}
|
|
54
|
+
</template>
|
|
55
|
+
</Tabs>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Disabled tab
|
|
59
|
+
```vue
|
|
60
|
+
<Tabs :items="[
|
|
61
|
+
{ text: 'Active', value: 'active' },
|
|
62
|
+
{ text: 'Coming Soon', value: 'soon', disabled: true }
|
|
63
|
+
]" />
|
|
64
|
+
```
|
|
65
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Text
|
|
2
|
+
A text component that renders dynamic HTML content with responsive support.
|
|
3
|
+
|
|
4
|
+
## Props
|
|
5
|
+
| Property | Type | Default | Description |
|
|
6
|
+
|----------|------|---------|-------------|
|
|
7
|
+
| tag | String | `'div'` | HTML tag to render |
|
|
8
|
+
| htmlText2 | Array | `[]` | Array of HTML content for different screen sizes |
|
|
9
|
+
|
|
10
|
+
## Samples
|
|
11
|
+
|
|
12
|
+
### Basic
|
|
13
|
+
```vue
|
|
14
|
+
<Text :htmlText2="['<p>Hello World</p>']" />
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### With custom tag
|
|
18
|
+
```vue
|
|
19
|
+
<Text tag="span" :htmlText2="['Inline text']" />
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Responsive content
|
|
23
|
+
```vue
|
|
24
|
+
<Text :htmlText2="[
|
|
25
|
+
'<p>Mobile content</p>',
|
|
26
|
+
'<p>Tablet content</p>',
|
|
27
|
+
'<p>Desktop content</p>'
|
|
28
|
+
]" />
|
|
29
|
+
```
|
|
30
|
+
|