@ptsecurity/mosaic 15.3.0 → 15.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +1 -0
- package/esm2020/core/version.mjs +2 -2
- package/esm2020/form-field/form-field.mjs +2 -2
- package/esm2020/markdown/markdown.component.mjs +2 -2
- package/esm2020/select/select.component.mjs +4 -3
- package/esm2020/tabs/tab-body.component.mjs +4 -3
- package/esm2020/tabs/tabs.module.mjs +5 -1
- package/esm2020/timezone/timezone-select.component.mjs +2 -2
- package/esm2020/title/title.module.mjs +4 -7
- package/fesm2015/ptsecurity-mosaic-core.mjs +1 -1
- package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-form-field.mjs +2 -2
- package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-markdown.mjs +2 -2
- package/fesm2015/ptsecurity-mosaic-markdown.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-select.mjs +3 -2
- package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tabs.mjs +7 -3
- package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-timezone.mjs +2 -2
- package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-title.mjs +4 -7
- package/fesm2015/ptsecurity-mosaic-title.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-core.mjs +1 -1
- package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-form-field.mjs +2 -2
- package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-markdown.mjs +2 -2
- package/fesm2020/ptsecurity-mosaic-markdown.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-select.mjs +3 -2
- package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tabs.mjs +7 -3
- package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-timezone.mjs +2 -2
- package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-title.mjs +4 -7
- package/fesm2020/ptsecurity-mosaic-title.mjs.map +1 -1
- package/form-field/_form-field-theme.scss +1 -0
- package/input/input.scss +5 -0
- package/markdown/markdown.scss +13 -7
- package/package.json +5 -5
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/select/select.scss +38 -27
- package/tabs/tabs.module.d.ts +5 -4
- package/title/title.module.d.ts +2 -5
@@ -451,7 +451,7 @@ class McFormField extends McFormFieldMixinBase {
|
|
451
451
|
}
|
452
452
|
}
|
453
453
|
/** @nocollapse */ McFormField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McFormField, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
|
454
|
-
/** @nocollapse */ McFormField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: McFormField, selector: "mc-form-field", inputs: { color: "color" }, host: { listeners: { "keydown": "onKeyDown($event)", "mouseenter": "onHoverChanged(true)", "mouseleave": "onHoverChanged(false)" }, properties: { "class.mc-form-field_invalid": "control.errorState", "class.mc-form-field_has-prefix": "hasPrefix", "class.mc-form-field_has-suffix": "hasSuffix", "class.mc-form-field_has-cleaner": "canShowCleaner", "class.mc-form-field_has-stepper": "canShowStepper", "class.mc-disabled": "control.disabled", "class.ng-untouched": "shouldForward(\"untouched\")", "class.ng-touched": "shouldForward(\"touched\")", "class.ng-pristine": "shouldForward(\"pristine\")", "class.ng-dirty": "shouldForward(\"dirty\")", "class.ng-valid": "shouldForward(\"valid\")", "class.ng-invalid": "shouldForward(\"invalid\")", "class.ng-pending": "shouldForward(\"pending\")" }, classAttribute: "mc-form-field" }, providers: [{ provide: MC_FORM_FIELD, useExisting: McFormField }], queries: [{ propertyName: "control", first: true, predicate: McFormFieldControl, descendants: true }, { propertyName: "stepper", first: true, predicate: McStepper, descendants: true }, { propertyName: "cleaner", first: true, predicate: McCleaner, descendants: true }, { propertyName: "hint", predicate: McHint }, { propertyName: "passwordHints", predicate: McPasswordHint }, { propertyName: "suffix", predicate: McSuffix }, { propertyName: "prefix", predicate: McPrefix }], viewQueries: [{ propertyName: "connectionContainerRef", first: true, predicate: ["connectionContainer"], descendants: true, static: true }], exportAs: ["mcFormField"], usesInheritance: true, ngImport: i0, template: "<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content select=\"mc-password-toggle\"></ng-content>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint, mc-password-hint\"></ng-content>\n</div>\n", styles: [".mc-form{display:flex;flex-direction:column}.mc-form__row{display:flex;flex-direction:row}.mc-form-horizontal .mc-form-row_margin{margin-bottom:var(--mc-forms-size-horizontal-row-margin-bottom, 20px)}.mc-form-horizontal .mc-form__label{padding-top:var(--mc-forms-size-horizontal-label-padding-top, 6px);text-align:start}.mc-form-horizontal .mc-form__control{padding-left:var(--mc-forms-size-horizontal-control-padding-left, 16px)}.mc-form-horizontal .mc-form__legend{margin-top:var(--mc-forms-size-horizontal-legend-margin-top, 32px);margin-bottom:var(--mc-forms-size-horizontal-legend-margin-bottom, 16px)}.mc-form-vertical .mc-form__row{flex-direction:column}.mc-form-vertical .mc-form-row_margin{margin-bottom:var(--mc-forms-size-vertical-row-margin-bottom, 16px)}.mc-form-vertical .mc-form__label{padding-top:var(--mc-forms-size-vertical-label-padding-top, 0);padding-bottom:var(--mc-forms-size-vertical-label-padding-bottom, 4px);text-align:start}.mc-form-vertical .mc-form__control{padding-left:0}.mc-form-vertical .mc-form__legend{margin-top:var(--mc-forms-size-vertical-legend-margin-top, 32px);margin-bottom:var(--mc-forms-size-vertical-legend-margin-bottom, 12px)}.mc-form__fieldset{display:flex;flex-direction:column}.mc-form__fieldset.mc-horizontal{flex-direction:row}.mc-form__fieldset.mc-horizontal .mc-form__row:not(:first-child){padding-left:var(--mc-forms-size-vertical-control-padding-left, 24px)}.mc-form-field{position:relative;display:inline-block;width:100%}.mc-form-field,.mc-form-field .mc-input{border-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-form-field:hover{z-index:1}.mc-form-field.mc-focused{z-index:2}.mc-form-field-type-input-password .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-hint{display:block}.mc-password-hint{display:block;padding-left:calc(16px + var(--mc-form-field-password-hint-size-icon-margin, 4px))}.mc-password-hint .mc-icon{position:absolute;left:0}.mc-form-field__hint>.mc-password-hint{margin-top:var(--mc-form-field-password-hint-size-margin-top, 8px)}.mc-form-field__hint>.mc-hint{margin-top:var(--mc-form-field-hint-size-margin-top, 4px)}.mc-form-field__container{position:relative;border-width:var(--mc-form-field-size-border-width, 1px);border-style:solid;border-color:transparent;border-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-form-field_without-borders .mc-form-field__container{border-color:transparent}.mc-form-field__prefix,.mc-form-field__suffix{position:absolute;top:0;bottom:0;width:32px;display:flex;flex-direction:row;justify-content:center;align-items:center}.mc-form-field__prefix{left:0}.mc-form-field__suffix{right:0}.mc-form-field_has-suffix .mc-input,.mc-form-field_has-cleaner .mc-input,.mc-form-field_has-stepper .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-form-field_has-prefix .mc-input{padding-left:var(--mc-form-field-size-button-width, 32px)}.mc-cleaner{display:flex;width:var(--mc-form-field-size-button-width, 32px);height:100%;cursor:pointer}.mc-cleaner .mc-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mc-form-field__cleaner .mc-cleaner{position:absolute;top:0;bottom:0;right:0}mc-stepper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;top:0;bottom:0;right:0;width:var(--mc-form-field-size-button-width, 32px)}mc-stepper .mc-stepper-step-up,mc-stepper .mc-stepper-step-down{cursor:pointer;width:var(--mc-form-field-size-button-width, 32px);text-align:center}mc-stepper .mc-stepper-step-up{transform:scaleY(-1)}\n", ".mc-input{background:transparent;padding:0;margin:0;border:none;outline:none;width:var(--mc-input-size-width, 100%);min-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);padding:var(--mc-input-size-padding, 0 12px)}.mc-input::-ms-clear{display:none;width:0;height:0}.mc-input::-ms-reveal{display:none;width:0;height:0}.mc-input::-webkit-search-decoration,.mc-input::-webkit-search-cancel-button,.mc-input::-webkit-search-results-button,.mc-input::-webkit-search-results-decoration{display:none}.mc-input{display:inline-block;box-sizing:border-box}input.mc-input[type=number]{-moz-appearance:textfield}input.mc-input[type=number]::-webkit-inner-spin-button,input.mc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.mc-input:invalid{box-shadow:unset}.mc-password-toggle{display:flex;position:absolute;top:-1px;right:-1px;border:1px solid transparent;width:32px;height:32px;align-items:center;justify-content:center;cursor:pointer;border-top-right-radius:var(--mc-form-field-size-border-radius, 4px);border-bottom-right-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-password-toggle::-moz-focus-inner{border:0}.mc-password-toggle:focus{outline:none}\n", ".mc-timepicker{padding-right:calc(var(--mc-timepicker-size-padding-right, 16px) - var(--mc-form-field-size-border-width, 1px))}.mc-form-field-type-timepicker{width:auto}\n", ".mc-form-field-type-datepicker{width:auto}.mc-datepicker{width:var(--mc-datepicker-input-size-width, 130px)}\n", ".mc-textarea{background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--mc-textarea-size-padding, 5px 12px)}.mc-textarea{display:inline-block;-webkit-appearance:none;vertical-align:bottom}.mc-textarea:not(.mc-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.mc-textarea.mc-textarea-resizable{resize:vertical;min-height:var(--mc-textarea-size-min-height, 50px)}.mc-textarea:invalid{box-shadow:unset}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
454
|
+
/** @nocollapse */ McFormField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: McFormField, selector: "mc-form-field", inputs: { color: "color" }, host: { listeners: { "keydown": "onKeyDown($event)", "mouseenter": "onHoverChanged(true)", "mouseleave": "onHoverChanged(false)" }, properties: { "class.mc-form-field_invalid": "control.errorState", "class.mc-form-field_has-prefix": "hasPrefix", "class.mc-form-field_has-suffix": "hasSuffix", "class.mc-form-field_has-cleaner": "canShowCleaner", "class.mc-form-field_has-stepper": "canShowStepper", "class.mc-disabled": "control.disabled", "class.ng-untouched": "shouldForward(\"untouched\")", "class.ng-touched": "shouldForward(\"touched\")", "class.ng-pristine": "shouldForward(\"pristine\")", "class.ng-dirty": "shouldForward(\"dirty\")", "class.ng-valid": "shouldForward(\"valid\")", "class.ng-invalid": "shouldForward(\"invalid\")", "class.ng-pending": "shouldForward(\"pending\")" }, classAttribute: "mc-form-field" }, providers: [{ provide: MC_FORM_FIELD, useExisting: McFormField }], queries: [{ propertyName: "control", first: true, predicate: McFormFieldControl, descendants: true }, { propertyName: "stepper", first: true, predicate: McStepper, descendants: true }, { propertyName: "cleaner", first: true, predicate: McCleaner, descendants: true }, { propertyName: "hint", predicate: McHint }, { propertyName: "passwordHints", predicate: McPasswordHint }, { propertyName: "suffix", predicate: McSuffix }, { propertyName: "prefix", predicate: McPrefix }], viewQueries: [{ propertyName: "connectionContainerRef", first: true, predicate: ["connectionContainer"], descendants: true, static: true }], exportAs: ["mcFormField"], usesInheritance: true, ngImport: i0, template: "<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content select=\"mc-password-toggle\"></ng-content>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint, mc-password-hint\"></ng-content>\n</div>\n", styles: [".mc-form{display:flex;flex-direction:column}.mc-form__row{display:flex;flex-direction:row}.mc-form-horizontal .mc-form-row_margin{margin-bottom:var(--mc-forms-size-horizontal-row-margin-bottom, 20px)}.mc-form-horizontal .mc-form__label{padding-top:var(--mc-forms-size-horizontal-label-padding-top, 6px);text-align:start}.mc-form-horizontal .mc-form__control{padding-left:var(--mc-forms-size-horizontal-control-padding-left, 16px)}.mc-form-horizontal .mc-form__legend{margin-top:var(--mc-forms-size-horizontal-legend-margin-top, 32px);margin-bottom:var(--mc-forms-size-horizontal-legend-margin-bottom, 16px)}.mc-form-vertical .mc-form__row{flex-direction:column}.mc-form-vertical .mc-form-row_margin{margin-bottom:var(--mc-forms-size-vertical-row-margin-bottom, 16px)}.mc-form-vertical .mc-form__label{padding-top:var(--mc-forms-size-vertical-label-padding-top, 0);padding-bottom:var(--mc-forms-size-vertical-label-padding-bottom, 4px);text-align:start}.mc-form-vertical .mc-form__control{padding-left:0}.mc-form-vertical .mc-form__legend{margin-top:var(--mc-forms-size-vertical-legend-margin-top, 32px);margin-bottom:var(--mc-forms-size-vertical-legend-margin-bottom, 12px)}.mc-form__fieldset{display:flex;flex-direction:column}.mc-form__fieldset.mc-horizontal{flex-direction:row}.mc-form__fieldset.mc-horizontal .mc-form__row:not(:first-child){padding-left:var(--mc-forms-size-vertical-control-padding-left, 24px)}.mc-form-field{position:relative;display:inline-block;width:100%}.mc-form-field,.mc-form-field .mc-input{border-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-form-field:hover{z-index:1}.mc-form-field.mc-focused{z-index:2}.mc-form-field-type-input-password .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-hint{display:block}.mc-password-hint{display:block;padding-left:calc(16px + var(--mc-form-field-password-hint-size-icon-margin, 4px))}.mc-password-hint .mc-icon{position:absolute;left:0}.mc-form-field__hint>.mc-password-hint{margin-top:var(--mc-form-field-password-hint-size-margin-top, 8px)}.mc-form-field__hint>.mc-hint{margin-top:var(--mc-form-field-hint-size-margin-top, 4px)}.mc-form-field__container{position:relative;border-width:var(--mc-form-field-size-border-width, 1px);border-style:solid;border-color:transparent;border-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-form-field_without-borders .mc-form-field__container{border-color:transparent}.mc-form-field__prefix,.mc-form-field__suffix{position:absolute;top:0;bottom:0;width:32px;display:flex;flex-direction:row;justify-content:center;align-items:center}.mc-form-field__prefix{left:0}.mc-form-field__suffix{right:0}.mc-form-field_has-suffix .mc-input,.mc-form-field_has-cleaner .mc-input,.mc-form-field_has-stepper .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-form-field_has-prefix .mc-input{padding-left:var(--mc-form-field-size-button-width, 32px)}.mc-cleaner{display:flex;width:var(--mc-form-field-size-button-width, 32px);height:100%;cursor:pointer}.mc-cleaner .mc-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mc-form-field__cleaner .mc-cleaner{position:absolute;top:0;bottom:0;right:0}mc-stepper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;top:0;bottom:0;right:0;width:var(--mc-form-field-size-button-width, 32px)}mc-stepper .mc-stepper-step-up,mc-stepper .mc-stepper-step-down{cursor:pointer;width:var(--mc-form-field-size-button-width, 32px);text-align:center}mc-stepper .mc-stepper-step-up{transform:scaleY(-1)}\n", ".mc-input{background:transparent;padding:0;margin:0;border:none;outline:none;width:var(--mc-input-size-width, 100%);min-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);padding:var(--mc-input-size-padding, 0 12px)}.mc-input::-ms-clear{display:none;width:0;height:0}.mc-input::-ms-reveal{display:none;width:0;height:0}.mc-input::-webkit-search-decoration,.mc-input::-webkit-search-cancel-button,.mc-input::-webkit-search-results-button,.mc-input::-webkit-search-results-decoration{display:none}.mc-input{display:inline-block;box-sizing:border-box}input.mc-input[type=number]{-moz-appearance:textfield}input.mc-input[type=number]::-webkit-inner-spin-button,input.mc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.mc-input:invalid{box-shadow:unset}input.mc-input::placeholder{opacity:1}.mc-password-toggle{display:flex;position:absolute;top:-1px;right:-1px;border:1px solid transparent;width:32px;height:32px;align-items:center;justify-content:center;cursor:pointer;border-top-right-radius:var(--mc-form-field-size-border-radius, 4px);border-bottom-right-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-password-toggle::-moz-focus-inner{border:0}.mc-password-toggle:focus{outline:none}\n", ".mc-timepicker{padding-right:calc(var(--mc-timepicker-size-padding-right, 16px) - var(--mc-form-field-size-border-width, 1px))}.mc-form-field-type-timepicker{width:auto}\n", ".mc-form-field-type-datepicker{width:auto}.mc-datepicker{width:var(--mc-datepicker-input-size-width, 130px)}\n", ".mc-textarea{background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--mc-textarea-size-padding, 5px 12px)}.mc-textarea{display:inline-block;-webkit-appearance:none;vertical-align:bottom}.mc-textarea:not(.mc-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.mc-textarea.mc-textarea-resizable{resize:vertical;min-height:var(--mc-textarea-size-min-height, 50px)}.mc-textarea:invalid{box-shadow:unset}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
455
455
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McFormField, decorators: [{
|
456
456
|
type: Component,
|
457
457
|
args: [{ selector: 'mc-form-field', exportAs: 'mcFormField', host: {
|
@@ -472,7 +472,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
472
472
|
'(keydown)': 'onKeyDown($event)',
|
473
473
|
'(mouseenter)': 'onHoverChanged(true)',
|
474
474
|
'(mouseleave)': 'onHoverChanged(false)'
|
475
|
-
}, inputs: ['color'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MC_FORM_FIELD, useExisting: McFormField }], template: "<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content select=\"mc-password-toggle\"></ng-content>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint, mc-password-hint\"></ng-content>\n</div>\n", styles: [".mc-form{display:flex;flex-direction:column}.mc-form__row{display:flex;flex-direction:row}.mc-form-horizontal .mc-form-row_margin{margin-bottom:var(--mc-forms-size-horizontal-row-margin-bottom, 20px)}.mc-form-horizontal .mc-form__label{padding-top:var(--mc-forms-size-horizontal-label-padding-top, 6px);text-align:start}.mc-form-horizontal .mc-form__control{padding-left:var(--mc-forms-size-horizontal-control-padding-left, 16px)}.mc-form-horizontal .mc-form__legend{margin-top:var(--mc-forms-size-horizontal-legend-margin-top, 32px);margin-bottom:var(--mc-forms-size-horizontal-legend-margin-bottom, 16px)}.mc-form-vertical .mc-form__row{flex-direction:column}.mc-form-vertical .mc-form-row_margin{margin-bottom:var(--mc-forms-size-vertical-row-margin-bottom, 16px)}.mc-form-vertical .mc-form__label{padding-top:var(--mc-forms-size-vertical-label-padding-top, 0);padding-bottom:var(--mc-forms-size-vertical-label-padding-bottom, 4px);text-align:start}.mc-form-vertical .mc-form__control{padding-left:0}.mc-form-vertical .mc-form__legend{margin-top:var(--mc-forms-size-vertical-legend-margin-top, 32px);margin-bottom:var(--mc-forms-size-vertical-legend-margin-bottom, 12px)}.mc-form__fieldset{display:flex;flex-direction:column}.mc-form__fieldset.mc-horizontal{flex-direction:row}.mc-form__fieldset.mc-horizontal .mc-form__row:not(:first-child){padding-left:var(--mc-forms-size-vertical-control-padding-left, 24px)}.mc-form-field{position:relative;display:inline-block;width:100%}.mc-form-field,.mc-form-field .mc-input{border-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-form-field:hover{z-index:1}.mc-form-field.mc-focused{z-index:2}.mc-form-field-type-input-password .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-hint{display:block}.mc-password-hint{display:block;padding-left:calc(16px + var(--mc-form-field-password-hint-size-icon-margin, 4px))}.mc-password-hint .mc-icon{position:absolute;left:0}.mc-form-field__hint>.mc-password-hint{margin-top:var(--mc-form-field-password-hint-size-margin-top, 8px)}.mc-form-field__hint>.mc-hint{margin-top:var(--mc-form-field-hint-size-margin-top, 4px)}.mc-form-field__container{position:relative;border-width:var(--mc-form-field-size-border-width, 1px);border-style:solid;border-color:transparent;border-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-form-field_without-borders .mc-form-field__container{border-color:transparent}.mc-form-field__prefix,.mc-form-field__suffix{position:absolute;top:0;bottom:0;width:32px;display:flex;flex-direction:row;justify-content:center;align-items:center}.mc-form-field__prefix{left:0}.mc-form-field__suffix{right:0}.mc-form-field_has-suffix .mc-input,.mc-form-field_has-cleaner .mc-input,.mc-form-field_has-stepper .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-form-field_has-prefix .mc-input{padding-left:var(--mc-form-field-size-button-width, 32px)}.mc-cleaner{display:flex;width:var(--mc-form-field-size-button-width, 32px);height:100%;cursor:pointer}.mc-cleaner .mc-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mc-form-field__cleaner .mc-cleaner{position:absolute;top:0;bottom:0;right:0}mc-stepper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;top:0;bottom:0;right:0;width:var(--mc-form-field-size-button-width, 32px)}mc-stepper .mc-stepper-step-up,mc-stepper .mc-stepper-step-down{cursor:pointer;width:var(--mc-form-field-size-button-width, 32px);text-align:center}mc-stepper .mc-stepper-step-up{transform:scaleY(-1)}\n", ".mc-input{background:transparent;padding:0;margin:0;border:none;outline:none;width:var(--mc-input-size-width, 100%);min-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);padding:var(--mc-input-size-padding, 0 12px)}.mc-input::-ms-clear{display:none;width:0;height:0}.mc-input::-ms-reveal{display:none;width:0;height:0}.mc-input::-webkit-search-decoration,.mc-input::-webkit-search-cancel-button,.mc-input::-webkit-search-results-button,.mc-input::-webkit-search-results-decoration{display:none}.mc-input{display:inline-block;box-sizing:border-box}input.mc-input[type=number]{-moz-appearance:textfield}input.mc-input[type=number]::-webkit-inner-spin-button,input.mc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.mc-input:invalid{box-shadow:unset}.mc-password-toggle{display:flex;position:absolute;top:-1px;right:-1px;border:1px solid transparent;width:32px;height:32px;align-items:center;justify-content:center;cursor:pointer;border-top-right-radius:var(--mc-form-field-size-border-radius, 4px);border-bottom-right-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-password-toggle::-moz-focus-inner{border:0}.mc-password-toggle:focus{outline:none}\n", ".mc-timepicker{padding-right:calc(var(--mc-timepicker-size-padding-right, 16px) - var(--mc-form-field-size-border-width, 1px))}.mc-form-field-type-timepicker{width:auto}\n", ".mc-form-field-type-datepicker{width:auto}.mc-datepicker{width:var(--mc-datepicker-input-size-width, 130px)}\n", ".mc-textarea{background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--mc-textarea-size-padding, 5px 12px)}.mc-textarea{display:inline-block;-webkit-appearance:none;vertical-align:bottom}.mc-textarea:not(.mc-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.mc-textarea.mc-textarea-resizable{resize:vertical;min-height:var(--mc-textarea-size-min-height, 50px)}.mc-textarea:invalid{box-shadow:unset}\n"] }]
|
475
|
+
}, inputs: ['color'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MC_FORM_FIELD, useExisting: McFormField }], template: "<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content select=\"mc-password-toggle\"></ng-content>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint, mc-password-hint\"></ng-content>\n</div>\n", styles: [".mc-form{display:flex;flex-direction:column}.mc-form__row{display:flex;flex-direction:row}.mc-form-horizontal .mc-form-row_margin{margin-bottom:var(--mc-forms-size-horizontal-row-margin-bottom, 20px)}.mc-form-horizontal .mc-form__label{padding-top:var(--mc-forms-size-horizontal-label-padding-top, 6px);text-align:start}.mc-form-horizontal .mc-form__control{padding-left:var(--mc-forms-size-horizontal-control-padding-left, 16px)}.mc-form-horizontal .mc-form__legend{margin-top:var(--mc-forms-size-horizontal-legend-margin-top, 32px);margin-bottom:var(--mc-forms-size-horizontal-legend-margin-bottom, 16px)}.mc-form-vertical .mc-form__row{flex-direction:column}.mc-form-vertical .mc-form-row_margin{margin-bottom:var(--mc-forms-size-vertical-row-margin-bottom, 16px)}.mc-form-vertical .mc-form__label{padding-top:var(--mc-forms-size-vertical-label-padding-top, 0);padding-bottom:var(--mc-forms-size-vertical-label-padding-bottom, 4px);text-align:start}.mc-form-vertical .mc-form__control{padding-left:0}.mc-form-vertical .mc-form__legend{margin-top:var(--mc-forms-size-vertical-legend-margin-top, 32px);margin-bottom:var(--mc-forms-size-vertical-legend-margin-bottom, 12px)}.mc-form__fieldset{display:flex;flex-direction:column}.mc-form__fieldset.mc-horizontal{flex-direction:row}.mc-form__fieldset.mc-horizontal .mc-form__row:not(:first-child){padding-left:var(--mc-forms-size-vertical-control-padding-left, 24px)}.mc-form-field{position:relative;display:inline-block;width:100%}.mc-form-field,.mc-form-field .mc-input{border-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-form-field:hover{z-index:1}.mc-form-field.mc-focused{z-index:2}.mc-form-field-type-input-password .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-hint{display:block}.mc-password-hint{display:block;padding-left:calc(16px + var(--mc-form-field-password-hint-size-icon-margin, 4px))}.mc-password-hint .mc-icon{position:absolute;left:0}.mc-form-field__hint>.mc-password-hint{margin-top:var(--mc-form-field-password-hint-size-margin-top, 8px)}.mc-form-field__hint>.mc-hint{margin-top:var(--mc-form-field-hint-size-margin-top, 4px)}.mc-form-field__container{position:relative;border-width:var(--mc-form-field-size-border-width, 1px);border-style:solid;border-color:transparent;border-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-form-field_without-borders .mc-form-field__container{border-color:transparent}.mc-form-field__prefix,.mc-form-field__suffix{position:absolute;top:0;bottom:0;width:32px;display:flex;flex-direction:row;justify-content:center;align-items:center}.mc-form-field__prefix{left:0}.mc-form-field__suffix{right:0}.mc-form-field_has-suffix .mc-input,.mc-form-field_has-cleaner .mc-input,.mc-form-field_has-stepper .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-form-field_has-prefix .mc-input{padding-left:var(--mc-form-field-size-button-width, 32px)}.mc-cleaner{display:flex;width:var(--mc-form-field-size-button-width, 32px);height:100%;cursor:pointer}.mc-cleaner .mc-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mc-form-field__cleaner .mc-cleaner{position:absolute;top:0;bottom:0;right:0}mc-stepper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;top:0;bottom:0;right:0;width:var(--mc-form-field-size-button-width, 32px)}mc-stepper .mc-stepper-step-up,mc-stepper .mc-stepper-step-down{cursor:pointer;width:var(--mc-form-field-size-button-width, 32px);text-align:center}mc-stepper .mc-stepper-step-up{transform:scaleY(-1)}\n", ".mc-input{background:transparent;padding:0;margin:0;border:none;outline:none;width:var(--mc-input-size-width, 100%);min-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);padding:var(--mc-input-size-padding, 0 12px)}.mc-input::-ms-clear{display:none;width:0;height:0}.mc-input::-ms-reveal{display:none;width:0;height:0}.mc-input::-webkit-search-decoration,.mc-input::-webkit-search-cancel-button,.mc-input::-webkit-search-results-button,.mc-input::-webkit-search-results-decoration{display:none}.mc-input{display:inline-block;box-sizing:border-box}input.mc-input[type=number]{-moz-appearance:textfield}input.mc-input[type=number]::-webkit-inner-spin-button,input.mc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.mc-input:invalid{box-shadow:unset}input.mc-input::placeholder{opacity:1}.mc-password-toggle{display:flex;position:absolute;top:-1px;right:-1px;border:1px solid transparent;width:32px;height:32px;align-items:center;justify-content:center;cursor:pointer;border-top-right-radius:var(--mc-form-field-size-border-radius, 4px);border-bottom-right-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-password-toggle::-moz-focus-inner{border:0}.mc-password-toggle:focus{outline:none}\n", ".mc-timepicker{padding-right:calc(var(--mc-timepicker-size-padding-right, 16px) - var(--mc-form-field-size-border-width, 1px))}.mc-form-field-type-timepicker{width:auto}\n", ".mc-form-field-type-datepicker{width:auto}.mc-datepicker{width:var(--mc-datepicker-input-size-width, 130px)}\n", ".mc-textarea{background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--mc-textarea-size-padding, 5px 12px)}.mc-textarea{display:inline-block;-webkit-appearance:none;vertical-align:bottom}.mc-textarea:not(.mc-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.mc-textarea.mc-textarea-resizable{resize:vertical;min-height:var(--mc-textarea-size-min-height, 50px)}.mc-textarea:invalid{box-shadow:unset}\n"] }]
|
476
476
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$2.FocusMonitor }]; }, propDecorators: { control: [{
|
477
477
|
type: ContentChild,
|
478
478
|
args: [McFormFieldControl, { static: false }]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-form-field.mjs","sources":["../../../packages/mosaic/form-field/cleaner.ts","../../../packages/mosaic/form-field/form-field-control.ts","../../../packages/mosaic/form-field/form-field-errors.ts","../../../packages/mosaic/form-field/hint.ts","../../../packages/mosaic/form-field/password-hint.ts","../../../packages/mosaic/form-field/prefix.ts","../../../packages/mosaic/form-field/stepper.ts","../../../packages/mosaic/form-field/suffix.ts","../../../packages/mosaic/form-field/form-field.ts","../../../packages/mosaic/form-field/form-field.html","../../../packages/mosaic/form-field/validate.directive.ts","../../../packages/mosaic/form-field/form-field.module.ts","../../../packages/mosaic/form-field/ptsecurity-mosaic-form-field.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { ThemePalette } from '@ptsecurity/mosaic/core';\n\n\n@Component({\n selector: 'mc-cleaner',\n exportAs: 'mcCleaner',\n template: `<i class=\"mc-icon_light\" mc-icon=\"mc-close-circle_16\" [color]=\"themePalette.Secondary\"></i>`,\n host: {\n class: 'mc-cleaner'\n }\n})\nexport class McCleaner {\n themePalette = ThemePalette;\n}\n","import { NgControl } from '@angular/forms';\nimport { Observable } from 'rxjs';\n\n\n/** An interface which allows a control to work inside of a `MсFormField`. */\n// tslint:disable-next-line:naming-convention\nexport abstract class McFormFieldControl<T> {\n /** The value of the control. */\n value: T | null;\n\n /**\n * Stream that emits whenever the state of the control changes such that the parent `MсFormField`\n * needs to run change detection.\n */\n readonly stateChanges: Observable<void>;\n\n /** The element ID for this control. */\n readonly id: string;\n\n /** The placeholder for this control. */\n readonly placeholder: string;\n\n /** Gets the NgControl for this control. */\n readonly ngControl: NgControl | null;\n\n /** Whether the control is focused. */\n readonly focused: boolean;\n\n /** Whether the control is empty. */\n readonly empty: boolean;\n\n /** Whether the control is required. */\n readonly required: boolean;\n\n /** Whether the control is disabled. */\n readonly disabled: boolean;\n\n /** Whether the control is in an error state. */\n readonly errorState: boolean;\n\n /**\n * An optional name for the control type that can be used to distinguish `mc-form-field` elements\n * based on their control type. The form field will add a class,\n * `mc-form-field-type-{{controlType}}` to its root element.\n */\n readonly controlType?: string;\n\n /** Handles a click on the control's container. */\n abstract onContainerClick(event: MouseEvent): void;\n\n abstract focus(): void;\n}\n","export function getMcFormFieldMissingControlError(): Error {\n return Error('mc-form-field must contain a McFormFieldControl.');\n}\n\nexport function getMcFormFieldYouCanNotUseCleanerInNumberInputError(): Error {\n return Error(`You can't use mc-cleaner with input that have type=\"number\"`);\n}\n","import { Directive, ElementRef, Input } from '@angular/core';\nimport { CanColorCtor, mixinColor, ThemePalette } from '@ptsecurity/mosaic/core';\n\n\nlet nextHintUniqueId = 0;\n\n/** @docs-private */\nexport class McHintBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const McHintMixinBase: CanColorCtor & typeof McHintBase = mixinColor(McHintBase, ThemePalette.Empty);\n\n\n@Directive({\n selector: 'mc-hint',\n inputs: ['color'],\n host: {\n class: 'mc-hint',\n '[attr.id]': 'id'\n }\n})\nexport class McHint extends McHintMixinBase {\n @Input() id: string = `mc-hint-${nextHintUniqueId++}`;\n\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n Inject,\n Input\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { MC_FORM_FIELD } from './form-field';\n\n\nlet nextPasswordHintUniqueId = 0;\n\nexport enum PasswordRules {\n Length,\n UpperLatin,\n LowerLatin,\n Digit,\n LatinAndSpecialSymbols,\n Custom\n}\n\nexport const regExpPasswordValidator = {\n [PasswordRules.LowerLatin]: RegExp(/^(?=.*?[a-z])/),\n [PasswordRules.UpperLatin]: RegExp(/^(?=.*?[A-Z])/),\n [PasswordRules.Digit]: RegExp(/^(?=.*?[0-9])/),\n [PasswordRules.LatinAndSpecialSymbols]: RegExp(/[^ !`\"'#№$%&()*+,-./\\\\:;<=>?@[\\]^_{|}~A-Za-z0-9]/)\n};\n\n\n@Component({\n selector: 'mc-password-hint',\n template: `\n <i *ngIf=\"!checked\" class=\"mc-password-hint__icon\" mc-icon=\"mc-close-M_16\"></i>\n <i *ngIf=\"checked\" class=\"mc-password-hint__icon\" mc-icon=\"mc-check_16\"></i>\n\n <span class=\"mc-password-hint__text\">\n <ng-content></ng-content>\n </span>\n `,\n host: {\n class: 'mc-password-hint',\n '[class.mc-password-hint_valid]': 'checked',\n '[class.mc-password-hint_invalid]': 'hasError',\n '[attr.id]': 'id'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McPasswordHint implements AfterContentInit {\n @Input() id: string = `mc-hint-${nextPasswordHintUniqueId++}`;\n\n @Input() rule: PasswordRules | any;\n\n @Input() min: number;\n @Input() max: number;\n @Input() regex: RegExp | null;\n\n hasError: boolean = false;\n checked: boolean = false;\n\n private checkRule: (value: string) => boolean;\n\n private get control() {\n return this.formField.control;\n }\n\n private lastControlValue: string;\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n @Inject(forwardRef(() => MC_FORM_FIELD)) private formField: any\n ) {}\n\n ngAfterContentInit(): void {\n if (this.rule === null) {\n throw Error('You should set [rule] name');\n }\n\n if (this.rule === PasswordRules.Custom && this.regex === undefined) {\n throw Error('You should set [regex] for PasswordRules.Custom');\n }\n\n if (this.rule === PasswordRules.Length && (this.min || this.max) === null) {\n throw Error('For [rule] \"Length\" need set [min] and [max]');\n }\n\n if (this.rule === PasswordRules.Length) {\n this.checkRule = this.checkLengthRule;\n } else if ([PasswordRules.UpperLatin, PasswordRules.LowerLatin, PasswordRules.Digit].includes(this.rule)) {\n this.regex = regExpPasswordValidator[this.rule];\n this.checkRule = this.checkRegexRule;\n } else if (this.rule === PasswordRules.LatinAndSpecialSymbols) {\n this.regex = regExpPasswordValidator[this.rule];\n this.checkRule = this.checkSpecialSymbolsRegexRule;\n } else if (this.rule === PasswordRules.Custom) {\n this.checkRule = this.checkRegexRule;\n } else {\n throw Error(`Unknown [rule]=${this.rule}`);\n }\n\n this.formField.control.stateChanges\n .subscribe(this.checkValue);\n\n (this.formField.control as unknown as { checkRule: Subject<any> }).checkRule\n .subscribe(() => {\n this.checked = this.checkRule(this.control.value);\n this.hasError = !this.checkRule(this.control.value);\n });\n }\n\n private checkValue = () => {\n if (this.control.focused && this.isValueChanged()) {\n this.hasError = false;\n\n this.checked = this.checkRule(this.control.value);\n } else if (!this.control.focused && !this.isValueChanged()) {\n this.hasError = !this.checkRule(this.control.value);\n }\n\n if (!this.control.required && !this.control.value) {\n this.checked = this.hasError = false;\n }\n\n this.lastControlValue = this.control.value;\n this.changeDetectorRef.markForCheck();\n }\n\n private checkLengthRule(value: string): boolean {\n return value.length >= this.min && value.length <= this.max;\n }\n\n private checkRegexRule(value: string): boolean {\n return !!this.regex?.test(value);\n }\n\n private checkSpecialSymbolsRegexRule(value: string): boolean {\n return !!value && !this.regex?.test(value);\n }\n\n private isValueChanged(): boolean {\n return this.lastControlValue !== this.formField.control.value;\n }\n}\n","import { Directive } from '@angular/core';\n\n\n@Directive({\n selector: '[mcPrefix]'\n})\nexport class McPrefix {}\n","import { Component, EventEmitter, Output } from '@angular/core';\n\n\n@Component({\n selector: 'mc-stepper',\n template: `\n <i class=\"mc mc-icon mc-icon_light mc-secondary mc-stepper-step-up mc-angle-down-L_16\"\n (mousedown)=\"onStepUp($event)\">\n </i>\n <i class=\"mc mc-icon mc-icon_light mc-secondary mc-stepper-step-down mc-angle-down-L_16\"\n (mousedown)=\"onStepDown($event)\">\n </i>\n `\n})\nexport class McStepper {\n @Output()\n readonly stepUp: EventEmitter<void> = new EventEmitter<void>();\n @Output()\n readonly stepDown: EventEmitter<void> = new EventEmitter<void>();\n\n connectTo(numberInput: any) {\n if (!numberInput) { return; }\n\n this.stepUp.subscribe(() => {\n numberInput.stepUp(numberInput.step);\n });\n\n this.stepDown.subscribe(() => {\n numberInput.stepDown(numberInput.step);\n });\n }\n\n onStepUp($event: MouseEvent) {\n this.stepUp.emit();\n $event.preventDefault();\n }\n\n onStepDown($event: MouseEvent) {\n this.stepDown.emit();\n $event.preventDefault();\n }\n}\n","import { Directive } from '@angular/core';\n\n\n@Directive({\n selector: '[mcSuffix]'\n})\nexport class McSuffix {}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n AfterContentInit,\n AfterViewInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n InjectionToken,\n OnDestroy,\n Optional,\n QueryList,\n Self,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { ESCAPE, F8 } from '@ptsecurity/cdk/keycodes';\nimport { CanColor, CanColorCtor, mixinColor } from '@ptsecurity/mosaic/core';\nimport { EMPTY, merge, Subject } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\n\nimport { McCleaner } from './cleaner';\nimport { McFormFieldControl } from './form-field-control';\nimport {\n getMcFormFieldMissingControlError,\n getMcFormFieldYouCanNotUseCleanerInNumberInputError\n} from './form-field-errors';\nimport { McHint } from './hint';\nimport { McPasswordHint } from './password-hint';\nimport { McPrefix } from './prefix';\nimport { McStepper } from './stepper';\nimport { McSuffix } from './suffix';\n\n\nlet nextUniqueId = 0;\n\n/**\n * Injection token that can be used to inject an instances of `MatFormField`. It serves\n * as alternative token to the actual `MatFormField` class which would cause unnecessary\n * retention of the `MatFormField` class and its component metadata.\n */\nexport const MC_FORM_FIELD = new InjectionToken<McFormField>('McFormField');\n\n/** @docs-private */\nexport class McFormFieldBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const McFormFieldMixinBase: CanColorCtor & typeof McFormFieldBase = mixinColor(McFormFieldBase);\n\n@Component({\n selector: 'mc-form-field',\n exportAs: 'mcFormField',\n templateUrl: 'form-field.html',\n // McInput is a directive and can't have styles, so we need to include its styles here.\n // The McInput styles are fairly minimal so it shouldn't be a big deal for people who\n // aren't using McInput.\n styleUrls: [\n 'form-field.scss',\n '../input/input.scss',\n '../timepicker/timepicker.scss',\n '../datepicker/datepicker-input.scss',\n '../textarea/textarea.scss'\n ],\n host: {\n class: 'mc-form-field',\n '[class.mc-form-field_invalid]': 'control.errorState',\n '[class.mc-form-field_has-prefix]': 'hasPrefix',\n '[class.mc-form-field_has-suffix]': 'hasSuffix',\n '[class.mc-form-field_has-cleaner]': 'canShowCleaner',\n '[class.mc-form-field_has-stepper]': 'canShowStepper',\n\n '[class.mc-disabled]': 'control.disabled',\n\n '[class.ng-untouched]': 'shouldForward(\"untouched\")',\n '[class.ng-touched]': 'shouldForward(\"touched\")',\n '[class.ng-pristine]': 'shouldForward(\"pristine\")',\n '[class.ng-dirty]': 'shouldForward(\"dirty\")',\n '[class.ng-valid]': 'shouldForward(\"valid\")',\n '[class.ng-invalid]': 'shouldForward(\"invalid\")',\n '[class.ng-pending]': 'shouldForward(\"pending\")',\n\n '(keydown)': 'onKeyDown($event)',\n '(mouseenter)': 'onHoverChanged(true)',\n '(mouseleave)': 'onHoverChanged(false)'\n },\n inputs: ['color'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: MC_FORM_FIELD, useExisting: McFormField }]\n})\nexport class McFormField extends McFormFieldMixinBase implements\n AfterContentInit, AfterContentChecked, AfterViewInit, CanColor, OnDestroy {\n\n @ContentChild(McFormFieldControl, { static: false }) control: McFormFieldControl<any>;\n @ContentChild(McStepper, { static: false }) stepper: McStepper;\n @ContentChild(McCleaner, { static: false }) cleaner: McCleaner | null;\n\n @ContentChildren(McHint) hint: QueryList<McHint>;\n @ContentChildren(McPasswordHint) passwordHints: QueryList<McPasswordHint>;\n @ContentChildren(McSuffix) suffix: QueryList<McSuffix>;\n @ContentChildren(McPrefix) prefix: QueryList<McPrefix>;\n\n @ViewChild('connectionContainer', { static: true }) connectionContainerRef: ElementRef;\n\n // Unique id for the internal form field label.\n labelId = `mc-form-field-label-${nextUniqueId++}`;\n\n hovered: boolean = false;\n\n canCleanerClearByEsc: boolean = true;\n\n private $unsubscribe = new Subject<void>();\n\n get hasHint(): boolean {\n return this.hint?.length > 0;\n }\n\n get hasPasswordStrengthError(): boolean {\n return this.passwordHints?.some((hint) => hint.hasError);\n }\n\n get hasSuffix(): boolean {\n return this.suffix?.length > 0;\n }\n\n get hasPrefix(): boolean {\n return this.prefix?.length > 0;\n }\n\n get hasCleaner(): boolean {\n return !!this.cleaner;\n }\n\n get hasStepper(): boolean {\n return !!this.stepper;\n }\n\n get canShowCleaner(): boolean {\n return this.hasCleaner &&\n this.control?.ngControl\n ? this.control.ngControl.value && !this.control.disabled\n : false;\n }\n\n get disabled(): boolean {\n return this.control?.disabled;\n }\n\n get canShowStepper(): boolean {\n return this.hasStepper &&\n !this.disabled &&\n (this.control?.focused || this.hovered);\n }\n\n constructor(\n public elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef,\n private focusMonitor: FocusMonitor\n ) {\n super(elementRef);\n\n this.runFocusMonitor();\n }\n\n ngAfterContentInit() {\n if ((this.control as any).numberInput && this.hasCleaner) {\n this.cleaner = null;\n throw getMcFormFieldYouCanNotUseCleanerInNumberInputError();\n }\n\n this.validateControlChild();\n\n if (this.control.controlType) {\n this.elementRef.nativeElement.classList.add(`mc-form-field-type-${this.control.controlType}`);\n }\n\n // Subscribe to changes in the child control state in order to update the form field UI.\n this.control.stateChanges\n .pipe(startWith())\n .subscribe((state: any) => {\n if (!state?.focused && this.hasPasswordStrengthError) {\n this.control.ngControl?.control?.setErrors({ passwordStrength: true });\n }\n\n this.changeDetectorRef.markForCheck();\n });\n\n if (this.hasStepper) {\n this.stepper.connectTo((this.control as any).numberInput);\n }\n\n // Run change detection if the value changes.\n const valueChanges = this.control.ngControl?.valueChanges || EMPTY;\n\n merge(valueChanges)\n .pipe(takeUntil(this.$unsubscribe))\n .subscribe(() => this.changeDetectorRef.markForCheck());\n }\n\n ngAfterContentChecked() {\n this.validateControlChild();\n }\n\n ngAfterViewInit() {\n // Avoid animations on load.\n this.changeDetectorRef.detectChanges();\n }\n\n clearValue($event) {\n $event.stopPropagation();\n\n this.control?.ngControl?.reset();\n this.control?.focus();\n }\n\n onContainerClick($event) {\n if (this.control.onContainerClick) {\n this.control.onContainerClick($event);\n }\n }\n\n onKeyDown(event: KeyboardEvent): void {\n // tslint:disable-next-line:deprecation\n if (this.control.controlType === 'input-password' && event.altKey && event.keyCode === F8) {\n (this.control as unknown as { toggleType(): void }).toggleType();\n }\n // tslint:disable-next-line:deprecation\n if (this.canCleanerClearByEsc && event.keyCode === ESCAPE && this.control.focused && this.hasCleaner) {\n this.control?.ngControl?.reset();\n\n event.preventDefault();\n }\n }\n\n onHoverChanged(isHovered: boolean) {\n if (isHovered !== this.hovered) {\n this.hovered = isHovered;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Gets an ElementRef for the element that a overlay attached to the form-field should be\n * positioned relative to.\n */\n getConnectedOverlayOrigin(): ElementRef {\n return this.connectionContainerRef || this.elementRef;\n }\n\n /** Determines whether a class from the NgControl should be forwarded to the host element. */\n shouldForward(prop: keyof NgControl): boolean {\n const ngControl = this.control?.ngControl;\n\n return ngControl && ngControl[prop];\n }\n\n ngOnDestroy(): void {\n this.$unsubscribe.next();\n this.$unsubscribe.complete();\n\n this.stopFocusMonitor();\n }\n\n runFocusMonitor() {\n this.focusMonitor.monitor(this.elementRef.nativeElement, true);\n }\n\n stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n /** Throws an error if the form field's control is missing. */\n protected validateControlChild() {\n if (!this.control) {\n throw getMcFormFieldMissingControlError();\n }\n }\n}\n\n@Directive({\n selector: 'mc-form-field[mcFormFieldWithoutBorders]',\n exportAs: 'mcFormFieldWithoutBorders',\n host: { class: 'mc-form-field_without-borders' }\n})\nexport class McFormFieldWithoutBorders {}\n\n\n@Directive({\n selector: '[mcInput], [mcTextarea]',\n exportAs: 'McTrim',\n host: { class: 'mc-trim' }\n})\nexport class McTrim {\n private original: (fn: any) => void;\n\n constructor(\n @Attribute('no-trim') private readonly noTrim: boolean,\n @Optional() @Self() private ngControl: NgControl\n ) {\n this.noTrim = coerceBooleanProperty(noTrim);\n\n if (this.noTrim || !this.ngControl?.valueAccessor) { return; }\n\n this.original = this.ngControl.valueAccessor.registerOnChange;\n\n this.ngControl.valueAccessor.registerOnChange = this.registerOnChange;\n }\n\n trim(value) {\n if (this.noTrim) { return value; }\n\n return typeof value === 'string' ? value.trim() : value;\n }\n\n private registerOnChange = (fn) => {\n return this.original.call(this.ngControl.valueAccessor, (value) => fn(this.trim(value)));\n }\n}\n","<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content select=\"mc-password-toggle\"></ng-content>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint, mc-password-hint\"></ng-content>\n</div>\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Directive,\n forwardRef,\n Inject,\n Optional,\n Self\n} from '@angular/core';\nimport {\n AbstractControl,\n FormControlName,\n FormGroupDirective,\n NG_VALIDATORS,\n NgControl,\n NgForm,\n NgModel,\n RequiredValidator,\n ValidationErrors,\n Validator,\n ValidatorFn,\n FormControlDirective\n} from '@angular/forms';\nimport {\n McValidationOptions,\n MC_VALIDATION\n} from '@ptsecurity/mosaic/core';\n\n\nimport { McFormFieldControl } from './form-field-control';\n\n\n@Directive({\n selector: `\n input[mcInput],\n input[mcInputPassword],\n input[mcTimepicker],\n input[mcDatepicker],\n textarea[mcTextarea],\n mc-select,\n mc-tree-select,\n mc-tag-list\n `,\n exportAs: 'McValidate'\n})\nexport class McValidateDirective implements AfterContentInit {\n get isNgModel(): boolean {\n return this.ngControl instanceof NgModel;\n }\n\n get isFormControlName(): boolean {\n return this.ngControl instanceof FormControlName;\n }\n\n get isFormControl(): boolean {\n return this.ngControl instanceof FormControlDirective;\n }\n\n get validationControl(): any {\n return this.ngControl?.control || this.ngControl;\n }\n\n get parent() {\n return this.parentForm || this.parentFormGroup;\n }\n\n get hasNotSubmittedParent(): boolean {\n return this.parent && !this.parent.submitted;\n }\n\n constructor(\n @Inject(forwardRef(() => McFormFieldControl)) private formFieldControl: McFormFieldControl<any>,\n @Optional() @Self() @Inject(NG_VALIDATORS) public rawValidators: Validator[],\n @Optional() @Self() private ngControl: NgControl,\n @Optional() private parentForm: NgForm,\n @Optional() private parentFormGroup: FormGroupDirective,\n @Optional() @Inject(MC_VALIDATION) private mcValidation: McValidationOptions,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngAfterContentInit() {\n if (this.mcValidation.useValidation) {\n this.setMosaicValidation();\n }\n }\n\n setValidState(control: AbstractControl, validator: ValidatorFn): void {\n if (!control) { return; }\n\n control.clearValidators();\n control.updateValueAndValidity({ emitEvent: false });\n control.setValidators(validator);\n }\n\n /** This function do next:\n * - run validation on submitting parent form\n * - prevent validation in required validator if form doesn't submitted\n * - if control has focus validation will be prevented\n */\n setMosaicValidation(): void {\n if (!this.validationControl) { return; }\n\n this.parent?.ngSubmit\n .subscribe(() => this.validationControl!.updateValueAndValidity({ emitEvent: false }));\n\n if (this.isNgModel) {\n this.setMosaicValidationForModelControl();\n } else if (this.isFormControl || this.isFormControlName) {\n this.setMosaicValidationForFormControl();\n }\n }\n\n setMosaicValidationForModelControl() {\n if (!this.rawValidators) { return; }\n\n this.rawValidators.forEach((validator: Validator) => {\n // tslint:disable-next-line: no-unbound-method\n const originalValidate = validator.validate;\n\n if (validator instanceof RequiredValidator) {\n // changed required validation logic\n validator.validate = (control: AbstractControl): ValidationErrors | null => {\n if (this.hasNotSubmittedParent) { return null; }\n\n return originalValidate.call(validator, control);\n };\n } else {\n // changed all other validation logic\n validator.validate = (control: AbstractControl): ValidationErrors | null => {\n if (this.formFieldControl.focused) { return null; }\n\n return originalValidate.call(validator, control);\n };\n }\n });\n }\n\n setMosaicValidationForFormControl() {\n const originalValidator = this.validationControl.validator;\n\n // changed required validation logic after initialization\n if (this.validationControl.invalid && this.validationControl.errors!.required) {\n Promise.resolve().then(() => {\n this.setValidState(this.validationControl, originalValidator!);\n this.cdr.markForCheck();\n });\n }\n\n // check dynamic updates\n this.validationControl.statusChanges!\n .subscribe(() => {\n // changed required validation logic\n if (this.validationControl.invalid && (this.hasNotSubmittedParent) && this.validationControl.errors!.required) {\n this.setValidState(this.validationControl, originalValidator!);\n }\n\n // changed all other validation logic\n if (this.validationControl.invalid && this.formFieldControl.focused) {\n this.setValidState(this.validationControl, originalValidator!);\n }\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McIconModule } from '@ptsecurity/mosaic/icon';\n\nimport { McCleaner } from './cleaner';\nimport { McFormField, McFormFieldWithoutBorders, McTrim } from './form-field';\nimport { McHint } from './hint';\nimport { McPasswordHint } from './password-hint';\nimport { McPrefix } from './prefix';\nimport { McStepper } from './stepper';\nimport { McSuffix } from './suffix';\nimport { McValidateDirective } from './validate.directive';\n\n\n@NgModule({\n declarations: [\n McFormField,\n McFormFieldWithoutBorders,\n McHint,\n McPasswordHint,\n McPrefix,\n McSuffix,\n McCleaner,\n McStepper,\n McValidateDirective,\n McTrim\n ],\n imports: [CommonModule, McIconModule],\n exports: [\n McFormField,\n McFormFieldWithoutBorders,\n McHint,\n McPasswordHint,\n McPrefix,\n McSuffix,\n McCleaner,\n McStepper,\n McValidateDirective,\n McTrim\n ]\n})\nexport class McFormFieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-form-field.mjs","sources":["../../../packages/mosaic/form-field/cleaner.ts","../../../packages/mosaic/form-field/form-field-control.ts","../../../packages/mosaic/form-field/form-field-errors.ts","../../../packages/mosaic/form-field/hint.ts","../../../packages/mosaic/form-field/password-hint.ts","../../../packages/mosaic/form-field/prefix.ts","../../../packages/mosaic/form-field/stepper.ts","../../../packages/mosaic/form-field/suffix.ts","../../../packages/mosaic/form-field/form-field.ts","../../../packages/mosaic/form-field/form-field.html","../../../packages/mosaic/form-field/validate.directive.ts","../../../packages/mosaic/form-field/form-field.module.ts","../../../packages/mosaic/form-field/ptsecurity-mosaic-form-field.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { ThemePalette } from '@ptsecurity/mosaic/core';\n\n\n@Component({\n selector: 'mc-cleaner',\n exportAs: 'mcCleaner',\n template: `<i class=\"mc-icon_light\" mc-icon=\"mc-close-circle_16\" [color]=\"themePalette.Secondary\"></i>`,\n host: {\n class: 'mc-cleaner'\n }\n})\nexport class McCleaner {\n themePalette = ThemePalette;\n}\n","import { NgControl } from '@angular/forms';\nimport { Observable } from 'rxjs';\n\n\n/** An interface which allows a control to work inside of a `MсFormField`. */\n// tslint:disable-next-line:naming-convention\nexport abstract class McFormFieldControl<T> {\n /** The value of the control. */\n value: T | null;\n\n /**\n * Stream that emits whenever the state of the control changes such that the parent `MсFormField`\n * needs to run change detection.\n */\n readonly stateChanges: Observable<void>;\n\n /** The element ID for this control. */\n readonly id: string;\n\n /** The placeholder for this control. */\n readonly placeholder: string;\n\n /** Gets the NgControl for this control. */\n readonly ngControl: NgControl | null;\n\n /** Whether the control is focused. */\n readonly focused: boolean;\n\n /** Whether the control is empty. */\n readonly empty: boolean;\n\n /** Whether the control is required. */\n readonly required: boolean;\n\n /** Whether the control is disabled. */\n readonly disabled: boolean;\n\n /** Whether the control is in an error state. */\n readonly errorState: boolean;\n\n /**\n * An optional name for the control type that can be used to distinguish `mc-form-field` elements\n * based on their control type. The form field will add a class,\n * `mc-form-field-type-{{controlType}}` to its root element.\n */\n readonly controlType?: string;\n\n /** Handles a click on the control's container. */\n abstract onContainerClick(event: MouseEvent): void;\n\n abstract focus(): void;\n}\n","export function getMcFormFieldMissingControlError(): Error {\n return Error('mc-form-field must contain a McFormFieldControl.');\n}\n\nexport function getMcFormFieldYouCanNotUseCleanerInNumberInputError(): Error {\n return Error(`You can't use mc-cleaner with input that have type=\"number\"`);\n}\n","import { Directive, ElementRef, Input } from '@angular/core';\nimport { CanColorCtor, mixinColor, ThemePalette } from '@ptsecurity/mosaic/core';\n\n\nlet nextHintUniqueId = 0;\n\n/** @docs-private */\nexport class McHintBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const McHintMixinBase: CanColorCtor & typeof McHintBase = mixinColor(McHintBase, ThemePalette.Empty);\n\n\n@Directive({\n selector: 'mc-hint',\n inputs: ['color'],\n host: {\n class: 'mc-hint',\n '[attr.id]': 'id'\n }\n})\nexport class McHint extends McHintMixinBase {\n @Input() id: string = `mc-hint-${nextHintUniqueId++}`;\n\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n Inject,\n Input\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { MC_FORM_FIELD } from './form-field';\n\n\nlet nextPasswordHintUniqueId = 0;\n\nexport enum PasswordRules {\n Length,\n UpperLatin,\n LowerLatin,\n Digit,\n LatinAndSpecialSymbols,\n Custom\n}\n\nexport const regExpPasswordValidator = {\n [PasswordRules.LowerLatin]: RegExp(/^(?=.*?[a-z])/),\n [PasswordRules.UpperLatin]: RegExp(/^(?=.*?[A-Z])/),\n [PasswordRules.Digit]: RegExp(/^(?=.*?[0-9])/),\n [PasswordRules.LatinAndSpecialSymbols]: RegExp(/[^ !`\"'#№$%&()*+,-./\\\\:;<=>?@[\\]^_{|}~A-Za-z0-9]/)\n};\n\n\n@Component({\n selector: 'mc-password-hint',\n template: `\n <i *ngIf=\"!checked\" class=\"mc-password-hint__icon\" mc-icon=\"mc-close-M_16\"></i>\n <i *ngIf=\"checked\" class=\"mc-password-hint__icon\" mc-icon=\"mc-check_16\"></i>\n\n <span class=\"mc-password-hint__text\">\n <ng-content></ng-content>\n </span>\n `,\n host: {\n class: 'mc-password-hint',\n '[class.mc-password-hint_valid]': 'checked',\n '[class.mc-password-hint_invalid]': 'hasError',\n '[attr.id]': 'id'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McPasswordHint implements AfterContentInit {\n @Input() id: string = `mc-hint-${nextPasswordHintUniqueId++}`;\n\n @Input() rule: PasswordRules | any;\n\n @Input() min: number;\n @Input() max: number;\n @Input() regex: RegExp | null;\n\n hasError: boolean = false;\n checked: boolean = false;\n\n private checkRule: (value: string) => boolean;\n\n private get control() {\n return this.formField.control;\n }\n\n private lastControlValue: string;\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n @Inject(forwardRef(() => MC_FORM_FIELD)) private formField: any\n ) {}\n\n ngAfterContentInit(): void {\n if (this.rule === null) {\n throw Error('You should set [rule] name');\n }\n\n if (this.rule === PasswordRules.Custom && this.regex === undefined) {\n throw Error('You should set [regex] for PasswordRules.Custom');\n }\n\n if (this.rule === PasswordRules.Length && (this.min || this.max) === null) {\n throw Error('For [rule] \"Length\" need set [min] and [max]');\n }\n\n if (this.rule === PasswordRules.Length) {\n this.checkRule = this.checkLengthRule;\n } else if ([PasswordRules.UpperLatin, PasswordRules.LowerLatin, PasswordRules.Digit].includes(this.rule)) {\n this.regex = regExpPasswordValidator[this.rule];\n this.checkRule = this.checkRegexRule;\n } else if (this.rule === PasswordRules.LatinAndSpecialSymbols) {\n this.regex = regExpPasswordValidator[this.rule];\n this.checkRule = this.checkSpecialSymbolsRegexRule;\n } else if (this.rule === PasswordRules.Custom) {\n this.checkRule = this.checkRegexRule;\n } else {\n throw Error(`Unknown [rule]=${this.rule}`);\n }\n\n this.formField.control.stateChanges\n .subscribe(this.checkValue);\n\n (this.formField.control as unknown as { checkRule: Subject<any> }).checkRule\n .subscribe(() => {\n this.checked = this.checkRule(this.control.value);\n this.hasError = !this.checkRule(this.control.value);\n });\n }\n\n private checkValue = () => {\n if (this.control.focused && this.isValueChanged()) {\n this.hasError = false;\n\n this.checked = this.checkRule(this.control.value);\n } else if (!this.control.focused && !this.isValueChanged()) {\n this.hasError = !this.checkRule(this.control.value);\n }\n\n if (!this.control.required && !this.control.value) {\n this.checked = this.hasError = false;\n }\n\n this.lastControlValue = this.control.value;\n this.changeDetectorRef.markForCheck();\n }\n\n private checkLengthRule(value: string): boolean {\n return value.length >= this.min && value.length <= this.max;\n }\n\n private checkRegexRule(value: string): boolean {\n return !!this.regex?.test(value);\n }\n\n private checkSpecialSymbolsRegexRule(value: string): boolean {\n return !!value && !this.regex?.test(value);\n }\n\n private isValueChanged(): boolean {\n return this.lastControlValue !== this.formField.control.value;\n }\n}\n","import { Directive } from '@angular/core';\n\n\n@Directive({\n selector: '[mcPrefix]'\n})\nexport class McPrefix {}\n","import { Component, EventEmitter, Output } from '@angular/core';\n\n\n@Component({\n selector: 'mc-stepper',\n template: `\n <i class=\"mc mc-icon mc-icon_light mc-secondary mc-stepper-step-up mc-angle-down-L_16\"\n (mousedown)=\"onStepUp($event)\">\n </i>\n <i class=\"mc mc-icon mc-icon_light mc-secondary mc-stepper-step-down mc-angle-down-L_16\"\n (mousedown)=\"onStepDown($event)\">\n </i>\n `\n})\nexport class McStepper {\n @Output()\n readonly stepUp: EventEmitter<void> = new EventEmitter<void>();\n @Output()\n readonly stepDown: EventEmitter<void> = new EventEmitter<void>();\n\n connectTo(numberInput: any) {\n if (!numberInput) { return; }\n\n this.stepUp.subscribe(() => {\n numberInput.stepUp(numberInput.step);\n });\n\n this.stepDown.subscribe(() => {\n numberInput.stepDown(numberInput.step);\n });\n }\n\n onStepUp($event: MouseEvent) {\n this.stepUp.emit();\n $event.preventDefault();\n }\n\n onStepDown($event: MouseEvent) {\n this.stepDown.emit();\n $event.preventDefault();\n }\n}\n","import { Directive } from '@angular/core';\n\n\n@Directive({\n selector: '[mcSuffix]'\n})\nexport class McSuffix {}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n AfterContentInit,\n AfterViewInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n InjectionToken,\n OnDestroy,\n Optional,\n QueryList,\n Self,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { ESCAPE, F8 } from '@ptsecurity/cdk/keycodes';\nimport { CanColor, CanColorCtor, mixinColor } from '@ptsecurity/mosaic/core';\nimport { EMPTY, merge, Subject } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\n\nimport { McCleaner } from './cleaner';\nimport { McFormFieldControl } from './form-field-control';\nimport {\n getMcFormFieldMissingControlError,\n getMcFormFieldYouCanNotUseCleanerInNumberInputError\n} from './form-field-errors';\nimport { McHint } from './hint';\nimport { McPasswordHint } from './password-hint';\nimport { McPrefix } from './prefix';\nimport { McStepper } from './stepper';\nimport { McSuffix } from './suffix';\n\n\nlet nextUniqueId = 0;\n\n/**\n * Injection token that can be used to inject an instances of `MatFormField`. It serves\n * as alternative token to the actual `MatFormField` class which would cause unnecessary\n * retention of the `MatFormField` class and its component metadata.\n */\nexport const MC_FORM_FIELD = new InjectionToken<McFormField>('McFormField');\n\n/** @docs-private */\nexport class McFormFieldBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const McFormFieldMixinBase: CanColorCtor & typeof McFormFieldBase = mixinColor(McFormFieldBase);\n\n@Component({\n selector: 'mc-form-field',\n exportAs: 'mcFormField',\n templateUrl: 'form-field.html',\n // McInput is a directive and can't have styles, so we need to include its styles here.\n // The McInput styles are fairly minimal so it shouldn't be a big deal for people who\n // aren't using McInput.\n styleUrls: [\n 'form-field.scss',\n '../input/input.scss',\n '../timepicker/timepicker.scss',\n '../datepicker/datepicker-input.scss',\n '../textarea/textarea.scss'\n ],\n host: {\n class: 'mc-form-field',\n '[class.mc-form-field_invalid]': 'control.errorState',\n '[class.mc-form-field_has-prefix]': 'hasPrefix',\n '[class.mc-form-field_has-suffix]': 'hasSuffix',\n '[class.mc-form-field_has-cleaner]': 'canShowCleaner',\n '[class.mc-form-field_has-stepper]': 'canShowStepper',\n\n '[class.mc-disabled]': 'control.disabled',\n\n '[class.ng-untouched]': 'shouldForward(\"untouched\")',\n '[class.ng-touched]': 'shouldForward(\"touched\")',\n '[class.ng-pristine]': 'shouldForward(\"pristine\")',\n '[class.ng-dirty]': 'shouldForward(\"dirty\")',\n '[class.ng-valid]': 'shouldForward(\"valid\")',\n '[class.ng-invalid]': 'shouldForward(\"invalid\")',\n '[class.ng-pending]': 'shouldForward(\"pending\")',\n\n '(keydown)': 'onKeyDown($event)',\n '(mouseenter)': 'onHoverChanged(true)',\n '(mouseleave)': 'onHoverChanged(false)'\n },\n inputs: ['color'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: MC_FORM_FIELD, useExisting: McFormField }]\n})\nexport class McFormField extends McFormFieldMixinBase implements\n AfterContentInit, AfterContentChecked, AfterViewInit, CanColor, OnDestroy {\n\n @ContentChild(McFormFieldControl, { static: false }) control: McFormFieldControl<any>;\n @ContentChild(McStepper, { static: false }) stepper: McStepper;\n @ContentChild(McCleaner, { static: false }) cleaner: McCleaner | null;\n\n @ContentChildren(McHint) hint: QueryList<McHint>;\n @ContentChildren(McPasswordHint) passwordHints: QueryList<McPasswordHint>;\n @ContentChildren(McSuffix) suffix: QueryList<McSuffix>;\n @ContentChildren(McPrefix) prefix: QueryList<McPrefix>;\n\n @ViewChild('connectionContainer', { static: true }) connectionContainerRef: ElementRef;\n\n // Unique id for the internal form field label.\n labelId = `mc-form-field-label-${nextUniqueId++}`;\n\n hovered: boolean = false;\n\n canCleanerClearByEsc: boolean = true;\n\n private $unsubscribe = new Subject<void>();\n\n get hasHint(): boolean {\n return this.hint?.length > 0;\n }\n\n get hasPasswordStrengthError(): boolean {\n return this.passwordHints?.some((hint) => hint.hasError);\n }\n\n get hasSuffix(): boolean {\n return this.suffix?.length > 0;\n }\n\n get hasPrefix(): boolean {\n return this.prefix?.length > 0;\n }\n\n get hasCleaner(): boolean {\n return !!this.cleaner;\n }\n\n get hasStepper(): boolean {\n return !!this.stepper;\n }\n\n get canShowCleaner(): boolean {\n return this.hasCleaner &&\n this.control?.ngControl\n ? this.control.ngControl.value && !this.control.disabled\n : false;\n }\n\n get disabled(): boolean {\n return this.control?.disabled;\n }\n\n get canShowStepper(): boolean {\n return this.hasStepper &&\n !this.disabled &&\n (this.control?.focused || this.hovered);\n }\n\n constructor(\n public elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef,\n private focusMonitor: FocusMonitor\n ) {\n super(elementRef);\n\n this.runFocusMonitor();\n }\n\n ngAfterContentInit() {\n if ((this.control as any).numberInput && this.hasCleaner) {\n this.cleaner = null;\n throw getMcFormFieldYouCanNotUseCleanerInNumberInputError();\n }\n\n this.validateControlChild();\n\n if (this.control.controlType) {\n this.elementRef.nativeElement.classList.add(`mc-form-field-type-${this.control.controlType}`);\n }\n\n // Subscribe to changes in the child control state in order to update the form field UI.\n this.control.stateChanges\n .pipe(startWith())\n .subscribe((state: any) => {\n if (!state?.focused && this.hasPasswordStrengthError) {\n this.control.ngControl?.control?.setErrors({ passwordStrength: true });\n }\n\n this.changeDetectorRef.markForCheck();\n });\n\n if (this.hasStepper) {\n this.stepper.connectTo((this.control as any).numberInput);\n }\n\n // Run change detection if the value changes.\n const valueChanges = this.control.ngControl?.valueChanges || EMPTY;\n\n merge(valueChanges)\n .pipe(takeUntil(this.$unsubscribe))\n .subscribe(() => this.changeDetectorRef.markForCheck());\n }\n\n ngAfterContentChecked() {\n this.validateControlChild();\n }\n\n ngAfterViewInit() {\n // Avoid animations on load.\n this.changeDetectorRef.detectChanges();\n }\n\n clearValue($event) {\n $event.stopPropagation();\n\n this.control?.ngControl?.reset();\n this.control?.focus();\n }\n\n onContainerClick($event) {\n if (this.control.onContainerClick) {\n this.control.onContainerClick($event);\n }\n }\n\n onKeyDown(event: KeyboardEvent): void {\n // tslint:disable-next-line:deprecation\n if (this.control.controlType === 'input-password' && event.altKey && event.keyCode === F8) {\n (this.control as unknown as { toggleType(): void }).toggleType();\n }\n // tslint:disable-next-line:deprecation\n if (this.canCleanerClearByEsc && event.keyCode === ESCAPE && this.control.focused && this.hasCleaner) {\n this.control?.ngControl?.reset();\n\n event.preventDefault();\n }\n }\n\n onHoverChanged(isHovered: boolean) {\n if (isHovered !== this.hovered) {\n this.hovered = isHovered;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Gets an ElementRef for the element that a overlay attached to the form-field should be\n * positioned relative to.\n */\n getConnectedOverlayOrigin(): ElementRef {\n return this.connectionContainerRef || this.elementRef;\n }\n\n /** Determines whether a class from the NgControl should be forwarded to the host element. */\n shouldForward(prop: keyof NgControl): boolean {\n const ngControl = this.control?.ngControl;\n\n return ngControl && ngControl[prop];\n }\n\n ngOnDestroy(): void {\n this.$unsubscribe.next();\n this.$unsubscribe.complete();\n\n this.stopFocusMonitor();\n }\n\n runFocusMonitor() {\n this.focusMonitor.monitor(this.elementRef.nativeElement, true);\n }\n\n stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n /** Throws an error if the form field's control is missing. */\n protected validateControlChild() {\n if (!this.control) {\n throw getMcFormFieldMissingControlError();\n }\n }\n}\n\n@Directive({\n selector: 'mc-form-field[mcFormFieldWithoutBorders]',\n exportAs: 'mcFormFieldWithoutBorders',\n host: { class: 'mc-form-field_without-borders' }\n})\nexport class McFormFieldWithoutBorders {}\n\n\n@Directive({\n selector: '[mcInput], [mcTextarea]',\n exportAs: 'McTrim',\n host: { class: 'mc-trim' }\n})\nexport class McTrim {\n private original: (fn: any) => void;\n\n constructor(\n @Attribute('no-trim') private readonly noTrim: boolean,\n @Optional() @Self() private ngControl: NgControl\n ) {\n this.noTrim = coerceBooleanProperty(noTrim);\n\n if (this.noTrim || !this.ngControl?.valueAccessor) { return; }\n\n this.original = this.ngControl.valueAccessor.registerOnChange;\n\n this.ngControl.valueAccessor.registerOnChange = this.registerOnChange;\n }\n\n trim(value) {\n if (this.noTrim) { return value; }\n\n return typeof value === 'string' ? value.trim() : value;\n }\n\n private registerOnChange = (fn) => {\n return this.original.call(this.ngControl.valueAccessor, (value) => fn(this.trim(value)));\n }\n}\n","<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content select=\"mc-password-toggle\"></ng-content>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint, mc-password-hint\"></ng-content>\n</div>\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Directive,\n forwardRef,\n Inject,\n Optional,\n Self\n} from '@angular/core';\nimport {\n AbstractControl,\n FormControlName,\n FormGroupDirective,\n NG_VALIDATORS,\n NgControl,\n NgForm,\n NgModel,\n RequiredValidator,\n ValidationErrors,\n Validator,\n ValidatorFn,\n FormControlDirective\n} from '@angular/forms';\nimport {\n McValidationOptions,\n MC_VALIDATION\n} from '@ptsecurity/mosaic/core';\n\n\nimport { McFormFieldControl } from './form-field-control';\n\n\n@Directive({\n selector: `\n input[mcInput],\n input[mcInputPassword],\n input[mcTimepicker],\n input[mcDatepicker],\n textarea[mcTextarea],\n mc-select,\n mc-tree-select,\n mc-tag-list\n `,\n exportAs: 'McValidate'\n})\nexport class McValidateDirective implements AfterContentInit {\n get isNgModel(): boolean {\n return this.ngControl instanceof NgModel;\n }\n\n get isFormControlName(): boolean {\n return this.ngControl instanceof FormControlName;\n }\n\n get isFormControl(): boolean {\n return this.ngControl instanceof FormControlDirective;\n }\n\n get validationControl(): any {\n return this.ngControl?.control || this.ngControl;\n }\n\n get parent() {\n return this.parentForm || this.parentFormGroup;\n }\n\n get hasNotSubmittedParent(): boolean {\n return this.parent && !this.parent.submitted;\n }\n\n constructor(\n @Inject(forwardRef(() => McFormFieldControl)) private formFieldControl: McFormFieldControl<any>,\n @Optional() @Self() @Inject(NG_VALIDATORS) public rawValidators: Validator[],\n @Optional() @Self() private ngControl: NgControl,\n @Optional() private parentForm: NgForm,\n @Optional() private parentFormGroup: FormGroupDirective,\n @Optional() @Inject(MC_VALIDATION) private mcValidation: McValidationOptions,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngAfterContentInit() {\n if (this.mcValidation.useValidation) {\n this.setMosaicValidation();\n }\n }\n\n setValidState(control: AbstractControl, validator: ValidatorFn): void {\n if (!control) { return; }\n\n control.clearValidators();\n control.updateValueAndValidity({ emitEvent: false });\n control.setValidators(validator);\n }\n\n /** This function do next:\n * - run validation on submitting parent form\n * - prevent validation in required validator if form doesn't submitted\n * - if control has focus validation will be prevented\n */\n setMosaicValidation(): void {\n if (!this.validationControl) { return; }\n\n this.parent?.ngSubmit\n .subscribe(() => this.validationControl!.updateValueAndValidity({ emitEvent: false }));\n\n if (this.isNgModel) {\n this.setMosaicValidationForModelControl();\n } else if (this.isFormControl || this.isFormControlName) {\n this.setMosaicValidationForFormControl();\n }\n }\n\n setMosaicValidationForModelControl() {\n if (!this.rawValidators) { return; }\n\n this.rawValidators.forEach((validator: Validator) => {\n // tslint:disable-next-line: no-unbound-method\n const originalValidate = validator.validate;\n\n if (validator instanceof RequiredValidator) {\n // changed required validation logic\n validator.validate = (control: AbstractControl): ValidationErrors | null => {\n if (this.hasNotSubmittedParent) { return null; }\n\n return originalValidate.call(validator, control);\n };\n } else {\n // changed all other validation logic\n validator.validate = (control: AbstractControl): ValidationErrors | null => {\n if (this.formFieldControl.focused) { return null; }\n\n return originalValidate.call(validator, control);\n };\n }\n });\n }\n\n setMosaicValidationForFormControl() {\n const originalValidator = this.validationControl.validator;\n\n // changed required validation logic after initialization\n if (this.validationControl.invalid && this.validationControl.errors!.required) {\n Promise.resolve().then(() => {\n this.setValidState(this.validationControl, originalValidator!);\n this.cdr.markForCheck();\n });\n }\n\n // check dynamic updates\n this.validationControl.statusChanges!\n .subscribe(() => {\n // changed required validation logic\n if (this.validationControl.invalid && (this.hasNotSubmittedParent) && this.validationControl.errors!.required) {\n this.setValidState(this.validationControl, originalValidator!);\n }\n\n // changed all other validation logic\n if (this.validationControl.invalid && this.formFieldControl.focused) {\n this.setValidState(this.validationControl, originalValidator!);\n }\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McIconModule } from '@ptsecurity/mosaic/icon';\n\nimport { McCleaner } from './cleaner';\nimport { McFormField, McFormFieldWithoutBorders, McTrim } from './form-field';\nimport { McHint } from './hint';\nimport { McPasswordHint } from './password-hint';\nimport { McPrefix } from './prefix';\nimport { McStepper } from './stepper';\nimport { McSuffix } from './suffix';\nimport { McValidateDirective } from './validate.directive';\n\n\n@NgModule({\n declarations: [\n McFormField,\n McFormFieldWithoutBorders,\n McHint,\n McPasswordHint,\n McPrefix,\n McSuffix,\n McCleaner,\n McStepper,\n McValidateDirective,\n McTrim\n ],\n imports: [CommonModule, McIconModule],\n exports: [\n McFormField,\n McFormFieldWithoutBorders,\n McHint,\n McPasswordHint,\n McPrefix,\n McSuffix,\n McCleaner,\n McStepper,\n McValidateDirective,\n McTrim\n ]\n})\nexport class McFormFieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
@@ -89,7 +89,7 @@ class McMarkdown {
|
|
89
89
|
/** @nocollapse */ McMarkdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: McMarkdown, selector: "mc-markdown", inputs: { markdownText: "markdownText" }, host: { classAttribute: "mc-markdown" }, viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true }], ngImport: i0, template: `
|
90
90
|
<pre class="markdown-input" #contentWrapper ngPreserveWhitespaces><ng-content></ng-content></pre>
|
91
91
|
<div class="markdown-output" [innerHtml]="resultHtml"></div>
|
92
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";.mc-markdown{display:block}.mc-markdown .markdown-input{display:none}.mc-markdown .markdown-output{flex:1}.mc-markdown .mc-markdown__h1{max-width:var(--mc-markdown-h1-size-max-width, 650px);margin-top:var(--mc-markdown-h1-size-margin-top, 0);margin-bottom:var(--mc-markdown-h1-size-margin-bottom, 16px)}.mc-markdown .mc-markdown__h2{max-width:var(--mc-markdown-h2-size-max-width, 650px);margin-top:var(--mc-markdown-h2-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h2-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__h3{max-width:var(--mc-markdown-h3-size-max-width, 650px);margin-top:var(--mc-markdown-h3-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h3-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__h4{max-width:var(--mc-markdown-h4-size-max-width, 650px);margin-top:var(--mc-markdown-h4-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h4-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__h5{max-width:var(--mc-markdown-h5-size-max-width, 650px);margin-top:var(--mc-markdown-h5-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h5-size-margin-bottom, 8px)}.mc-markdown .mc-markdown__h6{max-width:var(--mc-markdown-h6-size-max-width, 650px);margin-top:var(--mc-markdown-h6-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h6-size-margin-bottom, 8px)}.mc-markdown .mc-markdown__a{display:inline-block;text-decoration:none;cursor:pointer;border-bottom-style:solid;border-bottom-width:1px;transition:color ease-out .3s}.mc-markdown .mc-markdown__p{max-width:var(--mc-markdown-p-size-max-width, 650px);margin-top:var(--mc-markdown-p-size-margin-top, 12px);margin-bottom:var(--mc-markdown-p-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__ul,.mc-markdown .mc-markdown__ol{max-width:var(--mc-markdown-list-size-max-width, 650px);margin-top:var(--mc-markdown-list-size-margin-top, 12px);margin-bottom:var(--mc-markdown-list-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__ul>li,.mc-markdown .mc-markdown__ol>li{margin-bottom:var(--mc-markdown-list-size-item-margin-bottom, 4px)}.mc-markdown .mc-markdown__ul{position:relative;list-style:none;padding:var(--mc-markdown-list-size-ul-padding, 0 0 0 24px)}.mc-markdown .mc-markdown__ul>li:before{content:\"\\2014\";display:block;position:absolute;width:24px;text-align:left;left:0}.mc-markdown .mc-markdown__ol{list-style:none;padding:0;counter-reset:li}.mc-markdown .mc-markdown__ol>li:before{content:counter(li) \".\";counter-increment:li;padding-right:var(--mc-markdown-list-size-ol-number-padding-right, 4px)}.mc-markdown .mc-markdown__p+.mc-markdown__ul,.mc-markdown .mc-markdown__p+.mc-markdown__ol{margin-top:var(--mc-markdown-list-size-margin-top-after-paragraph, -8px)}.mc-markdown .mc-markdown__blockquote{max-width:var(--mc-markdown-blockquote-size-max-width, 650px);margin-top:var(--mc-markdown-blockquote-size-margin-top, 12px);margin-bottom:var(--mc-markdown-blockquote-size-margin-bottom, 12px);border-left-width:var(--mc-markdown-blockquote-size-line-width, 4px);border-left-style:solid;padding:var(--mc-markdown-blockquote-size-padding, 2px 12px);margin-left:0;margin-right:0}.mc-markdown .mc-markdown__blockquote>.mc-markdown__p{margin-top:0;margin-bottom:0}.mc-markdown .mc-markdown__pre{position:relative;overflow-x:auto;margin-top:var(--mc-markdown-code-size-multiline-margin-top, 12px);margin-bottom:var(--mc-markdown-code-size-multiline-margin-bottom, 24px);padding:var(--mc-markdown-code-size-multiline-padding, 12px 16px)}.mc-markdown .mc-markdown__pre,.mc-markdown .mc-markdown__p>.mc-markdown__code{border-radius:var(--mc-markdown-code-size-border-radius, 4px);border-width:var(--mc-markdown-code-size-border-width, 1px);border-style:solid}.mc-markdown .mc-markdown__p>.mc-markdown__code{max-width:var(--mc-markdown-code-size-max-width, 650px);padding:var(--mc-markdown-code-size-inline-padding, 0 4px)}.mc-markdown .mc-markdown__img{max-width:var(--mc-markdown-image-size-max-width, 650px);margin-top:var(--mc-markdown-image-size-margin-top, 12px);margin-bottom:var(--mc-markdown-image-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__img+em{display:block;margin-top:var(--mc-markdown-image-size-caption-margin-top, -8px);margin-bottom:var(--mc-markdown-image-size-caption-margin-bottom, 24px)}.mc-markdown .mc-markdown__hr{border-top:none;border-left:none;border-right:none;border-bottom-style:solid;border-bottom-width:var(--mc-markdown-hr-size-width, 1px);margin:var(--mc-markdown-hr-size-margin-vertical, 24px) 0}.mc-markdown .mc-markdown__table{max-width:100%;overflow-x:auto;display:table;border-collapse:collapse;margin-bottom:var(--mc-markdown-table-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__table td{vertical-align:top}.mc-markdown .mc-markdown__table th,.mc-markdown .mc-markdown__table td{padding:var(--mc-markdown-table-size-padding, 8px);font-weight:400}.mc-markdown .mc-markdown__table>.mc-markdown__thead{border-bottom-style:solid;border-bottom-width:var(--mc-markdown-table-size-border-width, 1px);text-align:left}.mc-markdown .mc-markdown__table>.mc-markdown__thead th:first-child{padding-left:0}.mc-markdown .mc-markdown__table>.mc-markdown__thead th:last-child{padding-right:0}.mc-markdown .mc-markdown__table>.mc-markdown__tbody td:first-child{padding-left:0}.mc-markdown .mc-markdown__table>.mc-markdown__tbody td:last-child{padding-right:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
92
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";.mc-markdown{display:block}.mc-markdown .markdown-input{display:none}.mc-markdown .markdown-output{flex:1}.mc-markdown .mc-markdown__h1{max-width:var(--mc-markdown-h1-size-max-width, 650px);margin-top:var(--mc-markdown-h1-size-margin-top, 0);margin-bottom:var(--mc-markdown-h1-size-margin-bottom, 16px)}.mc-markdown .mc-markdown__h2{max-width:var(--mc-markdown-h2-size-max-width, 650px);margin-top:var(--mc-markdown-h2-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h2-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__h3{max-width:var(--mc-markdown-h3-size-max-width, 650px);margin-top:var(--mc-markdown-h3-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h3-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__h4{max-width:var(--mc-markdown-h4-size-max-width, 650px);margin-top:var(--mc-markdown-h4-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h4-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__h5{max-width:var(--mc-markdown-h5-size-max-width, 650px);margin-top:var(--mc-markdown-h5-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h5-size-margin-bottom, 8px)}.mc-markdown .mc-markdown__h6{max-width:var(--mc-markdown-h6-size-max-width, 650px);margin-top:var(--mc-markdown-h6-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h6-size-margin-bottom, 8px)}.mc-markdown .mc-markdown__a{display:inline-block;text-decoration:none;cursor:pointer;border-bottom-style:solid;border-bottom-width:1px;transition:color ease-out .3s}.mc-markdown .mc-markdown__p{max-width:var(--mc-markdown-p-size-max-width, 650px);margin-top:var(--mc-markdown-p-size-margin-top, 12px);margin-bottom:var(--mc-markdown-p-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__ul,.mc-markdown .mc-markdown__ol{max-width:var(--mc-markdown-list-size-max-width, 650px);margin-top:var(--mc-markdown-list-size-margin-top, 12px);margin-bottom:var(--mc-markdown-list-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__ul>li,.mc-markdown .mc-markdown__ol>li{margin-bottom:var(--mc-markdown-list-size-item-margin-bottom, 4px)}.mc-markdown .mc-markdown__ul{position:relative;list-style:none;padding:var(--mc-markdown-list-size-ul-padding, 0 0 0 24px)}.mc-markdown .mc-markdown__ul>li:before{content:\"\\2014\";display:block;position:absolute;width:24px;text-align:left;left:0}.mc-markdown .mc-markdown__ol{list-style:none;padding:0;counter-reset:li}.mc-markdown .mc-markdown__ol>li:before{content:counter(li) \".\";counter-increment:li;padding-right:var(--mc-markdown-list-size-ol-number-padding-right, 4px)}.mc-markdown .mc-markdown__ol>li>*{display:inline-block}.mc-markdown .mc-markdown__p+.mc-markdown__ul,.mc-markdown .mc-markdown__p+.mc-markdown__ol{margin-top:var(--mc-markdown-list-size-margin-top-after-paragraph, -8px)}.mc-markdown .mc-markdown__blockquote{max-width:var(--mc-markdown-blockquote-size-max-width, 650px);margin-top:var(--mc-markdown-blockquote-size-margin-top, 12px);margin-bottom:var(--mc-markdown-blockquote-size-margin-bottom, 12px);border-left-width:var(--mc-markdown-blockquote-size-line-width, 4px);border-left-style:solid;padding:var(--mc-markdown-blockquote-size-padding, 2px 12px);margin-left:0;margin-right:0}.mc-markdown .mc-markdown__blockquote>.mc-markdown__p{margin-top:0;margin-bottom:0}.mc-markdown .mc-markdown__pre{position:relative;overflow-x:auto;margin-top:var(--mc-markdown-code-size-multiline-margin-top, 12px);margin-bottom:var(--mc-markdown-code-size-multiline-margin-bottom, 24px);padding:var(--mc-markdown-code-size-multiline-padding, 12px 16px)}.mc-markdown .mc-markdown__pre,.mc-markdown .mc-markdown__p>.mc-markdown__code{border-radius:var(--mc-markdown-code-size-border-radius, 4px);border-width:var(--mc-markdown-code-size-border-width, 1px);border-style:solid}.mc-markdown .mc-markdown__p>.mc-markdown__code{max-width:var(--mc-markdown-code-size-max-width, 650px);padding:var(--mc-markdown-code-size-inline-padding, 0 4px)}.mc-markdown .mc-markdown__img{max-width:var(--mc-markdown-image-size-max-width, 650px);margin-top:var(--mc-markdown-image-size-margin-top, 12px);margin-bottom:var(--mc-markdown-image-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__img+em{display:block;margin-top:var(--mc-markdown-image-size-caption-margin-top, -8px);margin-bottom:var(--mc-markdown-image-size-caption-margin-bottom, 24px)}.mc-markdown .mc-markdown__hr{border-top:none;border-left:none;border-right:none;border-bottom-style:solid;border-bottom-width:var(--mc-markdown-hr-size-width, 1px);margin:var(--mc-markdown-hr-size-margin-vertical, 24px) 0}.mc-markdown .mc-markdown__table{max-width:100%;overflow-x:auto;display:table;border-collapse:collapse;margin-bottom:var(--mc-markdown-table-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__table td{vertical-align:top}.mc-markdown .mc-markdown__table th,.mc-markdown .mc-markdown__table td{padding:var(--mc-markdown-table-size-padding, 8px);font-weight:400}.mc-markdown .mc-markdown__table>.mc-markdown__thead{border-bottom-style:solid;border-bottom-width:var(--mc-markdown-table-size-border-width, 1px);text-align:left}.mc-markdown .mc-markdown__table>.mc-markdown__thead th:first-child{padding-left:0}.mc-markdown .mc-markdown__table>.mc-markdown__thead th:last-child{padding-right:0}.mc-markdown .mc-markdown__table>.mc-markdown__tbody td:first-child{padding-left:0}.mc-markdown .mc-markdown__table>.mc-markdown__tbody td:last-child{padding-right:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
93
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McMarkdown, decorators: [{
|
94
94
|
type: Component,
|
95
95
|
args: [{ selector: 'mc-markdown', template: `
|
@@ -97,7 +97,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
97
97
|
<div class="markdown-output" [innerHtml]="resultHtml"></div>
|
98
98
|
`, host: {
|
99
99
|
class: 'mc-markdown'
|
100
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: ["@charset \"UTF-8\";.mc-markdown{display:block}.mc-markdown .markdown-input{display:none}.mc-markdown .markdown-output{flex:1}.mc-markdown .mc-markdown__h1{max-width:var(--mc-markdown-h1-size-max-width, 650px);margin-top:var(--mc-markdown-h1-size-margin-top, 0);margin-bottom:var(--mc-markdown-h1-size-margin-bottom, 16px)}.mc-markdown .mc-markdown__h2{max-width:var(--mc-markdown-h2-size-max-width, 650px);margin-top:var(--mc-markdown-h2-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h2-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__h3{max-width:var(--mc-markdown-h3-size-max-width, 650px);margin-top:var(--mc-markdown-h3-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h3-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__h4{max-width:var(--mc-markdown-h4-size-max-width, 650px);margin-top:var(--mc-markdown-h4-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h4-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__h5{max-width:var(--mc-markdown-h5-size-max-width, 650px);margin-top:var(--mc-markdown-h5-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h5-size-margin-bottom, 8px)}.mc-markdown .mc-markdown__h6{max-width:var(--mc-markdown-h6-size-max-width, 650px);margin-top:var(--mc-markdown-h6-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h6-size-margin-bottom, 8px)}.mc-markdown .mc-markdown__a{display:inline-block;text-decoration:none;cursor:pointer;border-bottom-style:solid;border-bottom-width:1px;transition:color ease-out .3s}.mc-markdown .mc-markdown__p{max-width:var(--mc-markdown-p-size-max-width, 650px);margin-top:var(--mc-markdown-p-size-margin-top, 12px);margin-bottom:var(--mc-markdown-p-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__ul,.mc-markdown .mc-markdown__ol{max-width:var(--mc-markdown-list-size-max-width, 650px);margin-top:var(--mc-markdown-list-size-margin-top, 12px);margin-bottom:var(--mc-markdown-list-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__ul>li,.mc-markdown .mc-markdown__ol>li{margin-bottom:var(--mc-markdown-list-size-item-margin-bottom, 4px)}.mc-markdown .mc-markdown__ul{position:relative;list-style:none;padding:var(--mc-markdown-list-size-ul-padding, 0 0 0 24px)}.mc-markdown .mc-markdown__ul>li:before{content:\"\\2014\";display:block;position:absolute;width:24px;text-align:left;left:0}.mc-markdown .mc-markdown__ol{list-style:none;padding:0;counter-reset:li}.mc-markdown .mc-markdown__ol>li:before{content:counter(li) \".\";counter-increment:li;padding-right:var(--mc-markdown-list-size-ol-number-padding-right, 4px)}.mc-markdown .mc-markdown__p+.mc-markdown__ul,.mc-markdown .mc-markdown__p+.mc-markdown__ol{margin-top:var(--mc-markdown-list-size-margin-top-after-paragraph, -8px)}.mc-markdown .mc-markdown__blockquote{max-width:var(--mc-markdown-blockquote-size-max-width, 650px);margin-top:var(--mc-markdown-blockquote-size-margin-top, 12px);margin-bottom:var(--mc-markdown-blockquote-size-margin-bottom, 12px);border-left-width:var(--mc-markdown-blockquote-size-line-width, 4px);border-left-style:solid;padding:var(--mc-markdown-blockquote-size-padding, 2px 12px);margin-left:0;margin-right:0}.mc-markdown .mc-markdown__blockquote>.mc-markdown__p{margin-top:0;margin-bottom:0}.mc-markdown .mc-markdown__pre{position:relative;overflow-x:auto;margin-top:var(--mc-markdown-code-size-multiline-margin-top, 12px);margin-bottom:var(--mc-markdown-code-size-multiline-margin-bottom, 24px);padding:var(--mc-markdown-code-size-multiline-padding, 12px 16px)}.mc-markdown .mc-markdown__pre,.mc-markdown .mc-markdown__p>.mc-markdown__code{border-radius:var(--mc-markdown-code-size-border-radius, 4px);border-width:var(--mc-markdown-code-size-border-width, 1px);border-style:solid}.mc-markdown .mc-markdown__p>.mc-markdown__code{max-width:var(--mc-markdown-code-size-max-width, 650px);padding:var(--mc-markdown-code-size-inline-padding, 0 4px)}.mc-markdown .mc-markdown__img{max-width:var(--mc-markdown-image-size-max-width, 650px);margin-top:var(--mc-markdown-image-size-margin-top, 12px);margin-bottom:var(--mc-markdown-image-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__img+em{display:block;margin-top:var(--mc-markdown-image-size-caption-margin-top, -8px);margin-bottom:var(--mc-markdown-image-size-caption-margin-bottom, 24px)}.mc-markdown .mc-markdown__hr{border-top:none;border-left:none;border-right:none;border-bottom-style:solid;border-bottom-width:var(--mc-markdown-hr-size-width, 1px);margin:var(--mc-markdown-hr-size-margin-vertical, 24px) 0}.mc-markdown .mc-markdown__table{max-width:100%;overflow-x:auto;display:table;border-collapse:collapse;margin-bottom:var(--mc-markdown-table-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__table td{vertical-align:top}.mc-markdown .mc-markdown__table th,.mc-markdown .mc-markdown__table td{padding:var(--mc-markdown-table-size-padding, 8px);font-weight:400}.mc-markdown .mc-markdown__table>.mc-markdown__thead{border-bottom-style:solid;border-bottom-width:var(--mc-markdown-table-size-border-width, 1px);text-align:left}.mc-markdown .mc-markdown__table>.mc-markdown__thead th:first-child{padding-left:0}.mc-markdown .mc-markdown__table>.mc-markdown__thead th:last-child{padding-right:0}.mc-markdown .mc-markdown__table>.mc-markdown__tbody td:first-child{padding-left:0}.mc-markdown .mc-markdown__table>.mc-markdown__tbody td:last-child{padding-right:0}\n"] }]
|
100
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: ["@charset \"UTF-8\";.mc-markdown{display:block}.mc-markdown .markdown-input{display:none}.mc-markdown .markdown-output{flex:1}.mc-markdown .mc-markdown__h1{max-width:var(--mc-markdown-h1-size-max-width, 650px);margin-top:var(--mc-markdown-h1-size-margin-top, 0);margin-bottom:var(--mc-markdown-h1-size-margin-bottom, 16px)}.mc-markdown .mc-markdown__h2{max-width:var(--mc-markdown-h2-size-max-width, 650px);margin-top:var(--mc-markdown-h2-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h2-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__h3{max-width:var(--mc-markdown-h3-size-max-width, 650px);margin-top:var(--mc-markdown-h3-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h3-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__h4{max-width:var(--mc-markdown-h4-size-max-width, 650px);margin-top:var(--mc-markdown-h4-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h4-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__h5{max-width:var(--mc-markdown-h5-size-max-width, 650px);margin-top:var(--mc-markdown-h5-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h5-size-margin-bottom, 8px)}.mc-markdown .mc-markdown__h6{max-width:var(--mc-markdown-h6-size-max-width, 650px);margin-top:var(--mc-markdown-h6-size-margin-top, 24px);margin-bottom:var(--mc-markdown-h6-size-margin-bottom, 8px)}.mc-markdown .mc-markdown__a{display:inline-block;text-decoration:none;cursor:pointer;border-bottom-style:solid;border-bottom-width:1px;transition:color ease-out .3s}.mc-markdown .mc-markdown__p{max-width:var(--mc-markdown-p-size-max-width, 650px);margin-top:var(--mc-markdown-p-size-margin-top, 12px);margin-bottom:var(--mc-markdown-p-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__ul,.mc-markdown .mc-markdown__ol{max-width:var(--mc-markdown-list-size-max-width, 650px);margin-top:var(--mc-markdown-list-size-margin-top, 12px);margin-bottom:var(--mc-markdown-list-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__ul>li,.mc-markdown .mc-markdown__ol>li{margin-bottom:var(--mc-markdown-list-size-item-margin-bottom, 4px)}.mc-markdown .mc-markdown__ul{position:relative;list-style:none;padding:var(--mc-markdown-list-size-ul-padding, 0 0 0 24px)}.mc-markdown .mc-markdown__ul>li:before{content:\"\\2014\";display:block;position:absolute;width:24px;text-align:left;left:0}.mc-markdown .mc-markdown__ol{list-style:none;padding:0;counter-reset:li}.mc-markdown .mc-markdown__ol>li:before{content:counter(li) \".\";counter-increment:li;padding-right:var(--mc-markdown-list-size-ol-number-padding-right, 4px)}.mc-markdown .mc-markdown__ol>li>*{display:inline-block}.mc-markdown .mc-markdown__p+.mc-markdown__ul,.mc-markdown .mc-markdown__p+.mc-markdown__ol{margin-top:var(--mc-markdown-list-size-margin-top-after-paragraph, -8px)}.mc-markdown .mc-markdown__blockquote{max-width:var(--mc-markdown-blockquote-size-max-width, 650px);margin-top:var(--mc-markdown-blockquote-size-margin-top, 12px);margin-bottom:var(--mc-markdown-blockquote-size-margin-bottom, 12px);border-left-width:var(--mc-markdown-blockquote-size-line-width, 4px);border-left-style:solid;padding:var(--mc-markdown-blockquote-size-padding, 2px 12px);margin-left:0;margin-right:0}.mc-markdown .mc-markdown__blockquote>.mc-markdown__p{margin-top:0;margin-bottom:0}.mc-markdown .mc-markdown__pre{position:relative;overflow-x:auto;margin-top:var(--mc-markdown-code-size-multiline-margin-top, 12px);margin-bottom:var(--mc-markdown-code-size-multiline-margin-bottom, 24px);padding:var(--mc-markdown-code-size-multiline-padding, 12px 16px)}.mc-markdown .mc-markdown__pre,.mc-markdown .mc-markdown__p>.mc-markdown__code{border-radius:var(--mc-markdown-code-size-border-radius, 4px);border-width:var(--mc-markdown-code-size-border-width, 1px);border-style:solid}.mc-markdown .mc-markdown__p>.mc-markdown__code{max-width:var(--mc-markdown-code-size-max-width, 650px);padding:var(--mc-markdown-code-size-inline-padding, 0 4px)}.mc-markdown .mc-markdown__img{max-width:var(--mc-markdown-image-size-max-width, 650px);margin-top:var(--mc-markdown-image-size-margin-top, 12px);margin-bottom:var(--mc-markdown-image-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__img+em{display:block;margin-top:var(--mc-markdown-image-size-caption-margin-top, -8px);margin-bottom:var(--mc-markdown-image-size-caption-margin-bottom, 24px)}.mc-markdown .mc-markdown__hr{border-top:none;border-left:none;border-right:none;border-bottom-style:solid;border-bottom-width:var(--mc-markdown-hr-size-width, 1px);margin:var(--mc-markdown-hr-size-margin-vertical, 24px) 0}.mc-markdown .mc-markdown__table{max-width:100%;overflow-x:auto;display:table;border-collapse:collapse;margin-bottom:var(--mc-markdown-table-size-margin-bottom, 12px)}.mc-markdown .mc-markdown__table td{vertical-align:top}.mc-markdown .mc-markdown__table th,.mc-markdown .mc-markdown__table td{padding:var(--mc-markdown-table-size-padding, 8px);font-weight:400}.mc-markdown .mc-markdown__table>.mc-markdown__thead{border-bottom-style:solid;border-bottom-width:var(--mc-markdown-table-size-border-width, 1px);text-align:left}.mc-markdown .mc-markdown__table>.mc-markdown__thead th:first-child{padding-left:0}.mc-markdown .mc-markdown__table>.mc-markdown__thead th:last-child{padding-right:0}.mc-markdown .mc-markdown__table>.mc-markdown__tbody td:first-child{padding-left:0}.mc-markdown .mc-markdown__table>.mc-markdown__tbody td:last-child{padding-right:0}\n"] }]
|
101
101
|
}], ctorParameters: function () { return [{ type: McMarkdownService }, { type: i2.DomSanitizer }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { contentWrapper: [{
|
102
102
|
type: ViewChild,
|
103
103
|
args: ['contentWrapper']
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-markdown.mjs","sources":["../../../packages/mosaic/markdown/markdown.values.ts","../../../packages/mosaic/markdown/markdown.service.ts","../../../packages/mosaic/markdown/markdown.component.ts","../../../packages/mosaic/markdown/markdown.module.ts","../../../packages/mosaic/markdown/ptsecurity-mosaic-markdown.ts"],"sourcesContent":["export const MARKDOWN_TAGS_TO_CLASS_ALIAS = [\n 'a',\n 'blockquote',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'hr',\n 'li',\n 'ol',\n 'table',\n 'tbody',\n 'thead',\n 'td',\n 'tr',\n 'ul',\n 'pre',\n 'code',\n 'img'\n];\n\n// separating th and p to prevent it's conflict with thead and pre\nexport const MARKDOWN_WHOLE_TAGS_TO_CLASS_ALIAS = [\n 'th',\n 'p'\n];\nexport const CLASS_PREFIX: string = 'mc-markdown';\n","import { Injectable } from '@angular/core';\nimport { marked } from 'marked';\n\nimport {\n CLASS_PREFIX,\n MARKDOWN_TAGS_TO_CLASS_ALIAS,\n MARKDOWN_WHOLE_TAGS_TO_CLASS_ALIAS\n} from './markdown.values';\n\n\n@Injectable()\nexport class McMarkdownService {\n parseToHtml(markdown: string): string {\n return this.transform(marked.parse(markdown));\n }\n\n private transform(htmlContent: string): string {\n let transformed = htmlContent;\n\n MARKDOWN_TAGS_TO_CLASS_ALIAS.forEach((tag) => {\n transformed = transformed.replace(\n new RegExp(`<${tag}`, 'g'),\n (_match: string) => `<${tag} class=\"${CLASS_PREFIX}__${tag}\"`\n );\n });\n\n MARKDOWN_WHOLE_TAGS_TO_CLASS_ALIAS.forEach((tag) => {\n transformed = transformed.replace(\n new RegExp(`<${tag}\\s*>`, 'g'),\n (_match: string) => `<${tag} class=\"${CLASS_PREFIX}__${tag}\">`\n );\n });\n\n return transformed;\n }\n}\n","import {\n Input,\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n AfterContentChecked,\n ChangeDetectorRef,\n ElementRef,\n ViewChild\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport { McMarkdownService } from './markdown.service';\n\n\n@Component({\n selector: 'mc-markdown',\n styleUrls: ['./markdown.scss'],\n // no need format line with ng-content it's broke textContent for markdownService.parseToHtml()\n template: `\n <pre class=\"markdown-input\" #contentWrapper ngPreserveWhitespaces><ng-content></ng-content></pre>\n <div class=\"markdown-output\" [innerHtml]=\"resultHtml\"></div>\n `,\n host: {\n class: 'mc-markdown'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McMarkdown implements AfterContentChecked {\n @ViewChild('contentWrapper') contentWrapper: ElementRef;\n\n @Input()\n get markdownText(): string | null {\n return this._markdownText;\n }\n\n set markdownText(value: string | null) {\n if (value && this.markdownText !== value) {\n this.resultHtml = this.getResultHTML(value);\n }\n\n this._markdownText = value;\n }\n\n private _markdownText: string | null = null;\n\n resultHtml: SafeHtml = '';\n\n constructor(\n private markdownService: McMarkdownService,\n private sanitizer: DomSanitizer,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngAfterContentChecked(): void {\n if (!this.markdownText && this.contentWrapper?.nativeElement.textContent) {\n this.resultHtml = this.getResultHTML(this.contentWrapper.nativeElement.textContent);\n this.cdr.detectChanges();\n }\n }\n\n private getResultHTML(value): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.markdownService.parseToHtml(value));\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { McCommonModule } from '@ptsecurity/mosaic/core';\n\nimport { McMarkdown } from './markdown.component';\nimport { McMarkdownService } from './markdown.service';\n\n\n@NgModule({\n imports: [CommonModule, A11yModule, McCommonModule, FormsModule],\n exports: [McMarkdown],\n declarations: [McMarkdown],\n providers: [McMarkdownService]\n})\nexport class McMarkdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.McMarkdownService"],"mappings":"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
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-markdown.mjs","sources":["../../../packages/mosaic/markdown/markdown.values.ts","../../../packages/mosaic/markdown/markdown.service.ts","../../../packages/mosaic/markdown/markdown.component.ts","../../../packages/mosaic/markdown/markdown.module.ts","../../../packages/mosaic/markdown/ptsecurity-mosaic-markdown.ts"],"sourcesContent":["export const MARKDOWN_TAGS_TO_CLASS_ALIAS = [\n 'a',\n 'blockquote',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'hr',\n 'li',\n 'ol',\n 'table',\n 'tbody',\n 'thead',\n 'td',\n 'tr',\n 'ul',\n 'pre',\n 'code',\n 'img'\n];\n\n// separating th and p to prevent it's conflict with thead and pre\nexport const MARKDOWN_WHOLE_TAGS_TO_CLASS_ALIAS = [\n 'th',\n 'p'\n];\nexport const CLASS_PREFIX: string = 'mc-markdown';\n","import { Injectable } from '@angular/core';\nimport { marked } from 'marked';\n\nimport {\n CLASS_PREFIX,\n MARKDOWN_TAGS_TO_CLASS_ALIAS,\n MARKDOWN_WHOLE_TAGS_TO_CLASS_ALIAS\n} from './markdown.values';\n\n\n@Injectable()\nexport class McMarkdownService {\n parseToHtml(markdown: string): string {\n return this.transform(marked.parse(markdown));\n }\n\n private transform(htmlContent: string): string {\n let transformed = htmlContent;\n\n MARKDOWN_TAGS_TO_CLASS_ALIAS.forEach((tag) => {\n transformed = transformed.replace(\n new RegExp(`<${tag}`, 'g'),\n (_match: string) => `<${tag} class=\"${CLASS_PREFIX}__${tag}\"`\n );\n });\n\n MARKDOWN_WHOLE_TAGS_TO_CLASS_ALIAS.forEach((tag) => {\n transformed = transformed.replace(\n new RegExp(`<${tag}\\s*>`, 'g'),\n (_match: string) => `<${tag} class=\"${CLASS_PREFIX}__${tag}\">`\n );\n });\n\n return transformed;\n }\n}\n","import {\n Input,\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n AfterContentChecked,\n ChangeDetectorRef,\n ElementRef,\n ViewChild\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport { McMarkdownService } from './markdown.service';\n\n\n@Component({\n selector: 'mc-markdown',\n styleUrls: ['./markdown.scss'],\n // no need format line with ng-content it's broke textContent for markdownService.parseToHtml()\n template: `\n <pre class=\"markdown-input\" #contentWrapper ngPreserveWhitespaces><ng-content></ng-content></pre>\n <div class=\"markdown-output\" [innerHtml]=\"resultHtml\"></div>\n `,\n host: {\n class: 'mc-markdown'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McMarkdown implements AfterContentChecked {\n @ViewChild('contentWrapper') contentWrapper: ElementRef;\n\n @Input()\n get markdownText(): string | null {\n return this._markdownText;\n }\n\n set markdownText(value: string | null) {\n if (value && this.markdownText !== value) {\n this.resultHtml = this.getResultHTML(value);\n }\n\n this._markdownText = value;\n }\n\n private _markdownText: string | null = null;\n\n resultHtml: SafeHtml = '';\n\n constructor(\n private markdownService: McMarkdownService,\n private sanitizer: DomSanitizer,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngAfterContentChecked(): void {\n if (!this.markdownText && this.contentWrapper?.nativeElement.textContent) {\n this.resultHtml = this.getResultHTML(this.contentWrapper.nativeElement.textContent);\n this.cdr.detectChanges();\n }\n }\n\n private getResultHTML(value): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.markdownService.parseToHtml(value));\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { McCommonModule } from '@ptsecurity/mosaic/core';\n\nimport { McMarkdown } from './markdown.component';\nimport { McMarkdownService } from './markdown.service';\n\n\n@NgModule({\n imports: [CommonModule, A11yModule, McCommonModule, FormsModule],\n exports: [McMarkdown],\n declarations: [McMarkdown],\n providers: [McMarkdownService]\n})\nexport class McMarkdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.McMarkdownService"],"mappings":"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"}
|