@matechat/ng 0.0.1-alpha.1 → 17.1.0-alpha.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 (80) hide show
  1. package/README.md +207 -44
  2. package/fesm2022/matechat-ng.mjs +244 -153
  3. package/fesm2022/matechat-ng.mjs.map +1 -1
  4. package/index.d.ts +621 -3
  5. package/package.json +18 -5
  6. package/Base/base.component.d.ts +0 -11
  7. package/Bubble/avatar/avatar.component.d.ts +0 -23
  8. package/Bubble/avatar-body-icon/avatar-body-icon.component.d.ts +0 -7
  9. package/Bubble/avatar-no-body-icon/avatar-no-body-icon.component.d.ts +0 -7
  10. package/Bubble/bubble-loading/bubble-loading.component.d.ts +0 -5
  11. package/Bubble/bubble.component.d.ts +0 -26
  12. package/Bubble/bubble.module.d.ts +0 -10
  13. package/Bubble/index.d.ts +0 -6
  14. package/Input/button/button.component.d.ts +0 -31
  15. package/Input/index.d.ts +0 -2
  16. package/Input/input.component.d.ts +0 -65
  17. package/Input/input.module.d.ts +0 -11
  18. package/Input/send-icon/send-icon.component.d.ts +0 -5
  19. package/Locale/index.d.ts +0 -5
  20. package/Locale/locale.module.d.ts +0 -17
  21. package/Locale/locale.service.d.ts +0 -50
  22. package/Locale/translate.pipe.d.ts +0 -23
  23. package/MarkdownCard/code-block.component.d.ts +0 -46
  24. package/MarkdownCard/index.d.ts +0 -3
  25. package/MarkdownCard/markdown-card.component.d.ts +0 -198
  26. package/MarkdownCard/markdown-card.module.d.ts +0 -13
  27. package/components-common/Base/foundation.d.ts +0 -45
  28. package/components-common/Bubble/common/bubble-constants.d.ts +0 -4
  29. package/components-common/Bubble/common/bubble-types.d.ts +0 -12
  30. package/components-common/Bubble/foundation.d.ts +0 -9
  31. package/components-common/Input/button-foundation.d.ts +0 -15
  32. package/components-common/Input/common/types.d.ts +0 -16
  33. package/components-common/Input/foundation.d.ts +0 -20
  34. package/components-common/Locale/lang/en-us.d.ts +0 -26
  35. package/components-common/Locale/lang/zh-cn.d.ts +0 -26
  36. package/components-common/MarkdownCard/codeblock-foundation.d.ts +0 -20
  37. package/components-common/MarkdownCard/common/MDCardService.d.ts +0 -14
  38. package/components-common/MarkdownCard/common/MermaidService.d.ts +0 -23
  39. package/components-common/MarkdownCard/common/mdCard.types.d.ts +0 -56
  40. package/components-common/MarkdownCard/common/parser.d.ts +0 -150
  41. package/components-common/MarkdownCard/foundation.d.ts +0 -38
  42. package/esm2022/Base/base.component.mjs +0 -47
  43. package/esm2022/Bubble/avatar/avatar.component.mjs +0 -121
  44. package/esm2022/Bubble/avatar-body-icon/avatar-body-icon.component.mjs +0 -19
  45. package/esm2022/Bubble/avatar-no-body-icon/avatar-no-body-icon.component.mjs +0 -19
  46. package/esm2022/Bubble/bubble-loading/bubble-loading.component.mjs +0 -11
  47. package/esm2022/Bubble/bubble.component.mjs +0 -89
  48. package/esm2022/Bubble/bubble.module.mjs +0 -36
  49. package/esm2022/Bubble/index.mjs +0 -7
  50. package/esm2022/Input/button/button.component.mjs +0 -83
  51. package/esm2022/Input/index.mjs +0 -3
  52. package/esm2022/Input/input.component.mjs +0 -285
  53. package/esm2022/Input/input.module.mjs +0 -34
  54. package/esm2022/Input/send-icon/send-icon.component.mjs +0 -11
  55. package/esm2022/Locale/index.mjs +0 -6
  56. package/esm2022/Locale/locale.module.mjs +0 -39
  57. package/esm2022/Locale/locale.service.mjs +0 -140
  58. package/esm2022/Locale/translate.pipe.mjs +0 -38
  59. package/esm2022/MarkdownCard/code-block.component.mjs +0 -150
  60. package/esm2022/MarkdownCard/index.mjs +0 -4
  61. package/esm2022/MarkdownCard/markdown-card.component.mjs +0 -406
  62. package/esm2022/MarkdownCard/markdown-card.module.mjs +0 -44
  63. package/esm2022/components-common/Base/foundation.mjs +0 -66
  64. package/esm2022/components-common/Bubble/common/bubble-constants.mjs +0 -5
  65. package/esm2022/components-common/Bubble/common/bubble-types.mjs +0 -2
  66. package/esm2022/components-common/Bubble/foundation.mjs +0 -30
  67. package/esm2022/components-common/Input/button-foundation.mjs +0 -33
  68. package/esm2022/components-common/Input/common/types.mjs +0 -21
  69. package/esm2022/components-common/Input/foundation.mjs +0 -71
  70. package/esm2022/components-common/Locale/lang/en-us.mjs +0 -26
  71. package/esm2022/components-common/Locale/lang/zh-cn.mjs +0 -26
  72. package/esm2022/components-common/MarkdownCard/codeblock-foundation.mjs +0 -132
  73. package/esm2022/components-common/MarkdownCard/common/MDCardService.mjs +0 -69
  74. package/esm2022/components-common/MarkdownCard/common/MermaidService.mjs +0 -222
  75. package/esm2022/components-common/MarkdownCard/common/mdCard.types.mjs +0 -6
  76. package/esm2022/components-common/MarkdownCard/common/parser.mjs +0 -194
  77. package/esm2022/components-common/MarkdownCard/foundation.mjs +0 -84
  78. package/esm2022/matechat-ng.mjs +0 -5
  79. package/esm2022/public-api.mjs +0 -8
  80. package/public-api.d.ts +0 -4
