@huyooo/ui 0.15.1 → 0.16.0

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 (42) hide show
  1. package/dist/{AuthkitAppSetting-Ds7mYFV5.js → AuthkitAppSetting-v80fEiq0.js} +1 -1
  2. package/dist/{AuthkitGithubBinding-LVDS1PNQ.js → AuthkitGithubBinding-CVhCM6AX.js} +1 -1
  3. package/dist/{FeedbackItem-DkvSQT33.js → FeedbackItem-BP-SiJ2u.js} +98 -184
  4. package/dist/FeedbackModal.vue_vue_type_script_setup_true_lang-CAGBbiZD.js +1396 -0
  5. package/dist/{MessageHandle-CEQtGyVZ.js → MessageHandle-BMhGWVHD.js} +54 -54
  6. package/dist/{MessageNoticeNotificationsDetails.vue_vue_type_script_setup_true_lang-87v_RIQa.js → MessageNoticeNotificationsDetails.vue_vue_type_script_setup_true_lang-ByB_YaVb.js} +1 -1
  7. package/dist/{PricingPlans-ClKLdoVv.js → PricingPlans-DXea7rl0.js} +76 -77
  8. package/dist/{Upload.vue_vue_type_script_setup_true_lang-DLKSHzxG.js → Upload.vue_vue_type_script_setup_true_lang-CXr8D4VG.js} +1 -1
  9. package/dist/{UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-C7mV8kGe.js → UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-6xQNhFk3.js} +16 -16
  10. package/dist/{WidthContainer-DKasAIgU.js → WidthContainer-DVZQV6sM.js} +2 -2
  11. package/dist/authkit.js +2 -2
  12. package/dist/common.js +1 -1
  13. package/dist/components/Feedback/FeedbackBubbleEnd.vue.d.ts +11 -14
  14. package/dist/components/Feedback/FeedbackBubbleStart.vue.d.ts +11 -14
  15. package/dist/components/Feedback/FeedbackDetails.vue.d.ts +1 -0
  16. package/dist/components/Feedback/FeedbackForm.vue.d.ts +1 -0
  17. package/dist/components/Feedback/FeedbackMessageAttachments.vue.d.ts +15 -0
  18. package/dist/components/Feedback/FeedbackVideoPreview.vue.d.ts +33 -0
  19. package/dist/components/LandingPage/LandingPageContainer.vue.d.ts +1 -1
  20. package/dist/components/LandingPage/LandingPagePageContent.vue.d.ts +1 -1
  21. package/dist/composables/Billing/useBillingPlans.d.ts +1 -19
  22. package/dist/composables/feedbackAttachmentPolicy.d.ts +6 -0
  23. package/dist/composables/uploadFeedbackAttachment.d.ts +9 -0
  24. package/dist/composables/useFeedbackPendingAttachments.d.ts +98 -0
  25. package/dist/composables.js +2 -2
  26. package/dist/feedback.d.ts +0 -1
  27. package/dist/feedback.js +8 -9
  28. package/dist/main.js +119 -120
  29. package/dist/message.js +3 -3
  30. package/dist/pay.js +2 -2
  31. package/dist/style.css +1 -1
  32. package/dist/types/api/billing.generated.d.ts +0 -4
  33. package/dist/types/api/ones.generated.d.ts +46 -8
  34. package/dist/types/feedback.d.ts +12 -44
  35. package/dist/upload.js +2 -2
  36. package/dist/{useSubscriptionCheckout-CfFdAhTR.js → useSubscriptionCheckout-BjPiHSjA.js} +103 -104
  37. package/dist/{useUploadCos-CvG6EL5Q.js → useUploadCos-DOHnz2MP.js} +5 -3
  38. package/dist/user.js +1 -1
  39. package/dist/utils/feedbackMessage.d.ts +8 -0
  40. package/package.json +1 -1
  41. package/dist/FeedbackModal-C45pNoiw.js +0 -1050
  42. package/dist/components/Feedback/FeedbackScreenshots.vue.d.ts +0 -19
