novo-elements 13.1.0 → 13.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/addons/ckeditor/index.d.ts +3 -1
- package/elements/agenda/common/AgendaDateChange.scss +3 -3
- package/elements/agenda/common/AgendaHoursLayout.scss +2 -2
- package/elements/agenda/day/AgendaDayView.scss +3 -3
- package/elements/agenda/month/AgendaMonthView.scss +8 -8
- package/elements/agenda/week/AgendaWeekView.scss +4 -4
- package/elements/aside/aside.component.scss +17 -2
- package/elements/aside/index.d.ts +16 -8
- package/elements/autocomplete/autocomplete.component.scss +4 -0
- package/elements/avatar/Avatar.scss +2 -2
- package/elements/breadcrumbs/Breadcrumb.scss +5 -0
- package/elements/breadcrumbs/breadcrumb-item/BreadcrumbItem.scss +3 -3
- package/elements/button/styles/button-dialogue.scss +6 -5
- package/elements/button/styles/button-fab.scss +1 -1
- package/elements/button/styles/button-icon.scss +5 -5
- package/elements/button/styles/button-other.scss +5 -5
- package/elements/button/styles/button-primary.scss +11 -9
- package/elements/button/styles/button-secondary.scss +9 -9
- package/elements/button/styles/button-standard.scss +2 -2
- package/elements/button/styles/button.scss +18 -12
- package/elements/calendar/calendar.component.scss +13 -13
- package/elements/calendar/month-select/month-select.component.scss +3 -3
- package/elements/calendar/month-view/month-view.component.scss +7 -7
- package/elements/calendar/year-select/year-select.component.scss +3 -3
- package/elements/card/Card.scss +47 -12
- package/elements/card/CardContent.scss +1 -1
- package/elements/card/CardFooter.scss +2 -2
- package/elements/card/CardHeader.scss +2 -2
- package/elements/category-dropdown/CategoryDropdown.scss +9 -9
- package/elements/checkbox/CheckList.scss +3 -3
- package/elements/checkbox/Checkbox.scss +3 -3
- package/elements/chips/Chip.scss +17 -17
- package/elements/chips/Chips.scss +9 -9
- package/elements/chips/RowChips.scss +2 -2
- package/elements/chips/index.d.ts +3 -1
- package/elements/color-picker/color-picker.component.scss +1 -1
- package/elements/common/index.d.ts +11 -3
- package/elements/common/option/option.component.scss +14 -19
- package/elements/common/selection/pseudo-checkbox/pseudo-checkbox.component.scss +2 -2
- package/elements/common/typography/text.mixins.scss +19 -19
- package/elements/data-table/data-table.component.scss +32 -23
- package/elements/data-table/index.d.ts +2 -1
- package/elements/data-table/pagination/data-table-pagination.component.scss +6 -6
- package/elements/date-picker/DatePicker.scss +23 -18
- package/elements/date-picker/DatePickerInput.scss +5 -5
- package/elements/date-picker/DateRangeInput.scss +1 -1
- package/elements/date-picker/MultiDateInput.scss +2 -2
- package/elements/date-time-picker/_DateTimePicker.scss +5 -5
- package/elements/divider/divider.component.scss +3 -3
- package/elements/dropdown/Dropdown.scss +4 -4
- package/elements/expansion/_expansion-theme.scss +1 -1
- package/elements/expansion/expansion-panel.scss +1 -0
- package/elements/field/error/error.scss +1 -1
- package/elements/field/field-fill.scss +4 -4
- package/elements/field/field-list.scss +4 -4
- package/elements/field/field-outline.scss +6 -6
- package/elements/field/field-standard.scss +3 -3
- package/elements/field/field.scss +14 -1
- package/elements/form/ControlGroup.scss +7 -7
- package/elements/form/Form.scss +40 -40
- package/elements/form/extras/address/Address.scss +6 -6
- package/elements/form/extras/file/FileInput.scss +4 -4
- package/elements/form/fieldset-header.scss +3 -3
- package/elements/form/index.d.ts +1 -1
- package/elements/header/Header.scss +17 -10
- package/elements/icon/Icon.scss +1 -1
- package/elements/layout/collapsible-nav/collapsible-nav.component.scss +20 -0
- package/elements/layout/index.d.ts +38 -5
- package/elements/list/list-item-content.scss +1 -1
- package/elements/list/list-item-header-avatar.scss +1 -1
- package/elements/list/list-item.scss +6 -6
- package/elements/loading/NovoSpinner.scss +1 -1
- package/elements/menu/menu-content.component.scss +7 -7
- package/elements/modal/modal.component.scss +16 -6
- package/elements/modal/notification.component.scss +26 -21
- package/elements/multi-picker/_MultiPicker.scss +2 -2
- package/elements/picker/Picker.scss +13 -13
- package/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.scss +14 -14
- package/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.scss +17 -17
- package/elements/picker/extras/picker-results/PickerResult.scss +1 -1
- package/elements/picker/extras/picker-results/PickerResults.scss +25 -21
- package/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.scss +3 -3
- package/elements/places/index.d.ts +24 -14
- package/elements/places/places.component.scss +3 -3
- package/elements/popover/PopOver.scss +2 -1
- package/elements/progress/Progress.scss +2 -2
- package/elements/progress/ProgressBar.scss +13 -3
- package/elements/query-builder/condition-builder/condition-builder.component.scss +1 -20
- package/elements/query-builder/index.d.ts +67 -35
- package/elements/radio/Radio.scss +8 -8
- package/elements/radio/radio-group.scss +2 -2
- package/elements/search/SearchBox.scss +8 -9
- package/elements/select/Select.scss +14 -14
- package/elements/select-search/select-search.component.scss +1 -1
- package/elements/simple-table/PaginationOld.scss +5 -5
- package/elements/simple-table/table.scss +15 -10
- package/elements/stepper/step-header.component.scss +9 -9
- package/elements/stepper/stepper.component.scss +25 -7
- package/elements/switch/Switch.scss +15 -7
- package/elements/tabbed-group-picker/TabbedGroupPicker.scss +17 -8
- package/elements/tabbed-group-picker/index.d.ts +27 -14
- package/elements/tabs/tab-nav.scss +3 -3
- package/elements/tabs/tab.scss +38 -5
- package/elements/tiles/Tiles.scss +10 -5
- package/elements/time-picker/TimePicker.scss +4 -4
- package/elements/time-picker/TimePickerInput.scss +1 -1
- package/elements/tip-well/TipWell.scss +5 -6
- package/elements/toast/Toast.scss +19 -18
- package/elements/toolbar/toolbar.component.scss +9 -6
- package/elements/tooltip/Tooltip.scss +6 -1
- package/elements/value/Value.scss +5 -4
- package/fesm2022/novo-elements-addons-ckeditor.mjs +22 -12
- package/fesm2022/novo-elements-addons-ckeditor.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-agenda.mjs +8 -8
- package/fesm2022/novo-elements-elements-agenda.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-aside.mjs +24 -9
- package/fesm2022/novo-elements-elements-aside.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-autocomplete.mjs +2 -2
- package/fesm2022/novo-elements-elements-autocomplete.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-avatar.mjs +4 -4
- package/fesm2022/novo-elements-elements-avatar.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-breadcrumbs.mjs +4 -4
- package/fesm2022/novo-elements-elements-breadcrumbs.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-button.mjs +2 -2
- package/fesm2022/novo-elements-elements-button.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-calendar.mjs +8 -8
- package/fesm2022/novo-elements-elements-calendar.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-card.mjs +8 -8
- package/fesm2022/novo-elements-elements-card.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-category-dropdown.mjs +2 -2
- package/fesm2022/novo-elements-elements-category-dropdown.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-checkbox.mjs +4 -4
- package/fesm2022/novo-elements-elements-checkbox.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-chips.mjs +12 -8
- package/fesm2022/novo-elements-elements-chips.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-color-picker.mjs +4 -4
- package/fesm2022/novo-elements-elements-color-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-common.mjs +61 -21
- package/fesm2022/novo-elements-elements-common.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-data-table.mjs +4 -4
- package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-date-picker.mjs +8 -8
- package/fesm2022/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-date-time-picker.mjs +2 -2
- package/fesm2022/novo-elements-elements-date-time-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-divider.mjs +2 -2
- package/fesm2022/novo-elements-elements-divider.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-dropdown.mjs +2 -2
- package/fesm2022/novo-elements-elements-dropdown.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-expansion.mjs +2 -2
- package/fesm2022/novo-elements-elements-expansion.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-field.mjs +6 -6
- package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-form.mjs +17 -15
- package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-header.mjs +2 -2
- package/fesm2022/novo-elements-elements-header.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-icon.mjs +2 -2
- package/fesm2022/novo-elements-elements-icon.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-layout.mjs +90 -9
- package/fesm2022/novo-elements-elements-layout.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-list.mjs +10 -10
- package/fesm2022/novo-elements-elements-list.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-loading.mjs +2 -2
- package/fesm2022/novo-elements-elements-loading.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-menu.mjs +2 -2
- package/fesm2022/novo-elements-elements-menu.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-modal.mjs +4 -4
- package/fesm2022/novo-elements-elements-modal.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-multi-picker.mjs +2 -2
- package/fesm2022/novo-elements-elements-multi-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-picker.mjs +14 -14
- package/fesm2022/novo-elements-elements-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-places.mjs +195 -187
- package/fesm2022/novo-elements-elements-places.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-popover.mjs +2 -2
- package/fesm2022/novo-elements-elements-popover.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-progress.mjs +4 -4
- package/fesm2022/novo-elements-elements-progress.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-query-builder.mjs +67 -19
- package/fesm2022/novo-elements-elements-query-builder.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-radio.mjs +4 -4
- package/fesm2022/novo-elements-elements-radio.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-search.mjs +2 -2
- package/fesm2022/novo-elements-elements-search.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-select.mjs +2 -2
- package/fesm2022/novo-elements-elements-select.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-simple-table.mjs +6 -6
- package/fesm2022/novo-elements-elements-simple-table.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-stepper.mjs +8 -8
- package/fesm2022/novo-elements-elements-stepper.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-switch.mjs +2 -2
- package/fesm2022/novo-elements-elements-switch.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs +70 -10
- package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tabs.mjs +6 -6
- package/fesm2022/novo-elements-elements-tabs.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tiles.mjs +2 -2
- package/fesm2022/novo-elements-elements-tiles.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-time-picker.mjs +4 -4
- package/fesm2022/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tip-well.mjs +2 -2
- package/fesm2022/novo-elements-elements-tip-well.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-toast.mjs +2 -2
- package/fesm2022/novo-elements-elements-toast.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-toolbar.mjs +2 -2
- package/fesm2022/novo-elements-elements-toolbar.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tooltip.mjs +2 -2
- package/fesm2022/novo-elements-elements-tooltip.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-services.mjs +1 -0
- package/fesm2022/novo-elements-services.mjs.map +1 -1
- package/fesm2022/novo-elements.mjs +14 -0
- package/fesm2022/novo-elements.mjs.map +1 -1
- package/index.d.ts +14 -0
- package/novo-elements.scss +7 -7
- package/package.json +2 -2
- package/services/index.d.ts +1 -0
- package/styles/base.scss +1 -0
- package/styles/content/code.scss +2 -2
- package/styles/content/forms.scss +2 -2
- package/styles/content/misc.scss +3 -3
- package/styles/content/range.scss +3 -3
- package/styles/iconography.scss +3 -3
- package/styles/themes/bh2026.scss +106 -0
- package/styles/themes/dark.scss +6 -1
- package/styles/themes/light.scss +4 -0
- package/styles/typography.scss +3 -3
- package/styles/variables.scss +6 -6
|
@@ -273,7 +273,7 @@ class NovoAutocompleteElement extends NovoAutocompleteMixins {
|
|
|
273
273
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: NovoAutocompleteElement, isStandalone: false, selector: "novo-autocomplete", inputs: { tabIndex: "tabIndex", triggerOn: "triggerOn", displayWith: "displayWith", ariaLabel: ["aria-label", "ariaLabel"], multiple: "multiple", disabled: "disabled", makeFirstItemActive: "makeFirstItemActive" }, outputs: { optionSelected: "optionSelected", optionActivated: "optionActivated" }, host: { properties: { "attr.tabindex": "disabled ? null : -1" }, classAttribute: "novo-autocomplete" }, providers: [
|
|
274
274
|
{ provide: NOVO_OPTION_PARENT_COMPONENT, useExisting: NovoAutocompleteElement },
|
|
275
275
|
{ provide: NOVO_OVERLAY_CONTAINER, useExisting: NovoAutocompleteElement },
|
|
276
|
-
], queries: [{ propertyName: "optionGroups", predicate: NovoOptgroup, descendants: true }, { propertyName: "options", predicate: NovoOption, descendants: true }], viewQueries: [{ propertyName: "overlay", first: true, predicate: NovoOverlayTemplateComponent, descendants: true }], exportAs: ["novoAutocomplete"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<novo-overlay-template [parent]=\"element\" position=\"above-below\">\n <div class=\"novo-autocomplete-options\" cdk-scrollable>\n <ng-content></ng-content>\n </div>\n</novo-overlay-template>", styles: [".novo-autocomplete-options{background-color:var(--background-bright);cursor:default;list-style:none;padding-inline-start:0px!important;box-shadow:0 -1px 3px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}\n"], dependencies: [{ kind: "component", type: i1.NovoOverlayTemplateComponent, selector: "novo-overlay-template", inputs: ["position", "scrollStrategy", "width", "minWidth", "height", "closeOnSelect", "hasBackdrop", "parent"], outputs: ["select", "opening", "closing", "backDropClicked"] }, { kind: "directive", type: i2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
276
|
+
], queries: [{ propertyName: "optionGroups", predicate: NovoOptgroup, descendants: true }, { propertyName: "options", predicate: NovoOption, descendants: true }], viewQueries: [{ propertyName: "overlay", first: true, predicate: NovoOverlayTemplateComponent, descendants: true }], exportAs: ["novoAutocomplete"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<novo-overlay-template [parent]=\"element\" position=\"above-below\">\n <div class=\"novo-autocomplete-options\" cdk-scrollable>\n <ng-content></ng-content>\n </div>\n</novo-overlay-template>", styles: [":host{border-radius:var(--border-radius-sm)}.novo-autocomplete-options{background-color:var(--background-bright);cursor:default;list-style:none;padding-inline-start:0px!important;box-shadow:0 -1px 3px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}\n"], dependencies: [{ kind: "component", type: i1.NovoOverlayTemplateComponent, selector: "novo-overlay-template", inputs: ["position", "scrollStrategy", "width", "minWidth", "height", "closeOnSelect", "hasBackdrop", "parent"], outputs: ["select", "opening", "closing", "backDropClicked"] }, { kind: "directive", type: i2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
277
277
|
}
|
|
278
278
|
__decorate([
|
|
279
279
|
BooleanInput(),
|
|
@@ -294,7 +294,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
|
|
|
294
294
|
}, providers: [
|
|
295
295
|
{ provide: NOVO_OPTION_PARENT_COMPONENT, useExisting: NovoAutocompleteElement },
|
|
296
296
|
{ provide: NOVO_OVERLAY_CONTAINER, useExisting: NovoAutocompleteElement },
|
|
297
|
-
], exportAs: 'novoAutocomplete', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<novo-overlay-template [parent]=\"element\" position=\"above-below\">\n <div class=\"novo-autocomplete-options\" cdk-scrollable>\n <ng-content></ng-content>\n </div>\n</novo-overlay-template>", styles: [".novo-autocomplete-options{background-color:var(--background-bright);cursor:default;list-style:none;padding-inline-start:0px!important;box-shadow:0 -1px 3px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}\n"] }]
|
|
297
|
+
], exportAs: 'novoAutocomplete', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<novo-overlay-template [parent]=\"element\" position=\"above-below\">\n <div class=\"novo-autocomplete-options\" cdk-scrollable>\n <ng-content></ng-content>\n </div>\n</novo-overlay-template>", styles: [":host{border-radius:var(--border-radius-sm)}.novo-autocomplete-options{background-color:var(--background-bright);cursor:default;list-style:none;padding-inline-start:0px!important;box-shadow:0 -1px 3px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}\n"] }]
|
|
298
298
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
299
299
|
type: Attribute,
|
|
300
300
|
args: ['tabindex']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"novo-elements-elements-autocomplete.mjs","sources":["../../../projects/novo-elements/src/elements/autocomplete/autocomplete.component.ts","../../../projects/novo-elements/src/elements/autocomplete/autocomplete.component.html","../../../projects/novo-elements/src/elements/autocomplete/autocomplete.module.ts","../../../projects/novo-elements/src/elements/autocomplete/novo-elements-elements-autocomplete.ts"],"sourcesContent":["import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey } from '@angular/cdk/keycodes';\nimport {\n AfterContentInit,\n AfterViewInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { fromEvent, interval, merge, of, Subscription } from 'rxjs';\nimport { debounce, take } from 'rxjs/operators';\nimport { BooleanInput, Key } from 'novo-elements/utils';\nimport type { NovoChipList } from 'novo-elements/elements/chips';\nimport {\n CanDisable,\n CanDisableCtor,\n HasOverlayCtor,\n mixinDisabled,\n mixinOverlay,\n NovoOptgroup,\n NovoOption,\n NovoOptionSelectionChange,\n NovoOverlayTemplateComponent,\n NOVO_OPTION_PARENT_COMPONENT,\n NOVO_OVERLAY_CONTAINER,\n} from 'novo-elements/elements/common';\nimport { NovoFieldControl, NovoFieldElement, NOVO_FORM_FIELD } from 'novo-elements/elements/field';\n\n/** Event object that is emitted when an autocomplete option is selected. */\nexport class NovoOptionSelectedEvent {\n constructor(\n /** Reference to the autocomplete panel that emitted the event. */\n public source: NovoAutocompleteElement,\n /** Option that was selected. */\n public option: NovoOption,\n ) {}\n}\n\n// Boilerplate for applying mixins\nclass NovoAutocompleteBase {\n constructor() {}\n}\nconst NovoAutocompleteMixins: HasOverlayCtor & CanDisableCtor & typeof NovoAutocompleteBase = mixinOverlay(\n mixinDisabled(NovoAutocompleteBase),\n);\n\n@Component({\n selector: 'novo-autocomplete',\n templateUrl: 'autocomplete.component.html',\n styleUrls: ['autocomplete.component.scss'],\n host: {\n class: 'novo-autocomplete',\n // Always set the tabindex to -1 so that it doesn't overlap with any custom tabindex the\n // consumer may have provided, while still being able to receive focus.\n '[attr.tabindex]': 'disabled ? null : -1',\n },\n providers: [\n { provide: NOVO_OPTION_PARENT_COMPONENT, useExisting: NovoAutocompleteElement },\n { provide: NOVO_OVERLAY_CONTAINER, useExisting: NovoAutocompleteElement },\n ],\n exportAs: 'novoAutocomplete',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class NovoAutocompleteElement\n extends NovoAutocompleteMixins\n implements CanDisable, AfterContentInit, AfterViewInit, OnChanges, OnDestroy\n{\n private _stateChanges = Subscription.EMPTY;\n private _activeOptionChanges = Subscription.EMPTY;\n private _selectedOptionChanges = Subscription.EMPTY;\n private _keyDownChanges = Subscription.EMPTY;\n\n /** Manages active item in option list based on key events. */\n private _keyManager: ActiveDescendantKeyManager<NovoOption>;\n\n /** Old value of the native input. Used to work around issues with the `input` event on IE. */\n private _previousValue: string | number | null;\n\n @ContentChildren(NovoOptgroup, { descendants: true }) optionGroups: QueryList<NovoOptgroup>;\n @ContentChildren(NovoOption, { descendants: true }) options: QueryList<NovoOption>;\n\n /** Event that is emitted whenever an option from the list is selected. */\n @Output() readonly optionSelected: EventEmitter<NovoOptionSelectedEvent> = new EventEmitter<NovoOptionSelectedEvent>();\n /** Emits whenever an option is activated using the keyboard. */\n @Output() readonly optionActivated: EventEmitter<NovoOptionSelectedEvent> = new EventEmitter<NovoOptionSelectedEvent>();\n\n /** Tabindex for the toggle. */\n @Input() tabIndex: number | null;\n\n /** Key to use to trigger autocomplete. used for textarea. */\n @Input() triggerOn: (control: NovoFieldControl<any>) => boolean = (control) => control.focused;\n\n /** Function that maps an option's control value to its display value in the trigger. */\n @Input() displayWith: ((value: any) => string) | null = null;\n\n /** Screenreader label for the button. */\n @Input('aria-label') ariaLabel: string;\n\n /** Whether the user should be allowed to select multiple options. */\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n private _multiple: boolean = false;\n\n /** Whether the toggle button is disabled. */\n @Input()\n @BooleanInput()\n get disabled(): boolean {\n if (this._disabled === undefined && this._formField?._control) {\n return this._formField._control.disabled;\n }\n return !!this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled: boolean;\n\n @Input()\n @BooleanInput()\n makeFirstItemActive: boolean;\n\n /** Element for the panel containing the autocomplete options. */\n @ViewChild(NovoOverlayTemplateComponent)\n overlay: NovoOverlayTemplateComponent;\n\n element: ElementRef;\n\n constructor(\n private _elementRef: ElementRef,\n private cdr: ChangeDetectorRef,\n @Attribute('tabindex') defaultTabIndex: string,\n @Optional() @Inject(NOVO_FORM_FIELD) private _formField: NovoFieldElement,\n ) {\n super();\n const parsedTabIndex = Number(defaultTabIndex);\n this.tabIndex = parsedTabIndex || parsedTabIndex === 0 ? parsedTabIndex : null;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this._watchStateChanges();\n this._watchSelectionEvents();\n }\n\n ngOnDestroy() {\n this._stateChanges.unsubscribe();\n this._activeOptionChanges.unsubscribe();\n this._selectedOptionChanges.unsubscribe();\n this._keyDownChanges.unsubscribe();\n }\n\n ngAfterContentInit() {\n this._keyManager = new ActiveDescendantKeyManager<NovoOption>(this.options).withWrap();\n this._activeOptionChanges = this._keyManager.change.subscribe((index) => {\n this.optionActivated.emit({ source: this, option: this.options.toArray()[index] || null });\n });\n this.element = this._formField.getConnectedOverlayOrigin() || this._elementRef;\n this._keyDownChanges = fromEvent(this.element.nativeElement, 'keydown').subscribe((event: KeyboardEvent) => this._handleKeydown(event));\n this.options.changes.subscribe(() => {\n this._watchStateChanges();\n this._watchSelectionEvents();\n Promise.resolve().then(() => {\n this.checkSelectedOptions();\n if (this.makeFirstItemActive && this.options.length > 0) {\n this._keyManager.setFirstItemActive();\n }\n });\n });\n }\n\n ngAfterViewInit() {\n this._watchStateChanges();\n this._watchSelectionEvents();\n }\n\n checkPanel() {\n const isTriggered = this.triggerOn(this._formField._control);\n if (isTriggered && this.element) {\n this.openPanel();\n }\n }\n\n private _setTriggerValue(option: NovoOption): void {\n const toDisplay = this.displayWith ? this.displayWith(option) : option?.viewValue;\n // Simply falling back to an empty string if the display value is falsy does not work properly.\n // The display value can also be the number zero and shouldn't fall back to an empty string.\n const displayValue = toDisplay != null ? toDisplay : '';\n const optionValue = option.value;\n // If it's used within a `NovoField`, we should set it through the property so it can go\n // through change detection.\n if (this._formField) {\n const { controlType, lastCaretPosition = 0 } = this._formField._control;\n if (controlType === 'textarea') {\n const currentValue = this._formField._control.value.split('');\n currentValue.splice(lastCaretPosition, 0, displayValue);\n this._formField._control.value = currentValue.join('');\n } else if (controlType === 'chip-list') {\n const chipList = this._formField._control as NovoChipList;\n const currentValue = this._formField._control.value;\n if (currentValue.includes(optionValue)) {\n chipList.removeValue(optionValue);\n } else {\n chipList.addValue(optionValue);\n }\n } else {\n let valueToEmit: any = optionValue;\n if (this.multiple) {\n const currentValue = this._formField._control.value;\n if (Array.isArray(currentValue)) {\n if (currentValue.includes(optionValue)) {\n valueToEmit = currentValue.filter((it) => it === optionValue);\n } else {\n valueToEmit = [...currentValue, optionValue];\n }\n } else if (currentValue === optionValue) {\n valueToEmit = [];\n } else {\n valueToEmit = [currentValue, optionValue];\n }\n }\n this._formField._control.value = valueToEmit;\n }\n } else {\n console.warn('AutoComplete only intended to be used within a NovoField');\n }\n this._previousValue = optionValue;\n }\n\n /**\n * Clear any previous selected option and emit a selection change event for this option\n */\n private _clearPreviousSelectedOption(skip: NovoOption) {\n this.options.forEach((option) => {\n if (option !== skip && option.selected) {\n option.deselect();\n }\n });\n }\n\n /** Emits the `select` event. */\n private _emitSelectEvent(option: NovoOption): void {\n const event = new NovoOptionSelectedEvent(this, option);\n this.optionSelected.emit(event);\n }\n\n /**\n * This method closes the panel, and if a value is specified, also sets the associated\n * control to that value. It will also mark the control as dirty if this interaction\n * stemmed from the user.\n */\n private _setValueAndClose(event: NovoOptionSelectionChange | null): void {\n if (event && event.source) {\n if (!this.multiple) {\n this._clearPreviousSelectedOption(event.source);\n }\n this._setTriggerValue(event.source);\n this._emitSelectEvent(event.source);\n this._watchSelectionEvents();\n }\n\n if (!this.multiple) {\n this.closePanel();\n }\n }\n\n private _watchSelectionEvents() {\n const selectionEvents = this.options ? merge(...this.options.map((option) => option.onSelectionChange)) : of();\n this._selectedOptionChanges.unsubscribe();\n this._selectedOptionChanges = selectionEvents.pipe(take(1)).subscribe((evt: NovoOptionSelectionChange) => {\n this._setValueAndClose(evt);\n });\n }\n\n private _watchStateChanges() {\n const inputStateChanged = this._formField.stateChanges;\n this._stateChanges.unsubscribe();\n this._stateChanges = merge(inputStateChanged)\n .pipe(debounce(() => interval(10)))\n .subscribe(() => {\n this.checkSelectedOptions();\n this.checkPanel();\n this.cdr.markForCheck();\n });\n }\n\n /** The currently active option, coerced to MatOption type. */\n get activeOption(): NovoOption | null {\n if (this._keyManager) {\n return this._keyManager.activeItem;\n }\n\n return null;\n }\n\n _handleKeydown(event: KeyboardEvent): void {\n const key = event.key;\n\n // Prevent the default action on all escape key presses. This is here primarily to bring IE\n // in line with other browsers. By default, pressing escape on IE will cause it to revert\n // the input value to the one that it had on focus, however it won't dispatch any events\n // which means that the model value will be out of sync with the view.\n if (key === Key.Escape && !hasModifierKey(event)) {\n event.preventDefault();\n }\n\n if (this.activeOption && key === Key.Enter && this.panelOpen) {\n this.activeOption._selectViaInteraction();\n event.preventDefault();\n } else {\n const prevActiveItem = this._keyManager.activeItem;\n const isArrowKey = key === Key.ArrowUp || key === Key.ArrowDown;\n\n if (this.panelOpen || key === Key.Tab) {\n this._keyManager.onKeydown(event);\n } else if (isArrowKey && !this.overlay.panelOpen) {\n this.openPanel();\n }\n }\n }\n\n private checkSelectedOptions() {\n if (this.multiple && Array.isArray(this._formField._control.value)) {\n const value = this._formField._control.value;\n this.options.forEach((option) => option.deselect());\n value.forEach((currentValue: any) => this._selectValue(currentValue));\n }\n }\n /**\n * Finds and selects and option based on its value.\n * @returns Option that has the corresponding value.\n */\n private _selectValue(value: any): NovoOption | undefined {\n const correspondingOption = this.options.find((option: NovoOption) => {\n return option.value === value;\n });\n correspondingOption?.select();\n return correspondingOption;\n }\n}\n","<novo-overlay-template [parent]=\"element\" position=\"above-below\">\n <div class=\"novo-autocomplete-options\" cdk-scrollable>\n <ng-content></ng-content>\n </div>\n</novo-overlay-template>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NovoCommonModule, NovoOptionModule, NovoOverlayModule } from 'novo-elements/elements/common';\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoChipsModule } from 'novo-elements/elements/chips';\nimport { NovoFieldModule } from 'novo-elements/elements/field';\nimport { NovoAutocompleteElement } from './autocomplete.component';\n\n@NgModule({\n imports: [CommonModule, NovoButtonModule, NovoOverlayModule, NovoOptionModule, NovoCommonModule, NovoFieldModule, NovoChipsModule],\n declarations: [NovoAutocompleteElement],\n exports: [NovoAutocompleteElement],\n})\nexport class NovoAutoCompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"novo-elements-elements-autocomplete.mjs","sources":["../../../projects/novo-elements/src/elements/autocomplete/autocomplete.component.ts","../../../projects/novo-elements/src/elements/autocomplete/autocomplete.component.html","../../../projects/novo-elements/src/elements/autocomplete/autocomplete.module.ts","../../../projects/novo-elements/src/elements/autocomplete/novo-elements-elements-autocomplete.ts"],"sourcesContent":["import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey } from '@angular/cdk/keycodes';\nimport {\n AfterContentInit,\n AfterViewInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { fromEvent, interval, merge, of, Subscription } from 'rxjs';\nimport { debounce, take } from 'rxjs/operators';\nimport { BooleanInput, Key } from 'novo-elements/utils';\nimport type { NovoChipList } from 'novo-elements/elements/chips';\nimport {\n CanDisable,\n CanDisableCtor,\n HasOverlayCtor,\n mixinDisabled,\n mixinOverlay,\n NovoOptgroup,\n NovoOption,\n NovoOptionSelectionChange,\n NovoOverlayTemplateComponent,\n NOVO_OPTION_PARENT_COMPONENT,\n NOVO_OVERLAY_CONTAINER,\n} from 'novo-elements/elements/common';\nimport { NovoFieldControl, NovoFieldElement, NOVO_FORM_FIELD } from 'novo-elements/elements/field';\n\n/** Event object that is emitted when an autocomplete option is selected. */\nexport class NovoOptionSelectedEvent {\n constructor(\n /** Reference to the autocomplete panel that emitted the event. */\n public source: NovoAutocompleteElement,\n /** Option that was selected. */\n public option: NovoOption,\n ) {}\n}\n\n// Boilerplate for applying mixins\nclass NovoAutocompleteBase {\n constructor() {}\n}\nconst NovoAutocompleteMixins: HasOverlayCtor & CanDisableCtor & typeof NovoAutocompleteBase = mixinOverlay(\n mixinDisabled(NovoAutocompleteBase),\n);\n\n@Component({\n selector: 'novo-autocomplete',\n templateUrl: 'autocomplete.component.html',\n styleUrls: ['autocomplete.component.scss'],\n host: {\n class: 'novo-autocomplete',\n // Always set the tabindex to -1 so that it doesn't overlap with any custom tabindex the\n // consumer may have provided, while still being able to receive focus.\n '[attr.tabindex]': 'disabled ? null : -1',\n },\n providers: [\n { provide: NOVO_OPTION_PARENT_COMPONENT, useExisting: NovoAutocompleteElement },\n { provide: NOVO_OVERLAY_CONTAINER, useExisting: NovoAutocompleteElement },\n ],\n exportAs: 'novoAutocomplete',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class NovoAutocompleteElement\n extends NovoAutocompleteMixins\n implements CanDisable, AfterContentInit, AfterViewInit, OnChanges, OnDestroy\n{\n private _stateChanges = Subscription.EMPTY;\n private _activeOptionChanges = Subscription.EMPTY;\n private _selectedOptionChanges = Subscription.EMPTY;\n private _keyDownChanges = Subscription.EMPTY;\n\n /** Manages active item in option list based on key events. */\n private _keyManager: ActiveDescendantKeyManager<NovoOption>;\n\n /** Old value of the native input. Used to work around issues with the `input` event on IE. */\n private _previousValue: string | number | null;\n\n @ContentChildren(NovoOptgroup, { descendants: true }) optionGroups: QueryList<NovoOptgroup>;\n @ContentChildren(NovoOption, { descendants: true }) options: QueryList<NovoOption>;\n\n /** Event that is emitted whenever an option from the list is selected. */\n @Output() readonly optionSelected: EventEmitter<NovoOptionSelectedEvent> = new EventEmitter<NovoOptionSelectedEvent>();\n /** Emits whenever an option is activated using the keyboard. */\n @Output() readonly optionActivated: EventEmitter<NovoOptionSelectedEvent> = new EventEmitter<NovoOptionSelectedEvent>();\n\n /** Tabindex for the toggle. */\n @Input() tabIndex: number | null;\n\n /** Key to use to trigger autocomplete. used for textarea. */\n @Input() triggerOn: (control: NovoFieldControl<any>) => boolean = (control) => control.focused;\n\n /** Function that maps an option's control value to its display value in the trigger. */\n @Input() displayWith: ((value: any) => string) | null = null;\n\n /** Screenreader label for the button. */\n @Input('aria-label') ariaLabel: string;\n\n /** Whether the user should be allowed to select multiple options. */\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n private _multiple: boolean = false;\n\n /** Whether the toggle button is disabled. */\n @Input()\n @BooleanInput()\n get disabled(): boolean {\n if (this._disabled === undefined && this._formField?._control) {\n return this._formField._control.disabled;\n }\n return !!this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled: boolean;\n\n @Input()\n @BooleanInput()\n makeFirstItemActive: boolean;\n\n /** Element for the panel containing the autocomplete options. */\n @ViewChild(NovoOverlayTemplateComponent)\n overlay: NovoOverlayTemplateComponent;\n\n element: ElementRef;\n\n constructor(\n private _elementRef: ElementRef,\n private cdr: ChangeDetectorRef,\n @Attribute('tabindex') defaultTabIndex: string,\n @Optional() @Inject(NOVO_FORM_FIELD) private _formField: NovoFieldElement,\n ) {\n super();\n const parsedTabIndex = Number(defaultTabIndex);\n this.tabIndex = parsedTabIndex || parsedTabIndex === 0 ? parsedTabIndex : null;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this._watchStateChanges();\n this._watchSelectionEvents();\n }\n\n ngOnDestroy() {\n this._stateChanges.unsubscribe();\n this._activeOptionChanges.unsubscribe();\n this._selectedOptionChanges.unsubscribe();\n this._keyDownChanges.unsubscribe();\n }\n\n ngAfterContentInit() {\n this._keyManager = new ActiveDescendantKeyManager<NovoOption>(this.options).withWrap();\n this._activeOptionChanges = this._keyManager.change.subscribe((index) => {\n this.optionActivated.emit({ source: this, option: this.options.toArray()[index] || null });\n });\n this.element = this._formField.getConnectedOverlayOrigin() || this._elementRef;\n this._keyDownChanges = fromEvent(this.element.nativeElement, 'keydown').subscribe((event: KeyboardEvent) => this._handleKeydown(event));\n this.options.changes.subscribe(() => {\n this._watchStateChanges();\n this._watchSelectionEvents();\n Promise.resolve().then(() => {\n this.checkSelectedOptions();\n if (this.makeFirstItemActive && this.options.length > 0) {\n this._keyManager.setFirstItemActive();\n }\n });\n });\n }\n\n ngAfterViewInit() {\n this._watchStateChanges();\n this._watchSelectionEvents();\n }\n\n checkPanel() {\n const isTriggered = this.triggerOn(this._formField._control);\n if (isTriggered && this.element) {\n this.openPanel();\n }\n }\n\n private _setTriggerValue(option: NovoOption): void {\n const toDisplay = this.displayWith ? this.displayWith(option) : option?.viewValue;\n // Simply falling back to an empty string if the display value is falsy does not work properly.\n // The display value can also be the number zero and shouldn't fall back to an empty string.\n const displayValue = toDisplay != null ? toDisplay : '';\n const optionValue = option.value;\n // If it's used within a `NovoField`, we should set it through the property so it can go\n // through change detection.\n if (this._formField) {\n const { controlType, lastCaretPosition = 0 } = this._formField._control;\n if (controlType === 'textarea') {\n const currentValue = this._formField._control.value.split('');\n currentValue.splice(lastCaretPosition, 0, displayValue);\n this._formField._control.value = currentValue.join('');\n } else if (controlType === 'chip-list') {\n const chipList = this._formField._control as NovoChipList;\n const currentValue = this._formField._control.value;\n if (currentValue.includes(optionValue)) {\n chipList.removeValue(optionValue);\n } else {\n chipList.addValue(optionValue);\n }\n } else {\n let valueToEmit: any = optionValue;\n if (this.multiple) {\n const currentValue = this._formField._control.value;\n if (Array.isArray(currentValue)) {\n if (currentValue.includes(optionValue)) {\n valueToEmit = currentValue.filter((it) => it === optionValue);\n } else {\n valueToEmit = [...currentValue, optionValue];\n }\n } else if (currentValue === optionValue) {\n valueToEmit = [];\n } else {\n valueToEmit = [currentValue, optionValue];\n }\n }\n this._formField._control.value = valueToEmit;\n }\n } else {\n console.warn('AutoComplete only intended to be used within a NovoField');\n }\n this._previousValue = optionValue;\n }\n\n /**\n * Clear any previous selected option and emit a selection change event for this option\n */\n private _clearPreviousSelectedOption(skip: NovoOption) {\n this.options.forEach((option) => {\n if (option !== skip && option.selected) {\n option.deselect();\n }\n });\n }\n\n /** Emits the `select` event. */\n private _emitSelectEvent(option: NovoOption): void {\n const event = new NovoOptionSelectedEvent(this, option);\n this.optionSelected.emit(event);\n }\n\n /**\n * This method closes the panel, and if a value is specified, also sets the associated\n * control to that value. It will also mark the control as dirty if this interaction\n * stemmed from the user.\n */\n private _setValueAndClose(event: NovoOptionSelectionChange | null): void {\n if (event && event.source) {\n if (!this.multiple) {\n this._clearPreviousSelectedOption(event.source);\n }\n this._setTriggerValue(event.source);\n this._emitSelectEvent(event.source);\n this._watchSelectionEvents();\n }\n\n if (!this.multiple) {\n this.closePanel();\n }\n }\n\n private _watchSelectionEvents() {\n const selectionEvents = this.options ? merge(...this.options.map((option) => option.onSelectionChange)) : of();\n this._selectedOptionChanges.unsubscribe();\n this._selectedOptionChanges = selectionEvents.pipe(take(1)).subscribe((evt: NovoOptionSelectionChange) => {\n this._setValueAndClose(evt);\n });\n }\n\n private _watchStateChanges() {\n const inputStateChanged = this._formField.stateChanges;\n this._stateChanges.unsubscribe();\n this._stateChanges = merge(inputStateChanged)\n .pipe(debounce(() => interval(10)))\n .subscribe(() => {\n this.checkSelectedOptions();\n this.checkPanel();\n this.cdr.markForCheck();\n });\n }\n\n /** The currently active option, coerced to MatOption type. */\n get activeOption(): NovoOption | null {\n if (this._keyManager) {\n return this._keyManager.activeItem;\n }\n\n return null;\n }\n\n _handleKeydown(event: KeyboardEvent): void {\n const key = event.key;\n\n // Prevent the default action on all escape key presses. This is here primarily to bring IE\n // in line with other browsers. By default, pressing escape on IE will cause it to revert\n // the input value to the one that it had on focus, however it won't dispatch any events\n // which means that the model value will be out of sync with the view.\n if (key === Key.Escape && !hasModifierKey(event)) {\n event.preventDefault();\n }\n\n if (this.activeOption && key === Key.Enter && this.panelOpen) {\n this.activeOption._selectViaInteraction();\n event.preventDefault();\n } else {\n const prevActiveItem = this._keyManager.activeItem;\n const isArrowKey = key === Key.ArrowUp || key === Key.ArrowDown;\n\n if (this.panelOpen || key === Key.Tab) {\n this._keyManager.onKeydown(event);\n } else if (isArrowKey && !this.overlay.panelOpen) {\n this.openPanel();\n }\n }\n }\n\n private checkSelectedOptions() {\n if (this.multiple && Array.isArray(this._formField._control.value)) {\n const value = this._formField._control.value;\n this.options.forEach((option) => option.deselect());\n value.forEach((currentValue: any) => this._selectValue(currentValue));\n }\n }\n /**\n * Finds and selects and option based on its value.\n * @returns Option that has the corresponding value.\n */\n private _selectValue(value: any): NovoOption | undefined {\n const correspondingOption = this.options.find((option: NovoOption) => {\n return option.value === value;\n });\n correspondingOption?.select();\n return correspondingOption;\n }\n}\n","<novo-overlay-template [parent]=\"element\" position=\"above-below\">\n <div class=\"novo-autocomplete-options\" cdk-scrollable>\n <ng-content></ng-content>\n </div>\n</novo-overlay-template>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NovoCommonModule, NovoOptionModule, NovoOverlayModule } from 'novo-elements/elements/common';\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoChipsModule } from 'novo-elements/elements/chips';\nimport { NovoFieldModule } from 'novo-elements/elements/field';\nimport { NovoAutocompleteElement } from './autocomplete.component';\n\n@NgModule({\n imports: [CommonModule, NovoButtonModule, NovoOverlayModule, NovoOptionModule, NovoCommonModule, NovoFieldModule, NovoChipsModule],\n declarations: [NovoAutocompleteElement],\n exports: [NovoAutocompleteElement],\n})\nexport class NovoAutoCompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -174,11 +174,11 @@ class NovoAvatarElement {
|
|
|
174
174
|
return !!pattern.test(str);
|
|
175
175
|
}
|
|
176
176
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NovoAvatarElement, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
177
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: NovoAvatarElement, isStandalone: false, selector: "novo-avatar", inputs: { source: "source", label: "label", theme: "theme", image: "image", size: "size", shape: "shape", color: "color" }, host: { properties: { "class": "this.hb_classBinding", "style.backgroundImage": "this.background" } }, ngImport: i0, template: '<img *ngIf="src" [src]="src"/>', isInline: true, styles: [":host{display:inline-block;width:30px;height:30px;background-size:cover;background-position:center;overflow:hidden;position:relative;background-color:var(--background-muted)}:host img{width:inherit;height:inherit;border-radius:inherit}:host.avatar-size-small{width:20px;height:20px}:host.avatar-size-large{width:40px;height:40px}:host.avatar-shape-round{border-radius:2em}:host.avatar-shape-square{border-radius
|
|
177
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: NovoAvatarElement, isStandalone: false, selector: "novo-avatar", inputs: { source: "source", label: "label", theme: "theme", image: "image", size: "size", shape: "shape", color: "color" }, host: { properties: { "class": "this.hb_classBinding", "style.backgroundImage": "this.background" } }, ngImport: i0, template: '<img *ngIf="src" [src]="src"/>', isInline: true, styles: [":host{display:inline-block;width:30px;height:30px;background-size:cover;background-position:center;overflow:hidden;position:relative;background-color:var(--background-muted)}:host img{width:inherit;height:inherit;border-radius:inherit}:host.avatar-size-small{width:20px;height:20px}:host.avatar-size-large{width:40px;height:40px}:host.avatar-shape-round{border-radius:2em}:host.avatar-shape-square{border-radius:var(--border-radius-round)}:host.avatar-color-border-default{background-color:var(--color-border-default)}:host.avatar-color-black{color:var(--color-contrast-black);background-color:var(--color-black)}:host.avatar-color-white{color:var(--color-contrast-white);background-color:var(--color-white)}:host.avatar-color-gray{color:var(--color-contrast-gray);background-color:var(--color-gray)}:host.avatar-color-grey{color:var(--color-contrast-grey);background-color:var(--color-grey)}:host.avatar-color-offWhite{color:var(--color-contrast-off-white);background-color:var(--color-offWhite)}:host.avatar-color-bright{color:var(--color-contrast-bright);background-color:var(--color-bright)}:host.avatar-color-light{color:var(--color-contrast-light);background-color:var(--color-light)}:host.avatar-color-neutral{color:var(--color-contrast-neutral);background-color:var(--color-neutral)}:host.avatar-color-dark{color:var(--color-contrast-dark);background-color:var(--color-dark)}:host.avatar-color-orange{color:var(--color-contrast-orange);background-color:var(--color-orange)}:host.avatar-color-navigation{color:var(--color-contrast-navigation);background-color:var(--color-navigation)}:host.avatar-color-skyBlue{color:var(--color-contrast-sky-blue);background-color:var(--color-skyBlue)}:host.avatar-color-steel{color:var(--color-contrast-steel);background-color:var(--color-steel)}:host.avatar-color-metal{color:var(--color-contrast-metal);background-color:var(--color-metal)}:host.avatar-color-sand{color:var(--color-contrast-sand);background-color:var(--color-sand)}:host.avatar-color-silver{color:var(--color-contrast-silver);background-color:var(--color-silver)}:host.avatar-color-stone{color:var(--color-contrast-stone);background-color:var(--color-stone)}:host.avatar-color-ash{color:var(--color-contrast-ash);background-color:var(--color-ash)}:host.avatar-color-anonymous{color:var(--color-contrast-anonymous);background-color:var(--color-anonymous)}:host.avatar-color-slate{color:var(--color-contrast-slate);background-color:var(--color-slate)}:host.avatar-color-onyx{color:var(--color-contrast-onyx);background-color:var(--color-onyx)}:host.avatar-color-charcoal{color:var(--color-contrast-charcoal);background-color:var(--color-charcoal)}:host.avatar-color-moonlight{color:var(--color-contrast-moonlight);background-color:var(--color-moonlight)}:host.avatar-color-midnight{color:var(--color-contrast-midnight);background-color:var(--color-midnight)}:host.avatar-color-darkness{color:var(--color-contrast-darkness);background-color:var(--color-darkness)}:host.avatar-color-navy{color:var(--color-contrast-navy);background-color:var(--color-navy)}:host.avatar-color-aqua{color:var(--color-contrast-aqua);background-color:var(--color-aqua)}:host.avatar-color-ocean{color:var(--color-contrast-ocean);background-color:var(--color-ocean)}:host.avatar-color-mint{color:var(--color-contrast-mint);background-color:var(--color-mint)}:host.avatar-color-grass{color:var(--color-contrast-grass);background-color:var(--color-grass)}:host.avatar-color-sunflower{color:var(--color-contrast-sunflower);background-color:var(--color-sunflower)}:host.avatar-color-bittersweet{color:var(--color-contrast-bittersweet);background-color:var(--color-bittersweet)}:host.avatar-color-grapefruit{color:var(--color-contrast-grapefruit);background-color:var(--color-grapefruit)}:host.avatar-color-carnation{color:var(--color-contrast-carnation);background-color:var(--color-carnation)}:host.avatar-color-lavender{color:var(--color-contrast-lavender);background-color:var(--color-lavender)}:host.avatar-color-mountain{color:var(--color-contrast-mountain);background-color:var(--color-mountain)}:host.avatar-color-info{color:var(--color-contrast-info);background-color:var(--color-info)}:host.avatar-color-positive{color:var(--color-contrast-positive);background-color:var(--color-positive)}:host.avatar-color-success{color:var(--color-contrast-success);background-color:var(--color-success)}:host.avatar-color-negative{color:var(--color-contrast-negative);background-color:var(--color-negative)}:host.avatar-color-danger{color:var(--color-contrast-danger);background-color:var(--color-danger)}:host.avatar-color-error{color:var(--color-contrast-error);background-color:var(--color-error)}:host.avatar-color-warning{color:var(--color-contrast-warning);background-color:var(--color-warning)}:host.avatar-color-empty{color:var(--color-contrast-empty);background-color:var(--color-empty)}:host.avatar-color-disabled{color:var(--color-contrast-disabled);background-color:var(--color-disabled)}:host.avatar-color-background{color:var(--color-contrast-background);background-color:var(--color-background)}:host.avatar-color-backgroundDark{color:var(--color-contrast-background-dark);background-color:var(--color-backgroundDark)}:host.avatar-color-border{color:var(--color-contrast-border);background-color:var(--color-border)}:host.avatar-color-border2{color:var(--color-contrast-border2);background-color:var(--color-border2)}:host.avatar-color-text{color:var(--color-contrast-text);background-color:var(--color-text)}:host.avatar-color-presentation{color:var(--color-contrast-presentation);background-color:var(--color-presentation)}:host.avatar-color-bullhorn{color:var(--color-contrast-bullhorn);background-color:var(--color-bullhorn)}:host.avatar-color-pulse{color:var(--color-contrast-pulse);background-color:var(--color-pulse)}:host.avatar-color-fastFind{color:var(--color-contrast-fast-find);background-color:var(--color-fastFind)}:host.avatar-color-toast{color:var(--color-contrast-toast);background-color:var(--color-toast)}:host.avatar-color-company{color:var(--color-contrast-company);background-color:var(--color-company)}:host.avatar-color-candidate{color:var(--color-contrast-candidate);background-color:var(--color-candidate)}:host.avatar-color-lead{color:var(--color-contrast-lead);background-color:var(--color-lead)}:host.avatar-color-contact{color:var(--color-contrast-contact);background-color:var(--color-contact)}:host.avatar-color-clientcontact{color:var(--color-contrast-clientcontact);background-color:var(--color-clientcontact)}:host.avatar-color-opportunity{color:var(--color-contrast-opportunity);background-color:var(--color-opportunity)}:host.avatar-color-job{color:var(--color-contrast-job);background-color:var(--color-job)}:host.avatar-color-joborder{color:var(--color-contrast-joborder);background-color:var(--color-joborder)}:host.avatar-color-submission{color:var(--color-contrast-submission);background-color:var(--color-submission)}:host.avatar-color-sendout{color:var(--color-contrast-sendout);background-color:var(--color-sendout)}:host.avatar-color-placement{color:var(--color-contrast-placement);background-color:var(--color-placement)}:host.avatar-color-note{color:var(--color-contrast-note);background-color:var(--color-note)}:host.avatar-color-contract{color:var(--color-contrast-contract);background-color:var(--color-contract)}:host.avatar-color-task{color:var(--color-contrast-task);background-color:var(--color-task)}:host.avatar-color-jobCode{color:var(--color-contrast-job-code);background-color:var(--color-jobCode)}:host.avatar-color-earnCode{color:var(--color-contrast-earn-code);background-color:var(--color-earnCode)}:host.avatar-color-invoiceStatement{color:var(--color-contrast-invoice-statement);background-color:var(--color-invoiceStatement)}:host.avatar-color-billableCharge{color:var(--color-contrast-billable-charge);background-color:var(--color-billableCharge)}:host.avatar-color-payableCharge{color:var(--color-contrast-payable-charge);background-color:var(--color-payableCharge)}:host.avatar-color-user{color:var(--color-contrast-user);background-color:var(--color-user)}:host.avatar-color-corporateUser{color:var(--color-contrast-corporate-user);background-color:var(--color-corporateUser)}:host.avatar-color-distributionList{color:var(--color-contrast-distribution-list);background-color:var(--color-distributionList)}:host.avatar-color-credential{color:var(--color-contrast-credential);background-color:var(--color-credential)}:host.avatar-color-person{color:var(--color-contrast-person);background-color:var(--color-person)}:host(.menu-active){box-shadow:0 0 4px 1px var(--selection)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
178
178
|
}
|
|
179
179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NovoAvatarElement, decorators: [{
|
|
180
180
|
type: Component,
|
|
181
|
-
args: [{ selector: 'novo-avatar', template: '<img *ngIf="src" [src]="src"/>', standalone: false, styles: [":host{display:inline-block;width:30px;height:30px;background-size:cover;background-position:center;overflow:hidden;position:relative;background-color:var(--background-muted)}:host img{width:inherit;height:inherit;border-radius:inherit}:host.avatar-size-small{width:20px;height:20px}:host.avatar-size-large{width:40px;height:40px}:host.avatar-shape-round{border-radius:2em}:host.avatar-shape-square{border-radius
|
|
181
|
+
args: [{ selector: 'novo-avatar', template: '<img *ngIf="src" [src]="src"/>', standalone: false, styles: [":host{display:inline-block;width:30px;height:30px;background-size:cover;background-position:center;overflow:hidden;position:relative;background-color:var(--background-muted)}:host img{width:inherit;height:inherit;border-radius:inherit}:host.avatar-size-small{width:20px;height:20px}:host.avatar-size-large{width:40px;height:40px}:host.avatar-shape-round{border-radius:2em}:host.avatar-shape-square{border-radius:var(--border-radius-round)}:host.avatar-color-border-default{background-color:var(--color-border-default)}:host.avatar-color-black{color:var(--color-contrast-black);background-color:var(--color-black)}:host.avatar-color-white{color:var(--color-contrast-white);background-color:var(--color-white)}:host.avatar-color-gray{color:var(--color-contrast-gray);background-color:var(--color-gray)}:host.avatar-color-grey{color:var(--color-contrast-grey);background-color:var(--color-grey)}:host.avatar-color-offWhite{color:var(--color-contrast-off-white);background-color:var(--color-offWhite)}:host.avatar-color-bright{color:var(--color-contrast-bright);background-color:var(--color-bright)}:host.avatar-color-light{color:var(--color-contrast-light);background-color:var(--color-light)}:host.avatar-color-neutral{color:var(--color-contrast-neutral);background-color:var(--color-neutral)}:host.avatar-color-dark{color:var(--color-contrast-dark);background-color:var(--color-dark)}:host.avatar-color-orange{color:var(--color-contrast-orange);background-color:var(--color-orange)}:host.avatar-color-navigation{color:var(--color-contrast-navigation);background-color:var(--color-navigation)}:host.avatar-color-skyBlue{color:var(--color-contrast-sky-blue);background-color:var(--color-skyBlue)}:host.avatar-color-steel{color:var(--color-contrast-steel);background-color:var(--color-steel)}:host.avatar-color-metal{color:var(--color-contrast-metal);background-color:var(--color-metal)}:host.avatar-color-sand{color:var(--color-contrast-sand);background-color:var(--color-sand)}:host.avatar-color-silver{color:var(--color-contrast-silver);background-color:var(--color-silver)}:host.avatar-color-stone{color:var(--color-contrast-stone);background-color:var(--color-stone)}:host.avatar-color-ash{color:var(--color-contrast-ash);background-color:var(--color-ash)}:host.avatar-color-anonymous{color:var(--color-contrast-anonymous);background-color:var(--color-anonymous)}:host.avatar-color-slate{color:var(--color-contrast-slate);background-color:var(--color-slate)}:host.avatar-color-onyx{color:var(--color-contrast-onyx);background-color:var(--color-onyx)}:host.avatar-color-charcoal{color:var(--color-contrast-charcoal);background-color:var(--color-charcoal)}:host.avatar-color-moonlight{color:var(--color-contrast-moonlight);background-color:var(--color-moonlight)}:host.avatar-color-midnight{color:var(--color-contrast-midnight);background-color:var(--color-midnight)}:host.avatar-color-darkness{color:var(--color-contrast-darkness);background-color:var(--color-darkness)}:host.avatar-color-navy{color:var(--color-contrast-navy);background-color:var(--color-navy)}:host.avatar-color-aqua{color:var(--color-contrast-aqua);background-color:var(--color-aqua)}:host.avatar-color-ocean{color:var(--color-contrast-ocean);background-color:var(--color-ocean)}:host.avatar-color-mint{color:var(--color-contrast-mint);background-color:var(--color-mint)}:host.avatar-color-grass{color:var(--color-contrast-grass);background-color:var(--color-grass)}:host.avatar-color-sunflower{color:var(--color-contrast-sunflower);background-color:var(--color-sunflower)}:host.avatar-color-bittersweet{color:var(--color-contrast-bittersweet);background-color:var(--color-bittersweet)}:host.avatar-color-grapefruit{color:var(--color-contrast-grapefruit);background-color:var(--color-grapefruit)}:host.avatar-color-carnation{color:var(--color-contrast-carnation);background-color:var(--color-carnation)}:host.avatar-color-lavender{color:var(--color-contrast-lavender);background-color:var(--color-lavender)}:host.avatar-color-mountain{color:var(--color-contrast-mountain);background-color:var(--color-mountain)}:host.avatar-color-info{color:var(--color-contrast-info);background-color:var(--color-info)}:host.avatar-color-positive{color:var(--color-contrast-positive);background-color:var(--color-positive)}:host.avatar-color-success{color:var(--color-contrast-success);background-color:var(--color-success)}:host.avatar-color-negative{color:var(--color-contrast-negative);background-color:var(--color-negative)}:host.avatar-color-danger{color:var(--color-contrast-danger);background-color:var(--color-danger)}:host.avatar-color-error{color:var(--color-contrast-error);background-color:var(--color-error)}:host.avatar-color-warning{color:var(--color-contrast-warning);background-color:var(--color-warning)}:host.avatar-color-empty{color:var(--color-contrast-empty);background-color:var(--color-empty)}:host.avatar-color-disabled{color:var(--color-contrast-disabled);background-color:var(--color-disabled)}:host.avatar-color-background{color:var(--color-contrast-background);background-color:var(--color-background)}:host.avatar-color-backgroundDark{color:var(--color-contrast-background-dark);background-color:var(--color-backgroundDark)}:host.avatar-color-border{color:var(--color-contrast-border);background-color:var(--color-border)}:host.avatar-color-border2{color:var(--color-contrast-border2);background-color:var(--color-border2)}:host.avatar-color-text{color:var(--color-contrast-text);background-color:var(--color-text)}:host.avatar-color-presentation{color:var(--color-contrast-presentation);background-color:var(--color-presentation)}:host.avatar-color-bullhorn{color:var(--color-contrast-bullhorn);background-color:var(--color-bullhorn)}:host.avatar-color-pulse{color:var(--color-contrast-pulse);background-color:var(--color-pulse)}:host.avatar-color-fastFind{color:var(--color-contrast-fast-find);background-color:var(--color-fastFind)}:host.avatar-color-toast{color:var(--color-contrast-toast);background-color:var(--color-toast)}:host.avatar-color-company{color:var(--color-contrast-company);background-color:var(--color-company)}:host.avatar-color-candidate{color:var(--color-contrast-candidate);background-color:var(--color-candidate)}:host.avatar-color-lead{color:var(--color-contrast-lead);background-color:var(--color-lead)}:host.avatar-color-contact{color:var(--color-contrast-contact);background-color:var(--color-contact)}:host.avatar-color-clientcontact{color:var(--color-contrast-clientcontact);background-color:var(--color-clientcontact)}:host.avatar-color-opportunity{color:var(--color-contrast-opportunity);background-color:var(--color-opportunity)}:host.avatar-color-job{color:var(--color-contrast-job);background-color:var(--color-job)}:host.avatar-color-joborder{color:var(--color-contrast-joborder);background-color:var(--color-joborder)}:host.avatar-color-submission{color:var(--color-contrast-submission);background-color:var(--color-submission)}:host.avatar-color-sendout{color:var(--color-contrast-sendout);background-color:var(--color-sendout)}:host.avatar-color-placement{color:var(--color-contrast-placement);background-color:var(--color-placement)}:host.avatar-color-note{color:var(--color-contrast-note);background-color:var(--color-note)}:host.avatar-color-contract{color:var(--color-contrast-contract);background-color:var(--color-contract)}:host.avatar-color-task{color:var(--color-contrast-task);background-color:var(--color-task)}:host.avatar-color-jobCode{color:var(--color-contrast-job-code);background-color:var(--color-jobCode)}:host.avatar-color-earnCode{color:var(--color-contrast-earn-code);background-color:var(--color-earnCode)}:host.avatar-color-invoiceStatement{color:var(--color-contrast-invoice-statement);background-color:var(--color-invoiceStatement)}:host.avatar-color-billableCharge{color:var(--color-contrast-billable-charge);background-color:var(--color-billableCharge)}:host.avatar-color-payableCharge{color:var(--color-contrast-payable-charge);background-color:var(--color-payableCharge)}:host.avatar-color-user{color:var(--color-contrast-user);background-color:var(--color-user)}:host.avatar-color-corporateUser{color:var(--color-contrast-corporate-user);background-color:var(--color-corporateUser)}:host.avatar-color-distributionList{color:var(--color-contrast-distribution-list);background-color:var(--color-distributionList)}:host.avatar-color-credential{color:var(--color-contrast-credential);background-color:var(--color-credential)}:host.avatar-color-person{color:var(--color-contrast-person);background-color:var(--color-person)}:host(.menu-active){box-shadow:0 0 4px 1px var(--selection)}\n"] }]
|
|
182
182
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { source: [{
|
|
183
183
|
type: Input
|
|
184
184
|
}], label: [{
|
|
@@ -219,14 +219,14 @@ class NovoAvatarStackElement {
|
|
|
219
219
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: NovoAvatarStackElement, isStandalone: false, selector: "novo-avatar-stack", inputs: { total: "total" }, viewQueries: [{ propertyName: "viewChildren", predicate: NovoAvatarElement, descendants: true }], ngImport: i0, template: `
|
|
220
220
|
<ng-content></ng-content>
|
|
221
221
|
<novo-avatar *ngIf="showTotal" label="+5"></novo-avatar>
|
|
222
|
-
`, isInline: true, styles: [":host{display:inline-flex;flex-flow:row nowrap}:host::ng-deep novo-avatar{transition:all .1s ease-in-out}:host::ng-deep novo-avatar img{border:1px solid #
|
|
222
|
+
`, isInline: true, styles: [":host{display:inline-flex;flex-flow:row nowrap}:host::ng-deep novo-avatar{transition:all .1s ease-in-out}:host::ng-deep novo-avatar img{border:1px solid #fff}:host::ng-deep novo-avatar+novo-avatar{margin-left:-15px}:host::ng-deep novo-avatar:first-child{z-index:5}:host::ng-deep novo-avatar:nth-child(2){z-index:4}:host::ng-deep novo-avatar:nth-child(3){z-index:3}:host::ng-deep novo-avatar:nth-child(4){z-index:2}:host::ng-deep novo-avatar:nth-child(5){z-index:1}:host::ng-deep novo-avatar:nth-child(n+6){z-index:0;margin-left:-15px;display:none;opacity:0}:host:hover::ng-deep novo-avatar{margin-left:0;margin-right:1px}:host:hover::ng-deep novo-avatar:nth-child(n+6){display:unset;opacity:1}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NovoAvatarElement, selector: "novo-avatar", inputs: ["source", "label", "theme", "image", "size", "shape", "color"] }] }); }
|
|
223
223
|
}
|
|
224
224
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NovoAvatarStackElement, decorators: [{
|
|
225
225
|
type: Component,
|
|
226
226
|
args: [{ selector: 'novo-avatar-stack', template: `
|
|
227
227
|
<ng-content></ng-content>
|
|
228
228
|
<novo-avatar *ngIf="showTotal" label="+5"></novo-avatar>
|
|
229
|
-
`, standalone: false, styles: [":host{display:inline-flex;flex-flow:row nowrap}:host::ng-deep novo-avatar{transition:all .1s ease-in-out}:host::ng-deep novo-avatar img{border:1px solid #
|
|
229
|
+
`, standalone: false, styles: [":host{display:inline-flex;flex-flow:row nowrap}:host::ng-deep novo-avatar{transition:all .1s ease-in-out}:host::ng-deep novo-avatar img{border:1px solid #fff}:host::ng-deep novo-avatar+novo-avatar{margin-left:-15px}:host::ng-deep novo-avatar:first-child{z-index:5}:host::ng-deep novo-avatar:nth-child(2){z-index:4}:host::ng-deep novo-avatar:nth-child(3){z-index:3}:host::ng-deep novo-avatar:nth-child(4){z-index:2}:host::ng-deep novo-avatar:nth-child(5){z-index:1}:host::ng-deep novo-avatar:nth-child(n+6){z-index:0;margin-left:-15px;display:none;opacity:0}:host:hover::ng-deep novo-avatar{margin-left:0;margin-right:1px}:host:hover::ng-deep novo-avatar:nth-child(n+6){display:unset;opacity:1}\n"] }]
|
|
230
230
|
}], propDecorators: { total: [{
|
|
231
231
|
type: Input
|
|
232
232
|
}], viewChildren: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"novo-elements-elements-avatar.mjs","sources":["../../../projects/novo-elements/src/elements/avatar/Avatar.ts","../../../projects/novo-elements/src/elements/avatar/AvatarStack.ts","../../../projects/novo-elements/src/elements/avatar/Avatar.module.ts","../../../projects/novo-elements/src/elements/avatar/novo-elements-elements-avatar.ts"],"sourcesContent":["// NG2\nimport { Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'novo-avatar',\n styleUrls: ['./Avatar.scss'],\n template: '<img *ngIf=\"src\" [src]=\"src\"/>',\n standalone: false,\n})\nexport class NovoAvatarElement implements OnInit {\n @Input() source: any;\n @Input() label: string;\n @Input() theme: string;\n @Input() image: string;\n\n @Input()\n size: string = 'medium';\n\n @Input()\n shape: string = 'round';\n\n @Input()\n color: string;\n\n @HostBinding('class')\n get hb_classBinding() {\n return [`avatar-size-${this.size}`, `avatar-shape-${this.shape}`, `avatar-color-${this.color}`];\n }\n\n @HostBinding('style.backgroundImage')\n get background(): string {\n if (!this.image && !this.source.profileImage) {\n return;\n }\n return `url(${this.image || this.source.profileImage})`;\n }\n\n src: any;\n\n constructor(private sanitizer: DomSanitizer) {}\n\n ngOnInit(): any {\n let src: any;\n if ((this.source && this.source !== '') || this.label) {\n if (this.source.profileImage) {\n return;\n } else if (this.source.logo) {\n src = this.source.logo;\n } else {\n const first: any =\n this.label || this.source.firstName\n ? this.source.firstName.charAt(0)\n : this.source.name\n ? this.source.name.charAt(0)\n : this.source.username\n ? this.source.username.charAt(0)\n : '';\n const last: any = this.source.lastName ? this.source.lastName.charAt(0) : '';\n\n // Defining Colors\n const colors: any = [\n '#1abc9c',\n '#16a085',\n '#f1c40f',\n '#f39c12',\n '#2ecc71',\n '#27ae60',\n '#e67e22',\n '#d35400',\n '#3498db',\n '#2980b9',\n '#e74c3c',\n '#c0392b',\n '#9b59b6',\n '#8e44ad',\n '#bdc3c7',\n '#34495e',\n '#2c3e50',\n '#95a5a6',\n '#7f8c8d',\n '#ec87bf',\n '#d870ad',\n '#f69785',\n '#9ba37e',\n '#b49255',\n '#b49255',\n '#a94136',\n ];\n const lighterColors: any = [\n '#15D6B0',\n '#16A069',\n '#F1D60F',\n '#F3AC12',\n '#2ED85B',\n '#28BC7F',\n '#E66322',\n '#D3002B',\n '#6534DB',\n '#29B2B9',\n '#E73C63',\n '#DB6D31',\n '#CB48B5',\n '#6944AD',\n '#38536D',\n '#3D6473',\n '#394A6C',\n '#92BCB7',\n '#7D99A2',\n '#F14F76',\n '#CB5CDA',\n '#FFB475',\n '#B9CE6E',\n '#DDAA4F',\n '#CD6F45',\n '#B9354A',\n ];\n const settings: any = {\n // Default settings\n textColor: '#ffffff',\n height: 100,\n width: 100,\n fontSize: 50,\n fontWeight: 400,\n fontFamily: 'HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica, Arial,Lucida Grande, sans-serif',\n };\n\n // making the text object\n const colorIndex: any = Math.floor((first.charCodeAt(0) - 65) % colors.length);\n\n const cobj: any = document.createElement('text');\n cobj.setAttribute('text-anchor', 'middle');\n cobj.setAttribute('x', '50%');\n cobj.setAttribute('y', '50%');\n cobj.setAttribute('dy', '0.35em');\n cobj.setAttribute('pointer-events', 'auto');\n cobj.setAttribute('fill', settings.textColor);\n cobj.setAttribute('font-family', settings.fontFamily);\n cobj.style.fontWeight = settings.fontWeight;\n cobj.style.fontSize = `${settings.fontSize}px`;\n\n const ltrs: any = document.createTextNode(this.label || first + last);\n cobj.appendChild(ltrs);\n\n const svg: any = document.createElement('svg');\n svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svg.setAttribute('pointer-events', 'none');\n svg.setAttribute('width', settings.width);\n svg.setAttribute('height', settings.height);\n\n this.setPrefixedValue(svg, 'background', `linear-gradient(-45deg, ${colors[colorIndex]} 0%, ${lighterColors[colorIndex]} 100%)`);\n\n svg.style.width = `${settings.width}px`;\n svg.style.height = `${settings.height}px`;\n svg.appendChild(cobj);\n\n const top: any = document.createElement('div');\n top.appendChild(svg);\n\n const svgHtml: any = window.btoa(unescape(encodeURIComponent(top.innerHTML)));\n src = `data:image/svg+xml;base64, ${svgHtml}`;\n }\n this.src = this.sanitizer.bypassSecurityTrustUrl(src);\n }\n }\n\n setPrefixedValue(elm: any, prop: any, value: any): any {\n const prefixes: any = ['-moz-', '-webkit-', '-o-', '-ms-', '-khtml-'];\n\n // Clear\n elm.style[prop] = '';\n const starting: any = elm.style[prop];\n\n // Try raw first\n try {\n elm.style[prop] = value;\n if (elm.style[prop] !== starting) {\n return;\n }\n } catch (e) {\n // no op\n }\n\n // Try prefixes\n for (let i = 0; i < prefixes.length; ++i) {\n const v = prefixes[i] + value;\n try {\n elm.style[prop] = v;\n if (elm.style[prop] !== starting) {\n return;\n }\n } catch (e2) {\n // no op\n }\n }\n }\n\n private _isValidURL(str: string) {\n const pattern = new RegExp(\n '^(https?:\\\\/\\\\/)?' + // protocol\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\n '(\\\\#[-a-z\\\\d_]*)?$',\n 'i',\n ); // fragment locator\n return !!pattern.test(str);\n }\n}\n","// NG2\nimport { AfterViewInit, Component, Input, QueryList, ViewChildren } from '@angular/core';\nimport { NovoAvatarElement } from './Avatar';\n\n@Component({\n selector: 'novo-avatar-stack',\n styleUrls: ['./AvatarStack.scss'],\n template: `\n <ng-content></ng-content>\n <novo-avatar *ngIf=\"showTotal\" label=\"+5\"></novo-avatar>\n `,\n standalone: false,\n})\nexport class NovoAvatarStackElement implements AfterViewInit {\n @Input()\n total: number = 0;\n @ViewChildren(NovoAvatarElement)\n viewChildren!: QueryList<NovoAvatarElement>;\n\n showTotal: boolean = false;\n remainingCount: number = 0;\n ngAfterViewInit() {\n // viewChildren is set\n if (this.total - this.viewChildren.length > 0) {\n this.remainingCount = this.total - this.viewChildren.length;\n this.showTotal = true;\n }\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoAvatarElement } from './Avatar';\nimport { NovoAvatarStackElement } from './AvatarStack';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [NovoAvatarElement, NovoAvatarStackElement],\n exports: [NovoAvatarElement, NovoAvatarStackElement],\n})\nexport class NovoAvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.NovoAvatarElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"novo-elements-elements-avatar.mjs","sources":["../../../projects/novo-elements/src/elements/avatar/Avatar.ts","../../../projects/novo-elements/src/elements/avatar/AvatarStack.ts","../../../projects/novo-elements/src/elements/avatar/Avatar.module.ts","../../../projects/novo-elements/src/elements/avatar/novo-elements-elements-avatar.ts"],"sourcesContent":["// NG2\nimport { Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'novo-avatar',\n styleUrls: ['./Avatar.scss'],\n template: '<img *ngIf=\"src\" [src]=\"src\"/>',\n standalone: false,\n})\nexport class NovoAvatarElement implements OnInit {\n @Input() source: any;\n @Input() label: string;\n @Input() theme: string;\n @Input() image: string;\n\n @Input()\n size: string = 'medium';\n\n @Input()\n shape: string = 'round';\n\n @Input()\n color: string;\n\n @HostBinding('class')\n get hb_classBinding() {\n return [`avatar-size-${this.size}`, `avatar-shape-${this.shape}`, `avatar-color-${this.color}`];\n }\n\n @HostBinding('style.backgroundImage')\n get background(): string {\n if (!this.image && !this.source.profileImage) {\n return;\n }\n return `url(${this.image || this.source.profileImage})`;\n }\n\n src: any;\n\n constructor(private sanitizer: DomSanitizer) {}\n\n ngOnInit(): any {\n let src: any;\n if ((this.source && this.source !== '') || this.label) {\n if (this.source.profileImage) {\n return;\n } else if (this.source.logo) {\n src = this.source.logo;\n } else {\n const first: any =\n this.label || this.source.firstName\n ? this.source.firstName.charAt(0)\n : this.source.name\n ? this.source.name.charAt(0)\n : this.source.username\n ? this.source.username.charAt(0)\n : '';\n const last: any = this.source.lastName ? this.source.lastName.charAt(0) : '';\n\n // Defining Colors\n const colors: any = [\n '#1abc9c',\n '#16a085',\n '#f1c40f',\n '#f39c12',\n '#2ecc71',\n '#27ae60',\n '#e67e22',\n '#d35400',\n '#3498db',\n '#2980b9',\n '#e74c3c',\n '#c0392b',\n '#9b59b6',\n '#8e44ad',\n '#bdc3c7',\n '#34495e',\n '#2c3e50',\n '#95a5a6',\n '#7f8c8d',\n '#ec87bf',\n '#d870ad',\n '#f69785',\n '#9ba37e',\n '#b49255',\n '#b49255',\n '#a94136',\n ];\n const lighterColors: any = [\n '#15D6B0',\n '#16A069',\n '#F1D60F',\n '#F3AC12',\n '#2ED85B',\n '#28BC7F',\n '#E66322',\n '#D3002B',\n '#6534DB',\n '#29B2B9',\n '#E73C63',\n '#DB6D31',\n '#CB48B5',\n '#6944AD',\n '#38536D',\n '#3D6473',\n '#394A6C',\n '#92BCB7',\n '#7D99A2',\n '#F14F76',\n '#CB5CDA',\n '#FFB475',\n '#B9CE6E',\n '#DDAA4F',\n '#CD6F45',\n '#B9354A',\n ];\n const settings: any = {\n // Default settings\n textColor: '#ffffff',\n height: 100,\n width: 100,\n fontSize: 50,\n fontWeight: 400,\n fontFamily: 'HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica, Arial,Lucida Grande, sans-serif',\n };\n\n // making the text object\n const colorIndex: any = Math.floor((first.charCodeAt(0) - 65) % colors.length);\n\n const cobj: any = document.createElement('text');\n cobj.setAttribute('text-anchor', 'middle');\n cobj.setAttribute('x', '50%');\n cobj.setAttribute('y', '50%');\n cobj.setAttribute('dy', '0.35em');\n cobj.setAttribute('pointer-events', 'auto');\n cobj.setAttribute('fill', settings.textColor);\n cobj.setAttribute('font-family', settings.fontFamily);\n cobj.style.fontWeight = settings.fontWeight;\n cobj.style.fontSize = `${settings.fontSize}px`;\n\n const ltrs: any = document.createTextNode(this.label || first + last);\n cobj.appendChild(ltrs);\n\n const svg: any = document.createElement('svg');\n svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svg.setAttribute('pointer-events', 'none');\n svg.setAttribute('width', settings.width);\n svg.setAttribute('height', settings.height);\n\n this.setPrefixedValue(svg, 'background', `linear-gradient(-45deg, ${colors[colorIndex]} 0%, ${lighterColors[colorIndex]} 100%)`);\n\n svg.style.width = `${settings.width}px`;\n svg.style.height = `${settings.height}px`;\n svg.appendChild(cobj);\n\n const top: any = document.createElement('div');\n top.appendChild(svg);\n\n const svgHtml: any = window.btoa(unescape(encodeURIComponent(top.innerHTML)));\n src = `data:image/svg+xml;base64, ${svgHtml}`;\n }\n this.src = this.sanitizer.bypassSecurityTrustUrl(src);\n }\n }\n\n setPrefixedValue(elm: any, prop: any, value: any): any {\n const prefixes: any = ['-moz-', '-webkit-', '-o-', '-ms-', '-khtml-'];\n\n // Clear\n elm.style[prop] = '';\n const starting: any = elm.style[prop];\n\n // Try raw first\n try {\n elm.style[prop] = value;\n if (elm.style[prop] !== starting) {\n return;\n }\n } catch (e) {\n // no op\n }\n\n // Try prefixes\n for (let i = 0; i < prefixes.length; ++i) {\n const v = prefixes[i] + value;\n try {\n elm.style[prop] = v;\n if (elm.style[prop] !== starting) {\n return;\n }\n } catch (e2) {\n // no op\n }\n }\n }\n\n private _isValidURL(str: string) {\n const pattern = new RegExp(\n '^(https?:\\\\/\\\\/)?' + // protocol\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\n '(\\\\#[-a-z\\\\d_]*)?$',\n 'i',\n ); // fragment locator\n return !!pattern.test(str);\n }\n}\n","// NG2\nimport { AfterViewInit, Component, Input, QueryList, ViewChildren } from '@angular/core';\nimport { NovoAvatarElement } from './Avatar';\n\n@Component({\n selector: 'novo-avatar-stack',\n styleUrls: ['./AvatarStack.scss'],\n template: `\n <ng-content></ng-content>\n <novo-avatar *ngIf=\"showTotal\" label=\"+5\"></novo-avatar>\n `,\n standalone: false,\n})\nexport class NovoAvatarStackElement implements AfterViewInit {\n @Input()\n total: number = 0;\n @ViewChildren(NovoAvatarElement)\n viewChildren!: QueryList<NovoAvatarElement>;\n\n showTotal: boolean = false;\n remainingCount: number = 0;\n ngAfterViewInit() {\n // viewChildren is set\n if (this.total - this.viewChildren.length > 0) {\n this.remainingCount = this.total - this.viewChildren.length;\n this.showTotal = true;\n }\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoAvatarElement } from './Avatar';\nimport { NovoAvatarStackElement } from './AvatarStack';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [NovoAvatarElement, NovoAvatarStackElement],\n exports: [NovoAvatarElement, NovoAvatarStackElement],\n})\nexport class NovoAvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.NovoAvatarElement"],"mappings":"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"}
|