@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
@@ -0,0 +1,286 @@
1
+ import { a as w } from "./animable-DnFaMPYA.js";
2
+ import { _ as L, c as S, t as I } from "./_plugin-vue_export-helper-BSl1dQT6.js";
3
+ import { openBlock as n, createElementBlock as o, normalizeClass as h, renderSlot as c, createTextVNode as f, toDisplayString as b, createCommentVNode as m, createElementVNode as v, Fragment as y, renderList as V, withModifiers as C } from "vue";
4
+ import "highlight.js";
5
+ function p(e) {
6
+ return e != null && typeof e == "object" && e["@@functional/placeholder"] === !0;
7
+ }
8
+ function g(e) {
9
+ return function t(i) {
10
+ return arguments.length === 0 || p(i) ? t : e.apply(this, arguments);
11
+ };
12
+ }
13
+ function j(e) {
14
+ return function t(i, r) {
15
+ switch (arguments.length) {
16
+ case 0:
17
+ return t;
18
+ case 1:
19
+ return p(i) ? t : g(function(a) {
20
+ return e(i, a);
21
+ });
22
+ default:
23
+ return p(i) && p(r) ? t : p(i) ? g(function(a) {
24
+ return e(a, r);
25
+ }) : p(r) ? g(function(a) {
26
+ return e(i, a);
27
+ }) : e(i, r);
28
+ }
29
+ };
30
+ }
31
+ var G = /* @__PURE__ */ j(function(t, i) {
32
+ for (var r = {}, a = {}, s = 0, l = t.length; s < l; )
33
+ a[t[s]] = 1, s += 1;
34
+ for (var u in i)
35
+ a.hasOwnProperty(u) || (r[u] = i[u]);
36
+ return r;
37
+ });
38
+ const A = {}, B = {}, K = {
39
+ en: A,
40
+ fr: B
41
+ }, N = {
42
+ autoclose: {
43
+ type: Boolean,
44
+ default: !0
45
+ },
46
+ disableFiltering: {
47
+ type: Boolean,
48
+ default: !1
49
+ },
50
+ expanded: {
51
+ type: Boolean,
52
+ default: !1
53
+ },
54
+ keyword: {
55
+ type: String
56
+ },
57
+ items: {
58
+ type: Array,
59
+ required: !0
60
+ },
61
+ itemLabel: {
62
+ type: String,
63
+ default: "label"
64
+ },
65
+ itemValue: {
66
+ type: String,
67
+ default: "value"
68
+ },
69
+ modelValue: {
70
+ default: void 0,
71
+ types: [
72
+ Boolean,
73
+ Number,
74
+ Object,
75
+ String
76
+ ]
77
+ },
78
+ selectable: {
79
+ type: Boolean
80
+ },
81
+ title: {
82
+ type: String
83
+ },
84
+ value: {
85
+ default: void 0,
86
+ types: [
87
+ Boolean,
88
+ Number,
89
+ Object,
90
+ String
91
+ ]
92
+ }
93
+ }, O = {
94
+ name: "VuiList",
95
+ mixins: [
96
+ w,
97
+ S
98
+ ],
99
+ props: N,
100
+ emits: ["update:model-value"],
101
+ data() {
102
+ return {
103
+ last: null,
104
+ open: {},
105
+ selected: null
106
+ };
107
+ },
108
+ computed: {
109
+ hasKeyword() {
110
+ var e;
111
+ return !this.disableFiltering && ((e = this.keyword) == null ? void 0 : e.length);
112
+ },
113
+ list() {
114
+ return this.items.reduce((e, t) => (this.isGroup(t) ? e.push({
115
+ ...t,
116
+ $$id: this.newId(),
117
+ value: t[this.itemValue].reduce((i, r) => !this.hasKeyword || this.match(r) ? [...i, this.mapItem(r, this.newId())] : i, [])
118
+ }) : (!this.hasKeyword || this.match(t)) && e.push(this.mapItem(t, this.newId())), e), []);
119
+ }
120
+ },
121
+ watch: {
122
+ items() {
123
+ this.autoexpand();
124
+ },
125
+ modelValue(e) {
126
+ this.selected = this.mapItem(e);
127
+ },
128
+ value(e) {
129
+ this.selected = this.mapItem(e);
130
+ }
131
+ },
132
+ created() {
133
+ I(K), this.hasModelValue ? this.selected = this.mapItem(this.modelValue) : this.hasValue && (this.selected = this.mapItem(this.value)), this.autoexpand();
134
+ },
135
+ methods: {
136
+ autoexpand() {
137
+ this.open = this.items.reduce((e, t, i) => {
138
+ if (this.isGroup(t)) {
139
+ const a = t[this.itemValue].findIndex((s) => this.isSelected(s));
140
+ if (this.expanded || a > -1)
141
+ return { ...e, [i]: !0 };
142
+ }
143
+ return e;
144
+ }, {});
145
+ },
146
+ isAnimating(e) {
147
+ const { animating: t, last: i } = this;
148
+ return i === e && t;
149
+ },
150
+ isGroup(e) {
151
+ return Array.isArray(e == null ? void 0 : e[this.itemValue]);
152
+ },
153
+ isObject(e) {
154
+ const t = this.itemValue;
155
+ return this.isGroup(e) ? typeof e[t][0] == "object" : typeof e == "object";
156
+ },
157
+ isSelected(e) {
158
+ return !e.disabled && typeof this.selected < "u" ? typeof e == "object" ? this.selected && this.selected[this.itemValue] === e[this.itemValue] : this.selected && this.selected === e : !1;
159
+ },
160
+ isToggled(e) {
161
+ const { last: t, open: i, toggled: r } = this;
162
+ return t === e && i[e] && r;
163
+ },
164
+ match(e) {
165
+ return typeof e == "object" ? `${e[this.itemLabel]}`.includes(this.keyword) : `${e}`.includes(this.keyword);
166
+ },
167
+ mapItem(e, t) {
168
+ const i = typeof e == "object" ? e : { [this.itemLabel]: e, [this.itemValue]: e };
169
+ return t ? { ...i, $$id: t } : i;
170
+ },
171
+ onClick(e) {
172
+ if (!this.disabled && this.selectable) {
173
+ const t = G(["$$id"], e), i = this.isObject(t) && this.hasAttribute("return-object") ? t : t[this.itemValue];
174
+ this.selected = this.isSelected(t) ? null : t, t.route && this.$router.push(t.route), this.$emit("update:model-value", i);
175
+ }
176
+ },
177
+ onToggle(e) {
178
+ this.disabled || (this.last = e, this.autoclose ? this.open = { [e]: !this.open[e] } : this.open[e] = !this.open[e], this.onAnimate(this.open[e]));
179
+ }
180
+ }
181
+ }, T = ["id"], $ = {
182
+ key: 0,
183
+ class: "vui-list-title"
184
+ }, F = { class: "vui-list-items" }, E = ["onClick"], M = ["onClick"], P = ["onClick"];
185
+ function q(e, t, i, r, a, s) {
186
+ return n(), o("div", {
187
+ id: e.componentId,
188
+ class: h([
189
+ "vui-list",
190
+ { "vui-list--flat": e.hasAttribute("flat") },
191
+ e.$props.class
192
+ ])
193
+ }, [
194
+ c(e.$slots, "prepend"),
195
+ e.title ? (n(), o("div", $, [
196
+ c(e.$slots, "placeholder", { item: e.title }, () => [
197
+ f(b(e.title), 1)
198
+ ])
199
+ ])) : m("", !0),
200
+ v("div", F, [
201
+ (n(!0), o(y, null, V(s.list, (l, u) => (n(), o("div", {
202
+ key: l.$$id,
203
+ class: h([
204
+ { "vui-list-items-item": !s.isGroup(l) },
205
+ { "vui-list-items-group-item": s.isGroup(l) }
206
+ ])
207
+ }, [
208
+ s.isGroup(l) ? m("", !0) : (n(), o("div", {
209
+ key: 0,
210
+ class: h([
211
+ { "vui-list-items-item-label": !s.isGroup(l) },
212
+ { "vui-list-items-item-label--selectable": e.selectable },
213
+ { "vui-list-items-item-label--selected": s.isSelected(l) }
214
+ ]),
215
+ onClick: () => s.onClick(l)
216
+ }, [
217
+ l.icon ? (n(), o("i", {
218
+ key: 0,
219
+ class: h([
220
+ "vui-list-items-item-label-icon",
221
+ l.icon
222
+ ])
223
+ }, null, 2)) : m("", !0),
224
+ c(e.$slots, "item", {
225
+ index: u,
226
+ item: l,
227
+ itemLabel: e.itemLabel,
228
+ itemValue: e.itemValue
229
+ }, () => [
230
+ f(b(l[e.itemLabel]), 1)
231
+ ])
232
+ ], 10, E)),
233
+ s.isGroup(l) ? (n(), o(y, { key: 1 }, [
234
+ v("div", {
235
+ class: h([
236
+ "vui-list-items-item-group-label",
237
+ { "vui-list-items-item-group-label--toggled": s.isToggled(u) },
238
+ { "vui-list-items-item-group-label--animating": s.isAnimating(u) },
239
+ { "vui-list-items-item-group-label--open": a.open[u] || s.hasKeyword }
240
+ ]),
241
+ onClick: C(() => s.onToggle(u), ["stop"])
242
+ }, [
243
+ c(e.$slots, "group-item", {
244
+ index: u,
245
+ item: l,
246
+ itemLabel: e.itemLabel,
247
+ itemValue: e.itemValue
248
+ }, () => [
249
+ f(b(l[e.itemLabel]), 1)
250
+ ])
251
+ ], 10, M),
252
+ a.open[u] || s.hasKeyword ? (n(!0), o(y, { key: 0 }, V(l[e.itemValue], (d, k) => (n(), o("div", {
253
+ key: d.$$id,
254
+ class: h([
255
+ "vui-list-items-item-label",
256
+ { "vui-list-items-item-label--selectable": e.selectable },
257
+ { "vui-list-items-item-label--selected": s.isSelected(d) }
258
+ ]),
259
+ onClick: () => s.onClick(d)
260
+ }, [
261
+ d.icon ? (n(), o("i", {
262
+ key: 0,
263
+ class: h([
264
+ "vui-list-items-item-label-icon",
265
+ d.icon
266
+ ])
267
+ }, null, 2)) : m("", !0),
268
+ c(e.$slots, "item", {
269
+ index: k,
270
+ item: d,
271
+ itemLabel: e.itemLabel,
272
+ itemValue: e.itemValue
273
+ }, () => [
274
+ f(b(d[e.itemLabel]), 1)
275
+ ])
276
+ ], 10, P))), 128)) : m("", !0)
277
+ ], 64)) : m("", !0)
278
+ ], 2))), 128))
279
+ ]),
280
+ c(e.$slots, "append")
281
+ ], 10, T);
282
+ }
283
+ const Q = /* @__PURE__ */ L(O, [["render", q]]);
284
+ export {
285
+ Q as default
286
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./animable-ChJEXlsE.js"),m=require("./_plugin-vue_export-helper-DeDoBcDj.js"),t=require("vue");require("highlight.js");function c(e){return e!=null&&typeof e=="object"&&e["@@functional/placeholder"]===!0}function d(e){return function l(i){return arguments.length===0||c(i)?l:e.apply(this,arguments)}}function f(e){return function l(i,o){switch(arguments.length){case 0:return l;case 1:return c(i)?l:d(function(a){return e(i,a)});default:return c(i)&&c(o)?l:c(i)?d(function(a){return e(a,o)}):c(o)?d(function(a){return e(i,a)}):e(i,o)}}}var b=f(function(l,i){for(var o={},a={},s=0,r=l.length;s<r;)a[l[s]]=1,s+=1;for(var n in i)a.hasOwnProperty(n)||(o[n]=i[n]);return o});const y={},g={},k={en:y,fr:g},V={autoclose:{type:Boolean,default:!0},disableFiltering:{type:Boolean,default:!1},expanded:{type:Boolean,default:!1},keyword:{type:String},items:{type:Array,required:!0},itemLabel:{type:String,default:"label"},itemValue:{type:String,default:"value"},modelValue:{default:void 0,types:[Boolean,Number,Object,String]},selectable:{type:Boolean},title:{type:String},value:{default:void 0,types:[Boolean,Number,Object,String]}},v={name:"VuiList",mixins:[p.animable,m.composable],props:V,emits:["update:model-value"],data(){return{last:null,open:{},selected:null}},computed:{hasKeyword(){var e;return!this.disableFiltering&&((e=this.keyword)==null?void 0:e.length)},list(){return this.items.reduce((e,l)=>(this.isGroup(l)?e.push({...l,$$id:this.newId(),value:l[this.itemValue].reduce((i,o)=>!this.hasKeyword||this.match(o)?[...i,this.mapItem(o,this.newId())]:i,[])}):(!this.hasKeyword||this.match(l))&&e.push(this.mapItem(l,this.newId())),e),[])}},watch:{items(){this.autoexpand()},modelValue(e){this.selected=this.mapItem(e)},value(e){this.selected=this.mapItem(e)}},created(){m.translatable(k),this.hasModelValue?this.selected=this.mapItem(this.modelValue):this.hasValue&&(this.selected=this.mapItem(this.value)),this.autoexpand()},methods:{autoexpand(){this.open=this.items.reduce((e,l,i)=>{if(this.isGroup(l)){const a=l[this.itemValue].findIndex(s=>this.isSelected(s));if(this.expanded||a>-1)return{...e,[i]:!0}}return e},{})},isAnimating(e){const{animating:l,last:i}=this;return i===e&&l},isGroup(e){return Array.isArray(e==null?void 0:e[this.itemValue])},isObject(e){const l=this.itemValue;return this.isGroup(e)?typeof e[l][0]=="object":typeof e=="object"},isSelected(e){return!e.disabled&&typeof this.selected<"u"?typeof e=="object"?this.selected&&this.selected[this.itemValue]===e[this.itemValue]:this.selected&&this.selected===e:!1},isToggled(e){const{last:l,open:i,toggled:o}=this;return l===e&&i[e]&&o},match(e){return typeof e=="object"?`${e[this.itemLabel]}`.includes(this.keyword):`${e}`.includes(this.keyword)},mapItem(e,l){const i=typeof e=="object"?e:{[this.itemLabel]:e,[this.itemValue]:e};return l?{...i,$$id:l}:i},onClick(e){if(!this.disabled&&this.selectable){const l=b(["$$id"],e),i=this.isObject(l)&&this.hasAttribute("return-object")?l:l[this.itemValue];this.selected=this.isSelected(l)?null:l,l.route&&this.$router.push(l.route),this.$emit("update:model-value",i)}},onToggle(e){this.disabled||(this.last=e,this.autoclose?this.open={[e]:!this.open[e]}:this.open[e]=!this.open[e],this.onAnimate(this.open[e]))}}},B=["id"],S={key:0,class:"vui-list-title"},C={class:"vui-list-items"},w=["onClick"],L=["onClick"],N=["onClick"];function E(e,l,i,o,a,s){return t.openBlock(),t.createElementBlock("div",{id:e.componentId,class:t.normalizeClass(["vui-list",{"vui-list--flat":e.hasAttribute("flat")},e.$props.class])},[t.renderSlot(e.$slots,"prepend"),e.title?(t.openBlock(),t.createElementBlock("div",S,[t.renderSlot(e.$slots,"placeholder",{item:e.title},()=>[t.createTextVNode(t.toDisplayString(e.title),1)])])):t.createCommentVNode("",!0),t.createElementVNode("div",C,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.list,(r,n)=>(t.openBlock(),t.createElementBlock("div",{key:r.$$id,class:t.normalizeClass([{"vui-list-items-item":!s.isGroup(r)},{"vui-list-items-group-item":s.isGroup(r)}])},[s.isGroup(r)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass([{"vui-list-items-item-label":!s.isGroup(r)},{"vui-list-items-item-label--selectable":e.selectable},{"vui-list-items-item-label--selected":s.isSelected(r)}]),onClick:()=>s.onClick(r)},[r.icon?(t.openBlock(),t.createElementBlock("i",{key:0,class:t.normalizeClass(["vui-list-items-item-label-icon",r.icon])},null,2)):t.createCommentVNode("",!0),t.renderSlot(e.$slots,"item",{index:n,item:r,itemLabel:e.itemLabel,itemValue:e.itemValue},()=>[t.createTextVNode(t.toDisplayString(r[e.itemLabel]),1)])],10,w)),s.isGroup(r)?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createElementVNode("div",{class:t.normalizeClass(["vui-list-items-item-group-label",{"vui-list-items-item-group-label--toggled":s.isToggled(n)},{"vui-list-items-item-group-label--animating":s.isAnimating(n)},{"vui-list-items-item-group-label--open":a.open[n]||s.hasKeyword}]),onClick:t.withModifiers(()=>s.onToggle(n),["stop"])},[t.renderSlot(e.$slots,"group-item",{index:n,item:r,itemLabel:e.itemLabel,itemValue:e.itemValue},()=>[t.createTextVNode(t.toDisplayString(r[e.itemLabel]),1)])],10,L),a.open[n]||s.hasKeyword?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(r[e.itemValue],(u,h)=>(t.openBlock(),t.createElementBlock("div",{key:u.$$id,class:t.normalizeClass(["vui-list-items-item-label",{"vui-list-items-item-label--selectable":e.selectable},{"vui-list-items-item-label--selected":s.isSelected(u)}]),onClick:()=>s.onClick(u)},[u.icon?(t.openBlock(),t.createElementBlock("i",{key:0,class:t.normalizeClass(["vui-list-items-item-label-icon",u.icon])},null,2)):t.createCommentVNode("",!0),t.renderSlot(e.$slots,"item",{index:h,item:u,itemLabel:e.itemLabel,itemValue:e.itemValue},()=>[t.createTextVNode(t.toDisplayString(u[e.itemLabel]),1)])],10,N))),128)):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2))),128))]),t.renderSlot(e.$slots,"append")],10,B)}const I=m._export_sfc(v,[["render",E]]);exports.default=I;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./_plugin-vue_export-helper-DeDoBcDj.js"),e=require("vue");require("highlight.js");const r=require("./alert-CbdNaLvd.js"),s={"component.loader.text":"It's loading..."},l={},a={en:s,fr:l},i={icon:{type:String,default:"fa-sharp fa-solid fa-spinner"},text:{type:String}},d={name:"VuiLoader",components:{VuiAlert:r.default},mixins:[t.composable],props:i,created(){t.translatable(a)}},p={class:"vui-loader-body"};function u(o,f,m,$,v,S){const n=e.resolveComponent("vui-alert");return e.openBlock(),e.createBlock(n,{id:o.componentId,class:e.normalizeClass(["vui-loader",`vui-loader--${o.layout}`,{"vui-loader--flat":o.hasAttribute("flat")},o.$props.class])},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"prepend"),e.renderSlot(o.$slots,"icon",{},()=>[e.createElementVNode("i",{class:e.normalizeClass(["vui-loader-icon",o.icon])},null,2)]),e.renderSlot(o.$slots,"default",{},()=>[e.createElementVNode("span",p,e.toDisplayString(o.text?o.text:o.$t("component.loader.text")),1)]),e.renderSlot(o.$slots,"append")]),_:3},8,["id","class"])}const c=t._export_sfc(d,[["render",u]]);exports.default=c;
@@ -0,0 +1,60 @@
1
+ import { _ as n, c as r, t as l } from "./_plugin-vue_export-helper-BSl1dQT6.js";
2
+ import { resolveComponent as i, openBlock as p, createBlock as d, normalizeClass as t, withCtx as c, renderSlot as e, createElementVNode as s, toDisplayString as m } from "vue";
3
+ import "highlight.js";
4
+ import u from "./alert-CL20mS-E.js";
5
+ const f = {
6
+ "component.loader.text": "It's loading..."
7
+ }, $ = {}, v = {
8
+ en: f,
9
+ fr: $
10
+ }, g = {
11
+ icon: {
12
+ type: String,
13
+ default: "fa-sharp fa-solid fa-spinner"
14
+ },
15
+ text: {
16
+ type: String
17
+ }
18
+ }, h = {
19
+ name: "VuiLoader",
20
+ components: {
21
+ VuiAlert: u
22
+ },
23
+ mixins: [
24
+ r
25
+ ],
26
+ props: g,
27
+ created() {
28
+ l(v);
29
+ }
30
+ }, y = { class: "vui-loader-body" };
31
+ function b(o, S, C, V, _, k) {
32
+ const a = i("vui-alert");
33
+ return p(), d(a, {
34
+ id: o.componentId,
35
+ class: t([
36
+ "vui-loader",
37
+ `vui-loader--${o.layout}`,
38
+ { "vui-loader--flat": o.hasAttribute("flat") },
39
+ o.$props.class
40
+ ])
41
+ }, {
42
+ default: c(() => [
43
+ e(o.$slots, "prepend"),
44
+ e(o.$slots, "icon", {}, () => [
45
+ s("i", {
46
+ class: t(["vui-loader-icon", o.icon])
47
+ }, null, 2)
48
+ ]),
49
+ e(o.$slots, "default", {}, () => [
50
+ s("span", y, m(o.text ? o.text : o.$t("component.loader.text")), 1)
51
+ ]),
52
+ e(o.$slots, "append")
53
+ ]),
54
+ _: 3
55
+ }, 8, ["id", "class"]);
56
+ }
57
+ const z = /* @__PURE__ */ n(h, [["render", b]]);
58
+ export {
59
+ z as default
60
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./button-D5bD4vAv.js"),s=require("./_plugin-vue_export-helper-DeDoBcDj.js"),e=require("vue");require("highlight.js");const d={"component.button.close":"Close"},c={},u={en:d,fr:c},m={loading:{type:Boolean},modelValue:{default:void 0,type:Boolean},showFooter:{type:Boolean},showFooterClose:{type:Boolean},showHeader:{type:Boolean},showHeaderClose:{type:Boolean},title:{type:String},value:{default:void 0,type:Boolean}},h={name:"VuiModal",components:{VuiButton:a.default},mixins:[s.composable],props:m,emits:["update:model-value"],data(){return{isVisible:!1}},computed:{isHeaderVisible(){return this.$slots.header||this.showHeader||this.showHeaderClose},isFooterVisible(){return this.$slots.footer||this.showFooter||this.showFooterClose}},watch:{modelValue(o){this.isVisible=o},value(o){this.isVisible=o}},created(){s.translatable(u),this.hasModelValue?this.isVisible=this.modelValue:this.hasValue&&(this.isVisible=this.value)},methods:{onToggle(){this.disabled||(this.isVisible=!this.isVisible,this.$emit("update:model-value",this.isVisible))}}},p=["id"],V={class:"vui-modal-content"},b={key:0,class:"vui-modal-content-header"},k={key:0,class:"vui-modal-content-header-title"},f={key:1,class:"vui-modal-content-body"},B={key:2,class:"vui-modal-content-footer"};function v(o,l,C,g,i,t){const n=e.resolveComponent("vui-button");return i.isVisible?(e.openBlock(),e.createElementBlock("div",{key:0,id:o.componentId,class:e.normalizeClass(["vui-modal",o.$props.class])},[e.renderSlot(o.$slots,"prepend"),e.createElementVNode("div",V,[t.isHeaderVisible?(e.openBlock(),e.createElementBlock("div",b,[o.title?(e.openBlock(),e.createElementBlock("span",k,e.toDisplayString(o.title),1)):e.createCommentVNode("",!0),o.showHeaderClose?(e.openBlock(),e.createElementBlock("i",{key:1,class:"fa-regular fa-circle-xmark",onClick:l[0]||(l[0]=(...r)=>t.onToggle&&t.onToggle(...r))})):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"header")])):e.createCommentVNode("",!0),o.$slots.body||o.$slots.default?(e.openBlock(),e.createElementBlock("div",f,[e.renderSlot(o.$slots,"body"),e.renderSlot(o.$slots,"default")])):e.createCommentVNode("",!0),t.isFooterVisible?(e.openBlock(),e.createElementBlock("div",B,[o.showHeaderClose?(e.openBlock(),e.createBlock(n,{key:0,text:o.$t("component.button.close"),onClick:t.onToggle},null,8,["text","onClick"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"footer")])):e.createCommentVNode("",!0)]),e.renderSlot(o.$slots,"append")],10,p)):e.createCommentVNode("",!0)}const y=s._export_sfc(h,[["render",v]]);exports.default=y;
@@ -0,0 +1,126 @@
1
+ import u from "./button-Dall4PZ6.js";
2
+ import { _ as h, c as m, t as c } from "./_plugin-vue_export-helper-BSl1dQT6.js";
3
+ import { resolveComponent as p, openBlock as o, createElementBlock as t, normalizeClass as f, renderSlot as l, createElementVNode as b, toDisplayString as V, createCommentVNode as s, createBlock as v } from "vue";
4
+ import "highlight.js";
5
+ const y = {
6
+ "component.button.close": "Close"
7
+ }, k = {}, g = {
8
+ en: y,
9
+ fr: k
10
+ }, C = {
11
+ loading: {
12
+ type: Boolean
13
+ },
14
+ modelValue: {
15
+ default: void 0,
16
+ type: Boolean
17
+ },
18
+ showFooter: {
19
+ type: Boolean
20
+ },
21
+ showFooterClose: {
22
+ type: Boolean
23
+ },
24
+ showHeader: {
25
+ type: Boolean
26
+ },
27
+ showHeaderClose: {
28
+ type: Boolean
29
+ },
30
+ title: {
31
+ type: String
32
+ },
33
+ value: {
34
+ default: void 0,
35
+ type: Boolean
36
+ }
37
+ }, w = {
38
+ name: "VuiModal",
39
+ components: {
40
+ VuiButton: u
41
+ },
42
+ mixins: [
43
+ m
44
+ ],
45
+ props: C,
46
+ emits: ["update:model-value"],
47
+ data() {
48
+ return {
49
+ isVisible: !1
50
+ };
51
+ },
52
+ computed: {
53
+ isHeaderVisible() {
54
+ return this.$slots.header || this.showHeader || this.showHeaderClose;
55
+ },
56
+ isFooterVisible() {
57
+ return this.$slots.footer || this.showFooter || this.showFooterClose;
58
+ }
59
+ },
60
+ watch: {
61
+ modelValue(e) {
62
+ this.isVisible = e;
63
+ },
64
+ value(e) {
65
+ this.isVisible = e;
66
+ }
67
+ },
68
+ created() {
69
+ c(g), this.hasModelValue ? this.isVisible = this.modelValue : this.hasValue && (this.isVisible = this.value);
70
+ },
71
+ methods: {
72
+ onToggle() {
73
+ this.disabled || (this.isVisible = !this.isVisible, this.$emit("update:model-value", this.isVisible));
74
+ }
75
+ }
76
+ }, B = ["id"], $ = { class: "vui-modal-content" }, H = {
77
+ key: 0,
78
+ class: "vui-modal-content-header"
79
+ }, _ = {
80
+ key: 0,
81
+ class: "vui-modal-content-header-title"
82
+ }, F = {
83
+ key: 1,
84
+ class: "vui-modal-content-body"
85
+ }, T = {
86
+ key: 2,
87
+ class: "vui-modal-content-footer"
88
+ };
89
+ function S(e, a, E, M, n, i) {
90
+ const r = p("vui-button");
91
+ return n.isVisible ? (o(), t("div", {
92
+ key: 0,
93
+ id: e.componentId,
94
+ class: f(["vui-modal", e.$props.class])
95
+ }, [
96
+ l(e.$slots, "prepend"),
97
+ b("div", $, [
98
+ i.isHeaderVisible ? (o(), t("div", H, [
99
+ e.title ? (o(), t("span", _, V(e.title), 1)) : s("", !0),
100
+ e.showHeaderClose ? (o(), t("i", {
101
+ key: 1,
102
+ class: "fa-regular fa-circle-xmark",
103
+ onClick: a[0] || (a[0] = (...d) => i.onToggle && i.onToggle(...d))
104
+ })) : s("", !0),
105
+ l(e.$slots, "header")
106
+ ])) : s("", !0),
107
+ e.$slots.body || e.$slots.default ? (o(), t("div", F, [
108
+ l(e.$slots, "body"),
109
+ l(e.$slots, "default")
110
+ ])) : s("", !0),
111
+ i.isFooterVisible ? (o(), t("div", T, [
112
+ e.showHeaderClose ? (o(), v(r, {
113
+ key: 0,
114
+ text: e.$t("component.button.close"),
115
+ onClick: i.onToggle
116
+ }, null, 8, ["text", "onClick"])) : s("", !0),
117
+ l(e.$slots, "footer")
118
+ ])) : s("", !0)
119
+ ]),
120
+ l(e.$slots, "append")
121
+ ], 10, B)) : s("", !0);
122
+ }
123
+ const j = /* @__PURE__ */ h(w, [["render", S]]);
124
+ export {
125
+ j as default
126
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./list-BkZK3xVW.js"),i=require("./_plugin-vue_export-helper-DeDoBcDj.js"),e=require("vue");require("highlight.js");const p={},v={},f={en:p,fr:v},h={items:{type:Array,required:!0},itemLabel:{type:String},itemValue:{type:String},modelValue:{default:void 0,types:[Boolean,Number,Object,String]},showIcons:{type:Boolean,default:!0},value:{default:void 0,types:[Boolean,Number,Object,String]}},b={name:"VuiNav",components:{VuiList:m.default},mixins:[i.composable],props:h,emits:["update:model-value"],data(){return{selected:null}},watch:{modelValue(t){this.selected=t},value(t){this.selected=t}},created(){i.translatable(f),this.hasModelValue?this.selected=this.modelValue:this.hasValue&&(this.selected=this.value)},methods:{onClick(t){this.disabled||this.$emit("update:model-value",t)}}},V=["id"],k={key:1,class:"vui-list-items-item-label-text"};function y(t,n,B,C,r,u){const d=e.resolveComponent("router-link"),c=e.resolveComponent("vui-list");return e.openBlock(),e.createElementBlock("div",{id:t.componentId,class:e.normalizeClass(["vui-nav",{"vui-nav--flat":t.hasAttribute("flat")},t.$props.class])},[e.renderSlot(t.$slots,"prepend"),e.createVNode(c,{modelValue:r.selected,"onUpdate:modelValue":[n[0]||(n[0]=o=>r.selected=o),u.onClick],class:"vui-nav-list","group-id":t.componentGroupId,disabled:t.disabled,"item-label":t.itemLabel,"item-value":t.itemValue,items:t.items,selectable:!t.disabled},{item:e.withCtx(({index:o,item:l,itemValue:s,itemLabel:a})=>[e.renderSlot(t.$slots,"item",{index:o,item:l,itemLabel:a,itemValue:s},()=>[t.showIcons?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(["fa-solid",{"fa-location-dot":!o},{"fa-chevron-right":o}])},null,2)):e.createCommentVNode("",!0),l.route?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",k,e.toDisplayString(s?l[a]:l),1)),l.route?(e.openBlock(),e.createBlock(d,{key:2,to:l.route,class:"vui-list-items-item-label-text"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s?l[a]:l),1)]),_:2},1032,["to"])):e.createCommentVNode("",!0)])]),_:3},8,["modelValue","group-id","disabled","item-label","item-value","items","selectable","onUpdate:modelValue"]),e.renderSlot(t.$slots,"append")],10,V)}const g=i._export_sfc(b,[["render",y]]);exports.default=g;
@@ -0,0 +1,142 @@
1
+ import V from "./list-BH719nj8.js";
2
+ import { _ as y, c as k, t as g } from "./_plugin-vue_export-helper-BSl1dQT6.js";
3
+ import { resolveComponent as m, openBlock as s, createElementBlock as i, normalizeClass as c, renderSlot as n, createVNode as N, withCtx as p, createCommentVNode as r, toDisplayString as f, createBlock as B, createTextVNode as C } from "vue";
4
+ import "highlight.js";
5
+ const S = {}, _ = {}, $ = {
6
+ en: S,
7
+ fr: _
8
+ }, w = {
9
+ items: {
10
+ type: Array,
11
+ required: !0
12
+ },
13
+ itemLabel: {
14
+ type: String
15
+ },
16
+ itemValue: {
17
+ type: String
18
+ },
19
+ modelValue: {
20
+ default: void 0,
21
+ types: [
22
+ Boolean,
23
+ Number,
24
+ Object,
25
+ String
26
+ ]
27
+ },
28
+ showIcons: {
29
+ type: Boolean,
30
+ default: !0
31
+ },
32
+ value: {
33
+ default: void 0,
34
+ types: [
35
+ Boolean,
36
+ Number,
37
+ Object,
38
+ String
39
+ ]
40
+ }
41
+ }, I = {
42
+ name: "VuiNav",
43
+ components: {
44
+ VuiList: V
45
+ },
46
+ mixins: [
47
+ k
48
+ ],
49
+ props: w,
50
+ emits: ["update:model-value"],
51
+ data() {
52
+ return {
53
+ selected: null
54
+ };
55
+ },
56
+ watch: {
57
+ modelValue(e) {
58
+ this.selected = e;
59
+ },
60
+ value(e) {
61
+ this.selected = e;
62
+ }
63
+ },
64
+ created() {
65
+ g($), this.hasModelValue ? this.selected = this.modelValue : this.hasValue && (this.selected = this.value);
66
+ },
67
+ methods: {
68
+ onClick(e) {
69
+ this.disabled || this.$emit("update:model-value", e);
70
+ }
71
+ }
72
+ }, j = ["id"], A = {
73
+ key: 1,
74
+ class: "vui-list-items-item-label-text"
75
+ };
76
+ function L(e, d, O, U, u, v) {
77
+ const h = m("router-link"), b = m("vui-list");
78
+ return s(), i("div", {
79
+ id: e.componentId,
80
+ class: c([
81
+ "vui-nav",
82
+ { "vui-nav--flat": e.hasAttribute("flat") },
83
+ e.$props.class
84
+ ])
85
+ }, [
86
+ n(e.$slots, "prepend"),
87
+ N(b, {
88
+ modelValue: u.selected,
89
+ "onUpdate:modelValue": [
90
+ d[0] || (d[0] = (l) => u.selected = l),
91
+ v.onClick
92
+ ],
93
+ class: "vui-nav-list",
94
+ "group-id": e.componentGroupId,
95
+ disabled: e.disabled,
96
+ "item-label": e.itemLabel,
97
+ "item-value": e.itemValue,
98
+ items: e.items,
99
+ selectable: !e.disabled
100
+ }, {
101
+ item: p(({
102
+ index: l,
103
+ item: t,
104
+ itemValue: o,
105
+ itemLabel: a
106
+ }) => [
107
+ n(e.$slots, "item", {
108
+ index: l,
109
+ item: t,
110
+ itemLabel: a,
111
+ itemValue: o
112
+ }, () => [
113
+ e.showIcons ? (s(), i("i", {
114
+ key: 0,
115
+ class: c([
116
+ "fa-solid",
117
+ { "fa-location-dot": !l },
118
+ { "fa-chevron-right": l }
119
+ ])
120
+ }, null, 2)) : r("", !0),
121
+ t.route ? r("", !0) : (s(), i("span", A, f(o ? t[a] : t), 1)),
122
+ t.route ? (s(), B(h, {
123
+ key: 2,
124
+ to: t.route,
125
+ class: "vui-list-items-item-label-text"
126
+ }, {
127
+ default: p(() => [
128
+ C(f(o ? t[a] : t), 1)
129
+ ]),
130
+ _: 2
131
+ }, 1032, ["to"])) : r("", !0)
132
+ ])
133
+ ]),
134
+ _: 3
135
+ }, 8, ["modelValue", "group-id", "disabled", "item-label", "item-value", "items", "selectable", "onUpdate:modelValue"]),
136
+ n(e.$slots, "append")
137
+ ], 10, j);
138
+ }
139
+ const G = /* @__PURE__ */ y(I, [["render", L]]);
140
+ export {
141
+ G as default
142
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./animable-ChJEXlsE.js"),t=require("./_plugin-vue_export-helper-DeDoBcDj.js"),e=require("vue");require("highlight.js");const a={},i={},d={en:a,fr:i},c={name:"VuiPage",mixins:[n.animable,t.composable],created(){t.translatable(d)},methods:{outclick(){this.$bus.emit("outclick",this.componentGroupId)}}},u=["id"],p={key:0,class:"vui-page-header"},m={key:1,class:"vui-page-body"},k={key:2,class:"vui-page-footer"};function $(o,s,g,v,b,r){return e.openBlock(),e.createElementBlock("div",{id:o.componentId,class:e.normalizeClass(["vui-page",`vui-page--${o.layout}`,{"vui-page--flat":o.hasAttribute("flat")},o.$props.class]),onClick:s[0]||(s[0]=(...l)=>r.outclick&&r.outclick(...l))},[e.renderSlot(o.$slots,"prepend"),o.$slots.header?(e.openBlock(),e.createElementBlock("div",p,[e.renderSlot(o.$slots,"header")])):e.createCommentVNode("",!0),o.$slots.body||o.$slots.default?(e.openBlock(),e.createElementBlock("div",m,[e.renderSlot(o.$slots,"body"),e.renderSlot(o.$slots,"default")])):e.createCommentVNode("",!0),o.$slots.footer?(e.openBlock(),e.createElementBlock("div",k,[e.renderSlot(o.$slots,"footer")])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"append")],10,u)}const f=t._export_sfc(c,[["render",$]]);exports.default=f;