@@ -1,8 +1,8 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  /* empty css */
4
- import { defineComponent as m, openBlock as r, createElementBlock as p, toDisplayString as U, createCommentVNode as k, createVNode as d, unref as s, createBlock as _, withCtx as v, createTextVNode as $, createElementVNode as l, ref as h, computed as A, onMounted as J, Fragment as F, renderSlot as C, normalizeClass as K, watch as x } from "vue";
5
- import { Avatar as L, Button as D, Dropdown as Q } from "@arco-design/web-vue";
4
+ import { defineComponent as m, openBlock as r, createElementBlock as p, toDisplayString as U, createCommentVNode as k, createVNode as d, unref as s, createBlock as _, withCtx as v, createTextVNode as $, createElementVNode as l, ref as h, computed as A, onMounted as J, Fragment as L, renderSlot as C, normalizeClass as K, watch as x } from "vue";
5
+ import { Avatar as j, Button as D, Dropdown as Q } from "@arco-design/web-vue";
6
6
  import { u as R } from "./useAuthkitUsersProfile-aw_A7IWb.js";
7
7
  import { u as y } from "./useUserMenu-ClPBlvaM.js";
8
8
  /* empty css */
@@ -12,11 +12,11 @@ import { u as W } from "./apiClients-DT7o0IpO.js";
12
12
  import { u as Z, o as ee, P as ne } from "./PaySubscriptions-D3g1OhiA.js";
13
13
  import { d as te } from "./useBillingStatusOptions-CAsu1hrf.js";
14
14
  import { C as se } from "./Clipboard-R3AURqvU.js";
15
- import { A as ae } from "./AuthkitAppSetting-Ds7mYFV5.js";
16
- import { d as oe } from "./FeedbackModal-C45pNoiw.js";
17
- import { M as re } from "./MessageHandle-CEQtGyVZ.js";
15
+ import { A as ae } from "./AuthkitAppSetting-v80fEiq0.js";
16
+ import { c as oe } from "./FeedbackModal.vue_vue_type_script_setup_true_lang-CAGBbiZD.js";
17
+ import { M as re } from "./MessageHandle-BMhGWVHD.js";
18
18
  import { R as ie } from "./ReferrerReferees-BxmZ1w_L.js";
19
- import { Icon as j } from "@iconify/vue";
19
+ import { Icon as F } from "@iconify/vue";
20
20
  const le = {
21
21
  class: "UserAvatar"
22
22
  }, ue = {
@@ -33,7 +33,7 @@ const le = {
33
33
  }
34
34
  },
