@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-tree.mjs","sources":["../../../packages/mosaic/tree/node.ts","../../../packages/mosaic/tree/outlet.ts","../../../packages/mosaic/tree/tree-errors.ts","../../../packages/mosaic/tree/tree-base.ts","../../../packages/mosaic/tree/padding.directive.ts","../../../packages/mosaic/tree/toggle.ts","../../../packages/mosaic/tree/tree.ts","../../../packages/mosaic/tree/tree-option.component.ts","../../../packages/mosaic/tree/tree-option.html","../../../packages/mosaic/tree/control/base-tree-control.ts","../../../packages/mosaic/tree/control/flat-tree-control.ts","../../../packages/mosaic/tree/tree-selection.component.ts","../../../packages/mosaic/tree/tree.module.ts","../../../packages/mosaic/tree/control/nested-tree-control.ts","../../../packages/mosaic/tree/data-source/flat-data-source.ts","../../../packages/mosaic/tree/data-source/nested-data-source.ts","../../../packages/mosaic/tree/ptsecurity-mosaic-tree.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\n\n\n/** Context provided to the tree node component. */\nexport class McTreeNodeOutletContext<T> {\n /** Data for the node. */\n $implicit: T;\n\n /** Depth of the node. */\n level: number;\n\n /** Index location of the node. */\n index?: number;\n\n /** Length of the number of total dataNodes. */\n count?: number;\n\n constructor(data: T) {\n this.$implicit = data;\n }\n}\n\n/**\n * Data node definition for the McTree.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n@Directive({\n selector: '[mcTreeNodeDef]',\n inputs: ['when: mcTreeNodeDefWhen']\n})\nexport class McTreeNodeDef<T> {\n @Input('mcTreeNode') data: T;\n\n /**\n * Function that should return true if this node template should be used for the provided node\n * data and index. If left undefined, this node will be considered the default node template to\n * use when no other when functions return true for the data.\n * For every node, there must be at least one when function that passes or an undefined to\n * default.\n */\n when: (index: number, nodeData: T) => boolean;\n\n /** @docs-private */\n constructor(public template: TemplateRef<any>) {}\n}\n","import { ChangeDetectorRef, Directive, ViewContainerRef } from '@angular/core';\n\n\n@Directive({ selector: '[mcTreeNodeOutlet]' })\nexport class McTreeNodeOutlet {\n constructor(public viewContainer: ViewContainerRef, public changeDetectorRef: ChangeDetectorRef) {}\n}\n","/**\n * Returns an error to be thrown when there is no usable data.\n * @docs-private\n */\nexport function getTreeNoValidDataSourceError() {\n return Error(`A valid data source must be provided.`);\n}\n\n/**\n * Returns an error to be thrown when there are multiple nodes that are missing a when function.\n * @docs-private\n */\nexport function getTreeMultipleDefaultNodeDefsError() {\n return Error(`There can only be one default row without a when predicate function.`);\n}\n\n/**\n * Returns an error to be thrown when there are no matching node defs for a particular set of data.\n * @docs-private\n */\nexport function getTreeMissingMatchingNodeDefError() {\n return Error(`Could not find a matching node definition for the provided node data.`);\n}\n\n/**\n * Returns an error to be thrown when there are tree control.\n * @docs-private\n */\nexport function getTreeControlMissingError() {\n return Error(`Could not find a tree control for the tree.`);\n}\n\n/**\n * Returns an error to be thrown when tree control did not implement functions for flat/nested node.\n * @docs-private\n */\nexport function getTreeControlFunctionsMissingError() {\n return Error(`Could not find functions for nested/flat tree in tree control.`);\n}\n","import { CollectionViewer, DataSource } from '@angular/cdk/collections';\nimport {\n AfterContentChecked,\n ChangeDetectorRef,\n ContentChildren,\n ElementRef,\n Input,\n IterableChangeRecord,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n QueryList,\n ViewChild,\n ViewContainerRef,\n TrackByFunction,\n Inject,\n forwardRef, Directive\n} from '@angular/core';\nimport { IFocusableOption } from '@ptsecurity/cdk/a11y';\nimport { BehaviorSubject, Observable, of as observableOf, Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { TreeControl } from './control/tree-control';\nimport { McTreeNodeDef, McTreeNodeOutletContext } from './node';\nimport { McTreeNodeOutlet } from './outlet';\nimport {\n getTreeControlMissingError,\n getTreeMissingMatchingNodeDefError,\n getTreeMultipleDefaultNodeDefsError,\n getTreeNoValidDataSourceError\n} from './tree-errors';\n\n\n@Directive()\nexport class McTreeBase<T> implements AfterContentChecked, CollectionViewer, OnDestroy, OnInit {\n @Input() treeControl: TreeControl<T>;\n\n /**\n * Tracking function that will be used to check the differences in data changes. Used similarly\n * to `ngFor` `trackBy` function. Optimize node operations by identifying a node based on its data\n * relative to the function to know if a node should be added/removed/moved.\n * Accepts a function that takes two parameters, `index` and `item`.\n */\n @Input() trackBy: TrackByFunction<T>;\n\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(McTreeNodeOutlet, { static: true }) nodeOutlet: McTreeNodeOutlet;\n\n /** The tree node template for the tree */\n @ContentChildren(McTreeNodeDef) nodeDefs: QueryList<McTreeNodeDef<T>>;\n\n // TODO(tinayuangao): Setup a listener for scrolling, emit the calculated view to viewChange.\n // Remove the MAX_VALUE in viewChange\n /**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n */\n viewChange = new BehaviorSubject<{ start: number; end: number }>({ start: 0, end: Number.MAX_VALUE });\n\n /** Differ used to find the changes in the data provided by the data source. */\n protected dataDiffer: IterableDiffer<T>;\n\n /** Subject that emits when the component has been destroyed. */\n private onDestroy = new Subject<void>();\n\n /** Stores the node definition that does not have a when predicate. */\n private defaultNodeDef: McTreeNodeDef<T> | null;\n\n /** Data subscription */\n private dataSubscription: Subscription | null;\n\n /** Level of nodes */\n private levels: Map<T, number> = new Map<T, number>();\n\n /**\n * Provides a stream containing the latest data array to render. Influenced by the tree's\n * stream of view window (what dataNodes are currently on screen).\n * Data source can be an observable of data array, or a dara array to render.\n */\n @Input()\n get dataSource(): DataSource<T> | Observable<T[]> | T[] {\n return this._dataSource;\n }\n\n set dataSource(dataSource: DataSource<T> | Observable<T[]> | T[]) {\n if (this._dataSource !== dataSource) {\n this.switchDataSource(dataSource);\n }\n }\n\n private _dataSource: DataSource<T> | Observable<T[]> | T[];\n\n constructor(protected differs: IterableDiffers, protected changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit() {\n this.dataDiffer = this.differs.find([]).create(this.trackBy);\n\n if (!this.treeControl) {\n throw getTreeControlMissingError();\n }\n }\n\n ngOnDestroy() {\n this.nodeOutlet.viewContainer.clear();\n\n this.onDestroy.next();\n this.onDestroy.complete();\n\n // tslint:disable-next-line:no-unbound-method\n if (this._dataSource && typeof (this.dataSource as DataSource<T>).disconnect === 'function') {\n (this.dataSource as DataSource<T>).disconnect(this);\n }\n\n if (this.dataSubscription) {\n this.dataSubscription.unsubscribe();\n this.dataSubscription = null;\n }\n }\n\n ngAfterContentChecked() {\n const defaultNodeDefs = this.nodeDefs.filter((def) => !def.when);\n\n if (defaultNodeDefs.length > 1) {\n throw getTreeMultipleDefaultNodeDefsError();\n }\n this.defaultNodeDef = defaultNodeDefs[0];\n\n if (this.dataSource && this.nodeDefs && !this.dataSubscription) {\n this.observeRenderChanges();\n }\n }\n\n /** Check for changes made in the data and render each change (node added/removed/moved). */\n renderNodeChanges(\n data: T[] | ReadonlyArray<T>,\n dataDiffer: IterableDiffer<T> = this.dataDiffer,\n viewContainer: ViewContainerRef = this.nodeOutlet.viewContainer,\n parentData?: T\n ) {\n const changes = dataDiffer.diff(data);\n\n if (!changes) { return; }\n\n changes.forEachOperation((\n item: IterableChangeRecord<T>,\n adjustedPreviousIndex: number | null,\n currentIndex: number | null\n ) => {\n if (item.previousIndex == null) {\n this.insertNode(data[currentIndex!], currentIndex!, viewContainer, parentData);\n } else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex!);\n this.levels.delete(item.item);\n } else {\n const view = viewContainer.get(adjustedPreviousIndex!);\n viewContainer.move(view!, currentIndex);\n }\n });\n\n this.changeDetectorRef.detectChanges();\n }\n\n /**\n * Finds the matching node definition that should be used for this node data. If there is only\n * one node definition, it is returned. Otherwise, find the node definition that has a when\n * predicate that returns true with the data. If none return true, return the default node\n * definition.\n */\n getNodeDef(data: T, i: number): McTreeNodeDef<T> {\n if (this.nodeDefs.length === 1) { return this.nodeDefs.first; }\n\n const nodeDef = this.nodeDefs.find((def) => def.when && def.when(i, data)) || this.defaultNodeDef;\n\n if (!nodeDef) { throw getTreeMissingMatchingNodeDefError(); }\n\n return nodeDef;\n }\n\n /**\n * Create the embedded view for the data node template and place it in the correct index location\n * within the data node view container.\n */\n insertNode(nodeData: T, index: number, viewContainer?: ViewContainerRef, parentData?: T) {\n const node = this.getNodeDef(nodeData, index);\n\n // Node context that will be provided to created embedded view\n const context = new McTreeNodeOutletContext<T>(nodeData);\n\n // If the tree is flat tree, then use the `getLevel` function in flat tree control\n // Otherwise, use the level of parent node.\n if (this.treeControl.getLevel) {\n context.level = this.treeControl.getLevel(nodeData);\n /* tslint:disable-next-line:no-typeof-undefined */\n } else if (typeof parentData !== 'undefined' && this.levels.has(parentData)) {\n context.level = this.levels.get(parentData)! + 1;\n } else {\n context.level = 0;\n }\n\n this.levels.set(nodeData, context.level);\n\n // Use default tree nodeOutlet, or nested node's nodeOutlet\n const container = viewContainer ? viewContainer : this.nodeOutlet.viewContainer;\n container.createEmbeddedView(node.template, context, index);\n\n // Set the data to just created `McTreeNode`.\n // The `McTreeNode` created from `createEmbeddedView` will be saved in static variable\n // `mostRecentTreeNode`. We get it from static variable and pass the node data to it.\n if (McTreeNode.mostRecentTreeNode) {\n McTreeNode.mostRecentTreeNode.data = nodeData;\n }\n }\n\n /** Set up a subscription for the data provided by the data source. */\n private observeRenderChanges() {\n let dataStream: Observable<T[] | ReadonlyArray<T>> | undefined;\n\n // Cannot use `instanceof DataSource` since the data source could be a literal with\n // `connect` function and may not extends DataSource.\n // tslint:disable-next-line:no-unbound-method\n if (typeof (this._dataSource as DataSource<T>).connect === 'function') {\n dataStream = (this._dataSource as DataSource<T>).connect(this);\n } else if (this._dataSource instanceof Observable) {\n dataStream = this._dataSource;\n } else if (Array.isArray(this._dataSource)) {\n dataStream = observableOf(this._dataSource);\n }\n\n if (dataStream) {\n this.dataSubscription = dataStream\n .pipe(takeUntil(this.onDestroy))\n .subscribe((data) => this.renderNodeChanges(data));\n } else {\n throw getTreeNoValidDataSourceError();\n }\n }\n\n /**\n * Switch to the provided data source by resetting the data and unsubscribing from the current\n * render change subscription if one exists. If the data source is null, interpret this by\n * clearing the node outlet. Otherwise start listening for new data.\n */\n private switchDataSource(dataSource: DataSource<T> | Observable<T[]> | T[]) {\n // tslint:disable-next-line:no-unbound-method\n if (this._dataSource && typeof (this._dataSource as DataSource<T>).disconnect === 'function') {\n (this.dataSource as DataSource<T>).disconnect(this);\n }\n\n if (this.dataSubscription) {\n this.dataSubscription.unsubscribe();\n this.dataSubscription = null;\n }\n\n // Remove the all dataNodes if there is now no data source\n if (!dataSource) { this.nodeOutlet.viewContainer.clear(); }\n\n this._dataSource = dataSource;\n\n if (this.nodeDefs) { this.observeRenderChanges(); }\n }\n}\n\n\n@Directive({\n selector: 'mc-tree-node',\n exportAs: 'mcTreeNode'\n})\nexport class McTreeNode<T> implements IFocusableOption, OnDestroy {\n /**\n * The most recently created `McTreeNode`. We save it in static variable so we can retrieve it\n * in `McTree` and set the data to it.\n */\n static mostRecentTreeNode: McTreeNode<any> | null = null;\n\n protected destroyed = new Subject<void>();\n\n get data(): T {\n return this._data;\n }\n\n set data(value: T) {\n this._data = value;\n }\n\n private _data: T;\n\n get isExpanded(): boolean {\n return this.tree.treeControl.isExpanded(this.data);\n }\n\n get level(): number {\n return this.tree.treeControl.getLevel ? this.tree.treeControl.getLevel(this._data) : 0;\n }\n\n constructor(\n protected elementRef: ElementRef,\n @Inject(forwardRef(() => McTreeBase)) public tree: McTreeBase<T>\n ) {\n McTreeNode.mostRecentTreeNode = this;\n }\n\n ngOnDestroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2\n} from '@angular/core';\nimport { TreeSizePaddingLeft } from '@ptsecurity/mosaic/design-tokens';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { McTreeBase, McTreeNode } from './tree-base';\n\n\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n\n\n@Directive({\n selector: '[mcTreeNodePadding]',\n exportAs: 'mcTreeNodePadding'\n})\nexport class McTreeNodePadding<T> implements OnInit, OnDestroy {\n get level(): number {\n return this._level;\n }\n\n set level(value: number) {\n this.setLevelInput(value);\n }\n\n private _level: number;\n\n @Input('mcTreeNodePaddingIndent')\n get indent(): number | string {\n return this._indent;\n }\n\n set indent(indent: number | string) {\n this.setIndentInput(indent);\n }\n\n private _indent: number = 20;\n\n get leftPadding(): number {\n return (this.withIcon ? 0 : this.iconWidth) + this.baseLeftPadding;\n }\n\n /** CSS units used for the indentation value. */\n indentUnits = 'px';\n\n baseLeftPadding: number = parseInt(TreeSizePaddingLeft);\n\n withIcon: boolean;\n iconWidth: number = 24;\n\n private destroyed = new Subject<void>();\n\n constructor(\n protected treeNode: McTreeNode<T>,\n protected tree: McTreeBase<T>,\n private renderer: Renderer2,\n private element: ElementRef<HTMLElement>,\n @Optional() private dir: Directionality\n ) {\n this.dir?.change?.pipe(takeUntil(this.destroyed))\n .subscribe(() => this.setPadding());\n }\n\n ngOnInit(): void {\n this.withIcon = this.tree.treeControl.isExpandable(this.treeNode.data);\n\n this.setPadding();\n }\n\n ngOnDestroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n paddingIndent(): string | null {\n const nodeLevel = (this.treeNode.data && this.tree.treeControl.getLevel)\n ? this.tree.treeControl.getLevel(this.treeNode.data)\n : 0;\n\n const level = this.level || nodeLevel;\n\n return level > 0 ? `${(level * this._indent) + this.leftPadding}px` : `${this.leftPadding}px`;\n }\n\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n private setLevelInput(value: number) {\n // Set to null as the fallback value so that _setPadding can fall back to the node level if the\n // consumer set the directive as `mcTreeNodePadding=\"\"`. We still want to take this value if\n // they set 0 explicitly.\n this._level = coerceNumberProperty(value, null)!;\n this.setPadding();\n }\n\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n private setIndentInput(indent: number | string) {\n let value = indent;\n let units = 'px';\n\n if (typeof indent === 'string') {\n const parts = indent.split(cssUnitPattern);\n value = parts[0];\n units = parts[1] || units;\n }\n\n this.indentUnits = units;\n this._indent = coerceNumberProperty(value);\n this.setPadding();\n }\n\n private setPadding() {\n const padding = this.paddingIndent();\n const paddingProp = this.dir?.value === 'rtl' ? 'paddingRight' : 'paddingLeft';\n\n this.renderer.setStyle(this.element.nativeElement, paddingProp, padding);\n }\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, Directive, Input, ViewEncapsulation } from '@angular/core';\nimport { CanDisable, CanDisableCtor, mixinDisabled } from '@ptsecurity/mosaic/core';\nimport { map } from 'rxjs/operators';\n\nimport { McTreeBase, McTreeNode } from './tree-base';\n\n\nexport class McTreeNodeToggleBase {}\n\n\n// tslint:disable-next-line:naming-convention\nexport const McTreeNodeToggleMixinBase:\n CanDisableCtor & typeof McTreeNodeToggleBase = mixinDisabled(McTreeNodeToggleBase);\n\n/** @docs-private */\n@Directive()\nexport class McTreeNodeToggleBaseDirective<T> extends McTreeNodeToggleMixinBase implements CanDisable {\n @Input() node: T;\n\n @Input('mcTreeNodeToggleRecursive')\n get recursive(): boolean {\n return this._recursive;\n }\n\n set recursive(value: any) {\n this._recursive = coerceBooleanProperty(value);\n }\n\n private _recursive = false;\n\n get iconState(): boolean {\n return this.tree.treeControl.isExpanded(this.node);\n }\n\n constructor(private tree: McTreeBase<T>, private treeNode: McTreeNode<T>) {\n super();\n\n this.tree.treeControl.filterValue\n .pipe(map((value) => value?.length > 0))\n .subscribe((state: boolean) => this.disabled = state);\n }\n\n toggle(event: Event): void {\n if (this.disabled) { return; }\n\n this.recursive\n ? this.tree.treeControl.toggleDescendants(this.treeNode.data)\n : this.tree.treeControl.toggle(this.treeNode.data);\n\n event.stopPropagation();\n }\n}\n\n\n@Component({\n selector: 'mc-tree-node-toggle',\n exportAs: 'mcTreeNodeToggle',\n template: `<i class=\"mc mc-icon mc-angle-down-S_16\"></i>`,\n styleUrls: ['./toggle.scss'],\n host: {\n class: 'mc-tree-node-toggle',\n '[class.mc-expanded]': 'iconState',\n\n '[attr.disabled]': 'disabled || null',\n\n '(click)': 'toggle($event)'\n },\n inputs: ['disabled'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McTreeNodeToggleComponent<T> extends McTreeNodeToggleBaseDirective<T> {}\n\n\n@Directive({\n selector: '[mc-tree-node-toggle], [mcTreeNodeToggle]',\n exportAs: 'mcTreeNodeToggle',\n host: {\n '[attr.disabled]': 'disabled || null',\n '(click)': 'toggle($event)'\n }\n})\nexport class McTreeNodeToggleDirective<T> extends McTreeNodeToggleBaseDirective<T> {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { McTreeBase } from './tree-base';\n\n\n@Component({\n selector: 'mc-tree',\n exportAs: 'mcTree',\n template: `<ng-container mcTreeNodeOutlet></ng-container>`,\n styleUrls: ['./tree.scss'],\n host: {\n class: 'mc-tree'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McTree extends McTreeBase<any> {}\n","import { FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n ElementRef,\n Inject,\n InjectionToken,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterContentInit,\n NgZone,\n ContentChild\n} from '@angular/core';\nimport { hasModifierKey, TAB } from '@ptsecurity/cdk/keycodes';\nimport {\n MC_OPTION_ACTION_PARENT,\n McOptionActionComponent,\n McPseudoCheckbox\n} from '@ptsecurity/mosaic/core';\nimport { McDropdownTrigger } from '@ptsecurity/mosaic/dropdown';\nimport { McTooltipTrigger } from '@ptsecurity/mosaic/tooltip';\nimport { Subject } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { McTreeNodeToggleBaseDirective } from './toggle';\nimport { McTreeNode } from './tree-base';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface McTreeOptionEvent {\n option: McTreeOption;\n}\n\n/**\n * Injection token used to provide the parent component to options.\n */\nexport const MC_TREE_OPTION_PARENT_COMPONENT = new InjectionToken<any>('MC_TREE_OPTION_PARENT_COMPONENT');\n\nexport class McTreeOptionChange {\n constructor(public source: McTreeOption, public isUserInput = false) {}\n}\n\nlet uniqueIdCounter: number = 0;\n\n@Component({\n selector: 'mc-tree-option',\n exportAs: 'mcTreeOption',\n templateUrl: './tree-option.html',\n styleUrls: ['./tree-option.scss'],\n host: {\n class: 'mc-tree-option',\n '[class.mc-selected]': 'selected',\n '[class.mc-focused]': 'hasFocus',\n '[class.mc-action-button-focused]': 'actionButton?.active',\n\n '[attr.id]': 'id',\n '[attr.tabindex]': '-1',\n '[attr.disabled]': 'disabled || null',\n\n '(focusin)': 'focus()',\n '(blur)': 'blur()',\n\n '(click)': 'selectViaInteraction($event)',\n '(keydown)': 'onKeydown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: McTreeNode, useExisting: McTreeOption },\n { provide: MC_OPTION_ACTION_PARENT, useExisting: McTreeOption }\n ]\n})\nexport class McTreeOption extends McTreeNode<McTreeOption> implements AfterContentInit {\n readonly onFocus = new Subject<McTreeOptionEvent>();\n\n readonly onBlur = new Subject<McTreeOptionEvent>();\n\n @ContentChild('mcTreeNodeToggle') toggleElement: McTreeNodeToggleBaseDirective<McTreeOption>;\n\n @ContentChild(McPseudoCheckbox) pseudoCheckbox: McPseudoCheckbox;\n @ContentChild(McOptionActionComponent) actionButton: McOptionActionComponent;\n @ContentChild(McTooltipTrigger) tooltipTrigger: McTooltipTrigger;\n @ContentChild(McDropdownTrigger) dropdownTrigger: McDropdownTrigger;\n\n get externalPseudoCheckbox(): boolean {\n return !!this.pseudoCheckbox;\n }\n\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n this._value = value;\n }\n\n private _value: any;\n\n @Input()\n get disabled() {\n return this._disabled || this.tree!.disabled;\n }\n\n set disabled(value: any) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._disabled) {\n this._disabled = newValue;\n }\n }\n\n private _disabled: boolean = false;\n\n @Input()\n get showCheckbox() {\n return this._showCheckbox !== undefined ? this._showCheckbox : this.tree.showCheckbox;\n }\n\n set showCheckbox(value: any) {\n this._showCheckbox = coerceBooleanProperty(value);\n }\n\n private _showCheckbox: boolean;\n\n @Output() readonly onSelectionChange = new EventEmitter<McTreeOptionChange>();\n\n get selected(): boolean {\n return this._selected;\n }\n\n set selected(value: boolean) {\n const isSelected = coerceBooleanProperty(value);\n\n if (isSelected !== this._selected) {\n this.setSelected(isSelected);\n }\n }\n\n private _selected: boolean = false;\n\n get id(): string {\n return this._id;\n }\n\n private _id = `mc-tree-option-${uniqueIdCounter++}`;\n\n get viewValue(): string {\n // TODO: Add input property alternative for node envs.\n return (this.getHostElement().textContent || '').trim();\n }\n\n hasFocus: boolean = false;\n\n get isExpandable(): boolean {\n return !this.toggleElement?.disabled && this.tree.treeControl.isExpandable(this.data);\n }\n\n constructor(\n elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef,\n private ngZone: NgZone,\n @Inject(MC_TREE_OPTION_PARENT_COMPONENT) public tree: any\n ) {\n super(elementRef, tree);\n }\n\n ngAfterContentInit(): void {\n this.value = this.tree.treeControl.getValue(this.data);\n }\n\n toggle(): void {\n this.selected = !this.selected;\n }\n\n setSelected(selected: boolean): void {\n if (this._selected === selected || !this.tree.selectionModel) { return; }\n\n this._selected = selected;\n\n if (selected) {\n this.tree.selectionModel.select(this.data);\n } else {\n this.tree.selectionModel.deselect(this.data);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n focus(focusOrigin?: FocusOrigin) {\n if (focusOrigin === 'program') { return; }\n\n if (this.disabled || this.hasFocus || this.actionButton?.hasFocus) { return; }\n\n this.elementRef.nativeElement.focus();\n\n this.onFocus.next({ option: this });\n\n Promise.resolve().then(() => {\n this.hasFocus = true;\n\n this.changeDetectorRef.markForCheck();\n });\n }\n\n blur(): void {\n // When animations are enabled, Angular may end up removing the option from the DOM a little\n // earlier than usual, causing it to be blurred and throwing off the logic in the tree\n // that moves focus not the next item. To work around the issue, we defer marking the option\n // as not focused until the next time the zone stabilizes.\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n this.ngZone.run(() => {\n if (this.actionButton?.hasFocus) { return; }\n\n this.onBlur.next({ option: this });\n });\n });\n }\n\n getHeight(): number {\n const clientRects = this.elementRef.nativeElement.getClientRects();\n\n if (clientRects.length) {\n return clientRects[0].height;\n }\n\n return 0;\n }\n\n select(setFocus = true): void {\n if (this._selected) { return; }\n\n this._selected = true;\n\n if (setFocus && !this.hasFocus) {\n this.focus();\n }\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent();\n }\n\n deselect(): void {\n if (!this._selected) { return; }\n\n this._selected = false;\n\n this.changeDetectorRef.markForCheck();\n }\n\n onKeydown($event) {\n if (!this.actionButton) { return; }\n\n if ($event.keyCode === TAB && !$event.shiftKey && !this.actionButton.hasFocus) {\n this.actionButton.focus();\n\n $event.preventDefault();\n }\n }\n\n selectViaInteraction($event?: KeyboardEvent): void {\n if (this.disabled) { return; }\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent(true);\n\n const shiftKey = $event ? hasModifierKey($event, 'shiftKey') : false;\n const ctrlKey = $event ? hasModifierKey($event, 'ctrlKey') : false;\n\n this.tree.setSelectedOptionsByClick(this, shiftKey, ctrlKey);\n }\n\n emitSelectionChangeEvent(isUserInput = false): void {\n this.onSelectionChange.emit(new McTreeOptionChange(this, isUserInput));\n }\n\n getHostElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n markForCheck() {\n this.changeDetectorRef.markForCheck();\n }\n}\n","<ng-content select=\"mc-tree-node-toggle, [mc-tree-node-toggle], [mcTreeNodeToggle]\"></ng-content>\n\n<ng-container [ngSwitch]=\"externalPseudoCheckbox\">\n <ng-content *ngSwitchCase=\"true\" select=\"mc-pseudo-checkbox\"></ng-content>\n\n <ng-container *ngSwitchCase=\"false\">\n <mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\">\n </mc-pseudo-checkbox>\n </ng-container>\n</ng-container>\n\n<ng-content select=\"mc-checkbox\"></ng-content>\n\n<ng-content select=\"[mc-icon]\"></ng-content>\n\n<ng-content select=\"mc-progress-spinner\"></ng-content>\n\n<span class=\"mc-option-text mc-no-select\"><ng-content></ng-content></span>\n\n<ng-content select=\"mc-option-action\"></ng-content>\n\n<div class=\"mc-option-overlay\"></div>\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { TreeControl } from './tree-control';\n\n\n/** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */\n/* tslint:disable-next-line:naming-convention */\nexport abstract class BaseTreeControl<T> implements TreeControl<T> {\n dataNodes: T[];\n\n /** A selection model with multi-selection to track expansion status. */\n expansionModel: SelectionModel<T> = new SelectionModel<T>(true);\n\n filterModel: SelectionModel<T> = new SelectionModel<T>(true);\n\n filterValue = new BehaviorSubject<string>('');\n\n /** Get depth of a given data node, return the level number. This is for flat tree node. */\n getLevel: (dataNode: T) => number;\n\n /**\n * Whether the data node is expandable. Returns true if expandable.\n * This is for flat tree node.\n */\n isExpandable: (dataNode: T) => boolean;\n\n /** Gets a stream that emits whenever the given data node's children change. */\n getChildren: (dataNode: T) => Observable<T[]>;\n\n /** Gets a list of descendent data nodes of a subtree rooted at given data node recursively. */\n abstract getDescendants(dataNode: T): T[];\n\n /** Expands all data nodes in the tree. */\n abstract expandAll(): void;\n\n /** Toggles one single data node's expanded/collapsed state. */\n toggle(dataNode: T): void {\n if (this.filterValue.value) { return; }\n\n this.expansionModel.toggle(dataNode);\n }\n\n /** Expands one single data node. */\n expand(dataNode: T): void {\n if (this.filterValue.value) { return; }\n\n this.expansionModel.select(dataNode);\n }\n\n /** Collapses one single data node. */\n collapse(dataNode: T): void {\n if (this.filterValue.value) { return; }\n\n this.expansionModel.deselect(dataNode);\n }\n\n /** Whether a given data node is expanded or not. Returns true if the data node is expanded. */\n isExpanded(dataNode: T): boolean {\n return this.expansionModel.isSelected(dataNode);\n }\n\n /** Toggles a subtree rooted at `node` recursively. */\n toggleDescendants(dataNode: T): void {\n this.expansionModel.isSelected(dataNode)\n ? this.collapseDescendants(dataNode)\n : this.expandDescendants(dataNode);\n }\n\n /** Collapse all dataNodes in the tree. */\n collapseAll(): void {\n this.expansionModel.clear();\n }\n\n /** Expands a subtree rooted at given data node recursively. */\n expandDescendants(dataNode: T): void {\n const toBeProcessed = [dataNode];\n toBeProcessed.push(...this.getDescendants(dataNode));\n this.expansionModel.select(...toBeProcessed);\n }\n\n /** Collapses a subtree rooted at given data node recursively. */\n collapseDescendants(dataNode: T): void {\n const toBeProcessed = [dataNode];\n toBeProcessed.push(...this.getDescendants(dataNode));\n this.expansionModel.deselect(...toBeProcessed);\n }\n}\n","import { BaseTreeControl } from './base-tree-control';\n\n\nexport function defaultCompareValues(firstValue, secondValue): boolean {\n return firstValue === secondValue;\n}\n\nexport function defaultCompareViewValues(firstViewValue, secondViewValue): boolean {\n return RegExp(secondViewValue, 'gi').test(firstViewValue);\n}\n\n/** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */\nexport class FlatTreeControl<T> extends BaseTreeControl<T> {\n expandedItemsBeforeFiltration: T[];\n\n /** Construct with flat tree data node functions getLevel, isExpandable, getValue and getViewValue. */\n constructor(\n public getLevel: (dataNode: T) => number,\n public isExpandable: (dataNode: T) => boolean,\n /** getValue will be used to determine if the tree contains value or not. Used in method hasValue */\n public getValue: (dataNode) => any,\n /** getViewValue will be used for filter nodes. Returned value will be first argument in filterNodesFunction */\n public getViewValue: (dataNode) => string,\n /** compareValues will be used to comparing values. */\n public compareValues: (firstValue, secondValue) => boolean = defaultCompareValues,\n /** compareValues will be used to comparing values. */\n public compareViewValues: (firstViewValue, secondViewValue) => boolean = defaultCompareViewValues\n ) {\n super();\n }\n\n /**\n * Gets a list of the data node's subtree of descendent data nodes.\n *\n * To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes\n * with correct levels.\n */\n getDescendants(dataNode: T): T[] {\n const startIndex = this.dataNodes.indexOf(dataNode);\n const results: T[] = [];\n\n // Goes through flattened tree nodes in the `dataNodes` array, and get all descendants.\n // The level of descendants of a tree node must be greater than the level of the given\n // tree node.\n // If we reach a node whose level is equal to the level of the tree node, we hit a sibling.\n // If we reach a node whose level is greater than the level of the tree node, we hit a\n // sibling of an ancestor.\n for (let i = startIndex + 1;\n i < this.dataNodes.length && this.getLevel(dataNode) < this.getLevel(this.dataNodes[i]);\n i++\n ) {\n results.push(this.dataNodes[i]);\n }\n\n return results;\n }\n\n /**\n * Expands all data nodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened\n * data nodes of the tree.\n */\n expandAll(): void {\n this.expansionModel.select(...this.dataNodes);\n }\n\n getParents(node: any, result: T[]): T[] {\n if (node.parent) {\n result.unshift(node.parent);\n\n return this.getParents(node.parent, result);\n } else {\n return result;\n }\n }\n\n hasValue(value: string): T | undefined {\n return this.dataNodes.find((node: any) => this.compareValues(this.getValue(node), value));\n }\n\n filterNodes(value: string): void {\n this.saveExpansionState();\n\n this.filterModel.clear();\n this.expansionModel.clear();\n\n const filteredNodes = this.dataNodes\n .filter((node: any) => this.compareViewValues(this.getViewValue(node), value));\n\n const filteredNodesWithTheirParents = new Set();\n\n filteredNodes.forEach((filteredNode) => {\n\n this.getParents(filteredNode, [])\n .forEach((node) => {\n filteredNodesWithTheirParents.add(node);\n\n this.expandDataNode(node);\n });\n\n filteredNodesWithTheirParents.add(filteredNode);\n this.expandDataNode(filteredNode);\n\n if (this.isExpandable(filteredNode)) {\n const childNodeLevel = this.getLevel(filteredNode) + 1;\n\n this.getDescendants(filteredNode)\n .filter((childNode) => this.getLevel(childNode) === childNodeLevel)\n .filter((childNode) => !this.isExpandable(childNode) || !this.hasFilteredDescendant(childNode, filteredNodes))\n .forEach((childNode) => {\n filteredNodesWithTheirParents.add(childNode);\n\n this.expandDataNode(childNode);\n });\n }\n });\n\n this.filterModel.select(...Array.from(filteredNodesWithTheirParents) as []);\n\n this.filterValue.next(value);\n\n this.restoreExpansionState();\n }\n\n private expandDataNode(dataNode: T) {\n if (this.isExpandable(dataNode)) {\n this.expansionModel.select(dataNode);\n }\n }\n\n private saveExpansionState() {\n if (this.filterValue.value === '') {\n this.expandedItemsBeforeFiltration = this.expansionModel.selected;\n }\n }\n\n private restoreExpansionState() {\n if (this.filterValue.value === '') {\n this.expansionModel.clear();\n this.expansionModel.select(...this.expandedItemsBeforeFiltration);\n }\n }\n\n private hasFilteredDescendant(dataNode: T, filteredNodes: T[]) {\n const filteredViewValues = filteredNodes\n .map((node: any) => this.getViewValue(node));\n\n return this.getDescendants(dataNode)\n .filter((node) => filteredViewValues.includes(this.getViewValue(node)))\n .length > 0;\n }\n}\n","/* tslint:disable:no-empty */\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n IterableDiffer,\n IterableDiffers,\n Optional,\n Output,\n QueryList,\n ViewChild, ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FocusKeyManager } from '@ptsecurity/cdk/a11y';\nimport {\n hasModifierKey,\n END,\n ENTER,\n HOME,\n LEFT_ARROW,\n PAGE_DOWN,\n PAGE_UP,\n RIGHT_ARROW,\n SPACE,\n DOWN_ARROW,\n UP_ARROW,\n TAB,\n isCopy,\n isSelectAll, isVerticalMovement\n} from '@ptsecurity/cdk/keycodes';\nimport {\n CanDisable,\n getMcSelectNonArrayValueError,\n HasTabIndex,\n MultipleMode\n} from '@ptsecurity/mosaic/core';\nimport { merge, Observable, Subject, Subscription } from 'rxjs';\nimport { delay, takeUntil } from 'rxjs/operators';\n\nimport { FlatTreeControl } from './control/flat-tree-control';\nimport { McTreeNodeOutlet } from './outlet';\nimport { McTreeBase } from './tree-base';\nimport { MC_TREE_OPTION_PARENT_COMPONENT, McTreeOption, McTreeOptionEvent } from './tree-option.component';\n\n\nexport const MC_SELECTION_TREE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => McTreeSelection),\n multi: true\n};\n\nexport class McTreeSelectAllEvent<T> {\n constructor(public source: McTreeSelection, public options: T[]) {}\n}\n\nexport class McTreeCopyEvent<T> {\n constructor(public source: McTreeSelection, public option: T) {}\n}\n\nexport class McTreeNavigationChange<T> {\n constructor(public source: McTreeSelection, public option: T) {}\n}\n\nexport class McTreeSelectionChange<T> {\n constructor(public source: McTreeSelection, public option: T) {}\n}\n\n// tslint:disable-next-line:naming-convention\ninterface SelectionModelOption {\n id: number | string;\n value: string;\n}\n\n\n@Component({\n selector: 'mc-tree-selection',\n exportAs: 'mcTreeSelection',\n template: '<ng-container mcTreeNodeOutlet></ng-container>',\n styleUrls: ['./tree-selection.scss'],\n host: {\n class: 'mc-tree-selection',\n\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null',\n\n '(blur)': 'blur()',\n '(focus)': 'focus($event)',\n\n '(keydown)': 'onKeyDown($event)',\n '(window:resize)': 'updateScrollSize()'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n MC_SELECTION_TREE_VALUE_ACCESSOR,\n { provide: MC_TREE_OPTION_PARENT_COMPONENT, useExisting: McTreeSelection },\n { provide: McTreeBase, useExisting: McTreeSelection }\n ]\n})\nexport class McTreeSelection extends McTreeBase<any>\n implements ControlValueAccessor, AfterContentInit, CanDisable, HasTabIndex {\n\n renderedOptions = new QueryList<McTreeOption>();\n\n keyManager: FocusKeyManager<McTreeOption>;\n\n selectionModel: SelectionModel<SelectionModelOption>;\n\n resetFocusedItemOnBlur: boolean = true;\n\n multipleMode: MultipleMode | null = null;\n\n userTabIndex: number | null = null;\n\n @ViewChild(McTreeNodeOutlet, { static: true }) nodeOutlet: McTreeNodeOutlet;\n\n @ContentChildren(McTreeOption) unorderedOptions: QueryList<McTreeOption>;\n\n @Input() treeControl: FlatTreeControl<any>;\n\n @Output() readonly navigationChange = new EventEmitter<McTreeNavigationChange<McTreeOption>>();\n\n @Output() readonly selectionChange = new EventEmitter<McTreeSelectionChange<McTreeOption>>();\n\n @Output() readonly onSelectAll = new EventEmitter<McTreeSelectAllEvent<McTreeOption>>();\n\n @Output() readonly onCopy = new EventEmitter<McTreeCopyEvent<McTreeOption>>();\n\n private sortedNodes: McTreeOption[] = [];\n\n @Input()\n get autoSelect(): boolean {\n return this._autoSelect;\n }\n\n set autoSelect(value: boolean) {\n this._autoSelect = coerceBooleanProperty(value);\n }\n\n private _autoSelect: boolean = true;\n\n get optionFocusChanges(): Observable<McTreeOptionEvent> {\n return merge(...this.renderedOptions.map((option) => option.onFocus));\n }\n\n get optionBlurChanges(): Observable<McTreeOptionEvent> {\n return merge(...this.renderedOptions.map((option) => option.onBlur));\n }\n\n get multiple(): boolean {\n return !!this.multipleMode;\n }\n\n @Input()\n get noUnselectLast(): boolean {\n return this._noUnselectLast;\n }\n\n set noUnselectLast(value: boolean) {\n this._noUnselectLast = coerceBooleanProperty(value);\n }\n\n private _noUnselectLast: boolean = true;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(rawValue: boolean) {\n const value = coerceBooleanProperty(rawValue);\n\n if (this._disabled !== value) {\n this._disabled = value;\n\n this.markOptionsForCheck();\n }\n }\n\n private _disabled: boolean = false;\n\n @Input()\n get tabIndex(): any {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: any) {\n this._tabIndex = value;\n this.userTabIndex = value;\n }\n\n private _tabIndex = 0;\n\n get showCheckbox(): boolean {\n return this.multipleMode === MultipleMode.CHECKBOX;\n }\n\n get isEmpty(): boolean {\n return this.sortedNodes.length === 0;\n }\n\n private readonly destroy = new Subject<void>();\n\n private optionFocusSubscription: Subscription | null;\n\n private optionBlurSubscription: Subscription | null;\n\n constructor(\n private elementRef: ElementRef,\n differs: IterableDiffers,\n changeDetectorRef: ChangeDetectorRef,\n @Attribute('multiple') multiple: MultipleMode,\n @Optional() private clipboard: Clipboard\n ) {\n super(differs, changeDetectorRef);\n\n if (multiple === MultipleMode.CHECKBOX || multiple === MultipleMode.KEYBOARD) {\n this.multipleMode = multiple;\n } else if (multiple !== null) {\n this.multipleMode = MultipleMode.CHECKBOX;\n }\n\n if (this.multipleMode === MultipleMode.CHECKBOX) {\n this.autoSelect = false;\n this.noUnselectLast = false;\n }\n\n this.selectionModel = new SelectionModel<SelectionModelOption>(this.multiple);\n }\n\n ngAfterContentInit(): void {\n this.unorderedOptions.changes\n .subscribe(this.updateRenderedOptions);\n\n this.keyManager = new FocusKeyManager<McTreeOption>(this.renderedOptions)\n .withVerticalOrientation(true)\n .withHorizontalOrientation(null);\n\n this.keyManager.change\n .pipe(takeUntil(this.destroy))\n .subscribe(() => {\n if (this.keyManager.activeItem) {\n this.emitNavigationEvent(this.keyManager.activeItem);\n\n // todo need check this logic\n if (this.autoSelect && !this.keyManager.activeItem.disabled) {\n this.updateOptionsFocus();\n }\n }\n });\n\n this.keyManager.tabOut\n .pipe(takeUntil(this.destroy))\n .subscribe(() => this.allowFocusEscape());\n\n this.selectionModel.changed\n .pipe(takeUntil(this.destroy))\n .subscribe(() => {\n this.onChange(this.getSelectedValues());\n\n this.renderedOptions.notifyOnChanges();\n });\n\n this.renderedOptions.changes\n .pipe(\n takeUntil(this.destroy),\n delay(0)\n )\n .subscribe((options) => {\n this.resetOptions();\n\n // Check to see if we need to update our tab index\n this.updateTabIndex();\n\n options.forEach((option) => {\n if (this.getSelectedValues().includes(option.value)) {\n option.select(false);\n } else {\n option.deselect();\n }\n\n option.markForCheck();\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy.next();\n this.destroy.complete();\n }\n\n focus($event): void {\n if (this.renderedOptions.length === 0 || this.isFocusReceivedFromNestedOption($event)) { return; }\n\n this.keyManager.setFocusOrigin('keyboard');\n this.keyManager.setFirstItemActive();\n this.keyManager.setFocusOrigin('program');\n }\n\n blur() {\n if (!this.hasFocusedOption() && this.resetFocusedItemOnBlur) {\n this.keyManager.setActiveItem(-1);\n }\n\n this.onTouched();\n this.changeDetectorRef.markForCheck();\n }\n\n onKeyDown(event: KeyboardEvent): void {\n this.keyManager.setFocusOrigin('keyboard');\n // tslint:disable-next-line: deprecation\n const keyCode = event.keyCode;\n\n if ([SPACE, LEFT_ARROW, RIGHT_ARROW].includes(keyCode) || isVerticalMovement(event)) {\n event.preventDefault();\n }\n\n if (this.multiple && isSelectAll(event)) {\n this.selectAllOptions();\n\n return;\n } else if (isCopy(event)) {\n this.copyActiveOption();\n\n return;\n } else if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (keyCode === LEFT_ARROW && this.keyManager.activeItem?.isExpandable) {\n this.treeControl.collapse(this.keyManager.activeItem.data as McTreeOption);\n\n return;\n } else if (keyCode === RIGHT_ARROW && this.keyManager.activeItem?.isExpandable) {\n this.treeControl.expand(this.keyManager.activeItem.data as McTreeOption);\n\n return;\n } else if (keyCode === DOWN_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (keyCode === UP_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else if ([SPACE, ENTER].includes(keyCode)) {\n this.toggleFocusedOption();\n\n return;\n } else if (keyCode === HOME) {\n this.keyManager.setFirstItemActive();\n } else if (keyCode === END) {\n this.keyManager.setLastItemActive();\n } else if (keyCode === PAGE_UP) {\n this.keyManager.setPreviousPageItemActive();\n } else if (keyCode === PAGE_DOWN) {\n this.keyManager.setNextPageItemActive();\n }\n\n if (this.keyManager.activeItem) {\n this.setSelectedOptionsByKey(\n this.keyManager.activeItem, hasModifierKey(event, 'shiftKey'), hasModifierKey(event, 'ctrlKey')\n );\n }\n }\n\n updateScrollSize(): void {\n if (!this.renderedOptions.first) { return; }\n\n this.keyManager.withScrollSize(Math.floor(this.getHeight() / this.renderedOptions.first.getHeight()));\n }\n\n setSelectedOptionsByKey(option: McTreeOption, shiftKey: boolean, ctrlKey: boolean): void {\n if (shiftKey && this.multiple) {\n this.setSelectedOptions(option);\n\n this.emitChangeEvent(option);\n } else if (ctrlKey) {\n if (!this.canDeselectLast(option)) { return; }\n } else if (this.autoSelect) {\n this.selectionModel.clear();\n this.selectionModel.toggle(option.data);\n\n this.emitChangeEvent(option);\n }\n }\n\n setSelectedOptionsByClick(option: McTreeOption, shiftKey: boolean, ctrlKey: boolean): void {\n if (!shiftKey && !ctrlKey) {\n this.keyManager.setActiveItem(option);\n }\n\n if (shiftKey && this.multiple) {\n this.setSelectedOptions(option);\n } else if (ctrlKey) {\n if (!this.canDeselectLast(option)) { return; }\n\n this.selectionModel.toggle(option.data);\n } else if (this.autoSelect) {\n this.selectionModel.clear();\n this.selectionModel.toggle(option.data);\n } else {\n this.selectionModel.toggle(option.data);\n }\n\n this.emitChangeEvent(option);\n }\n\n setSelectedOptions(option: McTreeOption): void {\n const selectedOptionState = option.selected;\n\n let fromIndex = this.keyManager.previousActiveItemIndex;\n let toIndex = this.keyManager.previousActiveItemIndex = this.keyManager.activeItemIndex;\n\n if (toIndex === fromIndex) { return; }\n\n if (fromIndex > toIndex) {\n [fromIndex, toIndex] = [toIndex, fromIndex];\n }\n\n this.renderedOptions\n .toArray()\n .slice(fromIndex, toIndex + 1)\n .filter((item) => !item.disabled)\n .forEach((renderedOption) => {\n const isLastRenderedOption = renderedOption === this.keyManager.activeItem;\n\n if (isLastRenderedOption && renderedOption.selected && this.noUnselectLast) { return; }\n\n renderedOption.setSelected(!selectedOptionState);\n });\n }\n\n setFocusedOption(option: McTreeOption): void {\n this.keyManager.setActiveItem(option);\n }\n\n toggleFocusedOption(): void {\n const focusedOption = this.keyManager.activeItem;\n\n if (focusedOption && (!focusedOption.selected || this.canDeselectLast(focusedOption))) {\n focusedOption.toggle();\n this.emitChangeEvent(focusedOption);\n }\n }\n\n renderNodeChanges(\n data: McTreeOption[],\n dataDiffer: IterableDiffer<McTreeOption> = this.dataDiffer,\n viewContainer: ViewContainerRef = this.nodeOutlet.viewContainer,\n parentData?: McTreeOption\n ): void {\n super.renderNodeChanges(data, dataDiffer, viewContainer, parentData);\n\n this.sortedNodes = this.getSortedNodes(viewContainer);\n\n this.nodeOutlet.changeDetectorRef.detectChanges();\n }\n\n emitNavigationEvent(option: McTreeOption): void {\n this.navigationChange.emit(new McTreeNavigationChange(this, option));\n }\n\n emitChangeEvent(option: McTreeOption): void {\n this.selectionChange.emit(new McTreeNavigationChange(this, option));\n }\n\n selectAllOptions(): void {\n const optionsToSelect = this.renderedOptions\n .filter((option) => !option.disabled);\n\n optionsToSelect\n .forEach((option) => option.setSelected(true));\n\n this.onSelectAll.emit(new McTreeSelectAllEvent(this, optionsToSelect));\n }\n\n copyActiveOption(): void {\n if (this.onCopy.observers.length) {\n this.onCopy.emit(new McTreeCopyEvent(this, this.keyManager.activeItem as McTreeOption));\n } else {\n this.onCopyDefaultHandler();\n }\n }\n\n writeValue(value: any): void {\n if (this.multiple && value && !Array.isArray(value)) {\n throw getMcSelectNonArrayValueError();\n }\n\n if (value) {\n this.setOptionsFromValues(this.multiple ? value : [value]);\n } else {\n this.selectionModel.clear();\n }\n }\n\n /** `View -> model callback called when value changes` */\n onChange: (value: any) => void = () => {};\n\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = fn;\n }\n\n /** `View -> model callback called when select has been touched` */\n onTouched = () => {};\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n */\n setDisabledState(isDisabled: boolean): void {\n this._disabled = isDisabled;\n this.changeDetectorRef.markForCheck();\n }\n\n setOptionsFromValues(values: any[]): void {\n this.selectionModel.clear();\n\n const valuesToSelect = values.reduce(\n (result, value) => {\n return this.treeControl.hasValue(value) ? [...result, this.treeControl.hasValue(value)] : [...result];\n },\n []\n );\n\n this.selectionModel.select(...valuesToSelect);\n }\n\n getSelectedValues(): any[] {\n return this.selectionModel.selected.map((selected) => this.treeControl.getValue(selected));\n }\n\n getItemHeight(): number {\n return this.renderedOptions.first ? this.renderedOptions.first.getHeight() : 0;\n }\n\n private onCopyDefaultHandler(): void {\n this.clipboard?.copy(this.keyManager.activeItem!.value);\n }\n\n private getHeight(): number {\n const clientRects = this.elementRef.nativeElement.getClientRects();\n\n if (clientRects.length) {\n return clientRects[0].height;\n }\n\n return 0;\n }\n\n private updateTabIndex(): void {\n this._tabIndex = this.renderedOptions.length === 0 ? -1 : 0;\n }\n\n private updateRenderedOptions = () => {\n const orderedOptions: McTreeOption[] = [];\n\n this.sortedNodes.forEach((node) => {\n const found = this.unorderedOptions.find((option) => option.value === this.treeControl.getValue(node));\n\n if (found) {\n orderedOptions.push(found);\n }\n });\n\n this.renderedOptions.reset(orderedOptions);\n this.renderedOptions.notifyOnChanges();\n\n this.updateScrollSize();\n }\n\n private getSortedNodes(viewContainer: ViewContainerRef) {\n const array: McTreeOption[] = [];\n\n for (let i = 0; i < viewContainer.length; i++) {\n const viewRef = viewContainer.get(i) as any;\n\n array.push(viewRef.context.$implicit);\n }\n\n return array;\n }\n\n private allowFocusEscape() {\n if (this._tabIndex !== -1) {\n this._tabIndex = -1;\n\n setTimeout(() => {\n this._tabIndex = this.userTabIndex || 0;\n this.changeDetectorRef.markForCheck();\n });\n }\n }\n\n private resetOptions() {\n this.dropSubscriptions();\n this.listenToOptionsFocus();\n }\n\n private dropSubscriptions() {\n if (this.optionFocusSubscription) {\n this.optionFocusSubscription.unsubscribe();\n this.optionFocusSubscription = null;\n }\n\n if (this.optionBlurSubscription) {\n this.optionBlurSubscription.unsubscribe();\n this.optionBlurSubscription = null;\n }\n }\n\n private listenToOptionsFocus(): void {\n this.optionFocusSubscription = this.optionFocusChanges\n .subscribe((event) => {\n const index: number = this.renderedOptions.toArray().indexOf(event.option as McTreeOption);\n\n this.renderedOptions\n .filter((option) => option.hasFocus)\n .forEach((option) => option.hasFocus = false);\n\n if (this.isValidIndex(index)) {\n this.keyManager.updateActiveItem(index);\n }\n });\n\n this.optionBlurSubscription = this.optionBlurChanges\n .subscribe(() => this.blur());\n }\n\n /**\n * Utility to ensure all indexes are valid.\n * @param index The index to be checked.\n * @returns True if the index is valid for our list of options.\n */\n private isValidIndex(index: number): boolean {\n return index >= 0 && index < this.renderedOptions.length;\n }\n\n /** Checks whether any of the options is focused. */\n private hasFocusedOption() {\n return this.renderedOptions.some((option) => option.hasFocus);\n }\n\n private markOptionsForCheck() {\n this.renderedOptions.forEach((option) => option.markForCheck());\n }\n\n private updateOptionsFocus() {\n this.renderedOptions\n .filter((option) => option.hasFocus)\n .forEach((option) => option.hasFocus = false);\n }\n\n private canDeselectLast(option: McTreeOption): boolean {\n return !(this.noUnselectLast && this.selectionModel.selected.length === 1 && option.selected);\n }\n\n private isFocusReceivedFromNestedOption($event: FocusEvent) {\n if (!$event || !$event.relatedTarget) { return false; }\n\n return ($event.relatedTarget as HTMLElement).classList.contains('mc-tree-option');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McPseudoCheckboxModule } from '@ptsecurity/mosaic/core';\n\nimport { McTreeNodeDef } from './node';\nimport { McTreeNodeOutlet } from './outlet';\nimport { McTreeNodePadding } from './padding.directive';\nimport { McTreeNodeToggleDirective, McTreeNodeToggleComponent } from './toggle';\nimport { McTree } from './tree';\nimport { McTreeNode } from './tree-base';\nimport { McTreeOption } from './tree-option.component';\nimport { McTreeSelection } from './tree-selection.component';\n\n\nconst MC_TREE_DIRECTIVES = [\n McTreeNodeOutlet,\n McTreeNodeDef,\n McTreeNode,\n McTreeNodePadding,\n McTree,\n McTreeSelection,\n McTreeOption,\n McTreeNodeToggleComponent,\n McTreeNodeToggleDirective\n];\n\n@NgModule({\n imports: [CommonModule, McPseudoCheckboxModule],\n exports: MC_TREE_DIRECTIVES,\n declarations: MC_TREE_DIRECTIVES\n})\nexport class McTreeModule {}\n","import { Observable } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { BaseTreeControl } from './base-tree-control';\n\n\n/** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */\nexport class NestedTreeControl<T> extends BaseTreeControl<T> {\n\n /** Construct with nested tree function getChildren. */\n constructor(public getChildren: (dataNode: T) => Observable<T[]>) {\n super();\n }\n\n /**\n * Expands all dataNodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all root level\n * data nodes of the tree.\n */\n expandAll(): void {\n this.expansionModel.clear();\n const allNodes = this.dataNodes.reduce(\n (accumulator: T[], dataNode) => [...accumulator, ...this.getDescendants(dataNode), dataNode],\n []\n );\n this.expansionModel.select(...allNodes);\n }\n\n /** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */\n getDescendants(dataNode: T): T[] {\n const descendants = [];\n this._getDescendants(descendants, dataNode);\n\n return descendants.splice(1);\n }\n\n /** A helper function to get descendants recursively. */\n // todo нужно придумать другое название и понять в чем отличие между getDescendants и _getDescendants\n /* tslint:disable-next-line:naming-convention */\n private _getDescendants(descendants: T[], dataNode: T): void {\n descendants.push(dataNode);\n\n this.getChildren(dataNode)\n .pipe(take(1))\n .subscribe((children) => {\n if (children && children.length > 0) {\n children.forEach((child: T) => this._getDescendants(descendants, child));\n }\n });\n }\n}\n","import { CollectionViewer, DataSource, SelectionChange } from '@angular/cdk/collections';\nimport { BehaviorSubject, merge, Observable } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\n\nimport { FlatTreeControl } from '../control/flat-tree-control';\nimport { TreeControl } from '../control/tree-control';\n\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nexport class McTreeFlattener<T, F> {\n constructor(\n public transformFunction: (node: T, level: number, parent: F | null) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) => Observable<T[]> | T[] | undefined | null\n ) {}\n\n flattenNode(node: T, level: number, resultNodes: F[], parent: F | null): F[] {\n const flatNode = this.transformFunction(node, level, parent);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this.flattenChildren(childrenNodes, level, resultNodes, flatNode);\n } else {\n childrenNodes\n .pipe(take(1))\n .subscribe((children) => {\n this.flattenChildren(children, level, resultNodes, flatNode);\n });\n }\n }\n }\n\n return resultNodes;\n }\n\n flattenChildren(children: T[], level: number, resultNodes: F[], parent: F | null): void {\n children.forEach((child) => {\n this.flattenNode(child, level + 1, resultNodes, parent);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n const resultNodes: F[] = [];\n structuredData.forEach((node) => this.flattenNode(node, 0, resultNodes, null));\n\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F>): F[] {\n const results: F[] = [];\n const currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach((node) => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n\n if (expand) { results.push(node); }\n\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n\n return results;\n }\n}\n\nenum McTreeDataSourceChangeTypes {\n Expansion = 'expansion',\n Filter = 'filter'\n}\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `McTree`.\n * The nested tree nodes of type `T` are flattened through `MсTreeFlattener`, and converted\n * to type `F` for `McTree` to consume.\n */\nexport class McTreeFlatDataSource<T, F> extends DataSource<F> {\n flattenedData = new BehaviorSubject<F[]>([]);\n\n expandedData = new BehaviorSubject<F[]>([]);\n\n filteredData = new BehaviorSubject<F[]>([]);\n\n get data() {\n return this._data.value;\n }\n\n set data(value: T[]) {\n this._data.next(value);\n\n this.flattenedData.next(this.treeFlattener.flattenNodes(this.data));\n this.treeControl.dataNodes = this.flattenedData.value;\n }\n\n private _data: BehaviorSubject<T[]>;\n\n constructor(\n private treeControl: FlatTreeControl<F>,\n private treeFlattener: McTreeFlattener<T, F>,\n initialData: T[] = []\n ) {\n super();\n\n this._data = new BehaviorSubject<T[]>(initialData);\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n return merge(\n collectionViewer.viewChange,\n this.treeControl.expansionModel.changed\n .pipe(map((value) => ({ type: McTreeDataSourceChangeTypes.Expansion, value }))),\n this.treeControl.filterValue\n .pipe(map((value) => ({ type: McTreeDataSourceChangeTypes.Filter, value }))),\n this.flattenedData\n )\n .pipe(map((changeObj: any): any => {\n if (changeObj.type === McTreeDataSourceChangeTypes.Filter) {\n if (changeObj.value && changeObj.value.length > 0) {\n return this.filterHandler();\n } else {\n return this.expansionHandler(changeObj.value);\n }\n }\n\n return this.expansionHandler(changeObj.value);\n }));\n }\n\n filterHandler(): F[] {\n this.filteredData.next(this.treeControl.filterModel.selected);\n\n return this.filteredData.value;\n }\n\n expansionHandler(_change: SelectionChange<F>): F[] {\n const expandedNodes = this.treeFlattener.expandFlattenedNodes(this.flattenedData.value, this.treeControl);\n this.expandedData.next(expandedNodes);\n\n return this.expandedData.value;\n }\n\n disconnect() {\n // no op\n }\n}\n\n","import { CollectionViewer, DataSource } from '@angular/cdk/collections';\nimport { BehaviorSubject, merge, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class McTreeNestedDataSource<T> extends DataSource<T> {\n\n get data() {\n return this._data.value;\n }\n\n set data(value: T[]) {\n this._data.next(value);\n }\n\n /* tslint:disable-next-line:naming-convention */\n private _data = new BehaviorSubject<T[]>([]);\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...[collectionViewer.viewChange, this._data])\n .pipe(map(() => this.data));\n }\n\n disconnect() {\n // no op\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["observableOf","i1.McTreeNode","i1.McTreeBase","i1.McTreeNodeOutlet","i2","i1","i2.McTreeNodeOutlet"],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic.mjs","sources":["../../../packages/mosaic/ptsecurity-mosaic.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;AAEG"}
|
File without changes
|
package/form-field/package.json
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
{
|
2
|
-
"
|
3
|
-
"
|
4
|
-
"
|
5
|
-
"
|
6
|
-
"fesm2015": "../fesm2015/ptsecurity-mosaic-form-field.
|
2
|
+
"module": "../fesm2015/ptsecurity-mosaic-form-field.mjs",
|
3
|
+
"es2020": "../fesm2020/ptsecurity-mosaic-form-field.mjs",
|
4
|
+
"esm2020": "../esm2020/form-field/ptsecurity-mosaic-form-field.mjs",
|
5
|
+
"fesm2020": "../fesm2020/ptsecurity-mosaic-form-field.mjs",
|
6
|
+
"fesm2015": "../fesm2015/ptsecurity-mosaic-form-field.mjs",
|
7
7
|
"typings": "ptsecurity-mosaic-form-field.d.ts",
|
8
8
|
"sideEffects": false,
|
9
9
|
"name": "@ptsecurity/mosaic/form-field"
|
package/icon/README.md
ADDED
File without changes
|
package/icon/package.json
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
{
|
2
|
-
"
|
3
|
-
"
|
4
|
-
"
|
5
|
-
"
|
6
|
-
"fesm2015": "../fesm2015/ptsecurity-mosaic-icon.
|
2
|
+
"module": "../fesm2015/ptsecurity-mosaic-icon.mjs",
|
3
|
+
"es2020": "../fesm2020/ptsecurity-mosaic-icon.mjs",
|
4
|
+
"esm2020": "../esm2020/icon/ptsecurity-mosaic-icon.mjs",
|
5
|
+
"fesm2020": "../fesm2020/ptsecurity-mosaic-icon.mjs",
|
6
|
+
"fesm2015": "../fesm2015/ptsecurity-mosaic-icon.mjs",
|
7
7
|
"typings": "ptsecurity-mosaic-icon.d.ts",
|
8
8
|
"sideEffects": false,
|
9
9
|
"name": "@ptsecurity/mosaic/icon"
|
package/input/package.json
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
{
|
2
|
-
"
|
3
|
-
"
|
4
|
-
"
|
5
|
-
"
|
6
|
-
"fesm2015": "../fesm2015/ptsecurity-mosaic-input.
|
2
|
+
"module": "../fesm2015/ptsecurity-mosaic-input.mjs",
|
3
|
+
"es2020": "../fesm2020/ptsecurity-mosaic-input.mjs",
|
4
|
+
"esm2020": "../esm2020/input/ptsecurity-mosaic-input.mjs",
|
5
|
+
"fesm2020": "../fesm2020/ptsecurity-mosaic-input.mjs",
|
6
|
+
"fesm2015": "../fesm2015/ptsecurity-mosaic-input.mjs",
|
7
7
|
"typings": "ptsecurity-mosaic-input.d.ts",
|
8
8
|
"sideEffects": false,
|
9
9
|
"name": "@ptsecurity/mosaic/input"
|
package/link/README.md
ADDED
File without changes
|
package/link/package.json
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
{
|
2
|
-
"
|
3
|
-
"
|
4
|
-
"
|
5
|
-
"
|
6
|
-
"fesm2015": "../fesm2015/ptsecurity-mosaic-link.
|
2
|
+
"module": "../fesm2015/ptsecurity-mosaic-link.mjs",
|
3
|
+
"es2020": "../fesm2020/ptsecurity-mosaic-link.mjs",
|
4
|
+
"esm2020": "../esm2020/link/ptsecurity-mosaic-link.mjs",
|
5
|
+
"fesm2020": "../fesm2020/ptsecurity-mosaic-link.mjs",
|
6
|
+
"fesm2015": "../fesm2015/ptsecurity-mosaic-link.mjs",
|
7
7
|
"typings": "ptsecurity-mosaic-link.d.ts",
|
8
8
|
"sideEffects": false,
|
9
9
|
"name": "@ptsecurity/mosaic/link"
|
package/list/README.md
ADDED
File without changes
|
package/list/package.json
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
{
|
2
|
-
"
|
3
|
-
"
|
4
|
-
"
|
5
|
-
"
|
6
|
-
"fesm2015": "../fesm2015/ptsecurity-mosaic-list.
|
2
|
+
"module": "../fesm2015/ptsecurity-mosaic-list.mjs",
|
3
|
+
"es2020": "../fesm2020/ptsecurity-mosaic-list.mjs",
|
4
|
+
"esm2020": "../esm2020/list/ptsecurity-mosaic-list.mjs",
|
5
|
+
"fesm2020": "../fesm2020/ptsecurity-mosaic-list.mjs",
|
6
|
+
"fesm2015": "../fesm2015/ptsecurity-mosaic-list.mjs",
|
7
7
|
"typings": "ptsecurity-mosaic-list.d.ts",
|
8
8
|
"sideEffects": false,
|
9
9
|
"name": "@ptsecurity/mosaic/list"
|
package/modal/README.md
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
The dialog is currently divided into 3 modes - `default`, `confirm box`, `custom`.
|
2
|
+
|
3
|
+
|
4
|
+
#### Using service to create Confirm Mode
|
5
|
+
|
6
|
+
```ts
|
7
|
+
showConfirm() {
|
8
|
+
this.modalService.success({
|
9
|
+
mcContent : 'Save changes made to the request "All assets with Windows"?',
|
10
|
+
mcOkText : 'Save',
|
11
|
+
mcCancelText: 'Cancel',
|
12
|
+
mcOnOk : () => console.log('OK')
|
13
|
+
});
|
14
|
+
}
|
15
|
+
```
|
16
|
+
|
17
|
+
#### Using service to open modal Custom Mode
|
18
|
+
|
19
|
+
```ts
|
20
|
+
let dialogRef = modalService.open({
|
21
|
+
mcComponent: CustomComponent
|
22
|
+
});
|
23
|
+
```
|
24
|
+
|
25
|
+
```ts
|
26
|
+
@Component({/* ... */})
|
27
|
+
export class CustomComponent {
|
28
|
+
constructor(private dialogRef: McModalRef) { }
|
29
|
+
|
30
|
+
closeDialog() {
|
31
|
+
this.modal.destroy({ data: 'this the result data' });
|
32
|
+
}
|
33
|
+
}
|
34
|
+
```
|
@@ -14,6 +14,7 @@ export declare class McModalControlService {
|
|
14
14
|
hasRegistered(modalRef: McModalRef): boolean;
|
15
15
|
closeAll(): void;
|
16
16
|
private removeOpenModal;
|
17
|
+
private handleMultipleMasks;
|
17
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<McModalControlService, [{ optional: true; skipSelf: true; }]>;
|
18
19
|
static ɵprov: i0.ɵɵInjectableDeclaration<McModalControlService>;
|
19
20
|
}
|
package/modal/package.json
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
{
|
2
|
-
"
|
3
|
-
"
|
4
|
-
"
|
5
|
-
"
|
6
|
-
"fesm2015": "../fesm2015/ptsecurity-mosaic-modal.
|
2
|
+
"module": "../fesm2015/ptsecurity-mosaic-modal.mjs",
|
3
|
+
"es2020": "../fesm2020/ptsecurity-mosaic-modal.mjs",
|
4
|
+
"esm2020": "../esm2020/modal/ptsecurity-mosaic-modal.mjs",
|
5
|
+
"fesm2020": "../fesm2020/ptsecurity-mosaic-modal.mjs",
|
6
|
+
"fesm2015": "../fesm2015/ptsecurity-mosaic-modal.mjs",
|
7
7
|
"typings": "ptsecurity-mosaic-modal.d.ts",
|
8
8
|
"sideEffects": false,
|
9
9
|
"name": "@ptsecurity/mosaic/modal"
|
package/navbar/README.md
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# Navbar component
|
2
|
+
|
3
|
+
## Objectives
|
4
|
+
|
5
|
+
- create the navbar component
|
6
|
+
- create child components to get them included into it
|
7
|
+
|
8
|
+
## Allowed child components
|
9
|
+
|
10
|
+
We strongly recommend adhere to use our child components until it is possible but you are free to insert there what you want.
|
11
|
+
|
12
|
+
- left\right side container **mc-navbar-section**
|
13
|
+
- product\company title **mc-navbar-brand**
|
14
|
+
- logo container **mc-navbar-logo**
|
15
|
+
- any markup
|
16
|
+
- **mc-navbar-title** (please see below)
|
17
|
+
- title **mc-navbar-title**
|
18
|
+
- any markup, only font size, font color, font family is gonna be styled
|
19
|
+
- menu item container **mc-navbar-item**
|
20
|
+
- icon **[mc-icon]** (another PT Mosaic component, out of the scope of this)
|
21
|
+
- title **mc-navbar-title**
|
22
|
+
- dropdown **[mc-dropdown]** (another PT Mosaic component, out of the scope of this)
|
23
|
+
- any markup
|
24
|
+
- any markup
|
25
|
+
- any markup
|
26
|
+
|
27
|
+
## States
|
28
|
+
|
29
|
+
We believe you are able to manage navbar child components from outside. Meantime we provide number of mc-navbar-item states based on css classes which may be combined between each others.
|
30
|
+
|
31
|
+
- mc-active - selected item
|
32
|
+
- mc-progress - something in progress (striped animation)
|
33
|
+
- cdk-focused - focused state, we control it as well for common tab order behaviour
|
34
|
+
|
35
|
+
Disable state also could be combined with other states but it is **disabled** attribute.
|
36
|
+
|
37
|
+
## Collapsing
|
38
|
+
In the case that absence of space the following elements is collapsed:
|
39
|
+
|
40
|
+
- mc-navbar-item is collapsed to [mc-icon] if exists (if not then the item is not collapsed). The title attribute is added for [mc-icon] from mc-navbar-item text;
|
41
|
+
- mc-navbar-item is collapsed to [mc-icon] if exists (if not then the item is not collapsed).
|