@crmchatreactcomponent/quick-messages 0.0.8 → 0.0.9
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.
- package/dist/index.es.js +30 -30
- package/dist/index.umd.js +7 -7
- package/package.json +16 -16
package/dist/index.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as o, jsxs as h, Fragment as ee } from "react/jsx-runtime";
|
|
2
2
|
import { useContext as me, useMemo as D, useState as $, useEffect as E, createContext as ve, useRef as xe } from "react";
|
|
3
|
-
import { ConfigProvider as St, theme as jt, Popover as Ce, Space as C, message as $t, Modal as Te, Table as _, Button as T, Flex as z, Empty as Se, Input as
|
|
3
|
+
import { ConfigProvider as St, theme as jt, Popover as Ce, Space as C, message as $t, Modal as Te, Table as _, Button as T, Flex as z, Empty as Se, Input as q, Popconfirm as kt, Menu as At, Alert as wt, ColorPicker as Pt, Tooltip as Dt } from "antd";
|
|
4
4
|
import Ot, { EmojiStyle as Mt, Theme as te } from "emoji-picker-react";
|
|
5
5
|
import { useTranslation as I, I18nextProvider as Et } from "react-i18next";
|
|
6
6
|
import { uniqBy as It } from "lodash-es";
|
|
@@ -98,7 +98,7 @@ class Kt {
|
|
|
98
98
|
return t;
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
-
var Vt = typeof global == "object" && global && global.Object === Object && global, Ae = Vt,
|
|
101
|
+
var Vt = typeof global == "object" && global && global.Object === Object && global, Ae = Vt, Wt = typeof self == "object" && self && self.Object === Object && self, qt = Ae || Wt || Function("return this")(), w = qt, Ut = w.Symbol, F = Ut, we = Object.prototype, Yt = we.hasOwnProperty, Jt = we.toString, N = F ? F.toStringTag : void 0;
|
|
102
102
|
function Xt(e) {
|
|
103
103
|
var t = Yt.call(e, N), r = e[N];
|
|
104
104
|
try {
|
|
@@ -169,7 +169,7 @@ function H(e, t) {
|
|
|
169
169
|
var r = xr(e, t);
|
|
170
170
|
return vr(r) ? r : void 0;
|
|
171
171
|
}
|
|
172
|
-
var Cr = H(w, "WeakMap"),
|
|
172
|
+
var Cr = H(w, "WeakMap"), U = Cr, Tr = 9007199254740991;
|
|
173
173
|
function Oe(e) {
|
|
174
174
|
return typeof e == "number" && e > -1 && e % 1 == 0 && e <= Tr;
|
|
175
175
|
}
|
|
@@ -193,9 +193,9 @@ var Ee = Object.prototype, kr = Ee.hasOwnProperty, Ar = Ee.propertyIsEnumerable,
|
|
|
193
193
|
function Dr() {
|
|
194
194
|
return !1;
|
|
195
195
|
}
|
|
196
|
-
var Ie = typeof exports == "object" && exports && !exports.nodeType && exports, ae = Ie && typeof module == "object" && module && !module.nodeType && module, Or = ae && ae.exports === Ie, ie = Or ? w.Buffer : void 0, Mr = ie ? ie.isBuffer : void 0, Er = Mr || Dr, Ir = Er, Nr = "[object Arguments]", Lr = "[object Array]", Gr = "[object Boolean]", Hr = "[object Date]", _r = "[object Error]", zr = "[object Function]", Fr = "[object Map]", Rr = "[object Number]", Br = "[object Object]", Kr = "[object RegExp]", Vr = "[object Set]",
|
|
196
|
+
var Ie = typeof exports == "object" && exports && !exports.nodeType && exports, ae = Ie && typeof module == "object" && module && !module.nodeType && module, Or = ae && ae.exports === Ie, ie = Or ? w.Buffer : void 0, Mr = ie ? ie.isBuffer : void 0, Er = Mr || Dr, Ir = Er, Nr = "[object Arguments]", Lr = "[object Array]", Gr = "[object Boolean]", Hr = "[object Date]", _r = "[object Error]", zr = "[object Function]", Fr = "[object Map]", Rr = "[object Number]", Br = "[object Object]", Kr = "[object RegExp]", Vr = "[object Set]", Wr = "[object String]", qr = "[object WeakMap]", Ur = "[object ArrayBuffer]", Yr = "[object DataView]", Jr = "[object Float32Array]", Xr = "[object Float64Array]", Qr = "[object Int8Array]", Zr = "[object Int16Array]", en = "[object Int32Array]", tn = "[object Uint8Array]", rn = "[object Uint8ClampedArray]", nn = "[object Uint16Array]", on = "[object Uint32Array]", g = {};
|
|
197
197
|
g[Jr] = g[Xr] = g[Qr] = g[Zr] = g[en] = g[tn] = g[rn] = g[nn] = g[on] = !0;
|
|
198
|
-
g[Nr] = g[Lr] = g[
|
|
198
|
+
g[Nr] = g[Lr] = g[Ur] = g[Gr] = g[Yr] = g[Hr] = g[_r] = g[zr] = g[Fr] = g[Rr] = g[Br] = g[Kr] = g[Vr] = g[Wr] = g[qr] = !1;
|
|
199
199
|
function an(e) {
|
|
200
200
|
return G(e) && Oe(e.length) && !!g[O(e)];
|
|
201
201
|
}
|
|
@@ -235,8 +235,8 @@ function J(e) {
|
|
|
235
235
|
var r = Sn.call(t, "constructor") && t.constructor;
|
|
236
236
|
return typeof r == "function" && r instanceof r && Ge.call(r) == jn;
|
|
237
237
|
}
|
|
238
|
-
var $n = H(w, "DataView"), X = $n, kn = H(w, "Promise"), Q = kn, An = H(w, "Set"), Z = An, ce = "[object Map]", wn = "[object Object]", ue = "[object Promise]", de = "[object Set]", pe = "[object WeakMap]", fe = "[object DataView]", Pn = M(X), Dn = M(Y), On = M(Q), Mn = M(Z), En = M(
|
|
239
|
-
(X && P(new X(new ArrayBuffer(1))) != fe || Y && P(new Y()) != ce || Q && P(Q.resolve()) != ue || Z && P(new Z()) != de ||
|
|
238
|
+
var $n = H(w, "DataView"), X = $n, kn = H(w, "Promise"), Q = kn, An = H(w, "Set"), Z = An, ce = "[object Map]", wn = "[object Object]", ue = "[object Promise]", de = "[object Set]", pe = "[object WeakMap]", fe = "[object DataView]", Pn = M(X), Dn = M(Y), On = M(Q), Mn = M(Z), En = M(U), P = O;
|
|
239
|
+
(X && P(new X(new ArrayBuffer(1))) != fe || Y && P(new Y()) != ce || Q && P(Q.resolve()) != ue || Z && P(new Z()) != de || U && P(new U()) != pe) && (P = function(e) {
|
|
240
240
|
var t = O(e), r = t == wn ? e.constructor : void 0, n = r ? M(r) : "";
|
|
241
241
|
if (n)
|
|
242
242
|
switch (n) {
|
|
@@ -400,17 +400,17 @@ class Vn {
|
|
|
400
400
|
};
|
|
401
401
|
}
|
|
402
402
|
}
|
|
403
|
-
const
|
|
404
|
-
function
|
|
405
|
-
for (let t = 0; t <
|
|
406
|
-
if (
|
|
407
|
-
const r =
|
|
403
|
+
const W = [new Vn()];
|
|
404
|
+
function Wn(e) {
|
|
405
|
+
for (let t = 0; t < W.length; t++)
|
|
406
|
+
if (W[t].detectRule(e)) {
|
|
407
|
+
const r = W[t].parser(e);
|
|
408
408
|
if (!R(r))
|
|
409
409
|
return r;
|
|
410
410
|
}
|
|
411
411
|
return [];
|
|
412
412
|
}
|
|
413
|
-
class
|
|
413
|
+
class qn {
|
|
414
414
|
static parse(t) {
|
|
415
415
|
const r = document.createElement("div");
|
|
416
416
|
r.innerHTML = t;
|
|
@@ -449,7 +449,7 @@ class Un {
|
|
|
449
449
|
} : !1;
|
|
450
450
|
}
|
|
451
451
|
}
|
|
452
|
-
class
|
|
452
|
+
class Un {
|
|
453
453
|
constructor() {
|
|
454
454
|
this.handles = {}, this.props = {}, this.evenHandles = {};
|
|
455
455
|
}
|
|
@@ -549,10 +549,10 @@ class Wn {
|
|
|
549
549
|
}
|
|
550
550
|
}
|
|
551
551
|
}
|
|
552
|
-
(zn(s) || R(s)) && (s =
|
|
552
|
+
(zn(s) || R(s)) && (s = Wn(i)), r.clipboardType = s;
|
|
553
553
|
} else {
|
|
554
554
|
let s = null;
|
|
555
|
-
this.props.unknownHtmlParser && (s = this.props.unknownHtmlParser(i)), s = s ||
|
|
555
|
+
this.props.unknownHtmlParser && (s = this.props.unknownHtmlParser(i)), s = s || qn.parse(i), s || (s = {
|
|
556
556
|
value: u,
|
|
557
557
|
type: this.handles[y.PLAIN].type
|
|
558
558
|
}), r.text = u, r.html = i, J(s) && (r.clipboardType = [[s]]), S(s) && (ge(s) ? r.clipboardType = s : r.clipboardType = [s]);
|
|
@@ -582,7 +582,7 @@ const Yn = {
|
|
|
582
582
|
handlers: [],
|
|
583
583
|
tableParsers: []
|
|
584
584
|
};
|
|
585
|
-
class Jn extends
|
|
585
|
+
class Jn extends Un {
|
|
586
586
|
constructor(t = {}) {
|
|
587
587
|
var r, n;
|
|
588
588
|
if (super(), (n = (r = window.navigator) == null ? void 0 : r.clipboard) != null && n.read)
|
|
@@ -694,7 +694,7 @@ const Xn = new Jn(), Qn = ({
|
|
|
694
694
|
size: "small",
|
|
695
695
|
scroll: {
|
|
696
696
|
y: r,
|
|
697
|
-
x:
|
|
697
|
+
x: "max-content"
|
|
698
698
|
},
|
|
699
699
|
locale: {
|
|
700
700
|
emptyText: () => /* @__PURE__ */ h(
|
|
@@ -834,7 +834,7 @@ function he(e) {
|
|
|
834
834
|
if (t) {
|
|
835
835
|
if (e.type === "textarea")
|
|
836
836
|
return /* @__PURE__ */ o("div", { style: { paddingBottom: 18 }, children: /* @__PURE__ */ o(
|
|
837
|
-
|
|
837
|
+
q.TextArea,
|
|
838
838
|
{
|
|
839
839
|
showCount: !0,
|
|
840
840
|
maxLength: e.maxLength,
|
|
@@ -859,7 +859,7 @@ function he(e) {
|
|
|
859
859
|
) });
|
|
860
860
|
if (e.type === "input")
|
|
861
861
|
return /* @__PURE__ */ o(
|
|
862
|
-
|
|
862
|
+
q,
|
|
863
863
|
{
|
|
864
864
|
showCount: !0,
|
|
865
865
|
maxLength: e.maxLength,
|
|
@@ -1009,7 +1009,7 @@ const eo = k.div``, to = k.div`
|
|
|
1009
1009
|
) }),
|
|
1010
1010
|
/* @__PURE__ */ o(be, { onCreate: x, block: !0 })
|
|
1011
1011
|
] }),
|
|
1012
|
-
p ? /* @__PURE__ */ o(
|
|
1012
|
+
/* @__PURE__ */ o("div", { style: { flex: 1, minWidth: 0 }, children: p ? /* @__PURE__ */ o(
|
|
1013
1013
|
Qn,
|
|
1014
1014
|
{
|
|
1015
1015
|
data: p,
|
|
@@ -1023,7 +1023,7 @@ const eo = k.div``, to = k.div`
|
|
|
1023
1023
|
message: i("selectAGroupFirst"),
|
|
1024
1024
|
style: { height: 60, minWidth: 400 }
|
|
1025
1025
|
}
|
|
1026
|
-
)
|
|
1026
|
+
) })
|
|
1027
1027
|
] }) });
|
|
1028
1028
|
};
|
|
1029
1029
|
function io(e) {
|
|
@@ -1101,7 +1101,7 @@ function _e(e) {
|
|
|
1101
1101
|
":"
|
|
1102
1102
|
] }),
|
|
1103
1103
|
/* @__PURE__ */ o(
|
|
1104
|
-
|
|
1104
|
+
q,
|
|
1105
1105
|
{
|
|
1106
1106
|
ref: i,
|
|
1107
1107
|
showCount: !0,
|
|
@@ -1325,15 +1325,15 @@ function po(e) {
|
|
|
1325
1325
|
}
|
|
1326
1326
|
/*! This file was generated by vite-i18n-gen-resources-type check https://github.com/CRMChatReactComponent/vite-i18n-gen-resources-type. Please do not modify. */
|
|
1327
1327
|
var ze = /* @__PURE__ */ ((e) => (e.ZH_CN = "zh-CN", e.EN_US = "en-US", e))(ze || {});
|
|
1328
|
-
const Fe = "Are you sure to delete it?", Re = "No data available", Be = "Select a Group first", Ke = "Create a Group", Ve = "Edit Group",
|
|
1328
|
+
const Fe = "Are you sure to delete it?", Re = "No data available", Be = "Select a Group first", Ke = "Create a Group", Ve = "Edit Group", We = "Create Group", qe = "Title", Ue = "Color", Ye = "Save", Je = "Create", Xe = "Quick Messages Configs", Qe = "Created Successfully", Ze = "Cannot be saved: title already existing", et = "Cannot be saved: title is empty", tt = "Cannot be saved: content is empty", rt = "Content", nt = "Import from Clipboard", fo = {
|
|
1329
1329
|
confirmDelete: Fe,
|
|
1330
1330
|
noData: Re,
|
|
1331
1331
|
selectAGroupFirst: Be,
|
|
1332
1332
|
addNewGroup: Ke,
|
|
1333
1333
|
editGroup: Ve,
|
|
1334
|
-
createGroup:
|
|
1335
|
-
titleFieldName:
|
|
1336
|
-
colorFieldName:
|
|
1334
|
+
createGroup: We,
|
|
1335
|
+
titleFieldName: qe,
|
|
1336
|
+
colorFieldName: Ue,
|
|
1337
1337
|
save: Ye,
|
|
1338
1338
|
create: Je,
|
|
1339
1339
|
quickMessageConfigs: Xe,
|
|
@@ -1350,11 +1350,11 @@ const Fe = "Are you sure to delete it?", Re = "No data available", Be = "Selec
|
|
|
1350
1350
|
cannotSavedMessageCuzContentEmpty: tt,
|
|
1351
1351
|
cannotSavedMessageCuzLabelEmpty: et,
|
|
1352
1352
|
cannotSavedMessageCuzLabelExisted: Ze,
|
|
1353
|
-
colorFieldName:
|
|
1353
|
+
colorFieldName: Ue,
|
|
1354
1354
|
confirmDelete: Fe,
|
|
1355
1355
|
content: rt,
|
|
1356
1356
|
create: Je,
|
|
1357
|
-
createGroup:
|
|
1357
|
+
createGroup: We,
|
|
1358
1358
|
createSuccessfully: Qe,
|
|
1359
1359
|
default: fo,
|
|
1360
1360
|
editGroup: Ve,
|
|
@@ -1363,7 +1363,7 @@ const Fe = "Are you sure to delete it?", Re = "No data available", Be = "Selec
|
|
|
1363
1363
|
quickMessageConfigs: Xe,
|
|
1364
1364
|
save: Ye,
|
|
1365
1365
|
selectAGroupFirst: Be,
|
|
1366
|
-
titleFieldName:
|
|
1366
|
+
titleFieldName: qe
|
|
1367
1367
|
}, Symbol.toStringTag, { value: "Module" })), ot = "确定删除吗?", at = "没有数据", it = "请在左侧选择一个分组", st = "添加一个分组", lt = "编辑分组", ct = "新建分组", ut = "标题", dt = "颜色", pt = "保存", ft = "创建", gt = "快捷消息配置", ht = "创建成功", bt = "无法保存: 标题重复", yt = "无法保存: 标题不能为空", mt = "无法保存: 内容不能为空", vt = "内容", xt = "从剪切板导入", ho = {
|
|
1368
1368
|
confirmDelete: ot,
|
|
1369
1369
|
noData: at,
|
package/dist/index.umd.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
(function(f,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("react/jsx-runtime"),require("react"),require("antd"),require("emoji-picker-react"),require("react-i18next"),require("lodash-es"),require("styled-components"),require("@ant-design/icons"),require("react-use"),require("color"),require("i18next")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","antd","emoji-picker-react","react-i18next","lodash-es","styled-components","@ant-design/icons","react-use","color","i18next"],o):(f=typeof globalThis<"u"?globalThis:f||self,o(f.quickmessages={},f.jsxRuntime,f.react,f.antd,f.EmojiPicker,f.reactI18next,f.lodashEs,f.styled,f.icons,f.reactUse,f.Color,f.i18n))})(this,function(f,o,
|
|
2
|
-
`).trim(),type:v.PLAIN};if(t.querySelector("img")){const n=t.querySelector("img");return{value:{src:n.src,title:(r=n.title)!=null?r:""},type:v.IMAGE}}return{value:t.innerText,type:v.PLAIN}}}const X=[new Sn];function jn(e){for(let t=0;t<X.length;t++)if(X[t].detectRule(e)){const r=X[t].parser(e);if(!_(r))return r}return[]}class $n{static parse(t){const r=document.createElement("div");r.innerHTML=t;const n=r.childNodes[0];if(!n)return!1;if(n.dataset.sheetsHyperlink)return{value:{link:n.dataset.sheetsHyperlink,title:n.innerText},type:v.HYPERLINK};if(n.tagName==="A")return{value:{link:n.getAttribute("href"),title:n.innerText},type:v.HYPERLINK};const a=n.childNodes[0];return a&&n.childNodes.length===1&&a.tagName==="IMG"?{value:{link:a.getAttribute("src"),title:a.title},type:v.IMAGE}:n.tagName==="IMG"?{value:{link:n.getAttribute("src"),title:n.title},type:v.IMAGE}:!1}}class An{constructor(){this.handles={},this.props={},this.evenHandles={}}destroy(){this.handles={}}registerHandler(t){[...t,...xn].map(r=>{this.handles[r.type]=r})}formatSetCopyData(t){return J(t)?[[{value:t,payload:void 0,type:this.handles[v.PLAIN].type}]]:
|
|
3
|
-
`:""}),r}getHtmlData(t){var r;let n="";if(t.length===1&&t[0].length===1){const{type:a,value:s,payload:d}=t[0][0];return((r=this.handles[a])!=null?r:this.handles[v.PLAIN]).toHtml(s,d)}return t.map((a,s)=>{n+="<tr>",a.map((d,g)=>{var u;const{value:l,type:m,payload:x}=d;n+=`<td>${((u=this.handles[m])!=null?u:this.handles[v.PLAIN]).toHtml(l,x)}</td>`}),n+="</tr>"}),`<table id="gs-clipboard-table"><tbody>${n}</tbody></table>`}async formatClipboardData(t){const r={text:"",html:"",clipboardType:[]};if(!t.types.includes($.HTML)){const m=await(await t.getType($.PLAIN)).text();return r.text=m,r.html=m,r.clipboardType=[[{value:m,type:this.handles[v.PLAIN].type}]],r}const n=await t.getType($.HTML),a=await t.getType($.PLAIN),s=await n.text(),d=await a.text(),g=document.createElement("div");g.innerHTML=s;const u=g.querySelector("#original-data");if(g.querySelector("#gs-clipboard-table")||u)r.text=d,r.html=s,r.clipboardType=JSON.parse(decodeURIComponent(u.dataset.data));else if(g.querySelector("table")){r.text=d,r.html=s;let l=[];if(this.props.tableParsers.length>0){for(let m=0;m<this.props.tableParsers.length;m++)if(this.props.tableParsers[m].detectRule(s)){const x=this.props.tableParsers[m].parser(s);if(!_(x)){l=x;break}}}(vn(l)||_(l))&&(l=jn(s)),r.clipboardType=l}else{let l=null;this.props.unknownHtmlParser&&(l=this.props.unknownHtmlParser(s)),l=l||$n.parse(s),l||(l={value:d,type:this.handles[v.PLAIN].type}),r.text=d,r.html=s,
|
|
1
|
+
(function(f,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("react/jsx-runtime"),require("react"),require("antd"),require("emoji-picker-react"),require("react-i18next"),require("lodash-es"),require("styled-components"),require("@ant-design/icons"),require("react-use"),require("color"),require("i18next")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","antd","emoji-picker-react","react-i18next","lodash-es","styled-components","@ant-design/icons","react-use","color","i18next"],o):(f=typeof globalThis<"u"?globalThis:f||self,o(f.quickmessages={},f.jsxRuntime,f.react,f.antd,f.EmojiPicker,f.reactI18next,f.lodashEs,f.styled,f.icons,f.reactUse,f.Color,f.i18n))})(this,function(f,o,y,i,L,M,gt,j,G,ht,yt,bt){"use strict";function Q(){const{theme:e}=y.useContext(i.ConfigProvider.ConfigContext);return y.useMemo(()=>(e==null?void 0:e.algorithm)===i.theme.darkAlgorithm,[e])}const vt=L.EmojiStyle.FACEBOOK,mt=({children:e,disabled:t=!1,onSelect:r=()=>{},onOpenChange:n=()=>{}})=>{const[a,s]=y.useState(!1),d=Q();y.useEffect(()=>{n(a)},[a]);function g(l){r(l.emoji),s(!1)}function u(l){t||s(l)}return o.jsx(i.Popover,{title:"",open:a,onOpenChange:u,overlayInnerStyle:{backgroundColor:"transparent",padding:0},trigger:["click"],content:o.jsx(i.Space,{direction:"vertical",size:12,children:o.jsx(L,{skinTonesDisabled:!0,onEmojiClick:g,emojiStyle:vt,lazyLoadEmojis:!1,theme:d?L.Theme.DARK:L.Theme.LIGHT})}),destroyTooltipOnHide:!0,children:e})};function Ct(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e=="x"?t:t&3|8).toString(16)})}function Z(e,t){return e.length>t?e.substring(0,t)+"…":e}const F=y.createContext(null);function Tt(e){const[t,r]=i.message.useMessage(),[n,a]=i.Modal.useModal();return o.jsxs(F.Provider,{value:{messageApi:t,modalApi:n},children:[r,a,e.children]})}class xt{constructor(){this.type=v.PLAIN}toText(t){return t}toHtml(t){return t}parse(t){return t}}var St=typeof global=="object"&&global&&global.Object===Object&&global,R=St,jt=typeof self=="object"&&self&&self.Object===Object&&self,$t=R||jt||Function("return this")(),A=$t,At=A.Symbol,H=At,ee=Object.prototype,kt=ee.hasOwnProperty,Mt=ee.toString,D=H?H.toStringTag:void 0;function Pt(e){var t=kt.call(e,D),r=e[D];try{e[D]=void 0;var n=!0}catch{}var a=Mt.call(e);return n&&(t?e[D]=r:delete e[D]),a}var wt=Object.prototype,Ot=wt.toString;function Dt(e){return Ot.call(e)}var Et="[object Null]",It="[object Undefined]",te=H?H.toStringTag:void 0;function P(e){return e==null?e===void 0?It:Et:te&&te in Object(e)?Pt(e):Dt(e)}function E(e){return e!=null&&typeof e=="object"}var Nt=Array.isArray,S=Nt;function re(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Lt="[object AsyncFunction]",Gt="[object Function]",Ht="[object GeneratorFunction]",_t="[object Proxy]";function ne(e){if(!re(e))return!1;var t=P(e);return t==Gt||t==Ht||t==Lt||t==_t}var Ft=A["__core-js_shared__"],z=Ft,oe=function(){var e=/[^.]+$/.exec(z&&z.keys&&z.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function zt(e){return!!oe&&oe in e}var Bt=Function.prototype,qt=Bt.toString;function w(e){if(e!=null){try{return qt.call(e)}catch{}try{return e+""}catch{}}return""}var Wt=/[\\^$.*+?()[\]{}|]/g,Kt=/^\[object .+?Constructor\]$/,Ut=Function.prototype,Vt=Object.prototype,Yt=Ut.toString,Jt=Vt.hasOwnProperty,Xt=RegExp("^"+Yt.call(Jt).replace(Wt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Qt(e){if(!re(e)||zt(e))return!1;var t=ne(e)?Xt:Kt;return t.test(w(e))}function Zt(e,t){return e==null?void 0:e[t]}function I(e,t){var r=Zt(e,t);return Qt(r)?r:void 0}var Rt=I(A,"WeakMap"),B=Rt,er=9007199254740991;function ae(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=er}function tr(e){return e!=null&&ae(e.length)&&!ne(e)}var rr=Object.prototype;function se(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||rr;return e===r}var nr="[object Arguments]";function ie(e){return E(e)&&P(e)==nr}var le=Object.prototype,or=le.hasOwnProperty,ar=le.propertyIsEnumerable,sr=ie(function(){return arguments}())?ie:function(e){return E(e)&&or.call(e,"callee")&&!ar.call(e,"callee")},ir=sr;function lr(){return!1}var ce=typeof f=="object"&&f&&!f.nodeType&&f,ue=ce&&typeof module=="object"&&module&&!module.nodeType&&module,cr=ue&&ue.exports===ce,de=cr?A.Buffer:void 0,ur=de?de.isBuffer:void 0,dr=ur||lr,pr=dr,fr="[object Arguments]",gr="[object Array]",hr="[object Boolean]",yr="[object Date]",br="[object Error]",vr="[object Function]",mr="[object Map]",Cr="[object Number]",Tr="[object Object]",xr="[object RegExp]",Sr="[object Set]",jr="[object String]",$r="[object WeakMap]",Ar="[object ArrayBuffer]",kr="[object DataView]",Mr="[object Float32Array]",Pr="[object Float64Array]",wr="[object Int8Array]",Or="[object Int16Array]",Dr="[object Int32Array]",Er="[object Uint8Array]",Ir="[object Uint8ClampedArray]",Nr="[object Uint16Array]",Lr="[object Uint32Array]",b={};b[Mr]=b[Pr]=b[wr]=b[Or]=b[Dr]=b[Er]=b[Ir]=b[Nr]=b[Lr]=!0,b[fr]=b[gr]=b[Ar]=b[hr]=b[kr]=b[yr]=b[br]=b[vr]=b[mr]=b[Cr]=b[Tr]=b[xr]=b[Sr]=b[jr]=b[$r]=!1;function Gr(e){return E(e)&&ae(e.length)&&!!b[P(e)]}function Hr(e){return function(t){return e(t)}}var pe=typeof f=="object"&&f&&!f.nodeType&&f,N=pe&&typeof module=="object"&&module&&!module.nodeType&&module,_r=N&&N.exports===pe,q=_r&&R.process,Fr=function(){try{var e=N&&N.require&&N.require("util").types;return e||q&&q.binding&&q.binding("util")}catch{}}(),fe=Fr,ge=fe&&fe.isTypedArray,zr=ge?Hr(ge):Gr,Br=zr;function he(e,t){return function(r){return e(t(r))}}var qr=he(Object.keys,Object),Wr=qr,Kr=Object.prototype,Ur=Kr.hasOwnProperty;function Vr(e){if(!se(e))return Wr(e);var t=[];for(var r in Object(e))Ur.call(e,r)&&r!="constructor"&&t.push(r);return t}var Yr=I(A,"Map"),W=Yr,Jr=he(Object.getPrototypeOf,Object),Xr=Jr,Qr="[object Object]",Zr=Function.prototype,Rr=Object.prototype,ye=Zr.toString,en=Rr.hasOwnProperty,tn=ye.call(Object);function K(e){if(!E(e)||P(e)!=Qr)return!1;var t=Xr(e);if(t===null)return!0;var r=en.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&ye.call(r)==tn}var rn=I(A,"DataView"),U=rn,nn=I(A,"Promise"),V=nn,on=I(A,"Set"),Y=on,be="[object Map]",an="[object Object]",ve="[object Promise]",me="[object Set]",Ce="[object WeakMap]",Te="[object DataView]",sn=w(U),ln=w(W),cn=w(V),un=w(Y),dn=w(B),O=P;(U&&O(new U(new ArrayBuffer(1)))!=Te||W&&O(new W)!=be||V&&O(V.resolve())!=ve||Y&&O(new Y)!=me||B&&O(new B)!=Ce)&&(O=function(e){var t=P(e),r=t==an?e.constructor:void 0,n=r?w(r):"";if(n)switch(n){case sn:return Te;case ln:return be;case cn:return ve;case un:return me;case dn:return Ce}return t});var pn=O,fn="[object String]";function J(e){return typeof e=="string"||!S(e)&&E(e)&&P(e)==fn}var gn="[object Map]",hn="[object Set]",yn=Object.prototype,bn=yn.hasOwnProperty;function vn(e){if(e==null)return!0;if(tr(e)&&(S(e)||typeof e=="string"||typeof e.splice=="function"||pr(e)||Br(e)||ir(e)))return!e.length;var t=pn(e);if(t==gn||t==hn)return!e.size;if(se(e))return!Vr(e).length;for(var r in e)if(bn.call(e,r))return!1;return!0}function xe(e){return e.every(t=>S(t))}function _(e){return!!(!S(e)||e.length===0||S(e[0])&&e[0].length===0)}function Se(e){let t="";return Object.keys(e).map(r=>{t+=` ${r}="${e[r].replace(/"/g,'\\"')}"`}),t}class mn{constructor(){this.type=v.IMAGE}toText(t){var r;return(r=t.title)!=null?r:""}toHtml(t){var r;return`<img src="${t.src}" alt="${t.title}" ${Se((r=t.attrs)!=null?r:{})}>`}parse(t){var r,n;return t.title=(r=t.title)!=null?r:"",t.attrs=(n=t.attrs)!=null?n:{},t}}class Cn{constructor(){this.type=v.HYPERLINK}toText(t){var r;return(r=t.title)!=null?r:""}toHtml(t){return`<a href="${t.link}" target="_blank" ${Se(t.attrs)}>${t.title}</a>`}parse(t){var r,n;return t.title=(r=t.title)!=null?r:"",t.attrs=(n=t.attrs)!=null?n:{},t}}class Tn{constructor(){this.type=v.RICH_TEXT}toText(t){return t.plain}toHtml(t){return t.value}parse(t){return t}}var v=(e=>(e.PLAIN="gs-plain-text",e.IMAGE="gs-image",e.HYPERLINK="gs-hyperlink",e.RICH_TEXT="gs-rich-text",e))(v||{});const xn=[new xt,new mn,new Cn,new Tn];var $=(e=>(e.PLAIN="text/plain",e.HTML="text/html",e))($||{});class Sn{detectRule(t){return!!~t.indexOf("google-sheets-html-origin")}parser(t){const r=document.createElement("div");return r.innerHTML=t,[...r.querySelector("table").querySelector("tbody").childNodes].map(a=>[...a.childNodes].map(s=>this.parseTd(s)))}getSheetsValue(t){try{const r=JSON.parse(t);return r[r[1]]?r[r[1]].replaceAll(" "," "):""}catch{return""}}parseTd(t){var r;if(t.dataset.sheetsHyperlink)return{value:{title:this.getSheetsValue(t.dataset.sheetsValue),link:t.dataset.sheetsHyperlink},type:v.HYPERLINK};if(t.dataset.sheetsTextstyleruns)return{value:{plain:this.getSheetsValue(t.dataset.sheetsValue),value:t.innerHTML},type:v.RICH_TEXT};if(t.dataset.sheetsValue)return{value:t.innerHTML.replace(/\<br\>/g,`
|
|
2
|
+
`).trim(),type:v.PLAIN};if(t.querySelector("img")){const n=t.querySelector("img");return{value:{src:n.src,title:(r=n.title)!=null?r:""},type:v.IMAGE}}return{value:t.innerText,type:v.PLAIN}}}const X=[new Sn];function jn(e){for(let t=0;t<X.length;t++)if(X[t].detectRule(e)){const r=X[t].parser(e);if(!_(r))return r}return[]}class $n{static parse(t){const r=document.createElement("div");r.innerHTML=t;const n=r.childNodes[0];if(!n)return!1;if(n.dataset.sheetsHyperlink)return{value:{link:n.dataset.sheetsHyperlink,title:n.innerText},type:v.HYPERLINK};if(n.tagName==="A")return{value:{link:n.getAttribute("href"),title:n.innerText},type:v.HYPERLINK};const a=n.childNodes[0];return a&&n.childNodes.length===1&&a.tagName==="IMG"?{value:{link:a.getAttribute("src"),title:a.title},type:v.IMAGE}:n.tagName==="IMG"?{value:{link:n.getAttribute("src"),title:n.title},type:v.IMAGE}:!1}}class An{constructor(){this.handles={},this.props={},this.evenHandles={}}destroy(){this.handles={}}registerHandler(t){[...t,...xn].map(r=>{this.handles[r.type]=r})}formatSetCopyData(t){return J(t)?[[{value:t,payload:void 0,type:this.handles[v.PLAIN].type}]]:K(t)?[[t]]:S(t)?(xe(t)||(t=[t.map(r=>J(r)?{value:r,payload:"",type:this.handles[v.PLAIN].type}:r)]),t=t.map(r=>r.map(n=>J(n)?{value:n,type:this.handles[v.PLAIN].type,payload:""}:n)),t):(console.error("unknown data type",t),[])}getTextData(t){let r="";return t.map((n,a)=>{n.map((s,d)=>{var g;const{value:u,type:l,payload:m}=s;r+=((g=this.handles[l])!=null?g:this.handles[v.PLAIN]).toText(u,m),r+=d<n.length-1?" ":""}),r+=a<t.length-1?`
|
|
3
|
+
`:""}),r}getHtmlData(t){var r;let n="";if(t.length===1&&t[0].length===1){const{type:a,value:s,payload:d}=t[0][0];return((r=this.handles[a])!=null?r:this.handles[v.PLAIN]).toHtml(s,d)}return t.map((a,s)=>{n+="<tr>",a.map((d,g)=>{var u;const{value:l,type:m,payload:x}=d;n+=`<td>${((u=this.handles[m])!=null?u:this.handles[v.PLAIN]).toHtml(l,x)}</td>`}),n+="</tr>"}),`<table id="gs-clipboard-table"><tbody>${n}</tbody></table>`}async formatClipboardData(t){const r={text:"",html:"",clipboardType:[]};if(!t.types.includes($.HTML)){const m=await(await t.getType($.PLAIN)).text();return r.text=m,r.html=m,r.clipboardType=[[{value:m,type:this.handles[v.PLAIN].type}]],r}const n=await t.getType($.HTML),a=await t.getType($.PLAIN),s=await n.text(),d=await a.text(),g=document.createElement("div");g.innerHTML=s;const u=g.querySelector("#original-data");if(g.querySelector("#gs-clipboard-table")||u)r.text=d,r.html=s,r.clipboardType=JSON.parse(decodeURIComponent(u.dataset.data));else if(g.querySelector("table")){r.text=d,r.html=s;let l=[];if(this.props.tableParsers.length>0){for(let m=0;m<this.props.tableParsers.length;m++)if(this.props.tableParsers[m].detectRule(s)){const x=this.props.tableParsers[m].parser(s);if(!_(x)){l=x;break}}}(vn(l)||_(l))&&(l=jn(s)),r.clipboardType=l}else{let l=null;this.props.unknownHtmlParser&&(l=this.props.unknownHtmlParser(s)),l=l||$n.parse(s),l||(l={value:d,type:this.handles[v.PLAIN].type}),r.text=d,r.html=s,K(l)&&(r.clipboardType=[[l]]),S(l)&&(xe(l)?r.clipboardType=l:r.clipboardType=[l])}return r}getClipboardTypeData(t){return t}on(t,r){return S(this.evenHandles[t])||(this.evenHandles[t]=[]),this.evenHandles[t].push(r),()=>{this.evenHandles[t].splice(this.evenHandles[t].indexOf(r),1)}}trigger(t,...r){if(S(this.evenHandles[t]))for(let n=0;n<this.evenHandles[t].length;n++){const a=this.evenHandles[t][n];a(...r)}}}const kn={handlers:[],tableParsers:[]};class Mn extends An{constructor(t={}){var r,n;if(super(),(n=(r=window.navigator)==null?void 0:r.clipboard)!=null&&n.read)this.props=Object.assign(kn,t),this.registerHandler(this.props.handlers);else throw new Error("You browser didn't support clipboard api!")}async getDataFromClipboard(){return new Promise((t,r)=>{window.navigator.clipboard.read().then(async n=>{const a=n[0];t(this.transformClipboardData(await this.formatClipboardData(a)))},n=>r(n))})}setCopy(t){return this.setCopyData(this.formatSetCopyData(t),!1)}formatCopyData(t){return this.setCopyData(this.formatSetCopyData(t),!0)}transformClipboardData(t){return _(t.clipboardType)||t.clipboardType.map(r=>{S(r)?r.map(n=>{n.value=this.handles[n.type]?this.handles[n.type].parse(n.value):n.value}):K(r)&&(r.value=this.handles[r.type]?this.handles[r.type].parse(r.value):r.value)}),t}setCopyData(t,r=!1){const n={text:this.getTextData(t),html:this.getHtmlData(t),clipboardType:this.getClipboardTypeData(t)};if(r)return n;this.trigger("beforeCopy",n);const a=[new ClipboardItem({[$.PLAIN]:new Blob([n.text],{type:$.PLAIN}),[$.HTML]:new Blob([n.html+`<div id="original-data" data-data="${encodeURIComponent(JSON.stringify(n.clipboardType))}"></div>`],{type:$.HTML})})];return window.navigator.clipboard.write(a).then(()=>this.trigger("copySucceeded",a),s=>this.trigger("copyFailed",s)),n}}const Pn=new Mn,je=({data:e=[],onChange:t=()=>{},tableHeight:r="460px",limitation:n={}})=>{const{messageApi:a}=y.useContext(F),{title:s=15,content:d=2e3}=n,{t:g}=M.useTranslation();function u(c){const h=e.findIndex(p=>p.label===c.label);e[h]=c,t([...e])}function l(){const c=[{label:`#${e.length+1}`,content:""},...e];t(c),a.success(g("createSuccessfully"))}function m(c){const h=e.filter(p=>p.label!==c);t(h)}async function x(){const p=[...(await Pn.getDataFromClipboard()).clipboardType.map(C=>{var k,T;return{label:((k=C==null?void 0:C[0])==null?void 0:k.value)??"",content:((T=C==null?void 0:C[1])==null?void 0:T.value)??""}}).filter(C=>C.label&&C.content),...e];t(gt.uniqBy(p,"label"))}return o.jsxs(i.Table,{bordered:!0,dataSource:e,pagination:!1,rowKey:"label",size:"small",scroll:{y:r,x:"max-content"},locale:{emptyText:()=>o.jsxs(i.Space,{direction:"vertical",size:24,style:{width:"100%",textAlign:"center",padding:"62px 0px"},children:[o.jsx(i.Empty,{}),o.jsx(i.Button,{type:"primary",onClick:l,children:g("create")})]})},footer:()=>o.jsxs(i.Flex,{style:{width:"100%"},justify:"space-between",children:[o.jsx(i.Space,{children:o.jsx("div",{})}),o.jsxs(i.Space,{size:12,children:[o.jsx(i.Button,{block:!0,type:"text",onClick:x,children:g("importFromClipboard")}),o.jsx(i.Button,{type:"primary",onClick:l,children:g("create")})]})]}),children:[o.jsx(i.Table.Column,{title:g("titleFieldName"),dataIndex:"label",width:400,render:(c,h)=>o.jsx($e,{maxLength:s,type:"input",value:c,onChange:p=>{if(h.label!==p){if(e.find(C=>C.label===p)){a.error(g("cannotSavedMessageCuzLabelExisted"));return}if(p.trim()===""){a.error(g("cannotSavedMessageCuzLabelEmpty"));return}h.label=p,u(h)}}})},"label"),o.jsx(i.Table.Column,{title:g("content"),dataIndex:"content",width:400,render:(c,h)=>o.jsx($e,{maxLength:d,type:"textarea",value:c,onChange:p=>{if(p.trim()===""){a.error(g("cannotSavedMessageCuzContentEmpty"));return}h.content=p,u(h)}})},"content"),o.jsx(i.Table.Column,{title:"操作",dataIndex:"id",width:120,render:(c,h)=>o.jsx(i.Space,{size:4,children:o.jsx(i.Button,{size:"small",type:"text",danger:!0,onClick:()=>m(h.label),children:g("delete")})})},"id")]})},wn=j.div`
|
|
4
4
|
border: 1px solid transparent;
|
|
5
5
|
padding: 0 4px;
|
|
6
6
|
margin: 0 -4px;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
&:hover {
|
|
11
11
|
border-color: ${e=>e.$isDark?"#4d4848":"#c0bbbb"};
|
|
12
12
|
}
|
|
13
|
-
`;function $e(e){const[t,r]=
|
|
13
|
+
`;function $e(e){const[t,r]=y.useState(!1),n=y.useRef(null),a=Q();y.useEffect(()=>{t&&n.current&&(e.type==="input"?n.current.select():n.current.focus())},[t,e.type]);function s(){r(!0)}function d(u){r(!1),e.onChange(u)}function g(u){e.onChange(u),n.current.blur()}if(t){if(e.type==="textarea")return o.jsx("div",{style:{paddingBottom:18},children:o.jsx(i.Input.TextArea,{showCount:!0,maxLength:e.maxLength,defaultValue:e.value,ref:n,size:"small",style:{width:"100%"},autoSize:{minRows:4,maxRows:4},onBlur:u=>d(u.target.value),onKeyDown:u=>{if(u.key==="Enter"){if(u.shiftKey||u.ctrlKey||u.metaKey)return;{u.preventDefault();const l=u.target;return g(l.value),!1}}}})});if(e.type==="input")return o.jsx(i.Input,{showCount:!0,maxLength:e.maxLength,defaultValue:e.value,ref:n,size:"small",style:{width:"100%"},onBlur:u=>d(u.target.value),onPressEnter:u=>{const l=u.target;g(l.value)}})}return o.jsx(wn,{onClick:s,$isDark:a,children:o.jsx("div",{style:{minHeight:22},dangerouslySetInnerHTML:{__html:e.value.trim().split(`
|
|
14
14
|
`).slice(0,4).join("<br/>")+(e.value.trim().split(`
|
|
15
15
|
`).length>4?"...":"")}})})}const On=j.div``,Dn=j.div`
|
|
16
16
|
min-height: 380px;
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
height: 12px;
|
|
32
32
|
border: 1px solid #fff;
|
|
33
33
|
border-radius: 4px;
|
|
34
|
-
`,Ae=({data:e=[],onChange:t=()=>{},...r})=>{const[n,a]=
|
|
34
|
+
`,Ae=({data:e=[],onChange:t=()=>{},...r})=>{const[n,a]=y.useState([]),{t:s}=M.useTranslation();y.useEffect(()=>{e.length>0&&a([e[0].id])},[]);const d=y.useMemo(()=>e.map(c=>({key:c.id,label:o.jsx(In,{children:o.jsxs(i.Flex,{justify:"space-between",align:"center",children:[o.jsxs(i.Space,{children:[o.jsx("span",{children:c.title}),c.data.length?o.jsxs(En,{children:["(",c.data.length,")"]}):null]}),o.jsxs(i.Space,{size:8,children:[o.jsx(Nn,{$color:c.color}),o.jsx(Ln,{data:c,onSaved:h=>u(c.id,h)}),o.jsx(i.Popconfirm,{title:s("confirmDelete"),onConfirm:()=>l(c.id),children:o.jsx(i.Button,{danger:!0,size:"small",icon:o.jsx(G.DeleteOutlined,{}),type:"text"})})]})]})})})),[e]),g=y.useMemo(()=>{const c=n[0];if(c){const h=e.find(p=>p.id===c);if(h)return h.data}return!1},[n,e]);function u(c,h){const p=[...e],C=p.findIndex(k=>k.id===c);~C&&(p[C]={...p[C],...h}),t(p)}function l(c){const h=[...e].filter(p=>p.id!==c);t(h)}function m(c){const h=[...e],p=n[0];if(p){const C=h.find(k=>k.id===p);C&&(C.data=c)}t(h)}function x(c){const h=Ct(),p=[...e];p.push({id:h,color:c.color,title:c.title,data:[]}),t(p),a([h])}return d.length===0?o.jsxs(i.Flex,{vertical:!0,align:"center",gap:8,children:[o.jsx(i.Empty,{description:s("noData")}),o.jsx(ke,{onCreate:x})]}):o.jsx(On,{children:o.jsxs(i.Flex,{gap:16,children:[o.jsxs(i.Space,{direction:"vertical",children:[o.jsx(Dn,{children:o.jsx(i.Menu,{items:d,style:{width:300},selectedKeys:n,onSelect:({key:c})=>{a([c])}})}),o.jsx(ke,{onCreate:x,block:!0})]}),o.jsx("div",{style:{flex:1,minWidth:0},children:g?o.jsx(je,{data:g,onChange:m,...r}):o.jsx(i.Alert,{type:"info",message:s("selectAGroupFirst"),style:{height:60,minWidth:400}})})]})})};function Ln(e){const[t,r]=y.useState({title:"",color:""});return o.jsx(Me,{isEdit:!1,onCompleteChange:e.onSaved,data:t,onOpenChange:n=>{n&&r(e.data)},onDataChange:n=>r(n),children:o.jsx(i.Button,{size:"small",icon:o.jsx(G.EditOutlined,{}),type:"text"})})}function ke(e){const{t}=M.useTranslation(),r={title:"",color:"#1677FF"},[n,a]=y.useState({...r});return o.jsx(Me,{isEdit:!1,onCompleteChange:e.onCreate,data:n,onOpenChange:s=>{s&&a({...r})},onDataChange:s=>a(s),children:o.jsx(i.Button,{block:!!e.block,icon:o.jsx(G.PlusOutlined,{}),children:t("addNewGroup")})})}function Me(e){const[t,r]=y.useState(!1),[n,a]=y.useState(""),s=y.useRef(null),{t:d}=M.useTranslation();y.useEffect(()=>{e.onOpenChange(t)},[t]),y.useEffect(()=>{t?(a(e.data.color),setTimeout(()=>{var l;(l=s.current)==null||l.focus()},300)):a("")},[e.data]);function g(){e.data.title.trim().length!==0&&(e.onCompleteChange({title:e.data.title.trim(),color:e.data.color}),r(!1))}function u(l,m){e.onDataChange({...e.data,[l]:m})}return o.jsx(o.Fragment,{children:o.jsx(i.Popover,{title:e.isEdit?d("editGroup"):d("createGroup"),open:t,onOpenChange:r,trigger:["click"],content:o.jsxs(i.Space,{direction:"vertical",size:16,children:[o.jsxs(i.Space,{size:16,children:[o.jsxs("span",{children:[d("titleFieldName"),":"]}),o.jsx(i.Input,{ref:s,showCount:!0,maxLength:20,value:e.data.title,onChange:l=>u("title",l.target.value)})]}),o.jsxs(i.Space,{size:16,children:[o.jsxs("span",{children:[d("colorFieldName"),":"]}),n&&o.jsx(i.ColorPicker,{value:n,onChange:l=>a(`#${l.toHex()}`),showText:!0,onChangeComplete:l=>{u("color",`#${l.toHex()}`)}})]}),o.jsx(i.Button,{block:!0,type:"primary",onClick:g,children:e.isEdit?d("create"):d("save")})]}),children:e.children})})}const Pe=({open:e,onOpenChange:t=()=>{},children:r,...n})=>{const[a,s]=y.useState(e),{t:d}=M.useTranslation();return y.useEffect(()=>{s(!!e)},[e]),o.jsxs(o.Fragment,{children:[o.jsx(i.Modal,{title:d("quickMessageConfigs"),open:a,onCancel:()=>{s(!1),t(!1)},width:980,footer:null,children:o.jsx(Ae,{...n})}),o.jsx("span",{onClick:()=>{s(!0),t(!0)},children:r})]})},Gn=j.div`
|
|
35
35
|
font-size: 14px;
|
|
36
36
|
background: #dae5f8;
|
|
37
37
|
padding: 0 4px;
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
}
|
|
52
52
|
`,Hn=j.div`
|
|
53
53
|
min-height: 18px;
|
|
54
|
-
`,_n=({data:e=[],onChange:t,tableHeight:r,limitation:n,displayTitleMaxLength:a=10,displayMaxLength:s=99,SlotContentPrefixSlot:d,SlotContentSuffixSlot:g,onSelect:u=()=>{}})=>{const[l,m]=
|
|
54
|
+
`,_n=({data:e=[],onChange:t,tableHeight:r,limitation:n,displayTitleMaxLength:a=10,displayMaxLength:s=99,SlotContentPrefixSlot:d,SlotContentSuffixSlot:g,onSelect:u=()=>{}})=>{const[l,m]=y.useState(!1),[x,c]=ht.useLocalStorage("__activeGroupId",""),{t:h}=M.useTranslation(),p=y.useMemo(()=>e.find(T=>T.id===x),[x,e]),C=y.useMemo(()=>p?p.data:[],[p,e]),k=y.useMemo(()=>e.length===0,[e]);return o.jsxs(o.Fragment,{children:[k?o.jsx(i.Button,{size:"small",type:"primary",onClick:()=>m(!0),children:h("create")}):o.jsxs(i.Space,{size:2,direction:"vertical",children:[o.jsx(Hn,{children:o.jsx(i.Space,{size:8,children:C.slice(0,s).map(T=>o.jsx(i.Tooltip,{title:o.jsx("span",{style:{fontSize:12},children:T.label}),destroyTooltipOnHide:!0,children:o.jsxs(Gn,{onClick:Wn=>{Wn.target.closest("bdi")||u(T)},children:[d&&o.jsx("bdi",{children:o.jsx(d,{group:p,message:T})}),Z(T.label,a),g&&o.jsxs("bdi",{children:[o.jsx(g,{group:p,message:T})," "]})]})},T.label))})}),o.jsxs(i.Space,{size:8,children:[e.slice(0,s).map(T=>o.jsx(zn,{data:T,active:x===T.id,displayTitleMaxLength:a,onClick:()=>{c(x===T.id?"":T.id)}},T.id)),o.jsx(i.Button,{size:"small",type:"text",onClick:()=>m(!0),children:o.jsx(G.SettingOutlined,{})})]})]}),o.jsx(Pe,{open:l,onOpenChange:m,data:e,onChange:t,tableHeight:r,limitation:n})]})},Fn=j.div`
|
|
55
55
|
background-color: ${e=>e.$backgroundColor};
|
|
56
56
|
color: ${e=>e.$textColor};
|
|
57
57
|
border: 1px solid transparent;
|
|
@@ -68,4 +68,4 @@
|
|
|
68
68
|
&:active {
|
|
69
69
|
opacity: 0.6;
|
|
70
70
|
}
|
|
71
|
-
`;function zn(e){const t=
|
|
71
|
+
`;function zn(e){const t=y.useMemo(()=>{var s,d;const r=yt(e.data.color),n=r.isDark(),a=n?(s=r.lighten(.2))==null?void 0:s.hex():(d=r.darken(.15))==null?void 0:d.hex();return{$textColor:n?"#fff":"#333",$backgroundColor:e.data.color,$hoverColor:a}},[e.data.color]);return o.jsx(Fn,{...t,$active:e.active,"data-id":e.data.id,onClick:e.onClick,title:e.data.title,children:Z(e.data.title,e.displayTitleMaxLength)})}/*! This file was generated by vite-i18n-gen-resources-type check https://github.com/CRMChatReactComponent/vite-i18n-gen-resources-type. Please do not modify. */var we=(e=>(e.ZH_CN="zh-CN",e.EN_US="en-US",e))(we||{});const Oe="Are you sure to delete it?",De="No data available",Ee="Select a Group first",Ie="Create a Group",Ne="Edit Group",Le="Create Group",Ge="Title",He="Color",_e="Save",Fe="Create",ze="Quick Messages Configs",Be="Created Successfully",qe="Cannot be saved: title already existing",We="Cannot be saved: title is empty",Ke="Cannot be saved: content is empty",Ue="Content",Ve="Import from Clipboard",Bn=Object.freeze(Object.defineProperty({__proto__:null,addNewGroup:Ie,cannotSavedMessageCuzContentEmpty:Ke,cannotSavedMessageCuzLabelEmpty:We,cannotSavedMessageCuzLabelExisted:qe,colorFieldName:He,confirmDelete:Oe,content:Ue,create:Fe,createGroup:Le,createSuccessfully:Be,default:{confirmDelete:Oe,noData:De,selectAGroupFirst:Ee,addNewGroup:Ie,editGroup:Ne,createGroup:Le,titleFieldName:Ge,colorFieldName:He,save:_e,create:Fe,quickMessageConfigs:ze,createSuccessfully:Be,cannotSavedMessageCuzLabelExisted:qe,cannotSavedMessageCuzLabelEmpty:We,cannotSavedMessageCuzContentEmpty:Ke,content:Ue,delete:"Delete",importFromClipboard:Ve},editGroup:Ne,importFromClipboard:Ve,noData:De,quickMessageConfigs:ze,save:_e,selectAGroupFirst:Ee,titleFieldName:Ge},Symbol.toStringTag,{value:"Module"})),Ye="确定删除吗?",Je="没有数据",Xe="请在左侧选择一个分组",Qe="添加一个分组",Ze="编辑分组",Re="新建分组",et="标题",tt="颜色",rt="保存",nt="创建",ot="快捷消息配置",at="创建成功",st="无法保存: 标题重复",it="无法保存: 标题不能为空",lt="无法保存: 内容不能为空",ct="内容",ut="从剪切板导入",dt=Object.entries(Object.assign({"./locales/en-US/common.json":Bn,"./locales/zh-CN/common.json":Object.freeze(Object.defineProperty({__proto__:null,addNewGroup:Qe,cannotSavedMessageCuzContentEmpty:lt,cannotSavedMessageCuzLabelEmpty:it,cannotSavedMessageCuzLabelExisted:st,colorFieldName:tt,confirmDelete:Ye,content:ct,create:nt,createGroup:Re,createSuccessfully:at,default:{confirmDelete:Ye,noData:Je,selectAGroupFirst:Xe,addNewGroup:Qe,editGroup:Ze,createGroup:Re,titleFieldName:et,colorFieldName:tt,save:rt,create:nt,quickMessageConfigs:ot,createSuccessfully:at,cannotSavedMessageCuzLabelExisted:st,cannotSavedMessageCuzLabelEmpty:it,cannotSavedMessageCuzContentEmpty:lt,content:ct,delete:"删除",importFromClipboard:ut},editGroup:Ze,importFromClipboard:ut,noData:Je,quickMessageConfigs:ot,save:rt,selectAGroupFirst:Xe,titleFieldName:et},Symbol.toStringTag,{value:"Module"}))})).reduce((e,t)=>{const[r,n]=t,a=r.match(/\/locales\/([\w-]+)\//),s=r.match(/\/([\w-_]+)\.json$/);return s&&a?(e[a[1]]=e[a[1]]||{},e[a[1]][s[1]]=n.default):console.error(`无法解析文件名称 path:${r}`),e},{}),pt=bt.createInstance();pt.init({lng:we.ZH_CN,debug:!1,ns:Object.keys(dt),resources:dt});const ft=y.createContext(null);function qn(e){return o.jsx(M.I18nextProvider,{i18n:e.i18n||pt,defaultNS:"common",children:o.jsx(ft.Provider,{value:{},children:e.children})})}f.AntdApiContext=F,f.AntdApiContextProviderCmp=Tt,f.EmojiPickerWrapper=mt,f.I18nContext=ft,f.I18nContextCmp=qn,f.MessageConfigsPanel=Ae,f.MessageConfigsPanelModalWrapper=Pe,f.MessagesEditTable=je,f.QuickMessages=_n,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crmchatreactcomponent/quick-messages",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.9",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.umd.js",
|
|
7
7
|
"module": "./dist/index.es.js",
|
|
@@ -19,6 +19,20 @@
|
|
|
19
19
|
},
|
|
20
20
|
"author": "CarlJin",
|
|
21
21
|
"homepage": "https://quick-messages-component.pages.dev/",
|
|
22
|
+
"scripts": {
|
|
23
|
+
"serve": "pnpm run sb",
|
|
24
|
+
"build": "vite build && tsc -p ./tsconfig.dist.json -emitDeclarationOnly && tsc-alias -p ./tsconfig.dist.json",
|
|
25
|
+
"lint": "eslint --fix --ext .js,.jsx,.ts,.tsx ./src",
|
|
26
|
+
"checkUpdate": "NPM_CHECK_INSTALLER=pnpm npm-check -u -i",
|
|
27
|
+
"typecheck": "tsc -p tsconfig.json",
|
|
28
|
+
"format": "npx prettier --write \"**/*.{js,mjs,cjs,ts,tsx,jsx,json}\"",
|
|
29
|
+
"sb": "storybook dev -p 6006",
|
|
30
|
+
"sb:build": "storybook build",
|
|
31
|
+
"sb:preview": "serve ./storybook-static",
|
|
32
|
+
"test": "vitest",
|
|
33
|
+
"test:run": "vitest run",
|
|
34
|
+
"coverage": "vitest run --coverage"
|
|
35
|
+
},
|
|
22
36
|
"dependencies": {
|
|
23
37
|
"@ant-design/icons": "^5.3.1",
|
|
24
38
|
"antd": "^5.15.1",
|
|
@@ -77,19 +91,5 @@
|
|
|
77
91
|
"vite-i18n-gen-resources-type": "^0.0.4",
|
|
78
92
|
"vite-tsconfig-paths": "^4.3.1",
|
|
79
93
|
"vitest": "^1.3.1"
|
|
80
|
-
},
|
|
81
|
-
"scripts": {
|
|
82
|
-
"serve": "pnpm run sb",
|
|
83
|
-
"build": "vite build && tsc -p ./tsconfig.dist.json -emitDeclarationOnly && tsc-alias -p ./tsconfig.dist.json",
|
|
84
|
-
"lint": "eslint --fix --ext .js,.jsx,.ts,.tsx ./src",
|
|
85
|
-
"checkUpdate": "NPM_CHECK_INSTALLER=pnpm npm-check -u -i",
|
|
86
|
-
"typecheck": "tsc -p tsconfig.json",
|
|
87
|
-
"format": "npx prettier --write \"**/*.{js,mjs,cjs,ts,tsx,jsx,json}\"",
|
|
88
|
-
"sb": "storybook dev -p 6006",
|
|
89
|
-
"sb:build": "storybook build",
|
|
90
|
-
"sb:preview": "serve ./storybook-static",
|
|
91
|
-
"test": "vitest",
|
|
92
|
-
"test:run": "vitest run",
|
|
93
|
-
"coverage": "vitest run --coverage"
|
|
94
94
|
}
|
|
95
|
-
}
|
|
95
|
+
}
|