@glodon-aiot/dataset-annotation 3.2.2-beta.3 → 3.2.10-beta.1

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 (137) hide show
  1. package/dist/dataset-annotation.js +12191 -12198
  2. package/dist/dataset-annotation.umd.cjs +135 -135
  3. package/dist/es/Common/Page/index.mjs +29 -0
  4. package/dist/es/Common/Page/style.less.mjs +4 -0
  5. package/dist/es/Common/PageContent/index.mjs +18 -0
  6. package/dist/es/Common/PageHeader/index.mjs +39 -0
  7. package/dist/es/Common/PageHeader/style.less.mjs +4 -0
  8. package/dist/es/DatasetContext/index.mjs +11 -0
  9. package/dist/es/access/images/data_empty.svg.mjs +4 -0
  10. package/dist/es/components/CompositionInput/index.mjs +53 -0
  11. package/dist/es/components/DataEmpty/index.mjs +51 -0
  12. package/dist/es/components/DataEmpty/style.less.mjs +4 -0
  13. package/dist/es/components/DetectionAnnotation/PreSamplesPage/index.mjs +292 -0
  14. package/dist/es/components/DetectionAnnotation/PreSamplesPage/style.less.mjs +4 -0
  15. package/dist/es/components/DetectionAnnotation/components/DisabledTooltip/index.mjs +23 -0
  16. package/dist/es/components/DetectionAnnotation/components/ImageDetail/index.mjs +166 -0
  17. package/dist/es/components/DetectionAnnotation/components/ImageDetail/style.less.mjs +4 -0
  18. package/dist/es/components/DetectionAnnotation/components/LabelMaker/Drawable.mjs +51 -0
  19. package/dist/es/components/DetectionAnnotation/components/LabelMaker/FabricCustomize.mjs +42 -0
  20. package/dist/es/components/DetectionAnnotation/components/LabelMaker/RectLabel.mjs +283 -0
  21. package/dist/es/components/DetectionAnnotation/components/LabelMaker/icons/delete-icon.svg.mjs +4 -0
  22. package/dist/es/components/DetectionAnnotation/components/LabelMaker/index.mjs +315 -0
  23. package/dist/es/components/DetectionAnnotation/components/LabelMaker/style.less.mjs +4 -0
  24. package/dist/es/components/DetectionAnnotation/components/Labels/index.mjs +201 -0
  25. package/dist/es/components/DetectionAnnotation/components/Labels/style.less.mjs +4 -0
  26. package/dist/es/components/DetectionAnnotation/components/TagItem/index.mjs +144 -0
  27. package/dist/es/components/DetectionAnnotation/components/TagItem/style.less.mjs +4 -0
  28. package/dist/es/components/DetectionAnnotation/icon_item_empty.svg.mjs +4 -0
  29. package/dist/es/components/DetectionAnnotation/index.mjs +713 -0
  30. package/dist/es/components/DetectionAnnotation/style.less.mjs +4 -0
  31. package/dist/es/components/DetectionImageAnnotation/index.mjs +62 -0
  32. package/dist/es/components/DetectionImageAnnotation/style.less.mjs +4 -0
  33. package/dist/es/components/Iconfont/index.mjs +16 -0
  34. package/dist/es/components/MarkDescriptions/index.mjs +66 -0
  35. package/dist/es/components/MarkDescriptions/style.less.mjs +4 -0
  36. package/dist/es/components/OCRImageViewer/index.mjs +213 -0
  37. package/dist/es/components/OCRImageViewer/style.less.mjs +4 -0
  38. package/dist/es/components/OcrAnnotation/MarkKVOCRModal/CategoryDrawer.mjs +136 -0
  39. package/dist/es/components/OcrAnnotation/MarkKVOCRModal/KVOCRLabelMaker/LabelEditorInput.mjs +57 -0
  40. package/dist/es/components/OcrAnnotation/MarkKVOCRModal/KVOCRLabelMaker/LabelEditorItem.mjs +73 -0
  41. package/dist/es/components/OcrAnnotation/MarkKVOCRModal/KVOCRLabelMaker/LableEditor.mjs +55 -0
  42. package/dist/es/components/OcrAnnotation/MarkKVOCRModal/KVOCRLabelMaker/index.mjs +366 -0
  43. package/dist/es/components/OcrAnnotation/MarkKVOCRModal/KVOCRLabelMaker/style.less.mjs +4 -0
  44. package/dist/es/components/OcrAnnotation/MarkKVOCRModal/index.mjs +255 -0
  45. package/dist/es/components/OcrAnnotation/MarkKVOCRModal/style.less.mjs +4 -0
  46. package/dist/es/components/OcrAnnotation/MarkOCRBoxModal/ImageDetail/index.mjs +101 -0
  47. package/dist/es/components/OcrAnnotation/MarkOCRBoxModal/ImageDetail/style.less.mjs +4 -0
  48. package/dist/es/components/OcrAnnotation/MarkOCRBoxModal/OCRBoxMaker/images/delete.png.mjs +4 -0
  49. package/dist/es/components/OcrAnnotation/MarkOCRBoxModal/OCRBoxMaker/index.mjs +756 -0
  50. package/dist/es/components/OcrAnnotation/MarkOCRBoxModal/OCRBoxMaker/style.less.mjs +4 -0
  51. package/dist/es/components/OcrAnnotation/MarkOCRBoxModal/index.mjs +231 -0
  52. package/dist/es/components/OcrAnnotation/MarkOCRBoxModal/style.less.mjs +4 -0
  53. package/dist/es/components/OcrAnnotation/OcrModal/index.mjs +180 -0
  54. package/dist/es/components/OcrAnnotation/OcrModal/style.less.mjs +4 -0
  55. package/dist/es/components/OcrAnnotation/PreLabelOCR/PreLabelModal.mjs +281 -0
  56. package/dist/es/components/OcrAnnotation/PreLabelOCR/index.mjs +44 -0
  57. package/dist/es/components/OcrAnnotation/PreLabelOCR/style.less.mjs +4 -0
  58. package/dist/es/components/OcrAnnotation/constant.mjs +5 -0
  59. package/dist/es/components/OcrAnnotation/index.mjs +382 -0
  60. package/dist/es/components/OcrAnnotation/style.less.mjs +4 -0
  61. package/dist/es/components/OcrImageAnnotation/index.mjs +40 -0
  62. package/dist/es/components/OcrImageAnnotation/style.less.mjs +4 -0
  63. package/dist/es/components/PageNav/index.mjs +30 -0
  64. package/dist/es/components/PageNav/style.less.mjs +4 -0
  65. package/dist/es/components/PicZipImportModal/index.mjs +584 -0
  66. package/dist/es/components/PicZipImportModal/pic_zip.svg.mjs +4 -0
  67. package/dist/es/components/PicZipImportModal/pic_zip_json.svg.mjs +4 -0
  68. package/dist/es/components/PicZipImportModal/style.less.mjs +4 -0
  69. package/dist/es/components/PreLabelOCR/PreLabelModal.mjs +276 -0
  70. package/dist/es/components/PreLabelOCR/index.mjs +44 -0
  71. package/dist/es/components/PreLabelOCR/style.less.mjs +4 -0
  72. package/dist/es/components/ScanTable/index.mjs +97 -0
  73. package/dist/es/components/ScanTable/style.less.mjs +4 -0
  74. package/dist/es/components/Thumbnail/default.png.mjs +4 -0
  75. package/dist/es/components/Thumbnail/index.mjs +31 -0
  76. package/dist/es/components/Thumbnail/style.less.mjs +4 -0
  77. package/dist/es/components/hooks/Prompt.mjs +33 -0
  78. package/dist/es/constant.mjs +13 -0
  79. package/dist/es/createDatasetAnnotation/index.mjs +133 -0
  80. package/dist/es/createDetectionDatasetAnnotation/index.mjs +129 -0
  81. package/dist/es/createDetectionImageAnnotation/index.mjs +31 -0
  82. package/dist/es/createOcrDatasetAnnotation/index.mjs +129 -0
  83. package/dist/es/createOcrImageAnnotation/index.mjs +33 -0
  84. package/dist/es/featuresConfig.mjs +79 -0
  85. package/dist/es/index.mjs +13 -0
  86. package/dist/es/utils/color.mjs +30 -0
  87. package/dist/es/utils/index.mjs +22 -0
  88. package/dist/es/utils/sign.mjs +33 -0
  89. package/dist/lib/index.js +3 -0
  90. package/dist/src/Common/Page/index.d.ts +1 -2
  91. package/dist/src/Common/PageHeader/index.d.ts +0 -1
  92. package/dist/src/DatasetContext/index.d.ts +3 -4
  93. package/dist/src/components/CompositionInput/index.d.ts +2 -2
  94. package/dist/src/components/DataEmpty/index.d.ts +1 -2
  95. package/dist/src/components/DetectionAnnotation/PreSamplesPage/index.d.ts +1 -2
  96. package/dist/src/components/DetectionAnnotation/components/DisabledTooltip/index.d.ts +2 -2
  97. package/dist/src/components/DetectionAnnotation/components/ImageDetail/index.d.ts +1 -2
  98. package/dist/src/components/DetectionAnnotation/components/LabelMaker/Drawable.d.ts +2 -2
  99. package/dist/src/components/DetectionAnnotation/components/LabelMaker/RectLabel.d.ts +6 -5
  100. package/dist/src/components/DetectionAnnotation/components/LabelMaker/index.d.ts +0 -1
  101. package/dist/src/components/DetectionAnnotation/components/Labels/index.d.ts +0 -1
  102. package/dist/src/components/DetectionAnnotation/components/TagItem/index.d.ts +1 -2
  103. package/dist/src/components/DetectionAnnotation/index.d.ts +1 -2
  104. package/dist/src/components/DetectionImageAnnotation/index.d.ts +0 -2
  105. package/dist/src/components/Iconfont/font_3140028_iptomfpgyu.d.ts +0 -0
  106. package/dist/src/components/Iconfont/font_3454453_gu5ijeufyng.d.ts +0 -0
  107. package/dist/src/components/Iconfont/font_4108228_3slzqhoow93.d.ts +0 -0
  108. package/dist/src/components/Iconfont/font_4439177_k3mjwv7kzfd.d.ts +0 -0
  109. package/dist/src/components/Iconfont/index.d.ts +1 -2
  110. package/dist/src/components/MarkDescriptions/index.d.ts +0 -1
  111. package/dist/src/components/OCRImageViewer/index.d.ts +1 -2
  112. package/dist/src/components/OcrAnnotation/MarkKVOCRModal/KVOCRLabelMaker/LabelEditorInput.d.ts +2 -2
  113. package/dist/src/components/OcrAnnotation/MarkKVOCRModal/KVOCRLabelMaker/LabelEditorItem.d.ts +1 -2
  114. package/dist/src/components/OcrAnnotation/MarkKVOCRModal/KVOCRLabelMaker/LableEditor.d.ts +0 -1
  115. package/dist/src/components/OcrAnnotation/MarkKVOCRModal/index.d.ts +0 -1
  116. package/dist/src/components/OcrAnnotation/MarkOCRBoxModal/ImageDetail/index.d.ts +1 -2
  117. package/dist/src/components/OcrAnnotation/MarkOCRBoxModal/OCRBoxMaker/LabelEditorInput.d.ts +2 -2
  118. package/dist/src/components/OcrAnnotation/MarkOCRBoxModal/OCRBoxMaker/LabelEditorItem.d.ts +0 -1
  119. package/dist/src/components/OcrAnnotation/MarkOCRBoxModal/OCRBoxMaker/LableEditor.d.ts +0 -1
  120. package/dist/src/components/OcrAnnotation/MarkOCRBoxModal/OCRBoxMaker/index.d.ts +0 -1
  121. package/dist/src/components/OcrAnnotation/MarkOCRBoxModal/index.d.ts +0 -1
  122. package/dist/src/components/OcrAnnotation/OcrModal/index.d.ts +1 -2
  123. package/dist/src/components/OcrAnnotation/PreLabelOCR/PreLabelModal.d.ts +1 -2
  124. package/dist/src/components/OcrAnnotation/PreLabelOCR/index.d.ts +1 -2
  125. package/dist/src/components/OcrAnnotation/index.d.ts +1 -2
  126. package/dist/src/components/OcrImageAnnotation/index.d.ts +0 -2
  127. package/dist/src/components/PageNav/index.d.ts +1 -2
  128. package/dist/src/components/PicZipImportModal/index.d.ts +1 -2
  129. package/dist/src/components/PreLabelOCR/PreLabelModal.d.ts +1 -2
  130. package/dist/src/components/PreLabelOCR/index.d.ts +1 -2
  131. package/dist/src/components/ScanTable/index.d.ts +1 -2
  132. package/dist/src/components/Thumbnail/index.d.ts +1 -2
  133. package/dist/src/components/hooks/Prompt.d.ts +0 -1
  134. package/dist/src/components/hooks/useBlocker.d.ts +1 -1
  135. package/dist/src/featuresConfig.d.ts +1 -1
  136. package/dist/src/utils/sign.d.ts +1 -1
  137. package/package.json +18 -8
