buefy 3.0.4 → 3.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/buefy.d.ts +257 -136
- package/dist/buefy.esm.js +212 -48
- package/dist/buefy.esm.min.js +2 -2
- package/dist/buefy.js +212 -46
- package/dist/buefy.min.js +2 -2
- package/dist/cjs/{Autocomplete-DEUs3z7g.js → Autocomplete-b0JUESTO.js} +3 -3
- package/dist/cjs/{Button-Cq7yqI8p.js → Button-Dw6VG6n7.js} +2 -2
- package/dist/cjs/{Checkbox-GPzAMQqM.js → Checkbox-cujzPKDl.js} +31 -3
- package/dist/cjs/{CompatFallthroughMixin-hhK0Gkhr.js → CompatFallthroughMixin-DI5L88ey.js} +1 -1
- package/dist/cjs/{Datepicker-B-9ReBe6.js → Datepicker-DVB975q3.js} +9 -9
- package/dist/cjs/{Dropdown-DtpKU9qf.js → Dropdown-CFh_lLvm.js} +2 -1
- package/dist/cjs/{DropdownItem-IMOKyRGV.js → DropdownItem-D2Ky1QIH.js} +1 -1
- package/dist/cjs/{Field-19ZCJFF8.js → Field-Dy73xhhY.js} +1 -1
- package/dist/cjs/{FormElementMixin-DavX4iOv.js → FormElementMixin-17PQ7TPR.js} +1 -1
- package/dist/cjs/{Icon-lsDKE2wQ.js → Icon-DrFLI3Zg.js} +48 -6
- package/dist/cjs/{Image-CocPwU3n.js → Image-D4AGl_2Z.js} +1 -1
- package/dist/cjs/{Input-BcloGeZ3.js → Input-z4Vlmbj8.js} +4 -4
- package/dist/cjs/{Modal-D1aZUehE.js → Modal-CVyLPawO.js} +1 -1
- package/dist/cjs/{NoticeMixin--3RjH43z.js → NoticeMixin-BlwAiMRV.js} +1 -1
- package/dist/cjs/{Pagination-D1MVdiLp.js → Pagination-54NHaQvi.js} +2 -2
- package/dist/cjs/{Progress-DT9Qc8Id.js → Progress-BlXLJ3zb.js} +1 -1
- package/dist/cjs/{Select-DayPKwCY.js → Select-DRXaEjlP.js} +3 -3
- package/dist/cjs/{TabbedChildMixin-B3JUUwcf.js → TabbedChildMixin-BFHsIyg6.js} +1 -1
- package/dist/cjs/{Tag-BprnwJJ1.js → Tag-BdL2uH8x.js} +1 -1
- package/dist/cjs/{Timepicker-CDZ3V-2J.js → Timepicker-ujQPxzDF.js} +6 -6
- package/dist/cjs/{TimepickerMixin-C9WVvcUL.js → TimepickerMixin-C9OA8jWF.js} +3 -3
- package/dist/cjs/{Tooltip-Cgighv0j.js → Tooltip-j_3eF7QD.js} +1 -1
- package/dist/cjs/autocomplete.js +7 -6
- package/dist/cjs/breadcrumb.js +2 -2
- package/dist/cjs/button.js +4 -3
- package/dist/cjs/carousel.js +5 -4
- package/dist/cjs/checkbox.js +3 -1
- package/dist/cjs/clockpicker.js +8 -7
- package/dist/cjs/colorpicker.js +12 -11
- package/dist/cjs/{config-DR826Ki2.js → config-CXSF5Vky.js} +2 -1
- package/dist/cjs/config.js +1 -1
- package/dist/cjs/datepicker.js +11 -10
- package/dist/cjs/datetimepicker.js +13 -12
- package/dist/cjs/dialog.js +5 -4
- package/dist/cjs/dropdown.js +3 -3
- package/dist/cjs/field.js +2 -2
- package/dist/cjs/icon.js +5 -2
- package/dist/cjs/iconAliases-DoayKo0q.js +100 -0
- package/dist/cjs/image.js +2 -2
- package/dist/cjs/{index-SLOXD6k3.js → index-N35FRTpu.js} +9 -9
- package/dist/cjs/index.js +27 -24
- package/dist/cjs/input.js +6 -5
- package/dist/cjs/menu.js +4 -3
- package/dist/cjs/message.js +4 -3
- package/dist/cjs/modal.js +2 -2
- package/dist/cjs/navbar.js +2 -2
- package/dist/cjs/notification.js +5 -4
- package/dist/cjs/numberinput.js +6 -5
- package/dist/cjs/pagination.js +4 -3
- package/dist/cjs/progress.js +2 -2
- package/dist/cjs/rate.js +3 -2
- package/dist/cjs/select.js +6 -5
- package/dist/cjs/sidebar.js +1 -1
- package/dist/cjs/slider.js +3 -3
- package/dist/cjs/snackbar.js +2 -2
- package/dist/cjs/steps.js +4 -3
- package/dist/cjs/switch.js +1 -1
- package/dist/cjs/table.js +9 -8
- package/dist/cjs/tabs.js +4 -3
- package/dist/cjs/tag.js +4 -3
- package/dist/cjs/taginput.js +8 -7
- package/dist/cjs/timepicker.js +12 -11
- package/dist/cjs/toast.js +2 -2
- package/dist/cjs/tooltip.js +2 -2
- package/dist/cjs/upload.js +3 -3
- package/dist/components/autocomplete/index.js +122 -6
- package/dist/components/autocomplete/index.min.js +2 -2
- package/dist/components/breadcrumb/index.js +1 -1
- package/dist/components/breadcrumb/index.min.js +1 -1
- package/dist/components/button/index.js +122 -6
- package/dist/components/button/index.min.js +2 -2
- package/dist/components/carousel/index.js +123 -7
- package/dist/components/carousel/index.min.js +2 -2
- package/dist/components/checkbox/index.js +106 -4
- package/dist/components/checkbox/index.min.js +2 -2
- package/dist/components/clockpicker/index.js +127 -10
- package/dist/components/clockpicker/index.min.js +2 -2
- package/dist/components/collapse/index.js +1 -1
- package/dist/components/collapse/index.min.js +1 -1
- package/dist/components/colorpicker/index.js +128 -11
- package/dist/components/colorpicker/index.min.js +2 -2
- package/dist/components/datepicker/index.js +135 -18
- package/dist/components/datepicker/index.min.js +2 -2
- package/dist/components/datetimepicker/index.js +127 -10
- package/dist/components/datetimepicker/index.min.js +2 -2
- package/dist/components/dialog/index.js +122 -6
- package/dist/components/dialog/index.min.js +2 -2
- package/dist/components/dropdown/index.js +2 -1
- package/dist/components/dropdown/index.min.js +2 -2
- package/dist/components/field/index.js +1 -1
- package/dist/components/field/index.min.js +1 -1
- package/dist/components/icon/index.js +124 -6
- package/dist/components/icon/index.min.js +2 -2
- package/dist/components/image/index.js +1 -1
- package/dist/components/image/index.min.js +1 -1
- package/dist/components/input/index.js +122 -6
- package/dist/components/input/index.min.js +2 -2
- package/dist/components/loading/index.js +1 -1
- package/dist/components/loading/index.min.js +1 -1
- package/dist/components/menu/index.js +124 -8
- package/dist/components/menu/index.min.js +2 -2
- package/dist/components/message/index.js +122 -6
- package/dist/components/message/index.min.js +2 -2
- package/dist/components/modal/index.js +1 -1
- package/dist/components/modal/index.min.js +1 -1
- package/dist/components/navbar/index.js +1 -1
- package/dist/components/navbar/index.min.js +1 -1
- package/dist/components/notification/index.js +122 -6
- package/dist/components/notification/index.min.js +2 -2
- package/dist/components/numberinput/index.js +122 -6
- package/dist/components/numberinput/index.min.js +2 -2
- package/dist/components/pagination/index.js +122 -6
- package/dist/components/pagination/index.min.js +2 -2
- package/dist/components/progress/index.js +1 -1
- package/dist/components/progress/index.min.js +1 -1
- package/dist/components/radio/index.js +1 -1
- package/dist/components/radio/index.min.js +1 -1
- package/dist/components/rate/index.js +122 -6
- package/dist/components/rate/index.min.js +2 -2
- package/dist/components/select/index.js +122 -6
- package/dist/components/select/index.min.js +2 -2
- package/dist/components/sidebar/index.js +1 -1
- package/dist/components/sidebar/index.min.js +1 -1
- package/dist/components/skeleton/index.js +1 -1
- package/dist/components/skeleton/index.min.js +1 -1
- package/dist/components/slider/index.js +1 -1
- package/dist/components/slider/index.min.js +1 -1
- package/dist/components/snackbar/index.js +1 -1
- package/dist/components/snackbar/index.min.js +1 -1
- package/dist/components/steps/index.js +122 -6
- package/dist/components/steps/index.min.js +2 -2
- package/dist/components/switch/index.js +1 -1
- package/dist/components/switch/index.min.js +1 -1
- package/dist/components/table/index.js +156 -13
- package/dist/components/table/index.min.js +2 -2
- package/dist/components/tabs/index.js +122 -6
- package/dist/components/tabs/index.min.js +2 -2
- package/dist/components/tag/index.js +122 -6
- package/dist/components/tag/index.min.js +2 -2
- package/dist/components/taginput/index.js +122 -6
- package/dist/components/taginput/index.min.js +2 -2
- package/dist/components/timepicker/index.js +135 -18
- package/dist/components/timepicker/index.min.js +2 -2
- package/dist/components/toast/index.js +1 -1
- package/dist/components/toast/index.min.js +1 -1
- package/dist/components/tooltip/index.js +1 -1
- package/dist/components/tooltip/index.min.js +1 -1
- package/dist/components/upload/index.js +1 -1
- package/dist/components/upload/index.min.js +1 -1
- package/dist/css/buefy.css +21 -38
- package/dist/css/buefy.css.map +1 -1
- package/dist/css/buefy.min.css +1 -1
- package/dist/css/versions/buefy-no-reset.css +21 -38
- package/dist/css/versions/buefy-no-reset.css.map +1 -1
- package/dist/css/versions/buefy-no-reset.min.css +1 -1
- package/dist/css/versions/buefy-standalone.css +21 -38
- package/dist/css/versions/buefy-standalone.css.map +1 -1
- package/dist/css/versions/buefy-standalone.min.css +1 -1
- package/dist/esm/{Autocomplete-CZ8DmXsB.js → Autocomplete-BsBIH0Mj.js} +4 -4
- package/dist/esm/{Button-DyUYShTZ.js → Button-BTP__-p5.js} +3 -3
- package/dist/esm/{Checkbox-KUMz0sfA.js → Checkbox-C6pO3IzG.js} +32 -4
- package/dist/esm/{CompatFallthroughMixin-C8LPuwDr.js → CompatFallthroughMixin-LfFRwwlz.js} +1 -1
- package/dist/esm/{Datepicker-Bl8Wfdkn.js → Datepicker-CrVKrZBF.js} +10 -10
- package/dist/esm/{Dropdown-CGTYVyoL.js → Dropdown-GHauDDcD.js} +3 -2
- package/dist/esm/{DropdownItem-Cn3nM0A3.js → DropdownItem-By3tSZk2.js} +2 -2
- package/dist/esm/{Field-B7bX_uUg.js → Field-CU8ZBgMh.js} +2 -2
- package/dist/esm/{FormElementMixin-Dd_wkBN5.js → FormElementMixin-CKI7b4I4.js} +1 -1
- package/dist/esm/{Icon-DPyGDeRK.js → Icon-pQAdaqZb.js} +49 -7
- package/dist/esm/{Image-DhX-4hlV.js → Image-COmzg-EK.js} +2 -2
- package/dist/esm/{Input-C4L520az.js → Input-CErQ1Jyw.js} +5 -5
- package/dist/esm/{Loading-tuQoo6TU.js → Loading-BSqhV1Gi.js} +1 -1
- package/dist/esm/{Modal-EiR_KNGZ.js → Modal-C13NJijf.js} +2 -2
- package/dist/esm/{NoticeMixin-ByNlva3T.js → NoticeMixin-TQEF1Kx6.js} +1 -1
- package/dist/esm/{Pagination-B-LAJQay.js → Pagination-DvgzxH87.js} +3 -3
- package/dist/esm/{Progress-BPGTVZgr.js → Progress-AeKn1Ttq.js} +2 -2
- package/dist/esm/{Select-bl4qUzij.js → Select-CbkuxvSQ.js} +4 -4
- package/dist/esm/{TabbedChildMixin-C4i6WP9j.js → TabbedChildMixin-Bdu5A4iY.js} +1 -1
- package/dist/esm/{Tag-jS5Bcj6N.js → Tag-Dx_-Tavp.js} +2 -2
- package/dist/esm/{Timepicker-DnkqnOBT.js → Timepicker-0ojuPkqd.js} +7 -7
- package/dist/esm/{TimepickerMixin-Bikh6_Fg.js → TimepickerMixin-oNahYGFZ.js} +3 -3
- package/dist/esm/{Tooltip-CtDSXAqa.js → Tooltip-BnzQFdnQ.js} +2 -2
- package/dist/esm/autocomplete.js +7 -6
- package/dist/esm/breadcrumb.js +3 -3
- package/dist/esm/button.js +4 -3
- package/dist/esm/carousel.js +6 -5
- package/dist/esm/checkbox.js +4 -2
- package/dist/esm/clockpicker.js +9 -8
- package/dist/esm/colorpicker.js +12 -11
- package/dist/esm/{config-CKuo-p6e.js → config-f4Dyy8TN.js} +2 -1
- package/dist/esm/config.js +1 -1
- package/dist/esm/datepicker.js +11 -10
- package/dist/esm/datetimepicker.js +14 -13
- package/dist/esm/dialog.js +6 -5
- package/dist/esm/dropdown.js +3 -3
- package/dist/esm/field.js +2 -2
- package/dist/esm/icon.js +3 -2
- package/dist/esm/iconAliases-B-CydxNj.js +97 -0
- package/dist/esm/image.js +2 -2
- package/dist/esm/{index-BE58-KfV.js → index-BYVep8cv.js} +11 -11
- package/dist/esm/index.js +27 -26
- package/dist/esm/input.js +6 -5
- package/dist/esm/loading.js +1 -1
- package/dist/esm/menu.js +5 -4
- package/dist/esm/message.js +5 -4
- package/dist/esm/modal.js +2 -2
- package/dist/esm/navbar.js +3 -3
- package/dist/esm/notification.js +6 -5
- package/dist/esm/numberinput.js +7 -6
- package/dist/esm/pagination.js +4 -3
- package/dist/esm/progress.js +3 -3
- package/dist/esm/radio.js +1 -1
- package/dist/esm/rate.js +4 -3
- package/dist/esm/select.js +6 -5
- package/dist/esm/sidebar.js +2 -2
- package/dist/esm/slider.js +4 -4
- package/dist/esm/snackbar.js +3 -3
- package/dist/esm/steps.js +5 -4
- package/dist/esm/switch.js +2 -2
- package/dist/esm/table.js +11 -10
- package/dist/esm/tabs.js +5 -4
- package/dist/esm/tag.js +5 -4
- package/dist/esm/taginput.js +9 -8
- package/dist/esm/timepicker.js +12 -11
- package/dist/esm/toast.js +3 -3
- package/dist/esm/tooltip.js +2 -2
- package/dist/esm/upload.js +4 -4
- package/dist/tsdoc-metadata.json +1 -1
- package/package.json +2 -2
- package/src/components/carousel/CarouselList.vue +1 -1
- package/src/components/carousel/__snapshots__/CarouselList.spec.ts.snap +1 -1
- package/src/components/checkbox/Checkbox.spec.ts +66 -2
- package/src/components/checkbox/Checkbox.vue +25 -1
- package/src/components/checkbox/__snapshots__/Checkbox.spec.ts.snap +1 -1
- package/src/components/datepicker/__snapshots__/Datepicker.spec.ts.snap +2 -2
- package/src/components/dropdown/Dropdown.spec.ts +15 -0
- package/src/components/dropdown/Dropdown.vue +5 -0
- package/src/components/icon/Icon.spec.ts +67 -0
- package/src/components/icon/Icon.vue +40 -5
- package/src/components/icon/__snapshots__/Icon.spec.ts.snap +1 -1
- package/src/components/icon/index.ts +10 -0
- package/src/components/table/__snapshots__/TableMobileSort.spec.ts.snap +1 -1
- package/src/scss/components/_checkbox.scss +13 -16
- package/src/utils/config.ts +104 -2
- package/src/utils/iconAliases.ts +86 -0
package/dist/esm/table.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import { defineComponent, resolveComponent,
|
|
1
|
+
import { defineComponent, resolveComponent, openBlock, createElementBlock, createElementVNode, createBlock, withCtx, Fragment, renderList, createTextVNode, toDisplayString, createCommentVNode, withDirectives, vShow, createVNode, normalizeClass, renderSlot, h, toHandlerKey, camelize, toRaw, mergeProps, normalizeStyle, withKeys, withModifiers, Transition } from 'vue';
|
|
2
2
|
import { getValueByPath, toCssWidth, removeElement, translateTouchAsDragEvent, isFragment, escapeRegExpChars, removeDiacriticsFromString, indexOf, multiColumnSort, isNil, createAbsoluteElement } from './helpers.js';
|
|
3
|
-
import { B as BPagination, d as debounce } from './Pagination-
|
|
4
|
-
import { C as CompatFallthroughMixin } from './CompatFallthroughMixin-
|
|
5
|
-
import { B as BCheckbox } from './Checkbox-
|
|
6
|
-
import { B as BIcon } from './Icon-
|
|
7
|
-
import { B as BInput } from './Input-
|
|
8
|
-
import { B as BLoading } from './Loading-
|
|
3
|
+
import { B as BPagination, d as debounce } from './Pagination-DvgzxH87.js';
|
|
4
|
+
import { C as CompatFallthroughMixin } from './CompatFallthroughMixin-LfFRwwlz.js';
|
|
5
|
+
import { B as BCheckbox } from './Checkbox-C6pO3IzG.js';
|
|
6
|
+
import { B as BIcon } from './Icon-pQAdaqZb.js';
|
|
7
|
+
import { B as BInput } from './Input-CErQ1Jyw.js';
|
|
8
|
+
import { B as BLoading } from './Loading-BSqhV1Gi.js';
|
|
9
9
|
import { B as BSlotComponent } from './SlotComponent-BwNpVnfH.js';
|
|
10
|
-
import { B as BSelect } from './Select-
|
|
10
|
+
import { B as BSelect } from './Select-CbkuxvSQ.js';
|
|
11
11
|
import { _ as _export_sfc } from './_plugin-vue_export-helper-OJRSZE6i.js';
|
|
12
12
|
import { a as registerComponent } from './plugins-1tLsuIZF.js';
|
|
13
|
-
import './config-
|
|
13
|
+
import './config-f4Dyy8TN.js';
|
|
14
14
|
import './CheckRadioMixin-DSD_rjC8.js';
|
|
15
|
-
import './
|
|
15
|
+
import './iconAliases-B-CydxNj.js';
|
|
16
|
+
import './FormElementMixin-CKI7b4I4.js';
|
|
16
17
|
import './ssr-C7yEpGLm.js';
|
|
17
18
|
|
|
18
19
|
var _sfc_main$3 = defineComponent({
|
package/dist/esm/tabs.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { defineComponent, resolveComponent,
|
|
2
|
-
import { B as BIcon } from './Icon-
|
|
3
|
-
import { c as config } from './config-
|
|
4
|
-
import { T as TabbedMixin, a as TabbedChildMixin } from './TabbedChildMixin-
|
|
1
|
+
import { defineComponent, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, Fragment, renderList, withDirectives, createBlock, createCommentVNode, toDisplayString, vShow } from 'vue';
|
|
2
|
+
import { B as BIcon } from './Icon-pQAdaqZb.js';
|
|
3
|
+
import { c as config } from './config-f4Dyy8TN.js';
|
|
4
|
+
import { T as TabbedMixin, a as TabbedChildMixin } from './TabbedChildMixin-Bdu5A4iY.js';
|
|
5
5
|
import { B as BSlotComponent } from './SlotComponent-BwNpVnfH.js';
|
|
6
6
|
import { _ as _export_sfc } from './_plugin-vue_export-helper-OJRSZE6i.js';
|
|
7
7
|
import { a as registerComponent } from './plugins-1tLsuIZF.js';
|
|
8
8
|
import './helpers.js';
|
|
9
|
+
import './iconAliases-B-CydxNj.js';
|
|
9
10
|
import './InjectedChildMixin-D2K-FwuO.js';
|
|
10
11
|
|
|
11
12
|
var _sfc_main$1 = defineComponent({
|
package/dist/esm/tag.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { B as BTag } from './Tag-
|
|
2
|
-
import { defineComponent,
|
|
1
|
+
import { B as BTag } from './Tag-Dx_-Tavp.js';
|
|
2
|
+
import { defineComponent, openBlock, createElementBlock, normalizeClass, renderSlot } from 'vue';
|
|
3
3
|
import { _ as _export_sfc } from './_plugin-vue_export-helper-OJRSZE6i.js';
|
|
4
4
|
import { a as registerComponent } from './plugins-1tLsuIZF.js';
|
|
5
|
-
import './Icon-
|
|
6
|
-
import './config-
|
|
5
|
+
import './Icon-pQAdaqZb.js';
|
|
6
|
+
import './config-f4Dyy8TN.js';
|
|
7
7
|
import './helpers.js';
|
|
8
|
+
import './iconAliases-B-CydxNj.js';
|
|
8
9
|
|
|
9
10
|
var _sfc_main = defineComponent({
|
|
10
11
|
name: "BTaglist",
|
package/dist/esm/taginput.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { defineComponent, resolveComponent,
|
|
1
|
+
import { defineComponent, resolveComponent, openBlock, createElementBlock, mergeProps, createElementVNode, normalizeClass, renderSlot, Fragment, renderList, createBlock, withCtx, createTextVNode, toDisplayString, createSlots, createCommentVNode } from 'vue';
|
|
2
2
|
import { getValueByPath } from './helpers.js';
|
|
3
|
-
import { B as BTag } from './Tag-
|
|
4
|
-
import { B as BAutocomplete } from './Autocomplete-
|
|
5
|
-
import { c as config } from './config-
|
|
6
|
-
import { C as CompatFallthroughMixin } from './CompatFallthroughMixin-
|
|
7
|
-
import { F as FormElementMixin } from './FormElementMixin-
|
|
3
|
+
import { B as BTag } from './Tag-Dx_-Tavp.js';
|
|
4
|
+
import { B as BAutocomplete } from './Autocomplete-BsBIH0Mj.js';
|
|
5
|
+
import { c as config } from './config-f4Dyy8TN.js';
|
|
6
|
+
import { C as CompatFallthroughMixin } from './CompatFallthroughMixin-LfFRwwlz.js';
|
|
7
|
+
import { F as FormElementMixin } from './FormElementMixin-CKI7b4I4.js';
|
|
8
8
|
import { _ as _export_sfc } from './_plugin-vue_export-helper-OJRSZE6i.js';
|
|
9
9
|
import { a as registerComponent } from './plugins-1tLsuIZF.js';
|
|
10
|
-
import './Icon-
|
|
11
|
-
import './
|
|
10
|
+
import './Icon-pQAdaqZb.js';
|
|
11
|
+
import './iconAliases-B-CydxNj.js';
|
|
12
|
+
import './Input-CErQ1Jyw.js';
|
|
12
13
|
|
|
13
14
|
var _sfc_main = defineComponent({
|
|
14
15
|
name: "BTaginput",
|
package/dist/esm/timepicker.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import { T as Timepicker } from './Timepicker-
|
|
1
|
+
import { T as Timepicker } from './Timepicker-0ojuPkqd.js';
|
|
2
2
|
import { a as registerComponent } from './plugins-1tLsuIZF.js';
|
|
3
3
|
import 'vue';
|
|
4
|
-
import './TimepickerMixin-
|
|
5
|
-
import './CompatFallthroughMixin-
|
|
6
|
-
import './config-
|
|
7
|
-
import './FormElementMixin-
|
|
4
|
+
import './TimepickerMixin-oNahYGFZ.js';
|
|
5
|
+
import './CompatFallthroughMixin-LfFRwwlz.js';
|
|
6
|
+
import './config-f4Dyy8TN.js';
|
|
7
|
+
import './FormElementMixin-CKI7b4I4.js';
|
|
8
8
|
import './helpers.js';
|
|
9
|
-
import './Dropdown-
|
|
9
|
+
import './Dropdown-GHauDDcD.js';
|
|
10
10
|
import './trapFocus-KHP_kCNE.js';
|
|
11
11
|
import './_plugin-vue_export-helper-OJRSZE6i.js';
|
|
12
|
-
import './DropdownItem-
|
|
13
|
-
import './Input-
|
|
14
|
-
import './Icon-
|
|
15
|
-
import './
|
|
16
|
-
import './
|
|
12
|
+
import './DropdownItem-By3tSZk2.js';
|
|
13
|
+
import './Input-CErQ1Jyw.js';
|
|
14
|
+
import './Icon-pQAdaqZb.js';
|
|
15
|
+
import './iconAliases-B-CydxNj.js';
|
|
16
|
+
import './Field-CU8ZBgMh.js';
|
|
17
|
+
import './Select-CbkuxvSQ.js';
|
|
17
18
|
|
|
18
19
|
const Plugin = {
|
|
19
20
|
install(Vue) {
|
package/dist/esm/toast.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent,
|
|
2
|
-
import { c as config } from './config-
|
|
3
|
-
import { N as NoticeMixin } from './NoticeMixin-
|
|
1
|
+
import { defineComponent, openBlock, createBlock, Transition, withCtx, withDirectives, createElementVNode, normalizeClass, renderSlot, createElementBlock, Fragment, createCommentVNode, vShow, createApp, h, inject } from 'vue';
|
|
2
|
+
import { c as config } from './config-f4Dyy8TN.js';
|
|
3
|
+
import { N as NoticeMixin } from './NoticeMixin-TQEF1Kx6.js';
|
|
4
4
|
import { _ as _export_sfc } from './_plugin-vue_export-helper-OJRSZE6i.js';
|
|
5
5
|
import { getComponentFromVNode, copyAppContext } from './helpers.js';
|
|
6
6
|
import { r as registerComponentProgrammatic } from './plugins-1tLsuIZF.js';
|
package/dist/esm/tooltip.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { T as Tooltip } from './Tooltip-
|
|
1
|
+
import { T as Tooltip } from './Tooltip-BnzQFdnQ.js';
|
|
2
2
|
import { a as registerComponent } from './plugins-1tLsuIZF.js';
|
|
3
3
|
import 'vue';
|
|
4
|
-
import './config-
|
|
4
|
+
import './config-f4Dyy8TN.js';
|
|
5
5
|
import './helpers.js';
|
|
6
6
|
import './_plugin-vue_export-helper-OJRSZE6i.js';
|
|
7
7
|
|
package/dist/esm/upload.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { defineComponent,
|
|
2
|
-
import { C as CompatFallthroughMixin } from './CompatFallthroughMixin-
|
|
3
|
-
import { F as FormElementMixin } from './FormElementMixin-
|
|
1
|
+
import { defineComponent, openBlock, createElementBlock, mergeProps, renderSlot, withModifiers, normalizeClass, createElementVNode } from 'vue';
|
|
2
|
+
import { C as CompatFallthroughMixin } from './CompatFallthroughMixin-LfFRwwlz.js';
|
|
3
|
+
import { F as FormElementMixin } from './FormElementMixin-CKI7b4I4.js';
|
|
4
4
|
import { F as File } from './ssr-C7yEpGLm.js';
|
|
5
5
|
import { _ as _export_sfc } from './_plugin-vue_export-helper-OJRSZE6i.js';
|
|
6
6
|
import { a as registerComponent } from './plugins-1tLsuIZF.js';
|
|
7
|
-
import './config-
|
|
7
|
+
import './config-f4Dyy8TN.js';
|
|
8
8
|
|
|
9
9
|
const Upload$1 = defineComponent({
|
|
10
10
|
name: "BUpload",
|
package/dist/tsdoc-metadata.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "buefy",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.6",
|
|
4
4
|
"description": "Lightweight UI components for Vue.js (v3) based on Bulma",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vuejs",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"@rollup/plugin-babel": "^6.0.4",
|
|
69
69
|
"@rollup/plugin-commonjs": "^28.0.2",
|
|
70
70
|
"@rollup/plugin-node-resolve": "^16.0.0",
|
|
71
|
-
"@rollup/plugin-terser": "^0.
|
|
71
|
+
"@rollup/plugin-terser": "^1.0.0",
|
|
72
72
|
"@testing-library/jest-dom": "^6.6.3",
|
|
73
73
|
"@types/jsdom": "^21.1.7",
|
|
74
74
|
"@vue/test-utils": "^2.4.6",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
3
|
exports[`BCarouselList > render correctly 1`] = `
|
|
4
|
-
"<div class="carousel-list">
|
|
4
|
+
"<div class="carousel carousel-list">
|
|
5
5
|
<div class="carousel-slides" style="transform: translateX(0px);">
|
|
6
6
|
<div class="carousel-slide is-active" style="width: 0px;">
|
|
7
7
|
<b-image-stub src="https://picsum.photos/id/0/1230/500" lazy="true" responsive="true" srcsetformatter="[Function]" rounded="false" captionfirst="false" title="Slide 1" image="https://picsum.photos/id/0/1230/500"></b-image-stub>
|
|
@@ -20,7 +20,9 @@ describe('BCheckbox', () => {
|
|
|
20
20
|
})
|
|
21
21
|
|
|
22
22
|
it('has an input checkbox', () => {
|
|
23
|
-
expect(
|
|
23
|
+
expect(
|
|
24
|
+
wrapper.find('label input[type=checkbox]').exists()
|
|
25
|
+
).toBeTruthy()
|
|
24
26
|
})
|
|
25
27
|
|
|
26
28
|
it('emit input event with value when value change', async () => {
|
|
@@ -35,6 +37,68 @@ describe('BCheckbox', () => {
|
|
|
35
37
|
(wrapper.vm.$refs.input as HTMLElement).focus = vi.fn()
|
|
36
38
|
wrapper.vm.focus()
|
|
37
39
|
await wrapper.vm.$nextTick()
|
|
38
|
-
expect(
|
|
40
|
+
expect(
|
|
41
|
+
(wrapper.vm.$refs.input as HTMLElement).focus
|
|
42
|
+
).toHaveBeenCalled()
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
it('renders no SVG when unchecked', () => {
|
|
46
|
+
const w = shallowMount(BCheckbox)
|
|
47
|
+
expect(w.find('.check svg').exists()).toBe(false)
|
|
48
|
+
})
|
|
49
|
+
|
|
50
|
+
it('renders inline SVG checkmark when checked (boolean modelValue)', async () => {
|
|
51
|
+
const w = shallowMount(BCheckbox, {
|
|
52
|
+
props: { modelValue: true }
|
|
53
|
+
})
|
|
54
|
+
const svg = w.find('.check svg')
|
|
55
|
+
expect(svg.exists()).toBe(true)
|
|
56
|
+
const path = svg.find('path')
|
|
57
|
+
expect(path.attributes('fill')).toBe('currentColor')
|
|
58
|
+
expect(path.attributes('d')).toBeTruthy()
|
|
59
|
+
// Uses the 1x1 normalized viewBox for the checkmark
|
|
60
|
+
expect(svg.attributes('viewBox')).toBe('0 0 1 1')
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
it('renders inline SVG checkmark when checked (array modelValue)', async () => {
|
|
64
|
+
const w = shallowMount(BCheckbox, {
|
|
65
|
+
props: { modelValue: ['a', 'b'], nativeValue: 'a' }
|
|
66
|
+
})
|
|
67
|
+
expect(w.find('.check svg').exists()).toBe(true)
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
it('renders no SVG when value not in array', () => {
|
|
71
|
+
const w = shallowMount(BCheckbox, {
|
|
72
|
+
props: { modelValue: ['b'], nativeValue: 'a' }
|
|
73
|
+
})
|
|
74
|
+
expect(w.find('.check svg').exists()).toBe(false)
|
|
75
|
+
})
|
|
76
|
+
|
|
77
|
+
it('renders indeterminate SVG path when indeterminate prop is true', () => {
|
|
78
|
+
const w = shallowMount(BCheckbox, {
|
|
79
|
+
props: { indeterminate: true }
|
|
80
|
+
})
|
|
81
|
+
const svg = w.find('.check svg')
|
|
82
|
+
expect(svg.exists()).toBe(true)
|
|
83
|
+
// Indeterminate and checkmark paths are different
|
|
84
|
+
const indeterminatePath = w.vm.checkmarkAlias.path
|
|
85
|
+
expect(indeterminatePath).toContain('0.15') // rect-as-path signature
|
|
86
|
+
})
|
|
87
|
+
|
|
88
|
+
it('checkmark uses different path for indeterminate vs checked', () => {
|
|
89
|
+
const checked = shallowMount(BCheckbox, { props: { modelValue: true } })
|
|
90
|
+
const indeterminate = shallowMount(BCheckbox, { props: { indeterminate: true } })
|
|
91
|
+
expect(checked.vm.checkmarkAlias.path).not.toBe(indeterminate.vm.checkmarkAlias.path)
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
it('SVG color is controlled via currentColor (not embedded in SVG data)', () => {
|
|
95
|
+
// Regression: previously _checkbox.scss embedded SVG colors as data-URIs;
|
|
96
|
+
// color could not be changed at runtime. Now SVG uses fill="currentColor"
|
|
97
|
+
// so the CSS `color` property on the parent drives the icon color.
|
|
98
|
+
const w = shallowMount(BCheckbox, { props: { modelValue: true } })
|
|
99
|
+
const path = w.find('.check svg path')
|
|
100
|
+
expect(path.attributes('fill')).toBe('currentColor')
|
|
101
|
+
// No inline fill color embedded in the path data
|
|
102
|
+
expect(path.attributes('d')).not.toContain('fill:')
|
|
39
103
|
})
|
|
40
104
|
})
|
|
@@ -27,7 +27,16 @@
|
|
|
27
27
|
:false-value="falseValue"
|
|
28
28
|
:aria-labelledby="ariaLabelledby"
|
|
29
29
|
>
|
|
30
|
-
<span class="check" :class="type"
|
|
30
|
+
<span class="check" :class="type">
|
|
31
|
+
<svg
|
|
32
|
+
v-if="isChecked || indeterminate"
|
|
33
|
+
:viewBox="checkmarkAlias.viewBox || '0 0 1 1'"
|
|
34
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
35
|
+
aria-hidden="true"
|
|
36
|
+
>
|
|
37
|
+
<path fill="currentColor" :d="checkmarkAlias.path" />
|
|
38
|
+
</svg>
|
|
39
|
+
</span>
|
|
31
40
|
<span :id="ariaLabelledby" class="control-label"><slot /></span>
|
|
32
41
|
</label>
|
|
33
42
|
</template>
|
|
@@ -35,6 +44,8 @@
|
|
|
35
44
|
<script lang="ts">
|
|
36
45
|
import { defineComponent } from 'vue'
|
|
37
46
|
import CheckRadioMixin from '../../utils/CheckRadioMixin'
|
|
47
|
+
import { resolveAlias } from '../../utils/iconAliases'
|
|
48
|
+
import type { SvgIconAlias } from '../../utils/config'
|
|
38
49
|
|
|
39
50
|
export default defineComponent({
|
|
40
51
|
name: 'BCheckbox',
|
|
@@ -58,6 +69,19 @@ export default defineComponent({
|
|
|
58
69
|
type: String,
|
|
59
70
|
default: ''
|
|
60
71
|
}
|
|
72
|
+
},
|
|
73
|
+
computed: {
|
|
74
|
+
isChecked(): boolean {
|
|
75
|
+
const val = this.computedValue
|
|
76
|
+
if (Array.isArray(val)) {
|
|
77
|
+
return val.includes(this.nativeValue)
|
|
78
|
+
}
|
|
79
|
+
return val === this.trueValue
|
|
80
|
+
},
|
|
81
|
+
checkmarkAlias(): SvgIconAlias {
|
|
82
|
+
const key = this.indeterminate ? 'checkboxIndeterminate' : 'checkboxOn'
|
|
83
|
+
return resolveAlias(key) as SvgIconAlias
|
|
84
|
+
}
|
|
61
85
|
}
|
|
62
86
|
})
|
|
63
87
|
</script>
|
|
@@ -4,6 +4,6 @@ exports[`BCheckbox > render correctly 1`] = `
|
|
|
4
4
|
"<label class="b-checkbox checkbox">
|
|
5
5
|
<!-- Checkbox needs to listen for a space event instead of a just a
|
|
6
6
|
click and enter event so that that using the keyboard spacebar will also
|
|
7
|
-
trigger the checkbox change in the b-table --><input id="" type="checkbox" autocomplete="on" true-value="true" false-value="false" value="false"><span class="check"
|
|
7
|
+
trigger the checkbox change in the b-table --><input id="" type="checkbox" autocomplete="on" true-value="true" false-value="false" value="false"><span class="check"><!--v-if--></span><span class="control-label"></span>
|
|
8
8
|
</label>"
|
|
9
9
|
`;
|
|
@@ -16,9 +16,9 @@ exports[`BDatepicker > render correctly 1`] = `
|
|
|
16
16
|
<div>
|
|
17
17
|
<header class="datepicker-header">
|
|
18
18
|
<div class="pagination field is-centered"><a class="pagination-previous" role="button" href="#">
|
|
19
|
-
<b-icon-stub
|
|
19
|
+
<b-icon-stub type="is-primary is-clickable" icon="chevron-left" both="true"></b-icon-stub>
|
|
20
20
|
</a><a class="pagination-next" role="button" href="#">
|
|
21
|
-
<b-icon-stub
|
|
21
|
+
<b-icon-stub type="is-primary is-clickable" icon="chevron-right" both="true"></b-icon-stub>
|
|
22
22
|
</a>
|
|
23
23
|
<div class="pagination-list">
|
|
24
24
|
<div class="field">
|
|
@@ -226,4 +226,19 @@ describe('BDropdown', () => {
|
|
|
226
226
|
expect(document.removeEventListener).toBeCalledWith('click', expect.any(Function))
|
|
227
227
|
expect(document.removeEventListener).toBeCalledWith('keyup', expect.any(Function))
|
|
228
228
|
})
|
|
229
|
+
|
|
230
|
+
it('removes is-clipped-touch on unmount while dropdown is open', async () => {
|
|
231
|
+
// Simulate dropdown open in mobile-modal mode (mobileModal defaults to
|
|
232
|
+
// true) so the isActive watcher calls handleScroll(), which adds
|
|
233
|
+
// is-clipped-touch to the html element. Then destroy the component
|
|
234
|
+
// (e.g. route navigation) without closing it first. The class must be
|
|
235
|
+
// removed so that scrolling is not permanently locked.
|
|
236
|
+
await wrapper.setData({ isActive: true })
|
|
237
|
+
// The isActive watcher triggers handleScroll() which adds the class.
|
|
238
|
+
expect(document.documentElement.classList.contains('is-clipped-touch')).toBe(true)
|
|
239
|
+
|
|
240
|
+
wrapper.unmount()
|
|
241
|
+
|
|
242
|
+
expect(document.documentElement.classList.contains('is-clipped-touch')).toBe(false)
|
|
243
|
+
})
|
|
229
244
|
})
|
|
@@ -480,6 +480,11 @@ export default defineComponent({
|
|
|
480
480
|
if (typeof window !== 'undefined') {
|
|
481
481
|
document.removeEventListener('click', this.clickedOutside)
|
|
482
482
|
document.removeEventListener('keyup', this.keyPress)
|
|
483
|
+
// Clean up scroll lock in case the component is destroyed while the
|
|
484
|
+
// dropdown is open (e.g., route navigation in a SPA). Without this,
|
|
485
|
+
// is-clipped-touch persists on the html element and permanently
|
|
486
|
+
// prevents scrolling on desktop browsers at mobile viewport widths.
|
|
487
|
+
document.documentElement.classList.remove('is-clipped-touch')
|
|
483
488
|
}
|
|
484
489
|
if (this.appendToBody) {
|
|
485
490
|
removeElement(this.$data._bodyEl!)
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { shallowMount } from '@vue/test-utils'
|
|
2
2
|
import { describe, expect, it } from 'vitest'
|
|
3
3
|
import BIcon from '@components/icon/Icon.vue'
|
|
4
|
+
import type { ComponentIconAlias } from '@utils/config'
|
|
5
|
+
import config from '@utils/config'
|
|
4
6
|
|
|
5
7
|
describe('BIcon', () => {
|
|
6
8
|
it('render correctly', () => {
|
|
@@ -139,4 +141,69 @@ describe('BIcon', () => {
|
|
|
139
141
|
|
|
140
142
|
expect(wrapper.find('i').classes()).toContain('foo-bar')
|
|
141
143
|
})
|
|
144
|
+
|
|
145
|
+
it('renders inline SVG when alias resolves to a SvgIconAlias', () => {
|
|
146
|
+
const wrapper = shallowMount(BIcon, {
|
|
147
|
+
props: { alias: 'chevronLeft' }
|
|
148
|
+
})
|
|
149
|
+
|
|
150
|
+
const svg = wrapper.find('svg')
|
|
151
|
+
expect(svg.exists()).toBe(true)
|
|
152
|
+
expect(svg.attributes('aria-hidden')).toBe('true')
|
|
153
|
+
const path = svg.find('path')
|
|
154
|
+
expect(path.exists()).toBe(true)
|
|
155
|
+
expect(path.attributes('fill')).toBe('currentColor')
|
|
156
|
+
expect(path.attributes('d')).toBeTruthy()
|
|
157
|
+
})
|
|
158
|
+
|
|
159
|
+
it('renders viewBox from the alias on the SVG element', () => {
|
|
160
|
+
const wrapper = shallowMount(BIcon, {
|
|
161
|
+
props: { alias: 'checkboxOn' }
|
|
162
|
+
})
|
|
163
|
+
|
|
164
|
+
expect(wrapper.find('svg').attributes('viewBox')).toBe('0 0 1 1')
|
|
165
|
+
})
|
|
166
|
+
|
|
167
|
+
it('falls back to 0 0 24 24 viewBox when alias has none', () => {
|
|
168
|
+
const wrapper = shallowMount(BIcon, {
|
|
169
|
+
props: { alias: 'chevronLeft' }
|
|
170
|
+
})
|
|
171
|
+
|
|
172
|
+
expect(wrapper.find('svg').attributes('viewBox')).toBe('0 0 24 24')
|
|
173
|
+
})
|
|
174
|
+
|
|
175
|
+
it('renders a component alias (ComponentIconAlias)', () => {
|
|
176
|
+
const FakeIcon = { name: 'FakeIcon', template: '<span />' }
|
|
177
|
+
const alias: ComponentIconAlias = {
|
|
178
|
+
type: 'component',
|
|
179
|
+
component: FakeIcon,
|
|
180
|
+
icon: ['fas', 'check']
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const original = config.iconAliases
|
|
184
|
+
config.iconAliases = { customAlias: alias }
|
|
185
|
+
|
|
186
|
+
const wrapper = shallowMount(BIcon, {
|
|
187
|
+
props: { alias: 'customAlias' }
|
|
188
|
+
})
|
|
189
|
+
|
|
190
|
+
const fakeIcon = wrapper.findComponent(FakeIcon)
|
|
191
|
+
expect(fakeIcon.exists()).toBe(true)
|
|
192
|
+
|
|
193
|
+
config.iconAliases = original
|
|
194
|
+
})
|
|
195
|
+
|
|
196
|
+
it('alias prop takes precedence over icon/pack when both are provided', () => {
|
|
197
|
+
const wrapper = shallowMount(BIcon, {
|
|
198
|
+
props: {
|
|
199
|
+
alias: 'chevronLeft',
|
|
200
|
+
icon: 'eye',
|
|
201
|
+
pack: 'mdi'
|
|
202
|
+
}
|
|
203
|
+
})
|
|
204
|
+
|
|
205
|
+
// Should render SVG (from alias), not <i> (from pack)
|
|
206
|
+
expect(wrapper.find('svg').exists()).toBe(true)
|
|
207
|
+
expect(wrapper.find('i').exists()).toBe(false)
|
|
208
|
+
})
|
|
142
209
|
})
|
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<span class="icon" :class="[newType, size]">
|
|
3
|
+
<svg
|
|
4
|
+
v-if="isSvgAlias"
|
|
5
|
+
:viewBox="resolvedAliasSvg.viewBox || '0 0 24 24'"
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
:class="customClass"
|
|
8
|
+
aria-hidden="true"
|
|
9
|
+
>
|
|
10
|
+
<path fill="currentColor" :d="resolvedAliasSvg.path" />
|
|
11
|
+
</svg>
|
|
12
|
+
<component
|
|
13
|
+
v-else-if="isComponentAlias"
|
|
14
|
+
:is="resolvedAliasComponent.component"
|
|
15
|
+
:icon="resolvedAliasComponent.icon"
|
|
16
|
+
:class="customClass"
|
|
17
|
+
/>
|
|
3
18
|
<i
|
|
4
|
-
v-if="!useIconComponent"
|
|
19
|
+
v-else-if="!useIconComponent"
|
|
5
20
|
:class="[newPack, newIcon, newCustomSize, customClass]"
|
|
6
21
|
/>
|
|
7
|
-
|
|
8
22
|
<component
|
|
9
23
|
v-else
|
|
10
24
|
:is="useIconComponent"
|
|
@@ -18,8 +32,9 @@
|
|
|
18
32
|
<script lang="ts">
|
|
19
33
|
import { defineComponent } from 'vue'
|
|
20
34
|
|
|
21
|
-
import config from '../../utils/config'
|
|
35
|
+
import config, { type SvgIconAlias, type ComponentIconAlias } from '../../utils/config'
|
|
22
36
|
import getIcons, { type InternalIconPack } from '../../utils/icons'
|
|
37
|
+
import { resolveAlias } from '../../utils/iconAliases'
|
|
23
38
|
|
|
24
39
|
export default defineComponent({
|
|
25
40
|
name: 'BIcon',
|
|
@@ -29,14 +44,34 @@ export default defineComponent({
|
|
|
29
44
|
pack: String,
|
|
30
45
|
icon: {
|
|
31
46
|
type: String,
|
|
32
|
-
required:
|
|
47
|
+
required: false,
|
|
48
|
+
default: undefined
|
|
33
49
|
},
|
|
50
|
+
/** Key into IconAliases (e.g. "chevronLeft"). Takes precedence over icon/pack. */
|
|
51
|
+
alias: String,
|
|
34
52
|
size: String,
|
|
35
53
|
customSize: String,
|
|
36
54
|
customClass: String,
|
|
37
55
|
both: Boolean // This is used internally to show both MDI and FA icon
|
|
38
56
|
},
|
|
39
57
|
computed: {
|
|
58
|
+
resolvedAlias() {
|
|
59
|
+
if (!this.alias) return null
|
|
60
|
+
return resolveAlias(this.alias) ?? null
|
|
61
|
+
},
|
|
62
|
+
isSvgAlias(): boolean {
|
|
63
|
+
return this.resolvedAlias?.type === 'svg'
|
|
64
|
+
},
|
|
65
|
+
isComponentAlias(): boolean {
|
|
66
|
+
return this.resolvedAlias?.type === 'component'
|
|
67
|
+
},
|
|
68
|
+
// Typed accessors used in the template
|
|
69
|
+
resolvedAliasSvg(): SvgIconAlias {
|
|
70
|
+
return this.resolvedAlias as SvgIconAlias
|
|
71
|
+
},
|
|
72
|
+
resolvedAliasComponent(): ComponentIconAlias {
|
|
73
|
+
return this.resolvedAlias as ComponentIconAlias
|
|
74
|
+
},
|
|
40
75
|
iconConfig() {
|
|
41
76
|
const allIcons = getIcons()
|
|
42
77
|
return allIcons[this.newPack]
|
|
@@ -53,7 +88,7 @@ export default defineComponent({
|
|
|
53
88
|
* internal icons are always MDI.
|
|
54
89
|
*/
|
|
55
90
|
newIcon() {
|
|
56
|
-
return `${this.iconPrefix}${this.getEquivalentIconOf(this.icon)}`
|
|
91
|
+
return `${this.iconPrefix}${this.getEquivalentIconOf(this.icon ?? '')}`
|
|
57
92
|
},
|
|
58
93
|
newPack() {
|
|
59
94
|
return this.pack || config.defaultIconPack
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
-
exports[`BIcon > render correctly 1`] = `"<span class="icon"><i class="mdi mdi-
|
|
3
|
+
exports[`BIcon > render correctly 1`] = `"<span class="icon"><i class="mdi mdi- mdi-24px"></i></span>"`;
|
|
@@ -15,3 +15,13 @@ export default Plugin
|
|
|
15
15
|
export {
|
|
16
16
|
Icon as BIcon
|
|
17
17
|
}
|
|
18
|
+
|
|
19
|
+
export type {
|
|
20
|
+
IconAlias,
|
|
21
|
+
SvgIconAlias,
|
|
22
|
+
ComponentIconAlias,
|
|
23
|
+
CssIconAlias,
|
|
24
|
+
IconAliases
|
|
25
|
+
} from '../../utils/config'
|
|
26
|
+
|
|
27
|
+
export { resolveAlias, getIconAliases } from '../../utils/iconAliases'
|
|
@@ -5,7 +5,7 @@ exports[`BTableMobileSort > render correctly 1`] = `
|
|
|
5
5
|
<div class="field has-addons">
|
|
6
6
|
<b-select-stub modelvalue="-1" multiple="false" expanded=""></b-select-stub>
|
|
7
7
|
<div class="control"><button class="button is-primary">
|
|
8
|
-
<b-icon-stub
|
|
8
|
+
<b-icon-stub size="is-small" icon="arrow-up" both="true" class="is-desc"></b-icon-stub>
|
|
9
9
|
</button></div>
|
|
10
10
|
</div>
|
|
11
11
|
</div>"
|