cax-design-system 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +1 -1
  2. package/avatargroup/avatargroup.d.ts +1 -7
  3. package/avatargroup/avatargroup.module.d.ts +9 -0
  4. package/avatargroup/public_api.d.ts +1 -0
  5. package/badge/badge.directive.d.ts +4 -2
  6. package/button/button.d.ts +2 -1
  7. package/editor/editor.d.ts +1 -8
  8. package/editor/editor.module.d.ts +9 -0
  9. package/editor/public_api.d.ts +1 -0
  10. package/esm2022/avatar/avatar.mjs +3 -3
  11. package/esm2022/avatargroup/avatargroup.mjs +5 -27
  12. package/esm2022/avatargroup/avatargroup.module.mjs +19 -0
  13. package/esm2022/avatargroup/public_api.mjs +2 -1
  14. package/esm2022/badge/badge.directive.mjs +20 -8
  15. package/esm2022/badge/badge.mjs +4 -4
  16. package/esm2022/button/button.mjs +5 -4
  17. package/esm2022/checkbox/checkbox.mjs +3 -3
  18. package/esm2022/dropdown/dropdown.mjs +4 -6
  19. package/esm2022/editor/editor.mjs +9 -120
  20. package/esm2022/editor/editor.module.mjs +19 -0
  21. package/esm2022/editor/public_api.mjs +2 -1
  22. package/esm2022/inputmask/inputmask.mjs +42 -108
  23. package/esm2022/inputmask/inputmask.module.mjs +22 -0
  24. package/esm2022/inputmask/public_api.mjs +2 -1
  25. package/esm2022/inputtext/inputtext.component.mjs +14 -8
  26. package/esm2022/inputtext/inputtext.directive.mjs +3 -4
  27. package/esm2022/messages/messages.mjs +5 -5
  28. package/esm2022/overlaypanel/overlaypanel.mjs +3 -3
  29. package/esm2022/paginator/paginator.mjs +21 -8
  30. package/esm2022/progressbar/progressbar.mjs +2 -2
  31. package/esm2022/progressspinner/progressspinner.mjs +12 -12
  32. package/esm2022/selectbutton/selectbutton.mjs +2 -2
  33. package/esm2022/sidebar/sidebar.mjs +3 -3
  34. package/esm2022/splitbutton/splitbutton.mjs +8 -3
  35. package/esm2022/splitbutton/splitbutton.module.mjs +5 -4
  36. package/esm2022/steps/public_api.mjs +2 -1
  37. package/esm2022/steps/steps.mjs +5 -143
  38. package/esm2022/steps/steps.module.mjs +20 -0
  39. package/esm2022/table/table.mjs +3 -3
  40. package/esm2022/tabview/tabview.mjs +28 -3
  41. package/esm2022/timeline/public_api.mjs +2 -1
  42. package/esm2022/timeline/timeline.mjs +6 -90
  43. package/esm2022/timeline/timeline.module.mjs +19 -0
  44. package/esm2022/togglebutton/togglebutton.mjs +2 -2
  45. package/esm2022/toggleswitch/toggleswitch.mjs +7 -4
  46. package/fesm2022/cax-design-system-avatar.mjs +2 -2
  47. package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
  48. package/fesm2022/cax-design-system-avatargroup.mjs +9 -15
  49. package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
  50. package/fesm2022/cax-design-system-badge.mjs +22 -10
  51. package/fesm2022/cax-design-system-badge.mjs.map +1 -1
  52. package/fesm2022/cax-design-system-button.mjs +5 -4
  53. package/fesm2022/cax-design-system-button.mjs.map +1 -1
  54. package/fesm2022/cax-design-system-checkbox.mjs +2 -2
  55. package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
  56. package/fesm2022/cax-design-system-dropdown.mjs +3 -5
  57. package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
  58. package/fesm2022/cax-design-system-editor.mjs +9 -106
  59. package/fesm2022/cax-design-system-editor.mjs.map +1 -1
  60. package/fesm2022/cax-design-system-inputmask.mjs +40 -89
  61. package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
  62. package/fesm2022/cax-design-system-inputtext.mjs +15 -10
  63. package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
  64. package/fesm2022/cax-design-system-messages.mjs +4 -4
  65. package/fesm2022/cax-design-system-messages.mjs.map +1 -1
  66. package/fesm2022/cax-design-system-overlaypanel.mjs +2 -2
  67. package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
  68. package/fesm2022/cax-design-system-paginator.mjs +20 -7
  69. package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
  70. package/fesm2022/cax-design-system-progressbar.mjs +2 -2
  71. package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
  72. package/fesm2022/cax-design-system-progressspinner.mjs +11 -11
  73. package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
  74. package/fesm2022/cax-design-system-selectbutton.mjs +2 -2
  75. package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
  76. package/fesm2022/cax-design-system-sidebar.mjs +2 -2
  77. package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
  78. package/fesm2022/cax-design-system-splitbutton.mjs +11 -5
  79. package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
  80. package/fesm2022/cax-design-system-steps.mjs +7 -128
  81. package/fesm2022/cax-design-system-steps.mjs.map +1 -1
  82. package/fesm2022/cax-design-system-table.mjs +2 -2
  83. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  84. package/fesm2022/cax-design-system-tabview.mjs +27 -2
  85. package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
  86. package/fesm2022/cax-design-system-timeline.mjs +6 -75
  87. package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
  88. package/fesm2022/cax-design-system-togglebutton.mjs +2 -2
  89. package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
  90. package/fesm2022/cax-design-system-toggleswitch.mjs +6 -3
  91. package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
  92. package/inputmask/inputmask.d.ts +12 -12
  93. package/inputmask/inputmask.module.d.ts +12 -0
  94. package/inputmask/public_api.d.ts +1 -0
  95. package/inputtext/inputtext.component.d.ts +6 -3
  96. package/messages/messages.d.ts +1 -1
  97. package/package.json +215 -215
  98. package/paginator/paginator.d.ts +4 -1
  99. package/progressspinner/progressspinner.d.ts +1 -1
  100. package/resources/cax.min.scss +1 -1
  101. package/resources/cax.scss +7686 -6588
  102. package/resources/components/avatar/avatar.scss +2 -2
  103. package/resources/components/avatargroup/{avatargroup.css → avatargroup.scss} +2 -2
  104. package/resources/components/badge/badge.scss +33 -0
  105. package/resources/components/button/button.scss +44 -11
  106. package/resources/components/dropdown/dropdown.scss +2 -18
  107. package/resources/components/editor/editor.scss +4 -0
  108. package/resources/components/inputmask/{inputmask.css → inputmask.scss} +2 -2
  109. package/resources/components/inputtext/inputtext.scss +21 -23
  110. package/resources/components/messages/messages.scss +1 -1
  111. package/resources/components/overlaypanel/overlaypanel.scss +4 -1
  112. package/resources/components/paginator/paginator.scss +4 -0
  113. package/resources/components/progressbar/progressbar.scss +0 -15
  114. package/resources/components/progressspinner/progressspinner.scss +9 -9
  115. package/resources/components/sidebar/sidebar.scss +1 -1
  116. package/resources/components/splitbutton/splitbutton.scss +6 -3
  117. package/resources/components/steps/{steps.css → steps.scss} +10 -9
  118. package/resources/components/table/table.scss +41 -1
  119. package/resources/components/tabview/tabview.scss +12 -8
  120. package/resources/components/timeline/timeline.scss +134 -0
  121. package/resources/components/toggleswitch/toggleswitch.scss +6 -0
  122. package/splitbutton/splitbutton.d.ts +1 -0
  123. package/splitbutton/splitbutton.module.d.ts +2 -1
  124. package/steps/public_api.d.ts +1 -0
  125. package/steps/steps.d.ts +1 -9
  126. package/steps/steps.module.d.ts +10 -0
  127. package/timeline/public_api.d.ts +1 -0
  128. package/timeline/timeline.d.ts +1 -8
  129. package/timeline/timeline.module.d.ts +9 -0
  130. package/toggleswitch/toggleswitch.d.ts +2 -1
  131. package/resources/components/editor/editor.css +0 -4
  132. package/resources/components/timeline/timeline.css +0 -114
