@koobiq/components 18.38.1 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion-content.d.ts +2 -2
- package/accordion/accordion-content.directive.d.ts +11 -0
- package/accordion/accordion-header.d.ts +2 -2
- package/accordion/accordion-header.directive.d.ts +7 -0
- package/accordion/accordion-item.d.ts +2 -2
- package/accordion/accordion-item.directive.d.ts +72 -0
- package/accordion/accordion-root.directive.d.ts +64 -0
- package/accordion/accordion-trigger.component.d.ts +2 -2
- package/accordion/accordion-trigger.directive.d.ts +13 -0
- package/accordion/accordion.component.d.ts +2 -4
- package/accordion/accordion.module.d.ts +7 -7
- package/accordion/public-api.d.ts +5 -0
- package/alert/_alert-theme.scss +4 -16
- package/alert/alert-tokens.scss +6 -12
- package/alert/alert.component.d.ts +5 -12
- package/alert/alert.module.d.ts +4 -4
- package/app-switcher/app-switcher.d.ts +4 -4
- package/autocomplete/autocomplete-origin.directive.d.ts +1 -1
- package/autocomplete/autocomplete-trigger.directive.d.ts +1 -1
- package/autocomplete/autocomplete.component.d.ts +1 -1
- package/autocomplete/autocomplete.module.d.ts +7 -7
- package/badge/badge.component.d.ts +3 -3
- package/badge/badge.module.d.ts +4 -4
- package/breadcrumbs/breadcrumbs.d.ts +3 -2
- package/breadcrumbs/public-api.d.ts +2 -0
- package/breadcrumbs/roving-focus-group.directive.d.ts +50 -0
- package/breadcrumbs/roving-focus-item.directive.d.ts +50 -0
- package/breadcrumbs/utils.d.ts +19 -0
- package/button/button.component.d.ts +2 -2
- package/button/button.module.d.ts +6 -6
- package/button-toggle/_button-toggle-theme.scss +30 -27
- package/button-toggle/button-toggle.component.d.ts +2 -2
- package/button-toggle/button-toggle.module.d.ts +4 -4
- package/button-toggle/button-toggle.scss +2 -2
- package/checkbox/checkbox-module.d.ts +4 -4
- package/checkbox/checkbox-required-validator.d.ts +1 -1
- package/checkbox/checkbox.d.ts +1 -1
- package/code-block/code-block.scss +2 -2
- package/core/common-behaviors/index.d.ts +0 -1
- package/core/formatters/date/formatter.pipe.d.ts +13 -0
- package/core/formatters/index.d.ts +4 -4
- package/core/formatters/number/formatter.d.ts +3 -3
- package/core/forms/forms-module.d.ts +1 -1
- package/core/forms/forms.directive.d.ts +2 -2
- package/core/highlight/highlight.pipe.d.ts +1 -1
- package/core/highlight/index.d.ts +3 -3
- package/core/line/line.d.ts +1 -6
- package/core/option/_option-theme.scss +5 -2
- package/core/option/action.d.ts +1 -1
- package/core/option/optgroup.d.ts +1 -1
- package/core/option/option-module.d.ts +5 -5
- package/core/option/option.d.ts +4 -1
- package/core/pop-up/constants.d.ts +4 -0
- package/core/pop-up/pop-up-trigger.d.ts +5 -5
- package/core/pop-up/pop-up.d.ts +1 -1
- package/core/select/common.d.ts +1 -1
- package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +1 -1
- package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +3 -3
- package/core/styles/common/_select.scss +1 -1
- package/core/styles/theming/_scrollbar-theme.scss +18 -12
- package/core/styles/visual/_layout.scss +10 -0
- package/core/utils/utils.d.ts +3 -0
- package/datepicker/calendar-body.component.d.ts +1 -1
- package/datepicker/calendar-header.component.d.ts +1 -1
- package/datepicker/calendar.component.d.ts +1 -1
- package/datepicker/datepicker-input.directive.d.ts +1 -1
- package/datepicker/datepicker-module.d.ts +15 -15
- package/datepicker/datepicker-toggle.component.d.ts +2 -2
- package/datepicker/datepicker.component.d.ts +2 -2
- package/datepicker/month-view.component.d.ts +1 -1
- package/divider/divider.component.d.ts +5 -1
- package/divider/divider.module.d.ts +3 -3
- package/dl/dl.component.d.ts +3 -3
- package/dl/dl.module.d.ts +4 -4
- package/dropdown/dropdown-content.directive.d.ts +1 -1
- package/dropdown/dropdown-item.component.d.ts +1 -1
- package/dropdown/dropdown-trigger.directive.d.ts +1 -1
- package/dropdown/dropdown.component.d.ts +1 -1
- package/dropdown/dropdown.module.d.ts +8 -8
- package/dropdown/dropdown.scss +1 -0
- package/ellipsis-center/ellipsis-center.directive.d.ts +2 -2
- package/empty-state/empty-state.component.d.ts +5 -5
- package/empty-state/empty-state.module.d.ts +4 -4
- package/fesm2022/koobiq-components-accordion.mjs +459 -40
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +18 -18
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +28 -36
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +49 -52
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +31 -25
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +20 -21
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +339 -36
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +25 -22
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +25 -26
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +18 -16
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +9 -9
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +15 -16
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +55 -57
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +326 -356
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +107 -90
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +16 -14
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +19 -20
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +47 -48
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-dynamic-translation.mjs +16 -19
- package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +10 -10
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +26 -27
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +306 -98
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +258 -234
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +84 -92
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +18 -18
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +33 -37
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +31 -30
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link.mjs +11 -10
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +54 -46
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +27 -28
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +14 -14
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +76 -64
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar-ic.mjs +76 -54
- package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +77 -66
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +31 -32
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +16 -19
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +55 -46
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +18 -19
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +21 -23
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +20 -16
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-resizer.mjs +10 -12
- package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
- package/fesm2022/koobiq-components-risk-level.mjs +13 -12
- package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar.mjs +17 -18
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +19 -19
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +110 -73
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +16 -23
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +61 -55
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +12 -12
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +24 -25
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +17 -18
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +85 -89
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +43 -47
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +10 -11
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +38 -40
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +65 -14
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +68 -59
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +9 -10
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +23 -24
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +16 -14
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +20 -23
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +18 -20
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +81 -70
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +77 -66
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +31 -37
- package/fesm2022/koobiq-components-username.mjs.map +1 -1
- package/file-upload/file-upload.d.ts +11 -0
- package/file-upload/file-upload.module.d.ts +15 -15
- package/file-upload/multiple-file-upload.component.d.ts +12 -9
- package/file-upload/{file-drop.d.ts → primitives/file-drop.d.ts} +3 -3
- package/file-upload/primitives/file-picker.d.ts +82 -0
- package/file-upload/primitives/index.d.ts +2 -0
- package/file-upload/public-api.d.ts +2 -1
- package/file-upload/single-file-upload.component.d.ts +11 -8
- package/filter-bar/filter-bar.d.ts +1 -1
- package/filter-bar/filter-search.d.ts +17 -4
- package/icon/_icon-button-theme.scss +2 -1
- package/inline-edit/inline-edit.d.ts +2 -3
- package/input/_input-theme.scss +2 -1
- package/input/input-number-validators.d.ts +2 -2
- package/input/input-number.d.ts +1 -1
- package/input/input-password.d.ts +1 -1
- package/input/input.d.ts +2 -2
- package/input/input.module.d.ts +8 -8
- package/link/_link-theme.scss +3 -0
- package/link/link.component.d.ts +1 -1
- package/link/link.module.d.ts +3 -3
- package/list/_list-theme.scss +6 -0
- package/list/list-selection.component.d.ts +6 -4
- package/list/list.component.d.ts +2 -2
- package/list/list.module.d.ts +6 -6
- package/list/list.scss +1 -0
- package/loader-overlay/loader-overlay.component.d.ts +4 -4
- package/loader-overlay/loader-overlay.module.d.ts +5 -5
- package/modal/css-unit.pipe.d.ts +1 -1
- package/modal/modal.component.d.ts +1 -1
- package/modal/modal.directive.d.ts +4 -4
- package/modal/modal.module.d.ts +10 -10
- package/modal/modal.service.d.ts +1 -1
- package/navbar/_navbar-theme.scss +1 -0
- package/navbar/navbar-brand.component.d.ts +1 -1
- package/navbar/navbar-item.component.d.ts +7 -7
- package/navbar/navbar-toggle.component.d.ts +1 -1
- package/navbar/navbar-toggle.scss +1 -1
- package/navbar/navbar.component.d.ts +4 -4
- package/navbar/navbar.module.d.ts +10 -10
- package/navbar/vertical-navbar.component.d.ts +1 -1
- package/navbar/vertical-navbar.scss +5 -2
- package/navbar-ic/navbar-ic-header.d.ts +3 -0
- package/navbar-ic/navbar-ic-item.d.ts +18 -0
- package/navbar-ic/navbar-ic.d.ts +13 -7
- package/notification-center/notification-center.d.ts +5 -5
- package/overflow-items/overflow-items.d.ts +1 -1
- package/package.json +9 -140
- package/popover/popover-confirm.component.d.ts +2 -2
- package/popover/popover.component.d.ts +9 -9
- package/popover/popover.module.d.ts +9 -9
- package/popover/popover.scss +3 -2
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/progress-bar/progress-bar.component.d.ts +3 -3
- package/progress-bar/progress-bar.module.d.ts +3 -3
- package/progress-spinner/progress-spinner.component.d.ts +3 -3
- package/progress-spinner/progress-spinner.module.d.ts +4 -4
- package/progress-spinner/progress-spinner.scss +1 -0
- package/radio/_radio-theme.scss +2 -1
- package/radio/radio-tokens.scss +1 -0
- package/radio/radio.component.d.ts +10 -5
- package/radio/radio.module.d.ts +3 -3
- package/risk-level/risk-level.component.d.ts +1 -1
- package/risk-level/risk-level.module.d.ts +4 -4
- package/schematics/migrations/icons-replacement/README.md +5 -1
- package/schematics/migrations/icons-replacement/index.js +1 -1
- package/schematics/ng-add/index.js +4 -5
- package/scrollbar/_scrollbar-component-theme.scss +16 -14
- package/select/select-option.directive.d.ts +1 -1
- package/select/select.component.d.ts +6 -5
- package/select/select.module.d.ts +10 -10
- package/sidebar/sidebar.component.d.ts +3 -3
- package/sidebar/sidebar.module.d.ts +3 -3
- package/sidepanel/sidepanel-container.component.d.ts +1 -1
- package/sidepanel/sidepanel-directives.d.ts +5 -5
- package/sidepanel/sidepanel.module.d.ts +9 -9
- package/splitter/splitter.component.d.ts +4 -4
- package/splitter/splitter.module.d.ts +3 -3
- package/table/_table-theme.scss +1 -0
- package/table/table.component.d.ts +2 -2
- package/table/table.module.d.ts +4 -4
- package/tabs/paginated-tab-header.d.ts +1 -1
- package/tabs/tab-body.component.d.ts +2 -2
- package/tabs/tab-content.directive.d.ts +1 -1
- package/tabs/tab-group.component.d.ts +5 -5
- package/tabs/tab-header.component.d.ts +1 -1
- package/tabs/tab-label-wrapper.directive.d.ts +1 -1
- package/tabs/tab-label.directive.d.ts +1 -1
- package/tabs/tab.component.d.ts +3 -3
- package/tabs/tabs.module.d.ts +15 -15
- package/tags/tag-input.d.ts +1 -1
- package/tags/tag-list.component.d.ts +1 -1
- package/tags/tag.component.d.ts +4 -4
- package/tags/tag.module.d.ts +4 -4
- package/textarea/textarea.component.d.ts +1 -1
- package/textarea/textarea.module.d.ts +4 -4
- package/timepicker/timepicker.directive.d.ts +15 -5
- package/timepicker/timepicker.module.d.ts +5 -5
- package/timezone/cities-by-filter.pipe.d.ts +1 -1
- package/timezone/timezone-option.component.d.ts +1 -1
- package/timezone/timezone-option.directive.d.ts +1 -1
- package/timezone/timezone-select.component.d.ts +2 -2
- package/timezone/timezone.module.d.ts +15 -15
- package/timezone/utc-offset.pipe.d.ts +1 -1
- package/title/title.directive.d.ts +1 -1
- package/title/title.module.d.ts +3 -3
- package/toggle/toggle.component.d.ts +1 -1
- package/toggle/toggle.module.d.ts +3 -3
- package/tooltip/tooltip.component.d.ts +3 -3
- package/top-bar/top-bar.d.ts +1 -1
- package/tree/node.d.ts +1 -1
- package/tree/outlet.d.ts +1 -1
- package/tree/padding.directive.d.ts +1 -1
- package/tree/toggle.d.ts +3 -3
- package/tree/tree-base.d.ts +2 -2
- package/tree/tree-option.component.d.ts +1 -1
- package/tree/tree-selection.component.d.ts +1 -1
- package/tree/tree.d.ts +1 -1
- package/tree/tree.module.d.ts +11 -11
- package/tree-select/tree-select.component.d.ts +2 -2
- package/tree-select/tree-select.module.d.ts +9 -9
- package/core/common-behaviors/focus-monitor.d.ts +0 -19
- package/esm2022/accordion/accordion-content.mjs +0 -19
- package/esm2022/accordion/accordion-header.mjs +0 -19
- package/esm2022/accordion/accordion-item.mjs +0 -25
- package/esm2022/accordion/accordion-trigger.component.mjs +0 -48
- package/esm2022/accordion/accordion.component.mjs +0 -41
- package/esm2022/accordion/accordion.module.mjs +0 -44
- package/esm2022/accordion/index.mjs +0 -2
- package/esm2022/accordion/koobiq-components-accordion.mjs +0 -5
- package/esm2022/accordion/public-api.mjs +0 -7
- package/esm2022/actions-panel/actions-panel-config.mjs +0 -55
- package/esm2022/actions-panel/actions-panel-container.mjs +0 -217
- package/esm2022/actions-panel/actions-panel-ref.mjs +0 -78
- package/esm2022/actions-panel/actions-panel.mjs +0 -133
- package/esm2022/actions-panel/index.mjs +0 -6
- package/esm2022/actions-panel/koobiq-components-actions-panel.mjs +0 -5
- package/esm2022/actions-panel/module.mjs +0 -21
- package/esm2022/alert/alert.component.mjs +0 -124
- package/esm2022/alert/alert.module.mjs +0 -40
- package/esm2022/alert/index.mjs +0 -2
- package/esm2022/alert/koobiq-components-alert.mjs +0 -5
- package/esm2022/alert/public-api.mjs +0 -3
- package/esm2022/app-switcher/app-switcher-animations.mjs +0 -18
- package/esm2022/app-switcher/app-switcher-dropdown-app.mjs +0 -75
- package/esm2022/app-switcher/app-switcher-dropdown-site.mjs +0 -60
- package/esm2022/app-switcher/app-switcher.mjs +0 -446
- package/esm2022/app-switcher/app-switcher.module.mjs +0 -45
- package/esm2022/app-switcher/index.mjs +0 -2
- package/esm2022/app-switcher/kbq-app-switcher-list-item.mjs +0 -84
- package/esm2022/app-switcher/koobiq-components-app-switcher.mjs +0 -5
- package/esm2022/app-switcher/public-api.mjs +0 -7
- package/esm2022/autocomplete/autocomplete-origin.directive.mjs +0 -21
- package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +0 -540
- package/esm2022/autocomplete/autocomplete.component.mjs +0 -178
- package/esm2022/autocomplete/autocomplete.module.mjs +0 -38
- package/esm2022/autocomplete/index.mjs +0 -2
- package/esm2022/autocomplete/koobiq-components-autocomplete.mjs +0 -5
- package/esm2022/autocomplete/public-api.mjs +0 -5
- package/esm2022/badge/badge.component.mjs +0 -124
- package/esm2022/badge/badge.module.mjs +0 -36
- package/esm2022/badge/index.mjs +0 -2
- package/esm2022/badge/koobiq-components-badge.mjs +0 -5
- package/esm2022/badge/public-api.mjs +0 -3
- package/esm2022/breadcrumbs/breadcrumbs.mjs +0 -268
- package/esm2022/breadcrumbs/breadcrumbs.module.mjs +0 -31
- package/esm2022/breadcrumbs/breadcrumbs.types.mjs +0 -2
- package/esm2022/breadcrumbs/index.mjs +0 -2
- package/esm2022/breadcrumbs/koobiq-components-breadcrumbs.mjs +0 -5
- package/esm2022/breadcrumbs/public-api.mjs +0 -4
- package/esm2022/button/button.component.mjs +0 -180
- package/esm2022/button/button.dropdown-trigger.directive.mjs +0 -28
- package/esm2022/button/button.module.mjs +0 -41
- package/esm2022/button/index.mjs +0 -2
- package/esm2022/button/koobiq-components-button.mjs +0 -5
- package/esm2022/button/public-api.mjs +0 -4
- package/esm2022/button-toggle/button-toggle.component.mjs +0 -384
- package/esm2022/button-toggle/button-toggle.module.mjs +0 -19
- package/esm2022/button-toggle/index.mjs +0 -2
- package/esm2022/button-toggle/koobiq-components-button-toggle.mjs +0 -5
- package/esm2022/button-toggle/public-api.mjs +0 -3
- package/esm2022/checkbox/checkbox-config.mjs +0 -6
- package/esm2022/checkbox/checkbox-module.mjs +0 -19
- package/esm2022/checkbox/checkbox-required-validator.mjs +0 -27
- package/esm2022/checkbox/checkbox.mjs +0 -295
- package/esm2022/checkbox/index.mjs +0 -2
- package/esm2022/checkbox/koobiq-components-checkbox.mjs +0 -5
- package/esm2022/checkbox/public-api.mjs +0 -5
- package/esm2022/clamped-text/clamped-text.mjs +0 -202
- package/esm2022/clamped-text/constants.mjs +0 -20
- package/esm2022/clamped-text/index.mjs +0 -4
- package/esm2022/clamped-text/koobiq-components-clamped-text.mjs +0 -5
- package/esm2022/clamped-text/module.mjs +0 -19
- package/esm2022/code-block/code-block-highlight.mjs +0 -418
- package/esm2022/code-block/code-block.mjs +0 -440
- package/esm2022/code-block/code-block.module.mjs +0 -19
- package/esm2022/code-block/index.mjs +0 -2
- package/esm2022/code-block/koobiq-components-code-block.mjs +0 -5
- package/esm2022/code-block/public-api.mjs +0 -5
- package/esm2022/code-block/types.mjs +0 -2
- package/esm2022/content-panel/content-panel.mjs +0 -432
- package/esm2022/content-panel/index.mjs +0 -3
- package/esm2022/content-panel/koobiq-components-content-panel.mjs +0 -5
- package/esm2022/content-panel/module.mjs +0 -42
- package/esm2022/core/animation/animation.mjs +0 -39
- package/esm2022/core/animation/fade-animations.mjs +0 -9
- package/esm2022/core/animation/index.mjs +0 -4
- package/esm2022/core/animation/select-animations.mjs +0 -45
- package/esm2022/core/common-behaviors/checkbox.mjs +0 -2
- package/esm2022/core/common-behaviors/clipboard.mjs +0 -31
- package/esm2022/core/common-behaviors/color.mjs +0 -89
- package/esm2022/core/common-behaviors/common-module.mjs +0 -76
- package/esm2022/core/common-behaviors/constructor.mjs +0 -2
- package/esm2022/core/common-behaviors/disabled.mjs +0 -19
- package/esm2022/core/common-behaviors/error-state.mjs +0 -50
- package/esm2022/core/common-behaviors/focus-monitor.mjs +0 -37
- package/esm2022/core/common-behaviors/hover.mjs +0 -34
- package/esm2022/core/common-behaviors/index.mjs +0 -14
- package/esm2022/core/common-behaviors/orientation.mjs +0 -2
- package/esm2022/core/common-behaviors/read-state.mjs +0 -33
- package/esm2022/core/common-behaviors/size.mjs +0 -2
- package/esm2022/core/common-behaviors/tabindex.mjs +0 -20
- package/esm2022/core/datetime/date-adapter.mjs +0 -14
- package/esm2022/core/datetime/date-formats.mjs +0 -3
- package/esm2022/core/datetime/index.mjs +0 -3
- package/esm2022/core/error/error-state-matcher.mjs +0 -56
- package/esm2022/core/form-field/field-sizing-content.mjs +0 -117
- package/esm2022/core/form-field/form-field-ref.mjs +0 -10
- package/esm2022/core/form-field/index.mjs +0 -3
- package/esm2022/core/formatters/date/formatter.mjs +0 -25
- package/esm2022/core/formatters/date/formatter.pipe.mjs +0 -380
- package/esm2022/core/formatters/filesize/config.mjs +0 -32
- package/esm2022/core/formatters/filesize/formatter.mjs +0 -43
- package/esm2022/core/formatters/filesize/index.mjs +0 -4
- package/esm2022/core/formatters/filesize/size.mjs +0 -65
- package/esm2022/core/formatters/index.mjs +0 -146
- package/esm2022/core/formatters/number/formatter.mjs +0 -347
- package/esm2022/core/forms/forms-module.mjs +0 -24
- package/esm2022/core/forms/forms.directive.mjs +0 -66
- package/esm2022/core/forms/index.mjs +0 -4
- package/esm2022/core/forms/validators.mjs +0 -184
- package/esm2022/core/highlight/highlight.pipe.mjs +0 -23
- package/esm2022/core/highlight/index.mjs +0 -19
- package/esm2022/core/index.mjs +0 -2
- package/esm2022/core/koobiq-components-core.mjs +0 -5
- package/esm2022/core/line/line.mjs +0 -70
- package/esm2022/core/locales/en-US.mjs +0 -210
- package/esm2022/core/locales/es-LA.mjs +0 -209
- package/esm2022/core/locales/formatters.mjs +0 -193
- package/esm2022/core/locales/index.mjs +0 -10
- package/esm2022/core/locales/locale-service.mjs +0 -173
- package/esm2022/core/locales/locale-service.module.mjs +0 -19
- package/esm2022/core/locales/pt-BR.mjs +0 -209
- package/esm2022/core/locales/ru-RU.mjs +0 -224
- package/esm2022/core/locales/tk-TM.mjs +0 -210
- package/esm2022/core/locales/types.mjs +0 -2
- package/esm2022/core/navbar/index.mjs +0 -2
- package/esm2022/core/navbar/rectangle-item.mjs +0 -40
- package/esm2022/core/option/action-container.mjs +0 -23
- package/esm2022/core/option/action.mjs +0 -107
- package/esm2022/core/option/index.mjs +0 -6
- package/esm2022/core/option/optgroup.mjs +0 -37
- package/esm2022/core/option/option-module.mjs +0 -20
- package/esm2022/core/option/option.mjs +0 -322
- package/esm2022/core/overlay/overlay-position-map.mjs +0 -251
- package/esm2022/core/pop-up/constants.mjs +0 -55
- package/esm2022/core/pop-up/focus-trap-strategy.mjs +0 -6
- package/esm2022/core/pop-up/index.mjs +0 -6
- package/esm2022/core/pop-up/pop-up-styles.mjs +0 -24
- package/esm2022/core/pop-up/pop-up-trigger.mjs +0 -343
- package/esm2022/core/pop-up/pop-up.mjs +0 -152
- package/esm2022/core/public-api.mjs +0 -24
- package/esm2022/core/select/common.mjs +0 -203
- package/esm2022/core/select/constants.mjs +0 -25
- package/esm2022/core/select/errors.mjs +0 -26
- package/esm2022/core/select/events.mjs +0 -2
- package/esm2022/core/select/index.mjs +0 -5
- package/esm2022/core/selection/constants.mjs +0 -6
- package/esm2022/core/selection/index.mjs +0 -4
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +0 -43
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +0 -18
- package/esm2022/core/services/measure-scrollbar.service.mjs +0 -42
- package/esm2022/core/services/theme.service.mjs +0 -80
- package/esm2022/core/title/index.mjs +0 -2
- package/esm2022/core/title/title-text-ref.mjs +0 -3
- package/esm2022/core/tokens/index.mjs +0 -2
- package/esm2022/core/tokens/window.mjs +0 -19
- package/esm2022/core/utils/dom.mjs +0 -8
- package/esm2022/core/utils/index.mjs +0 -3
- package/esm2022/core/utils/public-api.mjs +0 -2
- package/esm2022/core/utils/utils.mjs +0 -31
- package/esm2022/core/validation/index.mjs +0 -2
- package/esm2022/core/validation/validation.mjs +0 -27
- package/esm2022/core/version.mjs +0 -3
- package/esm2022/datepicker/calendar-body.component.mjs +0 -87
- package/esm2022/datepicker/calendar-header.component.mjs +0 -164
- package/esm2022/datepicker/calendar.component.mjs +0 -185
- package/esm2022/datepicker/datepicker-animations.mjs +0 -32
- package/esm2022/datepicker/datepicker-errors.mjs +0 -6
- package/esm2022/datepicker/datepicker-input.directive.mjs +0 -1119
- package/esm2022/datepicker/datepicker-intl.mjs +0 -40
- package/esm2022/datepicker/datepicker-module.mjs +0 -103
- package/esm2022/datepicker/datepicker-toggle.component.mjs +0 -170
- package/esm2022/datepicker/datepicker.component.mjs +0 -388
- package/esm2022/datepicker/index.mjs +0 -2
- package/esm2022/datepicker/koobiq-components-datepicker.mjs +0 -5
- package/esm2022/datepicker/month-view.component.mjs +0 -148
- package/esm2022/datepicker/public-api.mjs +0 -11
- package/esm2022/divider/divider.component.mjs +0 -49
- package/esm2022/divider/divider.module.mjs +0 -18
- package/esm2022/divider/index.mjs +0 -2
- package/esm2022/divider/koobiq-components-divider.mjs +0 -5
- package/esm2022/divider/public-api.mjs +0 -3
- package/esm2022/dl/dl.component.mjs +0 -81
- package/esm2022/dl/dl.module.mjs +0 -36
- package/esm2022/dl/index.mjs +0 -2
- package/esm2022/dl/koobiq-components-dl.mjs +0 -5
- package/esm2022/dl/public-api.mjs +0 -3
- package/esm2022/dropdown/dropdown-animations.mjs +0 -41
- package/esm2022/dropdown/dropdown-content.directive.mjs +0 -61
- package/esm2022/dropdown/dropdown-errors.mjs +0 -29
- package/esm2022/dropdown/dropdown-item.component.mjs +0 -150
- package/esm2022/dropdown/dropdown-trigger.directive.mjs +0 -513
- package/esm2022/dropdown/dropdown.component.mjs +0 -293
- package/esm2022/dropdown/dropdown.module.mjs +0 -51
- package/esm2022/dropdown/dropdown.types.mjs +0 -23
- package/esm2022/dropdown/index.mjs +0 -2
- package/esm2022/dropdown/koobiq-components-dropdown.mjs +0 -5
- package/esm2022/dropdown/public-api.mjs +0 -9
- package/esm2022/dynamic-translation/dynamic-translation.mjs +0 -175
- package/esm2022/dynamic-translation/index.mjs +0 -3
- package/esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs +0 -5
- package/esm2022/dynamic-translation/module.mjs +0 -25
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +0 -120
- package/esm2022/ellipsis-center/index.mjs +0 -2
- package/esm2022/ellipsis-center/koobiq-components-ellipsis-center.mjs +0 -5
- package/esm2022/ellipsis-center/public-api.mjs +0 -2
- package/esm2022/empty-state/empty-state.component.mjs +0 -109
- package/esm2022/empty-state/empty-state.module.mjs +0 -44
- package/esm2022/empty-state/index.mjs +0 -2
- package/esm2022/empty-state/koobiq-components-empty-state.mjs +0 -5
- package/esm2022/empty-state/public-api.mjs +0 -3
- package/esm2022/file-upload/file-drop.mjs +0 -87
- package/esm2022/file-upload/file-upload.mjs +0 -71
- package/esm2022/file-upload/file-upload.module.mjs +0 -79
- package/esm2022/file-upload/index.mjs +0 -2
- package/esm2022/file-upload/koobiq-components-file-upload.mjs +0 -5
- package/esm2022/file-upload/multiple-file-upload.component.mjs +0 -306
- package/esm2022/file-upload/public-api.mjs +0 -6
- package/esm2022/file-upload/single-file-upload.component.mjs +0 -257
- package/esm2022/filter-bar/filter-bar-button.mjs +0 -31
- package/esm2022/filter-bar/filter-bar.mjs +0 -213
- package/esm2022/filter-bar/filter-bar.module.mjs +0 -67
- package/esm2022/filter-bar/filter-bar.types.mjs +0 -72
- package/esm2022/filter-bar/filter-refresher.mjs +0 -34
- package/esm2022/filter-bar/filter-reset.mjs +0 -49
- package/esm2022/filter-bar/filter-search.mjs +0 -145
- package/esm2022/filter-bar/filters.mjs +0 -266
- package/esm2022/filter-bar/index.mjs +0 -2
- package/esm2022/filter-bar/koobiq-components-filter-bar.mjs +0 -5
- package/esm2022/filter-bar/pipe-add.mjs +0 -140
- package/esm2022/filter-bar/pipe.directive.mjs +0 -37
- package/esm2022/filter-bar/pipes/base-pipe.mjs +0 -146
- package/esm2022/filter-bar/pipes/pipe-button.mjs +0 -72
- package/esm2022/filter-bar/pipes/pipe-date.mjs +0 -206
- package/esm2022/filter-bar/pipes/pipe-datetime.mjs +0 -208
- package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +0 -188
- package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +0 -260
- package/esm2022/filter-bar/pipes/pipe-readonly.mjs +0 -68
- package/esm2022/filter-bar/pipes/pipe-select.mjs +0 -101
- package/esm2022/filter-bar/pipes/pipe-state.mjs +0 -53
- package/esm2022/filter-bar/pipes/pipe-text.mjs +0 -104
- package/esm2022/filter-bar/pipes/pipe-title.mjs +0 -102
- package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +0 -142
- package/esm2022/filter-bar/public-api.mjs +0 -22
- package/esm2022/form-field/cleaner.mjs +0 -28
- package/esm2022/form-field/error.mjs +0 -20
- package/esm2022/form-field/fieldset.mjs +0 -84
- package/esm2022/form-field/form-field-control.mjs +0 -4
- package/esm2022/form-field/form-field.mjs +0 -447
- package/esm2022/form-field/form-field.module.mjs +0 -87
- package/esm2022/form-field/hint.mjs +0 -36
- package/esm2022/form-field/index.mjs +0 -2
- package/esm2022/form-field/koobiq-components-form-field.mjs +0 -5
- package/esm2022/form-field/label.mjs +0 -19
- package/esm2022/form-field/password-hint.mjs +0 -165
- package/esm2022/form-field/password-toggle.mjs +0 -129
- package/esm2022/form-field/prefix.mjs +0 -19
- package/esm2022/form-field/public-api.mjs +0 -16
- package/esm2022/form-field/reactive-password-hint.mjs +0 -66
- package/esm2022/form-field/stepper.mjs +0 -144
- package/esm2022/form-field/suffix.mjs +0 -18
- package/esm2022/form-field/validate.directive.mjs +0 -190
- package/esm2022/icon/icon-button.component.mjs +0 -64
- package/esm2022/icon/icon-item.component.mjs +0 -31
- package/esm2022/icon/icon.component.mjs +0 -56
- package/esm2022/icon/icon.module.mjs +0 -27
- package/esm2022/icon/index.mjs +0 -2
- package/esm2022/icon/koobiq-components-icon.mjs +0 -5
- package/esm2022/icon/public-api.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/inline-edit/index.mjs +0 -3
- package/esm2022/inline-edit/inline-edit.mjs +0 -382
- package/esm2022/inline-edit/koobiq-components-inline-edit.mjs +0 -5
- package/esm2022/inline-edit/module.mjs +0 -25
- package/esm2022/input/index.mjs +0 -2
- package/esm2022/input/input-errors.mjs +0 -4
- package/esm2022/input/input-number-validators.mjs +0 -88
- package/esm2022/input/input-number.mjs +0 -386
- package/esm2022/input/input-password.mjs +0 -253
- package/esm2022/input/input-value-accessor.mjs +0 -3
- package/esm2022/input/input.mjs +0 -299
- package/esm2022/input/input.module.mjs +0 -58
- package/esm2022/input/koobiq-components-input.mjs +0 -5
- package/esm2022/input/public-api.mjs +0 -7
- package/esm2022/koobiq-components.mjs +0 -5
- package/esm2022/link/index.mjs +0 -2
- package/esm2022/link/koobiq-components-link.mjs +0 -5
- package/esm2022/link/link.component.mjs +0 -143
- package/esm2022/link/link.module.mjs +0 -20
- package/esm2022/link/public-api.mjs +0 -3
- package/esm2022/list/index.mjs +0 -2
- package/esm2022/list/koobiq-components-list.mjs +0 -5
- package/esm2022/list/list-selection.component.mjs +0 -739
- package/esm2022/list/list.component.mjs +0 -43
- package/esm2022/list/list.module.mjs +0 -60
- package/esm2022/list/public-api.mjs +0 -4
- package/esm2022/loader-overlay/index.mjs +0 -2
- package/esm2022/loader-overlay/koobiq-components-loader-overlay.mjs +0 -5
- package/esm2022/loader-overlay/loader-overlay.component.mjs +0 -110
- package/esm2022/loader-overlay/loader-overlay.module.mjs +0 -44
- package/esm2022/loader-overlay/public-api.mjs +0 -3
- package/esm2022/markdown/index.mjs +0 -2
- package/esm2022/markdown/koobiq-components-markdown.mjs +0 -5
- package/esm2022/markdown/markdown.component.mjs +0 -67
- package/esm2022/markdown/markdown.module.mjs +0 -21
- package/esm2022/markdown/markdown.service.mjs +0 -36
- package/esm2022/markdown/markdown.values.mjs +0 -35
- package/esm2022/markdown/public-api.mjs +0 -5
- package/esm2022/modal/css-unit.pipe.mjs +0 -17
- package/esm2022/modal/index.mjs +0 -2
- package/esm2022/modal/koobiq-components-modal.mjs +0 -5
- package/esm2022/modal/modal-control.service.mjs +0 -89
- package/esm2022/modal/modal-ref.class.mjs +0 -7
- package/esm2022/modal/modal-util.mjs +0 -22
- package/esm2022/modal/modal.component.mjs +0 -540
- package/esm2022/modal/modal.directive.mjs +0 -94
- package/esm2022/modal/modal.module.mjs +0 -78
- package/esm2022/modal/modal.service.mjs +0 -135
- package/esm2022/modal/modal.type.mjs +0 -7
- package/esm2022/modal/public-api.mjs +0 -7
- package/esm2022/navbar/index.mjs +0 -2
- package/esm2022/navbar/koobiq-components-navbar.mjs +0 -5
- package/esm2022/navbar/navbar-brand.component.mjs +0 -105
- package/esm2022/navbar/navbar-item.component.mjs +0 -428
- package/esm2022/navbar/navbar-toggle.component.mjs +0 -88
- package/esm2022/navbar/navbar.component.mjs +0 -251
- package/esm2022/navbar/navbar.module.mjs +0 -84
- package/esm2022/navbar/public-api.mjs +0 -7
- package/esm2022/navbar/vertical-navbar.component.mjs +0 -128
- package/esm2022/navbar-ic/index.mjs +0 -2
- package/esm2022/navbar-ic/koobiq-components-navbar-ic.mjs +0 -5
- package/esm2022/navbar-ic/navbar-ic-header.mjs +0 -74
- package/esm2022/navbar-ic/navbar-ic-item.mjs +0 -390
- package/esm2022/navbar-ic/navbar-ic.animation.mjs +0 -17
- package/esm2022/navbar-ic/navbar-ic.mjs +0 -310
- package/esm2022/navbar-ic/navbar-ic.module.mjs +0 -74
- package/esm2022/navbar-ic/public-api.mjs +0 -5
- package/esm2022/notification-center/index.mjs +0 -2
- package/esm2022/notification-center/koobiq-components-notification-center.mjs +0 -5
- package/esm2022/notification-center/notification-center-animations.mjs +0 -18
- package/esm2022/notification-center/notification-center.mjs +0 -329
- package/esm2022/notification-center/notification-center.module.mjs +0 -38
- package/esm2022/notification-center/notification-center.service.mjs +0 -127
- package/esm2022/notification-center/notification-item.mjs +0 -70
- package/esm2022/notification-center/public-api.mjs +0 -5
- package/esm2022/overflow-items/index.mjs +0 -3
- package/esm2022/overflow-items/koobiq-components-overflow-items.mjs +0 -5
- package/esm2022/overflow-items/module.mjs +0 -25
- package/esm2022/overflow-items/overflow-items.mjs +0 -290
- package/esm2022/popover/index.mjs +0 -2
- package/esm2022/popover/koobiq-components-popover.mjs +0 -5
- package/esm2022/popover/popover-animations.mjs +0 -16
- package/esm2022/popover/popover-confirm.component.mjs +0 -97
- package/esm2022/popover/popover.component.mjs +0 -410
- package/esm2022/popover/popover.module.mjs +0 -67
- package/esm2022/popover/public-api.mjs +0 -5
- package/esm2022/progress-bar/index.mjs +0 -2
- package/esm2022/progress-bar/koobiq-components-progress-bar.mjs +0 -5
- package/esm2022/progress-bar/progress-bar.component.mjs +0 -62
- package/esm2022/progress-bar/progress-bar.module.mjs +0 -32
- package/esm2022/progress-bar/public-api.mjs +0 -3
- package/esm2022/progress-spinner/index.mjs +0 -2
- package/esm2022/progress-spinner/koobiq-components-progress-spinner.mjs +0 -5
- package/esm2022/progress-spinner/progress-spinner.component.mjs +0 -78
- package/esm2022/progress-spinner/progress-spinner.module.mjs +0 -35
- package/esm2022/progress-spinner/public-api.mjs +0 -3
- package/esm2022/public-api.mjs +0 -2
- package/esm2022/radio/index.mjs +0 -2
- package/esm2022/radio/koobiq-components-radio.mjs +0 -5
- package/esm2022/radio/public-api.mjs +0 -3
- package/esm2022/radio/radio.component.mjs +0 -451
- package/esm2022/radio/radio.module.mjs +0 -18
- package/esm2022/resizer/index.mjs +0 -3
- package/esm2022/resizer/koobiq-components-resizer.mjs +0 -5
- package/esm2022/resizer/module.mjs +0 -17
- package/esm2022/resizer/resizer.mjs +0 -135
- package/esm2022/risk-level/index.mjs +0 -2
- package/esm2022/risk-level/koobiq-components-risk-level.mjs +0 -5
- package/esm2022/risk-level/public-api.mjs +0 -3
- package/esm2022/risk-level/risk-level.component.mjs +0 -40
- package/esm2022/risk-level/risk-level.module.mjs +0 -24
- package/esm2022/scrollbar/index.mjs +0 -2
- package/esm2022/scrollbar/koobiq-components-scrollbar.mjs +0 -5
- package/esm2022/scrollbar/public-api.mjs +0 -5
- package/esm2022/scrollbar/scrollbar.component.mjs +0 -133
- package/esm2022/scrollbar/scrollbar.directive.mjs +0 -105
- package/esm2022/scrollbar/scrollbar.module.mjs +0 -25
- package/esm2022/scrollbar/scrollbar.types.mjs +0 -14
- package/esm2022/search-expandable/index.mjs +0 -2
- package/esm2022/search-expandable/koobiq-components-search-expandable.mjs +0 -5
- package/esm2022/search-expandable/public-api.mjs +0 -3
- package/esm2022/search-expandable/search-expandable.mjs +0 -177
- package/esm2022/search-expandable/search-expandable.module.mjs +0 -18
- package/esm2022/select/index.mjs +0 -2
- package/esm2022/select/koobiq-components-select.mjs +0 -5
- package/esm2022/select/public-api.mjs +0 -4
- package/esm2022/select/select-option.directive.mjs +0 -69
- package/esm2022/select/select.component.mjs +0 -1154
- package/esm2022/select/select.module.mjs +0 -81
- package/esm2022/sidebar/index.mjs +0 -2
- package/esm2022/sidebar/koobiq-components-sidebar.mjs +0 -5
- package/esm2022/sidebar/public-api.mjs +0 -3
- package/esm2022/sidebar/sidebar-animations.mjs +0 -23
- package/esm2022/sidebar/sidebar.component.mjs +0 -169
- package/esm2022/sidebar/sidebar.module.mjs +0 -30
- package/esm2022/sidepanel/index.mjs +0 -2
- package/esm2022/sidepanel/koobiq-components-sidepanel.mjs +0 -5
- package/esm2022/sidepanel/public-api.mjs +0 -7
- package/esm2022/sidepanel/sidepanel-animations.mjs +0 -29
- package/esm2022/sidepanel/sidepanel-config.mjs +0 -33
- package/esm2022/sidepanel/sidepanel-container.component.mjs +0 -126
- package/esm2022/sidepanel/sidepanel-directives.mjs +0 -168
- package/esm2022/sidepanel/sidepanel-ref.mjs +0 -60
- package/esm2022/sidepanel/sidepanel.module.mjs +0 -73
- package/esm2022/sidepanel/sidepanel.service.mjs +0 -167
- package/esm2022/split-button/index.mjs +0 -2
- package/esm2022/split-button/koobiq-components-split-button.mjs +0 -5
- package/esm2022/split-button/public-api.mjs +0 -3
- package/esm2022/split-button/split-button.mjs +0 -133
- package/esm2022/split-button/split-button.module.mjs +0 -18
- package/esm2022/splitter/index.mjs +0 -2
- package/esm2022/splitter/koobiq-components-splitter.mjs +0 -5
- package/esm2022/splitter/public-api.mjs +0 -3
- package/esm2022/splitter/splitter.component.mjs +0 -492
- package/esm2022/splitter/splitter.module.mjs +0 -34
- package/esm2022/table/index.mjs +0 -2
- package/esm2022/table/koobiq-components-table.mjs +0 -5
- package/esm2022/table/public-api.mjs +0 -3
- package/esm2022/table/table.component.mjs +0 -36
- package/esm2022/table/table.module.mjs +0 -32
- package/esm2022/tabs/index.mjs +0 -2
- package/esm2022/tabs/koobiq-components-tabs.mjs +0 -5
- package/esm2022/tabs/paginated-tab-header.mjs +0 -490
- package/esm2022/tabs/public-api.mjs +0 -11
- package/esm2022/tabs/tab-body.component.mjs +0 -178
- package/esm2022/tabs/tab-content.directive.mjs +0 -15
- package/esm2022/tabs/tab-group.component.mjs +0 -384
- package/esm2022/tabs/tab-header.component.mjs +0 -60
- package/esm2022/tabs/tab-label-wrapper.directive.mjs +0 -86
- package/esm2022/tabs/tab-label.directive.mjs +0 -17
- package/esm2022/tabs/tab-nav-bar.mjs +0 -292
- package/esm2022/tabs/tab.component.mjs +0 -145
- package/esm2022/tabs/tabs-animations.mjs +0 -24
- package/esm2022/tabs/tabs.module.mjs +0 -95
- package/esm2022/tags/index.mjs +0 -2
- package/esm2022/tags/koobiq-components-tags.mjs +0 -5
- package/esm2022/tags/public-api.mjs +0 -6
- package/esm2022/tags/tag-default-options.mjs +0 -4
- package/esm2022/tags/tag-input.mjs +0 -281
- package/esm2022/tags/tag-list.component.mjs +0 -765
- package/esm2022/tags/tag-text-control.mjs +0 -2
- package/esm2022/tags/tag.component.mjs +0 -647
- package/esm2022/tags/tag.module.mjs +0 -67
- package/esm2022/textarea/index.mjs +0 -2
- package/esm2022/textarea/koobiq-components-textarea.mjs +0 -5
- package/esm2022/textarea/public-api.mjs +0 -3
- package/esm2022/textarea/textarea.component.mjs +0 -300
- package/esm2022/textarea/textarea.module.mjs +0 -20
- package/esm2022/time-range/constants.mjs +0 -42
- package/esm2022/time-range/index.mjs +0 -8
- package/esm2022/time-range/koobiq-components-time-range.mjs +0 -5
- package/esm2022/time-range/module.mjs +0 -36
- package/esm2022/time-range/time-range-editor.mjs +0 -224
- package/esm2022/time-range/time-range-title-as-form-field.mjs +0 -60
- package/esm2022/time-range/time-range-title.mjs +0 -112
- package/esm2022/time-range/time-range.mjs +0 -234
- package/esm2022/time-range/time-range.service.mjs +0 -126
- package/esm2022/time-range/types.mjs +0 -2
- package/esm2022/timepicker/index.mjs +0 -2
- package/esm2022/timepicker/koobiq-components-timepicker.mjs +0 -5
- package/esm2022/timepicker/public-api.mjs +0 -4
- package/esm2022/timepicker/timepicker.constants.mjs +0 -29
- package/esm2022/timepicker/timepicker.directive.mjs +0 -686
- package/esm2022/timepicker/timepicker.module.mjs +0 -29
- package/esm2022/timezone/cities-by-filter.pipe.mjs +0 -17
- package/esm2022/timezone/index.mjs +0 -2
- package/esm2022/timezone/koobiq-components-timezone.mjs +0 -5
- package/esm2022/timezone/public-api.mjs +0 -7
- package/esm2022/timezone/timezone-option.component.mjs +0 -50
- package/esm2022/timezone/timezone-option.directive.mjs +0 -54
- package/esm2022/timezone/timezone-select.component.mjs +0 -55
- package/esm2022/timezone/timezone.models.mjs +0 -2
- package/esm2022/timezone/timezone.module.mjs +0 -82
- package/esm2022/timezone/timezone.utils.mjs +0 -80
- package/esm2022/timezone/utc-offset.pipe.mjs +0 -17
- package/esm2022/title/index.mjs +0 -2
- package/esm2022/title/koobiq-components-title.mjs +0 -5
- package/esm2022/title/public-api.mjs +0 -3
- package/esm2022/title/title.directive.mjs +0 -108
- package/esm2022/title/title.module.mjs +0 -18
- package/esm2022/toast/index.mjs +0 -2
- package/esm2022/toast/koobiq-components-toast.mjs +0 -5
- package/esm2022/toast/public-api.mjs +0 -6
- package/esm2022/toast/toast-animations.mjs +0 -10
- package/esm2022/toast/toast-container.component.mjs +0 -57
- package/esm2022/toast/toast.component.mjs +0 -125
- package/esm2022/toast/toast.module.mjs +0 -26
- package/esm2022/toast/toast.service.mjs +0 -197
- package/esm2022/toast/toast.type.mjs +0 -39
- package/esm2022/toggle/index.mjs +0 -2
- package/esm2022/toggle/koobiq-components-toggle.mjs +0 -5
- package/esm2022/toggle/public-api.mjs +0 -3
- package/esm2022/toggle/toggle.component.mjs +0 -254
- package/esm2022/toggle/toggle.module.mjs +0 -18
- package/esm2022/tooltip/index.mjs +0 -2
- package/esm2022/tooltip/koobiq-components-tooltip.mjs +0 -5
- package/esm2022/tooltip/public-api.mjs +0 -3
- package/esm2022/tooltip/tooltip.animations.mjs +0 -19
- package/esm2022/tooltip/tooltip.component.mjs +0 -400
- package/esm2022/tooltip/tooltip.module.mjs +0 -35
- package/esm2022/top-bar/index.mjs +0 -2
- package/esm2022/top-bar/koobiq-components-top-bar.mjs +0 -5
- package/esm2022/top-bar/module.mjs +0 -25
- package/esm2022/top-bar/public-api.mjs +0 -3
- package/esm2022/top-bar/top-bar.mjs +0 -74
- package/esm2022/tree/control/base-tree-control.mjs +0 -59
- package/esm2022/tree/control/flat-tree-control.filters.mjs +0 -52
- package/esm2022/tree/control/flat-tree-control.mjs +0 -109
- package/esm2022/tree/control/nested-tree-control.mjs +0 -40
- package/esm2022/tree/control/tree-control.mjs +0 -2
- package/esm2022/tree/data-source/flat-data-source.mjs +0 -157
- package/esm2022/tree/data-source/nested-data-source.mjs +0 -28
- package/esm2022/tree/index.mjs +0 -2
- package/esm2022/tree/koobiq-components-tree.mjs +0 -5
- package/esm2022/tree/node.mjs +0 -31
- package/esm2022/tree/outlet.mjs +0 -15
- package/esm2022/tree/padding.directive.mjs +0 -108
- package/esm2022/tree/public-api.mjs +0 -17
- package/esm2022/tree/toggle.mjs +0 -93
- package/esm2022/tree/tree-base.mjs +0 -236
- package/esm2022/tree/tree-errors.mjs +0 -36
- package/esm2022/tree/tree-option.component.mjs +0 -303
- package/esm2022/tree/tree-selection.component.mjs +0 -568
- package/esm2022/tree/tree.mjs +0 -19
- package/esm2022/tree/tree.module.mjs +0 -64
- package/esm2022/tree-select/index.mjs +0 -2
- package/esm2022/tree-select/koobiq-components-tree-select.mjs +0 -5
- package/esm2022/tree-select/public-api.mjs +0 -3
- package/esm2022/tree-select/tree-select.component.mjs +0 -1034
- package/esm2022/tree-select/tree-select.module.mjs +0 -71
- package/esm2022/username/constants.mjs +0 -25
- package/esm2022/username/index.mjs +0 -6
- package/esm2022/username/koobiq-components-username.mjs +0 -5
- package/esm2022/username/module.mjs +0 -35
- package/esm2022/username/types.mjs +0 -32
- package/esm2022/username/username.mjs +0 -129
- package/esm2022/username/username.pipe.mjs +0 -92
|
@@ -1,447 +0,0 @@
|
|
|
1
|
-
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
2
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
3
|
-
import { Attribute, booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, DestroyRef, Directive, ElementRef, inject, InjectionToken, input, Optional, QueryList, Self, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
4
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
|
-
import { NgControl } from '@angular/forms';
|
|
6
|
-
import { ESCAPE, F8 } from '@koobiq/cdk/keycodes';
|
|
7
|
-
import { KBQ_FORM_FIELD_REF, KbqColorDirective } from '@koobiq/components/core';
|
|
8
|
-
import { EMPTY, merge } from 'rxjs';
|
|
9
|
-
import { delay, startWith } from 'rxjs/operators';
|
|
10
|
-
import { KbqCleaner } from './cleaner';
|
|
11
|
-
import { KbqError } from './error';
|
|
12
|
-
import { KbqFormFieldControl } from './form-field-control';
|
|
13
|
-
import { KbqHint } from './hint';
|
|
14
|
-
import { KbqLabel } from './label';
|
|
15
|
-
import { hasPasswordStrengthError, KbqPasswordHint } from './password-hint';
|
|
16
|
-
import { KbqPasswordToggle } from './password-toggle';
|
|
17
|
-
import { KbqPrefix } from './prefix';
|
|
18
|
-
import { KbqReactivePasswordHint } from './reactive-password-hint';
|
|
19
|
-
import { KbqStepper } from './stepper';
|
|
20
|
-
import { KbqSuffix } from './suffix';
|
|
21
|
-
import * as i0 from "@angular/core";
|
|
22
|
-
import * as i1 from "@angular/forms";
|
|
23
|
-
/** @docs-private */
|
|
24
|
-
export function getKbqFormFieldMissingControlError() {
|
|
25
|
-
return Error('kbq-form-field must contain a KbqFormFieldControl');
|
|
26
|
-
}
|
|
27
|
-
/** @docs-private */
|
|
28
|
-
export function getKbqFormFieldYouCanNotUseCleanerInNumberInputError() {
|
|
29
|
-
return Error(`You can't use kbq-cleaner with input that have type="number"`);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Injection token that can be used to configure the default options for all kbq-form-field's.
|
|
33
|
-
*/
|
|
34
|
-
export const KBQ_FORM_FIELD_DEFAULT_OPTIONS = new InjectionToken('KBQ_FORM_FIELD_DEFAULT_OPTIONS');
|
|
35
|
-
/** Utility provider for `KBQ_FORM_FIELD_DEFAULT_OPTIONS`. */
|
|
36
|
-
export const kbqFormFieldDefaultOptionsProvider = (options) => ({
|
|
37
|
-
provide: KBQ_FORM_FIELD_DEFAULT_OPTIONS,
|
|
38
|
-
useValue: options
|
|
39
|
-
});
|
|
40
|
-
/** Container for form controls that applies styling and behavior. */
|
|
41
|
-
export class KbqFormField extends KbqColorDirective {
|
|
42
|
-
constructor() {
|
|
43
|
-
super(...arguments);
|
|
44
|
-
this.destroyRef = inject(DestroyRef);
|
|
45
|
-
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
46
|
-
this.focusMonitor = inject(FocusMonitor);
|
|
47
|
-
this.defaultOptions = inject(KBQ_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });
|
|
48
|
-
/**
|
|
49
|
-
* @docs-private
|
|
50
|
-
*/
|
|
51
|
-
this.elementRef = inject(ElementRef);
|
|
52
|
-
/** Disables form field borders and shadows. */
|
|
53
|
-
this.noBorders = input(this.defaultOptions?.noBorders, { transform: booleanAttribute });
|
|
54
|
-
/**
|
|
55
|
-
* @docs-private
|
|
56
|
-
*/
|
|
57
|
-
this.hovered = false;
|
|
58
|
-
/**
|
|
59
|
-
* @docs-private
|
|
60
|
-
*/
|
|
61
|
-
this.canCleanerClearByEsc = true;
|
|
62
|
-
/**
|
|
63
|
-
* @deprecated stepper should be always visible when provided, so this parameter is redundant,
|
|
64
|
-
* use `hasStepper` instead
|
|
65
|
-
*
|
|
66
|
-
* @docs-private
|
|
67
|
-
*/
|
|
68
|
-
this.canShowStepper = true;
|
|
69
|
-
/**
|
|
70
|
-
* Runs the focus monitor for the form field.
|
|
71
|
-
*
|
|
72
|
-
* @docs-private
|
|
73
|
-
*/
|
|
74
|
-
this.runFocusMonitor = () => {
|
|
75
|
-
this.focusMonitor
|
|
76
|
-
.monitor(this.elementRef.nativeElement, true)
|
|
77
|
-
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
78
|
-
.subscribe((origin) => (this._focusOrigin = origin));
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
/** Whether the form field is invalid. */
|
|
82
|
-
get invalid() {
|
|
83
|
-
return !!this.control?.errorState;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Whether the form field control has an reactive password hint.
|
|
87
|
-
*
|
|
88
|
-
* @docs-private
|
|
89
|
-
*/
|
|
90
|
-
get hasReactivePasswordHint() {
|
|
91
|
-
return this.reactivePasswordHint.length > 0;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Whether the form-field contains kbq-error.
|
|
95
|
-
*
|
|
96
|
-
* @docs-private
|
|
97
|
-
*/
|
|
98
|
-
get hasError() {
|
|
99
|
-
return this.error.length > 0;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Whether the form-field contains kbq-label.
|
|
103
|
-
*
|
|
104
|
-
* @docs-private
|
|
105
|
-
*/
|
|
106
|
-
get hasLabel() {
|
|
107
|
-
return !!this.label;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Whether the form-field contains kbq-password-hint.
|
|
111
|
-
*
|
|
112
|
-
* @docs-private
|
|
113
|
-
*/
|
|
114
|
-
get hasPasswordHint() {
|
|
115
|
-
return this.passwordHints?.length > 0;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Current focus origin state.
|
|
119
|
-
*
|
|
120
|
-
* @docs-private
|
|
121
|
-
*/
|
|
122
|
-
get focusOrigin() {
|
|
123
|
-
return this._focusOrigin;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* @docs-private
|
|
127
|
-
*/
|
|
128
|
-
get hasFocus() {
|
|
129
|
-
return this.control?.focused;
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Whether the form-field contains kbq-hint.
|
|
133
|
-
*
|
|
134
|
-
* @docs-private
|
|
135
|
-
*/
|
|
136
|
-
get hasHint() {
|
|
137
|
-
return this.hint?.length > 0;
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Whether the form-field contains kbqSuffix.
|
|
141
|
-
*
|
|
142
|
-
* @docs-private
|
|
143
|
-
*/
|
|
144
|
-
get hasSuffix() {
|
|
145
|
-
return this.suffix?.length > 0;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Whether the form-field contains kbqPrefix.
|
|
149
|
-
*
|
|
150
|
-
* @docs-private
|
|
151
|
-
*/
|
|
152
|
-
get hasPrefix() {
|
|
153
|
-
return this.prefix?.length > 0;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Whether the form-field contains kbq-cleaner.
|
|
157
|
-
*
|
|
158
|
-
* @docs-private
|
|
159
|
-
*/
|
|
160
|
-
get hasCleaner() {
|
|
161
|
-
return !!this.cleaner;
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Whether the form-field contains kbq-stepper.
|
|
165
|
-
*
|
|
166
|
-
* @docs-private
|
|
167
|
-
*/
|
|
168
|
-
get hasStepper() {
|
|
169
|
-
return !!this.stepper;
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Whether the form-field contains kbq-password-toggle.
|
|
173
|
-
*
|
|
174
|
-
* @docs-private
|
|
175
|
-
*/
|
|
176
|
-
get hasPasswordToggle() {
|
|
177
|
-
return !!this.passwordToggle;
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* @docs-private
|
|
181
|
-
*/
|
|
182
|
-
get canShowCleaner() {
|
|
183
|
-
return this.hasCleaner && this.control?.ngControl ? this.control.ngControl.value && !this.disabled : false;
|
|
184
|
-
}
|
|
185
|
-
/** Whether the form field is disabled. */
|
|
186
|
-
get disabled() {
|
|
187
|
-
return this.control?.disabled;
|
|
188
|
-
}
|
|
189
|
-
ngAfterContentInit() {
|
|
190
|
-
this.validateControlChild();
|
|
191
|
-
if (this.control.numberInput && this.hasCleaner) {
|
|
192
|
-
this.cleaner = null;
|
|
193
|
-
throw getKbqFormFieldYouCanNotUseCleanerInNumberInputError();
|
|
194
|
-
}
|
|
195
|
-
// Subscribe to changes in the child control state in order to update the form field UI.
|
|
196
|
-
this.control.stateChanges.pipe(startWith(), delay(0)).subscribe((state) => {
|
|
197
|
-
if (this.passwordHints.length && !state?.focused && hasPasswordStrengthError(this.passwordHints)) {
|
|
198
|
-
this.control.ngControl?.control?.setErrors({ passwordStrength: true });
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
if (this.hasStepper) {
|
|
202
|
-
this.stepper.connectTo(this.control.numberInput);
|
|
203
|
-
}
|
|
204
|
-
this.initializeControl();
|
|
205
|
-
this.initializePrefixAndSuffix();
|
|
206
|
-
this.initializeHint();
|
|
207
|
-
}
|
|
208
|
-
ngAfterContentChecked() {
|
|
209
|
-
this.validateControlChild();
|
|
210
|
-
}
|
|
211
|
-
ngAfterViewInit() {
|
|
212
|
-
this.runFocusMonitor();
|
|
213
|
-
// Because the above changes a value used in the template after it was checked, we need
|
|
214
|
-
// to trigger CD or the change might not be reflected if there is no other CD scheduled.
|
|
215
|
-
this.changeDetectorRef.detectChanges();
|
|
216
|
-
}
|
|
217
|
-
ngOnDestroy() {
|
|
218
|
-
this.stopFocusMonitor();
|
|
219
|
-
}
|
|
220
|
-
/** Focuses the control. */
|
|
221
|
-
focus(options) {
|
|
222
|
-
this.control.focus(options);
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* @deprecated Use `focus` instead.
|
|
226
|
-
*
|
|
227
|
-
* @docs-private
|
|
228
|
-
*/
|
|
229
|
-
focusViaKeyboard(options) {
|
|
230
|
-
this.control.focus(options);
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* @docs-private
|
|
234
|
-
*/
|
|
235
|
-
clearValue(event) {
|
|
236
|
-
event.stopPropagation();
|
|
237
|
-
this.control?.ngControl?.reset();
|
|
238
|
-
this.control?.focus();
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Handles a click on the control's container.
|
|
242
|
-
*
|
|
243
|
-
* @docs-private
|
|
244
|
-
*/
|
|
245
|
-
onContainerClick(event) {
|
|
246
|
-
if (this.control?.onContainerClick) {
|
|
247
|
-
this.control.onContainerClick(event);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Handles keydown events.
|
|
252
|
-
*
|
|
253
|
-
* @docs-private
|
|
254
|
-
*/
|
|
255
|
-
onKeyDown(event) {
|
|
256
|
-
if (this.control.controlType === 'input-password' && event.altKey && event.keyCode === F8) {
|
|
257
|
-
this.control.toggleType();
|
|
258
|
-
}
|
|
259
|
-
if (this.canCleanerClearByEsc && event.keyCode === ESCAPE && this.control.focused && this.hasCleaner) {
|
|
260
|
-
this.control?.ngControl?.reset();
|
|
261
|
-
event.preventDefault();
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* @docs-private
|
|
266
|
-
*/
|
|
267
|
-
onHoverChanged(isHovered) {
|
|
268
|
-
if (isHovered !== this.hovered) {
|
|
269
|
-
this.hovered = isHovered;
|
|
270
|
-
this.changeDetectorRef.markForCheck();
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* Gets an ElementRef for the element that a overlay attached to the form-field should be positioned relative to.
|
|
275
|
-
*/
|
|
276
|
-
getConnectedOverlayOrigin() {
|
|
277
|
-
return this.connectionContainerRef || this.elementRef;
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* Determines whether a class from the NgControl should be forwarded to the host element.
|
|
281
|
-
*
|
|
282
|
-
* @docs-private
|
|
283
|
-
*/
|
|
284
|
-
shouldForward(prop) {
|
|
285
|
-
const ngControl = this.control?.ngControl;
|
|
286
|
-
return ngControl && ngControl[prop];
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* Stops the focus monitor for the form field.
|
|
290
|
-
*
|
|
291
|
-
* @docs-private
|
|
292
|
-
*/
|
|
293
|
-
stopFocusMonitor() {
|
|
294
|
-
this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
|
|
295
|
-
}
|
|
296
|
-
/**
|
|
297
|
-
* Throws an error if the form-field control is missing.
|
|
298
|
-
*
|
|
299
|
-
* @docs-private
|
|
300
|
-
*/
|
|
301
|
-
validateControlChild() {
|
|
302
|
-
if (!this.control) {
|
|
303
|
-
throw getKbqFormFieldMissingControlError();
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
/** Initializes the form field control. */
|
|
307
|
-
initializeControl() {
|
|
308
|
-
if (this.control.controlType) {
|
|
309
|
-
this.elementRef.nativeElement.classList.add(`kbq-form-field-type-${this.control.controlType}`);
|
|
310
|
-
}
|
|
311
|
-
merge(this.control.stateChanges, this.control.ngControl?.valueChanges || EMPTY)
|
|
312
|
-
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
313
|
-
.subscribe(() => this.changeDetectorRef.markForCheck());
|
|
314
|
-
}
|
|
315
|
-
/** Initializes the kbqPrefix and kbqSuffix containers. */
|
|
316
|
-
initializePrefixAndSuffix() {
|
|
317
|
-
// Mark the form field as dirty whenever the prefix or suffix children change. This is necessary because we
|
|
318
|
-
// conditionally display the prefix/suffix containers based on whether there is projected content.
|
|
319
|
-
merge(this.prefix.changes, this.suffix.changes)
|
|
320
|
-
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
321
|
-
.subscribe(() => this.changeDetectorRef.markForCheck());
|
|
322
|
-
}
|
|
323
|
-
/** Initializes the KbqHint, KbqPasswordHint, KbqReactivePasswordHint and KbqError containers. */
|
|
324
|
-
initializeHint() {
|
|
325
|
-
merge(this.hint.changes, this.passwordHints.changes, this.reactivePasswordHint.changes, this.error.changes)
|
|
326
|
-
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
327
|
-
.subscribe(() => this.changeDetectorRef.markForCheck());
|
|
328
|
-
}
|
|
329
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqFormField, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
330
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqFormField, isStandalone: true, selector: "kbq-form-field", inputs: { noBorders: { classPropertyName: "noBorders", publicName: "noBorders", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown": "onKeyDown($event)", "mouseenter": "onHoverChanged(true)", "mouseleave": "onHoverChanged(false)" }, properties: { "class.kbq-form-field_invalid": "invalid", "class.kbq-disabled": "disabled", "class.kbq-form-field_no-borders": "noBorders()", "class.ng-untouched": "shouldForward(\"untouched\")", "class.ng-touched": "shouldForward(\"touched\")", "class.ng-pristine": "shouldForward(\"pristine\")", "class.ng-dirty": "shouldForward(\"dirty\")", "class.ng-valid": "shouldForward(\"valid\")", "class.ng-invalid": "shouldForward(\"invalid\")", "class.ng-pending": "shouldForward(\"pending\")" }, classAttribute: "kbq-form-field" }, providers: [{ provide: KBQ_FORM_FIELD_REF, useExisting: KbqFormField }], queries: [{ propertyName: "control", first: true, predicate: KbqFormFieldControl, descendants: true }, { propertyName: "stepper", first: true, predicate: KbqStepper, descendants: true }, { propertyName: "cleaner", first: true, predicate: KbqCleaner }, { propertyName: "passwordToggle", first: true, predicate: KbqPasswordToggle, descendants: true }, { propertyName: "label", first: true, predicate: KbqLabel, descendants: true }, { propertyName: "hint", predicate: KbqHint }, { propertyName: "passwordHints", predicate: KbqPasswordHint }, { propertyName: "suffix", predicate: KbqSuffix }, { propertyName: "prefix", predicate: KbqPrefix }, { propertyName: "reactivePasswordHint", predicate: KbqReactivePasswordHint }, { propertyName: "error", predicate: KbqError }], viewQueries: [{ propertyName: "connectionContainerRef", first: true, predicate: ["connectionContainer"], descendants: true, static: true }], exportAs: ["kbqFormField"], usesInheritance: true, ngImport: i0, template: "@if (hasLabel) {\n <label class=\"kbq-form-field__label\" [attr.for]=\"control.id\">\n <ng-content select=\"kbq-label\" />\n </label>\n}\n\n<div #connectionContainer class=\"kbq-form-field__container\" (click)=\"onContainerClick($event)\">\n @if (hasPrefix) {\n <div class=\"kbq-form-field__prefix\">\n <ng-content select=\"[kbqPrefix]\" />\n </div>\n }\n\n <div class=\"kbq-form-field__infix\">\n <ng-content />\n </div>\n\n @if (hasSuffix || hasCleaner || hasPasswordToggle || hasStepper) {\n <div class=\"kbq-form-field__suffix\">\n @if (canShowCleaner) {\n <div class=\"kbq-form-field__cleaner\" (click)=\"clearValue($event)\" (keydown.enter)=\"clearValue($event)\">\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <ng-content select=\"kbq-password-toggle, kbq-stepper, [kbqSuffix]\" />\n </div>\n }\n</div>\n\n@if (hasHint || hasPasswordHint || hasError || hasReactivePasswordHint) {\n <div class=\"kbq-form-field__hint\">\n @if (invalid) {\n <ng-content select=\"kbq-error\" />\n }\n\n <ng-content select=\"kbq-hint, kbq-password-hint, kbq-reactive-password-hint\" />\n </div>\n}\n", styles: [".kbq-form-field{position:relative;display:inline-block;width:100%}.kbq-form-field .kbq-form-field__label{display:flex;margin-bottom:var(--kbq-size-xs)}.kbq-form-field.kbq-form-field-type-select .kbq-form-field__suffix{margin-right:0}.kbq-form-field .kbq-form-field__container{box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;border-width:var(--kbq-form-field-size-border-width);border-style:solid;border-color:transparent;border-radius:var(--kbq-form-field-size-border-radius);padding-left:var(--kbq-form-field-size-container-left-padding);padding-right:var(--kbq-form-field-size-container-right-padding)}.kbq-form-field .kbq-form-field__container:has(.kbq-textarea){--kbq-form-field-size-container-left-padding: 0;--kbq-form-field-size-container-right-padding: 0}.kbq-form-field .kbq-form-field:not(.kbq-form-field-type-textarea){height:var(--kbq-form-field-size-height)}.kbq-form-field .kbq-form-field__infix{width:100%;max-width:calc(100% - var(--kbq-size-xs));flex-grow:1;padding-left:var(--kbq-form-field-size-infix-left-padding)}.kbq-form-field .kbq-form-field__infix:has(.kbq-select_multiple,.kbq-select_multiline):not(:has(.kbq-select__trigger_empty)),.kbq-form-field .kbq-form-field__infix:has(.kbq-tag-list),.kbq-form-field .kbq-form-field__infix:has(.kbq-textarea){padding-left:0;max-width:100%}.kbq-form-field .kbq-form-field__infix .kbq-input,.kbq-form-field .kbq-form-field__infix .kbq-tag-input{padding-right:var(--kbq-form-field-size-infix-right-padding)}.kbq-form-field,.kbq-form-field .kbq-input,.kbq-form-field .kbq-textarea{border-radius:var(--kbq-form-field-size-border-radius)}.kbq-form-field:hover{z-index:1}.kbq-form-field.cdk-focused,.kbq-form-field.kbq-focused{z-index:3}.kbq-form-field.kbq-form-field_without-borders .kbq-form-field__container,.kbq-form-field.kbq-form-field_no-borders .kbq-form-field__container{border-color:transparent!important;box-shadow:none!important}.kbq-form-field+.kbq-password-hint{margin-top:var(--kbq-size-m)}.kbq-form-field .kbq-form-field__prefix,.kbq-form-field .kbq-form-field__suffix{display:flex;justify-content:center;align-items:center}.kbq-form-field .kbq-form-field__prefix .kbq-prefix,.kbq-form-field .kbq-form-field__prefix .kbq-suffix,.kbq-form-field .kbq-form-field__suffix .kbq-prefix,.kbq-form-field .kbq-form-field__suffix .kbq-suffix{min-width:var(--kbq-form-field-size-addon-width);text-align:center}.kbq-form-field .kbq-form-field__prefix+.kbq-form-field__infix{padding-left:0}.kbq-form-field .kbq-form-field__hint{display:flex;flex-direction:column;gap:var(--kbq-form-field-hint-size-gap);margin-top:var(--kbq-form-field-hint-size-margin-top)}.kbq-form-field .kbq-form-field__hint:has(.kbq-reactive-password-hint,.kbq-password-hint){--kbq-form-field-hint-size-gap: var(--kbq-size-s)}.kbq-form-field .kbq-form-field__hint:has(:is(.kbq-reactive-password-hint,.kbq-password-hint):first-child){--kbq-form-field-hint-size-margin-top: var(--kbq-size-m)}.kbq-form-field .kbq-form-field__container{border-color:var(--kbq-form-field-default-border-color);background-color:var(--kbq-form-field-default-background)}.kbq-form-field .kbq-input,.kbq-form-field .kbq-tag-input,.kbq-form-field .kbq-textarea{color:var(--kbq-form-field-default-text)}.kbq-form-field .kbq-input::placeholder,.kbq-form-field .kbq-tag-input::placeholder,.kbq-form-field .kbq-textarea::placeholder{color:var(--kbq-form-field-default-placeholder)}.kbq-form-field .kbq-input::-ms-input-placeholder,.kbq-form-field .kbq-tag-input::-ms-input-placeholder,.kbq-form-field .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-default-placeholder)}.kbq-form-field .kbq-input::-webkit-input-placeholder,.kbq-form-field .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-default-placeholder)}.kbq-form-field .kbq-input:-webkit-autofill,.kbq-form-field .kbq-input:-webkit-autofill:hover,.kbq-form-field .kbq-input:-webkit-autofill:focus{-webkit-box-shadow:inset 0 0 0 40rem var(--kbq-form-field-states-autofill-background);-webkit-text-fill-color:var(--kbq-form-field-states-autofill-text);caret-color:var(--kbq-form-field-states-autofill-text)}.kbq-form-field.kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container{border-color:var(--kbq-form-field-states-error-border-color);background-color:var(--kbq-form-field-states-error-background)}.kbq-form-field.kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea{color:var(--kbq-form-field-states-error-text)}.kbq-form-field.kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field.kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field.kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container{border-color:var(--kbq-form-field-states-focused-border-color);background-color:var(--kbq-form-field-states-focused-background)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea{color:var(--kbq-form-field-states-focused-text)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::placeholder{color:var(--kbq-form-field-states-focused-placeholder)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-states-focused-placeholder)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-states-focused-placeholder)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container{box-shadow:0 0 .1px 1px var(--kbq-form-field-states-focused-focus-outline)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container{border-color:var(--kbq-form-field-states-error-border-color);background-color:var(--kbq-form-field-states-error-background)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea{color:var(--kbq-form-field-states-error-text)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid.cdk-focused .kbq-form-field__container{box-shadow:0 0 .1px 1px var(--kbq-form-field-states-error-focused-focus-outline)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-icon.kbq-empty{color:var(--kbq-form-field-states-error-text);-webkit-text-fill-color:var(--kbq-form-field-states-error-text)}.kbq-form-field .kbq-form-field__container:has(.kbq-input:-webkit-autofill),.kbq-form-field .kbq-form-field__container:has(.kbq-input:-webkit-autofill:hover),.kbq-form-field .kbq-form-field__container:has(.kbq-input:-webkit-autofill:focus){background-color:var(--kbq-form-field-states-autofill-background)!important}.kbq-form-field.kbq-disabled .kbq-form-field__container{border-color:var(--kbq-form-field-states-disabled-border-color);background-color:var(--kbq-form-field-states-disabled-background)}.kbq-form-field.kbq-disabled .kbq-input,.kbq-form-field.kbq-disabled .kbq-tag-input,.kbq-form-field.kbq-disabled .kbq-textarea{color:var(--kbq-form-field-states-disabled-text)}.kbq-form-field.kbq-disabled .kbq-input::placeholder,.kbq-form-field.kbq-disabled .kbq-tag-input::placeholder,.kbq-form-field.kbq-disabled .kbq-textarea::placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-form-field.kbq-disabled .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-disabled .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-disabled .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-form-field.kbq-disabled .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-disabled .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-disabled .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-form-field.kbq-disabled .kbq-icon.kbq-empty{color:var(--kbq-form-field-states-disabled-text);-webkit-text-fill-color:var(--kbq-form-field-states-disabled-text)}.kbq-form-field .kbq-form-field__prefix .kbq-icon.kbq-empty,.kbq-form-field .kbq-form-field__suffix .kbq-icon.kbq-empty{color:var(--kbq-icon-contrast-fade)}.kbq-form-field .kbq-form-field__hint>.kbq-hint:not(.kbq-password-hint,.kbq-contrast-fade,.kbq-success,.kbq-warning,.kbq-error){color:var(--kbq-form-field-hint-text)}.kbq-form-field{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-form-field .kbq-form-field__hint>.kbq-hint:not(.kbq-password-hint,.kbq-reactive-password-hint,.kbq-contrast-fade,.kbq-success,.kbq-warning) .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-form-field{--kbq-form-field-size-height: var(--kbq-size-3xl);--kbq-form-field-size-border-width: var(--kbq-size-border-width);--kbq-form-field-size-border-radius: var(--kbq-size-border-radius);--kbq-form-field-size-icon-size: var(--kbq-size-l);--kbq-form-field-size-icon-margin-left: var(--kbq-size-s);--kbq-form-field-size-icon-margin-right: var(--kbq-size-s);--kbq-form-field-size-icon-button-size: var(--kbq-size-xxl);--kbq-form-field-size-icon-button-margin-left: var(--kbq-size-xxs);--kbq-form-field-hint-size-margin-top: var(--kbq-size-xs);--kbq-form-field-hint-size-gap: var(--kbq-size-xxs);--kbq-form-field-size-container-vertical-padding: calc(var(--kbq-size-xs) - var(--kbq-size-border-width));--kbq-form-field-size-container-left-padding: calc(var(--kbq-size-xs) - var(--kbq-size-border-width));--kbq-form-field-size-container-right-padding: calc(var(--kbq-size-xs) - var(--kbq-size-border-width));--kbq-form-field-size-infix-left-padding: var(--kbq-size-xs);--kbq-form-field-size-infix-right-padding: var(--kbq-size-xxs);--kbq-form-field-size-addon-width: 28px;--kbq-form-field-default-border-color: var(--kbq-line-contrast-fade);--kbq-form-field-default-background: var(--kbq-background-bg);--kbq-form-field-default-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-default-text: var(--kbq-foreground-contrast);--kbq-form-field-states-focused-border-color: var(--kbq-states-line-focus-theme);--kbq-form-field-states-focused-background: var(--kbq-background-bg);--kbq-form-field-states-focused-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-states-focused-text: var(--kbq-foreground-contrast);--kbq-form-field-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-form-field-states-error-border-color: var(--kbq-line-error);--kbq-form-field-states-error-background: var(--kbq-background-error-less);--kbq-form-field-states-error-placeholder: var(--kbq-foreground-error-tertiary);--kbq-form-field-states-error-text: var(--kbq-foreground-error);--kbq-form-field-states-error-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-form-field-states-autofill-border-color: var(--kbq-states-line-focus-theme);--kbq-form-field-states-autofill-background: var(--kbq-background-theme-less);--kbq-form-field-states-autofill-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-states-autofill-text: var(--kbq-foreground-contrast);--kbq-form-field-states-disabled-border-color: var(--kbq-states-line-disabled);--kbq-form-field-states-disabled-background: var(--kbq-states-background-disabled);--kbq-form-field-states-disabled-placeholder: var(--kbq-states-foreground-disabled);--kbq-form-field-states-disabled-text: var(--kbq-states-foreground-disabled);--kbq-form-field-hint-text: var(--kbq-foreground-contrast-secondary)}:where(.kbq-dark){--kbq-form-field-states-error-placeholder: var(--kbq-foreground-error-secondary)}\n", ".kbq-input{background:transparent;padding:0;margin:0;border:none;outline:none;display:inline-block;box-sizing:border-box;text-overflow:ellipsis;width:100%;min-height:calc(var(--kbq-size-3xl) - var(--kbq-size-border-width) * 2);padding:var(--kbq-input-size-padding-vertical) var(--kbq-input-size-padding-horizontal)}.kbq-input::-ms-clear{display:none;width:0;height:0}.kbq-input::-ms-reveal{display:none;width:0;height:0}.kbq-input::-webkit-search-decoration,.kbq-input::-webkit-search-cancel-button,.kbq-input::-webkit-search-results-button,.kbq-input::-webkit-search-results-decoration{display:none}input.kbq-input[type=number]{-moz-appearance:textfield}input.kbq-input[type=number]::-webkit-inner-spin-button,input.kbq-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.kbq-input:invalid{box-shadow:unset}input.kbq-input::placeholder{opacity:1}.kbq-input,.kbq-input.kbq-input-password::placeholder{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-input.kbq-input-password{font-size:var(--kbq-typography-mono-normal-font-size);font-style:var(--kbq-typography-mono-normal-font-style);font-weight:var(--kbq-typography-mono-normal-font-weight);line-height:var(--kbq-typography-mono-normal-line-height);font-family:var(--kbq-typography-mono-normal-font-family);text-transform:var(--kbq-typography-mono-normal-text-transform);font-feature-settings:var(--kbq-typography-mono-normal-font-feature-settings);letter-spacing:var(--kbq-typography-mono-normal-letter-spacing);font-variant-ligatures:none;font-feature-settings:\"liga\" 0,\"clig\" 0,\"calt\" 0}\n", ".kbq-input{--kbq-input-size-padding-horizontal: 0;--kbq-input-size-padding-vertical: var(--kbq-form-field-size-container-vertical-padding)}\n", ".kbq-timepicker{padding-right:var(--kbq-timepicker-size-padding-right)}.kbq-form-field-type-timepicker{width:136px}\n", ".kbq-form-field-type-datepicker{width:136px}\n", ":where(.kbq-textarea){--kbq-textarea-size-min-height: 64px;--kbq-textarea-size-max-height: 96px;--kbq-textarea-size-padding-vertical: 5px;--kbq-textarea-size-padding-horizontal: 11px;--kbq-textarea-resizer-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path fill=\"%238a8fa8\" d=\"m13.354 5.354-8 8-.708-.707 8-8zm0 4-4 4-.708-.707 4-4z\"/></svg>')}:where(.kbq-dark .kbq-textarea){--kbq-textarea-resizer-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path fill=\"%23626884\" d=\"m13.354 5.354-8 8-.708-.707 8-8zm0 4-4 4-.708-.707 4-4z\"/></svg>')}.kbq-textarea{display:inline-block;background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--kbq-textarea-size-padding-vertical) var(--kbq-textarea-size-padding-horizontal);-webkit-appearance:none;vertical-align:bottom}.kbq-textarea:not(.kbq-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.kbq-textarea.kbq-textarea-resizable{resize:vertical;min-height:var(--kbq-textarea-size-min-height)}.kbq-textarea.kbq-textarea-resizable::-webkit-resizer{background:var(--kbq-textarea-resizer-icon) center no-repeat}.kbq-textarea.kbq-textarea_max-row-limit-reached{resize:unset}.kbq-textarea:invalid{box-shadow:unset}\n", ".kbq-form-field-type-tag-list{--kbq-tag-input-size-padding-left: var(--kbq-size-xxs);--kbq-tag-input-size-padding-right: var(--kbq-size-m);--kbq-tag-input-size-padding-vertical: var(--kbq-size-xxs);--kbq-tag-input-size-content-gap: var(--kbq-size-s)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
331
|
-
}
|
|
332
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqFormField, decorators: [{
|
|
333
|
-
type: Component,
|
|
334
|
-
args: [{ standalone: true, selector: 'kbq-form-field', exportAs: 'kbqFormField', host: {
|
|
335
|
-
class: 'kbq-form-field',
|
|
336
|
-
'[class.kbq-form-field_invalid]': 'invalid',
|
|
337
|
-
'[class.kbq-disabled]': 'disabled',
|
|
338
|
-
'[class.kbq-form-field_no-borders]': 'noBorders()',
|
|
339
|
-
'[class.ng-untouched]': 'shouldForward("untouched")',
|
|
340
|
-
'[class.ng-touched]': 'shouldForward("touched")',
|
|
341
|
-
'[class.ng-pristine]': 'shouldForward("pristine")',
|
|
342
|
-
'[class.ng-dirty]': 'shouldForward("dirty")',
|
|
343
|
-
'[class.ng-valid]': 'shouldForward("valid")',
|
|
344
|
-
'[class.ng-invalid]': 'shouldForward("invalid")',
|
|
345
|
-
'[class.ng-pending]': 'shouldForward("pending")',
|
|
346
|
-
'(keydown)': 'onKeyDown($event)',
|
|
347
|
-
'(mouseenter)': 'onHoverChanged(true)',
|
|
348
|
-
'(mouseleave)': 'onHoverChanged(false)'
|
|
349
|
-
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: KBQ_FORM_FIELD_REF, useExisting: KbqFormField }], template: "@if (hasLabel) {\n <label class=\"kbq-form-field__label\" [attr.for]=\"control.id\">\n <ng-content select=\"kbq-label\" />\n </label>\n}\n\n<div #connectionContainer class=\"kbq-form-field__container\" (click)=\"onContainerClick($event)\">\n @if (hasPrefix) {\n <div class=\"kbq-form-field__prefix\">\n <ng-content select=\"[kbqPrefix]\" />\n </div>\n }\n\n <div class=\"kbq-form-field__infix\">\n <ng-content />\n </div>\n\n @if (hasSuffix || hasCleaner || hasPasswordToggle || hasStepper) {\n <div class=\"kbq-form-field__suffix\">\n @if (canShowCleaner) {\n <div class=\"kbq-form-field__cleaner\" (click)=\"clearValue($event)\" (keydown.enter)=\"clearValue($event)\">\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <ng-content select=\"kbq-password-toggle, kbq-stepper, [kbqSuffix]\" />\n </div>\n }\n</div>\n\n@if (hasHint || hasPasswordHint || hasError || hasReactivePasswordHint) {\n <div class=\"kbq-form-field__hint\">\n @if (invalid) {\n <ng-content select=\"kbq-error\" />\n }\n\n <ng-content select=\"kbq-hint, kbq-password-hint, kbq-reactive-password-hint\" />\n </div>\n}\n", styles: [".kbq-form-field{position:relative;display:inline-block;width:100%}.kbq-form-field .kbq-form-field__label{display:flex;margin-bottom:var(--kbq-size-xs)}.kbq-form-field.kbq-form-field-type-select .kbq-form-field__suffix{margin-right:0}.kbq-form-field .kbq-form-field__container{box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;border-width:var(--kbq-form-field-size-border-width);border-style:solid;border-color:transparent;border-radius:var(--kbq-form-field-size-border-radius);padding-left:var(--kbq-form-field-size-container-left-padding);padding-right:var(--kbq-form-field-size-container-right-padding)}.kbq-form-field .kbq-form-field__container:has(.kbq-textarea){--kbq-form-field-size-container-left-padding: 0;--kbq-form-field-size-container-right-padding: 0}.kbq-form-field .kbq-form-field:not(.kbq-form-field-type-textarea){height:var(--kbq-form-field-size-height)}.kbq-form-field .kbq-form-field__infix{width:100%;max-width:calc(100% - var(--kbq-size-xs));flex-grow:1;padding-left:var(--kbq-form-field-size-infix-left-padding)}.kbq-form-field .kbq-form-field__infix:has(.kbq-select_multiple,.kbq-select_multiline):not(:has(.kbq-select__trigger_empty)),.kbq-form-field .kbq-form-field__infix:has(.kbq-tag-list),.kbq-form-field .kbq-form-field__infix:has(.kbq-textarea){padding-left:0;max-width:100%}.kbq-form-field .kbq-form-field__infix .kbq-input,.kbq-form-field .kbq-form-field__infix .kbq-tag-input{padding-right:var(--kbq-form-field-size-infix-right-padding)}.kbq-form-field,.kbq-form-field .kbq-input,.kbq-form-field .kbq-textarea{border-radius:var(--kbq-form-field-size-border-radius)}.kbq-form-field:hover{z-index:1}.kbq-form-field.cdk-focused,.kbq-form-field.kbq-focused{z-index:3}.kbq-form-field.kbq-form-field_without-borders .kbq-form-field__container,.kbq-form-field.kbq-form-field_no-borders .kbq-form-field__container{border-color:transparent!important;box-shadow:none!important}.kbq-form-field+.kbq-password-hint{margin-top:var(--kbq-size-m)}.kbq-form-field .kbq-form-field__prefix,.kbq-form-field .kbq-form-field__suffix{display:flex;justify-content:center;align-items:center}.kbq-form-field .kbq-form-field__prefix .kbq-prefix,.kbq-form-field .kbq-form-field__prefix .kbq-suffix,.kbq-form-field .kbq-form-field__suffix .kbq-prefix,.kbq-form-field .kbq-form-field__suffix .kbq-suffix{min-width:var(--kbq-form-field-size-addon-width);text-align:center}.kbq-form-field .kbq-form-field__prefix+.kbq-form-field__infix{padding-left:0}.kbq-form-field .kbq-form-field__hint{display:flex;flex-direction:column;gap:var(--kbq-form-field-hint-size-gap);margin-top:var(--kbq-form-field-hint-size-margin-top)}.kbq-form-field .kbq-form-field__hint:has(.kbq-reactive-password-hint,.kbq-password-hint){--kbq-form-field-hint-size-gap: var(--kbq-size-s)}.kbq-form-field .kbq-form-field__hint:has(:is(.kbq-reactive-password-hint,.kbq-password-hint):first-child){--kbq-form-field-hint-size-margin-top: var(--kbq-size-m)}.kbq-form-field .kbq-form-field__container{border-color:var(--kbq-form-field-default-border-color);background-color:var(--kbq-form-field-default-background)}.kbq-form-field .kbq-input,.kbq-form-field .kbq-tag-input,.kbq-form-field .kbq-textarea{color:var(--kbq-form-field-default-text)}.kbq-form-field .kbq-input::placeholder,.kbq-form-field .kbq-tag-input::placeholder,.kbq-form-field .kbq-textarea::placeholder{color:var(--kbq-form-field-default-placeholder)}.kbq-form-field .kbq-input::-ms-input-placeholder,.kbq-form-field .kbq-tag-input::-ms-input-placeholder,.kbq-form-field .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-default-placeholder)}.kbq-form-field .kbq-input::-webkit-input-placeholder,.kbq-form-field .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-default-placeholder)}.kbq-form-field .kbq-input:-webkit-autofill,.kbq-form-field .kbq-input:-webkit-autofill:hover,.kbq-form-field .kbq-input:-webkit-autofill:focus{-webkit-box-shadow:inset 0 0 0 40rem var(--kbq-form-field-states-autofill-background);-webkit-text-fill-color:var(--kbq-form-field-states-autofill-text);caret-color:var(--kbq-form-field-states-autofill-text)}.kbq-form-field.kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container{border-color:var(--kbq-form-field-states-error-border-color);background-color:var(--kbq-form-field-states-error-background)}.kbq-form-field.kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea{color:var(--kbq-form-field-states-error-text)}.kbq-form-field.kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field.kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field.kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container{border-color:var(--kbq-form-field-states-focused-border-color);background-color:var(--kbq-form-field-states-focused-background)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea{color:var(--kbq-form-field-states-focused-text)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::placeholder{color:var(--kbq-form-field-states-focused-placeholder)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-states-focused-placeholder)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-states-focused-placeholder)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).cdk-focused .kbq-form-field__container{box-shadow:0 0 .1px 1px var(--kbq-form-field-states-focused-focus-outline)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-form-field__container{border-color:var(--kbq-form-field-states-error-border-color);background-color:var(--kbq-form-field-states-error-background)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea{color:var(--kbq-form-field-states-error-text)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-textarea::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid.cdk-focused .kbq-form-field__container,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid.cdk-focused .kbq-form-field__container{box-shadow:0 0 .1px 1px var(--kbq-form-field-states-error-focused-focus-outline)}.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-input:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-textarea:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-timepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-datepicker:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-input-password:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-tag-list:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_invalid .kbq-icon.kbq-empty,.kbq-form-field.kbq-form-field-type-select:not(:has(.cdk-keyboard-focused,.kbq-focused)).kbq-form-field_has-validate-directive.ng-invalid .kbq-icon.kbq-empty{color:var(--kbq-form-field-states-error-text);-webkit-text-fill-color:var(--kbq-form-field-states-error-text)}.kbq-form-field .kbq-form-field__container:has(.kbq-input:-webkit-autofill),.kbq-form-field .kbq-form-field__container:has(.kbq-input:-webkit-autofill:hover),.kbq-form-field .kbq-form-field__container:has(.kbq-input:-webkit-autofill:focus){background-color:var(--kbq-form-field-states-autofill-background)!important}.kbq-form-field.kbq-disabled .kbq-form-field__container{border-color:var(--kbq-form-field-states-disabled-border-color);background-color:var(--kbq-form-field-states-disabled-background)}.kbq-form-field.kbq-disabled .kbq-input,.kbq-form-field.kbq-disabled .kbq-tag-input,.kbq-form-field.kbq-disabled .kbq-textarea{color:var(--kbq-form-field-states-disabled-text)}.kbq-form-field.kbq-disabled .kbq-input::placeholder,.kbq-form-field.kbq-disabled .kbq-tag-input::placeholder,.kbq-form-field.kbq-disabled .kbq-textarea::placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-form-field.kbq-disabled .kbq-input::-ms-input-placeholder,.kbq-form-field.kbq-disabled .kbq-tag-input::-ms-input-placeholder,.kbq-form-field.kbq-disabled .kbq-textarea::-ms-input-placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-form-field.kbq-disabled .kbq-input::-webkit-input-placeholder,.kbq-form-field.kbq-disabled .kbq-tag-input::-webkit-input-placeholder,.kbq-form-field.kbq-disabled .kbq-textarea::-webkit-input-placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-form-field.kbq-disabled .kbq-icon.kbq-empty{color:var(--kbq-form-field-states-disabled-text);-webkit-text-fill-color:var(--kbq-form-field-states-disabled-text)}.kbq-form-field .kbq-form-field__prefix .kbq-icon.kbq-empty,.kbq-form-field .kbq-form-field__suffix .kbq-icon.kbq-empty{color:var(--kbq-icon-contrast-fade)}.kbq-form-field .kbq-form-field__hint>.kbq-hint:not(.kbq-password-hint,.kbq-contrast-fade,.kbq-success,.kbq-warning,.kbq-error){color:var(--kbq-form-field-hint-text)}.kbq-form-field{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-form-field .kbq-form-field__hint>.kbq-hint:not(.kbq-password-hint,.kbq-reactive-password-hint,.kbq-contrast-fade,.kbq-success,.kbq-warning) .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-form-field{--kbq-form-field-size-height: var(--kbq-size-3xl);--kbq-form-field-size-border-width: var(--kbq-size-border-width);--kbq-form-field-size-border-radius: var(--kbq-size-border-radius);--kbq-form-field-size-icon-size: var(--kbq-size-l);--kbq-form-field-size-icon-margin-left: var(--kbq-size-s);--kbq-form-field-size-icon-margin-right: var(--kbq-size-s);--kbq-form-field-size-icon-button-size: var(--kbq-size-xxl);--kbq-form-field-size-icon-button-margin-left: var(--kbq-size-xxs);--kbq-form-field-hint-size-margin-top: var(--kbq-size-xs);--kbq-form-field-hint-size-gap: var(--kbq-size-xxs);--kbq-form-field-size-container-vertical-padding: calc(var(--kbq-size-xs) - var(--kbq-size-border-width));--kbq-form-field-size-container-left-padding: calc(var(--kbq-size-xs) - var(--kbq-size-border-width));--kbq-form-field-size-container-right-padding: calc(var(--kbq-size-xs) - var(--kbq-size-border-width));--kbq-form-field-size-infix-left-padding: var(--kbq-size-xs);--kbq-form-field-size-infix-right-padding: var(--kbq-size-xxs);--kbq-form-field-size-addon-width: 28px;--kbq-form-field-default-border-color: var(--kbq-line-contrast-fade);--kbq-form-field-default-background: var(--kbq-background-bg);--kbq-form-field-default-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-default-text: var(--kbq-foreground-contrast);--kbq-form-field-states-focused-border-color: var(--kbq-states-line-focus-theme);--kbq-form-field-states-focused-background: var(--kbq-background-bg);--kbq-form-field-states-focused-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-states-focused-text: var(--kbq-foreground-contrast);--kbq-form-field-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-form-field-states-error-border-color: var(--kbq-line-error);--kbq-form-field-states-error-background: var(--kbq-background-error-less);--kbq-form-field-states-error-placeholder: var(--kbq-foreground-error-tertiary);--kbq-form-field-states-error-text: var(--kbq-foreground-error);--kbq-form-field-states-error-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-form-field-states-autofill-border-color: var(--kbq-states-line-focus-theme);--kbq-form-field-states-autofill-background: var(--kbq-background-theme-less);--kbq-form-field-states-autofill-placeholder: var(--kbq-foreground-contrast-tertiary);--kbq-form-field-states-autofill-text: var(--kbq-foreground-contrast);--kbq-form-field-states-disabled-border-color: var(--kbq-states-line-disabled);--kbq-form-field-states-disabled-background: var(--kbq-states-background-disabled);--kbq-form-field-states-disabled-placeholder: var(--kbq-states-foreground-disabled);--kbq-form-field-states-disabled-text: var(--kbq-states-foreground-disabled);--kbq-form-field-hint-text: var(--kbq-foreground-contrast-secondary)}:where(.kbq-dark){--kbq-form-field-states-error-placeholder: var(--kbq-foreground-error-secondary)}\n", ".kbq-input{background:transparent;padding:0;margin:0;border:none;outline:none;display:inline-block;box-sizing:border-box;text-overflow:ellipsis;width:100%;min-height:calc(var(--kbq-size-3xl) - var(--kbq-size-border-width) * 2);padding:var(--kbq-input-size-padding-vertical) var(--kbq-input-size-padding-horizontal)}.kbq-input::-ms-clear{display:none;width:0;height:0}.kbq-input::-ms-reveal{display:none;width:0;height:0}.kbq-input::-webkit-search-decoration,.kbq-input::-webkit-search-cancel-button,.kbq-input::-webkit-search-results-button,.kbq-input::-webkit-search-results-decoration{display:none}input.kbq-input[type=number]{-moz-appearance:textfield}input.kbq-input[type=number]::-webkit-inner-spin-button,input.kbq-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.kbq-input:invalid{box-shadow:unset}input.kbq-input::placeholder{opacity:1}.kbq-input,.kbq-input.kbq-input-password::placeholder{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-input.kbq-input-password{font-size:var(--kbq-typography-mono-normal-font-size);font-style:var(--kbq-typography-mono-normal-font-style);font-weight:var(--kbq-typography-mono-normal-font-weight);line-height:var(--kbq-typography-mono-normal-line-height);font-family:var(--kbq-typography-mono-normal-font-family);text-transform:var(--kbq-typography-mono-normal-text-transform);font-feature-settings:var(--kbq-typography-mono-normal-font-feature-settings);letter-spacing:var(--kbq-typography-mono-normal-letter-spacing);font-variant-ligatures:none;font-feature-settings:\"liga\" 0,\"clig\" 0,\"calt\" 0}\n", ".kbq-input{--kbq-input-size-padding-horizontal: 0;--kbq-input-size-padding-vertical: var(--kbq-form-field-size-container-vertical-padding)}\n", ".kbq-timepicker{padding-right:var(--kbq-timepicker-size-padding-right)}.kbq-form-field-type-timepicker{width:136px}\n", ".kbq-form-field-type-datepicker{width:136px}\n", ":where(.kbq-textarea){--kbq-textarea-size-min-height: 64px;--kbq-textarea-size-max-height: 96px;--kbq-textarea-size-padding-vertical: 5px;--kbq-textarea-size-padding-horizontal: 11px;--kbq-textarea-resizer-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path fill=\"%238a8fa8\" d=\"m13.354 5.354-8 8-.708-.707 8-8zm0 4-4 4-.708-.707 4-4z\"/></svg>')}:where(.kbq-dark .kbq-textarea){--kbq-textarea-resizer-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path fill=\"%23626884\" d=\"m13.354 5.354-8 8-.708-.707 8-8zm0 4-4 4-.708-.707 4-4z\"/></svg>')}.kbq-textarea{display:inline-block;background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--kbq-textarea-size-padding-vertical) var(--kbq-textarea-size-padding-horizontal);-webkit-appearance:none;vertical-align:bottom}.kbq-textarea:not(.kbq-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.kbq-textarea.kbq-textarea-resizable{resize:vertical;min-height:var(--kbq-textarea-size-min-height)}.kbq-textarea.kbq-textarea-resizable::-webkit-resizer{background:var(--kbq-textarea-resizer-icon) center no-repeat}.kbq-textarea.kbq-textarea_max-row-limit-reached{resize:unset}.kbq-textarea:invalid{box-shadow:unset}\n", ".kbq-form-field-type-tag-list{--kbq-tag-input-size-padding-left: var(--kbq-size-xxs);--kbq-tag-input-size-padding-right: var(--kbq-size-m);--kbq-tag-input-size-padding-vertical: var(--kbq-size-xxs);--kbq-tag-input-size-content-gap: var(--kbq-size-s)}\n"] }]
|
|
350
|
-
}], propDecorators: { control: [{
|
|
351
|
-
type: ContentChild,
|
|
352
|
-
args: [KbqFormFieldControl]
|
|
353
|
-
}], stepper: [{
|
|
354
|
-
type: ContentChild,
|
|
355
|
-
args: [KbqStepper]
|
|
356
|
-
}], cleaner: [{
|
|
357
|
-
type: ContentChild,
|
|
358
|
-
args: [KbqCleaner, { descendants: false }]
|
|
359
|
-
}], passwordToggle: [{
|
|
360
|
-
type: ContentChild,
|
|
361
|
-
args: [KbqPasswordToggle]
|
|
362
|
-
}], hint: [{
|
|
363
|
-
type: ContentChildren,
|
|
364
|
-
args: [KbqHint]
|
|
365
|
-
}], passwordHints: [{
|
|
366
|
-
type: ContentChildren,
|
|
367
|
-
args: [KbqPasswordHint]
|
|
368
|
-
}], suffix: [{
|
|
369
|
-
type: ContentChildren,
|
|
370
|
-
args: [KbqSuffix]
|
|
371
|
-
}], prefix: [{
|
|
372
|
-
type: ContentChildren,
|
|
373
|
-
args: [KbqPrefix]
|
|
374
|
-
}], connectionContainerRef: [{
|
|
375
|
-
type: ViewChild,
|
|
376
|
-
args: ['connectionContainer', { static: true }]
|
|
377
|
-
}], reactivePasswordHint: [{
|
|
378
|
-
type: ContentChildren,
|
|
379
|
-
args: [KbqReactivePasswordHint]
|
|
380
|
-
}], error: [{
|
|
381
|
-
type: ContentChildren,
|
|
382
|
-
args: [KbqError]
|
|
383
|
-
}], label: [{
|
|
384
|
-
type: ContentChild,
|
|
385
|
-
args: [KbqLabel]
|
|
386
|
-
}] } });
|
|
387
|
-
/**
|
|
388
|
-
* @docs-private
|
|
389
|
-
*
|
|
390
|
-
* @deprecated Will be removed in next major release, use `noBorders` input instead.
|
|
391
|
-
*/
|
|
392
|
-
export class KbqFormFieldWithoutBorders {
|
|
393
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqFormFieldWithoutBorders, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
394
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: KbqFormFieldWithoutBorders, isStandalone: true, selector: "kbq-form-field[kbqFormFieldWithoutBorders]", host: { classAttribute: "kbq-form-field_without-borders" }, exportAs: ["kbqFormFieldWithoutBorders"], ngImport: i0 }); }
|
|
395
|
-
}
|
|
396
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqFormFieldWithoutBorders, decorators: [{
|
|
397
|
-
type: Directive,
|
|
398
|
-
args: [{
|
|
399
|
-
standalone: true,
|
|
400
|
-
selector: 'kbq-form-field[kbqFormFieldWithoutBorders]',
|
|
401
|
-
exportAs: 'kbqFormFieldWithoutBorders',
|
|
402
|
-
host: { class: 'kbq-form-field_without-borders' }
|
|
403
|
-
}]
|
|
404
|
-
}] });
|
|
405
|
-
/**
|
|
406
|
-
* @docs-private
|
|
407
|
-
*/
|
|
408
|
-
export class KbqTrim {
|
|
409
|
-
constructor(noTrim, ngControl) {
|
|
410
|
-
this.noTrim = noTrim;
|
|
411
|
-
this.ngControl = ngControl;
|
|
412
|
-
this.registerOnChange = (fn) => {
|
|
413
|
-
return this.original.call(this.ngControl.valueAccessor, (value) => fn(this.trim(value)));
|
|
414
|
-
};
|
|
415
|
-
this.noTrim = coerceBooleanProperty(noTrim);
|
|
416
|
-
if (this.noTrim || !this.ngControl?.valueAccessor) {
|
|
417
|
-
return;
|
|
418
|
-
}
|
|
419
|
-
this.original = this.ngControl.valueAccessor.registerOnChange;
|
|
420
|
-
this.ngControl.valueAccessor.registerOnChange = this.registerOnChange;
|
|
421
|
-
}
|
|
422
|
-
trim(value) {
|
|
423
|
-
if (this.noTrim) {
|
|
424
|
-
return value;
|
|
425
|
-
}
|
|
426
|
-
return typeof value === 'string' ? value.trim() : value;
|
|
427
|
-
}
|
|
428
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTrim, deps: [{ token: 'no-trim', attribute: true }, { token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
429
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: KbqTrim, isStandalone: true, selector: "[kbqInput], [kbqTextarea]", host: { classAttribute: "kbq-trim" }, exportAs: ["KbqTrim"], ngImport: i0 }); }
|
|
430
|
-
}
|
|
431
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTrim, decorators: [{
|
|
432
|
-
type: Directive,
|
|
433
|
-
args: [{
|
|
434
|
-
standalone: true,
|
|
435
|
-
selector: '[kbqInput], [kbqTextarea]',
|
|
436
|
-
exportAs: 'KbqTrim',
|
|
437
|
-
host: { class: 'kbq-trim' }
|
|
438
|
-
}]
|
|
439
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
440
|
-
type: Attribute,
|
|
441
|
-
args: ['no-trim']
|
|
442
|
-
}] }, { type: i1.NgControl, decorators: [{
|
|
443
|
-
type: Optional
|
|
444
|
-
}, {
|
|
445
|
-
type: Self
|
|
446
|
-
}] }] });
|
|
447
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUlILFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxRQUFRLEVBRVIsU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFD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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQXR0cmlidXRlLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgaW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFByb3ZpZGVyLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVTQ0FQRSwgRjggfSBmcm9tICdAa29vYmlxL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBLQlFfRk9STV9GSUVMRF9SRUYsIEticUNvbG9yRGlyZWN0aXZlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgRU1QVFksIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgS2JxQ2xlYW5lciB9IGZyb20gJy4vY2xlYW5lcic7XG5pbXBvcnQgeyBLYnFFcnJvciB9IGZyb20gJy4vZXJyb3InO1xuaW1wb3J0IHsgS2JxRm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJy4vZm9ybS1maWVsZC1jb250cm9sJztcbmltcG9ydCB7IEticUhpbnQgfSBmcm9tICcuL2hpbnQnO1xuaW1wb3J0IHsgS2JxTGFiZWwgfSBmcm9tICcuL2xhYmVsJztcbmltcG9ydCB7IGhhc1Bhc3N3b3JkU3RyZW5ndGhFcnJvciwgS2JxUGFzc3dvcmRIaW50IH0gZnJvbSAnLi9wYXNzd29yZC1oaW50JztcbmltcG9ydCB7IEticVBhc3N3b3JkVG9nZ2xlIH0gZnJvbSAnLi9wYXNzd29yZC10b2dnbGUnO1xuaW1wb3J0IHsgS2JxUHJlZml4IH0gZnJvbSAnLi9wcmVmaXgnO1xuaW1wb3J0IHsgS2JxUmVhY3RpdmVQYXNzd29yZEhpbnQgfSBmcm9tICcuL3JlYWN0aXZlLXBhc3N3b3JkLWhpbnQnO1xuaW1wb3J0IHsgS2JxU3RlcHBlciB9IGZyb20gJy4vc3RlcHBlcic7XG5pbXBvcnQgeyBLYnFTdWZmaXggfSBmcm9tICcuL3N1ZmZpeCc7XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0S2JxRm9ybUZpZWxkTWlzc2luZ0NvbnRyb2xFcnJvcigpOiBFcnJvciB7XG4gICAgcmV0dXJuIEVycm9yKCdrYnEtZm9ybS1maWVsZCBtdXN0IGNvbnRhaW4gYSBLYnFGb3JtRmllbGRDb250cm9sJyk7XG59XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0S2JxRm9ybUZpZWxkWW91Q2FuTm90VXNlQ2xlYW5lckluTnVtYmVySW5wdXRFcnJvcigpOiBFcnJvciB7XG4gICAgcmV0dXJuIEVycm9yKGBZb3UgY2FuJ3QgdXNlIGticS1jbGVhbmVyIHdpdGggaW5wdXQgdGhhdCBoYXZlIHR5cGU9XCJudW1iZXJcImApO1xufVxuXG4vKipcbiAqIERlZmF1bHQgb3B0aW9ucyBmb3IgdGhlIGticS1mb3JtLWZpZWxkIHRoYXQgY2FuIGJlIGNvbmZpZ3VyZWQgdXNpbmcgdGhlIGBLQlFfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlNgXG4gKiBpbmplY3Rpb24gdG9rZW4uXG4gKi9cbmV4cG9ydCB0eXBlIEticUZvcm1GaWVsZERlZmF1bHRPcHRpb25zID0gUGFydGlhbDx7XG4gICAgLyoqIERpc2FibGVzIGZvcm0gZmllbGQgYm9yZGVycyBhbmQgc2hhZG93cy4gKi9cbiAgICBub0JvcmRlcnM6IGJvb2xlYW47XG59PjtcblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byBjb25maWd1cmUgdGhlIGRlZmF1bHQgb3B0aW9ucyBmb3IgYWxsIGticS1mb3JtLWZpZWxkJ3MuXG4gKi9cbmV4cG9ydCBjb25zdCBLQlFfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48S2JxRm9ybUZpZWxkRGVmYXVsdE9wdGlvbnM+KFxuICAgICdLQlFfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlMnXG4pO1xuXG4vKiogVXRpbGl0eSBwcm92aWRlciBmb3IgYEtCUV9GT1JNX0ZJRUxEX0RFRkFVTFRfT1BUSU9OU2AuICovXG5leHBvcnQgY29uc3Qga2JxRm9ybUZpZWxkRGVmYXVsdE9wdGlvbnNQcm92aWRlciA9IChvcHRpb25zOiBLYnFGb3JtRmllbGREZWZhdWx0T3B0aW9ucyk6IFByb3ZpZGVyID0+ICh7XG4gICAgcHJvdmlkZTogS0JRX0ZPUk1fRklFTERfREVGQVVMVF9PUFRJT05TLFxuICAgIHVzZVZhbHVlOiBvcHRpb25zXG59KTtcblxuLyoqIENvbnRhaW5lciBmb3IgZm9ybSBjb250cm9scyB0aGF0IGFwcGxpZXMgc3R5bGluZyBhbmQgYmVoYXZpb3IuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAna2JxLWZvcm0tZmllbGQnLFxuICAgIGV4cG9ydEFzOiAna2JxRm9ybUZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2Zvcm0tZmllbGQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbXG4gICAgICAgICdmb3JtLWZpZWxkLnNjc3MnLFxuICAgICAgICAnZm9ybS1maWVsZC10b2tlbnMuc2NzcycsXG4gICAgICAgIC8vIEticUlucHV0IGlzIGEgZGlyZWN0aXZlIGFuZCBjYW4ndCBoYXZlIHN0eWxlcywgc28gd2UgbmVlZCB0byBpbmNsdWRlIGl0cyBzdHlsZXMgaGVyZS5cbiAgICAgICAgLy8gVGhlIEticUlucHV0IHN0eWxlcyBhcmUgZmFpcmx5IG1pbmltYWwgc28gaXQgc2hvdWxkbid0IGJlIGEgYmlnIGRlYWwgZm9yIHBlb3BsZSB3aG8gYXJlbid0IHVzaW5nIEticUlucHV0LlxuICAgICAgICAnLi4vaW5wdXQvaW5wdXQuc2NzcycsXG4gICAgICAgICcuLi9pbnB1dC9pbnB1dC10b2tlbnMuc2NzcycsXG4gICAgICAgICcuLi90aW1lcGlja2VyL3RpbWVwaWNrZXIuc2NzcycsXG4gICAgICAgICcuLi9kYXRlcGlja2VyL2RhdGVwaWNrZXItaW5wdXQuc2NzcycsXG4gICAgICAgICcuLi90ZXh0YXJlYS90ZXh0YXJlYS5zY3NzJyxcbiAgICAgICAgJy4uL3RhZ3MvdGFnLWlucHV0LXRva2Vucy5zY3NzJ1xuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1mb3JtLWZpZWxkJyxcblxuICAgICAgICAnW2NsYXNzLmticS1mb3JtLWZpZWxkX2ludmFsaWRdJzogJ2ludmFsaWQnLFxuICAgICAgICAnW2NsYXNzLmticS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW2NsYXNzLmticS1mb3JtLWZpZWxkX25vLWJvcmRlcnNdJzogJ25vQm9yZGVycygpJyxcblxuICAgICAgICAnW2NsYXNzLm5nLXVudG91Y2hlZF0nOiAnc2hvdWxkRm9yd2FyZChcInVudG91Y2hlZFwiKScsXG4gICAgICAgICdbY2xhc3MubmctdG91Y2hlZF0nOiAnc2hvdWxkRm9yd2FyZChcInRvdWNoZWRcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLXByaXN0aW5lXSc6ICdzaG91bGRGb3J3YXJkKFwicHJpc3RpbmVcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLWRpcnR5XSc6ICdzaG91bGRGb3J3YXJkKFwiZGlydHlcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLXZhbGlkXSc6ICdzaG91bGRGb3J3YXJkKFwidmFsaWRcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLWludmFsaWRdJzogJ3Nob3VsZEZvcndhcmQoXCJpbnZhbGlkXCIpJyxcbiAgICAgICAgJ1tjbGFzcy5uZy1wZW5kaW5nXSc6ICdzaG91bGRGb3J3YXJkKFwicGVuZGluZ1wiKScsXG5cbiAgICAgICAgJyhrZXlkb3duKSc6ICdvbktleURvd24oJGV2ZW50KScsXG4gICAgICAgICcobW91c2VlbnRlciknOiAnb25Ib3ZlckNoYW5nZWQodHJ1ZSknLFxuICAgICAgICAnKG1vdXNlbGVhdmUpJzogJ29uSG92ZXJDaGFuZ2VkKGZhbHNlKSdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBLQlFfRk9STV9GSUVMRF9SRUYsIHVzZUV4aXN0aW5nOiBLYnFGb3JtRmllbGQgfV1cbn0pXG5leHBvcnQgY2xhc3MgS2JxRm9ybUZpZWxkXG4gICAgZXh0ZW5kcyBLYnFDb2xvckRpcmVjdGl2ZVxuICAgIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRDaGVja2VkXG57XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9jdXNNb25pdG9yID0gaW5qZWN0KEZvY3VzTW9uaXRvcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0T3B0aW9ucyA9IGluamVjdChLQlFfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlMsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgLyoqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqIERpc2FibGVzIGZvcm0gZmllbGQgYm9yZGVycyBhbmQgc2hhZG93cy4gKi9cbiAgICByZWFkb25seSBub0JvcmRlcnMgPSBpbnB1dCh0aGlzLmRlZmF1bHRPcHRpb25zPy5ub0JvcmRlcnMsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGZvcm0gZmllbGQgY29udHJvbC5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKEticUZvcm1GaWVsZENvbnRyb2wpIGNvbnRyb2w6IEticUZvcm1GaWVsZENvbnRyb2w8dW5rbm93bj47XG4gICAgLyoqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoS2JxU3RlcHBlcikgcmVhZG9ubHkgc3RlcHBlcjogS2JxU3RlcHBlcjtcbiAgICAvKipcbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICpcbiAgICAgKiBAVE9ETyBTaG91bGQgYmUgcmVhZG9ubHkgKCNEUy0zODgzKVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoS2JxQ2xlYW5lciwgeyBkZXNjZW5kYW50czogZmFsc2UgfSkgY2xlYW5lcjogS2JxQ2xlYW5lciB8IG51bGw7XG4gICAgLyoqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoS2JxUGFzc3dvcmRUb2dnbGUpIHBhc3N3b3JkVG9nZ2xlOiBLYnFQYXNzd29yZFRvZ2dsZSB8IG51bGw7XG4gICAgLyoqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oS2JxSGludCkgaGludDogUXVlcnlMaXN0PEticUhpbnQ+O1xuICAgIC8qKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKEticVBhc3N3b3JkSGludCkgcGFzc3dvcmRIaW50czogUXVlcnlMaXN0PEticVBhc3N3b3JkSGludD47XG4gICAgLyoqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oS2JxU3VmZml4KSBzdWZmaXg6IFF1ZXJ5TGlzdDxLYnFTdWZmaXg+O1xuICAgIC8qKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKEticVByZWZpeCkgcHJlZml4OiBRdWVyeUxpc3Q8S2JxUHJlZml4PjtcbiAgICAvKipcbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgnY29ubmVjdGlvbkNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIGNvbm5lY3Rpb25Db250YWluZXJSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKEticVJlYWN0aXZlUGFzc3dvcmRIaW50KSBwcml2YXRlIHJlYWRvbmx5IHJlYWN0aXZlUGFzc3dvcmRIaW50OiBRdWVyeUxpc3Q8S2JxUmVhY3RpdmVQYXNzd29yZEhpbnQ+O1xuICAgIEBDb250ZW50Q2hpbGRyZW4oS2JxRXJyb3IpIHByaXZhdGUgcmVhZG9ubHkgZXJyb3I6IFF1ZXJ5TGlzdDxLYnFFcnJvcj47XG4gICAgQENvbnRlbnRDaGlsZChLYnFMYWJlbCkgcHJpdmF0ZSByZWFkb25seSBsYWJlbDogS2JxTGFiZWwgfCBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIGhvdmVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBjYW5DbGVhbmVyQ2xlYXJCeUVzYzogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0aGUgZm9ybSBmaWVsZCBpcyBpbnZhbGlkLiAqL1xuICAgIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmNvbnRyb2w/LmVycm9yU3RhdGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGhhcyBhbiByZWFjdGl2ZSBwYXNzd29yZCBoaW50LlxuICAgICAqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXQgaGFzUmVhY3RpdmVQYXNzd29yZEhpbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlYWN0aXZlUGFzc3dvcmRIaW50Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZm9ybS1maWVsZCBjb250YWlucyBrYnEtZXJyb3IuXG4gICAgICpcbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldCBoYXNFcnJvcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3IubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBmb3JtLWZpZWxkIGNvbnRhaW5zIGticS1sYWJlbC5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0IGhhc0xhYmVsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmxhYmVsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGZvcm0tZmllbGQgY29udGFpbnMga2JxLXBhc3N3b3JkLWhpbnQuXG4gICAgICpcbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgZ2V0IGhhc1Bhc3N3b3JkSGludCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFzc3dvcmRIaW50cz8ubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDdXJyZW50IGZvY3VzIG9yaWdpbiBzdGF0ZS5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBnZXQgZm9jdXNPcmlnaW4oKTogRm9jdXNPcmlnaW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXNPcmlnaW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luO1xuXG4gICAgLyoqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIGdldCBoYXNGb2N1cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbD8uZm9jdXNlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBmb3JtLWZpZWxkIGNvbnRhaW5zIGticS1oaW50LlxuICAgICAqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIGdldCBoYXNIaW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oaW50Py5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGZvcm0tZmllbGQgY29udGFpbnMga2JxU3VmZml4LlxuICAgICAqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIGdldCBoYXNTdWZmaXgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN1ZmZpeD8ubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBmb3JtLWZpZWxkIGNvbnRhaW5zIGticVByZWZpeC5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBnZXQgaGFzUHJlZml4KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmVmaXg/Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZm9ybS1maWVsZCBjb250YWlucyBrYnEtY2xlYW5lci5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBnZXQgaGFzQ2xlYW5lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jbGVhbmVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGZvcm0tZmllbGQgY29udGFpbnMga2JxLXN0ZXBwZXIuXG4gICAgICpcbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgZ2V0IGhhc1N0ZXBwZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc3RlcHBlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBmb3JtLWZpZWxkIGNvbnRhaW5zIGticS1wYXNzd29yZC10b2dnbGUuXG4gICAgICpcbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgZ2V0IGhhc1Bhc3N3b3JkVG9nZ2xlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnBhc3N3b3JkVG9nZ2xlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBnZXQgY2FuU2hvd0NsZWFuZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0NsZWFuZXIgJiYgdGhpcy5jb250cm9sPy5uZ0NvbnRyb2wgPyB0aGlzLmNvbnRyb2wubmdDb250cm9sLnZhbHVlICYmICF0aGlzLmRpc2FibGVkIDogZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGZvcm0gZmllbGQgaXMgZGlzYWJsZWQuICovXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sPy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBzdGVwcGVyIHNob3VsZCBiZSBhbHdheXMgdmlzaWJsZSB3aGVuIHByb3ZpZGVkLCBzbyB0aGlzIHBhcmFtZXRlciBpcyByZWR1bmRhbnQsXG4gICAgICogdXNlIGBoYXNTdGVwcGVyYCBpbnN0ZWFkXG4gICAgICpcbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgY2FuU2hvd1N0ZXBwZXIgPSB0cnVlO1xuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbGlkYXRlQ29udHJvbENoaWxkKCk7XG5cbiAgICAgICAgaWYgKCh0aGlzLmNvbnRyb2wgYXMgYW55KS5udW1iZXJJbnB1dCAmJiB0aGlzLmhhc0NsZWFuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYW5lciA9IG51bGw7XG4gICAgICAgICAgICB0aHJvdyBnZXRLYnFGb3JtRmllbGRZb3VDYW5Ob3RVc2VDbGVhbmVySW5OdW1iZXJJbnB1dEVycm9yKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdWJzY3JpYmUgdG8gY2hhbmdlcyBpbiB0aGUgY2hpbGQgY29udHJvbCBzdGF0ZSBpbiBvcmRlciB0byB1cGRhdGUgdGhlIGZvcm0gZmllbGQgVUkuXG4gICAgICAgIHRoaXMuY29udHJvbC5zdGF0ZUNoYW5nZXMucGlwZShzdGFydFdpdGgoKSwgZGVsYXkoMCkpLnN1YnNjcmliZSgoc3RhdGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucGFzc3dvcmRIaW50cy5sZW5ndGggJiYgIXN0YXRlPy5mb2N1c2VkICYmIGhhc1Bhc3N3b3JkU3RyZW5ndGhFcnJvcih0aGlzLnBhc3N3b3JkSGludHMpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLm5nQ29udHJvbD8uY29udHJvbD8uc2V0RXJyb3JzKHsgcGFzc3dvcmRTdHJlbmd0aDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzU3RlcHBlcikge1xuICAgICAgICAgICAgdGhpcy5zdGVwcGVyLmNvbm5lY3RUbygodGhpcy5jb250cm9sIGFzIGFueSkubnVtYmVySW5wdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbml0aWFsaXplQ29udHJvbCgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVQcmVmaXhBbmRTdWZmaXgoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplSGludCgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUNvbnRyb2xDaGlsZCgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ydW5Gb2N1c01vbml0b3IoKTtcblxuICAgICAgICAvLyBCZWNhdXNlIHRoZSBhYm92ZSBjaGFuZ2VzIGEgdmFsdWUgdXNlZCBpbiB0aGUgdGVtcGxhdGUgYWZ0ZXIgaXQgd2FzIGNoZWNrZWQsIHdlIG5lZWRcbiAgICAgICAgLy8gdG8gdHJpZ2dlciBDRCBvciB0aGUgY2hhbmdlIG1pZ2h0IG5vdCBiZSByZWZsZWN0ZWQgaWYgdGhlcmUgaXMgbm8gb3RoZXIgQ0Qgc2NoZWR1bGVkLlxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9wRm9jdXNNb25pdG9yKCk7XG4gICAgfVxuXG4gICAgLyoqIEZvY3VzZXMgdGhlIGNvbnRyb2wuICovXG4gICAgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRyb2wuZm9jdXMob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGBmb2N1c2AgaW5zdGVhZC5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBmb2N1c1ZpYUtleWJvYXJkKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250cm9sLmZvY3VzKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBjbGVhclZhbHVlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICB0aGlzLmNvbnRyb2w/Lm5nQ29udHJvbD8ucmVzZXQoKTtcbiAgICAgICAgdGhpcy5jb250cm9sPy5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZXMgYSBjbGljayBvbiB0aGUgY29udHJvbCdzIGNvbnRhaW5lci5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBvbkNvbnRhaW5lckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2w/Lm9uQ29udGFpbmVyQ2xpY2spIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5vbkNvbnRhaW5lckNsaWNrKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZXMga2V5ZG93biBldmVudHMuXG4gICAgICpcbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuY29udHJvbFR5cGUgPT09ICdpbnB1dC1wYXNzd29yZCcgJiYgZXZlbnQuYWx0S2V5ICYmIGV2ZW50LmtleUNvZGUgPT09IEY4KSB7XG4gICAgICAgICAgICAodGhpcy5jb250cm9sIGFzIHVua25vd24gYXMgeyB0b2dnbGVUeXBlKCk6IHZvaWQgfSkudG9nZ2xlVHlwZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY2FuQ2xlYW5lckNsZWFyQnlFc2MgJiYgZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFICYmIHRoaXMuY29udHJvbC5mb2N1c2VkICYmIHRoaXMuaGFzQ2xlYW5lcikge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sPy5uZ0NvbnRyb2w/LnJlc2V0KCk7XG5cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgb25Ib3ZlckNoYW5nZWQoaXNIb3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChpc0hvdmVyZWQgIT09IHRoaXMuaG92ZXJlZCkge1xuICAgICAgICAgICAgdGhpcy5ob3ZlcmVkID0gaXNIb3ZlcmVkO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYW4gRWxlbWVudFJlZiBmb3IgdGhlIGVsZW1lbnQgdGhhdCBhIG92ZXJsYXkgYXR0YWNoZWQgdG8gdGhlIGZvcm0tZmllbGQgc2hvdWxkIGJlIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8uXG4gICAgICovXG4gICAgZ2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpOiBFbGVtZW50UmVmIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbkNvbnRhaW5lclJlZiB8fCB0aGlzLmVsZW1lbnRSZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgY2xhc3MgZnJvbSB0aGUgTmdDb250cm9sIHNob3VsZCBiZSBmb3J3YXJkZWQgdG8gdGhlIGhvc3QgZWxlbWVudC5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBzaG91bGRGb3J3YXJkKHByb3A6IGtleW9mIE5nQ29udHJvbCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBuZ0NvbnRyb2wgPSB0aGlzLmNvbnRyb2w/Lm5nQ29udHJvbDtcblxuICAgICAgICByZXR1cm4gbmdDb250cm9sICYmIG5nQ29udHJvbFtwcm9wXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSdW5zIHRoZSBmb2N1cyBtb25pdG9yIGZvciB0aGUgZm9ybSBmaWVsZC5cbiAgICAgKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBydW5Gb2N1c01vbml0b3IgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yXG4gICAgICAgICAgICAubW9uaXRvcih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdHJ1ZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgob3JpZ2luKSA9PiAodGhpcy5fZm9jdXNPcmlnaW4gPSBvcmlnaW4pKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogU3RvcHMgdGhlIGZvY3VzIG1vbml0b3IgZm9yIHRoZSBmb3JtIGZpZWxkLlxuICAgICAqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIHN0b3BGb2N1c01vbml0b3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIGZvcm0tZmllbGQgY29udHJvbCBpcyBtaXNzaW5nLlxuICAgICAqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCB2YWxpZGF0ZUNvbnRyb2xDaGlsZCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRocm93IGdldEticUZvcm1GaWVsZE1pc3NpbmdDb250cm9sRXJyb3IoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBJbml0aWFsaXplcyB0aGUgZm9ybSBmaWVsZCBjb250cm9sLiAqL1xuICAgIHByaXZhdGUgaW5pdGlhbGl6ZUNvbnRyb2woKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuY29udHJvbFR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYGticS1mb3JtLWZpZWxkLXR5cGUtJHt0aGlzLmNvbnRyb2wuY29udHJvbFR5cGV9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBtZXJnZSh0aGlzLmNvbnRyb2wuc3RhdGVDaGFuZ2VzLCB0aGlzLmNvbnRyb2wubmdDb250cm9sPy52YWx1ZUNoYW5nZXMgfHwgRU1QVFkpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSk7XG4gICAgfVxuXG4gICAgLyoqIEluaXRpYWxpemVzIHRoZSBrYnFQcmVmaXggYW5kIGticVN1ZmZpeCBjb250YWluZXJzLiAqL1xuICAgIHByaXZhdGUgaW5pdGlhbGl6ZVByZWZpeEFuZFN1ZmZpeCgpOiB2b2lkIHtcbiAgICAgICAgLy8gTWFyayB0aGUgZm9ybSBmaWVsZCBhcyBkaXJ0eSB3aGVuZXZlciB0aGUgcHJlZml4IG9yIHN1ZmZpeCBjaGlsZHJlbiBjaGFuZ2UuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugd2VcbiAgICAgICAgLy8gY29uZGl0aW9uYWxseSBkaXNwbGF5IHRoZSBwcmVmaXgvc3VmZml4IGNvbnRhaW5lcnMgYmFzZWQgb24gd2hldGhlciB0aGVyZSBpcyBwcm9qZWN0ZWQgY29udGVudC5cbiAgICAgICAgbWVyZ2UodGhpcy5wcmVmaXguY2hhbmdlcywgdGhpcy5zdWZmaXguY2hhbmdlcylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcbiAgICB9XG5cbiAgICAvKiogSW5pdGlhbGl6ZXMgdGhlIEticUhpbnQsIEticVBhc3N3b3JkSGludCwgS2JxUmVhY3RpdmVQYXNzd29yZEhpbnQgYW5kIEticUVycm9yIGNvbnRhaW5lcnMuICovXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplSGludCgpOiB2b2lkIHtcbiAgICAgICAgbWVyZ2UodGhpcy5oaW50LmNoYW5nZXMsIHRoaXMucGFzc3dvcmRIaW50cy5jaGFuZ2VzLCB0aGlzLnJlYWN0aXZlUGFzc3dvcmRIaW50LmNoYW5nZXMsIHRoaXMuZXJyb3IuY2hhbmdlcylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcbiAgICB9XG59XG5cbi8qKlxuICogQGRvY3MtcHJpdmF0ZVxuICpcbiAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IG1ham9yIHJlbGVhc2UsIHVzZSBgbm9Cb3JkZXJzYCBpbnB1dCBpbnN0ZWFkLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAna2JxLWZvcm0tZmllbGRba2JxRm9ybUZpZWxkV2l0aG91dEJvcmRlcnNdJyxcbiAgICBleHBvcnRBczogJ2ticUZvcm1GaWVsZFdpdGhvdXRCb3JkZXJzJyxcbiAgICBob3N0OiB7IGNsYXNzOiAna2JxLWZvcm0tZmllbGRfd2l0aG91dC1ib3JkZXJzJyB9XG59KVxuZXhwb3J0IGNsYXNzIEticUZvcm1GaWVsZFdpdGhvdXRCb3JkZXJzIHt9XG5cbi8qKlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW2ticUlucHV0XSwgW2ticVRleHRhcmVhXScsXG4gICAgZXhwb3J0QXM6ICdLYnFUcmltJyxcbiAgICBob3N0OiB7IGNsYXNzOiAna2JxLXRyaW0nIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVHJpbSB7XG4gICAgcHJpdmF0ZSBvcmlnaW5hbDogKGZuOiBhbnkpID0+IHZvaWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEF0dHJpYnV0ZSgnbm8tdHJpbScpIHByaXZhdGUgcmVhZG9ubHkgbm9UcmltOiBib29sZWFuLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByaXZhdGUgbmdDb250cm9sOiBOZ0NvbnRyb2xcbiAgICApIHtcbiAgICAgICAgdGhpcy5ub1RyaW0gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkobm9UcmltKTtcblxuICAgICAgICBpZiAodGhpcy5ub1RyaW0gfHwgIXRoaXMubmdDb250cm9sPy52YWx1ZUFjY2Vzc29yKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9yaWdpbmFsID0gdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3Nvci5yZWdpc3Rlck9uQ2hhbmdlO1xuXG4gICAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IucmVnaXN0ZXJPbkNoYW5nZSA9IHRoaXMucmVnaXN0ZXJPbkNoYW5nZTtcbiAgICB9XG5cbiAgICB0cmltKHZhbHVlKSB7XG4gICAgICAgIGlmICh0aGlzLm5vVHJpbSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZS50cmltKCkgOiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyT25DaGFuZ2UgPSAoZm4pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3JpZ2luYWwuY2FsbCh0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yLCAodmFsdWUpID0+IGZuKHRoaXMudHJpbSh2YWx1ZSkpKTtcbiAgICB9O1xufVxuIiwiQGlmIChoYXNMYWJlbCkge1xuICAgIDxsYWJlbCBjbGFzcz1cImticS1mb3JtLWZpZWxkX19sYWJlbFwiIFthdHRyLmZvcl09XCJjb250cm9sLmlkXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImticS1sYWJlbFwiIC8+XG4gICAgPC9sYWJlbD5cbn1cblxuPGRpdiAjY29ubmVjdGlvbkNvbnRhaW5lciBjbGFzcz1cImticS1mb3JtLWZpZWxkX19jb250YWluZXJcIiAoY2xpY2spPVwib25Db250YWluZXJDbGljaygkZXZlbnQpXCI+XG4gICAgQGlmIChoYXNQcmVmaXgpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImticS1mb3JtLWZpZWxkX19wcmVmaXhcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltrYnFQcmVmaXhdXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPGRpdiBjbGFzcz1cImticS1mb3JtLWZpZWxkX19pbmZpeFwiPlxuICAgICAgICA8bmctY29udGVudCAvPlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChoYXNTdWZmaXggfHwgaGFzQ2xlYW5lciB8fCBoYXNQYXNzd29yZFRvZ2dsZSB8fCBoYXNTdGVwcGVyKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJrYnEtZm9ybS1maWVsZF9fc3VmZml4XCI+XG4gICAgICAgICAgICBAaWYgKGNhblNob3dDbGVhbmVyKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImticS1mb3JtLWZpZWxkX19jbGVhbmVyXCIgKGNsaWNrKT1cImNsZWFyVmFsdWUoJGV2ZW50KVwiIChrZXlkb3duLmVudGVyKT1cImNsZWFyVmFsdWUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJrYnEtY2xlYW5lclwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImticS1wYXNzd29yZC10b2dnbGUsIGticS1zdGVwcGVyLCBba2JxU3VmZml4XVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuXG5AaWYgKGhhc0hpbnQgfHwgaGFzUGFzc3dvcmRIaW50IHx8IGhhc0Vycm9yIHx8IGhhc1JlYWN0aXZlUGFzc3dvcmRIaW50KSB7XG4gICAgPGRpdiBjbGFzcz1cImticS1mb3JtLWZpZWxkX19oaW50XCI+XG4gICAgICAgIEBpZiAoaW52YWxpZCkge1xuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2JxLWVycm9yXCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImticS1oaW50LCBrYnEtcGFzc3dvcmQtaGludCwga2JxLXJlYWN0aXZlLXBhc3N3b3JkLWhpbnRcIiAvPlxuICAgIDwvZGl2PlxufVxuIl19
|