@libs-ui/components-inputs-quill 0.2.115 → 0.2.116

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.
@@ -25,7 +25,7 @@ export class LibsUiComponentsInputsQuillUploadImageComponent {
25
25
  // this.mediaFile.set(event.files[0]);
26
26
  // }
27
27
  async handlerSaveImage() {
28
- // if (!await this.mediaUploadFunctionControl()?.valid()) {
28
+ // if (!await this.mediaUploadFunctionControl()?.checkIsValid()) {
29
29
  // return;
30
30
  // }
31
31
  // if (this.mediaFile?.origin_url) {
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
65
65
  LibsUiComponentsModalComponent
66
66
  ], template: "<libs_ui-components-modal [title]=\"'i18n_download_image'\"\n [mode]=\"'center'\"\n [width]=\"'598px'\"\n [headerConfig]=\"{ignoreHeaderTheme:true}\"\n [maxHeight]=\"'calc(100% - 100px)'\"\n [height]=\"'auto'\"\n [zIndex]=\"uploadImageConfig().zIndex || 1203\"\n [disable]=\"disable()\"\n [buttonsFooter]=\"buttonFooter()\"\n (outEvent)=\"handlerEventModal($event)\">\n <div class=\"libs-ui-modal-body-custom\">\n <!-- <mo-libs-shared-components-media-upload [zIndex]=\"zIndex+1\"\n [labelConfig]=\"labelConfig\"\n [multiple]=\"false\"\n [fileType]=\"'image'\"\n [doNotDelete]=\"true\"\n [maxImageSize]=\"maxImageSize || 1048576\"\n [limitFile]=\"10\"\n [validRequired]=\"{isRequired: true}\"\n (moChangeFile)=\"handlerChangeFile($event)\"\n (moFunctionsControl)=\"handlerFunctionsControl($event)\">\n </mo-libs-shared-components-media-upload> -->\n </div>\n</libs_ui-components-modal>\n" }]
67
67
  }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWltYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvcXVpbGwvc3JjL3VwbG9hZC1pbWFnZS91cGxvYWQtaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2lucHV0cy9xdWlsbC9zcmMvdXBsb2FkLWltYWdlL3VwbG9hZC1pbWFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBRSw4QkFBOEIsRUFBb0IsTUFBTSwyQkFBMkIsQ0FBQzs7QUFhN0YsTUFBTSxPQUFPLCtDQUErQztJQUVoRCxZQUFZLEdBQUcsTUFBTSxDQUFpQjtRQUM5QztZQUNFLElBQUksRUFBRSxjQUFjO1lBQ3BCLEtBQUssRUFBRSxhQUFhO1lBQ3BCLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1NBQ3pDO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsV0FBVztZQUNsQixNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1NBQ3RDO0tBQUMsQ0FBQyxDQUFDO0lBQ0ksT0FBTyxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUUzQyxnRUFBZ0U7SUFDaEUsMkdBQTJHO0lBRWxHLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXNCLENBQUM7SUFFekQsUUFBUSxHQUFHLE1BQU0sRUFBaUIsQ0FBQztJQUU1QyxtRkFBbUY7SUFDbkYsZ0RBQWdEO0lBQ2hELElBQUk7SUFFSixvREFBb0Q7SUFDcEQsd0NBQXdDO0lBQ3hDLElBQUk7SUFFSSxLQUFLLENBQUMsZ0JBQWdCO1FBQzVCLDJEQUEyRDtRQUMzRCxZQUFZO1FBQ1osSUFBSTtRQUNKLG9DQUFvQztRQUNwQyxrREFBa0Q7UUFFbEQsWUFBWTtRQUNaLElBQUk7UUFDSixzQ0FBc0M7UUFDdEMseUJBQXlCO1FBQ3pCLGdDQUFnQztRQUNoQyxxQkFBcUI7UUFDckIsZ0RBQWdEO1FBQ2hELEtBQUs7UUFFTCx1QkFBdUI7UUFDdkIsUUFBUTtRQUNSLDBLQUEwSztRQUMxSyxtRUFBbUU7UUFFbkUsc0NBQXNDO1FBQ3RDLG9CQUFvQjtRQUNwQix3QkFBd0I7UUFFeEIsdUpBQXVKO1FBQ3ZKLHlCQUF5QjtRQUN6QixjQUFjO1FBQ2QsMEJBQTBCO1FBQzFCLElBQUk7SUFDTixDQUFDO0lBRVMsaUJBQWlCLENBQUMsS0FBdUI7UUFDakQsSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzt3R0FqRVUsK0NBQStDOzRGQUEvQywrQ0FBK0Msa1RDZjVELHU3QkF3QkEsNENEWkksOEJBQThCOzs0RkFHckIsK0NBQStDO2tCQVYzRCxTQUFTOytCQUVFLDhDQUE4QyxjQUU1QyxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsOEJBQThCO3FCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUJ1dHRvbiB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtYnV0dG9ucy1idXR0b24nO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c01vZGFsQ29tcG9uZW50LCBUWVBFX01PREFMX0VWRU5UIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1tb2RhbCc7XG5pbXBvcnQgeyBJVXBsb2FkSW1hZ2VDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3F1aWxsLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1pbnB1dHMtcXVpbGwtdXBsb2FkX2ltYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1pbWFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgTGlic1VpQ29tcG9uZW50c01vZGFsQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0lucHV0c1F1aWxsVXBsb2FkSW1hZ2VDb21wb25lbnQge1xuXG4gIHByb3RlY3RlZCBidXR0b25Gb290ZXIgPSBzaWduYWw8QXJyYXk8SUJ1dHRvbj4+KFtcbiAgICB7XG4gICAgICB0eXBlOiAnYnV0dG9uLXRoaXJkJyxcbiAgICAgIGxhYmVsOiAnaTE4bl9jYW5jZWwnLFxuICAgICAgYWN0aW9uOiBhc3luYyAoKSA9PiB0aGlzLm91dENsb3NlLmVtaXQoKVxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdpMThuX3NhdmUnLFxuICAgICAgYWN0aW9uOiAoKSA9PiB0aGlzLmhhbmRsZXJTYXZlSW1hZ2UoKVxuICAgIH1dKTtcbiAgcHJvdGVjdGVkIGRpc2FibGUgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8vIHByaXZhdGUgbWVkaWFGaWxlID1zaWduYWw8SU1lZGlhRmlsZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgLy8gcHJpdmF0ZSBtZWRpYVVwbG9hZEZ1bmN0aW9uQ29udHJvbCA9c2lnbmFsPElNZWRpYVVwbG9hZEJhc2VGdW5jdGlvbkNvbnRyb2xFdmVudCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSB1cGxvYWRJbWFnZUNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPElVcGxvYWRJbWFnZUNvbmZpZz4oKTtcblxuICByZWFkb25seSBvdXRDbG9zZSA9IG91dHB1dDxzdHJpbmcgfCB2b2lkPigpO1xuXG4gIC8vIHByb3RlY3RlZCBoYW5kbGVyRnVuY3Rpb25zQ29udHJvbChldmVudDogSU1lZGlhVXBsb2FkQmFzZUZ1bmN0aW9uQ29udHJvbEV2ZW50KSB7XG4gIC8vICAgdGhpcy5tZWRpYVVwbG9hZEZ1bmN0aW9uQ29udHJvbC5zZXQoZXZlbnQpO1xuICAvLyB9XG5cbiAgLy8gcHJvdGVjdGVkIGhhbmRsZXJDaGFuZ2VGaWxlKGV2ZW50OiBJQ2hhbmdlRmlsZSkge1xuICAvLyAgIHRoaXMubWVkaWFGaWxlLnNldChldmVudC5maWxlc1swXSk7XG4gIC8vIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZXJTYXZlSW1hZ2UoKSB7XG4gICAgLy8gaWYgKCFhd2FpdCB0aGlzLm1lZGlhVXBsb2FkRnVuY3Rpb25Db250cm9sKCk/LnZhbGlkKCkpIHtcbiAgICAvLyAgIHJldHVybjtcbiAgICAvLyB9XG4gICAgLy8gaWYgKHRoaXMubWVkaWFGaWxlPy5vcmlnaW5fdXJsKSB7XG4gICAgLy8gICB0aGlzLm1vQ2xvc2UuZW1pdCh0aGlzLm1lZGlhRmlsZS5vcmlnaW5fdXJsKTtcblxuICAgIC8vICAgcmV0dXJuO1xuICAgIC8vIH1cbiAgICAvLyBjb25zdCBib2R5OiBJT3B0aW9uc1VwbG9hZE1lZGlhID0ge1xuICAgIC8vICAgZG9fbm90X2RlbGV0ZTogdHJ1ZSxcbiAgICAvLyAgIGZpbGU6IHRoaXMubWVkaWFGaWxlPy5maWxlLFxuICAgIC8vICAgb3B0aW9uOiAndGh1bWInLFxuICAgIC8vICAgc2l6ZTogW3sgJ3dpZHRoJzogJzIwMCcsICdoZWlnaHQnOiAnMjAwJyB9XVxuICAgIC8vIH07XG5cbiAgICAvLyB0aGlzLmRpc2FibGUgPSB0cnVlO1xuICAgIC8vIHRyeSB7XG4gICAgLy8gICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtc1JlcXVlc3QoeyBmcm9tT2JqZWN0OiB7IHBlbTogQlVJTERfUEVNX09CSkVDVCh7IGlzQ2hlY2s6IDAsIGFjdGlvbjogRGVmaW5lQ29uc3RhbnRzLlBFUk1JU1NJT05fQUNUSU9OX1ZJRVcsIHBhdGhDaGVjazogJy9vdGhlcicgfSkgfSB9KTtcbiAgICAvLyAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubWVkaWFTZXJ2aWNlLnVwbG9hZEltYWdlKHBhcmFtcywgYm9keSk7XG5cbiAgICAvLyAgIHRoaXMubW9DbG9zZS5lbWl0KHJlcy5kYXRhPy51cmwpO1xuICAgIC8vIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gICBjb25zb2xlLmxvZyhlcnJvcik7XG5cbiAgICAvLyAgIHRoaXMucHVzaE1lc3NhZ2VTZXJ2aWNlLnNob3dDb21wVHlwZVRleHQoJ2kxOG5fbm90aWZpY2F0aW9uX21hbmlwdWxhdGlvbl9ub3Rfc3VjY2VzcycsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB7IHRpbWVSZW1vdmU6IDIwMDAsIHR5cGU6ICdlcnJvcicgfSk7XG4gICAgLy8gICB0aGlzLm1vQ2xvc2UuZW1pdCgpO1xuICAgIC8vIH0gZmluYWxseSB7XG4gICAgLy8gICB0aGlzLmRpc2FibGUgPSBmYWxzZTtcbiAgICAvLyB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlckV2ZW50TW9kYWwoZXZlbnQ6IFRZUEVfTU9EQUxfRVZFTlQpIHtcbiAgICBpZiAoZXZlbnQgPT09ICdjbG9zZScpIHtcbiAgICAgIHRoaXMub3V0Q2xvc2UuZW1pdCgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGxpYnNfdWktY29tcG9uZW50cy1tb2RhbCBbdGl0bGVdPVwiJ2kxOG5fZG93bmxvYWRfaW1hZ2UnXCJcbiAgW21vZGVdPVwiJ2NlbnRlcidcIlxuICBbd2lkdGhdPVwiJzU5OHB4J1wiXG4gIFtoZWFkZXJDb25maWddPVwie2lnbm9yZUhlYWRlclRoZW1lOnRydWV9XCJcbiAgW21heEhlaWdodF09XCInY2FsYygxMDAlIC0gMTAwcHgpJ1wiXG4gIFtoZWlnaHRdPVwiJ2F1dG8nXCJcbiAgW3pJbmRleF09XCJ1cGxvYWRJbWFnZUNvbmZpZygpLnpJbmRleCB8fCAxMjAzXCJcbiAgW2Rpc2FibGVdPVwiZGlzYWJsZSgpXCJcbiAgW2J1dHRvbnNGb290ZXJdPVwiYnV0dG9uRm9vdGVyKClcIlxuICAob3V0RXZlbnQpPVwiaGFuZGxlckV2ZW50TW9kYWwoJGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwibGlicy11aS1tb2RhbC1ib2R5LWN1c3RvbVwiPlxuICAgIDwhLS0gPG1vLWxpYnMtc2hhcmVkLWNvbXBvbmVudHMtbWVkaWEtdXBsb2FkIFt6SW5kZXhdPVwiekluZGV4KzFcIlxuICAgICAgW2xhYmVsQ29uZmlnXT1cImxhYmVsQ29uZmlnXCJcbiAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXG4gICAgICBbZmlsZVR5cGVdPVwiJ2ltYWdlJ1wiXG4gICAgICBbZG9Ob3REZWxldGVdPVwidHJ1ZVwiXG4gICAgICBbbWF4SW1hZ2VTaXplXT1cIm1heEltYWdlU2l6ZSB8fCAxMDQ4NTc2XCJcbiAgICAgIFtsaW1pdEZpbGVdPVwiMTBcIlxuICAgICAgW3ZhbGlkUmVxdWlyZWRdPVwie2lzUmVxdWlyZWQ6IHRydWV9XCJcbiAgICAgIChtb0NoYW5nZUZpbGUpPVwiaGFuZGxlckNoYW5nZUZpbGUoJGV2ZW50KVwiXG4gICAgICAobW9GdW5jdGlvbnNDb250cm9sKT1cImhhbmRsZXJGdW5jdGlvbnNDb250cm9sKCRldmVudClcIj5cbiAgICA8L21vLWxpYnMtc2hhcmVkLWNvbXBvbmVudHMtbWVkaWEtdXBsb2FkPiAtLT5cbiAgPC9kaXY+XG48L2xpYnNfdWktY29tcG9uZW50cy1tb2RhbD5cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWltYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvcXVpbGwvc3JjL3VwbG9hZC1pbWFnZS91cGxvYWQtaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2lucHV0cy9xdWlsbC9zcmMvdXBsb2FkLWltYWdlL3VwbG9hZC1pbWFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBRSw4QkFBOEIsRUFBb0IsTUFBTSwyQkFBMkIsQ0FBQzs7QUFhN0YsTUFBTSxPQUFPLCtDQUErQztJQUVoRCxZQUFZLEdBQUcsTUFBTSxDQUFpQjtRQUM5QztZQUNFLElBQUksRUFBRSxjQUFjO1lBQ3BCLEtBQUssRUFBRSxhQUFhO1lBQ3BCLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1NBQ3pDO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsV0FBVztZQUNsQixNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1NBQ3RDO0tBQUMsQ0FBQyxDQUFDO0lBQ0ksT0FBTyxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUUzQyxnRUFBZ0U7SUFDaEUsMkdBQTJHO0lBRWxHLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXNCLENBQUM7SUFFekQsUUFBUSxHQUFHLE1BQU0sRUFBaUIsQ0FBQztJQUU1QyxtRkFBbUY7SUFDbkYsZ0RBQWdEO0lBQ2hELElBQUk7SUFFSixvREFBb0Q7SUFDcEQsd0NBQXdDO0lBQ3hDLElBQUk7SUFFSSxLQUFLLENBQUMsZ0JBQWdCO1FBQzVCLGtFQUFrRTtRQUNsRSxZQUFZO1FBQ1osSUFBSTtRQUNKLG9DQUFvQztRQUNwQyxrREFBa0Q7UUFFbEQsWUFBWTtRQUNaLElBQUk7UUFDSixzQ0FBc0M7UUFDdEMseUJBQXlCO1FBQ3pCLGdDQUFnQztRQUNoQyxxQkFBcUI7UUFDckIsZ0RBQWdEO1FBQ2hELEtBQUs7UUFFTCx1QkFBdUI7UUFDdkIsUUFBUTtRQUNSLDBLQUEwSztRQUMxSyxtRUFBbUU7UUFFbkUsc0NBQXNDO1FBQ3RDLG9CQUFvQjtRQUNwQix3QkFBd0I7UUFFeEIsdUpBQXVKO1FBQ3ZKLHlCQUF5QjtRQUN6QixjQUFjO1FBQ2QsMEJBQTBCO1FBQzFCLElBQUk7SUFDTixDQUFDO0lBRVMsaUJBQWlCLENBQUMsS0FBdUI7UUFDakQsSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzt3R0FqRVUsK0NBQStDOzRGQUEvQywrQ0FBK0Msa1RDZjVELHU3QkF3QkEsNENEWkksOEJBQThCOzs0RkFHckIsK0NBQStDO2tCQVYzRCxTQUFTOytCQUVFLDhDQUE4QyxjQUU1QyxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsOEJBQThCO3FCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUJ1dHRvbiB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtYnV0dG9ucy1idXR0b24nO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c01vZGFsQ29tcG9uZW50LCBUWVBFX01PREFMX0VWRU5UIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1tb2RhbCc7XG5pbXBvcnQgeyBJVXBsb2FkSW1hZ2VDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3F1aWxsLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1pbnB1dHMtcXVpbGwtdXBsb2FkX2ltYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1pbWFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgTGlic1VpQ29tcG9uZW50c01vZGFsQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0lucHV0c1F1aWxsVXBsb2FkSW1hZ2VDb21wb25lbnQge1xuXG4gIHByb3RlY3RlZCBidXR0b25Gb290ZXIgPSBzaWduYWw8QXJyYXk8SUJ1dHRvbj4+KFtcbiAgICB7XG4gICAgICB0eXBlOiAnYnV0dG9uLXRoaXJkJyxcbiAgICAgIGxhYmVsOiAnaTE4bl9jYW5jZWwnLFxuICAgICAgYWN0aW9uOiBhc3luYyAoKSA9PiB0aGlzLm91dENsb3NlLmVtaXQoKVxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdpMThuX3NhdmUnLFxuICAgICAgYWN0aW9uOiAoKSA9PiB0aGlzLmhhbmRsZXJTYXZlSW1hZ2UoKVxuICAgIH1dKTtcbiAgcHJvdGVjdGVkIGRpc2FibGUgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8vIHByaXZhdGUgbWVkaWFGaWxlID1zaWduYWw8SU1lZGlhRmlsZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgLy8gcHJpdmF0ZSBtZWRpYVVwbG9hZEZ1bmN0aW9uQ29udHJvbCA9c2lnbmFsPElNZWRpYVVwbG9hZEJhc2VGdW5jdGlvbkNvbnRyb2xFdmVudCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSB1cGxvYWRJbWFnZUNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPElVcGxvYWRJbWFnZUNvbmZpZz4oKTtcblxuICByZWFkb25seSBvdXRDbG9zZSA9IG91dHB1dDxzdHJpbmcgfCB2b2lkPigpO1xuXG4gIC8vIHByb3RlY3RlZCBoYW5kbGVyRnVuY3Rpb25zQ29udHJvbChldmVudDogSU1lZGlhVXBsb2FkQmFzZUZ1bmN0aW9uQ29udHJvbEV2ZW50KSB7XG4gIC8vICAgdGhpcy5tZWRpYVVwbG9hZEZ1bmN0aW9uQ29udHJvbC5zZXQoZXZlbnQpO1xuICAvLyB9XG5cbiAgLy8gcHJvdGVjdGVkIGhhbmRsZXJDaGFuZ2VGaWxlKGV2ZW50OiBJQ2hhbmdlRmlsZSkge1xuICAvLyAgIHRoaXMubWVkaWFGaWxlLnNldChldmVudC5maWxlc1swXSk7XG4gIC8vIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZXJTYXZlSW1hZ2UoKSB7XG4gICAgLy8gaWYgKCFhd2FpdCB0aGlzLm1lZGlhVXBsb2FkRnVuY3Rpb25Db250cm9sKCk/LmNoZWNrSXNWYWxpZCgpKSB7XG4gICAgLy8gICByZXR1cm47XG4gICAgLy8gfVxuICAgIC8vIGlmICh0aGlzLm1lZGlhRmlsZT8ub3JpZ2luX3VybCkge1xuICAgIC8vICAgdGhpcy5tb0Nsb3NlLmVtaXQodGhpcy5tZWRpYUZpbGUub3JpZ2luX3VybCk7XG5cbiAgICAvLyAgIHJldHVybjtcbiAgICAvLyB9XG4gICAgLy8gY29uc3QgYm9keTogSU9wdGlvbnNVcGxvYWRNZWRpYSA9IHtcbiAgICAvLyAgIGRvX25vdF9kZWxldGU6IHRydWUsXG4gICAgLy8gICBmaWxlOiB0aGlzLm1lZGlhRmlsZT8uZmlsZSxcbiAgICAvLyAgIG9wdGlvbjogJ3RodW1iJyxcbiAgICAvLyAgIHNpemU6IFt7ICd3aWR0aCc6ICcyMDAnLCAnaGVpZ2h0JzogJzIwMCcgfV1cbiAgICAvLyB9O1xuXG4gICAgLy8gdGhpcy5kaXNhYmxlID0gdHJ1ZTtcbiAgICAvLyB0cnkge1xuICAgIC8vICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXNSZXF1ZXN0KHsgZnJvbU9iamVjdDogeyBwZW06IEJVSUxEX1BFTV9PQkpFQ1QoeyBpc0NoZWNrOiAwLCBhY3Rpb246IERlZmluZUNvbnN0YW50cy5QRVJNSVNTSU9OX0FDVElPTl9WSUVXLCBwYXRoQ2hlY2s6ICcvb3RoZXInIH0pIH0gfSk7XG4gICAgLy8gICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLm1lZGlhU2VydmljZS51cGxvYWRJbWFnZShwYXJhbXMsIGJvZHkpO1xuXG4gICAgLy8gICB0aGlzLm1vQ2xvc2UuZW1pdChyZXMuZGF0YT8udXJsKTtcbiAgICAvLyB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vICAgY29uc29sZS5sb2coZXJyb3IpO1xuXG4gICAgLy8gICB0aGlzLnB1c2hNZXNzYWdlU2VydmljZS5zaG93Q29tcFR5cGVUZXh0KCdpMThuX25vdGlmaWNhdGlvbl9tYW5pcHVsYXRpb25fbm90X3N1Y2Nlc3MnLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgeyB0aW1lUmVtb3ZlOiAyMDAwLCB0eXBlOiAnZXJyb3InIH0pO1xuICAgIC8vICAgdGhpcy5tb0Nsb3NlLmVtaXQoKTtcbiAgICAvLyB9IGZpbmFsbHkge1xuICAgIC8vICAgdGhpcy5kaXNhYmxlID0gZmFsc2U7XG4gICAgLy8gfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZXJFdmVudE1vZGFsKGV2ZW50OiBUWVBFX01PREFMX0VWRU5UKSB7XG4gICAgaWYgKGV2ZW50ID09PSAnY2xvc2UnKSB7XG4gICAgICB0aGlzLm91dENsb3NlLmVtaXQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxsaWJzX3VpLWNvbXBvbmVudHMtbW9kYWwgW3RpdGxlXT1cIidpMThuX2Rvd25sb2FkX2ltYWdlJ1wiXG4gIFttb2RlXT1cIidjZW50ZXInXCJcbiAgW3dpZHRoXT1cIic1OThweCdcIlxuICBbaGVhZGVyQ29uZmlnXT1cIntpZ25vcmVIZWFkZXJUaGVtZTp0cnVlfVwiXG4gIFttYXhIZWlnaHRdPVwiJ2NhbGMoMTAwJSAtIDEwMHB4KSdcIlxuICBbaGVpZ2h0XT1cIidhdXRvJ1wiXG4gIFt6SW5kZXhdPVwidXBsb2FkSW1hZ2VDb25maWcoKS56SW5kZXggfHwgMTIwM1wiXG4gIFtkaXNhYmxlXT1cImRpc2FibGUoKVwiXG4gIFtidXR0b25zRm9vdGVyXT1cImJ1dHRvbkZvb3RlcigpXCJcbiAgKG91dEV2ZW50KT1cImhhbmRsZXJFdmVudE1vZGFsKCRldmVudClcIj5cbiAgPGRpdiBjbGFzcz1cImxpYnMtdWktbW9kYWwtYm9keS1jdXN0b21cIj5cbiAgICA8IS0tIDxtby1saWJzLXNoYXJlZC1jb21wb25lbnRzLW1lZGlhLXVwbG9hZCBbekluZGV4XT1cInpJbmRleCsxXCJcbiAgICAgIFtsYWJlbENvbmZpZ109XCJsYWJlbENvbmZpZ1wiXG4gICAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxuICAgICAgW2ZpbGVUeXBlXT1cIidpbWFnZSdcIlxuICAgICAgW2RvTm90RGVsZXRlXT1cInRydWVcIlxuICAgICAgW21heEltYWdlU2l6ZV09XCJtYXhJbWFnZVNpemUgfHwgMTA0ODU3NlwiXG4gICAgICBbbGltaXRGaWxlXT1cIjEwXCJcbiAgICAgIFt2YWxpZFJlcXVpcmVkXT1cIntpc1JlcXVpcmVkOiB0cnVlfVwiXG4gICAgICAobW9DaGFuZ2VGaWxlKT1cImhhbmRsZXJDaGFuZ2VGaWxlKCRldmVudClcIlxuICAgICAgKG1vRnVuY3Rpb25zQ29udHJvbCk9XCJoYW5kbGVyRnVuY3Rpb25zQ29udHJvbCgkZXZlbnQpXCI+XG4gICAgPC9tby1saWJzLXNoYXJlZC1jb21wb25lbnRzLW1lZGlhLXVwbG9hZD4gLS0+XG4gIDwvZGl2PlxuPC9saWJzX3VpLWNvbXBvbmVudHMtbW9kYWw+XG4iXX0=
