@ptsecurity/mosaic 12.3.0 → 13.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +978 -781
- package/_visual.scss +848 -692
- package/autocomplete/README.md +0 -0
- package/autocomplete/package.json +5 -5
- package/button/README.md +0 -0
- package/button/button.component.d.ts +17 -14
- package/button/button.module.d.ts +1 -1
- package/button/package.json +5 -5
- package/button-toggle/README.md +0 -0
- package/button-toggle/package.json +5 -5
- package/card/README.md +0 -0
- package/card/package.json +5 -5
- package/checkbox/README.md +1 -0
- package/checkbox/package.json +5 -5
- package/core/formatters/date/formatter.d.ts +41 -17
- package/core/formatters/date/templates/en-US.d.ts +8 -8
- package/core/formatters/date/templates/ru-RU.d.ts +8 -8
- package/core/package.json +5 -5
- package/core/pop-up/pop-up.d.ts +1 -0
- package/core/public-api.d.ts +1 -0
- package/core/version.d.ts +2 -0
- package/datepicker/README.md +0 -0
- package/datepicker/package.json +5 -5
- package/design-tokens/{tokens → legacy-2017/tokens}/components/alert.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/autocomplete.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/badge.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/button-toggle.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/button.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/card.json5 +0 -0
- package/design-tokens/legacy-2017/tokens/components/checkbox.json5 +39 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/datepicker.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/divider.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/dropdown.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/form-field.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/forms.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/input.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/link.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/list.json5 +0 -0
- package/design-tokens/legacy-2017/tokens/components/modal.json5 +79 -0
- package/design-tokens/legacy-2017/tokens/components/navbar.json5 +69 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/optgroup.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/option.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/popover.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/popup.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/progress-bar.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/progress-spinner.json5 +0 -0
- package/design-tokens/legacy-2017/tokens/components/radio.json5 +44 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/select.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/sidepanel.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/table.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/tabs.json5 +0 -0
- package/design-tokens/legacy-2017/tokens/components/tags.json5 +132 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/textarea.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/timepicker.json5 +0 -0
- package/design-tokens/legacy-2017/tokens/components/toggle.json5 +79 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/tooltip.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/components/tree.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/properties/aliases.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/properties/colors.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/properties/font.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/properties/globals.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/properties/padding.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/properties/palette.json5 +0 -0
- package/design-tokens/{tokens → legacy-2017/tokens}/properties/typography.json5 +0 -0
- package/design-tokens/legacy-2017/tokens.d.ts +7659 -0
- package/design-tokens/package.json +5 -5
- package/design-tokens/pt-2022/tokens/components/alert.json5 +83 -0
- package/design-tokens/pt-2022/tokens/components/autocomplete.json5 +11 -0
- package/design-tokens/pt-2022/tokens/components/badge.json5 +184 -0
- package/design-tokens/pt-2022/tokens/components/button-toggle.json5 +10 -0
- package/design-tokens/pt-2022/tokens/components/button.json5 +143 -0
- package/design-tokens/pt-2022/tokens/components/card.json5 +51 -0
- package/design-tokens/pt-2022/tokens/components/checkbox.json5 +39 -0
- package/design-tokens/pt-2022/tokens/components/datepicker.json5 +64 -0
- package/design-tokens/pt-2022/tokens/components/divider.json5 +8 -0
- package/design-tokens/pt-2022/tokens/components/dropdown.json5 +47 -0
- package/design-tokens/pt-2022/tokens/components/form-field.json5 +52 -0
- package/design-tokens/pt-2022/tokens/components/forms.json5 +52 -0
- package/design-tokens/pt-2022/tokens/components/input.json5 +13 -0
- package/design-tokens/pt-2022/tokens/components/link.json5 +56 -0
- package/design-tokens/pt-2022/tokens/components/list.json5 +15 -0
- package/design-tokens/pt-2022/tokens/components/modal.json5 +79 -0
- package/design-tokens/pt-2022/tokens/components/navbar.json5 +69 -0
- package/design-tokens/pt-2022/tokens/components/optgroup.json5 +10 -0
- package/design-tokens/pt-2022/tokens/components/option.json5 +12 -0
- package/design-tokens/pt-2022/tokens/components/popover.json5 +68 -0
- package/design-tokens/pt-2022/tokens/components/popup.json5 +18 -0
- package/design-tokens/pt-2022/tokens/components/progress-bar.json5 +13 -0
- package/design-tokens/pt-2022/tokens/components/progress-spinner.json5 +7 -0
- package/design-tokens/pt-2022/tokens/components/radio.json5 +44 -0
- package/design-tokens/pt-2022/tokens/components/select.json5 +25 -0
- package/design-tokens/pt-2022/tokens/components/sidepanel.json5 +30 -0
- package/design-tokens/pt-2022/tokens/components/table.json5 +15 -0
- package/design-tokens/pt-2022/tokens/components/tabs.json5 +25 -0
- package/design-tokens/pt-2022/tokens/components/tags.json5 +132 -0
- package/design-tokens/pt-2022/tokens/components/textarea.json5 +12 -0
- package/design-tokens/pt-2022/tokens/components/timepicker.json5 +7 -0
- package/design-tokens/pt-2022/tokens/components/toggle.json5 +79 -0
- package/design-tokens/pt-2022/tokens/components/tooltip.json5 +83 -0
- package/design-tokens/pt-2022/tokens/components/tree.json5 +12 -0
- package/design-tokens/pt-2022/tokens/properties/aliases.json5 +3 -0
- package/design-tokens/pt-2022/tokens/properties/colors.json5 +112 -0
- package/design-tokens/pt-2022/tokens/properties/font.json5 +15 -0
- package/design-tokens/pt-2022/tokens/properties/globals.json5 +30 -0
- package/design-tokens/pt-2022/tokens/properties/padding.json5 +3 -0
- package/design-tokens/pt-2022/tokens/properties/palette.json5 +226 -0
- package/design-tokens/pt-2022/tokens/properties/typography.json5 +140 -0
- package/design-tokens/pt-2022/tokens.d.ts +8696 -0
- package/design-tokens/public-api.d.ts +3 -1
- package/divider/README.md +0 -0
- package/divider/package.json +5 -5
- package/dropdown/package.json +5 -5
- package/esm2020/autocomplete/autocomplete-origin.directive.mjs +21 -0
- package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +555 -0
- package/esm2020/autocomplete/autocomplete.component.mjs +154 -0
- package/esm2020/autocomplete/autocomplete.module.mjs +34 -0
- package/{esm2015/autocomplete/index.js → esm2020/autocomplete/index.mjs} +0 -0
- package/{esm2015/autocomplete/ptsecurity-mosaic-autocomplete.js → esm2020/autocomplete/ptsecurity-mosaic-autocomplete.mjs} +0 -0
- package/{esm2015/autocomplete/public-api.js → esm2020/autocomplete/public-api.mjs} +0 -0
- package/esm2020/button/button.component.mjs +129 -0
- package/esm2020/button/button.module.mjs +38 -0
- package/{esm2015/button/index.js → esm2020/button/index.mjs} +0 -0
- package/{esm2015/button/ptsecurity-mosaic-button.js → esm2020/button/ptsecurity-mosaic-button.mjs} +0 -0
- package/{esm2015/button/public-api.js → esm2020/button/public-api.mjs} +0 -0
- package/esm2020/button-toggle/button-toggle.component.mjs +362 -0
- package/esm2020/button-toggle/button-toggle.module.mjs +19 -0
- package/{esm2015/button-toggle/index.js → esm2020/button-toggle/index.mjs} +0 -0
- package/{esm2015/button-toggle/ptsecurity-mosaic-button-toggle.js → esm2020/button-toggle/ptsecurity-mosaic-button-toggle.mjs} +0 -0
- package/{esm2015/button-toggle/public-api.js → esm2020/button-toggle/public-api.mjs} +0 -0
- package/esm2020/card/card.component.mjs +80 -0
- package/esm2020/card/card.module.mjs +30 -0
- package/{esm2015/card/index.js → esm2020/card/index.mjs} +0 -0
- package/{esm2015/card/ptsecurity-mosaic-card.js → esm2020/card/ptsecurity-mosaic-card.mjs} +0 -0
- package/{esm2015/card/public-api.js → esm2020/card/public-api.mjs} +0 -0
- package/{esm2015/checkbox/checkbox-config.js → esm2020/checkbox/checkbox-config.mjs} +0 -0
- package/esm2020/checkbox/checkbox-module.mjs +19 -0
- package/esm2020/checkbox/checkbox-required-validator.mjs +27 -0
- package/esm2020/checkbox/checkbox.mjs +315 -0
- package/{esm2015/checkbox/index.js → esm2020/checkbox/index.mjs} +0 -0
- package/{esm2015/checkbox/ptsecurity-mosaic-checkbox.js → esm2020/checkbox/ptsecurity-mosaic-checkbox.mjs} +0 -0
- package/{esm2015/checkbox/public-api.js → esm2020/checkbox/public-api.mjs} +0 -0
- package/{esm2015/core/animation/animation.js → esm2020/core/animation/animation.mjs} +0 -0
- package/{esm2015/core/animation/fade-animations.js → esm2020/core/animation/fade-animations.mjs} +0 -0
- package/{esm2015/core/animation/index.js → esm2020/core/animation/index.mjs} +0 -0
- package/{esm2015/core/animation/select-animations.js → esm2020/core/animation/select-animations.mjs} +0 -0
- package/{esm2015/core/common-behaviors/color.js → esm2020/core/common-behaviors/color.mjs} +0 -0
- package/esm2020/core/common-behaviors/common-module.mjs +83 -0
- package/{esm2015/core/common-behaviors/constructor.js → esm2020/core/common-behaviors/constructor.mjs} +0 -0
- package/{esm2015/core/common-behaviors/disabled.js → esm2020/core/common-behaviors/disabled.mjs} +0 -0
- package/{esm2015/core/common-behaviors/error-state.js → esm2020/core/common-behaviors/error-state.mjs} +0 -0
- package/{esm2015/core/common-behaviors/index.js → esm2020/core/common-behaviors/index.mjs} +0 -0
- package/{esm2015/core/common-behaviors/tabindex.js → esm2020/core/common-behaviors/tabindex.mjs} +0 -0
- package/esm2020/core/error/error-options.mjs +26 -0
- package/esm2020/core/formatters/date/formatter.mjs +359 -0
- package/esm2020/core/formatters/date/templates/en-US.mjs +281 -0
- package/esm2020/core/formatters/date/templates/ru-RU.mjs +281 -0
- package/esm2020/core/formatters/index.mjs +20 -0
- package/esm2020/core/formatters/number/formatter.mjs +105 -0
- package/esm2020/core/forms/forms-module.mjs +24 -0
- package/esm2020/core/forms/forms.directive.mjs +66 -0
- package/{esm2015/core/forms/index.js → esm2020/core/forms/index.mjs} +0 -0
- package/esm2020/core/highlight/highlight.pipe.mjs +17 -0
- package/esm2020/core/highlight/index.mjs +19 -0
- package/{esm2015/core/index.js → esm2020/core/index.mjs} +0 -0
- package/{esm2015/core/label/label-options.js → esm2020/core/label/label-options.mjs} +0 -0
- package/esm2020/core/line/line.mjs +70 -0
- package/esm2020/core/option/action.mjs +121 -0
- package/{esm2015/core/option/index.js → esm2020/core/option/index.mjs} +0 -0
- package/esm2020/core/option/optgroup.mjs +31 -0
- package/esm2020/core/option/option-module.mjs +21 -0
- package/esm2020/core/option/option.mjs +254 -0
- package/{esm2015/core/overlay/overlay-position-map.js → esm2020/core/overlay/overlay-position-map.mjs} +0 -0
- package/{esm2015/core/pop-up/constants.js → esm2020/core/pop-up/constants.mjs} +0 -0
- package/{esm2015/core/pop-up/index.js → esm2020/core/pop-up/index.mjs} +0 -0
- package/esm2020/core/pop-up/pop-up-trigger.mjs +239 -0
- package/esm2020/core/pop-up/pop-up.mjs +94 -0
- package/{esm2015/core/ptsecurity-mosaic-core.js → esm2020/core/ptsecurity-mosaic-core.mjs} +0 -0
- package/esm2020/core/public-api.mjs +18 -0
- package/{esm2015/core/select/constants.js → esm2020/core/select/constants.mjs} +0 -0
- package/{esm2015/core/select/errors.js → esm2020/core/select/errors.mjs} +0 -0
- package/{esm2015/core/select/events.js → esm2020/core/select/events.mjs} +0 -0
- package/{esm2015/core/select/index.js → esm2020/core/select/index.mjs} +0 -0
- package/{esm2015/core/selection/constants.js → esm2020/core/selection/constants.mjs} +0 -0
- package/{esm2015/core/selection/index.js → esm2020/core/selection/index.mjs} +0 -0
- package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +37 -0
- package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +18 -0
- package/esm2020/core/services/measure-scrollbar.service.mjs +48 -0
- package/{esm2015/core/utils/index.js → esm2020/core/utils/index.mjs} +0 -0
- package/{esm2015/core/utils/public-api.js → esm2020/core/utils/public-api.mjs} +0 -0
- package/{esm2015/core/utils/utils.js → esm2020/core/utils/utils.mjs} +0 -0
- package/{esm2015/core/validation/index.js → esm2020/core/validation/index.mjs} +0 -0
- package/{esm2015/core/validation/validation.js → esm2020/core/validation/validation.mjs} +0 -0
- package/esm2020/core/version.mjs +3 -0
- package/esm2020/datepicker/calendar-body.component.mjs +106 -0
- package/esm2020/datepicker/calendar.component.mjs +362 -0
- package/{esm2015/datepicker/datepicker-animations.js → esm2020/datepicker/datepicker-animations.mjs} +0 -0
- package/{esm2015/datepicker/datepicker-errors.js → esm2020/datepicker/datepicker-errors.mjs} +0 -0
- package/esm2020/datepicker/datepicker-input.directive.mjs +900 -0
- package/esm2020/datepicker/datepicker-intl.mjs +40 -0
- package/esm2020/datepicker/datepicker-module.mjs +107 -0
- package/esm2020/datepicker/datepicker-toggle.component.mjs +86 -0
- package/esm2020/datepicker/datepicker.component.mjs +408 -0
- package/{esm2015/datepicker/index.js → esm2020/datepicker/index.mjs} +0 -0
- package/esm2020/datepicker/month-view.component.mjs +257 -0
- package/esm2020/datepicker/multi-year-view.component.mjs +218 -0
- package/{esm2015/datepicker/ptsecurity-mosaic-datepicker.js → esm2020/datepicker/ptsecurity-mosaic-datepicker.mjs} +0 -0
- package/{esm2015/datepicker/public-api.js → esm2020/datepicker/public-api.mjs} +0 -0
- package/esm2020/datepicker/year-view.component.mjs +253 -0
- package/{esm2015/design-tokens/index.js → esm2020/design-tokens/index.mjs} +0 -0
- package/esm2020/design-tokens/legacy-2017/tokens.mjs +953 -0
- package/esm2020/design-tokens/pt-2022/tokens.mjs +1013 -0
- package/{esm2015/design-tokens/ptsecurity-mosaic-design-tokens.js → esm2020/design-tokens/ptsecurity-mosaic-design-tokens.mjs} +0 -0
- package/esm2020/design-tokens/public-api.mjs +4 -0
- package/esm2020/divider/divider.component.mjs +39 -0
- package/esm2020/divider/divider.module.mjs +18 -0
- package/{esm2015/divider/index.js → esm2020/divider/index.mjs} +0 -0
- package/{esm2015/divider/ptsecurity-mosaic-divider.js → esm2020/divider/ptsecurity-mosaic-divider.mjs} +0 -0
- package/{esm2015/divider/public-api.js → esm2020/divider/public-api.mjs} +0 -0
- package/{esm2015/dropdown/dropdown-animations.js → esm2020/dropdown/dropdown-animations.mjs} +0 -0
- package/esm2020/dropdown/dropdown-content.directive.mjs +64 -0
- package/{esm2015/dropdown/dropdown-errors.js → esm2020/dropdown/dropdown-errors.mjs} +0 -0
- package/esm2020/dropdown/dropdown-item.component.mjs +139 -0
- package/esm2020/dropdown/dropdown-trigger.directive.mjs +485 -0
- package/esm2020/dropdown/dropdown.component.mjs +292 -0
- package/esm2020/dropdown/dropdown.module.mjs +50 -0
- package/{esm2015/dropdown/dropdown.types.js → esm2020/dropdown/dropdown.types.mjs} +0 -0
- package/{esm2015/dropdown/index.js → esm2020/dropdown/index.mjs} +0 -0
- package/{esm2015/dropdown/ptsecurity-mosaic-dropdown.js → esm2020/dropdown/ptsecurity-mosaic-dropdown.mjs} +0 -0
- package/{esm2015/dropdown/public-api.js → esm2020/dropdown/public-api.mjs} +0 -0
- package/esm2020/form-field/cleaner.mjs +23 -0
- package/{esm2015/form-field/form-field-control.js → esm2020/form-field/form-field-control.mjs} +0 -0
- package/{esm2015/form-field/form-field-errors.js → esm2020/form-field/form-field-errors.mjs} +0 -0
- package/esm2020/form-field/form-field.mjs +205 -0
- package/esm2020/form-field/form-field.module.mjs +52 -0
- package/esm2020/form-field/hint.mjs +23 -0
- package/{esm2015/form-field/index.js → esm2020/form-field/index.mjs} +0 -0
- package/esm2020/form-field/prefix.mjs +13 -0
- package/{esm2015/form-field/ptsecurity-mosaic-form-field.js → esm2020/form-field/ptsecurity-mosaic-form-field.mjs} +0 -0
- package/{esm2015/form-field/public-api.js → esm2020/form-field/public-api.mjs} +0 -0
- package/esm2020/form-field/stepper.mjs +55 -0
- package/esm2020/form-field/suffix.mjs +13 -0
- package/esm2020/icon/icon.component.mjs +44 -0
- package/esm2020/icon/icon.module.mjs +38 -0
- package/{esm2015/icon/index.js → esm2020/icon/index.mjs} +0 -0
- package/{esm2015/icon/ptsecurity-mosaic-icon.js → esm2020/icon/ptsecurity-mosaic-icon.mjs} +0 -0
- package/{esm2015/icon/public-api.js → esm2020/icon/public-api.mjs} +0 -0
- package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/{esm2015/input/index.js → esm2020/input/index.mjs} +0 -0
- package/{esm2015/input/input-errors.js → esm2020/input/input-errors.mjs} +0 -0
- package/esm2020/input/input-number-validators.mjs +92 -0
- package/esm2020/input/input-number.mjs +163 -0
- package/{esm2015/input/input-value-accessor.js → esm2020/input/input-value-accessor.mjs} +0 -0
- package/esm2020/input/input.mjs +333 -0
- package/esm2020/input/input.module.mjs +23 -0
- package/{esm2015/input/ptsecurity-mosaic-input.js → esm2020/input/ptsecurity-mosaic-input.mjs} +0 -0
- package/{esm2015/input/public-api.js → esm2020/input/public-api.mjs} +0 -0
- package/{esm2015/link/index.js → esm2020/link/index.mjs} +0 -0
- package/esm2020/link/link.component.mjs +107 -0
- package/esm2020/link/link.module.mjs +26 -0
- package/{esm2015/link/ptsecurity-mosaic-link.js → esm2020/link/ptsecurity-mosaic-link.mjs} +0 -0
- package/{esm2015/link/public-api.js → esm2020/link/public-api.mjs} +0 -0
- package/{esm2015/list/index.js → esm2020/list/index.mjs} +0 -0
- package/esm2020/list/list-selection.component.mjs +687 -0
- package/esm2020/list/list.component.mjs +44 -0
- package/esm2020/list/list.module.mjs +55 -0
- package/{esm2015/list/ptsecurity-mosaic-list.js → esm2020/list/ptsecurity-mosaic-list.mjs} +0 -0
- package/{esm2015/list/public-api.js → esm2020/list/public-api.mjs} +0 -0
- package/esm2020/modal/css-unit.pipe.mjs +17 -0
- package/{esm2015/modal/index.js → esm2020/modal/index.mjs} +0 -0
- package/esm2020/modal/modal-control.service.mjs +85 -0
- package/{esm2015/modal/modal-ref.class.js → esm2020/modal/modal-ref.class.mjs} +0 -0
- package/{esm2015/modal/modal-util.js → esm2020/modal/modal-util.mjs} +0 -0
- package/esm2020/modal/modal.component.mjs +501 -0
- package/esm2020/modal/modal.directive.mjs +52 -0
- package/esm2020/modal/modal.module.mjs +72 -0
- package/esm2020/modal/modal.service.mjs +124 -0
- package/{esm2015/modal/modal.type.js → esm2020/modal/modal.type.mjs} +0 -0
- package/{esm2015/modal/ptsecurity-mosaic-modal.js → esm2020/modal/ptsecurity-mosaic-modal.mjs} +0 -0
- package/{esm2015/modal/public-api.js → esm2020/modal/public-api.mjs} +0 -0
- package/{esm2015/navbar/index.js → esm2020/navbar/index.mjs} +0 -0
- package/esm2020/navbar/navbar-item.component.mjs +583 -0
- package/esm2020/navbar/navbar.component.mjs +237 -0
- package/esm2020/navbar/navbar.module.mjs +92 -0
- package/{esm2015/navbar/ptsecurity-mosaic-navbar.js → esm2020/navbar/ptsecurity-mosaic-navbar.mjs} +0 -0
- package/{esm2015/navbar/public-api.js → esm2020/navbar/public-api.mjs} +0 -0
- package/esm2020/navbar/vertical-navbar.animation.mjs +10 -0
- package/esm2020/navbar/vertical-navbar.component.mjs +114 -0
- package/{esm2015/popover/index.js → esm2020/popover/index.mjs} +0 -0
- package/{esm2015/popover/popover-animations.js → esm2020/popover/popover-animations.mjs} +0 -0
- package/esm2020/popover/popover-confirm.component.mjs +108 -0
- package/esm2020/popover/popover.component.mjs +253 -0
- package/esm2020/popover/popover.module.mjs +24 -0
- package/{esm2015/popover/ptsecurity-mosaic-popover.js → esm2020/popover/ptsecurity-mosaic-popover.mjs} +0 -0
- package/{esm2015/popover/public-api.js → esm2020/popover/public-api.mjs} +0 -0
- package/{esm2015/progress-bar/index.js → esm2020/progress-bar/index.mjs} +0 -0
- package/esm2020/progress-bar/progress-bar.component.mjs +42 -0
- package/esm2020/progress-bar/progress-bar.module.mjs +30 -0
- package/{esm2015/progress-bar/ptsecurity-mosaic-progress-bar.js → esm2020/progress-bar/ptsecurity-mosaic-progress-bar.mjs} +0 -0
- package/{esm2015/progress-bar/public-api.js → esm2020/progress-bar/public-api.mjs} +0 -0
- package/{esm2015/progress-spinner/index.js → esm2020/progress-spinner/index.mjs} +0 -0
- package/esm2020/progress-spinner/progress-spinner.component.mjs +46 -0
- package/esm2020/progress-spinner/progress-spinner.module.mjs +30 -0
- package/{esm2015/progress-spinner/ptsecurity-mosaic-progress-spinner.js → esm2020/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs} +0 -0
- package/{esm2015/progress-spinner/public-api.js → esm2020/progress-spinner/public-api.mjs} +0 -0
- package/{esm2015/ptsecurity-mosaic.js → esm2020/ptsecurity-mosaic.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/{esm2015/radio/index.js → esm2020/radio/index.mjs} +0 -0
- package/{esm2015/radio/ptsecurity-mosaic-radio.js → esm2020/radio/ptsecurity-mosaic-radio.mjs} +0 -0
- package/{esm2015/radio/public-api.js → esm2020/radio/public-api.mjs} +0 -0
- package/esm2020/radio/radio.component.mjs +458 -0
- package/esm2020/radio/radio.module.mjs +20 -0
- package/{esm2015/select/index.js → esm2020/select/index.mjs} +0 -0
- package/{esm2015/select/ptsecurity-mosaic-select.js → esm2020/select/ptsecurity-mosaic-select.mjs} +0 -0
- package/{esm2015/select/public-api.js → esm2020/select/public-api.mjs} +0 -0
- package/esm2020/select/select.component.mjs +1110 -0
- package/esm2020/select/select.module.mjs +64 -0
- package/{esm2015/sidebar/index.js → esm2020/sidebar/index.mjs} +0 -0
- package/{esm2015/sidebar/ptsecurity-mosaic-sidebar.js → esm2020/sidebar/ptsecurity-mosaic-sidebar.mjs} +0 -0
- package/{esm2015/sidebar/public-api.js → esm2020/sidebar/public-api.mjs} +0 -0
- package/{esm2015/sidebar/sidebar-animations.js → esm2020/sidebar/sidebar-animations.mjs} +0 -0
- package/esm2020/sidebar/sidebar.component.mjs +146 -0
- package/esm2020/sidebar/sidebar.module.mjs +30 -0
- package/{esm2015/sidepanel/index.js → esm2020/sidepanel/index.mjs} +0 -0
- package/{esm2015/sidepanel/ptsecurity-mosaic-sidepanel.js → esm2020/sidepanel/ptsecurity-mosaic-sidepanel.mjs} +0 -0
- package/{esm2015/sidepanel/public-api.js → esm2020/sidepanel/public-api.mjs} +0 -0
- package/{esm2015/sidepanel/sidepanel-animations.js → esm2020/sidepanel/sidepanel-animations.mjs} +0 -0
- package/{esm2015/sidepanel/sidepanel-config.js → esm2020/sidepanel/sidepanel-config.mjs} +0 -0
- package/esm2020/sidepanel/sidepanel-container.component.mjs +106 -0
- package/esm2020/sidepanel/sidepanel-directives.mjs +159 -0
- package/{esm2015/sidepanel/sidepanel-ref.js → esm2020/sidepanel/sidepanel-ref.mjs} +0 -0
- package/esm2020/sidepanel/sidepanel.module.mjs +74 -0
- package/esm2020/sidepanel/sidepanel.service.mjs +167 -0
- package/{esm2015/splitter/index.js → esm2020/splitter/index.mjs} +0 -0
- package/{esm2015/splitter/ptsecurity-mosaic-splitter.js → esm2020/splitter/ptsecurity-mosaic-splitter.mjs} +0 -0
- package/{esm2015/splitter/public-api.js → esm2020/splitter/public-api.mjs} +0 -0
- package/esm2020/splitter/splitter.component.mjs +482 -0
- package/esm2020/splitter/splitter.module.mjs +40 -0
- package/{esm2015/table/index.js → esm2020/table/index.mjs} +0 -0
- package/{esm2015/table/ptsecurity-mosaic-table.js → esm2020/table/ptsecurity-mosaic-table.mjs} +0 -0
- package/{esm2015/table/public-api.js → esm2020/table/public-api.mjs} +0 -0
- package/esm2020/table/table.component.mjs +16 -0
- package/esm2020/table/table.module.mjs +30 -0
- package/{esm2015/tabs/index.js → esm2020/tabs/index.mjs} +0 -0
- package/esm2020/tabs/paginated-tab-header.mjs +479 -0
- package/{esm2015/tabs/ptsecurity-mosaic-tabs.js → esm2020/tabs/ptsecurity-mosaic-tabs.mjs} +0 -0
- package/{esm2015/tabs/public-api.js → esm2020/tabs/public-api.mjs} +0 -0
- package/esm2020/tabs/tab-body.component.mjs +178 -0
- package/esm2020/tabs/tab-content.directive.mjs +15 -0
- package/esm2020/tabs/tab-group.component.mjs +350 -0
- package/esm2020/tabs/tab-header.component.mjs +67 -0
- package/esm2020/tabs/tab-label-wrapper.directive.mjs +78 -0
- package/esm2020/tabs/tab-label.directive.mjs +17 -0
- package/{esm2015/tabs/tab-nav-bar/index.js → esm2020/tabs/tab-nav-bar/index.mjs} +0 -0
- package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +110 -0
- package/esm2020/tabs/tab.component.mjs +133 -0
- package/{esm2015/tabs/tabs-animations.js → esm2020/tabs/tabs-animations.mjs} +0 -0
- package/esm2020/tabs/tabs.module.mjs +104 -0
- package/{esm2015/tags/index.js → esm2020/tags/index.mjs} +0 -0
- package/{esm2015/tags/ptsecurity-mosaic-tags.js → esm2020/tags/ptsecurity-mosaic-tags.mjs} +0 -0
- package/{esm2015/tags/public-api.js → esm2020/tags/public-api.mjs} +0 -0
- package/{esm2015/tags/tag-default-options.js → esm2020/tags/tag-default-options.mjs} +0 -0
- package/esm2020/tags/tag-input.mjs +229 -0
- package/esm2020/tags/tag-list.component.mjs +722 -0
- package/{esm2015/tags/tag-text-control.js → esm2020/tags/tag-text-control.mjs} +0 -0
- package/esm2020/tags/tag.component.mjs +377 -0
- package/esm2020/tags/tag.module.mjs +56 -0
- package/{esm2015/textarea/index.js → esm2020/textarea/index.mjs} +0 -0
- package/{esm2015/textarea/ptsecurity-mosaic-textarea.js → esm2020/textarea/ptsecurity-mosaic-textarea.mjs} +0 -0
- package/{esm2015/textarea/public-api.js → esm2020/textarea/public-api.mjs} +0 -0
- package/esm2020/textarea/textarea.component.mjs +268 -0
- package/esm2020/textarea/textarea.module.mjs +21 -0
- package/{esm2015/timepicker/index.js → esm2020/timepicker/index.mjs} +0 -0
- package/{esm2015/timepicker/ptsecurity-mosaic-timepicker.js → esm2020/timepicker/ptsecurity-mosaic-timepicker.mjs} +0 -0
- package/{esm2015/timepicker/public-api.js → esm2020/timepicker/public-api.mjs} +0 -0
- package/{esm2015/timepicker/timepicker.constants.js → esm2020/timepicker/timepicker.constants.mjs} +0 -0
- package/esm2020/timepicker/timepicker.directive.mjs +653 -0
- package/esm2020/timepicker/timepicker.module.mjs +34 -0
- package/{esm2015/toggle/index.js → esm2020/toggle/index.mjs} +0 -0
- package/{esm2015/toggle/ptsecurity-mosaic-toggle.js → esm2020/toggle/ptsecurity-mosaic-toggle.mjs} +0 -0
- package/{esm2015/toggle/public-api.js → esm2020/toggle/public-api.mjs} +0 -0
- package/esm2020/toggle/toggle.component.mjs +158 -0
- package/esm2020/toggle/toggle.module.mjs +20 -0
- package/{esm2015/tooltip/index.js → esm2020/tooltip/index.mjs} +0 -0
- package/{esm2015/tooltip/ptsecurity-mosaic-tooltip.js → esm2020/tooltip/ptsecurity-mosaic-tooltip.mjs} +0 -0
- package/{esm2015/tooltip/public-api.js → esm2020/tooltip/public-api.mjs} +0 -0
- package/{esm2015/tooltip/tooltip.animations.js → esm2020/tooltip/tooltip.animations.mjs} +0 -0
- package/esm2020/tooltip/tooltip.component.mjs +294 -0
- package/esm2020/tooltip/tooltip.module.mjs +43 -0
- package/{esm2015/tree/control/base-tree-control.js → esm2020/tree/control/base-tree-control.mjs} +0 -0
- package/{esm2015/tree/control/flat-tree-control.js → esm2020/tree/control/flat-tree-control.mjs} +0 -0
- package/{esm2015/tree/control/nested-tree-control.js → esm2020/tree/control/nested-tree-control.mjs} +0 -0
- package/{esm2015/tree/control/tree-control.js → esm2020/tree/control/tree-control.mjs} +0 -0
- package/esm2020/tree/data-source/flat-data-source.mjs +162 -0
- package/{esm2015/tree/data-source/nested-data-source.js → esm2020/tree/data-source/nested-data-source.mjs} +0 -0
- package/{esm2015/tree/index.js → esm2020/tree/index.mjs} +0 -0
- package/esm2020/tree/node.mjs +31 -0
- package/esm2020/tree/outlet.mjs +15 -0
- package/esm2020/tree/padding.directive.mjs +110 -0
- package/{esm2015/tree/ptsecurity-mosaic-tree.js → esm2020/tree/ptsecurity-mosaic-tree.mjs} +0 -0
- package/{esm2015/tree/public-api.js → esm2020/tree/public-api.mjs} +0 -0
- package/esm2020/tree/toggle.mjs +80 -0
- package/esm2020/tree/tree-base.mjs +243 -0
- package/{esm2015/tree/tree-errors.js → esm2020/tree/tree-errors.mjs} +0 -0
- package/esm2020/tree/tree-option.component.mjs +234 -0
- package/esm2020/tree/tree-selection.component.mjs +533 -0
- package/esm2020/tree/tree.mjs +15 -0
- package/esm2020/tree/tree.module.mjs +53 -0
- package/{esm2015/tree-select/index.js → esm2020/tree-select/index.mjs} +0 -0
- package/{esm2015/tree-select/ptsecurity-mosaic-tree-select.js → esm2020/tree-select/ptsecurity-mosaic-tree-select.mjs} +0 -0
- package/{esm2015/tree-select/public-api.js → esm2020/tree-select/public-api.mjs} +0 -0
- package/esm2020/tree-select/tree-select.component.mjs +925 -0
- package/esm2020/tree-select/tree-select.module.mjs +47 -0
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +756 -0
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +385 -0
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-button.mjs +170 -0
- package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-card.mjs +113 -0
- package/fesm2015/ptsecurity-mosaic-card.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs +366 -0
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-core.mjs +2704 -0
- package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs +2700 -0
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-design-tokens.mjs +2925 -0
- package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-divider.mjs +61 -0
- package/fesm2015/ptsecurity-mosaic-divider.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs +1106 -0
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-form-field.mjs +378 -0
- package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-icon.mjs +88 -0
- package/fesm2015/ptsecurity-mosaic-icon.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-input.mjs +609 -0
- package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-link.mjs +137 -0
- package/fesm2015/ptsecurity-mosaic-link.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-list.mjs +791 -0
- package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-modal.mjs +864 -0
- package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-navbar.mjs +1031 -0
- package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-popover.mjs +393 -0
- package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +76 -0
- package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +80 -0
- package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-radio.mjs +481 -0
- package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-select.mjs +1175 -0
- package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-sidebar.mjs +202 -0
- package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +592 -0
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-splitter.mjs +526 -0
- package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-table.mjs +50 -0
- package/fesm2015/ptsecurity-mosaic-table.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-tabs.mjs +1511 -0
- package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-tags.mjs +1377 -0
- package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-textarea.mjs +293 -0
- package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-timepicker.mjs +715 -0
- package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-toggle.mjs +180 -0
- package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs +365 -0
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs +972 -0
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-tree.mjs +1718 -0
- package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic.mjs +4 -0
- package/fesm2015/ptsecurity-mosaic.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +752 -0
- package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +383 -0
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-button.mjs +170 -0
- package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-card.mjs +113 -0
- package/fesm2020/ptsecurity-mosaic-card.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-checkbox.mjs +364 -0
- package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-core.mjs +2733 -0
- package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs +2687 -0
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +2925 -0
- package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-divider.mjs +61 -0
- package/fesm2020/ptsecurity-mosaic-divider.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs +1093 -0
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-form-field.mjs +377 -0
- package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-icon.mjs +86 -0
- package/fesm2020/ptsecurity-mosaic-icon.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-input.mjs +605 -0
- package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-link.mjs +136 -0
- package/fesm2020/ptsecurity-mosaic-link.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-list.mjs +784 -0
- package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-modal.mjs +860 -0
- package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-navbar.mjs +1015 -0
- package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-popover.mjs +389 -0
- package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +76 -0
- package/fesm2020/ptsecurity-mosaic-progress-bar.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +80 -0
- package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-radio.mjs +479 -0
- package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-select.mjs +1173 -0
- package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-sidebar.mjs +202 -0
- package/fesm2020/ptsecurity-mosaic-sidebar.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +589 -0
- package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-splitter.mjs +526 -0
- package/fesm2020/ptsecurity-mosaic-splitter.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-table.mjs +50 -0
- package/fesm2020/ptsecurity-mosaic-table.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-tabs.mjs +1496 -0
- package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-tags.mjs +1370 -0
- package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-textarea.mjs +291 -0
- package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-timepicker.mjs +713 -0
- package/fesm2020/ptsecurity-mosaic-timepicker.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-toggle.mjs +180 -0
- package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs +357 -0
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs +970 -0
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-tree.mjs +1705 -0
- package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic.mjs +4 -0
- package/fesm2020/ptsecurity-mosaic.mjs.map +1 -0
- package/form-field/README.md +0 -0
- package/form-field/package.json +5 -5
- package/icon/README.md +0 -0
- package/icon/package.json +5 -5
- package/input/package.json +5 -5
- package/link/README.md +0 -0
- package/link/package.json +5 -5
- package/list/README.md +0 -0
- package/list/package.json +5 -5
- package/modal/README.md +34 -0
- package/modal/modal-control.service.d.ts +1 -0
- package/modal/package.json +5 -5
- package/navbar/README.md +41 -0
- package/navbar/navbar-item.component.d.ts +123 -34
- package/navbar/navbar.component.d.ts +37 -9
- package/navbar/navbar.module.d.ts +2 -1
- package/navbar/package.json +5 -5
- package/navbar/vertical-navbar.component.d.ts +15 -26
- package/package.json +299 -14
- package/popover/README.md +32 -0
- package/popover/package.json +5 -5
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/prebuilt-visual/default-visual.css +1 -1
- package/progress-bar/README.md +0 -0
- package/progress-bar/package.json +5 -5
- package/progress-spinner/README.md +0 -0
- package/progress-spinner/package.json +5 -5
- package/radio/package.json +5 -5
- package/schematics/README.md +35 -0
- package/schematics/ng-update/data/index.d.ts +1 -0
- package/schematics/ng-update/data/index.js +10 -9
- package/schematics/ng-update/data/index.js.map +1 -1
- package/schematics/ng-update/data/symbol-removal.d.ts +2 -0
- package/schematics/ng-update/data/symbol-removal.js +5 -0
- package/schematics/ng-update/data/symbol-removal.js.map +1 -0
- package/schematics/ng-update/index.js +3 -3
- package/schematics/ng-update/index.js.map +1 -1
- package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +1 -2
- package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +1 -1
- package/schematics/ng-update/upgrade-data.js +2 -1
- package/schematics/ng-update/upgrade-data.js.map +1 -1
- package/schematics/tsconfig.lib.json +2 -2
- package/select/README.md +0 -0
- package/select/package.json +5 -5
- package/sidebar/package.json +5 -5
- package/sidepanel/package.json +5 -5
- package/splitter/package.json +5 -5
- package/table/README.md +0 -0
- package/table/package.json +5 -5
- package/tabs/README.md +0 -0
- package/tabs/package.json +5 -5
- package/tags/README.md +0 -0
- package/tags/package.json +5 -5
- package/textarea/README.md +0 -0
- package/textarea/package.json +5 -5
- package/timepicker/README.md +0 -0
- package/timepicker/package.json +5 -5
- package/toggle/package.json +5 -5
- package/tooltip/package.json +5 -5
- package/tree/data-source/flat-data-source.d.ts +2 -2
- package/tree/package.json +5 -5
- package/tree/tree-option.component.d.ts +5 -3
- package/tree/tree-selection.component.d.ts +1 -0
- package/tree-select/README.md +0 -0
- package/tree-select/package.json +5 -5
- package/tree-select/tree-select.component.d.ts +9 -1
- package/tree-select/tree-select.module.d.ts +2 -1
- package/bundles/ptsecurity-mosaic-autocomplete.umd.js +0 -1160
- package/bundles/ptsecurity-mosaic-autocomplete.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-button-toggle.umd.js +0 -755
- package/bundles/ptsecurity-mosaic-button-toggle.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-button.umd.js +0 -533
- package/bundles/ptsecurity-mosaic-button.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-card.umd.js +0 -479
- package/bundles/ptsecurity-mosaic-card.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-checkbox.umd.js +0 -762
- package/bundles/ptsecurity-mosaic-checkbox.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-core.umd.js +0 -2841
- package/bundles/ptsecurity-mosaic-core.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-datepicker.umd.js +0 -3362
- package/bundles/ptsecurity-mosaic-datepicker.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-design-tokens.umd.js +0 -1871
- package/bundles/ptsecurity-mosaic-design-tokens.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-divider.umd.js +0 -106
- package/bundles/ptsecurity-mosaic-divider.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-dropdown.umd.js +0 -1532
- package/bundles/ptsecurity-mosaic-dropdown.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-form-field.umd.js +0 -788
- package/bundles/ptsecurity-mosaic-form-field.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-icon.umd.js +0 -450
- package/bundles/ptsecurity-mosaic-icon.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-input.umd.js +0 -1008
- package/bundles/ptsecurity-mosaic-input.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-link.umd.js +0 -515
- package/bundles/ptsecurity-mosaic-link.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-list.umd.js +0 -1251
- package/bundles/ptsecurity-mosaic-list.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-modal.umd.js +0 -1312
- package/bundles/ptsecurity-mosaic-modal.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-navbar.umd.js +0 -930
- package/bundles/ptsecurity-mosaic-navbar.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-popover.umd.js +0 -836
- package/bundles/ptsecurity-mosaic-popover.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-progress-bar.umd.js +0 -440
- package/bundles/ptsecurity-mosaic-progress-bar.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-progress-spinner.umd.js +0 -448
- package/bundles/ptsecurity-mosaic-progress-spinner.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-radio.umd.js +0 -901
- package/bundles/ptsecurity-mosaic-radio.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-select.umd.js +0 -1606
- package/bundles/ptsecurity-mosaic-select.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-sidebar.umd.js +0 -254
- package/bundles/ptsecurity-mosaic-sidebar.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-sidepanel.umd.js +0 -954
- package/bundles/ptsecurity-mosaic-sidepanel.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-splitter.umd.js +0 -635
- package/bundles/ptsecurity-mosaic-splitter.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-table.umd.js +0 -81
- package/bundles/ptsecurity-mosaic-table.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tabs.umd.js +0 -2013
- package/bundles/ptsecurity-mosaic-tabs.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tags.umd.js +0 -1917
- package/bundles/ptsecurity-mosaic-tags.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-textarea.umd.js +0 -664
- package/bundles/ptsecurity-mosaic-textarea.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-timepicker.umd.js +0 -821
- package/bundles/ptsecurity-mosaic-timepicker.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-toggle.umd.js +0 -557
- package/bundles/ptsecurity-mosaic-toggle.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tooltip.umd.js +0 -777
- package/bundles/ptsecurity-mosaic-tooltip.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tree-select.umd.js +0 -1369
- package/bundles/ptsecurity-mosaic-tree-select.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tree.umd.js +0 -2301
- package/bundles/ptsecurity-mosaic-tree.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic.umd.js +0 -11
- package/bundles/ptsecurity-mosaic.umd.js.map +0 -1
- package/design-tokens/tokens/components/checkbox.json5 +0 -39
- package/design-tokens/tokens/components/modal.json5 +0 -67
- package/design-tokens/tokens/components/navbar.json5 +0 -64
- package/design-tokens/tokens/components/radio.json5 +0 -45
- package/design-tokens/tokens/components/tags.json5 +0 -126
- package/design-tokens/tokens/components/toggle.json5 +0 -55
- package/design-tokens/tokens.d.ts +0 -7636
- package/esm2015/autocomplete/autocomplete-origin.directive.js +0 -21
- package/esm2015/autocomplete/autocomplete-trigger.directive.js +0 -555
- package/esm2015/autocomplete/autocomplete.component.js +0 -163
- package/esm2015/autocomplete/autocomplete.module.js +0 -34
- package/esm2015/button/button.component.js +0 -129
- package/esm2015/button/button.module.js +0 -42
- package/esm2015/button-toggle/button-toggle.component.js +0 -370
- package/esm2015/button-toggle/button-toggle.module.js +0 -19
- package/esm2015/card/card.component.js +0 -88
- package/esm2015/card/card.module.js +0 -30
- package/esm2015/checkbox/checkbox-module.js +0 -19
- package/esm2015/checkbox/checkbox-required-validator.js +0 -27
- package/esm2015/checkbox/checkbox.js +0 -325
- package/esm2015/core/common-behaviors/common-module.js +0 -83
- package/esm2015/core/error/error-options.js +0 -26
- package/esm2015/core/formatters/date/formatter.js +0 -288
- package/esm2015/core/formatters/date/templates/en-US.js +0 -280
- package/esm2015/core/formatters/date/templates/ru-RU.js +0 -280
- package/esm2015/core/formatters/index.js +0 -20
- package/esm2015/core/formatters/number/formatter.js +0 -99
- package/esm2015/core/forms/forms-module.js +0 -24
- package/esm2015/core/forms/forms.directive.js +0 -66
- package/esm2015/core/highlight/highlight.pipe.js +0 -17
- package/esm2015/core/highlight/index.js +0 -19
- package/esm2015/core/line/line.js +0 -70
- package/esm2015/core/option/action.js +0 -131
- package/esm2015/core/option/optgroup.js +0 -40
- package/esm2015/core/option/option-module.js +0 -21
- package/esm2015/core/option/option.js +0 -262
- package/esm2015/core/pop-up/pop-up-trigger.js +0 -239
- package/esm2015/core/pop-up/pop-up.js +0 -87
- package/esm2015/core/public-api.js +0 -17
- package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +0 -45
- package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.module.js +0 -18
- package/esm2015/core/services/measure-scrollbar.service.js +0 -48
- package/esm2015/datepicker/calendar-body.component.js +0 -114
- package/esm2015/datepicker/calendar.component.js +0 -377
- package/esm2015/datepicker/datepicker-input.directive.js +0 -892
- package/esm2015/datepicker/datepicker-intl.js +0 -40
- package/esm2015/datepicker/datepicker-module.js +0 -107
- package/esm2015/datepicker/datepicker-toggle.component.js +0 -94
- package/esm2015/datepicker/datepicker.component.js +0 -418
- package/esm2015/datepicker/month-view.component.js +0 -263
- package/esm2015/datepicker/multi-year-view.component.js +0 -224
- package/esm2015/datepicker/year-view.component.js +0 -259
- package/esm2015/design-tokens/public-api.js +0 -2
- package/esm2015/design-tokens/tokens.js +0 -930
- package/esm2015/divider/divider.component.js +0 -46
- package/esm2015/divider/divider.module.js +0 -18
- package/esm2015/dropdown/dropdown-content.directive.js +0 -66
- package/esm2015/dropdown/dropdown-item.component.js +0 -149
- package/esm2015/dropdown/dropdown-trigger.directive.js +0 -486
- package/esm2015/dropdown/dropdown.component.js +0 -302
- package/esm2015/dropdown/dropdown.module.js +0 -50
- package/esm2015/form-field/cleaner.js +0 -23
- package/esm2015/form-field/form-field.js +0 -224
- package/esm2015/form-field/form-field.module.js +0 -52
- package/esm2015/form-field/hint.js +0 -23
- package/esm2015/form-field/prefix.js +0 -13
- package/esm2015/form-field/stepper.js +0 -55
- package/esm2015/form-field/suffix.js +0 -13
- package/esm2015/icon/icon.component.js +0 -51
- package/esm2015/icon/icon.module.js +0 -38
- package/esm2015/input/input-number-validators.js +0 -92
- package/esm2015/input/input-number.js +0 -163
- package/esm2015/input/input.js +0 -333
- package/esm2015/input/input.module.js +0 -23
- package/esm2015/link/link.component.js +0 -108
- package/esm2015/link/link.module.js +0 -26
- package/esm2015/list/list-selection.component.js +0 -711
- package/esm2015/list/list.component.js +0 -58
- package/esm2015/list/list.module.js +0 -55
- package/esm2015/modal/css-unit.pipe.js +0 -17
- package/esm2015/modal/modal-control.service.js +0 -63
- package/esm2015/modal/modal.component.js +0 -508
- package/esm2015/modal/modal.directive.js +0 -52
- package/esm2015/modal/modal.module.js +0 -72
- package/esm2015/modal/modal.service.js +0 -124
- package/esm2015/navbar/navbar-item.component.js +0 -209
- package/esm2015/navbar/navbar.component.js +0 -118
- package/esm2015/navbar/navbar.module.js +0 -76
- package/esm2015/navbar/vertical-navbar.animation.js +0 -10
- package/esm2015/navbar/vertical-navbar.component.js +0 -140
- package/esm2015/popover/popover-confirm.component.js +0 -116
- package/esm2015/popover/popover.component.js +0 -262
- package/esm2015/popover/popover.module.js +0 -24
- package/esm2015/progress-bar/progress-bar.component.js +0 -50
- package/esm2015/progress-bar/progress-bar.module.js +0 -30
- package/esm2015/progress-spinner/progress-spinner.component.js +0 -54
- package/esm2015/progress-spinner/progress-spinner.module.js +0 -30
- package/esm2015/radio/radio.component.js +0 -467
- package/esm2015/radio/radio.module.js +0 -20
- package/esm2015/select/select.component.js +0 -1122
- package/esm2015/select/select.module.js +0 -64
- package/esm2015/sidebar/sidebar.component.js +0 -155
- package/esm2015/sidebar/sidebar.module.js +0 -30
- package/esm2015/sidepanel/sidepanel-container.component.js +0 -114
- package/esm2015/sidepanel/sidepanel-directives.js +0 -159
- package/esm2015/sidepanel/sidepanel.module.js +0 -74
- package/esm2015/sidepanel/sidepanel.service.js +0 -164
- package/esm2015/splitter/splitter.component.js +0 -489
- package/esm2015/splitter/splitter.module.js +0 -40
- package/esm2015/table/table.component.js +0 -16
- package/esm2015/table/table.module.js +0 -30
- package/esm2015/tabs/paginated-tab-header.js +0 -482
- package/esm2015/tabs/tab-body.component.js +0 -186
- package/esm2015/tabs/tab-content.directive.js +0 -15
- package/esm2015/tabs/tab-group.component.js +0 -359
- package/esm2015/tabs/tab-header.component.js +0 -76
- package/esm2015/tabs/tab-label-wrapper.directive.js +0 -78
- package/esm2015/tabs/tab-label.directive.js +0 -17
- package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +0 -118
- package/esm2015/tabs/tab.component.js +0 -133
- package/esm2015/tabs/tabs.module.js +0 -104
- package/esm2015/tags/tag-input.js +0 -229
- package/esm2015/tags/tag-list.component.js +0 -732
- package/esm2015/tags/tag.component.js +0 -386
- package/esm2015/tags/tag.module.js +0 -56
- package/esm2015/textarea/textarea.component.js +0 -268
- package/esm2015/textarea/textarea.module.js +0 -21
- package/esm2015/timepicker/timepicker.directive.js +0 -653
- package/esm2015/timepicker/timepicker.module.js +0 -34
- package/esm2015/toggle/toggle.component.js +0 -169
- package/esm2015/toggle/toggle.module.js +0 -20
- package/esm2015/tooltip/tooltip.component.js +0 -299
- package/esm2015/tooltip/tooltip.module.js +0 -43
- package/esm2015/tree/data-source/flat-data-source.js +0 -162
- package/esm2015/tree/node.js +0 -31
- package/esm2015/tree/outlet.js +0 -15
- package/esm2015/tree/padding.directive.js +0 -111
- package/esm2015/tree/toggle.js +0 -89
- package/esm2015/tree/tree-base.js +0 -243
- package/esm2015/tree/tree-option.component.js +0 -238
- package/esm2015/tree/tree-selection.component.js +0 -541
- package/esm2015/tree/tree.js +0 -23
- package/esm2015/tree/tree.module.js +0 -53
- package/esm2015/tree-select/tree-select.component.js +0 -901
- package/esm2015/tree-select/tree-select.module.js +0 -43
- package/fesm2015/ptsecurity-mosaic-autocomplete.js +0 -761
- package/fesm2015/ptsecurity-mosaic-autocomplete.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-button-toggle.js +0 -391
- package/fesm2015/ptsecurity-mosaic-button-toggle.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-button.js +0 -174
- package/fesm2015/ptsecurity-mosaic-button.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-card.js +0 -121
- package/fesm2015/ptsecurity-mosaic-card.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-checkbox.js +0 -374
- package/fesm2015/ptsecurity-mosaic-checkbox.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-core.js +0 -2680
- package/fesm2015/ptsecurity-mosaic-core.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.js +0 -2738
- package/fesm2015/ptsecurity-mosaic-datepicker.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-design-tokens.js +0 -936
- package/fesm2015/ptsecurity-mosaic-design-tokens.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-divider.js +0 -68
- package/fesm2015/ptsecurity-mosaic-divider.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-dropdown.js +0 -1116
- package/fesm2015/ptsecurity-mosaic-dropdown.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-form-field.js +0 -396
- package/fesm2015/ptsecurity-mosaic-form-field.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-icon.js +0 -93
- package/fesm2015/ptsecurity-mosaic-icon.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-input.js +0 -605
- package/fesm2015/ptsecurity-mosaic-input.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-link.js +0 -137
- package/fesm2015/ptsecurity-mosaic-link.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-list.js +0 -822
- package/fesm2015/ptsecurity-mosaic-list.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-modal.js +0 -845
- package/fesm2015/ptsecurity-mosaic-modal.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-navbar.js +0 -539
- package/fesm2015/ptsecurity-mosaic-navbar.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-popover.js +0 -406
- package/fesm2015/ptsecurity-mosaic-popover.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-progress-bar.js +0 -84
- package/fesm2015/ptsecurity-mosaic-progress-bar.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-progress-spinner.js +0 -88
- package/fesm2015/ptsecurity-mosaic-progress-spinner.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-radio.js +0 -488
- package/fesm2015/ptsecurity-mosaic-radio.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-select.js +0 -1185
- package/fesm2015/ptsecurity-mosaic-select.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-sidebar.js +0 -211
- package/fesm2015/ptsecurity-mosaic-sidebar.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-sidepanel.js +0 -594
- package/fesm2015/ptsecurity-mosaic-sidepanel.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-splitter.js +0 -533
- package/fesm2015/ptsecurity-mosaic-splitter.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-table.js +0 -50
- package/fesm2015/ptsecurity-mosaic-table.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tabs.js +0 -1533
- package/fesm2015/ptsecurity-mosaic-tabs.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tags.js +0 -1389
- package/fesm2015/ptsecurity-mosaic-tags.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-textarea.js +0 -291
- package/fesm2015/ptsecurity-mosaic-textarea.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-timepicker.js +0 -713
- package/fesm2015/ptsecurity-mosaic-timepicker.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-toggle.js +0 -191
- package/fesm2015/ptsecurity-mosaic-toggle.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tooltip.js +0 -362
- package/fesm2015/ptsecurity-mosaic-tooltip.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.js +0 -943
- package/fesm2015/ptsecurity-mosaic-tree-select.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tree.js +0 -1735
- package/fesm2015/ptsecurity-mosaic-tree.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic.js +0 -4
- package/fesm2015/ptsecurity-mosaic.js.map +0 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-core.mjs","sources":["../../../packages/mosaic/core/version.ts","../../../packages/mosaic/core/utils/utils.ts","../../../packages/mosaic/core/common-behaviors/common-module.ts","../../../packages/mosaic/core/common-behaviors/disabled.ts","../../../packages/mosaic/core/common-behaviors/color.ts","../../../packages/mosaic/core/common-behaviors/tabindex.ts","../../../packages/mosaic/core/common-behaviors/error-state.ts","../../../packages/mosaic/core/line/line.ts","../../../packages/mosaic/core/error/error-options.ts","../../../packages/mosaic/core/formatters/date/templates/en-US.ts","../../../packages/mosaic/core/formatters/date/templates/ru-RU.ts","../../../packages/mosaic/core/formatters/date/formatter.ts","../../../packages/mosaic/core/formatters/number/formatter.ts","../../../packages/mosaic/core/formatters/index.ts","../../../packages/mosaic/core/validation/validation.ts","../../../packages/mosaic/core/highlight/highlight.pipe.ts","../../../packages/mosaic/core/highlight/index.ts","../../../packages/mosaic/core/select/events.ts","../../../packages/mosaic/core/select/errors.ts","../../../packages/mosaic/core/select/constants.ts","../../../packages/mosaic/core/overlay/overlay-position-map.ts","../../../packages/mosaic/core/animation/fade-animations.ts","../../../packages/mosaic/core/animation/animation.ts","../../../packages/mosaic/core/animation/select-animations.ts","../../../packages/mosaic/core/label/label-options.ts","../../../packages/mosaic/core/selection/constants.ts","../../../packages/mosaic/core/selection/pseudo-checkbox/pseudo-checkbox.ts","../../../packages/mosaic/core/selection/pseudo-checkbox/pseudo-checkbox.partial.html","../../../packages/mosaic/core/selection/pseudo-checkbox/pseudo-checkbox.module.ts","../../../packages/mosaic/core/services/measure-scrollbar.service.ts","../../../packages/mosaic/core/option/optgroup.ts","../../../packages/mosaic/core/option/optgroup.html","../../../packages/mosaic/core/option/option.ts","../../../packages/mosaic/core/option/option.html","../../../packages/mosaic/core/option/action.ts","../../../packages/mosaic/core/option/option-module.ts","../../../packages/mosaic/core/forms/forms.directive.ts","../../../packages/mosaic/core/forms/forms-module.ts","../../../packages/mosaic/core/pop-up/constants.ts","../../../packages/mosaic/core/pop-up/pop-up.ts","../../../packages/mosaic/core/pop-up/pop-up-trigger.ts","../../../packages/mosaic/core/ptsecurity-mosaic-core.ts"],"sourcesContent":["import { Version } from '@angular/core';\n\n\nexport const VERSION = new Version('{{VERSION}}');\n","\nexport function isBoolean(val: any): val is boolean { return typeof val === 'boolean'; }\n\nexport function toBoolean(value: any): boolean {\n return value != null && `${value}` !== 'false';\n}\n","import { BidiModule } from '@angular/cdk/bidi';\nimport { NgModule, InjectionToken, Optional, Inject, isDevMode } from '@angular/core';\n\n\n// Injection token that configures whether the Mosaic sanity checks are enabled.\nexport const MC_SANITY_CHECKS = new InjectionToken<boolean>('mc-sanity-checks', {\n providedIn: 'root',\n factory: mcSanityChecksFactory\n});\n\nexport function mcSanityChecksFactory(): boolean {\n return true;\n}\n\n/**\n * Module that captures anything that should be loaded and/or run for *all* Mosaic\n * components. This includes Bidi, etc.\n *\n * This module should be imported to each top-level component module (e.g., McTabsModule).\n */\n@NgModule({\n imports: [ BidiModule ],\n exports: [ BidiModule ]\n})\nexport class McCommonModule {\n // Whether we've done the global sanity checks (e.g. a theme is loaded, there is a doctype).\n private hasDoneGlobalChecks = false;\n\n // Reference to the global `document` object.\n // tslint:disable-next-line: orthodox-getter-and-setter\n private _document = typeof document === 'object' && document ? document : null;\n\n // Reference to the global 'window' object.\n // tslint:disable-next-line: orthodox-getter-and-setter\n private _window = typeof window === 'object' && window ? window : null;\n\n constructor(@Optional() @Inject(MC_SANITY_CHECKS) private _sanityChecksEnabled: boolean) {\n if (this.areChecksEnabled() && !this.hasDoneGlobalChecks) {\n this.checkDoctypeIsDefined();\n this.checkThemeIsPresent();\n this.hasDoneGlobalChecks = true;\n }\n }\n\n // Whether any sanity checks are enabled\n private areChecksEnabled(): boolean {\n return this._sanityChecksEnabled && isDevMode() && !this.isTestEnv();\n }\n\n // Whether the code is running in tests.\n private isTestEnv() {\n // tslint:disable-next-line\n return this._window && (this._window['__karma__'] || this._window['jasmine']);\n }\n\n private checkDoctypeIsDefined(): void {\n if (this._document && !this._document.doctype) {\n console.warn(\n 'Current document does not have a doctype. This may cause ' +\n 'some Mosaic components not to behave as expected.'\n );\n }\n }\n\n private checkThemeIsPresent(): void {\n if (this._document && typeof getComputedStyle === 'function') {\n const testElement = this._document.createElement('div');\n\n testElement.classList.add('mc-theme-loaded-marker');\n this._document.body.appendChild(testElement);\n\n const computedStyle = getComputedStyle(testElement);\n\n // In some situations, the computed style of the test element can be null. For example in\n // Firefox, the computed style is null if an application is running inside of a hidden iframe.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n if (computedStyle && computedStyle.display !== 'none') {\n console.warn(\n 'Could not find Mosaic core theme. Most Mosaic ' +\n 'components may not work as expected. For more info refer ' +\n 'to the theming guide: link there'\n );\n }\n\n this._document.body.removeChild(testElement);\n }\n }\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { AbstractConstructor, Constructor } from './constructor';\n\n\n// tslint:disable-next-line naming-convention\nexport interface CanDisable {\n disabled: boolean;\n}\n\n/** @docs-private */\nexport type CanDisableCtor = Constructor<CanDisable> & AbstractConstructor<CanDisable>;\n\n/** Mixin to augment a directive with a `disabled` property. */\nexport function mixinDisabled<T extends AbstractConstructor<{}>>(base: T): CanDisableCtor & T;\nexport function mixinDisabled<T extends Constructor<{}>>(base: T): CanDisableCtor & T {\n return class extends base {\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n private _disabled: boolean = false;\n\n constructor(...args: any[]) {\n // tslint:disable-next-line\n super(...args);\n }\n };\n}\n","import { ElementRef } from '@angular/core';\n\nimport { AbstractConstructor, Constructor } from './constructor';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface CanColor {\n color: ThemePalette;\n}\n\n/** @docs-private */\nexport type CanColorCtor = Constructor<CanColor> & AbstractConstructor<CanColor>;\n\n// tslint:disable-next-line:naming-convention\nexport interface HasElementRef {\n _elementRef: ElementRef;\n}\n\nexport enum ThemePalette {\n Primary = 'primary',\n Second = 'second',\n Error = 'error',\n Default = 'second',\n Empty = ''\n}\n\n/** Mixin to augment a directive with a `color` property. */\nexport function mixinColor<T extends AbstractConstructor<HasElementRef>>(base: T, defaultColor?: ThemePalette): CanColorCtor & T;\n\nexport function mixinColor<T extends Constructor<HasElementRef>>(base: T, defaultColor = ThemePalette.Default): CanColorCtor & T {\n return class extends base {\n get color(): ThemePalette { return this._color; }\n set color(value: ThemePalette) {\n const colorPalette = value || defaultColor;\n\n if (colorPalette !== this._color) {\n if (this._color) {\n this._elementRef.nativeElement.classList.remove(`mc-${this._color}`);\n }\n if (colorPalette) {\n this._elementRef.nativeElement.classList.add(`mc-${colorPalette}`);\n }\n\n this._color = colorPalette;\n }\n }\n\n private _color: ThemePalette;\n\n constructor(...args: any[]) {\n super(...args);\n\n this.color = defaultColor;\n }\n };\n}\n\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\n\nimport { AbstractConstructor, Constructor } from './constructor';\nimport { CanDisable } from './disabled';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface HasTabIndex {\n tabIndex: number;\n}\n\nexport type HasTabIndexCtor = Constructor<HasTabIndex> & AbstractConstructor<HasTabIndex>;\n\n/** Mixin to augment a directive with a `tabIndex` property. */\nexport function mixinTabIndex<T extends AbstractConstructor<CanDisable>>(base: T, defaultTabIndex?: number): HasTabIndexCtor & T;\n\nexport function mixinTabIndex<T extends Constructor<CanDisable>>(base: T, defaultTabIndex = 0): HasTabIndexCtor & T {\n return class extends base implements HasTabIndex {\n defaultTabIndex = defaultTabIndex;\n\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? coerceNumberProperty(value) : this.defaultTabIndex;\n }\n\n private _tabIndex: number = defaultTabIndex;\n\n constructor(...args: any[]) {\n super(...args);\n }\n };\n}\n","import { FormControl, FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport { Subject } from 'rxjs';\n\nimport { ErrorStateMatcher } from '../error/error-options';\n\nimport { Constructor } from './constructor';\n\n\n/** @docs-private */\n// tslint:disable-next-line:naming-convention\nexport interface CanUpdateErrorState {\n\n readonly stateChanges: Subject<void>;\n\n errorState: boolean;\n errorStateMatcher: ErrorStateMatcher;\n\n updateErrorState();\n}\n\n/** @docs-private */\nexport type CanUpdateErrorStateCtor = Constructor<CanUpdateErrorState>;\n\n/** @docs-private */\n// tslint:disable-next-line:naming-convention\nexport interface HasErrorState {\n parentFormGroup: FormGroupDirective;\n parentForm: NgForm;\n defaultErrorStateMatcher: ErrorStateMatcher;\n ngControl: NgControl;\n}\n\n/**\n * Mixin to augment a directive with updateErrorState method.\n * For component with `errorState` and need to update `errorState`.\n */\nexport function mixinErrorState<T extends Constructor<HasErrorState>>(base: T): CanUpdateErrorStateCtor & T {\n return class extends base {\n /** Whether the component is in an error state. */\n errorState: boolean = false;\n\n /**\n * Stream that emits whenever the state of the input changes such that the wrapping\n * `MatFormField` needs to run change detection.\n */\n readonly stateChanges = new Subject<void>();\n\n errorStateMatcher: ErrorStateMatcher;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n updateErrorState() {\n const oldState = this.errorState;\n const parent = this.parentFormGroup || this.parentForm;\n const matcher = this.errorStateMatcher || this.defaultErrorStateMatcher;\n const control = this.ngControl ? this.ngControl.control as FormControl : null;\n const newState = matcher.isErrorState(control, parent);\n\n if (newState !== oldState) {\n this.errorState = newState;\n this.stateChanges.next();\n }\n }\n };\n}\n","import { NgModule, Directive, ElementRef, QueryList } from '@angular/core';\n\n\n/**\n * Shared directive to count lines inside a text area, such as a list item.\n * Line elements can be extracted with a @ContentChildren(McLine) query, then\n * counted by checking the query list's length.\n */\n@Directive({\n selector: '[mc-line], [mcLine]',\n host: { class: 'mc-line' }\n})\nexport class McLine {}\n\n/**\n * Helper that takes a query list of lines and sets the correct class on the host.\n * @docs-private\n */\nexport class McLineSetter {\n constructor(private _lines: QueryList<McLine>, private _element: ElementRef) {\n this.setLineClass(this._lines.length);\n\n this._lines.changes.subscribe(() => {\n this.setLineClass(this._lines.length);\n });\n }\n\n private setLineClass(count: number): void {\n const minLineClassNumber = 2;\n const maxLineClassNumber = 3;\n this.resetClasses();\n if (count === minLineClassNumber || count === maxLineClassNumber) {\n this.setClass(`mc-${count}-line`, true);\n } else if (count > maxLineClassNumber) {\n this.setClass(`mc-multi-line`, true);\n }\n }\n\n private resetClasses(): void {\n this.setClass('mc-2-line', false);\n this.setClass('mc-3-line', false);\n this.setClass('mc-multi-line', false);\n }\n\n private setClass(className: string, isAdd: boolean): void {\n if (isAdd) {\n this._element.nativeElement.classList.add(className);\n } else {\n this._element.nativeElement.classList.remove(className);\n }\n }\n}\n\n@NgModule({\n imports: [],\n exports: [McLine],\n declarations: [McLine]\n})\nexport class McLineModule {}\n","import { Injectable } from '@angular/core';\nimport { FormGroupDirective, NgForm, FormControl } from '@angular/forms';\n\n\n/** Error state matcher that matches when a control is invalid and dirty. */\n@Injectable()\nexport class ShowOnDirtyErrorStateMatcher implements ErrorStateMatcher {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return !!(control && control.invalid && (control.dirty || (form && form.submitted)));\n }\n}\n\n/** Provider that defines how form controls behave with regards to displaying error messages. */\n@Injectable({ providedIn: 'root' })\nexport class ErrorStateMatcher {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return !!(control && control.invalid && (control.touched || (form && form.submitted)));\n }\n}\n","const SECONDS_TEMPLATE = `{\n SHOW_MILLISECONDS,\n select,\n yes{:{SECONDS}{MILLISECONDS}}\n other{{\n SHOW_SECONDS,\n select,\n yes{:{SECONDS}}\n other{}\n }}\n}`;\n\nexport const enUS = {\n relativeTemplates: {\n short: {\n BEFORE_YESTERDAY: `{CURRENT_YEAR, select, yes{{SHORT_DATE}, {TIME}} other{{SHORT_DATE}, {YEAR}}}${SECONDS_TEMPLATE}`,\n YESTERDAY: `Yesterday, {TIME}${SECONDS_TEMPLATE}`,\n TODAY: `Today, {TIME}${SECONDS_TEMPLATE}`,\n TOMORROW: `Tomorrow, {TIME}${SECONDS_TEMPLATE}`,\n AFTER_TOMORROW: `{CURRENT_YEAR, select, yes{{SHORT_DATE}, {TIME}} other{{SHORT_DATE}, {YEAR}}}${SECONDS_TEMPLATE}`\n },\n long: {\n BEFORE_YESTERDAY: `{CURRENT_YEAR, select, yes{{DATE}, {TIME}} other{{DATE}, {YEAR}}}${SECONDS_TEMPLATE}`,\n YESTERDAY: `Yesterday, {TIME}${SECONDS_TEMPLATE}`,\n TODAY: `Today, {TIME}${SECONDS_TEMPLATE}`,\n TOMORROW: `Tomorrow, {TIME}${SECONDS_TEMPLATE}`,\n AFTER_TOMORROW: `{CURRENT_YEAR, select, yes{{DATE}, {TIME}} other{{DATE}, {YEAR}}}${SECONDS_TEMPLATE}`\n }\n },\n absoluteTemplates: {\n short: {\n DATE: '{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE}, {YEAR}}}',\n DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE}, {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}`\n },\n long: {\n DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE}, {YEAR}}}',\n DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}`\n }\n },\n rangeTemplates: {\n closedRange: {\n short: {\n START_DATE: '{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE}, {YEAR}}}',\n END_DATE: `{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}}\n other{{SHORT_DATE}, {YEAR}}\n }}\n }`,\n DATE: `{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n SAME_DAY,\n select,\n yes{{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE}, {YEAR}, {TIME}}\n }}\n }${SECONDS_TEMPLATE}`,\n END_DATETIME: `{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{TIME}${SECONDS_TEMPLATE}, {SHORT_DATE}}\n other{{TIME}${SECONDS_TEMPLATE}, {SHORT_DATE}, {YEAR}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE}, {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}}\n }`,\n DATETIME: `{\n SAME_DAY,\n select,\n yes{{START_DATETIME}{DASH}{END_DATETIME}}\n other{{START_DATETIME}{LONG_DASH}{END_DATETIME}}\n }`\n },\n middle: {\n START_DATE: `{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE}, {YEAR}}\n }}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE}, {YEAR}}}',\n DATE: `{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n SAME_DAY,\n select,\n yes{{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }}\n }${SECONDS_TEMPLATE}`,\n END_DATETIME: `{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{TIME}${SECONDS_TEMPLATE}, {DATE}}\n other{{TIME}${SECONDS_TEMPLATE}, {DATE}, {YEAR}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}}\n }`,\n DATETIME: `{\n SAME_DAY,\n select,\n yes{{START_DATETIME}{DASH}{END_DATETIME}}\n other{{START_DATETIME}{LONG_DASH}{END_DATETIME}}\n }`\n },\n long: {\n START_DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE}, {YEAR}}}',\n END_DATE: `{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE}, {YEAR}}\n }}\n }`,\n DATE: `{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, from{NBSP}{TIME}}\n other{{DATE}, {YEAR}, from{NBSP}{TIME}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }}\n }${SECONDS_TEMPLATE}`,\n END_DATETIME: `{\n SAME_DAY,\n select,\n yes{to{NBSP}{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }}\n }${SECONDS_TEMPLATE}`,\n DATETIME: `{\n SAME_DAY,\n select,\n yes{{START_DATETIME} {END_DATETIME}}\n other{From {START_DATETIME} to{NBSP}{END_DATETIME}}\n }`\n }\n },\n openedRange: {\n short: {\n START_DATE: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}}\n other{{SHORT_DATE} {YEAR}}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE} {YEAR}}}',\n DATE: `{\n RANGE_TYPE,\n select,\n onlyStart{From{NBSP}{START_DATE}}\n other{Until{NBSP}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}`,\n END_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}`,\n DATETIME: `{\n RANGE_TYPE,\n select,\n onlyStart{From{NBSP}{START_DATETIME}}\n other{Until{NBSP}{END_DATETIME}}\n }`\n },\n long: {\n START_DATE: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE} {YEAR}}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}',\n DATE: `{\n RANGE_TYPE,\n select,\n onlyStart{From{NBSP}{START_DATE}}\n other{Until{NBSP}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}`,\n END_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}`,\n DATETIME: `{\n RANGE_TYPE,\n select,\n onlyStart{From{NBSP}{START_DATETIME}}\n other{Until{NBSP}{END_DATETIME}}\n }`\n }\n }\n }\n};\n","const SECONDS_TEMPLATE = `{\n SHOW_MILLISECONDS,\n select,\n yes{:{SECONDS}{MILLISECONDS}}\n other{{\n SHOW_SECONDS,\n select,\n yes{:{SECONDS}}\n other{}\n }}\n}`;\n\nexport const ruRU = {\n relativeTemplates: {\n short: {\n BEFORE_YESTERDAY: `{CURRENT_YEAR, select, yes{{SHORT_DATE}, {TIME}} other{{SHORT_DATE} {YEAR}}}${SECONDS_TEMPLATE}`,\n YESTERDAY: `Вчера, {TIME}${SECONDS_TEMPLATE}`,\n TODAY: `Сегодня, {TIME}${SECONDS_TEMPLATE}`,\n TOMORROW: `Завтра, {TIME}${SECONDS_TEMPLATE}`,\n AFTER_TOMORROW: `{CURRENT_YEAR, select, yes{{SHORT_DATE}, {TIME}} other{{SHORT_DATE} {YEAR}}}${SECONDS_TEMPLATE}`\n },\n long: {\n BEFORE_YESTERDAY: `{CURRENT_YEAR, select, yes{{DATE}, {TIME}} other{{DATE} {YEAR}}}${SECONDS_TEMPLATE}`,\n YESTERDAY: `Вчера, {TIME}${SECONDS_TEMPLATE}`,\n TODAY: `Сегодня, {TIME}${SECONDS_TEMPLATE}`,\n TOMORROW: `Завтра, {TIME}${SECONDS_TEMPLATE}`,\n AFTER_TOMORROW: `{CURRENT_YEAR, select, yes{{DATE}, {TIME}} other{{DATE} {YEAR}}}${SECONDS_TEMPLATE}`\n }\n },\n absoluteTemplates: {\n short: {\n DATE: '{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE} {YEAR}}}',\n DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}`\n },\n long: {\n DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}',\n DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}`\n }\n },\n rangeTemplates: {\n closedRange: {\n short: {\n START_DATE: `{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}}\n other{{SHORT_DATE} {YEAR}}\n }}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE} {YEAR}}}',\n DATE: `{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n SAME_DAY,\n select,\n yes{{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }}\n }${SECONDS_TEMPLATE}`,\n END_DATETIME: `{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{TIME}${SECONDS_TEMPLATE}, {SHORT_DATE}}\n other{{TIME}${SECONDS_TEMPLATE}, {SHORT_DATE} {YEAR}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}}\n }`,\n DATETIME: `{\n SAME_DAY,\n select,\n yes{{START_DATETIME}{DASH}{END_DATETIME}}\n other{{START_DATETIME}{LONG_DASH}{END_DATETIME}}\n }`\n },\n middle: {\n START_DATE: `{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE} {YEAR}}\n }}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}',\n DATE: `{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n SAME_DAY,\n select,\n yes{{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }}\n }${SECONDS_TEMPLATE}`,\n END_DATETIME: `{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{TIME}${SECONDS_TEMPLATE}, {DATE}}\n other{{TIME}${SECONDS_TEMPLATE}, {DATE} {YEAR}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}}\n }`,\n DATETIME: `{\n SAME_DAY,\n select,\n yes{{START_DATETIME}{DASH}{END_DATETIME}}\n other{{START_DATETIME}{LONG_DASH}{END_DATETIME}}\n }`\n },\n long: {\n START_DATE: `{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE} {YEAR}}\n }}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}',\n DATE: `{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, с{NBSP}{TIME}}\n other{{DATE} {YEAR}, с{NBSP}{TIME}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }}\n }${SECONDS_TEMPLATE}`,\n END_DATETIME: `{\n SAME_DAY,\n select,\n yes{по{NBSP}{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }}\n }${SECONDS_TEMPLATE}`,\n DATETIME: `{\n SAME_DAY,\n select,\n yes{{START_DATETIME} {END_DATETIME}}\n other{С{NBSP}{START_DATETIME} по{NBSP}{END_DATETIME}}\n }`\n }\n },\n openedRange: {\n short: {\n START_DATE: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}}\n other{{SHORT_DATE} {YEAR}}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE} {YEAR}}}',\n DATE: `{\n RANGE_TYPE,\n select,\n onlyStart{С{NBSP}{START_DATE}}\n other{По{NBSP}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}`,\n END_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}`,\n DATETIME: `{\n RANGE_TYPE,\n select,\n onlyStart{С{NBSP}{START_DATETIME}}\n other{По{NBSP}{END_DATETIME}}\n }`\n },\n long: {\n START_DATE: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE} {YEAR}}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}',\n DATE: `{\n RANGE_TYPE,\n select,\n onlyStart{С{NBSP}{START_DATE}}\n other{По{NBSP}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}`,\n END_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }${SECONDS_TEMPLATE}`,\n DATETIME: `{\n RANGE_TYPE,\n select,\n onlyStart{С{NBSP}{START_DATETIME}}\n other{По{NBSP}{END_DATETIME}}\n }`\n }\n }\n }\n};\n","// tslint:disable:no-magic-numbers\nimport { Inject, Injectable } from '@angular/core';\n// tslint:disable:import-name\nimport MessageFormat from '@messageformat/core';\nimport { DateAdapter, MC_DATE_LOCALE } from '@ptsecurity/cdk/datetime';\n\nimport { enUS } from './templates/en-US';\nimport { ruRU } from './templates/ru-RU';\n\n\n/**\n * interface for absolute date or datetime formatter template\n */\n// tslint:disable-next-line:naming-convention\nexport interface FormatterAbsoluteTemplate {\n variables?: { [name: string]: string };\n DATE: string;\n DATETIME: string;\n}\n\n/**\n * interface for range date or datetime formatter template\n */\n// tslint:disable-next-line:naming-convention\nexport interface FormatterRangeTemplate {\n variables?: { [name: string]: string };\n START_DATE: string;\n END_DATE: string;\n DATE: string;\n START_DATETIME: string;\n END_DATETIME: string;\n DATETIME: string;\n}\n\n/**\n * interface for relative date or datetime formatter template\n */\n// tslint:disable-next-line:naming-convention\nexport interface FormatterRelativeTemplate {\n variables?: { [name: string]: string };\n BEFORE_YESTERDAY: string;\n YESTERDAY: string;\n TODAY: string;\n TOMORROW: string;\n AFTER_TOMORROW: string;\n}\n\n// tslint:disable-next-line:naming-convention\nexport interface DateTimeOptions {\n seconds?: boolean;\n milliseconds?: boolean;\n}\n\n// tslint:disable-next-line:naming-convention\nexport interface FormatterConfig {\n relativeTemplates: {\n short: FormatterRelativeTemplate;\n long: FormatterRelativeTemplate;\n };\n absoluteTemplates: {\n short: FormatterAbsoluteTemplate;\n long: FormatterAbsoluteTemplate;\n };\n rangeTemplates: {\n closedRange: {\n short: FormatterRangeTemplate;\n middle: FormatterRangeTemplate;\n long: FormatterRangeTemplate;\n };\n openedRange: {\n short: FormatterRangeTemplate;\n long: FormatterRangeTemplate;\n };\n };\n}\n\n\n@Injectable()\nexport class DateFormatter<D> {\n config: FormatterConfig;\n\n private readonly invalidDateErrorText: string = 'Invalid date';\n\n private messageFormat: MessageFormat;\n\n constructor(\n private readonly adapter: DateAdapter<D>,\n @Inject(MC_DATE_LOCALE) locale: string\n ) {\n this.config = locale === 'en' ? enUS : ruRU;\n\n this.messageFormat = new MessageFormat(locale);\n }\n\n setLocale(locale: string): void {\n this.config = locale === 'en' ? enUS : ruRU;\n\n this.adapter.setLocale(locale);\n }\n\n /**\n * @param date - date\n * @param template - template\n * @returns relative date by template\n */\n relativeDate(\n date: D,\n template: FormatterRelativeTemplate,\n seconds = false,\n milliseconds = false\n ): string {\n if (!this.adapter.isDateInstance(date)) { throw new Error(this.invalidDateErrorText); }\n\n let newTemplate;\n\n const templateVariables = {...this.adapter.config.variables, ...template.variables};\n\n if (this.isBeforeYesterday(date)) {\n newTemplate = template.BEFORE_YESTERDAY;\n } else if (this.isYesterday(date)) {\n newTemplate = template.YESTERDAY;\n } else if (this.isToday(date)) {\n newTemplate = template.TODAY;\n } else if (this.isTomorrow(date)) {\n newTemplate = template.TOMORROW;\n } else if (this.isAfterTomorrow(date)) {\n newTemplate = template.AFTER_TOMORROW;\n }\n\n const variables = this.compileVariables(date, templateVariables);\n\n variables.SHOW_SECONDS = seconds ? 'yes' : 'no';\n variables.SHOW_MILLISECONDS = milliseconds ? 'yes' : 'no';\n\n return this.messageFormat.compile(newTemplate)(variables);\n }\n\n /**\n * @param date - date\n * @returns relative date in short format\n */\n relativeShortDate(date: D): string {\n return this.relativeDate(date, this.config.relativeTemplates.short);\n }\n\n /**\n * @param date - date\n * @returns relative date in long format\n */\n relativeLongDate(date: D): string {\n return this.relativeDate(date, this.config.relativeTemplates.long);\n }\n\n /**\n * @param date - date\n * @param options - DateTimeOptions\n * @returns relative date in short format with time\n */\n relativeShortDateTime(date: D, options?: DateTimeOptions): string {\n return this.relativeDate(date, this.config.relativeTemplates.short, options?.seconds, options?.milliseconds);\n }\n\n /**\n * @param date - date\n * @param options - DateTimeOptions\n * @returns relative date in long format with time\n */\n relativeLongDateTime(date: D, options?: DateTimeOptions): string {\n return this.relativeDate(date, this.config.relativeTemplates.long, options?.seconds, options?.milliseconds);\n }\n\n /**\n * @param date - date\n * @param params - parameters\n * @param datetime - should time be shown as well\n * @param seconds - should time with seconds be shown as well\n * @param milliseconds - should time with milliseconds be shown as well\n * @returns absolute date in common format\n */\n absoluteDate(\n date: D,\n params: FormatterAbsoluteTemplate,\n datetime = false,\n seconds = false,\n milliseconds = false\n ): string {\n if (!this.adapter.isDateInstance(date)) { throw new Error(this.invalidDateErrorText); }\n\n const variables = this.compileVariables(date, { ...this.adapter.config.variables, ...params.variables });\n\n variables.SHOW_SECONDS = seconds ? 'yes' : 'no';\n variables.SHOW_MILLISECONDS = milliseconds ? 'yes' : 'no';\n\n const template = datetime ? params.DATETIME : params.DATE;\n\n return this.messageFormat.compile(template)(variables);\n }\n\n /**\n * @param date - date\n * @returns absolute date in short format\n */\n absoluteShortDate(date: D): string {\n return this.absoluteDate(date, this.config.absoluteTemplates.short);\n }\n\n /**\n * @param date - date\n * @param options - DateTimeOptions\n * @returns absolute date in short format with time\n */\n absoluteShortDateTime(date: D, options?: DateTimeOptions): string {\n return this.absoluteDate(date, this.config.absoluteTemplates.short, true, options?.seconds, options?.milliseconds);\n }\n\n /**\n * @param date - date\n * @returns absolute date in long format\n */\n absoluteLongDate(date: D): string {\n return this.absoluteDate(date, this.config.absoluteTemplates.long);\n }\n\n /**\n * @param date - date\n * @param options - DateTimeOptions\n * @returns absolute date in long format with time\n */\n absoluteLongDateTime(date: D, options?: DateTimeOptions): string {\n return this.absoluteDate(date, this.config.absoluteTemplates.long, true, options?.seconds, options?.milliseconds);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @param template - template\n * @returns opened date\n */\n openedRangeDate(startDate: D | null, endDate: D | null, template: FormatterRangeTemplate) {\n if (!this.adapter.isDateInstance(startDate) && !this.adapter.isDateInstance(endDate)) {\n throw new Error(this.invalidDateErrorText);\n }\n\n const variables = { ...this.adapter.config.variables, ...template.variables };\n let params = {};\n\n if (startDate) {\n const startDateVariables = this.compileVariables(startDate, variables);\n\n params = {\n ...variables,\n START_DATE: this.messageFormat.compile(template.START_DATE)(startDateVariables),\n RANGE_TYPE: 'onlyStart'\n };\n } else if (endDate) {\n const endDateVariables = this.compileVariables(endDate, variables);\n\n params = {\n ...variables,\n END_DATE: this.messageFormat.compile(template.END_DATE)(endDateVariables),\n RANGE_TYPE: 'onlyEnd'\n };\n }\n\n return this.messageFormat.compile(template.DATE)(params);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @param template - template\n * @param seconds - should time with seconds be shown as well\n * @param milliseconds - should time with milliseconds be shown as well\n * @returns opened date\n */\n openedRangeDateTime(\n startDate: D | null,\n endDate: D | null,\n template: FormatterRangeTemplate,\n seconds = false,\n milliseconds = false\n ) {\n if (!this.adapter.isDateInstance(startDate) && !this.adapter.isDateInstance(endDate)) {\n throw new Error(this.invalidDateErrorText);\n }\n\n const variables = { ...this.adapter.config.variables, ...template.variables };\n let params = {};\n\n if (startDate) {\n const startDateVariables = this.compileVariables(startDate, variables);\n startDateVariables.SHOW_SECONDS = seconds ? 'yes' : 'no';\n startDateVariables.SHOW_MILLISECONDS = milliseconds ? 'yes' : 'no';\n\n params = {\n ...variables,\n START_DATETIME: this.messageFormat.compile(template.START_DATETIME)(startDateVariables),\n RANGE_TYPE: 'onlyStart'\n };\n } else if (endDate) {\n const endDateVariables = this.compileVariables(endDate, variables);\n endDateVariables.SHOW_SECONDS = seconds ? 'yes' : 'no';\n endDateVariables.SHOW_MILLISECONDS = milliseconds ? 'yes' : 'no';\n\n params = {\n ...variables,\n END_DATETIME: this.messageFormat.compile(template.END_DATETIME)(endDateVariables),\n RANGE_TYPE: 'onlyEnd'\n };\n }\n\n return this.messageFormat.compile(template.DATETIME)(params);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @param template - template\n * @returns range date in template format\n */\n rangeDate(startDate: D, endDate: D, template: FormatterRangeTemplate): string {\n if (!this.adapter.isDateInstance(startDate) || !this.adapter.isDateInstance(endDate)) {\n throw new Error(this.invalidDateErrorText);\n }\n\n const variables = { ...this.adapter.config.variables, ...template.variables };\n const sameMonth = this.hasSame(startDate, endDate, 'month');\n\n const startDateVariables = this.compileVariables(startDate, variables);\n startDateVariables.SAME_MONTH = sameMonth;\n\n const endDateVariables = this.compileVariables(endDate, variables);\n endDateVariables.SAME_MONTH = sameMonth;\n\n const bothCurrentYear = startDateVariables.CURRENT_YEAR === 'yes' && endDateVariables.CURRENT_YEAR === 'yes';\n startDateVariables.CURRENT_YEAR = bothCurrentYear ? 'yes' : 'no';\n endDateVariables.CURRENT_YEAR = bothCurrentYear ? 'yes' : 'no';\n\n const params = {\n ...variables,\n START_DATE: this.messageFormat.compile(template.START_DATE)(startDateVariables),\n END_DATE: this.messageFormat.compile(template.END_DATE)(endDateVariables),\n SAME_MONTH: sameMonth\n };\n\n return this.messageFormat.compile(template.DATE)(params);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @param template - template\n * @returns range date in template format with time\n */\n rangeDateTime(startDate: D, endDate: D, template: FormatterRangeTemplate, seconds = false, milliseconds = false): string {\n if (!this.adapter.isDateInstance(startDate) || !this.adapter.isDateInstance(endDate)) {\n throw new Error(this.invalidDateErrorText);\n }\n\n const variables = {...this.adapter.config.variables, ...template.variables};\n\n const sameMonth = this.hasSame(startDate, endDate, 'month');\n const sameDay = this.hasSame(startDate, endDate, 'day');\n\n const startDateVariables = this.compileVariables(startDate, variables);\n startDateVariables.SAME_MONTH = sameMonth;\n startDateVariables.SAME_DAY = sameDay;\n startDateVariables.SHOW_SECONDS = seconds ? 'yes' : 'no';\n startDateVariables.SHOW_MILLISECONDS = milliseconds ? 'yes' : 'no';\n\n const endDateVariables = this.compileVariables(endDate, variables);\n endDateVariables.SAME_MONTH = sameMonth;\n endDateVariables.SAME_DAY = sameDay;\n endDateVariables.SHOW_SECONDS = seconds ? 'yes' : 'no';\n endDateVariables.SHOW_MILLISECONDS = milliseconds ? 'yes' : 'no';\n\n const bothCurrentYear = startDateVariables.CURRENT_YEAR === 'yes' && endDateVariables.CURRENT_YEAR === 'yes';\n startDateVariables.CURRENT_YEAR = bothCurrentYear ? 'yes' : 'no';\n endDateVariables.CURRENT_YEAR = bothCurrentYear ? 'yes' : 'no';\n\n const params = {\n ...variables,\n START_DATETIME: this.messageFormat.compile(template.START_DATETIME)(startDateVariables),\n END_DATETIME: this.messageFormat.compile(template.END_DATETIME)(endDateVariables),\n SAME_MONTH: sameMonth,\n SAME_DAY: sameDay\n };\n\n return this.messageFormat.compile(template.DATETIME)(params);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @returns range date in short format\n */\n rangeShortDate(startDate: D | null, endDate?: D): string {\n const rangeTemplates = this.config.rangeTemplates;\n\n if (startDate && endDate) {\n return this.rangeDate(startDate, endDate, rangeTemplates.closedRange.short);\n }\n\n return this.openedRangeDate(startDate, endDate || null, rangeTemplates.openedRange.short);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @param options - DateTimeOptions\n * @returns range date in short format with time\n */\n rangeShortDateTime(startDate: D | null, endDate?: D | null, options?: DateTimeOptions): string {\n const rangeTemplates = this.config.rangeTemplates;\n\n if (startDate && endDate) {\n return this.rangeDateTime(startDate, endDate, rangeTemplates.closedRange.short, options?.seconds, options?.milliseconds);\n }\n\n return this.openedRangeDateTime(\n startDate,\n endDate || null,\n rangeTemplates.openedRange.short,\n options?.seconds,\n options?.milliseconds\n );\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @returns range date in long format\n */\n rangeLongDate(startDate: D | null, endDate?: D | null): string {\n const rangeTemplates = this.config.rangeTemplates;\n\n if (startDate && endDate) {\n return this.rangeDate(startDate, endDate, rangeTemplates.closedRange.long);\n }\n\n return this.openedRangeDate(startDate, endDate || null, rangeTemplates.openedRange.long);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @param options - DateTimeOptions\n * @returns range date in long format with time\n */\n rangeLongDateTime(startDate: D | null, endDate?: D, options?: DateTimeOptions): string {\n const rangeTemplates = this.config.rangeTemplates;\n\n if (startDate && endDate) {\n return this.rangeDateTime(startDate, endDate, rangeTemplates.closedRange.long, options?.seconds, options?.milliseconds);\n }\n\n return this.openedRangeDateTime(startDate, endDate || null, rangeTemplates.openedRange.long);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @param options - DateTimeOptions\n * @returns range middle date with time\n */\n rangeMiddleDateTime(startDate: D, endDate: D, options?: DateTimeOptions): string {\n return this.rangeDateTime(\n startDate,\n endDate,\n this.config.rangeTemplates.closedRange.middle,\n options?.seconds,\n options?.milliseconds\n );\n }\n\n private compileVariables(date: D, variables: any): any {\n const compiledVariables: any = {};\n\n // tslint:disable-next-line:no-for-in\n for (const key in variables) {\n if (!variables.hasOwnProperty(key)) { continue; }\n\n const value = variables[key];\n compiledVariables[key] = this.adapter.format(date, value);\n }\n\n compiledVariables.CURRENT_YEAR = this.hasSame(date, this.adapter.today(), 'year');\n\n return compiledVariables;\n }\n\n private isBeforeYesterday(date: D): boolean {\n return this.adapter.daysFromToday(date) <= -2;\n }\n\n private isYesterday(date: D): boolean {\n const interval = this.adapter.daysFromToday(date);\n\n return interval > -2 && interval <= -1;\n }\n\n private isToday(date: D): boolean {\n return this.adapter.daysFromToday(date) === 0;\n }\n\n private isTomorrow(date: any): boolean {\n const interval = this.adapter.daysFromToday(date);\n\n return interval >= 1 && interval < 2;\n }\n\n private isAfterTomorrow(date: D): boolean {\n return this.adapter.daysFromToday(date) >= 2;\n }\n\n private hasSame(startDate: D, endDate: D, unit: string): string {\n return this.adapter.hasSame(startDate, endDate, unit) ? 'yes' : 'no';\n }\n}\n","/* tslint:disable:naming-convention */\nimport { Inject, Injectable, InjectionToken, Optional, Pipe, PipeTransform } from '@angular/core';\n\n\nexport const MC_LOCALE_ID = new InjectionToken<string>('McLocaleId');\n\nexport const DEFAULT_MC_LOCALE_ID = 'ru';\n\n\nfunction isEmpty(value: any): boolean {\n return value == null || value === '' || value !== value;\n}\n\nfunction strToNumber(value: number | string): number {\n if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n return Number(value);\n }\n\n if (typeof value !== 'number') {\n throw new Error(`${value} is not a number`);\n }\n\n return value;\n}\n\nexport const NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\n\nconst minIntGroupPosition = 1;\nconst minFractionGroupPosition = 3;\nconst maxFractionGroupPosition = 5;\n\ninterface NumberFormatOptions {\n useGrouping: boolean;\n\n minimumIntegerDigits: number;\n minimumFractionDigits: number;\n maximumFractionDigits: number;\n minimumSignificantDigits: number;\n maximumSignificantDigits: number;\n\n localeMatcher?: string;\n style?: string;\n\n currency?: string;\n currencyDisplay?: string;\n}\n\nclass ParsedDigitsInfo {\n minimumIntegerDigits: number;\n minimumFractionDigits: number;\n maximumFractionDigits: number;\n}\n\nfunction parseDigitsInfo(digitsInfo: string): ParsedDigitsInfo {\n const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n\n if (parts === null) {\n throw new Error(`${digitsInfo} is not a valid digit info`);\n }\n\n const minIntPart = parts[minIntGroupPosition];\n const minFractionPart = parts[minFractionGroupPosition];\n const maxFractionPart = parts[maxFractionGroupPosition];\n\n const result = new ParsedDigitsInfo();\n\n if (minIntPart != null) {\n result.minimumIntegerDigits = parseInt(minIntPart);\n }\n\n if (minFractionPart != null) {\n result.minimumFractionDigits = parseInt(minFractionPart);\n }\n\n if (maxFractionPart != null) {\n result.maximumFractionDigits = parseInt(maxFractionPart);\n } else if (minFractionPart != null && result.minimumFractionDigits > result.maximumFractionDigits) {\n result.maximumFractionDigits = result.minimumFractionDigits;\n }\n\n return result;\n}\n\n\n@Injectable({ providedIn: 'root' })\n@Pipe({name: 'mcNumber'})\nexport class McDecimalPipe implements PipeTransform {\n constructor(@Optional() @Inject(MC_LOCALE_ID) private _locale: string) {}\n\n /**\n * @param value The number to be formatted.\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:<br>\n * <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `3`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `MC_LOCALE_ID`, which is `ru` by default.\n */\n transform(value: any, digitsInfo?: string, locale?: string): string | null {\n if (isEmpty(value)) { return null; }\n\n const currentLocale = locale || this._locale || DEFAULT_MC_LOCALE_ID;\n\n let parsedDigitsInfo;\n\n if (digitsInfo) {\n parsedDigitsInfo = parseDigitsInfo(digitsInfo);\n }\n\n const options: NumberFormatOptions = {\n useGrouping: true,\n minimumIntegerDigits: 1,\n minimumFractionDigits: 0,\n maximumFractionDigits: 3,\n ...parsedDigitsInfo\n };\n\n try {\n const num = strToNumber(value);\n\n return Intl.NumberFormat.call(this, currentLocale, options).format(num);\n } catch (error) {\n throw Error(`InvalidPipeArgument: McDecimalPipe for pipe '${JSON.stringify(error.message)}'`);\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { DateFormatter } from './date/formatter';\nimport { McDecimalPipe } from './number/formatter';\n\n\n@NgModule({\n exports: [McDecimalPipe],\n declarations: [McDecimalPipe],\n providers: [DateFormatter]\n})\nexport class McFormattersModule {}\n\n\nexport * from './number/formatter';\nexport * from './date/formatter';\n","import { InjectionToken } from '@angular/core';\nimport {\n AbstractControl,\n NgControl,\n NgForm,\n RequiredValidator,\n ValidationErrors,\n Validator,\n ValidatorFn\n} from '@angular/forms';\n\n\nexport const validationTooltipShowDelay = 10;\nexport const validationTooltipHideDelay = 3000;\n\n\n// tslint:disable-next-line:naming-convention\nexport interface McValidationOptions {\n useValidation: boolean;\n}\n\nexport const MC_VALIDATION = new InjectionToken<McValidationOptions>(\n 'McUseValidation',\n { factory: () => ({ useValidation: true }) }\n );\n\n\nfunction 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\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 */\nexport function setMosaicValidation(component) {\n const ngControl = component.ngControl;\n\n if (!ngControl) { return; }\n\n const parentForm: NgForm = component.parentForm || component.parentFormGroup;\n\n if (parentForm) {\n parentForm.ngSubmit.subscribe(() => {\n // tslint:disable-next-line: no-unnecessary-type-assertion\n ngControl.control!.updateValueAndValidity({ emitEvent: false });\n });\n }\n\n if (component.ngModel) {\n setMosaicValidationForModelControl(component, component.rawValidators, parentForm);\n } else if (component.formControlName || component.ngControl) {\n setMosaicValidationForFormControl(component, parentForm, ngControl);\n }\n}\nexport function setMosaicValidationForModelControl(component, validators: Validator[], parentForm: NgForm) {\n if (!validators) { return; }\n\n validators.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 (parentForm && !parentForm.submitted) { 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 (component.focused) { return null; }\n\n return originalValidate.call(validator, control);\n };\n }\n });\n}\n\nexport function setMosaicValidationForFormControl(component, parentForm: NgForm, ngControl: NgControl) {\n const originalValidator = ngControl.control!.validator;\n\n // changed required validation logic after initialization\n if (ngControl.invalid && ngControl.errors!.required) {\n Promise.resolve().then(() => setValidState(ngControl.control!, originalValidator!));\n }\n\n // check dynamic updates\n ngControl.statusChanges!\n .subscribe(() => {\n // changed required validation logic\n if (ngControl.invalid && (parentForm && !parentForm.submitted) && ngControl.errors!.required) {\n setValidState(ngControl.control!, originalValidator!);\n }\n\n // changed all other validation logic\n if (ngControl.invalid && component.focused) {\n setValidState(ngControl.control!, originalValidator!);\n }\n });\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n\n@Pipe({ name: 'mcHighlight' })\nexport class McHighlightPipe implements PipeTransform {\n transform(value: any, args: any): any {\n if (!args) { return value; }\n\n return value.replace(new RegExp(`(${args})`, 'gi'), '<mark class=\"mc-highlight\">$1</mark>');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McHighlightPipe } from './highlight.pipe';\n\n\n@NgModule({\n imports: [CommonModule],\n exports: [McHighlightPipe],\n declarations: [McHighlightPipe]\n})\nexport class McHighlightModule {}\n\n\nexport * from './highlight.pipe';\n","export const selectEvents = 'selectEvents';\n","/**\n * Returns an exception to be thrown when attempting to change a select's `multiple` option\n * after initialization.\n * @docs-private\n */\nexport function getMcSelectDynamicMultipleError(): Error {\n return Error('Cannot change `multiple` mode of select after initialization.');\n}\n\n/**\n * Returns an exception to be thrown when attempting to assign a non-array value to a select\n * in `multiple` mode. Note that `undefined` and `null` are still valid values to allow for\n * resetting the value.\n * @docs-private\n */\nexport function getMcSelectNonArrayValueError(): Error {\n return Error('Value must be an array in multiple-selection mode.');\n}\n\n/**\n * Returns an exception to be thrown when assigning a non-function value to the comparator\n * used to determine if a value corresponds to an option. Note that whether the function\n * actually takes two values and returns a boolean is not checked.\n */\nexport function getMcSelectNonFunctionValueError(): Error {\n return Error('`compareWith` must be a function.');\n}\n","import { ScrollStrategy, Overlay, RepositionScrollStrategy } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\n\n\n/** The max height of the select's overlay panel */\nexport const SELECT_PANEL_MAX_HEIGHT = 224;\n\n/** The panel's padding on the x-axis */\nexport const SELECT_PANEL_PADDING_X = 1;\n\n/** The panel's x axis padding if it is indented (e.g. there is an option group). */\n/* tslint:disable-next-line:no-magic-numbers */\nexport const SELECT_PANEL_INDENT_PADDING_X = SELECT_PANEL_PADDING_X * 2;\n\n/**\n * The select panel will only \"fit\" inside the viewport if it is positioned at\n * this value or more away from the viewport boundary.\n */\nexport const SELECT_PANEL_VIEWPORT_PADDING = 8;\n\n\n/** Injection token that determines the scroll handling while a select is open. */\nexport const MC_SELECT_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mc-select-scroll-strategy');\n\n/** @docs-private */\nexport function mcSelectScrollStrategyProviderFactory(overlay: Overlay):\n () => RepositionScrollStrategy {\n return () => overlay.scrollStrategies.reposition();\n}\n\n/** @docs-private */\nexport const MC_SELECT_SCROLL_STRATEGY_PROVIDER = {\n provide: MC_SELECT_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: mcSelectScrollStrategyProviderFactory\n};\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\n\n\nexport const POSITION_MAP: { [key: string]: ConnectionPositionPair } = {\n top: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom'\n },\n topCenter: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom'\n },\n topLeft: {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n topRight: {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n },\n right: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center'\n },\n rightTop: {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top'\n },\n rightBottom: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n bottom: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top'\n },\n bottomCenter: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top'\n },\n bottomLeft: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n bottomRight: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n },\n left: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center'\n },\n leftTop: {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top'\n },\n leftBottom: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom'\n }\n};\n\nexport const EXTENDED_OVERLAY_POSITIONS = objectValues([\n POSITION_MAP.top,\n POSITION_MAP.topLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.right,\n POSITION_MAP.rightTop,\n POSITION_MAP.rightBottom,\n POSITION_MAP.bottom,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottomRight,\n POSITION_MAP.left,\n POSITION_MAP.leftTop,\n POSITION_MAP.leftBottom\n]);\n\nexport const TOP_POSITION_PRIORITY = objectValues([\n POSITION_MAP.top,\n POSITION_MAP.bottom,\n POSITION_MAP.rightBottom,\n POSITION_MAP.leftBottom,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottomRight\n]);\n\nexport const BOTTOM_POSITION_PRIORITY = objectValues([\n POSITION_MAP.bottom,\n POSITION_MAP.top,\n POSITION_MAP.topLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.rightBottom,\n POSITION_MAP.leftBottom\n]);\n\nexport const RIGHT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.right,\n POSITION_MAP.left,\n POSITION_MAP.leftTop,\n POSITION_MAP.leftBottom,\n POSITION_MAP.top,\n POSITION_MAP.bottom\n]);\n\nexport const LEFT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.left,\n POSITION_MAP.right,\n POSITION_MAP.rightTop,\n POSITION_MAP.rightBottom,\n POSITION_MAP.top,\n POSITION_MAP.bottom\n]);\n\nexport const RIGHT_TOP_POSITION_PRIORITY = objectValues([\n POSITION_MAP.rightTop,\n POSITION_MAP.leftTop,\n POSITION_MAP.left,\n POSITION_MAP.leftBottom,\n POSITION_MAP.topLeft,\n POSITION_MAP.bottomLeft\n]);\n\nexport const RIGHT_BOTTOM_POSITION_PRIORITY = objectValues([\n POSITION_MAP.rightBottom,\n POSITION_MAP.leftBottom,\n POSITION_MAP.left,\n POSITION_MAP.leftTop,\n POSITION_MAP.topLeft,\n POSITION_MAP.bottomLeft\n]);\n\nexport const LEFT_TOP_POSITION_PRIORITY = objectValues([\n POSITION_MAP.leftTop,\n POSITION_MAP.rightTop,\n POSITION_MAP.right,\n POSITION_MAP.rightBottom,\n POSITION_MAP.topRight,\n POSITION_MAP.bottomRight\n]);\n\nexport const LEFT_BOTTOM_POSITION_PRIORITY = objectValues([\n POSITION_MAP.leftBottom,\n POSITION_MAP.rightBottom,\n POSITION_MAP.right,\n POSITION_MAP.rightTop,\n POSITION_MAP.topRight,\n POSITION_MAP.bottomRight\n]);\n\nexport const TOP_LEFT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.topLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottom,\n POSITION_MAP.bottomRight,\n POSITION_MAP.leftBottom,\n POSITION_MAP.rightBottom\n]);\n\nexport const TOP_RIGHT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.topRight,\n POSITION_MAP.topLeft,\n POSITION_MAP.bottomRight,\n POSITION_MAP.bottom,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.leftBottom,\n POSITION_MAP.rightBottom\n]);\n\nexport const BOTTOM_RIGHT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.bottomRight,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.top,\n POSITION_MAP.topLeft,\n POSITION_MAP.leftTop,\n POSITION_MAP.rightTop\n]);\n\nexport const BOTTOM_LEFT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottomRight,\n POSITION_MAP.topLeft,\n POSITION_MAP.top,\n POSITION_MAP.topRight,\n POSITION_MAP.rightTop,\n POSITION_MAP.leftTop\n]);\n\nexport const POSITION_PRIORITY_STRATEGY = {\n top: TOP_POSITION_PRIORITY,\n topLeft: TOP_LEFT_POSITION_PRIORITY,\n topRight: TOP_RIGHT_POSITION_PRIORITY,\n bottom: BOTTOM_POSITION_PRIORITY,\n bottomLeft: BOTTOM_LEFT_POSITION_PRIORITY,\n bottomRight: BOTTOM_RIGHT_POSITION_PRIORITY,\n left: LEFT_POSITION_PRIORITY,\n leftTop: LEFT_TOP_POSITION_PRIORITY,\n leftBottom: LEFT_BOTTOM_POSITION_PRIORITY,\n right: RIGHT_POSITION_PRIORITY,\n rightTop: RIGHT_TOP_POSITION_PRIORITY,\n rightBottom: RIGHT_BOTTOM_POSITION_PRIORITY\n};\n\nexport const POSITION_TO_CSS_MAP: {[key: string]: string} = {\n top: 'top',\n topLeft: 'top-left',\n topRight: 'top-right',\n right: 'right',\n rightTop: 'right-top',\n rightBottom: 'right-bottom',\n left: 'left',\n leftTop: 'left-top',\n leftBottom: 'left-bottom',\n bottom: 'bottom',\n bottomLeft: 'bottom-left',\n bottomRight: 'bottom-right'\n};\n\n\nfunction arrayMap<T, S>(array: T[], iteratee: (item: T, index: number, arr: T[]) => S): S[] {\n let index = -1;\n const length = array === null ? 0 : array.length;\n const result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[ index ], index, array);\n }\n\n return result;\n}\nfunction baseValues<T>(object: T[], props: string[]): T[] {\n return arrayMap(props, (key) => object[key]);\n}\nfunction objectValues<T>(object: T[]): T[] {\n return object === null ? [] : baseValues(object, Object.keys(object));\n}\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata\n} from '@angular/animations';\n\n\nexport const fadeAnimation: AnimationTriggerMetadata = trigger('fadeAnimation', [\n state('void', style({ opacity: 0 })),\n state('true', style({ opacity: 1 })),\n state('false', style({ opacity: 0 })),\n transition('* => true', animate('150ms cubic-bezier(0.0, 0.0, 0.2, 1)')),\n transition('* => void', animate('150ms cubic-bezier(0.4, 0.0, 1, 1)'))\n]);\n","export enum AnimationCurves {\n StandardCurve = 'cubic-bezier(0.4,0.0,0.2,1)',\n DecelerationCurve = 'cubic-bezier(0.0,0.0,0.2,1)',\n AccelerationCurve = 'cubic-bezier(0.4,0.0,1,1)',\n SharpCurve = 'cubic-bezier(0.4,0.0,0.6,1)'\n}\n","import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger,\n group\n} from '@angular/animations';\n\n\n/**\n * The following are all the animations for the mc-select component, with each\n * const containing the metadata for one animation.\n *\n */\nexport const mcSelectAnimations: {\n readonly transformPanel: AnimationTriggerMetadata;\n readonly fadeInContent: AnimationTriggerMetadata;\n} = {\n /**\n * This animation transforms the select's overlay panel on and off the page.\n *\n * When the panel is attached to the DOM, it expands its width by the amount of padding, scales it\n * up to 100% on the Y axis, fades in its border, and translates slightly up and to the\n * side to ensure the option text correctly overlaps the trigger text.\n *\n * When the panel is removed from the DOM, it simply fades out linearly.\n */\n transformPanel: trigger('transformPanel', [\n state('void', style({\n transform: 'scaleY(0)',\n minWidth: '100%',\n opacity: 0\n })),\n transition('void => *', group([\n animate('150ms cubic-bezier(0.25, 0.8, 0.25, 1)')\n ])),\n transition('* => void', [\n animate('250ms 100ms linear', style({ opacity: 0 }))\n ])\n ]),\n\n /**\n * This animation fades in the background color and text content of the\n * select's options. It is time delayed to occur 100ms after the overlay\n * panel has transformed in.\n */\n fadeInContent: trigger('fadeInContent', [\n state('showing', style({ opacity: 1 })),\n transition('void => showing', [\n style({ opacity: 0 }),\n animate('150ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)')\n ])\n ])\n};\n\n\nexport const transformPanel = mcSelectAnimations.transformPanel;\n\nexport const fadeInContent = mcSelectAnimations.fadeInContent;\n","import { InjectionToken } from '@angular/core';\n\n\n/** InjectionToken that can be used to specify the global label options. */\nexport const MC_LABEL_GLOBAL_OPTIONS =\n new InjectionToken<LabelOptions>('mc-label-global-options');\n\n/** Type for the available floatLabel values. */\nexport type FloatLabelType = 'always' | 'never' | 'auto';\n\n/** Configurable options for floating labels. */\n// tslint:disable-next-line:naming-convention\nexport interface LabelOptions {\n /**\n * Whether the label should float `always`, `never`, or `auto` (only when necessary).\n * Default behavior is assumed to be `auto`.\n */\n float?: FloatLabelType;\n}\n","export enum MultipleMode {\n CHECKBOX = 'checkbox',\n KEYBOARD = 'keyboard'\n}\n","import { Component, ViewEncapsulation, Input, ChangeDetectionStrategy } from '@angular/core';\n\n\nexport type McPseudoCheckboxState = 'unchecked' | 'checked' | 'indeterminate';\n\n/**\n * Component that shows a simplified checkbox without including any kind of \"real\" checkbox.\n * Meant to be used when the checkbox is purely decorative and a large number of them will be\n * included, such as for the options in a multi-select. Uses no SVGs or complex animations.\n * Note that theming is meant to be handled by the parent element, e.g.\n * `mc-primary .mc-pseudo-checkbox`.\n *\n * Note that this component will be completely invisible to screen-reader users. This is *not*\n * interchangeable with `<mc-checkbox>` and should *not* be used if the user would directly\n * interact with the checkbox. The pseudo-checkbox should only be used as an implementation detail\n * of more complex components that appropriately handle selected / checked state.\n * @docs-private\n */\n@Component({\n selector: 'mc-pseudo-checkbox',\n templateUrl: 'pseudo-checkbox.partial.html',\n styleUrls: ['pseudo-checkbox.scss'],\n host: {\n class: 'mc-pseudo-checkbox',\n '[class.mc-indeterminate]': 'state === \"indeterminate\"',\n '[class.mc-checked]': 'state === \"checked\"',\n '[class.mc-disabled]': 'disabled'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McPseudoCheckbox {\n @Input() state: McPseudoCheckboxState = 'unchecked';\n\n @Input() disabled: boolean = false;\n}\n","<i class=\"mc-checkbox-checkmark mc mc-check_16\"></i>\n<i class=\"mc-checkbox-mixedmark mc mc-minus_16\"></i>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McPseudoCheckbox } from './pseudo-checkbox';\n\n\n@NgModule({\n imports: [CommonModule],\n exports: [McPseudoCheckbox],\n declarations: [McPseudoCheckbox]\n})\nexport class McPseudoCheckboxModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class McMeasureScrollbarService {\n\n get scrollBarWidth(): number {\n if (this._scrollBarWidth) {\n return this._scrollBarWidth;\n }\n this.initScrollBarWidth();\n\n return this._scrollBarWidth;\n }\n\n private _scrollBarWidth: number;\n private scrollbarMeasure = {\n position: 'absolute',\n top: '-9999px',\n width: '50px',\n height: '50px',\n overflow: 'scroll'\n };\n\n constructor(\n @Inject(DOCUMENT) private document: any\n ) {\n this.initScrollBarWidth();\n }\n\n initScrollBarWidth() {\n const scrollDiv = this.document.createElement('div');\n\n // tslint:disable-next-line\n for (const scrollProp in this.scrollbarMeasure) {\n if (this.scrollbarMeasure.hasOwnProperty(scrollProp)) {\n scrollDiv.style[scrollProp] = this.scrollbarMeasure[scrollProp];\n }\n }\n\n this.document.body.appendChild(scrollDiv);\n\n const width = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\n this.document.body.removeChild(scrollDiv);\n this._scrollBarWidth = width;\n }\n}\n","import { Component, ViewEncapsulation, Input, ChangeDetectionStrategy } from '@angular/core';\n\nimport { mixinDisabled, CanDisable, CanDisableCtor } from '../common-behaviors/index';\n\n\n/** @docs-private */\nexport class McOptgroupBase {}\n\n// tslint:disable-next-line: naming-convention\nexport const McOptgroupMixinBase: CanDisableCtor & typeof McOptgroupBase = mixinDisabled(McOptgroupBase);\n\nlet uniqueOptgroupIdCounter = 0;\n\n/**\n * Component that is used to group instances of `mc-option`.\n */\n@Component({\n selector: 'mc-optgroup',\n exportAs: 'mcOptgroup',\n templateUrl: 'optgroup.html',\n styleUrls: ['./optgroup.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disabled'],\n host: {\n class: 'mc-optgroup',\n '[class.mc-disabled]': 'disabled'\n }\n})\nexport class McOptgroup extends McOptgroupMixinBase implements CanDisable {\n @Input() label: string;\n\n /** Unique id for the underlying label. */\n labelId: string = `mc-optgroup-label-${uniqueOptgroupIdCounter++}`;\n}\n","<label class=\"mc-optgroup-label\" [id]=\"labelId\">{{ label }}</label>\n<ng-content select=\"mc-option, mc-list-option, ng-container\"></ng-content>\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { ENTER, SPACE } from '@ptsecurity/cdk/keycodes';\nimport { Subject } from 'rxjs';\n\nimport { McOptgroup } from './optgroup';\n\n\n/**\n * Option IDs need to be unique across components, so this counter exists outside of\n * the component definition.\n */\nlet uniqueIdCounter = 0;\n\n/** Event object emitted by McOption when selected or deselected. */\nexport class McOptionSelectionChange {\n constructor(public source: McOption, public isUserInput = false) {}\n}\n\n/**\n * Describes a parent component that manages a list of options.\n * Contains properties that the options can inherit.\n * @docs-private\n */\n// tslint:disable-next-line: naming-convention\nexport interface McOptionParentComponent {\n multiple?: boolean;\n}\n\n/**\n * Injection token used to provide the parent component to options.\n */\nexport const MC_OPTION_PARENT_COMPONENT =\n new InjectionToken<McOptionParentComponent>('MC_OPTION_PARENT_COMPONENT');\n\n/**\n * Single option inside of a `<mc-select>` element.\n */\n@Component({\n selector: 'mc-option',\n exportAs: 'mcOption',\n host: {\n '[attr.tabindex]': 'getTabIndex()',\n class: 'mc-option',\n '[class.mc-selected]': 'selected',\n '[class.mc-option-multiple]': 'multiple',\n '[class.mc-active]': 'active',\n '[class.mc-disabled]': 'disabled',\n '[id]': 'id',\n\n '(click)': 'selectViaInteraction()',\n '(keydown)': 'handleKeydown($event)'\n },\n styleUrls: ['option.scss'],\n templateUrl: 'option.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McOption implements AfterViewChecked, OnDestroy {\n /** The form value of the option. */\n @Input() value: any;\n\n @Input()\n get showCheckbox() {\n return this._showCheckbox === undefined ? this.multiple : this._showCheckbox;\n }\n\n set showCheckbox(value) {\n this._showCheckbox = coerceBooleanProperty(value);\n }\n\n private _showCheckbox: boolean;\n\n /** Event emitted when the option is selected or deselected. */\n // tslint:disable-next-line:no-output-on-prefix\n @Output() readonly onSelectionChange = new EventEmitter<McOptionSelectionChange>();\n\n /** Emits when the state of the option changes and any parents have to be notified. */\n readonly stateChanges = new Subject<void>();\n\n /**\n * The displayed value of the option. It is necessary to show the selected option in the\n * select's trigger.\n */\n get viewValue(): string {\n // TODO: Add input property alternative for node envs.\n return (this.getHostElement().textContent || '').trim();\n }\n\n /** Whether the wrapping component is in multiple selection mode. */\n get multiple() {\n return this.parent && this.parent.multiple;\n }\n\n get id(): string {\n return this._id;\n }\n\n private _id = `mc-option-${uniqueIdCounter++}`;\n\n get selected(): boolean {\n return this._selected;\n }\n\n private _selected = false;\n\n @Input()\n get disabled() {\n return (this.group && this.group.disabled) || this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n private _disabled = false;\n\n /**\n * Whether or not the option is currently active and ready to be selected.\n * An active option displays styles as if it is focused, but the\n * focus is actually retained somewhere else. This comes in handy\n * for components like autocomplete where focus must remain on the input.\n */\n get active(): boolean {\n return this._active;\n }\n\n private _active = false;\n\n private mostRecentViewValue = '';\n\n constructor(\n private readonly element: ElementRef,\n private readonly changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(MC_OPTION_PARENT_COMPONENT) private readonly parent: McOptionParentComponent,\n @Optional() readonly group: McOptgroup\n ) {}\n\n ngAfterViewChecked() {\n // Since parent components could be using the option's label to display the selected values\n // (e.g. `mc-select`) and they don't have a way of knowing if the option's label has changed\n // we have to check for changes in the DOM ourselves and dispatch an event. These checks are\n // relatively cheap, however we still limit them only to selected options in order to avoid\n // hitting the DOM too often.\n if (this._selected) {\n const viewValue = this.viewValue;\n\n if (viewValue !== this.mostRecentViewValue) {\n this.mostRecentViewValue = viewValue;\n this.stateChanges.next();\n }\n }\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n }\n\n getHeight(): number {\n // tslint:disable-next-line:naming-convention\n const DOMRect: DOMRect = this.element.nativeElement.getClientRects()[0];\n\n return DOMRect ? DOMRect.height : 0;\n }\n\n select(): void {\n if (!this._selected) {\n this._selected = true;\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent();\n }\n }\n\n deselect(): void {\n if (this._selected) {\n this._selected = false;\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent();\n }\n }\n\n focus(): void {\n const element = this.getHostElement();\n\n if (typeof element.focus === 'function') {\n element.focus();\n }\n }\n\n /**\n * This method sets display styles on the option to make it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setActiveStyles(): void {\n if (!this._active) {\n this._active = true;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * This method removes display styles on the option that made it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setInactiveStyles(): void {\n if (this._active) {\n this._active = false;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /** Gets the label to be used when determining whether the option should be focused. */\n getLabel(): string {\n return this.viewValue;\n }\n\n /** Ensures the option is selected when activated from the keyboard. */\n handleKeydown(event: KeyboardEvent): void {\n // tslint:disable-next-line\n if (event.keyCode === ENTER || event.keyCode === SPACE) {\n this.selectViaInteraction();\n\n // Prevent the page from scrolling down and form submits.\n event.preventDefault();\n }\n }\n\n /**\n * `Selects the option while indicating the selection came from the user. Used to\n * determine if the select's view -> model callback should be invoked.`\n */\n selectViaInteraction(): void {\n if (!this.disabled) {\n this._selected = this.multiple ? !this._selected : true;\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent(true);\n }\n }\n\n getTabIndex(): string {\n return this.disabled ? '-1' : '0';\n }\n\n getHostElement(): HTMLElement {\n return this.element.nativeElement;\n }\n\n /** Emits the selection change event. */\n private emitSelectionChangeEvent(isUserInput = false): void {\n this.onSelectionChange.emit(new McOptionSelectionChange(this, isUserInput));\n }\n}\n\n/**\n * Counts the amount of option group labels that precede the specified option.\n * @param optionIndex Index of the option at which to start counting.\n * @param options Flat list of all of the options.\n * @param optionGroups Flat list of all of the option groups.\n * @docs-private\n */\nexport function countGroupLabelsBeforeOption(\n optionIndex: number,\n options: QueryList<McOption>,\n optionGroups: QueryList<McOptgroup>\n): number {\n\n if (optionGroups.length) {\n const optionsArray = options.toArray();\n const groups = optionGroups.toArray();\n\n let groupCounter = 0;\n\n for (let i = 0; i < optionIndex + 1; i++) {\n if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {\n groupCounter++;\n }\n }\n\n return groupCounter;\n }\n\n return 0;\n}\n\n/**\n * Determines the position to which to scroll a panel in order for an option to be into view.\n * @param optionIndex Index of the option to be scrolled into the view.\n * @param optionHeight Height of the options.\n * @param currentScrollPosition Current scroll position of the panel.\n * @param panelHeight Height of the panel.\n * @docs-private\n */\nexport function getOptionScrollPosition(\n optionIndex: number,\n optionHeight: number,\n currentScrollPosition: number,\n panelHeight: number\n): number {\n const optionOffset = optionIndex * optionHeight;\n\n if (optionOffset < currentScrollPosition) { return optionOffset; }\n\n if (optionOffset + optionHeight > currentScrollPosition + panelHeight) {\n return Math.max(0, optionOffset - panelHeight + optionHeight);\n }\n\n return currentScrollPosition;\n}\n\n","<mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\">\n</mc-pseudo-checkbox>\n\n<span class=\"mc-option-text\"><ng-content></ng-content></span>\n\n<div class=\"mc-option-overlay\"></div>\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n OnDestroy,\n ViewEncapsulation\n} from '@angular/core';\nimport { ENTER, SPACE, TAB } from '@ptsecurity/cdk/keycodes';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CanDisableCtor, HasTabIndexCtor, mixinDisabled, mixinTabIndex } from '../common-behaviors/index';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface McOptionActionParent {\n dropdownTrigger: {\n opened: boolean;\n restoreFocus: boolean;\n dropdownClosed: EventEmitter<void>;\n lastDestroyReason: void | 'click' | 'keydown' | 'tab';\n openedBy: Exclude<FocusOrigin, 'program' | null> | undefined;\n toggle(): void;\n };\n tooltipTrigger: {\n disabled: boolean;\n };\n focus(): void;\n}\n\nexport const MC_OPTION_ACTION_PARENT = new InjectionToken<McOptionActionParent>('MC_OPTION_ACTION_PARENT');\n\nexport class McOptionActionBase {}\n\n// tslint:disable-next-line:naming-convention\nexport const McOptionActionMixinBase:\n HasTabIndexCtor & CanDisableCtor & typeof McOptionActionBase = mixinTabIndex(mixinDisabled(McOptionActionBase));\n\n\n@Component({\n selector: 'mc-option-action',\n exportAs: 'mcOptionAction',\n template: `\n <ng-container [ngSwitch]=\"!!customIcon\">\n <i class=\"mc mc-icon mc-ellipsis_16\" *ngSwitchCase=\"false\"></i>\n <ng-content select=\"[mc-icon]\" *ngSwitchCase=\"true\"></ng-content>\n </ng-container>\n `,\n styleUrls: ['./action.scss'],\n host: {\n class: 'mc-option-action',\n '[class.mc-expanded]': 'false',\n\n '[attr.disabled]': 'disabled || null',\n '[attr.tabIndex]': '-1',\n\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur()',\n '(click)': 'onClick($event)',\n '(keydown)': 'onKeyDown($event)'\n },\n inputs: ['disabled'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McOptionActionComponent extends McOptionActionMixinBase implements AfterViewInit, OnDestroy {\n @ContentChild('customIcon') customIcon: ElementRef;\n\n hasFocus: boolean = false;\n\n get active(): boolean {\n return this.hasFocus || !!this.option.dropdownTrigger?.opened;\n }\n\n private readonly destroy = new Subject<void>();\n\n constructor(\n private elementRef: ElementRef,\n private focusMonitor: FocusMonitor,\n @Inject(MC_OPTION_ACTION_PARENT) private option: McOptionActionParent\n ) {\n super();\n\n this.focusMonitor.monitor(this.elementRef.nativeElement);\n }\n\n ngAfterViewInit(): void {\n if (!this.option.dropdownTrigger) { return; }\n\n this.option.dropdownTrigger.restoreFocus = false;\n\n this.option.dropdownTrigger.dropdownClosed\n .pipe(takeUntil(this.destroy))\n .subscribe(() => {\n this.preventShowingTooltip();\n\n const destroyReason: FocusOrigin = this.option.dropdownTrigger.lastDestroyReason === 'keydown' ?\n 'keyboard' :\n 'program';\n\n this.focus(destroyReason);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy.next();\n this.destroy.complete();\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n focus(origin?: FocusOrigin, options?: FocusOptions) {\n if (this.focusMonitor && origin) {\n this.focusMonitor.focusVia(this.elementRef.nativeElement, origin, options);\n } else {\n this.elementRef.nativeElement.focus();\n }\n\n this.hasFocus = true;\n }\n\n onFocus($event) {\n $event.stopPropagation();\n\n this.hasFocus = true;\n }\n\n onBlur() {\n this.hasFocus = false;\n }\n\n onClick($event) {\n $event.stopPropagation();\n }\n\n onKeyDown($event) {\n if ([SPACE, ENTER].includes($event.keyCode) && this.option.dropdownTrigger) {\n this.option.dropdownTrigger.openedBy = 'keyboard';\n this.option.dropdownTrigger.toggle();\n } else if ($event.shiftKey && $event.keyCode === TAB) {\n this.hasFocus = false;\n\n this.option.focus();\n } else if ($event.keyCode === TAB) {\n return;\n }\n\n $event.preventDefault();\n $event.stopPropagation();\n }\n\n private preventShowingTooltip() {\n if (!this.option.tooltipTrigger) { return; }\n\n this.option.tooltipTrigger.disabled = true;\n\n setTimeout(() => this.option.tooltipTrigger.disabled = false);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McPseudoCheckboxModule } from '../selection/index';\n\nimport { McOptionActionComponent } from './action';\nimport { McOptgroup } from './optgroup';\nimport { McOption } from './option';\n\n\n@NgModule({\n imports: [CommonModule, McPseudoCheckboxModule],\n declarations: [McOption, McOptgroup, McOptionActionComponent],\n exports: [McOption, McOptgroup, McOptionActionComponent]\n})\nexport class McOptionModule {}\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n ElementRef,\n QueryList\n} from '@angular/core';\n\n\n@Directive({\n selector: '.mc-form__row, .mc-form__fieldset, .mc-form__legend',\n exportAs: 'mcFormElement',\n host: {\n '[class.mc-form-row_margin]': 'margin'\n }\n})\nexport class McFormElement implements AfterContentInit {\n margin = false;\n\n isRow = false;\n isFieldSet = false;\n hasLegend = false;\n isHorizontal = false;\n\n @ContentChildren(McFormElement) elements: QueryList<McFormElement>;\n\n constructor(private readonly element: ElementRef<HTMLElement>) {}\n\n ngAfterContentInit(): void {\n const classList = this.element.nativeElement.classList;\n\n this.isRow = classList.contains('mc-form__row');\n this.isHorizontal = classList.contains('mc-horizontal');\n\n this.isFieldSet = classList.contains('mc-form__fieldset');\n\n if (this.isFieldSet && this.element.nativeElement.firstElementChild) {\n this.hasLegend = this.element.nativeElement.firstElementChild.classList.contains('mc-form__legend');\n }\n }\n}\n\n\n@Directive({\n selector: '.mc-form-vertical, .mc-form-horizontal',\n exportAs: 'mcForm',\n host: {\n class: 'mc-form'\n }\n})\nexport class McForm implements AfterContentInit {\n @ContentChildren(McFormElement) elements: QueryList<McFormElement>;\n\n ngAfterContentInit(): void {\n this.handleElements(this.elements);\n }\n\n handleElements(elements: QueryList<McFormElement>): void {\n elements.forEach((element, index) => {\n const nextElement: McFormElement | undefined = elements.get(index + 1);\n\n if (element.isFieldSet && !element.isHorizontal) {\n this.handleElements(element.elements);\n }\n\n element.margin = !!(nextElement && !nextElement.hasLegend);\n });\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport {\n McForm,\n McFormElement\n} from './forms.directive';\n\n\n@NgModule({\n exports: [\n McForm,\n McFormElement\n ],\n declarations: [\n McForm,\n McFormElement\n ]\n})\nexport class McFormsModule {}\n","export enum PopUpPlacements {\n Top = 'top',\n TopLeft = 'topLeft',\n TopRight = 'topRight',\n Right = 'right',\n RightTop = 'rightTop',\n RightBottom = 'rightBottom',\n Left = 'left',\n LeftTop = 'leftTop',\n LeftBottom = 'leftBottom',\n Bottom = 'bottom',\n BottomLeft = 'bottomLeft',\n BottomRight = 'bottomRight'\n}\n\nexport enum PopUpVisibility {\n Initial = 'initial',\n Visible = 'visible',\n Hidden = 'hidden'\n}\n\nexport enum PopUpTriggers {\n Click = 'click',\n Focus = 'focus',\n Hover = 'hover'\n}\n\nexport enum PopUpSizes {\n Small = 'small',\n Normal = 'normal',\n Large = 'large'\n}\n","import { AnimationEvent } from '@angular/animations';\nimport { ChangeDetectorRef, Directive, EventEmitter, OnDestroy, TemplateRef } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { PopUpVisibility } from './constants';\n\n\n@Directive()\n// tslint:disable-next-line:naming-convention\nexport abstract class McPopUp implements OnDestroy {\n header: string | TemplateRef<any>;\n content: string | TemplateRef<any>;\n\n classMap = {};\n\n warning: boolean;\n\n visibility = PopUpVisibility.Initial;\n visibleChange = new EventEmitter<boolean>();\n\n protected prefix: string;\n\n /** Subject for notifying that the tooltip has been hidden from the view */\n protected readonly onHideSubject = new Subject<any>();\n\n protected closeOnInteraction: boolean = false;\n\n private showTimeoutId: any;\n private hideTimeoutId: any;\n\n protected constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnDestroy() {\n clearTimeout(this.showTimeoutId);\n clearTimeout(this.hideTimeoutId);\n\n this.onHideSubject.complete();\n }\n\n isTemplateRef(value: any): boolean {\n return value instanceof TemplateRef;\n }\n\n show(delay: number): void {\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n this.closeOnInteraction = true;\n\n this.showTimeoutId = setTimeout(\n () => {\n this.showTimeoutId = undefined;\n\n this.visibility = PopUpVisibility.Visible;\n this.visibleChange.emit(true);\n // Mark for check so if any parent component has set the\n // ChangeDetectionStrategy to OnPush it will be checked anyways\n this.markForCheck();\n },\n delay\n );\n }\n\n hide(delay: number): void {\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n this.hideTimeoutId = setTimeout(\n () => {\n this.hideTimeoutId = undefined;\n this.visibility = PopUpVisibility.Hidden;\n\n this.visibleChange.emit(false);\n this.onHideSubject.next();\n\n // Mark for check so if any parent component has set the\n // ChangeDetectionStrategy to OnPush it will be checked anyways\n this.markForCheck();\n },\n delay\n );\n }\n\n isVisible(): boolean {\n return this.visibility === PopUpVisibility.Visible;\n }\n\n updateClassMap(placement: string, customClass: string, classMap?): void {\n this.classMap = {\n [`${this.prefix}_placement-${placement}`]: true,\n [customClass]: !!customClass,\n ...classMap\n };\n }\n\n /** Returns an observable that notifies when the tooltip has been hidden from view. */\n afterHidden(): Observable<void> {\n return this.onHideSubject.asObservable();\n }\n\n markForCheck(): void {\n this.changeDetectorRef.markForCheck();\n }\n\n detectChanges(): void {\n this.changeDetectorRef.detectChanges();\n }\n\n animationStart() {\n this.closeOnInteraction = false;\n }\n\n animationDone({ toState }: AnimationEvent): void {\n if (toState === PopUpVisibility.Hidden && !this.isVisible()) {\n this.onHideSubject.next();\n }\n\n if (toState === PopUpVisibility.Visible || toState === PopUpVisibility.Hidden) {\n this.closeOnInteraction = true;\n }\n }\n\n handleBodyInteraction(): void {\n if (this.closeOnInteraction) {\n this.hide(0);\n }\n }\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayRef,\n ScrollDispatcher\n} from '@angular/cdk/overlay';\nimport { OverlayConfig } from '@angular/cdk/overlay/overlay-config';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n NgZone,\n TemplateRef,\n Type,\n ViewContainerRef\n} from '@angular/core';\nimport { ESCAPE } from '@ptsecurity/cdk/keycodes';\nimport { Observable, Subject } from 'rxjs';\nimport { delay as rxDelay, distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport {\n EXTENDED_OVERLAY_POSITIONS,\n POSITION_MAP,\n POSITION_PRIORITY_STRATEGY,\n POSITION_TO_CSS_MAP\n} from '../overlay/overlay-position-map';\n\nimport { PopUpPlacements, PopUpTriggers } from './constants';\n\n\n@Directive()\n// tslint:disable-next-line:naming-convention\nexport abstract class McPopUpTrigger<T> {\n isOpen: boolean = false;\n\n enterDelay: number = 0;\n leaveDelay: number = 0;\n\n abstract disabled: boolean;\n abstract trigger: string;\n abstract customClass: string;\n abstract content: string | TemplateRef<any>;\n\n abstract placementChange: EventEmitter<string>;\n abstract visibleChange: EventEmitter<boolean>;\n\n protected abstract originSelector: string;\n protected abstract overlayConfig: OverlayConfig;\n\n protected placement = PopUpPlacements.Top;\n protected placementPriority: string | string[] | null = null;\n\n protected visible = false;\n\n // tslint:disable-next-line:naming-convention orthodox-getter-and-setter\n protected _content: string | TemplateRef<any>;\n // tslint:disable-next-line:naming-convention orthodox-getter-and-setter\n protected _disabled: boolean;\n // tslint:disable-next-line:naming-convention orthodox-getter-and-setter\n protected _customClass: string;\n\n protected overlayRef: OverlayRef | null;\n protected portal: ComponentPortal<T>;\n protected instance: any | null;\n\n protected listeners = new Map<string, EventListenerOrEventListenerObject>();\n\n protected readonly availablePositions: { [key: string]: ConnectionPositionPair };\n protected readonly destroyed = new Subject<void>();\n\n protected constructor(\n protected overlay: Overlay,\n protected elementRef: ElementRef,\n protected ngZone: NgZone,\n protected scrollDispatcher: ScrollDispatcher,\n protected hostView: ViewContainerRef,\n protected scrollStrategy,\n protected direction?: Directionality\n ) {\n this.availablePositions = POSITION_MAP;\n }\n\n abstract updateClassMap(newPlacement?: string): void;\n\n abstract updateData(): void;\n\n abstract closingActions(): Observable<any>;\n\n abstract getOverlayHandleComponentType(): Type<T>;\n\n ngOnInit(): void {\n this.initListeners();\n }\n\n ngOnDestroy(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n }\n\n this.listeners.forEach(this.removeEventListener);\n\n this.listeners.clear();\n\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n updatePlacement(value: PopUpPlacements) {\n if (POSITION_TO_CSS_MAP[value]) {\n this.placement = value;\n\n this.updateClassMap();\n } else {\n this.placement = PopUpPlacements.Top;\n\n console.warn(`Unknown position: ${value}. Will used default position: ${this.placement}`);\n }\n\n if (this.visible) {\n this.updatePosition();\n }\n }\n\n updatePlacementPriority(value) {\n if (value && value.length > 0) {\n this.placementPriority = value;\n } else {\n this.placementPriority = null;\n }\n }\n\n updateVisible(externalValue: boolean) {\n const value = coerceBooleanProperty(externalValue);\n\n if (this.visible !== value) {\n this.visible = value;\n\n if (value) {\n this.show();\n } else {\n this.hide();\n }\n }\n }\n\n handleKeydown(event: KeyboardEvent) {\n if (this.isOpen && event.keyCode === ESCAPE) { // tslint:disable-line\n this.hide();\n }\n }\n\n handleTouchend() {\n this.hide();\n }\n\n show(delay: number = this.enterDelay): void {\n if (this.disabled || this.instance) { return; }\n\n this.overlayRef = this.createOverlay();\n this.detach();\n\n this.portal = this.portal || new ComponentPortal(this.getOverlayHandleComponentType(), this.hostView);\n\n this.instance = this.overlayRef.attach(this.portal).instance;\n\n this.instance.afterHidden()\n .pipe(takeUntil(this.destroyed))\n .subscribe(this.detach);\n\n this.updateClassMap();\n\n this.updateData();\n\n this.instance.visibleChange\n .pipe(takeUntil(this.destroyed), distinctUntilChanged())\n .subscribe((value) => {\n this.visible = value;\n this.visibleChange.emit(value);\n this.isOpen = value;\n });\n\n this.updatePosition();\n\n this.instance.show(delay);\n }\n\n hide(delay: number = this.leaveDelay): void {\n if (this.instance) {\n this.instance.hide(delay);\n }\n }\n\n detach = (): void => {\n if (this.overlayRef && this.overlayRef.hasAttached()) {\n this.overlayRef.detach();\n }\n\n this.instance = null;\n }\n\n /** Create the overlay config and position strategy */\n createOverlay(): OverlayRef {\n if (this.overlayRef) { return this.overlayRef; }\n\n // Create connected position strategy that listens for scroll events to reposition.\n const strategy = this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withTransformOriginOn(this.originSelector)\n .withFlexibleDimensions(false)\n .withPositions([...EXTENDED_OVERLAY_POSITIONS])\n .withScrollableContainers(this.scrollDispatcher.getAncestorScrollContainers(this.elementRef));\n\n strategy.positionChanges\n .pipe(takeUntil(this.destroyed))\n .subscribe(this.onPositionChange);\n\n this.overlayRef = this.overlay.create({\n ...this.overlayConfig,\n direction: this.direction,\n positionStrategy: strategy,\n scrollStrategy: this.scrollStrategy()\n });\n\n this.closingActions()\n .pipe(takeUntil(this.destroyed))\n .pipe(rxDelay(0))\n .subscribe(() => this.hide());\n\n this.overlayRef.outsidePointerEvents()\n .subscribe(() => this.instance!.handleBodyInteraction());\n\n this.overlayRef.detachments()\n .pipe(takeUntil(this.destroyed))\n .subscribe(this.detach);\n\n return this.overlayRef;\n }\n\n onPositionChange = ($event: ConnectedOverlayPositionChange): void => {\n if (!this.instance) { return; }\n\n let newPlacement = this.placement;\n\n const { originX, originY, overlayX, overlayY } = $event.connectionPair;\n\n Object.keys(this.availablePositions).some((key) => {\n if (\n originX === this.availablePositions[key].originX && originY === this.availablePositions[key].originY &&\n overlayX === this.availablePositions[key].overlayX && overlayY === this.availablePositions[key].overlayY\n ) {\n newPlacement = key as PopUpPlacements;\n\n return true;\n }\n\n return false;\n });\n\n this.placementChange.emit(newPlacement);\n\n this.updateClassMap(newPlacement);\n\n this.instance.detectChanges();\n }\n\n initListeners() {\n this.clearListeners();\n\n if (this.trigger.includes(PopUpTriggers.Click)) {\n this.listeners\n .set('click', () => this.show())\n .forEach(this.addEventListener);\n }\n\n if (this.trigger.includes(PopUpTriggers.Hover)) {\n this.listeners\n .set('mouseenter', () => this.show())\n .set('mouseleave', () => this.hide())\n .forEach(this.addEventListener);\n }\n\n if (this.trigger.includes(PopUpTriggers.Focus)) {\n this.listeners\n .set('focus', () => this.show())\n .set('blur', () => this.hide())\n .forEach(this.addEventListener);\n }\n }\n\n /** Updates the position of the current popover. */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getPrioritizedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n protected getPriorityPlacementStrategy(value: string | string[]): ConnectionPositionPair[] {\n const result: ConnectionPositionPair[] = [];\n const possiblePositions = Object.keys(this.availablePositions);\n\n if (Array.isArray(value)) {\n value.forEach((position: string) => {\n if (possiblePositions.includes(position)) {\n result.push(this.availablePositions[position]);\n }\n });\n } else if (possiblePositions.includes(value)) {\n result.push(this.availablePositions[value]);\n }\n\n return result;\n }\n\n protected getPrioritizedPositions() {\n if (this.placementPriority) {\n return this.getPriorityPlacementStrategy(this.placementPriority);\n }\n\n return POSITION_PRIORITY_STRATEGY[this.placement];\n }\n\n protected clearListeners() {\n this.listeners.forEach(this.removeEventListener);\n\n this.listeners.clear();\n }\n\n private addEventListener = (listener: EventListener | EventListenerObject, event: string) => {\n this.elementRef.nativeElement.addEventListener(event, listener);\n }\n\n private removeEventListener = (listener: EventListener | EventListenerObject, event: string) => {\n this.elementRef.nativeElement.removeEventListener(event, listener);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["SECONDS_TEMPLATE","i1.McOptgroup","i2.McPseudoCheckbox","i3","rxDelay"],"mappings":"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"}
|