@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.
Files changed (115) hide show
  1. package/dist/nano-ui.css +1 -0
  2. package/dist/nano-ui.js +4 -0
  3. package/dist/nano-ui.js.map +1 -0
  4. package/dist/themes/dark.css +1 -0
  5. package/dist/themes/light.css +1 -0
  6. package/package.json +7 -1
  7. package/.github/workflows/compile-deploy-publish.yml +0 -65
  8. package/assets/nano-ui-dark.svg +0 -19
  9. package/assets/nano-ui-light.svg +0 -19
  10. package/assets/pico-js-dark.svg +0 -19
  11. package/assets/pico-js-light.svg +0 -19
  12. package/babel.config.js +0 -17
  13. package/demos/builder.html +0 -411
  14. package/demos/button/index.html +0 -129
  15. package/demos/cascader/index.html +0 -127
  16. package/demos/chart/index.html +0 -53
  17. package/demos/checkbox/index.html +0 -97
  18. package/demos/config/index.html +0 -95
  19. package/demos/confirm/index.html +0 -78
  20. package/demos/datepicker/index.html +0 -69
  21. package/demos/draggable/index.html +0 -127
  22. package/demos/form/index.html +0 -83
  23. package/demos/form.html +0 -462
  24. package/demos/grid.html +0 -321
  25. package/demos/input/index.html +0 -100
  26. package/demos/map/index.html +0 -81
  27. package/demos/matrix/index.html +0 -104
  28. package/demos/modal/index.html +0 -98
  29. package/demos/overview.html +0 -1468
  30. package/demos/paginator/index.html +0 -58
  31. package/demos/popover/index.html +0 -103
  32. package/demos/radio/index.html +0 -71
  33. package/demos/resizer/index.html +0 -106
  34. package/demos/scrollbar.html +0 -328
  35. package/demos/select/index.html +0 -174
  36. package/demos/select.html +0 -164
  37. package/demos/style.css +0 -50
  38. package/demos/switch/index.html +0 -69
  39. package/demos/table/index.html +0 -126
  40. package/demos/tabs/index.html +0 -110
  41. package/demos/tabs.html +0 -293
  42. package/demos/textarea/index.html +0 -77
  43. package/demos/timepicker/index.html +0 -66
  44. package/demos/transfer/index.html +0 -88
  45. package/demos/wysiwyg/index.html +0 -49
  46. package/docs/README.md +0 -34
  47. package/docs/_sidebar.md +0 -37
  48. package/docs/files/data/draggable.md +0 -143
  49. package/docs/files/data/map.md +0 -1
  50. package/docs/files/data/paginator.md +0 -23
  51. package/docs/files/data/table.md +0 -247
  52. package/docs/files/data/virtualscroller.md +0 -2
  53. package/docs/files/form/button.md +0 -131
  54. package/docs/files/form/cascader.md +0 -164
  55. package/docs/files/form/checkbox.md +0 -179
  56. package/docs/files/form/datepicker.md +0 -78
  57. package/docs/files/form/form.md +0 -52
  58. package/docs/files/form/input.md +0 -90
  59. package/docs/files/form/radio.md +0 -150
  60. package/docs/files/form/select.md +0 -202
  61. package/docs/files/form/switch.md +0 -98
  62. package/docs/files/form/textarea.md +0 -102
  63. package/docs/files/form/timepicker.md +0 -78
  64. package/docs/files/form/transfer.md +0 -30
  65. package/docs/files/others/config.md +0 -261
  66. package/docs/files/others/confirm.md +0 -51
  67. package/docs/files/others/drawer.md +0 -32
  68. package/docs/files/others/loader.md +0 -22
  69. package/docs/files/others/map.md +0 -32
  70. package/docs/files/others/modal.md +0 -32
  71. package/docs/files/others/notification.md +0 -52
  72. package/docs/files/others/popover.md +0 -36
  73. package/docs/files/others/resizer.md +0 -8
  74. package/docs/files/others/scrollbar.md +0 -8
  75. package/docs/files/others/tabs.md +0 -32
  76. package/docs/index.template.html +0 -76
  77. package/docs/src/js/backup.js +0 -128
  78. package/docs/src/js/helper/item-helper.js +0 -0
  79. package/docs/src/js/index.js +0 -21
  80. package/docs/src/js/plugin/title-plugin.js +0 -0
  81. package/docs/src/js/plugin/vue-demo-plugin.js +0 -97
  82. package/docs/src/js/theme/basic.js +0 -31
  83. package/docs/src/js/theme/docsify.js +0 -11
  84. package/docs/src/scss/index-dark.scss +0 -3
  85. package/docs/src/scss/index-light.scss +0 -3
  86. package/docs/src/scss/index.scss +0 -15
  87. package/docs/src/scss/mixins/base.scss +0 -14
  88. package/docs/src/scss/mixins/grid.scss +0 -213
  89. package/docs/src/scss/mixins/media.scss +0 -35
  90. package/docs/src/scss/mixins/space.scss +0 -61
  91. package/docs/src/scss/root/vars-dark.scss +0 -15
  92. package/docs/src/scss/root/vars-light.scss +0 -15
  93. package/docs/src/scss/root/vars.scss +0 -110
  94. package/docs/src/scss/theme/default.scss +0 -123
  95. package/docs/src/scss/theme/header.scss +0 -147
  96. package/docs/src/scss/theme/layout.scss +0 -186
  97. package/docs/src/scss/theme/loader.scss +0 -63
  98. package/docs/src/scss/theme/markdown.scss +0 -79
  99. package/docs/src/scss/theme/navigation.scss +0 -58
  100. package/docs/src/scss/theme/progress.scss +0 -9
  101. package/docs/src/scss/theme/search.scss +0 -119
  102. package/docs/src/scss/theme/syntax.scss +0 -142
  103. package/docs/src/scss/theme/table.scss +0 -63
  104. package/favicon/apple-touch-icon.png +0 -0
  105. package/favicon/favicon-96x96.png +0 -0
  106. package/favicon/favicon.ico +0 -0
  107. package/favicon/favicon.svg +0 -3
  108. package/favicon/site.webmanifest +0 -21
  109. package/favicon/web-app-manifest-192x192.png +0 -0
  110. package/favicon/web-app-manifest-512x512.png +0 -0
  111. package/mix-manifest.json +0 -4
  112. package/postcss.config.js +0 -14
  113. package/webpack.config.js +0 -211
  114. package/webservy.json +0 -8
  115. /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
- ```
@@ -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
@@ -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,2 +0,0 @@
1
- # Virtualscroller
2
- Docs comming soon
@@ -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'). |