@vue-interface/btn-dropdown 0.9.13 → 0.9.14

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 (51) hide show
  1. package/dist/btn-dropdown.es.js +2179 -0
  2. package/dist/btn-dropdown.umd.js +1 -0
  3. package/dist/style.css +1 -0
  4. package/package.json +26 -30
  5. package/.eslintrc.js +0 -53
  6. package/babel.config.js +0 -7
  7. package/dist/BtnDropdown.common.js +0 -6902
  8. package/dist/BtnDropdown.common.js.map +0 -1
  9. package/dist/BtnDropdown.css +0 -1
  10. package/dist/BtnDropdown.umd.js +0 -6912
  11. package/dist/BtnDropdown.umd.js.map +0 -1
  12. package/dist/BtnDropdown.umd.min.js +0 -2
  13. package/dist/BtnDropdown.umd.min.js.map +0 -1
  14. package/dist/demo.html +0 -19
  15. package/docs/.vuepress/config.js +0 -44
  16. package/docs/.vuepress/dist/404.html +0 -19
  17. package/docs/.vuepress/dist/assets/css/0.styles.275ee968.css +0 -1
  18. package/docs/.vuepress/dist/assets/img/search.83621669.svg +0 -1
  19. package/docs/.vuepress/dist/assets/js/10.5d93d289.js +0 -1
  20. package/docs/.vuepress/dist/assets/js/11.97ab3884.js +0 -1
  21. package/docs/.vuepress/dist/assets/js/2.f3d148c3.js +0 -1
  22. package/docs/.vuepress/dist/assets/js/3.81681fff.js +0 -1
  23. package/docs/.vuepress/dist/assets/js/4.82fa7382.js +0 -1
  24. package/docs/.vuepress/dist/assets/js/5.3dae6ad4.js +0 -1
  25. package/docs/.vuepress/dist/assets/js/6.6a04f815.js +0 -1
  26. package/docs/.vuepress/dist/assets/js/7.c033cb49.js +0 -1
  27. package/docs/.vuepress/dist/assets/js/8.6d6eb599.js +0 -1
  28. package/docs/.vuepress/dist/assets/js/9.eaefe866.js +0 -1
  29. package/docs/.vuepress/dist/assets/js/app.7ed065d3.js +0 -13
  30. package/docs/.vuepress/dist/examples/index.html +0 -21
  31. package/docs/.vuepress/dist/examples/test.html +0 -17
  32. package/docs/.vuepress/dist/index.html +0 -53
  33. package/docs/.vuepress/dist/options.html +0 -41
  34. package/docs/.vuepress/dist/tailwindcss.html +0 -85
  35. package/docs/README.md +0 -17
  36. package/docs/examples/README.md +0 -3
  37. package/docs/options.md +0 -44
  38. package/index.html +0 -328
  39. package/index.js +0 -3
  40. package/main.vue +0 -5
  41. package/postcss.config.js +0 -1
  42. package/public/favicon.ico +0 -0
  43. package/public/index.html +0 -17
  44. package/src/BtnDropdown.vue +0 -106
  45. package/src/BtnDropdownAction.vue +0 -38
  46. package/src/BtnDropdownSingle.vue +0 -40
  47. package/src/BtnDropdownSplit.vue +0 -66
  48. package/src/DropdownHandler.js +0 -419
  49. package/src/css/BtnDropdown.css +0 -1
  50. package/tailwind.config.js +0 -13
  51. package/vue.config.js +0 -11
