carbon-components-angular 3.53.2 → 3.53.3
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/bundle/carbon-angular.umd.js +1 -1
- package/bundle/carbon-angular.umd.js.map +1 -1
- package/combobox/combobox.component.js +1 -0
- package/combobox/combobox.component.js.map +1 -1
- package/docs/documentation/components/ComboBox.html +1 -0
- package/docs/documentation/graph/dependencies.dot +1 -3
- package/docs/documentation/js/search/search_index.js +2 -2
- package/docs/documentation/modules/DatePickerInputModule/dependencies.svg +30 -56
- package/docs/documentation/modules/DatePickerInputModule.html +30 -56
- package/docs/storybook/iframe.html +3 -3
- package/docs/storybook/{main.39186e031f107fc56c4a.bundle.js → main.767fc9bea0250161aab4.bundle.js} +6 -4
- package/docs/storybook/main.767fc9bea0250161aab4.bundle.js.map +1 -0
- package/docs/storybook/{runtime~main.39186e031f107fc56c4a.bundle.js → runtime~main.767fc9bea0250161aab4.bundle.js} +1 -1
- package/docs/storybook/{runtime~main.39186e031f107fc56c4a.bundle.js.map → runtime~main.767fc9bea0250161aab4.bundle.js.map} +1 -1
- package/docs/storybook/{vendors~main.39186e031f107fc56c4a.bundle.js → vendors~main.767fc9bea0250161aab4.bundle.js} +1 -1
- package/docs/storybook/{vendors~main.39186e031f107fc56c4a.bundle.js.map → vendors~main.767fc9bea0250161aab4.bundle.js.map} +1 -1
- package/package.json +1 -1
- package/docs/storybook/main.39186e031f107fc56c4a.bundle.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combobox.component.js","sourceRoot":"","sources":["../src/combobox/combobox.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tOnChanges,\n\tContentChild,\n\tInput,\n\tOutput,\n\tHostListener,\n\tElementRef,\n\tViewChild,\n\tEventEmitter,\n\tAfterViewInit,\n\tAfterContentInit,\n\tHostBinding,\n\tTemplateRef\n} from \"@angular/core\";\nimport { AbstractDropdownView } from \"./../dropdown/abstract-dropdown-view.class\";\nimport { ListItem } from \"./../dropdown/list-item.interface\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { filter } from \"rxjs/operators\";\nimport { DocumentService } from \"../utils/utils.module\";\nimport { I18n, Overridable } from \"../i18n/i18n.module\";\nimport { Observable } from \"rxjs\";\n\n/**\n * ComboBoxes are similar to dropdowns, except a combobox provides an input field for users to search items and (optionally) add their own.\n * Multi-select comboboxes also provide \"pills\" of selected items.\n *\n * [See demo](../../?path=/story/combobox--basic)\n *\n * <example-url>../../iframe.html?id=combobox--basic</example-url>\n */\n@Component({\n\tselector: \"ibm-combo-box\",\n\ttemplate: `\n\t\t<label *ngIf=\"label\" [for]=\"id\" class=\"bx--label\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n\t\t</label>\n\t\t<div *ngIf=\"helperText\" class=\"bx--form__helper-text\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t</div>\n\t\t<div\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--multi-select': type === 'multi',\n\t\t\t\t'bx--combo-box': type === 'single' || !pills.length,\n\t\t\t\t'bx--list-box--disabled': disabled\n\t\t\t}\"\n\t\t\tclass=\"bx--combo-box bx--list-box\"\n\t\t\trole=\"listbox\"\n\t\t\t[attr.data-invalid]=\"(invalid ? true : null)\">\n\t\t\t<div\n\t\t\t\t[attr.aria-expanded]=\"open\"\n\t\t\t\trole=\"button\"\n\t\t\t\tclass=\"bx--list-box__field\"\n\t\t\t\ttype=\"button\"\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\t[attr.aria-label]=\"label\"\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t(click)=\"toggleDropdown()\"\n\t\t\t\t[id]=\"id\">\n\t\t\t\t<div\n\t\t\t\t\t*ngIf=\"type === 'multi' && pills.length > 0\"\n\t\t\t\t\t(click)=\"clearSelected()\"\n\t\t\t\t\t(keydown.enter)=\"clearSelected()\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"bx--tag--filter bx--list-box__selection--multi\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t[title]=\"clearSelectionsTitle\"\n\t\t\t\t\t[attr.aria-label]=\"clearSelectionAria\">\n\t\t\t\t\t{{ pills.length }}\n\t\t\t\t\t<svg\n\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\t\t\tstyle=\"will-change: transform;\"\n\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\twidth=\"16\"\n\t\t\t\t\t\theight=\"16\"\n\t\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t<path d=\"M12 4.7l-.7-.7L8 7.3 4.7 4l-.7.7L7.3 8 4 11.3l.7.7L8 8.7l3.3 3.3.7-.7L8.7 8z\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t</div>\n\t\t\t\t<input\n\t\t\t\t\t#input\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t(keyup)=\"onSearch($event.target.value)\"\n\t\t\t\t\t(keydown.enter)=\"onSubmit($event)\"\n\t\t\t\t\t[value]=\"selectedValue\"\n\t\t\t\t\tclass=\"bx--text-input\"\n\t\t\t\t\t[ngClass]=\"{'bx--text-input--empty': !showClearButton}\"\n\t\t\t\t\trole=\"searchbox\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t[attr.aria-aria-labelledby]=\"id\"\n\t\t\t\t\t[attr.maxlength]=\"maxLength\"\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tautocomplete=\"list\"\n\t\t\t\t\t[placeholder]=\"placeholder\"/>\n\t\t\t\t<ibm-icon-warning-filled16 *ngIf=\"invalid\" class=\"bx--list-box__invalid-icon\"></ibm-icon-warning-filled16>\n\t\t\t\t<div\n\t\t\t\t\t*ngIf=\"showClearButton\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"bx--list-box__selection\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t[attr.aria-label]=\"clearSelectionAria\"\n\t\t\t\t\t[title]=\"clearSelectionTitle\"\n\t\t\t\t\t(click)=\"clearInput($event)\">\n\t\t\t\t\t<ibm-icon-close16></ibm-icon-close16>\n\t\t\t\t</div>\n\t\t\t\t<ibm-icon-chevron-down16\n\t\t\t\t\t[ngClass]=\"{'bx--list-box__menu-icon--open': open}\"\n\t\t\t\t\tclass=\"bx--list-box__menu-icon\"\n\t\t\t\t\t[title]=\"open ? closeMenuAria : openMenuAria\"\n\t\t\t\t\t[ariaLabel]=\"open ? closeMenuAria : openMenuAria\">\n\t\t\t\t</ibm-icon-chevron-down16>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t#dropdownMenu\n\t\t\t\t*ngIf=\"open\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</div>\n\t\t<div *ngIf=\"invalid\">\n\t\t\t<div *ngIf=\"!isTemplate(invalidText)\" class=\"bx--form-requirement\">{{ invalidText }}</div>\n\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t</div>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: ComboBox,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class ComboBox implements OnChanges, AfterViewInit, AfterContentInit {\n\tstatic comboBoxCount = 0;\n\t@Input() id = `dropdown-${ComboBox.comboBoxCount++}`;\n\t/**\n\t * List of items to fill the content with.\n\t *\n\t * **Example:**\n\t * ```javascript\n\t * items = [\n\t *\t\t{\n\t *\t\t\tcontent: \"Abacus\",\n\t *\t\t\tselected: false\n\t *\t\t},\n\t *\t\t{\n\t *\t\t\tcontent: \"Byte\",\n\t *\t\t\tselected: false,\n\t *\t\t},\n\t *\t\t{\n\t *\t\t\tcontent: \"Computer\",\n\t *\t\t\tselected: false\n\t *\t\t},\n\t *\t\t{\n\t *\t\t\tcontent: \"Digital\",\n\t *\t\t\tselected: false\n\t *\t\t}\n\t * ];\n\t * ```\n\t *\n\t */\n\t@Input() items: Array<ListItem> = [];\n\t/**\n\t * Text to show when nothing is selected.\n\t */\n\t@Input() set placeholder(value: string | Observable<string>) {\n\t\tthis._placeholder.override(value);\n\t}\n\n\tget placeholder() {\n\t\treturn this._placeholder.value;\n\t}\n\t/**\n\t * Combo box type (supporting single or multi selection of items).\n\t */\n\t@Input() type: \"single\" | \"multi\" = \"single\";\n\t/**\n\t * Combo box render size.\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\t/**\n\t * Label for the combobox.\n\t */\n\t@Input() label: string | TemplateRef<any>;\n\t/**\n\t * Sets the optional helper text.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\t/**\n\t * Set to `true` for invalid state.\n\t */\n\t@Input() invalid = false;\n\t/**\n\t * Value displayed if dropdown is in invalid state.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\t/**\n\t * Max length value to limit input characters\n\t */\n\t@Input() maxLength: number = null;\n\t/**\n\t * Value to display for accessibility purposes on the combobox control menu when closed\n\t */\n\t@Input() set openMenuAria(value: string | Observable<string>) {\n\t\tthis._openMenuAria.override(value);\n\t}\n\n\tget openMenuAria() {\n\t\treturn this._openMenuAria.value;\n\t}\n\t/**\n\t * Value to display for accessibility purposes on the combobox control menu when opened\n\t */\n\t@Input() set closeMenuAria(value: string | Observable<string>) {\n\t\tthis._closeMenuAria.override(value);\n\t}\n\n\tget closeMenuAria() {\n\t\treturn this._closeMenuAria.value;\n\t}\n\t/**\n\t * Value to display on the clear selections icon, when multi is selected\n\t */\n\t@Input() set clearSelectionsTitle(value: string | Observable<string>) {\n\t\tthis._clearSelectionsTitle.override(value);\n\t}\n\n\tget clearSelectionsTitle() {\n\t\treturn this._clearSelectionsTitle.value;\n\t}\n\t/**\n\t * Value to display for accessibility purposes to clear selections, when multi is selected\n\t */\n\t@Input() set clearSelectionsAria(value: string | Observable<string>) {\n\t\tthis._clearSelectionsAria.override(value);\n\t}\n\n\tget clearSelectionsAria() {\n\t\treturn this._clearSelectionsAria.value;\n\t}\n\t/**\n\t * Value to display on the clear the selected item icon, when single is selected\n\t */\n\t@Input() set clearSelectionTitle(value: string | Observable<string>) {\n\t\tthis._clearSelectionTitle.override(value);\n\t}\n\n\tget clearSelectionTitle() {\n\t\treturn this._clearSelectionTitle.value;\n\t}\n\t/**\n\t * Value to display for accessibility purposes on the clear the selected item icon, when single is selected\n\t */\n\t@Input() set clearSelectionAria(value: string | Observable<string>) {\n\t\tthis._clearSelectionAria.override(value);\n\t}\n\n\tget clearSelectionAria() {\n\t\treturn this._clearSelectionAria.value;\n\t}\n\t/**\n\t * Set to `true` to disable combobox.\n\t */\n\t@HostBinding(\"attr.aria-disabled\") @Input() disabled = false;\n\t/**\n\t * Emits a ListItem\n\t *\n\t * Example:\n\t * ```javascript\n\t * {\n\t * \t\tcontent: \"one\",\n\t * \t\tselected: true\n\t * }\n\t * ```\n\t */\n\t@Output() selected = new EventEmitter<ListItem | ListItem[]>();\n\t/**\n\t * Intended to be used to add items to the list.\n\t *\n\t * Emits an event that includes the current item list, the suggested index for the new item, and a simple ListItem\n\t *\n\t * Example:\n\t * ```javascript\n\t *\t{\n\t *\t\titems: [{content: \"one\", selected: true}, {content: \"two\", selected: true}],\n\t *\t\tindex: 1,\n\t *\t\tvalue: {\n\t *\t\t\tcontent: \"some user string\",\n\t *\t\t\tselected: false\n\t *\t\t}\n\t *\t}\n\t * ```\n\t *\n\t *\n\t * Example:\n\t * ```javascript\n\t * {\n\t *\tafter: 1,\n\t *\tvalue: \"some user string\"\n\t * }\n\t * ```\n\t */\n\t@Output() submit = new EventEmitter<any>();\n\t/** emits an empty event when the menu is closed */\n\t@Output() close = new EventEmitter<any>();\n\t@Output() search = new EventEmitter<any>();\n\t/** ContentChild reference to the instantiated dropdown list */\n\t@ContentChild(AbstractDropdownView) view: AbstractDropdownView;\n\t@ViewChild(\"dropdownMenu\") dropdownMenu;\n\t@ViewChild(\"input\") input: ElementRef;\n\t@HostBinding(\"class.bx--list-box__wrapper\") hostClass = true;\n\t@HostBinding(\"attr.role\") role = \"combobox\";\n\t@HostBinding(\"style.display\") display = \"block\";\n\n\tpublic open = false;\n\n\tpublic showClearButton = false;\n\n\t/** Selected items for multi-select combo-boxes. */\n\tpublic pills = [];\n\t/** used to update the displayValue */\n\tpublic selectedValue = \"\";\n\n\tprotected noop = this._noop.bind(this);\n\tprotected onTouchedCallback: () => void = this._noop;\n\tprotected propagateChangeCallback: (_: any) => void = this._noop;\n\n\tprotected _placeholder = this.i18n.getOverridable(\"COMBOBOX.PLACEHOLDER\");\n\tprotected _closeMenuAria = this.i18n.getOverridable(\"COMBOBOX.A11Y.CLOSE_MENU\");\n\tprotected _openMenuAria = this.i18n.getOverridable(\"COMBOBOX.A11Y.OPEN_MENU\");\n\tprotected _clearSelectionsTitle = this.i18n.getOverridable(\"COMBOBOX.CLEAR_SELECTIONS\");\n\tprotected _clearSelectionsAria = this.i18n.getOverridable(\"COMBOBOX.A11Y.CLEAR_SELECTIONS\");\n\tprotected _clearSelectionTitle = this.i18n.getOverridable(\"COMBOBOX.CLEAR_SELECTED\");\n\tprotected _clearSelectionAria = this.i18n.getOverridable(\"COMBOBOX.A11Y.CLEAR_SELECTED\");\n\n\t/**\n\t * Creates an instance of ComboBox.\n\t */\n\tconstructor(\n\t\tprotected elementRef: ElementRef,\n\t\tprotected documentService: DocumentService,\n\t\tprotected i18n: I18n\n\t) {}\n\n\t/**\n\t * Lifecycle hook.\n\t * Updates pills if necessary.\n\t *\n\t */\n\tngOnChanges(changes) {\n\t\tif (changes.items) {\n\t\t\tthis.view.items = changes.items.currentValue;\n\t\t\t// If new items are added into the combobox while there is search input,\n\t\t\t// repeat the search.\n\t\t\tthis.onSearch(this.input.nativeElement.value, false);\n\t\t\tthis.updateSelected();\n\t\t}\n\t}\n\n\t/**\n\t * Sets initial state that depends on child components\n\t * Subscribes to select events and handles focus/filtering/initial list updates\n\t */\n\tngAfterContentInit() {\n\t\tif (this.view) {\n\t\t\tthis.view.type = this.type;\n\t\t\tthis.view.select.subscribe(event => {\n\t\t\t\tif (this.type === \"multi\") {\n\t\t\t\t\tthis.updatePills();\n\t\t\t\t\tthis.propagateChangeCallback(this.view.getSelected());\n\t\t\t\t} else {\n\t\t\t\t\tif (event.item && event.item.selected) {\n\t\t\t\t\t\tthis.showClearButton = true;\n\t\t\t\t\t\tthis.selectedValue = event.item.content;\n\t\t\t\t\t\tthis.propagateChangeCallback(event.item);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.selectedValue = \"\";\n\t\t\t\t\t\tthis.propagateChangeCallback(null);\n\t\t\t\t\t}\n\t\t\t\t\t// not guarding these since the nativeElement has to be loaded\n\t\t\t\t\t// for select to even fire\n\t\t\t\t\tthis.elementRef.nativeElement.querySelector(\"input\").focus();\n\t\t\t\t\tthis.view.filterBy(\"\");\n\t\t\t\t\tthis.closeDropdown();\n\t\t\t\t}\n\t\t\t\tthis.selected.emit(event);\n\t\t\t});\n\t\t\t// update the rest of combobox with any pre-selected items\n\t\t\t// setTimeout just defers the call to the next check cycle\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.updateSelected();\n\t\t\t});\n\n\t\t\tthis.view.blurIntent.pipe(filter(v => v === \"top\")).subscribe(() => {\n\t\t\t\tthis.elementRef.nativeElement.querySelector(\".bx--text-input\").focus();\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Binds event handlers against the rendered view\n\t */\n\tngAfterViewInit() {\n\t\tthis.documentService.handleClick(event => {\n\t\t\tif (!this.elementRef.nativeElement.contains(event.target)) {\n\t\t\t\tif (this.open) {\n\t\t\t\t\tthis.closeDropdown();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Handles `Escape` key closing the dropdown, and arrow up/down focus to/from the dropdown list.\n\t */\n\t@HostListener(\"keydown\", [\"$event\"])\n\thostkeys(ev: KeyboardEvent) {\n\t\tif (ev.key === \"Escape\") {\n\t\t\tthis.closeDropdown();\n\t\t} else if ((ev.key === \"ArrowDown\" || ev.key === \"Down\") // `\"Down\"` is IE specific value\n\t\t\t&& (!this.dropdownMenu || !this.dropdownMenu.nativeElement.contains(ev.target))) {\n\t\t\tev.stopPropagation();\n\t\t\tthis.openDropdown();\n\t\t\tsetTimeout(() => this.view.getCurrentElement().focus(), 0);\n\t\t}\n\t}\n\n\t/*\n\t * no-op method for null event listeners, and other no op calls\n\t */\n\t_noop() {}\n\n\t/*\n\t * propagates the value provided from ngModel\n\t */\n\twriteValue(value: any) {\n\t\tif (value) {\n\t\t\tif (this.type === \"single\") {\n\t\t\t\tthis.view.propagateSelected([value]);\n\t\t\t} else {\n\t\t\t\tthis.view.propagateSelected(value);\n\t\t\t}\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tthis.onTouchedCallback();\n\t}\n\n\tregisterOnChange(fn: any) {\n\t\tthis.propagateChangeCallback = fn;\n\t}\n\n\tregisterOnTouched(fn: any) {\n\t\tthis.onTouchedCallback = fn;\n\t}\n\n\t/**\n\t * Called by `n-pill-input` when the selected pills have changed.\n\t */\n\tpublic updatePills() {\n\t\tthis.pills = this.view.getSelected() || [];\n\t\tthis.propagateChangeCallback(this.view.getSelected());\n\t}\n\n\tpublic clearSelected() {\n\t\tthis.items = this.items.map(item => {\n\t\t\tif (!item.disabled) {\n\t\t\t\titem.selected = false;\n\t\t\t}\n\t\t\treturn item;\n\t\t});\n\t\tthis.view.items = this.items;\n\t\tthis.updatePills();\n\t\t// clearSelected can only fire on type=multi\n\t\t// so we just emit getSelected() (just in case there's any disabled but selected items)\n\t\tthis.selected.emit(this.view.getSelected() as any);\n\t}\n\n\t/**\n\t * Closes the dropdown and emits the close event.\n\t */\n\tpublic closeDropdown() {\n\t\tthis.open = false;\n\t\tthis.close.emit();\n\t}\n\n\t/**\n\t * Opens the dropdown.\n\t */\n\tpublic openDropdown() {\n\t\tif (this.disabled) { return; }\n\t\tthis.open = true;\n\t}\n\n\t/**\n\t * Toggles the dropdown.\n\t */\n\tpublic toggleDropdown() {\n\t\tif (this.open) {\n\t\t\tthis.closeDropdown();\n\t\t} else {\n\t\t\tthis.openDropdown();\n\t\t}\n\t}\n\n\t/**\n\t * Sets the list group filter, and manages single select item selection.\n\t */\n\tpublic onSearch(searchString, shouldEmitSearch = true) {\n\t\tif (shouldEmitSearch) {\n\t\t\tthis.search.emit(searchString);\n\t\t}\n\t\tthis.showClearButton = searchString && this.type === \"single\";\n\t\tthis.view.filterBy(searchString);\n\t\tif (searchString !== \"\") {\n\t\t\tthis.openDropdown();\n\t\t} else {\n\t\t\tthis.selectedValue = \"\";\n\t\t}\n\t\tif (this.type === \"single\") {\n\t\t\t// deselect if the input doesn't match the content\n\t\t\t// of any given item\n\t\t\tconst matches = this.view.getListItems().some(item => item.content.toLowerCase().includes(searchString.toLowerCase()));\n\t\t\tif (!matches) {\n\t\t\t\tconst selected = this.view.getSelected();\n\t\t\t\tif (selected && selected[0]) {\n\t\t\t\t\tselected[0].selected = false;\n\t\t\t\t\t// notify that the selection has changed\n\t\t\t\t\tthis.view.select.emit({ item: selected[0] });\n\t\t\t\t\tthis.propagateChangeCallback(null);\n\t\t\t\t} else {\n\t\t\t\t\tthis.view.filterBy(\"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Intended to be used to add items to the list.\n\t */\n\tpublic onSubmit(event: KeyboardEvent) {\n\t\tthis.submit.emit({\n\t\t\titems: this.view.getListItems(),\n\t\t\tindex: 0,\n\t\t\tvalue: {\n\t\t\t\tcontent: (event.target as HTMLInputElement).value,\n\t\t\t\tselected: false\n\t\t\t}\n\t\t});\n\t}\n\n\tclearInput(event) {\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\n\t\tthis.clearSelected();\n\t\tthis.input.nativeElement.value = \"\";\n\t\tthis.selectedValue = \"\";\n\t\tthis.closeDropdown();\n\n\t\tthis.showClearButton = false;\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\tprotected updateSelected() {\n\t\tconst selected = this.view.getSelected();\n\t\tif (this.type === \"multi\" ) {\n\t\t\tthis.updatePills();\n\t\t} else if (selected && selected[0]) {\n\t\t\tthis.selectedValue = selected[0].content;\n\t\t\tthis.propagateChangeCallback(selected[0]);\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"combobox.component.js","sourceRoot":"","sources":["../src/combobox/combobox.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,EAET,YAAY,EACZ,KAAK,EACL,MAAM,EACN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,YAAY,EAGZ,WAAW,EACX,WAAW,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAe,MAAM,qBAAqB,CAAC;AAGxD;;;;;;;GAOG;AACH;IAoTC;;OAEG;IACH,kBACW,UAAsB,EACtB,eAAgC,EAChC,IAAU;QAFV,eAAU,GAAV,UAAU,CAAY;QACtB,oBAAe,GAAf,eAAe,CAAiB;QAChC,SAAI,GAAJ,IAAI,CAAM;QA/MZ,OAAE,GAAG,cAAY,QAAQ,CAAC,aAAa,EAAI,CAAC;QACrD;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACM,UAAK,GAAoB,EAAE,CAAC;QAWrC;;WAEG;QACM,SAAI,GAAuB,QAAQ,CAAC;QAC7C;;WAEG;QACM,SAAI,GAAuB,IAAI,CAAC;QASzC;;WAEG;QACM,YAAO,GAAG,KAAK,CAAC;QAKzB;;WAEG;QACM,cAAS,GAAW,IAAI,CAAC;QA6DlC;;WAEG;QACyC,aAAQ,GAAG,KAAK,CAAC;QAC7D;;;;;;;;;;WAUG;QACO,aAAQ,GAAG,IAAI,YAAY,EAAyB,CAAC;QAC/D;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACO,WAAM,GAAG,IAAI,YAAY,EAAO,CAAC;QAC3C,mDAAmD;QACzC,UAAK,GAAG,IAAI,YAAY,EAAO,CAAC;QAChC,WAAM,GAAG,IAAI,YAAY,EAAO,CAAC;QAKC,cAAS,GAAG,IAAI,CAAC;QACnC,SAAI,GAAG,UAAU,CAAC;QACd,YAAO,GAAG,OAAO,CAAC;QAEzC,SAAI,GAAG,KAAK,CAAC;QAEb,oBAAe,GAAG,KAAK,CAAC;QAE/B,mDAAmD;QAC5C,UAAK,GAAG,EAAE,CAAC;QAClB,sCAAsC;QAC/B,kBAAa,GAAG,EAAE,CAAC;QAEhB,SAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,sBAAiB,GAAe,IAAI,CAAC,KAAK,CAAC;QAC3C,4BAAuB,GAAqB,IAAI,CAAC,KAAK,CAAC;QAEvD,iBAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;QAChE,mBAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;QACtE,kBAAa,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;QACpE,0BAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;QAC9E,yBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAC,CAAC;QAClF,yBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;QAC3E,wBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC;IAStF,CAAC;IAjLJ,sBAAa,iCAAW;aAIxB;YACC,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAChC,CAAC;QATD;;WAEG;aACH,UAAyB,KAAkC;YAC1D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;;;OAAA;IAoCD,sBAAa,kCAAY;aAIzB;YACC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACjC,CAAC;QATD;;WAEG;aACH,UAA0B,KAAkC;YAC3D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;;;OAAA;IAQD,sBAAa,mCAAa;aAI1B;YACC,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAClC,CAAC;QATD;;WAEG;aACH,UAA2B,KAAkC;YAC5D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;;;OAAA;IAQD,sBAAa,0CAAoB;aAIjC;YACC,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;QACzC,CAAC;QATD;;WAEG;aACH,UAAkC,KAAkC;YACnE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAQD,sBAAa,yCAAmB;aAIhC;YACC,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;QACxC,CAAC;QATD;;WAEG;aACH,UAAiC,KAAkC;YAClE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IAQD,sBAAa,yCAAmB;aAIhC;YACC,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;QACxC,CAAC;QATD;;WAEG;aACH,UAAiC,KAAkC;YAClE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IAQD,sBAAa,wCAAkB;aAI/B;YACC,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;QACvC,CAAC;QATD;;WAEG;aACH,UAAgC,KAAkC;YACjE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;;;OAAA;IAyFD;;;;OAIG;IACH,8BAAW,GAAX,UAAY,OAAO;QAClB,IAAI,OAAO,CAAC,KAAK,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;YAC7C,wEAAwE;YACxE,qBAAqB;YACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,cAAc,EAAE,CAAC;SACtB;IACF,CAAC;IAED;;;OAGG;IACH,qCAAkB,GAAlB;QAAA,iBAkCC;QAjCA,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAA,KAAK;gBAC/B,IAAI,KAAI,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC1B,KAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,KAAI,CAAC,uBAAuB,CAAC,KAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;iBACtD;qBAAM;oBACN,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;wBACtC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;wBAC5B,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;wBACxC,KAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBACzC;yBAAM;wBACN,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;wBACxB,KAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;qBACnC;oBACD,8DAA8D;oBAC9D,0BAA0B;oBAC1B,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;oBAC7D,KAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACvB,KAAI,CAAC,aAAa,EAAE,CAAC;iBACrB;gBACD,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,0DAA0D;YAC1D,0DAA0D;YAC1D,UAAU,CAAC;gBACV,KAAI,CAAC,cAAc,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,KAAK,EAAX,CAAW,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC7D,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAC;YACxE,CAAC,CAAC,CAAC;SACH;IACF,CAAC;IAED;;OAEG;IACH,kCAAe,GAAf;QAAA,iBAQC;QAPA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,UAAA,KAAK;YACrC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBAC1D,IAAI,KAAI,CAAC,IAAI,EAAE;oBACd,KAAI,CAAC,aAAa,EAAE,CAAC;iBACrB;aACD;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IAEH,2BAAQ,GADR,UACS,EAAiB;QAD1B,iBAUC;QARA,IAAI,EAAE,CAAC,GAAG,KAAK,QAAQ,EAAE;YACxB,IAAI,CAAC,aAAa,EAAE,CAAC;SACrB;aAAM,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,gCAAgC;eACrF,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE;YACjF,EAAE,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAArC,CAAqC,EAAE,CAAC,CAAC,CAAC;SAC3D;IACF,CAAC;IAED;;OAEG;IACH,wBAAK,GAAL,cAAS,CAAC;IAEV;;OAEG;IACH,6BAAU,GAAV,UAAW,KAAU;QACpB,IAAI,KAAK,EAAE;YACV,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACrC;iBAAM;gBACN,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;aACnC;SACD;IACF,CAAC;IAED,yBAAM,GAAN;QACC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAED,mCAAgB,GAAhB,UAAiB,EAAO;QACvB,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,oCAAiB,GAAjB,UAAkB,EAAO;QACxB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,8BAAW,GAAlB;QACC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;IAEM,gCAAa,GAApB;QACC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI;YAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACtB;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,4CAA4C;QAC5C,uFAAuF;QACvF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAS,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACI,gCAAa,GAApB;QACC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,+BAAY,GAAnB;QACC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;SAAE;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,iCAAc,GAArB;QACC,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,aAAa,EAAE,CAAC;SACrB;aAAM;YACN,IAAI,CAAC,YAAY,EAAE,CAAC;SACpB;IACF,CAAC;IAED;;OAEG;IACI,2BAAQ,GAAf,UAAgB,YAAY,EAAE,gBAAuB;QAAvB,iCAAA,EAAA,uBAAuB;QACpD,IAAI,gBAAgB,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/B;QACD,IAAI,CAAC,eAAe,GAAG,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjC,IAAI,YAAY,KAAK,EAAE,EAAE;YACxB,IAAI,CAAC,YAAY,EAAE,CAAC;SACpB;aAAM;YACN,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC3B,kDAAkD;YAClD,oBAAoB;YACpB,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,EAA/D,CAA+D,CAAC,CAAC;YACvH,IAAI,CAAC,OAAO,EAAE;gBACb,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;oBAC5B,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;oBAC7B,wCAAwC;oBACxC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC7C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;iBACnC;qBAAM;oBACN,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;iBACvB;aACD;SACD;IACF,CAAC;IAED;;OAEG;IACI,2BAAQ,GAAf,UAAgB,KAAoB;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAChB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAC/B,KAAK,EAAE,CAAC;YACR,KAAK,EAAE;gBACN,OAAO,EAAG,KAAK,CAAC,MAA2B,CAAC,KAAK;gBACjD,QAAQ,EAAE,KAAK;aACf;SACD,CAAC,CAAC;IACJ,CAAC;IAED,6BAAU,GAAV,UAAW,KAAK;QACf,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC9B,CAAC;IAEM,6BAAU,GAAjB,UAAkB,KAAK;QACtB,OAAO,KAAK,YAAY,WAAW,CAAC;IACrC,CAAC;IAES,iCAAc,GAAxB;QACC,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAG;YAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;SACnB;aAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;YACnC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1C;IACF,CAAC;IA5bM,sBAAa,GAAG,CAAC,CAAC;;gBA1GzB,SAAS,SAAC;oBACV,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE,gqHA8FT;oBACD,SAAS,EAAE;wBACV;4BACC,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,QAAQ;4BACrB,KAAK,EAAE,IAAI;yBACX;qBACD;iBACD;;;;gBAhIA,UAAU;gBAYF,eAAe;gBACf,IAAI;;;qBAsHX,KAAK;wBA2BL,KAAK;8BAIL,KAAK;uBAUL,KAAK;uBAIL,KAAK;wBAIL,KAAK;6BAIL,KAAK;0BAIL,KAAK;8BAIL,KAAK;4BAIL,KAAK;+BAIL,KAAK;gCAUL,KAAK;uCAUL,KAAK;sCAUL,KAAK;sCAUL,KAAK;qCAUL,KAAK;2BAUL,WAAW,SAAC,oBAAoB,cAAG,KAAK;2BAYxC,MAAM;yBA2BN,MAAM;wBAEN,MAAM;yBACN,MAAM;uBAEN,YAAY,SAAC,oBAAoB;+BACjC,SAAS,SAAC,cAAc;wBACxB,SAAS,SAAC,OAAO;4BACjB,WAAW,SAAC,6BAA6B;uBACzC,WAAW,SAAC,WAAW;0BACvB,WAAW,SAAC,eAAe;2BAuG3B,YAAY,SAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;IAmKpC,eAAC;CAAA,AAviBD,IAuiBC;SA9bY,QAAQ","sourcesContent":["import {\n\tComponent,\n\tOnChanges,\n\tContentChild,\n\tInput,\n\tOutput,\n\tHostListener,\n\tElementRef,\n\tViewChild,\n\tEventEmitter,\n\tAfterViewInit,\n\tAfterContentInit,\n\tHostBinding,\n\tTemplateRef\n} from \"@angular/core\";\nimport { AbstractDropdownView } from \"./../dropdown/abstract-dropdown-view.class\";\nimport { ListItem } from \"./../dropdown/list-item.interface\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { filter } from \"rxjs/operators\";\nimport { DocumentService } from \"../utils/utils.module\";\nimport { I18n, Overridable } from \"../i18n/i18n.module\";\nimport { Observable } from \"rxjs\";\n\n/**\n * ComboBoxes are similar to dropdowns, except a combobox provides an input field for users to search items and (optionally) add their own.\n * Multi-select comboboxes also provide \"pills\" of selected items.\n *\n * [See demo](../../?path=/story/combobox--basic)\n *\n * <example-url>../../iframe.html?id=combobox--basic</example-url>\n */\n@Component({\n\tselector: \"ibm-combo-box\",\n\ttemplate: `\n\t\t<label *ngIf=\"label\" [for]=\"id\" class=\"bx--label\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n\t\t</label>\n\t\t<div *ngIf=\"helperText\" class=\"bx--form__helper-text\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t</div>\n\t\t<div\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--multi-select': type === 'multi',\n\t\t\t\t'bx--combo-box': type === 'single' || !pills.length,\n\t\t\t\t'bx--list-box--disabled': disabled\n\t\t\t}\"\n\t\t\tclass=\"bx--combo-box bx--list-box\"\n\t\t\trole=\"listbox\"\n\t\t\t[attr.data-invalid]=\"(invalid ? true : null)\">\n\t\t\t<div\n\t\t\t\t[attr.aria-expanded]=\"open\"\n\t\t\t\trole=\"button\"\n\t\t\t\tclass=\"bx--list-box__field\"\n\t\t\t\ttype=\"button\"\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\t[attr.aria-label]=\"label\"\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t(click)=\"toggleDropdown()\"\n\t\t\t\t[id]=\"id\">\n\t\t\t\t<div\n\t\t\t\t\t*ngIf=\"type === 'multi' && pills.length > 0\"\n\t\t\t\t\t(click)=\"clearSelected()\"\n\t\t\t\t\t(keydown.enter)=\"clearSelected()\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"bx--tag--filter bx--list-box__selection--multi\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t[title]=\"clearSelectionsTitle\"\n\t\t\t\t\t[attr.aria-label]=\"clearSelectionAria\">\n\t\t\t\t\t{{ pills.length }}\n\t\t\t\t\t<svg\n\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\t\t\tstyle=\"will-change: transform;\"\n\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\twidth=\"16\"\n\t\t\t\t\t\theight=\"16\"\n\t\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t<path d=\"M12 4.7l-.7-.7L8 7.3 4.7 4l-.7.7L7.3 8 4 11.3l.7.7L8 8.7l3.3 3.3.7-.7L8.7 8z\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t</div>\n\t\t\t\t<input\n\t\t\t\t\t#input\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t(keyup)=\"onSearch($event.target.value)\"\n\t\t\t\t\t(keydown.enter)=\"onSubmit($event)\"\n\t\t\t\t\t[value]=\"selectedValue\"\n\t\t\t\t\tclass=\"bx--text-input\"\n\t\t\t\t\t[ngClass]=\"{'bx--text-input--empty': !showClearButton}\"\n\t\t\t\t\trole=\"searchbox\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t[attr.aria-aria-labelledby]=\"id\"\n\t\t\t\t\t[attr.maxlength]=\"maxLength\"\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tautocomplete=\"list\"\n\t\t\t\t\t[placeholder]=\"placeholder\"/>\n\t\t\t\t<ibm-icon-warning-filled16 *ngIf=\"invalid\" class=\"bx--list-box__invalid-icon\"></ibm-icon-warning-filled16>\n\t\t\t\t<div\n\t\t\t\t\t*ngIf=\"showClearButton\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"bx--list-box__selection\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t[attr.aria-label]=\"clearSelectionAria\"\n\t\t\t\t\t[title]=\"clearSelectionTitle\"\n\t\t\t\t\t(click)=\"clearInput($event)\">\n\t\t\t\t\t<ibm-icon-close16></ibm-icon-close16>\n\t\t\t\t</div>\n\t\t\t\t<ibm-icon-chevron-down16\n\t\t\t\t\t[ngClass]=\"{'bx--list-box__menu-icon--open': open}\"\n\t\t\t\t\tclass=\"bx--list-box__menu-icon\"\n\t\t\t\t\t[title]=\"open ? closeMenuAria : openMenuAria\"\n\t\t\t\t\t[ariaLabel]=\"open ? closeMenuAria : openMenuAria\">\n\t\t\t\t</ibm-icon-chevron-down16>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t#dropdownMenu\n\t\t\t\t*ngIf=\"open\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</div>\n\t\t<div *ngIf=\"invalid\">\n\t\t\t<div *ngIf=\"!isTemplate(invalidText)\" class=\"bx--form-requirement\">{{ invalidText }}</div>\n\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t</div>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: ComboBox,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class ComboBox implements OnChanges, AfterViewInit, AfterContentInit {\n\tstatic comboBoxCount = 0;\n\t@Input() id = `dropdown-${ComboBox.comboBoxCount++}`;\n\t/**\n\t * List of items to fill the content with.\n\t *\n\t * **Example:**\n\t * ```javascript\n\t * items = [\n\t *\t\t{\n\t *\t\t\tcontent: \"Abacus\",\n\t *\t\t\tselected: false\n\t *\t\t},\n\t *\t\t{\n\t *\t\t\tcontent: \"Byte\",\n\t *\t\t\tselected: false,\n\t *\t\t},\n\t *\t\t{\n\t *\t\t\tcontent: \"Computer\",\n\t *\t\t\tselected: false\n\t *\t\t},\n\t *\t\t{\n\t *\t\t\tcontent: \"Digital\",\n\t *\t\t\tselected: false\n\t *\t\t}\n\t * ];\n\t * ```\n\t *\n\t */\n\t@Input() items: Array<ListItem> = [];\n\t/**\n\t * Text to show when nothing is selected.\n\t */\n\t@Input() set placeholder(value: string | Observable<string>) {\n\t\tthis._placeholder.override(value);\n\t}\n\n\tget placeholder() {\n\t\treturn this._placeholder.value;\n\t}\n\t/**\n\t * Combo box type (supporting single or multi selection of items).\n\t */\n\t@Input() type: \"single\" | \"multi\" = \"single\";\n\t/**\n\t * Combo box render size.\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\t/**\n\t * Label for the combobox.\n\t */\n\t@Input() label: string | TemplateRef<any>;\n\t/**\n\t * Sets the optional helper text.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\t/**\n\t * Set to `true` for invalid state.\n\t */\n\t@Input() invalid = false;\n\t/**\n\t * Value displayed if dropdown is in invalid state.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\t/**\n\t * Max length value to limit input characters\n\t */\n\t@Input() maxLength: number = null;\n\t/**\n\t * Value to display for accessibility purposes on the combobox control menu when closed\n\t */\n\t@Input() set openMenuAria(value: string | Observable<string>) {\n\t\tthis._openMenuAria.override(value);\n\t}\n\n\tget openMenuAria() {\n\t\treturn this._openMenuAria.value;\n\t}\n\t/**\n\t * Value to display for accessibility purposes on the combobox control menu when opened\n\t */\n\t@Input() set closeMenuAria(value: string | Observable<string>) {\n\t\tthis._closeMenuAria.override(value);\n\t}\n\n\tget closeMenuAria() {\n\t\treturn this._closeMenuAria.value;\n\t}\n\t/**\n\t * Value to display on the clear selections icon, when multi is selected\n\t */\n\t@Input() set clearSelectionsTitle(value: string | Observable<string>) {\n\t\tthis._clearSelectionsTitle.override(value);\n\t}\n\n\tget clearSelectionsTitle() {\n\t\treturn this._clearSelectionsTitle.value;\n\t}\n\t/**\n\t * Value to display for accessibility purposes to clear selections, when multi is selected\n\t */\n\t@Input() set clearSelectionsAria(value: string | Observable<string>) {\n\t\tthis._clearSelectionsAria.override(value);\n\t}\n\n\tget clearSelectionsAria() {\n\t\treturn this._clearSelectionsAria.value;\n\t}\n\t/**\n\t * Value to display on the clear the selected item icon, when single is selected\n\t */\n\t@Input() set clearSelectionTitle(value: string | Observable<string>) {\n\t\tthis._clearSelectionTitle.override(value);\n\t}\n\n\tget clearSelectionTitle() {\n\t\treturn this._clearSelectionTitle.value;\n\t}\n\t/**\n\t * Value to display for accessibility purposes on the clear the selected item icon, when single is selected\n\t */\n\t@Input() set clearSelectionAria(value: string | Observable<string>) {\n\t\tthis._clearSelectionAria.override(value);\n\t}\n\n\tget clearSelectionAria() {\n\t\treturn this._clearSelectionAria.value;\n\t}\n\t/**\n\t * Set to `true` to disable combobox.\n\t */\n\t@HostBinding(\"attr.aria-disabled\") @Input() disabled = false;\n\t/**\n\t * Emits a ListItem\n\t *\n\t * Example:\n\t * ```javascript\n\t * {\n\t * \t\tcontent: \"one\",\n\t * \t\tselected: true\n\t * }\n\t * ```\n\t */\n\t@Output() selected = new EventEmitter<ListItem | ListItem[]>();\n\t/**\n\t * Intended to be used to add items to the list.\n\t *\n\t * Emits an event that includes the current item list, the suggested index for the new item, and a simple ListItem\n\t *\n\t * Example:\n\t * ```javascript\n\t *\t{\n\t *\t\titems: [{content: \"one\", selected: true}, {content: \"two\", selected: true}],\n\t *\t\tindex: 1,\n\t *\t\tvalue: {\n\t *\t\t\tcontent: \"some user string\",\n\t *\t\t\tselected: false\n\t *\t\t}\n\t *\t}\n\t * ```\n\t *\n\t *\n\t * Example:\n\t * ```javascript\n\t * {\n\t *\tafter: 1,\n\t *\tvalue: \"some user string\"\n\t * }\n\t * ```\n\t */\n\t@Output() submit = new EventEmitter<any>();\n\t/** emits an empty event when the menu is closed */\n\t@Output() close = new EventEmitter<any>();\n\t@Output() search = new EventEmitter<any>();\n\t/** ContentChild reference to the instantiated dropdown list */\n\t@ContentChild(AbstractDropdownView) view: AbstractDropdownView;\n\t@ViewChild(\"dropdownMenu\") dropdownMenu;\n\t@ViewChild(\"input\") input: ElementRef;\n\t@HostBinding(\"class.bx--list-box__wrapper\") hostClass = true;\n\t@HostBinding(\"attr.role\") role = \"combobox\";\n\t@HostBinding(\"style.display\") display = \"block\";\n\n\tpublic open = false;\n\n\tpublic showClearButton = false;\n\n\t/** Selected items for multi-select combo-boxes. */\n\tpublic pills = [];\n\t/** used to update the displayValue */\n\tpublic selectedValue = \"\";\n\n\tprotected noop = this._noop.bind(this);\n\tprotected onTouchedCallback: () => void = this._noop;\n\tprotected propagateChangeCallback: (_: any) => void = this._noop;\n\n\tprotected _placeholder = this.i18n.getOverridable(\"COMBOBOX.PLACEHOLDER\");\n\tprotected _closeMenuAria = this.i18n.getOverridable(\"COMBOBOX.A11Y.CLOSE_MENU\");\n\tprotected _openMenuAria = this.i18n.getOverridable(\"COMBOBOX.A11Y.OPEN_MENU\");\n\tprotected _clearSelectionsTitle = this.i18n.getOverridable(\"COMBOBOX.CLEAR_SELECTIONS\");\n\tprotected _clearSelectionsAria = this.i18n.getOverridable(\"COMBOBOX.A11Y.CLEAR_SELECTIONS\");\n\tprotected _clearSelectionTitle = this.i18n.getOverridable(\"COMBOBOX.CLEAR_SELECTED\");\n\tprotected _clearSelectionAria = this.i18n.getOverridable(\"COMBOBOX.A11Y.CLEAR_SELECTED\");\n\n\t/**\n\t * Creates an instance of ComboBox.\n\t */\n\tconstructor(\n\t\tprotected elementRef: ElementRef,\n\t\tprotected documentService: DocumentService,\n\t\tprotected i18n: I18n\n\t) {}\n\n\t/**\n\t * Lifecycle hook.\n\t * Updates pills if necessary.\n\t *\n\t */\n\tngOnChanges(changes) {\n\t\tif (changes.items) {\n\t\t\tthis.view.items = changes.items.currentValue;\n\t\t\t// If new items are added into the combobox while there is search input,\n\t\t\t// repeat the search.\n\t\t\tthis.onSearch(this.input.nativeElement.value, false);\n\t\t\tthis.updateSelected();\n\t\t}\n\t}\n\n\t/**\n\t * Sets initial state that depends on child components\n\t * Subscribes to select events and handles focus/filtering/initial list updates\n\t */\n\tngAfterContentInit() {\n\t\tif (this.view) {\n\t\t\tthis.view.type = this.type;\n\t\t\tthis.view.select.subscribe(event => {\n\t\t\t\tif (this.type === \"multi\") {\n\t\t\t\t\tthis.updatePills();\n\t\t\t\t\tthis.propagateChangeCallback(this.view.getSelected());\n\t\t\t\t} else {\n\t\t\t\t\tif (event.item && event.item.selected) {\n\t\t\t\t\t\tthis.showClearButton = true;\n\t\t\t\t\t\tthis.selectedValue = event.item.content;\n\t\t\t\t\t\tthis.propagateChangeCallback(event.item);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.selectedValue = \"\";\n\t\t\t\t\t\tthis.propagateChangeCallback(null);\n\t\t\t\t\t}\n\t\t\t\t\t// not guarding these since the nativeElement has to be loaded\n\t\t\t\t\t// for select to even fire\n\t\t\t\t\tthis.elementRef.nativeElement.querySelector(\"input\").focus();\n\t\t\t\t\tthis.view.filterBy(\"\");\n\t\t\t\t\tthis.closeDropdown();\n\t\t\t\t}\n\t\t\t\tthis.selected.emit(event);\n\t\t\t});\n\t\t\t// update the rest of combobox with any pre-selected items\n\t\t\t// setTimeout just defers the call to the next check cycle\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.updateSelected();\n\t\t\t});\n\n\t\t\tthis.view.blurIntent.pipe(filter(v => v === \"top\")).subscribe(() => {\n\t\t\t\tthis.elementRef.nativeElement.querySelector(\".bx--text-input\").focus();\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Binds event handlers against the rendered view\n\t */\n\tngAfterViewInit() {\n\t\tthis.documentService.handleClick(event => {\n\t\t\tif (!this.elementRef.nativeElement.contains(event.target)) {\n\t\t\t\tif (this.open) {\n\t\t\t\t\tthis.closeDropdown();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Handles `Escape` key closing the dropdown, and arrow up/down focus to/from the dropdown list.\n\t */\n\t@HostListener(\"keydown\", [\"$event\"])\n\thostkeys(ev: KeyboardEvent) {\n\t\tif (ev.key === \"Escape\") {\n\t\t\tthis.closeDropdown();\n\t\t} else if ((ev.key === \"ArrowDown\" || ev.key === \"Down\") // `\"Down\"` is IE specific value\n\t\t\t&& (!this.dropdownMenu || !this.dropdownMenu.nativeElement.contains(ev.target))) {\n\t\t\tev.stopPropagation();\n\t\t\tthis.openDropdown();\n\t\t\tsetTimeout(() => this.view.getCurrentElement().focus(), 0);\n\t\t}\n\t}\n\n\t/*\n\t * no-op method for null event listeners, and other no op calls\n\t */\n\t_noop() {}\n\n\t/*\n\t * propagates the value provided from ngModel\n\t */\n\twriteValue(value: any) {\n\t\tif (value) {\n\t\t\tif (this.type === \"single\") {\n\t\t\t\tthis.view.propagateSelected([value]);\n\t\t\t} else {\n\t\t\t\tthis.view.propagateSelected(value);\n\t\t\t}\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tthis.onTouchedCallback();\n\t}\n\n\tregisterOnChange(fn: any) {\n\t\tthis.propagateChangeCallback = fn;\n\t}\n\n\tregisterOnTouched(fn: any) {\n\t\tthis.onTouchedCallback = fn;\n\t}\n\n\t/**\n\t * Called by `n-pill-input` when the selected pills have changed.\n\t */\n\tpublic updatePills() {\n\t\tthis.pills = this.view.getSelected() || [];\n\t\tthis.propagateChangeCallback(this.view.getSelected());\n\t}\n\n\tpublic clearSelected() {\n\t\tthis.items = this.items.map(item => {\n\t\t\tif (!item.disabled) {\n\t\t\t\titem.selected = false;\n\t\t\t}\n\t\t\treturn item;\n\t\t});\n\t\tthis.view.items = this.items;\n\t\tthis.updatePills();\n\t\t// clearSelected can only fire on type=multi\n\t\t// so we just emit getSelected() (just in case there's any disabled but selected items)\n\t\tthis.selected.emit(this.view.getSelected() as any);\n\t}\n\n\t/**\n\t * Closes the dropdown and emits the close event.\n\t */\n\tpublic closeDropdown() {\n\t\tthis.open = false;\n\t\tthis.close.emit();\n\t}\n\n\t/**\n\t * Opens the dropdown.\n\t */\n\tpublic openDropdown() {\n\t\tif (this.disabled) { return; }\n\t\tthis.open = true;\n\t}\n\n\t/**\n\t * Toggles the dropdown.\n\t */\n\tpublic toggleDropdown() {\n\t\tif (this.open) {\n\t\t\tthis.closeDropdown();\n\t\t} else {\n\t\t\tthis.openDropdown();\n\t\t}\n\t}\n\n\t/**\n\t * Sets the list group filter, and manages single select item selection.\n\t */\n\tpublic onSearch(searchString, shouldEmitSearch = true) {\n\t\tif (shouldEmitSearch) {\n\t\t\tthis.search.emit(searchString);\n\t\t}\n\t\tthis.showClearButton = searchString && this.type === \"single\";\n\t\tthis.view.filterBy(searchString);\n\t\tif (searchString !== \"\") {\n\t\t\tthis.openDropdown();\n\t\t} else {\n\t\t\tthis.selectedValue = \"\";\n\t\t}\n\t\tif (this.type === \"single\") {\n\t\t\t// deselect if the input doesn't match the content\n\t\t\t// of any given item\n\t\t\tconst matches = this.view.getListItems().some(item => item.content.toLowerCase().includes(searchString.toLowerCase()));\n\t\t\tif (!matches) {\n\t\t\t\tconst selected = this.view.getSelected();\n\t\t\t\tif (selected && selected[0]) {\n\t\t\t\t\tselected[0].selected = false;\n\t\t\t\t\t// notify that the selection has changed\n\t\t\t\t\tthis.view.select.emit({ item: selected[0] });\n\t\t\t\t\tthis.propagateChangeCallback(null);\n\t\t\t\t} else {\n\t\t\t\t\tthis.view.filterBy(\"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Intended to be used to add items to the list.\n\t */\n\tpublic onSubmit(event: KeyboardEvent) {\n\t\tthis.submit.emit({\n\t\t\titems: this.view.getListItems(),\n\t\t\tindex: 0,\n\t\t\tvalue: {\n\t\t\t\tcontent: (event.target as HTMLInputElement).value,\n\t\t\t\tselected: false\n\t\t\t}\n\t\t});\n\t}\n\n\tclearInput(event) {\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\n\t\tthis.clearSelected();\n\t\tthis.input.nativeElement.value = \"\";\n\t\tthis.selectedValue = \"\";\n\t\tthis.closeDropdown();\n\n\t\tthis.showClearButton = false;\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\tprotected updateSelected() {\n\t\tconst selected = this.view.getSelected();\n\t\tif (this.type === \"multi\" ) {\n\t\t\tthis.updatePills();\n\t\t} else if (selected && selected[0]) {\n\t\t\tthis.selectedValue = selected[0].content;\n\t\t\tthis.showClearButton = true;\n\t\t\tthis.propagateChangeCallback(selected[0]);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -3980,6 +3980,7 @@ export class ComboBox implements OnChanges, AfterViewInit, AfterContentInit {
|
|
|
3980
3980
|
this.updatePills();
|
|
3981
3981
|
} else if (selected && selected[0]) {
|
|
3982
3982
|
this.selectedValue = selected[0].content;
|
|
3983
|
+
this.showClearButton = true;
|
|
3983
3984
|
this.propagateChangeCallback(selected[0]);
|
|
3984
3985
|
}
|
|
3985
3986
|
}
|
|
@@ -2,9 +2,7 @@ digraph dependencies { node [shape="rect", style="filled", colorscheme=set312];
|
|
|
2
2
|
provide: NG_VALUE_ACCESSOR, useExisting: Checkbox, multi: true
|
|
3
3
|
}" -> "Checkbox" [lhead="cluster_CheckboxModule_declarations" ltail="cluster_CheckboxModule_Checkbox_providers"]; } subgraph cluster_CheckboxModule_imports { style="solid"; node [style="filled", fillcolor=1, shape="rect"]; } subgraph cluster_CheckboxModule_exports { style="solid";node [style="filled", fillcolor=4, shape="rect"];"Checkbox " [label="Checkbox ", shape="rect"]} "CheckboxModule" -> "Checkbox " [style="dashed", ltail="cluster_CheckboxModule" lhead="cluster_CheckboxModule_exports"]; subgraph cluster_CheckboxModule_bootstrap { style="solid"; node [style="filled", fillcolor=5, shape="rect"]; } subgraph cluster_CheckboxModule_providers { style="solid"; node [style="filled", fillcolor=6, shape="rect"]; } } subgraph "cluster_CodeSnippetModule" { label=""; style="dotted";node [shape="folder", fillcolor=1]; subgraph cluster_CodeSnippetModule_declarations { style="solid";node [style="filled", shape="rect"]; node [fillcolor=2]; "CodeSnippet"; } "CodeSnippet" -> "CodeSnippetModule" [style="solid", lhead="cluster_CodeSnippetModule" ltail="cluster_CodeSnippetModule_declarations"]; subgraph "cluster_CodeSnippetModule_CodeSnippet_providers" { style="solid"; } subgraph cluster_CodeSnippetModule_imports { style="solid"; node [style="filled", fillcolor=1, shape="rect"]; "I18nModule" [label="I18nModule", shape="folder"]; } "I18nModule" -> "CodeSnippetModule" [lhead="cluster_CodeSnippetModule", ltail="cluster_CodeSnippetModule_imports"]; subgraph cluster_CodeSnippetModule_exports { style="solid";node [style="filled", fillcolor=4, shape="rect"];"CodeSnippet " [label="CodeSnippet ", shape="rect"]} "CodeSnippetModule" -> "CodeSnippet " [style="dashed", ltail="cluster_CodeSnippetModule" lhead="cluster_CodeSnippetModule_exports"]; subgraph cluster_CodeSnippetModule_bootstrap { style="solid"; node [style="filled", fillcolor=5, shape="rect"]; } subgraph cluster_CodeSnippetModule_providers { style="solid"; node [style="filled", fillcolor=6, shape="rect"]; } } subgraph "cluster_ComboBoxModule" { label=""; style="dotted";node [shape="folder", fillcolor=1]; subgraph cluster_ComboBoxModule_declarations { style="solid";node [style="filled", shape="rect"]; node [fillcolor=2]; "ComboBox"; } "ComboBox" -> "ComboBoxModule" [style="solid", lhead="cluster_ComboBoxModule" ltail="cluster_ComboBoxModule_declarations"]; subgraph "cluster_ComboBoxModule_ComboBox_providers" { style="solid"; node [fillcolor=6, shape="oval", style="filled"]; "{
|
|
4
4
|
provide: NG_VALUE_ACCESSOR, useExisting: ComboBox, multi: true
|
|
5
|
-
}" -> "ComboBox" [lhead="cluster_ComboBoxModule_declarations" ltail="cluster_ComboBoxModule_ComboBox_providers"]; } subgraph cluster_ComboBoxModule_imports { style="solid"; node [style="filled", fillcolor=1, shape="rect"]; "DropdownModule" [label="DropdownModule", shape="folder"]; "I18nModule" [label="I18nModule", shape="folder"]; "UtilsModule" [label="UtilsModule", shape="folder"]; } "DropdownModule" -> "ComboBoxModule" [lhead="cluster_ComboBoxModule", ltail="cluster_ComboBoxModule_imports"]; "I18nModule" -> "ComboBoxModule" [lhead="cluster_ComboBoxModule", ltail="cluster_ComboBoxModule_imports"]; "UtilsModule" -> "ComboBoxModule" [lhead="cluster_ComboBoxModule", ltail="cluster_ComboBoxModule_imports"]; subgraph cluster_ComboBoxModule_exports { style="solid";node [style="filled", fillcolor=4, shape="rect"];"ComboBox " [label="ComboBox ", shape="rect"]"DropdownModule " [label="DropdownModule ", shape="rect"]} "ComboBoxModule" -> "ComboBox " [style="dashed", ltail="cluster_ComboBoxModule" lhead="cluster_ComboBoxModule_exports"]; "ComboBoxModule" -> "DropdownModule " [style="dashed", ltail="cluster_ComboBoxModule" lhead="cluster_ComboBoxModule_exports"]; subgraph cluster_ComboBoxModule_bootstrap { style="solid"; node [style="filled", fillcolor=5, shape="rect"]; } subgraph cluster_ComboBoxModule_providers { style="solid"; node [style="filled", fillcolor=6, shape="rect"]; } } subgraph "cluster_ContentSwitcherModule" { label=""; style="dotted";node [shape="folder", fillcolor=1]; subgraph cluster_ContentSwitcherModule_declarations { style="solid";node [style="filled", shape="rect"]; node [fillcolor=2]; "ContentSwitcher"; node [fillcolor=2]; "ContentSwitcherOption"; } "ContentSwitcher" -> "ContentSwitcherModule" [style="solid", lhead="cluster_ContentSwitcherModule" ltail="cluster_ContentSwitcherModule_declarations"]; subgraph "cluster_ContentSwitcherModule_ContentSwitcher_providers" { style="solid"; } "ContentSwitcherOption" -> "ContentSwitcherModule" [style="solid", lhead="cluster_ContentSwitcherModule" ltail="cluster_ContentSwitcherModule_declarations"]; subgraph "cluster_ContentSwitcherModule_ContentSwitcherOption_providers" { style="solid"; } subgraph cluster_ContentSwitcherModule_imports { style="solid"; node [style="filled", fillcolor=1, shape="rect"]; } subgraph cluster_ContentSwitcherModule_exports { style="solid";node [style="filled", fillcolor=4, shape="rect"];"ContentSwitcher " [label="ContentSwitcher ", shape="rect"]"ContentSwitcherOption " [label="ContentSwitcherOption ", shape="rect"]} "ContentSwitcherModule" -> "ContentSwitcher " [style="dashed", ltail="cluster_ContentSwitcherModule" lhead="cluster_ContentSwitcherModule_exports"]; "ContentSwitcherModule" -> "ContentSwitcherOption " [style="dashed", ltail="cluster_ContentSwitcherModule" lhead="cluster_ContentSwitcherModule_exports"]; subgraph cluster_ContentSwitcherModule_bootstrap { style="solid"; node [style="filled", fillcolor=5, shape="rect"]; } subgraph cluster_ContentSwitcherModule_providers { style="solid"; node [style="filled", fillcolor=6, shape="rect"]; } } subgraph "cluster_DatePickerInputModule" { label=""; style="dotted";node [shape="folder", fillcolor=1]; subgraph cluster_DatePickerInputModule_declarations { style="solid";node [style="filled", shape="rect"]; node [fillcolor=2]; "DatePickerInput"; } "DatePickerInput" -> "DatePickerInputModule" [style="solid", lhead="cluster_DatePickerInputModule" ltail="cluster_DatePickerInputModule_declarations"]; subgraph "cluster_DatePickerInputModule_DatePickerInput_providers" { style="solid"; node [fillcolor=6, shape="oval", style="filled"]; "{
|
|
6
|
-
provide: NG_VALUE_ACCESSOR, useExisting: DatePickerInput, multi: true
|
|
7
|
-
}" -> "DatePickerInput" [lhead="cluster_DatePickerInputModule_declarations" ltail="cluster_DatePickerInputModule_DatePickerInput_providers"]; } subgraph cluster_DatePickerInputModule_imports { style="solid"; node [style="filled", fillcolor=1, shape="rect"]; } subgraph cluster_DatePickerInputModule_exports { style="solid";node [style="filled", fillcolor=4, shape="rect"];"DatePickerInput " [label="DatePickerInput ", shape="rect"]} "DatePickerInputModule" -> "DatePickerInput " [style="dashed", ltail="cluster_DatePickerInputModule" lhead="cluster_DatePickerInputModule_exports"]; subgraph cluster_DatePickerInputModule_bootstrap { style="solid"; node [style="filled", fillcolor=5, shape="rect"]; } subgraph cluster_DatePickerInputModule_providers { style="solid"; node [style="filled", fillcolor=6, shape="rect"]; } } subgraph "cluster_DatePickerModule" { label=""; style="dotted";node [shape="folder", fillcolor=1]; subgraph cluster_DatePickerModule_declarations { style="solid";node [style="filled", shape="rect"]; node [fillcolor=2]; "DatePicker"; } "DatePicker" -> "DatePickerModule" [style="solid", lhead="cluster_DatePickerModule" ltail="cluster_DatePickerModule_declarations"]; subgraph "cluster_DatePickerModule_DatePicker_providers" { style="solid"; node [fillcolor=6, shape="oval", style="filled"]; "{
|
|
5
|
+
}" -> "ComboBox" [lhead="cluster_ComboBoxModule_declarations" ltail="cluster_ComboBoxModule_ComboBox_providers"]; } subgraph cluster_ComboBoxModule_imports { style="solid"; node [style="filled", fillcolor=1, shape="rect"]; "DropdownModule" [label="DropdownModule", shape="folder"]; "I18nModule" [label="I18nModule", shape="folder"]; "UtilsModule" [label="UtilsModule", shape="folder"]; } "DropdownModule" -> "ComboBoxModule" [lhead="cluster_ComboBoxModule", ltail="cluster_ComboBoxModule_imports"]; "I18nModule" -> "ComboBoxModule" [lhead="cluster_ComboBoxModule", ltail="cluster_ComboBoxModule_imports"]; "UtilsModule" -> "ComboBoxModule" [lhead="cluster_ComboBoxModule", ltail="cluster_ComboBoxModule_imports"]; subgraph cluster_ComboBoxModule_exports { style="solid";node [style="filled", fillcolor=4, shape="rect"];"ComboBox " [label="ComboBox ", shape="rect"]"DropdownModule " [label="DropdownModule ", shape="rect"]} "ComboBoxModule" -> "ComboBox " [style="dashed", ltail="cluster_ComboBoxModule" lhead="cluster_ComboBoxModule_exports"]; "ComboBoxModule" -> "DropdownModule " [style="dashed", ltail="cluster_ComboBoxModule" lhead="cluster_ComboBoxModule_exports"]; subgraph cluster_ComboBoxModule_bootstrap { style="solid"; node [style="filled", fillcolor=5, shape="rect"]; } subgraph cluster_ComboBoxModule_providers { style="solid"; node [style="filled", fillcolor=6, shape="rect"]; } } subgraph "cluster_ContentSwitcherModule" { label=""; style="dotted";node [shape="folder", fillcolor=1]; subgraph cluster_ContentSwitcherModule_declarations { style="solid";node [style="filled", shape="rect"]; node [fillcolor=2]; "ContentSwitcher"; node [fillcolor=2]; "ContentSwitcherOption"; } "ContentSwitcher" -> "ContentSwitcherModule" [style="solid", lhead="cluster_ContentSwitcherModule" ltail="cluster_ContentSwitcherModule_declarations"]; subgraph "cluster_ContentSwitcherModule_ContentSwitcher_providers" { style="solid"; } "ContentSwitcherOption" -> "ContentSwitcherModule" [style="solid", lhead="cluster_ContentSwitcherModule" ltail="cluster_ContentSwitcherModule_declarations"]; subgraph "cluster_ContentSwitcherModule_ContentSwitcherOption_providers" { style="solid"; } subgraph cluster_ContentSwitcherModule_imports { style="solid"; node [style="filled", fillcolor=1, shape="rect"]; } subgraph cluster_ContentSwitcherModule_exports { style="solid";node [style="filled", fillcolor=4, shape="rect"];"ContentSwitcher " [label="ContentSwitcher ", shape="rect"]"ContentSwitcherOption " [label="ContentSwitcherOption ", shape="rect"]} "ContentSwitcherModule" -> "ContentSwitcher " [style="dashed", ltail="cluster_ContentSwitcherModule" lhead="cluster_ContentSwitcherModule_exports"]; "ContentSwitcherModule" -> "ContentSwitcherOption " [style="dashed", ltail="cluster_ContentSwitcherModule" lhead="cluster_ContentSwitcherModule_exports"]; subgraph cluster_ContentSwitcherModule_bootstrap { style="solid"; node [style="filled", fillcolor=5, shape="rect"]; } subgraph cluster_ContentSwitcherModule_providers { style="solid"; node [style="filled", fillcolor=6, shape="rect"]; } } subgraph "cluster_DatePickerInputModule" { label=""; style="dotted";node [shape="folder", fillcolor=1]; subgraph cluster_DatePickerInputModule_declarations { style="solid";node [style="filled", shape="rect"]; node [fillcolor=2]; "DatePickerInput"; } "DatePickerInput" -> "DatePickerInputModule" [style="solid", lhead="cluster_DatePickerInputModule" ltail="cluster_DatePickerInputModule_declarations"]; subgraph "cluster_DatePickerInputModule_DatePickerInput_providers" { style="solid"; } subgraph cluster_DatePickerInputModule_imports { style="solid"; node [style="filled", fillcolor=1, shape="rect"]; } subgraph cluster_DatePickerInputModule_exports { style="solid";node [style="filled", fillcolor=4, shape="rect"];"DatePickerInput " [label="DatePickerInput ", shape="rect"]} "DatePickerInputModule" -> "DatePickerInput " [style="dashed", ltail="cluster_DatePickerInputModule" lhead="cluster_DatePickerInputModule_exports"]; subgraph cluster_DatePickerInputModule_bootstrap { style="solid"; node [style="filled", fillcolor=5, shape="rect"]; } subgraph cluster_DatePickerInputModule_providers { style="solid"; node [style="filled", fillcolor=6, shape="rect"]; } } subgraph "cluster_DatePickerModule" { label=""; style="dotted";node [shape="folder", fillcolor=1]; subgraph cluster_DatePickerModule_declarations { style="solid";node [style="filled", shape="rect"]; node [fillcolor=2]; "DatePicker"; } "DatePicker" -> "DatePickerModule" [style="solid", lhead="cluster_DatePickerModule" ltail="cluster_DatePickerModule_declarations"]; subgraph "cluster_DatePickerModule_DatePicker_providers" { style="solid"; node [fillcolor=6, shape="oval", style="filled"]; "{
|
|
8
6
|
provide: NG_VALUE_ACCESSOR, useExisting: DatePicker, multi: true
|
|
9
7
|
}" -> "DatePicker" [lhead="cluster_DatePickerModule_declarations" ltail="cluster_DatePickerModule_DatePicker_providers"]; } subgraph cluster_DatePickerModule_imports { style="solid"; node [style="filled", fillcolor=1, shape="rect"]; "DatePickerInputModule" [label="DatePickerInputModule", shape="folder"]; "UtilsModule" [label="UtilsModule", shape="folder"]; } "DatePickerInputModule" -> "DatePickerModule" [lhead="cluster_DatePickerModule", ltail="cluster_DatePickerModule_imports"]; "UtilsModule" -> "DatePickerModule" [lhead="cluster_DatePickerModule", ltail="cluster_DatePickerModule_imports"]; subgraph cluster_DatePickerModule_exports { style="solid";node [style="filled", fillcolor=4, shape="rect"];"DatePicker " [label="DatePicker ", shape="rect"]"DatePickerInputModule " [label="DatePickerInputModule ", shape="rect"]} "DatePickerModule" -> "DatePicker " [style="dashed", ltail="cluster_DatePickerModule" lhead="cluster_DatePickerModule_exports"]; "DatePickerModule" -> "DatePickerInputModule " [style="dashed", ltail="cluster_DatePickerModule" lhead="cluster_DatePickerModule_exports"]; subgraph cluster_DatePickerModule_bootstrap { style="solid"; node [style="filled", fillcolor=5, shape="rect"]; } subgraph cluster_DatePickerModule_providers { style="solid"; node [style="filled", fillcolor=6, shape="rect"]; } } subgraph "cluster_DialogModule" { label=""; style="dotted";node [shape="folder", fillcolor=1]; subgraph cluster_DialogModule_declarations { style="solid";node [style="filled", shape="rect"]; node [fillcolor=2]; "Dialog"; node [fillcolor=2]; "DialogDirective"; node [fillcolor=2]; "DialogPlaceholder"; node [fillcolor=2]; "EllipsisTooltip"; node [fillcolor=2]; "OverflowMenu"; node [fillcolor=2]; "OverflowMenuDirective"; node [fillcolor=2]; "OverflowMenuOption"; node [fillcolor=2]; "OverflowMenuPane"; node [fillcolor=2]; "Tooltip"; node [fillcolor=2]; "TooltipDefinition"; node [fillcolor=2]; "TooltipDirective"; node [fillcolor=2]; "TooltipIcon"; } "Dialog" -> "DialogModule" [style="solid", lhead="cluster_DialogModule" ltail="cluster_DialogModule_declarations"]; subgraph "cluster_DialogModule_Dialog_providers" { style="solid"; } "DialogDirective" -> "DialogModule" [style="solid", lhead="cluster_DialogModule" ltail="cluster_DialogModule_declarations"]; subgraph "cluster_DialogModule_DialogDirective_providers" { style="solid"; node [fillcolor=6, shape="oval", style="filled"]; "DialogService" -> "DialogDirective" [lhead="cluster_DialogModule_declarations" ltail="cluster_DialogModule_DialogDirective_providers"]; } "DialogPlaceholder" -> "DialogModule" [style="solid", lhead="cluster_DialogModule" ltail="cluster_DialogModule_declarations"]; subgraph "cluster_DialogModule_DialogPlaceholder_providers" { style="solid"; } "EllipsisTooltip" -> "DialogModule" [style="solid", lhead="cluster_DialogModule" ltail="cluster_DialogModule_declarations"]; subgraph "cluster_DialogModule_EllipsisTooltip_providers" { style="solid"; } "OverflowMenu" -> "DialogModule" [style="solid", lhead="cluster_DialogModule" ltail="cluster_DialogModule_declarations"]; subgraph "cluster_DialogModule_OverflowMenu_providers" { style="solid"; } "OverflowMenuDirective" -> "DialogModule" [style="solid", lhead="cluster_DialogModule" ltail="cluster_DialogModule_declarations"]; subgraph "cluster_DialogModule_OverflowMenuDirective_providers" { style="solid"; } "OverflowMenuOption" -> "DialogModule" [style="solid", lhead="cluster_DialogModule" ltail="cluster_DialogModule_declarations"]; subgraph "cluster_DialogModule_OverflowMenuOption_providers" { style="solid"; } "OverflowMenuPane" -> "DialogModule" [style="solid", lhead="cluster_DialogModule" ltail="cluster_DialogModule_declarations"]; subgraph "cluster_DialogModule_OverflowMenuPane_providers" { style="solid"; } "Tooltip" -> "DialogModule" [style="solid", lhead="cluster_DialogModule" ltail="cluster_DialogModule_declarations"]; subgraph "cluster_DialogModule_Tooltip_providers" { style="solid"; } "TooltipDefinition" -> "DialogModule" [style="solid", lhead="cluster_DialogModule" ltail="cluster_DialogModule_declarations"]; subgraph "cluster_DialogModule_TooltipDefinition_providers" { style="solid"; } "TooltipDirective" -> "DialogModule" [style="solid", lhead="cluster_DialogModule" ltail="cluster_DialogModule_declarations"]; subgraph "cluster_DialogModule_TooltipDirective_providers" { style="solid"; } "TooltipIcon" -> "DialogModule" [style="solid", lhead="cluster_DialogModule" ltail="cluster_DialogModule_declarations"]; subgraph "cluster_DialogModule_TooltipIcon_providers" { style="solid"; } subgraph cluster_DialogModule_imports { style="solid"; node [style="filled", fillcolor=1, shape="rect"]; "ExperimentalModule" [label="ExperimentalModule", shape="folder"]; "I18nModule" [label="I18nModule", shape="folder"]; "PlaceholderModule" [label="PlaceholderModule", shape="folder"]; "UtilsModule" [label="UtilsModule", shape="folder"]; } "ExperimentalModule" -> "DialogModule" [lhead="cluster_DialogModule", ltail="cluster_DialogModule_imports"]; "I18nModule" -> "DialogModule" [lhead="cluster_DialogModule", ltail="cluster_DialogModule_imports"]; "PlaceholderModule" -> "DialogModule" [lhead="cluster_DialogModule", ltail="cluster_DialogModule_imports"]; "UtilsModule" -> "DialogModule" [lhead="cluster_DialogModule", ltail="cluster_DialogModule_imports"]; subgraph cluster_DialogModule_exports { style="solid";node [style="filled", fillcolor=4, shape="rect"];"Dialog " [label="Dialog ", shape="rect"]"DialogDirective " [label="DialogDirective ", shape="rect"]"DialogPlaceholder " [label="DialogPlaceholder ", shape="rect"]"EllipsisTooltip " [label="EllipsisTooltip ", shape="rect"]"OverflowMenu " [label="OverflowMenu ", shape="rect"]"OverflowMenuDirective " [label="OverflowMenuDirective ", shape="rect"]"OverflowMenuOption " [label="OverflowMenuOption ", shape="rect"]"OverflowMenuPane " [label="OverflowMenuPane ", shape="rect"]"Tooltip " [label="Tooltip ", shape="rect"]"TooltipDefinition " [label="TooltipDefinition ", shape="rect"]"TooltipDirective " [label="TooltipDirective ", shape="rect"]"TooltipIcon " [label="TooltipIcon ", shape="rect"]} "DialogModule" -> "Dialog " [style="dashed", ltail="cluster_DialogModule" lhead="cluster_DialogModule_exports"]; "DialogModule" -> "DialogDirective " [style="dashed", ltail="cluster_DialogModule" lhead="cluster_DialogModule_exports"]; "DialogModule" -> "DialogPlaceholder " [style="dashed", ltail="cluster_DialogModule" lhead="cluster_DialogModule_exports"]; "DialogModule" -> "EllipsisTooltip " [style="dashed", ltail="cluster_DialogModule" lhead="cluster_DialogModule_exports"]; "DialogModule" -> "OverflowMenu " [style="dashed", ltail="cluster_DialogModule" lhead="cluster_DialogModule_exports"]; "DialogModule" -> "OverflowMenuDirective " [style="dashed", ltail="cluster_DialogModule" lhead="cluster_DialogModule_exports"]; "DialogModule" -> "OverflowMenuOption " [style="dashed", ltail="cluster_DialogModule" lhead="cluster_DialogModule_exports"]; "DialogModule" -> "OverflowMenuPane " [style="dashed", ltail="cluster_DialogModule" lhead="cluster_DialogModule_exports"]; "DialogModule" -> "Tooltip " [style="dashed", ltail="cluster_DialogModule" lhead="cluster_DialogModule_exports"]; "DialogModule" -> "TooltipDefinition " [style="dashed", ltail="cluster_DialogModule" lhead="cluster_DialogModule_exports"]; "DialogModule" -> "TooltipDirective " [style="dashed", ltail="cluster_DialogModule" lhead="cluster_DialogModule_exports"]; "DialogModule" -> "TooltipIcon " [style="dashed", ltail="cluster_DialogModule" lhead="cluster_DialogModule_exports"]; subgraph cluster_DialogModule_bootstrap { style="solid"; node [style="filled", fillcolor=5, shape="rect"]; } subgraph cluster_DialogModule_providers { style="solid"; node [style="filled", fillcolor=6, shape="rect"]; "DialogService" [label="DialogService", shape="oval"]; } "DialogService" -> "DialogModule" [lhead="cluster_DialogModule", ltail="cluster_DialogModule_providers"]; } subgraph "cluster_DocumentationModule" { label=""; style="dotted";node [shape="folder", fillcolor=1]; subgraph cluster_DocumentationModule_declarations { style="solid";node [style="filled", shape="rect"]; node [fillcolor=2]; "Documentation"; } "Documentation" -> "DocumentationModule" [style="solid", lhead="cluster_DocumentationModule" ltail="cluster_DocumentationModule_declarations"]; subgraph "cluster_DocumentationModule_Documentation_providers" { style="solid"; } subgraph cluster_DocumentationModule_imports { style="solid"; node [style="filled", fillcolor=1, shape="rect"]; } subgraph cluster_DocumentationModule_exports { style="solid";node [style="filled", fillcolor=4, shape="rect"];"Documentation " [label="Documentation ", shape="rect"]} "DocumentationModule" -> "Documentation " [style="dashed", ltail="cluster_DocumentationModule" lhead="cluster_DocumentationModule_exports"]; subgraph cluster_DocumentationModule_bootstrap { style="solid"; node [style="filled", fillcolor=5, shape="rect"]; } subgraph cluster_DocumentationModule_providers { style="solid"; node [style="filled", fillcolor=6, shape="rect"]; } } subgraph "cluster_DropdownModule" { label=""; style="dotted";node [shape="folder", fillcolor=1]; subgraph cluster_DropdownModule_declarations { style="solid";node [style="filled", shape="rect"]; node [fillcolor=2]; "Dropdown"; node [fillcolor=2]; "DropdownList"; node [fillcolor=2]; "ScrollableList"; } "Dropdown" -> "DropdownModule" [style="solid", lhead="cluster_DropdownModule" ltail="cluster_DropdownModule_declarations"]; subgraph "cluster_DropdownModule_Dropdown_providers" { style="solid"; node [fillcolor=6, shape="oval", style="filled"]; "{
|
|
10
8
|
provide: NG_VALUE_ACCESSOR, useExisting: Dropdown, multi: true
|