@@ -232,117 +232,19 @@ class Editor {
232
232
  initQuillElements() {
233
233
  if (!this.quillElements) {
234
234
  this.quillElements = {
235
- editorElement: DomHandler.findSingle(this.el.nativeElement, 'div.p-editor-content'),
236
- toolbarElement: DomHandler.findSingle(this.el.nativeElement, 'div.p-editor-toolbar')
235
+ editorElement: DomHandler.findSingle(this.el.nativeElement, 'div.cax-editor-content'),
236
+ toolbarElement: DomHandler.findSingle(this.el.nativeElement, 'div.cax-editor-toolbar')
237
237
  };
238
238
  }
239
239
  }
240
240
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Editor, deps: [{ token: i0.ElementRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
241
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: Editor, selector: "p-editor", inputs: { style: "style", styleClass: "styleClass", placeholder: "placeholder", formats: "formats", modules: "modules", bounds: "bounds", scrollingContainer: "scrollingContainer", debug: "debug", readonly: "readonly" }, outputs: { onInit: "onInit", onTextChange: "onTextChange", onSelectionChange: "onSelectionChange" }, host: { classAttribute: "cax-element" }, providers: [EDITOR_VALUE_ACCESSOR], queries: [{ propertyName: "toolbar", first: true, predicate: Header, descendants: true }, { propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: `
242
- <div [ngClass]="'p-editor-container'" [class]="styleClass">
243
- <div class="p-editor-toolbar" *ngIf="toolbar || headerTemplate">
244
- <ng-content select="cax-header"></ng-content>
245
- <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
246
- </div>
247
- <div class="p-editor-toolbar" *ngIf="!modules && !toolbar && !headerTemplate">
248
- <span class="ql-formats">
249
- <select class="ql-header">
250
- <option value="1">Heading</option>
251
- <option value="2">Subheading</option>
252
- <option selected>Normal</option>
253
- </select>
254
- <select class="ql-font">
255
- <option selected>Sans Serif</option>
256
- <option value="serif">Serif</option>
257
- <option value="monospace">Monospace</option>
258
- </select>
259
- </span>
260
- <span class="ql-formats">
261
- <button class="ql-bold" aria-label="Bold" type="button"></button>
262
- <button class="ql-italic" aria-label="Italic" type="button"></button>
263
- <button class="ql-underline" aria-label="Underline" type="button"></button>
264
- </span>
265
- <span class="ql-formats">
266
- <select class="ql-color"></select>
267
- <select class="ql-background"></select>
268
- </span>
269
- <span class="ql-formats">
270
- <button class="ql-list" value="ordered" aria-label="Ordered List" type="button"></button>
271
- <button class="ql-list" value="bullet" aria-label="Unordered List" type="button"></button>
272
- <select class="ql-align">
273
- <option selected></option>
274
- <option value="center">center</option>
275
- <option value="right">right</option>
276
- <option value="justify">justify</option>
277
- </select>
278
- </span>
279
- <span class="ql-formats">
280
- <button class="ql-link" aria-label="Insert Link" type="button"></button>
281
- <button class="ql-image" aria-label="Insert Image" type="button"></button>
282
- <button class="ql-code-block" aria-label="Insert Code Block" type="button"></button>
283
- </span>
284
- <span class="ql-formats">
285
- <button class="ql-clean" aria-label="Remove Styles" type="button"></button>
286
- </span>
287
- </div>
288
- <div class="p-editor-content" [ngStyle]="style"></div>
289
- </div>
290
- `, isInline: true, styles: [".p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item{width:auto;height:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
241
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: Editor, selector: "cax-editor", inputs: { style: "style", styleClass: "styleClass", placeholder: "placeholder", formats: "formats", modules: "modules", bounds: "bounds", scrollingContainer: "scrollingContainer", debug: "debug", readonly: "readonly" }, outputs: { onInit: "onInit", onTextChange: "onTextChange", onSelectionChange: "onSelectionChange" }, host: { classAttribute: "cax-element" }, providers: [EDITOR_VALUE_ACCESSOR], queries: [{ propertyName: "toolbar", first: true, predicate: Header, descendants: true }, { propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div [ngClass]=\"'cax-editor-container'\" [class]=\"styleClass\">\r\n <div class=\"cax-editor-toolbar\" *ngIf=\"toolbar || headerTemplate\">\r\n <ng-content select=\"cax-header\"></ng-content>\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </div>\r\n <div class=\"cax-editor-toolbar\" *ngIf=\"!modules && !toolbar && !headerTemplate\">\r\n <span class=\"ql-formats\">\r\n <select class=\"ql-header\">\r\n <option value=\"1\">Heading</option>\r\n <option value=\"2\">Subheading</option>\r\n <option selected>Normal</option>\r\n </select>\r\n <select class=\"ql-font\">\r\n <option selected>Sans Serif</option>\r\n <option value=\"serif\">Serif</option>\r\n <option value=\"monospace\">Monospace</option>\r\n </select>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-bold\" aria-label=\"Bold\" type=\"button\"></button>\r\n <button class=\"ql-italic\" aria-label=\"Italic\" type=\"button\"></button>\r\n <button class=\"ql-underline\" aria-label=\"Underline\" type=\"button\"></button>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-list\" value=\"ordered\" aria-label=\"Ordered List\" type=\"button\"></button>\r\n <button class=\"ql-list\" value=\"bullet\" aria-label=\"Unordered List\" type=\"button\"></button>\r\n <select class=\"ql-align\">\r\n <option selected></option>\r\n <option value=\"center\">center</option>\r\n <option value=\"right\">right</option>\r\n <option value=\"justify\">justify</option>\r\n </select>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-link\" aria-label=\"Insert Link\" type=\"button\"></button>\r\n <button class=\"ql-image\" aria-label=\"Insert Image\" type=\"button\"></button>\r\n <button class=\"ql-code-block\" aria-label=\"Insert Code Block\" type=\"button\"></button>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-clean\" aria-label=\"Remove Styles\" type=\"button\"></button>\r\n </span>\r\n </div>\r\n <div class=\"cax-editor-content\" [ngStyle]=\"style\"></div>\r\n</div>", styles: [".cax-editor-container .cax-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item{width:auto;height:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
291
242
  }
292
243
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Editor, decorators: [{
293
244
  type: Component,
294
- args: [{ selector: 'p-editor', template: `
295
- <div [ngClass]="'p-editor-container'" [class]="styleClass">
296
- <div class="p-editor-toolbar" *ngIf="toolbar || headerTemplate">
297
- <ng-content select="cax-header"></ng-content>
298
- <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
299
- </div>
300
- <div class="p-editor-toolbar" *ngIf="!modules && !toolbar && !headerTemplate">
301
- <span class="ql-formats">
302
- <select class="ql-header">
303
- <option value="1">Heading</option>
304
- <option value="2">Subheading</option>
305
- <option selected>Normal</option>
306
- </select>
307
- <select class="ql-font">
308
- <option selected>Sans Serif</option>
309
- <option value="serif">Serif</option>
310
- <option value="monospace">Monospace</option>
311
- </select>
312
- </span>
313
- <span class="ql-formats">
314
- <button class="ql-bold" aria-label="Bold" type="button"></button>
315
- <button class="ql-italic" aria-label="Italic" type="button"></button>
316
- <button class="ql-underline" aria-label="Underline" type="button"></button>
317
- </span>
318
- <span class="ql-formats">
319
- <select class="ql-color"></select>
320
- <select class="ql-background"></select>
321
- </span>
322
- <span class="ql-formats">
323
- <button class="ql-list" value="ordered" aria-label="Ordered List" type="button"></button>
324
- <button class="ql-list" value="bullet" aria-label="Unordered List" type="button"></button>
325
- <select class="ql-align">
326
- <option selected></option>
327
- <option value="center">center</option>
328
- <option value="right">right</option>
329
- <option value="justify">justify</option>
330
- </select>
331
- </span>
332
- <span class="ql-formats">
333
- <button class="ql-link" aria-label="Insert Link" type="button"></button>
334
- <button class="ql-image" aria-label="Insert Image" type="button"></button>
335
- <button class="ql-code-block" aria-label="Insert Code Block" type="button"></button>
336
- </span>
337
- <span class="ql-formats">
338
- <button class="ql-clean" aria-label="Remove Styles" type="button"></button>
339
- </span>
340
- </div>
341
- <div class="p-editor-content" [ngStyle]="style"></div>
342
- </div>
343
- `, providers: [EDITOR_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
245
+ args: [{ selector: 'cax-editor', providers: [EDITOR_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
344
246
  class: 'cax-element'
345
- }, styles: [".p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item{width:auto;height:auto}\n"] }]
247
+ }, template: "<div [ngClass]=\"'cax-editor-container'\" [class]=\"styleClass\">\r\n <div class=\"cax-editor-toolbar\" *ngIf=\"toolbar || headerTemplate\">\r\n <ng-content select=\"cax-header\"></ng-content>\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </div>\r\n <div class=\"cax-editor-toolbar\" *ngIf=\"!modules && !toolbar && !headerTemplate\">\r\n <span class=\"ql-formats\">\r\n <select class=\"ql-header\">\r\n <option value=\"1\">Heading</option>\r\n <option value=\"2\">Subheading</option>\r\n <option selected>Normal</option>\r\n </select>\r\n <select class=\"ql-font\">\r\n <option selected>Sans Serif</option>\r\n <option value=\"serif\">Serif</option>\r\n <option value=\"monospace\">Monospace</option>\r\n </select>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-bold\" aria-label=\"Bold\" type=\"button\"></button>\r\n <button class=\"ql-italic\" aria-label=\"Italic\" type=\"button\"></button>\r\n <button class=\"ql-underline\" aria-label=\"Underline\" type=\"button\"></button>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-list\" value=\"ordered\" aria-label=\"Ordered List\" type=\"button\"></button>\r\n <button class=\"ql-list\" value=\"bullet\" aria-label=\"Unordered List\" type=\"button\"></button>\r\n <select class=\"ql-align\">\r\n <option selected></option>\r\n <option value=\"center\">center</option>\r\n <option value=\"right\">right</option>\r\n <option value=\"justify\">justify</option>\r\n </select>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-link\" aria-label=\"Insert Link\" type=\"button\"></button>\r\n <button class=\"ql-image\" aria-label=\"Insert Image\" type=\"button\"></button>\r\n <button class=\"ql-code-block\" aria-label=\"Insert Code Block\" type=\"button\"></button>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-clean\" aria-label=\"Remove Styles\" type=\"button\"></button>\r\n </span>\r\n </div>\r\n <div class=\"cax-editor-content\" [ngStyle]=\"style\"></div>\r\n</div>", styles: [".cax-editor-container .cax-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item{width:auto;height:auto}\n"] }]
346
248
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
347
249
  type: Inject,
348
250
  args: [PLATFORM_ID]
@@ -377,15 +279,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
377
279
  type: ContentChild,
378
280
  args: [Header]
379
281
  }] } });
282
+
380
283
  class EditorModule {
381
284
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
382
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: EditorModule, declarations: [Editor], imports: [CommonModule], exports: [Editor, SharedModule] });
383
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EditorModule, imports: [CommonModule, SharedModule] });
285
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: EditorModule, declarations: [Editor], imports: [CommonModule, SharedModule], exports: [Editor, SharedModule] });
286
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EditorModule, imports: [CommonModule, SharedModule, SharedModule] });
384
287
  }
