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.
Files changed (249) hide show
  1. package/dist/buefy.d.ts +257 -136
  2. package/dist/buefy.esm.js +212 -48
  3. package/dist/buefy.esm.min.js +2 -2
  4. package/dist/buefy.js +212 -46
  5. package/dist/buefy.min.js +2 -2
  6. package/dist/cjs/{Autocomplete-DEUs3z7g.js → Autocomplete-b0JUESTO.js} +3 -3
  7. package/dist/cjs/{Button-Cq7yqI8p.js → Button-Dw6VG6n7.js} +2 -2
  8. package/dist/cjs/{Checkbox-GPzAMQqM.js → Checkbox-cujzPKDl.js} +31 -3
  9. package/dist/cjs/{CompatFallthroughMixin-hhK0Gkhr.js → CompatFallthroughMixin-DI5L88ey.js} +1 -1
  10. package/dist/cjs/{Datepicker-B-9ReBe6.js → Datepicker-DVB975q3.js} +9 -9
  11. package/dist/cjs/{Dropdown-DtpKU9qf.js → Dropdown-CFh_lLvm.js} +2 -1
  12. package/dist/cjs/{DropdownItem-IMOKyRGV.js → DropdownItem-D2Ky1QIH.js} +1 -1
  13. package/dist/cjs/{Field-19ZCJFF8.js → Field-Dy73xhhY.js} +1 -1
  14. package/dist/cjs/{FormElementMixin-DavX4iOv.js → FormElementMixin-17PQ7TPR.js} +1 -1
  15. package/dist/cjs/{Icon-lsDKE2wQ.js → Icon-DrFLI3Zg.js} +48 -6
  16. package/dist/cjs/{Image-CocPwU3n.js → Image-D4AGl_2Z.js} +1 -1
  17. package/dist/cjs/{Input-BcloGeZ3.js → Input-z4Vlmbj8.js} +4 -4
  18. package/dist/cjs/{Modal-D1aZUehE.js → Modal-CVyLPawO.js} +1 -1
  19. package/dist/cjs/{NoticeMixin--3RjH43z.js → NoticeMixin-BlwAiMRV.js} +1 -1
  20. package/dist/cjs/{Pagination-D1MVdiLp.js → Pagination-54NHaQvi.js} +2 -2
  21. package/dist/cjs/{Progress-DT9Qc8Id.js → Progress-BlXLJ3zb.js} +1 -1
  22. package/dist/cjs/{Select-DayPKwCY.js → Select-DRXaEjlP.js} +3 -3
  23. package/dist/cjs/{TabbedChildMixin-B3JUUwcf.js → TabbedChildMixin-BFHsIyg6.js} +1 -1
  24. package/dist/cjs/{Tag-BprnwJJ1.js → Tag-BdL2uH8x.js} +1 -1
  25. package/dist/cjs/{Timepicker-CDZ3V-2J.js → Timepicker-ujQPxzDF.js} +6 -6
  26. package/dist/cjs/{TimepickerMixin-C9WVvcUL.js → TimepickerMixin-C9OA8jWF.js} +3 -3
  27. package/dist/cjs/{Tooltip-Cgighv0j.js → Tooltip-j_3eF7QD.js} +1 -1
  28. package/dist/cjs/autocomplete.js +7 -6
  29. package/dist/cjs/breadcrumb.js +2 -2
  30. package/dist/cjs/button.js +4 -3
  31. package/dist/cjs/carousel.js +5 -4
  32. package/dist/cjs/checkbox.js +3 -1
  33. package/dist/cjs/clockpicker.js +8 -7
  34. package/dist/cjs/colorpicker.js +12 -11
  35. package/dist/cjs/{config-DR826Ki2.js → config-CXSF5Vky.js} +2 -1
  36. package/dist/cjs/config.js +1 -1
  37. package/dist/cjs/datepicker.js +11 -10
  38. package/dist/cjs/datetimepicker.js +13 -12
  39. package/dist/cjs/dialog.js +5 -4
  40. package/dist/cjs/dropdown.js +3 -3
  41. package/dist/cjs/field.js +2 -2
  42. package/dist/cjs/icon.js +5 -2
  43. package/dist/cjs/iconAliases-DoayKo0q.js +100 -0
  44. package/dist/cjs/image.js +2 -2
  45. package/dist/cjs/{index-SLOXD6k3.js → index-N35FRTpu.js} +9 -9
  46. package/dist/cjs/index.js +27 -24
  47. package/dist/cjs/input.js +6 -5
  48. package/dist/cjs/menu.js +4 -3
  49. package/dist/cjs/message.js +4 -3
  50. package/dist/cjs/modal.js +2 -2
  51. package/dist/cjs/navbar.js +2 -2
  52. package/dist/cjs/notification.js +5 -4
  53. package/dist/cjs/numberinput.js +6 -5
  54. package/dist/cjs/pagination.js +4 -3
  55. package/dist/cjs/progress.js +2 -2
  56. package/dist/cjs/rate.js +3 -2
  57. package/dist/cjs/select.js +6 -5
  58. package/dist/cjs/sidebar.js +1 -1
  59. package/dist/cjs/slider.js +3 -3
  60. package/dist/cjs/snackbar.js +2 -2
  61. package/dist/cjs/steps.js +4 -3
  62. package/dist/cjs/switch.js +1 -1
  63. package/dist/cjs/table.js +9 -8
  64. package/dist/cjs/tabs.js +4 -3
  65. package/dist/cjs/tag.js +4 -3
  66. package/dist/cjs/taginput.js +8 -7
  67. package/dist/cjs/timepicker.js +12 -11
  68. package/dist/cjs/toast.js +2 -2
  69. package/dist/cjs/tooltip.js +2 -2
  70. package/dist/cjs/upload.js +3 -3
  71. package/dist/components/autocomplete/index.js +122 -6
  72. package/dist/components/autocomplete/index.min.js +2 -2
  73. package/dist/components/breadcrumb/index.js +1 -1
  74. package/dist/components/breadcrumb/index.min.js +1 -1
  75. package/dist/components/button/index.js +122 -6
  76. package/dist/components/button/index.min.js +2 -2
  77. package/dist/components/carousel/index.js +123 -7
  78. package/dist/components/carousel/index.min.js +2 -2
  79. package/dist/components/checkbox/index.js +106 -4
  80. package/dist/components/checkbox/index.min.js +2 -2
  81. package/dist/components/clockpicker/index.js +127 -10
  82. package/dist/components/clockpicker/index.min.js +2 -2
  83. package/dist/components/collapse/index.js +1 -1
  84. package/dist/components/collapse/index.min.js +1 -1
  85. package/dist/components/colorpicker/index.js +128 -11
  86. package/dist/components/colorpicker/index.min.js +2 -2
  87. package/dist/components/datepicker/index.js +135 -18
  88. package/dist/components/datepicker/index.min.js +2 -2
  89. package/dist/components/datetimepicker/index.js +127 -10
  90. package/dist/components/datetimepicker/index.min.js +2 -2
  91. package/dist/components/dialog/index.js +122 -6
  92. package/dist/components/dialog/index.min.js +2 -2
  93. package/dist/components/dropdown/index.js +2 -1
  94. package/dist/components/dropdown/index.min.js +2 -2
  95. package/dist/components/field/index.js +1 -1
  96. package/dist/components/field/index.min.js +1 -1
  97. package/dist/components/icon/index.js +124 -6
  98. package/dist/components/icon/index.min.js +2 -2
  99. package/dist/components/image/index.js +1 -1
  100. package/dist/components/image/index.min.js +1 -1
  101. package/dist/components/input/index.js +122 -6
  102. package/dist/components/input/index.min.js +2 -2
  103. package/dist/components/loading/index.js +1 -1
  104. package/dist/components/loading/index.min.js +1 -1
  105. package/dist/components/menu/index.js +124 -8
  106. package/dist/components/menu/index.min.js +2 -2
  107. package/dist/components/message/index.js +122 -6
  108. package/dist/components/message/index.min.js +2 -2
  109. package/dist/components/modal/index.js +1 -1
  110. package/dist/components/modal/index.min.js +1 -1
  111. package/dist/components/navbar/index.js +1 -1
  112. package/dist/components/navbar/index.min.js +1 -1
  113. package/dist/components/notification/index.js +122 -6
  114. package/dist/components/notification/index.min.js +2 -2
  115. package/dist/components/numberinput/index.js +122 -6
  116. package/dist/components/numberinput/index.min.js +2 -2
  117. package/dist/components/pagination/index.js +122 -6
  118. package/dist/components/pagination/index.min.js +2 -2
  119. package/dist/components/progress/index.js +1 -1
  120. package/dist/components/progress/index.min.js +1 -1
  121. package/dist/components/radio/index.js +1 -1
  122. package/dist/components/radio/index.min.js +1 -1
  123. package/dist/components/rate/index.js +122 -6
  124. package/dist/components/rate/index.min.js +2 -2
  125. package/dist/components/select/index.js +122 -6
  126. package/dist/components/select/index.min.js +2 -2
  127. package/dist/components/sidebar/index.js +1 -1
  128. package/dist/components/sidebar/index.min.js +1 -1
  129. package/dist/components/skeleton/index.js +1 -1
  130. package/dist/components/skeleton/index.min.js +1 -1
  131. package/dist/components/slider/index.js +1 -1
  132. package/dist/components/slider/index.min.js +1 -1
  133. package/dist/components/snackbar/index.js +1 -1
  134. package/dist/components/snackbar/index.min.js +1 -1
  135. package/dist/components/steps/index.js +122 -6
  136. package/dist/components/steps/index.min.js +2 -2
  137. package/dist/components/switch/index.js +1 -1
  138. package/dist/components/switch/index.min.js +1 -1
  139. package/dist/components/table/index.js +156 -13
  140. package/dist/components/table/index.min.js +2 -2
  141. package/dist/components/tabs/index.js +122 -6
  142. package/dist/components/tabs/index.min.js +2 -2
  143. package/dist/components/tag/index.js +122 -6
  144. package/dist/components/tag/index.min.js +2 -2
  145. package/dist/components/taginput/index.js +122 -6
  146. package/dist/components/taginput/index.min.js +2 -2
  147. package/dist/components/timepicker/index.js +135 -18
  148. package/dist/components/timepicker/index.min.js +2 -2
  149. package/dist/components/toast/index.js +1 -1
  150. package/dist/components/toast/index.min.js +1 -1
  151. package/dist/components/tooltip/index.js +1 -1
  152. package/dist/components/tooltip/index.min.js +1 -1
  153. package/dist/components/upload/index.js +1 -1
  154. package/dist/components/upload/index.min.js +1 -1
  155. package/dist/css/buefy.css +21 -38
  156. package/dist/css/buefy.css.map +1 -1
  157. package/dist/css/buefy.min.css +1 -1
  158. package/dist/css/versions/buefy-no-reset.css +21 -38
  159. package/dist/css/versions/buefy-no-reset.css.map +1 -1
  160. package/dist/css/versions/buefy-no-reset.min.css +1 -1
  161. package/dist/css/versions/buefy-standalone.css +21 -38
  162. package/dist/css/versions/buefy-standalone.css.map +1 -1
  163. package/dist/css/versions/buefy-standalone.min.css +1 -1
  164. package/dist/esm/{Autocomplete-CZ8DmXsB.js → Autocomplete-BsBIH0Mj.js} +4 -4
  165. package/dist/esm/{Button-DyUYShTZ.js → Button-BTP__-p5.js} +3 -3
  166. package/dist/esm/{Checkbox-KUMz0sfA.js → Checkbox-C6pO3IzG.js} +32 -4
  167. package/dist/esm/{CompatFallthroughMixin-C8LPuwDr.js → CompatFallthroughMixin-LfFRwwlz.js} +1 -1
  168. package/dist/esm/{Datepicker-Bl8Wfdkn.js → Datepicker-CrVKrZBF.js} +10 -10
  169. package/dist/esm/{Dropdown-CGTYVyoL.js → Dropdown-GHauDDcD.js} +3 -2
  170. package/dist/esm/{DropdownItem-Cn3nM0A3.js → DropdownItem-By3tSZk2.js} +2 -2
  171. package/dist/esm/{Field-B7bX_uUg.js → Field-CU8ZBgMh.js} +2 -2
  172. package/dist/esm/{FormElementMixin-Dd_wkBN5.js → FormElementMixin-CKI7b4I4.js} +1 -1
  173. package/dist/esm/{Icon-DPyGDeRK.js → Icon-pQAdaqZb.js} +49 -7
  174. package/dist/esm/{Image-DhX-4hlV.js → Image-COmzg-EK.js} +2 -2
  175. package/dist/esm/{Input-C4L520az.js → Input-CErQ1Jyw.js} +5 -5
  176. package/dist/esm/{Loading-tuQoo6TU.js → Loading-BSqhV1Gi.js} +1 -1
  177. package/dist/esm/{Modal-EiR_KNGZ.js → Modal-C13NJijf.js} +2 -2
  178. package/dist/esm/{NoticeMixin-ByNlva3T.js → NoticeMixin-TQEF1Kx6.js} +1 -1
  179. package/dist/esm/{Pagination-B-LAJQay.js → Pagination-DvgzxH87.js} +3 -3
  180. package/dist/esm/{Progress-BPGTVZgr.js → Progress-AeKn1Ttq.js} +2 -2
  181. package/dist/esm/{Select-bl4qUzij.js → Select-CbkuxvSQ.js} +4 -4
  182. package/dist/esm/{TabbedChildMixin-C4i6WP9j.js → TabbedChildMixin-Bdu5A4iY.js} +1 -1
  183. package/dist/esm/{Tag-jS5Bcj6N.js → Tag-Dx_-Tavp.js} +2 -2
  184. package/dist/esm/{Timepicker-DnkqnOBT.js → Timepicker-0ojuPkqd.js} +7 -7
  185. package/dist/esm/{TimepickerMixin-Bikh6_Fg.js → TimepickerMixin-oNahYGFZ.js} +3 -3
  186. package/dist/esm/{Tooltip-CtDSXAqa.js → Tooltip-BnzQFdnQ.js} +2 -2
  187. package/dist/esm/autocomplete.js +7 -6
  188. package/dist/esm/breadcrumb.js +3 -3
  189. package/dist/esm/button.js +4 -3
  190. package/dist/esm/carousel.js +6 -5
  191. package/dist/esm/checkbox.js +4 -2
  192. package/dist/esm/clockpicker.js +9 -8
  193. package/dist/esm/colorpicker.js +12 -11
  194. package/dist/esm/{config-CKuo-p6e.js → config-f4Dyy8TN.js} +2 -1
  195. package/dist/esm/config.js +1 -1
  196. package/dist/esm/datepicker.js +11 -10
  197. package/dist/esm/datetimepicker.js +14 -13
  198. package/dist/esm/dialog.js +6 -5
  199. package/dist/esm/dropdown.js +3 -3
  200. package/dist/esm/field.js +2 -2
  201. package/dist/esm/icon.js +3 -2
  202. package/dist/esm/iconAliases-B-CydxNj.js +97 -0
  203. package/dist/esm/image.js +2 -2
  204. package/dist/esm/{index-BE58-KfV.js → index-BYVep8cv.js} +11 -11
  205. package/dist/esm/index.js +27 -26
  206. package/dist/esm/input.js +6 -5
  207. package/dist/esm/loading.js +1 -1
  208. package/dist/esm/menu.js +5 -4
  209. package/dist/esm/message.js +5 -4
  210. package/dist/esm/modal.js +2 -2
  211. package/dist/esm/navbar.js +3 -3
  212. package/dist/esm/notification.js +6 -5
  213. package/dist/esm/numberinput.js +7 -6
  214. package/dist/esm/pagination.js +4 -3
  215. package/dist/esm/progress.js +3 -3
  216. package/dist/esm/radio.js +1 -1
  217. package/dist/esm/rate.js +4 -3
  218. package/dist/esm/select.js +6 -5
  219. package/dist/esm/sidebar.js +2 -2
  220. package/dist/esm/slider.js +4 -4
  221. package/dist/esm/snackbar.js +3 -3
  222. package/dist/esm/steps.js +5 -4
  223. package/dist/esm/switch.js +2 -2
  224. package/dist/esm/table.js +11 -10
  225. package/dist/esm/tabs.js +5 -4
  226. package/dist/esm/tag.js +5 -4
  227. package/dist/esm/taginput.js +9 -8
  228. package/dist/esm/timepicker.js +12 -11
  229. package/dist/esm/toast.js +3 -3
  230. package/dist/esm/tooltip.js +2 -2
  231. package/dist/esm/upload.js +4 -4
  232. package/dist/tsdoc-metadata.json +1 -1
  233. package/package.json +2 -2
  234. package/src/components/carousel/CarouselList.vue +1 -1
  235. package/src/components/carousel/__snapshots__/CarouselList.spec.ts.snap +1 -1
  236. package/src/components/checkbox/Checkbox.spec.ts +66 -2
  237. package/src/components/checkbox/Checkbox.vue +25 -1
  238. package/src/components/checkbox/__snapshots__/Checkbox.spec.ts.snap +1 -1
  239. package/src/components/datepicker/__snapshots__/Datepicker.spec.ts.snap +2 -2
  240. package/src/components/dropdown/Dropdown.spec.ts +15 -0
  241. package/src/components/dropdown/Dropdown.vue +5 -0
  242. package/src/components/icon/Icon.spec.ts +67 -0
  243. package/src/components/icon/Icon.vue +40 -5
  244. package/src/components/icon/__snapshots__/Icon.spec.ts.snap +1 -1
  245. package/src/components/icon/index.ts +10 -0
  246. package/src/components/table/__snapshots__/TableMobileSort.spec.ts.snap +1 -1
  247. package/src/scss/components/_checkbox.scss +13 -16
  248. package/src/utils/config.ts +104 -2
  249. package/src/utils/iconAliases.ts +86 -0
