novo-elements 11.2.1-next.1 → 11.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/novo-elements-addons-ace-editor.mjs.map +1 -1
- package/fesm2022/novo-elements-addons-ckeditor.mjs.map +1 -1
- package/fesm2022/novo-elements-addons-code-editor.mjs +3 -3
- package/fesm2022/novo-elements-addons-code-editor.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-agenda.mjs +15 -15
- package/fesm2022/novo-elements-elements-agenda.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-aside.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-autocomplete.mjs +7 -5
- package/fesm2022/novo-elements-elements-autocomplete.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-avatar.mjs +2 -1
- package/fesm2022/novo-elements-elements-avatar.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-breadcrumbs.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-button.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-calendar.mjs +7 -4
- package/fesm2022/novo-elements-elements-calendar.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-card.mjs +1 -1
- package/fesm2022/novo-elements-elements-card.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-category-dropdown.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-checkbox.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-chips.mjs +18 -14
- package/fesm2022/novo-elements-elements-chips.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-color-picker.mjs +1 -1
- package/fesm2022/novo-elements-elements-color-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-common.mjs +28 -28
- package/fesm2022/novo-elements-elements-common.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-data-table.mjs +28 -28
- package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-date-picker.mjs +4 -4
- package/fesm2022/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-date-time-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-divider.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-drag-drop.mjs +7 -7
- package/fesm2022/novo-elements-elements-drag-drop.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-dropdown.mjs +9 -9
- package/fesm2022/novo-elements-elements-dropdown.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-expansion.mjs +5 -5
- package/fesm2022/novo-elements-elements-expansion.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-field.mjs +20 -14
- package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-flex.mjs +12 -12
- package/fesm2022/novo-elements-elements-flex.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-form.mjs +16 -15
- package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-header.mjs +6 -6
- package/fesm2022/novo-elements-elements-header.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-icon.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-layout.mjs +2 -2
- package/fesm2022/novo-elements-elements-layout.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-list.mjs +12 -12
- package/fesm2022/novo-elements-elements-list.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-loading.mjs +5 -5
- package/fesm2022/novo-elements-elements-loading.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-menu.mjs +4 -4
- package/fesm2022/novo-elements-elements-menu.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-modal.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-multi-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-non-ideal-state.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-picker.mjs +5 -5
- package/fesm2022/novo-elements-elements-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-places.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-popover.mjs +3 -3
- package/fesm2022/novo-elements-elements-popover.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-progress.mjs +3 -3
- package/fesm2022/novo-elements-elements-progress.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-query-builder.mjs +27 -25
- package/fesm2022/novo-elements-elements-query-builder.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-quick-note.mjs +2 -2
- package/fesm2022/novo-elements-elements-quick-note.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-radio.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-search.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-select-search.mjs +2 -2
- package/fesm2022/novo-elements-elements-select-search.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-select.mjs +5 -5
- package/fesm2022/novo-elements-elements-select.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-simple-table.mjs +30 -30
- package/fesm2022/novo-elements-elements-simple-table.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-slider.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-stepper.mjs +4 -4
- package/fesm2022/novo-elements-elements-stepper.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-switch.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tabs.mjs +2 -1
- package/fesm2022/novo-elements-elements-tabs.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tiles.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-time-picker.mjs +1 -0
- package/fesm2022/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tip-well.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-toast.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-toolbar.mjs +1 -1
- package/fesm2022/novo-elements-elements-toolbar.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tooltip.mjs +3 -4
- package/fesm2022/novo-elements-elements-tooltip.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-unless.mjs +1 -1
- package/fesm2022/novo-elements-elements-unless.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-value.mjs +2 -2
- package/fesm2022/novo-elements-elements-value.mjs.map +1 -1
- package/fesm2022/novo-elements-pipes.mjs +9 -9
- package/fesm2022/novo-elements-pipes.mjs.map +1 -1
- package/fesm2022/novo-elements-services.mjs +21 -22
- package/fesm2022/novo-elements-services.mjs.map +1 -1
- package/fesm2022/novo-elements-utils.mjs +33 -17
- package/fesm2022/novo-elements-utils.mjs.map +1 -1
- package/package.json +1 -1
- package/services/date-format/DateFormat.d.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"novo-elements-elements-common.mjs","sources":["../../../projects/novo-elements/src/elements/common/theme/theme-options.ts","../../../projects/novo-elements/src/elements/common/directives/accent.directive.ts","../../../projects/novo-elements/src/elements/common/directives/bg.directive.ts","../../../projects/novo-elements/src/elements/common/directives/border.directive.ts","../../../projects/novo-elements/src/elements/common/directives/color.directive.ts","../../../projects/novo-elements/src/elements/common/directives/fill.directive.ts","../../../projects/novo-elements/src/elements/common/directives/flex.directive.ts","../../../projects/novo-elements/src/elements/common/directives/space.directive.ts","../../../projects/novo-elements/src/elements/common/directives/switch-cases.directive.ts","../../../projects/novo-elements/src/elements/common/directives/theme.directive.ts","../../../projects/novo-elements/src/elements/common/directives/visible.directive.ts","../../../projects/novo-elements/src/elements/common/novo-template/novo-template.directive.ts","../../../projects/novo-elements/src/elements/common/selection/pseudo-checkbox/pseudo-checkbox.component.ts","../../../projects/novo-elements/src/elements/common/selection/index.ts","../../../projects/novo-elements/src/elements/common/mixins/disabled.mixin.ts","../../../projects/novo-elements/src/elements/common/option/option-parent.ts","../../../projects/novo-elements/src/elements/common/option/optgroup.component.ts","../../../projects/novo-elements/src/elements/common/option/optgroup.component.html","../../../projects/novo-elements/src/elements/common/option/option.component.ts","../../../projects/novo-elements/src/elements/common/option/option.component.html","../../../projects/novo-elements/src/elements/common/option/index.ts","../../../projects/novo-elements/src/elements/common/typography/base/base-text.component.ts","../../../projects/novo-elements/src/elements/common/typography/caption/caption.component.ts","../../../projects/novo-elements/src/elements/common/typography/label/label.component.ts","../../../projects/novo-elements/src/elements/common/typography/link/link.component.ts","../../../projects/novo-elements/src/elements/common/typography/text/text.component.ts","../../../projects/novo-elements/src/elements/common/typography/title/title.component.ts","../../../projects/novo-elements/src/elements/common/common.module.ts","../../../projects/novo-elements/src/elements/common/error/error-options.ts","../../../projects/novo-elements/src/elements/common/mixins/color.mixin.ts","../../../projects/novo-elements/src/elements/common/mixins/error-state.mixin.ts","../../../projects/novo-elements/src/elements/common/mixins/overlay.mixin.ts","../../../projects/novo-elements/src/elements/common/mixins/required.mixin.ts","../../../projects/novo-elements/src/elements/common/mixins/size.mixin.ts","../../../projects/novo-elements/src/elements/common/mixins/tab-index.mixin.ts","../../../projects/novo-elements/src/elements/common/overlay/Overlay.ts","../../../projects/novo-elements/src/elements/common/overlay/Overlay.module.ts","../../../projects/novo-elements/src/elements/common/novo-elements-elements-common.ts"],"sourcesContent":["import { EventEmitter, Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nexport class NovoThemeOptions {\n themeName: string;\n}\nexport interface ThemeChangeEvent {\n themeName: string;\n options?: NovoThemeOptions;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NovoTheme {\n private _defaultTheme: NovoThemeOptions = { themeName: 'modern-light' };\n private _currentTheme: NovoThemeOptions;\n\n onThemeChange: EventEmitter<ThemeChangeEvent> = new EventEmitter<ThemeChangeEvent>();\n\n /** Name of the theme being used. defaults to `modern-light` */\n get themeName() {\n return this._currentTheme?.themeName || this._defaultTheme.themeName;\n }\n set themeName(value: string) {\n this._currentTheme = { themeName: value };\n this.changeTheme(this._currentTheme);\n }\n\n public use(options: NovoThemeOptions): Observable<any> {\n // future: don't change the theme if the theme given is already selected\n this.changeTheme(options);\n // this might become async in future\n return of(options);\n }\n\n /**\n * Changes the current theme\n */\n private changeTheme(theme: NovoThemeOptions): void {\n this._currentTheme = theme;\n this.onThemeChange.emit({ themeName: theme.themeName, options: theme });\n }\n}\n\n/* FUTURE THOUGHTS */\n/**\n getComputedStyle(document.documentElement)\n .getPropertyValue('--my-variable-name'); // #999999\n \n document.documentElement.style\n .setProperty('--my-variable-name', 'pink');\n*/\n","import { ChangeDetectorRef, Directive, HostBinding, Input, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NovoTheme, ThemeChangeEvent } from '../theme/theme-options';\n\n@Directive({\n selector: '[accent]',\n standalone: false\n})\nexport class AccentColorDirective implements OnDestroy {\n private subscription: Subscription;\n\n @Input() accent: string;\n\n @HostBinding('class')\n get hb_textColor() {\n // Support legacy classic theme... for now\n if (this.theme.themeName === 'classic') {\n return `novo-theme-${this.accent}`;\n }\n return `novo-accent-${this.accent}`;\n }\n\n constructor(private theme: NovoTheme, protected cdr: ChangeDetectorRef) {\n this.subscription = this.theme.onThemeChange.subscribe((event: ThemeChangeEvent) => {\n this.cdr.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n}\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[bg]',\n standalone: false\n})\nexport class BackgroundColorDirective {\n @Input() bg: string;\n\n @HostBinding('class')\n get hb_bgColor() {\n return isValidColor(this.bg) ? 'novo-background-custom' : `novo-background-${this.bg}`;\n }\n @HostBinding('style.background-color')\n get hb_bgStyle() {\n return isValidColor(this.bg) ? this.bg : null;\n }\n\n constructor(private el: ElementRef) {}\n}\n\nfunction isValidColor(color: string) {\n return color.startsWith('#') || color.startsWith('rgb');\n}\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n@Directive({\n selector: '[border], [bb], [borderBottom], [bt], [borderTop], [bl], [borderLeft], [br], [borderRight], [bx], [borderX], [by], [borderY]',\n standalone: false\n})\nexport class BorderDirective {\n @Input() borderStyle = 'solid';\n @Input() borderColor = '#eaecef';\n @Input() borderWidth = 1;\n\n @Input() border: string;\n @Input() borderLeft: string;\n @Input() bl: string;\n @Input() borderRight: string;\n @Input() br: string;\n @Input() borderTop: string;\n @Input() bt: string;\n @Input() borderBottom: string;\n @Input() bb: string;\n @Input() borderX: string;\n @Input() bx: string;\n @Input() borderY: string;\n @Input() by: string;\n\n @HostBinding('class') get hb_border() {\n return `border-${this.border}`;\n }\n @HostBinding('style.border-left') get hb_border_left() {\n return this.borderLeft || this.bl || this.bx || this.borderX;\n }\n @HostBinding('style.border-right') get hb_border_right() {\n return this.borderRight || this.bt || this.bx || this.borderX;\n }\n @HostBinding('style.border-top') get hb_border_top() {\n return this.borderTop || this.bt || this.by || this.borderY;\n }\n @HostBinding('style.border-bottom') get hb_border_bottom() {\n return this.borderBottom || this.bt || this.by || this.borderY;\n }\n\n constructor(private el: ElementRef) {}\n}\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[txc]',\n standalone: false\n})\nexport class TextColorDirective {\n @Input() txc: string;\n\n @HostBinding('class')\n get hb_textColor() {\n return isValidColor(this.txc) ? 'novo-text-custom' : `novo-text-${this.txc}`;\n }\n @HostBinding('style.color')\n get hb_textStyle() {\n return isValidColor(this.txc) ? this.txc : null;\n }\n\n constructor(private el: ElementRef) {}\n}\n\nfunction isValidColor(color: string) {\n return color.startsWith('#') || color.startsWith('rgb');\n}\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fill]',\n standalone: false\n})\nexport class FillColorDirective {\n @Input() fill: string;\n\n @HostBinding('class')\n get hb_textColor() {\n return `novo-fill-${this.fill}`;\n }\n\n constructor(private el: ElementRef) {}\n}\n","import { Directive, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[flex]',\n standalone: false\n})\nexport class FlexDirective {\n private _flex: string;\n\n @HostBinding('style.flex')\n @Input()\n public get flex(): string {\n return this._flex;\n }\n\n public set flex(value: string) {\n if (!value) {\n this._flex = '1 1 auto';\n } else {\n this._flex = value;\n }\n }\n\n constructor(private readonly el: ElementRef, private readonly renderer: Renderer2) {\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport * as tokens from 'novo-design-tokens';\n/*\nProp\tCSS Property\tTheme Field\nm, margin\tmargin\tspace\nmt, marginTop\tmargin-top\tspace\nmr, marginRight\tmargin-right\tspace\nmb, marginBottom\tmargin-bottom\tspace\nml, marginLeft\tmargin-left\tspace\nmx\tmargin-left and margin-right\tspace\nmy\tmargin-top and margin-bottom\tspace\np, padding\tpadding\tspace\npt, paddingTop\tpadding-top\tspace\npr, paddingRight\tpadding-right\tspace\npb, paddingBottom\tpadding-bottom\tspace\npl, paddingLeft\tpadding-left\tspace\npx\tpadding-left and padding-right\tspace\npy\tpadding-top and padding-bottom\tspace\n*/\n\n/*\n// Selectors generated with the following code\nconst directions = ['Top', 'Right', 'Bottom', 'Left', 'X', 'Y'];\nconst abbrDirections = directions.map((d) => d.slice(0, 1).toLowerCase());\nconst marginAttrs = [\n '[m]',\n '[margin]',\n ...directions.map((dir) => `[margin${dir}]`),\n ...abbrDirections.map((dir) => `[m${dir}]`),\n];\nconst paddingAttrs = [\n '[p]',\n '[padding]',\n ...directions.map((dir) => `[padding${dir}]`),\n ...abbrDirections.map((dir) => `[p${dir}]`),\n];\n\nconst selectors = [...marginAttrs, ...paddingAttrs];\n*/\n\nexport const getSpacingToken = (value: string) => {\n if (Object.keys(tokens.spacing).includes(value)) {\n return tokens.spacing[value];\n }\n // TODO: Maybe Validate Value ie.(rem, px)\n return value;\n};\n\n@Directive({\n selector: '[m],[margin],[marginTop],[marginRight],[marginBottom],[marginLeft],[marginX],[marginY],[mt],[mr],[mb],[ml],[mx],[my]',\n standalone: false\n})\nexport class MarginDirective {\n // Margin\n @Input() margin: string;\n @Input() m: string;\n @Input() marginLeft: string;\n @Input() ml: string;\n @Input() marginRight: string;\n @Input() mr: string;\n @Input() marginTop: string;\n @Input() mt: string;\n @Input() marginBottom: string;\n @Input() mb: string;\n @Input() marginX: string;\n @Input() mx: string;\n @Input() marginY: string;\n @Input() my: string;\n\n @HostBinding('class') get hb_margin() {\n return `margin-${this.margin || this.m}`;\n }\n\n @HostBinding('style.margin-left') get hb_margin_left() {\n return getSpacingToken(this.marginLeft || this.ml || this.mx || this.marginX);\n }\n @HostBinding('style.margin-right') get hb_margin_right() {\n return getSpacingToken(this.marginRight || this.mr || this.mx || this.marginX);\n }\n @HostBinding('style.margin-top') get hb_margin_top() {\n return getSpacingToken(this.marginTop || this.mt || this.my || this.marginY);\n }\n @HostBinding('style.margin-bottom') get hb_margin_bottom() {\n return getSpacingToken(this.marginBottom || this.mb || this.my || this.marginY);\n }\n}\n\n@Directive({\n selector: '[p],[padding],[paddingTop],[paddingRight],[paddingBottom],[paddingLeft],[paddingX],[paddingY],[pt],[pr],[pb],[pl],[px],[py]',\n standalone: false\n})\nexport class PaddingDirective {\n // Padding\n @Input() padding: string;\n @Input() p: string;\n @Input() paddingLeft: string;\n @Input() pl: string;\n @Input() paddingRight: string;\n @Input() pr: string;\n @Input() paddingTop: string;\n @Input() pt: string;\n @Input() paddingBottom: string;\n @Input() pb: string;\n @Input() paddingX: string;\n @Input() px: string;\n @Input() paddingY: string;\n @Input() py: string;\n\n @HostBinding('class') get hb_padding() {\n return `padding-${this.padding || this.p}`;\n }\n\n @HostBinding('style.padding-left') get hb_padding_left() {\n return getSpacingToken(this.paddingLeft || this.pl || this.px || this.paddingX);\n }\n @HostBinding('style.padding-right') get hb_padding_right() {\n return getSpacingToken(this.paddingRight || this.pr || this.px || this.paddingX);\n }\n @HostBinding('style.padding-top') get hb_padding_top() {\n return getSpacingToken(this.paddingTop || this.pt || this.py || this.paddingY);\n }\n @HostBinding('style.padding-bottom') get hb_padding_bottom() {\n return getSpacingToken(this.paddingBottom || this.pb || this.py || this.paddingY);\n }\n}\n\n@Directive({\n selector: '[gap]',\n standalone: false\n})\nexport class GapDirective {\n @Input() gap: string;\n\n @HostBinding('style.gap')\n get hb_gap() {\n return getSpacingToken(this.gap);\n }\n}\n","import { NgSwitch } from '@angular/common';\nimport { Directive, DoCheck, Host, Input, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[novoSwitchCases]',\n standalone: false\n})\nexport class SwitchCasesDirective implements OnInit, DoCheck {\n private ngSwitch: any;\n private _created = false;\n\n @Input()\n novoSwitchCases: any[];\n\n constructor(private viewContainer: ViewContainerRef, private templateRef: TemplateRef<Object>, @Host() ngSwitch: NgSwitch) {\n this.ngSwitch = ngSwitch;\n }\n\n ngOnInit() {\n (this.novoSwitchCases || []).forEach(() => this.ngSwitch._addCase());\n }\n\n ngDoCheck() {\n let enforce = false;\n (this.novoSwitchCases || []).forEach((value) => (enforce = this.ngSwitch._matchCase(value) || enforce));\n this.enforceState(enforce);\n }\n\n enforceState(created: boolean) {\n if (created && !this._created) {\n this._created = true;\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else if (!created && this._created) {\n this._created = false;\n this.viewContainer.clear();\n }\n }\n}\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[theme]',\n standalone: false\n})\nexport class ThemeColorDirective {\n @Input() theme: string;\n\n @HostBinding('class')\n get hb_textColor() {\n return `novo-theme-${this.theme}`;\n }\n\n constructor(private el: ElementRef) {}\n}\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { BooleanInput } from 'novo-elements/utils';\n\n@Directive({\n selector: '[visible]',\n standalone: false\n})\nexport class VisibleDirective {\n @BooleanInput()\n @Input()\n @HostBinding('class')\n visible: boolean;\n\n @HostBinding('class')\n get hb_visibility() {\n return this.visible ? '' : `novo-visibility-hidden`;\n }\n\n constructor(private el: ElementRef) {}\n}\n","import { Directive, Input, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[novoTemplate]',\n standalone: false\n})\nexport class NovoTemplate {\n @Input() type: string;\n @Input('novoTemplate') name: string;\n\n constructor(public template: TemplateRef<any>) {}\n\n getType(): string {\n return this.name;\n }\n}\n","import { ChangeDetectionStrategy, Component, Inject, Input, Optional, ViewEncapsulation } from '@angular/core';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\n/**\n * Possible states for a pseudo checkbox.\n * @docs-private\n */\nexport type NovoPseudoCheckboxState = 'unchecked' | 'checked' | 'indeterminate';\nexport type NovoPseudoCheckboxShape = 'box' | 'circle' | 'line';\n\n/**\n * Component that shows a simplified checkbox without including any kind of \"real\" checkbox.\n * Meant to be used when the checkbox is purely decorative and a large number of them will be\n * included, such as for the options in a multi-select. Uses no SVGs or complex animations.\n * Note that theming is meant to be handled by the parent element, e.g.\n * `novo-primary .novo-pseudo-checkbox`.\n *\n * Note that this component will be completely invisible to screen-reader users. This is *not*\n * interchangeable with `<novo-checkbox>` and should *not* be used if the user would directly\n * interact with the checkbox. The pseudo-checkbox should only be used as an implementation detail\n * of more complex components that appropriately handle selected / checked state.\n * @docs-private\n */\n@Component({\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'novo-pseudo-checkbox',\n styleUrls: ['pseudo-checkbox.component.scss'],\n template: ` <i\n [class.bhi-checkbox-empty]=\"state === 'unchecked' && shape === 'box'\"\n [class.bhi-checkbox-filled]=\"state === 'checked' && shape === 'box'\"\n [class.bhi-checkbox-indeterminate]=\"state === 'indeterminate' && shape === 'box'\"\n [class.bhi-circle-o]=\"state === 'unchecked' && shape === 'circle'\"\n [class.bhi-check-circle-filled]=\"state === 'checked' && shape === 'circle'\"\n [class.bhi-circle]=\"state === 'indeterminate' && shape === 'circle'\"\n [class.bhi-box-empty]=\"state === 'unchecked' && shape === 'line'\"\n [class.bhi-check]=\"state === 'checked' && shape === 'line'\"\n [class.bhi-box-minus-o]=\"state === 'indeterminate' && shape === 'line'\"\n ></i>`,\n host: {\n class: 'novo-pseudo-checkbox',\n '[class.novo-pseudo-checkbox-indeterminate]': 'state === \"indeterminate\"',\n '[class.novo-pseudo-checkbox-checked]': 'state === \"checked\"',\n '[class.novo-pseudo-checkbox-disabled]': 'disabled',\n '[class._novo-animation-noopable]': '_animationMode === \"NoopAnimations\"',\n },\n standalone: false\n})\nexport class NovoPseudoCheckbox {\n /** Display state of the checkbox. */\n @Input() state: NovoPseudoCheckboxState = 'unchecked';\n /** Display state of the checkbox. */\n @Input() shape: NovoPseudoCheckboxShape = 'box';\n /** Whether the checkbox is disabled. */\n @Input() disabled: boolean = false;\n\n constructor(@Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode?: string) {}\n}\n","import { NgModule } from '@angular/core';\nimport { NovoPseudoCheckbox } from './pseudo-checkbox/pseudo-checkbox.component';\n\n@NgModule({\n imports: [],\n exports: [NovoPseudoCheckbox],\n declarations: [NovoPseudoCheckbox],\n})\nexport class NovoPseudoCheckboxModule {}\n\nexport * from './pseudo-checkbox/pseudo-checkbox.component';\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Constructor } from './constructor';\n\n/** @docs-private */\nexport interface CanDisable {\n /** Whether the component is disabled. */\n disabled: boolean;\n}\n\n/** @docs-private */\nexport type CanDisableCtor = Constructor<CanDisable>;\n\n/** Mixin to augment a directive with a `disabled` property. */\nexport function mixinDisabled<T extends Constructor<{}>>(base: T): CanDisableCtor & T {\n return class extends base {\n protected _disabled: boolean = false;\n\n get disabled() {\n return this._disabled;\n }\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n };\n}\n","import { InjectionToken } from '@angular/core';\n\n/**\n * Describes a parent component that manages a list of options.\n * Contains properties that the options can inherit.\n * @docs-private\n */\nexport interface NovoOptionParentComponent {\n multiple?: boolean;\n inertGroups?: boolean;\n}\n\n/**\n * Injection token used to provide the parent component to options.\n */\nexport const NOVO_OPTION_PARENT_COMPONENT = new InjectionToken<NovoOptionParentComponent>('NOVO_OPTION_PARENT_COMPONENT');\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, Directive, Inject, InjectionToken, Optional, ViewEncapsulation } from '@angular/core';\nimport { CanDisable, CanDisableCtor, mixinDisabled } from '../mixins/disabled.mixin';\nimport { NovoOptionParentComponent, NOVO_OPTION_PARENT_COMPONENT } from './option-parent';\n\n// Notes on the accessibility pattern used for `novo-optgroup`.\n// The option group has two different \"modes\": regular and novoInert. The regular mode uses the\n// recommended a11y pattern which has `role=\"group\"` on the group element with `aria-labelledby`\n// pointing to the label. This works for `novo-select`, but it seems to hit a bug for autocomplete\n// under VoiceOver where the group doesn't get read out at all. The bug appears to be that if\n// there's __any__ a11y-related attribute on the group (e.g. `role` or `aria-labelledby`),\n// VoiceOver on Safari won't read it out.\n// We've introduced the `novoInert` mode as a workaround. Under this mode, all a11y attributes are\n// removed from the group, and we get the screen reader to read out the group label by mirroring it\n// inside an invisible element in the option. This is sub-optimal, because the screen reader will\n// repeat the group label on each navigation, whereas the default pattern only reads the group when\n// the user enters a new group. The following alternate approaches were considered:\n// 1. Reading out the group label using the `LiveAnnouncer` solves the problem, but we can't control\n// when the text will be read out so sometimes it comes in too late or never if the user\n// navigates quickly.\n// 2. `<novo-option aria-describedby=\"groupLabel\"` - This works on Safari, but VoiceOver in Chrome\n// won't read out the description at all.\n// 3. `<novo-option aria-labelledby=\"optionLabel groupLabel\"` - This works on Chrome, but Safari\n// doesn't read out the text at all. Furthermore, on\n\n// Boilerplate for applying mixins to NovoOptgroup.\n@Directive()\nexport class NovoOptgroupBase implements CanDisable {\n disabled: boolean;\n\n /** Label for the option group. */\n label: string;\n\n /** Unique id for the underlying label. */\n _labelId: string = `novo-optgroup-label-${_uniqueOptgroupIdCounter++}`;\n\n /** Whether the group is in novoInert a11y mode. */\n _novoInert: boolean;\n}\nexport const NovoOptgroupMixinBase: CanDisableCtor & typeof NovoOptgroupBase = mixinDisabled(NovoOptgroupBase);\n\n// Counter for unique group ids.\nlet _uniqueOptgroupIdCounter = 0;\n\n/**\n * Injection token that can be used to reference instances of `NovoOptgroup`. It serves as\n * alternative token to the actual `NovoOptgroup` class which could cause unnecessary\n * retention of the class and its component metadata.\n */\nexport const NOVO_OPTGROUP = new InjectionToken<NovoOptgroup>('NovoOptgroup');\n\n/**\n * Component that is used to group instances of `novo-option`.\n */\n@Component({\n selector: 'novo-optgroup',\n exportAs: 'novoOptgroup',\n templateUrl: 'optgroup.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disabled', 'label'],\n styleUrls: ['optgroup.component.scss'],\n host: {\n class: 'novo-optgroup',\n '[attr.role]': '_novoInert ? null : \"group\"',\n '[attr.aria-disabled]': '_novoInert ? null : disabled.toString()',\n '[attr.aria-labelledby]': '_novoInert ? null : _labelId',\n '[class.novo-optgroup-disabled]': 'disabled',\n },\n providers: [{ provide: NOVO_OPTGROUP, useExisting: NovoOptgroup }],\n standalone: false\n})\nexport class NovoOptgroup extends NovoOptgroupMixinBase {\n constructor(@Inject(NOVO_OPTION_PARENT_COMPONENT) @Optional() parent?: NovoOptionParentComponent) {\n super();\n this._novoInert = parent?.inertGroups ?? false;\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","<span *ngIf=\"label\" class=\"novo-optgroup-label\" aria-hidden=\"true\" [id]=\"_labelId\">{{ label }}</span>\n<ng-content select=\"novo-option, ng-container, novo-divider, cdk-virtual-scroll-viewport\"></ng-content>","import { FocusableOption, FocusOptions, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey } from '@angular/cdk/keycodes';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport { fromEvent, Subject, Subscription } from 'rxjs';\nimport { BooleanInput, Key } from 'novo-elements/utils';\nimport { NovoOptgroup, NovoOptgroupBase, NOVO_OPTGROUP } from './optgroup.component';\nimport { NovoOptionParentComponent, NOVO_OPTION_PARENT_COMPONENT } from './option-parent';\n\n/**\n * Option IDs need to be unique across components, so this counter exists outside of\n * the component definition.\n */\nlet _uniqueIdCounter = 0;\n\n/** Event object emitted by NovoOption when selected or deselected. */\nexport class NovoOptionSelectionChange {\n constructor(\n /** Reference to the option that emitted the event. */\n public source: NovoOptionBase,\n /** Whether the change in the option's value was a result of a user action. */\n public isUserInput = false,\n ) {}\n}\n\n@Directive()\nexport class NovoOptionBase implements FocusableOption, AfterViewChecked, OnDestroy {\n private _selected = false;\n private _active = false;\n private _disabled = false;\n private _mostRecentViewValue = '';\n private _clickCapture: Subscription;\n private _clickPassive: Subscription;\n\n /** TODO: deprecate maybe, check support for table headers */\n @BooleanInput()\n @Input()\n keepOpen: boolean = false;\n\n @BooleanInput()\n @Input()\n novoInert: boolean = false;\n\n @BooleanInput()\n @Input()\n allowSelection = true;\n\n // When selected, use a particular string for display instead of what was used to select it\n @Input()\n customViewValue: string = '';\n\n /** If there is no parent then nothing is managing the selection. */\n get selectable() {\n return this.allowSelection && this._parent;\n }\n\n /** Whether the wrapping component is in multiple selection mode. */\n get multiple() {\n return this._parent && this._parent.multiple;\n }\n\n /** The form value of the option. */\n @Input() value: any;\n\n /** The unique ID of the option. */\n @Input() id: string = `novo-option-${_uniqueIdCounter++}`;\n\n /** Whether the option is disabled. */\n @Input()\n get disabled() {\n return (this.group && this.group.disabled) || this._disabled;\n }\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n @Input()\n get selected() {\n return this._selected;\n }\n set selected(value: any) {\n this._selected = coerceBooleanProperty(value);\n }\n\n /** Event emitted when the option is selected or deselected. */\n @Output() readonly onSelectionChange = new EventEmitter<NovoOptionSelectionChange>();\n\n /** Emits when the state of the option changes and any parents have to be notified. */\n readonly _stateChanges = new Subject<void>();\n\n constructor(\n private _element: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(NOVO_OPTION_PARENT_COMPONENT) private _parent: NovoOptionParentComponent,\n @Optional() @Inject(NOVO_OPTGROUP) readonly group: NovoOptgroupBase,\n ) {\n // (click) is overridden when defined by user.\n this._clickCapture = fromEvent<MouseEvent>(this._element.nativeElement, 'click', { capture: true }).subscribe((evt: MouseEvent) => {\n this._handleDisabledClick(evt);\n });\n this._clickPassive = fromEvent<MouseEvent>(this._element.nativeElement, 'click').subscribe((evt: MouseEvent) => {\n setTimeout(() => this._handlePassiveClick(evt));\n });\n }\n\n /**\n * Whether or not the option is currently active and ready to be selected.\n * An active option displays styles as if it is focused, but the\n * focus is actually retained somewhere else. This comes in handy\n * for components like autocomplete where focus must remain on the input.\n */\n get active(): boolean {\n return this._active;\n }\n\n /**\n * The displayed value of the option. It is necessary to show the selected option in the\n * select's trigger.\n */\n get viewValue(): string {\n return this.customViewValue || (this._getHostElement().textContent || '').trim();\n }\n\n /** Selects the option. */\n select(): void {\n if (!this._selected) {\n this._selected = true;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Deselects the option. */\n deselect(): void {\n if (this._selected) {\n this._selected = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Sets focus onto this option. */\n focus(_origin?: FocusOrigin, options?: FocusOptions): void {\n // Note that we aren't using `_origin`, but we need to keep it because some internal consumers\n // use `NovoOption` in a `FocusKeyManager` and we need it to match `FocusableOption`.\n const element = this._getHostElement();\n\n if (typeof element.focus === 'function') {\n element.focus(options);\n }\n }\n\n /**\n * This method sets display styles on the option to make it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setActiveStyles(): void {\n if (!this._active) {\n this._active = true;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * This method removes display styles on the option that made it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setInactiveStyles(): void {\n if (this._active) {\n this._active = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Gets the label to be used when determining whether the option should be focused. */\n getLabel(): string {\n return this.viewValue;\n }\n\n _handleDisabledClick(event: MouseEvent) {\n if (this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n }\n }\n\n _handlePassiveClick(event: MouseEvent) {\n if (!this.novoInert) {\n this._selectViaInteraction();\n }\n }\n\n /** Ensures the option is selected when activated from the keyboard. */\n _handleKeydown(event: KeyboardEvent): void {\n if (event.target instanceof HTMLInputElement && event.key === Key.Enter) {\n this._emitSelectionChangeEvent(!this.keepOpen);\n } else if (\n !(event.target instanceof HTMLInputElement) &&\n (event.key === Key.Enter || event.key === Key.Space) &&\n !hasModifierKey(event)\n ) {\n this._selectViaInteraction();\n // Prevent the page from scrolling down and form submits.\n event.preventDefault();\n }\n }\n\n /**\n * `Selects the option while indicating the selection came from the user. Used to\n * determine if the select's view -> model callback should be invoked.`\n */\n _selectViaInteraction(): void {\n if (!this.disabled) {\n this._selected = this.multiple ? !this._selected : true;\n this._changeDetectorRef.markForCheck();\n this._emitSelectionChangeEvent(!this.keepOpen);\n }\n }\n\n /**\n * Force a click event\n */\n _clickViaInteraction(): void {\n if (!this.disabled) {\n this._element.nativeElement.click();\n }\n }\n\n /**\n * Gets the `aria-selected` value for the option. We explicitly omit the `aria-selected`\n * attribute from single-selection, unselected options. Including the `aria-selected=\"false\"`\n * attributes adds a significant amount of noise to screen-reader users without providing useful\n * information.\n */\n _getAriaSelected(): boolean | null {\n return this.selected || (this.multiple ? false : null);\n }\n\n /** Returns the correct tabindex for the option depending on disabled state. */\n _getTabIndex(): string {\n return this.disabled ? '-1' : '0';\n }\n\n /** Gets the host DOM element. */\n _getHostElement(): HTMLElement {\n return this._element.nativeElement;\n }\n\n ngAfterViewChecked() {\n // Since parent components could be using the option's label to display the selected values\n // (e.g. `novo-select`) and they don't have a way of knowing if the option's label has changed\n // we have to check for changes in the DOM ourselves and dispatch an event. These checks are\n // relatively cheap, however we still limit them only to selected options in order to avoid\n // hitting the DOM too often.\n if (this._selected) {\n const viewValue = this.viewValue;\n\n if (viewValue !== this._mostRecentViewValue) {\n this._mostRecentViewValue = viewValue;\n this._stateChanges.next();\n }\n }\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n this._clickCapture.unsubscribe();\n this._clickPassive.unsubscribe();\n }\n\n /** Emits the selection change event. */\n private _emitSelectionChangeEvent(isUserInput = false): void {\n this.onSelectionChange.emit(new NovoOptionSelectionChange(this, isUserInput));\n }\n}\n\n/**\n * Single option inside of a `<novo-select>` element.\n */\n@Component({\n selector: 'novo-option',\n exportAs: 'novoOption',\n host: {\n role: 'option',\n '[id]': 'id',\n '[attr.tabindex]': '_getTabIndex()',\n '[attr.aria-selected]': '_getAriaSelected()',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[class.novo-active]': 'active',\n '[class.novo-selected]': 'selectable && selected',\n '[class.novo-option-multiple]': 'multiple',\n '[class.novo-option-disabled]': 'disabled',\n '[class.novo-option-inert]': 'novoInert',\n '(keydown)': '_handleKeydown($event)',\n class: 'novo-option novo-focus-indicator',\n },\n inputs: ['selected', 'keepOpen', 'novoInert', 'value', 'disabled'],\n styleUrls: ['option.component.scss'],\n templateUrl: 'option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class NovoOption extends NovoOptionBase {\n constructor(\n element: ElementRef<HTMLElement>,\n changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(NOVO_OPTION_PARENT_COMPONENT) parent: NovoOptionParentComponent,\n @Optional() @Inject(NOVO_OPTGROUP) group: NovoOptgroup,\n ) {\n super(element, changeDetectorRef, parent, group);\n }\n}\n\n/**\n * Counts the amount of option group labels that precede the specified option.\n * @param optionIndex Index of the option at which to start counting.\n * @param options Flat list of all of the options.\n * @param optionGroups Flat list of all of the option groups.\n * @docs-private\n */\nexport function _countGroupLabelsBeforeOption(\n optionIndex: number,\n options: QueryList<NovoOption>,\n optionGroups: QueryList<NovoOptgroup>,\n): number {\n if (optionGroups.length) {\n let optionsArray = options.toArray();\n let groups = optionGroups.toArray();\n let groupCounter = 0;\n\n for (let i = 0; i < optionIndex + 1; i++) {\n if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {\n groupCounter++;\n }\n }\n\n return groupCounter;\n }\n\n return 0;\n}\n\n/**\n * Determines the position to which to scroll a panel in order for an option to be into view.\n * @param optionOffset Offset of the option from the top of the panel.\n * @param optionHeight Height of the options.\n * @param currentScrollPosition Current scroll position of the panel.\n * @param panelHeight Height of the panel.\n * @docs-private\n */\nexport function _getOptionScrollPosition(\n optionOffset: number,\n optionHeight: number,\n currentScrollPosition: number,\n panelHeight: number,\n): number {\n if (optionOffset < currentScrollPosition) {\n return optionOffset;\n }\n\n if (optionOffset + optionHeight > currentScrollPosition + panelHeight) {\n return Math.max(0, optionOffset - panelHeight + optionHeight);\n }\n\n return currentScrollPosition;\n}\n","<novo-pseudo-checkbox *ngIf=\"selectable && multiple\" class=\"novo-option-pseudo-checkbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\" [disabled]=\"disabled\"></novo-pseudo-checkbox>\n\n<span class=\"novo-option-text\">\n <ng-content></ng-content>\n</span>\n\n<novo-pseudo-checkbox *ngIf=\"selectable && !multiple && selected\" class=\"novo-option-pseudo-checkbox\" state=\"checked\"\n shape=\"line\"\n [disabled]=\"disabled\"></novo-pseudo-checkbox>\n\n<ng-content select=\"[novoSuffix]\"></ng-content>\n<!-- See a11y notes inside optgroup.ts for context behind this element. -->\n<span class=\"cdk-visually-hidden\" *ngIf=\"group && group._novoInert\">({{ group.label }})</span>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NovoPseudoCheckboxModule } from '../selection/index';\nimport { NovoOptgroup } from './optgroup.component';\nimport { NovoOption } from './option.component';\n\n@NgModule({\n imports: [CommonModule, NovoPseudoCheckboxModule],\n exports: [NovoOption, NovoOptgroup],\n declarations: [NovoOption, NovoOptgroup],\n})\nexport class NovoOptionModule {}\n\nexport * from './optgroup.component';\nexport * from './option-parent';\nexport * from './option.component';\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { BooleanInput } from 'novo-elements/utils';\nimport { TypographyLength, TypographySize, TypographyWeight } from '../text.types';\n\n@Directive()\nexport class NovoBaseTextElement {\n @Input()\n size: TypographySize;\n @Input()\n weight: TypographyWeight;\n @Input()\n lineLength: TypographyLength;\n @Input()\n color: string;\n\n @HostBinding('class')\n get hb_classBinding(): string {\n return [\n this.color ? `text-color-${this.color}` : null,\n this.lineLength ? `text-length-${this.lineLength}` : null,\n this.size ? `text-size-${this.size}` : null,\n this.weight ? `text-weight-${this.weight}` : null,\n ]\n .filter(Boolean)\n .join(' ');\n }\n\n @HostBinding('class.text-disabled')\n @Input()\n @BooleanInput()\n disabled: boolean;\n\n @HostBinding('class.text-color-empty')\n @Input()\n @BooleanInput()\n muted: boolean;\n\n @HostBinding('class.text-color-negative')\n @Input()\n @BooleanInput()\n error: boolean;\n\n @HostBinding('class.margin-before')\n @Input()\n @BooleanInput()\n marginBefore: boolean;\n\n @HostBinding('class.margin-after')\n @Input()\n @BooleanInput()\n marginAfter: boolean;\n\n @HostBinding('class.text-capitialize')\n @Input()\n @BooleanInput()\n capitialize: boolean;\n\n @HostBinding('class.text-uppercase')\n @Input()\n @BooleanInput()\n uppercase: boolean;\n\n @HostBinding('class.text-nowrap')\n @Input()\n @BooleanInput()\n nowrap: boolean;\n\n @HostBinding('class.text-ellipsis')\n @Input()\n @BooleanInput()\n ellipsis: boolean;\n\n @HostBinding('class.text-size-smaller')\n @Input()\n @BooleanInput()\n smaller: boolean;\n\n @HostBinding('class.text-size-larger')\n @Input()\n @BooleanInput()\n larger: boolean;\n\n @HostBinding('class.text-weight-thin')\n @Input()\n @BooleanInput()\n thin: boolean;\n\n @HostBinding('class.text-weight-lighter')\n @Input()\n @BooleanInput()\n lighter: boolean;\n\n @HostBinding('class.text-weight-light')\n @Input()\n @BooleanInput()\n light: boolean;\n\n @HostBinding('class.text-weight-medium')\n @Input()\n @BooleanInput()\n medium: boolean;\n\n @HostBinding('class.text-weight-bold')\n @Input()\n @BooleanInput()\n bold: boolean;\n\n @HostBinding('class.text-weight-bolder')\n @Input()\n @BooleanInput()\n bolder: boolean;\n\n @HostBinding('class.text-weight-extrabold')\n @Input()\n @BooleanInput()\n extrabold: boolean;\n\n constructor(public element: ElementRef) {}\n\n get nativeElement() {\n return this.element.nativeElement;\n }\n}\n","// NG2\nimport { Component } from '@angular/core';\nimport { NovoBaseTextElement } from '../base/base-text.component';\n\n/**\n * Tag Example\n * <novo-title size=\"sm\" disabled>Label</novo-title\n * <novo-title small disabled>Label</novo-title>\n * <novo-title large disabled>Label</novo-title>\n * <novo-title error>Label</novo-title>\n * <novo-title muted>Label</novo-title>\n * <novo-title class=\"tc-grapefruit\">Label</novo-title>\n * <novo-title color=\"grapefruit\">Label</novo-title>\n */\n\n@Component({\n selector: 'novo-caption,[novo-caption]',\n template: ` <ng-content></ng-content> `,\n styleUrls: ['./caption.scss'],\n host: {\n class: 'novo-caption',\n },\n standalone: false\n})\nexport class NovoCaption extends NovoBaseTextElement {}\n","// NG2\nimport { Component, HostBinding, input, OnInit } from '@angular/core';\nimport { NovoBaseTextElement } from '../base/base-text.component';\n\n/**\n * Tag Example\n * <novo-label size=\"sm\" disabled>Label</novo-label\n * <novo-label small disabled>Label</novo-label>\n * <novo-label large disabled>Label</novo-label>\n * <novo-label error>Label</novo-label>\n * <novo-label muted>Label</novo-label>\n * <novo-label class=\"tc-grapefruit\">Label</novo-label>\n * <novo-label color=\"grapefruit\">Label</novo-label>\n */\n\nlet nextId = 0;\n\n@Component({\n selector: 'novo-label,[novo-label]',\n template: ` <ng-content></ng-content> `,\n styleUrls: ['./label.scss'],\n host: {\n class: 'novo-label',\n },\n standalone: false\n})\nexport class NovoLabel extends NovoBaseTextElement implements OnInit{\n @HostBinding('attr.id')\n public id: string;\n\n inputId = input(null, { alias: 'id' });\n\n ngOnInit() {\n this.id = this.inputId() || `novo-label-${++nextId}`;\n }\n}\n\n","// NG2\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\nimport { NovoBaseTextElement } from '../base/base-text.component';\n\n/**\n * Tag Example\n * <novo-text size=\"small\" disabled>Label</novo-text\n * <novo-text small disabled>Label</novo-text>\n * <novo-text large disabled>Label</novo-text>\n * <novo-text error>Label</novo-text>\n * <novo-text muted>Label</novo-text>\n * <novo-text class=\"tc-grapefruit\">Label</novo-text>\n * <novo-text color=\"grapefruit\">Label</novo-text>\n */\n\n@Component({\n selector: 'novo-link',\n template: `<a [attr.href]=\"href\"><ng-content></ng-content></a>`,\n styleUrls: ['./link.scss'],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'novo-link',\n },\n standalone: false\n})\nexport class NovoLink extends NovoBaseTextElement {\n @Input()\n href: string;\n}\n","// NG2\nimport { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { BooleanInput } from 'novo-elements/utils';\nimport { NovoBaseTextElement } from '../base/base-text.component';\n\n/**\n * Tag Example\n * <novo-text size=\"small\" disabled>Label</novo-text\n * <novo-text small disabled>Label</novo-text>\n * <novo-text large disabled>Label</novo-text>\n * <novo-text error>Label</novo-text>\n * <novo-text muted>Label</novo-text>\n * <novo-text class=\"tc-grapefruit\">Label</novo-text>\n * <novo-text color=\"grapefruit\">Label</novo-text>\n */\n\n@Component({\n selector: 'novo-text,[novo-text]',\n template: ` <ng-content></ng-content> `,\n styleUrls: ['./text.scss'],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'novo-text',\n },\n standalone: false\n})\nexport class NovoText extends NovoBaseTextElement {\n @HostBinding('class.text-block')\n @Input()\n @BooleanInput()\n block: boolean;\n}\n","// NG2\nimport { Component } from '@angular/core';\nimport { NovoBaseTextElement } from '../base/base-text.component';\nimport { TypographyWeight } from '../text.types';\n\n/**\n * Tag Example\n * <novo-title size=\"sm\" disabled>Label</novo-title\n * <novo-title small disabled>Label</novo-title>\n * <novo-title large disabled>Label</novo-title>\n * <novo-title error>Label</novo-title>\n * <novo-title muted>Label</novo-title>\n * <novo-title class=\"tc-grapefruit\">Label</novo-title>\n * <novo-title color=\"grapefruit\">Label</novo-title>\n */\n\n@Component({\n selector: 'novo-title,[novo-title]',\n template: ` <ng-content></ng-content> `,\n styleUrls: ['./title.scss'],\n host: {\n class: 'novo-title',\n },\n standalone: false\n})\nexport class NovoTitle extends NovoBaseTextElement {\n weight: TypographyWeight = 'medium';\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AccentColorDirective } from './directives/accent.directive';\nimport { BackgroundColorDirective } from './directives/bg.directive';\nimport { BorderDirective } from './directives/border.directive';\nimport { TextColorDirective } from './directives/color.directive';\nimport { FillColorDirective } from './directives/fill.directive';\nimport { FlexDirective } from './directives/flex.directive';\nimport { GapDirective, MarginDirective, PaddingDirective } from './directives/space.directive';\nimport { SwitchCasesDirective } from './directives/switch-cases.directive';\nimport { ThemeColorDirective } from './directives/theme.directive';\nimport { VisibleDirective } from './directives/visible.directive';\nimport { NovoTemplate } from './novo-template/novo-template.directive';\nimport { NovoOptionModule } from './option';\nimport { NovoCaption } from './typography/caption/caption.component';\nimport { NovoLabel } from './typography/label/label.component';\nimport { NovoLink } from './typography/link/link.component';\nimport { NovoText } from './typography/text/text.component';\nimport { NovoTitle } from './typography/title/title.component';\n\n@NgModule({\n imports: [CommonModule, NovoOptionModule],\n exports: [\n NovoTemplate,\n NovoText,\n NovoTitle,\n NovoCaption,\n NovoLabel,\n NovoLink,\n MarginDirective,\n PaddingDirective,\n BackgroundColorDirective,\n TextColorDirective,\n BorderDirective,\n GapDirective,\n AccentColorDirective,\n FillColorDirective,\n FlexDirective,\n ThemeColorDirective,\n SwitchCasesDirective,\n VisibleDirective,\n ],\n declarations: [\n NovoTemplate,\n NovoText,\n NovoTitle,\n NovoCaption,\n NovoLabel,\n NovoLink,\n MarginDirective,\n PaddingDirective,\n BackgroundColorDirective,\n TextColorDirective,\n BorderDirective,\n GapDirective,\n AccentColorDirective,\n FillColorDirective,\n FlexDirective,\n ThemeColorDirective,\n SwitchCasesDirective,\n VisibleDirective,\n ],\n})\nexport class NovoCommonModule {}\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroupDirective, NgForm } from '@angular/forms';\n\n/** Error state matcher that matches when a control is invalid and dirty. */\n@Injectable()\nexport class ShowOnDirtyErrorStateMatcher implements ErrorStateMatcher {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return !!(control && control.invalid && (control.dirty || (form && form.submitted)));\n }\n}\n\n/** Provider that defines how form controls behave with regards to displaying error messages. */\n@Injectable({ providedIn: 'root' })\nexport class ErrorStateMatcher {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return !!(control && control.invalid && (control.touched || (form && form.submitted)));\n }\n}\n","import { Constructor } from './constructor';\nimport { HasElementRef } from './types';\n\n/** @docs-private */\nexport interface CanColor {\n /** Theme color palette for the component. */\n color: ThemePalette;\n\n /** Default color to fall back to if no value is set. */\n defaultColor: ThemePalette | undefined;\n}\n\n/** @docs-private */\nexport type CanColorCtor = Constructor<CanColor>;\n\n/** Possible color palette values. */\nexport type ThemePalette = 'primary' | 'accent' | 'warn' | undefined;\n\n/** Mixin to augment a directive with a `color` property. */\nexport function mixinColor<T extends Constructor<HasElementRef>>(base: T, defaultColor?: ThemePalette): CanColorCtor & T {\n return class extends base {\n private _color: ThemePalette;\n defaultColor = defaultColor;\n\n get color(): ThemePalette {\n return this._color;\n }\n set color(value: ThemePalette) {\n const colorPalette = value || this.defaultColor;\n\n if (colorPalette !== this._color) {\n if (this._color) {\n this._elementRef.nativeElement.classList.remove(`novo-color-${this._color}`);\n }\n if (colorPalette) {\n this._elementRef.nativeElement.classList.add(`novo-color-${colorPalette}`);\n }\n\n this._color = colorPalette;\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n\n // Set the default color that can be specified from the mixin.\n this.color = defaultColor;\n }\n };\n}\n","import { FormControl, FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { ErrorStateMatcher } from '../error/error-options';\nimport { Constructor } from './constructor';\n\n/** @docs-private */\nexport interface CanUpdateErrorState {\n updateErrorState(): void;\n readonly stateChanges: Subject<void>;\n errorState: boolean;\n errorStateMatcher: ErrorStateMatcher;\n}\n\n/** @docs-private */\nexport type CanUpdateErrorStateCtor = Constructor<CanUpdateErrorState>;\n\n/** @docs-private */\nexport interface HasErrorState {\n _parentFormGroup: FormGroupDirective;\n _parentForm: NgForm;\n _defaultErrorStateMatcher: ErrorStateMatcher;\n ngControl: NgControl;\n}\n\n/**\n * Mixin to augment a directive with updateErrorState method.\n * For component with `errorState` and need to update `errorState`.\n */\nexport function mixinErrorState<T extends Constructor<HasErrorState>>(base: T): CanUpdateErrorStateCtor & T {\n return class extends base {\n /** Whether the component is in an error state. */\n errorState: boolean = false;\n\n /**\n * Stream that emits whenever the state of the input changes such that the wrapping\n * `MatFormField` needs to run change detection.\n */\n readonly stateChanges = new Subject<void>();\n\n errorStateMatcher: ErrorStateMatcher;\n\n updateErrorState() {\n const oldState = this.errorState;\n const parent = this._parentFormGroup || this._parentForm;\n const matcher = this.errorStateMatcher || this._defaultErrorStateMatcher;\n const control = this.ngControl ? (this.ngControl.control as FormControl) : null;\n const newState = matcher.isErrorState(control, parent);\n\n if (newState !== oldState) {\n this.errorState = newState;\n this.stateChanges.next();\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n };\n}\n","import { InjectionToken } from '@angular/core';\nimport { NovoOverlayTemplateComponent } from '../overlay';\nimport { AbstractConstructor, Constructor } from './constructor';\nimport { CanDisable } from './disabled.mixin';\n\n/** @docs-private */\nexport interface HasOverlay {\n overlay: NovoOverlayTemplateComponent;\n readonly panelOpen: boolean;\n\n openPanel(): void;\n closePanel(): void;\n togglePanel(): void;\n}\n\nexport const NOVO_OVERLAY_CONTAINER = new InjectionToken<HasOverlay>('NovoOverlayContainer');\n\n/** @docs-private */\nexport type HasOverlayCtor = Constructor<HasOverlay>;\n\n/** Mixin to augment a directive with a `overlay` property. */\nexport function mixinOverlay<T extends AbstractConstructor<CanDisable>>(base: T): HasOverlayCtor & T {\n // Note: We cast `base` to `unknown` and then `Constructor`. It could be an abstract class,\n // but given we `extend` it from another class, we can assume a constructor being accessible.\n abstract class Mixin extends (base as unknown as Constructor<CanDisable>) {\n abstract overlay: NovoOverlayTemplateComponent;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n openPanel(): void {\n if (!this.disabled) {\n this.overlay.openPanel();\n }\n }\n\n closePanel(): void {\n this.overlay.closePanel();\n }\n\n togglePanel(): void {\n if (this.panelOpen) {\n this.closePanel();\n } else {\n this.openPanel();\n }\n }\n\n get panelOpen(): boolean {\n return this.overlay && this.overlay.panelOpen;\n }\n }\n\n // Since we don't directly extend from `base` with it's original types, and we instruct\n // TypeScript that `T` actually is instantiatable through `new`, the types don't overlap.\n // This is a limitation in TS as abstract classes cannot be typed properly dynamically.\n return Mixin as unknown as T & Constructor<HasOverlay>;\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Constructor } from './constructor';\n\n/** @docs-private */\nexport interface CanRequire {\n /** Whether the component is required. */\n required: boolean;\n}\n\n/** @docs-private */\nexport type CanRequireCtor = Constructor<CanRequire>;\n\n/** Mixin to augment a directive with a `required` property. */\nexport function mixinRequired<T extends Constructor<{}>>(base: T): CanRequireCtor & T {\n return class extends base {\n private _required: boolean = false;\n\n get required() {\n return this._required;\n }\n set required(value: any) {\n this._required = coerceBooleanProperty(value);\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n };\n}\n","import { Constructor } from './constructor';\nimport { HasElementRef } from './types';\n\n/** Possible size palette values. */\nexport type ElementSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'body' | undefined;\n\n/** @docs-private */\nexport interface CanSize {\n /** Theme size palette for the component. */\n size: ElementSize;\n\n /** Default size to fall back to if no value is set. */\n defaultSize: ElementSize | undefined;\n}\n\n/** @docs-private */\nexport type CanSizeCtor = Constructor<CanSize>;\n\n/** Mixin to augment a directive with a `size` property. */\nexport function mixinSize<T extends Constructor<HasElementRef>>(base: T, defaultSize?: ElementSize): CanSizeCtor & T {\n return class extends base {\n private _size: ElementSize;\n defaultSize = defaultSize;\n\n get size(): ElementSize {\n return this._size;\n }\n set size(value: ElementSize) {\n const size = value || this.defaultSize;\n if (size !== this._size) {\n if (this._size) {\n this._elementRef.nativeElement.classList.remove(`novo-size-${this._size}`);\n }\n if (size) {\n this._elementRef.nativeElement.classList.add(`novo-size-${size}`);\n }\n\n this._size = size;\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n // Set the default size that can be specified from the mixin.\n this.size = defaultSize;\n }\n };\n}\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { AbstractConstructor, Constructor } from './constructor';\nimport { CanDisable } from './disabled.mixin';\n\n/** @docs-private */\nexport interface HasTabIndex {\n /** Tabindex of the component. */\n tabIndex: number;\n\n /** Tabindex to which to fall back to if no value is set. */\n defaultTabIndex: number;\n}\n\n/** @docs-private */\nexport type HasTabIndexCtor = Constructor<HasTabIndex>;\n\n/** Mixin to augment a directive with a `tabIndex` property. */\nexport function mixinTabIndex<T extends AbstractConstructor<CanDisable>>(base: T, defaultTabIndex = 0): HasTabIndexCtor & T {\n // Note: We cast `base` to `unknown` and then `Constructor`. It could be an abstract class,\n // but given we `extend` it from another class, we can assume a constructor being accessible.\n abstract class Mixin extends (base as unknown as Constructor<CanDisable>) {\n private _tabIndex: number = defaultTabIndex;\n defaultTabIndex = defaultTabIndex;\n\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? coerceNumberProperty(value) : this.defaultTabIndex;\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n }\n\n // Since we don't directly extend from `base` with it's original types, and we instruct\n // TypeScript that `T` actually is instantiatable through `new`, the types don't overlap.\n // This is a limitation in TS as abstract classes cannot be typed properly dynamically.\n return Mixin as unknown as T & Constructor<HasTabIndex>;\n}\n","// Angular\nimport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n HorizontalConnectionPos,\n Overlay,\n OverlayConfig,\n OverlayContainer,\n OverlayRef,\n ScrollStrategy,\n VerticalConnectionPos,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n inject,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\n// Vendor\nimport { Helpers } from \"novo-elements/utils\";\nimport { fromEvent, merge, Observable, of as observableOf, Subscription } from 'rxjs';\nimport { filter, first, switchMap } from 'rxjs/operators';\n\n@Component({\n selector: 'novo-overlay-template',\n styleUrls: ['Overlay.scss'],\n template: `\n <ng-template>\n <div class=\"novo-overlay-panel\" role=\"listbox\" [id]=\"id\" #panel><ng-content></ng-content></div>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class NovoOverlayTemplateComponent implements OnDestroy {\n public id: string = `novo-overlay-${Date.now()}`;\n\n @ViewChild(TemplateRef)\n public template: TemplateRef<any>;\n @ViewChild('panel')\n public panel: ElementRef;\n\n @Input()\n public position:\n | 'default'\n | 'right'\n | 'above-below'\n | 'right-above-below'\n | 'center'\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right'\n | 'top-left'\n | 'top-right' = 'default';\n @Input()\n public scrollStrategy: 'reposition' | 'block' | 'close' = 'reposition';\n @Input()\n public width: number;\n @Input()\n public minWidth: number;\n @Input()\n public height: number;\n @Input()\n public closeOnSelect: boolean = true;\n @Input()\n public hasBackdrop: boolean = false;\n\n @Output()\n public select: EventEmitter<any> = new EventEmitter();\n @Output()\n public opening: EventEmitter<any> = new EventEmitter();\n @Output()\n public closing: EventEmitter<any> = new EventEmitter();\n @Output()\n public backDropClicked: EventEmitter<any> = new EventEmitter();\n\n public overlayRef: OverlayRef | null;\n public portal: TemplatePortal<any>;\n\n // The subscription for closing actions (some are bound to document)\n protected closingActionsSubscription: Subscription;\n private _parent: ElementRef;\n private overlayContainer: OverlayContainer = inject(OverlayContainer);\n private overlayContext: string;\n\n constructor(\n protected overlay: Overlay,\n protected viewContainerRef: ViewContainerRef,\n protected zone: NgZone,\n protected changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(DOCUMENT)\n protected document: any,\n ) {}\n\n public ngOnDestroy(): void {\n this.destroyOverlay();\n }\n\n get panelOpen(): boolean {\n return this.overlayRef?.hasAttached();\n }\n\n @Input()\n public set parent(value: ElementRef) {\n this._parent = value;\n this.checkSizes();\n }\n\n public get parent(): ElementRef {\n return this._parent;\n }\n\n public openPanel(): void {\n if (!this.overlayRef) {\n this.createOverlay(this.template);\n } else {\n this.checkSizes();\n }\n if (this.overlayRef && !this.overlayRef.hasAttached()) {\n this.overlayRef.attach(this.portal);\n this.closingActionsSubscription = this.subscribeToClosingActions();\n }\n this.changeDetectorRef.markForCheck();\n setTimeout(() => {\n if (this.overlayRef) {\n if (this.overlayContainer.getContainerElement()?.attributes.getNamedItem('novoContext')) {\n this.overlayContext = this.overlayContainer.getContainerElement().attributes.getNamedItem('novoContext').value;\n }\n this.overlayRef.updatePosition();\n this.opening.emit(true);\n setTimeout(() => {\n // TODO: @charlesabarnes Remove this once we remove table\n if (this.overlayRef) {\n this.overlayRef.updatePosition();\n }\n });\n }\n });\n }\n\n public closePanel(): void {\n this.zone.run(() => {\n if (this.overlayRef?.hasAttached()) {\n this.overlayRef.detach();\n this.closingActionsSubscription.unsubscribe();\n }\n this.closing.emit(false);\n if (this.panelOpen) {\n this.changeDetectorRef.markForCheck();\n }\n });\n }\n\n public onClosingAction(event: any): void {\n this.closePanel();\n }\n\n /**\n * A stream of actions that should close the panel, including\n * when an option is selected, on blur, and when TAB is pressed.\n */\n public get panelClosingActions(): Observable<any> {\n return merge(\n this.outsideClickStream,\n );\n }\n\n /** Stream of clicks outside of the panel. */\n protected get outsideClickStream(): Observable<any> {\n if (!this.document) {\n return observableOf();\n }\n\n return merge(fromEvent(this.document, 'mouseup'), fromEvent(this.document, 'touchend')).pipe(\n filter((event: MouseEvent | TouchEvent) => {\n const clickTarget: HTMLElement = event.target as HTMLElement;\n const clickedOutside: boolean =\n this.panelOpen &&\n clickTarget !== this.getConnectedElement().nativeElement &&\n this.isInDocument(clickTarget) &&\n !this.getConnectedElement().nativeElement.contains(clickTarget) &&\n (!!this.overlayRef && !this.overlayRef.overlayElement.contains(clickTarget)) &&\n this.elementIsInContext(clickTarget) &&\n !this.elementIsInNestedOverlay(clickTarget);\n if (this.panelOpen && !!this.overlayRef && this.overlayRef.overlayElement.contains(clickTarget) && this.closeOnSelect) {\n this.select.emit(event);\n }\n return clickedOutside;\n }),\n );\n }\n\n private isInDocument(node: Node): boolean {\n return node.getRootNode().nodeType === Node.DOCUMENT_NODE;\n }\n\n /**\n * This method listens to a stream of panel closing actions and resets the\n * stream every time the option list changes.\n */\n protected subscribeToClosingActions(): Subscription {\n const firstStable: Observable<any> = this.zone.onStable.asObservable().pipe(first());\n // When the zone is stable initially, and when the option list changes...\n return (\n merge(firstStable)\n .pipe(\n // create a new stream of panelClosingActions, replacing any previous streams\n // that were created, and flatten it so our stream only emits closing events...\n switchMap(() => {\n return this.panelClosingActions;\n }),\n // when the first closing event occurs...\n first(),\n )\n // set the value, close the panel, and complete.\n .subscribe((event: any) => this.onClosingAction(event))\n );\n }\n\n protected createOverlay(template: TemplateRef<any>): void {\n this.portal = new TemplatePortal(template, this.viewContainerRef);\n this.overlayRef = this.overlay.create(this.getOverlayConfig());\n this.overlayRef.backdropClick().subscribe(() => {\n this.backDropClicked.emit(true);\n this.closePanel();\n });\n }\n\n protected destroyOverlay(): void {\n if (this.overlayRef) {\n this.closePanel();\n this.overlayRef.dispose();\n this.overlayRef = undefined;\n }\n }\n\n protected getOverlayConfig(): OverlayConfig {\n const config: OverlayConfig = new OverlayConfig();\n\n if (!this.width) {\n config.width = this.getHostWidth();\n } else {\n config.width = this.width;\n }\n\n if (this.minWidth) {\n config.minWidth = this.minWidth;\n }\n\n if (this.height) {\n config.height = this.height;\n }\n\n config.positionStrategy = this.getPosition();\n config.hasBackdrop = this.hasBackdrop;\n config.direction = 'ltr';\n config.scrollStrategy = this.getScrollStrategy();\n\n return config;\n }\n\n /**\n * Supports the following position strategies:\n * 'default', 'right', 'bottom', 'center', 'bottom-left', 'bottom-right', 'top-left', 'top-right'\n */\n protected getPosition(): FlexibleConnectedPositionStrategy {\n if (this.position === 'center') {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.getConnectedElement())\n .withFlexibleDimensions(false)\n .withPositions([\n { originX: 'start', originY: 'center', overlayX: 'start', overlayY: 'center' },\n { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'top' },\n { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'bottom' },\n ]);\n }\n\n const [originX, fallbackX]: HorizontalConnectionPos[] = this.position.includes('right') ? ['end', 'start'] : ['start', 'end'];\n const [originY, overlayY]: VerticalConnectionPos[] = this.position.includes('top') ? ['top', 'bottom'] : ['bottom', 'top'];\n const defaultPosition: ConnectedPosition = { originX, originY, overlayX: originX, overlayY };\n let strategy: FlexibleConnectedPositionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.getConnectedElement())\n .withFlexibleDimensions(false)\n .withPositions([defaultPosition]);\n if (this.position === 'bottom') {\n strategy = strategy.withPositions([defaultPosition, { originX: fallbackX, originY: 'bottom', overlayX: fallbackX, overlayY: 'top' }]);\n } else if (this.position === 'right' || this.position === 'default' || this.position.includes('above-below')) {\n strategy = strategy.withPositions([\n defaultPosition,\n { originX, originY: 'top', overlayX: originX, overlayY: 'bottom' },\n { originX: fallbackX, originY: 'bottom', overlayX: fallbackX, overlayY: 'top' },\n { originX: fallbackX, originY: 'top', overlayX: fallbackX, overlayY: 'bottom' },\n ]);\n if (!this.position.includes('above-below')) {\n strategy = strategy.withPositions([\n defaultPosition,\n { originX, originY: 'center', overlayX: originX, overlayY: 'center' },\n { originX: fallbackX, originY: 'center', overlayX: fallbackX, overlayY: 'center' },\n ]);\n }\n }\n return strategy;\n }\n\n protected getScrollStrategy(): ScrollStrategy {\n switch (this.scrollStrategy) {\n case 'block':\n return this.overlay.scrollStrategies.block();\n case 'reposition':\n return this.overlay.scrollStrategies.reposition();\n default:\n return this.overlay.scrollStrategies.close();\n }\n }\n\n protected checkSizes(): void {\n if (this.overlayRef) {\n if (!this.width) {\n this.overlayRef.getConfig().width = this.getHostWidth();\n }\n if (this.minWidth) {\n this.overlayRef.getConfig().minWidth = this.minWidth;\n }\n if (this.height) {\n this.overlayRef.getConfig().height = this.height;\n }\n this.overlayRef.updateSize(this.overlayRef.getConfig());\n this.overlayRef.updatePosition();\n this.changeDetectorRef.markForCheck();\n }\n }\n\n protected getConnectedElement(): ElementRef {\n return this.parent;\n }\n\n private elementIsInContext(el) {\n // this is to support multiple overlay contexts\n if (this.overlayContext) {\n while (el.parentNode) {\n if (el.localName === this.overlayContext) {\n return true;\n }\n el = el.parentNode;\n }\n return false;\n }\n return true;\n }\n\n protected elementIsInNestedOverlay(el): boolean {\n while (el.parentNode) {\n if (Helpers.isString(el.id) &&\n (el.id?.includes('novo-overlay-') || el.id?.includes('modal-container-'))) {\n // checking to see if the current overlay is newer (in front of the parent overlay)\n // example text novo-overlay-1666291728835\n return this.id.split('-')[2] < el.id.split('-')[2];\n }\n el = el.parentNode;\n }\n return false;\n }\n\n protected getHostWidth(): number {\n return this.getConnectedElement().nativeElement.getBoundingClientRect().width;\n }\n\n public isBlurRecipient(event: FocusEvent): boolean {\n if (!this.overlayRef || !event.relatedTarget) {\n return false;\n }\n return this.overlayRef.overlayElement.contains(event.relatedTarget as HTMLElement);\n }\n}\n","// NG2\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// APP\nimport { NovoOverlayTemplateComponent } from './Overlay';\n\n@NgModule({\n imports: [CommonModule, FormsModule, OverlayModule, ScrollingModule],\n declarations: [NovoOverlayTemplateComponent],\n exports: [NovoOverlayTemplateComponent, ScrollingModule],\n})\nexport class NovoOverlayModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NovoTheme","isValidColor","__decorate","i2","i3.NovoPseudoCheckbox","observableOf"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"novo-elements-elements-common.mjs","sources":["../../../projects/novo-elements/src/elements/common/theme/theme-options.ts","../../../projects/novo-elements/src/elements/common/directives/accent.directive.ts","../../../projects/novo-elements/src/elements/common/directives/bg.directive.ts","../../../projects/novo-elements/src/elements/common/directives/border.directive.ts","../../../projects/novo-elements/src/elements/common/directives/color.directive.ts","../../../projects/novo-elements/src/elements/common/directives/fill.directive.ts","../../../projects/novo-elements/src/elements/common/directives/flex.directive.ts","../../../projects/novo-elements/src/elements/common/directives/space.directive.ts","../../../projects/novo-elements/src/elements/common/directives/switch-cases.directive.ts","../../../projects/novo-elements/src/elements/common/directives/theme.directive.ts","../../../projects/novo-elements/src/elements/common/directives/visible.directive.ts","../../../projects/novo-elements/src/elements/common/novo-template/novo-template.directive.ts","../../../projects/novo-elements/src/elements/common/selection/pseudo-checkbox/pseudo-checkbox.component.ts","../../../projects/novo-elements/src/elements/common/selection/index.ts","../../../projects/novo-elements/src/elements/common/mixins/disabled.mixin.ts","../../../projects/novo-elements/src/elements/common/option/option-parent.ts","../../../projects/novo-elements/src/elements/common/option/optgroup.component.ts","../../../projects/novo-elements/src/elements/common/option/optgroup.component.html","../../../projects/novo-elements/src/elements/common/option/option.component.ts","../../../projects/novo-elements/src/elements/common/option/option.component.html","../../../projects/novo-elements/src/elements/common/option/index.ts","../../../projects/novo-elements/src/elements/common/typography/base/base-text.component.ts","../../../projects/novo-elements/src/elements/common/typography/caption/caption.component.ts","../../../projects/novo-elements/src/elements/common/typography/label/label.component.ts","../../../projects/novo-elements/src/elements/common/typography/link/link.component.ts","../../../projects/novo-elements/src/elements/common/typography/text/text.component.ts","../../../projects/novo-elements/src/elements/common/typography/title/title.component.ts","../../../projects/novo-elements/src/elements/common/common.module.ts","../../../projects/novo-elements/src/elements/common/error/error-options.ts","../../../projects/novo-elements/src/elements/common/mixins/color.mixin.ts","../../../projects/novo-elements/src/elements/common/mixins/error-state.mixin.ts","../../../projects/novo-elements/src/elements/common/mixins/overlay.mixin.ts","../../../projects/novo-elements/src/elements/common/mixins/required.mixin.ts","../../../projects/novo-elements/src/elements/common/mixins/size.mixin.ts","../../../projects/novo-elements/src/elements/common/mixins/tab-index.mixin.ts","../../../projects/novo-elements/src/elements/common/overlay/Overlay.ts","../../../projects/novo-elements/src/elements/common/overlay/Overlay.module.ts","../../../projects/novo-elements/src/elements/common/novo-elements-elements-common.ts"],"sourcesContent":["import { EventEmitter, Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nexport class NovoThemeOptions {\n themeName: string;\n}\nexport interface ThemeChangeEvent {\n themeName: string;\n options?: NovoThemeOptions;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NovoTheme {\n private _defaultTheme: NovoThemeOptions = { themeName: 'modern-light' };\n private _currentTheme: NovoThemeOptions;\n\n onThemeChange: EventEmitter<ThemeChangeEvent> = new EventEmitter<ThemeChangeEvent>();\n\n /** Name of the theme being used. defaults to `modern-light` */\n get themeName() {\n return this._currentTheme?.themeName || this._defaultTheme.themeName;\n }\n set themeName(value: string) {\n this._currentTheme = { themeName: value };\n this.changeTheme(this._currentTheme);\n }\n\n public use(options: NovoThemeOptions): Observable<any> {\n // future: don't change the theme if the theme given is already selected\n this.changeTheme(options);\n // this might become async in future\n return of(options);\n }\n\n /**\n * Changes the current theme\n */\n private changeTheme(theme: NovoThemeOptions): void {\n this._currentTheme = theme;\n this.onThemeChange.emit({ themeName: theme.themeName, options: theme });\n }\n}\n\n/* FUTURE THOUGHTS */\n/**\n getComputedStyle(document.documentElement)\n .getPropertyValue('--my-variable-name'); // #999999\n\n document.documentElement.style\n .setProperty('--my-variable-name', 'pink');\n*/\n","import { ChangeDetectorRef, Directive, HostBinding, Input, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NovoTheme, ThemeChangeEvent } from '../theme/theme-options';\n\n@Directive({\n selector: '[accent]',\n standalone: false,\n})\nexport class AccentColorDirective implements OnDestroy {\n private subscription: Subscription;\n\n @Input() accent: string;\n\n @HostBinding('class')\n get hb_textColor() {\n // Support legacy classic theme... for now\n if (this.theme.themeName === 'classic') {\n return `novo-theme-${this.accent}`;\n }\n return `novo-accent-${this.accent}`;\n }\n\n constructor(private theme: NovoTheme, protected cdr: ChangeDetectorRef) {\n this.subscription = this.theme.onThemeChange.subscribe((event: ThemeChangeEvent) => {\n this.cdr.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n}\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[bg]',\n standalone: false,\n})\nexport class BackgroundColorDirective {\n @Input() bg: string;\n\n @HostBinding('class')\n get hb_bgColor() {\n return isValidColor(this.bg) ? 'novo-background-custom' : `novo-background-${this.bg}`;\n }\n @HostBinding('style.background-color')\n get hb_bgStyle() {\n return isValidColor(this.bg) ? this.bg : null;\n }\n\n constructor(private el: ElementRef) {}\n}\n\nfunction isValidColor(color: string) {\n return color.startsWith('#') || color.startsWith('rgb');\n}\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n@Directive({\n selector: '[border], [bb], [borderBottom], [bt], [borderTop], [bl], [borderLeft], [br], [borderRight], [bx], [borderX], [by], [borderY]',\n standalone: false,\n})\nexport class BorderDirective {\n @Input() borderStyle = 'solid';\n @Input() borderColor = '#eaecef';\n @Input() borderWidth = 1;\n\n @Input() border: string;\n @Input() borderLeft: string;\n @Input() bl: string;\n @Input() borderRight: string;\n @Input() br: string;\n @Input() borderTop: string;\n @Input() bt: string;\n @Input() borderBottom: string;\n @Input() bb: string;\n @Input() borderX: string;\n @Input() bx: string;\n @Input() borderY: string;\n @Input() by: string;\n\n @HostBinding('class') get hb_border() {\n return `border-${this.border}`;\n }\n @HostBinding('style.border-left') get hb_border_left() {\n return this.borderLeft || this.bl || this.bx || this.borderX;\n }\n @HostBinding('style.border-right') get hb_border_right() {\n return this.borderRight || this.bt || this.bx || this.borderX;\n }\n @HostBinding('style.border-top') get hb_border_top() {\n return this.borderTop || this.bt || this.by || this.borderY;\n }\n @HostBinding('style.border-bottom') get hb_border_bottom() {\n return this.borderBottom || this.bt || this.by || this.borderY;\n }\n\n constructor(private el: ElementRef) {}\n}\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[txc]',\n standalone: false,\n})\nexport class TextColorDirective {\n @Input() txc: string;\n\n @HostBinding('class')\n get hb_textColor() {\n return isValidColor(this.txc) ? 'novo-text-custom' : `novo-text-${this.txc}`;\n }\n @HostBinding('style.color')\n get hb_textStyle() {\n return isValidColor(this.txc) ? this.txc : null;\n }\n\n constructor(private el: ElementRef) {}\n}\n\nfunction isValidColor(color: string) {\n return color.startsWith('#') || color.startsWith('rgb');\n}\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fill]',\n standalone: false,\n})\nexport class FillColorDirective {\n @Input() fill: string;\n\n @HostBinding('class')\n get hb_textColor() {\n return `novo-fill-${this.fill}`;\n }\n\n constructor(private el: ElementRef) {}\n}\n","import { Directive, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[flex]',\n standalone: false,\n})\nexport class FlexDirective {\n private _flex: string;\n\n @HostBinding('style.flex')\n @Input()\n public get flex(): string {\n return this._flex;\n }\n\n public set flex(value: string) {\n if (!value) {\n this._flex = '1 1 auto';\n } else {\n this._flex = value;\n }\n }\n\n constructor(private readonly el: ElementRef, private readonly renderer: Renderer2) {\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport * as tokens from 'novo-design-tokens';\n/*\nProp\tCSS Property\tTheme Field\nm, margin\tmargin\tspace\nmt, marginTop\tmargin-top\tspace\nmr, marginRight\tmargin-right\tspace\nmb, marginBottom\tmargin-bottom\tspace\nml, marginLeft\tmargin-left\tspace\nmx\tmargin-left and margin-right\tspace\nmy\tmargin-top and margin-bottom\tspace\np, padding\tpadding\tspace\npt, paddingTop\tpadding-top\tspace\npr, paddingRight\tpadding-right\tspace\npb, paddingBottom\tpadding-bottom\tspace\npl, paddingLeft\tpadding-left\tspace\npx\tpadding-left and padding-right\tspace\npy\tpadding-top and padding-bottom\tspace\n*/\n\n/*\n// Selectors generated with the following code\nconst directions = ['Top', 'Right', 'Bottom', 'Left', 'X', 'Y'];\nconst abbrDirections = directions.map((d) => d.slice(0, 1).toLowerCase());\nconst marginAttrs = [\n '[m]',\n '[margin]',\n ...directions.map((dir) => `[margin${dir}]`),\n ...abbrDirections.map((dir) => `[m${dir}]`),\n];\nconst paddingAttrs = [\n '[p]',\n '[padding]',\n ...directions.map((dir) => `[padding${dir}]`),\n ...abbrDirections.map((dir) => `[p${dir}]`),\n];\n\nconst selectors = [...marginAttrs, ...paddingAttrs];\n*/\n\nexport const getSpacingToken = (value: string) => {\n if (Object.keys(tokens.spacing).includes(value)) {\n return tokens.spacing[value];\n }\n // TODO: Maybe Validate Value ie.(rem, px)\n return value;\n};\n\n@Directive({\n selector: '[m],[margin],[marginTop],[marginRight],[marginBottom],[marginLeft],[marginX],[marginY],[mt],[mr],[mb],[ml],[mx],[my]',\n standalone: false,\n})\nexport class MarginDirective {\n // Margin\n @Input() margin: string;\n @Input() m: string;\n @Input() marginLeft: string;\n @Input() ml: string;\n @Input() marginRight: string;\n @Input() mr: string;\n @Input() marginTop: string;\n @Input() mt: string;\n @Input() marginBottom: string;\n @Input() mb: string;\n @Input() marginX: string;\n @Input() mx: string;\n @Input() marginY: string;\n @Input() my: string;\n\n @HostBinding('class') get hb_margin() {\n return `margin-${this.margin || this.m}`;\n }\n\n @HostBinding('style.margin-left') get hb_margin_left() {\n return getSpacingToken(this.marginLeft || this.ml || this.mx || this.marginX);\n }\n @HostBinding('style.margin-right') get hb_margin_right() {\n return getSpacingToken(this.marginRight || this.mr || this.mx || this.marginX);\n }\n @HostBinding('style.margin-top') get hb_margin_top() {\n return getSpacingToken(this.marginTop || this.mt || this.my || this.marginY);\n }\n @HostBinding('style.margin-bottom') get hb_margin_bottom() {\n return getSpacingToken(this.marginBottom || this.mb || this.my || this.marginY);\n }\n}\n\n@Directive({\n selector: '[p],[padding],[paddingTop],[paddingRight],[paddingBottom],[paddingLeft],[paddingX],[paddingY],[pt],[pr],[pb],[pl],[px],[py]',\n standalone: false,\n})\nexport class PaddingDirective {\n // Padding\n @Input() padding: string;\n @Input() p: string;\n @Input() paddingLeft: string;\n @Input() pl: string;\n @Input() paddingRight: string;\n @Input() pr: string;\n @Input() paddingTop: string;\n @Input() pt: string;\n @Input() paddingBottom: string;\n @Input() pb: string;\n @Input() paddingX: string;\n @Input() px: string;\n @Input() paddingY: string;\n @Input() py: string;\n\n @HostBinding('class') get hb_padding() {\n return `padding-${this.padding || this.p}`;\n }\n\n @HostBinding('style.padding-left') get hb_padding_left() {\n return getSpacingToken(this.paddingLeft || this.pl || this.px || this.paddingX);\n }\n @HostBinding('style.padding-right') get hb_padding_right() {\n return getSpacingToken(this.paddingRight || this.pr || this.px || this.paddingX);\n }\n @HostBinding('style.padding-top') get hb_padding_top() {\n return getSpacingToken(this.paddingTop || this.pt || this.py || this.paddingY);\n }\n @HostBinding('style.padding-bottom') get hb_padding_bottom() {\n return getSpacingToken(this.paddingBottom || this.pb || this.py || this.paddingY);\n }\n}\n\n@Directive({\n selector: '[gap]',\n standalone: false,\n})\nexport class GapDirective {\n @Input() gap: string;\n\n @HostBinding('style.gap')\n get hb_gap() {\n return getSpacingToken(this.gap);\n }\n}\n","import { NgSwitch } from '@angular/common';\nimport { Directive, DoCheck, Host, Input, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[novoSwitchCases]',\n standalone: false,\n})\nexport class SwitchCasesDirective implements OnInit, DoCheck {\n private ngSwitch: any;\n private _created = false;\n\n @Input()\n novoSwitchCases: any[];\n\n constructor(private viewContainer: ViewContainerRef, private templateRef: TemplateRef<Object>, @Host() ngSwitch: NgSwitch) {\n this.ngSwitch = ngSwitch;\n }\n\n ngOnInit() {\n (this.novoSwitchCases || []).forEach(() => this.ngSwitch._addCase());\n }\n\n ngDoCheck() {\n let enforce = false;\n (this.novoSwitchCases || []).forEach((value) => (enforce = this.ngSwitch._matchCase(value) || enforce));\n this.enforceState(enforce);\n }\n\n enforceState(created: boolean) {\n if (created && !this._created) {\n this._created = true;\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else if (!created && this._created) {\n this._created = false;\n this.viewContainer.clear();\n }\n }\n}\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[theme]',\n standalone: false,\n})\nexport class ThemeColorDirective {\n @Input() theme: string;\n\n @HostBinding('class')\n get hb_textColor() {\n return `novo-theme-${this.theme}`;\n }\n\n constructor(private el: ElementRef) {}\n}\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { BooleanInput } from 'novo-elements/utils';\n\n@Directive({\n selector: '[visible]',\n standalone: false,\n})\nexport class VisibleDirective {\n @BooleanInput()\n @Input()\n @HostBinding('class')\n visible: boolean;\n\n @HostBinding('class')\n get hb_visibility() {\n return this.visible ? '' : 'novo-visibility-hidden';\n }\n\n constructor(private el: ElementRef) {}\n}\n","import { Directive, Input, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[novoTemplate]',\n standalone: false,\n})\nexport class NovoTemplate {\n @Input() type: string;\n @Input('novoTemplate') name: string;\n\n constructor(public template: TemplateRef<any>) {}\n\n getType(): string {\n return this.name;\n }\n}\n","import { ChangeDetectionStrategy, Component, Inject, Input, Optional, ViewEncapsulation } from '@angular/core';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\n/**\n * Possible states for a pseudo checkbox.\n * @docs-private\n */\nexport type NovoPseudoCheckboxState = 'unchecked' | 'checked' | 'indeterminate';\nexport type NovoPseudoCheckboxShape = 'box' | 'circle' | 'line';\n\n/**\n * Component that shows a simplified checkbox without including any kind of \"real\" checkbox.\n * Meant to be used when the checkbox is purely decorative and a large number of them will be\n * included, such as for the options in a multi-select. Uses no SVGs or complex animations.\n * Note that theming is meant to be handled by the parent element, e.g.\n * `novo-primary .novo-pseudo-checkbox`.\n *\n * Note that this component will be completely invisible to screen-reader users. This is *not*\n * interchangeable with `<novo-checkbox>` and should *not* be used if the user would directly\n * interact with the checkbox. The pseudo-checkbox should only be used as an implementation detail\n * of more complex components that appropriately handle selected / checked state.\n * @docs-private\n */\n@Component({\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'novo-pseudo-checkbox',\n styleUrls: ['pseudo-checkbox.component.scss'],\n template: ` <i\n [class.bhi-checkbox-empty]=\"state === 'unchecked' && shape === 'box'\"\n [class.bhi-checkbox-filled]=\"state === 'checked' && shape === 'box'\"\n [class.bhi-checkbox-indeterminate]=\"state === 'indeterminate' && shape === 'box'\"\n [class.bhi-circle-o]=\"state === 'unchecked' && shape === 'circle'\"\n [class.bhi-check-circle-filled]=\"state === 'checked' && shape === 'circle'\"\n [class.bhi-circle]=\"state === 'indeterminate' && shape === 'circle'\"\n [class.bhi-box-empty]=\"state === 'unchecked' && shape === 'line'\"\n [class.bhi-check]=\"state === 'checked' && shape === 'line'\"\n [class.bhi-box-minus-o]=\"state === 'indeterminate' && shape === 'line'\"\n ></i>`,\n host: {\n class: 'novo-pseudo-checkbox',\n '[class.novo-pseudo-checkbox-indeterminate]': 'state === \"indeterminate\"',\n '[class.novo-pseudo-checkbox-checked]': 'state === \"checked\"',\n '[class.novo-pseudo-checkbox-disabled]': 'disabled',\n '[class._novo-animation-noopable]': '_animationMode === \"NoopAnimations\"',\n },\n standalone: false,\n})\nexport class NovoPseudoCheckbox {\n /** Display state of the checkbox. */\n @Input() state: NovoPseudoCheckboxState = 'unchecked';\n /** Display state of the checkbox. */\n @Input() shape: NovoPseudoCheckboxShape = 'box';\n /** Whether the checkbox is disabled. */\n @Input() disabled: boolean = false;\n\n constructor(@Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode?: string) {}\n}\n","import { NgModule } from '@angular/core';\nimport { NovoPseudoCheckbox } from './pseudo-checkbox/pseudo-checkbox.component';\n\n@NgModule({\n imports: [],\n exports: [NovoPseudoCheckbox],\n declarations: [NovoPseudoCheckbox],\n})\nexport class NovoPseudoCheckboxModule {}\n\nexport * from './pseudo-checkbox/pseudo-checkbox.component';\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Constructor } from './constructor';\n\n/** @docs-private */\nexport interface CanDisable {\n /** Whether the component is disabled. */\n disabled: boolean;\n}\n\n/** @docs-private */\nexport type CanDisableCtor = Constructor<CanDisable>;\n\n/** Mixin to augment a directive with a `disabled` property. */\nexport function mixinDisabled<T extends Constructor<{}>>(base: T): CanDisableCtor & T {\n return class extends base {\n protected _disabled: boolean = false;\n\n get disabled() {\n return this._disabled;\n }\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n };\n}\n","import { InjectionToken } from '@angular/core';\n\n/**\n * Describes a parent component that manages a list of options.\n * Contains properties that the options can inherit.\n * @docs-private\n */\nexport interface NovoOptionParentComponent {\n multiple?: boolean;\n inertGroups?: boolean;\n}\n\n/**\n * Injection token used to provide the parent component to options.\n */\nexport const NOVO_OPTION_PARENT_COMPONENT = new InjectionToken<NovoOptionParentComponent>('NOVO_OPTION_PARENT_COMPONENT');\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, Directive, Inject, InjectionToken, Optional, ViewEncapsulation } from '@angular/core';\nimport { CanDisable, CanDisableCtor, mixinDisabled } from '../mixins/disabled.mixin';\nimport { NovoOptionParentComponent, NOVO_OPTION_PARENT_COMPONENT } from './option-parent';\n\n// Notes on the accessibility pattern used for `novo-optgroup`.\n// The option group has two different \"modes\": regular and novoInert. The regular mode uses the\n// recommended a11y pattern which has `role=\"group\"` on the group element with `aria-labelledby`\n// pointing to the label. This works for `novo-select`, but it seems to hit a bug for autocomplete\n// under VoiceOver where the group doesn't get read out at all. The bug appears to be that if\n// there's __any__ a11y-related attribute on the group (e.g. `role` or `aria-labelledby`),\n// VoiceOver on Safari won't read it out.\n// We've introduced the `novoInert` mode as a workaround. Under this mode, all a11y attributes are\n// removed from the group, and we get the screen reader to read out the group label by mirroring it\n// inside an invisible element in the option. This is sub-optimal, because the screen reader will\n// repeat the group label on each navigation, whereas the default pattern only reads the group when\n// the user enters a new group. The following alternate approaches were considered:\n// 1. Reading out the group label using the `LiveAnnouncer` solves the problem, but we can't control\n// when the text will be read out so sometimes it comes in too late or never if the user\n// navigates quickly.\n// 2. `<novo-option aria-describedby=\"groupLabel\"` - This works on Safari, but VoiceOver in Chrome\n// won't read out the description at all.\n// 3. `<novo-option aria-labelledby=\"optionLabel groupLabel\"` - This works on Chrome, but Safari\n// doesn't read out the text at all. Furthermore, on\n\n// Boilerplate for applying mixins to NovoOptgroup.\n@Directive()\nexport class NovoOptgroupBase implements CanDisable {\n disabled: boolean;\n\n /** Label for the option group. */\n label: string;\n\n /** Unique id for the underlying label. */\n _labelId: string = `novo-optgroup-label-${_uniqueOptgroupIdCounter++}`;\n\n /** Whether the group is in novoInert a11y mode. */\n _novoInert: boolean;\n}\nexport const NovoOptgroupMixinBase: CanDisableCtor & typeof NovoOptgroupBase = mixinDisabled(NovoOptgroupBase);\n\n// Counter for unique group ids.\nlet _uniqueOptgroupIdCounter = 0;\n\n/**\n * Injection token that can be used to reference instances of `NovoOptgroup`. It serves as\n * alternative token to the actual `NovoOptgroup` class which could cause unnecessary\n * retention of the class and its component metadata.\n */\nexport const NOVO_OPTGROUP = new InjectionToken<NovoOptgroup>('NovoOptgroup');\n\n/**\n * Component that is used to group instances of `novo-option`.\n */\n@Component({\n selector: 'novo-optgroup',\n exportAs: 'novoOptgroup',\n templateUrl: 'optgroup.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disabled', 'label'],\n styleUrls: ['optgroup.component.scss'],\n host: {\n class: 'novo-optgroup',\n '[attr.role]': '_novoInert ? null : \"group\"',\n '[attr.aria-disabled]': '_novoInert ? null : disabled.toString()',\n '[attr.aria-labelledby]': '_novoInert ? null : _labelId',\n '[class.novo-optgroup-disabled]': 'disabled',\n },\n providers: [{ provide: NOVO_OPTGROUP, useExisting: NovoOptgroup }],\n standalone: false,\n})\nexport class NovoOptgroup extends NovoOptgroupMixinBase {\n constructor(@Inject(NOVO_OPTION_PARENT_COMPONENT) @Optional() parent?: NovoOptionParentComponent) {\n super();\n this._novoInert = parent?.inertGroups ?? false;\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","<span *ngIf=\"label\" class=\"novo-optgroup-label\" aria-hidden=\"true\" [id]=\"_labelId\">{{ label }}</span>\n<ng-content select=\"novo-option, ng-container, novo-divider, cdk-virtual-scroll-viewport\"></ng-content>","import { FocusableOption, FocusOptions, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey } from '@angular/cdk/keycodes';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport { fromEvent, Subject, Subscription } from 'rxjs';\nimport { BooleanInput, Key } from 'novo-elements/utils';\nimport { NovoOptgroup, NovoOptgroupBase, NOVO_OPTGROUP } from './optgroup.component';\nimport { NovoOptionParentComponent, NOVO_OPTION_PARENT_COMPONENT } from './option-parent';\n\n/**\n * Option IDs need to be unique across components, so this counter exists outside of\n * the component definition.\n */\nlet _uniqueIdCounter = 0;\n\n/** Event object emitted by NovoOption when selected or deselected. */\nexport class NovoOptionSelectionChange {\n constructor(\n /** Reference to the option that emitted the event. */\n public source: NovoOptionBase,\n /** Whether the change in the option's value was a result of a user action. */\n public isUserInput = false,\n ) {}\n}\n\n@Directive()\nexport class NovoOptionBase implements FocusableOption, AfterViewChecked, OnDestroy {\n private _selected = false;\n private _active = false;\n private _disabled = false;\n private _mostRecentViewValue = '';\n private _clickCapture: Subscription;\n private _clickPassive: Subscription;\n\n /** TODO: deprecate maybe, check support for table headers */\n @BooleanInput()\n @Input()\n keepOpen: boolean = false;\n\n @BooleanInput()\n @Input()\n novoInert: boolean = false;\n\n @BooleanInput()\n @Input()\n allowSelection = true;\n\n // When selected, use a particular string for display instead of what was used to select it\n @Input()\n customViewValue: string = '';\n\n /** If there is no parent then nothing is managing the selection. */\n get selectable() {\n return this.allowSelection && this._parent;\n }\n\n /** Whether the wrapping component is in multiple selection mode. */\n get multiple() {\n return this._parent && this._parent.multiple;\n }\n\n /** The form value of the option. */\n @Input() value: any;\n\n /** The unique ID of the option. */\n @Input() id: string = `novo-option-${_uniqueIdCounter++}`;\n\n /** Whether the option is disabled. */\n @Input()\n get disabled() {\n return (this.group && this.group.disabled) || this._disabled;\n }\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n @Input()\n get selected() {\n return this._selected;\n }\n set selected(value: any) {\n this._selected = coerceBooleanProperty(value);\n }\n\n /** Event emitted when the option is selected or deselected. */\n @Output() readonly onSelectionChange = new EventEmitter<NovoOptionSelectionChange>();\n\n /** Emits when the state of the option changes and any parents have to be notified. */\n readonly _stateChanges = new Subject<void>();\n\n constructor(\n private _element: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(NOVO_OPTION_PARENT_COMPONENT) private _parent: NovoOptionParentComponent,\n @Optional() @Inject(NOVO_OPTGROUP) readonly group: NovoOptgroupBase,\n ) {\n // (click) is overridden when defined by user.\n this._clickCapture = fromEvent<MouseEvent>(this._element.nativeElement, 'click', { capture: true }).subscribe((evt: MouseEvent) => {\n this._handleDisabledClick(evt);\n });\n this._clickPassive = fromEvent<MouseEvent>(this._element.nativeElement, 'click').subscribe((evt: MouseEvent) => {\n setTimeout(() => this._handlePassiveClick(evt));\n });\n }\n\n /**\n * Whether or not the option is currently active and ready to be selected.\n * An active option displays styles as if it is focused, but the\n * focus is actually retained somewhere else. This comes in handy\n * for components like autocomplete where focus must remain on the input.\n */\n get active(): boolean {\n return this._active;\n }\n\n /**\n * The displayed value of the option. It is necessary to show the selected option in the\n * select's trigger.\n */\n get viewValue(): string {\n return this.customViewValue || (this._getHostElement().textContent || '').trim();\n }\n\n /** Selects the option. */\n select(): void {\n if (!this._selected) {\n this._selected = true;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Deselects the option. */\n deselect(): void {\n if (this._selected) {\n this._selected = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Sets focus onto this option. */\n focus(_origin?: FocusOrigin, options?: FocusOptions): void {\n // Note that we aren't using `_origin`, but we need to keep it because some internal consumers\n // use `NovoOption` in a `FocusKeyManager` and we need it to match `FocusableOption`.\n const element = this._getHostElement();\n\n if (typeof element.focus === 'function') {\n element.focus(options);\n }\n }\n\n /**\n * This method sets display styles on the option to make it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setActiveStyles(): void {\n if (!this._active) {\n this._active = true;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * This method removes display styles on the option that made it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setInactiveStyles(): void {\n if (this._active) {\n this._active = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Gets the label to be used when determining whether the option should be focused. */\n getLabel(): string {\n return this.viewValue;\n }\n\n _handleDisabledClick(event: MouseEvent) {\n if (this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n }\n }\n\n _handlePassiveClick(event: MouseEvent) {\n if (!this.novoInert) {\n this._selectViaInteraction();\n }\n }\n\n /** Ensures the option is selected when activated from the keyboard. */\n _handleKeydown(event: KeyboardEvent): void {\n if (event.target instanceof HTMLInputElement && event.key === Key.Enter) {\n this._emitSelectionChangeEvent(!this.keepOpen);\n } else if (\n !(event.target instanceof HTMLInputElement) &&\n (event.key === Key.Enter || event.key === Key.Space) &&\n !hasModifierKey(event)\n ) {\n this._selectViaInteraction();\n // Prevent the page from scrolling down and form submits.\n event.preventDefault();\n }\n }\n\n /**\n * `Selects the option while indicating the selection came from the user. Used to\n * determine if the select's view -> model callback should be invoked.`\n */\n _selectViaInteraction(): void {\n if (!this.disabled) {\n this._selected = this.multiple ? !this._selected : true;\n this._changeDetectorRef.markForCheck();\n this._emitSelectionChangeEvent(!this.keepOpen);\n }\n }\n\n /**\n * Force a click event\n */\n _clickViaInteraction(): void {\n if (!this.disabled) {\n this._element.nativeElement.click();\n }\n }\n\n /**\n * Gets the `aria-selected` value for the option. We explicitly omit the `aria-selected`\n * attribute from single-selection, unselected options. Including the `aria-selected=\"false\"`\n * attributes adds a significant amount of noise to screen-reader users without providing useful\n * information.\n */\n _getAriaSelected(): boolean | null {\n return this.selected || (this.multiple ? false : null);\n }\n\n /** Returns the correct tabindex for the option depending on disabled state. */\n _getTabIndex(): string {\n return this.disabled ? '-1' : '0';\n }\n\n /** Gets the host DOM element. */\n _getHostElement(): HTMLElement {\n return this._element.nativeElement;\n }\n\n ngAfterViewChecked() {\n // Since parent components could be using the option's label to display the selected values\n // (e.g. `novo-select`) and they don't have a way of knowing if the option's label has changed\n // we have to check for changes in the DOM ourselves and dispatch an event. These checks are\n // relatively cheap, however we still limit them only to selected options in order to avoid\n // hitting the DOM too often.\n if (this._selected) {\n const viewValue = this.viewValue;\n\n if (viewValue !== this._mostRecentViewValue) {\n this._mostRecentViewValue = viewValue;\n this._stateChanges.next();\n }\n }\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n this._clickCapture.unsubscribe();\n this._clickPassive.unsubscribe();\n }\n\n /** Emits the selection change event. */\n private _emitSelectionChangeEvent(isUserInput = false): void {\n this.onSelectionChange.emit(new NovoOptionSelectionChange(this, isUserInput));\n }\n}\n\n/**\n * Single option inside of a `<novo-select>` element.\n */\n@Component({\n selector: 'novo-option',\n exportAs: 'novoOption',\n host: {\n role: 'option',\n '[id]': 'id',\n '[attr.tabindex]': '_getTabIndex()',\n '[attr.aria-selected]': '_getAriaSelected()',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[class.novo-active]': 'active',\n '[class.novo-selected]': 'selectable && selected',\n '[class.novo-option-multiple]': 'multiple',\n '[class.novo-option-disabled]': 'disabled',\n '[class.novo-option-inert]': 'novoInert',\n '(keydown)': '_handleKeydown($event)',\n class: 'novo-option novo-focus-indicator',\n },\n inputs: ['selected', 'keepOpen', 'novoInert', 'value', 'disabled'],\n styleUrls: ['option.component.scss'],\n templateUrl: 'option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class NovoOption extends NovoOptionBase {\n constructor(\n element: ElementRef<HTMLElement>,\n changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(NOVO_OPTION_PARENT_COMPONENT) parent: NovoOptionParentComponent,\n @Optional() @Inject(NOVO_OPTGROUP) group: NovoOptgroup,\n ) {\n super(element, changeDetectorRef, parent, group);\n }\n}\n\n/**\n * Counts the amount of option group labels that precede the specified option.\n * @param optionIndex Index of the option at which to start counting.\n * @param options Flat list of all of the options.\n * @param optionGroups Flat list of all of the option groups.\n * @docs-private\n */\nexport function _countGroupLabelsBeforeOption(\n optionIndex: number,\n options: QueryList<NovoOption>,\n optionGroups: QueryList<NovoOptgroup>,\n): number {\n if (optionGroups.length) {\n const optionsArray = options.toArray();\n const groups = optionGroups.toArray();\n let groupCounter = 0;\n\n for (let i = 0; i < optionIndex + 1; i++) {\n if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {\n groupCounter++;\n }\n }\n\n return groupCounter;\n }\n\n return 0;\n}\n\n/**\n * Determines the position to which to scroll a panel in order for an option to be into view.\n * @param optionOffset Offset of the option from the top of the panel.\n * @param optionHeight Height of the options.\n * @param currentScrollPosition Current scroll position of the panel.\n * @param panelHeight Height of the panel.\n * @docs-private\n */\nexport function _getOptionScrollPosition(\n optionOffset: number,\n optionHeight: number,\n currentScrollPosition: number,\n panelHeight: number,\n): number {\n if (optionOffset < currentScrollPosition) {\n return optionOffset;\n }\n\n if (optionOffset + optionHeight > currentScrollPosition + panelHeight) {\n return Math.max(0, optionOffset - panelHeight + optionHeight);\n }\n\n return currentScrollPosition;\n}\n","<novo-pseudo-checkbox *ngIf=\"selectable && multiple\" class=\"novo-option-pseudo-checkbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\" [disabled]=\"disabled\"></novo-pseudo-checkbox>\n\n<span class=\"novo-option-text\">\n <ng-content></ng-content>\n</span>\n\n<novo-pseudo-checkbox *ngIf=\"selectable && !multiple && selected\" class=\"novo-option-pseudo-checkbox\" state=\"checked\"\n shape=\"line\"\n [disabled]=\"disabled\"></novo-pseudo-checkbox>\n\n<ng-content select=\"[novoSuffix]\"></ng-content>\n<!-- See a11y notes inside optgroup.ts for context behind this element. -->\n<span class=\"cdk-visually-hidden\" *ngIf=\"group && group._novoInert\">({{ group.label }})</span>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NovoPseudoCheckboxModule } from '../selection/index';\nimport { NovoOptgroup } from './optgroup.component';\nimport { NovoOption } from './option.component';\n\n@NgModule({\n imports: [CommonModule, NovoPseudoCheckboxModule],\n exports: [NovoOption, NovoOptgroup],\n declarations: [NovoOption, NovoOptgroup],\n})\nexport class NovoOptionModule {}\n\nexport * from './optgroup.component';\nexport * from './option-parent';\nexport * from './option.component';\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { BooleanInput } from 'novo-elements/utils';\nimport { TypographyLength, TypographySize, TypographyWeight } from '../text.types';\n\n@Directive()\nexport class NovoBaseTextElement {\n @Input()\n size: TypographySize;\n @Input()\n weight: TypographyWeight;\n @Input()\n lineLength: TypographyLength;\n @Input()\n color: string;\n\n @HostBinding('class')\n get hb_classBinding(): string {\n return [\n this.color ? `text-color-${this.color}` : null,\n this.lineLength ? `text-length-${this.lineLength}` : null,\n this.size ? `text-size-${this.size}` : null,\n this.weight ? `text-weight-${this.weight}` : null,\n ]\n .filter(Boolean)\n .join(' ');\n }\n\n @HostBinding('class.text-disabled')\n @Input()\n @BooleanInput()\n disabled: boolean;\n\n @HostBinding('class.text-color-empty')\n @Input()\n @BooleanInput()\n muted: boolean;\n\n @HostBinding('class.text-color-negative')\n @Input()\n @BooleanInput()\n error: boolean;\n\n @HostBinding('class.margin-before')\n @Input()\n @BooleanInput()\n marginBefore: boolean;\n\n @HostBinding('class.margin-after')\n @Input()\n @BooleanInput()\n marginAfter: boolean;\n\n @HostBinding('class.text-capitialize')\n @Input()\n @BooleanInput()\n capitialize: boolean;\n\n @HostBinding('class.text-uppercase')\n @Input()\n @BooleanInput()\n uppercase: boolean;\n\n @HostBinding('class.text-nowrap')\n @Input()\n @BooleanInput()\n nowrap: boolean;\n\n @HostBinding('class.text-ellipsis')\n @Input()\n @BooleanInput()\n ellipsis: boolean;\n\n @HostBinding('class.text-size-smaller')\n @Input()\n @BooleanInput()\n smaller: boolean;\n\n @HostBinding('class.text-size-larger')\n @Input()\n @BooleanInput()\n larger: boolean;\n\n @HostBinding('class.text-weight-thin')\n @Input()\n @BooleanInput()\n thin: boolean;\n\n @HostBinding('class.text-weight-lighter')\n @Input()\n @BooleanInput()\n lighter: boolean;\n\n @HostBinding('class.text-weight-light')\n @Input()\n @BooleanInput()\n light: boolean;\n\n @HostBinding('class.text-weight-medium')\n @Input()\n @BooleanInput()\n medium: boolean;\n\n @HostBinding('class.text-weight-bold')\n @Input()\n @BooleanInput()\n bold: boolean;\n\n @HostBinding('class.text-weight-bolder')\n @Input()\n @BooleanInput()\n bolder: boolean;\n\n @HostBinding('class.text-weight-extrabold')\n @Input()\n @BooleanInput()\n extrabold: boolean;\n\n constructor(public element: ElementRef) {}\n\n get nativeElement() {\n return this.element.nativeElement;\n }\n}\n","// NG2\nimport { Component } from '@angular/core';\nimport { NovoBaseTextElement } from '../base/base-text.component';\n\n/**\n * Tag Example\n * <novo-title size=\"sm\" disabled>Label</novo-title\n * <novo-title small disabled>Label</novo-title>\n * <novo-title large disabled>Label</novo-title>\n * <novo-title error>Label</novo-title>\n * <novo-title muted>Label</novo-title>\n * <novo-title class=\"tc-grapefruit\">Label</novo-title>\n * <novo-title color=\"grapefruit\">Label</novo-title>\n */\n\n@Component({\n selector: 'novo-caption,[novo-caption]',\n template: ' <ng-content></ng-content> ',\n styleUrls: ['./caption.scss'],\n host: {\n class: 'novo-caption',\n },\n standalone: false,\n})\nexport class NovoCaption extends NovoBaseTextElement {}\n","// NG2\nimport { Component, HostBinding, input, OnInit } from '@angular/core';\nimport { NovoBaseTextElement } from '../base/base-text.component';\n\n/**\n * Tag Example\n * <novo-label size=\"sm\" disabled>Label</novo-label\n * <novo-label small disabled>Label</novo-label>\n * <novo-label large disabled>Label</novo-label>\n * <novo-label error>Label</novo-label>\n * <novo-label muted>Label</novo-label>\n * <novo-label class=\"tc-grapefruit\">Label</novo-label>\n * <novo-label color=\"grapefruit\">Label</novo-label>\n */\n\nlet nextId = 0;\n\n@Component({\n selector: 'novo-label,[novo-label]',\n template: ' <ng-content></ng-content> ',\n styleUrls: ['./label.scss'],\n host: {\n class: 'novo-label',\n },\n standalone: false,\n})\nexport class NovoLabel extends NovoBaseTextElement implements OnInit{\n @HostBinding('attr.id')\n public id: string;\n\n inputId = input(null, { alias: 'id' });\n\n ngOnInit() {\n this.id = this.inputId() || `novo-label-${++nextId}`;\n }\n}\n\n","// NG2\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\nimport { NovoBaseTextElement } from '../base/base-text.component';\n\n/**\n * Tag Example\n * <novo-text size=\"small\" disabled>Label</novo-text\n * <novo-text small disabled>Label</novo-text>\n * <novo-text large disabled>Label</novo-text>\n * <novo-text error>Label</novo-text>\n * <novo-text muted>Label</novo-text>\n * <novo-text class=\"tc-grapefruit\">Label</novo-text>\n * <novo-text color=\"grapefruit\">Label</novo-text>\n */\n\n@Component({\n selector: 'novo-link',\n template: '<a [attr.href]=\"href\"><ng-content></ng-content></a>',\n styleUrls: ['./link.scss'],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'novo-link',\n },\n standalone: false,\n})\nexport class NovoLink extends NovoBaseTextElement {\n @Input()\n href: string;\n}\n","// NG2\nimport { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { BooleanInput } from 'novo-elements/utils';\nimport { NovoBaseTextElement } from '../base/base-text.component';\n\n/**\n * Tag Example\n * <novo-text size=\"small\" disabled>Label</novo-text\n * <novo-text small disabled>Label</novo-text>\n * <novo-text large disabled>Label</novo-text>\n * <novo-text error>Label</novo-text>\n * <novo-text muted>Label</novo-text>\n * <novo-text class=\"tc-grapefruit\">Label</novo-text>\n * <novo-text color=\"grapefruit\">Label</novo-text>\n */\n\n@Component({\n selector: 'novo-text,[novo-text]',\n template: ' <ng-content></ng-content> ',\n styleUrls: ['./text.scss'],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'novo-text',\n },\n standalone: false,\n})\nexport class NovoText extends NovoBaseTextElement {\n @HostBinding('class.text-block')\n @Input()\n @BooleanInput()\n block: boolean;\n}\n","// NG2\nimport { Component } from '@angular/core';\nimport { NovoBaseTextElement } from '../base/base-text.component';\nimport { TypographyWeight } from '../text.types';\n\n/**\n * Tag Example\n * <novo-title size=\"sm\" disabled>Label</novo-title\n * <novo-title small disabled>Label</novo-title>\n * <novo-title large disabled>Label</novo-title>\n * <novo-title error>Label</novo-title>\n * <novo-title muted>Label</novo-title>\n * <novo-title class=\"tc-grapefruit\">Label</novo-title>\n * <novo-title color=\"grapefruit\">Label</novo-title>\n */\n\n@Component({\n selector: 'novo-title,[novo-title]',\n template: ' <ng-content></ng-content> ',\n styleUrls: ['./title.scss'],\n host: {\n class: 'novo-title',\n },\n standalone: false,\n})\nexport class NovoTitle extends NovoBaseTextElement {\n weight: TypographyWeight = 'medium';\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AccentColorDirective } from './directives/accent.directive';\nimport { BackgroundColorDirective } from './directives/bg.directive';\nimport { BorderDirective } from './directives/border.directive';\nimport { TextColorDirective } from './directives/color.directive';\nimport { FillColorDirective } from './directives/fill.directive';\nimport { FlexDirective } from './directives/flex.directive';\nimport { GapDirective, MarginDirective, PaddingDirective } from './directives/space.directive';\nimport { SwitchCasesDirective } from './directives/switch-cases.directive';\nimport { ThemeColorDirective } from './directives/theme.directive';\nimport { VisibleDirective } from './directives/visible.directive';\nimport { NovoTemplate } from './novo-template/novo-template.directive';\nimport { NovoOptionModule } from './option';\nimport { NovoCaption } from './typography/caption/caption.component';\nimport { NovoLabel } from './typography/label/label.component';\nimport { NovoLink } from './typography/link/link.component';\nimport { NovoText } from './typography/text/text.component';\nimport { NovoTitle } from './typography/title/title.component';\n\n@NgModule({\n imports: [CommonModule, NovoOptionModule],\n exports: [\n NovoTemplate,\n NovoText,\n NovoTitle,\n NovoCaption,\n NovoLabel,\n NovoLink,\n MarginDirective,\n PaddingDirective,\n BackgroundColorDirective,\n TextColorDirective,\n BorderDirective,\n GapDirective,\n AccentColorDirective,\n FillColorDirective,\n FlexDirective,\n ThemeColorDirective,\n SwitchCasesDirective,\n VisibleDirective,\n ],\n declarations: [\n NovoTemplate,\n NovoText,\n NovoTitle,\n NovoCaption,\n NovoLabel,\n NovoLink,\n MarginDirective,\n PaddingDirective,\n BackgroundColorDirective,\n TextColorDirective,\n BorderDirective,\n GapDirective,\n AccentColorDirective,\n FillColorDirective,\n FlexDirective,\n ThemeColorDirective,\n SwitchCasesDirective,\n VisibleDirective,\n ],\n})\nexport class NovoCommonModule {}\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroupDirective, NgForm } from '@angular/forms';\n\n/** Error state matcher that matches when a control is invalid and dirty. */\n@Injectable()\nexport class ShowOnDirtyErrorStateMatcher implements ErrorStateMatcher {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return !!(control && control.invalid && (control.dirty || (form && form.submitted)));\n }\n}\n\n/** Provider that defines how form controls behave with regards to displaying error messages. */\n@Injectable({ providedIn: 'root' })\nexport class ErrorStateMatcher {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return !!(control && control.invalid && (control.touched || (form && form.submitted)));\n }\n}\n","import { Constructor } from './constructor';\nimport { HasElementRef } from './types';\n\n/** @docs-private */\nexport interface CanColor {\n /** Theme color palette for the component. */\n color: ThemePalette;\n\n /** Default color to fall back to if no value is set. */\n defaultColor: ThemePalette | undefined;\n}\n\n/** @docs-private */\nexport type CanColorCtor = Constructor<CanColor>;\n\n/** Possible color palette values. */\nexport type ThemePalette = 'primary' | 'accent' | 'warn' | undefined;\n\n/** Mixin to augment a directive with a `color` property. */\nexport function mixinColor<T extends Constructor<HasElementRef>>(base: T, defaultColor?: ThemePalette): CanColorCtor & T {\n return class extends base {\n private _color: ThemePalette;\n defaultColor = defaultColor;\n\n get color(): ThemePalette {\n return this._color;\n }\n set color(value: ThemePalette) {\n const colorPalette = value || this.defaultColor;\n\n if (colorPalette !== this._color) {\n if (this._color) {\n this._elementRef.nativeElement.classList.remove(`novo-color-${this._color}`);\n }\n if (colorPalette) {\n this._elementRef.nativeElement.classList.add(`novo-color-${colorPalette}`);\n }\n\n this._color = colorPalette;\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n\n // Set the default color that can be specified from the mixin.\n this.color = defaultColor;\n }\n };\n}\n","import { FormControl, FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { ErrorStateMatcher } from '../error/error-options';\nimport { Constructor } from './constructor';\n\n/** @docs-private */\nexport interface CanUpdateErrorState {\n updateErrorState(): void;\n readonly stateChanges: Subject<void>;\n errorState: boolean;\n errorStateMatcher: ErrorStateMatcher;\n}\n\n/** @docs-private */\nexport type CanUpdateErrorStateCtor = Constructor<CanUpdateErrorState>;\n\n/** @docs-private */\nexport interface HasErrorState {\n _parentFormGroup: FormGroupDirective;\n _parentForm: NgForm;\n _defaultErrorStateMatcher: ErrorStateMatcher;\n ngControl: NgControl;\n}\n\n/**\n * Mixin to augment a directive with updateErrorState method.\n * For component with `errorState` and need to update `errorState`.\n */\nexport function mixinErrorState<T extends Constructor<HasErrorState>>(base: T): CanUpdateErrorStateCtor & T {\n return class extends base {\n /** Whether the component is in an error state. */\n errorState: boolean = false;\n\n /**\n * Stream that emits whenever the state of the input changes such that the wrapping\n * `MatFormField` needs to run change detection.\n */\n readonly stateChanges = new Subject<void>();\n\n errorStateMatcher: ErrorStateMatcher;\n\n updateErrorState() {\n const oldState = this.errorState;\n const parent = this._parentFormGroup || this._parentForm;\n const matcher = this.errorStateMatcher || this._defaultErrorStateMatcher;\n const control = this.ngControl ? (this.ngControl.control as FormControl) : null;\n const newState = matcher.isErrorState(control, parent);\n\n if (newState !== oldState) {\n this.errorState = newState;\n this.stateChanges.next();\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n };\n}\n","import { InjectionToken } from '@angular/core';\nimport { NovoOverlayTemplateComponent } from '../overlay';\nimport { AbstractConstructor, Constructor } from './constructor';\nimport { CanDisable } from './disabled.mixin';\n\n/** @docs-private */\nexport interface HasOverlay {\n overlay: NovoOverlayTemplateComponent;\n readonly panelOpen: boolean;\n\n openPanel(): void;\n closePanel(): void;\n togglePanel(): void;\n}\n\nexport const NOVO_OVERLAY_CONTAINER = new InjectionToken<HasOverlay>('NovoOverlayContainer');\n\n/** @docs-private */\nexport type HasOverlayCtor = Constructor<HasOverlay>;\n\n/** Mixin to augment a directive with a `overlay` property. */\nexport function mixinOverlay<T extends AbstractConstructor<CanDisable>>(base: T): HasOverlayCtor & T {\n // Note: We cast `base` to `unknown` and then `Constructor`. It could be an abstract class,\n // but given we `extend` it from another class, we can assume a constructor being accessible.\n abstract class Mixin extends (base as unknown as Constructor<CanDisable>) {\n abstract overlay: NovoOverlayTemplateComponent;\n\n constructor(...args: any[]) {\n super(...args); // eslint-disable-line\n }\n\n openPanel(): void {\n if (!this.disabled) {\n this.overlay.openPanel();\n }\n }\n\n closePanel(): void {\n this.overlay.closePanel();\n }\n\n togglePanel(): void {\n if (this.panelOpen) {\n this.closePanel();\n } else {\n this.openPanel();\n }\n }\n\n get panelOpen(): boolean {\n return this.overlay && this.overlay.panelOpen;\n }\n }\n\n // Since we don't directly extend from `base` with it's original types, and we instruct\n // TypeScript that `T` actually is instantiatable through `new`, the types don't overlap.\n // This is a limitation in TS as abstract classes cannot be typed properly dynamically.\n return Mixin as unknown as T & Constructor<HasOverlay>;\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Constructor } from './constructor';\n\n/** @docs-private */\nexport interface CanRequire {\n /** Whether the component is required. */\n required: boolean;\n}\n\n/** @docs-private */\nexport type CanRequireCtor = Constructor<CanRequire>;\n\n/** Mixin to augment a directive with a `required` property. */\nexport function mixinRequired<T extends Constructor<{}>>(base: T): CanRequireCtor & T {\n return class extends base {\n private _required: boolean = false;\n\n get required() {\n return this._required;\n }\n set required(value: any) {\n this._required = coerceBooleanProperty(value);\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n };\n}\n","import { Constructor } from './constructor';\nimport { HasElementRef } from './types';\n\n/** Possible size palette values. */\nexport type ElementSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'body' | undefined;\n\n/** @docs-private */\nexport interface CanSize {\n /** Theme size palette for the component. */\n size: ElementSize;\n\n /** Default size to fall back to if no value is set. */\n defaultSize: ElementSize | undefined;\n}\n\n/** @docs-private */\nexport type CanSizeCtor = Constructor<CanSize>;\n\n/** Mixin to augment a directive with a `size` property. */\nexport function mixinSize<T extends Constructor<HasElementRef>>(base: T, defaultSize?: ElementSize): CanSizeCtor & T {\n return class extends base {\n private _size: ElementSize;\n defaultSize = defaultSize;\n\n get size(): ElementSize {\n return this._size;\n }\n set size(value: ElementSize) {\n const size = value || this.defaultSize;\n if (size !== this._size) {\n if (this._size) {\n this._elementRef.nativeElement.classList.remove(`novo-size-${this._size}`);\n }\n if (size) {\n this._elementRef.nativeElement.classList.add(`novo-size-${size}`);\n }\n\n this._size = size;\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n // Set the default size that can be specified from the mixin.\n this.size = defaultSize;\n }\n };\n}\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { AbstractConstructor, Constructor } from './constructor';\nimport { CanDisable } from './disabled.mixin';\n\n/** @docs-private */\nexport interface HasTabIndex {\n /** Tabindex of the component. */\n tabIndex: number;\n\n /** Tabindex to which to fall back to if no value is set. */\n defaultTabIndex: number;\n}\n\n/** @docs-private */\nexport type HasTabIndexCtor = Constructor<HasTabIndex>;\n\n/** Mixin to augment a directive with a `tabIndex` property. */\nexport function mixinTabIndex<T extends AbstractConstructor<CanDisable>>(base: T, defaultTabIndex = 0): HasTabIndexCtor & T {\n // Note: We cast `base` to `unknown` and then `Constructor`. It could be an abstract class,\n // but given we `extend` it from another class, we can assume a constructor being accessible.\n abstract class Mixin extends (base as unknown as Constructor<CanDisable>) {\n private _tabIndex: number = defaultTabIndex;\n defaultTabIndex = defaultTabIndex;\n\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? coerceNumberProperty(value) : this.defaultTabIndex;\n }\n\n constructor(...args: any[]) {\n super(...args); // eslint-disable-line\n }\n }\n\n // Since we don't directly extend from `base` with it's original types, and we instruct\n // TypeScript that `T` actually is instantiatable through `new`, the types don't overlap.\n // This is a limitation in TS as abstract classes cannot be typed properly dynamically.\n return Mixin as unknown as T & Constructor<HasTabIndex>;\n}\n","// Angular\nimport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n HorizontalConnectionPos,\n Overlay,\n OverlayConfig,\n OverlayContainer,\n OverlayRef,\n ScrollStrategy,\n VerticalConnectionPos,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n inject,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n// Vendor\nimport { Helpers } from 'novo-elements/utils';\nimport { fromEvent, merge, Observable, of as observableOf, Subscription } from 'rxjs';\nimport { filter, first, switchMap } from 'rxjs/operators';\n\n@Component({\n selector: 'novo-overlay-template',\n styleUrls: ['Overlay.scss'],\n template: `\n <ng-template>\n <div class=\"novo-overlay-panel\" role=\"listbox\" [id]=\"id\" #panel><ng-content></ng-content></div>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class NovoOverlayTemplateComponent implements OnDestroy {\n public id: string = `novo-overlay-${Date.now()}`;\n\n @ViewChild(TemplateRef)\n public template: TemplateRef<any>;\n @ViewChild('panel')\n public panel: ElementRef;\n\n @Input()\n public position:\n | 'default'\n | 'right'\n | 'above-below'\n | 'right-above-below'\n | 'center'\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right'\n | 'top-left'\n | 'top-right' = 'default';\n @Input()\n public scrollStrategy: 'reposition' | 'block' | 'close' = 'reposition';\n @Input()\n public width: number;\n @Input()\n public minWidth: number;\n @Input()\n public height: number;\n @Input()\n public closeOnSelect: boolean = true;\n @Input()\n public hasBackdrop: boolean = false;\n\n @Output()\n public select: EventEmitter<any> = new EventEmitter();\n @Output()\n public opening: EventEmitter<any> = new EventEmitter();\n @Output()\n public closing: EventEmitter<any> = new EventEmitter();\n @Output()\n public backDropClicked: EventEmitter<any> = new EventEmitter();\n\n public overlayRef: OverlayRef | null;\n public portal: TemplatePortal<any>;\n\n // The subscription for closing actions (some are bound to document)\n protected closingActionsSubscription: Subscription;\n private _parent: ElementRef;\n private overlayContainer: OverlayContainer = inject(OverlayContainer);\n private overlayContext: string;\n\n constructor(\n protected overlay: Overlay,\n protected viewContainerRef: ViewContainerRef,\n protected zone: NgZone,\n protected changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(DOCUMENT)\n protected document: any,\n ) {}\n\n public ngOnDestroy(): void {\n this.destroyOverlay();\n }\n\n get panelOpen(): boolean {\n return this.overlayRef?.hasAttached();\n }\n\n @Input()\n public set parent(value: ElementRef) {\n this._parent = value;\n this.checkSizes();\n }\n\n public get parent(): ElementRef {\n return this._parent;\n }\n\n public openPanel(): void {\n if (!this.overlayRef) {\n this.createOverlay(this.template);\n } else {\n this.checkSizes();\n }\n if (this.overlayRef && !this.overlayRef.hasAttached()) {\n this.overlayRef.attach(this.portal);\n this.closingActionsSubscription = this.subscribeToClosingActions();\n }\n this.changeDetectorRef.markForCheck();\n setTimeout(() => {\n if (this.overlayRef) {\n if (this.overlayContainer.getContainerElement()?.attributes.getNamedItem('novoContext')) {\n this.overlayContext = this.overlayContainer.getContainerElement().attributes.getNamedItem('novoContext').value;\n }\n this.overlayRef.updatePosition();\n this.opening.emit(true);\n setTimeout(() => {\n // TODO: @charlesabarnes Remove this once we remove table\n if (this.overlayRef) {\n this.overlayRef.updatePosition();\n }\n });\n }\n });\n }\n\n public closePanel(): void {\n this.zone.run(() => {\n if (this.overlayRef?.hasAttached()) {\n this.overlayRef.detach();\n this.closingActionsSubscription.unsubscribe();\n }\n this.closing.emit(false);\n if (this.panelOpen) {\n this.changeDetectorRef.markForCheck();\n }\n });\n }\n\n public onClosingAction(event: any): void {\n this.closePanel();\n }\n\n /**\n * A stream of actions that should close the panel, including\n * when an option is selected, on blur, and when TAB is pressed.\n */\n public get panelClosingActions(): Observable<any> {\n return merge(\n this.outsideClickStream,\n );\n }\n\n /** Stream of clicks outside of the panel. */\n protected get outsideClickStream(): Observable<any> {\n if (!this.document) {\n return observableOf();\n }\n\n return merge(fromEvent(this.document, 'mouseup'), fromEvent(this.document, 'touchend')).pipe(\n filter((event: MouseEvent | TouchEvent) => {\n const clickTarget: HTMLElement = event.target as HTMLElement;\n const clickedOutside: boolean =\n this.panelOpen &&\n clickTarget !== this.getConnectedElement().nativeElement &&\n this.isInDocument(clickTarget) &&\n !this.getConnectedElement().nativeElement.contains(clickTarget) &&\n (!!this.overlayRef && !this.overlayRef.overlayElement.contains(clickTarget)) &&\n this.elementIsInContext(clickTarget) &&\n !this.elementIsInNestedOverlay(clickTarget);\n if (this.panelOpen && !!this.overlayRef && this.overlayRef.overlayElement.contains(clickTarget) && this.closeOnSelect) {\n this.select.emit(event);\n }\n return clickedOutside;\n }),\n );\n }\n\n private isInDocument(node: Node): boolean {\n return node.getRootNode().nodeType === Node.DOCUMENT_NODE;\n }\n\n /**\n * This method listens to a stream of panel closing actions and resets the\n * stream every time the option list changes.\n */\n protected subscribeToClosingActions(): Subscription {\n const firstStable: Observable<any> = this.zone.onStable.asObservable().pipe(first());\n // When the zone is stable initially, and when the option list changes...\n return (\n merge(firstStable)\n .pipe(\n // create a new stream of panelClosingActions, replacing any previous streams\n // that were created, and flatten it so our stream only emits closing events...\n switchMap(() => {\n return this.panelClosingActions;\n }),\n // when the first closing event occurs...\n first(),\n )\n // set the value, close the panel, and complete.\n .subscribe((event: any) => this.onClosingAction(event))\n );\n }\n\n protected createOverlay(template: TemplateRef<any>): void {\n this.portal = new TemplatePortal(template, this.viewContainerRef);\n this.overlayRef = this.overlay.create(this.getOverlayConfig());\n this.overlayRef.backdropClick().subscribe(() => {\n this.backDropClicked.emit(true);\n this.closePanel();\n });\n }\n\n protected destroyOverlay(): void {\n if (this.overlayRef) {\n this.closePanel();\n this.overlayRef.dispose();\n this.overlayRef = undefined;\n }\n }\n\n protected getOverlayConfig(): OverlayConfig {\n const config: OverlayConfig = new OverlayConfig();\n\n if (!this.width) {\n config.width = this.getHostWidth();\n } else {\n config.width = this.width;\n }\n\n if (this.minWidth) {\n config.minWidth = this.minWidth;\n }\n\n if (this.height) {\n config.height = this.height;\n }\n\n config.positionStrategy = this.getPosition();\n config.hasBackdrop = this.hasBackdrop;\n config.direction = 'ltr';\n config.scrollStrategy = this.getScrollStrategy();\n\n return config;\n }\n\n /**\n * Supports the following position strategies:\n * 'default', 'right', 'bottom', 'center', 'bottom-left', 'bottom-right', 'top-left', 'top-right'\n */\n protected getPosition(): FlexibleConnectedPositionStrategy {\n if (this.position === 'center') {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.getConnectedElement())\n .withFlexibleDimensions(false)\n .withPositions([\n { originX: 'start', originY: 'center', overlayX: 'start', overlayY: 'center' },\n { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'top' },\n { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'bottom' },\n ]);\n }\n\n const [originX, fallbackX]: HorizontalConnectionPos[] = this.position.includes('right') ? ['end', 'start'] : ['start', 'end'];\n const [originY, overlayY]: VerticalConnectionPos[] = this.position.includes('top') ? ['top', 'bottom'] : ['bottom', 'top'];\n const defaultPosition: ConnectedPosition = { originX, originY, overlayX: originX, overlayY };\n let strategy: FlexibleConnectedPositionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.getConnectedElement())\n .withFlexibleDimensions(false)\n .withPositions([defaultPosition]);\n if (this.position === 'bottom') {\n strategy = strategy.withPositions([defaultPosition, { originX: fallbackX, originY: 'bottom', overlayX: fallbackX, overlayY: 'top' }]);\n } else if (this.position === 'right' || this.position === 'default' || this.position.includes('above-below')) {\n strategy = strategy.withPositions([\n defaultPosition,\n { originX, originY: 'top', overlayX: originX, overlayY: 'bottom' },\n { originX: fallbackX, originY: 'bottom', overlayX: fallbackX, overlayY: 'top' },\n { originX: fallbackX, originY: 'top', overlayX: fallbackX, overlayY: 'bottom' },\n ]);\n if (!this.position.includes('above-below')) {\n strategy = strategy.withPositions([\n defaultPosition,\n { originX, originY: 'center', overlayX: originX, overlayY: 'center' },\n { originX: fallbackX, originY: 'center', overlayX: fallbackX, overlayY: 'center' },\n ]);\n }\n }\n return strategy;\n }\n\n protected getScrollStrategy(): ScrollStrategy {\n switch (this.scrollStrategy) {\n case 'block':\n return this.overlay.scrollStrategies.block();\n case 'reposition':\n return this.overlay.scrollStrategies.reposition();\n default:\n return this.overlay.scrollStrategies.close();\n }\n }\n\n protected checkSizes(): void {\n if (this.overlayRef) {\n if (!this.width) {\n this.overlayRef.getConfig().width = this.getHostWidth();\n }\n if (this.minWidth) {\n this.overlayRef.getConfig().minWidth = this.minWidth;\n }\n if (this.height) {\n this.overlayRef.getConfig().height = this.height;\n }\n this.overlayRef.updateSize(this.overlayRef.getConfig());\n this.overlayRef.updatePosition();\n this.changeDetectorRef.markForCheck();\n }\n }\n\n protected getConnectedElement(): ElementRef {\n return this.parent;\n }\n\n private elementIsInContext(el) {\n // this is to support multiple overlay contexts\n if (this.overlayContext) {\n while (el.parentNode) {\n if (el.localName === this.overlayContext) {\n return true;\n }\n el = el.parentNode;\n }\n return false;\n }\n return true;\n }\n\n protected elementIsInNestedOverlay(el): boolean {\n while (el.parentNode) {\n if (Helpers.isString(el.id) &&\n (el.id?.includes('novo-overlay-') || el.id?.includes('modal-container-'))) {\n // checking to see if the current overlay is newer (in front of the parent overlay)\n // example text novo-overlay-1666291728835\n return this.id.split('-')[2] < el.id.split('-')[2];\n }\n el = el.parentNode;\n }\n return false;\n }\n\n protected getHostWidth(): number {\n return this.getConnectedElement().nativeElement.getBoundingClientRect().width;\n }\n\n public isBlurRecipient(event: FocusEvent): boolean {\n if (!this.overlayRef || !event.relatedTarget) {\n return false;\n }\n return this.overlayRef.overlayElement.contains(event.relatedTarget as HTMLElement);\n }\n}\n","// NG2\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// APP\nimport { NovoOverlayTemplateComponent } from './Overlay';\n\n@NgModule({\n imports: [CommonModule, FormsModule, OverlayModule, ScrollingModule],\n declarations: [NovoOverlayTemplateComponent],\n exports: [NovoOverlayTemplateComponent, ScrollingModule],\n})\nexport class NovoOverlayModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NovoTheme","isValidColor","__decorate","i2","i3.NovoPseudoCheckbox","observableOf"],"mappings":"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"}
|