@e-xode/vui 0.6.5

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 (159) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +107 -0
  3. package/dist/_plugin-vue_export-helper-BSl1dQT6.js +83 -0
  4. package/dist/_plugin-vue_export-helper-DeDoBcDj.js +1 -0
  5. package/dist/alert-CL20mS-E.js +49 -0
  6. package/dist/alert-CbdNaLvd.js +1 -0
  7. package/dist/animable-ChJEXlsE.js +1 -0
  8. package/dist/animable-DnFaMPYA.js +34 -0
  9. package/dist/button-D5bD4vAv.js +1 -0
  10. package/dist/button-Dall4PZ6.js +82 -0
  11. package/dist/card-DK0Uhh_6.js +1 -0
  12. package/dist/card-ouJTJOLK.js +50 -0
  13. package/dist/checkbox-B9yl-GCS.js +1 -0
  14. package/dist/checkbox-C0XHmyOW.js +116 -0
  15. package/dist/doc/assets/alert-BUCYz3vD.js +25 -0
  16. package/dist/doc/assets/alert-CMx1jzV3.css +1 -0
  17. package/dist/doc/assets/alert-CfN-KK4X.js +1 -0
  18. package/dist/doc/assets/animable-S5zFcxd4.js +1 -0
  19. package/dist/doc/assets/button-B8AvTEGk.css +1 -0
  20. package/dist/doc/assets/button-C1U5-S3p.js +1 -0
  21. package/dist/doc/assets/button-CNMZ1GQO.js +36 -0
  22. package/dist/doc/assets/button-Df0zy3mn.css +1 -0
  23. package/dist/doc/assets/card-CUtpnLFS.js +1 -0
  24. package/dist/doc/assets/card-Cm7t5GnP.css +1 -0
  25. package/dist/doc/assets/card-CwQ070ao.js +27 -0
  26. package/dist/doc/assets/checkbox-DUY-WF86.js +1 -0
  27. package/dist/doc/assets/checkbox-DrJf8HyQ.js +14 -0
  28. package/dist/doc/assets/checkbox-Dtjrzcei.css +1 -0
  29. package/dist/doc/assets/component-CXumWSlt.js +1 -0
  30. package/dist/doc/assets/component-CXwRI3O4.css +1 -0
  31. package/dist/doc/assets/composable-CshUTKfl.js +1 -0
  32. package/dist/doc/assets/default-D8NjjGBi.css +1 -0
  33. package/dist/doc/assets/default-DHoZWdtn.js +1 -0
  34. package/dist/doc/assets/demonstrable-B5KAWPKX.js +9 -0
  35. package/dist/doc/assets/dropdown-BDltvOgD.css +1 -0
  36. package/dist/doc/assets/dropdown-D0xbQtqT.css +1 -0
  37. package/dist/doc/assets/dropdown-D3hwsYWo.js +32 -0
  38. package/dist/doc/assets/dropdown-EPlb5xOz.js +1 -0
  39. package/dist/doc/assets/fa-brands-400-Ch568Ea9.woff2 +0 -0
  40. package/dist/doc/assets/fa-brands-400-DHHcbFjz.ttf +0 -0
  41. package/dist/doc/assets/fa-regular-400-9VThgXHM.woff2 +0 -0
  42. package/dist/doc/assets/fa-regular-400-C54-fRIQ.ttf +0 -0
  43. package/dist/doc/assets/fa-solid-900-Cm9M9sZB.ttf +0 -0
  44. package/dist/doc/assets/fa-solid-900-QWY35r5r.woff2 +0 -0
  45. package/dist/doc/assets/fa-v4compatibility-BRdYr4HJ.woff2 +0 -0
  46. package/dist/doc/assets/fa-v4compatibility-DLBX5pNp.ttf +0 -0
  47. package/dist/doc/assets/footer-BgsenAcP.js +1 -0
  48. package/dist/doc/assets/footer-Bm8ssenm.js +5 -0
  49. package/dist/doc/assets/footer-DYUKfFU3.css +1 -0
  50. package/dist/doc/assets/form-DKLHmzJQ.js +47 -0
  51. package/dist/doc/assets/form-XmHKCPrj.css +1 -0
  52. package/dist/doc/assets/form-k50YoLDD.js +1 -0
  53. package/dist/doc/assets/grid-Bh0kbzz2.css +1 -0
  54. package/dist/doc/assets/grid-BlQLubGm.css +1 -0
  55. package/dist/doc/assets/grid-BqtXNrmN.js +1 -0
  56. package/dist/doc/assets/grid-TeUBpTW_.js +14 -0
  57. package/dist/doc/assets/header-BXnWOksC.js +1 -0
  58. package/dist/doc/assets/header-Bz_A9csZ.css +1 -0
  59. package/dist/doc/assets/header-eITS5i2z.js +5 -0
  60. package/dist/doc/assets/index-7pe20t8n.js +1 -0
  61. package/dist/doc/assets/index-9U_mVUKM.css +1 -0
  62. package/dist/doc/assets/index-BQmFywQ4.js +48 -0
  63. package/dist/doc/assets/index-BSpywUIE.css +14 -0
  64. package/dist/doc/assets/index-wi3jjcqb.js +1 -0
  65. package/dist/doc/assets/input-BKMua51x.js +1 -0
  66. package/dist/doc/assets/input-BOPqansB.js +15 -0
  67. package/dist/doc/assets/input-D3l35AS9.css +1 -0
  68. package/dist/doc/assets/input-DSlxLCcA.css +1 -0
  69. package/dist/doc/assets/list-BPEuENqV.css +1 -0
  70. package/dist/doc/assets/list-CGLoBn9q.js +1 -0
  71. package/dist/doc/assets/list-CLtQXRmR.css +1 -0
  72. package/dist/doc/assets/list-n45uFw2X.js +30 -0
  73. package/dist/doc/assets/loader-BV0MDdoZ.js +1 -0
  74. package/dist/doc/assets/loader-C4g8GuOD.css +1 -0
  75. package/dist/doc/assets/loader-kFszqXxd.js +21 -0
  76. package/dist/doc/assets/modal-BQbrtOh6.js +1 -0
  77. package/dist/doc/assets/modal-C8IiekXp.css +1 -0
  78. package/dist/doc/assets/modal-DLTSg2Rm.js +18 -0
  79. package/dist/doc/assets/nav-C_eRBUvm.css +1 -0
  80. package/dist/doc/assets/nav-DL_aupT5.js +1 -0
  81. package/dist/doc/assets/nav-DQFqqSlk.js +20 -0
  82. package/dist/doc/assets/page-5bIt8sIt.js +53 -0
  83. package/dist/doc/assets/page-DtSZOZ0a.css +1 -0
  84. package/dist/doc/assets/page-HHRlPnpS.js +1 -0
  85. package/dist/doc/assets/pager-BJfdjd6d.js +1 -0
  86. package/dist/doc/assets/pager-BSfAVnS5.css +1 -0
  87. package/dist/doc/assets/pager-lLWSRkXq.js +22 -0
  88. package/dist/doc/assets/progress-BGFPfOOr.js +14 -0
  89. package/dist/doc/assets/progress-DILkrPEU.css +1 -0
  90. package/dist/doc/assets/progress-agXYCgzm.js +1 -0
  91. package/dist/doc/assets/start-CD9tFbht.css +1 -0
  92. package/dist/doc/assets/start-CqupTQKQ.js +1 -0
  93. package/dist/doc/assets/table-BawB_9__.css +1 -0
  94. package/dist/doc/assets/table-CMUxQ9C6.js +75 -0
  95. package/dist/doc/assets/table-DX3maWwn.css +1 -0
  96. package/dist/doc/assets/table-No82fyed.js +1 -0
  97. package/dist/doc/assets/tabs-B3SGp8R7.css +1 -0
  98. package/dist/doc/assets/tabs-BO11EW27.js +1 -0
  99. package/dist/doc/assets/tabs-uU4Onuid.js +11 -0
  100. package/dist/doc/assets/tag-COrA8kV9.js +25 -0
  101. package/dist/doc/assets/tag-DAiyWNFY.css +1 -0
  102. package/dist/doc/assets/tag-Do20IKxB.js +1 -0
  103. package/dist/doc/assets/toggle-BOUyuSz0.js +9 -0
  104. package/dist/doc/assets/toggle-CweBCm3j.css +1 -0
  105. package/dist/doc/assets/toggle-DazanQqx.js +1 -0
  106. package/dist/doc/assets/tooltip-94laNPly.js +1 -0
  107. package/dist/doc/assets/tooltip-CB2SgOBq.css +1 -0
  108. package/dist/doc/assets/tooltip-CpdVg_-T.js +48 -0
  109. package/dist/doc/assets/translatable-DbFxNJLL.js +1 -0
  110. package/dist/doc/assets/unit-BBuvFoj-.js +18 -0
  111. package/dist/doc/assets/unit-BziEb5aB.css +1 -0
  112. package/dist/doc/assets/unit-CEWThaCv.css +1 -0
  113. package/dist/doc/assets/unit-CiQ7QHVC.js +1 -0
  114. package/dist/doc/index.html +31 -0
  115. package/dist/dropdown-94Qb68fE.js +188 -0
  116. package/dist/dropdown-BwSLrIif.js +1 -0
  117. package/dist/footer-51s_zdw3.js +29 -0
  118. package/dist/footer-BsenaW5N.js +1 -0
  119. package/dist/form-BZpgCWGA.js +29 -0
  120. package/dist/form-ZUVvCZyS.js +1 -0
  121. package/dist/grid-CurHW85o.js +66 -0
  122. package/dist/grid-DWWix5rK.js +1 -0
  123. package/dist/header-DcGPzeye.js +29 -0
  124. package/dist/header-ZYcWwRkh.js +1 -0
  125. package/dist/index-BYlXFZ1a.js +7 -0
  126. package/dist/index-CIHzWz8S.js +1 -0
  127. package/dist/input-Dy5fCJhT.js +103 -0
  128. package/dist/input-WjGQ7q1J.js +1 -0
  129. package/dist/list-BH719nj8.js +286 -0
  130. package/dist/list-BkZK3xVW.js +1 -0
  131. package/dist/loader-BfFCffVh.js +1 -0
  132. package/dist/loader-D-dknzvs.js +60 -0
  133. package/dist/modal-ClZY58iR.js +1 -0
  134. package/dist/modal-DkygZY00.js +126 -0
  135. package/dist/nav-BD6eV2wj.js +1 -0
  136. package/dist/nav-DdIBrD1b.js +142 -0
  137. package/dist/page-BIUh-VF2.js +1 -0
  138. package/dist/page-CM5kqSQi.js +60 -0
  139. package/dist/pager-C8iFmeo8.js +1 -0
  140. package/dist/pager-CBJ3CiCZ.js +172 -0
  141. package/dist/progress-DsA7oWSK.js +59 -0
  142. package/dist/progress-d0_3-GgJ.js +1 -0
  143. package/dist/style.css +1 -0
  144. package/dist/table-8qXMDkjH.js +1 -0
  145. package/dist/table-DuvV-g2p.js +95 -0
  146. package/dist/tabs-CHwXPZS8.js +1 -0
  147. package/dist/tabs-X0RMcNvq.js +113 -0
  148. package/dist/tag-D4iZf3-b.js +48 -0
  149. package/dist/tag-viNXw7N7.js +1 -0
  150. package/dist/toggle-BjGdBPSz.js +114 -0
  151. package/dist/toggle-gSEwsuRP.js +1 -0
  152. package/dist/tooltip--n3igWe7.js +1 -0
  153. package/dist/tooltip-CIoZoCZY.js +127 -0
  154. package/dist/unit-DGlQY07B.js +1 -0
  155. package/dist/unit-Xp1FHc7U.js +41 -0
  156. package/dist/vui.esm.js +272 -0
  157. package/dist/vui.js +1 -0
  158. package/dist/vui.umd.js +1 -0
  159. package/package.json +107 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015-present Evan You
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,107 @@
1
+
2
+ # Vui, Another Vuejs U.I Library
3
+
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![CircleCI](https://dl.circleci.com/status-badge/img/gh/e-xode/vui/tree/master.svg?style=svg&circle-token=d8353b320a36159da949b935eba5cbdb41502a60)](https://dl.circleci.com/status-badge/redirect/gh/e-xode/vui/tree/master) [![Coverage Status](https://coveralls.io/repos/github/e-xode/vui/badge.svg?branch=master)](https://coveralls.io/github/e-xode/vui?branch=master) ![NPM Version](https://img.shields.io/npm/v/%40e-xode%2Fvui?color=green)
5
+
6
+ VUI is an open source UI library providing customizable web components for Vue.js.
7
+
8
+ ## Features
9
+
10
+ - 3 types of web components: Html, UI, and layout, written in a way to provide simple implementation and easy customization. **23 components are available** in the current release.
11
+
12
+ - Styles and layouts allow easy CSS overriding (no inline definitions, no messy !importants, ...).
13
+ - Compatible with server rendering ( [SSR](https://vuejs.org/guide/scaling-up/ssr.html) ).
14
+ - Integrates fontawesome-free Icons library.
15
+ - Provides documentation and tests.
16
+
17
+ Online documentation and live demo are available [here](https://vui.e-xode.net/)
18
+
19
+ Package and releases are available on [NPM](https://www.npmjs.com/package/@e-xode/vui)
20
+
21
+ ## Get started
22
+
23
+ Install first the library:
24
+
25
+ ```sh
26
+ npm install -s @e-xode/vui
27
+ ```
28
+
29
+ ### use vui in your vue app
30
+
31
+ In your Vue application:
32
+
33
+ ```javascript
34
+ import { createApp } from 'vue'
35
+ import { createI18n } from 'vue-i18n'
36
+ import App from './App.vue'
37
+ import vui from '@e-xode/vui'
38
+
39
+ const main = createApp(App)
40
+ main.use(vui)
41
+ main.use(new createI18n({
42
+ legacy: false,
43
+ locale: 'en',
44
+ messages: { en: [] }
45
+ }))
46
+ ```
47
+
48
+ Notes:
49
+ - The current version of VUI works only with vue-i18n and option **legacy = false** (translations are components isolated)
50
+ - Version of node currently supported: 21
51
+ - Depending of your bundler, you may need to provide specific path of the module format:
52
+ - cjs: ```import vui from '@e-xode/vui/vui.cjs.js'```
53
+ - esm: ```import vui from '@e-xode/vui/vui.esm.js'```
54
+ - umd: ```import vui from '@e-xode/vui/vui.umd.js'```
55
+
56
+ ### load vui style
57
+
58
+ ```scss
59
+ @import "@e-xode/vui/dist/style.css";
60
+ ```
61
+
62
+ ### load @fontawesome icons
63
+
64
+ ```scss
65
+ @import "@fortawesome/fontawesome-free/css/all.css";
66
+ @font-face {
67
+ font-family: 'Font Awesome 5 Brands';
68
+ font-style: normal;
69
+ font-weight: 400;
70
+ src:
71
+ url('@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2') format('woff2'),
72
+ url('@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf') format('truetype')
73
+ }
74
+ @font-face {
75
+ font-family: 'Font Awesome 5 Regular';
76
+ font-style: normal;
77
+ font-weight: 400;
78
+ src:
79
+ url('@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2') format('woff2'),
80
+ url('@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf') format('truetype')
81
+ }
82
+ @font-face {
83
+ font-family: 'Font Awesome 5 Solid';
84
+ font-style: normal;
85
+ font-weight: 900;
86
+ src:
87
+ url('@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2') format('woff2'),
88
+ url('@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf') format('truetype')
89
+ }
90
+ ```
91
+
92
+ ## Run & develop vui sources
93
+ ```sh
94
+ copy .env_sample .env
95
+ ```
96
+ Optional: edit .env file content and update values according to your config
97
+
98
+ ### with docker
99
+ ```sh
100
+ docker-compose up
101
+ ```
102
+
103
+ ### or local with Node / NPM
104
+ ```sh
105
+ npm install
106
+ npm run dev
107
+ ```
@@ -0,0 +1,83 @@
1
+ import { useI18n as o } from "vue-i18n";
2
+ const a = {
3
+ inject: ["$bus"],
4
+ props: {
5
+ class: {
6
+ type: String
7
+ },
8
+ disabled: {
9
+ type: Boolean,
10
+ default: !1
11
+ },
12
+ id: {
13
+ type: String,
14
+ default: null
15
+ },
16
+ groupId: {
17
+ type: String,
18
+ default: null
19
+ },
20
+ layout: {
21
+ type: String,
22
+ default: "default"
23
+ },
24
+ loading: {
25
+ type: Boolean,
26
+ default: !1
27
+ },
28
+ name: {
29
+ type: String
30
+ }
31
+ },
32
+ deactivated() {
33
+ this.$bus.off("outclick");
34
+ },
35
+ created() {
36
+ this.uuid = this.newId();
37
+ },
38
+ data() {
39
+ return {
40
+ uuid: null
41
+ };
42
+ },
43
+ computed: {
44
+ componentId() {
45
+ return this.id ? this.id : this.uuid;
46
+ },
47
+ componentGroupId() {
48
+ return this.groupId ? this.groupId : this.uuid;
49
+ },
50
+ hasModelValue() {
51
+ return typeof this.modelValue < "u";
52
+ },
53
+ hasValue() {
54
+ return typeof this.value < "u";
55
+ }
56
+ },
57
+ methods: {
58
+ hasAttribute(t) {
59
+ return Object.keys(this.$attrs).find((e) => e === t);
60
+ },
61
+ hasProp(t) {
62
+ return typeof this[t] < "u";
63
+ },
64
+ newId() {
65
+ return Math.random().toString(36).slice(-6);
66
+ }
67
+ }
68
+ }, d = (t) => {
69
+ const e = o();
70
+ return Object.keys(t).forEach((n) => {
71
+ e.mergeLocaleMessage(n, t[n]);
72
+ }), e;
73
+ }, i = (t, e) => {
74
+ const n = t.__vccOpts || t;
75
+ for (const [r, u] of e)
76
+ n[r] = u;
77
+ return n;
78
+ };
79
+ export {
80
+ i as _,
81
+ a as c,
82
+ d as t
83
+ };
@@ -0,0 +1 @@
1
+ "use strict";const s=require("vue-i18n"),o={inject:["$bus"],props:{class:{type:String},disabled:{type:Boolean,default:!1},id:{type:String,default:null},groupId:{type:String,default:null},layout:{type:String,default:"default"},loading:{type:Boolean,default:!1},name:{type:String}},deactivated(){this.$bus.off("outclick")},created(){this.uuid=this.newId()},data(){return{uuid:null}},computed:{componentId(){return this.id?this.id:this.uuid},componentGroupId(){return this.groupId?this.groupId:this.uuid},hasModelValue(){return typeof this.modelValue<"u"},hasValue(){return typeof this.value<"u"}},methods:{hasAttribute(t){return Object.keys(this.$attrs).find(e=>e===t)},hasProp(t){return typeof this[t]<"u"},newId(){return Math.random().toString(36).slice(-6)}}},a=t=>{const e=s.useI18n();return Object.keys(t).forEach(n=>{e.mergeLocaleMessage(n,t[n])}),e},i=(t,e)=>{const n=t.__vccOpts||t;for(const[u,r]of e)n[u]=r;return n};exports._export_sfc=i;exports.composable=o;exports.translatable=a;
@@ -0,0 +1,49 @@
1
+ import { _ as r, c as a, t as i } from "./_plugin-vue_export-helper-BSl1dQT6.js";
2
+ import { openBlock as t, createElementBlock as s, normalizeClass as n, renderSlot as o, createCommentVNode as l, createTextVNode as p, toDisplayString as c } from "vue";
3
+ import "highlight.js";
4
+ const d = {}, m = {}, u = {
5
+ en: d,
6
+ fr: m
7
+ }, $ = {
8
+ icon: {
9
+ type: String
10
+ },
11
+ text: {
12
+ type: String
13
+ }
14
+ }, f = {
15
+ name: "VuiAlert",
16
+ mixins: [
17
+ a
18
+ ],
19
+ props: $,
20
+ created() {
21
+ i(u);
22
+ }
23
+ }, y = ["id"];
24
+ function g(e, v, S, V, k, b) {
25
+ return t(), s("div", {
26
+ id: e.componentId,
27
+ class: n([
28
+ "vui-alert",
29
+ `vui-alert--${e.layout}`,
30
+ e.$props.class
31
+ ])
32
+ }, [
33
+ o(e.$slots, "prepend"),
34
+ o(e.$slots, "icon", {}, () => [
35
+ e.icon ? (t(), s("i", {
36
+ key: 0,
37
+ class: n(["vui-alert-icon", e.icon])
38
+ }, null, 2)) : l("", !0)
39
+ ]),
40
+ o(e.$slots, "default", {}, () => [
41
+ p(c(e.text), 1)
42
+ ]),
43
+ o(e.$slots, "append")
44
+ ], 10, y);
45
+ }
46
+ const C = /* @__PURE__ */ r(f, [["render", g]]);
47
+ export {
48
+ C as default
49
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./_plugin-vue_export-helper-DeDoBcDj.js"),e=require("vue");require("highlight.js");const r={},n={},s={en:r,fr:n},l={icon:{type:String},text:{type:String}},i={name:"VuiAlert",mixins:[o.composable],props:l,created(){o.translatable(s)}},a=["id"];function c(t,u,d,m,$,S){return e.openBlock(),e.createElementBlock("div",{id:t.componentId,class:e.normalizeClass(["vui-alert",`vui-alert--${t.layout}`,t.$props.class])},[e.renderSlot(t.$slots,"prepend"),e.renderSlot(t.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(["vui-alert-icon",t.icon])},null,2)):e.createCommentVNode("",!0)]),e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.text),1)]),e.renderSlot(t.$slots,"append")],10,a)}const p=o._export_sfc(i,[["render",c]]);exports.default=p;
@@ -0,0 +1 @@
1
+ "use strict";const i={duration:125},s={data(){return{toggled:!1,animating:!1}},created(){this.$bus.on("outclick",t=>{this.toggled&&this.componentGroupId!==t&&this.blur()})},methods:{animate(){this.animating||(this.animating=!0,setTimeout(()=>{this.animating=!1},i.duration))},blur(){this.toggled=!1},focus(){this.toggled=!0,this.$bus.emit("outclick",this.componentGroupId)},onAnimate(t=null){this.animate(),t||t===null&&!this.toggled?this.focus():this.blur()}}};exports.animable=s;
@@ -0,0 +1,34 @@
1
+ const i = {
2
+ duration: 125
3
+ }, s = {
4
+ data() {
5
+ return {
6
+ toggled: !1,
7
+ animating: !1
8
+ };
9
+ },
10
+ created() {
11
+ this.$bus.on("outclick", (t) => {
12
+ this.toggled && this.componentGroupId !== t && this.blur();
13
+ });
14
+ },
15
+ methods: {
16
+ animate() {
17
+ this.animating || (this.animating = !0, setTimeout(() => {
18
+ this.animating = !1;
19
+ }, i.duration));
20
+ },
21
+ blur() {
22
+ this.toggled = !1;
23
+ },
24
+ focus() {
25
+ this.toggled = !0, this.$bus.emit("outclick", this.componentGroupId);
26
+ },
27
+ onAnimate(t = null) {
28
+ this.animate(), t || t === null && !this.toggled ? this.focus() : this.blur();
29
+ }
30
+ }
31
+ };
32
+ export {
33
+ s as a
34
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./animable-ChJEXlsE.js"),n=require("./_plugin-vue_export-helper-DeDoBcDj.js"),t=require("vue");require("highlight.js");const a={},u={},r={en:a,fr:u},d={icon:{type:String},route:{type:Object},text:{type:String},type:{type:String,default:"button"}},b={name:"VuiButton",mixins:[l.animable,n.composable],props:d,computed:{hasLabel(){var e;return((e=this.text)==null?void 0:e.length)>0||this.$slots.default}},created(){n.translatable(r)},methods:{onClick(){this.disabled||(this.onAnimate(),this.route&&this.$router.push(this.route))}}},p=["id"],c=["disabled","type"],m=t.createElementVNode("div",{class:"vui-button-loader"},null,-1);function h(e,i,v,f,y,o){return t.openBlock(),t.createElementBlock("div",{id:e.componentId,class:t.normalizeClass(["vui-button",`vui-button--${e.layout}`,{"vui-button--flat":e.hasAttribute("flat")},{"vui-button--with-label":o.hasLabel},{"vui-button--with-icon":e.icon},{"vui-button--toggled":e.toggled},{"vui-button--animating":!e.disabled&&e.animating},{"vui-button--loading":!e.disabled&&e.loading},{"vui-button--disabled":e.disabled},e.$props.class]),onClick:i[0]||(i[0]=t.withModifiers((...s)=>o.onClick&&o.onClick(...s),["stop"]))},[t.renderSlot(e.$slots,"prepend"),t.createElementVNode("button",{class:"vui-button-holder",disabled:e.disabled,type:e.type},[e.icon?(t.openBlock(),t.createElementBlock("i",{key:0,class:t.normalizeClass(["vui-button-icon",e.icon])},null,2)):t.createCommentVNode("",!0),t.renderSlot(e.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(e.text),1)])],8,c),m,t.renderSlot(e.$slots,"append")],10,p)}const g=n._export_sfc(b,[["render",h]]);exports.default=g;
@@ -0,0 +1,82 @@
1
+ import { a as d } from "./animable-DnFaMPYA.js";
2
+ import { _ as r, c as b, t as p } from "./_plugin-vue_export-helper-BSl1dQT6.js";
3
+ import { openBlock as n, createElementBlock as s, normalizeClass as a, withModifiers as m, renderSlot as o, createElementVNode as l, createCommentVNode as c, createTextVNode as h, toDisplayString as f } from "vue";
4
+ import "highlight.js";
5
+ const g = {}, v = {}, y = {
6
+ en: g,
7
+ fr: v
8
+ }, $ = {
9
+ icon: {
10
+ type: String
11
+ },
12
+ route: {
13
+ type: Object
14
+ },
15
+ text: {
16
+ type: String
17
+ },
18
+ type: {
19
+ type: String,
20
+ default: "button"
21
+ }
22
+ }, k = {
23
+ name: "VuiButton",
24
+ mixins: [
25
+ d,
26
+ b
27
+ ],
28
+ props: $,
29
+ computed: {
30
+ hasLabel() {
31
+ var t;
32
+ return ((t = this.text) == null ? void 0 : t.length) > 0 || this.$slots.default;
33
+ }
34
+ },
35
+ created() {
36
+ p(y);
37
+ },
38
+ methods: {
39
+ onClick() {
40
+ this.disabled || (this.onAnimate(), this.route && this.$router.push(this.route));
41
+ }
42
+ }
43
+ }, C = ["id"], S = ["disabled", "type"], V = /* @__PURE__ */ l("div", { class: "vui-button-loader" }, null, -1);
44
+ function B(t, i, w, N, A, e) {
45
+ return n(), s("div", {
46
+ id: t.componentId,
47
+ class: a([
48
+ "vui-button",
49
+ `vui-button--${t.layout}`,
50
+ { "vui-button--flat": t.hasAttribute("flat") },
51
+ { "vui-button--with-label": e.hasLabel },
52
+ { "vui-button--with-icon": t.icon },
53
+ { "vui-button--toggled": t.toggled },
54
+ { "vui-button--animating": !t.disabled && t.animating },
55
+ { "vui-button--loading": !t.disabled && t.loading },
56
+ { "vui-button--disabled": t.disabled },
57
+ t.$props.class
58
+ ]),
59
+ onClick: i[0] || (i[0] = m((...u) => e.onClick && e.onClick(...u), ["stop"]))
60
+ }, [
61
+ o(t.$slots, "prepend"),
62
+ l("button", {
63
+ class: "vui-button-holder",
64
+ disabled: t.disabled,
65
+ type: t.type
66
+ }, [
67
+ t.icon ? (n(), s("i", {
68
+ key: 0,
69
+ class: a(["vui-button-icon", t.icon])
70
+ }, null, 2)) : c("", !0),
71
+ o(t.$slots, "default", {}, () => [
72
+ h(f(t.text), 1)
73
+ ])
74
+ ], 8, S),
75
+ V,
76
+ o(t.$slots, "append")
77
+ ], 10, C);
78
+ }
79
+ const D = /* @__PURE__ */ r(k, [["render", B]]);
80
+ export {
81
+ D as default
82
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index-CIHzWz8S.js"),r=require("./_plugin-vue_export-helper-DeDoBcDj.js"),e=require("vue");require("highlight.js");const s={name:"VuiCard",mixins:[r.composable],created(){r.translatable(t.langs)}},l=["id"],a={key:0,class:"vui-card-header"},d={key:1,class:"vui-card-body"},n={key:2,class:"vui-card-footer"};function c(o,u,p,m,$,f){return e.openBlock(),e.createElementBlock("div",{id:o.componentId,class:e.normalizeClass(["vui-card",`vui-card--${o.layout}`,{"vui-card--flat":o.hasAttribute("flat")},o.$props.class])},[e.renderSlot(o.$slots,"prepend"),o.$slots.header?(e.openBlock(),e.createElementBlock("div",a,[e.renderSlot(o.$slots,"header")])):e.createCommentVNode("",!0),o.$slots.body||o.$slots.default?(e.openBlock(),e.createElementBlock("div",d,[e.renderSlot(o.$slots,"body"),e.renderSlot(o.$slots,"default")])):e.createCommentVNode("",!0),o.$slots.footer?(e.openBlock(),e.createElementBlock("div",n,[e.renderSlot(o.$slots,"footer")])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"append")],10,l)}const i=r._export_sfc(s,[["render",c]]);exports.default=i;
@@ -0,0 +1,50 @@
1
+ import { l as t } from "./index-BYlXFZ1a.js";
2
+ import { _ as d, c as l, t as i } from "./_plugin-vue_export-helper-BSl1dQT6.js";
3
+ import { openBlock as e, createElementBlock as a, normalizeClass as n, renderSlot as o, createCommentVNode as r } from "vue";
4
+ import "highlight.js";
5
+ const c = {
6
+ name: "VuiCard",
7
+ mixins: [
8
+ l
9
+ ],
10
+ created() {
11
+ i(t);
12
+ }
13
+ }, p = ["id"], u = {
14
+ key: 0,
15
+ class: "vui-card-header"
16
+ }, m = {
17
+ key: 1,
18
+ class: "vui-card-body"
19
+ }, $ = {
20
+ key: 2,
21
+ class: "vui-card-footer"
22
+ };
23
+ function f(s, v, h, y, b, k) {
24
+ return e(), a("div", {
25
+ id: s.componentId,
26
+ class: n([
27
+ "vui-card",
28
+ `vui-card--${s.layout}`,
29
+ { "vui-card--flat": s.hasAttribute("flat") },
30
+ s.$props.class
31
+ ])
32
+ }, [
33
+ o(s.$slots, "prepend"),
34
+ s.$slots.header ? (e(), a("div", u, [
35
+ o(s.$slots, "header")
36
+ ])) : r("", !0),
37
+ s.$slots.body || s.$slots.default ? (e(), a("div", m, [
38
+ o(s.$slots, "body"),
39
+ o(s.$slots, "default")
40
+ ])) : r("", !0),
41
+ s.$slots.footer ? (e(), a("div", $, [
42
+ o(s.$slots, "footer")
43
+ ])) : r("", !0),
44
+ o(s.$slots, "append")
45
+ ], 10, p);
46
+ }
47
+ const g = /* @__PURE__ */ d(c, [["render", f]]);
48
+ export {
49
+ g as default
50
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./_plugin-vue_export-helper-DeDoBcDj.js"),t=require("vue");require("highlight.js");const n={},i={},a={en:n,fr:i},u={checked:{default:void 0,type:Boolean},checkedValue:{default:void 0,types:[Boolean,String,Number,null]},modelValue:{default:void 0,types:[Boolean,String,Number,null]},name:{default:void 0,type:String},uncheckedValue:{default:void 0,types:[Boolean,String,Number,null]},value:{default:void 0,types:[Boolean,String,Number,null]}},r={name:"VuiCheckbox",mixins:[d.composable],props:u,emits:["update:model-value"],data(){return{toggled:!1}},computed:{isChecked(){return this.hasProp("checked")?this.checked:this.hasProp("checkedValue")?this.toggled===this.checkedValue:this.toggled}},watch:{modelValue(e){this.toggled=e},value(e){this.toggled=e}},created(){d.translatable(a),this.hasModelValue?this.toggled=this.modelValue:this.hasValue&&(this.toggled=this.value)},methods:{onToggle(){this.disabled||(this.hasProp("checkedValue")?this.toggled=this.isChecked?this.uncheckedValue:this.checkedValue:this.toggled=!this.isChecked,this.$emit("update:model-value",this.toggled))}}},c=["id"],h=["name","disabled","required"],g=["for"];function p(e,o,m,k,b,l){return t.openBlock(),t.createElementBlock("div",{id:e.componentId,class:t.normalizeClass(["vui-checkbox",{"vui-checkbox--checked":l.isChecked},{"vui-checkbox--disabled":e.disabled},e.$props.class]),onClick:o[0]||(o[0]=(...s)=>l.onToggle&&l.onToggle(...s))},[t.renderSlot(e.$slots,"prepend"),t.createElementVNode("input",{name:e.name,disabled:e.disabled,required:e.hasAttribute("required"),type:"checkbox"},null,8,h),e.$slots.default?(t.openBlock(),t.createElementBlock("label",{key:0,for:e.componentId},[t.renderSlot(e.$slots,"default")],8,g)):t.createCommentVNode("",!0),t.renderSlot(e.$slots,"append")],10,c)}const f=d._export_sfc(r,[["render",p]]);exports.default=f;
@@ -0,0 +1,116 @@
1
+ import { _ as i, c as n, t as u } from "./_plugin-vue_export-helper-BSl1dQT6.js";
2
+ import { openBlock as s, createElementBlock as o, normalizeClass as r, renderSlot as d, createElementVNode as h, createCommentVNode as c } from "vue";
3
+ import "highlight.js";
4
+ const m = {}, g = {}, p = {
5
+ en: m,
6
+ fr: g
7
+ }, f = {
8
+ checked: {
9
+ default: void 0,
10
+ type: Boolean
11
+ },
12
+ checkedValue: {
13
+ default: void 0,
14
+ types: [
15
+ Boolean,
16
+ String,
17
+ Number,
18
+ null
19
+ ]
20
+ },
21
+ modelValue: {
22
+ default: void 0,
23
+ types: [
24
+ Boolean,
25
+ String,
26
+ Number,
27
+ null
28
+ ]
29
+ },
30
+ name: {
31
+ default: void 0,
32
+ type: String
33
+ },
34
+ uncheckedValue: {
35
+ default: void 0,
36
+ types: [
37
+ Boolean,
38
+ String,
39
+ Number,
40
+ null
41
+ ]
42
+ },
43
+ value: {
44
+ default: void 0,
45
+ types: [
46
+ Boolean,
47
+ String,
48
+ Number,
49
+ null
50
+ ]
51
+ }
52
+ }, k = {
53
+ name: "VuiCheckbox",
54
+ mixins: [
55
+ n
56
+ ],
57
+ props: f,
58
+ emits: ["update:model-value"],
59
+ data() {
60
+ return {
61
+ toggled: !1
62
+ };
63
+ },
64
+ computed: {
65
+ isChecked() {
66
+ return this.hasProp("checked") ? this.checked : this.hasProp("checkedValue") ? this.toggled === this.checkedValue : this.toggled;
67
+ }
68
+ },
69
+ watch: {
70
+ modelValue(e) {
71
+ this.toggled = e;
72
+ },
73
+ value(e) {
74
+ this.toggled = e;
75
+ }
76
+ },
77
+ created() {
78
+ u(p), this.hasModelValue ? this.toggled = this.modelValue : this.hasValue && (this.toggled = this.value);
79
+ },
80
+ methods: {
81
+ onToggle() {
82
+ this.disabled || (this.hasProp("checkedValue") ? this.toggled = this.isChecked ? this.uncheckedValue : this.checkedValue : this.toggled = !this.isChecked, this.$emit("update:model-value", this.toggled));
83
+ }
84
+ }
85
+ }, b = ["id"], V = ["name", "disabled", "required"], v = ["for"];
86
+ function y(e, l, C, B, $, t) {
87
+ return s(), o("div", {
88
+ id: e.componentId,
89
+ class: r([
90
+ "vui-checkbox",
91
+ { "vui-checkbox--checked": t.isChecked },
92
+ { "vui-checkbox--disabled": e.disabled },
93
+ e.$props.class
94
+ ]),
95
+ onClick: l[0] || (l[0] = (...a) => t.onToggle && t.onToggle(...a))
96
+ }, [
97
+ d(e.$slots, "prepend"),
98
+ h("input", {
99
+ name: e.name,
100
+ disabled: e.disabled,
101
+ required: e.hasAttribute("required"),
102
+ type: "checkbox"
103
+ }, null, 8, V),
104
+ e.$slots.default ? (s(), o("label", {
105
+ key: 0,
106
+ for: e.componentId
107
+ }, [
108
+ d(e.$slots, "default")
109
+ ], 8, v)) : c("", !0),
110
+ d(e.$slots, "append")
111
+ ], 10, b);
112
+ }
113
+ const P = /* @__PURE__ */ i(k, [["render", y]]);
114
+ export {
115
+ P as default
116
+ };
@@ -0,0 +1,25 @@
1
+ import{d as f}from"./demonstrable-B5KAWPKX.js";import{t as h}from"./translatable-DbFxNJLL.js";import v from"./alert-CfN-KK4X.js";import{_,a as r,b as o,w as n,r as s,o as a,F as l,g as x,h as y,e as b,t as p,f as w,k,l as B,i as S,d as c}from"./index-BQmFywQ4.js";import"./composable-CshUTKfl.js";const $={"page.component.alert.default":"Default alert","page.component.alert.error":"Error custom alert","page.component.alert.success":"Success custom alert","page.component.alert.warning":"Warning custom alert","page.component.alert.text-2":"Advanced alert","page.component.alert.doc.prop.disabled":"Binds the disabled state","page.component.alert.doc.prop.icon":"Class name of the icon to prepend","page.component.alert.doc.prop.loading":"Binds the loading state","page.component.alert.doc.prop.text":"Text content of the alert","page.component.alert.doc.prop.layout":"The alert layout: [error, success, warning]","page.component.card.doc.slot.default":"Default slot content"},V={},C={en:$,fr:V},i={examples:[{markup:`
2
+ <vui-alert
3
+ icon="fa-solid fa-warning"
4
+ >
5
+ Default alert
6
+ </vui-alert>
7
+ `,props:{id:"vui-alert-1",icon:"fa-solid fa-warning"},text:"page.component.alert.default"},{markup:`
8
+ <vui-alert
9
+ icon="fa-solid fa-bug"
10
+ text="Error custom alert"
11
+ layout="error"
12
+ />
13
+ `,props:{id:"vui-alert-2",icon:"fa-solid fa-bug",layout:"error",text:"page.component.alert.error"}},{markup:`
14
+ <vui-alert
15
+ icon="fa-solid fa-check"
16
+ text="Success custom alert"
17
+ layout="success"
18
+ />
19
+ `,props:{id:"vui-alert-2",icon:"fa-solid fa-check",layout:"success",text:"page.component.alert.success"}},{markup:`
20
+ <vui-alert
21
+ icon="fa-solid fa-warning"
22
+ text="Warning custom alert"
23
+ layout="warning"
24
+ />
25
+ `,props:{id:"vui-alert-2",icon:"fa-solid fa-warning",layout:"warning",text:"page.component.alert.warning"}}],props:[{tag:"disabled",type:"Boolean",text:"page.component.alert.doc.prop.disabled"},{tag:"icon",type:"String",text:"page.component.alert.doc.prop.icon"},{tag:"loading",type:"Boolean",text:"page.component.alert.doc.prop.loading"},{tag:"text",type:"String",text:"page.component.alert.doc.prop.text"},{tag:"layout",type:"String",text:"page.component.alert.doc.prop.layout"}],slots:[{name:"default",text:"page.component.alert.doc.slot.default"}]},D={name:"ViewAlert",mixins:[f],setup(){return h(C),{}},computed:{doc(){return i},examples(){return this.docExamples(v,{attrs:i.attrs,examples:i.examples.map(e=>({...e,props:{...e.props,text:e.props.text?this.$t(e.props.text):null}}))})}}},T={class:"view-alert"},E=["innerHTML"],H={class:"title"},N={class:"title"};function P(e,A,L,F,M,m){const d=s("vui-grid-unit"),u=s("vui-table"),g=s("vui-grid");return a(),r("div",T,[o(g,{"col-sm":"1","col-md":"2"},{default:n(()=>[o(d,{class:"examples"},{default:n(()=>[(a(!0),r(l,null,x(m.examples,t=>(a(),r(l,{key:`card-${t.props.id}`},[(a(),y(S(t.component),k(B(t.props)),{default:n(()=>[t.text?(a(),r(l,{key:0},[b(p(e.$t(t.text)),1)],64)):w("",!0)]),_:2},1040)),c("div",{class:"highlighted-code",innerHTML:t.highlighted},null,8,E)],64))),128))]),_:1}),o(d,{class:"api-options"},{default:n(()=>[c("h2",H,p(e.$t("page.component.h2.api")),1),o(u,{"item-label":"label","item-value":"value",headers:e.docPropsHeaders,items:e.docProps},null,8,["headers","items"]),c("h2",N,p(e.$t("page.component.h2.slots")),1),o(u,{"item-label":"label","item-value":"value",headers:e.docSlotsHeaders,items:e.docSlots},null,8,["headers","items"])]),_:1})]),_:1})])}const G=_(D,[["render",P]]);export{G as default};
@@ -0,0 +1 @@
1
+ .text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loading{0%{left:0;opacity:1}50%{left:70%;opacity:0}to{left:0;opacity:1}}.vui-alert{display:inline-flex;color:#545e64;background-color:#d9dcde;border:1px solid rgb(189,195,199);border-radius:.25rem;position:relative;width:100%;padding:.75rem}.vui-alert.vui-alert--default{color:#000;background-color:#fff;border:1px solid rgb(189,195,199)}.vui-alert.vui-alert--default .vui-alert-icon:before{color:#000}.vui-alert.vui-alert--default.vui-alert--loading .vui-alert-loader{background-color:#000}.vui-alert.vui-alert--error{color:#960e13;background-color:#f37d81;border:1px solid rgb(234,32,39)}.vui-alert.vui-alert--error .vui-alert-icon:before{color:#960e13}.vui-alert.vui-alert--error.vui-alert--loading .vui-alert-loader{background-color:#960e13}.vui-alert.vui-alert--success{color:#145b32;background-color:#60db94;border:1px solid rgb(39,174,96)}.vui-alert.vui-alert--success .vui-alert-icon:before{color:#145b32}.vui-alert.vui-alert--warning{color:#976008;background-color:#f8c573;border:1px solid rgb(243,156,18)}.vui-alert.vui-alert--warning .vui-alert-icon:before{color:#976008}.vui-alert .vui-alert-icon{font-size:1rem;margin-right:.75rem}.vui-alert .vui-alert-icon:before{color:#869198}
@@ -0,0 +1 @@
1
+ import{c as n}from"./composable-CshUTKfl.js";import{t as r}from"./translatable-DbFxNJLL.js";import{_ as i,a as o,j as s,n as t,o as a,f as l,e as p,t as c}from"./index-BQmFywQ4.js";const d={},m={},u={en:d,fr:m},f={icon:{type:String},text:{type:String}},$={name:"VuiAlert",mixins:[n],props:f,created(){r(u)}},y=["id"];function g(e,v,S,V,k,b){return a(),o("div",{id:e.componentId,class:t(["vui-alert",`vui-alert--${e.layout}`,e.$props.class])},[s(e.$slots,"prepend"),s(e.$slots,"icon",{},()=>[e.icon?(a(),o("i",{key:0,class:t(["vui-alert-icon",e.icon])},null,2)):l("",!0)]),s(e.$slots,"default",{},()=>[p(c(e.text),1)]),s(e.$slots,"append")],10,y)}const C=i($,[["render",g]]);export{C as default};
@@ -0,0 +1 @@
1
+ const i={duration:125},s={data(){return{toggled:!1,animating:!1}},created(){this.$bus.on("outclick",t=>{this.toggled&&this.componentGroupId!==t&&this.blur()})},methods:{animate(){this.animating||(this.animating=!0,setTimeout(()=>{this.animating=!1},i.duration))},blur(){this.toggled=!1},focus(){this.toggled=!0,this.$bus.emit("outclick",this.componentGroupId)},onAnimate(t=null){this.animate(),t||t===null&&!this.toggled?this.focus():this.blur()}}};export{s as a};
@@ -0,0 +1 @@
1
+ .text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loading{0%{left:0;opacity:1}50%{left:70%;opacity:0}to{left:0;opacity:1}}
@@ -0,0 +1 @@
1
+ import{a as d}from"./animable-S5zFcxd4.js";import{c as r}from"./composable-CshUTKfl.js";import{_ as p,a as i,j as o,d as l,n,f as b,p as m,o as a,e as c,t as f}from"./index-BQmFywQ4.js";import{t as h}from"./translatable-DbFxNJLL.js";const g={},v={},y={en:g,fr:v},$={icon:{type:String},route:{type:Object},text:{type:String},type:{type:String,default:"button"}},k={name:"VuiButton",mixins:[d,r],props:$,computed:{hasLabel(){var t;return((t=this.text)==null?void 0:t.length)>0||this.$slots.default}},created(){h(y)},methods:{onClick(){this.disabled||(this.onAnimate(),this.route&&this.$router.push(this.route))}}},C=["id"],B=["disabled","type"],S=l("div",{class:"vui-button-loader"},null,-1);function V(t,s,w,N,j,e){return a(),i("div",{id:t.componentId,class:n(["vui-button",`vui-button--${t.layout}`,{"vui-button--flat":t.hasAttribute("flat")},{"vui-button--with-label":e.hasLabel},{"vui-button--with-icon":t.icon},{"vui-button--toggled":t.toggled},{"vui-button--animating":!t.disabled&&t.animating},{"vui-button--loading":!t.disabled&&t.loading},{"vui-button--disabled":t.disabled},t.$props.class]),onClick:s[0]||(s[0]=m((...u)=>e.onClick&&e.onClick(...u),["stop"]))},[o(t.$slots,"prepend"),l("button",{class:"vui-button-holder",disabled:t.disabled,type:t.type},[t.icon?(a(),i("i",{key:0,class:n(["vui-button-icon",t.icon])},null,2)):b("",!0),o(t.$slots,"default",{},()=>[c(f(t.text),1)])],8,B),S,o(t.$slots,"append")],10,C)}const E=p(k,[["render",V]]);export{E as default};