buefy 0.7.9 → 0.8.2
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/CHANGELOG.md +82 -0
- package/dist/buefy.css +13759 -8263
- package/dist/buefy.js +9073 -14866
- package/dist/buefy.min.css +1 -5
- package/dist/buefy.min.js +2 -2
- package/dist/cjs/autocomplete.js +22 -0
- package/dist/cjs/button.js +106 -0
- package/dist/cjs/checkbox.js +135 -0
- package/dist/cjs/chunk-07fe6fc0.js +247 -0
- package/dist/cjs/chunk-0af453a7.js +105 -0
- package/dist/cjs/chunk-0e89e51b.js +394 -0
- package/dist/cjs/chunk-13e039f5.js +104 -0
- package/dist/cjs/chunk-143d9e6d.js +404 -0
- package/dist/cjs/chunk-19ebd649.js +114 -0
- package/dist/cjs/chunk-1b1231ce.js +94 -0
- package/dist/cjs/chunk-1e6abfcf.js +94 -0
- package/dist/cjs/chunk-28d164b1.js +172 -0
- package/dist/cjs/chunk-3396605d.js +394 -0
- package/dist/cjs/chunk-364a37a0.js +404 -0
- package/dist/cjs/chunk-3b066933.js +103 -0
- package/dist/cjs/chunk-3dffe6e7.js +54 -0
- package/dist/cjs/chunk-4a03b064.js +199 -0
- package/dist/cjs/chunk-50b06939.js +153 -0
- package/dist/cjs/chunk-52623128.js +105 -0
- package/dist/cjs/chunk-53d4f332.js +94 -0
- package/dist/cjs/chunk-544a95da.js +404 -0
- package/dist/cjs/chunk-545f01b1.js +49 -0
- package/dist/cjs/chunk-59b91990.js +64 -0
- package/dist/cjs/chunk-5b2a3329.js +394 -0
- package/dist/cjs/chunk-60061aa8.js +172 -0
- package/dist/cjs/chunk-67658e54.js +404 -0
- package/dist/cjs/chunk-6963026a.js +86 -0
- package/dist/cjs/chunk-6cece6b7.js +140 -0
- package/dist/cjs/chunk-6d6465c1.js +140 -0
- package/dist/cjs/chunk-6e9c0aca.js +94 -0
- package/dist/cjs/chunk-77f69fca.js +106 -0
- package/dist/cjs/chunk-7a25d736.js +114 -0
- package/dist/cjs/chunk-876befa8.js +247 -0
- package/dist/cjs/chunk-8985ffff.js +105 -0
- package/dist/cjs/chunk-8a05c8c9.js +207 -0
- package/dist/cjs/chunk-90407463.js +258 -0
- package/dist/cjs/chunk-956525c9.js +106 -0
- package/dist/cjs/chunk-96ce35a2.js +114 -0
- package/dist/cjs/chunk-9da1d120.js +86 -0
- package/dist/cjs/chunk-9f6a8079.js +54 -0
- package/dist/cjs/chunk-a60dc21d.js +281 -0
- package/dist/cjs/chunk-b628277d.js +199 -0
- package/dist/cjs/chunk-c146745e.js +153 -0
- package/dist/cjs/chunk-c2aec7a9.js +547 -0
- package/dist/cjs/chunk-c9641331.js +86 -0
- package/dist/cjs/chunk-d492406b.js +172 -0
- package/dist/cjs/chunk-e0aa62a0.js +404 -0
- package/dist/cjs/chunk-e45e0329.js +48 -0
- package/dist/cjs/chunk-e5de6583.js +207 -0
- package/dist/cjs/chunk-e85cceb6.js +258 -0
- package/dist/cjs/chunk-ed5addd6.js +547 -0
- package/dist/cjs/chunk-ef4753d5.js +283 -0
- package/dist/cjs/chunk-f0c597f9.js +199 -0
- package/dist/cjs/chunk-f1df1c63.js +9 -0
- package/dist/cjs/chunk-f1ee2f5c.js +207 -0
- package/dist/cjs/chunk-fbd4d545.js +247 -0
- package/dist/cjs/clockpicker.js +447 -0
- package/dist/cjs/collapse.js +102 -0
- package/dist/cjs/datepicker.js +1281 -0
- package/dist/cjs/dialog.js +237 -0
- package/dist/cjs/dropdown.js +19 -0
- package/dist/cjs/field.js +18 -0
- package/dist/cjs/icon.js +17 -0
- package/dist/cjs/index.js +164 -0
- package/dist/cjs/input.js +20 -0
- package/dist/cjs/loading.js +166 -0
- package/dist/cjs/menu.js +231 -0
- package/dist/cjs/message.js +65 -0
- package/dist/cjs/modal.js +48 -0
- package/dist/cjs/navbar.js +258 -0
- package/dist/cjs/notification.js +142 -0
- package/dist/cjs/numberinput.js +191 -0
- package/dist/cjs/pagination.js +19 -0
- package/dist/cjs/progress.js +151 -0
- package/dist/cjs/radio.js +224 -0
- package/dist/cjs/select.js +20 -0
- package/dist/cjs/slider.js +511 -0
- package/dist/cjs/snackbar.js +114 -0
- package/dist/cjs/steps.js +352 -0
- package/dist/cjs/switch.js +144 -0
- package/dist/cjs/table.js +877 -0
- package/dist/cjs/tabs.js +258 -0
- package/dist/cjs/tag.js +63 -0
- package/dist/cjs/taginput.js +297 -0
- package/dist/cjs/timepicker.js +75 -0
- package/dist/cjs/toast.js +89 -0
- package/dist/cjs/tooltip.js +17 -0
- package/dist/cjs/upload.js +210 -0
- package/dist/components/autocomplete/index.js +1084 -2
- package/dist/components/autocomplete/index.min.js +2 -0
- package/dist/components/button/index.js +425 -2
- package/dist/components/button/index.min.js +2 -0
- package/dist/components/checkbox/index.js +342 -2
- package/dist/components/checkbox/index.min.js +2 -0
- package/dist/components/clockpicker/index.js +2340 -2
- package/dist/components/clockpicker/index.min.js +2 -0
- package/dist/components/collapse/index.js +201 -2
- package/dist/components/collapse/index.min.js +2 -0
- package/dist/components/datepicker/index.js +2720 -2
- package/dist/components/datepicker/index.min.js +2 -0
- package/dist/components/dialog/index.js +768 -2
- package/dist/components/dialog/index.min.js +2 -0
- package/dist/components/dropdown/index.js +555 -2
- package/dist/components/dropdown/index.min.js +2 -0
- package/dist/components/field/index.js +447 -2
- package/dist/components/field/index.min.js +2 -0
- package/dist/components/icon/index.js +322 -2
- package/dist/components/icon/index.min.js +2 -0
- package/dist/components/input/index.js +675 -2
- package/dist/components/input/index.min.js +2 -0
- package/dist/components/loading/index.js +282 -2
- package/dist/components/loading/index.min.js +2 -0
- package/dist/components/menu/index.js +550 -2
- package/dist/components/menu/index.min.js +2 -0
- package/dist/components/message/index.js +482 -2
- package/dist/components/message/index.min.js +2 -0
- package/dist/components/modal/index.js +400 -2
- package/dist/components/modal/index.min.js +2 -0
- package/dist/components/navbar/index.js +371 -0
- package/dist/components/navbar/index.min.js +2 -0
- package/dist/components/notification/index.js +705 -2
- package/dist/components/notification/index.min.js +2 -0
- package/dist/components/numberinput/index.js +846 -2
- package/dist/components/numberinput/index.min.js +2 -0
- package/dist/components/pagination/index.js +577 -2
- package/dist/components/pagination/index.min.js +2 -0
- package/dist/components/progress/index.js +250 -0
- package/dist/components/progress/index.min.js +2 -0
- package/dist/components/radio/index.js +323 -2
- package/dist/components/radio/index.min.js +2 -0
- package/dist/components/select/index.js +571 -2
- package/dist/components/select/index.min.js +2 -0
- package/dist/components/slider/index.js +764 -0
- package/dist/components/slider/index.min.js +2 -0
- package/dist/components/snackbar/index.js +397 -2
- package/dist/components/snackbar/index.min.js +2 -0
- package/dist/components/steps/index.js +721 -2
- package/dist/components/steps/index.min.js +2 -0
- package/dist/components/switch/index.js +243 -2
- package/dist/components/switch/index.min.js +2 -0
- package/dist/components/table/index.js +1870 -2
- package/dist/components/table/index.min.js +2 -0
- package/dist/components/tabs/index.js +627 -2
- package/dist/components/tabs/index.min.js +2 -0
- package/dist/components/tag/index.js +262 -2
- package/dist/components/tag/index.min.js +2 -0
- package/dist/components/taginput/index.js +1459 -2
- package/dist/components/taginput/index.min.js +2 -0
- package/dist/components/timepicker/index.js +2053 -2
- package/dist/components/timepicker/index.min.js +2 -0
- package/dist/components/toast/index.js +372 -2
- package/dist/components/toast/index.min.js +2 -0
- package/dist/components/tooltip/index.js +236 -2
- package/dist/components/tooltip/index.min.js +2 -0
- package/dist/components/upload/index.js +501 -2
- package/dist/components/upload/index.min.js +2 -0
- package/dist/esm/autocomplete.js +18 -0
- package/dist/esm/button.js +102 -0
- package/dist/esm/checkbox.js +131 -0
- package/dist/esm/chunk-00e3e67f.js +401 -0
- package/dist/esm/chunk-051f8b06.js +105 -0
- package/dist/esm/chunk-0566c90d.js +152 -0
- package/dist/esm/chunk-07e19446.js +545 -0
- package/dist/esm/chunk-085a700d.js +7 -0
- package/dist/esm/chunk-0ad6938a.js +53 -0
- package/dist/esm/chunk-0e3f4fb5.js +52 -0
- package/dist/esm/chunk-10c85529.js +151 -0
- package/dist/esm/chunk-121b1efa.js +197 -0
- package/dist/esm/chunk-19dad95e.js +256 -0
- package/dist/esm/chunk-231b6066.js +113 -0
- package/dist/esm/chunk-24d1a01f.js +279 -0
- package/dist/esm/chunk-297bff6b.js +393 -0
- package/dist/esm/chunk-2b2ae5c6.js +245 -0
- package/dist/esm/chunk-2cb6f867.js +46 -0
- package/dist/esm/chunk-33717194.js +392 -0
- package/dist/esm/chunk-3b811b77.js +139 -0
- package/dist/esm/chunk-3e47308f.js +104 -0
- package/dist/esm/chunk-411d6eea.js +84 -0
- package/dist/esm/chunk-4535dec5.js +92 -0
- package/dist/esm/chunk-47a5f3a1.js +103 -0
- package/dist/esm/chunk-4a5384da.js +205 -0
- package/dist/esm/chunk-4b663574.js +112 -0
- package/dist/esm/chunk-4d393f09.js +170 -0
- package/dist/esm/chunk-4d695899.js +257 -0
- package/dist/esm/chunk-4f508891.js +171 -0
- package/dist/esm/chunk-531b8274.js +281 -0
- package/dist/esm/chunk-591ee4a2.js +151 -0
- package/dist/esm/chunk-5d3bf82e.js +170 -0
- package/dist/esm/chunk-5e0b0665.js +104 -0
- package/dist/esm/chunk-648b9aa4.js +45 -0
- package/dist/esm/chunk-666940cf.js +546 -0
- package/dist/esm/chunk-67c97e13.js +246 -0
- package/dist/esm/chunk-6844653e.js +401 -0
- package/dist/esm/chunk-699b7cb4.js +245 -0
- package/dist/esm/chunk-6f881e7d.js +51 -0
- package/dist/esm/chunk-7123d158.js +256 -0
- package/dist/esm/chunk-7cf87590.js +60 -0
- package/dist/esm/chunk-823177ac.js +545 -0
- package/dist/esm/chunk-8838757a.js +401 -0
- package/dist/esm/chunk-8ca878c0.js +198 -0
- package/dist/esm/chunk-8fc2e874.js +85 -0
- package/dist/esm/chunk-912ed715.js +92 -0
- package/dist/esm/chunk-92acc21f.js +392 -0
- package/dist/esm/chunk-98e86f40.js +197 -0
- package/dist/esm/chunk-99a1f9df.js +92 -0
- package/dist/esm/chunk-9a776697.js +112 -0
- package/dist/esm/chunk-9e3207cc.js +46 -0
- package/dist/esm/chunk-9ec14e09.js +112 -0
- package/dist/esm/chunk-a5ea70d0.js +205 -0
- package/dist/esm/chunk-ac3f4847.js +138 -0
- package/dist/esm/chunk-b5376f3e.js +92 -0
- package/dist/esm/chunk-b56eb2c8.js +197 -0
- package/dist/esm/chunk-b796d1b2.js +392 -0
- package/dist/esm/chunk-b822a5db.js +205 -0
- package/dist/esm/chunk-b9bdb0e4.js +6 -0
- package/dist/esm/chunk-bfe15983.js +401 -0
- package/dist/esm/chunk-c9039f68.js +104 -0
- package/dist/esm/chunk-cc718c15.js +245 -0
- package/dist/esm/chunk-cca88db8.js +99 -0
- package/dist/esm/chunk-d6200087.js +50 -0
- package/dist/esm/chunk-daeac852.js +138 -0
- package/dist/esm/chunk-db31c548.js +103 -0
- package/dist/esm/chunk-e5568f45.js +84 -0
- package/dist/esm/chunk-e5fce48f.js +59 -0
- package/dist/esm/chunk-e84b4047.js +170 -0
- package/dist/esm/chunk-e8d90b72.js +98 -0
- package/dist/esm/chunk-e932bb68.js +206 -0
- package/dist/esm/chunk-edd8ff91.js +103 -0
- package/dist/esm/chunk-f0465d8d.js +84 -0
- package/dist/esm/chunk-f743d154.js +93 -0
- package/dist/esm/chunk-f8036b32.js +402 -0
- package/dist/esm/chunk-f984748f.js +401 -0
- package/dist/esm/chunk-fd5b0e1e.js +99 -0
- package/dist/esm/clockpicker.js +443 -0
- package/dist/esm/collapse.js +98 -0
- package/dist/esm/datepicker.js +1277 -0
- package/dist/esm/dialog.js +231 -0
- package/dist/esm/dropdown.js +14 -0
- package/dist/esm/field.js +14 -0
- package/dist/esm/icon.js +13 -0
- package/dist/esm/index.js +154 -0
- package/dist/esm/input.js +16 -0
- package/dist/esm/loading.js +159 -0
- package/dist/esm/menu.js +225 -0
- package/dist/esm/message.js +61 -0
- package/dist/esm/modal.js +42 -0
- package/dist/esm/navbar.js +253 -0
- package/dist/esm/notification.js +135 -0
- package/dist/esm/numberinput.js +187 -0
- package/dist/esm/pagination.js +15 -0
- package/dist/esm/progress.js +147 -0
- package/dist/esm/radio.js +219 -0
- package/dist/esm/select.js +16 -0
- package/dist/esm/slider.js +506 -0
- package/dist/esm/snackbar.js +108 -0
- package/dist/esm/steps.js +347 -0
- package/dist/esm/switch.js +140 -0
- package/dist/esm/table.js +872 -0
- package/dist/esm/tabs.js +253 -0
- package/dist/esm/tag.js +59 -0
- package/dist/esm/taginput.js +293 -0
- package/dist/esm/timepicker.js +71 -0
- package/dist/esm/toast.js +83 -0
- package/dist/esm/tooltip.js +13 -0
- package/dist/esm/upload.js +206 -0
- package/package.json +26 -4
- package/src/components/checkbox/Checkbox.vue +12 -4
- package/src/components/checkbox/CheckboxButton.vue +10 -2
- package/src/components/clockpicker/Clockpicker.vue +0 -5
- package/src/components/datepicker/Datepicker.spec.js +60 -0
- package/src/components/datepicker/Datepicker.vue +46 -19
- package/src/components/datepicker/DatepickerTable.spec.js +107 -2
- package/src/components/datepicker/DatepickerTable.vue +73 -4
- package/src/components/datepicker/DatepickerTableRow.spec.js +127 -17
- package/src/components/datepicker/DatepickerTableRow.vue +103 -4
- package/src/components/dialog/Dialog.vue +5 -3
- package/src/components/dialog/index.js +2 -2
- package/src/components/dropdown/Dropdown.vue +1 -4
- package/src/components/dropdown/DropdownItem.vue +7 -3
- package/src/components/field/Field.spec.js +18 -0
- package/src/components/field/Field.vue +21 -2
- package/src/components/index.js +6 -0
- package/src/components/input/Input.vue +2 -2
- package/src/components/loading/index.js +1 -1
- package/src/components/modal/index.js +1 -1
- package/src/components/navbar/NavBar.spec.js +76 -0
- package/src/components/navbar/Navbar.vue +127 -0
- package/src/components/navbar/NavbarBurger.vue +25 -0
- package/src/components/navbar/NavbarItem.vue +21 -0
- package/src/components/navbar/index.js +20 -0
- package/src/components/notification/index.js +1 -1
- package/src/components/pagination/Pagination.vue +28 -6
- package/src/components/progress/Progress.spec.js +77 -0
- package/src/components/progress/Progress.vue +108 -0
- package/src/components/progress/__snapshots__/Progress.spec.js.snap +7 -0
- package/src/components/progress/index.js +17 -0
- package/src/components/radio/Radio.spec.js +18 -1
- package/src/components/radio/Radio.vue +11 -5
- package/src/components/radio/RadioButton.spec.js +18 -1
- package/src/components/radio/RadioButton.vue +20 -8
- package/src/components/select/Select.spec.js +22 -1
- package/src/components/select/Select.vue +2 -1
- package/src/components/select/__snapshots__/Select.spec.js.snap +7 -0
- package/src/components/slider/Slider.spec.js +10 -0
- package/src/components/slider/Slider.vue +240 -0
- package/src/components/slider/SliderThumb.vue +188 -0
- package/src/components/slider/SliderTick.vue +43 -0
- package/src/components/slider/index.js +20 -0
- package/src/components/snackbar/index.js +2 -2
- package/src/components/steps/StepItem.vue +2 -3
- package/src/components/steps/Steps.vue +7 -5
- package/src/components/switch/Switch.spec.js +29 -0
- package/src/components/switch/Switch.vue +29 -5
- package/src/components/switch/__snapshots__/Switch.spec.js.snap +3 -0
- package/src/components/table/Table.vue +30 -8
- package/src/components/table/TableColumn.vue +2 -2
- package/src/components/tag/Tag.vue +4 -1
- package/src/components/taginput/Taginput.spec.js +10 -0
- package/src/components/taginput/Taginput.vue +8 -3
- package/src/components/toast/index.js +2 -2
- package/src/components/tooltip/Tooltip.vue +5 -5
- package/src/components/upload/Upload.vue +15 -8
- package/src/index.js +11 -4
- package/src/scss/buefy-build.scss +3 -3
- package/src/scss/buefy.scss +4 -0
- package/src/scss/components/_datepicker.scss +40 -1
- package/src/scss/components/_form.scss +52 -1
- package/src/scss/components/_progress.scss +45 -0
- package/src/scss/components/_radio.scss +14 -14
- package/src/scss/components/_slider.scss +138 -0
- package/src/scss/components/_steps.scss +4 -4
- package/src/scss/components/_switch.scss +54 -2
- package/src/scss/components/_taginput.scss +3 -0
- package/src/scss/components/_upload.scss +1 -3
- package/src/utils/SlotComponent.js +9 -2
- package/src/utils/TimepickerMixin.js +17 -6
- package/src/utils/config.js +4 -1
- package/src/utils/helpers.spec.js +67 -0
- package/src/utils/plugins.js +2 -1
- package/types/components.d.ts +3 -3
- package/types/index.d.ts +24 -11
- package/dist/components/index.js +0 -2
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/*! Buefy v0.7.10 | MIT License | github.com/buefy/buefy */
|
|
2
|
+
var SlotComponent = {
|
|
3
|
+
name: 'BSlotComponent',
|
|
4
|
+
props: {
|
|
5
|
+
component: {
|
|
6
|
+
type: Object,
|
|
7
|
+
required: true
|
|
8
|
+
},
|
|
9
|
+
name: {
|
|
10
|
+
type: String,
|
|
11
|
+
default: 'default'
|
|
12
|
+
},
|
|
13
|
+
scoped: {
|
|
14
|
+
type: Boolean
|
|
15
|
+
},
|
|
16
|
+
props: {
|
|
17
|
+
type: Object
|
|
18
|
+
},
|
|
19
|
+
tag: {
|
|
20
|
+
type: String,
|
|
21
|
+
default: 'div'
|
|
22
|
+
},
|
|
23
|
+
event: {
|
|
24
|
+
type: String,
|
|
25
|
+
default: 'hook:updated'
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
methods: {
|
|
29
|
+
refresh: function refresh() {
|
|
30
|
+
this.$forceUpdate();
|
|
31
|
+
},
|
|
32
|
+
isVueComponent: function isVueComponent() {
|
|
33
|
+
return this.component && this.component._isVue;
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
created: function created() {
|
|
37
|
+
if (this.isVueComponent()) {
|
|
38
|
+
this.component.$on(this.event, this.refresh);
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
beforeDestroy: function beforeDestroy() {
|
|
42
|
+
if (this.isVueComponent()) {
|
|
43
|
+
this.component.$off(this.event, this.refresh);
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
render: function render(createElement) {
|
|
47
|
+
if (this.isVueComponent()) {
|
|
48
|
+
return createElement(this.tag, {}, this.scoped ? this.component.$scopedSlots[this.name](this.props) : this.component.$slots[this.name]);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export { SlotComponent as S };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
var SlotComponent = {
|
|
2
|
+
name: 'BSlotComponent',
|
|
3
|
+
props: {
|
|
4
|
+
component: {
|
|
5
|
+
type: Object,
|
|
6
|
+
required: true
|
|
7
|
+
},
|
|
8
|
+
name: {
|
|
9
|
+
type: String,
|
|
10
|
+
default: 'default'
|
|
11
|
+
},
|
|
12
|
+
scoped: {
|
|
13
|
+
type: Boolean
|
|
14
|
+
},
|
|
15
|
+
props: {
|
|
16
|
+
type: Object
|
|
17
|
+
},
|
|
18
|
+
tag: {
|
|
19
|
+
type: String,
|
|
20
|
+
default: 'div'
|
|
21
|
+
},
|
|
22
|
+
event: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: 'hook:updated'
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
methods: {
|
|
28
|
+
refresh: function refresh() {
|
|
29
|
+
this.$forceUpdate();
|
|
30
|
+
},
|
|
31
|
+
isVueComponent: function isVueComponent() {
|
|
32
|
+
return this.component && this.component._isVue;
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
created: function created() {
|
|
36
|
+
if (this.isVueComponent()) {
|
|
37
|
+
this.component.$on(this.event, this.refresh);
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
beforeDestroy: function beforeDestroy() {
|
|
41
|
+
if (this.isVueComponent()) {
|
|
42
|
+
this.component.$off(this.event, this.refresh);
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
render: function render(createElement) {
|
|
46
|
+
if (this.isVueComponent()) {
|
|
47
|
+
return createElement(this.tag, {}, this.scoped ? this.component.$scopedSlots[this.name](this.props) : this.component.$slots[this.name]);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export { SlotComponent as S };
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { c as config } from './chunk-9e3207cc.js';
|
|
2
|
+
|
|
3
|
+
var FormElementMixin = {
|
|
4
|
+
props: {
|
|
5
|
+
size: String,
|
|
6
|
+
expanded: Boolean,
|
|
7
|
+
loading: Boolean,
|
|
8
|
+
rounded: Boolean,
|
|
9
|
+
icon: String,
|
|
10
|
+
iconPack: String,
|
|
11
|
+
// Native options to use in HTML5 validation
|
|
12
|
+
autocomplete: String,
|
|
13
|
+
maxlength: [Number, String],
|
|
14
|
+
useHtml5Validation: {
|
|
15
|
+
type: Boolean,
|
|
16
|
+
default: function _default() {
|
|
17
|
+
return config.defaultUseHtml5Validation;
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
validationMessage: String
|
|
21
|
+
},
|
|
22
|
+
data: function data() {
|
|
23
|
+
return {
|
|
24
|
+
isValid: true,
|
|
25
|
+
isFocused: false,
|
|
26
|
+
newIconPack: this.iconPack || config.defaultIconPack
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
computed: {
|
|
30
|
+
/**
|
|
31
|
+
* Find parent Field, max 3 levels deep.
|
|
32
|
+
*/
|
|
33
|
+
parentField: function parentField() {
|
|
34
|
+
var parent = this.$parent;
|
|
35
|
+
|
|
36
|
+
for (var i = 0; i < 3; i++) {
|
|
37
|
+
if (parent && !parent.$data._isField) {
|
|
38
|
+
parent = parent.$parent;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return parent;
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Get the type prop from parent if it's a Field.
|
|
47
|
+
*/
|
|
48
|
+
statusType: function statusType() {
|
|
49
|
+
if (!this.parentField) return;
|
|
50
|
+
if (!this.parentField.newType) return;
|
|
51
|
+
|
|
52
|
+
if (typeof this.parentField.newType === 'string') {
|
|
53
|
+
return this.parentField.newType;
|
|
54
|
+
} else {
|
|
55
|
+
for (var key in this.parentField.newType) {
|
|
56
|
+
if (this.parentField.newType[key]) {
|
|
57
|
+
return key;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Get the message prop from parent if it's a Field.
|
|
65
|
+
*/
|
|
66
|
+
statusMessage: function statusMessage() {
|
|
67
|
+
if (!this.parentField) return;
|
|
68
|
+
return this.parentField.newMessage;
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Fix icon size for inputs, large was too big
|
|
73
|
+
*/
|
|
74
|
+
iconSize: function iconSize() {
|
|
75
|
+
switch (this.size) {
|
|
76
|
+
case 'is-small':
|
|
77
|
+
return this.size;
|
|
78
|
+
|
|
79
|
+
case 'is-medium':
|
|
80
|
+
return;
|
|
81
|
+
|
|
82
|
+
case 'is-large':
|
|
83
|
+
return this.newIconPack === 'mdi' ? 'is-medium' : '';
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
methods: {
|
|
88
|
+
/**
|
|
89
|
+
* Focus method that work dynamically depending on the component.
|
|
90
|
+
*/
|
|
91
|
+
focus: function focus() {
|
|
92
|
+
var _this = this;
|
|
93
|
+
|
|
94
|
+
if (this.$data._elementRef === undefined) return;
|
|
95
|
+
this.$nextTick(function () {
|
|
96
|
+
var el = _this.$el.querySelector(_this.$data._elementRef);
|
|
97
|
+
|
|
98
|
+
if (el) el.focus();
|
|
99
|
+
});
|
|
100
|
+
},
|
|
101
|
+
onBlur: function onBlur($event) {
|
|
102
|
+
this.isFocused = false;
|
|
103
|
+
this.$emit('blur', $event);
|
|
104
|
+
this.checkHtml5Validity();
|
|
105
|
+
},
|
|
106
|
+
onFocus: function onFocus($event) {
|
|
107
|
+
this.isFocused = true;
|
|
108
|
+
this.$emit('focus', $event);
|
|
109
|
+
},
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Check HTML5 validation, set isValid property.
|
|
113
|
+
* If validation fail, send 'is-danger' type,
|
|
114
|
+
* and error message to parent if it's a Field.
|
|
115
|
+
*/
|
|
116
|
+
checkHtml5Validity: function checkHtml5Validity() {
|
|
117
|
+
var _this2 = this;
|
|
118
|
+
|
|
119
|
+
if (!this.useHtml5Validation) return;
|
|
120
|
+
if (this.$refs[this.$data._elementRef] === undefined) return;
|
|
121
|
+
var el = this.$el.querySelector(this.$data._elementRef);
|
|
122
|
+
var type = null;
|
|
123
|
+
var message = null;
|
|
124
|
+
var isValid = true;
|
|
125
|
+
|
|
126
|
+
if (!el.checkValidity()) {
|
|
127
|
+
type = 'is-danger';
|
|
128
|
+
message = this.validationMessage || el.validationMessage;
|
|
129
|
+
isValid = false;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
this.isValid = isValid;
|
|
133
|
+
this.$nextTick(function () {
|
|
134
|
+
if (_this2.parentField) {
|
|
135
|
+
// Set type only if not defined
|
|
136
|
+
if (!_this2.parentField.type) {
|
|
137
|
+
_this2.parentField.newType = type;
|
|
138
|
+
} // Set message only if not defined
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
if (!_this2.parentField.message) {
|
|
142
|
+
_this2.parentField.newMessage = message;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
return this.isValid;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
export { FormElementMixin as F };
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { _ as _defineProperty } from './chunk-d6200087.js';
|
|
2
|
+
import { c as config } from './chunk-648b9aa4.js';
|
|
3
|
+
import { F as FormElementMixin } from './chunk-591ee4a2.js';
|
|
4
|
+
import { I as Icon } from './chunk-4d393f09.js';
|
|
5
|
+
import { _ as __vue_normalize__ } from './chunk-cca88db8.js';
|
|
6
|
+
|
|
7
|
+
var script = {
|
|
8
|
+
name: 'BInput',
|
|
9
|
+
components: _defineProperty({}, Icon.name, Icon),
|
|
10
|
+
mixins: [FormElementMixin],
|
|
11
|
+
inheritAttrs: false,
|
|
12
|
+
props: {
|
|
13
|
+
value: [Number, String],
|
|
14
|
+
type: {
|
|
15
|
+
type: String,
|
|
16
|
+
default: 'text'
|
|
17
|
+
},
|
|
18
|
+
passwordReveal: Boolean,
|
|
19
|
+
hasCounter: {
|
|
20
|
+
type: Boolean,
|
|
21
|
+
default: function _default() {
|
|
22
|
+
return config.defaultInputHasCounter;
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
customClass: {
|
|
26
|
+
type: String,
|
|
27
|
+
default: ''
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
data: function data() {
|
|
31
|
+
return {
|
|
32
|
+
newValue: this.value,
|
|
33
|
+
newType: this.type,
|
|
34
|
+
newAutocomplete: this.autocomplete || config.defaultInputAutocomplete,
|
|
35
|
+
isPasswordVisible: false,
|
|
36
|
+
_elementRef: this.type === 'textarea' ? 'textarea' : 'input'
|
|
37
|
+
};
|
|
38
|
+
},
|
|
39
|
+
computed: {
|
|
40
|
+
computedValue: {
|
|
41
|
+
get: function get() {
|
|
42
|
+
return this.newValue;
|
|
43
|
+
},
|
|
44
|
+
set: function set(value) {
|
|
45
|
+
this.newValue = value;
|
|
46
|
+
this.$emit('input', value);
|
|
47
|
+
!this.isValid && this.checkHtml5Validity();
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
rootClasses: function rootClasses() {
|
|
51
|
+
return [this.iconPosition, this.size, {
|
|
52
|
+
'is-expanded': this.expanded,
|
|
53
|
+
'is-loading': this.loading,
|
|
54
|
+
'is-clearfix': !this.hasMessage
|
|
55
|
+
}];
|
|
56
|
+
},
|
|
57
|
+
inputClasses: function inputClasses() {
|
|
58
|
+
return [this.statusType, this.size, {
|
|
59
|
+
'is-rounded': this.rounded
|
|
60
|
+
}];
|
|
61
|
+
},
|
|
62
|
+
hasIconRight: function hasIconRight() {
|
|
63
|
+
return this.passwordReveal || this.loading || this.statusTypeIcon;
|
|
64
|
+
},
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Position of the icon or if it's both sides.
|
|
68
|
+
*/
|
|
69
|
+
iconPosition: function iconPosition() {
|
|
70
|
+
if (this.icon && this.hasIconRight) {
|
|
71
|
+
return 'has-icons-left has-icons-right';
|
|
72
|
+
} else if (!this.icon && this.hasIconRight) {
|
|
73
|
+
return 'has-icons-right';
|
|
74
|
+
} else if (this.icon) {
|
|
75
|
+
return 'has-icons-left';
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Icon name (MDI) based on the type.
|
|
81
|
+
*/
|
|
82
|
+
statusTypeIcon: function statusTypeIcon() {
|
|
83
|
+
switch (this.statusType) {
|
|
84
|
+
case 'is-success':
|
|
85
|
+
return 'check';
|
|
86
|
+
|
|
87
|
+
case 'is-danger':
|
|
88
|
+
return 'alert-circle';
|
|
89
|
+
|
|
90
|
+
case 'is-info':
|
|
91
|
+
return 'information';
|
|
92
|
+
|
|
93
|
+
case 'is-warning':
|
|
94
|
+
return 'alert';
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Check if have any message prop from parent if it's a Field.
|
|
100
|
+
*/
|
|
101
|
+
hasMessage: function hasMessage() {
|
|
102
|
+
return !!this.statusMessage;
|
|
103
|
+
},
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Current password-reveal icon name.
|
|
107
|
+
*/
|
|
108
|
+
passwordVisibleIcon: function passwordVisibleIcon() {
|
|
109
|
+
return !this.isPasswordVisible ? 'eye' : 'eye-off';
|
|
110
|
+
},
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Get value length
|
|
114
|
+
*/
|
|
115
|
+
valueLength: function valueLength() {
|
|
116
|
+
if (typeof this.computedValue === 'string') {
|
|
117
|
+
return this.computedValue.length;
|
|
118
|
+
} else if (typeof this.computedValue === 'number') {
|
|
119
|
+
return this.computedValue.toString().length;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return 0;
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
watch: {
|
|
126
|
+
/**
|
|
127
|
+
* When v-model is changed:
|
|
128
|
+
* 1. Set internal value.
|
|
129
|
+
*/
|
|
130
|
+
value: function value(_value) {
|
|
131
|
+
this.newValue = _value;
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
methods: {
|
|
135
|
+
/**
|
|
136
|
+
* Toggle the visibility of a password-reveal input
|
|
137
|
+
* by changing the type and focus the input right away.
|
|
138
|
+
*/
|
|
139
|
+
togglePasswordVisibility: function togglePasswordVisibility() {
|
|
140
|
+
var _this = this;
|
|
141
|
+
|
|
142
|
+
this.isPasswordVisible = !this.isPasswordVisible;
|
|
143
|
+
this.newType = this.isPasswordVisible ? 'text' : 'password';
|
|
144
|
+
this.$nextTick(function () {
|
|
145
|
+
_this.$refs.input.focus();
|
|
146
|
+
});
|
|
147
|
+
},
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Input's 'input' event listener, 'nextTick' is used to prevent event firing
|
|
151
|
+
* before ui update, helps when using masks (Cleavejs and potentially others).
|
|
152
|
+
*/
|
|
153
|
+
onInput: function onInput(event) {
|
|
154
|
+
var _this2 = this;
|
|
155
|
+
|
|
156
|
+
this.$nextTick(function () {
|
|
157
|
+
if (event.target) {
|
|
158
|
+
_this2.computedValue = event.target.value;
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
/* script */
|
|
166
|
+
const __vue_script__ = script;
|
|
167
|
+
|
|
168
|
+
/* template */
|
|
169
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"control",class:_vm.rootClasses},[(_vm.type !== 'textarea')?_c('input',_vm._b({ref:"input",staticClass:"input",class:[_vm.inputClasses, _vm.customClass],attrs:{"type":_vm.newType,"autocomplete":_vm.newAutocomplete,"maxlength":_vm.maxlength},domProps:{"value":_vm.computedValue},on:{"input":_vm.onInput,"blur":_vm.onBlur,"focus":_vm.onFocus}},'input',_vm.$attrs,false)):_c('textarea',_vm._b({ref:"textarea",staticClass:"textarea",class:[_vm.inputClasses, _vm.customClass],attrs:{"maxlength":_vm.maxlength},domProps:{"value":_vm.computedValue},on:{"input":_vm.onInput,"blur":_vm.onBlur,"focus":_vm.onFocus}},'textarea',_vm.$attrs,false)),_vm._v(" "),(_vm.icon)?_c('b-icon',{staticClass:"is-left",attrs:{"icon":_vm.icon,"pack":_vm.iconPack,"size":_vm.iconSize}}):_vm._e(),_vm._v(" "),(!_vm.loading && (_vm.passwordReveal || _vm.statusTypeIcon))?_c('b-icon',{staticClass:"is-right",class:{ 'is-clickable': _vm.passwordReveal },attrs:{"icon":_vm.passwordReveal ? _vm.passwordVisibleIcon : _vm.statusTypeIcon,"pack":_vm.iconPack,"size":_vm.iconSize,"type":!_vm.passwordReveal ? _vm.statusType : 'is-primary',"both":""},nativeOn:{"click":function($event){_vm.togglePasswordVisibility($event);}}}):_vm._e(),_vm._v(" "),(_vm.maxlength && _vm.hasCounter && _vm.type !== 'number')?_c('small',{staticClass:"help counter",class:{ 'is-invisible': !_vm.isFocused }},[_vm._v("\n "+_vm._s(_vm.valueLength)+" / "+_vm._s(_vm.maxlength)+"\n ")]):_vm._e()],1)};
|
|
170
|
+
var __vue_staticRenderFns__ = [];
|
|
171
|
+
|
|
172
|
+
/* style */
|
|
173
|
+
const __vue_inject_styles__ = undefined;
|
|
174
|
+
/* scoped */
|
|
175
|
+
const __vue_scope_id__ = undefined;
|
|
176
|
+
/* module identifier */
|
|
177
|
+
const __vue_module_identifier__ = undefined;
|
|
178
|
+
/* functional template */
|
|
179
|
+
const __vue_is_functional_template__ = false;
|
|
180
|
+
/* style inject */
|
|
181
|
+
|
|
182
|
+
/* style inject SSR */
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
var Input = __vue_normalize__(
|
|
187
|
+
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
|
188
|
+
__vue_inject_styles__,
|
|
189
|
+
__vue_script__,
|
|
190
|
+
__vue_scope_id__,
|
|
191
|
+
__vue_is_functional_template__,
|
|
192
|
+
__vue_module_identifier__,
|
|
193
|
+
undefined,
|
|
194
|
+
undefined
|
|
195
|
+
);
|
|
196
|
+
|
|
197
|
+
export { Input as I };
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { _ as _defineProperty } from './chunk-d6200087.js';
|
|
2
|
+
import { c as config } from './chunk-648b9aa4.js';
|
|
3
|
+
import { _ as __vue_normalize__ } from './chunk-e8d90b72.js';
|
|
4
|
+
|
|
5
|
+
var script = {
|
|
6
|
+
name: 'BFieldBody',
|
|
7
|
+
props: {
|
|
8
|
+
message: {
|
|
9
|
+
type: String
|
|
10
|
+
},
|
|
11
|
+
type: {
|
|
12
|
+
type: [String, Object]
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
render: function render(createElement) {
|
|
16
|
+
var _this = this;
|
|
17
|
+
|
|
18
|
+
return createElement('div', {
|
|
19
|
+
attrs: {
|
|
20
|
+
'class': 'field-body'
|
|
21
|
+
}
|
|
22
|
+
}, this.$slots.default.map(function (element) {
|
|
23
|
+
// skip returns and comments
|
|
24
|
+
if (!element.tag) {
|
|
25
|
+
return element;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (_this.message) {
|
|
29
|
+
return createElement('b-field', {
|
|
30
|
+
attrs: {
|
|
31
|
+
message: _this.message,
|
|
32
|
+
'type': _this.type
|
|
33
|
+
}
|
|
34
|
+
}, [element]);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return createElement('b-field', {
|
|
38
|
+
attrs: {
|
|
39
|
+
'type': _this.type
|
|
40
|
+
}
|
|
41
|
+
}, [element]);
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/* script */
|
|
47
|
+
const __vue_script__ = script;
|
|
48
|
+
|
|
49
|
+
/* template */
|
|
50
|
+
|
|
51
|
+
/* style */
|
|
52
|
+
const __vue_inject_styles__ = undefined;
|
|
53
|
+
/* scoped */
|
|
54
|
+
const __vue_scope_id__ = undefined;
|
|
55
|
+
/* module identifier */
|
|
56
|
+
const __vue_module_identifier__ = undefined;
|
|
57
|
+
/* functional template */
|
|
58
|
+
const __vue_is_functional_template__ = undefined;
|
|
59
|
+
/* style inject */
|
|
60
|
+
|
|
61
|
+
/* style inject SSR */
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
var FieldBody = __vue_normalize__(
|
|
66
|
+
{},
|
|
67
|
+
__vue_inject_styles__,
|
|
68
|
+
__vue_script__,
|
|
69
|
+
__vue_scope_id__,
|
|
70
|
+
__vue_is_functional_template__,
|
|
71
|
+
__vue_module_identifier__,
|
|
72
|
+
undefined,
|
|
73
|
+
undefined
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
var script$1 = {
|
|
77
|
+
name: 'BField',
|
|
78
|
+
components: _defineProperty({}, FieldBody.name, FieldBody),
|
|
79
|
+
props: {
|
|
80
|
+
type: [String, Object],
|
|
81
|
+
label: String,
|
|
82
|
+
labelFor: String,
|
|
83
|
+
message: [String, Array, Object],
|
|
84
|
+
grouped: Boolean,
|
|
85
|
+
groupMultiline: Boolean,
|
|
86
|
+
position: String,
|
|
87
|
+
expanded: Boolean,
|
|
88
|
+
horizontal: Boolean,
|
|
89
|
+
addons: {
|
|
90
|
+
type: Boolean,
|
|
91
|
+
default: true
|
|
92
|
+
},
|
|
93
|
+
customClass: String,
|
|
94
|
+
labelPosition: {
|
|
95
|
+
type: String,
|
|
96
|
+
default: function _default() {
|
|
97
|
+
return config.defaultFieldLabelPosition;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
data: function data() {
|
|
102
|
+
return {
|
|
103
|
+
newType: this.type,
|
|
104
|
+
newMessage: this.message,
|
|
105
|
+
fieldLabelSize: null,
|
|
106
|
+
_isField: true // Used internally by Input and Select
|
|
107
|
+
|
|
108
|
+
};
|
|
109
|
+
},
|
|
110
|
+
computed: {
|
|
111
|
+
rootClasses: function rootClasses() {
|
|
112
|
+
return [this.newPosition, {
|
|
113
|
+
'is-expanded': this.expanded,
|
|
114
|
+
'is-grouped-multiline': this.groupMultiline,
|
|
115
|
+
'is-horizontal': this.horizontal,
|
|
116
|
+
'is-floating-in-label': this.hasLabel && !this.horizontal && this.labelPosition === 'inside',
|
|
117
|
+
'is-floating-label': this.hasLabel && !this.horizontal && this.labelPosition === 'on-border'
|
|
118
|
+
}];
|
|
119
|
+
},
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Correct Bulma class for the side of the addon or group.
|
|
123
|
+
*
|
|
124
|
+
* This is not kept like the others (is-small, etc.),
|
|
125
|
+
* because since 'has-addons' is set automatically it
|
|
126
|
+
* doesn't make sense to teach users what addons are exactly.
|
|
127
|
+
*/
|
|
128
|
+
newPosition: function newPosition() {
|
|
129
|
+
if (this.position === undefined) return;
|
|
130
|
+
var position = this.position.split('-');
|
|
131
|
+
if (position.length < 1) return;
|
|
132
|
+
var prefix = this.grouped ? 'is-grouped-' : 'has-addons-';
|
|
133
|
+
if (this.position) return prefix + position[1];
|
|
134
|
+
},
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Formatted message in case it's an array
|
|
138
|
+
* (each element is separated by <br> tag)
|
|
139
|
+
*/
|
|
140
|
+
formattedMessage: function formattedMessage() {
|
|
141
|
+
if (typeof this.newMessage === 'string') {
|
|
142
|
+
return this.newMessage;
|
|
143
|
+
} else {
|
|
144
|
+
var messages = [];
|
|
145
|
+
|
|
146
|
+
if (Array.isArray(this.newMessage)) {
|
|
147
|
+
this.newMessage.forEach(function (message) {
|
|
148
|
+
if (typeof message === 'string') {
|
|
149
|
+
messages.push(message);
|
|
150
|
+
} else {
|
|
151
|
+
for (var key in message) {
|
|
152
|
+
if (message[key]) {
|
|
153
|
+
messages.push(key);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
} else {
|
|
159
|
+
for (var key in this.newMessage) {
|
|
160
|
+
if (this.newMessage[key]) {
|
|
161
|
+
messages.push(key);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return messages.filter(function (m) {
|
|
167
|
+
if (m) return m;
|
|
168
|
+
}).join(' <br> ');
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
hasLabel: function hasLabel() {
|
|
172
|
+
return this.label || this.$slots.label;
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
watch: {
|
|
176
|
+
/**
|
|
177
|
+
* Set internal type when prop change.
|
|
178
|
+
*/
|
|
179
|
+
type: function type(value) {
|
|
180
|
+
this.newType = value;
|
|
181
|
+
},
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Set internal message when prop change.
|
|
185
|
+
*/
|
|
186
|
+
message: function message(value) {
|
|
187
|
+
this.newMessage = value;
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
methods: {
|
|
191
|
+
/**
|
|
192
|
+
* Field has addons if there are more than one slot
|
|
193
|
+
* (element / component) in the Field.
|
|
194
|
+
* Or is grouped when prop is set.
|
|
195
|
+
* Is a method to be called when component re-render.
|
|
196
|
+
*/
|
|
197
|
+
fieldType: function fieldType() {
|
|
198
|
+
if (this.grouped) return 'is-grouped';
|
|
199
|
+
var renderedNode = 0;
|
|
200
|
+
|
|
201
|
+
if (this.$slots.default) {
|
|
202
|
+
renderedNode = this.$slots.default.reduce(function (i, node) {
|
|
203
|
+
return node.tag ? i + 1 : i;
|
|
204
|
+
}, 0);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
if (renderedNode > 1 && this.addons && !this.horizontal) {
|
|
208
|
+
return 'has-addons';
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
mounted: function mounted() {
|
|
213
|
+
if (this.horizontal) {
|
|
214
|
+
// Bulma docs: .is-normal for any .input or .button
|
|
215
|
+
var elements = this.$el.querySelectorAll('.input, .select, .button, .textarea, .b-slider');
|
|
216
|
+
|
|
217
|
+
if (elements.length > 0) {
|
|
218
|
+
this.fieldLabelSize = 'is-normal';
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
/* script */
|
|
225
|
+
const __vue_script__$1 = script$1;
|
|
226
|
+
|
|
227
|
+
/* template */
|
|
228
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"field",class:[_vm.rootClasses, _vm.fieldType()]},[(_vm.horizontal)?_c('div',{staticClass:"field-label",class:[_vm.customClass, _vm.fieldLabelSize]},[(_vm.hasLabel)?_c('label',{staticClass:"label",class:_vm.customClass,attrs:{"for":_vm.labelFor}},[(_vm.$slots.label)?_vm._t("label"):[_vm._v(_vm._s(_vm.label))]],2):_vm._e()]):[(_vm.hasLabel)?_c('label',{staticClass:"label",class:_vm.customClass,attrs:{"for":_vm.labelFor}},[(_vm.$slots.label)?_vm._t("label"):[_vm._v(_vm._s(_vm.label))]],2):_vm._e()],_vm._v(" "),(_vm.horizontal)?_c('b-field-body',{attrs:{"message":_vm.newMessage ? _vm.formattedMessage : '',"type":_vm.newType}},[_vm._t("default")],2):[_vm._t("default")],_vm._v(" "),(_vm.newMessage && !_vm.horizontal)?_c('p',{staticClass:"help",class:_vm.newType,domProps:{"innerHTML":_vm._s(_vm.formattedMessage)}}):_vm._e()],2)};
|
|
229
|
+
var __vue_staticRenderFns__ = [];
|
|
230
|
+
|
|
231
|
+
/* style */
|
|
232
|
+
const __vue_inject_styles__$1 = undefined;
|
|
233
|
+
/* scoped */
|
|
234
|
+
const __vue_scope_id__$1 = undefined;
|
|
235
|
+
/* module identifier */
|
|
236
|
+
const __vue_module_identifier__$1 = undefined;
|
|
237
|
+
/* functional template */
|
|
238
|
+
const __vue_is_functional_template__$1 = false;
|
|
239
|
+
/* style inject */
|
|
240
|
+
|
|
241
|
+
/* style inject SSR */
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
var Field = __vue_normalize__(
|
|
246
|
+
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
|
247
|
+
__vue_inject_styles__$1,
|
|
248
|
+
__vue_script__$1,
|
|
249
|
+
__vue_scope_id__$1,
|
|
250
|
+
__vue_is_functional_template__$1,
|
|
251
|
+
__vue_module_identifier__$1,
|
|
252
|
+
undefined,
|
|
253
|
+
undefined
|
|
254
|
+
);
|
|
255
|
+
|
|
256
|
+
export { Field as F };
|