bootstrap-vue-wrapper 1.11.2 → 2.0.0

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 (35) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.md +2 -45
  3. package/dist/bootstrap-vue-wrapper.mjs +7403 -0
  4. package/dist/bootstrap-vue-wrapper.umd.js +25 -0
  5. package/dist/components/bs-breadcrumb/BsBreadcrumb.vue.d.ts +33 -0
  6. package/dist/components/bs-checkbox/BsCheckbox.vue.d.ts +141 -0
  7. package/dist/components/bs-form/BsForm.vue.d.ts +13 -0
  8. package/dist/components/bs-input/BsInput.vue.d.ts +106 -0
  9. package/dist/components/bs-modal/BsModal.vue.d.ts +71 -0
  10. package/dist/components/bs-offcanvas/BsOffcanvas.vue.d.ts +34 -0
  11. package/dist/components/bs-paginator/BsPaginator.vue.d.ts +157 -0
  12. package/dist/components/bs-radio/BsRadio.vue.d.ts +139 -0
  13. package/dist/components/bs-select/BsSelect.vue.d.ts +139 -0
  14. package/dist/components/bs-table/BsTable.vue.d.ts +150 -0
  15. package/dist/components/bs-textarea/BsTextarea.vue.d.ts +106 -0
  16. package/dist/components/bs-toast/BsToast.vue.d.ts +18 -0
  17. package/dist/components/validator/Validator.d.ts +6 -0
  18. package/dist/index.d.ts +13 -0
  19. package/dist/style.css +1 -0
  20. package/package.json +53 -26
  21. package/src/.DS_Store +0 -0
  22. package/src/components/bs-breadcrumb/BsBreadcrumb.vue +0 -45
  23. package/src/components/bs-checkbox/BsCheckbox.vue +0 -148
  24. package/src/components/bs-form/BsForm.vue +0 -37
  25. package/src/components/bs-input/BsInput.vue +0 -92
  26. package/src/components/bs-modal/BsModal.vue +0 -90
  27. package/src/components/bs-offcanvas/BsOffcanvas.vue +0 -67
  28. package/src/components/bs-paginator/BsPaginator.vue +0 -215
  29. package/src/components/bs-radio/BsRadio.vue +0 -118
  30. package/src/components/bs-select/BsSelect.vue +0 -122
  31. package/src/components/bs-table/BsTable.vue +0 -202
  32. package/src/components/bs-textarea/BsTextarea.vue +0 -92
  33. package/src/components/bs-toast/BsToast.vue +0 -23
  34. package/src/index.js +0 -29
  35. package/src/mixins/validator.js +0 -107
