@botonic/react 0.29.0 → 0.29.1-alpha.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.
- package/lib/cjs/contexts.js +14 -8
- package/lib/cjs/contexts.js.map +1 -1
- package/lib/cjs/index-types.d.ts +12 -6
- package/lib/cjs/index-types.js +6 -1
- package/lib/cjs/index-types.js.map +1 -1
- package/lib/cjs/webchat/components/{persistent-menu.d.ts → opened-persistent-menu.d.ts} +0 -4
- package/lib/cjs/webchat/components/{persistent-menu.js → opened-persistent-menu.js} +2 -12
- package/lib/cjs/webchat/components/opened-persistent-menu.js.map +1 -0
- package/lib/cjs/webchat/webchat-input-panel/attachment.d.ts +7 -0
- package/lib/cjs/webchat/{components → webchat-input-panel}/attachment.js +6 -4
- package/lib/cjs/webchat/webchat-input-panel/attachment.js.map +1 -0
- package/lib/cjs/webchat/webchat-input-panel/emoji-picker.d.ts +6 -0
- package/lib/cjs/webchat/{components → webchat-input-panel}/emoji-picker.js +5 -20
- package/lib/cjs/webchat/webchat-input-panel/emoji-picker.js.map +1 -0
- package/lib/cjs/webchat/webchat-input-panel/index.d.ts +13 -0
- package/lib/cjs/webchat/webchat-input-panel/index.js +57 -0
- package/lib/cjs/webchat/webchat-input-panel/index.js.map +1 -0
- package/lib/cjs/webchat/webchat-input-panel/opened-emoji-picker.d.ts +6 -0
- package/lib/cjs/webchat/webchat-input-panel/opened-emoji-picker.js +15 -0
- package/lib/cjs/webchat/webchat-input-panel/opened-emoji-picker.js.map +1 -0
- package/lib/cjs/webchat/webchat-input-panel/persistent-menu.d.ts +6 -0
- package/lib/cjs/webchat/webchat-input-panel/persistent-menu.js +19 -0
- package/lib/cjs/webchat/webchat-input-panel/persistent-menu.js.map +1 -0
- package/lib/cjs/webchat/webchat-input-panel/send-button.d.ts +5 -0
- package/lib/cjs/webchat/{components → webchat-input-panel}/send-button.js +2 -2
- package/lib/cjs/webchat/webchat-input-panel/send-button.js.map +1 -0
- package/lib/cjs/webchat/webchat-input-panel/styles.d.ts +3 -0
- package/lib/cjs/webchat/webchat-input-panel/styles.js +30 -0
- package/lib/cjs/webchat/webchat-input-panel/styles.js.map +1 -0
- package/lib/cjs/webchat/webchat-input-panel/textarea.d.ts +12 -0
- package/lib/cjs/webchat/webchat-input-panel/textarea.js +57 -0
- package/lib/cjs/webchat/webchat-input-panel/textarea.js.map +1 -0
- package/lib/cjs/webchat/webchat.js +10 -95
- package/lib/cjs/webchat/webchat.js.map +1 -1
- package/lib/cjs/webchat-app.js +1 -1
- package/lib/cjs/webchat-app.js.map +1 -1
- package/lib/esm/contexts.js +14 -8
- package/lib/esm/contexts.js.map +1 -1
- package/lib/esm/index-types.d.ts +12 -6
- package/lib/esm/index-types.js +5 -0
- package/lib/esm/index-types.js.map +1 -1
- package/lib/esm/webchat/components/{persistent-menu.d.ts → opened-persistent-menu.d.ts} +0 -4
- package/lib/esm/webchat/components/{persistent-menu.js → opened-persistent-menu.js} +2 -11
- package/lib/esm/webchat/components/opened-persistent-menu.js.map +1 -0
- package/lib/esm/webchat/webchat-input-panel/attachment.d.ts +7 -0
- package/lib/esm/webchat/{components → webchat-input-panel}/attachment.js +6 -4
- package/lib/esm/webchat/webchat-input-panel/attachment.js.map +1 -0
- package/lib/esm/webchat/webchat-input-panel/emoji-picker.d.ts +6 -0
- package/lib/esm/webchat/{components → webchat-input-panel}/emoji-picker.js +4 -18
- package/lib/esm/webchat/webchat-input-panel/emoji-picker.js.map +1 -0
- package/lib/esm/webchat/webchat-input-panel/index.d.ts +13 -0
- package/lib/esm/webchat/webchat-input-panel/index.js +53 -0
- package/lib/esm/webchat/webchat-input-panel/index.js.map +1 -0
- package/lib/esm/webchat/webchat-input-panel/opened-emoji-picker.d.ts +6 -0
- package/lib/esm/webchat/webchat-input-panel/opened-emoji-picker.js +10 -0
- package/lib/esm/webchat/webchat-input-panel/opened-emoji-picker.js.map +1 -0
- package/lib/esm/webchat/webchat-input-panel/persistent-menu.d.ts +6 -0
- package/lib/esm/webchat/webchat-input-panel/persistent-menu.js +14 -0
- package/lib/esm/webchat/webchat-input-panel/persistent-menu.js.map +1 -0
- package/lib/esm/webchat/webchat-input-panel/send-button.d.ts +5 -0
- package/lib/esm/webchat/{components → webchat-input-panel}/send-button.js +2 -2
- package/lib/esm/webchat/webchat-input-panel/send-button.js.map +1 -0
- package/lib/esm/webchat/webchat-input-panel/styles.d.ts +3 -0
- package/lib/esm/webchat/webchat-input-panel/styles.js +26 -0
- package/lib/esm/webchat/webchat-input-panel/styles.js.map +1 -0
- package/lib/esm/webchat/webchat-input-panel/textarea.d.ts +12 -0
- package/lib/esm/webchat/webchat-input-panel/textarea.js +52 -0
- package/lib/esm/webchat/webchat-input-panel/textarea.js.map +1 -0
- package/lib/esm/webchat/webchat.js +10 -95
- package/lib/esm/webchat/webchat.js.map +1 -1
- package/lib/esm/webchat-app.js +2 -2
- package/lib/esm/webchat-app.js.map +1 -1
- package/package.json +2 -2
- package/src/contexts.tsx +10 -4
- package/src/index-types.ts +13 -6
- package/src/webchat/components/{persistent-menu.jsx → opened-persistent-menu.jsx} +0 -29
- package/src/webchat/{components/attachment.jsx → webchat-input-panel/attachment.tsx} +16 -4
- package/src/webchat/{components/emoji-picker.jsx → webchat-input-panel/emoji-picker.tsx} +13 -32
- package/src/webchat/webchat-input-panel/index.tsx +117 -0
- package/src/webchat/webchat-input-panel/opened-emoji-picker.tsx +33 -0
- package/src/webchat/webchat-input-panel/persistent-menu.tsx +41 -0
- package/src/webchat/{components/send-button.jsx → webchat-input-panel/send-button.tsx} +6 -2
- package/src/webchat/webchat-input-panel/styles.ts +29 -0
- package/src/webchat/webchat-input-panel/textarea.tsx +110 -0
- package/src/webchat/webchat.jsx +19 -180
- package/src/webchat-app.jsx +2 -2
- package/lib/cjs/webchat/components/attachment.d.ts +0 -5
- package/lib/cjs/webchat/components/attachment.js.map +0 -1
- package/lib/cjs/webchat/components/emoji-picker.d.ts +0 -5
- package/lib/cjs/webchat/components/emoji-picker.js.map +0 -1
- package/lib/cjs/webchat/components/persistent-menu.js.map +0 -1
- package/lib/cjs/webchat/components/send-button.d.ts +0 -3
- package/lib/cjs/webchat/components/send-button.js.map +0 -1
- package/lib/esm/webchat/components/attachment.d.ts +0 -5
- package/lib/esm/webchat/components/attachment.js.map +0 -1
- package/lib/esm/webchat/components/emoji-picker.d.ts +0 -5
- package/lib/esm/webchat/components/emoji-picker.js.map +0 -1
- package/lib/esm/webchat/components/persistent-menu.js.map +0 -1
- package/lib/esm/webchat/components/send-button.d.ts +0 -3
- package/lib/esm/webchat/components/send-button.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webchat-app.js","sourceRoot":"","sources":["../../src/webchat-app.jsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webchat-app.js","sourceRoot":"","sources":["../../src/webchat-app.jsx"],"names":[],"mappings":";;AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,KAAK,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE3C,MAAM,OAAO,UAAU;IACrB,YAAY,EACV,KAAK,GAAG,EAAE,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,YAAY,EACZ,aAAa,EACb,OAAO,EACP,UAAU,EACV,MAAM,EACN,MAAM,EACN,OAAO,EACP,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,KAAK,EACL,UAAU,EACV,MAAM,GACP;QACC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,SAAS,GAAG,OAAO,CACtB,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAC1D,CAAA;QACD,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC7C,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;YACjE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;SACvB;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAA;QAChD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAA;QAC7D,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAA;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,EAAE,CAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,iBAAiB,CAAC,IAAI;QACpB,oDAAoD;QACpD,6CAA6C;QAC7C,IAAI,IAAI,EAAE;YACR,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC1B,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;oBAC1B,OAAO,CAAC,IAAI,CACV,sBAAsB,IAAI,CAAC,EAAE,kCAAkC,IAAI,CAAC,MAAM,kBAAkB,IAAI,CAAC,EAAE,GAAG,CACvG,CAAA;oBACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;iBACtB;aACF;iBAAM,IAAI,IAAI,CAAC,EAAE;gBAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;iBACpC,IAAI,IAAI,CAAC,MAAM;gBAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;SAC5C;aAAM;YACL,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAC5C;QACD,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YACpC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;YACrB,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU;gBAC1B,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;;gBACvD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;SACrC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACzE,CAAC;IAED,iBAAiB,CAAC,IAAI;QACpB,IAAI,CAAC,IAAI;YAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA;IACjD,CAAC;IAED,aAAa,CAAC,GAAG,IAAI;QACnB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;IAC3C,CAAC;IAED,aAAa,CAAC,GAAG,IAAI;QACnB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;IAC3C,CAAC;IAED,cAAc,CAAC,GAAG,IAAI;QACpB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;IAC7C,CAAC;IAEK,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;;YAC/B,IAAI,CAAC,SAAS;gBACZ,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;oBACnB,MAAM,EAAE,OAAO,CAAC,IAAI;oBACpB,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAA;YACJ,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACrD,CAAC;KAAA;IAEK,oBAAoB;;YACxB,OAAO,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAA;QACnD,CAAC;KAAA;IAED,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE;QAC/C,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACzD,MAAM,aAAa,GAAG,WAAW,IAAI,WAAW,CAAC,EAAE,CAAA;QACnD,MAAM,qBAAqB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAA;QACzD,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,aAAa,CAAA;YACjD,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,qBAAqB,CAAA;SAClE;aAAM,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;YACvC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;gBACvC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI;gBACJ,aAAa;gBACb,qBAAqB;gBACrB,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBAC5C,YAAY,EAAE,GAAG,EAAE,CACjB,IAAI,CAAC,UAAU,CAAC,OAAO;qBACpB,WAAW,EAAE;qBACb,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC;gBACpD,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAA;SACH;IACH,CAAC;IAED,cAAc,CAAC,KAAK;;QAClB,IAAI,KAAK,CAAC,MAAM,KAAK,kBAAkB,EAAE;YACvC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;YACtE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;SAChD;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,qBAAqB,EAAE;YACjD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;SACxD;aAAM,IAAI,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,MAAK,yBAAyB,EAAE;YAC5D,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;SAC/C;aAAM,IAAI,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,MAAK,eAAe,EAAE;YAClD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC,CAAA;SACjD;aAAM;YACL,IAAI,CAAC,SAAS;gBACZ,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACvE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;SAClC;IACH,CAAC;IAED,UAAU,CAAC,IAAI;QACb,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,aAAa,CAAC,OAAO;;QACnB,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;QACf,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAA;QACvB,OAAO,CAAC,MAAM,GAAG,MAAA,OAAO,CAAC,OAAO,0CAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAA;QAC9D,OAAO,OAAO,CAAC,OAAO,CAAA;QACtB,MAAM,QAAQ,GAAG,YAAY,CAC3B,OAAO,EACP,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,WAAW,KAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CACjE,CAAA;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC;YACrC,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAED,UAAU,CAAC,IAAI;QACb,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,cAAc,CAAC,OAAO;QACpB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,WAAW,CAAC,IAAI;QACd,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,cAAc,CAAC,OAAO;QACpB,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,SAAS,CAAC,MAAM;QACd,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI;QACF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;IACvC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;IACxC,CAAC;IAED,YAAY;QACV,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;IACxC,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,CAAA;IACzC,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAA;IAC9C,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAA;IAC/C,CAAC;IAED,qBAAqB,CAAC,gBAAgB;QACpC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;IACjE,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAA;IAClD,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAA;IAChD,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;IAC9C,CAAC;IAED,aAAa;QACX,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,CAAA;IACzC,CAAC;IAEK,aAAa;;YACjB,OAAO,IAAI,CAAC,wBAAwB,CAAC;gBACnC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAA;QACJ,CAAC;KAAA;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAA;IACvD,CAAC;IAED,iBAAiB,CAAC,KAAK,EAAE,WAAW;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IACtE,CAAC;IAED,qBAAqB,CAAC,QAAQ;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAChE,CAAC;IAED,sCAAsC;IACtC,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,EAAE;QACtC,IAAI,EACF,KAAK,GAAG,EAAE,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,OAAO,EACP,UAAU,EACV,MAAM,EACN,MAAM,EACN,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,KAAK,EACL,UAAU,EACV,MAAM,EACN,MAAM,KAEJ,gBAAgB,EADf,cAAc,UACf,gBAAgB,EAxBhB,oUAwBH,CAAmB,CAAA;QACpB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAChC,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC,cAAc,CAAA;QACtD,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC,cAAc,CAAA;QACtD,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,CAAA;QAC7C,iBAAiB,GAAG,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAA;QAC/D,iBAAiB,GAAG,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAA;QAC/D,eAAe,GAAG,eAAe,IAAI,IAAI,CAAC,eAAe,CAAA;QACzD,gBAAgB,GAAG,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAA;QAC5D,YAAY,GAAG,YAAY,IAAI,IAAI,CAAC,YAAY,CAAA;QAChD,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC,aAAa,CAAA;QACnD,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAA;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,CAAA;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC,UAAU,CAAA;QAC/C,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAA;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAA;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,CAAA;QACtC,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,CAAA;QAC5C,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,IAAI,CAAC,YAAY,CAAA;QACrD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAA;QACvE,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC,UAAU,CAAA;QAC/C,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAA;QACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC5B,OAAO,CACL,KAAC,OAAO,oBACF,cAAc,IAClB,GAAG,EAAE,IAAI,CAAC,UAAU,EACpB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,EAChD,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,EAChD,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,EAClD,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,EACnD,aAAa,EAAE,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAC/D,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,EACrD,MAAM,EAAE,MAAM,IACd,CACH,CAAA;IACH,CAAC;IAEK,gBAAgB,CAAC,EAAE,KAAK,EAAE;;YAC9B,IAAI;gBACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,oBAAoB,CAAC;oBAC3D,KAAK;iBACN,CAAC,CAAA;gBACF,OAAO,MAAM,KAAK,GAAG,CAAA;aACtB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,KAAK,CAAA;aACb;QACH,CAAC;KAAA;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;IAC3C,CAAC;IAEK,wBAAwB,CAAC,gBAAgB;;YAC7C,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAA;YAC5C,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC,UAAU,CAAA;YAC1C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAA;YAChE,IAAI,OAAO,UAAU,KAAK,UAAU,IAAI,UAAU,EAAE;gBAAE,OAAO,IAAI,CAAA;YACjE,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACtE,OAAO,IAAI,CAAA;YACb,OAAO,KAAK,CAAA;QACd,CAAC;KAAA;IAED,OAAO;QACL,IAAI,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAA;QAC5D,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC5D,CAAC;IAEK,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,EAAE;;YACtC,WAAW,CAAC,GAAS,EAAE;gBACrB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAA;gBACvE,IAAI,SAAS;oBACX,MAAM,CACJ,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC,EACzC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAC7B,CAAA;YACL,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/react",
|
|
3
|
-
"version": "0.29.0",
|
|
3
|
+
"version": "0.29.1-alpha.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Build Chatbots using React",
|
|
6
6
|
"main": "./lib/cjs",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"react-frame-component": "^4.1.3",
|
|
31
31
|
"react-json-tree": "^0.15.0",
|
|
32
32
|
"react-router-dom": "^5.3.4",
|
|
33
|
-
"react-textarea-autosize": "^
|
|
33
|
+
"react-textarea-autosize": "^8.5.3",
|
|
34
34
|
"reconnecting-websocket": "^4.4.0",
|
|
35
35
|
"simplebar-react": "^2.4.3",
|
|
36
36
|
"styled-components": "^5.3.0",
|
package/src/contexts.tsx
CHANGED
|
@@ -59,22 +59,28 @@ export const WebchatContext = createContext<WebchatContextProps>({
|
|
|
59
59
|
setLastMessageVisible: () => {
|
|
60
60
|
return
|
|
61
61
|
},
|
|
62
|
-
sendAttachment: () => {
|
|
62
|
+
sendAttachment: async () => {
|
|
63
63
|
return
|
|
64
64
|
},
|
|
65
|
-
sendInput: () => {
|
|
65
|
+
sendInput: async () => {
|
|
66
66
|
return
|
|
67
67
|
},
|
|
68
|
-
sendPayload: () => {
|
|
68
|
+
sendPayload: async () => {
|
|
69
69
|
return
|
|
70
70
|
},
|
|
71
|
-
sendText: () => {
|
|
71
|
+
sendText: async () => {
|
|
72
72
|
return
|
|
73
73
|
},
|
|
74
74
|
theme: {},
|
|
75
75
|
toggleWebchat: () => {
|
|
76
76
|
return
|
|
77
77
|
},
|
|
78
|
+
toggleEmojiPicker: () => {
|
|
79
|
+
return
|
|
80
|
+
},
|
|
81
|
+
togglePersistentMenu: () => {
|
|
82
|
+
return
|
|
83
|
+
},
|
|
78
84
|
updateLatestInput: () => {
|
|
79
85
|
return
|
|
80
86
|
},
|
package/src/index-types.ts
CHANGED
|
@@ -142,6 +142,11 @@ export enum SENDERS {
|
|
|
142
142
|
agent = 'agent',
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
+
export enum Typing {
|
|
146
|
+
On = 'typing_on',
|
|
147
|
+
Off = 'typing_off',
|
|
148
|
+
}
|
|
149
|
+
|
|
145
150
|
export interface WebchatMessage {
|
|
146
151
|
ack: 0 | 1
|
|
147
152
|
blob: boolean
|
|
@@ -177,7 +182,7 @@ export interface OnStateChangeArgs {
|
|
|
177
182
|
}
|
|
178
183
|
|
|
179
184
|
export interface MessageInfo {
|
|
180
|
-
data: any |
|
|
185
|
+
data: any | Typing.On
|
|
181
186
|
id: string
|
|
182
187
|
type: 'update_webchat_settings' | 'sender_action'
|
|
183
188
|
}
|
|
@@ -191,17 +196,19 @@ export interface Event {
|
|
|
191
196
|
export interface WebchatContextProps {
|
|
192
197
|
addMessage: (message: WebchatMessage) => void
|
|
193
198
|
closeWebview: () => void
|
|
194
|
-
getThemeProperty: (property: string, defaultValue?:
|
|
199
|
+
getThemeProperty: (property: string, defaultValue?: any) => any
|
|
195
200
|
openWebview: (webviewComponent: Webview) => void
|
|
196
201
|
resetUnreadMessages: () => void
|
|
197
202
|
resolveCase: () => void
|
|
198
|
-
sendAttachment: (attachment: File) => void
|
|
199
|
-
sendInput: (input: CoreInput) => void
|
|
200
|
-
sendPayload: (payload: string) => void
|
|
201
|
-
sendText: (text: string, payload?: string) => void
|
|
203
|
+
sendAttachment: (attachment: File) => Promise<void>
|
|
204
|
+
sendInput: (input: CoreInput) => Promise<void>
|
|
205
|
+
sendPayload: (payload: string) => Promise<void>
|
|
206
|
+
sendText: (text: string, payload?: string) => Promise<void>
|
|
202
207
|
setLastMessageVisible: (isLastMessageVisible: boolean) => void
|
|
203
208
|
theme: ThemeProps
|
|
204
209
|
toggleWebchat: (toggle: boolean) => void
|
|
210
|
+
toggleEmojiPicker: (toggle: boolean) => void
|
|
211
|
+
togglePersistentMenu: (toggle: boolean) => void
|
|
205
212
|
updateLatestInput: (input: CoreInput) => void
|
|
206
213
|
updateMessage: (message: WebchatMessage) => void
|
|
207
214
|
updateReplies: (replies: boolean) => void
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import React, { useContext } from 'react'
|
|
2
2
|
import styled from 'styled-components'
|
|
3
3
|
|
|
4
|
-
import LogoMenu from '../../assets/menuButton.svg'
|
|
5
4
|
import { Button } from '../../components/button'
|
|
6
5
|
import { ROLES, WEBCHAT } from '../../constants'
|
|
7
6
|
import { WebchatContext } from '../../contexts'
|
|
8
|
-
import { ConditionalAnimation } from '../components/conditional-animation'
|
|
9
7
|
import { useComponentVisible } from '../hooks'
|
|
10
|
-
import { Icon } from './common'
|
|
11
8
|
|
|
12
9
|
const ButtonsContainer = styled.div`
|
|
13
10
|
position: absolute;
|
|
@@ -60,30 +57,4 @@ export const OpenedPersistentMenu = ({ onClick, options, borderRadius }) => {
|
|
|
60
57
|
)
|
|
61
58
|
}
|
|
62
59
|
|
|
63
|
-
export const PersistentMenu = ({ onClick, persistentMenu }) => {
|
|
64
|
-
const { getThemeProperty } = useContext(WebchatContext)
|
|
65
|
-
|
|
66
|
-
const persistentMenuOptions = getThemeProperty(
|
|
67
|
-
WEBCHAT.CUSTOM_PROPERTIES.persistentMenu,
|
|
68
|
-
persistentMenu
|
|
69
|
-
)
|
|
70
|
-
|
|
71
|
-
const CustomMenuButton = getThemeProperty(
|
|
72
|
-
WEBCHAT.CUSTOM_PROPERTIES.customMenuButton,
|
|
73
|
-
undefined
|
|
74
|
-
)
|
|
75
|
-
|
|
76
|
-
return (
|
|
77
|
-
<>
|
|
78
|
-
{persistentMenuOptions ? (
|
|
79
|
-
<ConditionalAnimation>
|
|
80
|
-
<div role={ROLES.PERSISTENT_MENU_ICON} onClick={onClick}>
|
|
81
|
-
{CustomMenuButton ? <CustomMenuButton /> : <Icon src={LogoMenu} />}
|
|
82
|
-
</div>
|
|
83
|
-
</ConditionalAnimation>
|
|
84
|
-
) : null}
|
|
85
|
-
</>
|
|
86
|
-
)
|
|
87
|
-
}
|
|
88
|
-
|
|
89
60
|
export default OpenedPersistentMenu
|
|
@@ -3,13 +3,23 @@ import React, { useContext, useRef } from 'react'
|
|
|
3
3
|
import AttachmentIcon from '../../assets/attachment-icon.svg'
|
|
4
4
|
import { ROLES, WEBCHAT } from '../../constants'
|
|
5
5
|
import { WebchatContext } from '../../contexts'
|
|
6
|
+
import { Icon } from '../components/common'
|
|
6
7
|
import { ConditionalAnimation } from '../components/conditional-animation'
|
|
7
|
-
import { Icon } from './common'
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
interface AttachmentProps {
|
|
10
|
+
accept: string
|
|
11
|
+
enableAttachments: boolean
|
|
12
|
+
onChange: (event: any) => void
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const Attachment = ({
|
|
16
|
+
accept,
|
|
17
|
+
enableAttachments,
|
|
18
|
+
onChange,
|
|
19
|
+
}: AttachmentProps) => {
|
|
10
20
|
const { getThemeProperty } = useContext(WebchatContext)
|
|
11
21
|
|
|
12
|
-
const fileInputRef = useRef(null)
|
|
22
|
+
const fileInputRef = useRef<HTMLInputElement | null>(null)
|
|
13
23
|
|
|
14
24
|
const CustomAttachments = getThemeProperty(
|
|
15
25
|
WEBCHAT.CUSTOM_PROPERTIES.customAttachments,
|
|
@@ -29,7 +39,9 @@ export const Attachment = ({ onChange, accept, enableAttachments }) => {
|
|
|
29
39
|
|
|
30
40
|
const handleOnChange = event => {
|
|
31
41
|
onChange(event)
|
|
32
|
-
fileInputRef.current
|
|
42
|
+
if (fileInputRef.current) {
|
|
43
|
+
fileInputRef.current.value = ''
|
|
44
|
+
}
|
|
33
45
|
}
|
|
34
46
|
|
|
35
47
|
return (
|
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
import Picker from 'emoji-picker-react'
|
|
2
|
-
import React, { useContext } from 'react'
|
|
3
|
-
import styled from 'styled-components'
|
|
2
|
+
import React, { LegacyRef, useContext } from 'react'
|
|
4
3
|
|
|
5
4
|
import LogoEmoji from '../../assets/emojiButton.svg'
|
|
6
5
|
import { ROLES, WEBCHAT } from '../../constants'
|
|
7
6
|
import { WebchatContext } from '../../contexts'
|
|
7
|
+
import { Icon } from '../components/common'
|
|
8
8
|
import { ConditionalAnimation } from '../components/conditional-animation'
|
|
9
9
|
import { useComponentVisible } from '../hooks'
|
|
10
|
-
import {
|
|
10
|
+
import { OpenedEmojiPickerContainer } from './styles'
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
interface EmojiPickerProps {
|
|
13
|
+
enableEmojiPicker: boolean
|
|
14
|
+
onClick: () => void
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const EmojiPicker = ({
|
|
18
|
+
enableEmojiPicker,
|
|
19
|
+
onClick,
|
|
20
|
+
}: EmojiPickerProps) => {
|
|
13
21
|
const { getThemeProperty } = useContext(WebchatContext)
|
|
14
22
|
|
|
15
23
|
const CustomEmojiPicker = getThemeProperty(
|
|
@@ -28,7 +36,7 @@ export const EmojiPicker = ({ enableEmojiPicker, onClick }) => {
|
|
|
28
36
|
}
|
|
29
37
|
const emojiPickerEnabled = isEmojiPickerEnabled()
|
|
30
38
|
|
|
31
|
-
const handleClick = event => {
|
|
39
|
+
const handleClick = (event: any) => {
|
|
32
40
|
onClick()
|
|
33
41
|
event.stopPropagation()
|
|
34
42
|
}
|
|
@@ -49,30 +57,3 @@ export const EmojiPicker = ({ enableEmojiPicker, onClick }) => {
|
|
|
49
57
|
</>
|
|
50
58
|
)
|
|
51
59
|
}
|
|
52
|
-
|
|
53
|
-
const Container = styled.div`
|
|
54
|
-
display: flex;
|
|
55
|
-
justify-content: flex-end;
|
|
56
|
-
position: absolute;
|
|
57
|
-
right: 3px;
|
|
58
|
-
top: -324px;
|
|
59
|
-
`
|
|
60
|
-
|
|
61
|
-
export const OpenedEmojiPicker = props => {
|
|
62
|
-
const { ref, isComponentVisible } = useComponentVisible(true, props.onClick)
|
|
63
|
-
return (
|
|
64
|
-
<div ref={ref}>
|
|
65
|
-
{isComponentVisible && (
|
|
66
|
-
<Container role={ROLES.EMOJI_PICKER}>
|
|
67
|
-
<Picker
|
|
68
|
-
width='100%'
|
|
69
|
-
height='19rem'
|
|
70
|
-
previewConfig={{ showPreview: false }}
|
|
71
|
-
onEmojiClick={props.onEmojiClick}
|
|
72
|
-
disableAutoFocus={true}
|
|
73
|
-
/>
|
|
74
|
-
</Container>
|
|
75
|
-
)}
|
|
76
|
-
</div>
|
|
77
|
-
)
|
|
78
|
-
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { INPUT } from '@botonic/core'
|
|
2
|
+
import React, { useContext } from 'react'
|
|
3
|
+
import { v4 as uuidv4 } from 'uuid'
|
|
4
|
+
|
|
5
|
+
import { WEBCHAT } from '../../constants'
|
|
6
|
+
import { WebchatContext } from '../../contexts'
|
|
7
|
+
import { getFullMimeWhitelist } from '../../message-utils'
|
|
8
|
+
import { DeviceAdapter } from '../devices/device-adapter'
|
|
9
|
+
import { Attachment } from './attachment'
|
|
10
|
+
import { EmojiPicker } from './emoji-picker'
|
|
11
|
+
import { OpenedEmojiPicker } from './opened-emoji-picker'
|
|
12
|
+
import { PersistentMenu } from './persistent-menu'
|
|
13
|
+
import { SendButton } from './send-button'
|
|
14
|
+
import { UserInputContainer } from './styles'
|
|
15
|
+
import { Textarea } from './textarea'
|
|
16
|
+
|
|
17
|
+
interface WebchatInputPanelProps {
|
|
18
|
+
persistentMenu: any
|
|
19
|
+
enableEmojiPicker: boolean
|
|
20
|
+
enableAttachments: boolean
|
|
21
|
+
handleAttachment: (event: any) => void
|
|
22
|
+
textareaRef: React.MutableRefObject<HTMLTextAreaElement>
|
|
23
|
+
deviceAdapter: DeviceAdapter
|
|
24
|
+
onUserInput?: (event: any) => Promise<void>
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const WebchatInputPanel = ({
|
|
28
|
+
persistentMenu,
|
|
29
|
+
enableEmojiPicker,
|
|
30
|
+
enableAttachments,
|
|
31
|
+
handleAttachment,
|
|
32
|
+
textareaRef,
|
|
33
|
+
deviceAdapter,
|
|
34
|
+
onUserInput,
|
|
35
|
+
}: WebchatInputPanelProps) => {
|
|
36
|
+
const {
|
|
37
|
+
getThemeProperty,
|
|
38
|
+
sendText,
|
|
39
|
+
togglePersistentMenu,
|
|
40
|
+
toggleEmojiPicker,
|
|
41
|
+
webchatState,
|
|
42
|
+
} = useContext(WebchatContext)
|
|
43
|
+
|
|
44
|
+
const handleSelectedEmoji = event => {
|
|
45
|
+
textareaRef.current.value += event.emoji
|
|
46
|
+
textareaRef.current.focus()
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const handleEmojiClick = () => {
|
|
50
|
+
toggleEmojiPicker(!webchatState.isEmojiPickerOpen)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const handleMenu = () => {
|
|
54
|
+
togglePersistentMenu(!webchatState.isPersistentMenuOpen)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const sendTextAreaText = async () => {
|
|
58
|
+
await sendText(textareaRef.current.value)
|
|
59
|
+
textareaRef.current.value = ''
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const sendChatEvent = async chatEvent => {
|
|
63
|
+
const chatEventInput = {
|
|
64
|
+
id: uuidv4(),
|
|
65
|
+
type: INPUT.CHAT_EVENT,
|
|
66
|
+
data: chatEvent,
|
|
67
|
+
}
|
|
68
|
+
if (onUserInput) {
|
|
69
|
+
onUserInput({
|
|
70
|
+
user: webchatState.session.user,
|
|
71
|
+
input: chatEventInput,
|
|
72
|
+
session: webchatState.session,
|
|
73
|
+
lastRoutePath: webchatState.lastRoutePath,
|
|
74
|
+
})
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return (
|
|
79
|
+
<UserInputContainer
|
|
80
|
+
style={{
|
|
81
|
+
...getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.userInputStyle),
|
|
82
|
+
}}
|
|
83
|
+
className='user-input-container'
|
|
84
|
+
>
|
|
85
|
+
{webchatState.isEmojiPickerOpen && (
|
|
86
|
+
<OpenedEmojiPicker
|
|
87
|
+
// height={webchatState.theme.style.height} // Revisar si es necessari, en el WebchatStateTheme no hi ha style.height, pero en el Theme props style es any.
|
|
88
|
+
onEmojiClick={handleSelectedEmoji}
|
|
89
|
+
onClick={handleEmojiClick}
|
|
90
|
+
/>
|
|
91
|
+
)}
|
|
92
|
+
|
|
93
|
+
<PersistentMenu onClick={handleMenu} persistentMenu={persistentMenu} />
|
|
94
|
+
|
|
95
|
+
<Textarea
|
|
96
|
+
deviceAdapter={deviceAdapter}
|
|
97
|
+
persistentMenu={persistentMenu}
|
|
98
|
+
textareaRef={textareaRef}
|
|
99
|
+
sendChatEvent={sendChatEvent}
|
|
100
|
+
sendTextAreaText={sendTextAreaText}
|
|
101
|
+
/>
|
|
102
|
+
|
|
103
|
+
<EmojiPicker
|
|
104
|
+
enableEmojiPicker={enableEmojiPicker}
|
|
105
|
+
onClick={handleEmojiClick}
|
|
106
|
+
/>
|
|
107
|
+
|
|
108
|
+
<Attachment
|
|
109
|
+
enableAttachments={enableAttachments}
|
|
110
|
+
onChange={handleAttachment}
|
|
111
|
+
accept={getFullMimeWhitelist().join(',')}
|
|
112
|
+
/>
|
|
113
|
+
|
|
114
|
+
<SendButton onClick={sendTextAreaText} />
|
|
115
|
+
</UserInputContainer>
|
|
116
|
+
)
|
|
117
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import Picker from 'emoji-picker-react'
|
|
2
|
+
import React, { LegacyRef } from 'react'
|
|
3
|
+
|
|
4
|
+
import { ROLES } from '../../constants'
|
|
5
|
+
import { useComponentVisible } from '../hooks'
|
|
6
|
+
import { OpenedEmojiPickerContainer } from './styles'
|
|
7
|
+
|
|
8
|
+
interface OpenedEmojiPickerProps {
|
|
9
|
+
onClick: () => void
|
|
10
|
+
onEmojiClick: (event: any) => void
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const OpenedEmojiPicker = ({
|
|
14
|
+
onClick,
|
|
15
|
+
onEmojiClick,
|
|
16
|
+
}: OpenedEmojiPickerProps) => {
|
|
17
|
+
const { ref, isComponentVisible } = useComponentVisible(true, onClick)
|
|
18
|
+
return (
|
|
19
|
+
<div ref={ref as LegacyRef<HTMLDivElement>}>
|
|
20
|
+
{isComponentVisible && (
|
|
21
|
+
<OpenedEmojiPickerContainer role={ROLES.EMOJI_PICKER}>
|
|
22
|
+
<Picker
|
|
23
|
+
width='100%'
|
|
24
|
+
height='19rem'
|
|
25
|
+
previewConfig={{ showPreview: false }}
|
|
26
|
+
onEmojiClick={onEmojiClick}
|
|
27
|
+
autoFocusSearch={false}
|
|
28
|
+
/>
|
|
29
|
+
</OpenedEmojiPickerContainer>
|
|
30
|
+
)}
|
|
31
|
+
</div>
|
|
32
|
+
)
|
|
33
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React, { useContext } from 'react'
|
|
2
|
+
|
|
3
|
+
import LogoMenu from '../../assets/menuButton.svg'
|
|
4
|
+
import { ROLES, WEBCHAT } from '../../constants'
|
|
5
|
+
import { WebchatContext } from '../../contexts'
|
|
6
|
+
import { Icon } from '../components/common'
|
|
7
|
+
import { ConditionalAnimation } from '../components/conditional-animation'
|
|
8
|
+
|
|
9
|
+
interface PersistentMenuProps {
|
|
10
|
+
persistentMenu: any
|
|
11
|
+
onClick: () => void
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const PersistentMenu = ({
|
|
15
|
+
onClick,
|
|
16
|
+
persistentMenu,
|
|
17
|
+
}: PersistentMenuProps) => {
|
|
18
|
+
const { getThemeProperty } = useContext(WebchatContext)
|
|
19
|
+
|
|
20
|
+
const persistentMenuOptions = getThemeProperty(
|
|
21
|
+
WEBCHAT.CUSTOM_PROPERTIES.persistentMenu,
|
|
22
|
+
persistentMenu
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
const CustomMenuButton = getThemeProperty(
|
|
26
|
+
WEBCHAT.CUSTOM_PROPERTIES.customMenuButton,
|
|
27
|
+
undefined
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<>
|
|
32
|
+
{persistentMenuOptions ? (
|
|
33
|
+
<ConditionalAnimation>
|
|
34
|
+
<div role={ROLES.PERSISTENT_MENU_ICON} onClick={onClick}>
|
|
35
|
+
{CustomMenuButton ? <CustomMenuButton /> : <Icon src={LogoMenu} />}
|
|
36
|
+
</div>
|
|
37
|
+
</ConditionalAnimation>
|
|
38
|
+
) : null}
|
|
39
|
+
</>
|
|
40
|
+
)
|
|
41
|
+
}
|
|
@@ -3,10 +3,14 @@ import React, { useContext } from 'react'
|
|
|
3
3
|
import SendButtonIcon from '../../assets/send-button.svg'
|
|
4
4
|
import { ROLES, WEBCHAT } from '../../constants'
|
|
5
5
|
import { WebchatContext } from '../../contexts'
|
|
6
|
+
import { Icon } from '../components/common'
|
|
6
7
|
import { ConditionalAnimation } from '../components/conditional-animation'
|
|
7
|
-
import { Icon } from './common'
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
interface SendButtonProps {
|
|
10
|
+
onClick: () => Promise<void>
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const SendButton = ({ onClick }: SendButtonProps) => {
|
|
10
14
|
const { getThemeProperty } = useContext(WebchatContext)
|
|
11
15
|
|
|
12
16
|
const sendButtonEnabled = getThemeProperty(
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import styled from 'styled-components'
|
|
2
|
+
|
|
3
|
+
import { COLORS } from '../../constants'
|
|
4
|
+
|
|
5
|
+
export const UserInputContainer = styled.div`
|
|
6
|
+
min-height: 52px;
|
|
7
|
+
position: relative;
|
|
8
|
+
display: flex;
|
|
9
|
+
align-items: center;
|
|
10
|
+
justify-content: flex-start;
|
|
11
|
+
gap: 16px;
|
|
12
|
+
padding: 0px 16px;
|
|
13
|
+
z-index: 1;
|
|
14
|
+
border-top: 1px solid ${COLORS.SOLID_BLACK_ALPHA_0_5};
|
|
15
|
+
`
|
|
16
|
+
|
|
17
|
+
export const TextAreaContainer = styled.div`
|
|
18
|
+
display: flex;
|
|
19
|
+
flex: 1 1 auto;
|
|
20
|
+
align-items: center;
|
|
21
|
+
`
|
|
22
|
+
|
|
23
|
+
export const OpenedEmojiPickerContainer = styled.div`
|
|
24
|
+
display: flex;
|
|
25
|
+
justify-content: flex-end;
|
|
26
|
+
position: absolute;
|
|
27
|
+
right: 3px;
|
|
28
|
+
top: -324px;
|
|
29
|
+
`
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import React, { useContext } from 'react'
|
|
2
|
+
import TextareaAutosize from 'react-textarea-autosize'
|
|
3
|
+
|
|
4
|
+
import { PersistentMenuTheme } from '../../components/index-types'
|
|
5
|
+
import { WEBCHAT } from '../../constants'
|
|
6
|
+
import { WebchatContext } from '../../contexts'
|
|
7
|
+
import { Typing } from '../../index-types'
|
|
8
|
+
import { DeviceAdapter } from '../devices/device-adapter'
|
|
9
|
+
import { TextAreaContainer } from './styles'
|
|
10
|
+
|
|
11
|
+
interface TextareaProps {
|
|
12
|
+
deviceAdapter: DeviceAdapter
|
|
13
|
+
persistentMenu: PersistentMenuTheme
|
|
14
|
+
textareaRef: React.MutableRefObject<HTMLTextAreaElement>
|
|
15
|
+
sendChatEvent: (event: string) => Promise<void>
|
|
16
|
+
sendTextAreaText: () => Promise<void>
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const Textarea = ({
|
|
20
|
+
deviceAdapter,
|
|
21
|
+
persistentMenu,
|
|
22
|
+
textareaRef,
|
|
23
|
+
sendChatEvent,
|
|
24
|
+
sendTextAreaText,
|
|
25
|
+
}: TextareaProps) => {
|
|
26
|
+
const { getThemeProperty } = useContext(WebchatContext)
|
|
27
|
+
|
|
28
|
+
let isTyping = false
|
|
29
|
+
let typingTimeout
|
|
30
|
+
|
|
31
|
+
const persistentMenuOptions = getThemeProperty(
|
|
32
|
+
WEBCHAT.CUSTOM_PROPERTIES.persistentMenu,
|
|
33
|
+
persistentMenu
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
const onKeyDown = event => {
|
|
37
|
+
if (event.keyCode === 13 && event.shiftKey === false) {
|
|
38
|
+
event.preventDefault()
|
|
39
|
+
sendTextAreaText()
|
|
40
|
+
stopTyping()
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const onKeyUp = () => {
|
|
45
|
+
if (textareaRef.current.value === '') {
|
|
46
|
+
stopTyping()
|
|
47
|
+
return
|
|
48
|
+
}
|
|
49
|
+
if (!isTyping) {
|
|
50
|
+
startTyping()
|
|
51
|
+
}
|
|
52
|
+
clearTimeoutWithReset(true)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const clearTimeoutWithReset = (reset: boolean) => {
|
|
56
|
+
const waitTime = 20 * 1000
|
|
57
|
+
if (typingTimeout) clearTimeout(typingTimeout)
|
|
58
|
+
if (reset) typingTimeout = setTimeout(stopTyping, waitTime)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const startTyping = () => {
|
|
62
|
+
isTyping = true
|
|
63
|
+
sendChatEvent(Typing.On)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const stopTyping = () => {
|
|
67
|
+
clearTimeoutWithReset(false)
|
|
68
|
+
isTyping = false
|
|
69
|
+
sendChatEvent(Typing.Off)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return (
|
|
73
|
+
<TextAreaContainer>
|
|
74
|
+
<TextareaAutosize
|
|
75
|
+
ref={(ref: HTMLTextAreaElement) => (textareaRef.current = ref)}
|
|
76
|
+
name='text'
|
|
77
|
+
onFocus={() => {
|
|
78
|
+
deviceAdapter.onFocus()
|
|
79
|
+
}}
|
|
80
|
+
onBlur={() => {
|
|
81
|
+
deviceAdapter.onBlur()
|
|
82
|
+
}}
|
|
83
|
+
maxRows={4}
|
|
84
|
+
wrap='soft'
|
|
85
|
+
maxLength={1000}
|
|
86
|
+
placeholder={getThemeProperty(
|
|
87
|
+
WEBCHAT.CUSTOM_PROPERTIES.textPlaceholder,
|
|
88
|
+
WEBCHAT.DEFAULTS.PLACEHOLDER
|
|
89
|
+
)}
|
|
90
|
+
autoFocus={false}
|
|
91
|
+
onKeyDown={e => onKeyDown(e)}
|
|
92
|
+
onKeyUp={onKeyUp}
|
|
93
|
+
style={{
|
|
94
|
+
display: 'flex',
|
|
95
|
+
fontSize: deviceAdapter.fontSize(14),
|
|
96
|
+
width: '100%',
|
|
97
|
+
border: 'none',
|
|
98
|
+
resize: 'none',
|
|
99
|
+
overflow: 'auto',
|
|
100
|
+
outline: 'none',
|
|
101
|
+
flex: '1 1 auto',
|
|
102
|
+
padding: 10,
|
|
103
|
+
paddingLeft: persistentMenuOptions ? 0 : 10,
|
|
104
|
+
fontFamily: 'inherit',
|
|
105
|
+
...getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.userInputBoxStyle),
|
|
106
|
+
}}
|
|
107
|
+
/>
|
|
108
|
+
</TextAreaContainer>
|
|
109
|
+
)
|
|
110
|
+
}
|