@@ -4,7 +4,6 @@
4
4
  @use "bulma/sass/utilities/mixins" as mixins;
5
5
  @use "bulma/sass/utilities/controls" as controls;
6
6
  @use "bulma/sass/form/shared";
7
- @use "../utils/functions" as fn;
8
7
  @use "sass:list";
9
8
 
10
9
  $checkbox-active-background-color: cv.getVar('primary') !default;
@@ -22,7 +21,7 @@ $checkbox-colors: shared.$form-colors !default;
22
21
  @include cv.register-vars(
23
22
  (
24
23
  "checkbox-active-background-color": #{$checkbox-active-background-color},
25
-
24
+
26
25
  "checkbox-shadow": #{shared.$input-shadow},
27
26
 
28
27
  "checkbox-background-color": #{$checkbox-background},
@@ -31,25 +30,18 @@ $checkbox-colors: shared.$form-colors !default;
31
30
  "checkbox-border-width": #{$checkbox-border-width},
32
31
  "checkbox-checkmark-color": #{$checkbox-checkmark-color},
33
32
  "checkbox-size": #{$checkbox-size},
34
- "checkbox-checkmark-image": #{url(fn.checkmark(cv.getVar("checkbox-checkmark-color")))},
35
- "checkbox-indeterminate-image": #{url(fn.indeterminate(cv.getVar("checkbox-checkmark-color")))}
36
-
37
33
  )
38
34
  );