@@ -1,92 +0,0 @@
1
- <template>
2
- <label
3
- v-if="label !== null"
4
- :for="id"
5
- class="form-label"
6
- v-text="label"
7
- />
8
- <input
9
- :id="id"
10
- ref="inputRef"
11
- :value="modelValue"
12
- class="form-control"
13
- v-bind="$attrs"
14
- :aria-describedby="hint !== null ? getHintId() : null"
15
- @input="onInput"
16
- @invalid="onInvalid"
17
- >
18
- <div
19
- v-if="invalidMessage !== null && !hideValidationMessage"
20
- class="invalid-feedback"
21
- v-text="invalidMessage"
22
- />
23
- <div
24
- v-if="hint !== null"
25
- :id="getHintId()"
26
- class="form-text"
27
- v-text="hint"
28
- />
29
- </template>
30
-
31
- <script>
32
- import validator from '../../mixins/validator.js'
33
-
34
- export default {
35
- name: 'BsInput',
36
- mixins: [validator],
37
- props: {
38
- /**
39
- * Value for v-model
40
- */
41
- modelValue: {
42
- type: [String, Number],
43
- default: null,
44
- },
45
- /**
46
- * Html id
47
- */
48
- id: {
49
- type: String,
50
- required: true,
51
- },
52
- /**
53
- * Label for input
54
- */
55
- label: {
56
- type: String,
57
- default: null,
58
- },
59
- /**
60
- * Attribute hint
61
- */
62
- hint: {
63
- type: String,
64
- default: null,
65
- },
66
- /**
67
- * If this is true the validation message does not appear.
68
- */
69
- hideValidationMessage: {
70
- type: Boolean,
71
- default: false,
72
- },
73
- },
74
- emits: ['update:modelValue'],
75
- methods: {
76
- /**
77
- * Hint id is generated
78
- */
79
- getHintId() {
80
- return this.id + 'Hint'
81
- },
82
- /**
83
- * On input event
84
- *
85
- * @param event
86
- */
87
- onInput(event) {
88
- this.$emit('update:modelValue', event.target.value)
89
- },
90
- },
91
- }
92
- </script>
@@ -1,90 +0,0 @@
1
- <template>
2
- <div
3
- ref="modalRef"
4
- class="modal fade"
5
- tabindex="-1"
6
- aria-hidden="true"
7
- >
8
- <div class="modal-dialog" :class="classDialog">
9
- <div class="modal-content">
10
- <div v-if="!hideHeader" class="modal-header">
11
- <slot name="header">
12
- <div class="h5 modal-title" v-text="title" />
13
- <button
14
- type="button"
15
- class="btn-close"
16
- data-bs-dismiss="modal"
17
- />
18
- </slot>
19
- </div>
20
- <div v-if="!hideBody" class="modal-body">
21
- <slot name="body" />
22
- </div>
23
- <div v-if="!hideFooter" class="modal-footer">
24
- <slot name="footer" />
25
- </div>
26
- </div>
27
- </div>
28
- </div>
29
- </template>
30
-
31
- <script>
32
- import { Modal } from 'bootstrap'
33
-
34
- export default {
35
- name: 'BsModal',
36
- props: {
37
- /**
38
- * Modal title
39
- */
40
- title: {
41
- type: String,
42
- required: true,
43
- },
44
- classDialog: {
45
- type: [String, Object],
46
- default: null,
47
- },
48
- hideHeader: {
49
- type: Boolean,
50
- default: false,
51
- },
52
- hideBody: {
53
- type: Boolean,
54
- default: false,
55
- },
56
- hideFooter: {
57
- type: Boolean,
58
- default: false,
59
- },
60
- },
61
- emits: ['shown', 'hidden'],
62
- mounted() {
63
- const modalElement = this.$refs.modalRef
64
- Modal.getOrCreateInstance(modalElement).show()
65
-
66
- modalElement.addEventListener('shown.bs.modal', this.onShown)
67
- modalElement.addEventListener('hidden.bs.modal', this.onHidden)
68
- },
69
- methods: {
70
- /**
71
- * Trigger modal hide event.
72
- */
73
- hide() {
74
- Modal.getOrCreateInstance(this.$refs.modalRef).hide()
75
- },
76
- /**
77
- * Hidden event.
78
- */
79
- onShown() {
80
- this.$emit('shown')
81
- },
82
- /**
83
- * Hidden event.
84
- */
85
- onHidden() {
86
- this.$emit('hidden')
87
- },
88
- },
89
- }
90
- </script>
@@ -1,67 +0,0 @@
1
- <template>
2
- <div
3
- ref="offcanvasRef"
4
- class="offcanvas"
5
- tabindex="-1"
6
- aria-labelledby="offcanvasTitle"
7
- >
8
- <div class="offcanvas-header">
9
- <slot name="header">
10
- <div id="offcanvasTitle" class="h5 mb-0" v-text="title" />
11
- <button
12
- type="button"
13
- class="btn-close text-reset"
14
- data-bs-dismiss="offcanvas"
15
- />
16
- </slot>
17
- </div>
18
- <div class="offcanvas-body">
19
- <slot name="body" />
20
- </div>
21
- </div>
22
- </template>
23
-
24
- <script>
25
- import { Offcanvas } from 'bootstrap'
26
-
27
- export default {
28
- name: 'BsOffcanvas',
29
- props: {
30
- /**
31
- * Offcanvas title
32
- */
33
- title: {
34
- type: String,
35
- required: true,
36
- },
37
- },
38
- emits: ['shown', 'hidden'],
39
- mounted() {
40
- const offcanvasElemet = this.$refs.offcanvasRef
41
- Offcanvas.getOrCreateInstance(offcanvasElemet).show()
42
-
43
- offcanvasElemet.addEventListener('shown.bs.offcanvas', this.onShown)
44
- offcanvasElemet.addEventListener('hidden.bs.offcanvas', this.onHidden)
45
- },
46
- methods: {
47
- /**
48
- * Trigger offcanvas hide event.
49
- */
50
- hide() {
51
- Offcanvas.getOrCreateInstance(this.$refs.offcanvasRef).hide()
52
- },
53
- /**
54
- * Hidden event.
55
- */
56
- onShown() {
57
- this.$emit('shown')
58
- },
59
- /**
60
- * Hidden event.
61
- */
62
- onHidden() {
63
- this.$emit('hidden')
64
- },
65
- },
66
- }
67
- </script>
@@ -1,215 +0,0 @@
1
- <template>
2
- <nav>
3
- <ul class="pagination">
4
- <li
5
- class="page-item page-item-first"
6
- :class="{ disabled: isPageActive(1) }"
7
- >
8
- <div
9
- class="page-link"
10
- @click="onPageClick(1)"
11
- v-text="firstPageLabel"
12
- />
13
- </li>
14
- <li
15
- class="page-item page-item-previous"
16
- :class="{ disabled: isPageActive(1) }"
17
- >
18
- <div
19
- class="page-link"
20
- @click="onPageClick(currentPage - 1)"
21
- v-text="previousPageLabel"
22
- />
23
- </li>
24
- <li
25
- v-for="(page, index) in getVisiblePages()"
26
- :key="index"
27
- class="page-item page-item-number"
28
- :class="{
29
- active: isPageActive(page),
30
- }"
31
- >
32
- <div
33
- class="page-link"
34
- @click="onPageClick(page)"
35
- v-text="page"
36
- />
37
- </li>
38
- <li
39
- class="page-item page-item-next"
40
- :class="{ disabled: isPageActive(getPageCount()) }"
41
- >
42
- <div
43
- class="page-link"
44
- @click="onPageClick(currentPage + 1)"
45
- v-text="nextPageLabel"
46
- />
47
- </li>
48
- <li
49
- class="page-item page-item-last"
50
- :class="{ disabled: isPageActive(getPageCount()) }"
51
- >
52
- <div
53
- class="page-link"
54
- @click="onPageClick(getPageCount())"
55
- v-text="lastPageLabel"
56
- />
57
- </li>
58
- </ul>
59
- </nav>
60
- </template>
61
-
62
- <script>
63
- export default {
64
- name: 'BsPaginator',
65
- props: {
66
- /**
67
- * Total count of items.
68
- */
69
- totalCount: {
70
- type: Number,
71
- required: true,
72
- },
73
- /**
74
- * Page size
75
- */
76
- pageSize: {
77
- type: Number,
78
- required: true,
79
- },
80
- /**
81
- * Current page
82
- */
83
- currentPage: {
84
- type: Number,
85
- required: true,
86
- },
87
- /**
88
- * Max visible page
89
- */
90
- maxVisiblePage: {
91
- type: Number,
92
- default: 5,
93
- },
94
- /**
95
- * First page label
96
- */
97
- firstPageLabel: {
98
- type: String,
99
- default: '«',
100
- },
101
- /**
102
- * Previous page label
103
- */
104
- previousPageLabel: {
105
- type: String,
106
- default: '‹',
107
- },
108
- /**
109
- * Next page label
110
- */
111
- nextPageLabel: {
112
- type: String,
113
- default: '›',
114
- },
115
- /**
116
- * Last page label
117
- */
118
- lastPageLabel: {
119
- type: String,
120
- default: '»',
121
- },
122
- },
123
- emits: ['pageChanged'],
124
- methods: {
125
- /**
126
- * Count of pages
127
- *
128
- * @returns {number}
129
- */
130
- getPageCount() {
131
- return Math.ceil(this.totalCount / this.pageSize)
132
- },
133
- /**
134
- * Visible page list
135
- *
136
- * @returns {*[]}
137
- */
138
- getVisiblePages() {
139
- const visiblePages = []
140
- const pageRange = this.getPageRange()
141
- for (let i = pageRange.beginPage; i <= pageRange.endPage; i += 1) {
142
- visiblePages.push(i + 1)
143
- }
144
-
145
- return visiblePages
146
- },
147
- /**
148
- * Is page active, or not
149
- *
150
- * @param page
151
- * @returns {boolean}
152
- */
153
- isPageActive(page) {
154
- return page === this.currentPage
155
- },
156
- /**
157
- * On page click
158
- */
159
- onPageClick(page) {
160
- if (this.isPageActive(page)) {
161
- return
162
- }
163
-
164
- this.$emit('pageChanged', page)
165
- },
166
- /**
167
- * Page range, example: 3 available page, current page 3, range is: [1, 3] (zero-based)
168
- *
169
- * @returns {{beginPage: number, endPage: number}}
170
- */
171
- getPageRange() {
172
- let beginPage = Math.max(0, this.currentPage - (this.maxVisiblePage / 2))
173
- let endPage = beginPage + this.maxVisiblePage - 1
174
-
175
- if (endPage >= this.getPageCount()) {
176
- endPage = this.getPageCount() - 1
177
- beginPage = Math.max(0, endPage - this.maxVisiblePage + 1)
178
- }
179
-
180
- return {
181
- beginPage: Math.floor(beginPage),
182
- endPage: Math.floor(endPage),
183
- }
184
- },
185
- },
186
- }
187
- </script>
188
-
189
- <style lang="scss" scoped>
190
- @import '~bootstrap/scss/functions';
191
- @import '~bootstrap/scss/variables';
192
- @import '~bootstrap/scss/mixins/breakpoints';
193
-
194
- .page-link {
195
- cursor: pointer;
196
- }
197
- .page-item-first,
198
- .page-item-last,
199
- .page-item-number:not(.active) {
200
- display: none;
201
- }
202
-
203
- @include media-breakpoint-up(sm) {
204
- .page-item-number:not(.active) {
205
- display: block;
206
- }
207
- }
208
-
209
- @include media-breakpoint-up(lg) {
210
- .page-item-first,
211
- .page-item-last {
212
- display: block;
213
- }
214
- }
215
- </style>
@@ -1,118 +0,0 @@
1
- <template>
2
- <div class="form-check" :class="classContainer">
3
- <input
4
- :id="id"
5
- ref="inputRef"
6
- :value="modelValue"
7
- v-bind="$attrs"
8
- type="radio"
9
- class="form-check-input"
10
- :checked="isChecked"
11
- :aria-describedby="hint !== null ? getHintId() : null"
12
- @input="onInput"
13
- @invalid="onInvalid"
14
- >
15
- <label
16
- v-if="label !== null"
17
- :for="id"
18
- class="form-check-label"
19
- v-text="label"
20
- />
21
- <div
22
- v-if="invalidMessage !== null && !hideValidationMessage"
23
- class="invalid-feedback"
24
- v-text="invalidMessage"
25
- />
26
- <div
27
- v-if="hint !== null"
28
- :id="getHintId()"
29
- class="form-text"
30
- v-text="hint"
31
- />
32
- </div>
33
- </template>
34
-
35
- <script>
36
- import validator from '../../mixins/validator.js'
37
-
38
- export default {
39
- name: 'BsRadio',
40
- mixins: [validator],
41
- props: {
42
- /**
43
- * Radio value
44
- */
45
- value: {
46
- type: [String, Number],
47
- default: null,
48
- },
49
- /**
50
- * Value for v-model
51
- */
52
- modelValue: {
53
- type: [String, Number],
54
- default: null,
55
- },
56
- /**
57
- * Html id
58
- */
59
- id: {
60
- type: String,
61
- required: true,
62
- },
63
- /**
64
- * Label for input
65
- */
66
- label: {
67
- type: String,
68
- default: null,
69
- },
70
- /**
71
- * Attribute hint
72
- */
73
- hint: {
74
- type: String,
75
- default: null,
76
- },
77
- /**
78
- * Input container div class.
79
- */
80
- classContainer: {
81
- type: String,
82
- default: null,
83
- },
84
- /**
85
- * If this is true the validation message does not appear.
86
- */
87
- hideValidationMessage: {
88
- type: Boolean,
89
- default: false,
90
- },
91
- },
92
- emits: ['update:modelValue'],
93
- computed: {
94
- /**
95
- * Radio is checked or not.
96
- */
97
- isChecked() {
98
- return this.modelValue === this.value
99
- },
100
- },
101
- methods: {
102
- /**
103
- * Hint id is generated
104
- */
105
- getHintId() {
106
- return this.id + 'Hint'
107
- },
108
- /**
109
- * On input event
110
- *
111
- * @param event
112
- */
113
- onInput(event) {
114
- this.$emit('update:modelValue', this.value)
115
- },
116
- },
117
- }
118
- </script>
@@ -1,122 +0,0 @@
1
- <template>
2
- <label
3
- v-if="label !== null"
4
- :for="id"
5
- class="form-label"
6
- v-text="label"
7
- />
8
- <select
9
- :id="id"
10
- ref="inputRef"
11
- class="form-select"
12
- :value="modelValue"
13
- :aria-labelledby="hint !== null ? getHintId() : null"
14
- v-bind="$attrs"
15
- @input="onInput"
16
- @invalid="onInvalid"
17
- >
18
- <option
19
- v-if="placeholder !== null"
20
- value=""
21
- disabled
22
- hidden
23
- >
24
- {{ placeholder }}
25
- </option>
26
- <option
27
- v-for="(option, index) in options"
28
- :key="index"
29
- :value="option.value"
30
- >
31
- {{ option.text }}
32
- </option>
33
- </select>
34
- <div
35
- v-if="invalidMessage !== null && !hideValidationMessage"
36
- class="invalid-feedback"
37
- v-text="invalidMessage"
38
- />
39
- <div
40
- v-if="hint !== null"
41
- :id="getHintId()"
42
- class="form-text"
43
- v-text="hint"
44
- />
45
- </template>
46
-
47
- <script>
48
- import validator from '../../mixins/validator.js'
49
-
50
- export default {
51
- name: 'BsInput',
52
- mixins: [validator],
53
- props: {
54
- /**
55
- * Value for v-model
56
- */
57
- modelValue: {
58
- type: [String, Number, Array],
59
- default: null,
60
- },
61
- /**
62
- * Html id
63
- */
64
- id: {
65
- type: String,
66
- required: true,
67
- },
68
- /**
69
- * Label for input
70
- */
71
- label: {
72
- type: String,
73
- default: null,
74
- },
75
- /**
76
- * Attribute hint
77
- */
78
- hint: {
79
- type: String,
80
- default: null,
81
- },
82
- /**
83
- * Options
84
- */
85
- options: {
86
- type: Array,
87
- default: () => [],
88
- },
89
- /**
90
- * Placeholder
91
- */
92
- placeholder: {
93
- type: String,
94
- default: null,
95
- },
96
- /**
97
- * If this is true the validation message does not appear.
98
- */
99
- hideValidationMessage: {
100
- type: Boolean,
101
- default: false,
102
- },
103
- },
104
- emits: ['update:modelValue'],
105
- methods: {
106
- /**
107
- * Hint id is generated
108
- */
109
- getHintId() {
110
- return this.id + 'Hint'
111
- },
112
- /**
113
- * On input event
114
- *
115
- * @param event
116
- */
117
- onInput(event) {
118
- this.$emit('update:modelValue', event.target.value)
119
- },
120
- },
121
- }
122
- </script>