@ptsecurity/mosaic 15.3.1 → 15.4.0-beta.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 +688 -212
- package/_visual.scss +132 -42
- package/alert/README.md +0 -0
- package/alert/_alert-theme.scss +61 -0
- package/alert/alert.component.d.ts +22 -0
- package/alert/alert.component.scss +81 -0
- package/alert/alert.module.d.ts +10 -0
- package/alert/index.d.ts +1 -0
- package/alert/public-api.d.ts +2 -0
- package/autocomplete/_autocomplete-theme.nvl.scss +21 -0
- package/button/_button-base.scss +2 -2
- package/button/_button-theme.nvl.scss +180 -0
- package/button/_button-theme.scss +0 -2
- package/button/button.component.d.ts +12 -3
- package/button/button.scss +19 -5
- package/button-toggle/_button-toggle-theme.scss +92 -0
- package/button-toggle/button-toggle.component.d.ts +6 -2
- package/button-toggle/button-toggle.module.d.ts +2 -1
- package/button-toggle/button-toggle.scss +110 -82
- package/card/_card-theme.nvl.scss +61 -0
- package/checkbox/_checkbox-theme.nvl.scss +120 -0
- package/checkbox/_checkbox-theme.scss +7 -7
- package/checkbox/checkbox.d.ts +2 -1
- package/checkbox/checkbox.scss +85 -52
- package/code-block/_code-block-theme.nvl.scss +326 -0
- package/core/common-behaviors/color.d.ts +13 -2
- package/core/common-behaviors/index.d.ts +1 -1
- package/core/forms/_forms-theme.nvl.scss +31 -0
- package/core/highlight/_highlight-theme.nvl.scss +8 -0
- package/core/highlight/_highlight-theme.scss +0 -2
- package/core/option/_optgroup-theme.nvl.scss +25 -0
- package/core/option/_option-action-theme.nvl.scss +41 -0
- package/core/option/_option-theme.nvl.scss +44 -0
- package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.nvl.scss +48 -0
- package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +2 -1
- package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +26 -6
- package/core/styles/_mosaic-theme.nvl.scss +153 -0
- package/core/styles/_mosaic-theme.scss +7 -2
- package/core/styles/_tokens.scss +4 -4
- package/core/styles/theming/_badges-theme.nvl.scss +118 -0
- package/core/styles/theming/_badges.nvl.scss +57 -0
- package/core/styles/theming/_components-theming.nvl.scss +1185 -0
- package/core/styles/theming/_components-theming.scss +92 -0
- package/core/styles/theming/_scrollbars-theme.nvl.scss +98 -0
- package/core/styles/theming/_scrollbars.nvl.scss +39 -0
- package/core/styles/theming/_theming.nvl.scss +137 -0
- package/core/styles/theming/prebuilt/dark-theme.nvl.scss +20 -0
- package/core/styles/theming/prebuilt/light-theme.nvl.scss +20 -0
- package/core/styles/typography/_typography.scss +5 -4
- package/core/utils/data-size/config.d.ts +20 -0
- package/core/utils/data-size/data-size.pipe.d.ts +13 -0
- package/core/utils/data-size/index.d.ts +3 -0
- package/core/utils/data-size/size.d.ts +16 -0
- package/core/utils/public-api.d.ts +1 -0
- package/datepicker/_datepicker-theme.nvl.scss +101 -0
- package/datepicker/datepicker-toggle.scss +2 -2
- package/divider/_divider-theme.nvl.scss +10 -0
- package/divider/_divider-theme.scss +1 -0
- package/divider/divider.component.d.ts +4 -1
- package/divider/divider.scss +24 -24
- package/dl/_dl-theme.nvl.scss +86 -0
- package/dl/_dl-theme.scss +0 -1
- package/dropdown/_dropdown-theme.nvl.scss +85 -0
- package/dropdown/dropdown.scss +3 -3
- package/ellipsis-center/ellipsis-center.directive.d.ts +27 -0
- package/ellipsis-center/index.d.ts +1 -0
- package/ellipsis-center/public-api.d.ts +1 -0
- package/esm2020/alert/alert.component.mjs +67 -0
- package/esm2020/alert/alert.module.mjs +44 -0
- package/esm2020/alert/index.mjs +2 -0
- package/esm2020/alert/ptsecurity-mosaic-alert.mjs +5 -0
- package/esm2020/alert/public-api.mjs +3 -0
- package/esm2020/autocomplete/autocomplete-origin.directive.mjs +3 -3
- package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +3 -3
- package/esm2020/autocomplete/autocomplete.component.mjs +5 -5
- package/esm2020/autocomplete/autocomplete.module.mjs +4 -4
- package/esm2020/button/button.component.mjs +37 -19
- package/esm2020/button/button.module.mjs +4 -4
- package/esm2020/button-toggle/button-toggle.component.mjs +33 -14
- package/esm2020/button-toggle/button-toggle.module.mjs +7 -6
- package/esm2020/card/card.component.mjs +3 -3
- package/esm2020/card/card.module.mjs +4 -4
- package/esm2020/checkbox/checkbox-module.mjs +4 -4
- package/esm2020/checkbox/checkbox-required-validator.mjs +3 -3
- package/esm2020/checkbox/checkbox.mjs +13 -9
- package/esm2020/code-block/actionbar.component.mjs +5 -5
- package/esm2020/code-block/code-block.component.mjs +4 -4
- package/esm2020/code-block/code-block.module.mjs +4 -4
- package/esm2020/core/common-behaviors/color.mjs +14 -2
- package/esm2020/core/common-behaviors/common-module.mjs +4 -4
- package/esm2020/core/common-behaviors/index.mjs +2 -2
- package/esm2020/core/error/error-options.mjs +6 -6
- package/esm2020/core/formatters/date/formatter.mjs +3 -3
- package/esm2020/core/formatters/date/formatter.pipe.mjs +39 -39
- package/esm2020/core/formatters/index.mjs +4 -4
- package/esm2020/core/formatters/number/formatter.mjs +4 -4
- package/esm2020/core/forms/forms-module.mjs +4 -4
- package/esm2020/core/forms/forms.directive.mjs +6 -6
- package/esm2020/core/highlight/highlight.pipe.mjs +3 -3
- package/esm2020/core/highlight/index.mjs +4 -4
- package/esm2020/core/line/line.mjs +7 -7
- package/esm2020/core/locales/locale-service.mjs +3 -3
- package/esm2020/core/locales/locale-service.module.mjs +4 -4
- package/esm2020/core/option/action.mjs +3 -3
- package/esm2020/core/option/optgroup.mjs +3 -3
- package/esm2020/core/option/option-module.mjs +4 -4
- package/esm2020/core/option/option.mjs +4 -4
- package/esm2020/core/pop-up/pop-up-trigger.mjs +3 -3
- package/esm2020/core/pop-up/pop-up.mjs +3 -3
- package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +12 -8
- package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +4 -4
- package/esm2020/core/services/measure-scrollbar.service.mjs +3 -3
- package/esm2020/core/utils/data-size/config.mjs +22 -0
- package/esm2020/core/utils/data-size/data-size.pipe.mjs +32 -0
- package/esm2020/core/utils/data-size/index.mjs +4 -0
- package/esm2020/core/utils/data-size/size.mjs +50 -0
- package/esm2020/core/utils/public-api.mjs +2 -1
- package/esm2020/core/version.mjs +2 -2
- package/esm2020/datepicker/calendar-body.component.mjs +3 -3
- package/esm2020/datepicker/calendar-header.component.mjs +3 -3
- package/esm2020/datepicker/calendar.component.mjs +3 -3
- package/esm2020/datepicker/datepicker-input.directive.mjs +3 -3
- package/esm2020/datepicker/datepicker-intl.mjs +3 -3
- package/esm2020/datepicker/datepicker-module.mjs +4 -4
- package/esm2020/datepicker/datepicker-toggle.component.mjs +7 -7
- package/esm2020/datepicker/datepicker.component.mjs +6 -6
- package/esm2020/datepicker/month-view.component.mjs +3 -3
- package/esm2020/divider/divider.component.mjs +16 -6
- package/esm2020/divider/divider.module.mjs +4 -4
- package/esm2020/dl/dl.component.mjs +9 -9
- package/esm2020/dl/dl.module.mjs +4 -4
- package/esm2020/dropdown/dropdown-content.directive.mjs +3 -3
- package/esm2020/dropdown/dropdown-item.component.mjs +5 -5
- package/esm2020/dropdown/dropdown-trigger.directive.mjs +3 -3
- package/esm2020/dropdown/dropdown.component.mjs +6 -6
- package/esm2020/dropdown/dropdown.module.mjs +4 -4
- package/esm2020/ellipsis-center/ellipsis-center.directive.mjs +106 -0
- package/esm2020/ellipsis-center/index.mjs +2 -0
- package/esm2020/ellipsis-center/ptsecurity-mosaic-ellipsis-center.mjs +5 -0
- package/esm2020/ellipsis-center/public-api.mjs +2 -0
- package/esm2020/file-upload/file-drop.mjs +43 -0
- package/esm2020/file-upload/file-upload.mjs +4 -0
- package/esm2020/file-upload/file-upload.module.mjs +66 -0
- package/esm2020/file-upload/index.mjs +2 -0
- package/esm2020/file-upload/multiple-file-upload.component.mjs +161 -0
- package/esm2020/file-upload/ptsecurity-mosaic-file-upload.mjs +5 -0
- package/esm2020/file-upload/public-api.mjs +6 -0
- package/esm2020/file-upload/single-file-upload.component.mjs +130 -0
- package/esm2020/form-field/cleaner.mjs +7 -7
- package/esm2020/form-field/form-field.mjs +10 -10
- package/esm2020/form-field/form-field.module.mjs +4 -4
- package/esm2020/form-field/hint.mjs +15 -15
- package/esm2020/form-field/password-hint.mjs +4 -4
- package/esm2020/form-field/prefix.mjs +3 -3
- package/esm2020/form-field/stepper.mjs +3 -3
- package/esm2020/form-field/suffix.mjs +3 -3
- package/esm2020/form-field/validate.directive.mjs +3 -3
- package/esm2020/icon/icon.component.mjs +78 -21
- package/esm2020/icon/icon.module.mjs +14 -10
- package/esm2020/input/input-number-validators.mjs +6 -6
- package/esm2020/input/input-number.mjs +3 -3
- package/esm2020/input/input-password.mjs +6 -6
- package/esm2020/input/input.mjs +6 -6
- package/esm2020/input/input.module.mjs +4 -4
- package/esm2020/link/link.component.mjs +14 -4
- package/esm2020/link/link.module.mjs +4 -4
- package/esm2020/list/list-selection.component.mjs +9 -9
- package/esm2020/list/list.component.mjs +7 -7
- package/esm2020/list/list.module.mjs +4 -4
- package/esm2020/loader-overlay/loader-overlay.component.mjs +12 -12
- package/esm2020/loader-overlay/loader-overlay.module.mjs +4 -4
- package/esm2020/markdown/markdown.component.mjs +5 -5
- package/esm2020/markdown/markdown.module.mjs +4 -4
- package/esm2020/markdown/markdown.service.mjs +3 -3
- package/esm2020/modal/css-unit.pipe.mjs +3 -3
- package/esm2020/modal/modal-control.service.mjs +3 -3
- package/esm2020/modal/modal.component.mjs +4 -4
- package/esm2020/modal/modal.directive.mjs +12 -12
- package/esm2020/modal/modal.module.mjs +4 -4
- package/esm2020/modal/modal.service.mjs +3 -3
- package/esm2020/navbar/navbar-item.component.mjs +31 -31
- package/esm2020/navbar/navbar.component.mjs +9 -9
- package/esm2020/navbar/navbar.module.mjs +4 -4
- package/esm2020/navbar/vertical-navbar.component.mjs +3 -3
- package/esm2020/popover/popover-confirm.component.mjs +8 -8
- package/esm2020/popover/popover.component.mjs +7 -7
- package/esm2020/popover/popover.module.mjs +4 -4
- package/esm2020/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2020/progress-bar/progress-bar.module.mjs +4 -4
- package/esm2020/progress-spinner/progress-spinner.component.mjs +6 -6
- package/esm2020/progress-spinner/progress-spinner.module.mjs +4 -4
- package/esm2020/radio/radio.component.mjs +13 -9
- package/esm2020/radio/radio.module.mjs +4 -4
- package/esm2020/select/select-option.directive.mjs +3 -3
- package/esm2020/select/select.component.mjs +22 -22
- package/esm2020/select/select.module.mjs +4 -4
- package/esm2020/sidebar/sidebar.component.mjs +9 -9
- package/esm2020/sidebar/sidebar.module.mjs +4 -4
- package/esm2020/sidepanel/sidepanel-container.component.mjs +4 -4
- package/esm2020/sidepanel/sidepanel-directives.mjs +17 -17
- package/esm2020/sidepanel/sidepanel.module.mjs +4 -4
- package/esm2020/sidepanel/sidepanel.service.mjs +3 -3
- package/esm2020/splitter/splitter.component.mjs +12 -12
- package/esm2020/splitter/splitter.module.mjs +4 -4
- package/esm2020/table/table.component.mjs +3 -3
- package/esm2020/table/table.module.mjs +4 -4
- package/esm2020/tabs/paginated-tab-header.mjs +3 -3
- package/esm2020/tabs/tab-body.component.mjs +9 -8
- package/esm2020/tabs/tab-content.directive.mjs +3 -3
- package/esm2020/tabs/tab-group.component.mjs +18 -18
- package/esm2020/tabs/tab-header.component.mjs +4 -4
- package/esm2020/tabs/tab-label-wrapper.directive.mjs +3 -3
- package/esm2020/tabs/tab-label.directive.mjs +3 -3
- package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +7 -7
- package/esm2020/tabs/tab.component.mjs +3 -3
- package/esm2020/tabs/tabs.module.mjs +9 -5
- package/esm2020/tags/tag-input.mjs +3 -3
- package/esm2020/tags/tag-list.component.mjs +4 -4
- package/esm2020/tags/tag.component.mjs +16 -16
- package/esm2020/tags/tag.module.mjs +4 -4
- package/esm2020/textarea/textarea.component.mjs +3 -3
- package/esm2020/textarea/textarea.module.mjs +4 -4
- package/esm2020/timepicker/timepicker.directive.mjs +3 -3
- package/esm2020/timepicker/timepicker.module.mjs +4 -4
- package/esm2020/timezone/cities-by-filter.pipe.mjs +3 -3
- package/esm2020/timezone/timezone-option.component.mjs +3 -3
- package/esm2020/timezone/timezone-option.directive.mjs +3 -3
- package/esm2020/timezone/timezone-select.component.mjs +8 -8
- package/esm2020/timezone/timezone.module.mjs +4 -4
- package/esm2020/timezone/utc-offset.pipe.mjs +3 -3
- package/esm2020/title/title.directive.mjs +3 -3
- package/esm2020/title/title.module.mjs +4 -4
- package/esm2020/toast/toast-container.component.mjs +3 -3
- package/esm2020/toast/toast.component.mjs +5 -5
- package/esm2020/toast/toast.module.mjs +4 -4
- package/esm2020/toast/toast.service.mjs +3 -3
- package/esm2020/toggle/toggle.component.mjs +17 -13
- package/esm2020/toggle/toggle.module.mjs +4 -4
- package/esm2020/tooltip/tooltip.component.mjs +26 -17
- package/esm2020/tooltip/tooltip.module.mjs +4 -4
- package/esm2020/tree/node.mjs +3 -3
- package/esm2020/tree/outlet.mjs +3 -3
- package/esm2020/tree/padding.directive.mjs +3 -3
- package/esm2020/tree/toggle.mjs +9 -9
- package/esm2020/tree/tree-base.mjs +6 -6
- package/esm2020/tree/tree-option.component.mjs +4 -4
- package/esm2020/tree/tree-selection.component.mjs +3 -3
- package/esm2020/tree/tree.mjs +3 -3
- package/esm2020/tree/tree.module.mjs +4 -4
- package/esm2020/tree-select/tree-select.component.mjs +16 -13
- package/esm2020/tree-select/tree-select.module.mjs +4 -4
- package/fesm2015/ptsecurity-mosaic-alert.mjs +115 -0
- package/fesm2015/ptsecurity-mosaic-alert.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +15 -15
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +38 -18
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button.mjs +41 -23
- package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-card.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs +19 -15
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-code-block.mjs +12 -12
- package/fesm2015/ptsecurity-mosaic-code-block.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-core.mjs +242 -127
- package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs +35 -35
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-divider.mjs +19 -9
- package/fesm2015/ptsecurity-mosaic-divider.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-dl.mjs +13 -13
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs +20 -20
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs +113 -0
- package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-file-upload.mjs +392 -0
- package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-form-field.mjs +49 -49
- package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-icon.mjs +93 -29
- package/fesm2015/ptsecurity-mosaic-icon.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-input.mjs +25 -25
- package/fesm2015/ptsecurity-mosaic-link.mjs +17 -7
- package/fesm2015/ptsecurity-mosaic-link.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-list.mjs +20 -20
- package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +16 -16
- package/fesm2015/ptsecurity-mosaic-markdown.mjs +12 -12
- package/fesm2015/ptsecurity-mosaic-markdown.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-modal.mjs +29 -29
- package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-navbar.mjs +47 -47
- package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-popover.mjs +18 -18
- package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +9 -9
- package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-radio.mjs +16 -12
- package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-select.mjs +28 -28
- package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-sidebar.mjs +13 -13
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +27 -27
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-splitter.mjs +16 -16
- package/fesm2015/ptsecurity-mosaic-table.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-tabs.mjs +60 -56
- package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tags.mjs +26 -26
- package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-textarea.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-timepicker.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-timezone.mjs +24 -24
- package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-title.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-toast.mjs +14 -14
- package/fesm2015/ptsecurity-mosaic-toast.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-toggle.mjs +21 -17
- package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs +29 -20
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs +19 -16
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree.mjs +38 -38
- package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-alert.mjs +115 -0
- package/fesm2020/ptsecurity-mosaic-alert.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +15 -15
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +38 -18
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-button.mjs +41 -23
- package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-card.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-checkbox.mjs +19 -15
- package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-code-block.mjs +12 -12
- package/fesm2020/ptsecurity-mosaic-code-block.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-core.mjs +242 -127
- package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs +36 -35
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-divider.mjs +19 -9
- package/fesm2020/ptsecurity-mosaic-divider.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-dl.mjs +13 -13
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs +20 -20
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-ellipsis-center.mjs +111 -0
- package/fesm2020/ptsecurity-mosaic-ellipsis-center.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-file-upload.mjs +388 -0
- package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-form-field.mjs +49 -49
- package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-icon.mjs +89 -29
- package/fesm2020/ptsecurity-mosaic-icon.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-input.mjs +25 -25
- package/fesm2020/ptsecurity-mosaic-link.mjs +17 -7
- package/fesm2020/ptsecurity-mosaic-link.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-list.mjs +20 -20
- package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +16 -16
- package/fesm2020/ptsecurity-mosaic-markdown.mjs +12 -12
- package/fesm2020/ptsecurity-mosaic-markdown.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-modal.mjs +29 -29
- package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-navbar.mjs +47 -47
- package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-popover.mjs +18 -18
- package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +9 -9
- package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-radio.mjs +16 -12
- package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-select.mjs +28 -28
- package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-sidebar.mjs +13 -13
- package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +27 -27
- package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-splitter.mjs +16 -16
- package/fesm2020/ptsecurity-mosaic-table.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-tabs.mjs +60 -56
- package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tags.mjs +26 -26
- package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-textarea.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-timepicker.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-timezone.mjs +24 -24
- package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-title.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-toast.mjs +14 -14
- package/fesm2020/ptsecurity-mosaic-toast.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-toggle.mjs +21 -17
- package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs +29 -20
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs +19 -16
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tree.mjs +38 -38
- package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
- package/file-upload/README.md +0 -0
- package/file-upload/_file-upload-theme.scss +174 -0
- package/file-upload/file-drop.d.ts +11 -0
- package/file-upload/file-upload.d.ts +22 -0
- package/file-upload/file-upload.module.d.ts +18 -0
- package/file-upload/file-upload.scss +46 -0
- package/file-upload/index.d.ts +1 -0
- package/file-upload/multiple-file-upload.component.d.ts +51 -0
- package/file-upload/multiple-file-upload.component.scss +148 -0
- package/file-upload/public-api.d.ts +5 -0
- package/file-upload/single-file-upload.component.d.ts +34 -0
- package/file-upload/single-file-upload.component.scss +60 -0
- package/form-field/_form-field-theme.nvl.scss +111 -0
- package/form-field/_hint-theme.nvl.scss +67 -0
- package/form-field/cleaner.d.ts +2 -2
- package/form-field/hint.d.ts +2 -1
- package/form-field/hint.scss +15 -0
- package/icon/_icon-theme.nvl.scss +267 -0
- package/icon/icon.component.d.ts +22 -6
- package/icon/icon.module.d.ts +1 -1
- package/icon/icon.scss +39 -0
- package/input/_input-theme.nvl.scss +56 -0
- package/input/input.scss +5 -0
- package/link/_link-theme.nvl.scss +178 -0
- package/link/_link-theme.scss +2 -3
- package/link/link.component.d.ts +4 -1
- package/list/_list-theme.nvl.scss +47 -0
- package/loader-overlay/_loader-overlay-theme.nvl.scss +34 -0
- package/loader-overlay/_loader-overlay-theme.scss +0 -1
- package/markdown/_markdown-theme.nvl.scss +142 -0
- package/markdown/markdown.scss +13 -7
- package/modal/_modal-theme.nvl.scss +90 -0
- package/navbar/_navbar-theme.nvl.scss +123 -0
- package/package.json +26 -2
- package/popover/_popover-theme.nvl.scss +111 -0
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/dark-theme.nvl.css +1 -0
- package/prebuilt-themes/default-theme.css +1 -1
- package/prebuilt-themes/light-theme.nvl.css +1 -0
- package/progress-bar/_progress-bar-theme.nvl.scss +28 -0
- package/progress-spinner/_progress-spinner-theme.nvl.scss +24 -0
- package/radio/_radio-theme.nvl.scss +95 -0
- package/radio/_radio-theme.scss +1 -1
- package/radio/radio.component.d.ts +2 -1
- package/radio/radio.scss +60 -27
- package/select/_select-theme.nvl.scss +55 -0
- package/select/_select-theme.scss +6 -0
- package/select/select.component.d.ts +1 -1
- package/select/select.scss +51 -27
- package/sidepanel/_sidepanel-theme.nvl.scss +67 -0
- package/splitter/_splitter-theme.nvl.scss +31 -0
- package/table/_table-theme.nvl.scss +65 -0
- package/table/_table-theme.scss +0 -1
- package/tabs/_tabs-theme.nvl.scss +240 -0
- package/tabs/tabs.module.d.ts +5 -4
- package/tags/_tag-theme.nvl.scss +100 -0
- package/tags/_tag-theme.scss +0 -1
- package/tags/tag-list.scss +23 -7
- package/tags/tag.scss +21 -69
- package/textarea/_textarea-theme.nvl.scss +37 -0
- package/timezone/_timezone-option-theme.nvl.scss +34 -0
- package/toast/_toast-theme.nvl.scss +61 -0
- package/toggle/_toggle-theme.nvl.scss +98 -0
- package/toggle/_toggle-theme.scss +0 -3
- package/toggle/toggle.component.d.ts +2 -1
- package/toggle/toggle.scss +51 -76
- package/tooltip/_tooltip-theme.nvl.scss +49 -0
- package/tooltip/tooltip.component.d.ts +5 -2
- package/tooltip/tooltip.scss +10 -39
- package/tree/_tree-theme.nvl.scss +69 -0
- package/tree-select/_tree-select-theme.nvl.scss +41 -0
- package/tree-select/_tree-select-theme.scss +6 -0
- package/tree-select/tree-select.component.d.ts +2 -2
- package/tree-select/tree-select.scss +13 -0
- package/core/styles/theming/_alerts.scss +0 -166
@@ -5,15 +5,25 @@ import { ObserversModule } from '@angular/cdk/observers';
|
|
5
5
|
import { PlatformModule } from '@angular/cdk/platform';
|
6
6
|
import { CommonModule } from '@angular/common';
|
7
7
|
import * as i0 from '@angular/core';
|
8
|
-
import { Directive, SkipSelf, ContentChildren, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, NgModule } from '@angular/core';
|
8
|
+
import { Directive, SkipSelf, ContentChildren, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, NgModule } from '@angular/core';
|
9
9
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
10
|
-
import { mixinTabIndex, mixinColor } from '@ptsecurity/mosaic/core';
|
10
|
+
import { mixinTabIndex, mixinColor, KbqComponentColors } from '@ptsecurity/mosaic/core';
|
11
11
|
import { McIcon } from '@ptsecurity/mosaic/icon';
|
12
12
|
|
13
|
+
var KbqButtonStyles;
|
14
|
+
(function (KbqButtonStyles) {
|
15
|
+
KbqButtonStyles["Filled"] = "filled";
|
16
|
+
KbqButtonStyles["Outline"] = "outline";
|
17
|
+
KbqButtonStyles["Transparent"] = "transparent";
|
18
|
+
})(KbqButtonStyles || (KbqButtonStyles = {}));
|
13
19
|
const leftIconClassName = 'mc-icon_left';
|
14
20
|
const rightIconClassName = 'mc-icon_right';
|
15
|
-
const buttonLeftIconClassName = 'mc-
|
16
|
-
const buttonRightIconClassName = 'mc-
|
21
|
+
const buttonLeftIconClassName = 'mc-button-icon_left';
|
22
|
+
const buttonRightIconClassName = 'mc-button-icon_right';
|
23
|
+
const getNodesWithoutComments = (nodes) => {
|
24
|
+
const COMMENT_NODE = 8;
|
25
|
+
return Array.from(nodes).filter((node) => node.nodeType !== COMMENT_NODE);
|
26
|
+
};
|
17
27
|
class McButtonCssStyler {
|
18
28
|
constructor(elementRef, renderer, cdr) {
|
19
29
|
this.renderer = renderer;
|
@@ -28,9 +38,7 @@ class McButtonCssStyler {
|
|
28
38
|
this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);
|
29
39
|
this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);
|
30
40
|
const twoIcons = 2;
|
31
|
-
const
|
32
|
-
const filteredNodesWithoutComments = Array.from(this.nativeElement.querySelector('.mc-button-wrapper').childNodes)
|
33
|
-
.filter((node) => node.nodeType !== COMMENT_NODE);
|
41
|
+
const filteredNodesWithoutComments = getNodesWithoutComments(this.nativeElement.querySelector('.mc-button-wrapper').childNodes);
|
34
42
|
const currentIsIconButtonValue = !!this.icons.length &&
|
35
43
|
this.icons.length === filteredNodesWithoutComments.length && this.icons.length <= twoIcons;
|
36
44
|
if (currentIsIconButtonValue !== this.isIconButton) {
|
@@ -55,15 +63,15 @@ class McButtonCssStyler {
|
|
55
63
|
}
|
56
64
|
}
|
57
65
|
}
|
58
|
-
/** @nocollapse */ McButtonCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
59
|
-
/** @nocollapse */ McButtonCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
66
|
+
/** @nocollapse */ McButtonCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McButtonCssStyler, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
|
67
|
+
/** @nocollapse */ McButtonCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McButtonCssStyler, selector: "[mc-button]", host: { properties: { "class.mc-button": "!isIconButton", "class.mc-button-icon": "isIconButton" } }, queries: [{ propertyName: "icons", predicate: i0.forwardRef(function () { return McIcon; }) }], ngImport: i0 });
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McButtonCssStyler, decorators: [{
|
61
69
|
type: Directive,
|
62
70
|
args: [{
|
63
71
|
selector: '[mc-button]',
|
64
72
|
host: {
|
65
73
|
'[class.mc-button]': '!isIconButton',
|
66
|
-
'[class.mc-icon
|
74
|
+
'[class.mc-button-icon]': 'isIconButton'
|
67
75
|
}
|
68
76
|
}]
|
69
77
|
}], ctorParameters: function () {
|
@@ -72,7 +80,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
72
80
|
}] }];
|
73
81
|
}, propDecorators: { icons: [{
|
74
82
|
type: ContentChildren,
|
75
|
-
args: [
|
83
|
+
args: [(forwardRef(() => McIcon))]
|
76
84
|
}] } });
|
77
85
|
/** @docs-private */
|
78
86
|
class McButtonBase {
|
@@ -81,16 +89,23 @@ class McButtonBase {
|
|
81
89
|
}
|
82
90
|
}
|
83
91
|
/** @docs-private */
|
84
|
-
const McButtonMixinBase = mixinTabIndex(mixinColor(McButtonBase));
|
92
|
+
const McButtonMixinBase = mixinTabIndex(mixinColor(McButtonBase, KbqComponentColors.ContrastFade));
|
85
93
|
class McButton extends McButtonMixinBase {
|
86
94
|
constructor(elementRef, focusMonitor, styler) {
|
87
95
|
super(elementRef);
|
88
96
|
this.focusMonitor = focusMonitor;
|
89
97
|
this.styler = styler;
|
90
98
|
this.hasFocus = false;
|
99
|
+
this._kbqStyle = KbqButtonStyles.Filled;
|
91
100
|
this._disabled = false;
|
92
101
|
this.runFocusMonitor();
|
93
102
|
}
|
103
|
+
get kbqStyle() {
|
104
|
+
return `kbq-button_${this._kbqStyle}`;
|
105
|
+
}
|
106
|
+
set kbqStyle(value) {
|
107
|
+
this._kbqStyle = value || KbqButtonStyles.Filled;
|
108
|
+
}
|
94
109
|
get disabled() {
|
95
110
|
return this._disabled;
|
96
111
|
}
|
@@ -136,34 +151,37 @@ class McButton extends McButtonMixinBase {
|
|
136
151
|
this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
|
137
152
|
}
|
138
153
|
}
|
139
|
-
/** @nocollapse */ McButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
140
|
-
/** @nocollapse */ McButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
154
|
+
/** @nocollapse */ McButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McButton, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: McButtonCssStyler }], target: i0.ɵɵFactoryTarget.Component });
|
155
|
+
/** @nocollapse */ McButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McButton, selector: "[mc-button]", inputs: { color: "color", tabIndex: "tabIndex", kbqStyle: "kbqStyle", disabled: "disabled" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur()" }, properties: { "attr.disabled": "disabled || null", "attr.tabIndex": "tabIndex", "class": "kbqStyle" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"mc-button-wrapper\" (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content></ng-content>\n</div>\n<div class=\"mc-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n", styles: [".mc-button,.mc-light-button,.mc-button-icon{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0;height:var(--mc-button-size-height, 32px);min-height:var(--mc-button-size-height, 32px);white-space:nowrap;text-decoration:none;text-align:center;vertical-align:baseline;border:var(--mc-button-size-border-width, 2px) solid transparent;border-radius:var(--mc-button-size-border-radius, 8px)}.mc-button::-moz-focus-inner,.mc-light-button::-moz-focus-inner,.mc-button-icon::-moz-focus-inner{border:0}.mc-button:focus,.mc-light-button:focus,.mc-button-icon:focus{outline:none}[disabled].mc-button,[disabled].mc-light-button,[disabled].mc-button-icon{cursor:default}.cdk-focused.mc-button,.cdk-focused.mc-light-button,.cdk-focused.mc-button-icon{z-index:1}.mc-button .mc-button-wrapper,.mc-light-button .mc-button-wrapper,.mc-button-icon .mc-button-wrapper{display:flex;align-items:center}.mc-button .mc-icon_left,.mc-light-button .mc-icon_left,.mc-button-icon .mc-icon_left{margin-right:var(--mc-button-size-content-padding, 8px)}.mc-button .mc-icon_right,.mc-light-button .mc-icon_right,.mc-button-icon .mc-icon_right{margin-left:var(--mc-button-size-content-padding, 8px)}.mc-button{padding-left:calc(var(--mc-button-size-horizontal-padding, 12px) + 4px);padding-right:calc(var(--mc-button-size-horizontal-padding, 12px) + 4px)}.mc-button.mc-button-icon_left{padding-left:var(--mc-button-size-horizontal-padding, 12px)}.mc-button.mc-button-icon_right{padding-right:var(--mc-button-size-horizontal-padding, 12px)}.mc-button-icon{padding-left:calc(var(--mc-button-icon-size-horizontal-padding, 8px) - var(--mc-button-size-border-width, 2px));padding-right:calc(var(--mc-button-icon-size-horizontal-padding, 8px) - var(--mc-button-size-border-width, 2px))}.mc-button-overlay{position:absolute;inset:-2px;border-radius:inherit}\n"], dependencies: [{ kind: "directive", type: i2.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
156
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McButton, decorators: [{
|
142
157
|
type: Component,
|
143
158
|
args: [{ selector: '[mc-button]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color', 'tabIndex'], host: {
|
144
159
|
'[attr.disabled]': 'disabled || null',
|
145
160
|
'[attr.tabIndex]': 'tabIndex',
|
161
|
+
'[class]': 'kbqStyle',
|
146
162
|
'(focus)': 'onFocus($event)',
|
147
163
|
'(blur)': 'onBlur()'
|
148
|
-
}, template: "<div class=\"mc-button-wrapper\" (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content></ng-content>\n</div>\n<div class=\"mc-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n", styles: [".mc-button,.mc-light-button,.mc-icon
|
149
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: McButtonCssStyler }]; }, propDecorators: {
|
164
|
+
}, template: "<div class=\"mc-button-wrapper\" (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content></ng-content>\n</div>\n<div class=\"mc-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n", styles: [".mc-button,.mc-light-button,.mc-button-icon{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0;height:var(--mc-button-size-height, 32px);min-height:var(--mc-button-size-height, 32px);white-space:nowrap;text-decoration:none;text-align:center;vertical-align:baseline;border:var(--mc-button-size-border-width, 2px) solid transparent;border-radius:var(--mc-button-size-border-radius, 8px)}.mc-button::-moz-focus-inner,.mc-light-button::-moz-focus-inner,.mc-button-icon::-moz-focus-inner{border:0}.mc-button:focus,.mc-light-button:focus,.mc-button-icon:focus{outline:none}[disabled].mc-button,[disabled].mc-light-button,[disabled].mc-button-icon{cursor:default}.cdk-focused.mc-button,.cdk-focused.mc-light-button,.cdk-focused.mc-button-icon{z-index:1}.mc-button .mc-button-wrapper,.mc-light-button .mc-button-wrapper,.mc-button-icon .mc-button-wrapper{display:flex;align-items:center}.mc-button .mc-icon_left,.mc-light-button .mc-icon_left,.mc-button-icon .mc-icon_left{margin-right:var(--mc-button-size-content-padding, 8px)}.mc-button .mc-icon_right,.mc-light-button .mc-icon_right,.mc-button-icon .mc-icon_right{margin-left:var(--mc-button-size-content-padding, 8px)}.mc-button{padding-left:calc(var(--mc-button-size-horizontal-padding, 12px) + 4px);padding-right:calc(var(--mc-button-size-horizontal-padding, 12px) + 4px)}.mc-button.mc-button-icon_left{padding-left:var(--mc-button-size-horizontal-padding, 12px)}.mc-button.mc-button-icon_right{padding-right:var(--mc-button-size-horizontal-padding, 12px)}.mc-button-icon{padding-left:calc(var(--mc-button-icon-size-horizontal-padding, 8px) - var(--mc-button-size-border-width, 2px));padding-right:calc(var(--mc-button-icon-size-horizontal-padding, 8px) - var(--mc-button-size-border-width, 2px))}.mc-button-overlay{position:absolute;inset:-2px;border-radius:inherit}\n"] }]
|
165
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: McButtonCssStyler }]; }, propDecorators: { kbqStyle: [{
|
166
|
+
type: Input
|
167
|
+
}], disabled: [{
|
150
168
|
type: Input
|
151
169
|
}] } });
|
152
170
|
|
153
171
|
class McButtonModule {
|
154
172
|
}
|
155
|
-
/** @nocollapse */ McButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
156
|
-
/** @nocollapse */ McButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
173
|
+
/** @nocollapse */ McButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
174
|
+
/** @nocollapse */ McButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McButtonModule, declarations: [McButton,
|
157
175
|
McButtonCssStyler], imports: [CommonModule,
|
158
176
|
A11yModule,
|
159
177
|
PlatformModule,
|
160
178
|
ObserversModule], exports: [McButton,
|
161
179
|
McButtonCssStyler] });
|
162
|
-
/** @nocollapse */ McButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
180
|
+
/** @nocollapse */ McButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McButtonModule, imports: [CommonModule,
|
163
181
|
A11yModule,
|
164
182
|
PlatformModule,
|
165
183
|
ObserversModule] });
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McButtonModule, decorators: [{
|
167
185
|
type: NgModule,
|
168
186
|
args: [{
|
169
187
|
imports: [
|
@@ -187,5 +205,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
187
205
|
* Generated bundle index. Do not edit.
|
188
206
|
*/
|
189
207
|
|
190
|
-
export { McButton, McButtonBase, McButtonCssStyler, McButtonMixinBase, McButtonModule, buttonLeftIconClassName, buttonRightIconClassName, leftIconClassName, rightIconClassName };
|
208
|
+
export { KbqButtonStyles, McButton, McButtonBase, McButtonCssStyler, McButtonMixinBase, McButtonModule, buttonLeftIconClassName, buttonRightIconClassName, getNodesWithoutComments, leftIconClassName, rightIconClassName };
|
191
209
|
//# sourceMappingURL=ptsecurity-mosaic-button.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-button.mjs","sources":["../../../packages/mosaic/button/button.component.ts","../../../packages/mosaic/button/button.component.html","../../../packages/mosaic/button/button.module.ts","../../../packages/mosaic/button/ptsecurity-mosaic-button.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n OnDestroy,\n ViewEncapsulation,\n Renderer2,\n QueryList,\n ContentChildren,\n AfterContentInit,\n SkipSelf,\n Input\n} from '@angular/core';\nimport {\n mixinColor,\n mixinTabIndex,\n CanColor,\n CanDisable,\n CanColorCtor,\n HasTabIndexCtor\n} from '@ptsecurity/mosaic/core';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\n\n\nexport const leftIconClassName = 'mc-icon_left';\nexport const rightIconClassName = 'mc-icon_right';\n\nexport const buttonLeftIconClassName = 'mc-icon-button_left';\nexport const buttonRightIconClassName = 'mc-icon-button_right';\n\n@Directive({\n selector: '[mc-button]',\n host: {\n '[class.mc-button]': '!isIconButton',\n '[class.mc-icon-button]': 'isIconButton'\n }\n})\nexport class McButtonCssStyler implements AfterContentInit {\n @ContentChildren(McIcon, { descendants: true }) icons: QueryList<McIcon>;\n\n nativeElement: HTMLElement;\n\n isIconButton: boolean = false;\n\n constructor(elementRef: ElementRef, private renderer: Renderer2, @SkipSelf() private cdr: ChangeDetectorRef) {\n this.nativeElement = elementRef.nativeElement;\n }\n\n ngAfterContentInit() {\n this.updateClassModifierForIcons();\n }\n\n updateClassModifierForIcons() {\n this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);\n this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);\n\n const twoIcons = 2;\n const COMMENT_NODE = 8;\n const filteredNodesWithoutComments = Array.from(\n this.nativeElement.querySelector('.mc-button-wrapper')!.childNodes as NodeList\n )\n .filter((node) => node.nodeType !== COMMENT_NODE);\n const currentIsIconButtonValue = !!this.icons.length &&\n this.icons.length === filteredNodesWithoutComments.length && this.icons.length <= twoIcons;\n\n if (currentIsIconButtonValue !== this.isIconButton) {\n this.isIconButton = currentIsIconButtonValue;\n this.cdr.detectChanges();\n }\n\n if (this.icons.length && filteredNodesWithoutComments.length > 1) {\n this.icons.map((item) => item.getHostElement())\n .forEach((iconHostElement) => {\n this.renderer.removeClass(iconHostElement, leftIconClassName);\n this.renderer.removeClass(iconHostElement, rightIconClassName);\n\n const iconIndex = filteredNodesWithoutComments.findIndex(\n (node) => node === iconHostElement\n );\n\n if (iconIndex === 0) {\n this.renderer.addClass(iconHostElement, leftIconClassName);\n this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);\n }\n\n if (iconIndex === filteredNodesWithoutComments.length - 1) {\n this.renderer.addClass(iconHostElement, rightIconClassName);\n this.renderer.addClass(this.nativeElement, buttonRightIconClassName);\n }\n });\n }\n\n }\n}\n\n/** @docs-private */\nexport class McButtonBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const McButtonMixinBase: HasTabIndexCtor & CanColorCtor &\n typeof McButtonBase = mixinTabIndex(mixinColor(McButtonBase));\n\n\n@Component({\n selector: '[mc-button]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['color', 'tabIndex'],\n host: {\n '[attr.disabled]': 'disabled || null',\n '[attr.tabIndex]': 'tabIndex',\n\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur()'\n }\n})\nexport class McButton extends McButtonMixinBase implements OnDestroy, CanDisable, CanColor {\n hasFocus: boolean = false;\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n\n this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();\n }\n\n private _disabled: boolean = false;\n\n constructor(elementRef: ElementRef, private focusMonitor: FocusMonitor, private styler: McButtonCssStyler) {\n super(elementRef);\n\n this.runFocusMonitor();\n }\n\n ngOnDestroy() {\n this.stopFocusMonitor();\n }\n\n onFocus($event) {\n $event.stopPropagation();\n\n this.hasFocus = true;\n }\n\n onBlur() {\n this.hasFocus = false;\n }\n\n getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n focus(): void {\n this.hasFocus = true;\n\n this.getHostElement().focus();\n }\n\n focusViaKeyboard(): void {\n this.hasFocus = true;\n\n this.focusMonitor.focusVia(this.getHostElement(), 'keyboard');\n }\n\n haltDisabledEvents(event: Event) {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n event.stopPropagation();\n }\n }\n\n projectContentChanged() {\n this.styler.updateClassModifierForIcons();\n }\n\n private runFocusMonitor() {\n this.focusMonitor.monitor(this.elementRef.nativeElement, true);\n }\n\n private stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n}\n\n","<div class=\"mc-button-wrapper\" (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content></ng-content>\n</div>\n<div class=\"mc-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n McButton,\n McButtonCssStyler\n} from './button.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule,\n ObserversModule\n ],\n exports: [\n McButton,\n McButtonCssStyler\n ],\n declarations: [\n McButton,\n McButtonCssStyler\n ]\n})\nexport class McButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-button.mjs","sources":["../../../packages/mosaic/button/button.component.ts","../../../packages/mosaic/button/button.component.html","../../../packages/mosaic/button/button.module.ts","../../../packages/mosaic/button/ptsecurity-mosaic-button.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n OnDestroy,\n ViewEncapsulation,\n Renderer2,\n QueryList,\n ContentChildren,\n AfterContentInit,\n SkipSelf,\n Input, forwardRef\n} from '@angular/core';\nimport {\n mixinColor,\n mixinTabIndex,\n CanColor,\n CanDisable,\n CanColorCtor,\n HasTabIndexCtor,\n KbqComponentColors\n} from '@ptsecurity/mosaic/core';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\n\n\nexport enum KbqButtonStyles {\n Filled = 'filled',\n Outline = 'outline',\n Transparent = 'transparent'\n}\n\n\nexport const leftIconClassName = 'mc-icon_left';\nexport const rightIconClassName = 'mc-icon_right';\n\nexport const buttonLeftIconClassName = 'mc-button-icon_left';\nexport const buttonRightIconClassName = 'mc-button-icon_right';\n\nexport const getNodesWithoutComments = (nodes: NodeList): Node[] => {\n const COMMENT_NODE = 8;\n\n return Array.from(nodes).filter((node) => node.nodeType !== COMMENT_NODE);\n};\n\n@Directive({\n selector: '[mc-button]',\n host: {\n '[class.mc-button]': '!isIconButton',\n '[class.mc-button-icon]': 'isIconButton'\n }\n})\nexport class McButtonCssStyler implements AfterContentInit {\n @ContentChildren((forwardRef(() => McIcon))) icons: QueryList<McIcon>;\n\n nativeElement: HTMLElement;\n\n isIconButton: boolean = false;\n\n constructor(elementRef: ElementRef, private renderer: Renderer2, @SkipSelf() private cdr: ChangeDetectorRef) {\n this.nativeElement = elementRef.nativeElement;\n }\n\n ngAfterContentInit() {\n this.updateClassModifierForIcons();\n }\n\n updateClassModifierForIcons() {\n this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);\n this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);\n\n const twoIcons = 2;\n const filteredNodesWithoutComments = getNodesWithoutComments(\n this.nativeElement.querySelector('.mc-button-wrapper')!.childNodes as NodeList\n );\n\n const currentIsIconButtonValue = !!this.icons.length &&\n this.icons.length === filteredNodesWithoutComments.length && this.icons.length <= twoIcons;\n\n if (currentIsIconButtonValue !== this.isIconButton) {\n this.isIconButton = currentIsIconButtonValue;\n this.cdr.detectChanges();\n }\n\n if (this.icons.length && filteredNodesWithoutComments.length > 1) {\n this.icons.map((item) => item.getHostElement())\n .forEach((iconHostElement) => {\n this.renderer.removeClass(iconHostElement, leftIconClassName);\n this.renderer.removeClass(iconHostElement, rightIconClassName);\n\n const iconIndex = filteredNodesWithoutComments.findIndex(\n (node) => node === iconHostElement\n );\n\n if (iconIndex === 0) {\n this.renderer.addClass(iconHostElement, leftIconClassName);\n this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);\n }\n\n if (iconIndex === filteredNodesWithoutComments.length - 1) {\n this.renderer.addClass(iconHostElement, rightIconClassName);\n this.renderer.addClass(this.nativeElement, buttonRightIconClassName);\n }\n });\n }\n\n }\n}\n\n/** @docs-private */\nexport class McButtonBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const McButtonMixinBase: HasTabIndexCtor & CanColorCtor &\n typeof McButtonBase = mixinTabIndex(mixinColor(McButtonBase, KbqComponentColors.ContrastFade));\n\n\n@Component({\n selector: '[mc-button]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['color', 'tabIndex'],\n host: {\n '[attr.disabled]': 'disabled || null',\n '[attr.tabIndex]': 'tabIndex',\n '[class]': 'kbqStyle',\n\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur()'\n }\n})\nexport class McButton extends McButtonMixinBase implements OnDestroy, CanDisable, CanColor {\n hasFocus: boolean = false;\n\n @Input()\n get kbqStyle(): string {\n return `kbq-button_${this._kbqStyle}`;\n }\n\n set kbqStyle(value: string | KbqButtonStyles) {\n this._kbqStyle = value || KbqButtonStyles.Filled;\n }\n\n private _kbqStyle: string | KbqButtonStyles = KbqButtonStyles.Filled;\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n\n this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();\n }\n\n private _disabled: boolean = false;\n\n constructor(elementRef: ElementRef, private focusMonitor: FocusMonitor, private styler: McButtonCssStyler) {\n super(elementRef);\n\n this.runFocusMonitor();\n }\n\n ngOnDestroy() {\n this.stopFocusMonitor();\n }\n\n onFocus($event) {\n $event.stopPropagation();\n\n this.hasFocus = true;\n }\n\n onBlur() {\n this.hasFocus = false;\n }\n\n getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n focus(): void {\n this.hasFocus = true;\n\n this.getHostElement().focus();\n }\n\n focusViaKeyboard(): void {\n this.hasFocus = true;\n\n this.focusMonitor.focusVia(this.getHostElement(), 'keyboard');\n }\n\n haltDisabledEvents(event: Event) {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n event.stopPropagation();\n }\n }\n\n projectContentChanged() {\n this.styler.updateClassModifierForIcons();\n }\n\n private runFocusMonitor() {\n this.focusMonitor.monitor(this.elementRef.nativeElement, true);\n }\n\n private stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n}\n\n","<div class=\"mc-button-wrapper\" (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content></ng-content>\n</div>\n<div class=\"mc-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n McButton,\n McButtonCssStyler\n} from './button.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule,\n ObserversModule\n ],\n exports: [\n McButton,\n McButtonCssStyler\n ],\n declarations: [\n McButton,\n McButtonCssStyler\n ]\n})\nexport class McButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -59,9 +59,9 @@ class McCard extends McCardBaseMixin {
|
|
59
59
|
return this.elementRef.nativeElement;
|
60
60
|
}
|
61
61
|
}
|
62
|
-
/** @nocollapse */ McCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
63
|
-
/** @nocollapse */ McCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
62
|
+
/** @nocollapse */ McCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCard, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
|
63
|
+
/** @nocollapse */ McCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McCard, selector: "mc-card", inputs: { color: "color", readonly: "readonly", selected: "selected", tabIndex: "tabIndex" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "class.mc-card_readonly": "readonly", "class.mc-selected": "selected", "attr.tabindex": "tabIndex" }, classAttribute: "mc-card" }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<div class=\"mc-card__overlay\"></div>\n", styles: [".mc-card{position:relative;box-sizing:border-box;display:flex;flex-direction:column;cursor:pointer;border-left-width:var(--mc-card-size-vertical-line, 4px);border-left-style:solid;border-left-color:transparent}.mc-card:focus{outline:none}.mc-card .mc-card__overlay{inset:0;position:absolute;pointer-events:none;background:transparent}.mc-card.mc-card_readonly{cursor:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCard, decorators: [{
|
65
65
|
type: Component,
|
66
66
|
args: [{ selector: 'mc-card', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color'], host: {
|
67
67
|
class: 'mc-card',
|
@@ -83,14 +83,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
83
83
|
|
84
84
|
class McCardModule {
|
85
85
|
}
|
86
|
-
/** @nocollapse */ McCardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
87
|
-
/** @nocollapse */ McCardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
86
|
+
/** @nocollapse */ McCardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
87
|
+
/** @nocollapse */ McCardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McCardModule, declarations: [McCard], imports: [CommonModule,
|
88
88
|
A11yModule,
|
89
89
|
PlatformModule], exports: [McCard] });
|
90
|
-
/** @nocollapse */ McCardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
90
|
+
/** @nocollapse */ McCardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCardModule, imports: [CommonModule,
|
91
91
|
A11yModule,
|
92
92
|
PlatformModule] });
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCardModule, decorators: [{
|
94
94
|
type: NgModule,
|
95
95
|
args: [{
|
96
96
|
imports: [
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { InjectionToken, forwardRef, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Inject, Input, Output, ViewChild, Directive, NgModule } from '@angular/core';
|
3
3
|
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, CheckboxRequiredValidator } from '@angular/forms';
|
4
|
-
import { mixinTabIndex, mixinColor, mixinDisabled,
|
4
|
+
import { mixinTabIndex, mixinColor, mixinDisabled, KbqComponentColors, toBoolean } from '@ptsecurity/mosaic/core';
|
5
5
|
import * as i1 from '@angular/cdk/a11y';
|
6
6
|
import { CommonModule } from '@angular/common';
|
7
7
|
|
@@ -48,7 +48,7 @@ class McCheckboxBase {
|
|
48
48
|
}
|
49
49
|
}
|
50
50
|
/** @docs-private */
|
51
|
-
const McCheckboxMixinBase = mixinTabIndex(mixinColor(mixinDisabled(McCheckboxBase),
|
51
|
+
const McCheckboxMixinBase = mixinTabIndex(mixinColor(mixinDisabled(McCheckboxBase), KbqComponentColors.Theme));
|
52
52
|
/**
|
53
53
|
* A mosaic checkbox component. Supports all of the functionality of an HTML5 checkbox,
|
54
54
|
* and exposes a similar API. A McCheckbox can be either checked, unchecked, indeterminate, or
|
@@ -62,6 +62,7 @@ class McCheckbox extends McCheckboxMixinBase {
|
|
62
62
|
this.changeDetectorRef = changeDetectorRef;
|
63
63
|
this.focusMonitor = focusMonitor;
|
64
64
|
this.clickAction = clickAction;
|
65
|
+
this.big = false;
|
65
66
|
/** Whether the label should appear after or before the checkbox. Defaults to 'after' */
|
66
67
|
this.labelPosition = 'after';
|
67
68
|
/** Name value will be applied to the input element if present */
|
@@ -259,20 +260,21 @@ class McCheckbox extends McCheckboxMixinBase {
|
|
259
260
|
}
|
260
261
|
}
|
261
262
|
}
|
262
|
-
/** @nocollapse */ McCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
263
|
-
/** @nocollapse */ McCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
264
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
263
|
+
/** @nocollapse */ McCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCheckbox, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: MC_CHECKBOX_CLICK_ACTION, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
264
|
+
/** @nocollapse */ McCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McCheckbox, selector: "mc-checkbox", inputs: { color: "color", tabIndex: "tabIndex", big: "big", id: "id", labelPosition: "labelPosition", name: "name", value: "value", required: "required", checked: "checked", disabled: "disabled", indeterminate: "indeterminate" }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "id": "id", "attr.id": "id", "attr.disabled": "disabled", "class.mc-checkbox_big": "big", "class.mc-indeterminate": "indeterminate", "class.mc-checked": "checked", "class.mc-disabled": "disabled", "class.mc-checkbox_label-before": "labelPosition == \"before\"" }, classAttribute: "mc-checkbox" }, providers: [MC_CHECKBOX_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["mcCheckbox"], usesInheritance: true, ngImport: i0, template: "<label [attr.for]=\"inputId\" class=\"mc-checkbox__layout\" #label>\n <div class=\"mc-checkbox__inner-container\"\n [class.mc-checkbox__inner-container_no-side-margin]=\"!checkboxLabel.textContent || !checkboxLabel.textContent.trim()\">\n <input #input\n type=\"checkbox\"\n class=\"mc-checkbox-input cdk-visually-hidden\"\n [id]=\"inputId\"\n [required]=\"required\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [indeterminate]=\"indeterminate\"\n [attr.aria-checked]=\"getAriaChecked()\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\">\n <div class=\"mc-checkbox__frame\">\n <i class=\"mc-checkbox-checkmark mc mc-check_16\"></i>\n <i class=\"mc-checkbox-mixedmark mc mc-minus_16\"></i>\n </div>\n </div>\n\n <div class=\"mc-checkbox__text-container\">\n <span class=\"mc-checkbox-label\" #checkboxLabel (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content></ng-content>\n </span>\n\n <ng-content select=\"mc-hint\"></ng-content>\n </div>\n</label>\n", styles: [".mc-checkbox-checkmark,.mc-checkbox-mixedmark{display:none;position:absolute;inset:-1px 0 0 -1px}.mc-checkbox__frame{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;background-color:transparent;border-radius:var(--mc-checkbox-size-normal-border-radius, 4px);border-width:var(--mc-checkbox-size-normal-border-width, 1px);border-style:solid}.mc-checkbox__layout{position:relative;display:inline-flex;cursor:inherit;padding-left:calc(var(--mc-checkbox-size-normal-width, 16px) + var(--mc-checkbox-size-normal-horizontal-content-padding, 8px));vertical-align:top}.mc-checkbox__inner-container{display:inline-block;position:absolute;top:0;left:0;height:var(--mc-checkbox-size-normal-width, 16px);width:var(--mc-checkbox-size-normal-width, 16px)}.mc-checkbox{display:inline-block;cursor:pointer;-webkit-tap-highlight-color:transparent}.mc-checkbox.mc-checked .mc-checkbox-checkmark{display:block}.mc-checkbox.mc-checked .mc-checkbox-mixedmark,.mc-checkbox.mc-indeterminate .mc-checkbox-checkmark{display:none}.mc-checkbox.mc-indeterminate .mc-checkbox-mixedmark{display:block}.mc-checkbox.mc-disabled{cursor:default}.mc-checkbox.mc-disabled .mc-checkbox__frame{box-shadow:none}.mc-checkbox .mc-hint{margin-top:var(--mc-checkbox-size-normal-vertical-content-padding, 2px)}.mc-checkbox.mc-checkbox_big .mc-checkbox__layout{padding-left:calc(var(--mc-checkbox-size-normal-width, 16px) + var(--mc-checkbox-size-normal-horizontal-content-padding, 8px))}.mc-checkbox.mc-checkbox_big .mc-checkbox__inner-container{top:2px;height:var(--mc-checkbox-size-big-width, 16px);width:var(--mc-checkbox-size-big-width, 16px)}.mc-checkbox.mc-checkbox_big .mc-checkbox__frame{border-radius:var(--mc-checkbox-size-big-border-radius, 4px);border-width:var(--mc-checkbox-size-big-border-width, 1px);border-style:solid}.mc-checkbox.mc-checkbox_big .mc-hint{margin-top:var(--mc-checkbox-size-big-vertical-content-padding, 2px)}.mc-checkbox__text-container{display:flex;flex-direction:column}.mc-checkbox__inner-container_no-side-margin{margin-left:0;margin-right:0}.mc-checkbox_label-before .mc-checkbox__layout{padding-left:0;padding-right:calc(var(--mc-checkbox-size-normal-width, 16px) + var(--mc-checkbox-size-normal-horizontal-content-padding, 8px))}.mc-checkbox_label-before .mc-checkbox__inner-container{right:0;left:unset}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCheckbox, decorators: [{
|
265
266
|
type: Component,
|
266
267
|
args: [{ selector: 'mc-checkbox', exportAs: 'mcCheckbox', host: {
|
267
268
|
class: 'mc-checkbox',
|
268
269
|
'[id]': 'id',
|
269
270
|
'[attr.id]': 'id',
|
270
271
|
'[attr.disabled]': 'disabled',
|
272
|
+
'[class.mc-checkbox_big]': 'big',
|
271
273
|
'[class.mc-indeterminate]': 'indeterminate',
|
272
274
|
'[class.mc-checked]': 'checked',
|
273
275
|
'[class.mc-disabled]': 'disabled',
|
274
|
-
'[class.mc-
|
275
|
-
}, providers: [MC_CHECKBOX_CONTROL_VALUE_ACCESSOR], inputs: ['color', 'tabIndex'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<label [attr.for]=\"inputId\" class=\"mc-
|
276
|
+
'[class.mc-checkbox_label-before]': 'labelPosition == "before"'
|
277
|
+
}, providers: [MC_CHECKBOX_CONTROL_VALUE_ACCESSOR], inputs: ['color', 'tabIndex'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<label [attr.for]=\"inputId\" class=\"mc-checkbox__layout\" #label>\n <div class=\"mc-checkbox__inner-container\"\n [class.mc-checkbox__inner-container_no-side-margin]=\"!checkboxLabel.textContent || !checkboxLabel.textContent.trim()\">\n <input #input\n type=\"checkbox\"\n class=\"mc-checkbox-input cdk-visually-hidden\"\n [id]=\"inputId\"\n [required]=\"required\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [indeterminate]=\"indeterminate\"\n [attr.aria-checked]=\"getAriaChecked()\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\">\n <div class=\"mc-checkbox__frame\">\n <i class=\"mc-checkbox-checkmark mc mc-check_16\"></i>\n <i class=\"mc-checkbox-mixedmark mc mc-minus_16\"></i>\n </div>\n </div>\n\n <div class=\"mc-checkbox__text-container\">\n <span class=\"mc-checkbox-label\" #checkboxLabel (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content></ng-content>\n </span>\n\n <ng-content select=\"mc-hint\"></ng-content>\n </div>\n</label>\n", styles: [".mc-checkbox-checkmark,.mc-checkbox-mixedmark{display:none;position:absolute;inset:-1px 0 0 -1px}.mc-checkbox__frame{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;background-color:transparent;border-radius:var(--mc-checkbox-size-normal-border-radius, 4px);border-width:var(--mc-checkbox-size-normal-border-width, 1px);border-style:solid}.mc-checkbox__layout{position:relative;display:inline-flex;cursor:inherit;padding-left:calc(var(--mc-checkbox-size-normal-width, 16px) + var(--mc-checkbox-size-normal-horizontal-content-padding, 8px));vertical-align:top}.mc-checkbox__inner-container{display:inline-block;position:absolute;top:0;left:0;height:var(--mc-checkbox-size-normal-width, 16px);width:var(--mc-checkbox-size-normal-width, 16px)}.mc-checkbox{display:inline-block;cursor:pointer;-webkit-tap-highlight-color:transparent}.mc-checkbox.mc-checked .mc-checkbox-checkmark{display:block}.mc-checkbox.mc-checked .mc-checkbox-mixedmark,.mc-checkbox.mc-indeterminate .mc-checkbox-checkmark{display:none}.mc-checkbox.mc-indeterminate .mc-checkbox-mixedmark{display:block}.mc-checkbox.mc-disabled{cursor:default}.mc-checkbox.mc-disabled .mc-checkbox__frame{box-shadow:none}.mc-checkbox .mc-hint{margin-top:var(--mc-checkbox-size-normal-vertical-content-padding, 2px)}.mc-checkbox.mc-checkbox_big .mc-checkbox__layout{padding-left:calc(var(--mc-checkbox-size-normal-width, 16px) + var(--mc-checkbox-size-normal-horizontal-content-padding, 8px))}.mc-checkbox.mc-checkbox_big .mc-checkbox__inner-container{top:2px;height:var(--mc-checkbox-size-big-width, 16px);width:var(--mc-checkbox-size-big-width, 16px)}.mc-checkbox.mc-checkbox_big .mc-checkbox__frame{border-radius:var(--mc-checkbox-size-big-border-radius, 4px);border-width:var(--mc-checkbox-size-big-border-width, 1px);border-style:solid}.mc-checkbox.mc-checkbox_big .mc-hint{margin-top:var(--mc-checkbox-size-big-vertical-content-padding, 2px)}.mc-checkbox__text-container{display:flex;flex-direction:column}.mc-checkbox__inner-container_no-side-margin{margin-left:0;margin-right:0}.mc-checkbox_label-before .mc-checkbox__layout{padding-left:0;padding-right:calc(var(--mc-checkbox-size-normal-width, 16px) + var(--mc-checkbox-size-normal-horizontal-content-padding, 8px))}.mc-checkbox_label-before .mc-checkbox__inner-container{right:0;left:unset}\n"] }]
|
276
278
|
}], ctorParameters: function () {
|
277
279
|
return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: undefined, decorators: [{
|
278
280
|
type: Optional
|
@@ -280,7 +282,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
280
282
|
type: Inject,
|
281
283
|
args: [MC_CHECKBOX_CLICK_ACTION]
|
282
284
|
}] }];
|
283
|
-
}, propDecorators: {
|
285
|
+
}, propDecorators: { big: [{
|
286
|
+
type: Input
|
287
|
+
}], id: [{
|
284
288
|
type: Input
|
285
289
|
}], labelPosition: [{
|
286
290
|
type: Input
|
@@ -317,9 +321,9 @@ const MC_CHECKBOX_REQUIRED_VALIDATOR = {
|
|
317
321
|
*/
|
318
322
|
class McCheckboxRequiredValidator extends CheckboxRequiredValidator {
|
319
323
|
}
|
320
|
-
/** @nocollapse */ McCheckboxRequiredValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
321
|
-
/** @nocollapse */ McCheckboxRequiredValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
322
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
324
|
+
/** @nocollapse */ McCheckboxRequiredValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCheckboxRequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
325
|
+
/** @nocollapse */ McCheckboxRequiredValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McCheckboxRequiredValidator, selector: "mc-checkbox[required][formControlName],\n mc-checkbox[required][formControl], mc-checkbox[required][ngModel]", host: { properties: { "attr.required": "required ? \"\" : null" } }, providers: [MC_CHECKBOX_REQUIRED_VALIDATOR], usesInheritance: true, ngImport: i0 });
|
326
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCheckboxRequiredValidator, decorators: [{
|
323
327
|
type: Directive,
|
324
328
|
args: [{
|
325
329
|
selector: `mc-checkbox[required][formControlName],
|
@@ -331,10 +335,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
331
335
|
|
332
336
|
class McCheckboxModule {
|
333
337
|
}
|
334
|
-
/** @nocollapse */ McCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
335
|
-
/** @nocollapse */ McCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
336
|
-
/** @nocollapse */ McCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
337
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
338
|
+
/** @nocollapse */ McCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
339
|
+
/** @nocollapse */ McCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McCheckboxModule, declarations: [McCheckbox, McCheckboxRequiredValidator], imports: [CommonModule], exports: [McCheckbox, McCheckboxRequiredValidator] });
|
340
|
+
/** @nocollapse */ McCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCheckboxModule, imports: [CommonModule] });
|
341
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCheckboxModule, decorators: [{
|
338
342
|
type: NgModule,
|
339
343
|
args: [{
|
340
344
|
imports: [CommonModule],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-checkbox.mjs","sources":["../../../packages/mosaic/checkbox/checkbox-config.ts","../../../packages/mosaic/checkbox/checkbox.ts","../../../packages/mosaic/checkbox/checkbox.html","../../../packages/mosaic/checkbox/checkbox-required-validator.ts","../../../packages/mosaic/checkbox/checkbox-module.ts","../../../packages/mosaic/checkbox/ptsecurity-mosaic-checkbox.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\n\n/**\n * Checkbox click action when user click on input element.\n * noop: Do not toggle checked or indeterminate.\n * check: Only toggle checked status, ignore indeterminate.\n * check-indeterminate: Toggle checked status, set indeterminate to false. Default behavior.\n * undefined: Same as `check-indeterminate`.\n */\nexport type McCheckboxClickAction = 'noop' | 'check' | 'check-indeterminate' | undefined;\n\n/**\n * Injection token that can be used to specify the checkbox click behavior.\n */\nexport const MC_CHECKBOX_CLICK_ACTION =\n new InjectionToken<McCheckboxClickAction>('mc-checkbox-click-action');\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n CanColor,\n CanColorCtor,\n CanDisable,\n CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinColor,\n mixinDisabled,\n mixinTabIndex,\n ThemePalette,\n toBoolean\n} from '@ptsecurity/mosaic/core';\n\nimport { MC_CHECKBOX_CLICK_ACTION, McCheckboxClickAction } from './checkbox-config';\n\n\n// Increasing integer for generating unique ids for checkbox components.\nlet nextUniqueId = 0;\n\n/**\n * Provider Expression that allows mc-checkbox to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const MC_CHECKBOX_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => McCheckbox),\n multi: true\n};\n\n/**\n * Represents the different states that require custom transitions between them.\n * @docs-private\n */\nexport enum TransitionCheckState {\n /** The initial state of the component before any user interaction. */\n Init,\n /** The state representing the component when it's becoming checked. */\n Checked,\n /** The state representing the component when it's becoming unchecked. */\n Unchecked,\n /** The state representing the component when it's becoming indeterminate. */\n Indeterminate\n}\n\n/** Change event object emitted by McCheckbox. */\nexport class McCheckboxChange {\n /** The source McCheckbox of the event. */\n source: McCheckbox;\n /** The new `checked` value of the checkbox. */\n checked: boolean;\n}\n\n// Boilerplate for applying mixins to McCheckbox.\n/** @docs-private */\nexport class McCheckboxBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const McCheckboxMixinBase:\n HasTabIndexCtor &\n CanColorCtor &\n CanDisableCtor &\n typeof McCheckboxBase = mixinTabIndex(mixinColor(mixinDisabled(McCheckboxBase), ThemePalette.Primary));\n\n\n/**\n * A mosaic checkbox component. Supports all of the functionality of an HTML5 checkbox,\n * and exposes a similar API. A McCheckbox can be either checked, unchecked, indeterminate, or\n * disabled. Note that all additional accessibility attributes are taken care of by the component,\n * so there is no need to provide them yourself. However, if you want to omit a label and still\n * have the checkbox be accessible, you may supply an [aria-label] input.\n */\n@Component({\n selector: 'mc-checkbox',\n exportAs: 'mcCheckbox',\n templateUrl: 'checkbox.html',\n styleUrls: ['checkbox.scss'],\n host: {\n class: 'mc-checkbox',\n '[id]': 'id',\n '[attr.id]': 'id',\n '[attr.disabled]': 'disabled',\n '[class.mc-indeterminate]': 'indeterminate',\n '[class.mc-checked]': 'checked',\n '[class.mc-disabled]': 'disabled',\n '[class.mc-checkbox-label-before]': 'labelPosition == \"before\"'\n },\n providers: [MC_CHECKBOX_CONTROL_VALUE_ACCESSOR],\n inputs: ['color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McCheckbox extends McCheckboxMixinBase implements ControlValueAccessor,\n AfterViewInit, OnDestroy, CanColor, CanDisable, HasTabIndex {\n\n /** A unique id for the checkbox input. If none is supplied, it will be auto-generated. */\n @Input() id: string;\n\n /** Whether the label should appear after or before the checkbox. Defaults to 'after' */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Name value will be applied to the input element if present */\n @Input() name: string | null = null;\n\n /** Event emitted when the checkbox's `checked` value changes. */\n @Output() readonly change: EventEmitter<McCheckboxChange> = new EventEmitter<McCheckboxChange>();\n\n /** Event emitted when the checkbox's `indeterminate` value changes. */\n @Output() readonly indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** The value attribute of the native input element */\n @Input() value: string;\n\n /** The native `<input type=\"checkbox\">` element */\n @ViewChild('input', { static: false }) inputElement: ElementRef;\n\n /** Returns the unique id for the visual hidden input. */\n get inputId(): string {\n return `${this.id || this.uniqueId}-input`;\n }\n\n /** Whether the checkbox is required. */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = toBoolean(value);\n }\n\n private _required: boolean;\n\n /**\n * Whether the checkbox is checked.\n */\n @Input()\n get checked(): boolean {\n return this._checked;\n }\n\n set checked(value: boolean) {\n if (value !== this.checked) {\n this._checked = value;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private _checked: boolean = false;\n\n /**\n * Whether the checkbox is disabled. This fully overrides the implementation provided by\n * mixinDisabled, but the mixin is still required because mixinTabIndex requires it.\n */\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n if (value !== this.disabled) {\n this._disabled = value;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private _disabled: boolean = false;\n\n /**\n * Whether the checkbox is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n @Input()\n get indeterminate(): boolean {\n return this._indeterminate;\n }\n\n set indeterminate(value: boolean) {\n const changed = value !== this._indeterminate;\n this._indeterminate = value;\n\n if (changed) {\n if (this._indeterminate) {\n this.transitionCheckState(TransitionCheckState.Indeterminate);\n } else {\n this.transitionCheckState(\n this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n }\n\n this.indeterminateChange.emit(this._indeterminate);\n }\n }\n\n private _indeterminate: boolean = false;\n\n private uniqueId: string = `mc-checkbox-${++nextUniqueId}`;\n\n private currentAnimationClass: string = '';\n\n private currentCheckState: TransitionCheckState = TransitionCheckState.Init;\n\n constructor(\n elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n @Optional() @Inject(MC_CHECKBOX_CLICK_ACTION) private clickAction: McCheckboxClickAction\n ) {\n super(elementRef);\n\n this.id = this.uniqueId;\n }\n\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @docs-private\n */\n // tslint:disable-next-line:no-empty\n onTouched: () => any = () => {};\n\n ngAfterViewInit() {\n this.focusMonitor\n .monitor(this.inputElement.nativeElement)\n .subscribe((focusOrigin) => this.onInputFocusChange(focusOrigin));\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.inputElement.nativeElement);\n }\n\n /** Method being called whenever the label text changes. */\n onLabelTextChange() {\n // This method is getting called whenever the label of the checkbox changes.\n // Since the checkbox uses the OnPush strategy we need to notify it about the change\n // that has been recognized by the cdkObserveContent directive.\n this.changeDetectorRef.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n writeValue(value: any) {\n this.checked = !!value;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n getAriaChecked(): 'true' | 'false' | 'mixed' {\n return this.checked ? 'true' : (this.indeterminate ? 'mixed' : 'false');\n }\n\n /** Toggles the `checked` state of the checkbox. */\n toggle(): void {\n this.checked = !this.checked;\n }\n\n /**\n * Event handler for checkbox input element.\n * Toggles checked state if element is not disabled.\n * Do not toggle on (change) event since IE doesn't fire change event when\n * indeterminate checkbox is clicked.\n * @param event Input click event\n */\n onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `checkbox` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n\n // If resetIndeterminate is false, and the current state is indeterminate, do nothing on click\n if (!this.disabled && this.clickAction !== 'noop') {\n // When user manually click on the checkbox, `indeterminate` is set to false.\n if (this.indeterminate && this.clickAction !== 'check') {\n\n Promise.resolve().then(() => {\n this._indeterminate = false;\n this.indeterminateChange.emit(this._indeterminate);\n });\n }\n\n this.toggle();\n this.transitionCheckState(\n this._checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this.emitChangeEvent();\n } else if (!this.disabled && this.clickAction === 'noop') {\n // Reset native input when clicked with noop. The native checkbox becomes checked after\n // click, reset it to be align with `checked` value of `mc-checkbox`.\n this.inputElement.nativeElement.checked = this.checked;\n this.inputElement.nativeElement.indeterminate = this.indeterminate;\n }\n }\n\n /** Focuses the checkbox. */\n focus(): void {\n this.focusMonitor.focusVia(this.inputElement.nativeElement, 'keyboard');\n }\n\n onInteractionEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n }\n // tslint:disable-next-line:no-empty\n private controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n private transitionCheckState(newState: TransitionCheckState) {\n const oldState = this.currentCheckState;\n const element: HTMLElement = this.elementRef.nativeElement;\n\n if (oldState === newState) { return; }\n\n if (this.currentAnimationClass.length > 0) {\n element.classList.remove(this.currentAnimationClass);\n }\n\n this.currentCheckState = newState;\n\n if (this.currentAnimationClass.length > 0) {\n element.classList.add(this.currentAnimationClass);\n }\n }\n\n private emitChangeEvent() {\n const event = new McCheckboxChange();\n event.source = this;\n event.checked = this.checked;\n\n this.controlValueAccessorChangeFn(this.checked);\n this.change.emit(event);\n }\n\n /** Function is called whenever the focus changes for the input element. */\n private onInputFocusChange(focusOrigin: FocusOrigin) {\n if (focusOrigin) {\n this.onTouched();\n }\n }\n}\n","<label [attr.for]=\"inputId\" class=\"mc-checkbox-layout\" #label>\n <div class=\"mc-checkbox-inner-container\"\n [class.mc-checkbox-inner-container-no-side-margin]=\"!checkboxLabel.textContent || !checkboxLabel.textContent.trim()\">\n <input #input\n type=\"checkbox\"\n class=\"mc-checkbox-input cdk-visually-hidden\"\n [id]=\"inputId\"\n [required]=\"required\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [indeterminate]=\"indeterminate\"\n [attr.aria-checked]=\"getAriaChecked()\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\">\n <div class=\"mc-checkbox-frame\">\n <i class=\"mc-checkbox-checkmark mc mc-check_16\"></i>\n <i class=\"mc-checkbox-mixedmark mc mc-minus_16\"></i>\n </div>\n <div class=\"mc-checkbox-overlay\"></div>\n </div>\n\n <div class=\"mc-checkbox__text-container\">\n <span class=\"mc-checkbox-label\" #checkboxLabel (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content></ng-content>\n </span>\n\n <ng-content select=\"mc-hint\"></ng-content>\n </div>\n</label>\n","import {\n Directive,\n forwardRef,\n Provider\n} from '@angular/core';\nimport {\n CheckboxRequiredValidator,\n NG_VALIDATORS\n} from '@angular/forms';\n\n\nexport const MC_CHECKBOX_REQUIRED_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => McCheckboxRequiredValidator),\n multi: true\n};\n\n/**\n * Validator for Mosaic checkbox's required attribute in template-driven checkbox.\n * Current CheckboxRequiredValidator only work with `input type=checkbox` and does not\n * work with `mc-checkbox`.\n */\n@Directive({\n selector: `mc-checkbox[required][formControlName],\n mc-checkbox[required][formControl], mc-checkbox[required][ngModel]`,\n providers: [MC_CHECKBOX_REQUIRED_VALIDATOR],\n host: { '[attr.required]': 'required ? \"\" : null' }\n})\nexport class McCheckboxRequiredValidator extends CheckboxRequiredValidator {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McCheckbox } from './checkbox';\nimport { McCheckboxRequiredValidator } from './checkbox-required-validator';\n\n\n@NgModule({\n imports: [CommonModule],\n exports: [McCheckbox, McCheckboxRequiredValidator],\n declarations: [McCheckbox, McCheckboxRequiredValidator]\n})\nexport class McCheckboxModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-checkbox.mjs","sources":["../../../packages/mosaic/checkbox/checkbox-config.ts","../../../packages/mosaic/checkbox/checkbox.ts","../../../packages/mosaic/checkbox/checkbox.html","../../../packages/mosaic/checkbox/checkbox-required-validator.ts","../../../packages/mosaic/checkbox/checkbox-module.ts","../../../packages/mosaic/checkbox/ptsecurity-mosaic-checkbox.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\n\n/**\n * Checkbox click action when user click on input element.\n * noop: Do not toggle checked or indeterminate.\n * check: Only toggle checked status, ignore indeterminate.\n * check-indeterminate: Toggle checked status, set indeterminate to false. Default behavior.\n * undefined: Same as `check-indeterminate`.\n */\nexport type McCheckboxClickAction = 'noop' | 'check' | 'check-indeterminate' | undefined;\n\n/**\n * Injection token that can be used to specify the checkbox click behavior.\n */\nexport const MC_CHECKBOX_CLICK_ACTION =\n new InjectionToken<McCheckboxClickAction>('mc-checkbox-click-action');\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n CanColor,\n CanColorCtor,\n CanDisable,\n CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinColor,\n mixinDisabled,\n mixinTabIndex,\n KbqComponentColors,\n toBoolean\n} from '@ptsecurity/mosaic/core';\n\nimport { MC_CHECKBOX_CLICK_ACTION, McCheckboxClickAction } from './checkbox-config';\n\n\n// Increasing integer for generating unique ids for checkbox components.\nlet nextUniqueId = 0;\n\n/**\n * Provider Expression that allows mc-checkbox to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const MC_CHECKBOX_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => McCheckbox),\n multi: true\n};\n\n/**\n * Represents the different states that require custom transitions between them.\n * @docs-private\n */\nexport enum TransitionCheckState {\n /** The initial state of the component before any user interaction. */\n Init,\n /** The state representing the component when it's becoming checked. */\n Checked,\n /** The state representing the component when it's becoming unchecked. */\n Unchecked,\n /** The state representing the component when it's becoming indeterminate. */\n Indeterminate\n}\n\n/** Change event object emitted by McCheckbox. */\nexport class McCheckboxChange {\n /** The source McCheckbox of the event. */\n source: McCheckbox;\n /** The new `checked` value of the checkbox. */\n checked: boolean;\n}\n\n// Boilerplate for applying mixins to McCheckbox.\n/** @docs-private */\nexport class McCheckboxBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const McCheckboxMixinBase:\n HasTabIndexCtor &\n CanColorCtor &\n CanDisableCtor &\n typeof McCheckboxBase = mixinTabIndex(mixinColor(mixinDisabled(McCheckboxBase), KbqComponentColors.Theme));\n\n\n/**\n * A mosaic checkbox component. Supports all of the functionality of an HTML5 checkbox,\n * and exposes a similar API. A McCheckbox can be either checked, unchecked, indeterminate, or\n * disabled. Note that all additional accessibility attributes are taken care of by the component,\n * so there is no need to provide them yourself. However, if you want to omit a label and still\n * have the checkbox be accessible, you may supply an [aria-label] input.\n */\n@Component({\n selector: 'mc-checkbox',\n exportAs: 'mcCheckbox',\n templateUrl: 'checkbox.html',\n styleUrls: ['checkbox.scss'],\n host: {\n class: 'mc-checkbox',\n '[id]': 'id',\n '[attr.id]': 'id',\n '[attr.disabled]': 'disabled',\n '[class.mc-checkbox_big]': 'big',\n '[class.mc-indeterminate]': 'indeterminate',\n '[class.mc-checked]': 'checked',\n '[class.mc-disabled]': 'disabled',\n '[class.mc-checkbox_label-before]': 'labelPosition == \"before\"'\n },\n providers: [MC_CHECKBOX_CONTROL_VALUE_ACCESSOR],\n inputs: ['color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McCheckbox extends McCheckboxMixinBase implements ControlValueAccessor,\n AfterViewInit, OnDestroy, CanColor, CanDisable, HasTabIndex {\n\n @Input() big: boolean = false;\n\n /** A unique id for the checkbox input. If none is supplied, it will be auto-generated. */\n @Input() id: string;\n\n /** Whether the label should appear after or before the checkbox. Defaults to 'after' */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Name value will be applied to the input element if present */\n @Input() name: string | null = null;\n\n /** Event emitted when the checkbox's `checked` value changes. */\n @Output() readonly change: EventEmitter<McCheckboxChange> = new EventEmitter<McCheckboxChange>();\n\n /** Event emitted when the checkbox's `indeterminate` value changes. */\n @Output() readonly indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** The value attribute of the native input element */\n @Input() value: string;\n\n /** The native `<input type=\"checkbox\">` element */\n @ViewChild('input', { static: false }) inputElement: ElementRef;\n\n /** Returns the unique id for the visual hidden input. */\n get inputId(): string {\n return `${this.id || this.uniqueId}-input`;\n }\n\n /** Whether the checkbox is required. */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = toBoolean(value);\n }\n\n private _required: boolean;\n\n /**\n * Whether the checkbox is checked.\n */\n @Input()\n get checked(): boolean {\n return this._checked;\n }\n\n set checked(value: boolean) {\n if (value !== this.checked) {\n this._checked = value;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private _checked: boolean = false;\n\n /**\n * Whether the checkbox is disabled. This fully overrides the implementation provided by\n * mixinDisabled, but the mixin is still required because mixinTabIndex requires it.\n */\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n if (value !== this.disabled) {\n this._disabled = value;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private _disabled: boolean = false;\n\n /**\n * Whether the checkbox is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n @Input()\n get indeterminate(): boolean {\n return this._indeterminate;\n }\n\n set indeterminate(value: boolean) {\n const changed = value !== this._indeterminate;\n this._indeterminate = value;\n\n if (changed) {\n if (this._indeterminate) {\n this.transitionCheckState(TransitionCheckState.Indeterminate);\n } else {\n this.transitionCheckState(\n this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n }\n\n this.indeterminateChange.emit(this._indeterminate);\n }\n }\n\n private _indeterminate: boolean = false;\n\n private uniqueId: string = `mc-checkbox-${++nextUniqueId}`;\n\n private currentAnimationClass: string = '';\n\n private currentCheckState: TransitionCheckState = TransitionCheckState.Init;\n\n constructor(\n elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n @Optional() @Inject(MC_CHECKBOX_CLICK_ACTION) private clickAction: McCheckboxClickAction\n ) {\n super(elementRef);\n\n this.id = this.uniqueId;\n }\n\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @docs-private\n */\n // tslint:disable-next-line:no-empty\n onTouched: () => any = () => {};\n\n ngAfterViewInit() {\n this.focusMonitor\n .monitor(this.inputElement.nativeElement)\n .subscribe((focusOrigin) => this.onInputFocusChange(focusOrigin));\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.inputElement.nativeElement);\n }\n\n /** Method being called whenever the label text changes. */\n onLabelTextChange() {\n // This method is getting called whenever the label of the checkbox changes.\n // Since the checkbox uses the OnPush strategy we need to notify it about the change\n // that has been recognized by the cdkObserveContent directive.\n this.changeDetectorRef.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n writeValue(value: any) {\n this.checked = !!value;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n getAriaChecked(): 'true' | 'false' | 'mixed' {\n return this.checked ? 'true' : (this.indeterminate ? 'mixed' : 'false');\n }\n\n /** Toggles the `checked` state of the checkbox. */\n toggle(): void {\n this.checked = !this.checked;\n }\n\n /**\n * Event handler for checkbox input element.\n * Toggles checked state if element is not disabled.\n * Do not toggle on (change) event since IE doesn't fire change event when\n * indeterminate checkbox is clicked.\n * @param event Input click event\n */\n onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `checkbox` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n\n // If resetIndeterminate is false, and the current state is indeterminate, do nothing on click\n if (!this.disabled && this.clickAction !== 'noop') {\n // When user manually click on the checkbox, `indeterminate` is set to false.\n if (this.indeterminate && this.clickAction !== 'check') {\n\n Promise.resolve().then(() => {\n this._indeterminate = false;\n this.indeterminateChange.emit(this._indeterminate);\n });\n }\n\n this.toggle();\n this.transitionCheckState(\n this._checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this.emitChangeEvent();\n } else if (!this.disabled && this.clickAction === 'noop') {\n // Reset native input when clicked with noop. The native checkbox becomes checked after\n // click, reset it to be align with `checked` value of `mc-checkbox`.\n this.inputElement.nativeElement.checked = this.checked;\n this.inputElement.nativeElement.indeterminate = this.indeterminate;\n }\n }\n\n /** Focuses the checkbox. */\n focus(): void {\n this.focusMonitor.focusVia(this.inputElement.nativeElement, 'keyboard');\n }\n\n onInteractionEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n }\n // tslint:disable-next-line:no-empty\n private controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n private transitionCheckState(newState: TransitionCheckState) {\n const oldState = this.currentCheckState;\n const element: HTMLElement = this.elementRef.nativeElement;\n\n if (oldState === newState) { return; }\n\n if (this.currentAnimationClass.length > 0) {\n element.classList.remove(this.currentAnimationClass);\n }\n\n this.currentCheckState = newState;\n\n if (this.currentAnimationClass.length > 0) {\n element.classList.add(this.currentAnimationClass);\n }\n }\n\n private emitChangeEvent() {\n const event = new McCheckboxChange();\n event.source = this;\n event.checked = this.checked;\n\n this.controlValueAccessorChangeFn(this.checked);\n this.change.emit(event);\n }\n\n /** Function is called whenever the focus changes for the input element. */\n private onInputFocusChange(focusOrigin: FocusOrigin) {\n if (focusOrigin) {\n this.onTouched();\n }\n }\n}\n","<label [attr.for]=\"inputId\" class=\"mc-checkbox__layout\" #label>\n <div class=\"mc-checkbox__inner-container\"\n [class.mc-checkbox__inner-container_no-side-margin]=\"!checkboxLabel.textContent || !checkboxLabel.textContent.trim()\">\n <input #input\n type=\"checkbox\"\n class=\"mc-checkbox-input cdk-visually-hidden\"\n [id]=\"inputId\"\n [required]=\"required\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [indeterminate]=\"indeterminate\"\n [attr.aria-checked]=\"getAriaChecked()\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\">\n <div class=\"mc-checkbox__frame\">\n <i class=\"mc-checkbox-checkmark mc mc-check_16\"></i>\n <i class=\"mc-checkbox-mixedmark mc mc-minus_16\"></i>\n </div>\n </div>\n\n <div class=\"mc-checkbox__text-container\">\n <span class=\"mc-checkbox-label\" #checkboxLabel (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content></ng-content>\n </span>\n\n <ng-content select=\"mc-hint\"></ng-content>\n </div>\n</label>\n","import {\n Directive,\n forwardRef,\n Provider\n} from '@angular/core';\nimport {\n CheckboxRequiredValidator,\n NG_VALIDATORS\n} from '@angular/forms';\n\n\nexport const MC_CHECKBOX_REQUIRED_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => McCheckboxRequiredValidator),\n multi: true\n};\n\n/**\n * Validator for Mosaic checkbox's required attribute in template-driven checkbox.\n * Current CheckboxRequiredValidator only work with `input type=checkbox` and does not\n * work with `mc-checkbox`.\n */\n@Directive({\n selector: `mc-checkbox[required][formControlName],\n mc-checkbox[required][formControl], mc-checkbox[required][ngModel]`,\n providers: [MC_CHECKBOX_REQUIRED_VALIDATOR],\n host: { '[attr.required]': 'required ? \"\" : null' }\n})\nexport class McCheckboxRequiredValidator extends CheckboxRequiredValidator {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McCheckbox } from './checkbox';\nimport { McCheckboxRequiredValidator } from './checkbox-required-validator';\n\n\n@NgModule({\n imports: [CommonModule],\n exports: [McCheckbox, McCheckboxRequiredValidator],\n declarations: [McCheckbox, McCheckboxRequiredValidator]\n})\nexport class McCheckboxModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|