@wisemen/wise-crm-web 1.0.0 → 1.2.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 (97) hide show
  1. package/dist/ActivityIcon-DNdtN-M_.js +19 -0
  2. package/dist/AppSkeletonLoader-Dq6pKznm.js +1112 -0
  3. package/dist/{AttachmentIcon-CsucE3yf.js → AttachmentIcon-BLUd7LaN.js} +9 -7
  4. package/dist/BoldIcon-WRYUWz15.js +16 -0
  5. package/dist/{BookIcon-DgT3flV5.js → BookIcon-Bb3r5y_J.js} +9 -7
  6. package/dist/{BuildingIcon-Bm18omgW.js → BuildingIcon-DFutRg8d.js} +9 -7
  7. package/dist/{BuildingsIcon-D4X7QciL.js → BuildingsIcon-BVHy6yoa.js} +9 -7
  8. package/dist/{BulletListIcon-CNCV-cOS.js → BulletListIcon-BhOXLSBa.js} +9 -7
  9. package/dist/BusinessDetailSidebarProvider-a6VeNUii.js +2946 -0
  10. package/dist/BusinessDetailView-Dz3wDSx5.js +24 -0
  11. package/dist/ChevronDownIcon-BmyTSPND.js +19 -0
  12. package/dist/ClockIcon-BYfZAvIE.js +23 -0
  13. package/dist/ClockPlusIcon-BcNi0Y9I.js +23 -0
  14. package/dist/{CopyIcon-CUomKXdn.js → CopyIcon-2eV8MRv_.js} +9 -7
  15. package/dist/CrmDetailHeaderCard-BkA0Z-Cu.js +2523 -0
  16. package/dist/CrmDetailView-BhZEQqUH.js +67 -0
  17. package/dist/DealCommunicationTabView-Drp9MEPu.js +140 -0
  18. package/dist/DealDetailView-DWLudchX.js +1049 -0
  19. package/dist/DealExternalAttachment-B6l0gDqF.js +179 -0
  20. package/dist/{DealIcon-CpO-DkyS.js → DealIcon-BwUWYDxo.js} +9 -7
  21. package/dist/DealSendMailDialog-Dqei4933.js +1566 -0
  22. package/dist/DownloadCloudIcon-BSrLGGrY.js +19 -0
  23. package/dist/{EditWithLineIcon-C0WMD50F.js → EditWithLineIcon-BKYDPJOY.js} +9 -7
  24. package/dist/{Error-X0deDY-N.js → Error-za-wClcU.js} +2591 -2462
  25. package/dist/{FileIcon-3FebXgYQ.js → FileIcon-DL1e1tAu.js} +9 -7
  26. package/dist/FilterLinesIcon-DgVMySAE.js +22 -0
  27. package/dist/H1Icon-B6NEsEbj.js +17 -0
  28. package/dist/{H2Icon-CuEmp9I0.js → H2Icon-CNof5Ohu.js} +9 -7
  29. package/dist/{H3Icon-wAPhdYIf.js → H3Icon-B2F2Tb6r.js} +9 -7
  30. package/dist/HashIcon-C_XttKfW.js +19 -0
  31. package/dist/HomeFilledIcon-DtZ2eXxt.js +16 -0
  32. package/dist/IndividualDetailSidebarProvider-jjRoK1Av.js +609 -0
  33. package/dist/IndividualDetailView-BqIRHn-0.js +24 -0
  34. package/dist/ItalicIcon-DqBns3yy.js +17 -0
  35. package/dist/{LayersTreeIcon-Ct-owndO.js → LayersTreeIcon-DZZCSCY9.js} +10 -8
  36. package/dist/{LinkBrokenIcon-CTlqmapl.js → LinkBrokenIcon-BNBpWSi7.js} +9 -7
  37. package/dist/{LinkExternalIcon-LOVtSqBT.js → LinkExternalIcon-B7SHeB1_.js} +9 -7
  38. package/dist/LinkIcon-8bCrZEv9.js +17 -0
  39. package/dist/{LocationPinIcon-Cp-wRgk2.js → LocationPinIcon-UySRqSfG.js} +9 -7
  40. package/dist/{MailIcon-CnTrB1k3.js → MailIcon-BT7gSIZb.js} +9 -7
  41. package/dist/{MobilePhoneIcon-B747hmpS.js → MobilePhoneIcon-_KQGnCSS.js} +9 -7
  42. package/dist/NumberedListIcon-B-JVTSAe.js +17 -0
  43. package/dist/{PhoneIcon-94MYVL85.js → PhoneIcon-DGGW_MNR.js} +9 -7
  44. package/dist/{RefreshIcon-DRe3coBc.js → RefreshIcon-D1QWfdPD.js} +9 -7
  45. package/dist/{SendIcon-MYItp1xI.js → SendIcon-BtJ-NCec.js} +9 -7
  46. package/dist/{SettingsIcon-C0qTAv0w.js → SettingsIcon-CWFwJelS.js} +10 -8
  47. package/dist/{StarOutlineIcon-CiFLgepk.js → StarOutlineIcon-C-ELTCDQ.js} +9 -7
  48. package/dist/{StarYellowIcon-C0v_XGwI.js → StarYellowIcon-7wuNWaQO.js} +9 -7
  49. package/dist/{ThreeDotsIcon-lujOTU3G.js → ThreeDotsIcon-C56RWk-0.js} +12 -10
  50. package/dist/TimeLineMarkerIcon-DLmPwfs6.js +18 -0
  51. package/dist/{TrashIcon-v4L9SEK_.js → TrashIcon-o4PWmcYe.js} +9 -7
  52. package/dist/UploadCloudIcon-D2tWB0NP.js +19 -0
  53. package/dist/{UserCircleIcon-BjUt_2C4.js → UserCircleIcon-DiDajcIH.js} +10 -8
  54. package/dist/UserIcon-Bv1eF7ln.js +22 -0
  55. package/dist/{VerticalDotsIcon-Y3m6tlQ2.js → VerticalDotsIcon-YcD73UqY.js} +9 -7
  56. package/dist/{WalletIcon-pPsKbzmh.js → WalletIcon-CUh92U5K.js} +9 -7
  57. package/dist/_plugin-vue_export-helper-D3hKq4w_.js +8 -0
  58. package/dist/client-9P6xe_5g.js +4188 -0
  59. package/dist/components/auto-focus/AutoFocus.vue.d.ts +13 -0
  60. package/dist/components/column-layout/ColumnLayout.vue.d.ts +1 -1
  61. package/dist/components/row-layout/RowLayout.vue.d.ts +1 -1
  62. package/dist/components/text/Text.vue.d.ts +1 -1
  63. package/dist/index.js +1881 -1693
  64. package/dist/style.css +2 -2
  65. package/dist/testing.js +102 -98
  66. package/dist/utils/color.util.d.ts +6 -0
  67. package/dist/{uuid.util-C1p-yuFc.js → uuid.util-DpiDKVoj.js} +4 -2
  68. package/package.json +30 -30
  69. package/dist/ActivityIcon-DFD9ZhO0.js +0 -17
  70. package/dist/AppSkeletonLoader-BAhoOmFD.js +0 -1106
  71. package/dist/BoldIcon-DY2FlAS0.js +0 -14
  72. package/dist/BusinessDetailSidebarProvider-Dm6Dd7Nq.js +0 -2899
  73. package/dist/BusinessDetailView-BHVUfCpV.js +0 -24
  74. package/dist/ChevronDownIcon-CfBAAAca.js +0 -17
  75. package/dist/ClockIcon-Ckr1IQBt.js +0 -21
  76. package/dist/ClockPlusIcon-CVN69pCS.js +0 -21
  77. package/dist/CrmDetailHeaderCard-CiVLyIuw.js +0 -2516
  78. package/dist/CrmDetailView-DaAuWeiB.js +0 -65
  79. package/dist/DealCommunicationTabView-xq_zOAsr.js +0 -137
  80. package/dist/DealDetailView-C54XpYN1.js +0 -1021
  81. package/dist/DealExternalAttachment-Dp44vkgt.js +0 -177
  82. package/dist/DealSendMailDialog-D11Tgd_A.js +0 -1552
  83. package/dist/DownloadCloudIcon-VMmB9vit.js +0 -17
  84. package/dist/FilterLinesIcon-DHpRPKJB.js +0 -20
  85. package/dist/H1Icon-CPVGTTtl.js +0 -15
  86. package/dist/HashIcon-C2kfHjTC.js +0 -17
  87. package/dist/HomeFilledIcon-CxIazF0B.js +0 -14
  88. package/dist/IndividualDetailSidebarProvider-BvjhFng9.js +0 -608
  89. package/dist/IndividualDetailView-Cq8iAwQv.js +0 -24
  90. package/dist/ItalicIcon-DfV3EOdk.js +0 -15
  91. package/dist/LinkIcon-DqBbVrvs.js +0 -15
  92. package/dist/NumberedListIcon-amJxDaaD.js +0 -15
  93. package/dist/TimeLineMarkerIcon-C4LfErbc.js +0 -16
  94. package/dist/UploadCloudIcon-j1-1Rvqb.js +0 -17
  95. package/dist/UserIcon-Cb2jFKLr.js +0 -20
  96. package/dist/_plugin-vue_export-helper-BSi1g3Lh.js +0 -6
  97. package/dist/client-S6BLV3Ct.js +0 -4191