35
35
  setup(e) {
36
- return (n, o) => (r(), p("div", le, [e.nickname ? (r(), p("span", ue, U(e.nickname), 1)) : k("", !0), d(s(L), {
36
+ return (n, o) => (r(), p("div", le, [e.nickname ? (r(), p("span", ue, U(e.nickname), 1)) : k("", !0), d(s(j), {
37
37
  "image-url": e.avatar,
38
38
  size: 32,
39
39
  "object-fit": "cover"
@@ -89,7 +89,7 @@ const ge = /* @__PURE__ */ M(fe, [["render", ve], ["__scopeId", "data-v-c7d18d97
89
89
  }
90
90
  },
91
91
  setup(e) {
92
- return (n, o) => (r(), p("div", be, [d(s(L), {
92
+ return (n, o) => (r(), p("div", be, [d(s(j), {
93
93
  "image-url": e.avatarUrl,
94
94
  size: 42,
95
95
  "object-fit": "cover"
@@ -227,7 +227,7 @@ const ge = /* @__PURE__ */ M(fe, [["render", ve], ["__scopeId", "data-v-c7d18d97
227
227
  n.showSubscription && (I(), q());
228
228
  }), (f, b) => {
229
229
  var N, O, V, T, z, E;
230
- return r(), p(F, null, [d(Be, {
230
+ return r(), p(L, null, [d(Be, {
231
231
  "avatar-url": (N = s(o)) == null ? void 0 : N.avatarUrl,
232
232
  nickname: (O = s(o)) == null ? void 0 : O.nickname,
233
233
  email: (V = s(o)) == null ? void 0 : V.email,
@@ -351,7 +351,7 @@ const ge = /* @__PURE__ */ M(fe, [["render", ve], ["__scopeId", "data-v-c7d18d97
351
351
  }]),
352
352
  disabled: e.disabled,
353
353
  onClick: c
354
- }, [l("span", Te, [C(i.$slots, "default", {}, void 0, !0)]), i.$slots.icon || e.icon ? (r(), p("span", ze, [C(i.$slots, "icon", {}, () => [e.icon ? (r(), _(s(j), {
354
+ }, [l("span", Te, [C(i.$slots, "default", {}, void 0, !0)]), i.$slots.icon || e.icon ? (r(), p("span", ze, [C(i.$slots, "icon", {}, () => [e.icon ? (r(), _(s(F), {
355
355
  key: 0,
356
356
  icon: e.icon,
357
357
  width: 16,
@@ -384,7 +384,7 @@ const ge = /* @__PURE__ */ M(fe, [["render", ve], ["__scopeId", "data-v-c7d18d97
384
384
  }), x(i, () => {
385
385
  var u;
386
386
  (u = P.value) == null || u.setData(!0);
387
- }), (u, H) => (r(), p(F, null, [d(ae, {
387
+ }), (u, H) => (r(), p(L, null, [d(ae, {
388
388
  ref_key: "appSettingRef",
389
389
  ref: g
390
390
  }, null, 512), d(ne, {
@@ -401,11 +401,11 @@ const ge = /* @__PURE__ */ M(fe, [["render", ve], ["__scopeId", "data-v-c7d18d97
401
401
  ref: P
402
402
  }, null, 512)], 64));
403
403
  }
404
- }), Fe = {
404
+ }), Le = {
405
405
  class: "UserAccountMenu"
406
- }, Le = {
407
- class: "UserAccountMenu__avatar"
408
406
  }, je = {
407
+ class: "UserAccountMenu__avatar"
408
+ }, Fe = {
409
409
  class: "UserAccountMenu__meta"
410
410
  }, Xe = {
411
411
  class: "UserAccountMenu__name"
@@ -421,11 +421,11 @@ const ge = /* @__PURE__ */ M(fe, [["render", ve], ["__scopeId", "data-v-c7d18d97
421
421
  } = y();
422
422
  return (t, a) => {
423
423
  var c, i;
424
- return r(), p("div", Fe, [l("div", Le, [C(t.$slots, "avatar", {}, void 0, !0)]), l("div", je, [l("div", Xe, U(((c = s(n)) == null ? void 0 : c.nickname) || ""), 1), l("div", Ye, U(((i = s(n)) == null ? void 0 : i.email) || ""), 1)]), l("div", {
424
+ return r(), p("div", Le, [l("div", je, [C(t.$slots, "avatar", {}, void 0, !0)]), l("div", Fe, [l("div", Xe, U(((c = s(n)) == null ? void 0 : c.nickname) || ""), 1), l("div", Ye, U(((i = s(n)) == null ? void 0 : i.email) || ""), 1)]), l("div", {
425
425
  class: "UserAccountMenu__arrow",
426
426
  onClick: a[0] || (a[0] = //@ts-ignore
427
427
  (...g) => s(o) && s(o)(...g))
428
- }, [d(s(j), {
428
+ }, [d(s(F), {
429
429
  icon: "lucide:chevrons-up-down"
430
430
  })])]);
431
431
  };
@@ -7,12 +7,12 @@ import { d as fe, b as _e } from "./apiClients-DT7o0IpO.js";
7
7
  import { u as N } from "./useAuthkitAppsAuthPageInfo-DScDQfj5.js";
8
8
  import { u as J } from "./useAuthkitUsersProfile-aw_A7IWb.js";
9
9
  import { b as Q, f as X, w as O, a as Y, c as Z } from "./useRoutePermission-v4_0B-aO.js";
10
- import "./useUploadCos-CvG6EL5Q.js";
10
+ import "./useUploadCos-DOHnz2MP.js";
11
11
  import { useRouter as ee, useRoute as te } from "vue-router";
12
12
  import "@unhead/vue";
13
13
  import "./useUserMenu-ClPBlvaM.js";
14
14
  import "./useBillingStatusOptions-CAsu1hrf.js";
15
- import { U as ve, c as ne, h as oe, k as se, _ as ae, f as re, j as ie, d as ue, g as K, i as le } from "./UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-C7mV8kGe.js";
15
+ import { U as ve, c as ne, h as oe, k as se, _ as ae, f as re, j as ie, d as ue, g as K, i as le } from "./UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-6xQNhFk3.js";
16
16
  /* empty css */
17
17
  import { Icon as R } from "@iconify/vue";
18
18
  import "./Clipboard-R3AURqvU.js";
package/dist/authkit.js CHANGED
@@ -1,5 +1,5 @@
1
- import { A as a, B as s, E as u, a as e, b as h, O as A, P as r, c as o, _ as k, d as n, S as d, e as p, u as P } from "./AuthkitAppSetting-Ds7mYFV5.js";
2
- import { A as l, a as m, b as g, c as S, d as O, e as c, f as L, _ as U, g as w, O as x, h as E, P as b, i as B, j as C, k as y, R as I, S as V, l as _, m as v, n as G, o as R, p as D, q as M } from "./AuthkitGithubBinding-LVDS1PNQ.js";
1
+ import { A as a, B as s, E as u, a as e, b as h, O as A, P as r, c as o, _ as k, d as n, S as d, e as p, u as P } from "./AuthkitAppSetting-v80fEiq0.js";
2
+ import { A as l, a as m, b as g, c as S, d as O, e as c, f as L, _ as U, g as w, O as x, h as E, P as b, i as B, j as C, k as y, R as I, S as V, l as _, m as v, n as G, o as R, p as D, q as M } from "./AuthkitGithubBinding-CVhCM6AX.js";
3
3
  import { u as q } from "./useAuthkitAppsAuthPageInfo-DScDQfj5.js";
4
4
  import { u as K } from "./useAuthkitAuth-DpdKRuJm.js";
5
5
  import { u as Y } from "./apiClients-DT7o0IpO.js";
package/dist/common.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as s, a as o, C as r, D as t, G as p, H as n, b as l, S as m, W as u } from "./WidthContainer-DKasAIgU.js";
1
+ import { A as s, a as o, C as r, D as t, G as p, H as n, b as l, S as m, W as u } from "./WidthContainer-DVZQV6sM.js";
2
2
  import { C as d, a as f } from "./CollapseItem-DUzZA6tx.js";
3
3
  import { C as x, E as b } from "./CustomTable-BT-cnhLR.js";
4
4
  import { L } from "./Logo-D7fyXyB-.js";
@@ -1,13 +1,12 @@
1
+ import { FeedbackMessageAttachment } from '../../types/feedback';
1
2
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
- value: {
3
+ text: {
3
4
  type: StringConstructor;
4
- required: false;
5
5
  default: string;
6
6
  };
7
- type: {
8
- type: StringConstructor;
9
- default: string;
10
- validator: (value: string) => boolean;
7
+ attachments: {
8
+ type: () => FeedbackMessageAttachment[];
9
+ default: () => never[];
11
10
  };
12
11
  avatarUrl: {
13
12
  type: StringConstructor;
@@ -34,15 +33,13 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
34
33
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
35
34
  refresh: (...args: any[]) => void;
36
35
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
37
- value: {
36
+ text: {
38
37
  type: StringConstructor;
39
- required: false;
40
38
  default: string;
41
39
  };
42
- type: {
43
- type: StringConstructor;
44
- default: string;
45
- validator: (value: string) => boolean;
40
+ attachments: {
41
+ type: () => FeedbackMessageAttachment[];
42
+ default: () => never[];
46
43
  };
47
44
  avatarUrl: {
48
45
  type: StringConstructor;
@@ -69,9 +66,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
69
66
  }>> & Readonly<{
70
67
  onRefresh?: ((...args: any[]) => any) | undefined;
71
68
  }>, {
72
- value: string;
73
- type: string;
69
+ text: string;
74
70
  avatarUrl: string;
71
+ attachments: FeedbackMessageAttachment[];
75
72
  avatarText: string;
76
73
  bubbleStyle: Record<string, any>;
77
74
  showRefresh: boolean;
@@ -1,13 +1,12 @@
1
+ import { FeedbackMessageAttachment } from '../../types/feedback';
1
2
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
- value: {
3
+ text: {
3
4
  type: StringConstructor;
4
- required: false;
5
5
  default: string;
6
6
  };
7
- type: {
8
- type: StringConstructor;
9
- default: string;
10
- validator: (value: string) => boolean;
7
+ attachments: {
8
+ type: () => FeedbackMessageAttachment[];
9
+ default: () => never[];
11
10
  };
12
11
  avatarUrl: {
13
12
  type: StringConstructor;
@@ -28,15 +27,13 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
28
27
  default: boolean;
29
28
  };
30
29
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
31
- value: {
30
+ text: {
32
31
  type: StringConstructor;
33
- required: false;
34
32
  default: string;
35
33
  };
36
- type: {
37
- type: StringConstructor;
38
- default: string;
39
- validator: (value: string) => boolean;
34
+ attachments: {
35
+ type: () => FeedbackMessageAttachment[];
36
+ default: () => never[];
40
37
  };
41
38
  avatarUrl: {
42
39
  type: StringConstructor;
@@ -57,9 +54,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
57
54
  default: boolean;
58
55
  };
59
56
  }>> & Readonly<{}>, {
60
- value: string;
61
- type: string;
57
+ text: string;
62
58
  avatarUrl: string;
59
+ attachments: FeedbackMessageAttachment[];
63
60
  avatarText: string;
64
61
  bubbleStyle: Record<string, any>;
65
62
  showClipboard: boolean;
@@ -173,5 +173,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
173
173
  }): import('vue').VNode;
174
174
  };
175
175
  }) | null;
176
+ fileInputRef: HTMLInputElement;
176
177
  }, HTMLDivElement>;
177
178
  export default _default;
@@ -4,5 +4,6 @@ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import
4
4
  onConfirm?: ((...args: any[]) => any) | undefined;
5
5
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
6
6
  formRef: any;
7
+ fileInputRef: HTMLInputElement;
7
8
  }, HTMLDivElement>;
8
9
  export default _default;
@@ -0,0 +1,15 @@
1
+ import { FeedbackMessageAttachment } from '../../types/feedback';
2
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
3
+ attachments: {
4
+ type: () => FeedbackMessageAttachment[];
5
+ default: () => never[];
6
+ };
7
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
8
+ attachments: {
9
+ type: () => FeedbackMessageAttachment[];
10
+ default: () => never[];
11
+ };
12
+ }>> & Readonly<{}>, {
13
+ attachments: FeedbackMessageAttachment[];
14
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
15
+ export default _default;
@@ -0,0 +1,33 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ src: {
3
+ type: StringConstructor;
4
+ default: string;
5
+ };
6
+ title: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ };
10
+ visible: {
11
+ type: import('vue').PropType<boolean>;
12
+ };
13
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
14
+ "update:visible": (value: boolean) => any;
15
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
16
+ src: {
17
+ type: StringConstructor;
18
+ default: string;
19
+ };
20
+ title: {
21
+ type: StringConstructor;
22
+ default: string;
23
+ };
24
+ visible: {
25
+ type: import('vue').PropType<boolean>;
26
+ };
27
+ }>> & Readonly<{
28
+ "onUpdate:visible"?: ((value: boolean) => any) | undefined;
29
+ }>, {
30
+ title: string;
31
+ src: string;
32
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
33
+ export default _default;
@@ -13,9 +13,9 @@ declare function __VLS_template(): {
13
13
  };
14
14
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
15
15
  declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
16
- padding: string;
17
16
  flexDirection: "row" | "column" | "row-reverse" | "column-reverse";
18
17
  gap: string;
18
+ padding: string;
19
19
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
20
20
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
21
21
  export default _default;
@@ -17,9 +17,9 @@ declare function __VLS_template(): {
17
17
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
18
  declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
19
19
  center: boolean;
20
- padding: string;
21
20
  flexDirection: import("csstype").Property.FlexDirection;
22
21
  gap: string;
22
+ padding: string;
23
23
  maxWidth: string;
24
24
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
25
25
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
@@ -25,12 +25,12 @@ export interface BillingProduct {
25
25
  id: string;
26
26
  name: string;
27
27
  description?: string;
28
- features: BillingProductFeature[];
29
28
  metadata?: Record<string, unknown>;
30
29
  displayOrder?: number;
31
30
  prices: BillingPrice[];
32
31
  }
33
32
  export interface BillingPlan extends BillingProduct {
33
+ features: BillingProductFeature[];
34
34
  selectedPrice: BillingPrice;
35
35
  }
36
36
  export interface BillingSubscription {
@@ -96,15 +96,6 @@ export declare function useBillingPlans(defaultInterval?: BillingInterval | Bill
96
96
  id: string;
97
97
  name: string;
98
98
  description?: string | undefined;
99
- features: {
100
- key: string;
101
- name: string;
102
- description?: string | undefined;
103
- type: "boolean" | "quota" | "unlimited";
104
- value?: boolean | number | undefined;
105
- highlight?: boolean | undefined;
106
- quotaPeriod?: BillingQuotaPeriod | undefined;
107
- }[];
108
99
  metadata?: Record<string, unknown> | undefined;
109
100
  displayOrder?: number | undefined;
110
101
  prices: {
@@ -130,15 +121,6 @@ export declare function useBillingPlans(defaultInterval?: BillingInterval | Bill
130
121
  id: string;
131
122
  name: string;
132
123
  description?: string | undefined;
133
- features: {
134
- key: string;
135
- name: string;
136
- description?: string | undefined;
137
- type: "boolean" | "quota" | "unlimited";
138
- value?: boolean | number | undefined;
139
- highlight?: boolean | undefined;
140
- quotaPeriod?: BillingQuotaPeriod | undefined;
141
- }[];
142
124
  metadata?: Record<string, unknown> | undefined;
143
125
  displayOrder?: number | undefined;
144
126
  prices: {
@@ -0,0 +1,6 @@
1
+ export type FeedbackAttachmentKind = 'image' | 'video' | 'file';
2
+ export declare const FEEDBACK_ATTACHMENT_EXTENSIONS: readonly [".jpg", ".jpeg", ".png", ".gif", ".webp", ".mp4", ".webm", ".mov", ".pdf", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".txt", ".md", ".csv", ".json", ".zip"];
3
+ export declare const FEEDBACK_ATTACHMENT_ACCEPT: string;
4
+ export declare function getFeedbackAttachmentExtension(filename: string): string;
5
+ export declare function isFeedbackAttachmentAllowed(file: File): boolean;
6
+ export declare function getFeedbackAttachmentKind(file: File, mimeType?: string): FeedbackAttachmentKind;
@@ -0,0 +1,9 @@
1
+ export type UploadedFeedbackAttachmentKind = 'image' | 'video' | 'file';
2
+ export type UploadedFeedbackAttachment = {
3
+ key: string;
4
+ name: string;
5
+ size: number;
6
+ mimeType: string;
7
+ kind: UploadedFeedbackAttachmentKind;
8
+ };
9
+ export declare function uploadFeedbackAttachments(files: File[], bucketId: string): Promise<UploadedFeedbackAttachment[]>;
@@ -0,0 +1,98 @@
1
+ export type FeedbackPendingAttachmentKind = 'image' | 'video' | 'file';
2
+ export type FeedbackPendingAttachment = {
3
+ id: string;
4
+ file: File;
5
+ kind: FeedbackPendingAttachmentKind;
6
+ previewUrl?: string;
7
+ };
8
+ export declare function useFeedbackPendingAttachments(onError?: (message: string) => void): {
9
+ items: import('vue').Ref<{
10
+ id: string;
11
+ file: {
12
+ readonly lastModified: number;
13
+ readonly name: string;
14
+ readonly webkitRelativePath: string;
15
+ readonly size: number;
16
+ readonly type: string;
17
+ arrayBuffer: () => Promise<ArrayBuffer>;
18
+ bytes: () => Promise<Uint8Array<ArrayBuffer>>;
19
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
20
+ stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
21
+ text: () => Promise<string>;
22
+ };
23
+ kind: FeedbackPendingAttachmentKind;
24
+ previewUrl?: string | undefined;
25
+ }[], FeedbackPendingAttachment[] | {
26
+ id: string;
27
+ file: {
28
+ readonly lastModified: number;
29
+ readonly name: string;
30
+ readonly webkitRelativePath: string;
31
+ readonly size: number;
32
+ readonly type: string;
33
+ arrayBuffer: () => Promise<ArrayBuffer>;
34
+ bytes: () => Promise<Uint8Array<ArrayBuffer>>;
35
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
36
+ stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
37
+ text: () => Promise<string>;
38
+ };
39
+ kind: FeedbackPendingAttachmentKind;
40
+ previewUrl?: string | undefined;
41
+ }[]>;
42
+ imageItems: import('vue').ComputedRef<{
43
+ id: string;
44
+ file: {
45
+ readonly lastModified: number;
46
+ readonly name: string;
47
+ readonly webkitRelativePath: string;
48
+ readonly size: number;
49
+ readonly type: string;
50
+ arrayBuffer: () => Promise<ArrayBuffer>;
51
+ bytes: () => Promise<Uint8Array<ArrayBuffer>>;
52
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
53
+ stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
54
+ text: () => Promise<string>;
55
+ };
56
+ kind: FeedbackPendingAttachmentKind;
57
+ previewUrl?: string | undefined;
58
+ }[]>;
59
+ videoItems: import('vue').ComputedRef<{
60
+ id: string;
61
+ file: {
62
+ readonly lastModified: number;
63
+ readonly name: string;
64
+ readonly webkitRelativePath: string;
65
+ readonly size: number;
66
+ readonly type: string;
67
+ arrayBuffer: () => Promise<ArrayBuffer>;
68
+ bytes: () => Promise<Uint8Array<ArrayBuffer>>;
69
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
70
+ stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
71
+ text: () => Promise<string>;
72
+ };
73
+ kind: FeedbackPendingAttachmentKind;
74
+ previewUrl?: string | undefined;
75
+ }[]>;
76
+ fileItems: import('vue').ComputedRef<{
77
+ id: string;
78
+ file: {
79
+ readonly lastModified: number;
80
+ readonly name: string;
81
+ readonly webkitRelativePath: string;
82
+ readonly size: number;
83
+ readonly type: string;
84
+ arrayBuffer: () => Promise<ArrayBuffer>;
85
+ bytes: () => Promise<Uint8Array<ArrayBuffer>>;
86
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
87
+ stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
88
+ text: () => Promise<string>;
89
+ };
90
+ kind: FeedbackPendingAttachmentKind;
91
+ previewUrl?: string | undefined;
92
+ }[]>;
93
+ hasAttachments: import('vue').ComputedRef<boolean>;
94
+ addFiles: (files: File[]) => void;
95
+ removeAt: (index: number) => void;
96
+ clear: () => void;
97
+ maxAttachments: number;
98
+ };
@@ -8,9 +8,9 @@ import { u as d } from "./useMessageNotifications-CFku0c2R.js";
8
8
  import { u as O, a as T, b as P, c as R } from "./useSEO-CbHCw4gq.js";
9
9
  import { u as E } from "./useTableHandle-TDJa_Czn.js";
10
10
  import { f as k, a as _, g as I, u as M, b as B, c as w, w as F } from "./useRoutePermission-v4_0B-aO.js";
11
- import { u as v } from "./useUploadCos-CvG6EL5Q.js";
11
+ import { u as v } from "./useUploadCos-DOHnz2MP.js";
12
12
  import { u as G } from "./useUserMenu-ClPBlvaM.js";
13
- import { u as H, a as V } from "./useSubscriptionCheckout-CfFdAhTR.js";
13
+ import { u as H, a as V } from "./useSubscriptionCheckout-BjPiHSjA.js";
14
14
  import { I as j, P as q, R as z, c as J, u as Q, a as W, b as X } from "./useBillingStatusOptions-CAsu1hrf.js";
15
15
  export {
16
16
  j as INVOICE_STATUS_FALLBACK,
@@ -10,5 +10,4 @@ export { default as FeedbackList } from './components/Feedback/FeedbackList.vue'
10
10
  export { default as FeedbackModal } from './components/Feedback/FeedbackModal.vue';
11
11
  export { default as FeedbackFloatButton } from './components/Feedback/FeedbackFloatButton.vue';
12
12
  export { default as FeedbackRefresh } from './components/Feedback/FeedbackRefresh.vue';
13
- export { default as FeedbackScreenshots } from './components/Feedback/FeedbackScreenshots.vue';
14
13
  export type * from './types/feedback';
package/dist/feedback.js CHANGED
@@ -1,18 +1,17 @@
1
- import { B as b, a as s, F as d, b as F, c, d as o, R as t } from "./FeedbackModal-C45pNoiw.js";
1
+ import { B as b, a as s, F, b as d, _ as c, c as o, R as t } from "./FeedbackModal.vue_vue_type_script_setup_true_lang-CAGBbiZD.js";
2
2
  import { C as r } from "./Clipboard-R3AURqvU.js";
3
- import { F as m, a as n, b as f, c as i, d as p } from "./FeedbackItem-DkvSQT33.js";
3
+ import { F as m, a as f, b as i, c as n } from "./FeedbackItem-BP-SiJ2u.js";
4
4
  export {
5
5
  r as Clipboard,
6
6
  b as FeedbackBubbleEnd,
7
7
  s as FeedbackBubbleStart,
8
8
  m as FeedbackContainer,
9
- n as FeedbackCustomTabs,
10
- d as FeedbackDetails,
11
- f as FeedbackFloatButton,
12
- F as FeedbackForm,
13
- i as FeedbackItem,
9
+ f as FeedbackCustomTabs,
10
+ F as FeedbackDetails,
11
+ i as FeedbackFloatButton,
12
+ d as FeedbackForm,
13
+ n as FeedbackItem,
14
14
  c as FeedbackList,
15
15
  o as FeedbackModal,
16
- t as FeedbackRefresh,
17
- p as FeedbackScreenshots
16
+ t as FeedbackRefresh
18
17
  };