@feedmepos/mf-brand-app-builder 0.5.12 → 0.5.14-alpha

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 (134) hide show
  1. package/dist/App-Xo6sYLKN.js +107 -0
  2. package/dist/{AssetsSettings-BRmUNWzU.js → AssetsSettings-GYv5Lgbv.js} +86 -84
  3. package/dist/BaDivider-Cp9gfB4r.js +10 -0
  4. package/dist/BuilderView-DbmdbQY9.js +9346 -0
  5. package/dist/{ButtonGroup-B3ba45VA.js → ButtonGroup-CbW3Lnxj.js} +2 -2
  6. package/dist/{CircularProgress-h90pbjU3.js → CircularProgress-DdblYCtV.js} +4 -4
  7. package/dist/ColorPicker-CD7uePb_.js +590 -0
  8. package/dist/HomeView-3aPMgIRl.js +10 -0
  9. package/dist/{Icon.vue_vue_type_style_index_0_lang-CVCHCcWR.js → Icon.vue_vue_type_style_index_0_lang-BcRjQndc.js} +2 -2
  10. package/dist/{ImageUpload-EpMFyZdg.js → ImageUpload-DbMJq_mi.js} +14 -14
  11. package/dist/{LinkButton-DENsxaU5.js → LinkButton-PteLpFYx.js} +44 -44
  12. package/dist/{ListRepeater-DLracrtI.js → ListRepeater-QEdnv9ML.js} +2 -2
  13. package/dist/{ManagementSettings-BM5Ln-Sx.js → ManagementSettings-A6ZjMlBQ.js} +6 -6
  14. package/dist/ProjectView-BWC0s0Bv.js +509 -0
  15. package/dist/{Select-CbQFoAzb.js → Select-C2r_c4vv.js} +2 -2
  16. package/dist/{SettingsView-DFAxZPug.js → SettingsView-BUGfoZhA.js} +2 -2
  17. package/dist/{StepperField-DrHM9EDn.js → StepperField-xVvcmxNx.js} +2 -2
  18. package/dist/{Switch-8mmNQUDo.js → Switch-uc_zN-mb.js} +2 -2
  19. package/dist/{TextAlign-BOC8ekaH.js → TextAlign-BSp1Xi7F.js} +2 -2
  20. package/dist/{TextDecorators-BJC4umDR.js → TextDecorators-1C54q7us.js} +4 -4
  21. package/dist/{TextField-BiVH5rLX.js → TextField-DfBJB6vQ.js} +2 -2
  22. package/dist/{TextStyleList-CuPE80Py.js → TextStyleList-Bef3irUx.js} +3 -3
  23. package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
  24. package/dist/{app-B1o1qlxh.js → app-DVFhgbmV.js} +42 -33
  25. package/dist/app.js +1 -1
  26. package/dist/components/src/components/BranchList.vue.d.ts +1 -1
  27. package/dist/components/src/components/ButtonList.vue.d.ts +1 -1
  28. package/dist/components/src/components/CountrySwitcher.vue.d.ts +1 -1
  29. package/dist/components/src/components/Homepage.vue.d.ts +5 -3
  30. package/dist/components/src/components/ImageCarousel.vue.d.ts +1 -1
  31. package/dist/components/src/components/ImageDisplay.vue.d.ts +1 -1
  32. package/dist/components/src/components/Member/MemberAchievements.vue.d.ts +33 -0
  33. package/dist/components/src/components/Member/MemberButtonList.vue.d.ts +21 -0
  34. package/dist/components/src/components/Member/MemberCards.vue.d.ts +19 -0
  35. package/dist/components/src/components/Member/MemberSummary.vue.d.ts +24 -0
  36. package/dist/components/src/components/Member/TransactionList.vue.d.ts +5 -0
  37. package/dist/components/src/components/MemberCard.vue.d.ts +1 -1
  38. package/dist/components/src/components/NavigationBar.vue.d.ts +17 -0
  39. package/dist/components/src/components/OrderHistoryCard.vue.d.ts +1 -1
  40. package/dist/components/src/components/OrderMethod.vue.d.ts +1 -1
  41. package/dist/components/src/components/TextDisplay.vue.d.ts +1 -1
  42. package/dist/components/src/components/atoms/Button.vue.d.ts +4 -4
  43. package/dist/components/src/components/atoms/CircularProgress.vue.d.ts +1 -1
  44. package/dist/components/src/components/atoms/Container.vue.d.ts +4 -3
  45. package/dist/components/src/components/atoms/Divider.vue.d.ts +1 -1
  46. package/dist/components/src/components/atoms/Icon.vue.d.ts +1 -1
  47. package/dist/components/src/components/atoms/LinkSlot.vue.d.ts +4 -4
  48. package/dist/components/src/main.d.ts +10 -1
  49. package/dist/components/src/utils/date.d.ts +22 -0
  50. package/dist/components/src/views/OrderDetails.vue.d.ts +1 -1
  51. package/dist/components/src/views/_Credit.vue.d.ts +20 -0
  52. package/dist/components/src/views/_MemberProfile.vue.d.ts +39 -0
  53. package/dist/components/src/views/_Point.vue.d.ts +20 -0
  54. package/dist/components/src/views/_Referral.vue.d.ts +31 -0
  55. package/dist/components/src/views/_ReferralTutorial.vue.d.ts +23 -0
  56. package/dist/{image-Dw_jz8xE.js → image-BTKrdsxd.js} +12 -12
  57. package/dist/index-CVTxYyKn.js +194 -0
  58. package/dist/{index-T23clKe0.js → index-DIGmVQHT.js} +52 -52
  59. package/dist/{index-Dw3CRqw2.js → index-H0Aroxdr.js} +1 -1
  60. package/dist/index-tAs8jqUd.js +1737 -0
  61. package/dist/main-DsKVTvvP.js +7980 -0
  62. package/dist/merchant/src/api/business/index.d.ts +1 -1
  63. package/dist/merchant/src/api/template/index.d.ts +2 -2
  64. package/dist/merchant/src/app.d.ts +1 -1
  65. package/dist/merchant/src/components/atoms/BaButtonGroup.vue.d.ts +1 -1
  66. package/dist/merchant/src/components/atoms/BaDivider.vue.d.ts +1 -1
  67. package/dist/merchant/src/components/editor/Editor.vue.d.ts +1 -1
  68. package/dist/merchant/src/components/editor/EditorFloatingToobar.vue.d.ts +1 -1
  69. package/dist/merchant/src/components/editor/toolbar/EditorToolbar.vue.d.ts +1 -1
  70. package/dist/merchant/src/components/element-sidebar/ElementSidebar.vue.d.ts +1 -1
  71. package/dist/merchant/src/components/inputs/ColorPicker.vue.d.ts +2 -1
  72. package/dist/merchant/src/components/inputs/ImageUpload.vue.d.ts +1 -1
  73. package/dist/merchant/src/components/inputs/TextAlign.vue.d.ts +1 -1
  74. package/dist/merchant/src/components/inputs/TextDecorators.vue.d.ts +1 -1
  75. package/dist/merchant/src/components/inputs/TextStyleList.vue.d.ts +1 -1
  76. package/dist/merchant/src/components/inspector/Inspector.vue.d.ts +1 -1
  77. package/dist/merchant/src/components/inspector/atoms/ConfigSection.vue.d.ts +3 -3
  78. package/dist/merchant/src/components/inspector/atoms/ConfigTab.vue.d.ts +3 -3
  79. package/dist/merchant/src/components/inspector/atoms/ConfigTabItem.vue.d.ts +3 -3
  80. package/dist/merchant/src/components/inspector/atoms/ConfigTabTitle.vue.d.ts +1 -1
  81. package/dist/merchant/src/components/navigation-sidebar/NavigationSidebar.vue.d.ts +1 -1
  82. package/dist/merchant/src/components/settings/AssetsSettings.vue.d.ts +1 -1
  83. package/dist/merchant/src/components/settings/ManagementSettings.vue.d.ts +1 -1
  84. package/dist/merchant/src/composables/useNode/index.d.ts +1 -1
  85. package/dist/merchant/src/node-configs/branch-list/props.d.ts +1 -0
  86. package/dist/merchant/src/node-configs/button-list/props.d.ts +1 -0
  87. package/dist/merchant/src/node-configs/carousel/props.d.ts +1 -0
  88. package/dist/merchant/src/node-configs/container/props.d.ts +28 -0
  89. package/dist/merchant/src/node-configs/display-image/props.d.ts +1 -0
  90. package/dist/merchant/src/node-configs/display-text/props.d.ts +1 -0
  91. package/dist/merchant/src/node-configs/member-achievements/mock-data.d.ts +15 -0
  92. package/dist/merchant/src/node-configs/member-achievements/props.d.ts +40 -0
  93. package/dist/merchant/src/node-configs/member-achievements/schema.d.ts +2 -0
  94. package/dist/merchant/src/node-configs/member-button-list/props.d.ts +31 -0
  95. package/dist/merchant/src/node-configs/member-button-list/schema.d.ts +2 -0
  96. package/dist/merchant/src/node-configs/member-card/props.d.ts +1 -0
  97. package/dist/merchant/src/node-configs/member-cards/mock-data.d.ts +3 -0
  98. package/dist/merchant/src/node-configs/member-cards/props.d.ts +24 -0
  99. package/dist/merchant/src/node-configs/member-cards/schema.d.ts +2 -0
  100. package/dist/merchant/src/node-configs/member-history/mock-data.d.ts +843 -0
  101. package/dist/merchant/src/node-configs/member-history/props.d.ts +1692 -0
  102. package/dist/merchant/src/node-configs/member-history/schema.d.ts +3 -0
  103. package/dist/merchant/src/node-configs/member-profile/props.d.ts +449 -0
  104. package/dist/merchant/src/node-configs/member-profile/schema.d.ts +2 -0
  105. package/dist/merchant/src/node-configs/member-referral/props.d.ts +98 -0
  106. package/dist/merchant/src/node-configs/member-referral/schema.d.ts +2 -0
  107. package/dist/merchant/src/node-configs/member-referral-tutorial/props.d.ts +8 -0
  108. package/dist/merchant/src/node-configs/member-referral-tutorial/schema.d.ts +2 -0
  109. package/dist/merchant/src/node-configs/member-summary/mock-data.d.ts +9 -0
  110. package/dist/merchant/src/node-configs/member-summary/props.d.ts +32 -0
  111. package/dist/merchant/src/node-configs/member-summary/schema.d.ts +2 -0
  112. package/dist/merchant/src/node-configs/mock-data.d.ts +5 -1
  113. package/dist/merchant/src/node-configs/order-history-card/props.d.ts +1 -0
  114. package/dist/merchant/src/node-configs/order-method/props.d.ts +1 -0
  115. package/dist/merchant/src/node-configs/props.d.ts +9 -1
  116. package/dist/merchant/src/node-configs/schema.d.ts +9 -1
  117. package/dist/merchant/src/stores/editor/index.d.ts +1 -1
  118. package/dist/merchant/src/stores/template/index.d.ts +85 -6
  119. package/dist/merchant/src/views/BuilderView.vue.d.ts +1 -1
  120. package/dist/merchant/src/views/HomeView.vue.d.ts +1 -1
  121. package/dist/merchant/src/views/ProjectView.vue.d.ts +2 -0
  122. package/dist/merchant/src/views/SettingsView.vue.d.ts +1 -1
  123. package/dist/merchant/src/views/views.d.ts +11 -0
  124. package/dist/package.json +5 -2
  125. package/dist/style.css +1 -1
  126. package/dist/{v4-ANoOI1Qw.js → v4-CKwdnpQf.js} +8 -8
  127. package/dist/views-Dd4l-D61.js +89 -0
  128. package/package.json +5 -2
  129. package/dist/App-D-sh0my5.js +0 -99
  130. package/dist/BuilderView-DPoES6BN.js +0 -5498
  131. package/dist/ColorPicker-DAysa9fA.js +0 -22
  132. package/dist/index-BMPqWhXR.js +0 -188
  133. package/dist/index-BxQr98LR.js +0 -1729
  134. package/dist/main-CZCjdYQJ.js +0 -6726
