@kizmann/nano-ui 1.0.0 → 1.0.1
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/dist/nano-ui.css +1 -0
- package/dist/nano-ui.js +4 -0
- package/dist/nano-ui.js.map +1 -0
- package/dist/themes/dark.css +1 -0
- package/dist/themes/light.css +1 -0
- package/package.json +7 -1
- package/.github/workflows/compile-deploy-publish.yml +0 -65
- package/assets/nano-ui-dark.svg +0 -19
- package/assets/nano-ui-light.svg +0 -19
- package/assets/pico-js-dark.svg +0 -19
- package/assets/pico-js-light.svg +0 -19
- package/babel.config.js +0 -17
- package/demos/builder.html +0 -411
- package/demos/button/index.html +0 -129
- package/demos/cascader/index.html +0 -127
- package/demos/chart/index.html +0 -53
- package/demos/checkbox/index.html +0 -97
- package/demos/config/index.html +0 -95
- package/demos/confirm/index.html +0 -78
- package/demos/datepicker/index.html +0 -69
- package/demos/draggable/index.html +0 -127
- package/demos/form/index.html +0 -83
- package/demos/form.html +0 -462
- package/demos/grid.html +0 -321
- package/demos/input/index.html +0 -100
- package/demos/map/index.html +0 -81
- package/demos/matrix/index.html +0 -104
- package/demos/modal/index.html +0 -98
- package/demos/overview.html +0 -1468
- package/demos/paginator/index.html +0 -58
- package/demos/popover/index.html +0 -103
- package/demos/radio/index.html +0 -71
- package/demos/resizer/index.html +0 -106
- package/demos/scrollbar.html +0 -328
- package/demos/select/index.html +0 -174
- package/demos/select.html +0 -164
- package/demos/style.css +0 -50
- package/demos/switch/index.html +0 -69
- package/demos/table/index.html +0 -126
- package/demos/tabs/index.html +0 -110
- package/demos/tabs.html +0 -293
- package/demos/textarea/index.html +0 -77
- package/demos/timepicker/index.html +0 -66
- package/demos/transfer/index.html +0 -88
- package/demos/wysiwyg/index.html +0 -49
- package/docs/README.md +0 -34
- package/docs/_sidebar.md +0 -37
- package/docs/files/data/draggable.md +0 -143
- package/docs/files/data/map.md +0 -1
- package/docs/files/data/paginator.md +0 -23
- package/docs/files/data/table.md +0 -247
- package/docs/files/data/virtualscroller.md +0 -2
- package/docs/files/form/button.md +0 -131
- package/docs/files/form/cascader.md +0 -164
- package/docs/files/form/checkbox.md +0 -179
- package/docs/files/form/datepicker.md +0 -78
- package/docs/files/form/form.md +0 -52
- package/docs/files/form/input.md +0 -90
- package/docs/files/form/radio.md +0 -150
- package/docs/files/form/select.md +0 -202
- package/docs/files/form/switch.md +0 -98
- package/docs/files/form/textarea.md +0 -102
- package/docs/files/form/timepicker.md +0 -78
- package/docs/files/form/transfer.md +0 -30
- package/docs/files/others/config.md +0 -261
- package/docs/files/others/confirm.md +0 -51
- package/docs/files/others/drawer.md +0 -32
- package/docs/files/others/loader.md +0 -22
- package/docs/files/others/map.md +0 -32
- package/docs/files/others/modal.md +0 -32
- package/docs/files/others/notification.md +0 -52
- package/docs/files/others/popover.md +0 -36
- package/docs/files/others/resizer.md +0 -8
- package/docs/files/others/scrollbar.md +0 -8
- package/docs/files/others/tabs.md +0 -32
- package/docs/index.template.html +0 -76
- package/docs/src/js/backup.js +0 -128
- package/docs/src/js/helper/item-helper.js +0 -0
- package/docs/src/js/index.js +0 -21
- package/docs/src/js/plugin/title-plugin.js +0 -0
- package/docs/src/js/plugin/vue-demo-plugin.js +0 -97
- package/docs/src/js/theme/basic.js +0 -31
- package/docs/src/js/theme/docsify.js +0 -11
- package/docs/src/scss/index-dark.scss +0 -3
- package/docs/src/scss/index-light.scss +0 -3
- package/docs/src/scss/index.scss +0 -15
- package/docs/src/scss/mixins/base.scss +0 -14
- package/docs/src/scss/mixins/grid.scss +0 -213
- package/docs/src/scss/mixins/media.scss +0 -35
- package/docs/src/scss/mixins/space.scss +0 -61
- package/docs/src/scss/root/vars-dark.scss +0 -15
- package/docs/src/scss/root/vars-light.scss +0 -15
- package/docs/src/scss/root/vars.scss +0 -110
- package/docs/src/scss/theme/default.scss +0 -123
- package/docs/src/scss/theme/header.scss +0 -147
- package/docs/src/scss/theme/layout.scss +0 -186
- package/docs/src/scss/theme/loader.scss +0 -63
- package/docs/src/scss/theme/markdown.scss +0 -79
- package/docs/src/scss/theme/navigation.scss +0 -58
- package/docs/src/scss/theme/progress.scss +0 -9
- package/docs/src/scss/theme/search.scss +0 -119
- package/docs/src/scss/theme/syntax.scss +0 -142
- package/docs/src/scss/theme/table.scss +0 -63
- package/favicon/apple-touch-icon.png +0 -0
- package/favicon/favicon-96x96.png +0 -0
- package/favicon/favicon.ico +0 -0
- package/favicon/favicon.svg +0 -3
- package/favicon/site.webmanifest +0 -21
- package/favicon/web-app-manifest-192x192.png +0 -0
- package/favicon/web-app-manifest-512x512.png +0 -0
- package/mix-manifest.json +0 -4
- package/postcss.config.js +0 -14
- package/webpack.config.js +0 -211
- package/webservy.json +0 -8
- /package/{.nojekyll → dist/.ignore.js} +0 -0
package/docs/README.md
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
|
2
|
-
# Quick start
|
3
|
-
|
4
|
-
### Done and reworked
|
5
|
-
- [Draggable](/data/draggable)
|
6
|
-
- [Scrollbar](/others/scrollbar)
|
7
|
-
- [Virtualscroller](/data/virtualscroller)
|
8
|
-
- [Button](/form/button)
|
9
|
-
- [Input](/form/input)
|
10
|
-
- [Textarea](/form/textarea)
|
11
|
-
- [Switch](/form/switch)
|
12
|
-
- [Checkbox](/form/checkbox)
|
13
|
-
- [Radio](/form/radio)
|
14
|
-
- [Select](/form/select)
|
15
|
-
- [Cascader](/form/cascader)
|
16
|
-
- [Timepicker](/form/timepicker)
|
17
|
-
- [Datepicker](/form/datepicker)
|
18
|
-
- [Transfer](/form/transfer)
|
19
|
-
- [Form](/form/form)
|
20
|
-
- [Tabs](/others/tabs)
|
21
|
-
- [Loader](/others/loader)
|
22
|
-
- [Popover](/others/popover)
|
23
|
-
- [Modal](/others/modal)
|
24
|
-
- [Confirm](/others/confirm)
|
25
|
-
- [Table](/data/table)
|
26
|
-
- [Paginator](/data/paginator)
|
27
|
-
- [Map](/others/map)
|
28
|
-
|
29
|
-
### Coming soon or in works
|
30
|
-
- [Number](/number)
|
31
|
-
- [WYSIWYG](/wysiwyg)
|
32
|
-
- [Info](/info)
|
33
|
-
- [File](/file)
|
34
|
-
- [Filelist](/filelist)
|
package/docs/_sidebar.md
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
- Getting started
|
2
|
-
|
3
|
-
- [Quick start](README.md)
|
4
|
-
|
5
|
-
- Form
|
6
|
-
|
7
|
-
- [Form](files/form/form.md)
|
8
|
-
- [Button](files/form/button.md)
|
9
|
-
- [Switch](files/form/switch.md)
|
10
|
-
- [Input](files/form/input.md)
|
11
|
-
- [Textarea](files/form/textarea.md)
|
12
|
-
- [Radio](files/form/radio.md)
|
13
|
-
- [Checkbox](files/form/checkbox.md)
|
14
|
-
- [Select](files/form/select.md)
|
15
|
-
- [Cascader](files/form/cascader.md)
|
16
|
-
- [Datepicker](files/form/datepicker.md)
|
17
|
-
- [Timepicker](files/form/timepicker.md)
|
18
|
-
- [Transfer](files/form/transfer.md)
|
19
|
-
|
20
|
-
- Data
|
21
|
-
- [Table](files/data/table.md)
|
22
|
-
- [Paginator](files/data/paginator.md)
|
23
|
-
- [Draggable](files/data/draggable.md)
|
24
|
-
- [Virtualscroller](files/data/virtualscroller.md)
|
25
|
-
|
26
|
-
- Others
|
27
|
-
- [Notification](files/others/notification.md)
|
28
|
-
- [Loader](files/others/loader.md)
|
29
|
-
- [Tabs](files/others/tabs.md)
|
30
|
-
- [Popover](files/others/popover.md)
|
31
|
-
- [Modal](files/others/modal.md)
|
32
|
-
- [Drawer](files/others/drawer.md)
|
33
|
-
- [Map](files/others/map.md)
|
34
|
-
- [Confirm](files/others/confirm.md)
|
35
|
-
- [Scrollbar](files/others/scrollbar.md)
|
36
|
-
- [Resizer](files/others/resizer.md)
|
37
|
-
- [Config](files/others/config.md)
|
@@ -1,143 +0,0 @@
|
|
1
|
-
# Draggable
|
2
|
-
Drag and drop list or tree.
|
3
|
-
|
4
|
-
```html
|
5
|
-
/*vue*/
|
6
|
-
<template>
|
7
|
-
<div>
|
8
|
-
<n-draggable class="demo-box" :items="items" :render-select="true" :viewport-height="260">
|
9
|
-
<div style="margin: auto 10px;" slot-scope="{ value }">{{ value.title }}</div>
|
10
|
-
</n-draggable>
|
11
|
-
</div>
|
12
|
-
</template>
|
13
|
-
<script>
|
14
|
-
export default {
|
15
|
-
data() {
|
16
|
-
return {
|
17
|
-
items: pi.Arr.make(200).map((index) => {
|
18
|
-
return { id: pi.UUID(), title: 'foo-' + index };
|
19
|
-
})
|
20
|
-
}
|
21
|
-
}
|
22
|
-
}
|
23
|
-
</script>
|
24
|
-
```
|
25
|
-
|
26
|
-
### Properties
|
27
|
-
**items**
|
28
|
-
default: []
|
29
|
-
types: Array
|
30
|
-
_All items which will be draggable, needs to hold Objects_
|
31
|
-
|
32
|
-
**use**
|
33
|
-
default: null
|
34
|
-
types: String
|
35
|
-
_Component which will be rendered instead of default scoped slot (Draggable)_
|
36
|
-
|
37
|
-
**useBefore**
|
38
|
-
default: null
|
39
|
-
types: String
|
40
|
-
_Component which will be rendered instead of before scoped slot (Non draggable)_
|
41
|
-
|
42
|
-
**useAfter**
|
43
|
-
default: null
|
44
|
-
types: String
|
45
|
-
_Component which will be rendered instead of after scoped slot (Non draggable)_
|
46
|
-
|
47
|
-
**selected**
|
48
|
-
default: null
|
49
|
-
types: Array
|
50
|
-
_Array with all selected items can be passed with this prop aswell_
|
51
|
-
|
52
|
-
**depth**
|
53
|
-
default: 0
|
54
|
-
types: Number
|
55
|
-
_Current level of depth (used in tree)_
|
56
|
-
|
57
|
-
**group**
|
58
|
-
default: ['default']
|
59
|
-
types: Array
|
60
|
-
_Draggable group_
|
61
|
-
|
62
|
-
**safezone**
|
63
|
-
default: ['default']
|
64
|
-
types: Number, Function
|
65
|
-
_Safezone for before and after_
|
66
|
-
|
67
|
-
```javascript
|
68
|
-
/* height: 40px; before: 0-10px; inner: 10-30px; after: 30-40px */
|
69
|
-
(height) => height * 0.25;
|
70
|
-
```
|
71
|
-
|
72
|
-
**showEmpty**
|
73
|
-
default: true
|
74
|
-
types: Boolean
|
75
|
-
_Render empty field_
|
76
|
-
|
77
|
-
**itemHeight**
|
78
|
-
default: 34
|
79
|
-
types: Number
|
80
|
-
_Used for render list (loads 25 items in chunks to improve browser reactivity)_
|
81
|
-
|
82
|
-
**uniqueProp**
|
83
|
-
default: 'id'
|
84
|
-
types: String
|
85
|
-
_Unique prop for selected list_
|
86
|
-
|
87
|
-
**childProp**
|
88
|
-
default: null
|
89
|
-
types: String
|
90
|
-
_Children property for tree_
|
91
|
-
|
92
|
-
**transformDrop**
|
93
|
-
default: (item) => item
|
94
|
-
types: Function
|
95
|
-
_Transform property on drop_
|
96
|
-
|
97
|
-
**insertNode**
|
98
|
-
default: true
|
99
|
-
types: Boolean, Function
|
100
|
-
_Determines if node will be added to list or just emits move_
|
101
|
-
|
102
|
-
**removeNode**
|
103
|
-
default: true
|
104
|
-
types: Boolean, Function
|
105
|
-
_Determines if node will be removed from list or just emits move_
|
106
|
-
|
107
|
-
**allowSelect**
|
108
|
-
default: (item, depth) => true
|
109
|
-
types: Boolean, Function
|
110
|
-
_Determines if node is selectable_
|
111
|
-
|
112
|
-
**allowDrag**
|
113
|
-
default: (item, depth) => true
|
114
|
-
types: Boolean, Function
|
115
|
-
_Determines if node is draggable_
|
116
|
-
|
117
|
-
**allowDrop**
|
118
|
-
default: (item, target, move, depth) => true
|
119
|
-
types: Boolean, Function
|
120
|
-
_Determines if node is droppable_
|
121
|
-
|
122
|
-
**className**
|
123
|
-
default: ['n-draggable']
|
124
|
-
types: Array
|
125
|
-
_CSS classes for draggable list_
|
126
|
-
|
127
|
-
### Events
|
128
|
-
```javascript
|
129
|
-
/* Emits on data change */
|
130
|
-
NDraggable.$on('input', (input) => {
|
131
|
-
console.log(input);
|
132
|
-
});
|
133
|
-
|
134
|
-
/* Emits on move change */
|
135
|
-
NDraggable.$on('input', (source, target, move) => {
|
136
|
-
console.log(source, target, move);
|
137
|
-
});
|
138
|
-
|
139
|
-
/* Emits on selected change */
|
140
|
-
NDraggable.$on('update:selected', (selected) => {
|
141
|
-
console.log(selected);
|
142
|
-
});
|
143
|
-
```
|
package/docs/files/data/map.md
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
# Map
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# Paginator
|
2
|
-
Paginator for a list.
|
3
|
-
|
4
|
-
```html
|
5
|
-
/*vue*/
|
6
|
-
<template>
|
7
|
-
<div>
|
8
|
-
<n-paginator :page="page" :limit="limit" :total="total" />
|
9
|
-
</div>
|
10
|
-
</template>
|
11
|
-
<script>
|
12
|
-
export default {
|
13
|
-
data() {
|
14
|
-
return {
|
15
|
-
total: 265, page: 1, limit: 25
|
16
|
-
};
|
17
|
-
}
|
18
|
-
}
|
19
|
-
</script>
|
20
|
-
```
|
21
|
-
|
22
|
-
### Properties
|
23
|
-
coming soon
|
package/docs/files/data/table.md
DELETED
@@ -1,247 +0,0 @@
|
|
1
|
-
# Table
|
2
|
-
Draggable table with diffrent styles.
|
3
|
-
|
4
|
-
```js [demo]
|
5
|
-
pi.Obj.assign(window.VueData, {
|
6
|
-
tableBinds: {
|
7
|
-
draggable: true,
|
8
|
-
}
|
9
|
-
});
|
10
|
-
```
|
11
|
-
|
12
|
-
## Demo
|
13
|
-
|
14
|
-
```html [demo]
|
15
|
-
<n-form>
|
16
|
-
<div class="demo-options">
|
17
|
-
<div class="grid grid--row grid--wrap grid--20-20">
|
18
|
-
<n-form-item label="Draggable" class="col--auto">
|
19
|
-
<n-switch v-model="tableBinds.draggable">Activate drag and drop</n-switch>
|
20
|
-
</n-form-item>
|
21
|
-
</div>
|
22
|
-
</div>
|
23
|
-
<div class="demo-display">
|
24
|
-
<n-table style="height: 600px;" v-model:items="itemsMini" :render-expand="true" :item-height="80" :use-keys="true" :threshold="101" v-bind="tableBinds">
|
25
|
-
<n-table-column label="Image" type="image" prop="image" :fixed-width="90"></n-table-column>
|
26
|
-
<n-table-column label="ID" type="string" prop="id" :filter="true">
|
27
|
-
<template v-slot="{ item }">
|
28
|
-
{{ item.id.replace(/^([^\-]+\-[^\-]+)(.*?)$/i, '$1') + '-wow~' }}
|
29
|
-
</template>
|
30
|
-
</n-table-column>
|
31
|
-
<n-table-column label="Label" type="string" prop="label" :fluid="true" :sort="true" :filter="true"></n-table-column>
|
32
|
-
<n-table-column label="Date" type="datetime" prop="date" :filter="true"></n-table-column>
|
33
|
-
</n-table>
|
34
|
-
</div>
|
35
|
-
</n-form>
|
36
|
-
```
|
37
|
-
|
38
|
-
## Example
|
39
|
-
|
40
|
-
### Table
|
41
|
-
|
42
|
-
```html
|
43
|
-
/*vue*/
|
44
|
-
|
45
|
-
<template>
|
46
|
-
<n-table :items="items" :render-expand="true" :item-height="100">
|
47
|
-
<n-table-column label="Label" type="string" prop="label" :fluid="true" :sort="true"></n-table-column>
|
48
|
-
<n-table-column label="Image" type="image" prop="image" :fixed-width="90"></n-table-column>
|
49
|
-
<n-table-column label="Date" type="datetime" prop="date" :filter="true"></n-table-column>
|
50
|
-
</n-table>
|
51
|
-
</template>
|
52
|
-
|
53
|
-
<script>
|
54
|
-
export default {
|
55
|
-
methods: {
|
56
|
-
|
57
|
-
generator(count = 200, depth = 1)
|
58
|
-
{
|
59
|
-
if ( ! depth ) {
|
60
|
-
return [];
|
61
|
-
}
|
62
|
-
|
63
|
-
if ( ! this.total ) {
|
64
|
-
this.total = 0;
|
65
|
-
}
|
66
|
-
|
67
|
-
return pi.Arr.each(pi.Arr.make(count), (index) => {
|
68
|
-
return {
|
69
|
-
label: 'Item ' + index,
|
70
|
-
id: 'value-a-' + index,
|
71
|
-
image: 'https://picsum.photos/100/100?' + index,
|
72
|
-
date: new Date,
|
73
|
-
children: this.generator(count, depth - 1)
|
74
|
-
};
|
75
|
-
});
|
76
|
-
}
|
77
|
-
|
78
|
-
},
|
79
|
-
data()
|
80
|
-
{
|
81
|
-
return {
|
82
|
-
items: this.generator(10, 1)
|
83
|
-
};
|
84
|
-
}
|
85
|
-
}
|
86
|
-
</script>
|
87
|
-
|
88
|
-
```
|
89
|
-
|
90
|
-
### Table with adaptive height
|
91
|
-
|
92
|
-
```html
|
93
|
-
/*vue*/
|
94
|
-
|
95
|
-
<template>
|
96
|
-
<div style="height: 300px; display: flex; flex-direction: column;">
|
97
|
-
<n-table style="flex: 1 1 auto;" :items="items" :viewport-height="true" :item-height="100">
|
98
|
-
<n-table-column label="Label" type="string" prop="label" :fluid="true" :sort="true" :filter="true"></n-table-column>
|
99
|
-
<n-table-column label="Image" type="image" prop="image" :fixed-width="90"></n-table-column>
|
100
|
-
<n-table-column label="Date" type="datetime" prop="date" :filter="true"></n-table-column>
|
101
|
-
<n-table-column label="ID" type="string" prop="id" :sort="true"></n-table-column>
|
102
|
-
</n-table>
|
103
|
-
</div>
|
104
|
-
</template>
|
105
|
-
|
106
|
-
<script>
|
107
|
-
export default {
|
108
|
-
methods: {
|
109
|
-
|
110
|
-
generator(count = 200, depth = 1)
|
111
|
-
{
|
112
|
-
if ( ! depth ) {
|
113
|
-
return [];
|
114
|
-
}
|
115
|
-
|
116
|
-
if ( ! this.total ) {
|
117
|
-
this.total = 0;
|
118
|
-
}
|
119
|
-
|
120
|
-
return pi.Arr.each(pi.Arr.make(count), () => {
|
121
|
-
|
122
|
-
this.total++;
|
123
|
-
|
124
|
-
return {
|
125
|
-
label: 'Item ' + this.total,
|
126
|
-
id: 'value-b-' + this.total,
|
127
|
-
image: 'https://picsum.photos/100/100?' + this.total,
|
128
|
-
date: new Date,
|
129
|
-
children: this.generator(count, depth - 1)
|
130
|
-
};
|
131
|
-
})
|
132
|
-
}
|
133
|
-
|
134
|
-
},
|
135
|
-
data()
|
136
|
-
{
|
137
|
-
return {
|
138
|
-
items: this.generator(30, 1)
|
139
|
-
};
|
140
|
-
}
|
141
|
-
}
|
142
|
-
</script>
|
143
|
-
|
144
|
-
```
|
145
|
-
|
146
|
-
### Table with fixed height and virtual scrolling
|
147
|
-
|
148
|
-
```html
|
149
|
-
/*vue*/
|
150
|
-
|
151
|
-
<template>
|
152
|
-
<n-table :items="items" :render-expand="true" :viewport-height="300" :item-height="100" :safe-zone="safeZone">
|
153
|
-
<n-table-column label="Label" type="string" prop="label" :fluid="true" :sort="true" :filter="true"></n-table-column>
|
154
|
-
<n-table-column label="Image" type="image" prop="image" :fixed-width="90"></n-table-column>
|
155
|
-
<n-table-column label="Date" type="datetime" prop="date" :filter="true"></n-table-column>
|
156
|
-
<n-table-column label="ID" type="string" prop="id" :sort="true"></n-table-column>
|
157
|
-
</n-table>
|
158
|
-
</template>
|
159
|
-
|
160
|
-
<script>
|
161
|
-
export default {
|
162
|
-
methods: {
|
163
|
-
|
164
|
-
safeZone(height)
|
165
|
-
{
|
166
|
-
return height * 0.20;
|
167
|
-
},
|
168
|
-
|
169
|
-
generator(count = 200, depth = 1)
|
170
|
-
{
|
171
|
-
if ( ! depth ) {
|
172
|
-
return [];
|
173
|
-
}
|
174
|
-
|
175
|
-
if ( ! this.total ) {
|
176
|
-
this.total = 0;
|
177
|
-
}
|
178
|
-
|
179
|
-
return pi.Arr.each(pi.Arr.make(count), () => {
|
180
|
-
|
181
|
-
this.total++;
|
182
|
-
|
183
|
-
return {
|
184
|
-
label: 'Item ' + this.total,
|
185
|
-
id: 'value-c-' + this.total,
|
186
|
-
image: 'https://picsum.photos/100/100?' + this.total,
|
187
|
-
date: new Date,
|
188
|
-
children: this.generator(count, depth - 1)
|
189
|
-
};
|
190
|
-
})
|
191
|
-
}
|
192
|
-
|
193
|
-
},
|
194
|
-
data()
|
195
|
-
{
|
196
|
-
return {
|
197
|
-
items: this.generator(120, 2)
|
198
|
-
};
|
199
|
-
}
|
200
|
-
}
|
201
|
-
</script>
|
202
|
-
|
203
|
-
```
|
204
|
-
|
205
|
-
### Properties
|
206
|
-
**value**
|
207
|
-
default: null
|
208
|
-
types: String
|
209
|
-
_Input value_
|
210
|
-
|
211
|
-
**size**
|
212
|
-
default: 'default'
|
213
|
-
types: String
|
214
|
-
_Button size (small, default, large)_
|
215
|
-
|
216
|
-
**round**
|
217
|
-
default: false
|
218
|
-
types: Boolean
|
219
|
-
_If button is rounded_
|
220
|
-
|
221
|
-
**disabled**
|
222
|
-
default: false
|
223
|
-
types: Boolean
|
224
|
-
_If button uses disabled style and mode_
|
225
|
-
|
226
|
-
**icon**
|
227
|
-
default: ''
|
228
|
-
types: String
|
229
|
-
_Icon class (fa fa-times)_
|
230
|
-
|
231
|
-
**iconDisabled**
|
232
|
-
default: false
|
233
|
-
types: Boolen
|
234
|
-
_If icon button will be disabled_
|
235
|
-
|
236
|
-
**nativeType**
|
237
|
-
default: 'button'
|
238
|
-
types: String
|
239
|
-
_Native button type (a, button, div etc.)_
|
240
|
-
|
241
|
-
### Events
|
242
|
-
```javascript
|
243
|
-
/* Allows all types which are supported by native type, but overrides default input event */
|
244
|
-
NDraggable.$on('input', (value) => {
|
245
|
-
console.log(value);
|
246
|
-
});
|
247
|
-
```
|
@@ -1,131 +0,0 @@
|
|
1
|
-
# Button
|
2
|
-
|
3
|
-
The `<n-button>` component is a versatile and customizable button component, providing various styling options and functionalities. Below is a detailed description of its props, methods, and usage.
|
4
|
-
|
5
|
-
## Demo
|
6
|
-
|
7
|
-
```js [demo]
|
8
|
-
pi.Obj.assign(window.VueData, {
|
9
|
-
buttonBinds: {
|
10
|
-
size: 'md', icon: null, iconPosition: 'before', disabled: false,
|
11
|
-
},
|
12
|
-
positions: {
|
13
|
-
'before': 'Before', 'after': 'After'
|
14
|
-
}
|
15
|
-
});
|
16
|
-
```
|
17
|
-
|
18
|
-
```html [demo]
|
19
|
-
<n-form>
|
20
|
-
<div class="demo-options">
|
21
|
-
<div class="grid grid--row grid--wrap grid--20-20">
|
22
|
-
<n-form-item class="col--1-1 col--6-12@sm col--3-12@md" label="Size">
|
23
|
-
<n-select v-model="buttonBinds.size" :options="sizes" />
|
24
|
-
</n-form-item>
|
25
|
-
<n-form-item class="col--1-1 col--6-12@sm col--3-12@md" label="Icon">
|
26
|
-
<n-select v-model="buttonBinds.icon" placeholder="Icon" :clearable="true" :options="icons" />
|
27
|
-
</n-form-item>
|
28
|
-
<n-form-item class="col--1-1 col--6-12@sm col--3-12@md" label="Position">
|
29
|
-
<n-select v-model="buttonBinds.iconPosition" :options="positions" />
|
30
|
-
</n-form-item>
|
31
|
-
<n-form-item class="col--1-1 col--6-12@sm col--3-12@md" label="Disabled">
|
32
|
-
<n-switch v-model="buttonBinds.disabled">Activate disable state</n-switch>
|
33
|
-
</n-form-item>
|
34
|
-
</div>
|
35
|
-
</div>
|
36
|
-
<div class="demo-display">
|
37
|
-
<div class="grid grid--row grid--wrap grid--40-40 grid--middle">
|
38
|
-
<div class="col--1-1">
|
39
|
-
<h3>Default</h3>
|
40
|
-
</div>
|
41
|
-
<div class="col--auto">
|
42
|
-
<n-button v-bind="buttonBinds" type="primary">Primary</n-button>
|
43
|
-
</div>
|
44
|
-
<div class="col--auto">
|
45
|
-
<n-button v-bind="buttonBinds" type="secondary">Secondary</n-button>
|
46
|
-
</div>
|
47
|
-
<div class="col--auto">
|
48
|
-
<n-button v-bind="buttonBinds" type="success">Success</n-button>
|
49
|
-
</div>
|
50
|
-
<div class="col--auto">
|
51
|
-
<n-button v-bind="buttonBinds" type="warning">Warning</n-button>
|
52
|
-
</div>
|
53
|
-
<div class="col--auto">
|
54
|
-
<n-button v-bind="buttonBinds" type="danger">Danger</n-button>
|
55
|
-
</div>
|
56
|
-
<div class="col--auto">
|
57
|
-
<n-button v-bind="buttonBinds" type="info">Info</n-button>
|
58
|
-
</div>
|
59
|
-
</div>
|
60
|
-
<div class="grid grid--row grid--wrap grid--40-40 grid--middle">
|
61
|
-
<div class="col--1-1">
|
62
|
-
<h3>Link</h3>
|
63
|
-
</div>
|
64
|
-
<div class="col--auto">
|
65
|
-
<n-button v-bind="buttonBinds" :link="true" type="primary">Primary</n-button>
|
66
|
-
</div>
|
67
|
-
<div class="col--auto">
|
68
|
-
<n-button v-bind="buttonBinds" :link="true" type="secondary">Secondary</n-button>
|
69
|
-
</div>
|
70
|
-
<div class="col--auto">
|
71
|
-
<n-button v-bind="buttonBinds" :link="true" type="success">Success</n-button>
|
72
|
-
</div>
|
73
|
-
<div class="col--auto">
|
74
|
-
<n-button v-bind="buttonBinds" :link="true" type="warning">Warning</n-button>
|
75
|
-
</div>
|
76
|
-
<div class="col--auto">
|
77
|
-
<n-button v-bind="buttonBinds" :link="true" type="danger">Danger</n-button>
|
78
|
-
</div>
|
79
|
-
<div class="col--auto">
|
80
|
-
<n-button v-bind="buttonBinds" :link="true" type="info">Info</n-button>
|
81
|
-
</div>
|
82
|
-
</div>
|
83
|
-
<div class="grid grid--row grid--wrap grid--40-40 grid--middle">
|
84
|
-
<div class="col--1-1">
|
85
|
-
<h3>Square</h3>
|
86
|
-
</div>
|
87
|
-
<div class="col--auto">
|
88
|
-
<n-button v-bind="buttonBinds" :square="true" icon="fa fa-search" type="primary">Primary</n-button>
|
89
|
-
</div>
|
90
|
-
<div class="col--auto">
|
91
|
-
<n-button v-bind="buttonBinds" :square="true" icon="fa fa-envelope" type="secondary">Secondary</n-button>
|
92
|
-
</div>
|
93
|
-
<div class="col--auto">
|
94
|
-
<n-button v-bind="buttonBinds" :square="true" icon="fa fa-check" type="success">Success</n-button>
|
95
|
-
</div>
|
96
|
-
<div class="col--auto">
|
97
|
-
<n-button v-bind="buttonBinds" :square="true" icon="fa fa-star" type="warning">Warning</n-button>
|
98
|
-
</div>
|
99
|
-
<div class="col--auto">
|
100
|
-
<n-button v-bind="buttonBinds" :square="true" icon="fa fa-trash" type="danger">Danger</n-button>
|
101
|
-
</div>
|
102
|
-
<div class="col--auto">
|
103
|
-
<n-button v-bind="buttonBinds" :square="true" icon="fa fa-user" type="info">Info</n-button>
|
104
|
-
</div>
|
105
|
-
</div>
|
106
|
-
</div>
|
107
|
-
</n-form>
|
108
|
-
```
|
109
|
-
|
110
|
-
## Example
|
111
|
-
|
112
|
-
```vue
|
113
|
-
<template>
|
114
|
-
<n-button type="primary" icon="fa fa-search" @click="window.alert('click event!')">
|
115
|
-
Button
|
116
|
-
</n-button>
|
117
|
-
</template>
|
118
|
-
```
|
119
|
-
|
120
|
-
## Properties
|
121
|
-
|
122
|
-
| **Prop** | **Type** | **Default** | **Description** |
|
123
|
-
|----------------|-----------|-------------|-------------------------------------------------------------------------------------------------|
|
124
|
-
| `type` | `String` | `'primary'` | Defines the button's style type (e.g., 'primary', 'secondary', 'success', 'warning', 'danger'). |
|
125
|
-
| `size` | `String` | `'md'` | Sets the size of the button (e.g., 'sm', 'md', 'lg'). |
|
126
|
-
| `link` | `Boolean` | `false` | If true, styles the button as a link. |
|
127
|
-
| `square` | `Boolean` | `false` | If true, makes the button square. |
|
128
|
-
| `disabled` | `Boolean` | `false` | If true, disables the button. |
|
129
|
-
| `icon` | `String` | `null` | The icon class name to be used within the button. |
|
130
|
-
| `iconPosition` | `String` | `'before'` | Sets the position of the icon relative to the button text (e.g., 'before', 'after'). |
|
131
|
-
| `nativeType` | `String` | `'button'` | Sets the native HTML element type (typically 'button'). |
|