@mozaic-ds/vue 1.0.0-beta.3 → 1.0.0-beta.4

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 (179) hide show
  1. package/LICENSE +51 -0
  2. package/README.md +218 -84
  3. package/dist/mozaic-vue.css +1 -1
  4. package/dist/mozaic-vue.d.ts +920 -0
  5. package/dist/mozaic-vue.js +877 -0
  6. package/dist/mozaic-vue.js.map +1 -0
  7. package/dist/mozaic-vue.umd.cjs +2 -0
  8. package/dist/mozaic-vue.umd.cjs.map +1 -0
  9. package/env.d.ts +1 -0
  10. package/package.json +80 -50
  11. package/src/components/Contributing.mdx +118 -0
  12. package/src/components/GettingStarted.mdx +39 -0
  13. package/src/components/Introduction.mdx +54 -0
  14. package/src/components/Support.mdx +18 -0
  15. package/src/components/badge/MBadge.spec.ts +16 -0
  16. package/src/components/badge/MBadge.stories.ts +50 -0
  17. package/src/components/badge/MBadge.vue +36 -34
  18. package/src/components/button/MButton.spec.ts +191 -0
  19. package/src/components/button/MButton.stories.ts +66 -0
  20. package/src/components/button/MButton.vue +98 -154
  21. package/src/components/checkbox/MCheckbox.spec.ts +104 -0
  22. package/src/components/checkbox/MCheckbox.stories.ts +83 -0
  23. package/src/components/checkbox/MCheckbox.vue +60 -101
  24. package/src/components/checkboxgroup/MCheckboxGroup.spec.ts +78 -0
  25. package/src/components/checkboxgroup/MCheckboxGroup.stories.ts +61 -0
  26. package/src/components/checkboxgroup/MCheckboxGroup.vue +97 -0
  27. package/src/components/field/MField.spec.ts +166 -0
  28. package/src/components/field/MField.stories.ts +376 -0
  29. package/src/components/field/MField.vue +78 -61
  30. package/src/components/fieldgroup/MFieldGroup.spec.ts +165 -0
  31. package/src/components/fieldgroup/MFieldGroup.stories.ts +274 -0
  32. package/src/components/fieldgroup/MFieldGroup.vue +79 -0
  33. package/src/components/iconbutton/MIconButton.spec.ts +108 -0
  34. package/src/components/iconbutton/MIconButton.stories.ts +66 -0
  35. package/src/components/iconbutton/MIconButton.vue +73 -0
  36. package/src/components/link/MLink.spec.ts +154 -0
  37. package/src/components/link/MLink.stories.ts +98 -0
  38. package/src/components/link/MLink.vue +86 -109
  39. package/src/components/loader/MLoader.spec.ts +104 -0
  40. package/src/components/loader/MLoader.stories.ts +45 -0
  41. package/src/components/loader/MLoader.vue +65 -55
  42. package/src/components/overlay/MOverlay.spec.ts +51 -0
  43. package/src/components/overlay/MOverlay.stories.ts +40 -0
  44. package/src/components/overlay/MOverlay.vue +27 -19
  45. package/src/components/quantityselector/MQuantitySelector.spec.ts +262 -0
  46. package/src/components/quantityselector/MQuantitySelector.stories.ts +89 -0
  47. package/src/components/quantityselector/MQuantitySelector.vue +160 -136
  48. package/src/components/radio/MRadio.spec.ts +104 -0
  49. package/src/components/radio/MRadio.stories.ts +68 -0
  50. package/src/components/radio/MRadio.vue +56 -39
  51. package/src/components/radiogroup/MRadioGroup.spec.ts +54 -0
  52. package/src/components/radiogroup/MRadioGroup.stories.ts +61 -0
  53. package/src/components/radiogroup/MRadioGroup.vue +79 -0
  54. package/src/components/select/MSelect.spec.ts +114 -0
  55. package/src/components/select/MSelect.stories.ts +101 -0
  56. package/src/components/select/MSelect.vue +77 -119
  57. package/src/components/statusbadge/MStatusBadge.stories.ts +45 -0
  58. package/src/components/statusbadge/MStatusBadge.vue +40 -0
  59. package/src/components/statusbadge/MStatusDot.vue +32 -0
  60. package/src/components/statusbadge/MstatusBadge.spec.ts +16 -0
  61. package/src/components/textarea/MTextArea.spec.ts +112 -0
  62. package/src/components/textarea/MTextArea.stories.ts +67 -0
  63. package/src/components/textarea/MTextArea.vue +81 -42
  64. package/src/components/textinput/MTextInput.spec.ts +121 -0
  65. package/src/components/textinput/MTextInput.stories.ts +114 -0
  66. package/src/components/textinput/MTextInput.vue +127 -47
  67. package/src/components/toggle/MToggle.spec.ts +99 -0
  68. package/src/components/toggle/MToggle.stories.ts +68 -0
  69. package/src/components/toggle/MToggle.vue +63 -103
  70. package/src/components/usingIcons.mdx +43 -0
  71. package/src/components/usingPresets.mdx +125 -0
  72. package/src/main.ts +39 -0
  73. package/dist/demo.html +0 -1
  74. package/dist/mozaic-vue.adeo.css +0 -45
  75. package/dist/mozaic-vue.adeo.umd.js +0 -41775
  76. package/dist/mozaic-vue.common.js +0 -41765
  77. package/dist/mozaic-vue.common.js.map +0 -1
  78. package/dist/mozaic-vue.umd.js +0 -41776
  79. package/dist/mozaic-vue.umd.js.map +0 -1
  80. package/dist/mozaic-vue.umd.min.js +0 -4
  81. package/dist/mozaic-vue.umd.min.js.map +0 -1
  82. package/postinstall.js +0 -3
  83. package/src/components/accordion/MAccordion.vue +0 -128
  84. package/src/components/accordion/index.js +0 -7
  85. package/src/components/autocomplete/MAutocomplete.vue +0 -198
  86. package/src/components/autocomplete/index.js +0 -7
  87. package/src/components/badge/index.js +0 -7
  88. package/src/components/breadcrumb/MBreadcrumb.vue +0 -73
  89. package/src/components/breadcrumb/index.js +0 -7
  90. package/src/components/button/index.js +0 -7
  91. package/src/components/card/MCard.vue +0 -78
  92. package/src/components/card/index.js +0 -7
  93. package/src/components/checkbox/MCheckboxGroup.vue +0 -155
  94. package/src/components/checkbox/index.js +0 -12
  95. package/src/components/container/MContainer.vue +0 -33
  96. package/src/components/container/index.js +0 -7
  97. package/src/components/datatable/MDataTable.vue +0 -651
  98. package/src/components/datatable/MDataTableHeader.vue +0 -55
  99. package/src/components/datatable/MDataTableTop.vue +0 -35
  100. package/src/components/datatable/helpers.js +0 -132
  101. package/src/components/datatable/index.js +0 -12
  102. package/src/components/field/index.js +0 -7
  103. package/src/components/fileuploader/MFileResult.vue +0 -149
  104. package/src/components/fileuploader/MFileUploader.vue +0 -142
  105. package/src/components/fileuploader/index.js +0 -7
  106. package/src/components/flag/MFlag.vue +0 -46
  107. package/src/components/flag/index.js +0 -7
  108. package/src/components/heading/MHeading.vue +0 -75
  109. package/src/components/heading/index.js +0 -7
  110. package/src/components/hero/MHero.vue +0 -93
  111. package/src/components/hero/index.js +0 -7
  112. package/src/components/icon/MIcon.vue +0 -120
  113. package/src/components/icon/index.js +0 -7
  114. package/src/components/index.js +0 -43
  115. package/src/components/layer/MLayer.vue +0 -208
  116. package/src/components/layer/index.js +0 -7
  117. package/src/components/link/index.js +0 -7
  118. package/src/components/listbox/MListBox.vue +0 -106
  119. package/src/components/listbox/index.js +0 -7
  120. package/src/components/loader/index.js +0 -7
  121. package/src/components/modal/MModal.vue +0 -179
  122. package/src/components/modal/index.js +0 -7
  123. package/src/components/notification/MNotification.vue +0 -110
  124. package/src/components/notification/index.js +0 -7
  125. package/src/components/optionbutton/MOptionButton.vue +0 -67
  126. package/src/components/optionbutton/index.js +0 -7
  127. package/src/components/optioncard/MOptionCard.vue +0 -132
  128. package/src/components/optioncard/index.js +0 -7
  129. package/src/components/optiongroup/MOptionGroup.vue +0 -18
  130. package/src/components/optiongroup/index.js +0 -7
  131. package/src/components/overlay/MOverlayLoader.vue +0 -43
  132. package/src/components/overlay/index.js +0 -12
  133. package/src/components/pagination/MPagination.vue +0 -162
  134. package/src/components/pagination/index.js +0 -7
  135. package/src/components/passwordinput/MPasswordInput.vue +0 -96
  136. package/src/components/passwordinput/index.js +0 -7
  137. package/src/components/phonenumber/MPhoneNumber.vue +0 -390
  138. package/src/components/phonenumber/index.js +0 -7
  139. package/src/components/progressbar/MProgress.vue +0 -102
  140. package/src/components/progressbar/index.js +0 -7
  141. package/src/components/quantityselector/index.js +0 -7
  142. package/src/components/radio/MRadioGroup.vue +0 -111
  143. package/src/components/radio/index.js +0 -12
  144. package/src/components/ratingstars/MStarsInput.vue +0 -118
  145. package/src/components/ratingstars/MStarsResult.vue +0 -89
  146. package/src/components/ratingstars/index.js +0 -12
  147. package/src/components/select/index.js +0 -7
  148. package/src/components/stepper/MStepper.vue +0 -70
  149. package/src/components/stepper/index.js +0 -7
  150. package/src/components/tabs/MTab.vue +0 -184
  151. package/src/components/tabs/index.js +0 -7
  152. package/src/components/tags/MTag.vue +0 -173
  153. package/src/components/tags/index.js +0 -7
  154. package/src/components/textarea/index.js +0 -7
  155. package/src/components/textinput/MTextInputField.vue +0 -105
  156. package/src/components/textinput/MTextInputIcon.vue +0 -42
  157. package/src/components/textinput/index.js +0 -7
  158. package/src/components/toggle/index.js +0 -7
  159. package/src/components/tooltip/MTooltip.vue +0 -42
  160. package/src/components/tooltip/index.js +0 -7
  161. package/src/index.js +0 -62
  162. package/src/shims-tsx.d.ts +0 -13
  163. package/src/shims.vue.d.ts +0 -4
  164. package/src/tokens/adeo/android/colors.xml +0 -391
  165. package/src/tokens/adeo/android/font_dimens.xml +0 -18
  166. package/src/tokens/adeo/css/_variables.scss +0 -385
  167. package/src/tokens/adeo/css/root.scss +0 -387
  168. package/src/tokens/adeo/ios/StyleDictionaryColor.h +0 -399
  169. package/src/tokens/adeo/ios/StyleDictionaryColor.m +0 -411
  170. package/src/tokens/adeo/ios/StyleDictionaryColor.swift +0 -394
  171. package/src/tokens/adeo/ios/StyleDictionarySize.h +0 -69
  172. package/src/tokens/adeo/ios/StyleDictionarySize.m +0 -70
  173. package/src/tokens/adeo/ios/StyleDictionarySize.swift +0 -71
  174. package/src/tokens/adeo/js/tokens.js +0 -483
  175. package/src/tokens/adeo/js/tokensObject.js +0 -10354
  176. package/src/tokens/adeo/scss/_tokens.scss +0 -1300
  177. package/src/utils/mozaicClasses.js +0 -16
  178. package/src/utils/theme.validator.js +0 -19
  179. package/types/index.d.ts +0 -100