@@ -0,0 +1,166 @@
1
+ var Z = Object.defineProperty, _ = Object.defineProperties;
2
+ var $ = Object.getOwnPropertyDescriptors;
3
+ var E = Object.getOwnPropertySymbols;
4
+ var V = Object.prototype.hasOwnProperty, S = Object.prototype.propertyIsEnumerable;
5
+ var F = (n, t, a) => t in n ? Z(n, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : n[t] = a, m = (n, t) => {
6
+ for (var a in t || (t = {}))
7
+ V.call(t, a) && F(n, a, t[a]);
8
+ if (E)
9
+ for (var a of E(t))
10
+ S.call(t, a) && F(n, a, t[a]);
11
+ return n;
12
+ }, N = (n, t) => _(n, $(t));
13
+ import { jsxs as p, jsx as r } from "react/jsx-runtime";
14
+ import { useRef as M, useState as b, useEffect as x } from "react";
15
+ import { Button as A } from "antd";
16
+ import { useKeyPress as B } from "ahooks";
17
+ import "./style.less.mjs";
18
+ import ee from "../Labels/index.mjs";
19
+ import ie from "../LabelMaker/index.mjs";
20
+ import H from "../../../Iconfont/index.mjs";
21
+ const fe = (n) => {
22
+ var P, z, D;
23
+ const {
24
+ datasetId: t,
25
+ isImageDetailVisible: a = !0,
26
+ currentSample: e,
27
+ onNextClick: h,
28
+ onPrevClick: g,
29
+ labels: d = [],
30
+ editing: K,
31
+ onRefresh: v,
32
+ onChange: R,
33
+ isPreLabel: j,
34
+ settingHide: k,
35
+ imgCount: c,
36
+ readonly: O,
37
+ showLabelList: q = !0,
38
+ renderLabelItem: G
39
+ } = n, J = M(null), Q = M({}), [C, T] = b({}), [u, L] = b(), [o, I] = b(), [W, X] = b(!1), [U, w] = b(!1);
40
+ B("rightarrow", () => {
41
+ h && h();
42
+ }), B("leftarrow", () => {
43
+ g && g();
44
+ }), x(() => () => {
45
+ W && v && v();
46
+ }, []), x(() => {
47
+ var l, s;
48
+ if (L(void 0), I(void 0), !a || !((l = e == null ? void 0 : e.labels) != null && l.length))
49
+ return;
50
+ const i = (s = o || e) == null ? void 0 : s.labels.reduce((f, y) => (f[y.id] ? ++f[y.id] : f[y.id] = 1, f), {});
51
+ T(i || {});
52
+ }, [a, e, o]), x(() => {
53
+ e != null && e.fileUrl && w(!0);
54
+ }, [e == null ? void 0 : e.fileUrl]), x(() => {
55
+ if (o != null && o.labels) {
56
+ const i = [];
57
+ o.labels.forEach((l) => {
58
+ const s = d.find((f) => f.id === l.id);
59
+ s && i.push(N(m({}, l), {
60
+ label: s.label
61
+ }));
62
+ }), o.labels = i, I(m({}, o));
63
+ }
64
+ }, [d]);
65
+ const Y = () => {
66
+ J.current && w(!1);
67
+ };
68
+ return window.onresize = Y, /* @__PURE__ */ p("div", {
69
+ className: "detection-image-detail",
70
+ children: [/* @__PURE__ */ p("div", {
71
+ className: "detail-image",
72
+ children: [k ? /* @__PURE__ */ p("div", {
73
+ className: "img-detail-info",
74
+ children: ["第 ", c == null ? void 0 : c.index, " 张 / 共 ", c == null ? void 0 : c.total, " 张"]
75
+ }) : /* @__PURE__ */ r("div", {
76
+ className: "img-detail-info",
77
+ children: c == null ? void 0 : c.index
78
+ }), /* @__PURE__ */ p("div", {
79
+ className: "detail-content",
80
+ children: [g && /* @__PURE__ */ r(A, {
81
+ className: "select-prev",
82
+ icon: /* @__PURE__ */ r(H, {
83
+ type: "icon-zuojiantou"
84
+ }),
85
+ type: "text",
86
+ disabled: U,
87
+ onClick: () => g(),
88
+ tabIndex: 0
89
+ }), /* @__PURE__ */ r("div", {
90
+ className: "select-main",
91
+ ref: Q,
92
+ children: /* @__PURE__ */ r(ie, {
93
+ disabled: O,
94
+ imageUrl: (e == null ? void 0 : e.fileUrl) || "",
95
+ pen: u,
96
+ labels: ((P = o ? o.labels : e == null ? void 0 : e.labels) == null ? void 0 : P.map((i) => {
97
+ var l;
98
+ return N(m({}, i), {
99
+ color: ((l = d.find((s) => s.id === i.id)) == null ? void 0 : l.color) || ""
100
+ });
101
+ })) || [],
102
+ onImageLoad: () => w(!1),
103
+ onChange: (i) => {
104
+ if (L(void 0), !e)
105
+ return;
106
+ const l = N(m({}, e), {
107
+ labels: i.map((s) => ({
108
+ id: s.id,
109
+ label: s.label,
110
+ box: s.box
111
+ }))
112
+ });
113
+ I(l), R && R(l);
114
+ },
115
+ isPreLabel: j,
116
+ renderLabelItem: G
117
+ })
118
+ }), h && /* @__PURE__ */ r(A, {
119
+ className: "select-next",
120
+ icon: /* @__PURE__ */ r(H, {
121
+ type: "icon-youjiantou"
122
+ }),
123
+ type: "text",
124
+ disabled: U,
125
+ onClick: () => h()
126
+ })]
127
+ }), ((z = e == null ? void 0 : e.sampleFileName) == null ? void 0 : z.name) && /* @__PURE__ */ r("div", {
128
+ className: "img-detail-info",
129
+ children: e.sampleFileName.name
130
+ })]
131
+ }), (!!(d != null && d.length) || K) && q && /* @__PURE__ */ r("div", {
132
+ className: "detail-slide",
133
+ children: /* @__PURE__ */ r(ee, {
134
+ datasetId: t,
135
+ selectMode: "single",
136
+ data: ((D = Object.keys(C)) == null ? void 0 : D.map((i) => {
137
+ const l = d.find((s) => s.id === i);
138
+ if (l)
139
+ return l.count = C[i], l;
140
+ }).filter((i) => !!i)) || [],
141
+ shortcut: !0,
142
+ selected: u ? [u] : [],
143
+ onSelectedChange: (i) => {
144
+ if (i.length > 2) {
145
+ console.warn("不支持选中多个标签");
146
+ return;
147
+ }
148
+ if (!i.length) {
149
+ L(void 0);
150
+ return;
151
+ }
152
+ const l = d == null ? void 0 : d.find((s) => i[0].label === s.label);
153
+ L(l);
154
+ },
155
+ onListChange: () => {
156
+ X(!0), v && v();
157
+ },
158
+ isPreLabel: j,
159
+ settingHide: k
160
+ })
161
+ })]
162
+ });
163
+ };
164
+ export {
165
+ fe as default
166
+ };
@@ -0,0 +1,4 @@
1
+ const t = "";
2
+ export {
3
+ t as default
4
+ };
@@ -0,0 +1,51 @@
1
+ function k(e, p) {
2
+ I(e);
3
+ let i = -1, h = -1, u = 0, n = 0;
4
+ e.on("mouse:down", (s) => {
5
+ if (e.getActiveObject())
6
+ return;
7
+ i = -1, h = -1, u = 0, n = 0;
8
+ const l = e.getZoom();
9
+ h = s.e.offsetX / l, i = s.e.offsetY / l;
10
+ }), e.on("mouse:up", (s) => {
11
+ if (e.getActiveObject()) {
12
+ i = -1, h = -1, u = 0, n = 0;
13
+ return;
14
+ }
15
+ if (h === -1 && i === -1)
16
+ return;
17
+ const l = e.getZoom(), m = s.e.offsetX > e.getWidth() ? e.getWidth() / l : s.e.offsetX / l, w = s.e.offsetY > e.getHeight() ? e.getHeight() / l : s.e.offsetY / l;
18
+ if (u = Math.abs(m - h), n = Math.abs(w - i), u === 0 || n === 0)
19
+ return;
20
+ const y = e.viewportTransform ? e.viewportTransform[4] / l : 0, T = e.viewportTransform ? e.viewportTransform[5] / l : 0;
21
+ let f = i > w ? w : i, r = h > m ? m : h, d = u, g = n;
22
+ f = f - T, r = r - y;
23
+ const X = () => {
24
+ var o, b;
25
+ const t = e.backgroundImage;
26
+ t && typeof t != "string" && ((o = t.aCoords) != null && o.tl.x, (b = t.aCoords) != null && b.tl.y), t && typeof t != "string" && t.top !== void 0 && t.height !== void 0 && t.left !== void 0 && t.width !== void 0 && (f < t.top && (g = g - (t.top - f), f = t.top), f + g > t.top + t.height && (g = t.top + t.height - f + g - g, f = t.height + t.top - g), r < t.left && (d = d - (t.left - r), r = t.left), r + d > t.left + t.width && (d = t.left + t.width - r + d - d, r = t.width + t.left - d));
27
+ }, Y = (t) => {
28
+ const o = e.backgroundImage;
29
+ return !(o && typeof o != "string" && o.top !== void 0 && o.height !== void 0 && o.left !== void 0 && o.width !== void 0 && (t[0] < o.left || t[1] < o.top || t[0] > o.left + o.width || t[1] > o.top + o.height));
30
+ };
31
+ X();
32
+ const c = [[r, f], [r + d, f], [r + d, f + g], [r, f + g]];
33
+ p && c.every((t) => Y(t)) && p({
34
+ id: "",
35
+ color: "#cccccc",
36
+ label: "未知",
37
+ box: c
38
+ }), e.skipTargetFind = !1;
39
+ });
40
+ }
41
+ const I = (e) => {
42
+ e.off("mouse:down"), e.off("mouse:up");
43
+ };
44
+ function x(e, p, i) {
45
+ if (!i)
46
+ return k(e, p), e;
47
+ }
48
+ export {
49
+ x as drawable,
50
+ I as stopDraw
51
+ };
@@ -0,0 +1,42 @@
1
+ import d from "./icons/delete-icon.svg.mjs";
2
+ function y(t) {
3
+ t.Object.prototype.cornerColor = "blue", c(t);
4
+ }
5
+ function z(t) {
6
+ return !(!t.complete || typeof t.naturalWidth != "undefined" && t.naturalWidth == 0);
7
+ }
8
+ function c(t) {
9
+ const s = document.createElement("img");
10
+ s.src = d;
11
+ function f(r) {
12
+ return function(e, i, l, o, n) {
13
+ const a = () => {
14
+ e.save(), e.translate(i, l), e.rotate(t.util.degreesToRadians(n.angle)), e.lineJoin = "round", e.fillStyle = "#fff", e.lineWidth = 4, e.strokeStyle = "#fff", e.strokeRect(-12, -12, 24, 24), e.fillRect(-12, -12, 24, 24), e.drawImage(r, -10, -10, 20, 20), e.restore();
15
+ };
16
+ z(r) ? a() : r.onload = () => {
17
+ a();
18
+ };
19
+ };
20
+ }
21
+ function u(r, e, i, l) {
22
+ var o = e.target, n = o.canvas;
23
+ if (!n)
24
+ return !1;
25
+ n.remove(o);
26
+ }
27
+ t.Object.prototype.controls.deleteControl = new t.Control({
28
+ actionName: "del",
29
+ x: 0.5,
30
+ y: -0.5,
31
+ offsetY: -24 + 8,
32
+ offsetX: -24 + 8,
33
+ cursorStyle: "pointer",
34
+ mouseUpHandler: u,
35
+ render: f(s),
36
+ sizeX: 24,
37
+ sizeY: 24
38
+ });
39
+ }
40
+ export {
41
+ y as default
42
+ };
@@ -0,0 +1,283 @@
1
+ var p = Object.defineProperty, u = Object.defineProperties;
2
+ var m = Object.getOwnPropertyDescriptors;
3
+ var b = Object.getOwnPropertySymbols;
4
+ var w = Object.prototype.hasOwnProperty, C = Object.prototype.propertyIsEnumerable;
5
+ var g = (l, e, s) => e in l ? p(l, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : l[e] = s, n = (l, e) => {
6
+ for (var s in e || (e = {}))
7
+ w.call(e, s) && g(l, s, e[s]);
8
+ if (b)
9
+ for (var s of b(e))
10
+ C.call(e, s) && g(l, s, e[s]);
11
+ return l;
12
+ }, v = (l, e) => u(l, m(e));
13
+ var f = (l, e, s) => (g(l, typeof e != "symbol" ? e + "" : e, s), s);
14
+ import { fabric as d } from "fabric";
15
+ import y from "./FabricCustomize.mjs";
16
+ import { formatColorToArray as _ } from "../../../../utils/color.mjs";
17
+ const $ = {
18
+ borderWidth: 2,
19
+ controls: ["TL", "BL", "TR", "BR"],
20
+ cornerStrokeColor: "#84868C",
21
+ cornerSize: 6,
22
+ visible: !0,
23
+ active: !1
24
+ };
25
+ class F {
26
+ constructor(e, s, h) {
27
+ f(this, "config");
28
+ f(this, "color");
29
+ f(this, "_active", !1);
30
+ f(this, "_fabricRect", null);
31
+ f(this, "_label", null);
32
+ f(this, "_hover", !1);
33
+ f(this, "_strokeRect");
34
+ this._canvas = s, this.handlers = h, d.Rect.prototype.cornerColor = "blue", this.config = n(n({}, $), e), this.color = _(e.color), this._active = this.config.active || !1, s && this.render(s);
35
+ }
36
+ get object() {
37
+ return this._fabricRect;
38
+ }
39
+ get active() {
40
+ return this._active;
41
+ }
42
+ set active(e) {
43
+ var s;
44
+ this._active = e, (s = this._fabricRect) != null && s.canvas && (e && !this.config.hideDelete ? (this._fabricRect.set(this.activeStyle), this.canvas.setActiveObject(this._fabricRect)) : (this.canvas.discardActiveObject(), this.hover || this._fabricRect.set(this.normalStyle)), this.canvas.requestRenderAll());
45
+ }
46
+ get hover() {
47
+ return this._hover;
48
+ }
49
+ set hover(e) {
50
+ var s, h;
51
+ this._hover = e, e ? (s = this._fabricRect) == null || s.set(this.hoverStyle) : this.active || (h = this._fabricRect) == null || h.set(this.normalStyle), this.canvas.requestRenderAll();
52
+ }
53
+ get canvas() {
54
+ return this._canvas;
55
+ }
56
+ set canvas(e) {
57
+ this._canvas !== e && (this._canvas = e, this.render(e));
58
+ }
59
+ get normalStyle() {
60
+ return {
61
+ fill: `rgba(${this.color[0]},${this.color[1]}, ${this.color[2]}, 0)`,
62
+ stroke: this.config.color,
63
+ // strokeWidth: this.config.borderWidth
64
+ // ? this.config.borderWidth / this.canvas.getZoom()
65
+ // : 2,
66
+ strokeWidth: 0,
67
+ strokeUniform: !0
68
+ };
69
+ }
70
+ get activeStyle() {
71
+ return v(n({}, this.normalStyle), {
72
+ content: `<svg height="500" width="500"><text fill="#ffffff" font-size="45" x="50" y="86">${this.config.name}</text></svg>`,
73
+ fill: `rgba(${this.color[0]},${this.color[1]}, ${this.color[2]}, 0.1)`
74
+ });
75
+ }
76
+ get hoverStyle() {
77
+ return this.activeStyle;
78
+ }
79
+ createRect() {
80
+ const e = {
81
+ hasBorders: !1,
82
+ cornerSize: 6,
83
+ cornerStrokeColor: "#84868C",
84
+ cornerColor: "#FFFFFF",
85
+ transparentCorners: !1
86
+ }, s = 0, h = new d.Rect(
87
+ // this.config.points?.map((p) => ({ x: p[0], y: p[1] })),
88
+ n(n({
89
+ left: this.config.points[0][0],
90
+ top: this.config.points[0][1],
91
+ width: this.config.points[2][0] - this.config.points[0][0] - s,
92
+ height: this.config.points[2][1] - this.config.points[0][1] - s
93
+ }, e), this.normalStyle)
94
+ );
95
+ h.setControlsVisibility({
96
+ mtr: !1
97
+ });
98
+ const a = () => {
99
+ if (h.canvas !== this.canvas) {
100
+ this.canvas.off("after:render", a);
101
+ return;
102
+ }
103
+ this.canvas.contextContainer.strokeStyle = `rgb(${this.color[0]},${this.color[1]}, ${this.color[2]})`;
104
+ const o = h.getBoundingRect();
105
+ this._strokeRect = this.canvas.contextContainer.strokeRect(o.left + 0.5, o.top + 0.5, o.width, o.height);
106
+ };
107
+ return this.canvas.on("after:render", a), h;
108
+ }
109
+ scaledNumber(e) {
110
+ return e / this.canvas.getZoom();
111
+ }
112
+ // getPolyVertices(poly: fabric.Rect) {
113
+ // const points = poly.points,
114
+ // vertices: fabric.Point[] = [];
115
+ // points.forEach((point) => {
116
+ // const x: number = point.x - poly.pathOffset.x,
117
+ // y: number = point.y - poly.pathOffset.y;
118
+ // vertices.push(
119
+ // fabric.util.transformPoint(
120
+ // { x, y } as fabric.Point,
121
+ // fabric.util.multiplyTransformMatrices(
122
+ // poly.canvas.viewportTransform,
123
+ // poly.calcTransformMatrix()
124
+ // )
125
+ // )
126
+ // );
127
+ // });
128
+ // return vertices.map((v) => {
129
+ // return { x: this.scaledNumber(v.x), y: this.scaledNumber(v.y) };
130
+ // });
131
+ // }
132
+ createLabelName() {
133
+ const [e, s, h] = this.color, a = new d.Text(this.handlers.renderLabelItem ? this.handlers.renderLabelItem(this.config) : this.config.name, {
134
+ fill: "#FFFFFF",
135
+ fontSize: 12,
136
+ selectable: !1,
137
+ top: 4,
138
+ left: 8
139
+ }), o = new d.Rect({
140
+ selectable: !1,
141
+ strokeWidth: 0,
142
+ fill: `rgb(${e},${s},${h})`,
143
+ rx: 2,
144
+ ry: 2,
145
+ width: (a.width || 0) + 16,
146
+ height: (a.height || 0) + 8,
147
+ left: 0,
148
+ top: 0
149
+ });
150
+ return new d.Group([o, a], {
151
+ selectable: !1,
152
+ // lockScalingX: false,
153
+ // lockScalingY: false,
154
+ scaleX: 1 / this.canvas.getZoom(),
155
+ scaleY: 1 / this.canvas.getZoom()
156
+ });
157
+ }
158
+ renderLabel() {
159
+ var e, s;
160
+ if (this._fabricRect) {
161
+ if (this._label || (this._label = this.createLabelName(), this.setLabelPosition()), this._label.canvas === this.canvas) {
162
+ const h = this._label.getObjects().find((o) => o.type === "rect"), a = this._label.getObjects().find((o) => o.type === "text");
163
+ if (a) {
164
+ a.set({
165
+ text: this.handlers.renderLabelItem ? this.handlers.renderLabelItem(this.config) : this.config.name,
166
+ left: 8
167
+ // fontSize: this.scaledNumber(12),
168
+ });
169
+ const o = (a.getBoundingRect().width || 0) + 16;
170
+ h == null || h.set({
171
+ fill: `rgba(${this.color[0]},${this.color[1]}, ${this.color[2]}, 1)`,
172
+ width: o,
173
+ left: -o / 2
174
+ }), a.set({
175
+ left: -o / 2 + 8
176
+ });
177
+ const r = ((e = this._fabricRect.aCoords) == null ? void 0 : e.tl.x) !== void 0 ? (s = this._fabricRect.aCoords) == null ? void 0 : s.tl.x : void 0;
178
+ this._label.set({
179
+ left: r,
180
+ width: o
181
+ });
182
+ }
183
+ } else
184
+ this.canvas.add(this._label);
185
+ this.setLabelPosition();
186
+ }
187
+ }
188
+ setLabelPosition() {
189
+ var r, t, i, c;
190
+ if (!this._fabricRect || !this._label)
191
+ return;
192
+ const e = this._label.getObjects().find((R) => R.type === "rect");
193
+ if (!e)
194
+ return;
195
+ const s = e.height ? e.height : void 0, h = e.width ? e.width : void 0, a = ((r = this._fabricRect.aCoords) == null ? void 0 : r.tl.y) !== void 0 && s !== void 0 && e.scaleY ? ((t = this._fabricRect.aCoords) == null ? void 0 : t.tl.y) - s / this.canvas.getZoom() : void 0, o = ((i = this._fabricRect.aCoords) == null ? void 0 : i.tl.x) !== void 0 ? (c = this._fabricRect.aCoords) == null ? void 0 : c.tl.x : void 0;
196
+ this._label.set({
197
+ top: a,
198
+ left: o,
199
+ height: s,
200
+ width: h,
201
+ scaleX: 1 / this.canvas.getZoom(),
202
+ scaleY: 1 / this.canvas.getZoom()
203
+ }), this.config = n({}, this.config);
204
+ }
205
+ addToCanvas(e) {
206
+ if (!this._fabricRect)
207
+ return;
208
+ this.canvas = e, this.canvas.add(this._fabricRect), this._fabricRect.on("mouseover", (o) => {
209
+ this.hover = !0;
210
+ }), this._fabricRect.on("mouseout", (o) => {
211
+ this.hover = !1;
212
+ }), this._fabricRect.on("mouseup", () => {
213
+ this._fabricRect && this.canvas.setActiveObject(this._fabricRect);
214
+ });
215
+ const s = (o) => {
216
+ var r;
217
+ (r = o.selected) != null && r.some((t) => t === this._fabricRect) ? this.active = !0 : this.active && (this.active = !1);
218
+ };
219
+ this.canvas.on("selection:created", s), this.canvas.on("selection:updated", s), this.canvas.on("selection:cleared", (o) => {
220
+ this.active && (this.active = !1);
221
+ });
222
+ const h = (o) => {
223
+ const r = o.transform.action;
224
+ o.transform.corner;
225
+ const t = o.transform.target, i = o.transform.target.canvas.backgroundImage, c = 0;
226
+ i && (r === "drag" && (t.top < i.top && t.set({
227
+ top: i.top
228
+ }), t.top + (t.height + c) * t.scaleY > i.top + i.height && t.set({
229
+ top: i.height + i.top - (t.height + c) * t.scaleY
230
+ }), t.left < i.left && t.set({
231
+ left: i.left
232
+ }), t.left + (t.width + c) * t.scaleX > i.left + i.width && t.set({
233
+ left: i.width + i.left - (t.width + c) * t.scaleX
234
+ })), r === "scale" && (t.top + (t.height + c) * t.scaleY > i.top + i.height && t.set({
235
+ top: (t.height + c) * t.scaleY > i.height ? i.top : i.top + i.height - (t.height + c) * t.scaleY,
236
+ height: (t.height + c) * t.scaleY > i.height ? i.height - c : t.height + c
237
+ }), t.left + (t.width + c) * t.scaleX > i.left + i.width && t.set({
238
+ left: i.width + i.left - (t.width + c) * t.scaleX
239
+ })), r === "scaleX" && (t.left + (t.width + c) * t.scaleX > i.left + i.width && t.set({
240
+ left: t.left - (t.left + (t.width + c) * t.scaleX - (i.left + i.width))
241
+ }), t.left < i.left && t.set({
242
+ left: i.left
243
+ })), r === "scaleY" && (t.top + (t.height + c) * t.scaleY > i.top + i.height && t.set({
244
+ top: t.top - (t.top + (t.height + c) * t.scaleY - (i.top + i.height))
245
+ }), t.top < i.top && t.set({
246
+ top: i.top
247
+ })), (t.width + c) * t.scaleX > i.width && t.set({
248
+ left: i.left,
249
+ width: (i.width - c) / t.scaleX
250
+ }), (t.height + c) * t.scaleY > i.height && t.set({
251
+ top: i.top,
252
+ height: (i.height - c) / t.scaleY
253
+ })), this.canvas.renderAll();
254
+ }, a = (o) => {
255
+ h(o), this.setLabelPosition();
256
+ };
257
+ this._fabricRect.on("moving", a), this._fabricRect.on("scaling", a), this._fabricRect.on("rotating", a), this._fabricRect.on("skewing", a), this._fabricRect.on("resizing", a), this.canvas.on("object:removed", (o) => {
258
+ o.target === this._fabricRect && this.destroy();
259
+ }), this.canvas.on("object:modified", (o) => {
260
+ o.target === this._fabricRect && (this.setLabelPosition(), this.handlers.onChange && this.handlers.onChange(this));
261
+ });
262
+ }
263
+ render(e) {
264
+ y(d), this._fabricRect || (this._fabricRect = this.createRect()), this._fabricRect.canvas === this.canvas ? this._fabricRect.set({
265
+ fill: `rgba(${this.color[0]},${this.color[1]}, ${this.color[2]}, 0)`,
266
+ stroke: `rgba(${this.color[0]},${this.color[1]}, ${this.color[2]}, 1)`
267
+ }) : this.addToCanvas(e), this.renderLabel();
268
+ try {
269
+ this.canvas.renderAll();
270
+ } catch (s) {
271
+ console.log("render failed");
272
+ }
273
+ }
274
+ set labelConfig(e) {
275
+ this.config = n(n({}, this.config), e), this.color = _(e.color), this.render(this.canvas), this.handlers.onChange && this.handlers.onChange(this);
276
+ }
277
+ destroy() {
278
+ this._fabricRect && this.canvas.remove(this._fabricRect), this._label && this.canvas.remove(this._label), this._label = null, this._fabricRect = null, this.canvas.requestRenderAll(), this.handlers.onDelete && this.handlers.onDelete(this);
279
+ }
280
+ }
281
+ export {
282
+ F as default
283
+ };
@@ -0,0 +1,4 @@
1
+ const M = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSIjZmZmIj4KICA8cGF0aCBkPSJNNi4zODczNSAzLjM4NjgxTDYuMjc5NjEgMy45NjY1M0M2LjYzOTg4IDMuOTU3MTYgNy4wMDAxNCAzLjk1MTY5IDcuMzYwNDEgMy45NTE2OUM4LjE0MyAzLjk1MTY5IDguOTI1NTkgMy45NjU3NSA5LjcwODE4IDMuOTkyMzJMOS41OTYxNCAzLjM5MjI4VjMuMzkwNzJDOS41NDQ0MiAzLjEwNTU0IDkuNTEwODEgMi45OTIyNSA5LjQ0MzU4IDIuOTIxOTNDOS40MDA0OSAyLjg3ODE4IDkuMjczNzkgMi43ODIwOCA4LjgwMjM0IDIuNzgyMDhINy4xODExNEM2LjcwMzY2IDIuNzgyMDggNi41Nzk1NSAyLjg3NTA2IDYuNTM5OSAyLjkxNDlDNi40NzUyNiAyLjk4MjEgNi40NDI1MSAzLjA4OTkxIDYuMzg3MzUgMy4zODc1OVYzLjM4NjgxWk01LjQwMTM1IDMuOTkxNTRMNS4zOTk2MyAzLjk5OTM1QzQuODEyODUgNC4wMjc2MyA0LjIyNjg5IDQuMDY4NTMgMy42NDIyNSA0LjEyMjAxTDIuMzgwNDUgNC4yMzQ1MkMyLjI2ODM3IDQuMjQ2NTEgMi4xNjU5NSA0LjI5Nzg3IDIuMDk1MiA0LjM3NzU3QzIuMDI0NDUgNC40NTcyOCAxLjk5MTAxIDQuNTU4OTYgMi4wMDIwOCA0LjY2MDc3QzIuMDEzMTQgNC43NjI1OCAyLjA2NzgyIDQuODU2NCAyLjE1NDM2IDQuOTIyMDZDMi4yNDA5MSA0Ljk4NzcyIDIuMzUyNDEgNS4wMTk5OCAyLjQ2NDkyIDUuMDExOTFMMy43MjY3MSA0Ljg5OTQxSDMuNzI4NDRDNC45MzUyNCA0Ljc4ODY5IDYuMTQ3NDQgNC43MzMxNCA3LjM2MDQxIDQuNzMyOTlDOS40MTI1NiA0LjczMjk5IDExLjQ3MTYgNC44MjgzMSAxMy41MTg2IDUuMDExOTFDMTMuNTc1NSA1LjAxOCAxMy42MzMxIDUuMDEzNzQgMTMuNjg4MiA0Ljk5OTM4QzEzLjc0MzIgNC45ODUwMyAxMy43OTQ2IDQuOTYwODYgMTMuODM5MiA0LjkyODNDMTMuODgzOSA0Ljg5NTc1IDEzLjkyMDkgNC44NTU0NSAxMy45NDgxIDQuODA5NzZDMTMuOTc1NCA0Ljc2NDA4IDEzLjk5MjMgNC43MTM5MyAxMy45OTc5IDQuNjYyMjVDMTQuMDAzNSA0LjYxMDU2IDEzLjk5NzcgNC41NTgzOCAxMy45ODA4IDQuNTA4NzZDMTMuOTYzOSA0LjQ1OTEzIDEzLjkzNjMgNC40MTMwNiAxMy44OTk1IDQuMzczMjNDMTMuODYyOCA0LjMzMzQxIDEzLjgxNzYgNC4zMDA2MyAxMy43NjY3IDQuMjc2ODFDMTMuNzE1OCA0LjI1Mjk5IDEzLjY2MDEgNC4yMzg2MSAxMy42MDMgNC4yMzQ1MkMxMi41OTk3IDQuMTQ0MzIgMTEuNTk0MiA0LjA3NTU1IDEwLjU4NzMgNC4wMjgyNkMxMC41ODYzIDQuMDE1OTUgMTAuNTg0NSA0LjAwMzY5IDEwLjU4MjEgMy45OTE1NEwxMC40NDY4IDMuMjYzMzZMMTAuNDQwOCAzLjIzMjExQzEwLjQwMDMgMy4wMDE2MyAxMC4zMzk5IDIuNjY1NjcgMTAuMDk0MyAyLjQwOTRDOS44MTMzMyAyLjExNDg1IDkuMzc4MDggMiA4LjgwMjM0IDJINy4xODExNEM2LjYxMjMgMiA2LjE3NzA1IDIuMTA2MjYgNS44OTM0OSAyLjM5ODQ2QzUuNjQ4NzEgMi42NTAwNCA1LjU4NzUyIDIuOTg0NDQgNS41NDQ0MiAzLjIxODgzTDUuNTM3NTMgMy4yNTcxMUw1LjQwMTM1IDMuOTkxNTRaTTQuMTgzNTEgNi4zNzA2QzQuMTc2MiA2LjI2NzIgNC4xMjM4NyA2LjE3MDY3IDQuMDM4MDQgNi4xMDIyNEMzLjk1MjIxIDYuMDMzODEgMy44Mzk5MSA1Ljk5OTEgMy43MjU4NSA2LjAwNTczQzMuNjExNzkgNi4wMTIzNiAzLjUwNTMgNi4wNTk3OSAzLjQyOTgyIDYuMTM3NkMzLjM1NDMzIDYuMjE1NCAzLjMxNjA0IDYuMzE3MiAzLjMyMzM1IDYuNDIwNkwzLjcyNDk5IDEyLjA2OTRWMTIuMDcxN0wzLjcyNTg1IDEyLjA4MTFDMy43NDMwOSAxMi4yOTI5IDMuNzYwMzMgMTIuNTIzMyAzLjgwNzczIDEyLjczNzRDMy44NTY4NiAxMi45NTg1IDMuOTQzMDQgMTMuMTkwNiA0LjExNjI4IDEzLjM5NTNDNC40NzkxNCAxMy44MjI2IDUuMDk4ODMgMTQgNi4wMDU1MyAxNEg5Ljk3ODgxQzEwLjg4NDcgMTQgMTEuNTA0MyAxMy44MjI2IDExLjg2NjMgMTMuMzk1M0MxMi4wNDA0IDEzLjE5MDYgMTIuMTI2NiAxMi45NTg1IDEyLjE3NTggMTIuNzM3NEMxMi4yMjMyIDEyLjUyMzMgMTIuMjQxMyAxMi4yOTI5IDEyLjI1NzYgMTIuMDgxMVYxMi4wNjk0TDEyLjY2MDEgNi40MjA2QzEyLjY2MzggNi4zNjk0IDEyLjY1NjIgNi4zMTgwNiAxMi42Mzc5IDYuMjY5NUMxMi42MTk3IDYuMjIwOTQgMTIuNTkxIDYuMTc2MTIgMTIuNTUzNyA2LjEzNzZDMTIuNTE2MyA2LjA5OTA3IDEyLjQ3MDkgNi4wNjc2IDEyLjQyMDEgNi4wNDQ5N0MxMi4zNjkzIDYuMDIyMzUgMTIuMzE0MSA2LjAwOTAxIDEyLjI1NzYgNi4wMDU3M0MxMi4yMDEyIDYuMDAyNDUgMTIuMTQ0NSA2LjAwOTI4IDEyLjA5MDkgNi4wMjU4NEMxMi4wMzc0IDYuMDQyNCAxMS45ODc5IDYuMDY4MzYgMTEuOTQ1NCA2LjEwMjI0QzExLjkwMjkgNi4xMzYxMiAxMS44NjgyIDYuMTc3MjYgMTEuODQzMyA2LjIyMzNDMTEuODE4MyA2LjI2OTM1IDExLjgwMzYgNi4zMTk0IDExLjggNi4zNzA2TDExLjM5ODMgMTIuMDE3MVYxMi4wMTc4QzExLjM4MTEgMTIuMjQzNiAxMS4zNjU2IDEyLjQyNDEgMTEuMzMwMiAxMi41ODM1QzExLjMxMDQgMTIuNzA0MiAxMS4yNjAzIDEyLjgxOTEgMTEuMTgzNyAxMi45MTk1QzExLjA2OTEgMTMuMDUzOCAxMC43OTc2IDEzLjIxODcgOS45Nzc5NSAxMy4yMTg3SDYuMDA0NjdDNS4xODU4OCAxMy4yMTg3IDQuOTE0MzkgMTMuMDUzOCA0LjgwMDYyIDEyLjkxODdDNC43MjMzOSAxMi44MTg1IDQuNjcyNjYgMTIuNzAzNSA0LjY1MjM3IDEyLjU4MjdDNC42MTcxNiAxMi4zOTU5IDQuNTk0NzEgMTIuMjA3MiA0LjU4NTE1IDEyLjAxNzhMNC4xODM1MSA2LjM3MDZaTTYuNTI3ODMgMTAuNTI0QzYuNTI3ODMgMTAuNDIwNCA2LjU3MzI0IDEwLjMyMSA2LjY1NDA1IDEwLjI0NzhDNi43MzQ4NyAxMC4xNzQ1IDYuODQ0NDggMTAuMTMzMyA2Ljk1ODc3IDEwLjEzMzNIOS4wMTg2N0M5LjEzMjk3IDEwLjEzMzMgOS4yNDI1OCAxMC4xNzQ1IDkuMzIzNCAxMC4yNDc4QzkuNDA0MjEgMTAuMzIxIDkuNDQ5NjIgMTAuNDIwNCA5LjQ0OTYyIDEwLjUyNEM5LjQ0OTYyIDEwLjYyNzYgOS40MDQyMSAxMC43MjcgOS4zMjM0IDEwLjgwMDJDOS4yNDI1OCAxMC44NzM1IDkuMTMyOTcgMTAuOTE0NiA5LjAxODY3IDEwLjkxNDZINi45NTg3N0M2LjkwMjE4IDEwLjkxNDYgNi44NDYxNCAxMC45MDQ1IDYuNzkzODYgMTAuODg0OUM2Ljc0MTU4IDEwLjg2NTMgNi42OTQwNyAxMC44MzY1IDYuNjU0MDUgMTAuODAwMkM2LjYxNDA0IDEwLjc2MzkgNi41ODIyOSAxMC43MjA5IDYuNTYwNjQgMTAuNjczNUM2LjUzODk4IDEwLjYyNjEgNi41Mjc4MyAxMC41NzUzIDYuNTI3ODMgMTAuNTI0Wk02LjQ0NTA5IDcuODg5NDVDNi4zMzA4IDcuODg5NDUgNi4yMjExOSA3LjkzMDYgNi4xNDAzNyA4LjAwMzg2QzYuMDU5NTUgOC4wNzcxMyA2LjAxNDE1IDguMTc2NDkgNi4wMTQxNSA4LjI4MDFDNi4wMTQxNSA4LjM4MzcgNi4wNTk1NSA4LjQ4MzA3IDYuMTQwMzcgOC41NTYzM0M2LjIyMTE5IDguNjI5NTkgNi4zMzA4IDguNjcwNzUgNi40NDUwOSA4LjY3MDc1SDkuNTM5MjVDOS42NTM1NSA4LjY3MDc1IDkuNzYzMTYgOC42Mjk1OSA5Ljg0Mzk3IDguNTU2MzNDOS45MjQ3OSA4LjQ4MzA3IDkuOTcwMTkgOC4zODM3IDkuOTcwMTkgOC4yODAxQzkuOTcwMTkgOC4xNzY0OSA5LjkyNDc5IDguMDc3MTMgOS44NDM5NyA4LjAwMzg2QzkuNzYzMTYgNy45MzA2IDkuNjUzNTUgNy44ODk0NSA5LjUzOTI1IDcuODg5NDVINi40NDUwOVoiIGZpbGw9IiM1QzVGNjYiLz4KPC9zdmc+";
2
+ export {
3
+ M as default
4
+ };