@@ -1,4 +1,4 @@
1
- import { defineComponent as r, computed as c, resolveComponent as l, openBlock as s, createBlock as m } from "vue";
1
+ import { defineComponent as r, computed as c, resolveComponent as l, createBlock as s, openBlock as m } from "vue";
2
2
  const i = /* @__PURE__ */ r({
3
3
  __name: "ButtonGroup",
4
4
  props: {
@@ -12,7 +12,7 @@ const i = /* @__PURE__ */ r({
12
12
  ));
13
13
  return (e, a) => {
14
14
  const p = l("FmButtonGroup");
15
- return s(), m(p, {
15
+ return m(), s(p, {
16
16
  "model-value": u.value,
17
17
  "onUpdate:modelValue": n,
18
18
  items: e.context.groupItems
@@ -1,8 +1,8 @@
1
- import { openBlock as s, createElementBlock as o, defineComponent as l, createElementVNode as r } from "vue";
1
+ import { createElementBlock as s, openBlock as o, defineComponent as l, createElementVNode as r } from "vue";
2
2
  import { _ as n } from "./_plugin-vue_export-helper-CHgC5LLL.js";
3
3
  const a = {}, _ = { class: "border-b border-fm-color-neutral-gray-100" };
4
4
  function d(e, t) {
5
- return s(), o("div", _);
5
+ return o(), s("div", _);
6
6
  }
7
7
  const g = /* @__PURE__ */ n(a, [["render", d]]), f = { class: "relative" }, i = { class: "h-[18px] w-[18px] flex items-center justify-center" }, p = {
8
8
  class: "absolute h-full left-0 top-0 w-full text-fm-color-primary",
@@ -17,9 +17,9 @@ const x = /* @__PURE__ */ l({
17
17
  color: { default: "primary" }
18
18
  },
19
19
  setup(e) {
20
- return (t, u) => (s(), o("div", f, [
20
+ return (t, u) => (o(), s("div", f, [
21
21
  r("div", i, [
22
- (s(), o("svg", p, [
22
+ (o(), s("svg", p, [
23
23
  r("circle", {
24
24
  class: "spinner",
25
25
  "stroke-width": c[t.size],
@@ -0,0 +1,590 @@
1
+ import { defineComponent as oe, ref as E, reactive as me, computed as G, watch as be, onMounted as ge, onBeforeUnmount as we, createElementBlock as C, openBlock as y, createElementVNode as i, createCommentVNode as Z, renderSlot as A, createTextVNode as J, Fragment as ye, renderList as xe, toDisplayString as Ce, resolveComponent as Q, createBlock as $e, withCtx as z, createVNode as ee, unref as ke, normalizeStyle as Me } from "vue";
2
+ function F(e, t, r) {
3
+ return Math.max(t, Math.min(e, r));
4
+ }
5
+ function Ne(e, t) {
6
+ if (typeof e == "string" || typeof t == "string")
7
+ return e === t;
8
+ for (const r in e)
9
+ if (e[r] !== t[r])
10
+ return !1;
11
+ return !0;
12
+ }
13
+ function L(e) {
14
+ const t = [], r = e.length > 5 ? 2 : 1;
15
+ for (let l = 1; l < e.length; l += r) {
16
+ const a = e.substring(l, l + r).repeat(r % 2 + 1), u = parseInt(a, 16);
17
+ t.push(l === 3 * r + 1 ? u / 255 : u);
18
+ }
19
+ return t.length === 3 && t.push(1), {
20
+ r: t[0],
21
+ g: t[1],
22
+ b: t[2],
23
+ a: t[3]
24
+ };
25
+ }
26
+ function re(e) {
27
+ const t = e.l / 100, r = t + e.s / 100 * Math.min(t, 1 - t), l = r === 0 ? 0 : 200 * (1 - t / r);
28
+ return {
29
+ h: e.h,
30
+ s: l,
31
+ v: r * 100,
32
+ a: e.a
33
+ };
34
+ }
35
+ function T(e) {
36
+ let t = e.h % 360;
37
+ t < 0 && (t += 360);
38
+ const r = e.s / 100, l = e.l / 100;
39
+ return {
40
+ r: B(0, t, r, l) * 255,
41
+ g: B(8, t, r, l) * 255,
42
+ b: B(4, t, r, l) * 255,
43
+ a: e.a
44
+ };
45
+ }
46
+ function B(e, t, r, l) {
47
+ const a = (e + t / 30) % 12, u = r * Math.min(l, 1 - l);
48
+ return l - u * Math.max(-1, Math.min(a - 3, 9 - a, 1));
49
+ }
50
+ function le(e) {
51
+ const t = e.s / 100, r = e.v / 100, l = r * (1 - t / 2);
52
+ return {
53
+ h: e.h,
54
+ s: l === 0 || l === 1 ? 0 : (r - l) / Math.min(l, 1 - l) * 100,
55
+ l: l * 100,
56
+ a: e.a
57
+ };
58
+ }
59
+ function ae(e) {
60
+ return {
61
+ h: e.h,
62
+ w: e.v * (100 - e.s) / 100,
63
+ b: 100 - e.v,
64
+ a: e.a
65
+ };
66
+ }
67
+ function M(e) {
68
+ return T(le(e));
69
+ }
70
+ function $(e) {
71
+ const t = e.w / 100, r = e.b / 100;
72
+ let l, a;
73
+ const u = t + r;
74
+ return u >= 1 ? (l = 0, a = t / u) : (a = 1 - r, l = (1 - t / a) * 100), {
75
+ h: e.h,
76
+ s: l,
77
+ v: a * 100,
78
+ a: e.a
79
+ };
80
+ }
81
+ function S(e) {
82
+ const { r: t, g: r, b: l, a } = e, u = Math.min(t, r, l), v = Math.max(t, r, l), h = v - u, f = (v + u) / 2;
83
+ let m = 0;
84
+ h !== 0 && (v === t ? m = (r - l) / h + (r < l ? 6 : 0) : v === r ? m = (l - t) / h + 2 : v === l && (m = (t - r) / h + 4), m *= 60);
85
+ let d = 0;
86
+ return f !== 0 && f !== 255 && (d = (v - f) / Math.min(f, 255 - f)), {
87
+ h: m,
88
+ s: d * 100,
89
+ l: f / 255 * 100,
90
+ a
91
+ };
92
+ }
93
+ function _(e) {
94
+ return "#" + Object.values(e).map((t, r) => Math.round(r === 3 ? t * 255 : t).toString(16).padStart(2, "0")).join("");
95
+ }
96
+ function N(e) {
97
+ return ae(re(S(e)));
98
+ }
99
+ const Fe = {
100
+ hex: {
101
+ hex: (e) => e,
102
+ hsl: (e) => S(L(e)),
103
+ hsv: (e) => $(N(L(e))),
104
+ hwb: (e) => N(L(e)),
105
+ rgb: L
106
+ },
107
+ hsl: {
108
+ hex: (e) => _(T(e)),
109
+ hsl: (e) => e,
110
+ hsv: re,
111
+ hwb: (e) => N(T(e)),
112
+ rgb: T
113
+ },
114
+ hsv: {
115
+ hex: (e) => _(M(e)),
116
+ hsl: le,
117
+ hsv: (e) => e,
118
+ hwb: ae,
119
+ rgb: M
120
+ },
121
+ hwb: {
122
+ hex: (e) => _(M($(e))),
123
+ hsl: (e) => S(M($(e))),
124
+ hsv: $,
125
+ hwb: (e) => e,
126
+ rgb: (e) => M($(e))
127
+ },
128
+ rgb: {
129
+ hex: _,
130
+ hsl: S,
131
+ hsv: (e) => $(N(e)),
132
+ hwb: N,
133
+ rgb: (e) => e
134
+ }
135
+ };
136
+ function Ie(e, t, r) {
137
+ return Fe[e][t](r);
138
+ }
139
+ function Ee(e, t) {
140
+ const r = e.toFixed(t);
141
+ return r.includes(".") ? r.replace(/\.?0+$/, "") : r;
142
+ }
143
+ const Ae = {
144
+ deg: 1,
145
+ grad: 0.9,
146
+ rad: 180 / Math.PI,
147
+ turn: 360
148
+ }, P = {
149
+ from(e) {
150
+ return e.endsWith("%") ? k.from(e, { referenceValue: 1 }) : w.from(e, { min: 0, max: 1 });
151
+ },
152
+ to(e) {
153
+ return w.to(e);
154
+ }
155
+ }, te = {
156
+ from(e) {
157
+ const t = e.match(/deg|g?rad|turn$/);
158
+ if (t === null)
159
+ return w.from(e);
160
+ const r = t[0];
161
+ return w.from(e.slice(0, -r.length)) * Ae[r];
162
+ },
163
+ to(e) {
164
+ return w.to(e);
165
+ }
166
+ }, w = {
167
+ from(e, { min: t = Number.NEGATIVE_INFINITY, max: r = Number.POSITIVE_INFINITY } = {}) {
168
+ return e.endsWith(".") ? NaN : F(Number(e), t, r);
169
+ },
170
+ to(e) {
171
+ return Ee(e, 2);
172
+ }
173
+ }, k = {
174
+ from(e, { referenceValue: t = 100, min: r = 0, max: l = 100 } = {}) {
175
+ return e.endsWith("%") ? w.from(e.slice(0, -1), { min: r, max: l }) * t / 100 : NaN;
176
+ },
177
+ to(e) {
178
+ return w.to(e) + "%";
179
+ }
180
+ }, D = {
181
+ from(e) {
182
+ return e.endsWith("%") ? k.from(e, { referenceValue: 255 }) : w.from(e, { min: 0, max: 255 });
183
+ },
184
+ to(e) {
185
+ return w.to(e);
186
+ }
187
+ }, Le = {
188
+ hsl: {
189
+ h: te,
190
+ s: k,
191
+ l: k
192
+ },
193
+ hwb: {
194
+ h: te,
195
+ w: k,
196
+ b: k
197
+ },
198
+ rgb: {
199
+ r: D,
200
+ g: D,
201
+ b: D
202
+ }
203
+ };
204
+ function j(e, t) {
205
+ return Le[e][t];
206
+ }
207
+ function H({ format: e, color: t }, r) {
208
+ if (e === "hex")
209
+ return r && [5, 9].includes(t.length) ? t.substring(0, t.length - (t.length - 1) / 4) : t;
210
+ const l = Object.entries(t).slice(0, r ? 3 : 4).map(([a, u]) => {
211
+ const v = a === "a" ? P : j(e, a);
212
+ return (a === "a" ? "/ " : "") + v.to(u);
213
+ });
214
+ return `${e}(${l.join(" ")})`;
215
+ }
216
+ function se(e) {
217
+ return /^#(?:(?:[A-F0-9]{2}){3,4}|[A-F0-9]{3,4})$/i.test(e);
218
+ }
219
+ function _e(e) {
220
+ return "r" in e ? "rgb" : "w" in e ? "hwb" : "v" in e ? "hsv" : "s" in e ? "hsl" : null;
221
+ }
222
+ const ne = {
223
+ hsl: ["h", "s", "l", "a"],
224
+ hwb: ["h", "w", "b", "a"],
225
+ rgb: ["r", "g", "b", "a"]
226
+ };
227
+ function Te(e) {
228
+ if (typeof e != "string") {
229
+ const h = _e(e);
230
+ return h === null ? null : { format: h, color: e };
231
+ }
232
+ if (e.startsWith("#"))
233
+ return se(e) ? { format: "hex", color: e } : null;
234
+ if (!e.includes("(")) {
235
+ const h = document.createElement("canvas").getContext("2d");
236
+ h.fillStyle = e;
237
+ const f = h.fillStyle;
238
+ return f === "#000000" && e !== "black" ? null : { format: "hex", color: f };
239
+ }
240
+ const [t, r] = e.split("("), l = t.substring(0, 3);
241
+ if (!(l in ne))
242
+ return null;
243
+ const a = r.replace(/[,/)]/g, " ").replace(/\s+/g, " ").trim().split(" ");
244
+ a.length === 3 && a.push("1");
245
+ const u = ne[l], v = Object.fromEntries(u.map((h, f) => {
246
+ const m = h === "a" ? P : j(l, h);
247
+ return [
248
+ h,
249
+ m.from(a[f])
250
+ ];
251
+ }));
252
+ return { format: l, color: v };
253
+ }
254
+ function Se(e, t, r) {
255
+ const l = e.getBoundingClientRect(), a = t - l.left, u = r - l.top;
256
+ return {
257
+ x: l.width === 0 ? 0 : F(a / l.width * 100, 0, 100),
258
+ y: l.height === 0 ? 0 : F((1 - u / l.height) * 100, 0, 100)
259
+ };
260
+ }
261
+ const Pe = { class: "vacp-range-input-group" }, je = ["for"], Oe = { class: "vacp-range-input-label-text vacp-range-input-label-text--hue" }, Ve = ["id", "value"], ze = ["for"], Be = { class: "vacp-range-input-label-text vacp-range-input-label-text--alpha" }, De = ["id", "value"], He = { class: "vacp-color-inputs" }, Ke = { class: "vacp-color-input-group" }, We = ["for"], Re = ["id", "value"], Ue = ["id", "for", "onInput"], Ye = { class: "vacp-color-input-label-text" }, Xe = ["id", "value", "onInput"], qe = /* @__PURE__ */ oe({
262
+ __name: "ColorPicker",
263
+ props: {
264
+ color: { default: "#ffffffff" },
265
+ copy: { type: Function, default: void 0 },
266
+ id: { default: "color-picker" },
267
+ visibleFormats: { default: () => ["hex", "hsl", "hwb", "rgb"] },
268
+ defaultFormat: { default: "hsl" },
269
+ alphaChannel: { default: "show" }
270
+ },
271
+ emits: ["color-change", "color-copy"],
272
+ setup(e, { expose: t, emit: r }) {
273
+ const l = ["hex", "hsl", "hsv", "hwb", "rgb"], a = e, u = r;
274
+ t({
275
+ copyColor: Y
276
+ });
277
+ const v = E(null), h = E(null), f = E(null);
278
+ let m = !1;
279
+ const d = E(a.visibleFormats.includes(a.defaultFormat) ? a.defaultFormat : a.visibleFormats[0]), p = me({
280
+ hex: "#ffffffff",
281
+ hsl: { h: 0, s: 0, l: 100, a: 1 },
282
+ hsv: { h: 0, s: 0, v: 100, a: 1 },
283
+ hwb: { h: 0, w: 100, b: 0, a: 1 },
284
+ rgb: { r: 255, g: 255, b: 255, a: 1 }
285
+ }), ce = G(function() {
286
+ const o = d.value, n = p[o];
287
+ return o.split("").map((s) => {
288
+ const c = n[s];
289
+ return {
290
+ value: j(o, s).to(c),
291
+ channel: s,
292
+ label: s.toUpperCase()
293
+ };
294
+ }).concat(a.alphaChannel === "show" ? [{
295
+ value: P.to(n.a),
296
+ channel: "a",
297
+ label: "Alpha"
298
+ }] : []);
299
+ }), ue = G(function() {
300
+ return a.alphaChannel === "hide" && [5, 9].includes(p.hex.length) ? p.hex.substring(0, p.hex.length - (p.hex.length - 1) / 4) : p.hex;
301
+ });
302
+ be(() => a.color, W), ge(function() {
303
+ document.addEventListener("mousemove", O, { passive: !1 }), document.addEventListener("touchmove", V, { passive: !1 }), document.addEventListener("mouseup", I), document.addEventListener("touchend", I), W(a.color);
304
+ }), we(function() {
305
+ document.removeEventListener("mousemove", O), document.removeEventListener("touchmove", V), document.removeEventListener("mouseup", I), document.removeEventListener("touchend", I);
306
+ });
307
+ function ie() {
308
+ const o = (a.visibleFormats.findIndex((n) => n === d.value) + 1) % a.visibleFormats.length;
309
+ d.value = a.visibleFormats[o];
310
+ }
311
+ function he(o) {
312
+ m = !0, O(o);
313
+ }
314
+ function pe(o) {
315
+ m = !0, V(o);
316
+ }
317
+ function I() {
318
+ m = !1;
319
+ }
320
+ function O(o) {
321
+ o.buttons !== 1 || m === !1 || !(h.value instanceof HTMLElement) || K(h.value, o.clientX, o.clientY);
322
+ }
323
+ function V(o) {
324
+ if (m === !1 || !(h.value instanceof HTMLElement))
325
+ return;
326
+ o.preventDefault();
327
+ const n = o.touches[0];
328
+ K(h.value, n.clientX, n.clientY);
329
+ }
330
+ function K(o, n, s) {
331
+ const c = Se(o, n, s), b = Object.assign({}, p.hsv);
332
+ b.s = c.x, b.v = c.y, x("hsv", b);
333
+ }
334
+ function fe(o) {
335
+ if (!["ArrowUp", "ArrowRight", "ArrowDown", "ArrowLeft"].includes(o.key))
336
+ return;
337
+ o.preventDefault();
338
+ const n = ["ArrowLeft", "ArrowDown"].includes(o.key) ? -1 : 1, s = ["ArrowLeft", "ArrowRight"].includes(o.key) ? "s" : "v", c = o.shiftKey ? 10 : 1, b = p.hsv[s] + n * c, g = Object.assign({}, p.hsv);
339
+ g[s] = F(b, 0, 100), x("hsv", g);
340
+ }
341
+ function W(o) {
342
+ const n = Te(o);
343
+ n !== null && x(n.format, n.color);
344
+ }
345
+ function R(o, n) {
346
+ const s = o.currentTarget, c = Object.assign({}, p.hsv);
347
+ c[n] = Number(s.value), x("hsv", c);
348
+ }
349
+ function ve(o) {
350
+ const n = o.target;
351
+ se(n.value) && x("hex", n.value);
352
+ }
353
+ function U(o, n) {
354
+ const s = o.target, c = d.value, b = Object.assign({}, p[c]), g = (n === "a" ? P : j(c, n)).from(s.value);
355
+ Number.isNaN(g) || g === void 0 || (b[n] = g, x(c, b));
356
+ }
357
+ function x(o, n) {
358
+ let s = n;
359
+ if (a.alphaChannel === "hide")
360
+ if (typeof n != "string")
361
+ n.a = 1, s = n;
362
+ else if ([5, 9].includes(n.length)) {
363
+ const c = (n.length - 1) / 4;
364
+ s = n.substring(0, n.length - c) + "f".repeat(c);
365
+ } else [4, 7].includes(n.length) && (s = n + "f".repeat((n.length - 1) / 3));
366
+ if (!Ne(p[o], s)) {
367
+ p[o] = s;
368
+ for (const c of l)
369
+ c !== o && (p[c] = Ie(o, c, s));
370
+ u("color-change", X());
371
+ }
372
+ v.value instanceof HTMLElement && h.value instanceof HTMLElement && f.value instanceof HTMLElement && de(v.value, h.value, f.value);
373
+ }
374
+ async function Y() {
375
+ const o = p[d.value], n = a.alphaChannel === "hide", s = H({ color: o, format: d.value }, n);
376
+ await (a.copy ? a.copy : window.navigator.clipboard.writeText)(s), u("color-copy", X());
377
+ }
378
+ function de(o, n, s) {
379
+ const c = H({ format: "hsl", color: p.hsl }, !0);
380
+ o.style.setProperty("--vacp-color", c), n.style.position = "relative", n.style.backgroundColor = `hsl(${p.hsl.h} 100% 50%)`, n.style.backgroundImage = "linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, transparent)", s.style.boxSizing = "border-box", s.style.position = "absolute", s.style.left = `${p.hsv.s}%`, s.style.bottom = `${p.hsv.v}%`;
381
+ }
382
+ function X() {
383
+ const o = a.alphaChannel === "hide", n = H({ color: p[d.value], format: d.value }, o);
384
+ return {
385
+ colors: p,
386
+ cssColor: n
387
+ };
388
+ }
389
+ function q(o) {
390
+ if (!["ArrowUp", "ArrowRight", "ArrowDown", "ArrowLeft"].includes(o.key) || !o.shiftKey)
391
+ return;
392
+ const n = o.currentTarget, s = Number(n.step), c = ["ArrowLeft", "ArrowDown"].includes(o.key) ? -1 : 1, b = Number(n.value) + c * s * 10, g = F(b, Number(n.min), Number(n.max));
393
+ n.value = String(g - c * s);
394
+ }
395
+ return (o, n) => (y(), C("div", {
396
+ ref_key: "colorPicker",
397
+ ref: v,
398
+ class: "vacp-color-picker"
399
+ }, [
400
+ i("div", {
401
+ ref_key: "colorSpace",
402
+ ref: h,
403
+ class: "vacp-color-space",
404
+ onMousedown: he,
405
+ onTouchstart: pe
406
+ }, [
407
+ i("div", {
408
+ ref_key: "thumb",
409
+ ref: f,
410
+ class: "vacp-color-space-thumb",
411
+ tabindex: "0",
412
+ "aria-label": "Color space thumb",
413
+ onKeydown: fe
414
+ }, null, 544)
415
+ ], 544),
416
+ i("div", Pe, [
417
+ i("label", {
418
+ class: "vacp-range-input-label vacp-range-input-label--hue",
419
+ for: `${o.id}-hue-slider`
420
+ }, [
421
+ i("span", Oe, [
422
+ A(o.$slots, "hue-range-input-label", {}, () => [
423
+ n[2] || (n[2] = J("Hue"))
424
+ ])
425
+ ]),
426
+ i("input", {
427
+ id: `${o.id}-hue-slider`,
428
+ class: "vacp-range-input vacp-range-input--hue",
429
+ value: p.hsv.h,
430
+ type: "range",
431
+ min: "0",
432
+ max: "360",
433
+ step: "1",
434
+ onKeydownPassive: q,
435
+ onInput: n[0] || (n[0] = (s) => R(s, "h"))
436
+ }, null, 40, Ve)
437
+ ], 8, je),
438
+ o.alphaChannel === "show" ? (y(), C("label", {
439
+ key: 0,
440
+ class: "vacp-range-input-label vacp-range-input-label--alpha",
441
+ for: `${o.id}-alpha-slider`
442
+ }, [
443
+ i("span", Be, [
444
+ A(o.$slots, "alpha-range-input-label", {}, () => [
445
+ n[3] || (n[3] = J("Alpha"))
446
+ ])
447
+ ]),
448
+ i("input", {
449
+ id: `${o.id}-alpha-slider`,
450
+ class: "vacp-range-input vacp-range-input--alpha",
451
+ value: p.hsv.a,
452
+ type: "range",
453
+ min: "0",
454
+ max: "1",
455
+ step: "0.01",
456
+ onKeydownPassive: q,
457
+ onInput: n[1] || (n[1] = (s) => R(s, "a"))
458
+ }, null, 40, De)
459
+ ], 8, ze)) : Z("", !0)
460
+ ]),
461
+ i("button", {
462
+ class: "vacp-copy-button",
463
+ type: "button",
464
+ onClick: Y
465
+ }, [
466
+ A(o.$slots, "copy-button", {}, () => [
467
+ n[4] || (n[4] = i("span", { class: "vacp-visually-hidden" }, "Copy color", -1)),
468
+ n[5] || (n[5] = i("svg", {
469
+ class: "vacp-icon",
470
+ xmlns: "http://www.w3.org/2000/svg",
471
+ "aria-hidden": "true",
472
+ width: "24",
473
+ height: "24",
474
+ viewBox: "0 0 32 32"
475
+ }, [
476
+ i("path", {
477
+ d: "M25.313 28v-18.688h-14.625v18.688h14.625zM25.313 6.688c1.438 0 2.688 1.188 2.688 2.625v18.688c0 1.438-1.25 2.688-2.688 2.688h-14.625c-1.438 0-2.688-1.25-2.688-2.688v-18.688c0-1.438 1.25-2.625 2.688-2.625h14.625zM21.313 1.313v2.688h-16v18.688h-2.625v-18.688c0-1.438 1.188-2.688 2.625-2.688h16z",
478
+ fill: "currentColor"
479
+ })
480
+ ], -1))
481
+ ])
482
+ ]),
483
+ i("div", He, [
484
+ i("div", Ke, [
485
+ d.value === "hex" ? (y(), C("label", {
486
+ key: 0,
487
+ class: "vacp-color-input-label",
488
+ for: `${o.id}-color-hex`
489
+ }, [
490
+ n[6] || (n[6] = i("span", { class: "vacp-color-input-label-text" }, " Hex ", -1)),
491
+ i("input", {
492
+ id: `${o.id}-color-hex`,
493
+ class: "vacp-color-input",
494
+ type: "text",
495
+ value: ue.value,
496
+ onInput: ve
497
+ }, null, 40, Re)
498
+ ], 8, We)) : (y(!0), C(ye, { key: 1 }, xe(ce.value, ({ value: s, channel: c, label: b }) => (y(), C("label", {
499
+ id: `${o.id}-color-${d.value}-${c}-label`,
500
+ key: `${o.id}-color-${d.value}-${c}-label`,
501
+ class: "vacp-color-input-label",
502
+ for: `${o.id}-color-${d.value}-${c}`,
503
+ onInput: (g) => U(g, c)
504
+ }, [
505
+ i("span", Ye, Ce(b), 1),
506
+ i("input", {
507
+ id: `${o.id}-color-${d.value}-${c}`,
508
+ class: "vacp-color-input",
509
+ type: "text",
510
+ value: s,
511
+ onInput: (g) => U(g, c)
512
+ }, null, 40, Xe)
513
+ ], 40, Ue))), 128))
514
+ ]),
515
+ o.visibleFormats.length > 1 ? (y(), C("button", {
516
+ key: 0,
517
+ class: "vacp-format-switch-button",
518
+ type: "button",
519
+ onClick: ie
520
+ }, [
521
+ A(o.$slots, "format-switch-button", {}, () => [
522
+ n[7] || (n[7] = i("span", { class: "vacp-visually-hidden" }, "Switch format", -1)),
523
+ n[8] || (n[8] = i("svg", {
524
+ class: "vacp-icon",
525
+ "aria-hidden": "true",
526
+ xmlns: "http://www.w3.org/2000/svg",
527
+ width: "16",
528
+ height: "15"
529
+ }, [
530
+ i("path", {
531
+ d: "M8 15l5-5-1-1-4 2-4-2-1 1zm4-9l1-1-5-5-5 5 1 1 4-2z",
532
+ fill: "currentColor"
533
+ })
534
+ ], -1))
535
+ ])
536
+ ])) : Z("", !0)
537
+ ])
538
+ ], 512));
539
+ }
540
+ }), Ge = { class: "w-[50px] h-[25px] relative border border-gray-400 rounded overflow-hidden" }, Ze = { class: "shadow-lg rounded-lg p-8" }, Qe = /* @__PURE__ */ oe({
541
+ __name: "ColorPicker",
542
+ props: {
543
+ context: {}
544
+ },
545
+ setup(e) {
546
+ const t = e, r = async (a) => {
547
+ await t.context.node.input(a);
548
+ }, l = (a) => {
549
+ navigator.clipboard.writeText(a);
550
+ };
551
+ return (a, u) => {
552
+ const v = Q("FmButton"), h = Q("FmPopover");
553
+ return y(), $e(h, null, {
554
+ "popover-button": z(() => [
555
+ i("div", Ge, [
556
+ u[2] || (u[2] = i("div", { class: "absolute inset-0 bg-checkerboard" }, null, -1)),
557
+ i("div", {
558
+ class: "absolute inset-0",
559
+ style: Me({ backgroundColor: a.context._value })
560
+ }, null, 4)
561
+ ])
562
+ ]),
563
+ default: z(() => [
564
+ i("div", Ze, [
565
+ ee(ke(qe), {
566
+ copy: l,
567
+ onColorCopy: u[0] || (u[0] = (f) => l(f.cssColor)),
568
+ "default-format": "hex",
569
+ color: a.context._value,
570
+ onColorChange: u[1] || (u[1] = (f) => r(f.cssColor))
571
+ }, {
572
+ "copy-button": z(() => [
573
+ ee(v, {
574
+ class: "w-full h-32",
575
+ variant: "secondary",
576
+ icon: "content_copy"
577
+ })
578
+ ]),
579
+ _: 1
580
+ }, 8, ["color"])
581
+ ])
582
+ ]),
583
+ _: 1
584
+ });
585
+ };
586
+ }
587
+ });
588
+ export {
589
+ Qe as default
590
+ };
@@ -0,0 +1,10 @@
1
+ import { createElementBlock as e, openBlock as o } from "vue";
2
+ import { _ as t } from "./_plugin-vue_export-helper-CHgC5LLL.js";
3
+ const r = {}, c = { class: "p-24 h-full w-full flex flex-col gap-40 bg-fm-color-neutral-white overflow-y-auto" };
4
+ function l(f, n) {
5
+ return o(), e("div", c, " Brand Kit ");
6
+ }
7
+ const _ = /* @__PURE__ */ t(r, [["render", l]]);
8
+ export {
9
+ _ as default
10
+ };
@@ -1,4 +1,4 @@
1
- import { defineComponent as n, openBlock as o, createElementBlock as l, normalizeClass as a, toDisplayString as r } from "vue";
1
+ import { defineComponent as n, createElementBlock as o, openBlock as l, normalizeClass as a, toDisplayString as r } from "vue";
2
2
  const i = /* @__PURE__ */ n({
3
3
  __name: "Icon",
4
4
  props: {
@@ -6,7 +6,7 @@ const i = /* @__PURE__ */ n({
6
6
  filled: { type: Boolean, default: !1 }
7
7
  },
8
8
  setup(s) {
9
- return (e, t) => (o(), l("span", {
9
+ return (e, t) => (l(), o("span", {
10
10
  class: a(["material-symbols-rounded", `icon-${e.filled ? "filled" : "rounded"}`])
11
11
  }, r(e.name), 3));
12
12
  }