385
288
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EditorModule, decorators: [{
386
289
  type: NgModule,
387
290
  args: [{
388
- imports: [CommonModule],
291
+ imports: [CommonModule, SharedModule],
389
292
  exports: [Editor, SharedModule],
390
293
  declarations: [Editor]
391
294
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-editor.mjs","sources":["../../src/app/components/editor/editor.ts","../../src/app/components/editor/cax-design-system-editor.ts"],"sourcesContent":["import { CommonModule, isPlatformServer } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n Output,\n PLATFORM_ID,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n afterNextRender,\n forwardRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Header, CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { EditorInitEvent, EditorSelectionChangeEvent, EditorTextChangeEvent } from './editor.interface';\n\nexport const EDITOR_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Editor),\n multi: true\n};\n/**\n * Editor groups a collection of contents in tabs.\n * @group Components\n */\n@Component({\n selector: 'p-editor',\n template: `\n <div [ngClass]=\"'p-editor-container'\" [class]=\"styleClass\">\n <div class=\"p-editor-toolbar\" *ngIf=\"toolbar || headerTemplate\">\n <ng-content select=\"cax-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div class=\"p-editor-toolbar\" *ngIf=\"!modules && !toolbar && !headerTemplate\">\n <span class=\"ql-formats\">\n <select class=\"ql-header\">\n <option value=\"1\">Heading</option>\n <option value=\"2\">Subheading</option>\n <option selected>Normal</option>\n </select>\n <select class=\"ql-font\">\n <option selected>Sans Serif</option>\n <option value=\"serif\">Serif</option>\n <option value=\"monospace\">Monospace</option>\n </select>\n </span>\n <span class=\"ql-formats\">\n <button class=\"ql-bold\" aria-label=\"Bold\" type=\"button\"></button>\n <button class=\"ql-italic\" aria-label=\"Italic\" type=\"button\"></button>\n <button class=\"ql-underline\" aria-label=\"Underline\" type=\"button\"></button>\n </span>\n <span class=\"ql-formats\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n <span class=\"ql-formats\">\n <button class=\"ql-list\" value=\"ordered\" aria-label=\"Ordered List\" type=\"button\"></button>\n <button class=\"ql-list\" value=\"bullet\" aria-label=\"Unordered List\" type=\"button\"></button>\n <select class=\"ql-align\">\n <option selected></option>\n <option value=\"center\">center</option>\n <option value=\"right\">right</option>\n <option value=\"justify\">justify</option>\n </select>\n </span>\n <span class=\"ql-formats\">\n <button class=\"ql-link\" aria-label=\"Insert Link\" type=\"button\"></button>\n <button class=\"ql-image\" aria-label=\"Insert Image\" type=\"button\"></button>\n <button class=\"ql-code-block\" aria-label=\"Insert Code Block\" type=\"button\"></button>\n </span>\n <span class=\"ql-formats\">\n <button class=\"ql-clean\" aria-label=\"Remove Styles\" type=\"button\"></button>\n </span>\n </div>\n <div class=\"p-editor-content\" [ngStyle]=\"style\"></div>\n </div>\n `,\n providers: [EDITOR_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./editor.css'],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'cax-element'\n }\n})\nexport class Editor implements AfterContentInit, ControlValueAccessor {\n /**\n * Inline style of the container.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the container.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Placeholder text to show when editor is empty.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * Whitelist of formats to display, see here for available options.\n * @group Props\n */\n @Input() formats: string[] | undefined;\n /**\n * Modules configuration of Editor, see here for available options.\n * @group Props\n */\n @Input() modules: object | undefined;\n /**\n * DOM Element or a CSS selector for a DOM Element, within which the editor’s p elements (i.e. tooltips, etc.) should be confined. Currently, it only considers left and right boundaries.\n * @group Props\n */\n @Input() bounds: HTMLElement | string | undefined;\n /**\n * DOM Element or a CSS selector for a DOM Element, specifying which container has the scrollbars (i.e. overflow-y: auto), if is has been changed from the default ql-editor with custom CSS. Necessary to fix scroll jumping bugs when Quill is set to auto grow its height, and another ancestor container is responsible from the scrolling..\n * @group Props\n */\n @Input() scrollingContainer: HTMLElement | string | undefined;\n /**\n * Shortcut for debug. Note debug is a static method and will affect other instances of Quill editors on the page. Only warning and error messages are enabled by default.\n * @group Props\n */\n @Input() debug: string | undefined;\n /**\n * Whether to instantiate the editor to read-only mode.\n * @group Props\n */\n @Input() get readonly(): boolean {\n return this._readonly;\n }\n set readonly(val: boolean) {\n this._readonly = val;\n\n if (this.quill) {\n if (this._readonly) this.quill.disable();\n else this.quill.enable();\n }\n }\n /**\n * Callback to invoke when the quill modules are loaded.\n * @param {EditorInitEvent} event - custom event.\n * @group Emits\n */\n @Output() onInit: EventEmitter<EditorInitEvent> = new EventEmitter<EditorInitEvent>();\n /**\n * Callback to invoke when text of editor changes.\n * @param {EditorTextChangeEvent} event - custom event.\n * @group Emits\n */\n @Output() onTextChange: EventEmitter<EditorTextChangeEvent> = new EventEmitter<EditorTextChangeEvent>();\n /**\n * Callback to invoke when selection of the text changes.\n * @param {EditorSelectionChangeEvent} event - custom event.\n * @group Emits\n */\n @Output() onSelectionChange: EventEmitter<EditorSelectionChangeEvent> = new EventEmitter<EditorSelectionChangeEvent>();\n\n @ContentChildren(CaxTemplate) templates!: QueryList<CaxTemplate>;\n\n @ContentChild(Header) toolbar: any;\n\n value: Nullable<string>;\n\n delayedCommand: Function | null = null;\n\n _readonly: boolean = false;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n quill: any;\n\n dynamicQuill: any;\n\n headerTemplate: Nullable<TemplateRef<any>>;\n\n private get isAttachedQuillEditorToDOM(): boolean | undefined {\n return this.quillElements?.editorElement?.isConnected;\n }\n\n private quillElements!: { editorElement: HTMLElement; toolbarElement: HTMLElement };\n\n constructor(\n public el: ElementRef,\n @Inject(PLATFORM_ID) private platformId: object\n ) {\n /**\n * Read or write the DOM once, when initializing non-Angular (Quill) library.\n */\n afterNextRender(() => {\n this.initQuillElements();\n this.initQuillEditor();\n });\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'header':\n this.headerTemplate = item.template;\n break;\n }\n });\n }\n\n writeValue(value: any): void {\n this.value = value;\n\n if (this.quill) {\n if (value) {\n const command = (): void => {\n this.quill.setContents(this.quill.clipboard.convert(this.dynamicQuill.version.startsWith('2') ? { html: this.value } : this.value));\n };\n\n if (this.isAttachedQuillEditorToDOM) {\n command();\n } else {\n this.delayedCommand = command;\n }\n } else {\n const command = (): void => {\n this.quill.setText('');\n };\n\n if (this.isAttachedQuillEditorToDOM) {\n command();\n } else {\n this.delayedCommand = command;\n }\n }\n }\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n getQuill() {\n return this.quill;\n }\n\n private initQuillEditor(): void {\n if (isPlatformServer(this.platformId)) {\n return;\n }\n\n /**\n * Importing Quill at top level, throws `document is undefined` error during when\n * building for SSR, so this dynamically loads quill when it's in browser module.\n */\n if (!this.dynamicQuill) {\n import('quill')\n .then((quillModule: any) => {\n this.dynamicQuill = quillModule.default;\n this.createQuillEditor();\n })\n .catch((e) => console.error(e.message));\n } else {\n this.createQuillEditor();\n }\n }\n\n private createQuillEditor(): void {\n this.initQuillElements();\n\n const { toolbarElement, editorElement } = this.quillElements;\n let defaultModule = { toolbar: toolbarElement };\n let modules = this.modules ? { ...defaultModule, ...this.modules } : defaultModule;\n this.quill = new this.dynamicQuill(editorElement, {\n modules: modules,\n placeholder: this.placeholder,\n readOnly: this.readonly,\n theme: 'snow',\n formats: this.formats,\n bounds: this.bounds,\n debug: this.debug,\n scrollingContainer: this.scrollingContainer\n });\n\n const isQuill2 = this.dynamicQuill.version.startsWith('2');\n\n if (this.value) {\n this.quill.setContents(this.quill.clipboard.convert(isQuill2 ? { html: this.value } : this.value));\n }\n\n this.quill.on('text-change', (delta: any, oldContents: any, source: any) => {\n if (source === 'user') {\n let html = isQuill2 ? this.quill.getSemanticHTML() : DomHandler.findSingle(editorElement, '.ql-editor').innerHTML;\n let text = this.quill.getText().trim();\n if (html === '<p><br></p>') {\n html = null;\n }\n\n this.onTextChange.emit({\n htmlValue: html,\n textValue: text,\n delta: delta,\n source: source\n });\n\n this.onModelChange(html);\n this.onModelTouched();\n }\n });\n\n this.quill.on('selection-change', (range: string, oldRange: string, source: string) => {\n this.onSelectionChange.emit({\n range: range,\n oldRange: oldRange,\n source: source\n });\n });\n\n this.onInit.emit({\n editor: this.quill\n });\n }\n\n private initQuillElements(): void {\n if (!this.quillElements) {\n this.quillElements = {\n editorElement: DomHandler.findSingle(this.el.nativeElement, 'div.p-editor-content'),\n toolbarElement: DomHandler.findSingle(this.el.nativeElement, 'div.p-editor-toolbar')\n };\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Editor, SharedModule],\n declarations: [Editor]\n})\nexport class EditorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;AA0Ba,MAAA,qBAAqB,GAAQ;AACtC,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,MAAM,CAAC;AACrC,IAAA,KAAK,EAAE,IAAI;EACb;AACF;;;AAGG;MA6DU,MAAM,CAAA;AAsGJ,IAAA,EAAA,CAAA;AACsB,IAAA,UAAA,CAAA;AAtGjC;;;AAGG;AACM,IAAA,KAAK,CAA8C;AAC5D;;;AAGG;AACM,IAAA,UAAU,CAAqB;AACxC;;;AAGG;AACM,IAAA,WAAW,CAAqB;AACzC;;;AAGG;AACM,IAAA,OAAO,CAAuB;AACvC;;;AAGG;AACM,IAAA,OAAO,CAAqB;AACrC;;;AAGG;AACM,IAAA,MAAM,CAAmC;AAClD;;;AAGG;AACM,IAAA,kBAAkB,CAAmC;AAC9D;;;AAGG;AACM,IAAA,KAAK,CAAqB;AACnC;;;AAGG;AACH,IAAA,IAAa,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IACD,IAAI,QAAQ,CAAC,GAAY,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;AAErB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,IAAI,CAAC,SAAS;AAAE,gBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;;AACpC,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SAC5B;KACJ;AACD;;;;AAIG;AACO,IAAA,MAAM,GAAkC,IAAI,YAAY,EAAmB,CAAC;AACtF;;;;AAIG;AACO,IAAA,YAAY,GAAwC,IAAI,YAAY,EAAyB,CAAC;AACxG;;;;AAIG;AACO,IAAA,iBAAiB,GAA6C,IAAI,YAAY,EAA8B,CAAC;AAEzF,IAAA,SAAS,CAA0B;AAE3C,IAAA,OAAO,CAAM;AAEnC,IAAA,KAAK,CAAmB;IAExB,cAAc,GAAoB,IAAI,CAAC;IAEvC,SAAS,GAAY,KAAK,CAAC;AAE3B,IAAA,aAAa,GAAa,MAAK,GAAG,CAAC;AAEnC,IAAA,cAAc,GAAa,MAAK,GAAG,CAAC;AAEpC,IAAA,KAAK,CAAM;AAEX,IAAA,YAAY,CAAM;AAElB,IAAA,cAAc,CAA6B;AAE3C,IAAA,IAAY,0BAA0B,GAAA;AAClC,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,CAAC;KACzD;AAEO,IAAA,aAAa,CAA+D;IAEpF,WACW,CAAA,EAAc,EACQ,UAAkB,EAAA;QADxC,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACQ,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;AAE/C;;AAEG;QACH,eAAe,CAAC,MAAK;YACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,EAAE,CAAC;AAC3B,SAAC,CAAC,CAAC;KACN;IAED,kBAAkB,GAAA;QACd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,QAAQ;AACT,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACpC,MAAM;aACb;AACL,SAAC,CAAC,CAAC;KACN;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAEnB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,KAAK,EAAE;gBACP,MAAM,OAAO,GAAG,MAAW;AACvB,oBAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACxI,iBAAC,CAAC;AAEF,gBAAA,IAAI,IAAI,CAAC,0BAA0B,EAAE;AACjC,oBAAA,OAAO,EAAE,CAAC;iBACb;qBAAM;AACH,oBAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;iBACjC;aACJ;iBAAM;gBACH,MAAM,OAAO,GAAG,MAAW;AACvB,oBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC3B,iBAAC,CAAC;AAEF,gBAAA,IAAI,IAAI,CAAC,0BAA0B,EAAE;AACjC,oBAAA,OAAO,EAAE,CAAC;iBACb;qBAAM;AACH,oBAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;iBACjC;aACJ;SACJ;KACJ;AAED,IAAA,gBAAgB,CAAC,EAAY,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KAC3B;AAED,IAAA,iBAAiB,CAAC,EAAY,EAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;KAC5B;IAED,QAAQ,GAAA;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;IAEO,eAAe,GAAA;AACnB,QAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACnC,OAAO;SACV;AAED;;;AAGG;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,OAAO,OAAO,CAAC;AACV,iBAAA,IAAI,CAAC,CAAC,WAAgB,KAAI;AACvB,gBAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC;gBACxC,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC7B,aAAC,CAAC;AACD,iBAAA,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAC/C;aAAM;YACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B;KACJ;IAEO,iBAAiB,GAAA;QACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAC7D,QAAA,IAAI,aAAa,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC;QACnF,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;AAC9C,YAAA,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;AAC9C,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAE3D,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,YAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACtG;AAED,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAU,EAAE,WAAgB,EAAE,MAAW,KAAI;AACvE,YAAA,IAAI,MAAM,KAAK,MAAM,EAAE;gBACnB,IAAI,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC;gBAClH,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;AACvC,gBAAA,IAAI,IAAI,KAAK,aAAa,EAAE;oBACxB,IAAI,GAAG,IAAI,CAAC;iBACf;AAED,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACnB,oBAAA,SAAS,EAAE,IAAI;AACf,oBAAA,SAAS,EAAE,IAAI;AACf,oBAAA,KAAK,EAAE,KAAK;AACZ,oBAAA,MAAM,EAAE,MAAM;AACjB,iBAAA,CAAC,CAAC;AAEH,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,CAAC,cAAc,EAAE,CAAC;aACzB;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAa,EAAE,QAAgB,EAAE,MAAc,KAAI;AAClF,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AACxB,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,MAAM,EAAE,MAAM;AACjB,aAAA,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACb,MAAM,EAAE,IAAI,CAAC,KAAK;AACrB,SAAA,CAAC,CAAC;KACN;IAEO,iBAAiB,GAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,IAAI,CAAC,aAAa,GAAG;AACjB,gBAAA,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,sBAAsB,CAAC;AACnF,gBAAA,cAAc,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,sBAAsB,CAAC;aACvF,CAAC;SACL;KACJ;AAxPQ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAM,4CAuGH,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAvGd,MAAM,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EARJ,CAAC,qBAAqB,CAAC,+DAqFpB,MAAM,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAFH,WAAW,EArIlB,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,mIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FASQ,MAAM,EAAA,UAAA,EAAA,CAAA;kBA5DlB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EACV,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiDT,EACU,SAAA,EAAA,CAAC,qBAAqB,CAAC,EACjB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAEhC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC/B,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,aAAa;AACvB,qBAAA,EAAA,MAAA,EAAA,CAAA,mIAAA,CAAA,EAAA,CAAA;;0BAyGI,MAAM;2BAAC,WAAW,CAAA;yCAlGd,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKO,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAgBI,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAMG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBAMG,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBAEuB,SAAS,EAAA,CAAA;sBAAtC,eAAe;uBAAC,WAAW,CAAA;gBAEN,OAAO,EAAA,CAAA;sBAA5B,YAAY;uBAAC,MAAM,CAAA;;MAmLX,YAAY,CAAA;uGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iBAhQZ,MAAM,CAAA,EAAA,OAAA,EAAA,CA4PL,YAAY,CA5Pb,EAAA,OAAA,EAAA,CAAA,MAAM,EA6PG,YAAY,CAAA,EAAA,CAAA,CAAA;wGAGrB,YAAY,EAAA,OAAA,EAAA,CAJX,YAAY,EACJ,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAGrB,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;oBAC/B,YAAY,EAAE,CAAC,MAAM,CAAC;AACzB,iBAAA,CAAA;;;AC9VD;;AAEG;;;;"}
1
+ {"version":3,"file":"cax-design-system-editor.mjs","sources":["../../src/app/components/editor/editor.ts","../../src/app/components/editor/editor.html","../../src/app/components/editor/editor.module.ts","../../src/app/components/editor/cax-design-system-editor.ts"],"sourcesContent":["import { CommonModule, isPlatformServer } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n Output,\n PLATFORM_ID,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n afterNextRender,\n forwardRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Header, CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { EditorInitEvent, EditorSelectionChangeEvent, EditorTextChangeEvent } from './editor.interface';\n\nexport const EDITOR_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Editor),\n multi: true\n};\n/**\n * Editor groups a collection of contents in tabs.\n * @group Components\n */\n@Component({\n selector: 'cax-editor',\n templateUrl: `./editor.html`,\n providers: [EDITOR_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./editor.scss'],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'cax-element'\n }\n})\nexport class Editor implements AfterContentInit, ControlValueAccessor {\n /**\n * Inline style of the container.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the container.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Placeholder text to show when editor is empty.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * Whitelist of formats to display, see here for available options.\n * @group Props\n */\n @Input() formats: string[] | undefined;\n /**\n * Modules configuration of Editor, see here for available options.\n * @group Props\n */\n @Input() modules: object | undefined;\n /**\n * DOM Element or a CSS selector for a DOM Element, within which the editor’s p elements (i.e. tooltips, etc.) should be confined. Currently, it only considers left and right boundaries.\n * @group Props\n */\n @Input() bounds: HTMLElement | string | undefined;\n /**\n * DOM Element or a CSS selector for a DOM Element, specifying which container has the scrollbars (i.e. overflow-y: auto), if is has been changed from the default ql-editor with custom CSS. Necessary to fix scroll jumping bugs when Quill is set to auto grow its height, and another ancestor container is responsible from the scrolling..\n * @group Props\n */\n @Input() scrollingContainer: HTMLElement | string | undefined;\n /**\n * Shortcut for debug. Note debug is a static method and will affect other instances of Quill editors on the page. Only warning and error messages are enabled by default.\n * @group Props\n */\n @Input() debug: string | undefined;\n /**\n * Whether to instantiate the editor to read-only mode.\n * @group Props\n */\n @Input() get readonly(): boolean {\n return this._readonly;\n }\n set readonly(val: boolean) {\n this._readonly = val;\n\n if (this.quill) {\n if (this._readonly) this.quill.disable();\n else this.quill.enable();\n }\n }\n /**\n * Callback to invoke when the quill modules are loaded.\n * @param {EditorInitEvent} event - custom event.\n * @group Emits\n */\n @Output() onInit: EventEmitter<EditorInitEvent> = new EventEmitter<EditorInitEvent>();\n /**\n * Callback to invoke when text of editor changes.\n * @param {EditorTextChangeEvent} event - custom event.\n * @group Emits\n */\n @Output() onTextChange: EventEmitter<EditorTextChangeEvent> = new EventEmitter<EditorTextChangeEvent>();\n /**\n * Callback to invoke when selection of the text changes.\n * @param {EditorSelectionChangeEvent} event - custom event.\n * @group Emits\n */\n @Output() onSelectionChange: EventEmitter<EditorSelectionChangeEvent> = new EventEmitter<EditorSelectionChangeEvent>();\n\n @ContentChildren(CaxTemplate) templates!: QueryList<CaxTemplate>;\n\n @ContentChild(Header) toolbar: any;\n\n value: Nullable<string>;\n\n delayedCommand: Function | null = null;\n\n _readonly: boolean = false;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n quill: any;\n\n dynamicQuill: any;\n\n headerTemplate: Nullable<TemplateRef<any>>;\n\n private get isAttachedQuillEditorToDOM(): boolean | undefined {\n return this.quillElements?.editorElement?.isConnected;\n }\n\n private quillElements!: { editorElement: HTMLElement; toolbarElement: HTMLElement };\n\n constructor(\n public el: ElementRef,\n @Inject(PLATFORM_ID) private platformId: object\n ) {\n /**\n * Read or write the DOM once, when initializing non-Angular (Quill) library.\n */\n afterNextRender(() => {\n this.initQuillElements();\n this.initQuillEditor();\n });\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'header':\n this.headerTemplate = item.template;\n break;\n }\n });\n }\n\n writeValue(value: any): void {\n this.value = value;\n\n if (this.quill) {\n if (value) {\n const command = (): void => {\n this.quill.setContents(this.quill.clipboard.convert(this.dynamicQuill.version.startsWith('2') ? { html: this.value } : this.value));\n };\n\n if (this.isAttachedQuillEditorToDOM) {\n command();\n } else {\n this.delayedCommand = command;\n }\n } else {\n const command = (): void => {\n this.quill.setText('');\n };\n\n if (this.isAttachedQuillEditorToDOM) {\n command();\n } else {\n this.delayedCommand = command;\n }\n }\n }\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n getQuill() {\n return this.quill;\n }\n\n private initQuillEditor(): void {\n if (isPlatformServer(this.platformId)) {\n return;\n }\n\n /**\n * Importing Quill at top level, throws `document is undefined` error during when\n * building for SSR, so this dynamically loads quill when it's in browser module.\n */\n if (!this.dynamicQuill) {\n import('quill')\n .then((quillModule: any) => {\n this.dynamicQuill = quillModule.default;\n this.createQuillEditor();\n })\n .catch((e) => console.error(e.message));\n } else {\n this.createQuillEditor();\n }\n }\n\n private createQuillEditor(): void {\n this.initQuillElements();\n\n const { toolbarElement, editorElement } = this.quillElements;\n let defaultModule = { toolbar: toolbarElement };\n let modules = this.modules ? { ...defaultModule, ...this.modules } : defaultModule;\n this.quill = new this.dynamicQuill(editorElement, {\n modules: modules,\n placeholder: this.placeholder,\n readOnly: this.readonly,\n theme: 'snow',\n formats: this.formats,\n bounds: this.bounds,\n debug: this.debug,\n scrollingContainer: this.scrollingContainer\n });\n\n const isQuill2 = this.dynamicQuill.version.startsWith('2');\n\n if (this.value) {\n this.quill.setContents(this.quill.clipboard.convert(isQuill2 ? { html: this.value } : this.value));\n }\n\n this.quill.on('text-change', (delta: any, oldContents: any, source: any) => {\n if (source === 'user') {\n let html = isQuill2 ? this.quill.getSemanticHTML() : DomHandler.findSingle(editorElement, '.ql-editor').innerHTML;\n let text = this.quill.getText().trim();\n if (html === '<p><br></p>') {\n html = null;\n }\n\n this.onTextChange.emit({\n htmlValue: html,\n textValue: text,\n delta: delta,\n source: source\n });\n\n this.onModelChange(html);\n this.onModelTouched();\n }\n });\n\n this.quill.on('selection-change', (range: string, oldRange: string, source: string) => {\n this.onSelectionChange.emit({\n range: range,\n oldRange: oldRange,\n source: source\n });\n });\n\n this.onInit.emit({\n editor: this.quill\n });\n }\n\n private initQuillElements(): void {\n if (!this.quillElements) {\n this.quillElements = {\n editorElement: DomHandler.findSingle(this.el.nativeElement, 'div.cax-editor-content'),\n toolbarElement: DomHandler.findSingle(this.el.nativeElement, 'div.cax-editor-toolbar')\n };\n }\n }\n}\n","<div [ngClass]=\"'cax-editor-container'\" [class]=\"styleClass\">\r\n <div class=\"cax-editor-toolbar\" *ngIf=\"toolbar || headerTemplate\">\r\n <ng-content select=\"cax-header\"></ng-content>\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </div>\r\n <div class=\"cax-editor-toolbar\" *ngIf=\"!modules && !toolbar && !headerTemplate\">\r\n <span class=\"ql-formats\">\r\n <select class=\"ql-header\">\r\n <option value=\"1\">Heading</option>\r\n <option value=\"2\">Subheading</option>\r\n <option selected>Normal</option>\r\n </select>\r\n <select class=\"ql-font\">\r\n <option selected>Sans Serif</option>\r\n <option value=\"serif\">Serif</option>\r\n <option value=\"monospace\">Monospace</option>\r\n </select>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-bold\" aria-label=\"Bold\" type=\"button\"></button>\r\n <button class=\"ql-italic\" aria-label=\"Italic\" type=\"button\"></button>\r\n <button class=\"ql-underline\" aria-label=\"Underline\" type=\"button\"></button>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-list\" value=\"ordered\" aria-label=\"Ordered List\" type=\"button\"></button>\r\n <button class=\"ql-list\" value=\"bullet\" aria-label=\"Unordered List\" type=\"button\"></button>\r\n <select class=\"ql-align\">\r\n <option selected></option>\r\n <option value=\"center\">center</option>\r\n <option value=\"right\">right</option>\r\n <option value=\"justify\">justify</option>\r\n </select>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-link\" aria-label=\"Insert Link\" type=\"button\"></button>\r\n <button class=\"ql-image\" aria-label=\"Insert Image\" type=\"button\"></button>\r\n <button class=\"ql-code-block\" aria-label=\"Insert Code Block\" type=\"button\"></button>\r\n </span>\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-clean\" aria-label=\"Remove Styles\" type=\"button\"></button>\r\n </span>\r\n </div>\r\n <div class=\"cax-editor-content\" [ngStyle]=\"style\"></div>\r\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Editor } from './editor';\nimport { SharedModule } from 'cax-design-system/api';\n\n@NgModule({\n imports: [CommonModule, SharedModule],\n exports: [Editor, SharedModule],\n declarations: [Editor]\n})\nexport class EditorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -5,10 +5,10 @@ import { forwardRef, EventEmitter, PLATFORM_ID, booleanAttribute, numberAttribut
5
5
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
6
  import * as i1 from 'cax-design-system/api';
7
7
  import { CaxTemplate, SharedModule } from 'cax-design-system/api';
8
- import { AutoFocusModule } from 'cax-design-system/autofocus';
9
8
  import { DomHandler } from 'cax-design-system/dom';
9
+ import * as i3 from 'cax-design-system/icons/times';
10
10
  import { TimesIcon } from 'cax-design-system/icons/times';
11
- import * as i3 from 'cax-design-system/inputtext';
11
+ import { AutoFocusModule } from 'cax-design-system/autofocus';
12
12
  import { InputTextModule } from 'cax-design-system/inputtext';
13
13
 
14
14
  /*
@@ -257,9 +257,19 @@ class InputMask {
257
257
  androidChrome = true;
258
258
  focused;
259
259
  _variant = 'outlined';
260
+ label;
261
+ leftIcon = false;
262
+ rightIcon = false;
263
+ clearIcon = false;
264
+ leftIconClass = '';
265
+ rightIconClass = '';
266
+ invalid = false;
267
+ errorText;
268
+ successText;
269
+ heightsize = 'md';
260
270
  get inputClass() {
261
271
  return {
262
- 'p-inputmask': true
272
+ 'cax-inputmask': true
263
273
  };
264
274
  }
265
275
  constructor(document, platformId, el, cd, config) {
@@ -718,96 +728,16 @@ class InputMask {
718
728
  this.onClear.emit();
719
729
  }
720
730
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InputMask, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
721
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: InputMask, selector: "p-inputMask", inputs: { type: "type", slotChar: "slotChar", autoClear: ["autoClear", "autoClear", booleanAttribute], showClear: ["showClear", "showClear", booleanAttribute], style: "style", inputId: "inputId", styleClass: "styleClass", placeholder: "placeholder", size: ["size", "size", numberAttribute], maxlength: ["maxlength", "maxlength", numberAttribute], tabindex: "tabindex", title: "title", variant: "variant", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaRequired: ["ariaRequired", "ariaRequired", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], unmask: ["unmask", "unmask", booleanAttribute], name: "name", required: ["required", "required", booleanAttribute], characterPattern: "characterPattern", autofocus: ["autofocus", "autofocus", booleanAttribute], autoFocus: ["autoFocus", "autoFocus", booleanAttribute], autocomplete: "autocomplete", keepBuffer: ["keepBuffer", "keepBuffer", booleanAttribute], mask: "mask" }, outputs: { onComplete: "onComplete", onFocus: "onFocus", onBlur: "onBlur", onInput: "onInput", onKeydown: "onKeydown", onClear: "onClear" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focused", "class.p-inputmask-clearable": "showClear && !disabled" }, classAttribute: "cax-element" }, providers: [INPUTMASK_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: `
722
- <input
723
- #input
724
- caxInputText
725
- [class]="styleClass"
726
- [ngClass]="inputClass"
727
- [attr.id]="inputId"
728
- [attr.type]="type"
729
- [attr.name]="name"
730
- [ngStyle]="style"
731
- [attr.placeholder]="placeholder"
732
- [attr.title]="title"
733
- [attr.size]="size"
734
- [attr.autocomplete]="autocomplete"
735
- [attr.maxlength]="maxlength"
736
- [attr.tabindex]="tabindex"
737
- [attr.aria-label]="ariaLabel"
738
- [attr.aria-labelledBy]="ariaLabelledBy"
739
- [attr.aria-required]="ariaRequired"
740
- [disabled]="disabled"
741
- [readonly]="readonly"
742
- [attr.required]="required"
743
- (focus)="onInputFocus($event)"
744
- (blur)="onInputBlur($event)"
745
- (keydown)="onInputKeydown($event)"
746
- (keypress)="onKeyPress($event)"
747
- pAutoFocus
748
- [variant]="variant"
749
- [autofocus]="autofocus"
750
- (input)="onInputChange($event)"
751
- (paste)="handleInputChange($event)"
752
- [attr.data-pc-name]="'inputmask'"
753
- [attr.data-pc-section]="'root'"
754
- />
755
- <ng-container *ngIf="value != null && filled && showClear && !disabled">
756
- <TimesIcon *ngIf="!clearIconTemplate" [styleClass]="'p-inputmask-clear-icon'" (click)="clear()" [attr.data-pc-section]="'clearIcon'" />
757
- <span *ngIf="clearIconTemplate" class="p-inputmask-clear-icon" (click)="clear()" [attr.data-pc-section]="'clearIcon'">
758
- <ng-template *ngTemplateOutlet="clearIconTemplate"></ng-template>
759
- </span>
760
- </ng-container>
761
- `, isInline: true, styles: ["@layer cax{.p-inputmask-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-inputmask-clearable{position:relative}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i2.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(() => i3.InputtextDirective), selector: "[caxInputText]", inputs: ["placeholder", "disabled", "variant"], outputs: ["valueChange"] }, { kind: "component", type: i0.forwardRef(() => TimesIcon), selector: "TimesIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
731
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: InputMask, selector: "cax-inputMask", inputs: { type: "type", slotChar: "slotChar", autoClear: ["autoClear", "autoClear", booleanAttribute], showClear: ["showClear", "showClear", booleanAttribute], style: "style", inputId: "inputId", styleClass: "styleClass", placeholder: "placeholder", size: ["size", "size", numberAttribute], maxlength: ["maxlength", "maxlength", numberAttribute], tabindex: "tabindex", title: "title", variant: "variant", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaRequired: ["ariaRequired", "ariaRequired", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], unmask: ["unmask", "unmask", booleanAttribute], name: "name", required: ["required", "required", booleanAttribute], characterPattern: "characterPattern", autofocus: ["autofocus", "autofocus", booleanAttribute], autoFocus: ["autoFocus", "autoFocus", booleanAttribute], autocomplete: "autocomplete", keepBuffer: ["keepBuffer", "keepBuffer", booleanAttribute], mask: "mask", label: "label", leftIcon: "leftIcon", rightIcon: "rightIcon", clearIcon: "clearIcon", leftIconClass: "leftIconClass", rightIconClass: "rightIconClass", invalid: "invalid", errorText: "errorText", successText: "successText", heightsize: "heightsize" }, outputs: { onComplete: "onComplete", onFocus: "onFocus", onBlur: "onBlur", onInput: "onInput", onKeydown: "onKeydown", onClear: "onClear" }, host: { properties: { "class.cax-inputwrapper-filled": "filled", "class.cax-inputwrapper-focus": "focused", "class.cax-inputmask-clearable": "showClear && !disabled" }, classAttribute: "cax-element" }, providers: [INPUTMASK_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"cax-input-container\"\r\n [class]=\"styleClass\"\r\n [ngClass]=\"'cax-input-size-' + heightsize\"\r\n [ngStyle]=\"style\">\r\n <label *ngIf=\"label\" class=\"cax-label\" [ngClass]=\"{'disabled-opacity': disabled}\">{{ label }}</label>\r\n\r\n <div class=\"cax-input-wrapper\"\r\n [ngClass]=\"{\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon,\r\n 'with-clear-icon': clearIcon && value,\r\n 'input-disabled': disabled\r\n }\"\r\n >\r\n <!-- Left Icon -->\r\n <span *ngIf=\"leftIcon\"\r\n class=\"cax-icon-container cax-icon-left\">\r\n <i [ngClass]=\"leftIconClass\"></i>\r\n </span>\r\n\r\n <input\r\n #input\r\n [class]=\"styleClass\"\r\n [ngClass]=\"{\r\n 'cax-inputtext': true,\r\n 'cax-inputmask': true,\r\n 'cax-input-invalid': invalid,\r\n 'input-disabled': disabled,\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon || (clearIcon && value)\r\n }\"\r\n [attr.id]=\"inputId\"\r\n [attr.type]=\"type\"\r\n [attr.name]=\"name\"\r\n [ngStyle]=\"style\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"ariaRequired\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.required]=\"required\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (keydown)=\"onInputKeydown($event)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n (input)=\"onInputChange($event)\"\r\n (paste)=\"handleInputChange($event)\"\r\n [attr.data-pc-name]=\"'inputmask'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [attr.aria-describedby]=\"successText || invalid ? 'helper-text' : null\"\r\n />\r\n\r\n <!-- Clear Icon (before right icon) -->\r\n <span *ngIf=\"clearIcon && value\"\r\n class=\"cax-icon-container cax-clear-icon clickable-icon\"\r\n [ngClass]=\"{'no-right-icon': !rightIcon}\"\r\n (click)=\"clear()\">\r\n <i class=\"cax cax-close-circle\"></i>\r\n</span>\r\n\r\n<!-- Right Icon -->\r\n<span *ngIf=\"rightIcon\"\r\n class=\"cax-icon-container cax-icon-right\">\r\n <i [ngClass]=\"rightIconClass\"></i>\r\n</span>\r\n</div>\r\n\r\n<!-- Error Message with conditional opacity -->\r\n<small *ngIf=\"invalid\" id=\"helper-text\" class=\"cax-error disabled-opacity\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ errorText }} </small>\r\n\r\n<!-- Helper Text with conditional opacity -->\r\n<small *ngIf=\"successText && !invalid\" id=\"helper-text\" class=\"cax-helper-text\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ successText }} </small>\r\n</div>\r\n\r\n<ng-container *ngIf=\"value != null && filled && showClear && !disabled\">\r\n <TimesIcon *ngIf=\"!clearIconTemplate\" [styleClass]=\"'cax-inputmask-clear-icon'\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\" />\r\n <span *ngIf=\"clearIconTemplate\" class=\"p-inputmask-clear-icon\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\">\r\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\r\n </span>\r\n</ng-container>\r\n", styles: ["@layer cax{.cax-inputmask-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.cax-inputmask-clearable{position:relative}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.TimesIcon, selector: "TimesIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
762
732
  }
763
733
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InputMask, decorators: [{
764
734
  type: Component,
765
- args: [{ selector: 'p-inputMask', template: `
766
- <input
767
- #input
768
- caxInputText
769
- [class]="styleClass"
770
- [ngClass]="inputClass"
771
- [attr.id]="inputId"
772
- [attr.type]="type"
773
- [attr.name]="name"
774
- [ngStyle]="style"
775
- [attr.placeholder]="placeholder"
776
- [attr.title]="title"
777
- [attr.size]="size"
778
- [attr.autocomplete]="autocomplete"
779
- [attr.maxlength]="maxlength"
780
- [attr.tabindex]="tabindex"
781
- [attr.aria-label]="ariaLabel"
782
- [attr.aria-labelledBy]="ariaLabelledBy"
783
- [attr.aria-required]="ariaRequired"
784
- [disabled]="disabled"
785
- [readonly]="readonly"
786
- [attr.required]="required"
787
- (focus)="onInputFocus($event)"
788
- (blur)="onInputBlur($event)"
789
- (keydown)="onInputKeydown($event)"
790
- (keypress)="onKeyPress($event)"
791
- pAutoFocus
792
- [variant]="variant"
793
- [autofocus]="autofocus"
794
- (input)="onInputChange($event)"
795
- (paste)="handleInputChange($event)"
796
- [attr.data-pc-name]="'inputmask'"
797
- [attr.data-pc-section]="'root'"
798
- />
799
- <ng-container *ngIf="value != null && filled && showClear && !disabled">
800
- <TimesIcon *ngIf="!clearIconTemplate" [styleClass]="'p-inputmask-clear-icon'" (click)="clear()" [attr.data-pc-section]="'clearIcon'" />
801
- <span *ngIf="clearIconTemplate" class="p-inputmask-clear-icon" (click)="clear()" [attr.data-pc-section]="'clearIcon'">
802
- <ng-template *ngTemplateOutlet="clearIconTemplate"></ng-template>
803
- </span>
804
- </ng-container>
805
- `, host: {
735
+ args: [{ selector: 'cax-inputMask', host: {
806
736
  class: 'cax-element',
807
- '[class.p-inputwrapper-filled]': 'filled',
808
- '[class.p-inputwrapper-focus]': 'focused',
809
- '[class.p-inputmask-clearable]': 'showClear && !disabled'
810
- }, providers: [INPUTMASK_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: ["@layer cax{.p-inputmask-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-inputmask-clearable{position:relative}}\n"] }]
737
+ '[class.cax-inputwrapper-filled]': 'filled',
738
+ '[class.cax-inputwrapper-focus]': 'focused',
739
+ '[class.cax-inputmask-clearable]': 'showClear && !disabled'
740
+ }, providers: [INPUTMASK_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"cax-input-container\"\r\n [class]=\"styleClass\"\r\n [ngClass]=\"'cax-input-size-' + heightsize\"\r\n [ngStyle]=\"style\">\r\n <label *ngIf=\"label\" class=\"cax-label\" [ngClass]=\"{'disabled-opacity': disabled}\">{{ label }}</label>\r\n\r\n <div class=\"cax-input-wrapper\"\r\n [ngClass]=\"{\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon,\r\n 'with-clear-icon': clearIcon && value,\r\n 'input-disabled': disabled\r\n }\"\r\n >\r\n <!-- Left Icon -->\r\n <span *ngIf=\"leftIcon\"\r\n class=\"cax-icon-container cax-icon-left\">\r\n <i [ngClass]=\"leftIconClass\"></i>\r\n </span>\r\n\r\n <input\r\n #input\r\n [class]=\"styleClass\"\r\n [ngClass]=\"{\r\n 'cax-inputtext': true,\r\n 'cax-inputmask': true,\r\n 'cax-input-invalid': invalid,\r\n 'input-disabled': disabled,\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon || (clearIcon && value)\r\n }\"\r\n [attr.id]=\"inputId\"\r\n [attr.type]=\"type\"\r\n [attr.name]=\"name\"\r\n [ngStyle]=\"style\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"ariaRequired\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.required]=\"required\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (keydown)=\"onInputKeydown($event)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n (input)=\"onInputChange($event)\"\r\n (paste)=\"handleInputChange($event)\"\r\n [attr.data-pc-name]=\"'inputmask'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [attr.aria-describedby]=\"successText || invalid ? 'helper-text' : null\"\r\n />\r\n\r\n <!-- Clear Icon (before right icon) -->\r\n <span *ngIf=\"clearIcon && value\"\r\n class=\"cax-icon-container cax-clear-icon clickable-icon\"\r\n [ngClass]=\"{'no-right-icon': !rightIcon}\"\r\n (click)=\"clear()\">\r\n <i class=\"cax cax-close-circle\"></i>\r\n</span>\r\n\r\n<!-- Right Icon -->\r\n<span *ngIf=\"rightIcon\"\r\n class=\"cax-icon-container cax-icon-right\">\r\n <i [ngClass]=\"rightIconClass\"></i>\r\n</span>\r\n</div>\r\n\r\n<!-- Error Message with conditional opacity -->\r\n<small *ngIf=\"invalid\" id=\"helper-text\" class=\"cax-error disabled-opacity\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ errorText }} </small>\r\n\r\n<!-- Helper Text with conditional opacity -->\r\n<small *ngIf=\"successText && !invalid\" id=\"helper-text\" class=\"cax-helper-text\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ successText }} </small>\r\n</div>\r\n\r\n<ng-container *ngIf=\"value != null && filled && showClear && !disabled\">\r\n <TimesIcon *ngIf=\"!clearIconTemplate\" [styleClass]=\"'cax-inputmask-clear-icon'\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\" />\r\n <span *ngIf=\"clearIconTemplate\" class=\"p-inputmask-clear-icon\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\">\r\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\r\n </span>\r\n</ng-container>\r\n", styles: ["@layer cax{.cax-inputmask-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.cax-inputmask-clearable{position:relative}}\n"] }]
811
741
  }], ctorParameters: () => [{ type: Document, decorators: [{
812
742
  type: Inject,
813
743
  args: [DOCUMENT]
@@ -898,7 +828,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
898
828
  }], templates: [{
899
829
  type: ContentChildren,
900
830
  args: [CaxTemplate]
831
+ }], label: [{
832
+ type: Input
833
+ }], leftIcon: [{
834
+ type: Input
835
+ }], rightIcon: [{
836
+ type: Input
837
+ }], clearIcon: [{
838
+ type: Input
839
+ }], leftIconClass: [{
840
+ type: Input
841
+ }], rightIconClass: [{
842
+ type: Input
843
+ }], invalid: [{
844
+ type: Input
845
+ }], errorText: [{
846
+ type: Input
847
+ }], successText: [{
848
+ type: Input
849
+ }], heightsize: [{
850
+ type: Input
901
851
  }] } });
852
+
902
853
  class InputMaskModule {
903
854
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InputMaskModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
904
855
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: InputMaskModule, declarations: [InputMask], imports: [CommonModule, InputTextModule, AutoFocusModule, TimesIcon], exports: [InputMask, SharedModule] });