@@ -143,7 +143,7 @@ class LibsUiComponentsInputsQuillUploadImageComponent {
143
143
  // this.mediaFile.set(event.files[0]);
144
144
  // }
145
145
  async handlerSaveImage() {
146
- // if (!await this.mediaUploadFunctionControl()?.valid()) {
146
+ // if (!await this.mediaUploadFunctionControl()?.checkIsValid()) {
147
147
  // return;
148
148
  // }
149
149
  // if (this.mediaFile?.origin_url) {
@@ -1 +1 @@
1
- {"version":3,"file":"libs-ui-components-inputs-quill.mjs","sources":["../../../../../../libs-ui/components/inputs/quill/src/indent-attributor/indent-attributor.component.ts","../../../../../../libs-ui/components/inputs/quill/src/link/link.component.ts","../../../../../../libs-ui/components/inputs/quill/src/link/link.component.html","../../../../../../libs-ui/components/inputs/quill/src/mention/mention.component.ts","../../../../../../libs-ui/components/inputs/quill/src/upload-image/upload-image.component.ts","../../../../../../libs-ui/components/inputs/quill/src/upload-image/upload-image.component.html","../../../../../../libs-ui/components/inputs/quill/src/utils/quill.define.ts","../../../../../../libs-ui/components/inputs/quill/src/quill.component.ts","../../../../../../libs-ui/components/inputs/quill/src/quill.component.html","../../../../../../libs-ui/components/inputs/quill/src/libs-ui-components-inputs-quill.ts"],"sourcesContent":["import Quill from \"quill\";\n\nconst parchment = Quill.import('parchment');\nconst pixelLevels = [1, 2, 3, 4, 5, 6, 7, 8];\nconst tabMultiplier = 3;\n\nclass IndentAttributor extends (parchment.Attributor.Style as {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n new(formatName: string, styleProperty: string, attributorOptions: unknown): any;\n}) {\n constructor(formatName: string, styleProperty: string, attributorOptions: unknown) {\n super(formatName, styleProperty, attributorOptions);\n }\n\n public add(node: HTMLElement, value: string): boolean {\n return super.add(node, `${+value * tabMultiplier}em`);\n }\n\n public value(node: HTMLElement): number | undefined {\n return parseFloat(super.value(node)) / tabMultiplier || undefined; // Don't return NaN\n }\n}\n\nexport const indentStyle = new IndentAttributor('indent', 'margin-left', {\n scope: parchment.Scope.BLOCK,\n whitelist: pixelLevels.map(value => `${value * tabMultiplier}em`),\n});","import { ChangeDetectionStrategy, Component, input, OnInit, output, signal } from '@angular/core';\nimport { IInputValidFunctionControlEvent, LibsUiComponentsInputsValidComponent } from '@libs-ui/components-inputs-valid';\nimport { LibsUiComponentsModalComponent, TYPE_MODAL_EVENT } from '@libs-ui/components-modal';\nimport { patternUrl } from '@libs-ui/utils';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-inputs-quill-link',\n templateUrl: './link.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n LibsUiComponentsModalComponent,\n LibsUiComponentsInputsValidComponent\n ]\n})\nexport class LibsUiComponentsInputsQuillLinkComponent implements OnInit {\n\n protected dataLink = signal<{ title: string, link: string }>({ title: '', link: '' });\n protected patternLink = signal<RegExp>(patternUrl());\n\n private inputValidFunctionControl = signal<Array<IInputValidFunctionControlEvent>>([]);\n\n readonly zIndex = input<number>(1200);\n readonly title = input<string>();\n readonly link = input<string>();\n\n readonly outClose = output<void>();\n readonly outSaveLink = output<{ title: string, link: string }>();\n\n ngOnInit() {\n const title = this.title();\n const link = this.link();\n if (title || link) {\n this.dataLink.update(item => ({ ...item, title: title || '', link: link || '' }));\n }\n }\n\n protected async handlerFunctionsControl(event: IInputValidFunctionControlEvent) {\n this.inputValidFunctionControl.update(items => [...items, event]);\n }\n\n private async validate() {\n let valid = true;\n for (const control of this.inputValidFunctionControl()) {\n if (!(await control.checkIsValid())) {\n valid = false;\n }\n }\n return valid;\n }\n\n protected async handlerEvent(event: TYPE_MODAL_EVENT) {\n if (event !== 'agree') {\n this.outClose.emit();\n return;\n }\n if (await this.validate()) {\n this.outSaveLink.emit(this.dataLink());\n this.outClose.emit();\n }\n }\n\n}\n","<libs_ui-components-modal [title]=\"'i18n_insert_link'\"\n [mode]=\"'center'\"\n [height]=\"'auto'\"\n [width]=\"'598px'\"\n [headerConfig]=\"{ignoreHeaderTheme: true}\"\n [zIndex]=\"zIndex()\"\n (outEvent)=\"handlerEvent($event)\">\n <div class=\"libs-ui-modal-body-custom\">\n <libs_ui-components-inputs-valid [labelConfig]=\"{labelLeft: 'i18n_content', required: true}\"\n [(item)]=\"dataLink\"\n [fieldNameBind]=\"'title'\"\n [placeholder]=\"'i18n_import_content'\"\n [validRequired]=\"{isRequired: true}\"\n (outFunctionsControl)=\"handlerFunctionsControl($event)\" />\n <div class=\"mt-[16px]\">\n <libs_ui-components-inputs-valid [labelConfig]=\"{labelLeft: 'Link', required: true}\"\n [(item)]=\"dataLink\"\n [fieldNameBind]=\"'link'\"\n [placeholder]=\"'https:/…'\"\n [validRequired]=\"{isRequired: true}\"\n [validPattern]=\"[{pattern: patternLink(), valuePatternShowError: false}]\"\n [keySelectedUnitLeft]=\"'1'\"\n [unitsLeft]=\"[{id:'1',label:'URL'}]\"\n (outFunctionsControl)=\"handlerFunctionsControl($event)\" />\n </div>\n </div>\n</libs_ui-components-modal>\n","import Quill from \"quill\";\n\nconst Embed = Quill.import(\"blots/embed\");\n\nexport class QuillMentionBlot extends Embed {\n static create(data: { id: string, feId: string, value: string }) {\n const node = super.create();\n node.innerText += data.value;\n node.setAttribute('id', data.id);\n node.setAttribute('feId', data.feId);\n node.setAttribute('value', data.value);\n return node;\n }\n\n static value(domNode: HTMLElement) {\n return {\n id: domNode.getAttribute('id'),\n feId: domNode.getAttribute('feId'),\n value: domNode.getAttribute('value')\n };\n }\n\n attach() {\n super.attach();\n if (!this.mounted) {\n this.mounted = true;\n this.clickHandler = this.getClickHandler;\n this.domNode.addEventListener(\"click\", this.clickHandler, false);\n }\n }\n\n getClickHandler(event: Event) {\n event.stopPropagation();\n }\n}\n\nQuillMentionBlot.blotName = \"mention\";\nQuillMentionBlot.tagName = \"span\";\nQuillMentionBlot.className = \"libs-ui-quill-mention\";","import { ChangeDetectionStrategy, Component, input, output, signal } from '@angular/core';\nimport { IButton } from '@libs-ui/components-buttons-button';\nimport { LibsUiComponentsModalComponent, TYPE_MODAL_EVENT } from '@libs-ui/components-modal';\nimport { IUploadImageConfig } from '../interfaces/quill.interface';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-inputs-quill-upload_image',\n templateUrl: './upload-image.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n LibsUiComponentsModalComponent\n ]\n})\nexport class LibsUiComponentsInputsQuillUploadImageComponent {\n\n protected buttonFooter = signal<Array<IButton>>([\n {\n type: 'button-third',\n label: 'i18n_cancel',\n action: async () => this.outClose.emit()\n },\n {\n label: 'i18n_save',\n action: () => this.handlerSaveImage()\n }]);\n protected disable = signal<boolean>(false);\n\n // private mediaFile =signal<IMediaFile | undefined>(undefined);\n // private mediaUploadFunctionControl =signal<IMediaUploadBaseFunctionControlEvent | undefined>(undefined);\n\n readonly uploadImageConfig = input.required<IUploadImageConfig>();\n\n readonly outClose = output<string | void>();\n\n // protected handlerFunctionsControl(event: IMediaUploadBaseFunctionControlEvent) {\n // this.mediaUploadFunctionControl.set(event);\n // }\n\n // protected handlerChangeFile(event: IChangeFile) {\n // this.mediaFile.set(event.files[0]);\n // }\n\n private async handlerSaveImage() {\n // if (!await this.mediaUploadFunctionControl()?.valid()) {\n // return;\n // }\n // if (this.mediaFile?.origin_url) {\n // this.moClose.emit(this.mediaFile.origin_url);\n\n // return;\n // }\n // const body: IOptionsUploadMedia = {\n // do_not_delete: true,\n // file: this.mediaFile?.file,\n // option: 'thumb',\n // size: [{ 'width': '200', 'height': '200' }]\n // };\n\n // this.disable = true;\n // try {\n // const params = new HttpParamsRequest({ fromObject: { pem: BUILD_PEM_OBJECT({ isCheck: 0, action: DefineConstants.PERMISSION_ACTION_VIEW, pathCheck: '/other' }) } });\n // const res = await this.mediaService.uploadImage(params, body);\n\n // this.moClose.emit(res.data?.url);\n // } catch (error) {\n // console.log(error);\n\n // this.pushMessageService.showCompTypeText('i18n_notification_manipulation_not_success', undefined, undefined, { timeRemove: 2000, type: 'error' });\n // this.moClose.emit();\n // } finally {\n // this.disable = false;\n // }\n }\n\n protected handlerEventModal(event: TYPE_MODAL_EVENT) {\n if (event === 'close') {\n this.outClose.emit();\n }\n }\n}\n","<libs_ui-components-modal [title]=\"'i18n_download_image'\"\n [mode]=\"'center'\"\n [width]=\"'598px'\"\n [headerConfig]=\"{ignoreHeaderTheme:true}\"\n [maxHeight]=\"'calc(100% - 100px)'\"\n [height]=\"'auto'\"\n [zIndex]=\"uploadImageConfig().zIndex || 1203\"\n [disable]=\"disable()\"\n [buttonsFooter]=\"buttonFooter()\"\n (outEvent)=\"handlerEventModal($event)\">\n <div class=\"libs-ui-modal-body-custom\">\n <!-- <mo-libs-shared-components-media-upload [zIndex]=\"zIndex+1\"\n [labelConfig]=\"labelConfig\"\n [multiple]=\"false\"\n [fileType]=\"'image'\"\n [doNotDelete]=\"true\"\n [maxImageSize]=\"maxImageSize || 1048576\"\n [limitFile]=\"10\"\n [validRequired]=\"{isRequired: true}\"\n (moChangeFile)=\"handlerChangeFile($event)\"\n (moFunctionsControl)=\"handlerFunctionsControl($event)\">\n </mo-libs-shared-components-media-upload> -->\n </div>\n</libs_ui-components-modal>\n","import { signal } from '@angular/core';\nimport { IListConfigItem } from '@libs-ui/components-list';\nimport { returnListObject } from '@libs-ui/services-http-request';\nimport { ILink, IToolbarConfig, IUploadImageConfig } from '../interfaces/quill.interface';\nimport { convertFileToBase64 } from '@libs-ui/utils';\n\nexport const listDataAlign = () => {\n return [\n { key: '', icon: 'libs-ui-icon-align-left text-[#6a7383] text-[16px] hover:text-[var(--libs-ui-color-light-1)]' },\n { key: 'right', icon: 'libs-ui-icon-align-right text-[#6a7383] text-[16px] hover:text-[var(--libs-ui-color-light-1)]' },\n { key: 'center', icon: 'libs-ui-icon-align-center text-[#6a7383] text-[16px] hover:text-[var(--libs-ui-color-light-1)]' },\n { key: 'justify', icon: 'libs-ui-icon-align-justify text-[#6a7383] text-[16px] hover:text-[var(--libs-ui-color-light-1)]' },\n ];\n};\n\nexport const listFont = () => {\n return [\n { key: '', label: 'Sans Serif' },\n { key: 'serif', label: 'Serif' },\n { key: 'monospace', label: 'Monospace' },\n ];\n};\n\nexport const listConfigAlign = (): IListConfigItem => {\n return {\n type: 'text',\n autoSelectFirstItem: true,\n httpRequestData: signal({\n serviceOther: returnListObject(listDataAlign()),\n functionName: 'list',\n argumentsValue: []\n }),\n configTemplateText: signal({\n fieldKey: 'key',\n getClassItem: () => '!px-[8px] !py-[4px]',\n getValue: item => `<i class='flex ${item.icon}'></i>`,\n ignoreIconSelected: true\n })\n };\n};\n\nexport const listConfigFont = (): IListConfigItem => {\n return {\n type: 'text',\n autoSelectFirstItem: true,\n httpRequestData: signal({\n serviceOther: returnListObject(listFont()),\n functionName: 'list',\n argumentsValue: []\n }),\n configTemplateText: signal({\n fieldKey: 'key',\n getValue: item => item.label,\n ignoreIconSelected: true\n })\n };\n};\n\nexport const toolBarOptionDefault = (): Array<IToolbarConfig> => {\n return [\n {\n type: 'undo',\n classInclude: 'mr-[8px]'\n },\n {\n type: 'redo'\n },\n {\n type: 'line'\n },\n {\n type: 'fontFamily',\n classInclude: 'ml-[8px] mr-[2px]'\n },\n {\n type: 'fontSize',\n classInclude: 'ml-[2px] mr-[8px]'\n },\n {\n type: 'line'\n },\n {\n type: 'color'\n },\n {\n type: 'background'\n },\n {\n type: 'line'\n },\n {\n type: 'bold'\n },\n {\n type: 'italic'\n },\n {\n type: 'underline'\n },\n {\n type: 'strikeThrough'\n },\n {\n type: 'line'\n },\n {\n type: 'adjust'\n },\n {\n type: 'line'\n },\n {\n type: 'indentIncrease'\n },\n {\n type: 'indentDecrease'\n },\n {\n type: 'listBulleted'\n },\n {\n type: 'listNumbered'\n },\n {\n type: 'line'\n },\n {\n type: 'personalize'\n },\n {\n type: 'blockquote'\n },\n {\n type: 'link'\n },\n {\n type: 'unLink'\n },\n {\n type: 'image'\n },\n {\n type: 'emoji',\n classInclude: 'ml-[8px]'\n }\n ];\n}\n\nexport const iconList = (): Array<{ key: string, icon: string }> => {\n return [\n {\n key: 'bold',\n icon: 'libs-ui-icon-editor-bold',\n },\n {\n key: 'italic',\n icon: 'libs-ui-icon-editor-italic',\n },\n {\n key: 'underline',\n icon: 'libs-ui-icon-editor-underlined',\n },\n {\n key: 'image',\n icon: 'libs-ui-icon-image-solid'\n },\n {\n key: 'link',\n icon: 'libs-ui-icon-link'\n },\n {\n key: 'undo',\n icon: 'libs-ui-icon-undo'\n },\n {\n key: 'redo',\n icon: 'libs-ui-icon-undo scale-x-[-1]'\n },\n {\n key: 'strike',\n icon: 'libs-ui-icon-editor-strike-through'\n },\n {\n key: 'blockquote',\n icon: 'libs-ui-icon-quote'\n },\n {\n key: 'ordered',\n icon: 'libs-ui-icon-list-numbered'\n },\n {\n key: 'bullet',\n icon: 'libs-ui-icon-list-bulleted'\n },\n {\n key: 'background',\n icon: 'libs-ui-icon-editor-color-background'\n },\n {\n key: 'color',\n icon: 'libs-ui-icon-editor-color-text'\n },\n {\n key: \"indent.-1\",\n icon: 'libs-ui-icon-indent-decrease'\n },\n {\n key: \"indent.+1\",\n icon: 'libs-ui-icon-indent-increase'\n },\n {\n key: \"align.\",\n icon: 'align-quill libs-ui-icon-align-left'\n },\n {\n key: \"align.center\",\n icon: 'align-quill libs-ui-icon-align-center'\n },\n {\n key: \"align.right\",\n icon: 'align-quill libs-ui-icon-align-right'\n },\n {\n key: \"align.justify\",\n icon: 'align-quill libs-ui-icon-align-justify'\n },\n {\n key: 'unLink',\n icon: 'libs-ui-icon-link-broken'\n },\n {\n key: 'emoji',\n icon: 'libs-ui-icon-face-smile'\n }\n ];\n}\n\nexport const uploadImageConfigDefault = (): IUploadImageConfig => {\n return {\n modeCustom: true,\n zIndex: 1202,\n showIcon: true,\n onlyAcceptImageHttpsLink: false,\n functionUploadImage: async (links) => {\n const data = [];\n for (const element of links) {\n data.push(await convertFileToBase64(element))\n }\n return data;\n }\n }\n}\n\nexport const linkDefault = (): ILink => {\n return {\n title: '',\n url: '',\n range: {\n index: 0,\n length: 0\n }\n };\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ComponentRef, computed, ElementRef, inject, input, model, OnDestroy, OnInit, output, signal, TemplateRef, viewChild, viewChildren } from '@angular/core';\nimport { LibsUiComponentsButtonsButtonComponent } from '@libs-ui/components-buttons-button';\nimport { LibsUiComponentsButtonsSelectColorComponent } from '@libs-ui/components-buttons-select-color';\nimport { IEmitSelectKey, LibsUiComponentsDropdownComponent } from '@libs-ui/components-dropdown';\nimport { LibsUiComponentsEmojiComponent } from '@libs-ui/components-inputs-emoji';\nimport { IMentionConfig, IMentionInsert, LibsUiComponentsInputsMentionDirective } from '@libs-ui/components-inputs-mention';\nimport { IValidLength, IValidRequired, LibsUiComponentsInputsValidComponent } from '@libs-ui/components-inputs-valid';\nimport { ILabel, LibsUiComponentsLabelComponent } from '@libs-ui/components-label';\nimport { IListConfigItem } from '@libs-ui/components-list';\nimport { IPopoverFunctionControlEvent, LibsUiComponentsPopoverComponent, TYPE_POPOVER_EVENT } from '@libs-ui/components-popover';\nimport { TYPE_TEMPLATE_REF } from '@libs-ui/interfaces-types';\nimport { LibsUiDynamicComponentService } from '@libs-ui/services-dynamic-component';\nimport { ERROR_MESSAGE_EMPTY_VALID, ERROR_MESSAGE_MAX_LENGTH, ERROR_MESSAGE_MIN_LENGTH, get, isNil, patternUrl, set, xssFilter } from '@libs-ui/utils';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport Quill, { RangeStatic, Sources, StringMap } from 'quill';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport { indentStyle } from './indent-attributor/indent-attributor.component';\nimport { ILink, IQuillFunctionControlEvent, IToolbarConfig, IUploadImageConfig } from './interfaces/quill.interface';\nimport { LibsUiComponentsInputsQuillLinkComponent } from './link/link.component';\nimport { QuillMentionBlot } from './mention/mention.component';\nimport { LibsUiComponentsInputsQuillUploadImageComponent } from './upload-image/upload-image.component';\nimport { iconList, linkDefault, listConfigAlign, listConfigFont, listFont, toolBarOptionDefault, uploadImageConfigDefault } from './utils/quill.define';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-inputs-quill',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './quill.component.html',\n styleUrl: './quill.component.scss',\n imports: [\n TranslateModule, NgTemplateOutlet, LibsUiComponentsInputsMentionDirective,\n LibsUiComponentsLabelComponent, LibsUiComponentsDropdownComponent,\n LibsUiComponentsPopoverComponent, LibsUiComponentsButtonsSelectColorComponent,\n LibsUiComponentsInputsValidComponent, LibsUiComponentsEmojiComponent,\n LibsUiComponentsButtonsButtonComponent\n ]\n})\nexport class LibsUiComponentsInputsQuillComponent implements OnInit, AfterViewInit, OnDestroy {\n\n protected messageError = signal<string>('');\n protected display = signal<boolean>(false);\n protected listConfigAlign = signal<IListConfigItem>(listConfigAlign());\n protected alignSelected = signal<IEmitSelectKey | undefined>(undefined);\n protected iconAlignSelectedComputed = computed(() => get(this.alignSelected(), 'item.icon'));\n protected listConfigFont = signal<IListConfigItem>(listConfigFont());\n protected fontSelected = signal<IEmitSelectKey | undefined>(undefined);\n protected labelFontSelectedComputed = computed(() => get(this.fontSelected(), 'item.label') || 'Sans Serif');\n protected size = signal<{ value: number }>({ value: 14 });\n protected itemHiddenExpand = signal<Array<number>>([]);\n protected itemHidden = signal<Array<number>>([]);\n protected showMoreAction = signal<boolean>(false);\n protected link = signal<ILink>(linkDefault());\n\n private popoverFunctionControl = signal<IPopoverFunctionControlEvent | undefined>(undefined);\n private quill = signal<Quill | undefined>(undefined);\n private handlers = signal<Record<string, (...params: Array<unknown>) => void>>({ undo: this.handleUndo.bind(this), redo: this.handleRedo.bind(this) });\n private showMention = signal<boolean>(false);\n private addEditLinkComponentRef = signal<ComponentRef<LibsUiComponentsInputsQuillLinkComponent> | undefined>(undefined);\n private uploadImageComponentRef = signal<ComponentRef<LibsUiComponentsInputsQuillUploadImageComponent> | undefined>(undefined);\n private dynamicComponentService = inject(LibsUiDynamicComponentService);\n private translate = inject(TranslateService);\n private onDestroy = new Subject<void>();\n\n readonly optionsToolbar = input<Array<IToolbarConfig>, Array<IToolbarConfig> | undefined>(toolBarOptionDefault(), { transform: value => value || toolBarOptionDefault() });\n readonly showToolBar = input<boolean>();\n readonly classIncludeToolbar = input<string>('bottom-[-66px] left-[18px]');\n readonly placeholder = input<string, string | undefined>('i18n_import_content', { transform: (value) => value || 'i18n_import_content' });\n readonly label = input<ILabel | undefined>();\n readonly item = model<Record<string, unknown>>();\n readonly fieldNameBind = input<string>('value');\n readonly readonly = input<boolean>();\n readonly showErrorLabel = input<boolean>(true);\n readonly showErrorBorder = input<boolean>(false);\n readonly onlyShowErrorBorderInContent = input<boolean>(false);\n readonly classIncludeTemplate = input<string>();\n readonly classInclude = input<string>();\n readonly handlersExpand = input<Array<{ title: string, action: () => void }>>();\n readonly validRequired = input<IValidRequired>();\n readonly validMinLength = input<IValidLength>();\n readonly validMaxLength = input<IValidLength>();\n readonly onlyShowContent = input<boolean>(false);\n readonly zIndex = input<number, number | undefined>(1201, { transform: (value) => value || 1201 });\n readonly dataConfigMention = input<IMentionConfig>();\n readonly heightAuto = input<boolean>();\n readonly autoFocus = input<boolean>();\n readonly autoFocusBottom = input<boolean>();\n readonly templateToolBarPersonalize = input<TemplateRef<TYPE_TEMPLATE_REF>>();\n readonly template = input<TemplateRef<TYPE_TEMPLATE_REF>>();\n readonly uploadImageConfig = input<IUploadImageConfig, IUploadImageConfig | undefined>(uploadImageConfigDefault(), { transform: (value) => value || uploadImageConfigDefault() });\n\n readonly outMessageError = output<string>();\n readonly outBlur = output<void>();\n readonly outFocus = output<void>();\n readonly outChange = output<string>();\n readonly outFunctionsControl = output<IQuillFunctionControlEvent>();\n readonly outSelectionChange = output<boolean>();\n\n readonly wrapperEditorEl = viewChild<ElementRef>('wrapperEditor');\n readonly editorEl = viewChild<ElementRef>('editor');\n readonly quillOptionEl = viewChild<ElementRef>('quillOption');\n readonly quillEditorEl = viewChild<ElementRef>('quillEditor');\n readonly quillToolbarEl = viewChild<ElementRef>('quillToolbar');\n readonly toolbarItemsEl = viewChild<ElementRef>('toolbarItems');\n readonly itemsEl = viewChildren<ElementRef>('item');\n\n ngOnInit() {\n this.outFunctionsControl.emit({\n checkIsValid: this.validate.bind(this),\n setContent: this.setContent.bind(this),\n insertText: this.insertText.bind(this),\n insertLink: this.insertLink.bind(this),\n insertHtml: this.insertHtml.bind(this),\n setFontSize: this.setFontSize.bind(this),\n setColor: this.setColor.bind(this),\n setBackground: this.setBackground.bind(this)\n });\n }\n\n ngAfterViewInit(): void {\n this.calculatorToolbar();\n if (this.autoFocus()) {\n this.display.set(true);\n }\n this.setHandlerFunction();\n this.initQuill();\n if (!this.autoFocus()) {\n setTimeout(() => this.display.set(true), 200);\n }\n this.setClassIncludeAndReadOnly();\n this.setContent(get(this.item(), this.fieldNameBind(), ''));\n this.handlerTextChange();\n this.handlerSelectionChange();\n this.handlerPaste();\n if (this.autoFocus()) {\n this.quill()?.focus();\n }\n fromEvent(window, 'resize').pipe(takeUntil(this.onDestroy)).subscribe(this.calculatorToolbar.bind(this));\n }\n\n private initQuill() {\n const size = Quill.import('attributors/style/size');\n const image = Quill.import('formats/image');\n const parchment = Quill.import('parchment');\n const alignStyle = Quill.import('attributors/style/align');\n const icons = Quill.import('ui/icons');\n const block = parchment.query('block');\n const italic = Quill.import('formats/italic');\n const bold = Quill.import('formats/bold');\n size.whitelist = ['8px', '9px', '10px', '11px', '12px', '13px', '14px', '15px', '16px', '17px', '18px', '19px', '20px', '21px', '22px', '23px', '24px', '25px', '26px', '27px', '28px', '29px', '30px', '31px', '32px', '33px', '34px', '35px', '36px', '37px', '38px', '39px', '40px', '41px', '42px', '43px', '44px', '45px', '46px', '47px', '48px', '49px', '50px', '51px', '52px', '53px', '54px', '55px', '56px', '57px', '58px', '59px', '60px', '61px', '62px', '63px', '64px', '65px', '66px', '67px', '68px', '69px', '70px', '71px', '72px'];\n image.className = 'libs-ui-quill-format-image';\n block.tagName = 'DIV';\n italic.tagName = 'i';\n bold.tagName = 'B';\n Quill.register(bold, true);\n Quill.register(italic, true);\n Quill.register(size, true);\n Quill.register(image, true);\n Quill.register(block, true);\n Quill.register(alignStyle, true);\n Quill.register(QuillMentionBlot, true);\n Quill.register({ 'formats/indent': indentStyle }, true);\n iconList().forEach(element => set(icons, element.key, `<span class=\"${element.icon} hover:text-[var(--libs-ui-color-light-1)] text-[16px] text-[#6a7383]\"></span>`));\n this.quill.set(new Quill(this.quillEditorEl()?.nativeElement, {\n modules: {\n toolbar: {\n container: this.onlyShowContent() && this.quillToolbarEl() ? this.quillToolbarEl()?.nativeElement : this.quillOptionEl()?.nativeElement,\n handlers: this.handlers()\n },\n clipboard: {\n matchVisual: false\n },\n history: {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n },\n keyboard: {\n bindings: {\n enter: {\n key: 13,\n handler: () => this.showMention() ? false : true\n }\n }\n }\n },\n readOnly: this.readonly(),\n placeholder: this.translate.instant(this.placeholder()),\n theme: 'snow',\n bounds: this.heightAuto() ? this.wrapperEditorEl()?.nativeElement : this.quillEditorEl()?.nativeElement,\n scrollingContainer: this.heightAuto() ? this.wrapperEditorEl()?.nativeElement : null\n }));\n }\n\n private setHandlerFunction() {\n if (this.uploadImageConfig().modeCustom) {\n this.handlers.update(item => ({ ...item, image: this.handlerShowUploadImage.bind(this), emoji: () => { return } }));\n }\n let link = false;\n const handlersExpand = this.handlersExpand();\n if (handlersExpand && handlersExpand.length) {\n handlersExpand.forEach(element => {\n if (element.title && element.action) {\n if (element.title === 'link') {\n link = true;\n }\n this.handlers.update(item => ({ ...item, [element.title]: element.action }));\n }\n });\n }\n if (!link) {\n this.handlers.update(item => ({ ...item, link: this.handleShowUploadLink.bind(this), unLink: this.handlerUnInsertLink.bind(this) }));\n }\n }\n\n private setClassIncludeAndReadOnly() {\n const editorEl = this.editorEl();\n const classInclude = this.classInclude();\n const readonly = this.readonly();\n if (editorEl) {\n if (classInclude || readonly) {\n for (const elementNode of editorEl.nativeElement.lastElementChild.children) {\n if (!elementNode.className.includes('ql-editor')) {\n continue;\n }\n if (classInclude) {\n elementNode.classList.add(classInclude);\n }\n if (readonly) {\n elementNode.classList.add('!bg-[#f8f9fa]');\n }\n }\n }\n if (readonly) {\n for (const elementNode of editorEl.nativeElement.children) {\n if (elementNode.className.includes('ql-toolbar')) {\n elementNode.classList.add('pointer-events-none');\n }\n }\n }\n }\n }\n\n private adjustIndexForImages(index: number) {\n const content = this.quill()?.root;\n let imageCount = 0;\n let adjustedIndex = 0;\n const adjustTextIndex = (node: Node) => {\n if (adjustedIndex > index) {\n return;\n }\n if (node.nodeType === Node.TEXT_NODE) {\n adjustedIndex += node.textContent?.length || 0;\n return;\n }\n if (node.nodeType === Node.ELEMENT_NODE && node.nodeName === 'IMG') {\n if (adjustedIndex <= index) {\n imageCount++;\n }\n return;\n }\n if (node.nodeType === Node.ELEMENT_NODE) {\n Array.from(node.childNodes).forEach(adjustTextIndex);\n }\n };\n adjustTextIndex(content as Node);\n return imageCount;\n };\n\n\n private handlerSelectionChange() {\n this.quill()?.on('selection-change', (range: RangeStatic, oldRange: RangeStatic, source: Sources) => {\n if (this.readonly()) {\n return;\n }\n if (range === null && oldRange !== null) {\n this.outBlur.emit();\n return;\n }\n if (range !== null && oldRange === null) {\n this.outFocus.emit();\n return;\n }\n const format = this.quill()?.getFormat();\n if (format) {\n this.getFont(format);\n this.getFontSize(format);\n }\n this.outSelectionChange.emit(range.length ? true : false);\n if (range.length === 0 && format?.link && source === 'user') {\n const selection = document.getSelection();\n const anchorNode = selection?.anchorNode;\n let linkNode = anchorNode as HTMLAnchorElement;\n while (linkNode && linkNode.tagName !== 'A') {\n linkNode = linkNode.parentNode as HTMLAnchorElement;\n }\n if (linkNode && linkNode.tagName === 'A') {\n const linkText = linkNode.innerText;\n const linksIndices: Array<number> = [];\n let indexReturn: number | undefined = -1;\n while (!isNil(indexReturn) && indexReturn < range.index) {\n const textContent = this.quill()?.getText();\n const linkIndex = textContent?.indexOf(linkText, linksIndices.length > 0 ? linksIndices[linksIndices.length - 1] + linkText.length : 0);\n if (!isNil(linkIndex)) {\n if (linkIndex !== -1) {\n linksIndices.push(linkIndex);\n indexReturn = linkIndex + linkText.length;\n }\n if (linkIndex === -1) {\n indexReturn = undefined;\n }\n }\n }\n if (linksIndices && linksIndices.length) {\n const rangeIndex = linksIndices[linksIndices.length - 1];\n const countImage = this.adjustIndexForImages(rangeIndex)\n setTimeout(() => {\n this.link.set({\n title: linkText,\n url: linkNode.href,\n range: {\n index: rangeIndex + countImage,\n length: linkText.length\n }\n })\n this.popoverFunctionControl()?.showPopover(linkNode)\n }, 250);\n }\n }\n }\n });\n }\n\n private handlerPaste() {\n set(this.quill, 'root.onpaste', async (event: ClipboardEvent) => {\n if (!event || !event.clipboardData) {\n return;\n }\n const files = event.clipboardData.files;\n if (!files.length) {\n return;\n }\n event.preventDefault();\n const images: Array<File> = [];\n Array.from(files).forEach((file) => {\n if (file && file.type.split('/')[0] === 'image') {\n images.push(file);\n }\n });\n const links = await this.uploadImageConfig().functionUploadImage?.(images);\n if (links && links.length) {\n links.forEach(link => {\n if (!link || (this.uploadImageConfig().onlyAcceptImageHttpsLink && (link instanceof ArrayBuffer || !new RegExp(patternUrl()).test(link)))) {\n return;\n }\n this.insertHtml('image', link as string);\n })\n }\n });\n }\n\n private handlerTextChange() {\n this.quill()?.on('text-change', (event) => {\n const html = this.quill()?.root.innerHTML;\n setTimeout(() => {\n if (event?.ops[1]?.insert === '\\n') {\n const range = { index: event?.ops[0].retain as number };\n const currentLeaf = this.quill()?.getLeaf(range.index)[0];\n const nextLeaf = this.quill()?.getLeaf(range.index + 1)[0];\n this.quill()?.insertEmbed(range.index, 'break', true, 'user');\n if (nextLeaf === null || currentLeaf.parent !== nextLeaf.parent) {\n this.quill()?.insertEmbed(range.index, 'break', true, 'user');\n }\n this.setSelection((range.index || 0) + 1, 0, Quill.sources.SILENT);\n }\n });\n if (html === '<div><br></div>' || html === '<div style=\"text-align: justify;\"><br></div>' || !this.quill()?.getText()) {\n set(this.item(), this.fieldNameBind(), '');\n this.validate();\n this.outChange.emit(get(this.item(), this.fieldNameBind()));\n return;\n }\n this.convertInnerHTML();\n this.validate();\n this.outChange.emit(get(this.item(), this.fieldNameBind()));\n });\n }\n\n protected handlerPopoverFunctionControl(event: IPopoverFunctionControlEvent) {\n this.popoverFunctionControl.set(event);\n }\n\n protected handlerPopoverEvent(event: TYPE_POPOVER_EVENT) {\n if (event === 'remove') {\n this.link.set(linkDefault());\n }\n }\n\n protected handlerUnlink(event: Event) {\n event.stopPropagation();\n const link = this.link();\n this.quill()?.formatText(link.range.index, link.range.length, { link: false });\n this.popoverFunctionControl()?.removePopoverOverlay();\n }\n\n protected handlerEdit(event: Event) {\n event.stopPropagation();\n const link = this.link();\n this.handleShowUploadLink(link);\n this.popoverFunctionControl()?.removePopoverOverlay();\n }\n\n private calculatorToolbar() {\n this.itemHidden.set([]);\n this.itemHiddenExpand.set([]);\n setTimeout(() => {\n const toolbarWidth = this.toolbarItemsEl()?.nativeElement.offsetWidth || 0;\n let itemWidth = 28;\n const hiddenItems: Array<number> = [];\n const hiddenItemsExpand: Array<number> = [];\n const itemsHasWidth = this.itemsEl().filter(item => item.nativeElement.offsetWidth);\n for (let index = 0; index < itemsHasWidth.length; index++) {\n const element = itemsHasWidth[index];\n const id = element.nativeElement.id;\n const trueIndex = Number(id.split('_')[1]);\n const type = id.split('_')[0];\n const width = element.nativeElement.offsetWidth || 0;\n itemWidth += width;\n if (type === 'line') {\n const nextElement = itemsHasWidth[index + 1];\n const nextWidth = nextElement?.nativeElement.offsetWidth || 0;\n const nextItemWidth = itemWidth + nextWidth;\n if (nextItemWidth > toolbarWidth) {\n hiddenItemsExpand.push(trueIndex);\n }\n }\n if (itemWidth > toolbarWidth) {\n hiddenItems.push(trueIndex);\n continue;\n }\n }\n this.itemHidden.set(hiddenItems);\n this.itemHiddenExpand.set(hiddenItemsExpand);\n }, 500);\n }\n\n protected setStyle(type: string, data: string | number) {\n this.quill()?.format(type, data);\n }\n\n private getFontSize(format: StringMap) {\n const fontSize = format?.size?.toString()?.replace('px', '');\n if (isNaN(parseFloat(fontSize))) {\n this.size.set({ value: 14 });\n return;\n }\n this.size.set({ value: parseFloat(fontSize) });\n }\n\n private getFont(format: StringMap) {\n const font = listFont().find((item) => item.key === format.font);\n if (!font) {\n this.fontSelected.set({ key: '', item: listFont().find((item) => item.key === '') });\n return;\n }\n this.fontSelected.set({ key: format.font, item: font });\n }\n\n protected handleUndo() {\n this.quill()?.history?.undo();\n }\n\n protected handleRedo() {\n this.quill()?.history?.redo();\n }\n\n protected async setContent(content: string) {\n if (!content) {\n setTimeout(() => set(this.quill, 'root.innerHTML', ''));\n return;\n }\n const contentXssFilter = await xssFilter(content);\n setTimeout(() => set(this.quill, 'root.innerHTML', contentXssFilter));\n if (!this.autoFocusBottom()) {\n return;\n }\n setTimeout(() => {\n this.quill()?.blur();\n const range = document.createRange();\n const sel = window.getSelection();\n const target = this.quillEditorEl()?.nativeElement.querySelector('[contenteditable=\"true\"]');\n const contentScroll = this.heightAuto() ? this.wrapperEditorEl()?.nativeElement : target;\n range.selectNodeContents(target);\n range.collapse(false);\n sel?.removeAllRanges();\n sel?.addRange(range);\n target.focus();\n contentScroll.scrollTop = contentScroll.scrollHeight;\n }, 100);\n }\n\n protected handlerAddEmoji(emoji: unknown) {\n const selection = this.quill()?.getSelection(true).index;\n if (!isNil(selection)) {\n this.quill()?.insertText(selection, emoji as string);\n }\n }\n\n protected handleShowUploadLink(event: unknown) {\n this.addEditLinkComponentRef.set(this.dynamicComponentService.resolveComponentFactory(LibsUiComponentsInputsQuillLinkComponent));\n const instance = this.addEditLinkComponentRef()?.instance;\n const selection = this.quill()?.getSelection();\n const textSelected = selection?.length ? this.quill()?.getText(selection?.index, selection?.length) : '';\n const data = event as ILink | undefined;\n this.addEditLinkComponentRef()?.setInput('zIndex', this.zIndex());\n this.addEditLinkComponentRef()?.setInput('title', data?.title || textSelected);\n this.addEditLinkComponentRef()?.setInput('link', data?.url || '');\n instance?.outSaveLink.subscribe((item: { title: string, link: string }) => {\n if (data instanceof Object && data.url) {\n this.quill()?.deleteText(data.range.index, data.range.length, Quill.sources.USER);\n this.quill()?.insertText(data.range.index, item.title, 'link', item.link);\n return;\n }\n this.insertLink(item.title, item.link);\n });\n instance?.outClose.subscribe(() => this.dynamicComponentService.remove(this.addEditLinkComponentRef()));\n this.dynamicComponentService.addToBody(this.addEditLinkComponentRef());\n }\n\n protected handlerUnInsertLink() {\n const selection = this.quill()?.getSelection(true);\n if (!isNil(selection)) {\n this.quill()?.formatText(selection, 'link', false);\n }\n }\n\n protected async validate() {\n this.messageError.set('');\n const validRequired = this.validRequired();\n const item = this.item();\n const fieldNameBind = this.fieldNameBind();\n const value = get(item, fieldNameBind);\n if (validRequired && validRequired.isRequired && (!fieldNameBind || !value || !value.trim())) {\n this.messageError.set(validRequired.message || ERROR_MESSAGE_EMPTY_VALID);\n this.outMessageError.emit(this.messageError());\n return false;\n }\n const validMinLength = this.validMinLength();\n if (validMinLength && fieldNameBind && value && value.trim().length < validMinLength.length) {\n this.messageError.set(validMinLength.message || ERROR_MESSAGE_MIN_LENGTH);\n this.outMessageError.emit(this.messageError());\n return false;\n }\n const validMaxLength = this.validMaxLength();\n if (validMaxLength && fieldNameBind && value && value.trim().length > this.validMaxLength.length) {\n this.messageError.set(validMaxLength.message || ERROR_MESSAGE_MAX_LENGTH);\n this.outMessageError.emit(this.messageError());\n return false;\n }\n this.outMessageError.emit(this.messageError());\n return true;\n }\n\n protected async insertHtml(tagName: string, content: string, index?: number) {\n const selection = (index || index === 0) ? index : this.quill()?.getSelection(true).index;\n if (!isNil(selection)) {\n this.quill()?.insertEmbed(selection, tagName, content);\n this.setSelection(selection, content.length);\n }\n }\n\n private async insertText(content: string, index?: number) {\n const selection = (index || index === 0) ? index : this.quill()?.getSelection(true).index;\n if (!isNil(selection)) {\n this.quill()?.insertText(selection, content);\n }\n }\n\n private async insertLink(text: string, url: string, index?: number) {\n const selection = this.quill()?.getSelection(true);\n const indexInsert = (index || index === 0) ? index : selection?.index;\n if (selection?.length) {\n this.quill()?.deleteText(selection.index, selection.length, Quill.sources.USER);\n }\n if (!isNil(indexInsert)) {\n this.quill()?.insertText(indexInsert, text, 'link', url);\n }\n }\n\n private convertInnerHTML() {\n this.setStyleForContent();\n set(this.item(), this.fieldNameBind(), this.quill()?.root.innerHTML);\n }\n\n private setStyleForContent() {\n const styleArray = [\n { selector: '.ql-font-Arial', style: 'font-family: Arial' },\n { selector: '.ql-font-sans-serif', style: 'font-family: sans-serif' },\n { selector: '.ql-font-serif', style: 'font-family: serif' },\n { selector: '.ql-font-monospace', style: 'font-family: monospace' },\n { selector: '.ql-font-Helvetica', style: 'font-family: Helvetica' },\n { selector: '.libs-ui-quill-format-image', style: 'max-width: 100%; height: auto' },\n { selector: '.libs-ui-quill-mention', style: 'font-weight: 600;-moz-osx-font-smoothing: grayscale;-webkit-font-smoothing: antialiased; color: #7239EA' },\n { selector: 'blockquote', style: 'border-left: 4px solid #ccc; margin-bottom: 5px; margin-top: 5px; padding-left: 16px' }\n ];\n styleArray.forEach((item) => {\n const elements = this.quill()?.root.querySelectorAll(item.selector);\n elements?.forEach((element) => {\n if (item.selector === '.libs-ui-quill-format-image' || item.selector === '.libs-ui-quill-mention' || item.selector === 'blockquote') {\n element.setAttribute('style', item.style);\n return;\n }\n // Fixbug issue: https://admin-cv.mobio.vn/issues/49092\n let styleExist = element.getAttribute('style');\n if (styleExist) {\n ['font-family: Arial', 'font-family: sans-serif', 'font-family: serif', 'font-family: monospace', 'font-family: Helvetica'].forEach(font => {\n styleExist = (styleExist?.includes(`${font};`) ? styleExist?.replace(`${font};`, '') : styleExist?.replace(font, '')) as string;\n });\n }\n element.setAttribute('style', styleExist ? `${styleExist}${styleExist[styleExist.length - 1] === ';' ? '' : ';'}${item.style};` : item.style);\n });\n });\n }\n\n protected handleToggleMention(show: boolean) {\n this.showMention.set(show);\n }\n\n private handlerShowUploadImage() {\n this.uploadImageComponentRef.set(this.dynamicComponentService.resolveComponentFactory(LibsUiComponentsInputsQuillUploadImageComponent));\n const instance = this.uploadImageComponentRef()?.instance;\n this.uploadImageComponentRef()?.setInput('uploadImageConfig', this.uploadImageConfig());\n instance?.outClose.subscribe((event: string | void) => {\n this.dynamicComponentService.remove(this.uploadImageComponentRef());\n if (event) {\n this.insertHtml('image', event);\n }\n });\n this.dynamicComponentService.addToBody(this.uploadImageComponentRef());\n }\n\n private setSelection(index: number, length: number, sources?: Sources) {\n this.quill()?.setSelection(index, length, sources);\n }\n\n private insertMention(event: IMentionInsert) {\n const range = this.quill()?.getSelection();\n if (!range) {\n return;\n }\n const cursorPos = range.index;\n const startPosInsert = cursorPos - event.lengthKey;\n this.quill()?.deleteText(startPosInsert, event.lengthKey, Quill.sources.USER);\n this.quill()?.insertEmbed(startPosInsert, 'mention', event.data, Quill.sources.USER);\n this.quill()?.insertText(startPosInsert + 1, ' ', Quill.sources.USER);\n this.setSelection(startPosInsert + 2, 0, Quill.sources.USER);\n }\n\n protected handlerInsertMention(data: IMentionInsert) {\n this.insertMention(data);\n }\n\n protected async setFontSize(size: number) {\n this.quill()?.format('size', `${size}px`);\n }\n\n protected async setColor(color: string) {\n this.quill()?.format('color', color);\n }\n\n protected async setBackground(color: string) {\n this.quill()?.format('background', color);\n }\n\n protected handlerValueChange(value: number | string) {\n this.size.update(item => ({ ...item, value: value as number }));\n this.quill()?.format('size', `${this.size().value}px`);\n }\n\n protected handleSelectAlign(event: IEmitSelectKey | undefined) {\n this.alignSelected.set(event);\n this.setStyle('align', event?.key as string);\n }\n\n protected handleSelectFont(event: IEmitSelectKey | undefined) {\n this.fontSelected.set(event);\n this.setStyle('font', event?.key as string);\n }\n\n protected handlerChangeShowMoreAction(event: Event) {\n event.stopPropagation();\n this.showMoreAction.update(item => !item);\n }\n\n ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n this.dynamicComponentService.remove(this.addEditLinkComponentRef());\n this.dynamicComponentService.remove(this.uploadImageComponentRef());\n }\n}\n\n","<div class=\"flex flex-col w-full h-full\">\n @if (label(); as label) {\n <libs_ui-components-label [classInclude]=\"label.classInclude\"\n [required]=\"label.required\"\n [labelLeft]=\"label.labelLeft\" />\n }\n <div #wrapperEditor\n [attr.heightAuto]=\"heightAuto()\"\n [attr.hiddenToolBar]=\"onlyShowContent()\"\n class=\"libs-ui-quill-wrapper w-full h-full relative flex flex-col\"\n [class.libs-ui-border-error-general]=\"messageError() && showErrorBorder() && !onlyShowErrorBorderInContent()\"\n [class.rounded-[4px]]=\"messageError() && showErrorBorder() && !onlyShowErrorBorderInContent()\">\n <div #editor\n class=\"libs-ui-quill\"\n [attr.showError]=\"messageError() && showErrorBorder() && onlyShowErrorBorderInContent()\"\n [class.!hidden]=\"!display()\">\n @if (!onlyShowContent()) {\n <div #quillOption\n class=\"'ql-toolbar ql-snow bg-[#f8f9fa] {{ classIncludeToolbar() }}\">\n <ng-container *ngTemplateOutlet=\"toolbar\"></ng-container>\n </div>\n }\n <div #quillEditor\n LibsUiComponentsInputsMentionDirective\n [mentionConfig]=\"dataConfigMention()\"\n (outToggle)=\"handleToggleMention($event)\"\n (outInsertMention)=\"handlerInsertMention($event)\"></div>\n </div>\n @if (template(); as template) {\n <div [class]=\"classIncludeTemplate()\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n }\n </div>\n @if (messageError() && showErrorLabel()) {\n <div class=\"flex items-center leading-normal mt-[8px]\">\n <span class=\"text-[#ff5454] libs-ui-font-h7r\"> {{ messageError() | translate }}</span>\n </div>\n }\n</div>\n@if (showToolBar()) {\n <div #quillToolbar\n [class]=\"'ql-snow absolute px-[8px] py-[4px] p-0 w-[500px] rounded-[4px] bg-[#ffffff] libs-ui-quill-toolbar-animation ' + classIncludeToolbar()\">\n <ng-container *ngTemplateOutlet=\"toolbar\"></ng-container>\n </div>\n}\n\n<ng-template #toolbar>\n <div class=\"toolbar\"\n #toolbarItems>\n <div class=\"ql-formats items-center\">\n @for (option of optionsToolbar(); track option) {\n <div #item\n [id]=\"option.type+'_'+$index\"\n class=\"items-center\"\n [class.hidden]=\"itemHidden().includes($index) || itemHiddenExpand().includes($index)\"\n [class.flex]=\"!itemHidden().includes($index)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context:{option, $index, $last}\"></ng-container>\n </div>\n }\n <div class=\"relative\">\n @if (itemHidden().length) {\n <libs_ui-components-buttons-button [type]=\"showMoreAction() ? 'button-secondary' : 'button-third'\"\n [iconOnlyType]=\"true\"\n [classInclude]=\"'!p-[1px] !h-[20px] ml-[8px]'\"\n [classIconLeft]=\"'libs-ui-icon-move-right rotate-90'\"\n (outClick)=\"handlerChangeShowMoreAction($event)\" />\n }\n <div [class.hidden]=\"!showMoreAction()\"\n class=\"absolute bg-[#ffffff] top-[10px] shadow-md z-[1] flex items-center pl-[8px] pr-[16px] py-[4px] rounded-[8px] top-[31px] right-[0px]\">\n @for (option of optionsToolbar(); track option) {\n <div class=\"items-center\"\n [class.hidden]=\"!itemHidden().includes($index)\"\n [class.flex]=\"itemHidden().includes($index)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context:{option, $index, $last}\"></ng-container>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n<ng-template #itemTemplate\n let-$index=\"$index\"\n let-$last=\"$last\"\n let-option=\"option\">\n @if (option.type === 'undo') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content: 'i18n_undo', zIndex: 1250}\"\n class=\"ql-undo\"></button>\n </div>\n }\n @if (option.type === 'redo') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content: 'i18n_redo', zIndex: 1250}\"\n class=\"ql-redo\"></button>\n </div>\n }\n @if (option.type === 'fontFamily') {\n <div class=\"relative w-[117px] h-full bg-[#ffffff] rounded-[4px] libs-ui-border-general {{ option.classInclude || 'mx-[8px]' }}\">\n <libs_ui-components-dropdown [isNgContent]=\"true\"\n [labelPopoverFullWidth]=\"true\"\n [listConfig]=\"listConfigFont()\"\n [listHasButtonUnSelectOption]=\"false\"\n [listHiddenInputSearch]=\"true\"\n [listMaxItemShow]=\"8\"\n [zIndex]=\"1250\"\n (outSelectKey)=\"handleSelectFont($event)\">\n @if (fontSelected(); as fontSelected) {\n <div class=\"flex items-center cursor-pointer py-[8px] libs-ui-font-h5r pl-[16px] pr-[40px] {{ option.classInclude || 'mx-[8px]' }}\">\n <libs_ui-components-popover [type]=\"'text'\"\n [ignoreStopPropagationEvent]=\"true\"\n [config]=\"{zIndex:1250}\">\n {{ labelFontSelectedComputed() }}\n </libs_ui-components-popover>\n <i class=\"libs-ui-icon-move-right rotate-90 absolute right-[12px] text-[#6a7383] text-[16px]\"></i>\n </div>\n }\n </libs_ui-components-dropdown>\n </div>\n }\n @if (option.type === 'fontSize') {\n <div class=\"ql-picker {{ option.classInclude || 'mx-[8px]' }}\">\n <libs_ui-components-inputs-valid [dataType]=\"'int'\"\n [(item)]=\"size\"\n [fieldNameBind]=\"'value'\"\n [valueUpDownNumber]=\"1\"\n [maxValueNumber]=\"72\"\n [minValueNumber]=\"8\"\n [readonly]=\"readonly()\"\n [classContainerInput]=\"'w-[72px] h-[32px]'\"\n (outValueChange)=\"handlerValueChange($event)\" />\n </div>\n }\n @if (option.type === 'color') {\n <div class=\"ql-color ql-picker ql-color-picker !flex items-center {{ option.classInclude || 'mx-[8px]' }}\">\n <libs_ui-components-popover [config]=\"{content:'i18n_text_color', zIndex:1250}\">\n <libs_ui-components-buttons-select_color [zIndex]=\"zIndex()\"\n [direction]=\"'top'\"\n [externalContent]=\"true\"\n [applyNow]=\"true\"\n (outColorChange)=\"setStyle('color', $event)\">\n <div class=\"libs-ui-icon-editor-color-text libs-ui-buttons-select-color text-[#6a7383] text-[16px] hover:text-[var(--libs-ui-color-light-1)]\">\n </div>\n </libs_ui-components-buttons-select_color>\n </libs_ui-components-popover>\n </div>\n }\n @if (option.type === 'background') {\n <div class=\"ql-background ql-picker ql-color-picker !flex items-center {{ option.classInclude || 'mx-[8px]' }}\">\n <libs_ui-components-popover [config]=\"{content:'i18n_background_color', zIndex:1250}\">\n <libs_ui-components-buttons-select_color [zIndex]=\"zIndex()\"\n [direction]=\"'top'\"\n [externalContent]=\"true\"\n [applyNow]=\"true\"\n (outColorChange)=\"setStyle('background', $event)\">\n <div class=\"libs-ui-icon-editor-color-background libs-ui-buttons-select-color text-[#6a7383] text-[16px] hover:text-[var(--libs-ui-color-light-1)]\">\n </div>\n </libs_ui-components-buttons-select_color>\n </libs_ui-components-popover>\n </div>\n }\n @if (option.type === 'bold') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_font_weight_bold', zIndex:1250}\"\n class=\"ql-bold\"></button>\n </div>\n }\n @if (option.type === 'italic') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_font_style_italic', zIndex:1250}\"\n class=\"ql-italic\"></button>\n </div>\n }\n @if (option.type === 'underline') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_text_decoration_underline', zIndex:1250}\"\n class=\"ql-underline\"></button>\n </div>\n }\n @if (option.type === 'strikeThrough') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_text_line_through', zIndex:1250}\"\n class=\"ql-strike\"></button>\n </div>\n }\n @if (option.type === 'adjust') {\n <div class=\"relative !flex items-center ql-align ql-picker ql-icon-picker !w-max {{ option.classInclude || 'mx-[8px]' }}\">\n <libs_ui-components-popover [config]=\"{content:'i18n_adjust', zIndex:1250}\">\n <libs_ui-components-dropdown [isNgContent]=\"true\"\n [ignoreStopPropagationEvent]=\"true\"\n [labelPopoverFullWidth]=\"true\"\n [listConfig]=\"listConfigAlign()\"\n [listHiddenInputSearch]=\"true\"\n [popoverCustomConfig]=\"{ignoreArrow: true, classInclude: '!w-[32px] overflow-hidden !py-[4px]', position: {mode: 'start', distance: 0}, paddingLeftItem: false}\"\n [listHasButtonUnSelectOption]=\"false\"\n [listMaxItemShow]=\"8\"\n [zIndex]=\"1250\"\n (outSelectKey)=\"handleSelectAlign($event)\">\n @if (alignSelected(); as alignSelected) {\n <div class=\"flex items-center cursor-pointer\">\n <i [class]=\"iconAlignSelectedComputed()\"></i>\n <i class=\"libs-ui-icon-move-right rotate-90 text-[#6a7383] text-[16px] ml-[4px]\"></i>\n </div>\n }\n </libs_ui-components-dropdown>\n </libs_ui-components-popover>\n </div>\n }\n @if (option.type === 'indentIncrease') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_indent_increase', zIndex:1250}\"\n class=\"ql-indent\"\n value=\"+1\"></button>\n </div>\n }\n @if (option.type === 'indentDecrease') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_indent_decrease', zIndex:1250}\"\n class=\"ql-indent\"\n value=\"-1\"></button>\n </div>\n }\n @if (option.type === 'listBulleted') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_list_bulleted', zIndex:1250}\"\n class=\"ql-list ql-bullet\"\n value=\"bullet\"></button>\n </div>\n }\n @if (option.type === 'listNumbered') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_list_numbered', zIndex:1250}\"\n class=\"ql-list ql-ordered\"\n value=\"ordered\"></button>\n </div>\n }\n @if (option.type === 'personalize' && templateToolBarPersonalize(); as templateToolBarPersonalize) {\n <div class=\"flex items-center {{ option.classInclude || 'mx-[8px]' }}\">\n <ng-container *ngTemplateOutlet=\"templateToolBarPersonalize\"></ng-container>\n </div>\n }\n @if (option.type === 'blockquote') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_quote', zIndex:1250}\"\n class=\"ql-blockquote\"></button>\n </div>\n }\n @if (option.type === 'link') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_insert_link', zIndex:1250}\"\n class=\"ql-link\"></button>\n </div>\n }\n @if (option.type === 'unLink') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_unlink', zIndex:1250}\"\n class=\"ql-unLink\"></button>\n </div>\n }\n @if (option.type === 'image' && uploadImageConfig().showIcon) {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_image', zIndex:1250}\"\n class=\"ql-image\"></button>\n </div>\n }\n @if (option.type === 'emoji') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <libs_ui-components-emoji [zIndex]=\"1250\"\n [isNgContent]=\"true\"\n (outEventEmoji)=\"handlerAddEmoji($event)\">\n <button class=\"ql-emoji\"></button>\n </libs_ui-components-emoji>\n </div>\n }\n @if (option.type === 'line') {\n <div class=\"w-[1px] h-[16px] libs-ui-border-right-general\"></div>\n }\n</ng-template>\n\n<libs_ui-components-popover [mode]=\"'click'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"true\"\n [config]=\"{template: viewLink, whiteTheme: true, ignoreArrow: true}\"\n (outEvent)=\"handlerPopoverEvent($event)\"\n (outFunctionsControl)=\"handlerPopoverFunctionControl($event)\" />\n\n<ng-template #viewLink>\n <div class=\"flex justify-between items-center px-[16px] py-[8px] rounded-[8px]\">\n <div class=\"w-full min-w-0 libs-ui-font-h5r\"\n [type]=\"'text'\"\n LibsUiComponentsPopoverDirective>{{ link().url }}</div>\n <div class=\"flex items-center ml-[16px]\">\n <libs_ui-components-buttons-button [type]=\"'button-link-primary'\"\n [iconOnlyType]=\"true\"\n [classIconLeft]=\"'libs-ui-icon-edit-line'\"\n [classInclude]=\"'!p-0'\"\n (outClick)=\"handlerEdit($event)\" />\n <libs_ui-components-buttons-button [type]=\"'button-link-custom'\"\n [buttonCustom]=\"{\n configStepColor: {\n text: '#071631',\n text_hover: '#ee2d41',\n text_active: '#ee2d41',\n text_disable: '071631'\n },\n rootColor: '#071631'\n }\"\n [classInclude]=\"'!p-0 ml-[12px]'\"\n [iconOnlyType]=\"true\"\n [classIconLeft]=\"'libs-ui-icon-link-broken'\"\n (outClick)=\"handlerUnlink($event)\" />\n </div>\n </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libs-ui-components-inputs-quill.mjs","sources":["../../../../../../libs-ui/components/inputs/quill/src/indent-attributor/indent-attributor.component.ts","../../../../../../libs-ui/components/inputs/quill/src/link/link.component.ts","../../../../../../libs-ui/components/inputs/quill/src/link/link.component.html","../../../../../../libs-ui/components/inputs/quill/src/mention/mention.component.ts","../../../../../../libs-ui/components/inputs/quill/src/upload-image/upload-image.component.ts","../../../../../../libs-ui/components/inputs/quill/src/upload-image/upload-image.component.html","../../../../../../libs-ui/components/inputs/quill/src/utils/quill.define.ts","../../../../../../libs-ui/components/inputs/quill/src/quill.component.ts","../../../../../../libs-ui/components/inputs/quill/src/quill.component.html","../../../../../../libs-ui/components/inputs/quill/src/libs-ui-components-inputs-quill.ts"],"sourcesContent":["import Quill from \"quill\";\n\nconst parchment = Quill.import('parchment');\nconst pixelLevels = [1, 2, 3, 4, 5, 6, 7, 8];\nconst tabMultiplier = 3;\n\nclass IndentAttributor extends (parchment.Attributor.Style as {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n new(formatName: string, styleProperty: string, attributorOptions: unknown): any;\n}) {\n constructor(formatName: string, styleProperty: string, attributorOptions: unknown) {\n super(formatName, styleProperty, attributorOptions);\n }\n\n public add(node: HTMLElement, value: string): boolean {\n return super.add(node, `${+value * tabMultiplier}em`);\n }\n\n public value(node: HTMLElement): number | undefined {\n return parseFloat(super.value(node)) / tabMultiplier || undefined; // Don't return NaN\n }\n}\n\nexport const indentStyle = new IndentAttributor('indent', 'margin-left', {\n scope: parchment.Scope.BLOCK,\n whitelist: pixelLevels.map(value => `${value * tabMultiplier}em`),\n});","import { ChangeDetectionStrategy, Component, input, OnInit, output, signal } from '@angular/core';\nimport { IInputValidFunctionControlEvent, LibsUiComponentsInputsValidComponent } from '@libs-ui/components-inputs-valid';\nimport { LibsUiComponentsModalComponent, TYPE_MODAL_EVENT } from '@libs-ui/components-modal';\nimport { patternUrl } from '@libs-ui/utils';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-inputs-quill-link',\n templateUrl: './link.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n LibsUiComponentsModalComponent,\n LibsUiComponentsInputsValidComponent\n ]\n})\nexport class LibsUiComponentsInputsQuillLinkComponent implements OnInit {\n\n protected dataLink = signal<{ title: string, link: string }>({ title: '', link: '' });\n protected patternLink = signal<RegExp>(patternUrl());\n\n private inputValidFunctionControl = signal<Array<IInputValidFunctionControlEvent>>([]);\n\n readonly zIndex = input<number>(1200);\n readonly title = input<string>();\n readonly link = input<string>();\n\n readonly outClose = output<void>();\n readonly outSaveLink = output<{ title: string, link: string }>();\n\n ngOnInit() {\n const title = this.title();\n const link = this.link();\n if (title || link) {\n this.dataLink.update(item => ({ ...item, title: title || '', link: link || '' }));\n }\n }\n\n protected async handlerFunctionsControl(event: IInputValidFunctionControlEvent) {\n this.inputValidFunctionControl.update(items => [...items, event]);\n }\n\n private async validate() {\n let valid = true;\n for (const control of this.inputValidFunctionControl()) {\n if (!(await control.checkIsValid())) {\n valid = false;\n }\n }\n return valid;\n }\n\n protected async handlerEvent(event: TYPE_MODAL_EVENT) {\n if (event !== 'agree') {\n this.outClose.emit();\n return;\n }\n if (await this.validate()) {\n this.outSaveLink.emit(this.dataLink());\n this.outClose.emit();\n }\n }\n\n}\n","<libs_ui-components-modal [title]=\"'i18n_insert_link'\"\n [mode]=\"'center'\"\n [height]=\"'auto'\"\n [width]=\"'598px'\"\n [headerConfig]=\"{ignoreHeaderTheme: true}\"\n [zIndex]=\"zIndex()\"\n (outEvent)=\"handlerEvent($event)\">\n <div class=\"libs-ui-modal-body-custom\">\n <libs_ui-components-inputs-valid [labelConfig]=\"{labelLeft: 'i18n_content', required: true}\"\n [(item)]=\"dataLink\"\n [fieldNameBind]=\"'title'\"\n [placeholder]=\"'i18n_import_content'\"\n [validRequired]=\"{isRequired: true}\"\n (outFunctionsControl)=\"handlerFunctionsControl($event)\" />\n <div class=\"mt-[16px]\">\n <libs_ui-components-inputs-valid [labelConfig]=\"{labelLeft: 'Link', required: true}\"\n [(item)]=\"dataLink\"\n [fieldNameBind]=\"'link'\"\n [placeholder]=\"'https:/…'\"\n [validRequired]=\"{isRequired: true}\"\n [validPattern]=\"[{pattern: patternLink(), valuePatternShowError: false}]\"\n [keySelectedUnitLeft]=\"'1'\"\n [unitsLeft]=\"[{id:'1',label:'URL'}]\"\n (outFunctionsControl)=\"handlerFunctionsControl($event)\" />\n </div>\n </div>\n</libs_ui-components-modal>\n","import Quill from \"quill\";\n\nconst Embed = Quill.import(\"blots/embed\");\n\nexport class QuillMentionBlot extends Embed {\n static create(data: { id: string, feId: string, value: string }) {\n const node = super.create();\n node.innerText += data.value;\n node.setAttribute('id', data.id);\n node.setAttribute('feId', data.feId);\n node.setAttribute('value', data.value);\n return node;\n }\n\n static value(domNode: HTMLElement) {\n return {\n id: domNode.getAttribute('id'),\n feId: domNode.getAttribute('feId'),\n value: domNode.getAttribute('value')\n };\n }\n\n attach() {\n super.attach();\n if (!this.mounted) {\n this.mounted = true;\n this.clickHandler = this.getClickHandler;\n this.domNode.addEventListener(\"click\", this.clickHandler, false);\n }\n }\n\n getClickHandler(event: Event) {\n event.stopPropagation();\n }\n}\n\nQuillMentionBlot.blotName = \"mention\";\nQuillMentionBlot.tagName = \"span\";\nQuillMentionBlot.className = \"libs-ui-quill-mention\";","import { ChangeDetectionStrategy, Component, input, output, signal } from '@angular/core';\nimport { IButton } from '@libs-ui/components-buttons-button';\nimport { LibsUiComponentsModalComponent, TYPE_MODAL_EVENT } from '@libs-ui/components-modal';\nimport { IUploadImageConfig } from '../interfaces/quill.interface';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-inputs-quill-upload_image',\n templateUrl: './upload-image.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n LibsUiComponentsModalComponent\n ]\n})\nexport class LibsUiComponentsInputsQuillUploadImageComponent {\n\n protected buttonFooter = signal<Array<IButton>>([\n {\n type: 'button-third',\n label: 'i18n_cancel',\n action: async () => this.outClose.emit()\n },\n {\n label: 'i18n_save',\n action: () => this.handlerSaveImage()\n }]);\n protected disable = signal<boolean>(false);\n\n // private mediaFile =signal<IMediaFile | undefined>(undefined);\n // private mediaUploadFunctionControl =signal<IMediaUploadBaseFunctionControlEvent | undefined>(undefined);\n\n readonly uploadImageConfig = input.required<IUploadImageConfig>();\n\n readonly outClose = output<string | void>();\n\n // protected handlerFunctionsControl(event: IMediaUploadBaseFunctionControlEvent) {\n // this.mediaUploadFunctionControl.set(event);\n // }\n\n // protected handlerChangeFile(event: IChangeFile) {\n // this.mediaFile.set(event.files[0]);\n // }\n\n private async handlerSaveImage() {\n // if (!await this.mediaUploadFunctionControl()?.checkIsValid()) {\n // return;\n // }\n // if (this.mediaFile?.origin_url) {\n // this.moClose.emit(this.mediaFile.origin_url);\n\n // return;\n // }\n // const body: IOptionsUploadMedia = {\n // do_not_delete: true,\n // file: this.mediaFile?.file,\n // option: 'thumb',\n // size: [{ 'width': '200', 'height': '200' }]\n // };\n\n // this.disable = true;\n // try {\n // const params = new HttpParamsRequest({ fromObject: { pem: BUILD_PEM_OBJECT({ isCheck: 0, action: DefineConstants.PERMISSION_ACTION_VIEW, pathCheck: '/other' }) } });\n // const res = await this.mediaService.uploadImage(params, body);\n\n // this.moClose.emit(res.data?.url);\n // } catch (error) {\n // console.log(error);\n\n // this.pushMessageService.showCompTypeText('i18n_notification_manipulation_not_success', undefined, undefined, { timeRemove: 2000, type: 'error' });\n // this.moClose.emit();\n // } finally {\n // this.disable = false;\n // }\n }\n\n protected handlerEventModal(event: TYPE_MODAL_EVENT) {\n if (event === 'close') {\n this.outClose.emit();\n }\n }\n}\n","<libs_ui-components-modal [title]=\"'i18n_download_image'\"\n [mode]=\"'center'\"\n [width]=\"'598px'\"\n [headerConfig]=\"{ignoreHeaderTheme:true}\"\n [maxHeight]=\"'calc(100% - 100px)'\"\n [height]=\"'auto'\"\n [zIndex]=\"uploadImageConfig().zIndex || 1203\"\n [disable]=\"disable()\"\n [buttonsFooter]=\"buttonFooter()\"\n (outEvent)=\"handlerEventModal($event)\">\n <div class=\"libs-ui-modal-body-custom\">\n <!-- <mo-libs-shared-components-media-upload [zIndex]=\"zIndex+1\"\n [labelConfig]=\"labelConfig\"\n [multiple]=\"false\"\n [fileType]=\"'image'\"\n [doNotDelete]=\"true\"\n [maxImageSize]=\"maxImageSize || 1048576\"\n [limitFile]=\"10\"\n [validRequired]=\"{isRequired: true}\"\n (moChangeFile)=\"handlerChangeFile($event)\"\n (moFunctionsControl)=\"handlerFunctionsControl($event)\">\n </mo-libs-shared-components-media-upload> -->\n </div>\n</libs_ui-components-modal>\n","import { signal } from '@angular/core';\nimport { IListConfigItem } from '@libs-ui/components-list';\nimport { returnListObject } from '@libs-ui/services-http-request';\nimport { ILink, IToolbarConfig, IUploadImageConfig } from '../interfaces/quill.interface';\nimport { convertFileToBase64 } from '@libs-ui/utils';\n\nexport const listDataAlign = () => {\n return [\n { key: '', icon: 'libs-ui-icon-align-left text-[#6a7383] text-[16px] hover:text-[var(--libs-ui-color-light-1)]' },\n { key: 'right', icon: 'libs-ui-icon-align-right text-[#6a7383] text-[16px] hover:text-[var(--libs-ui-color-light-1)]' },\n { key: 'center', icon: 'libs-ui-icon-align-center text-[#6a7383] text-[16px] hover:text-[var(--libs-ui-color-light-1)]' },\n { key: 'justify', icon: 'libs-ui-icon-align-justify text-[#6a7383] text-[16px] hover:text-[var(--libs-ui-color-light-1)]' },\n ];\n};\n\nexport const listFont = () => {\n return [\n { key: '', label: 'Sans Serif' },\n { key: 'serif', label: 'Serif' },\n { key: 'monospace', label: 'Monospace' },\n ];\n};\n\nexport const listConfigAlign = (): IListConfigItem => {\n return {\n type: 'text',\n autoSelectFirstItem: true,\n httpRequestData: signal({\n serviceOther: returnListObject(listDataAlign()),\n functionName: 'list',\n argumentsValue: []\n }),\n configTemplateText: signal({\n fieldKey: 'key',\n getClassItem: () => '!px-[8px] !py-[4px]',\n getValue: item => `<i class='flex ${item.icon}'></i>`,\n ignoreIconSelected: true\n })\n };\n};\n\nexport const listConfigFont = (): IListConfigItem => {\n return {\n type: 'text',\n autoSelectFirstItem: true,\n httpRequestData: signal({\n serviceOther: returnListObject(listFont()),\n functionName: 'list',\n argumentsValue: []\n }),\n configTemplateText: signal({\n fieldKey: 'key',\n getValue: item => item.label,\n ignoreIconSelected: true\n })\n };\n};\n\nexport const toolBarOptionDefault = (): Array<IToolbarConfig> => {\n return [\n {\n type: 'undo',\n classInclude: 'mr-[8px]'\n },\n {\n type: 'redo'\n },\n {\n type: 'line'\n },\n {\n type: 'fontFamily',\n classInclude: 'ml-[8px] mr-[2px]'\n },\n {\n type: 'fontSize',\n classInclude: 'ml-[2px] mr-[8px]'\n },\n {\n type: 'line'\n },\n {\n type: 'color'\n },\n {\n type: 'background'\n },\n {\n type: 'line'\n },\n {\n type: 'bold'\n },\n {\n type: 'italic'\n },\n {\n type: 'underline'\n },\n {\n type: 'strikeThrough'\n },\n {\n type: 'line'\n },\n {\n type: 'adjust'\n },\n {\n type: 'line'\n },\n {\n type: 'indentIncrease'\n },\n {\n type: 'indentDecrease'\n },\n {\n type: 'listBulleted'\n },\n {\n type: 'listNumbered'\n },\n {\n type: 'line'\n },\n {\n type: 'personalize'\n },\n {\n type: 'blockquote'\n },\n {\n type: 'link'\n },\n {\n type: 'unLink'\n },\n {\n type: 'image'\n },\n {\n type: 'emoji',\n classInclude: 'ml-[8px]'\n }\n ];\n}\n\nexport const iconList = (): Array<{ key: string, icon: string }> => {\n return [\n {\n key: 'bold',\n icon: 'libs-ui-icon-editor-bold',\n },\n {\n key: 'italic',\n icon: 'libs-ui-icon-editor-italic',\n },\n {\n key: 'underline',\n icon: 'libs-ui-icon-editor-underlined',\n },\n {\n key: 'image',\n icon: 'libs-ui-icon-image-solid'\n },\n {\n key: 'link',\n icon: 'libs-ui-icon-link'\n },\n {\n key: 'undo',\n icon: 'libs-ui-icon-undo'\n },\n {\n key: 'redo',\n icon: 'libs-ui-icon-undo scale-x-[-1]'\n },\n {\n key: 'strike',\n icon: 'libs-ui-icon-editor-strike-through'\n },\n {\n key: 'blockquote',\n icon: 'libs-ui-icon-quote'\n },\n {\n key: 'ordered',\n icon: 'libs-ui-icon-list-numbered'\n },\n {\n key: 'bullet',\n icon: 'libs-ui-icon-list-bulleted'\n },\n {\n key: 'background',\n icon: 'libs-ui-icon-editor-color-background'\n },\n {\n key: 'color',\n icon: 'libs-ui-icon-editor-color-text'\n },\n {\n key: \"indent.-1\",\n icon: 'libs-ui-icon-indent-decrease'\n },\n {\n key: \"indent.+1\",\n icon: 'libs-ui-icon-indent-increase'\n },\n {\n key: \"align.\",\n icon: 'align-quill libs-ui-icon-align-left'\n },\n {\n key: \"align.center\",\n icon: 'align-quill libs-ui-icon-align-center'\n },\n {\n key: \"align.right\",\n icon: 'align-quill libs-ui-icon-align-right'\n },\n {\n key: \"align.justify\",\n icon: 'align-quill libs-ui-icon-align-justify'\n },\n {\n key: 'unLink',\n icon: 'libs-ui-icon-link-broken'\n },\n {\n key: 'emoji',\n icon: 'libs-ui-icon-face-smile'\n }\n ];\n}\n\nexport const uploadImageConfigDefault = (): IUploadImageConfig => {\n return {\n modeCustom: true,\n zIndex: 1202,\n showIcon: true,\n onlyAcceptImageHttpsLink: false,\n functionUploadImage: async (links) => {\n const data = [];\n for (const element of links) {\n data.push(await convertFileToBase64(element))\n }\n return data;\n }\n }\n}\n\nexport const linkDefault = (): ILink => {\n return {\n title: '',\n url: '',\n range: {\n index: 0,\n length: 0\n }\n };\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ComponentRef, computed, ElementRef, inject, input, model, OnDestroy, OnInit, output, signal, TemplateRef, viewChild, viewChildren } from '@angular/core';\nimport { LibsUiComponentsButtonsButtonComponent } from '@libs-ui/components-buttons-button';\nimport { LibsUiComponentsButtonsSelectColorComponent } from '@libs-ui/components-buttons-select-color';\nimport { IEmitSelectKey, LibsUiComponentsDropdownComponent } from '@libs-ui/components-dropdown';\nimport { LibsUiComponentsEmojiComponent } from '@libs-ui/components-inputs-emoji';\nimport { IMentionConfig, IMentionInsert, LibsUiComponentsInputsMentionDirective } from '@libs-ui/components-inputs-mention';\nimport { IValidLength, IValidRequired, LibsUiComponentsInputsValidComponent } from '@libs-ui/components-inputs-valid';\nimport { ILabel, LibsUiComponentsLabelComponent } from '@libs-ui/components-label';\nimport { IListConfigItem } from '@libs-ui/components-list';\nimport { IPopoverFunctionControlEvent, LibsUiComponentsPopoverComponent, TYPE_POPOVER_EVENT } from '@libs-ui/components-popover';\nimport { TYPE_TEMPLATE_REF } from '@libs-ui/interfaces-types';\nimport { LibsUiDynamicComponentService } from '@libs-ui/services-dynamic-component';\nimport { ERROR_MESSAGE_EMPTY_VALID, ERROR_MESSAGE_MAX_LENGTH, ERROR_MESSAGE_MIN_LENGTH, get, isNil, patternUrl, set, xssFilter } from '@libs-ui/utils';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport Quill, { RangeStatic, Sources, StringMap } from 'quill';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport { indentStyle } from './indent-attributor/indent-attributor.component';\nimport { ILink, IQuillFunctionControlEvent, IToolbarConfig, IUploadImageConfig } from './interfaces/quill.interface';\nimport { LibsUiComponentsInputsQuillLinkComponent } from './link/link.component';\nimport { QuillMentionBlot } from './mention/mention.component';\nimport { LibsUiComponentsInputsQuillUploadImageComponent } from './upload-image/upload-image.component';\nimport { iconList, linkDefault, listConfigAlign, listConfigFont, listFont, toolBarOptionDefault, uploadImageConfigDefault } from './utils/quill.define';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-inputs-quill',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './quill.component.html',\n styleUrl: './quill.component.scss',\n imports: [\n TranslateModule, NgTemplateOutlet, LibsUiComponentsInputsMentionDirective,\n LibsUiComponentsLabelComponent, LibsUiComponentsDropdownComponent,\n LibsUiComponentsPopoverComponent, LibsUiComponentsButtonsSelectColorComponent,\n LibsUiComponentsInputsValidComponent, LibsUiComponentsEmojiComponent,\n LibsUiComponentsButtonsButtonComponent\n ]\n})\nexport class LibsUiComponentsInputsQuillComponent implements OnInit, AfterViewInit, OnDestroy {\n\n protected messageError = signal<string>('');\n protected display = signal<boolean>(false);\n protected listConfigAlign = signal<IListConfigItem>(listConfigAlign());\n protected alignSelected = signal<IEmitSelectKey | undefined>(undefined);\n protected iconAlignSelectedComputed = computed(() => get(this.alignSelected(), 'item.icon'));\n protected listConfigFont = signal<IListConfigItem>(listConfigFont());\n protected fontSelected = signal<IEmitSelectKey | undefined>(undefined);\n protected labelFontSelectedComputed = computed(() => get(this.fontSelected(), 'item.label') || 'Sans Serif');\n protected size = signal<{ value: number }>({ value: 14 });\n protected itemHiddenExpand = signal<Array<number>>([]);\n protected itemHidden = signal<Array<number>>([]);\n protected showMoreAction = signal<boolean>(false);\n protected link = signal<ILink>(linkDefault());\n\n private popoverFunctionControl = signal<IPopoverFunctionControlEvent | undefined>(undefined);\n private quill = signal<Quill | undefined>(undefined);\n private handlers = signal<Record<string, (...params: Array<unknown>) => void>>({ undo: this.handleUndo.bind(this), redo: this.handleRedo.bind(this) });\n private showMention = signal<boolean>(false);\n private addEditLinkComponentRef = signal<ComponentRef<LibsUiComponentsInputsQuillLinkComponent> | undefined>(undefined);\n private uploadImageComponentRef = signal<ComponentRef<LibsUiComponentsInputsQuillUploadImageComponent> | undefined>(undefined);\n private dynamicComponentService = inject(LibsUiDynamicComponentService);\n private translate = inject(TranslateService);\n private onDestroy = new Subject<void>();\n\n readonly optionsToolbar = input<Array<IToolbarConfig>, Array<IToolbarConfig> | undefined>(toolBarOptionDefault(), { transform: value => value || toolBarOptionDefault() });\n readonly showToolBar = input<boolean>();\n readonly classIncludeToolbar = input<string>('bottom-[-66px] left-[18px]');\n readonly placeholder = input<string, string | undefined>('i18n_import_content', { transform: (value) => value || 'i18n_import_content' });\n readonly label = input<ILabel | undefined>();\n readonly item = model<Record<string, unknown>>();\n readonly fieldNameBind = input<string>('value');\n readonly readonly = input<boolean>();\n readonly showErrorLabel = input<boolean>(true);\n readonly showErrorBorder = input<boolean>(false);\n readonly onlyShowErrorBorderInContent = input<boolean>(false);\n readonly classIncludeTemplate = input<string>();\n readonly classInclude = input<string>();\n readonly handlersExpand = input<Array<{ title: string, action: () => void }>>();\n readonly validRequired = input<IValidRequired>();\n readonly validMinLength = input<IValidLength>();\n readonly validMaxLength = input<IValidLength>();\n readonly onlyShowContent = input<boolean>(false);\n readonly zIndex = input<number, number | undefined>(1201, { transform: (value) => value || 1201 });\n readonly dataConfigMention = input<IMentionConfig>();\n readonly heightAuto = input<boolean>();\n readonly autoFocus = input<boolean>();\n readonly autoFocusBottom = input<boolean>();\n readonly templateToolBarPersonalize = input<TemplateRef<TYPE_TEMPLATE_REF>>();\n readonly template = input<TemplateRef<TYPE_TEMPLATE_REF>>();\n readonly uploadImageConfig = input<IUploadImageConfig, IUploadImageConfig | undefined>(uploadImageConfigDefault(), { transform: (value) => value || uploadImageConfigDefault() });\n\n readonly outMessageError = output<string>();\n readonly outBlur = output<void>();\n readonly outFocus = output<void>();\n readonly outChange = output<string>();\n readonly outFunctionsControl = output<IQuillFunctionControlEvent>();\n readonly outSelectionChange = output<boolean>();\n\n readonly wrapperEditorEl = viewChild<ElementRef>('wrapperEditor');\n readonly editorEl = viewChild<ElementRef>('editor');\n readonly quillOptionEl = viewChild<ElementRef>('quillOption');\n readonly quillEditorEl = viewChild<ElementRef>('quillEditor');\n readonly quillToolbarEl = viewChild<ElementRef>('quillToolbar');\n readonly toolbarItemsEl = viewChild<ElementRef>('toolbarItems');\n readonly itemsEl = viewChildren<ElementRef>('item');\n\n ngOnInit() {\n this.outFunctionsControl.emit({\n checkIsValid: this.validate.bind(this),\n setContent: this.setContent.bind(this),\n insertText: this.insertText.bind(this),\n insertLink: this.insertLink.bind(this),\n insertHtml: this.insertHtml.bind(this),\n setFontSize: this.setFontSize.bind(this),\n setColor: this.setColor.bind(this),\n setBackground: this.setBackground.bind(this)\n });\n }\n\n ngAfterViewInit(): void {\n this.calculatorToolbar();\n if (this.autoFocus()) {\n this.display.set(true);\n }\n this.setHandlerFunction();\n this.initQuill();\n if (!this.autoFocus()) {\n setTimeout(() => this.display.set(true), 200);\n }\n this.setClassIncludeAndReadOnly();\n this.setContent(get(this.item(), this.fieldNameBind(), ''));\n this.handlerTextChange();\n this.handlerSelectionChange();\n this.handlerPaste();\n if (this.autoFocus()) {\n this.quill()?.focus();\n }\n fromEvent(window, 'resize').pipe(takeUntil(this.onDestroy)).subscribe(this.calculatorToolbar.bind(this));\n }\n\n private initQuill() {\n const size = Quill.import('attributors/style/size');\n const image = Quill.import('formats/image');\n const parchment = Quill.import('parchment');\n const alignStyle = Quill.import('attributors/style/align');\n const icons = Quill.import('ui/icons');\n const block = parchment.query('block');\n const italic = Quill.import('formats/italic');\n const bold = Quill.import('formats/bold');\n size.whitelist = ['8px', '9px', '10px', '11px', '12px', '13px', '14px', '15px', '16px', '17px', '18px', '19px', '20px', '21px', '22px', '23px', '24px', '25px', '26px', '27px', '28px', '29px', '30px', '31px', '32px', '33px', '34px', '35px', '36px', '37px', '38px', '39px', '40px', '41px', '42px', '43px', '44px', '45px', '46px', '47px', '48px', '49px', '50px', '51px', '52px', '53px', '54px', '55px', '56px', '57px', '58px', '59px', '60px', '61px', '62px', '63px', '64px', '65px', '66px', '67px', '68px', '69px', '70px', '71px', '72px'];\n image.className = 'libs-ui-quill-format-image';\n block.tagName = 'DIV';\n italic.tagName = 'i';\n bold.tagName = 'B';\n Quill.register(bold, true);\n Quill.register(italic, true);\n Quill.register(size, true);\n Quill.register(image, true);\n Quill.register(block, true);\n Quill.register(alignStyle, true);\n Quill.register(QuillMentionBlot, true);\n Quill.register({ 'formats/indent': indentStyle }, true);\n iconList().forEach(element => set(icons, element.key, `<span class=\"${element.icon} hover:text-[var(--libs-ui-color-light-1)] text-[16px] text-[#6a7383]\"></span>`));\n this.quill.set(new Quill(this.quillEditorEl()?.nativeElement, {\n modules: {\n toolbar: {\n container: this.onlyShowContent() && this.quillToolbarEl() ? this.quillToolbarEl()?.nativeElement : this.quillOptionEl()?.nativeElement,\n handlers: this.handlers()\n },\n clipboard: {\n matchVisual: false\n },\n history: {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n },\n keyboard: {\n bindings: {\n enter: {\n key: 13,\n handler: () => this.showMention() ? false : true\n }\n }\n }\n },\n readOnly: this.readonly(),\n placeholder: this.translate.instant(this.placeholder()),\n theme: 'snow',\n bounds: this.heightAuto() ? this.wrapperEditorEl()?.nativeElement : this.quillEditorEl()?.nativeElement,\n scrollingContainer: this.heightAuto() ? this.wrapperEditorEl()?.nativeElement : null\n }));\n }\n\n private setHandlerFunction() {\n if (this.uploadImageConfig().modeCustom) {\n this.handlers.update(item => ({ ...item, image: this.handlerShowUploadImage.bind(this), emoji: () => { return } }));\n }\n let link = false;\n const handlersExpand = this.handlersExpand();\n if (handlersExpand && handlersExpand.length) {\n handlersExpand.forEach(element => {\n if (element.title && element.action) {\n if (element.title === 'link') {\n link = true;\n }\n this.handlers.update(item => ({ ...item, [element.title]: element.action }));\n }\n });\n }\n if (!link) {\n this.handlers.update(item => ({ ...item, link: this.handleShowUploadLink.bind(this), unLink: this.handlerUnInsertLink.bind(this) }));\n }\n }\n\n private setClassIncludeAndReadOnly() {\n const editorEl = this.editorEl();\n const classInclude = this.classInclude();\n const readonly = this.readonly();\n if (editorEl) {\n if (classInclude || readonly) {\n for (const elementNode of editorEl.nativeElement.lastElementChild.children) {\n if (!elementNode.className.includes('ql-editor')) {\n continue;\n }\n if (classInclude) {\n elementNode.classList.add(classInclude);\n }\n if (readonly) {\n elementNode.classList.add('!bg-[#f8f9fa]');\n }\n }\n }\n if (readonly) {\n for (const elementNode of editorEl.nativeElement.children) {\n if (elementNode.className.includes('ql-toolbar')) {\n elementNode.classList.add('pointer-events-none');\n }\n }\n }\n }\n }\n\n private adjustIndexForImages(index: number) {\n const content = this.quill()?.root;\n let imageCount = 0;\n let adjustedIndex = 0;\n const adjustTextIndex = (node: Node) => {\n if (adjustedIndex > index) {\n return;\n }\n if (node.nodeType === Node.TEXT_NODE) {\n adjustedIndex += node.textContent?.length || 0;\n return;\n }\n if (node.nodeType === Node.ELEMENT_NODE && node.nodeName === 'IMG') {\n if (adjustedIndex <= index) {\n imageCount++;\n }\n return;\n }\n if (node.nodeType === Node.ELEMENT_NODE) {\n Array.from(node.childNodes).forEach(adjustTextIndex);\n }\n };\n adjustTextIndex(content as Node);\n return imageCount;\n };\n\n\n private handlerSelectionChange() {\n this.quill()?.on('selection-change', (range: RangeStatic, oldRange: RangeStatic, source: Sources) => {\n if (this.readonly()) {\n return;\n }\n if (range === null && oldRange !== null) {\n this.outBlur.emit();\n return;\n }\n if (range !== null && oldRange === null) {\n this.outFocus.emit();\n return;\n }\n const format = this.quill()?.getFormat();\n if (format) {\n this.getFont(format);\n this.getFontSize(format);\n }\n this.outSelectionChange.emit(range.length ? true : false);\n if (range.length === 0 && format?.link && source === 'user') {\n const selection = document.getSelection();\n const anchorNode = selection?.anchorNode;\n let linkNode = anchorNode as HTMLAnchorElement;\n while (linkNode && linkNode.tagName !== 'A') {\n linkNode = linkNode.parentNode as HTMLAnchorElement;\n }\n if (linkNode && linkNode.tagName === 'A') {\n const linkText = linkNode.innerText;\n const linksIndices: Array<number> = [];\n let indexReturn: number | undefined = -1;\n while (!isNil(indexReturn) && indexReturn < range.index) {\n const textContent = this.quill()?.getText();\n const linkIndex = textContent?.indexOf(linkText, linksIndices.length > 0 ? linksIndices[linksIndices.length - 1] + linkText.length : 0);\n if (!isNil(linkIndex)) {\n if (linkIndex !== -1) {\n linksIndices.push(linkIndex);\n indexReturn = linkIndex + linkText.length;\n }\n if (linkIndex === -1) {\n indexReturn = undefined;\n }\n }\n }\n if (linksIndices && linksIndices.length) {\n const rangeIndex = linksIndices[linksIndices.length - 1];\n const countImage = this.adjustIndexForImages(rangeIndex)\n setTimeout(() => {\n this.link.set({\n title: linkText,\n url: linkNode.href,\n range: {\n index: rangeIndex + countImage,\n length: linkText.length\n }\n })\n this.popoverFunctionControl()?.showPopover(linkNode)\n }, 250);\n }\n }\n }\n });\n }\n\n private handlerPaste() {\n set(this.quill, 'root.onpaste', async (event: ClipboardEvent) => {\n if (!event || !event.clipboardData) {\n return;\n }\n const files = event.clipboardData.files;\n if (!files.length) {\n return;\n }\n event.preventDefault();\n const images: Array<File> = [];\n Array.from(files).forEach((file) => {\n if (file && file.type.split('/')[0] === 'image') {\n images.push(file);\n }\n });\n const links = await this.uploadImageConfig().functionUploadImage?.(images);\n if (links && links.length) {\n links.forEach(link => {\n if (!link || (this.uploadImageConfig().onlyAcceptImageHttpsLink && (link instanceof ArrayBuffer || !new RegExp(patternUrl()).test(link)))) {\n return;\n }\n this.insertHtml('image', link as string);\n })\n }\n });\n }\n\n private handlerTextChange() {\n this.quill()?.on('text-change', (event) => {\n const html = this.quill()?.root.innerHTML;\n setTimeout(() => {\n if (event?.ops[1]?.insert === '\\n') {\n const range = { index: event?.ops[0].retain as number };\n const currentLeaf = this.quill()?.getLeaf(range.index)[0];\n const nextLeaf = this.quill()?.getLeaf(range.index + 1)[0];\n this.quill()?.insertEmbed(range.index, 'break', true, 'user');\n if (nextLeaf === null || currentLeaf.parent !== nextLeaf.parent) {\n this.quill()?.insertEmbed(range.index, 'break', true, 'user');\n }\n this.setSelection((range.index || 0) + 1, 0, Quill.sources.SILENT);\n }\n });\n if (html === '<div><br></div>' || html === '<div style=\"text-align: justify;\"><br></div>' || !this.quill()?.getText()) {\n set(this.item(), this.fieldNameBind(), '');\n this.validate();\n this.outChange.emit(get(this.item(), this.fieldNameBind()));\n return;\n }\n this.convertInnerHTML();\n this.validate();\n this.outChange.emit(get(this.item(), this.fieldNameBind()));\n });\n }\n\n protected handlerPopoverFunctionControl(event: IPopoverFunctionControlEvent) {\n this.popoverFunctionControl.set(event);\n }\n\n protected handlerPopoverEvent(event: TYPE_POPOVER_EVENT) {\n if (event === 'remove') {\n this.link.set(linkDefault());\n }\n }\n\n protected handlerUnlink(event: Event) {\n event.stopPropagation();\n const link = this.link();\n this.quill()?.formatText(link.range.index, link.range.length, { link: false });\n this.popoverFunctionControl()?.removePopoverOverlay();\n }\n\n protected handlerEdit(event: Event) {\n event.stopPropagation();\n const link = this.link();\n this.handleShowUploadLink(link);\n this.popoverFunctionControl()?.removePopoverOverlay();\n }\n\n private calculatorToolbar() {\n this.itemHidden.set([]);\n this.itemHiddenExpand.set([]);\n setTimeout(() => {\n const toolbarWidth = this.toolbarItemsEl()?.nativeElement.offsetWidth || 0;\n let itemWidth = 28;\n const hiddenItems: Array<number> = [];\n const hiddenItemsExpand: Array<number> = [];\n const itemsHasWidth = this.itemsEl().filter(item => item.nativeElement.offsetWidth);\n for (let index = 0; index < itemsHasWidth.length; index++) {\n const element = itemsHasWidth[index];\n const id = element.nativeElement.id;\n const trueIndex = Number(id.split('_')[1]);\n const type = id.split('_')[0];\n const width = element.nativeElement.offsetWidth || 0;\n itemWidth += width;\n if (type === 'line') {\n const nextElement = itemsHasWidth[index + 1];\n const nextWidth = nextElement?.nativeElement.offsetWidth || 0;\n const nextItemWidth = itemWidth + nextWidth;\n if (nextItemWidth > toolbarWidth) {\n hiddenItemsExpand.push(trueIndex);\n }\n }\n if (itemWidth > toolbarWidth) {\n hiddenItems.push(trueIndex);\n continue;\n }\n }\n this.itemHidden.set(hiddenItems);\n this.itemHiddenExpand.set(hiddenItemsExpand);\n }, 500);\n }\n\n protected setStyle(type: string, data: string | number) {\n this.quill()?.format(type, data);\n }\n\n private getFontSize(format: StringMap) {\n const fontSize = format?.size?.toString()?.replace('px', '');\n if (isNaN(parseFloat(fontSize))) {\n this.size.set({ value: 14 });\n return;\n }\n this.size.set({ value: parseFloat(fontSize) });\n }\n\n private getFont(format: StringMap) {\n const font = listFont().find((item) => item.key === format.font);\n if (!font) {\n this.fontSelected.set({ key: '', item: listFont().find((item) => item.key === '') });\n return;\n }\n this.fontSelected.set({ key: format.font, item: font });\n }\n\n protected handleUndo() {\n this.quill()?.history?.undo();\n }\n\n protected handleRedo() {\n this.quill()?.history?.redo();\n }\n\n protected async setContent(content: string) {\n if (!content) {\n setTimeout(() => set(this.quill, 'root.innerHTML', ''));\n return;\n }\n const contentXssFilter = await xssFilter(content);\n setTimeout(() => set(this.quill, 'root.innerHTML', contentXssFilter));\n if (!this.autoFocusBottom()) {\n return;\n }\n setTimeout(() => {\n this.quill()?.blur();\n const range = document.createRange();\n const sel = window.getSelection();\n const target = this.quillEditorEl()?.nativeElement.querySelector('[contenteditable=\"true\"]');\n const contentScroll = this.heightAuto() ? this.wrapperEditorEl()?.nativeElement : target;\n range.selectNodeContents(target);\n range.collapse(false);\n sel?.removeAllRanges();\n sel?.addRange(range);\n target.focus();\n contentScroll.scrollTop = contentScroll.scrollHeight;\n }, 100);\n }\n\n protected handlerAddEmoji(emoji: unknown) {\n const selection = this.quill()?.getSelection(true).index;\n if (!isNil(selection)) {\n this.quill()?.insertText(selection, emoji as string);\n }\n }\n\n protected handleShowUploadLink(event: unknown) {\n this.addEditLinkComponentRef.set(this.dynamicComponentService.resolveComponentFactory(LibsUiComponentsInputsQuillLinkComponent));\n const instance = this.addEditLinkComponentRef()?.instance;\n const selection = this.quill()?.getSelection();\n const textSelected = selection?.length ? this.quill()?.getText(selection?.index, selection?.length) : '';\n const data = event as ILink | undefined;\n this.addEditLinkComponentRef()?.setInput('zIndex', this.zIndex());\n this.addEditLinkComponentRef()?.setInput('title', data?.title || textSelected);\n this.addEditLinkComponentRef()?.setInput('link', data?.url || '');\n instance?.outSaveLink.subscribe((item: { title: string, link: string }) => {\n if (data instanceof Object && data.url) {\n this.quill()?.deleteText(data.range.index, data.range.length, Quill.sources.USER);\n this.quill()?.insertText(data.range.index, item.title, 'link', item.link);\n return;\n }\n this.insertLink(item.title, item.link);\n });\n instance?.outClose.subscribe(() => this.dynamicComponentService.remove(this.addEditLinkComponentRef()));\n this.dynamicComponentService.addToBody(this.addEditLinkComponentRef());\n }\n\n protected handlerUnInsertLink() {\n const selection = this.quill()?.getSelection(true);\n if (!isNil(selection)) {\n this.quill()?.formatText(selection, 'link', false);\n }\n }\n\n protected async validate() {\n this.messageError.set('');\n const validRequired = this.validRequired();\n const item = this.item();\n const fieldNameBind = this.fieldNameBind();\n const value = get(item, fieldNameBind);\n if (validRequired && validRequired.isRequired && (!fieldNameBind || !value || !value.trim())) {\n this.messageError.set(validRequired.message || ERROR_MESSAGE_EMPTY_VALID);\n this.outMessageError.emit(this.messageError());\n return false;\n }\n const validMinLength = this.validMinLength();\n if (validMinLength && fieldNameBind && value && value.trim().length < validMinLength.length) {\n this.messageError.set(validMinLength.message || ERROR_MESSAGE_MIN_LENGTH);\n this.outMessageError.emit(this.messageError());\n return false;\n }\n const validMaxLength = this.validMaxLength();\n if (validMaxLength && fieldNameBind && value && value.trim().length > this.validMaxLength.length) {\n this.messageError.set(validMaxLength.message || ERROR_MESSAGE_MAX_LENGTH);\n this.outMessageError.emit(this.messageError());\n return false;\n }\n this.outMessageError.emit(this.messageError());\n return true;\n }\n\n protected async insertHtml(tagName: string, content: string, index?: number) {\n const selection = (index || index === 0) ? index : this.quill()?.getSelection(true).index;\n if (!isNil(selection)) {\n this.quill()?.insertEmbed(selection, tagName, content);\n this.setSelection(selection, content.length);\n }\n }\n\n private async insertText(content: string, index?: number) {\n const selection = (index || index === 0) ? index : this.quill()?.getSelection(true).index;\n if (!isNil(selection)) {\n this.quill()?.insertText(selection, content);\n }\n }\n\n private async insertLink(text: string, url: string, index?: number) {\n const selection = this.quill()?.getSelection(true);\n const indexInsert = (index || index === 0) ? index : selection?.index;\n if (selection?.length) {\n this.quill()?.deleteText(selection.index, selection.length, Quill.sources.USER);\n }\n if (!isNil(indexInsert)) {\n this.quill()?.insertText(indexInsert, text, 'link', url);\n }\n }\n\n private convertInnerHTML() {\n this.setStyleForContent();\n set(this.item(), this.fieldNameBind(), this.quill()?.root.innerHTML);\n }\n\n private setStyleForContent() {\n const styleArray = [\n { selector: '.ql-font-Arial', style: 'font-family: Arial' },\n { selector: '.ql-font-sans-serif', style: 'font-family: sans-serif' },\n { selector: '.ql-font-serif', style: 'font-family: serif' },\n { selector: '.ql-font-monospace', style: 'font-family: monospace' },\n { selector: '.ql-font-Helvetica', style: 'font-family: Helvetica' },\n { selector: '.libs-ui-quill-format-image', style: 'max-width: 100%; height: auto' },\n { selector: '.libs-ui-quill-mention', style: 'font-weight: 600;-moz-osx-font-smoothing: grayscale;-webkit-font-smoothing: antialiased; color: #7239EA' },\n { selector: 'blockquote', style: 'border-left: 4px solid #ccc; margin-bottom: 5px; margin-top: 5px; padding-left: 16px' }\n ];\n styleArray.forEach((item) => {\n const elements = this.quill()?.root.querySelectorAll(item.selector);\n elements?.forEach((element) => {\n if (item.selector === '.libs-ui-quill-format-image' || item.selector === '.libs-ui-quill-mention' || item.selector === 'blockquote') {\n element.setAttribute('style', item.style);\n return;\n }\n // Fixbug issue: https://admin-cv.mobio.vn/issues/49092\n let styleExist = element.getAttribute('style');\n if (styleExist) {\n ['font-family: Arial', 'font-family: sans-serif', 'font-family: serif', 'font-family: monospace', 'font-family: Helvetica'].forEach(font => {\n styleExist = (styleExist?.includes(`${font};`) ? styleExist?.replace(`${font};`, '') : styleExist?.replace(font, '')) as string;\n });\n }\n element.setAttribute('style', styleExist ? `${styleExist}${styleExist[styleExist.length - 1] === ';' ? '' : ';'}${item.style};` : item.style);\n });\n });\n }\n\n protected handleToggleMention(show: boolean) {\n this.showMention.set(show);\n }\n\n private handlerShowUploadImage() {\n this.uploadImageComponentRef.set(this.dynamicComponentService.resolveComponentFactory(LibsUiComponentsInputsQuillUploadImageComponent));\n const instance = this.uploadImageComponentRef()?.instance;\n this.uploadImageComponentRef()?.setInput('uploadImageConfig', this.uploadImageConfig());\n instance?.outClose.subscribe((event: string | void) => {\n this.dynamicComponentService.remove(this.uploadImageComponentRef());\n if (event) {\n this.insertHtml('image', event);\n }\n });\n this.dynamicComponentService.addToBody(this.uploadImageComponentRef());\n }\n\n private setSelection(index: number, length: number, sources?: Sources) {\n this.quill()?.setSelection(index, length, sources);\n }\n\n private insertMention(event: IMentionInsert) {\n const range = this.quill()?.getSelection();\n if (!range) {\n return;\n }\n const cursorPos = range.index;\n const startPosInsert = cursorPos - event.lengthKey;\n this.quill()?.deleteText(startPosInsert, event.lengthKey, Quill.sources.USER);\n this.quill()?.insertEmbed(startPosInsert, 'mention', event.data, Quill.sources.USER);\n this.quill()?.insertText(startPosInsert + 1, ' ', Quill.sources.USER);\n this.setSelection(startPosInsert + 2, 0, Quill.sources.USER);\n }\n\n protected handlerInsertMention(data: IMentionInsert) {\n this.insertMention(data);\n }\n\n protected async setFontSize(size: number) {\n this.quill()?.format('size', `${size}px`);\n }\n\n protected async setColor(color: string) {\n this.quill()?.format('color', color);\n }\n\n protected async setBackground(color: string) {\n this.quill()?.format('background', color);\n }\n\n protected handlerValueChange(value: number | string) {\n this.size.update(item => ({ ...item, value: value as number }));\n this.quill()?.format('size', `${this.size().value}px`);\n }\n\n protected handleSelectAlign(event: IEmitSelectKey | undefined) {\n this.alignSelected.set(event);\n this.setStyle('align', event?.key as string);\n }\n\n protected handleSelectFont(event: IEmitSelectKey | undefined) {\n this.fontSelected.set(event);\n this.setStyle('font', event?.key as string);\n }\n\n protected handlerChangeShowMoreAction(event: Event) {\n event.stopPropagation();\n this.showMoreAction.update(item => !item);\n }\n\n ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n this.dynamicComponentService.remove(this.addEditLinkComponentRef());\n this.dynamicComponentService.remove(this.uploadImageComponentRef());\n }\n}\n\n","<div class=\"flex flex-col w-full h-full\">\n @if (label(); as label) {\n <libs_ui-components-label [classInclude]=\"label.classInclude\"\n [required]=\"label.required\"\n [labelLeft]=\"label.labelLeft\" />\n }\n <div #wrapperEditor\n [attr.heightAuto]=\"heightAuto()\"\n [attr.hiddenToolBar]=\"onlyShowContent()\"\n class=\"libs-ui-quill-wrapper w-full h-full relative flex flex-col\"\n [class.libs-ui-border-error-general]=\"messageError() && showErrorBorder() && !onlyShowErrorBorderInContent()\"\n [class.rounded-[4px]]=\"messageError() && showErrorBorder() && !onlyShowErrorBorderInContent()\">\n <div #editor\n class=\"libs-ui-quill\"\n [attr.showError]=\"messageError() && showErrorBorder() && onlyShowErrorBorderInContent()\"\n [class.!hidden]=\"!display()\">\n @if (!onlyShowContent()) {\n <div #quillOption\n class=\"'ql-toolbar ql-snow bg-[#f8f9fa] {{ classIncludeToolbar() }}\">\n <ng-container *ngTemplateOutlet=\"toolbar\"></ng-container>\n </div>\n }\n <div #quillEditor\n LibsUiComponentsInputsMentionDirective\n [mentionConfig]=\"dataConfigMention()\"\n (outToggle)=\"handleToggleMention($event)\"\n (outInsertMention)=\"handlerInsertMention($event)\"></div>\n </div>\n @if (template(); as template) {\n <div [class]=\"classIncludeTemplate()\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n }\n </div>\n @if (messageError() && showErrorLabel()) {\n <div class=\"flex items-center leading-normal mt-[8px]\">\n <span class=\"text-[#ff5454] libs-ui-font-h7r\"> {{ messageError() | translate }}</span>\n </div>\n }\n</div>\n@if (showToolBar()) {\n <div #quillToolbar\n [class]=\"'ql-snow absolute px-[8px] py-[4px] p-0 w-[500px] rounded-[4px] bg-[#ffffff] libs-ui-quill-toolbar-animation ' + classIncludeToolbar()\">\n <ng-container *ngTemplateOutlet=\"toolbar\"></ng-container>\n </div>\n}\n\n<ng-template #toolbar>\n <div class=\"toolbar\"\n #toolbarItems>\n <div class=\"ql-formats items-center\">\n @for (option of optionsToolbar(); track option) {\n <div #item\n [id]=\"option.type+'_'+$index\"\n class=\"items-center\"\n [class.hidden]=\"itemHidden().includes($index) || itemHiddenExpand().includes($index)\"\n [class.flex]=\"!itemHidden().includes($index)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context:{option, $index, $last}\"></ng-container>\n </div>\n }\n <div class=\"relative\">\n @if (itemHidden().length) {\n <libs_ui-components-buttons-button [type]=\"showMoreAction() ? 'button-secondary' : 'button-third'\"\n [iconOnlyType]=\"true\"\n [classInclude]=\"'!p-[1px] !h-[20px] ml-[8px]'\"\n [classIconLeft]=\"'libs-ui-icon-move-right rotate-90'\"\n (outClick)=\"handlerChangeShowMoreAction($event)\" />\n }\n <div [class.hidden]=\"!showMoreAction()\"\n class=\"absolute bg-[#ffffff] top-[10px] shadow-md z-[1] flex items-center pl-[8px] pr-[16px] py-[4px] rounded-[8px] top-[31px] right-[0px]\">\n @for (option of optionsToolbar(); track option) {\n <div class=\"items-center\"\n [class.hidden]=\"!itemHidden().includes($index)\"\n [class.flex]=\"itemHidden().includes($index)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context:{option, $index, $last}\"></ng-container>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n<ng-template #itemTemplate\n let-$index=\"$index\"\n let-$last=\"$last\"\n let-option=\"option\">\n @if (option.type === 'undo') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content: 'i18n_undo', zIndex: 1250}\"\n class=\"ql-undo\"></button>\n </div>\n }\n @if (option.type === 'redo') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content: 'i18n_redo', zIndex: 1250}\"\n class=\"ql-redo\"></button>\n </div>\n }\n @if (option.type === 'fontFamily') {\n <div class=\"relative w-[117px] h-full bg-[#ffffff] rounded-[4px] libs-ui-border-general {{ option.classInclude || 'mx-[8px]' }}\">\n <libs_ui-components-dropdown [isNgContent]=\"true\"\n [labelPopoverFullWidth]=\"true\"\n [listConfig]=\"listConfigFont()\"\n [listHasButtonUnSelectOption]=\"false\"\n [listHiddenInputSearch]=\"true\"\n [listMaxItemShow]=\"8\"\n [zIndex]=\"1250\"\n (outSelectKey)=\"handleSelectFont($event)\">\n @if (fontSelected(); as fontSelected) {\n <div class=\"flex items-center cursor-pointer py-[8px] libs-ui-font-h5r pl-[16px] pr-[40px] {{ option.classInclude || 'mx-[8px]' }}\">\n <libs_ui-components-popover [type]=\"'text'\"\n [ignoreStopPropagationEvent]=\"true\"\n [config]=\"{zIndex:1250}\">\n {{ labelFontSelectedComputed() }}\n </libs_ui-components-popover>\n <i class=\"libs-ui-icon-move-right rotate-90 absolute right-[12px] text-[#6a7383] text-[16px]\"></i>\n </div>\n }\n </libs_ui-components-dropdown>\n </div>\n }\n @if (option.type === 'fontSize') {\n <div class=\"ql-picker {{ option.classInclude || 'mx-[8px]' }}\">\n <libs_ui-components-inputs-valid [dataType]=\"'int'\"\n [(item)]=\"size\"\n [fieldNameBind]=\"'value'\"\n [valueUpDownNumber]=\"1\"\n [maxValueNumber]=\"72\"\n [minValueNumber]=\"8\"\n [readonly]=\"readonly()\"\n [classContainerInput]=\"'w-[72px] h-[32px]'\"\n (outValueChange)=\"handlerValueChange($event)\" />\n </div>\n }\n @if (option.type === 'color') {\n <div class=\"ql-color ql-picker ql-color-picker !flex items-center {{ option.classInclude || 'mx-[8px]' }}\">\n <libs_ui-components-popover [config]=\"{content:'i18n_text_color', zIndex:1250}\">\n <libs_ui-components-buttons-select_color [zIndex]=\"zIndex()\"\n [direction]=\"'top'\"\n [externalContent]=\"true\"\n [applyNow]=\"true\"\n (outColorChange)=\"setStyle('color', $event)\">\n <div class=\"libs-ui-icon-editor-color-text libs-ui-buttons-select-color text-[#6a7383] text-[16px] hover:text-[var(--libs-ui-color-light-1)]\">\n </div>\n </libs_ui-components-buttons-select_color>\n </libs_ui-components-popover>\n </div>\n }\n @if (option.type === 'background') {\n <div class=\"ql-background ql-picker ql-color-picker !flex items-center {{ option.classInclude || 'mx-[8px]' }}\">\n <libs_ui-components-popover [config]=\"{content:'i18n_background_color', zIndex:1250}\">\n <libs_ui-components-buttons-select_color [zIndex]=\"zIndex()\"\n [direction]=\"'top'\"\n [externalContent]=\"true\"\n [applyNow]=\"true\"\n (outColorChange)=\"setStyle('background', $event)\">\n <div class=\"libs-ui-icon-editor-color-background libs-ui-buttons-select-color text-[#6a7383] text-[16px] hover:text-[var(--libs-ui-color-light-1)]\">\n </div>\n </libs_ui-components-buttons-select_color>\n </libs_ui-components-popover>\n </div>\n }\n @if (option.type === 'bold') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_font_weight_bold', zIndex:1250}\"\n class=\"ql-bold\"></button>\n </div>\n }\n @if (option.type === 'italic') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_font_style_italic', zIndex:1250}\"\n class=\"ql-italic\"></button>\n </div>\n }\n @if (option.type === 'underline') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_text_decoration_underline', zIndex:1250}\"\n class=\"ql-underline\"></button>\n </div>\n }\n @if (option.type === 'strikeThrough') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_text_line_through', zIndex:1250}\"\n class=\"ql-strike\"></button>\n </div>\n }\n @if (option.type === 'adjust') {\n <div class=\"relative !flex items-center ql-align ql-picker ql-icon-picker !w-max {{ option.classInclude || 'mx-[8px]' }}\">\n <libs_ui-components-popover [config]=\"{content:'i18n_adjust', zIndex:1250}\">\n <libs_ui-components-dropdown [isNgContent]=\"true\"\n [ignoreStopPropagationEvent]=\"true\"\n [labelPopoverFullWidth]=\"true\"\n [listConfig]=\"listConfigAlign()\"\n [listHiddenInputSearch]=\"true\"\n [popoverCustomConfig]=\"{ignoreArrow: true, classInclude: '!w-[32px] overflow-hidden !py-[4px]', position: {mode: 'start', distance: 0}, paddingLeftItem: false}\"\n [listHasButtonUnSelectOption]=\"false\"\n [listMaxItemShow]=\"8\"\n [zIndex]=\"1250\"\n (outSelectKey)=\"handleSelectAlign($event)\">\n @if (alignSelected(); as alignSelected) {\n <div class=\"flex items-center cursor-pointer\">\n <i [class]=\"iconAlignSelectedComputed()\"></i>\n <i class=\"libs-ui-icon-move-right rotate-90 text-[#6a7383] text-[16px] ml-[4px]\"></i>\n </div>\n }\n </libs_ui-components-dropdown>\n </libs_ui-components-popover>\n </div>\n }\n @if (option.type === 'indentIncrease') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_indent_increase', zIndex:1250}\"\n class=\"ql-indent\"\n value=\"+1\"></button>\n </div>\n }\n @if (option.type === 'indentDecrease') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_indent_decrease', zIndex:1250}\"\n class=\"ql-indent\"\n value=\"-1\"></button>\n </div>\n }\n @if (option.type === 'listBulleted') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_list_bulleted', zIndex:1250}\"\n class=\"ql-list ql-bullet\"\n value=\"bullet\"></button>\n </div>\n }\n @if (option.type === 'listNumbered') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_list_numbered', zIndex:1250}\"\n class=\"ql-list ql-ordered\"\n value=\"ordered\"></button>\n </div>\n }\n @if (option.type === 'personalize' && templateToolBarPersonalize(); as templateToolBarPersonalize) {\n <div class=\"flex items-center {{ option.classInclude || 'mx-[8px]' }}\">\n <ng-container *ngTemplateOutlet=\"templateToolBarPersonalize\"></ng-container>\n </div>\n }\n @if (option.type === 'blockquote') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_quote', zIndex:1250}\"\n class=\"ql-blockquote\"></button>\n </div>\n }\n @if (option.type === 'link') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_insert_link', zIndex:1250}\"\n class=\"ql-link\"></button>\n </div>\n }\n @if (option.type === 'unLink') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_unlink', zIndex:1250}\"\n class=\"ql-unLink\"></button>\n </div>\n }\n @if (option.type === 'image' && uploadImageConfig().showIcon) {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <button LibsUiComponentsPopoverDirective\n [config]=\"{content:'i18n_image', zIndex:1250}\"\n class=\"ql-image\"></button>\n </div>\n }\n @if (option.type === 'emoji') {\n <div [class]=\"option.classInclude || 'mx-[8px]'\">\n <libs_ui-components-emoji [zIndex]=\"1250\"\n [isNgContent]=\"true\"\n (outEventEmoji)=\"handlerAddEmoji($event)\">\n <button class=\"ql-emoji\"></button>\n </libs_ui-components-emoji>\n </div>\n }\n @if (option.type === 'line') {\n <div class=\"w-[1px] h-[16px] libs-ui-border-right-general\"></div>\n }\n</ng-template>\n\n<libs_ui-components-popover [mode]=\"'click'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"true\"\n [config]=\"{template: viewLink, whiteTheme: true, ignoreArrow: true}\"\n (outEvent)=\"handlerPopoverEvent($event)\"\n (outFunctionsControl)=\"handlerPopoverFunctionControl($event)\" />\n\n<ng-template #viewLink>\n <div class=\"flex justify-between items-center px-[16px] py-[8px] rounded-[8px]\">\n <div class=\"w-full min-w-0 libs-ui-font-h5r\"\n [type]=\"'text'\"\n LibsUiComponentsPopoverDirective>{{ link().url }}</div>\n <div class=\"flex items-center ml-[16px]\">\n <libs_ui-components-buttons-button [type]=\"'button-link-primary'\"\n [iconOnlyType]=\"true\"\n [classIconLeft]=\"'libs-ui-icon-edit-line'\"\n [classInclude]=\"'!p-0'\"\n (outClick)=\"handlerEdit($event)\" />\n <libs_ui-components-buttons-button [type]=\"'button-link-custom'\"\n [buttonCustom]=\"{\n configStepColor: {\n text: '#071631',\n text_hover: '#ee2d41',\n text_active: '#ee2d41',\n text_disable: '071631'\n },\n rootColor: '#071631'\n }\"\n [classInclude]=\"'!p-0 ml-[12px]'\"\n [iconOnlyType]=\"true\"\n [classIconLeft]=\"'libs-ui-icon-link-broken'\"\n (outClick)=\"handlerUnlink($event)\" />\n </div>\n </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libs-ui/components-inputs-quill",
3
- "version": "0.2.115",
3
+ "version": "0.2.116",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0"