@@ -0,0 +1,877 @@
1
+ import { defineComponent as f, computed as m, createElementBlock as n, openBlock as l, normalizeClass as y, toDisplayString as h, createElementVNode as r, createCommentVNode as v, renderSlot as $, createVNode as V, normalizeStyle as L, createTextVNode as I, mergeProps as g, ref as B, watch as C, Fragment as M, renderList as z, createBlock as w, resolveDynamicComponent as O, withCtx as T, withDirectives as j, vModelText as q } from "vue";
2
+ const S = /* @__PURE__ */ f({
3
+ __name: "MBadge",
4
+ props: {
5
+ label: {},
6
+ appearance: { default: "standard" },
7
+ size: { default: "s" }
8
+ },
9
+ setup(o) {
10
+ const a = o, t = m(() => ({
11
+ [`mc-badge--${a.appearance}`]: a.appearance && a.appearance != "standard",
12
+ [`mc-badge--${a.size}`]: a.size && a.size != "s"
13
+ }));
14
+ return (e, i) => (l(), n("span", {
15
+ class: y(["mc-badge", t.value])
16
+ }, h(e.label), 3));
17
+ }
18
+ }), _ = (o, a) => {
19
+ const t = o.__vccOpts || o;
20
+ for (const [e, i] of a)
21
+ t[e] = i;
22
+ return t;
23
+ }, ma = /* @__PURE__ */ _(S, [["__scopeId", "data-v-b427cc61"]]), P = { class: "mc-loader__spinner" }, F = ["viewBox"], D = ["r"], G = {
24
+ key: 0,
25
+ class: "mc-loader__text",
26
+ role: "status"
27
+ }, R = /* @__PURE__ */ f({
28
+ __name: "MLoader",
29
+ props: {
30
+ appearance: { default: "standard" },
31
+ size: { default: "m" },
32
+ text: {}
33
+ },
34
+ setup(o) {
35
+ const a = o, t = m(() => ({
36
+ [`mc-loader--${a.size}`]: a.size && a.size !== "m",
37
+ [`mc-loader--${a.appearance}`]: a.appearance && a.appearance !== "standard"
38
+ })), e = m(() => {
39
+ let s;
40
+ switch (a.size) {
41
+ case "s":
42
+ s = "0 0 24 24";
43
+ break;
44
+ case "l":
45
+ s = "0 0 64 64";
46
+ break;
47
+ default:
48
+ s = "0 0 32 32";
49
+ }
50
+ return s;
51
+ }), i = m(() => {
52
+ let s;
53
+ switch (a.size) {
54
+ case "s":
55
+ s = 6;
56
+ break;
57
+ case "l":
58
+ s = 19;
59
+ break;
60
+ default:
61
+ s = 9;
62
+ }
63
+ return s;
64
+ });
65
+ return (s, u) => (l(), n("div", {
66
+ class: y(["mc-loader", t.value])
67
+ }, [
68
+ r("span", P, [
69
+ (l(), n("svg", {
70
+ class: "mc-loader__icon",
71
+ xmlns: "http://www.w3.org/2000/svg",
72
+ viewBox: e.value,
73
+ "aria-hidden": "true"
74
+ }, [
75
+ r("circle", {
76
+ class: "mc-loader__path",
77
+ cx: "50%",
78
+ cy: "50%",
79
+ r: i.value
80
+ }, null, 8, D)
81
+ ], 8, F))
82
+ ]),
83
+ s.text ? (l(), n("p", G, h(s.text), 1)) : v("", !0)
84
+ ], 2));
85
+ }
86
+ }), N = /* @__PURE__ */ _(R, [["__scopeId", "data-v-56c66912"]]), U = ["disabled", "type"], Z = {
87
+ key: 0,
88
+ class: "mc-button__icon"
89
+ }, A = {
90
+ key: 1,
91
+ class: "mc-button__icon",
92
+ style: { position: "absolute" }
93
+ }, E = {
94
+ key: 2,
95
+ class: "mc-button__icon"
96
+ }, H = {
97
+ key: 4,
98
+ class: "mc-button__icon"
99
+ }, Q = /* @__PURE__ */ f({
100
+ __name: "MButton",
101
+ props: {
102
+ appearance: { default: "standard" },
103
+ size: { default: "m" },
104
+ disabled: { type: Boolean },
105
+ ghost: { type: Boolean },
106
+ outlined: { type: Boolean },
107
+ iconPosition: {},
108
+ type: { default: "button" },
109
+ isLoading: { type: Boolean }
110
+ },
111
+ setup(o) {
112
+ const a = o, t = m(() => ({
113
+ [`mc-button--${a.appearance}`]: a.appearance && a.appearance != "standard",
114
+ [`mc-button--${a.size}`]: a.size && a.size != "m",
115
+ "mc-button--ghost": a.ghost,
116
+ "mc-button--outlined": a.outlined,
117
+ "mc-button--icon-only": a.iconPosition == "only"
118
+ }));
119
+ return (e, i) => (l(), n("button", {
120
+ class: y(["mc-button", t.value]),
121
+ disabled: e.disabled,
122
+ type: e.type
123
+ }, [
124
+ e.$slots.icon && e.iconPosition == "left" && !e.isLoading ? (l(), n("span", Z, [
125
+ $(e.$slots, "icon", {}, void 0, !0)
126
+ ])) : v("", !0),
127
+ e.isLoading ? (l(), n("span", A, [
128
+ V(N, {
129
+ style: { color: "currentColor" },
130
+ size: "s"
131
+ })
132
+ ])) : v("", !0),
133
+ e.$slots.icon && e.iconPosition == "only" ? (l(), n("span", E, [
134
+ $(e.$slots, "icon", {}, void 0, !0)
135
+ ])) : (l(), n("span", {
136
+ key: 3,
137
+ class: "mc-button__label",
138
+ style: L({ visibility: e.isLoading ? "hidden" : "visible" })
139
+ }, [
140
+ $(e.$slots, "default", {}, () => [
141
+ i[0] || (i[0] = I("Button Label"))
142
+ ], !0)
143
+ ], 4)),
144
+ e.$slots.icon && e.iconPosition == "right" && !e.isLoading ? (l(), n("span", H, [
145
+ $(e.$slots, "icon", {}, void 0, !0)
146
+ ])) : v("", !0)
147
+ ], 10, U));
148
+ }
149
+ }), _a = /* @__PURE__ */ _(Q, [["__scopeId", "data-v-f4f43ab6"]]), J = { class: "mc-checkbox" }, K = ["id", "name", "checked", "indeterminate", "disabled", "aria-invalid"], W = ["for"], X = /* @__PURE__ */ f({
150
+ __name: "MCheckbox",
151
+ props: {
152
+ id: {},
153
+ name: {},
154
+ label: {},
155
+ modelValue: { type: Boolean },
156
+ indeterminate: { type: Boolean },
157
+ isInvalid: { type: Boolean },
158
+ disabled: { type: Boolean }
159
+ },
160
+ emits: ["update:modelValue"],
161
+ setup(o, { emit: a }) {
162
+ const t = o, e = m(() => ({
163
+ "is-invalid": t.isInvalid
164
+ })), i = a;
165
+ return (s, u) => (l(), n("div", J, [
166
+ r("input", g({
167
+ id: s.id,
168
+ type: "checkbox",
169
+ class: ["mc-checkbox__input", e.value],
170
+ name: s.name,
171
+ checked: s.modelValue,
172
+ indeterminate: s.indeterminate,
173
+ disabled: s.disabled,
174
+ "aria-invalid": s.isInvalid
175
+ }, s.$attrs, {
176
+ onChange: u[0] || (u[0] = (c) => i("update:modelValue", c.target.checked))
177
+ }), null, 16, K),
178
+ s.label ? (l(), n("label", {
179
+ key: 0,
180
+ for: s.id,
181
+ class: "mc-checkbox__label"
182
+ }, h(s.label), 9, W)) : v("", !0)
183
+ ]));
184
+ }
185
+ }), Y = /* @__PURE__ */ _(X, [["__scopeId", "data-v-37fd0a35"]]), x = /* @__PURE__ */ f({
186
+ __name: "MCheckboxGroup",
187
+ props: {
188
+ name: {},
189
+ modelValue: {},
190
+ options: {},
191
+ inline: { type: Boolean }
192
+ },
193
+ emits: ["update:modelValue"],
194
+ setup(o, { emit: a }) {
195
+ const t = o, e = B([]);
196
+ C(
197
+ () => t.modelValue,
198
+ (p) => {
199
+ e.value = p || [];
200
+ },
201
+ { immediate: !0 }
202
+ );
203
+ const i = (p, d) => {
204
+ let b = [...e.value];
205
+ p && !b.includes(d) ? b.push(d) : b = b.filter((k) => k !== d), c("update:modelValue", b), e.value = b;
206
+ }, s = m(() => ({
207
+ "mc-field__container--inline": t.inline
208
+ })), u = m(() => ({
209
+ "mc-field__container--inline__item": t.inline
210
+ })), c = a;
211
+ return (p, d) => (l(), n("div", {
212
+ class: y(["mc-field__container", s.value])
213
+ }, [
214
+ (l(!0), n(M, null, z(p.options, (b) => (l(), w(Y, {
215
+ id: b.id,
216
+ key: b.id,
217
+ label: b.label,
218
+ "is-invalid": b.isInvalid,
219
+ name: p.name,
220
+ class: y(["mc-field__item", u.value]),
221
+ "model-value": p.modelValue ? p.modelValue.includes(b.value) : void 0,
222
+ disabled: b.disabled,
223
+ "onUpdate:modelValue": (k) => i(k, b.value)
224
+ }, null, 8, ["id", "label", "is-invalid", "name", "class", "model-value", "disabled", "onUpdate:modelValue"]))), 128))
225
+ ], 2));
226
+ }
227
+ }), va = /* @__PURE__ */ _(x, [["__scopeId", "data-v-51af53d0"]]), ee = { class: "mc-field" }, ae = ["for"], se = {
228
+ key: 0,
229
+ class: "mc-field__requirement"
230
+ }, te = ["id"], le = { class: "mc-field__content" }, ne = ["id"], oe = /* @__PURE__ */ f({
231
+ __name: "MField",
232
+ props: {
233
+ id: {},
234
+ label: {},
235
+ requirementText: {},
236
+ helpText: {},
237
+ helpId: {},
238
+ isValid: { type: Boolean },
239
+ isInvalid: { type: Boolean },
240
+ messageId: {},
241
+ message: {}
242
+ },
243
+ setup(o) {
244
+ const a = o, t = m(() => ({
245
+ "is-valid": a.isValid,
246
+ "is-invalid": a.isInvalid
247
+ }));
248
+ return (e, i) => (l(), n("div", ee, [
249
+ r("label", {
250
+ class: "mc-field__label",
251
+ for: e.id
252
+ }, [
253
+ I(h(e.label) + " ", 1),
254
+ e.requirementText ? (l(), n("span", se, "(" + h(e.requirementText) + ")", 1)) : v("", !0)
255
+ ], 8, ae),
256
+ e.helpId && e.helpText ? (l(), n("span", {
257
+ key: 0,
258
+ id: e.helpId,
259
+ class: "mc-field__help"
260
+ }, h(e.helpText), 9, te)) : v("", !0),
261
+ r("div", le, [
262
+ $(e.$slots, "default", {}, void 0, !0)
263
+ ]),
264
+ (e.isValid || e.isInvalid) && e.message ? (l(), n("span", {
265
+ key: 1,
266
+ class: y(["mc-field__validation-message", t.value]),
267
+ id: e.messageId
268
+ }, h(e.message), 11, ne)) : v("", !0)
269
+ ]));
270
+ }
271
+ }), ba = /* @__PURE__ */ _(oe, [["__scopeId", "data-v-ead078c4"]]), ie = { class: "mc-field--group" }, de = ["for"], re = {
272
+ key: 0,
273
+ class: "mc-field__requirement"
274
+ }, ce = {
275
+ key: 0,
276
+ class: "mc-field__help"
277
+ }, ue = { class: "mc-field__content" }, pe = /* @__PURE__ */ f({
278
+ __name: "MFieldGroup",
279
+ props: {
280
+ id: {},
281
+ legend: {},
282
+ requirementText: {},
283
+ helpText: {},
284
+ isValid: { type: Boolean },
285
+ isInvalid: { type: Boolean },
286
+ message: {}
287
+ },
288
+ setup(o) {
289
+ const a = o, t = m(() => ({
290
+ "is-valid": a.isValid,
291
+ "is-invalid": a.isInvalid
292
+ }));
293
+ return (e, i) => (l(), n("fieldset", ie, [
294
+ r("legend", {
295
+ class: "mc-field__legend",
296
+ for: e.id
297
+ }, [
298
+ I(h(e.legend) + " ", 1),
299
+ e.requirementText ? (l(), n("span", re, "(" + h(e.requirementText) + ")", 1)) : v("", !0)
300
+ ], 8, de),
301
+ e.helpText ? (l(), n("span", ce, h(e.helpText), 1)) : v("", !0),
302
+ r("div", ue, [
303
+ $(e.$slots, "default", {}, void 0, !0)
304
+ ]),
305
+ (e.isValid || e.isInvalid) && e.message ? (l(), n("span", {
306
+ key: 1,
307
+ class: y(["mc-field__validation-message", t.value])
308
+ }, h(e.message), 3)) : v("", !0)
309
+ ]));
310
+ }
311
+ }), fa = /* @__PURE__ */ _(pe, [["__scopeId", "data-v-fc0c08dc"]]), me = ["disabled", "type"], _e = { class: "mc-button__icon" }, ve = /* @__PURE__ */ f({
312
+ __name: "MIconButton",
313
+ props: {
314
+ appearance: { default: "standard" },
315
+ size: { default: "m" },
316
+ disabled: { type: Boolean },
317
+ ghost: { type: Boolean },
318
+ outlined: { type: Boolean },
319
+ type: { default: "button" }
320
+ },
321
+ setup(o) {
322
+ const a = o, t = m(() => ({
323
+ [`mc-button--${a.appearance}`]: a.appearance && a.appearance != "standard",
324
+ [`mc-button--${a.size}`]: a.size && a.size != "m",
325
+ "mc-button--ghost": a.ghost,
326
+ "mc-button--outlined": a.outlined
327
+ }));
328
+ return (e, i) => (l(), n("button", {
329
+ class: y(["mc-button mc-button--icon-button", t.value]),
330
+ disabled: e.disabled,
331
+ type: e.type
332
+ }, [
333
+ r("span", _e, [
334
+ $(e.$slots, "icon", {}, void 0, !0)
335
+ ])
336
+ ], 10, me));
337
+ }
338
+ }), ha = /* @__PURE__ */ _(ve, [["__scopeId", "data-v-abf78562"]]), be = {
339
+ key: 0,
340
+ class: "mc-link__icon",
341
+ "aria-hidden": "true"
342
+ }, fe = { class: "mc-link__label" }, he = {
343
+ key: 1,
344
+ class: "mc-link__icon",
345
+ "aria-hidden": "true"
346
+ }, ye = /* @__PURE__ */ f({
347
+ __name: "MLink",
348
+ props: {
349
+ iconPosition: { default: "left" },
350
+ appearance: { default: "standard" },
351
+ size: { default: "s" },
352
+ href: { default: void 0 },
353
+ target: { default: void 0 },
354
+ inline: { type: Boolean },
355
+ router: { type: Boolean }
356
+ },
357
+ setup(o) {
358
+ const a = o, t = m(() => ({
359
+ [`mc-link--${a.appearance}`]: a.appearance && a.appearance != "standard",
360
+ [`mc-link--${a.size}`]: a.size && a.size != "s",
361
+ "mc-link--inline": a.inline,
362
+ "mc-link--stand-alone": !a.inline
363
+ }));
364
+ return (e, i) => (l(), w(O(e.router ? "router-link" : "a"), {
365
+ class: y(["mc-link", t.value]),
366
+ href: e.href,
367
+ target: e.target,
368
+ to: e.router ? e.href : void 0
369
+ }, {
370
+ default: T(() => [
371
+ e.$slots.icon && e.iconPosition == "left" ? (l(), n("span", be, [
372
+ $(e.$slots, "icon", {}, void 0, !0)
373
+ ])) : v("", !0),
374
+ r("span", fe, [
375
+ $(e.$slots, "default", {}, void 0, !0)
376
+ ]),
377
+ e.$slots.icon && e.iconPosition == "right" ? (l(), n("span", he, [
378
+ $(e.$slots, "icon", {}, void 0, !0)
379
+ ])) : v("", !0)
380
+ ]),
381
+ _: 3
382
+ }, 8, ["class", "href", "target", "to"]));
383
+ }
384
+ }), ya = /* @__PURE__ */ _(ye, [["__scopeId", "data-v-ad3d954f"]]), $e = ["aria-labelledby"], ge = /* @__PURE__ */ f({
385
+ __name: "MOverlay",
386
+ props: {
387
+ isVisible: { type: Boolean },
388
+ dialogLabel: {}
389
+ },
390
+ setup(o) {
391
+ return (a, t) => (l(), n("div", {
392
+ class: y(["mc-overlay", { "is-visible": a.isVisible }])
393
+ }, [
394
+ r("div", {
395
+ role: "dialog",
396
+ tabindex: "-1",
397
+ "aria-labelledby": a.dialogLabel
398
+ }, [
399
+ $(a.$slots, "default", {}, void 0, !0)
400
+ ], 8, $e)
401
+ ], 2));
402
+ }
403
+ }), $a = /* @__PURE__ */ _(ge, [["__scopeId", "data-v-db90fdb3"]]), ke = {
404
+ name: "More24",
405
+ props: {
406
+ /**
407
+ * Icon color
408
+ */
409
+ color: {
410
+ type: String,
411
+ default: "currentColor"
412
+ }
413
+ }
414
+ }, Ve = {
415
+ xmlns: "http://www.w3.org/2000/svg",
416
+ viewBox: "0 0 24 24"
417
+ };
418
+ function Ie(o, a, t, e, i, s) {
419
+ return l(), n("svg", Ve, a[0] || (a[0] = [
420
+ r("g", { "clip-path": "url(#a)" }, [
421
+ r("path", {
422
+ "fill-rule": "evenodd",
423
+ d: "M13 5a1 1 0 1 0-2 0v6H5a1 1 0 1 0 0 2h6v6a1 1 0 1 0 2 0v-6h6a1 1 0 1 0 0-2h-6V5Z"
424
+ })
425
+ ], -1),
426
+ r("defs", null, [
427
+ r("clipPath", { id: "a" }, [
428
+ r("rect", {
429
+ width: "24",
430
+ height: "24",
431
+ fill: "#fff"
432
+ })
433
+ ])
434
+ ], -1)
435
+ ]));
436
+ }
437
+ const Be = /* @__PURE__ */ _(ke, [["render", Ie]]), Me = {
438
+ name: "Less24",
439
+ props: {
440
+ /**
441
+ * Icon color
442
+ */
443
+ color: {
444
+ type: String,
445
+ default: "currentColor"
446
+ }
447
+ }
448
+ }, ze = {
449
+ xmlns: "http://www.w3.org/2000/svg",
450
+ viewBox: "0 0 24 24"
451
+ };
452
+ function we(o, a, t, e, i, s) {
453
+ return l(), n("svg", ze, a[0] || (a[0] = [
454
+ r("g", { "clip-path": "url(#a)" }, [
455
+ r("path", {
456
+ "fill-rule": "evenodd",
457
+ d: "M6 12a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Z"
458
+ })
459
+ ], -1),
460
+ r("defs", null, [
461
+ r("clipPath", { id: "a" }, [
462
+ r("rect", {
463
+ width: "24",
464
+ height: "24",
465
+ fill: "#fff"
466
+ })
467
+ ])
468
+ ], -1)
469
+ ]));
470
+ }
471
+ const Ce = /* @__PURE__ */ _(Me, [["render", we]]), Le = ["id", "name", "disabled", "min", "max", "step", "readonly", "aria-invalid", "aria-valuemin", "aria-valuemax", "aria-valuenow"], Oe = ["aria-controls", "disabled"], Te = { class: "mc-quantity-selector__icon" }, je = { class: "mc-quantity-selector__label" }, qe = ["aria-controls", "disabled"], Se = { class: "mc-quantity-selector__icon" }, Pe = { class: "mc-quantity-selector__label" }, Fe = /* @__PURE__ */ f({
472
+ __name: "MQuantitySelector",
473
+ props: {
474
+ id: {},
475
+ name: { default: "quantity-selector-input" },
476
+ modelValue: { default: 1 },
477
+ isInvalid: { type: Boolean },
478
+ disabled: { type: Boolean },
479
+ size: { default: "m" },
480
+ min: { default: 1 },
481
+ max: { default: 100 },
482
+ step: { default: 1 },
483
+ readonly: { type: Boolean },
484
+ incrementlabel: { default: "Increment" },
485
+ decrementLabel: { default: "Decrement" }
486
+ },
487
+ emits: ["update:modelValue"],
488
+ setup(o, { emit: a }) {
489
+ const t = o, e = B(t.modelValue);
490
+ C(e, (d) => {
491
+ d !== t.modelValue && p("update:modelValue", d);
492
+ });
493
+ const i = m(() => ({
494
+ [`mc-quantity-selector--${t.size}`]: t.size && t.size != "m",
495
+ "is-invalid": t.isInvalid
496
+ })), s = () => {
497
+ e.value + t.step <= t.max ? e.value += t.step : e.value = t.max;
498
+ }, u = () => {
499
+ e.value - t.step > t.min ? e.value -= t.step : e.value = t.min;
500
+ }, c = (d) => {
501
+ e.value = d, e.value > t.max && (e.value = t.max), e.value <= t.min && (e.value = t.min), p("update:modelValue", e.value);
502
+ }, p = a;
503
+ return (d, b) => (l(), n("div", {
504
+ class: y(["mc-quantity-selector", i.value])
505
+ }, [
506
+ j(r("input", g({
507
+ id: d.id,
508
+ "onUpdate:modelValue": b[0] || (b[0] = (k) => e.value = k),
509
+ class: "mc-quantity-selector__control",
510
+ type: "number",
511
+ name: d.name,
512
+ disabled: d.disabled,
513
+ min: d.min,
514
+ max: d.max,
515
+ step: d.step,
516
+ readonly: d.readonly,
517
+ "aria-invalid": d.isInvalid,
518
+ "aria-valuemin": d.min,
519
+ "aria-valuemax": d.max,
520
+ "aria-valuenow": e.value
521
+ }, d.$attrs, {
522
+ onChange: b[1] || (b[1] = (k) => c(Number(k.target.value)))
523
+ }), null, 16, Le), [
524
+ [q, e.value]
525
+ ]),
526
+ d.readonly ? v("", !0) : (l(), n("button", {
527
+ key: 0,
528
+ type: "button",
529
+ "aria-controls": d.id,
530
+ class: "mc-quantity-selector__button mc-quantity-selector__button--increase",
531
+ tabindex: "-1",
532
+ disabled: d.disabled || e.value === d.max,
533
+ onClick: s
534
+ }, [
535
+ r("span", Te, [
536
+ V(Be)
537
+ ]),
538
+ r("span", je, h(d.incrementlabel), 1)
539
+ ], 8, Oe)),
540
+ d.readonly ? v("", !0) : (l(), n("button", {
541
+ key: 1,
542
+ type: "button",
543
+ "aria-controls": d.id,
544
+ class: "mc-quantity-selector__button mc-quantity-selector__button--decrease",
545
+ tabindex: "-1",
546
+ disabled: d.disabled || e.value === d.min,
547
+ onClick: u
548
+ }, [
549
+ r("span", Se, [
550
+ V(Ce)
551
+ ]),
552
+ r("span", Pe, h(d.decrementLabel), 1)
553
+ ], 8, qe))
554
+ ], 2));
555
+ }
556
+ }), ga = /* @__PURE__ */ _(Fe, [["__scopeId", "data-v-a732650a"]]), De = { class: "mc-radio" }, Ge = ["id", "name", "checked", "disabled", "aria-invalid"], Re = ["for"], Ne = /* @__PURE__ */ f({
557
+ __name: "MRadio",
558
+ props: {
559
+ id: {},
560
+ name: {},
561
+ label: {},
562
+ modelValue: { type: Boolean },
563
+ isInvalid: { type: Boolean },
564
+ disabled: { type: Boolean }
565
+ },
566
+ emits: ["update:modelValue"],
567
+ setup(o, { emit: a }) {
568
+ const t = o, e = m(() => ({
569
+ "is-invalid": t.isInvalid
570
+ })), i = a;
571
+ return (s, u) => (l(), n("div", De, [
572
+ r("input", g({
573
+ id: s.id,
574
+ type: "radio",
575
+ class: ["mc-radio__input", e.value],
576
+ name: s.name,
577
+ checked: s.modelValue,
578
+ disabled: s.disabled,
579
+ "aria-invalid": s.isInvalid
580
+ }, s.$attrs, {
581
+ onChange: u[0] || (u[0] = (c) => i("update:modelValue", c.target.checked))
582
+ }), null, 16, Ge),
583
+ s.label ? (l(), n("label", {
584
+ key: 0,
585
+ for: s.id,
586
+ class: "mc-radio__label"
587
+ }, h(s.label), 9, Re)) : v("", !0)
588
+ ]));
589
+ }
590
+ }), Ue = /* @__PURE__ */ _(Ne, [["__scopeId", "data-v-da78938c"]]), Ze = /* @__PURE__ */ f({
591
+ __name: "MRadioGroup",
592
+ props: {
593
+ name: {},
594
+ modelValue: {},
595
+ options: {},
596
+ isInvalid: { type: Boolean },
597
+ inline: { type: Boolean }
598
+ },
599
+ emits: ["update:modelValue"],
600
+ setup(o, { emit: a }) {
601
+ const t = o, e = m(() => ({
602
+ "mc-field__container--inline": t.inline
603
+ })), i = m(() => ({
604
+ "mc-field__container--inline__item": t.inline
605
+ })), s = a;
606
+ return (u, c) => (l(), n("div", {
607
+ class: y(["mc-field__container", e.value])
608
+ }, [
609
+ (l(!0), n(M, null, z(u.options, (p) => (l(), w(Ue, {
610
+ id: p.id,
611
+ key: p.id,
612
+ label: p.label,
613
+ "is-invalid": u.isInvalid,
614
+ name: u.name,
615
+ class: y(["mc-field__item", i.value]),
616
+ "model-value": u.modelValue === p.value,
617
+ disabled: p.disabled,
618
+ "onUpdate:modelValue": (d) => d ? s("update:modelValue", p.value) : null
619
+ }, null, 8, ["id", "label", "is-invalid", "name", "class", "model-value", "disabled", "onUpdate:modelValue"]))), 128))
620
+ ], 2));
621
+ }
622
+ }), ka = /* @__PURE__ */ _(Ze, [["__scopeId", "data-v-d2f5e103"]]), Ae = ["id", "name", "value", "disabled"], Ee = {
623
+ key: 0,
624
+ value: "",
625
+ disabled: ""
626
+ }, He = ["value", "disabled"], Qe = /* @__PURE__ */ f({
627
+ __name: "MSelect",
628
+ props: {
629
+ id: {},
630
+ name: {},
631
+ options: {},
632
+ modelValue: {},
633
+ placeholder: {},
634
+ isInvalid: { type: Boolean },
635
+ disabled: { type: Boolean },
636
+ size: { default: "m" },
637
+ readonly: { type: Boolean }
638
+ },
639
+ emits: ["update:modelValue"],
640
+ setup(o, { emit: a }) {
641
+ const t = o, e = m(() => ({
642
+ [`mc-select--${t.size}`]: t.size && t.size != "m",
643
+ "mc-select--readonly": t.readonly,
644
+ "is-invalid": t.isInvalid
645
+ })), i = a;
646
+ return (s, u) => (l(), n("select", g({
647
+ id: s.id,
648
+ class: ["mc-select", e.value],
649
+ name: s.name,
650
+ value: s.modelValue,
651
+ disabled: s.disabled
652
+ }, s.$attrs, {
653
+ onChange: u[0] || (u[0] = (c) => i("update:modelValue", c.target.value))
654
+ }), [
655
+ s.placeholder ? (l(), n("option", Ee, " -- " + h(s.placeholder) + " -- ", 1)) : v("", !0),
656
+ (l(!0), n(M, null, z(s.options, (c, p) => (l(), n("option", g({
657
+ key: p,
658
+ value: c.value,
659
+ ref_for: !0
660
+ }, c.attributes, {
661
+ disabled: c.disabled
662
+ }), h(c.text), 17, He))), 128))
663
+ ], 16, Ae));
664
+ }
665
+ }), Va = /* @__PURE__ */ _(Qe, [["__scopeId", "data-v-68c735e4"]]), Je = /* @__PURE__ */ f({
666
+ __name: "MStatusDot",
667
+ props: {
668
+ appearance: { default: "info" }
669
+ },
670
+ setup(o) {
671
+ const a = o, t = m(() => ({
672
+ [`mc-status-dot--${a.appearance}`]: a.appearance && a.appearance != "info"
673
+ }));
674
+ return (e, i) => (l(), n("span", {
675
+ class: y(["mc-status-dot", t.value])
676
+ }, null, 2));
677
+ }
678
+ }), Ke = /* @__PURE__ */ _(Je, [["__scopeId", "data-v-1d06a91e"]]), We = { class: "mc-status-badge__label" }, Xe = /* @__PURE__ */ f({
679
+ __name: "MStatusBadge",
680
+ props: {
681
+ label: {},
682
+ appearance: { default: "info" }
683
+ },
684
+ setup(o) {
685
+ const a = o, t = m(() => ({
686
+ [`mc-status-badge--${a.appearance}`]: a.appearance && a.appearance != "info"
687
+ }));
688
+ return (e, i) => (l(), n("div", {
689
+ class: y(["mc-status-badge", t.value])
690
+ }, [
691
+ V(Ke, { appearance: e.appearance }, null, 8, ["appearance"]),
692
+ r("span", We, h(e.label), 1)
693
+ ], 2));
694
+ }
695
+ }), Ia = /* @__PURE__ */ _(Xe, [["__scopeId", "data-v-95fd9bb1"]]), Ye = ["id", "aria-invalid", "value", "name", "placeholder", "disabled", "minlength", "maxlength", "rows", "readonly"], xe = /* @__PURE__ */ f({
696
+ __name: "MTextArea",
697
+ props: {
698
+ id: {},
699
+ name: {},
700
+ modelValue: {},
701
+ placeholder: {},
702
+ isInvalid: { type: Boolean },
703
+ disabled: { type: Boolean },
704
+ rows: { default: 2 },
705
+ minLength: {},
706
+ maxLength: {},
707
+ readonly: { type: Boolean }
708
+ },
709
+ emits: ["update:modelValue"],
710
+ setup(o, { emit: a }) {
711
+ const t = o, e = m(() => ({
712
+ "is-invalid": t.isInvalid
713
+ })), i = a;
714
+ return (s, u) => (l(), n("textarea", g({
715
+ id: s.id,
716
+ class: ["mc-textarea", e.value],
717
+ "aria-invalid": s.isInvalid,
718
+ value: s.modelValue,
719
+ name: s.name,
720
+ placeholder: s.placeholder,
721
+ disabled: s.disabled,
722
+ minlength: s.minLength,
723
+ maxlength: s.maxLength,
724
+ rows: s.rows,
725
+ readonly: s.readonly
726
+ }, s.$attrs, {
727
+ onInput: u[0] || (u[0] = (c) => i("update:modelValue", c.target.value))
728
+ }), null, 16, Ye));
729
+ }
730
+ }), Ba = /* @__PURE__ */ _(xe, [["__scopeId", "data-v-8184b69c"]]), ea = {
731
+ name: "CrossCircleFilled24",
732
+ props: {
733
+ /**
734
+ * Icon color
735
+ */
736
+ color: {
737
+ type: String,
738
+ default: "currentColor"
739
+ }
740
+ }
741
+ }, aa = {
742
+ xmlns: "http://www.w3.org/2000/svg",
743
+ viewBox: "0 0 24 24"
744
+ };
745
+ function sa(o, a, t, e, i, s) {
746
+ return l(), n("svg", aa, a[0] || (a[0] = [
747
+ r("path", {
748
+ "fill-rule": "evenodd",
749
+ d: "M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2ZM8.293 8.293a1 1 0 0 1 1.414 0L12 10.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 0-1.414Z"
750
+ }, null, -1)
751
+ ]));
752
+ }
753
+ const ta = /* @__PURE__ */ _(ea, [["render", sa]]), la = {
754
+ key: 0,
755
+ class: "mc-text-input__icon"
756
+ }, na = ["id", "value", "type", "name", "placeholder", "disabled", "aria-invalid", "readonly"], oa = {
757
+ key: 1,
758
+ class: "mc-controls-options"
759
+ }, ia = /* @__PURE__ */ f({
760
+ __name: "MTextInput",
761
+ props: {
762
+ id: {},
763
+ name: {},
764
+ modelValue: {},
765
+ placeholder: {},
766
+ inputType: { default: "text" },
767
+ isInvalid: { type: Boolean },
768
+ disabled: { type: Boolean },
769
+ size: { default: "m" },
770
+ readonly: { type: Boolean },
771
+ isClearable: { type: Boolean },
772
+ clearLabel: { default: "clear content" }
773
+ },
774
+ emits: ["update:modelValue"],
775
+ setup(o, { emit: a }) {
776
+ const t = o, e = m(() => ({
777
+ [`mc-text-input--${t.size}`]: t.size && t.size != "m",
778
+ "is-invalid": t.isInvalid
779
+ })), i = B(t.modelValue), s = () => {
780
+ i.value = "", u("update:modelValue", "");
781
+ }, u = a;
782
+ return (c, p) => (l(), n("div", {
783
+ class: y(["mc-text-input", e.value])
784
+ }, [
785
+ c.$slots.icon ? (l(), n("span", la, [
786
+ $(c.$slots, "icon", {}, void 0, !0)
787
+ ])) : v("", !0),
788
+ r("input", g({
789
+ id: c.id,
790
+ class: "mc-text-input__control",
791
+ value: i.value,
792
+ type: c.inputType,
793
+ name: c.name,
794
+ placeholder: c.placeholder,
795
+ disabled: c.disabled,
796
+ "aria-invalid": c.isInvalid,
797
+ readonly: c.readonly
798
+ }, c.$attrs, {
799
+ onInput: p[0] || (p[0] = (d) => u("update:modelValue", d.target.value))
800
+ }), null, 16, na),
801
+ c.isClearable && i.value ? (l(), n("div", oa, [
802
+ r("button", {
803
+ type: "button",
804
+ class: "mc-controls-options__button",
805
+ onClick: s
806
+ }, [
807
+ V(ta, {
808
+ class: "mc-controls-options__icon",
809
+ "aria-hidden": "true"
810
+ }),
811
+ p[1] || (p[1] = r("span", { class: "mc-controls-options__label" }, "{clearLabel}", -1))
812
+ ])
813
+ ])) : v("", !0)
814
+ ], 2));
815
+ }
816
+ }), Ma = /* @__PURE__ */ _(ia, [["__scopeId", "data-v-38f67338"]]), da = ["for"], ra = ["id", "name", "checked", "disabled"], ca = ["for"], ua = /* @__PURE__ */ f({
817
+ __name: "MToggle",
818
+ props: {
819
+ id: {},
820
+ name: {},
821
+ label: {},
822
+ modelValue: { type: Boolean },
823
+ size: { default: "s" },
824
+ disabled: { type: Boolean }
825
+ },
826
+ emits: ["update:modelValue"],
827
+ setup(o, { emit: a }) {
828
+ const t = o, e = m(() => ({
829
+ [`mc-toggle--${t.size}`]: t.size && t.size != "s"
830
+ })), i = a;
831
+ return (s, u) => (l(), n("div", {
832
+ class: y(["mc-toggle", e.value])
833
+ }, [
834
+ r("label", {
835
+ class: "mc-toggle__container",
836
+ for: s.id
837
+ }, [
838
+ r("input", g({
839
+ id: s.id,
840
+ type: "checkbox",
841
+ class: "mc-toggle__input",
842
+ name: s.name,
843
+ checked: s.modelValue,
844
+ disabled: s.disabled
845
+ }, s.$attrs, {
846
+ onChange: u[0] || (u[0] = (c) => i("update:modelValue", c.target.checked))
847
+ }), null, 16, ra),
848
+ s.label ? (l(), n("span", {
849
+ key: 0,
850
+ for: s.id,
851
+ class: "mc-toggle__label"
852
+ }, h(s.label), 9, ca)) : v("", !0)
853
+ ], 8, da)
854
+ ], 2));
855
+ }
856
+ }), za = /* @__PURE__ */ _(ua, [["__scopeId", "data-v-5be734e7"]]);
857
+ export {
858
+ ma as MBadge,
859
+ _a as MButton,
860
+ Y as MCheckbox,
861
+ va as MCheckboxGroup,
862
+ ba as MField,
863
+ fa as MFieldGroup,
864
+ ha as MIconButton,
865
+ ya as MLink,
866
+ N as MLoader,
867
+ $a as MOverlay,
868
+ ga as MQuantitySelector,
869
+ Ue as MRadio,
870
+ ka as MRadioGroup,
871
+ Va as MSelect,
872
+ Ia as MStatusBadge,
873
+ Ba as MTextArea,
874
+ Ma as MTextInput,
875
+ za as MToggle
876
+ };
877
+ //# sourceMappingURL=mozaic-vue.js.map