@@ -0,0 +1,67 @@
1
+ import { A as e, D as t, T as n } from "./Error-za-wClcU.js";
2
+ import { Fragment as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, createVNode as l, defineComponent as u, openBlock as d, ref as f, renderList as p, renderSlot as m, toDisplayString as h, toValue as g, unref as _, withCtx as v } from "vue";
3
+ import { VcIconButton as y, VcRouterLinkTabs as b, VcRouterLinkTabsItem as x } from "@wisemen/vue-core-components";
4
+ import { RouterView as S } from "vue-router";
5
+ import { onKeyStroke as C } from "@vueuse/core";
6
+ //#region src/utils/context.util.ts
7
+ var w = class {
8
+ static parentHasAriaHidden(e) {
9
+ let t = e.parentElement;
10
+ for (; t;) {
11
+ if (t.hasAttribute("aria-hidden")) return t.getAttribute("aria-hidden") === "true";
12
+ t = t.parentElement;
13
+ }
14
+ return !1;
15
+ }
16
+ }, T = { key: 0 }, E = { class: "flex h-dvh w-dvw flex-1 overflow-hidden" }, D = { class: "flex h-full min-w-[400px] flex-col" }, O = { class: "bg-secondary flex h-full w-full flex-1 justify-center overflow-hidden" }, k = { class: "flex w-full flex-col" }, A = { class: "p-lg grid w-full grid-cols-3" }, j = { class: "flex items-center justify-center" }, M = { class: "flex items-center justify-end" }, N = { class: "h-full w-full overflow-y-auto" }, P = /* @__PURE__ */ u({
17
+ __name: "CrmDetailView",
18
+ props: {
19
+ entityType: {},
20
+ tabs: {}
21
+ },
22
+ setup(u) {
23
+ let P = u, F = f(null), I = n(), L = t();
24
+ return C("Escape", () => {
25
+ let e = F.value?.$el;
26
+ e && w.parentHasAriaHidden(e) || I.goToReturnRoute();
27
+ }), (t, n) => _(L).isInitialized.value ? (d(), o("div", T, [s("div", E, [s("div", D, [m(t.$slots, "sidebar")]), l(e, {
28
+ color: _(I).getEntityConfig(u.entityType)?.color ?? null,
29
+ class: "relative flex flex-1 flex-col overflow-hidden"
30
+ }, {
31
+ default: v(() => [s("div", O, [s("div", k, [s("div", A, [
32
+ n[1] ||= s("div", null, null, -1),
33
+ s("div", j, [l(_(b), {
34
+ "class-config": {
35
+ base: "flex justify-center bg-primary border-none shadow-lg w-fit",
36
+ list: "rounded-lg w-fit",
37
+ item: "data-[state=active]:text-[var(--brand-contrast)]",
38
+ indicator: "rounded-md bg-gradient-to-b bg-brand-500",
39
+ scrollContainer: "!p-xs bg-white rounded-lg border border-primary/50"
40
+ },
41
+ variant: "button-border"
42
+ }, {
43
+ items: v(() => [(d(!0), o(r, null, p(P.tabs, (e) => (d(), i(_(x), {
44
+ key: g(e.label),
45
+ to: { name: e.to }
46
+ }, {
47
+ default: v(() => [c(h(g(e.label)), 1)]),
48
+ _: 2
49
+ }, 1032, ["to"]))), 128))]),
50
+ _: 1
51
+ })]),
52
+ s("div", M, [l(_(y), {
53
+ ref_key: "closeButtonRef",
54
+ ref: F,
55
+ "class-config": { root: "rounded-md shadow-lg" },
56
+ icon: "close",
57
+ label: "Close",
58
+ variant: "secondary",
59
+ onClick: n[0] ||= (e) => _(I).goToReturnRoute()
60
+ }, null, 512)])
61
+ ]), s("div", N, [l(_(S))])])])]),
62
+ _: 1
63
+ }, 8, ["color"])])])) : a("", !0);
64
+ }
65
+ });
66
+ //#endregion
67
+ export { P as t };
@@ -0,0 +1,140 @@
1
+ import { a as e, l as t, n, t as r } from "./AppSkeletonLoader-Dq6pKznm.js";
2
+ import { n as i, r as a, t as o } from "./DealExternalAttachment-B6l0gDqF.js";
3
+ import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createVNode as p, defineComponent as m, normalizeClass as h, openBlock as g, renderList as _, toDisplayString as v, unref as y, withCtx as b } from "vue";
4
+ import { useI18n as x } from "vue-i18n";
5
+ import { VcIcon as S } from "@wisemen/vue-core-components";
6
+ import { AnimatePresence as C, Motion as w } from "motion-v";
7
+ import { AccordionContent as T, AccordionHeader as E, AccordionItem as D, AccordionRoot as O, AccordionTrigger as k } from "reka-ui";
8
+ import { useRouteParams as A } from "@vueuse/router";
9
+ //#region src/api/queries/mail/mailIndex.query.ts
10
+ function j(e) {
11
+ return t({
12
+ queryFn: () => a.getAll({
13
+ filters: e?.params.filters.value,
14
+ pagination: {
15
+ limit: 10,
16
+ offset: 0
17
+ }
18
+ }),
19
+ queryKey: { mailIndex: { queryParams: e?.params } }
20
+ });
21
+ }
22
+ //#endregion
23
+ //#region src/deal/components/DealCommunicationMailList.vue?vue&type=script&setup=true&lang.ts
24
+ var M = { class: "p-xl" }, N = { class: "bg-primary border-secondary rounded-xl border shadow-lg" }, P = { class: "text-lg font-medium" }, F = {
25
+ key: 0,
26
+ class: "gap-md flex h-120 w-full flex-col items-center justify-center text-center"
27
+ }, I = { class: "text-3xl font-semibold" }, L = { class: "relative" }, R = { class: "sr-only" }, z = { class: "gap-sm flex min-w-0 flex-1 items-center" }, B = { class: "truncate" }, V = { class: "gap-sm flex items-center" }, H = { class: "text-tertiary flex flex-col items-end text-sm" }, U = { class: "flex flex-col" }, W = ["innerHTML"], G = /* @__PURE__ */ m({
28
+ __name: "DealCommunicationMailList",
29
+ props: { mails: {} },
30
+ setup(t) {
31
+ let r = t, a = x();
32
+ function c(e) {
33
+ return n().toDateTime(e.createdAt);
34
+ }
35
+ function m(e) {
36
+ return e.to.join(", ");
37
+ }
38
+ return (t, n) => (g(), d("div", M, [f("div", N, [
39
+ p(i, null, {
40
+ default: b(() => [f("p", P, v(y(a).t("wise_crm.deal.communication.mail_list.title")), 1)]),
41
+ _: 1
42
+ }),
43
+ r.mails.length === 0 ? (g(), d("div", F, [f("p", I, v(y(a).t("wise_crm.deal.communication.mail_list.no_communication_sent")), 1), f("p", null, v(y(a).t("wise_crm.deal.communication.mail_list.create_quote_instruction")), 1)])) : u("", !0),
44
+ r.mails.length > 0 ? (g(), l(y(O), {
45
+ key: 1,
46
+ collapsible: !0,
47
+ type: "multiple",
48
+ class: "flex flex-col gap-0"
49
+ }, {
50
+ default: b(() => [(g(!0), d(s, null, _(r.mails, (t, n) => (g(), l(y(D), {
51
+ key: t.uuid,
52
+ value: t.uuid
53
+ }, {
54
+ default: b(({ open: a }) => [p(y(E), null, {
55
+ default: b(() => [f("div", L, [p(y(k), { class: "ring-brand-500 absolute inset-0 rounded-none ring-offset-1 duration-200 outline-none focus-visible:ring-2" }, {
56
+ default: b(() => [f("span", R, v(t.subject), 1)]),
57
+ _: 2
58
+ }, 1024), f("div", { class: h([{ "border-secondary border-b": n < r.mails.length - 1 }, "py-lg px-2xl"]) }, [p(e, { justify: "between" }, {
59
+ default: b(() => [f("div", z, [p(y(S), {
60
+ icon: "mail",
61
+ class: "text-secondary size-4 flex-shrink-0"
62
+ }), f("p", B, v(t.subject), 1)]), f("div", V, [f("div", H, [f("span", null, v(m(t)), 1), f("span", null, v(c(t)), 1)]), p(y(S), {
63
+ class: h([{ "-rotate-180": a }, "text-secondary size-4 flex-shrink-0 duration-300"]),
64
+ icon: "chevronDown"
65
+ }, null, 8, ["class"])])]),
66
+ _: 2
67
+ }, 1024)], 2)])]),
68
+ _: 2
69
+ }, 1024), p(y(C), { initial: !1 }, {
70
+ default: b(() => [a ? (g(), l(y(T), {
71
+ key: 0,
72
+ class: "overflow-clip"
73
+ }, {
74
+ default: b(() => [p(y(w), {
75
+ initial: {
76
+ opacity: 0,
77
+ height: 0,
78
+ y: -10
79
+ },
80
+ animate: {
81
+ opacity: 1,
82
+ height: "auto",
83
+ filter: "blur(0px)",
84
+ y: 0
85
+ },
86
+ exit: {
87
+ opacity: 0,
88
+ height: 0,
89
+ filter: "blur(5px)",
90
+ y: -10
91
+ },
92
+ transition: {
93
+ bounce: 0,
94
+ duration: .4,
95
+ type: "spring"
96
+ }
97
+ }, {
98
+ default: b(() => [f("div", U, [t.attachments.length > 0 ? (g(), l(i, { key: 0 }, {
99
+ default: b(() => [p(e, null, {
100
+ default: b(() => [(g(!0), d(s, null, _(t.attachments, (e) => (g(), l(o, {
101
+ key: e.uuid,
102
+ attachment: e
103
+ }, null, 8, ["attachment"]))), 128))]),
104
+ _: 2
105
+ }, 1024)]),
106
+ _: 2
107
+ }, 1024)) : u("", !0), p(i, null, {
108
+ default: b(() => [f("div", {
109
+ class: "prose pb-xl py-3xl max-w-full",
110
+ innerHTML: t.text
111
+ }, null, 8, W)]),
112
+ _: 2
113
+ }, 1024)])]),
114
+ _: 2
115
+ }, 1024)]),
116
+ _: 2
117
+ }, 1024)) : u("", !0)]),
118
+ _: 2
119
+ }, 1024)]),
120
+ _: 2
121
+ }, 1032, ["value"]))), 128))]),
122
+ _: 1
123
+ })) : u("", !0)
124
+ ])]));
125
+ }
126
+ }), K = {
127
+ key: 0,
128
+ class: "p-xl"
129
+ }, q = /* @__PURE__ */ m({
130
+ __name: "DealCommunicationTabView",
131
+ setup(e) {
132
+ let t = A("dealUuid"), n = j({ params: { filters: c(() => ({ dealUuid: t.value })) } });
133
+ return (e, t) => (g(), d("div", null, [y(n).isLoading.value ? (g(), d("div", K, [p(r, { class: "h-150 w-full" })])) : y(n).data.value ? (g(), l(G, {
134
+ key: 1,
135
+ mails: y(n).data.value ?? []
136
+ }, null, 8, ["mails"])) : u("", !0)]));
137
+ }
138
+ });
139
+ //#endregion
140
+ export { q as default };