39
35
 
40
36
  &.checkbox input[type=checkbox] + .check {
41
37
 
42
38
  @each $name, $pair in $checkbox-colors {
43
- $color: list.nth($pair, 1);
44
-
45
39
  &.#{iv.$class-prefix}is-#{$name} {
46
40
  @include cv.register-vars(
47
41
  (
48
42
  "checkbox-active-background-color": #{cv.getVar($name)},
49
43
  "checkbox-border-color": #{cv.getVar($name)},
50
- "checkbox-checkmark-color": #{cv.getVar($name, "", "-invert")},
51
- "checkbox-checkmark-image": #{url(fn.checkmark(cv.getVar($name, "", "-invert")))},
52
- "checkbox-indeterminate-image": #{url(fn.indeterminate(cv.getVar($name, "", "-invert")))}
44
+ "checkbox-checkmark-color": #{cv.getVar($name, "", "-100")},
53
45
  )
54
46
  );
55
47
  }
@@ -67,7 +59,7 @@ $checkbox-colors: shared.$form-colors !default;
67
59
  outline: none;
68
60
  display: inline-flex;
69
61
  align-items: center;
70
-
62
+
71
63
  &:not(.button) {
72
64
  margin-inline-end: 0.5em;
73
65
  & + .checkbox:last-child {
@@ -83,27 +75,32 @@ $checkbox-colors: shared.$form-colors !default;
83
75
  z-index: -1;
84
76
 
85
77
  + .check {
86
- // @extend %input;
87
-
88
78
  padding: 0;
89
79
  background: cv.getVar("checkbox-background-color");
90
80
  border-style: solid;
91
81
  border-width: cv.getVar('checkbox-border-width');
92
- // border-color: cv.getVar("checkbox-border-color");
93
82
  box-shadow: cv.getVar('checkbox-shadow');
83
+ position: relative;
94
84
 
95
85
  width: cv.getVar('checkbox-size');
96
86
  height: cv.getVar('checkbox-size');
97
87
  flex-shrink: 0;
98
88
  border-radius: cv.getVar('checkbox-border-radius');
99
89
  transition: background cv.getVar('speed-slow') cv.getVar('easing');
90
+
91
+ svg {
92
+ display: block;
93
+ width: 100%;
94
+ height: 100%;
95
+ color: cv.getVar('checkbox-checkmark-color');
96
+ }
100
97
  }
101
98
  &:checked + .check {
102
- background: cv.getVar('checkbox-active-background-color') cv.getVar('checkbox-checkmark-image') no-repeat center center;
99
+ background: cv.getVar('checkbox-active-background-color');
103
100
  border-color: cv.getVar("checkbox-border-color");
104
101
  }
105
102
  &:indeterminate + .check {
106
- background: cv.getVar('checkbox-active-background-color') cv.getVar('checkbox-indeterminate-image') no-repeat center center;
103
+ background: cv.getVar('checkbox-active-background-color');
107
104
  border-color: cv.getVar('checkbox-border-color');
108
105
  }
109
106
  &:focus {
@@ -74,6 +74,101 @@ export interface IconPack {
74
74
  iconPrefix?: string
75
75
  }
76
76
 
77
+ /*
78
+ * Icon alias that renders an inline SVG `<path>` element.
79
+ * Color is controlled via CSS `color` / `fill="currentColor"`.
80
+ *
81
+ * @public
82
+ */
83
+ export type SvgIconAlias = {
84
+ type: 'svg'
85
+ /* SVG path `d` attribute. */
86
+ path: string
87
+ /* SVG viewBox. Defaults to "0 0 24 24". */
88
+ viewBox?: string
89
+ }
90
+
91
+ /*
92
+ * Icon alias that delegates rendering to a Vue component (e.g. FontAwesomeIcon).
93
+ *
94
+ * @public
95
+ */
96
+ export type ComponentIconAlias = {
97
+ type: 'component'
98
+ /* The Vue component to render. */
99
+ component: string | object
100
+ /*
101
+ * Passed as the `:icon` prop to the component.
102
+ * Typed as `any` because it is forwarded verbatim to an external component
103
+ * (e.g. `['fas', 'check']` for FontAwesomeIcon), whose prop type is opaque to Buefy.
104
+ */
105
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
106
+ icon: any
107
+ }
108
+
109
+ /*
110
+ * Icon alias that uses the existing CSS-class pack approach.
111
+ *
112
+ * @public
113
+ */
114
+ export type CssIconAlias = {
115
+ type: 'css'
116
+ /* Icon pack name (e.g. "mdi", "fas"). */
117
+ pack: string
118
+ /* Icon name within the pack. */
119
+ icon: string
120
+ }
121
+
122
+ /*
123
+ * A named icon alias — one of three rendering modes.
124
+ *
125
+ * @public
126
+ */
127
+ export type IconAlias = SvgIconAlias | ComponentIconAlias | CssIconAlias
128
+
129
+ /*
130
+ * Named icon aliases used by Buefy components.
131
+ * Override any entry via the `iconAliases` config option.
132
+ *
133
+ * @public
134
+ */
135
+ export interface IconAliases {
136
+ /* Checked checkbox mark. */
137
+ checkboxOn: IconAlias
138
+ /* Indeterminate checkbox mark. */
139
+ checkboxIndeterminate: IconAlias
140
+ /* Pagination / dropdown previous/left chevron. */
141
+ chevronLeft: IconAlias
142
+ /* Pagination / dropdown next/right chevron. */
143
+ chevronRight: IconAlias
144
+ /* Downward chevron. */
145
+ chevronDown: IconAlias
146
+ /* Upward chevron. */
147
+ chevronUp: IconAlias
148
+ /* Dropdown open indicator. */
149
+ menuDown: IconAlias
150
+ /* Dropdown close indicator. */
151
+ menuUp: IconAlias
152
+ /* Success status icon. */
153
+ check: IconAlias
154
+ /* Danger / error status icon. */
155
+ alertCircle: IconAlias
156
+ /* Warning status icon. */
157
+ alert: IconAlias
158
+ /* Info status icon. */
159
+ information: IconAlias
160
+ /* Close / dismiss icon. */
161
+ close: IconAlias
162
+ /* Close circle icon. */
163
+ closeCircle: IconAlias
164
+ /* Eye / show-password icon. */
165
+ eye: IconAlias
166
+ /* Eye-off / hide-password icon. */
167
+ eyeOff: IconAlias
168
+ /* Additional user-defined aliases. */
169
+ [key: string]: IconAlias
170
+ }
171
+
77
172
  /*
78
173
  * Buefy configuration.
79
174
  *
@@ -512,7 +607,13 @@ export interface BuefyConfig {
512
607
  * Custom icon packs.
513
608
  * No custom icon packs by default.
514
609
  */
515
- customIconPacks?: Record<string, IconPack> | null
610
+ customIconPacks?: Record<string, IconPack> | null,
611
+ /*
612
+ * Named icon aliases.
613
+ * Overrides specific entries in the default alias set.
614
+ * No overrides by default.
615
+ */
616
+ iconAliases?: Partial<IconAliases> | null
516
617
  }
517
618
 
518
619
  let config: BuefyConfig = {
@@ -600,7 +701,8 @@ let config: BuefyConfig = {
600
701
  defaultBreadcrumbAlign: 'is-left',
601
702
  defaultBreadcrumbSeparator: '',
602
703
  defaultBreadcrumbSize: 'is-medium',
603
- customIconPacks: null
704
+ customIconPacks: null,
705
+ iconAliases: null
604
706
  }
605
707
 
606
708
  /*
@@ -0,0 +1,86 @@
1
+ import config, { type IconAliases, type IconAlias } from './config'
2
+
3
+ // Checkmark and indeterminate paths use viewBox "0 0 1 1" (extracted from _functions.scss).
4
+ // All other paths use viewBox "0 0 24 24" (MDI standard).
5
+
6
+ const defaultIconAliases: IconAliases = {
7
+ checkboxOn: {
8
+ type: 'svg',
9
+ viewBox: '0 0 1 1',
10
+ path: 'M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'
11
+ },
12
+ checkboxIndeterminate: {
13
+ type: 'svg',
14
+ viewBox: '0 0 1 1',
15
+ path: 'M 0.15,0.4 L 0.85,0.4 L 0.85,0.6 L 0.15,0.6 Z'
16
+ },
17
+ chevronLeft: {
18
+ type: 'svg',
19
+ path: 'M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z'
20
+ },
21
+ chevronRight: {
22
+ type: 'svg',
23
+ path: 'M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z'
24
+ },
25
+ chevronDown: {
26
+ type: 'svg',
27
+ path: 'M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z'
28
+ },
29
+ chevronUp: {
30
+ type: 'svg',
31
+ path: 'M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z'
32
+ },
33
+ menuDown: {
34
+ type: 'svg',
35
+ path: 'M7,10L12,15L17,10H7Z'
36
+ },
37
+ menuUp: {
38
+ type: 'svg',
39
+ path: 'M7,14L12,9L17,14H7Z'
40
+ },
41
+ check: {
42
+ type: 'svg',
43
+ path: 'M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z'
44
+ },
45
+ alertCircle: {
46
+ type: 'svg',
47
+ path: 'M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z'
48
+ },
49
+ alert: {
50
+ type: 'svg',
51
+ path: 'M13,14H11V10H13M13,18H11V16H13M1,21H23L12,2L1,21Z'
52
+ },
53
+ information: {
54
+ type: 'svg',
55
+ path: 'M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z'
56
+ },
57
+ close: {
58
+ type: 'svg',
59
+ path: 'M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z'
60
+ },
61
+ closeCircle: {
62
+ type: 'svg',
63
+ path: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z'
64
+ },
65
+ eye: {
66
+ type: 'svg',
67
+ path: 'M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z'
68
+ },
69
+ eyeOff: {
70
+ type: 'svg',
71
+ path: 'M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.18 16.38,18.6L16.81,19L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z'
72
+ }
73
+ }
74
+
75
+ export function getIconAliases(): IconAliases {
76
+ if (config.iconAliases) {
77
+ return { ...defaultIconAliases, ...config.iconAliases } as IconAliases
78
+ }
79
+ return defaultIconAliases
80
+ }
81
+
82
+ export function resolveAlias(name: string): IconAlias | undefined {
83
+ return getIconAliases()[name]
84
+ }
85
+
86
+ export default defaultIconAliases