package/index.html DELETED
@@ -1,328 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
6
- <title>BtnDropdown</title>
7
- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap-reboot.min.css">
8
- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap-grid.min.css">
9
- <link rel="stylesheet" href="./dist/BtnDropdown.css">
10
- </head>
11
- <body>
12
- <div id="app" class="container">
13
- <h1 class="mb-5">btn-dropdown</h1>
14
-
15
- <h3>Basic Usage</h3>
16
-
17
- <btn-dropdown variant="secondary" label="Dropdown" @click-toggle="onToggle">
18
- <router-link to="/" @click="onClickItem">Action</router-link>
19
- <a href="#">Another Action</a>
20
- <a href="#">Something else here</a>
21
- </btn-dropdown>
22
-
23
- <btn-dropdown variant="secondary" label="Dropdown" split @click="onClick" @click-toggle="onToggle">
24
- <router-link to="/" @click="onClickItem">Action</router-link>
25
- <a href="#">Another Action</a>
26
- <a href="#">Something else here</a>
27
- </btn-dropdown>
28
-
29
- <hr>
30
-
31
- <h3>Variants</h3>
32
-
33
- <btn-dropdown label="Primary" variant="primary">
34
- <a href="#">Action</a>
35
- <a href="#">Another Action</a>
36
- <a href="#">Something else here</a>
37
- </btn-dropdown>
38
-
39
- <btn-dropdown label="Secondary" variant="secondary">
40
- <a href="#">Action</a>
41
- <a href="#">Another Action</a>
42
- <a href="#">Something else here</a>
43
- </btn-dropdown>
44
-
45
- <btn-dropdown label="Success" variant="success">
46
- <a href="#">Action</a>
47
- <a href="#">Another Action</a>
48
- <a href="#">Something else here</a>
49
- </btn-dropdown>
50
-
51
- <btn-dropdown label="Info" variant="info">
52
- <a href="#">Action</a>
53
- <a href="#">Another Action</a>
54
- <a href="#">Something else here</a>
55
- </btn-dropdown>
56
-
57
- <btn-dropdown label="Warning" variant="warning">
58
- <a href="#">Action</a>
59
- <a href="#">Another Action</a>
60
- <a href="#">Something else here</a>
61
- </btn-dropdown>
62
-
63
- <btn-dropdown label="Danger" variant="danger">
64
- <a href="#">Action</a>
65
- <a href="#">Another Action</a>
66
- <a href="#">Something else here</a>
67
- </btn-dropdown>
68
-
69
- <btn-dropdown label="Dark" variant="dark">
70
- <a href="#">Action</a>
71
- <a href="#">Another Action</a>
72
- <a href="#">Something else here</a>
73
- </btn-dropdown>
74
-
75
- <btn-dropdown label="Light" variant="light">
76
- <a href="#">Action</a>
77
- <a href="#">Another Action</a>
78
- <a href="#">Something else here</a>
79
- </btn-dropdown>
80
-
81
- <btn-dropdown label="Muted" variant="muted">
82
- <a href="#">Action</a>
83
- <a href="#">Another Action</a>
84
- <a href="#">Something else here</a>
85
- </btn-dropdown>
86
-
87
- <hr>
88
-
89
- <h3>Split button dropdowns</h3>
90
-
91
- <btn-dropdown label="Primary" variant="primary" split>
92
- <a href="#">Action</a>
93
- <a href="#">Another Action</a>
94
- <a href="#">Something else here</a>
95
- </btn-dropdown>
96
-
97
- <btn-dropdown label="Secondary" variant="secondary" split>
98
- <a href="#">Action</a>
99
- <a href="#">Another Action</a>
100
- <a href="#">Something else here</a>
101
- </btn-dropdown>
102
-
103
- <btn-dropdown label="Success" variant="success" split>
104
- <a href="#">Action</a>
105
- <a href="#">Another Action</a>
106
- <a href="#">Something else here</a>
107
- </btn-dropdown>
108
-
109
- <btn-dropdown label="Info" variant="info" split>
110
- <a href="#">Action</a>
111
- <a href="#">Another Action</a>
112
- <a href="#">Something else here</a>
113
- </btn-dropdown>
114
-
115
- <btn-dropdown label="Warning" variant="warning" split>
116
- <a href="#">Action</a>
117
- <a href="#">Another Action</a>
118
- <a href="#">Something else here</a>
119
- </btn-dropdown>
120
-
121
- <btn-dropdown label="Danger" variant="danger" split>
122
- <a href="#">Action</a>
123
- <a href="#">Another Action</a>
124
- <a href="#">Something else here</a>
125
- </btn-dropdown>
126
-
127
- <btn-dropdown label="Dark" variant="dark" split>
128
- <a href="#">Action</a>
129
- <a href="#">Another Action</a>
130
- <a href="#">Something else here</a>
131
- </btn-dropdown>
132
-
133
- <btn-dropdown label="Light" variant="light" split>
134
- <a href="#">Action</a>
135
- <a href="#">Another Action</a>
136
- <a href="#">Something else here</a>
137
- </btn-dropdown>
138
-
139
- <btn-dropdown label="Muted" variant="muted" split>
140
- <a href="#">Action</a>
141
- <a href="#">Another Action</a>
142
- <a href="#">Something else here</a>
143
- </btn-dropdown>
144
-
145
- <hr>
146
-
147
- <h3>Split button dropdowns</h3>
148
-
149
- <p>
150
- <btn-dropdown label="Small button" size="sm" variant="secondary">
151
- <a href="#">Action</a>
152
- <a href="#">Another Action</a>
153
- <a href="#">Something else here</a>
154
- </btn-dropdown>
155
-
156
- <btn-dropdown label="Medium button" size="md" variant="secondary">
157
- <a href="#">Action</a>
158
- <a href="#">Another Action</a>
159
- <a href="#">Something else here</a>
160
- </btn-dropdown>
161
-
162
- <btn-dropdown label="Large button" size="lg" variant="secondary">
163
- <a href="#">Action</a>
164
- <a href="#">Another Action</a>
165
- <a href="#">Something else here</a>
166
- </btn-dropdown>
167
- </p>
168
-
169
- <p>
170
- <btn-dropdown label="Small button" size="sm" variant="secondary" split>
171
- <a href="#">Action</a>
172
- <a href="#">Another Action</a>
173
- <a href="#">Something else here</a>
174
- </btn-dropdown>
175
-
176
- <btn-dropdown label="Medium button" size="md" variant="secondary" split>
177
- <a href="#">Action</a>
178
- <a href="#">Another Action</a>
179
- <a href="#">Something else here</a>
180
- </btn-dropdown>
181
-
182
- <btn-dropdown label="Large button" size="lg" variant="secondary" split>
183
- <a href="#">Action</a>
184
- <a href="#">Another Action</a>
185
- <a href="#">Something else here</a>
186
- </btn-dropdown>
187
- </p>
188
-
189
- <hr>
190
-
191
- <h3>Menu Alignment</h3>
192
-
193
- <p>
194
- <btn-dropdown align="left" label="Align Left" variant="secondary">
195
- <a href="#">Action</a>
196
- <a href="#">Another Action</a>
197
- <a href="#">Something else here</a>
198
- </btn-dropdown>
199
-
200
- <btn-dropdown align="right" label="Align Right" variant="secondary">
201
- <a href="#">Action</a>
202
- <a href="#">Another Action</a>
203
- <a href="#">Something else here</a>
204
- </btn-dropdown>
205
- </p>
206
- <p>
207
- <btn-dropdown split align="left" label="Align Left Split" variant="secondary">
208
- <a href="#">Action</a>
209
- <a href="#">Another Action</a>
210
- <a href="#">Something else here</a>
211
- </btn-dropdown>
212
-
213
- <btn-dropdown split align="right" label="Align Right Split" variant="secondary">
214
- <a href="#">Action</a>
215
- <a href="#">Another Action</a>
216
- <a href="#">Something else here</a>
217
- </btn-dropdown>
218
- </p>
219
-
220
- <hr>
221
-
222
- <h3>Dropup variation</h3>
223
-
224
- <btn-dropdown label="Dropup" variant="secondary" dropup>
225
- <a href="#">Action</a>
226
- <a href="#">Another Action</a>
227
- <a href="#">Something else here</a>
228
- </btn-dropdown>
229
-
230
- <btn-dropdown label="Split Dropup" variant="secondary" split dropup>
231
- <a href="#">Action</a>
232
- <a href="#">Another Action</a>
233
- <a href="#">Something else here</a>
234
- </btn-dropdown>
235
-
236
- <hr>
237
-
238
- <h3>Dropright variation</h3>
239
-
240
- <btn-dropdown label="Dropup" variant="secondary" dropright>
241
- <a href="#">Action</a>
242
- <a href="#">Another Action</a>
243
- <a href="#">Something else here</a>
244
- </btn-dropdown>
245
-
246
- <btn-dropdown label="Split Dropup" variant="secondary" split dropright>
247
- <a href="#">Action</a>
248
- <a href="#">Another Action</a>
249
- <a href="#">Something else here</a>
250
- </btn-dropdown>
251
-
252
- <hr>
253
-
254
- <h3>Dropleft variation</h3>
255
-
256
- <btn-dropdown label="Dropleft" variant="secondary" dropleft>
257
- <a href="#">Action</a>
258
- <a href="#">Another Action</a>
259
- <a href="#">Something else here</a>
260
- </btn-dropdown>
261
-
262
- <btn-dropdown label="Dropleft" variant="secondary" split dropleft>
263
- <a href="#">Action</a>
264
- <a href="#">Another Action</a>
265
- <a href="#">Something else here</a>
266
- </btn-dropdown>
267
-
268
- <hr>
269
-
270
- <h3>Button Menu Items</h3>
271
-
272
- <btn-dropdown label="Dropup" variant="secondary">
273
- <a>Action</a>
274
- <a>Another Action</a>
275
- <a >Something else here</a>
276
- </btn-dropdown>
277
-
278
- <btn-dropdown label="Split Dropup" variant="secondary" split>
279
- <a>Action</a>
280
- <a>Another Action</a>
281
- <a>Something else here</a>
282
- </btn-dropdown>
283
-
284
- </div>
285
-
286
- <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
287
- <script src="https://cdn.jsdelivr.net/npm/vue-router/dist/vue-router.js"></script>
288
- <script type="text/javascript" src="./dist/BtnDropdown.umd.js"></script>
289
- <script type="text/javascript">
290
- Vue.use(VueRouter);
291
-
292
- const router = new VueRouter({
293
- routes: [{
294
- path: '/test',
295
- name: 'Home'
296
- }]
297
- });
298
-
299
- const vue = new Vue({
300
- router,
301
- el: '#app',
302
- components: {
303
- BtnDropdown,
304
- Navigation
305
- },
306
- methods: {
307
- onClick(e) {
308
- console.log('click', e);
309
- },
310
- onToggle(e) {
311
- console.log('toggle', e);
312
-
313
- // e.preventDefault() will stop the toggle.
314
- },
315
- onClickItem(e) {
316
- e.stopPropagation();
317
- }
318
- },
319
- data() {
320
- return {
321
- hasClicked: false,
322
- hasClicked2: false
323
- }
324
- }
325
- });
326
- </script>
327
- </body>
328
- </html>
package/index.js DELETED
@@ -1,3 +0,0 @@
1
- import './src/css/BtnDropdown.css';
2
- import BtnDropdown from './src/BtnDropdown';
3
- export default BtnDropdown;
package/main.vue DELETED
@@ -1,5 +0,0 @@
1
- <script>
2
- import './src/css/BtnDropdown.css';
3
- import BtnDropdown from './src/BtnDropdown';
4
- export default BtnDropdown;
5
- </script>
package/postcss.config.js DELETED
@@ -1 +0,0 @@
1
- module.exports = {};
Binary file
package/public/index.html DELETED
@@ -1,17 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
- <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
- <link rel="icon" href="<%= BASE_URL %>favicon.ico">
8
- <title><%= htmlWebpackPlugin.options.title %></title>
9
- </head>
10
- <body>
11
- <noscript>
12
- <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
13
- </noscript>
14
- <div id="app"></div>
15
- <!-- built files will be auto injected -->
16
- </body>
17
- </html>
@@ -1,106 +0,0 @@
1
- <template>
2
- <component
3
- :is="$attrs.split === undefined || !!$attrs.nav ? 'btn-dropdown-single' : 'btn-dropdown-split'"
4
- class="btn-dropdown"
5
- v-bind="$attrs"
6
- @click="(...args) => this.$emit('click', ...args)"
7
- @click-toggle="(...args) => this.$emit('click-toggle', ...args)"
8
- @dropdown="(...args) => this.$emit('dropdown', ...args)"
9
- @show="(...args) => this.$emit('show', ...args)"
10
- @hide="(...args) => this.$emit('hide', ...args)"
11
- @toggle="(...args) => this.$emit('toggle', ...args)">
12
- <template #icon>
13
- <slot name="icon" />
14
- </template>
15
- <template v-if="$attrs.label || this.$slots.label" #label>
16
- <slot name="label">
17
- {{ $attrs.label }}
18
- </slot>
19
- </template>
20
- <slot />
21
- </component>
22
- </template>
23
-
24
- <script>
25
- import BtnDropdownSplit from './BtnDropdownSplit';
26
- import BtnDropdownSingle from './BtnDropdownSingle';
27
-
28
- export default {
29
-
30
- name: 'BtnDropdown',
31
-
32
- components: {
33
- BtnDropdownSplit,
34
- BtnDropdownSingle
35
- },
36
-
37
- inheritAttrs: false
38
-
39
- };
40
- </script>
41
-
42
- <style>
43
- @keyframes btnDropdownZoomIn {
44
- from {
45
- opacity: 0;
46
- transform: scale3d(0.3, 0.3, 0.3);
47
- }
48
-
49
- 50% {
50
- opacity: 1;
51
- }
52
- }
53
-
54
-
55
- .btn-dropdown {
56
- position: relative;
57
- }
58
-
59
- .btn-dropdown .dropdown-toggle {
60
- display: flex;
61
- transition: all 125ms ease-in;
62
- align-items: center;
63
- justify-content: center;
64
- }
65
-
66
- .nav-item .btn-group,
67
- .nav-item .btn-dropdown .dropdown-toggle {
68
- display: block;
69
- }
70
-
71
- .btn-dropdown.rounded-circle > .btn:last-child,
72
- .btn-dropdown.rounded-circle > .btn-group:last-child .dropdown-toggle {
73
- border-top-right-radius: 1000rem;
74
- border-bottom-right-radius: 1000rem;
75
- }
76
-
77
- .btn-dropdown.rounded-circle > .btn:first-child,
78
- .btn-dropdown.rounded-circle > .btn-group:first-child .dropdown-toggle {
79
- border-top-left-radius: 1000rem;
80
- border-bottom-left-radius: 1000rem;
81
- }
82
-
83
- .btn-dropdown .rounded-circle {
84
- border-radius: 1000rem;
85
- }
86
-
87
- .btn-dropdown .rotate-90 {
88
- transform: rotate(90deg);
89
- }
90
-
91
- .btn-dropdown.hide-caret .dropdown-toggle::after,
92
- .btn-dropdown.icon-only .dropdown-toggle::after,
93
- .btn-dropdown.hide-caret .dropdown-toggle::before,
94
- .btn-dropdown.icon-only .dropdown-toggle::before {
95
- display: none;
96
- }
97
-
98
- .btn-dropdown .dropdown-menu {
99
- animation-duration: 125ms;
100
- animation-fill-mode: both;
101
- }
102
-
103
- .btn-dropdown .dropdown-menu.animated {
104
- animation-name: btnDropdownZoomIn;
105
- }
106
- </style>
@@ -1,38 +0,0 @@
1
- <template>
2
- <component
3
- :is="is"
4
- :id="id"
5
- v-bind="to ? { to } : { href }"
6
- aria-haspopup="true"
7
- :aria-expanded="expanded"
8
- :type="is === 'button' ? 'button': undefined">
9
- <slot />
10
- </component>
11
- </template>
12
-
13
- <script>
14
- export default {
15
- props: {
16
- expanded: {
17
- type: Boolean,
18
- default: false
19
- },
20
- id: String,
21
- href: String,
22
- to: [String, Object]
23
- },
24
- computed: {
25
- is() {
26
- if(this.to) {
27
- return 'router-link';
28
- }
29
-
30
- if(this.href) {
31
- return 'a';
32
- }
33
-
34
- return 'button';
35
- },
36
- }
37
- };
38
- </script>
@@ -1,40 +0,0 @@
1
- <template>
2
- <btn-group :class="classes">
3
- <btn-dropdown-action
4
- :id="$attrs.id"
5
- ref="button"
6
- :expanded="isDropdownShowing"
7
- :href="href"
8
- :to="to"
9
- :style="toggleStyle"
10
- :class="toggleClasses"
11
- @click.native="onClickToggle">
12
- <slot name="icon" />
13
- <slot name="label">
14
- {{ label }}
15
- </slot>
16
- </btn-dropdown-action>
17
- <dropdown-menu
18
- :id="$attrs.id"
19
- ref="menu"
20
- :align="align"
21
- :show="isDropdownShowing"
22
- :class="{animated: triggerAnimation}"
23
- @click-item="onClickItem"
24
- @blur-item="onBlurItem">
25
- <slot />
26
- </dropdown-menu>
27
- </btn-group>
28
- </template>
29
-
30
- <script>
31
- import DropdownHandler from './DropdownHandler';
32
-
33
- export default {
34
-
35
- mixins: [
36
- DropdownHandler
37
- ]
38
-
39
- };
40
- </script>
@@ -1,66 +0,0 @@
1
- <template>
2
- <btn-group :class="classes" class="btn-dropdown-split" @click="onClick">
3
- <btn-dropdown-action
4
- v-if="!dropleft"
5
- :id="$attrs.id"
6
- ref="button"
7
- :expanded="isDropdownShowing"
8
- :href="href"
9
- :to="to"
10
- :class="actionClasses"
11
- @click.native="e => $emit('click', e)">
12
- <slot name="icon" />
13
- <slot name="label">
14
- {{ label }}
15
- </slot>
16
- </btn-dropdown-action>
17
- <btn-group>
18
- <button
19
- v-if="split"
20
- :id="$attrs.id"
21
- ref="split"
22
- type="button"
23
- aria-haspopup="true"
24
- :aria-expanded="isDropdownShowing"
25
- :class="toggleClasses"
26
- @click="onClickToggle" />
27
-
28
- <dropdown-menu
29
- :id="$attrs.id"
30
- ref="menu"
31
- :align="align"
32
- :show="isDropdownShowing"
33
- :class="{animated: triggerAnimation}"
34
- @click-item="onClickItem"
35
- @blur-item="onBlurItem">
36
- <slot />
37
- </dropdown-menu>
38
- </btn-group>
39
- <btn-dropdown-action
40
- v-if="dropleft"
41
- :id="$attrs.id"
42
- ref="button"
43
- :expanded="isDropdownShowing"
44
- :href="href"
45
- :to="to"
46
- :class="actionClasses"
47
- @click.native="e => $emit('click', e)">
48
- <slot name="icon" />
49
- <slot name="label">
50
- {{ label }}
51
- </slot>
52
- </btn-dropdown-action>
53
- </btn-group>
54
- </template>
55
-
56
- <script>
57
- import DropdownHandler from './DropdownHandler';
58
-
59
- export default {
60
-
61
- mixins: [
62
- DropdownHandler
63
- ]
64
-
65
- };
66
- </script>