@@ -1,30 +0,0 @@
1
- import { AVATAR_NAME, AVATAR_IMG } from "./common/bubble-constants";
2
- import BaseFoundation from "../Base/foundation";
3
- export class BubbleFoundation extends BaseFoundation {
4
- constructor(adapter) {
5
- super({ ...adapter });
6
- }
7
- getBubbleClasses() {
8
- const { align, loading, isEmptyAvatar, avatarPosition } = this.getProps();
9
- return [
10
- `mc-bubble-avatar-${avatarPosition}`,
11
- `mc-bubble-${align}`,
12
- loading ? "mc-bubble-loading" : "",
13
- isEmptyAvatar ? "mc-bubble-avatar-empty" : "",
14
- ]
15
- .filter(Boolean)
16
- .join(" ");
17
- }
18
- getIsEmptyAvatar(avatarConfig) {
19
- if (avatarConfig) {
20
- // 传了 avatarConfig,但是没有 name 和 imgSrc 时表示头像区域仅占位
21
- const keys = Object.keys(avatarConfig);
22
- const shouldShow = keys.some((k) => k === AVATAR_NAME || k === AVATAR_IMG);
23
- return keys.length < 1 || !shouldShow;
24
- }
25
- else {
26
- return true;
27
- }
28
- }
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm91bmRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtbmcvc3JjL2NvbXBvbmVudHMtY29tbW9uL0J1YmJsZS9mb3VuZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFcEUsT0FBTyxjQUFrQyxNQUFNLG9CQUFvQixDQUFDO0FBSXBFLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxjQUE2QjtJQUNqRSxZQUFZLE9BQXNCO1FBQ2hDLEtBQUssQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxRSxPQUFPO1lBQ0wsb0JBQW9CLGNBQWMsRUFBRTtZQUNwQyxhQUFhLEtBQUssRUFBRTtZQUNwQixPQUFPLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xDLGFBQWEsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDOUM7YUFDRSxNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVELGdCQUFnQixDQUFDLFlBQXNDO1FBQ3JELElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsZ0RBQWdEO1lBQ2hELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FDMUIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxXQUFXLElBQUksQ0FBQyxLQUFLLFVBQVUsQ0FDN0MsQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDeEMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBVkFUQVJfTkFNRSwgQVZBVEFSX0lNRyB9IGZyb20gXCIuL2NvbW1vbi9idWJibGUtY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBCdWJibGVBdmF0YXIsIEJ1YmJsZUFsaWduIH0gZnJvbSBcIi4vY29tbW9uL2J1YmJsZS10eXBlc1wiO1xuaW1wb3J0IEJhc2VGb3VuZGF0aW9uLCB7IERlZmF1bHRBZGFwdGVyIH0gZnJvbSBcIi4uL0Jhc2UvZm91bmRhdGlvblwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1YmJsZUFkYXB0ZXIgZXh0ZW5kcyBEZWZhdWx0QWRhcHRlciB7fVxuXG5leHBvcnQgY2xhc3MgQnViYmxlRm91bmRhdGlvbiBleHRlbmRzIEJhc2VGb3VuZGF0aW9uPEJ1YmJsZUFkYXB0ZXI+IHtcbiAgY29uc3RydWN0b3IoYWRhcHRlcjogQnViYmxlQWRhcHRlcikge1xuICAgIHN1cGVyKHsgLi4uYWRhcHRlciB9KTtcbiAgfVxuXG4gIGdldEJ1YmJsZUNsYXNzZXMoKSB7XG4gICAgY29uc3QgeyBhbGlnbiwgbG9hZGluZywgaXNFbXB0eUF2YXRhciwgYXZhdGFyUG9zaXRpb24gfSA9IHRoaXMuZ2V0UHJvcHMoKTtcbiAgICByZXR1cm4gW1xuICAgICAgYG1jLWJ1YmJsZS1hdmF0YXItJHthdmF0YXJQb3NpdGlvbn1gLFxuICAgICAgYG1jLWJ1YmJsZS0ke2FsaWdufWAsXG4gICAgICBsb2FkaW5nID8gXCJtYy1idWJibGUtbG9hZGluZ1wiIDogXCJcIixcbiAgICAgIGlzRW1wdHlBdmF0YXIgPyBcIm1jLWJ1YmJsZS1hdmF0YXItZW1wdHlcIiA6IFwiXCIsXG4gICAgXVxuICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgLmpvaW4oXCIgXCIpO1xuICB9XG5cbiAgZ2V0SXNFbXB0eUF2YXRhcihhdmF0YXJDb25maWc6IEJ1YmJsZUF2YXRhciB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChhdmF0YXJDb25maWcpIHtcbiAgICAgIC8vIOS8oOS6hiBhdmF0YXJDb25maWfvvIzkvYbmmK/msqHmnIkgbmFtZSDlkowgaW1nU3JjIOaXtuihqOekuuWktOWDj+WMuuWfn+S7heWNoOS9jVxuICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGF2YXRhckNvbmZpZyk7XG4gICAgICBjb25zdCBzaG91bGRTaG93ID0ga2V5cy5zb21lKFxuICAgICAgICAoaykgPT4gayA9PT0gQVZBVEFSX05BTUUgfHwgayA9PT0gQVZBVEFSX0lNR1xuICAgICAgKTtcbiAgICAgIHJldHVybiBrZXlzLmxlbmd0aCA8IDEgfHwgIXNob3VsZFNob3c7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,33 +0,0 @@
1
- import BaseFoundation from '../Base/foundation';
2
- import { SendBtnVariant } from './common/types';
3
- export class InputButtonFoundation extends BaseFoundation {
4
- constructor(adapter) {
5
- super({ ...adapter });
6
- }
7
- showClickWave(nativeElement, event) {
8
- const rect = nativeElement.getBoundingClientRect();
9
- this.setState({
10
- waveStyle: {
11
- left: event.clientX - rect.left + 'px',
12
- top: event.clientY - rect.top + 'px',
13
- },
14
- showWave: true,
15
- });
16
- setTimeout(() => {
17
- this.setState({
18
- showWave: false,
19
- });
20
- }, 300);
21
- }
22
- getButtonClasses() {
23
- const { loading, sendBtnVariant } = this.getProps();
24
- const isMouseDown = this.getState('isMouseDown');
25
- return {
26
- 'mc-button': true,
27
- 'mc-button-loading': loading,
28
- mousedown: isMouseDown,
29
- 'mc-button-simple': sendBtnVariant === SendBtnVariant.Simple,
30
- };
31
- }
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWZvdW5kYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLW5nL3NyYy9jb21wb25lbnRzLWNvbW1vbi9JbnB1dC9idXR0b24tZm91bmRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGNBQWtDLE1BQU0sb0JBQW9CLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT2hELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxjQUFrQztJQUMzRSxZQUFZLE9BQTJCO1FBQ3JDLEtBQUssQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsYUFBYSxDQUFDLGFBQTBCLEVBQUUsS0FBaUI7UUFDekQsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNaLFNBQVMsRUFBRTtnQkFDVCxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUk7Z0JBQ3RDLEdBQUcsRUFBRSxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSTthQUNyQztZQUNELFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQ1osUUFBUSxFQUFFLEtBQUs7YUFDaEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakQsT0FBTztZQUNMLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLG1CQUFtQixFQUFFLE9BQU87WUFDNUIsU0FBUyxFQUFFLFdBQVc7WUFDdEIsa0JBQWtCLEVBQUUsY0FBYyxLQUFLLGNBQWMsQ0FBQyxNQUFNO1NBQzdELENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUZvdW5kYXRpb24sIHsgRGVmYXVsdEFkYXB0ZXIgfSBmcm9tICcuLi9CYXNlL2ZvdW5kYXRpb24nO1xuaW1wb3J0IHsgU2VuZEJ0blZhcmlhbnQgfSBmcm9tICcuL2NvbW1vbi90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5wdXRCdXR0b25BZGFwdGVyIGV4dGVuZHMgRGVmYXVsdEFkYXB0ZXIge1xuICBsb2NhbGUoa2V5OiBzdHJpbmcsIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBzdHJpbmc7XG4gIGVtaXRDaGFuZ2UoKTogdm9pZDtcbn1cblxuZXhwb3J0IGNsYXNzIElucHV0QnV0dG9uRm91bmRhdGlvbiBleHRlbmRzIEJhc2VGb3VuZGF0aW9uPElucHV0QnV0dG9uQWRhcHRlcj4ge1xuICBjb25zdHJ1Y3RvcihhZGFwdGVyOiBJbnB1dEJ1dHRvbkFkYXB0ZXIpIHtcbiAgICBzdXBlcih7IC4uLmFkYXB0ZXIgfSk7XG4gIH1cblxuICBzaG93Q2xpY2tXYXZlKG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50LCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHJlY3QgPSBuYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgd2F2ZVN0eWxlOiB7XG4gICAgICAgIGxlZnQ6IGV2ZW50LmNsaWVudFggLSByZWN0LmxlZnQgKyAncHgnLFxuICAgICAgICB0b3A6IGV2ZW50LmNsaWVudFkgLSByZWN0LnRvcCArICdweCcsXG4gICAgICB9LFxuICAgICAgc2hvd1dhdmU6IHRydWUsXG4gICAgfSk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBzaG93V2F2ZTogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgZ2V0QnV0dG9uQ2xhc3NlcygpIHtcbiAgICBjb25zdCB7IGxvYWRpbmcsIHNlbmRCdG5WYXJpYW50IH0gPSB0aGlzLmdldFByb3BzKCk7XG4gICAgY29uc3QgaXNNb3VzZURvd24gPSB0aGlzLmdldFN0YXRlKCdpc01vdXNlRG93bicpO1xuICAgIHJldHVybiB7XG4gICAgICAnbWMtYnV0dG9uJzogdHJ1ZSxcbiAgICAgICdtYy1idXR0b24tbG9hZGluZyc6IGxvYWRpbmcsXG4gICAgICBtb3VzZWRvd246IGlzTW91c2VEb3duLFxuICAgICAgJ21jLWJ1dHRvbi1zaW1wbGUnOiBzZW5kQnRuVmFyaWFudCA9PT0gU2VuZEJ0blZhcmlhbnQuU2ltcGxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,21 +0,0 @@
1
- export var DisplayType;
2
- (function (DisplayType) {
3
- DisplayType["Simple"] = "simple";
4
- DisplayType["Full"] = "full";
5
- })(DisplayType || (DisplayType = {}));
6
- export var InputVariant;
7
- (function (InputVariant) {
8
- InputVariant["Bordered"] = "bordered";
9
- InputVariant["BorderLess"] = "borderless";
10
- })(InputVariant || (InputVariant = {}));
11
- export var SendBtnVariant;
12
- (function (SendBtnVariant) {
13
- SendBtnVariant["Simple"] = "simple";
14
- SendBtnVariant["Full"] = "full";
15
- })(SendBtnVariant || (SendBtnVariant = {}));
16
- export var SubmitShortKey;
17
- (function (SubmitShortKey) {
18
- SubmitShortKey["Enter"] = "enter";
19
- SubmitShortKey["ShiftEnter"] = "shiftEnter";
20
- })(SubmitShortKey || (SubmitShortKey = {}));
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLW5nL3NyYy9jb21wb25lbnRzLWNvbW1vbi9JbnB1dC9jb21tb24vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQixnQ0FBaUIsQ0FBQTtJQUNqQiw0QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBQ0QsTUFBTSxDQUFOLElBQVksWUFHWDtBQUhELFdBQVksWUFBWTtJQUN0QixxQ0FBcUIsQ0FBQTtJQUNyQix5Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkI7QUFDRCxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3hCLG1DQUFpQixDQUFBO0lBQ2pCLCtCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekI7QUFDRCxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3hCLGlDQUFlLENBQUE7SUFDZiwyQ0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEaXNwbGF5VHlwZSB7XG4gIFNpbXBsZSA9IFwic2ltcGxlXCIsXG4gIEZ1bGwgPSBcImZ1bGxcIixcbn1cbmV4cG9ydCBlbnVtIElucHV0VmFyaWFudCB7XG4gIEJvcmRlcmVkID0gXCJib3JkZXJlZFwiLFxuICBCb3JkZXJMZXNzID0gXCJib3JkZXJsZXNzXCIsXG59XG5leHBvcnQgZW51bSBTZW5kQnRuVmFyaWFudCB7XG4gIFNpbXBsZSA9IFwic2ltcGxlXCIsXG4gIEZ1bGwgPSBcImZ1bGxcIixcbn1cbmV4cG9ydCBlbnVtIFN1Ym1pdFNob3J0S2V5IHtcbiAgRW50ZXIgPSBcImVudGVyXCIsXG4gIFNoaWZ0RW50ZXIgPSBcInNoaWZ0RW50ZXJcIixcbn0iXX0=
@@ -1,71 +0,0 @@
1
- import BaseFoundation from '../Base/foundation';
2
- import { DisplayType, InputVariant, SubmitShortKey, } from './common/types';
3
- export class InputFoundation extends BaseFoundation {
4
- constructor(adapter) {
5
- super({ ...adapter });
6
- }
7
- getInputClasses() {
8
- const { disabled, displayType, variant } = this.getProps();
9
- return {
10
- 'mc-input': true,
11
- 'mc-input-disabled': disabled,
12
- 'mc-input-simple': displayType === DisplayType.Simple,
13
- 'mc-input-borderless': variant === InputVariant.BorderLess,
14
- };
15
- }
16
- getPlaceholderText() {
17
- const { placeholder, submitShortKey } = this.getProps();
18
- if (placeholder) {
19
- return placeholder;
20
- }
21
- let enterKey = '';
22
- let shiftEnterKey = '';
23
- if (submitShortKey === SubmitShortKey.Enter) {
24
- enterKey = 'Enter';
25
- shiftEnterKey = 'Shift + Enter';
26
- }
27
- else if (submitShortKey === SubmitShortKey.ShiftEnter) {
28
- enterKey = 'Shift + Enter';
29
- shiftEnterKey = 'Enter';
30
- }
31
- return enterKey
32
- ? this._adapter.locale('Input.pleaseEnterPlaceholder', {
33
- enterKey,
34
- shiftEnterKey,
35
- })
36
- : this._adapter.locale('Input.pleaseEnter');
37
- }
38
- clearInput() {
39
- this.setState({
40
- inputValue: '',
41
- });
42
- this._adapter.emitChange();
43
- }
44
- emitChange() {
45
- this._adapter.emitChange();
46
- }
47
- submit(inputValue) {
48
- this._adapter.submit(inputValue);
49
- }
50
- onKeydown(event) {
51
- const { submitShortKey, lock } = this.getProps();
52
- const inputValue = this.getState('inputValue');
53
- if (submitShortKey === null) {
54
- return;
55
- }
56
- const shiftKey = submitShortKey === SubmitShortKey.Enter
57
- ? !event.shiftKey
58
- : submitShortKey === SubmitShortKey.ShiftEnter
59
- ? event.shiftKey
60
- : false;
61
- if (shiftKey && event.key === 'Enter' && !lock) {
62
- event.preventDefault();
63
- this.submit(inputValue);
64
- this.setState({
65
- inputValue: '',
66
- });
67
- this.emitChange();
68
- }
69
- }
70
- }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm91bmRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtbmcvc3JjL2NvbXBvbmVudHMtY29tbW9uL0lucHV0L2ZvdW5kYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxjQUFrQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3BFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUVaLGNBQWMsR0FDZixNQUFNLGdCQUFnQixDQUFDO0FBUXhCLE1BQU0sT0FBTyxlQUFnQixTQUFRLGNBQTRCO0lBQy9ELFlBQVksT0FBcUI7UUFDL0IsS0FBSyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNELE9BQU87WUFDTCxVQUFVLEVBQUUsSUFBSTtZQUNoQixtQkFBbUIsRUFBRSxRQUFRO1lBQzdCLGlCQUFpQixFQUFFLFdBQVcsS0FBSyxXQUFXLENBQUMsTUFBTTtZQUNyRCxxQkFBcUIsRUFBRSxPQUFPLEtBQUssWUFBWSxDQUFDLFVBQVU7U0FDM0QsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEQsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDO1FBRUQsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUV2QixJQUFJLGNBQWMsS0FBSyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDNUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztZQUNuQixhQUFhLEdBQUcsZUFBZSxDQUFDO1FBQ2xDLENBQUM7YUFBTSxJQUFJLGNBQWMsS0FBSyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDeEQsUUFBUSxHQUFHLGVBQWUsQ0FBQztZQUMzQixhQUFhLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUM7UUFFRCxPQUFPLFFBQVE7WUFDYixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsOEJBQThCLEVBQUU7Z0JBQ25ELFFBQVE7Z0JBQ1IsYUFBYTthQUNkLENBQUM7WUFDSixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDWixVQUFVLEVBQUUsRUFBRTtTQUNmLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBa0I7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFvQjtRQUM1QixNQUFNLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9DLElBQUksY0FBYyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQ1osY0FBYyxLQUFLLGNBQWMsQ0FBQyxLQUFLO1lBQ3JDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQ2pCLENBQUMsQ0FBQyxjQUFjLEtBQUssY0FBYyxDQUFDLFVBQVU7Z0JBQzlDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUTtnQkFDaEIsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUVaLElBQUksUUFBUSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDL0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDWixVQUFVLEVBQUUsRUFBRTthQUNmLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VGb3VuZGF0aW9uLCB7IERlZmF1bHRBZGFwdGVyIH0gZnJvbSAnLi4vQmFzZS9mb3VuZGF0aW9uJztcbmltcG9ydCB7XG4gIERpc3BsYXlUeXBlLFxuICBJbnB1dFZhcmlhbnQsXG4gIFNlbmRCdG5WYXJpYW50LFxuICBTdWJtaXRTaG9ydEtleSxcbn0gZnJvbSAnLi9jb21tb24vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElucHV0QWRhcHRlciBleHRlbmRzIERlZmF1bHRBZGFwdGVyIHtcbiAgbG9jYWxlKGtleTogc3RyaW5nLCBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogc3RyaW5nO1xuICBlbWl0Q2hhbmdlKCk6IHZvaWQ7XG4gIHN1Ym1pdChpbnB1dFZhbHVlOiBzdHJpbmcpOiB2b2lkO1xufVxuXG5leHBvcnQgY2xhc3MgSW5wdXRGb3VuZGF0aW9uIGV4dGVuZHMgQmFzZUZvdW5kYXRpb248SW5wdXRBZGFwdGVyPiB7XG4gIGNvbnN0cnVjdG9yKGFkYXB0ZXI6IElucHV0QWRhcHRlcikge1xuICAgIHN1cGVyKHsgLi4uYWRhcHRlciB9KTtcbiAgfVxuXG4gIGdldElucHV0Q2xhc3NlcygpIHtcbiAgICBjb25zdCB7IGRpc2FibGVkLCBkaXNwbGF5VHlwZSwgdmFyaWFudCB9ID0gdGhpcy5nZXRQcm9wcygpO1xuICAgIHJldHVybiB7XG4gICAgICAnbWMtaW5wdXQnOiB0cnVlLFxuICAgICAgJ21jLWlucHV0LWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgICAnbWMtaW5wdXQtc2ltcGxlJzogZGlzcGxheVR5cGUgPT09IERpc3BsYXlUeXBlLlNpbXBsZSxcbiAgICAgICdtYy1pbnB1dC1ib3JkZXJsZXNzJzogdmFyaWFudCA9PT0gSW5wdXRWYXJpYW50LkJvcmRlckxlc3MsXG4gICAgfTtcbiAgfVxuXG4gIGdldFBsYWNlaG9sZGVyVGV4dCgpIHtcbiAgICBjb25zdCB7IHBsYWNlaG9sZGVyLCBzdWJtaXRTaG9ydEtleSB9ID0gdGhpcy5nZXRQcm9wcygpO1xuICAgIGlmIChwbGFjZWhvbGRlcikge1xuICAgICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xuICAgIH1cblxuICAgIGxldCBlbnRlcktleSA9ICcnO1xuICAgIGxldCBzaGlmdEVudGVyS2V5ID0gJyc7XG5cbiAgICBpZiAoc3VibWl0U2hvcnRLZXkgPT09IFN1Ym1pdFNob3J0S2V5LkVudGVyKSB7XG4gICAgICBlbnRlcktleSA9ICdFbnRlcic7XG4gICAgICBzaGlmdEVudGVyS2V5ID0gJ1NoaWZ0ICsgRW50ZXInO1xuICAgIH0gZWxzZSBpZiAoc3VibWl0U2hvcnRLZXkgPT09IFN1Ym1pdFNob3J0S2V5LlNoaWZ0RW50ZXIpIHtcbiAgICAgIGVudGVyS2V5ID0gJ1NoaWZ0ICsgRW50ZXInO1xuICAgICAgc2hpZnRFbnRlcktleSA9ICdFbnRlcic7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVudGVyS2V5XG4gICAgICA/IHRoaXMuX2FkYXB0ZXIubG9jYWxlKCdJbnB1dC5wbGVhc2VFbnRlclBsYWNlaG9sZGVyJywge1xuICAgICAgICAgIGVudGVyS2V5LFxuICAgICAgICAgIHNoaWZ0RW50ZXJLZXksXG4gICAgICAgIH0pXG4gICAgICA6IHRoaXMuX2FkYXB0ZXIubG9jYWxlKCdJbnB1dC5wbGVhc2VFbnRlcicpO1xuICB9XG5cbiAgY2xlYXJJbnB1dCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGlucHV0VmFsdWU6ICcnLFxuICAgIH0pO1xuICAgIHRoaXMuX2FkYXB0ZXIuZW1pdENoYW5nZSgpO1xuICB9XG5cbiAgZW1pdENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9hZGFwdGVyLmVtaXRDaGFuZ2UoKTtcbiAgfVxuXG4gIHN1Ym1pdChpbnB1dFZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9hZGFwdGVyLnN1Ym1pdChpbnB1dFZhbHVlKTtcbiAgfVxuXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHsgc3VibWl0U2hvcnRLZXksIGxvY2sgfSA9IHRoaXMuZ2V0UHJvcHMoKTtcbiAgICBjb25zdCBpbnB1dFZhbHVlID0gdGhpcy5nZXRTdGF0ZSgnaW5wdXRWYWx1ZScpO1xuICAgIGlmIChzdWJtaXRTaG9ydEtleSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNoaWZ0S2V5ID1cbiAgICAgIHN1Ym1pdFNob3J0S2V5ID09PSBTdWJtaXRTaG9ydEtleS5FbnRlclxuICAgICAgICA/ICFldmVudC5zaGlmdEtleVxuICAgICAgICA6IHN1Ym1pdFNob3J0S2V5ID09PSBTdWJtaXRTaG9ydEtleS5TaGlmdEVudGVyXG4gICAgICAgID8gZXZlbnQuc2hpZnRLZXlcbiAgICAgICAgOiBmYWxzZTtcblxuICAgIGlmIChzaGlmdEtleSAmJiBldmVudC5rZXkgPT09ICdFbnRlcicgJiYgIWxvY2spIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnN1Ym1pdChpbnB1dFZhbHVlKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBpbnB1dFZhbHVlOiAnJyxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,26 +0,0 @@
1
- export default {
2
- Input: {
3
- send: "Send",
4
- pauseAnswer: "Stop",
5
- pleaseEnter: "Please enter your question...",
6
- pleaseEnterPlaceholder: "Please enter your question and press {enterKey} to send, {shiftEnterKey} to wrap.",
7
- ariaLabel: "Input box",
8
- },
9
- Md: {
10
- toggle: "Collapse/Expand",
11
- copy: "Copy",
12
- diagram: 'Diagram',
13
- code: 'Code',
14
- zoomIn: 'Zoom In',
15
- zoomOut: 'Zoom Out',
16
- downLoad: 'Download',
17
- },
18
- Bubble: {
19
- ariaLabel: "Chat message bubble",
20
- emptyAvatar: "Empty avatar placeholder",
21
- userName: "User name: {name}",
22
- content: "Message content",
23
- avatar: "User avatar: {name}"
24
- },
25
- };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4tdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLW5nL3NyYy9jb21wb25lbnRzLWNvbW1vbi9Mb2NhbGUvbGFuZy9lbi11cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlO0lBQ2IsS0FBSyxFQUFFO1FBQ0wsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtRQUNuQixXQUFXLEVBQUUsK0JBQStCO1FBQzVDLHNCQUFzQixFQUNwQixtRkFBbUY7UUFDckYsU0FBUyxFQUFFLFdBQVc7S0FDdkI7SUFDRCxFQUFFLEVBQUU7UUFDRixNQUFNLEVBQUUsaUJBQWlCO1FBQ3pCLElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLFNBQVM7UUFDbEIsSUFBSSxFQUFFLE1BQU07UUFDWixNQUFNLEVBQUUsU0FBUztRQUNqQixPQUFPLEVBQUUsVUFBVTtRQUNuQixRQUFRLEVBQUUsVUFBVTtLQUNyQjtJQUNELE1BQU0sRUFBRTtRQUNOLFNBQVMsRUFBRSxxQkFBcUI7UUFDaEMsV0FBVyxFQUFFLDBCQUEwQjtRQUN2QyxRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsTUFBTSxFQUFFLHFCQUFxQjtLQUM5QjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XG4gIElucHV0OiB7XG4gICAgc2VuZDogXCJTZW5kXCIsXG4gICAgcGF1c2VBbnN3ZXI6IFwiU3RvcFwiLFxuICAgIHBsZWFzZUVudGVyOiBcIlBsZWFzZSBlbnRlciB5b3VyIHF1ZXN0aW9uLi4uXCIsXG4gICAgcGxlYXNlRW50ZXJQbGFjZWhvbGRlcjpcbiAgICAgIFwiUGxlYXNlIGVudGVyIHlvdXIgcXVlc3Rpb24gYW5kIHByZXNzIHtlbnRlcktleX0gdG8gc2VuZCwge3NoaWZ0RW50ZXJLZXl9IHRvIHdyYXAuXCIsXG4gICAgYXJpYUxhYmVsOiBcIklucHV0IGJveFwiLFxuICB9LFxuICBNZDoge1xuICAgIHRvZ2dsZTogXCJDb2xsYXBzZS9FeHBhbmRcIixcbiAgICBjb3B5OiBcIkNvcHlcIixcbiAgICBkaWFncmFtOiAnRGlhZ3JhbScsXG4gICAgY29kZTogJ0NvZGUnLFxuICAgIHpvb21JbjogJ1pvb20gSW4nLFxuICAgIHpvb21PdXQ6ICdab29tIE91dCcsXG4gICAgZG93bkxvYWQ6ICdEb3dubG9hZCcsXG4gIH0sXG4gIEJ1YmJsZToge1xuICAgIGFyaWFMYWJlbDogXCJDaGF0IG1lc3NhZ2UgYnViYmxlXCIsXG4gICAgZW1wdHlBdmF0YXI6IFwiRW1wdHkgYXZhdGFyIHBsYWNlaG9sZGVyXCIsXG4gICAgdXNlck5hbWU6IFwiVXNlciBuYW1lOiB7bmFtZX1cIixcbiAgICBjb250ZW50OiBcIk1lc3NhZ2UgY29udGVudFwiLFxuICAgIGF2YXRhcjogXCJVc2VyIGF2YXRhcjoge25hbWV9XCJcbiAgfSxcbn07XG4iXX0=
@@ -1,26 +0,0 @@
1
- export default {
2
- Input: {
3
- send: "发送",
4
- pauseAnswer: "停止回答",
5
- pleaseEnter: "请输入您的问题...",
6
- pleaseEnterPlaceholder: "请输入您的问题,并按{enterKey}发送,按{shiftEnterKey}换行",
7
- ariaLabel: "输入框",
8
- },
9
- Md: {
10
- toggle: "收起/展开",
11
- copy: "复制",
12
- diagram: '图形',
13
- code: '代码',
14
- zoomIn: '放大',
15
- zoomOut: '缩小',
16
- downLoad: '下载',
17
- },
18
- Bubble: {
19
- ariaLabel: "聊天消息气泡",
20
- emptyAvatar: "无头像占位",
21
- userName: "用户名称: {name}",
22
- content: "消息内容",
23
- avatar: "用户头像: {name}"
24
- },
25
- };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemgtY24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLW5nL3NyYy9jb21wb25lbnRzLWNvbW1vbi9Mb2NhbGUvbGFuZy96aC1jbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlO0lBQ2IsS0FBSyxFQUFFO1FBQ0wsSUFBSSxFQUFFLElBQUk7UUFDVixXQUFXLEVBQUUsTUFBTTtRQUNuQixXQUFXLEVBQUUsWUFBWTtRQUN6QixzQkFBc0IsRUFDcEIsMkNBQTJDO1FBQzdDLFNBQVMsRUFBRSxLQUFLO0tBQ2pCO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsTUFBTSxFQUFFLE9BQU87UUFDZixJQUFJLEVBQUUsSUFBSTtRQUNWLE9BQU8sRUFBRSxJQUFJO1FBQ2IsSUFBSSxFQUFFLElBQUk7UUFDVixNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLElBQUk7S0FDZjtJQUNELE1BQU0sRUFBRTtRQUNOLFNBQVMsRUFBRSxRQUFRO1FBQ25CLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLE9BQU8sRUFBRSxNQUFNO1FBQ2YsTUFBTSxFQUFFLGNBQWM7S0FDdkI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xuICBJbnB1dDoge1xuICAgIHNlbmQ6IFwi5Y+R6YCBXCIsXG4gICAgcGF1c2VBbnN3ZXI6IFwi5YGc5q2i5Zue562UXCIsXG4gICAgcGxlYXNlRW50ZXI6IFwi6K+36L6T5YWl5oKo55qE6Zeu6aKYLi4uXCIsXG4gICAgcGxlYXNlRW50ZXJQbGFjZWhvbGRlcjpcbiAgICAgIFwi6K+36L6T5YWl5oKo55qE6Zeu6aKY77yM5bm25oyJe2VudGVyS2V5feWPkemAge+8jOaMiXtzaGlmdEVudGVyS2V5feaNouihjFwiLFxuICAgIGFyaWFMYWJlbDogXCLovpPlhaXmoYZcIixcbiAgfSxcbiAgTWQ6IHtcbiAgICB0b2dnbGU6IFwi5pS26LW3L+WxleW8gFwiLFxuICAgIGNvcHk6IFwi5aSN5Yi2XCIsXG4gICAgZGlhZ3JhbTogJ+WbvuW9oicsXG4gICAgY29kZTogJ+S7o+eggScsXG4gICAgem9vbUluOiAn5pS+5aSnJyxcbiAgICB6b29tT3V0OiAn57yp5bCPJyxcbiAgICBkb3duTG9hZDogJ+S4i+i9vScsXG4gIH0sXG4gIEJ1YmJsZToge1xuICAgIGFyaWFMYWJlbDogXCLogYrlpKnmtojmga/msJTms6FcIixcbiAgICBlbXB0eUF2YXRhcjogXCLml6DlpLTlg4/ljaDkvY1cIixcbiAgICB1c2VyTmFtZTogXCLnlKjmiLflkI3np7A6IHtuYW1lfVwiLFxuICAgIGNvbnRlbnQ6IFwi5raI5oGv5YaF5a65XCIsXG4gICAgYXZhdGFyOiBcIueUqOaIt+WktOWDjzoge25hbWV9XCJcbiAgfSxcbn07XG4iXX0=
@@ -1,132 +0,0 @@
1
- import BaseFoundation from '../Base/foundation';
2
- import { MermaidService } from './common/MermaidService';
3
- import hljs from 'highlight.js';
4
- import { MDCardService } from './common/MDCardService';
5
- export class CodeBlockFoundation extends BaseFoundation {
6
- constructor(adapter) {
7
- super({ ...adapter });
8
- this.toggleExpand = () => {
9
- this.setState({ expanded: !this.getStates().expanded });
10
- };
11
- this.zoomOut = () => {
12
- const container = this._adapter.getContainer();
13
- if (container && this.mermaidService) {
14
- this.mermaidService.zoomOut(container);
15
- }
16
- };
17
- this.zoomIn = () => {
18
- const container = this._adapter.getContainer();
19
- if (container && this.mermaidService) {
20
- this.mermaidService.zoomIn(container);
21
- }
22
- };
23
- this.checkIsMermaid = () => {
24
- const { enableMermaid, language } = this.getProps();
25
- return enableMermaid && language?.toLowerCase() === 'mermaid';
26
- };
27
- this.download = () => {
28
- const container = this._adapter.getContainer();
29
- if (container && this.mermaidService) {
30
- this.mermaidService.download(container);
31
- }
32
- };
33
- this.handleCopySuccess = () => {
34
- this.setState({ copied: true });
35
- setTimeout(() => {
36
- this.setState({ copied: false });
37
- }, 1500);
38
- };
39
- this.updateHighlightedCode = () => {
40
- const { code, language } = this.getProps();
41
- let highlightedCode = '';
42
- try {
43
- const typeIndex = code.indexOf(`<span class="mc-typewriter`);
44
- if (language && hljs.getLanguage(language)) {
45
- if (typeIndex !== -1) {
46
- highlightedCode =
47
- hljs.highlight(code.slice(0, typeIndex), {
48
- language,
49
- }).value + code.slice(typeIndex);
50
- }
51
- else {
52
- highlightedCode = hljs.highlight(code, {
53
- language,
54
- }).value;
55
- }
56
- }
57
- else {
58
- if (typeof hljs.highlightAuto !== 'undefined') {
59
- if (typeIndex !== -1) {
60
- highlightedCode =
61
- hljs.highlightAuto(code.slice(0, typeIndex)).value +
62
- code.slice(typeIndex);
63
- }
64
- else {
65
- highlightedCode = hljs.highlightAuto(code).value;
66
- }
67
- }
68
- else {
69
- highlightedCode = this.mdCardService.filterHtml(code);
70
- }
71
- }
72
- }
73
- catch (_) {
74
- highlightedCode = code;
75
- }
76
- this.setState({ highlightedCode });
77
- };
78
- this.renderMermaid = async () => {
79
- const { code, theme, mermaidConfig, } = this.getProps();
80
- const { mermaidContentRef } = this.getStates();
81
- const isMermaid = this.checkIsMermaid();
82
- if (!isMermaid || !code || !mermaidContentRef) {
83
- return;
84
- }
85
- if (!this.mermaidService) {
86
- try {
87
- this.mermaidService = new MermaidService();
88
- const config = {
89
- theme: theme === 'dark' ? 'dark' : 'default',
90
- ...mermaidConfig,
91
- };
92
- this.mermaidService.setConfig(config);
93
- }
94
- catch (error) {
95
- console.error('Failed to load MermaidService:', error);
96
- return;
97
- }
98
- }
99
- this.nextTick(async () => {
100
- const container = mermaidContentRef.nativeElement;
101
- if (container) {
102
- // 移除打字效果相关的span标签
103
- const cleanCode = code.replace(/<span[^>]*\bclass\s*=\s*['"]mc-typewriter[^>]*>([\s\S]*?)<\/span>/g, `$1`);
104
- await this.mermaidService?.renderToContainer(container, cleanCode, theme);
105
- }
106
- });
107
- };
108
- this.mdCardService = new MDCardService();
109
- }
110
- copyCodeInternal() {
111
- const { code } = this.getProps();
112
- if (navigator.clipboard) {
113
- navigator.clipboard.writeText(code).then(() => {
114
- this.handleCopySuccess();
115
- });
116
- }
117
- else {
118
- const textarea = document.createElement('textarea');
119
- textarea.style.position = 'fixed';
120
- textarea.style.top = '-9999px';
121
- textarea.style.left = '-9999px';
122
- textarea.style.zIndex = '-1';
123
- textarea.value = code;
124
- document.body.appendChild(textarea);
125
- textarea.select();
126
- document.execCommand('copy');
127
- document.body.removeChild(textarea);
128
- this.handleCopySuccess();
129
- }
130
- }
131
- }
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWJsb2NrLWZvdW5kYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLW5nL3NyYy9jb21wb25lbnRzLWNvbW1vbi9NYXJrZG93bkNhcmQvY29kZWJsb2NrLWZvdW5kYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxjQUFrQyxNQUFNLG9CQUFvQixDQUFDO0FBSXBFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLElBQUksTUFBTSxjQUFjLENBQUM7QUFDaEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBTXZELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxjQUFnQztJQUd2RSxZQUFZLE9BQXlCO1FBQ25DLEtBQUssQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUl4QixpQkFBWSxHQUFHLEdBQUcsRUFBRTtZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDO1FBRUYsWUFBTyxHQUFHLEdBQUcsRUFBRTtZQUNiLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0MsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN6QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsV0FBTSxHQUFHLEdBQUcsRUFBRTtZQUNaLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0MsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLGNBQWMsRUFB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UUFBUSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7Q0ErRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUZvdW5kYXRpb24sIHsgRGVmYXVsdEFkYXB0ZXIgfSBmcm9tICcuLi9CYXNlL2ZvdW5kYXRpb24nO1xuaW1wb3J0IHR5cGUgeyBUb2tlbiB9IGZyb20gJ21hcmtkb3duLWl0JztcbmltcG9ydCB0eXBlIHsgQVNUTm9kZSwgTWVybWFpZENvbmZpZyB9IGZyb20gJy4vY29tbW9uL21kQ2FyZC50eXBlcyc7XG5pbXBvcnQgeyBkZWZhdWx0VHlwaW5nQ29uZmlnIH0gZnJvbSAnLi9jb21tb24vbWRDYXJkLnR5cGVzJztcbmltcG9ydCB7IE1lcm1haWRTZXJ2aWNlIH0gZnJvbSAnLi9jb21tb24vTWVybWFpZFNlcnZpY2UnO1xuaW1wb3J0IGhsanMgZnJvbSAnaGlnaGxpZ2h0LmpzJztcbmltcG9ydCB7IE1EQ2FyZFNlcnZpY2UgfSBmcm9tICcuL2NvbW1vbi9NRENhcmRTZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlQmxvY2tBZGFwdGVyIGV4dGVuZHMgRGVmYXVsdEFkYXB0ZXIge1xuICBnZXRDb250YWluZXIoKTogSFRNTEVsZW1lbnQgfCBudWxsO1xufVxuXG5leHBvcnQgY2xhc3MgQ29kZUJsb2NrRm91bmRhdGlvbiBleHRlbmRzIEJhc2VGb3VuZGF0aW9uPENvZGVCbG9ja0FkYXB0ZXI+IHtcbiAgbWVybWFpZFNlcnZpY2U/OiBNZXJtYWlkU2VydmljZTtcbiAgbWRDYXJkU2VydmljZTogTURDYXJkU2VydmljZTtcbiAgY29uc3RydWN0b3IoYWRhcHRlcjogQ29kZUJsb2NrQWRhcHRlcikge1xuICAgIHN1cGVyKHsgLi4uYWRhcHRlciB9KTtcbiAgICB0aGlzLm1kQ2FyZFNlcnZpY2UgPSBuZXcgTURDYXJkU2VydmljZSgpO1xuICB9XG5cbiAgdG9nZ2xlRXhwYW5kID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBleHBhbmRlZDogIXRoaXMuZ2V0U3RhdGVzKCkuZXhwYW5kZWQgfSk7XG4gIH07XG5cbiAgem9vbU91dCA9ICgpID0+IHtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLl9hZGFwdGVyLmdldENvbnRhaW5lcigpO1xuICAgIGlmIChjb250YWluZXIgJiYgdGhpcy5tZXJtYWlkU2VydmljZSkge1xuICAgICAgdGhpcy5tZXJtYWlkU2VydmljZS56b29tT3V0KGNvbnRhaW5lcik7XG4gICAgfVxuICB9O1xuXG4gIHpvb21JbiA9ICgpID0+IHtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLl9hZGFwdGVyLmdldENvbnRhaW5lcigpO1xuICAgIGlmIChjb250YWluZXIgJiYgdGhpcy5tZXJtYWlkU2VydmljZSkge1xuICAgICAgdGhpcy5tZXJtYWlkU2VydmljZS56b29tSW4oY29udGFpbmVyKTtcbiAgICB9XG4gIH07XG5cbiAgY2hlY2tJc01lcm1haWQgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBlbmFibGVNZXJtYWlkLCBsYW5ndWFnZSB9ID0gdGhpcy5nZXRQcm9wcygpO1xuICAgIHJldHVybiBlbmFibGVNZXJtYWlkICYmIGxhbmd1YWdlPy50b0xvd2VyQ2FzZSgpID09PSAnbWVybWFpZCc7XG4gIH07XG5cbiAgZG93bmxvYWQgPSAoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5fYWRhcHRlci5nZXRDb250YWluZXIoKTtcbiAgICBpZiAoY29udGFpbmVyICYmIHRoaXMubWVybWFpZFNlcnZpY2UpIHtcbiAgICAgIHRoaXMubWVybWFpZFNlcnZpY2UuZG93bmxvYWQoY29udGFpbmVyKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlQ29weVN1Y2Nlc3MgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGNvcGllZDogdHJ1ZSB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb3BpZWQ6IGZhbHNlIH0pO1xuICAgIH0sIDE1MDApO1xuICB9O1xuXG4gIGNvcHlDb2RlSW50ZXJuYWwoKSB7XG4gICAgY29uc3QgeyBjb2RlIH0gPSB0aGlzLmdldFByb3BzKCk7XG4gICAgaWYgKG5hdmlnYXRvci5jbGlwYm9hcmQpIHtcbiAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGNvZGUpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUNvcHlTdWNjZXNzKCk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xuICAgICAgdGV4dGFyZWEuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnO1xuICAgICAgdGV4dGFyZWEuc3R5bGUudG9wID0gJy05OTk5cHgnO1xuICAgICAgdGV4dGFyZWEuc3R5bGUubGVmdCA9ICctOTk5OXB4JztcbiAgICAgIHRleHRhcmVhLnN0eWxlLnpJbmRleCA9ICctMSc7XG4gICAgICB0ZXh0YXJlYS52YWx1ZSA9IGNvZGU7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRhcmVhKTtcbiAgICAgIHRleHRhcmVhLnNlbGVjdCgpO1xuICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTtcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGV4dGFyZWEpO1xuICAgICAgdGhpcy5oYW5kbGVDb3B5U3VjY2VzcygpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUhpZ2hsaWdodGVkQ29kZSA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvZGUsIGxhbmd1YWdlIH0gPSB0aGlzLmdldFByb3BzKCk7XG4gICAgbGV0IGhpZ2hsaWdodGVkQ29kZSA9ICcnO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0eXBlSW5kZXggPSBjb2RlLmluZGV4T2YoYDxzcGFuIGNsYXNzPVwibWMtdHlwZXdyaXRlcmApO1xuXG4gICAgICBpZiAobGFuZ3VhZ2UgJiYgaGxqcy5nZXRMYW5ndWFnZShsYW5ndWFnZSkpIHtcbiAgICAgICAgaWYgKHR5cGVJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICBoaWdobGlnaHRlZENvZGUgPVxuICAgICAgICAgICAgaGxqcy5oaWdobGlnaHQoY29kZS5zbGljZSgwLCB0eXBlSW5kZXgpLCB7XG4gICAgICAgICAgICAgIGxhbmd1YWdlLFxuICAgICAgICAgICAgfSkudmFsdWUgKyBjb2RlLnNsaWNlKHR5cGVJbmRleCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaGlnaGxpZ2h0ZWRDb2RlID0gaGxqcy5oaWdobGlnaHQoY29kZSwge1xuICAgICAgICAgICAgbGFuZ3VhZ2UsXG4gICAgICAgICAgfSkudmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0eXBlb2YgaGxqcy5oaWdobGlnaHRBdXRvICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIGlmICh0eXBlSW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICBoaWdobGlnaHRlZENvZGUgPVxuICAgICAgICAgICAgICBobGpzLmhpZ2hsaWdodEF1dG8oY29kZS5zbGljZSgwLCB0eXBlSW5kZXgpKS52YWx1ZSArXG4gICAgICAgICAgICAgIGNvZGUuc2xpY2UodHlwZUluZGV4KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaGlnaGxpZ2h0ZWRDb2RlID0gaGxqcy5oaWdobGlnaHRBdXRvKGNvZGUpLnZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBoaWdobGlnaHRlZENvZGUgPSB0aGlzLm1kQ2FyZFNlcnZpY2UuZmlsdGVySHRtbChjb2RlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKF8pIHtcbiAgICAgIGhpZ2hsaWdodGVkQ29kZSA9IGNvZGU7XG4gICAgfVxuICAgIHRoaXMuc2V0U3RhdGUoeyBoaWdobGlnaHRlZENvZGUgfSk7XG4gIH07XG5cbiAgcmVuZGVyTWVybWFpZCA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBjb2RlLFxuICAgICAgdGhlbWUsXG4gICAgICBtZXJtYWlkQ29uZmlnLFxuICAgIH0gPSB0aGlzLmdldFByb3BzKCk7XG4gICAgY29uc3QgeyBtZXJtYWlkQ29udGVudFJlZn0gPSB0aGlzLmdldFN0YXRlcygpO1xuICAgIGNvbnN0IGlzTWVybWFpZCA9IHRoaXMuY2hlY2tJc01lcm1haWQoKTtcbiAgICBpZiAoIWlzTWVybWFpZCB8fCAhY29kZSB8fCAhbWVybWFpZENvbnRlbnRSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMubWVybWFpZFNlcnZpY2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMubWVybWFpZFNlcnZpY2UgPSBuZXcgTWVybWFpZFNlcnZpY2UoKTtcbiAgICAgICAgY29uc3QgY29uZmlnOiBNZXJtYWlkQ29uZmlnID0ge1xuICAgICAgICAgIHRoZW1lOiB0aGVtZSA9PT0gJ2RhcmsnID8gJ2RhcmsnIDogJ2RlZmF1bHQnLFxuICAgICAgICAgIC4uLm1lcm1haWRDb25maWcsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMubWVybWFpZFNlcnZpY2Uuc2V0Q29uZmlnKGNvbmZpZyk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCBNZXJtYWlkU2VydmljZTonLCBlcnJvcik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5uZXh0VGljayhhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBtZXJtYWlkQ29udGVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgICAvLyDnp7vpmaTmiZPlrZfmlYjmnpznm7jlhbPnmoRzcGFu5qCH562+XG4gICAgICAgIGNvbnN0IGNsZWFuQ29kZSA9IGNvZGUucmVwbGFjZShcbiAgICAgICAgICAvPHNwYW5bXj5dKlxcYmNsYXNzXFxzKj1cXHMqWydcIl1tYy10eXBld3JpdGVyW14+XSo+KFtcXHNcXFNdKj8pPFxcL3NwYW4+L2csXG4gICAgICAgICAgYCQxYFxuICAgICAgICApO1xuICAgICAgICBhd2FpdCB0aGlzLm1lcm1haWRTZXJ2aWNlPy5yZW5kZXJUb0NvbnRhaW5lcihcbiAgICAgICAgICBjb250YWluZXIsXG4gICAgICAgICAgY2xlYW5Db2RlLFxuICAgICAgICAgIHRoZW1lXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG59XG4iXX0=
@@ -1,69 +0,0 @@
1
- import { filterXSS, getDefaultCSSWhiteList, getDefaultWhiteList } from 'xss';
2
- export class MDCardService {
3
- constructor() {
4
- this.xssWhiteList = getDefaultWhiteList();
5
- this.cssWhiteList = getDefaultCSSWhiteList();
6
- this.setDefaultXss();
7
- }
8
- setDefaultXss() {
9
- this.xssWhiteList['input'] = ['type', 'checked', 'disabled', 'class'];
10
- this.xssWhiteList['label'] = ['for'];
11
- this.xssWhiteList['ul'] = ['class'];
12
- this.xssWhiteList['div'] = ['class'];
13
- this.xssWhiteList['a'] = ['href', 'class', 'target', 'name'];
14
- this.xssWhiteList['ol'] = ['start'];
15
- this.xssWhiteList['p'] = ['class'];
16
- this.xssWhiteList['span'] = ['style', 'class', 'title', 'id'];
17
- this.xssWhiteList['svg'] = ['style', 'class', 'width', 'height', 'viewbox', 'preserveaspectratio', 'id', 'fill', 'stroke'];
18
- this.xssWhiteList['path'] = ['style', 'class', 'd', 'id', 'fill', 'stroke'];
19
- this.xssWhiteList['th'] = ['style'];
20
- this.xssWhiteList['td'] = ['style'];
21
- }
22
- onIgnoreTagAttr(tag, name, value, isWhiteAttr) {
23
- if (!isWhiteAttr && (name === 'id' || (tag === 'span' && name === 'style'))) {
24
- return name + '=' + value;
25
- }
26
- return undefined;
27
- }
28
- getXssWhiteList() {
29
- return this.xssWhiteList;
30
- }
31
- setXssWhiteList(list) {
32
- this.xssWhiteList = list;
33
- }
34
- setCustomXssRules(rules) {
35
- if (rules) {
36
- rules.forEach((rule) => {
37
- if (rule['value'] === null) {
38
- delete this.xssWhiteList[rule['key']];
39
- }
40
- else {
41
- this.xssWhiteList[rule['key']] = rule['value'];
42
- }
43
- });
44
- }
45
- }
46
- setMdPlugins(plugins, mdt) {
47
- if (plugins && plugins.length) {
48
- plugins.forEach(item => {
49
- const { plugin, opts } = item;
50
- mdt.use(plugin, opts);
51
- });
52
- }
53
- }
54
- filterHtml(html) {
55
- return filterXSS(html, {
56
- whiteList: this.xssWhiteList,
57
- onIgnoreTagAttr: this.onIgnoreTagAttr,
58
- css: {
59
- whiteList: Object.assign({}, this.cssWhiteList, {
60
- top: true,
61
- left: true,
62
- bottom: true,
63
- right: true,
64
- }),
65
- },
66
- });
67
- }
68
- }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTURDYXJkU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtbmcvc3JjL2NvbXBvbmVudHMtY29tbW9uL01hcmtkb3duQ2FyZC9jb21tb24vTURDYXJkU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFtQixNQUFNLEtBQUssQ0FBQztBQUU5RixNQUFNLE9BQU8sYUFBYTtJQUl4QjtRQUhRLGlCQUFZLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztRQUNyQyxpQkFBWSxHQUFHLHNCQUFzQixFQUFFLENBQUM7UUFHOUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxJQUFJ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dCI6WyJpbXBvcnQgeyBmaWx0ZXJYU1MsIGdldERlZmF1bHRDU1NXaGl0ZUxpc3QsIGdldERlZmF1bHRXaGl0ZUxpc3QsIHR5cGUgSVdoaXRlTGlzdCB9IGZyb20gJ3hzcyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbVhzc1J1bGUsIE1kUGx1Z2luIH0gZnJvbSAnLi9tZENhcmQudHlwZXMudHMnO1xuZXhwb3J0IGNsYXNzIE1EQ2FyZFNlcnZpY2Uge1xuICBwcml2YXRlIHhzc1doaXRlTGlzdCA9IGdldERlZmF1bHRXaGl0ZUxpc3QoKTtcbiAgcHJpdmF0ZSBjc3NXaGl0ZUxpc3QgPSBnZXREZWZhdWx0Q1NTV2hpdGVMaXN0KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zZXREZWZhdWx0WHNzKCk7XG4gIH1cblxuICBwcml2YXRlIHNldERlZmF1bHRYc3MoKSB7XG4gICAgdGhpcy54c3NXaGl0ZUxpc3RbJ2lucHV0J10gPSBbJ3R5cGUnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdjbGFzcyddO1xuICAgIHRoaXMueHNzV2hpdGVMaXN0WydsYWJlbCddID0gWydmb3InXTtcbiAgICB0aGlzLnhzc1doaXRlTGlzdFsndWwnXSA9IFsnY2xhc3MnXTtcbiAgICB0aGlzLnhzc1doaXRlTGlzdFsnZGl2J10gPSBbJ2NsYXNzJ107XG4gICAgdGhpcy54c3NXaGl0ZUxpc3RbJ2EnXSA9IFsnaHJlZicsICdjbGFzcycsICd0YXJnZXQnLCAnbmFtZSddO1xuICAgIHRoaXMueHNzV2hpdGVMaXN0WydvbCddID0gWydzdGFydCddO1xuXG4gICAgdGhpcy54c3NXaGl0ZUxpc3RbJ3AnXSA9IFsnY2xhc3MnXTtcbiAgICB0aGlzLnhzc1doaXRlTGlzdFsnc3BhbiddID0gWydzdHlsZScsICdjbGFzcycsICd0aXRsZScsICdpZCddO1xuICAgIHRoaXMueHNzV2hpdGVMaXN0WydzdmcnXSA9IFsnc3R5bGUnLCAnY2xhc3MnLCAnd2lkdGgnLCAnaGVpZ2h0JywgJ3ZpZXdib3gnLCAncHJlc2VydmVhc3BlY3RyYXRpbycsICdpZCcsICdmaWxsJywgJ3N0cm9rZSddO1xuICAgIHRoaXMueHNzV2hpdGVMaXN0WydwYXRoJ10gPSBbJ3N0eWxlJywgJ2NsYXNzJywgJ2QnLCAnaWQnLCAnZmlsbCcsICdzdHJva2UnXTtcbiAgICB0aGlzLnhzc1doaXRlTGlzdFsndGgnXSA9IFsnc3R5bGUnXTtcbiAgICB0aGlzLnhzc1doaXRlTGlzdFsndGQnXSA9IFsnc3R5bGUnXTtcbiAgfVxuXG4gIHByaXZhdGUgb25JZ25vcmVUYWdBdHRyKHRhZzogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGlzV2hpdGVBdHRyOiBib29sZWFuKSB7XG4gICAgaWYgKCFpc1doaXRlQXR0ciAmJiAobmFtZSA9PT0gJ2lkJyB8fCAodGFnID09PSAnc3BhbicgJiYgbmFtZSA9PT0gJ3N0eWxlJykpKSB7XG4gICAgICByZXR1cm4gbmFtZSArICc9JyArIHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0WHNzV2hpdGVMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLnhzc1doaXRlTGlzdDtcbiAgfVxuXG4gIHNldFhzc1doaXRlTGlzdChsaXN0OiBJV2hpdGVMaXN0KSB7XG4gICAgdGhpcy54c3NXaGl0ZUxpc3QgPSBsaXN0O1xuICB9XG5cbiAgc2V0Q3VzdG9tWHNzUnVsZXMocnVsZXM6IEN1c3RvbVhzc1J1bGVbXSkge1xuICAgIGlmIChydWxlcykge1xuICAgICAgcnVsZXMuZm9yRWFjaCgocnVsZSkgPT4ge1xuICAgICAgICBpZiAocnVsZVsndmFsdWUnXSA9PT0gbnVsbCkge1xuICAgICAgICAgIGRlbGV0ZSB0aGlzLnhzc1doaXRlTGlzdFtydWxlWydrZXknXV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy54c3NXaGl0ZUxpc3RbcnVsZVsna2V5J11dID0gcnVsZVsndmFsdWUnXTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cblxuICBzZXRNZFBsdWdpbnMocGx1Z2luczogTWRQbHVnaW5bXSwgbWR0OiBhbnkpIHtcbiAgICBpZiAocGx1Z2lucyAmJiBwbHVnaW5zLmxlbmd0aCkge1xuICAgICAgcGx1Z2lucy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCB7IHBsdWdpbiwgb3B0cyB9ID0gaXRlbTtcbiAgICAgICAgbWR0LnVzZShwbHVnaW4sIG9wdHMpO1xuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBmaWx0ZXJIdG1sKGh0bWw6IHN0cmluZykge1xuICAgIHJldHVybiBmaWx0ZXJYU1MoaHRtbCwge1xuICAgICAgd2hpdGVMaXN0OiB0aGlzLnhzc1doaXRlTGlzdCxcbiAgICAgIG9uSWdub3JlVGFnQXR0cjogdGhpcy5vbklnbm9yZVRhZ0F0dHIsXG4gICAgICBjc3M6IHtcbiAgICAgICAgd2hpdGVMaXN0OiBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmNzc1doaXRlTGlzdCwge1xuICAgICAgICAgIHRvcDogdHJ1ZSxcbiAgICAgICAgICBsZWZ0OiB0cnVlLFxuICAgICAgICAgIGJvdHRvbTogdHJ1ZSxcbiAgICAgICAgICByaWdodDogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59Il19