carbon-components-angular 5.17.0 → 5.18.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/contained-list/contained-list-item.component.d.ts +5 -1
- package/docs/documentation/components/ComboBox.html +1 -1
- package/docs/documentation/components/ContainedListItem.html +54 -19
- package/docs/documentation/components/DropdownList.html +1 -1
- package/docs/documentation/coverage.html +3 -3
- package/docs/documentation/js/search/search_index.js +2 -2
- package/docs/documentation/modules/TableModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TableModule.html +4 -4
- package/docs/documentation/modules/TabsModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TabsModule.html +4 -4
- package/docs/documentation/modules/TagModule/dependencies.svg +29 -29
- package/docs/documentation/modules/TagModule.html +29 -29
- package/docs/documentation/modules/TilesModule/dependencies.svg +98 -98
- package/docs/documentation/modules/TilesModule.html +98 -98
- package/docs/documentation/modules/TimePickerModule/dependencies.svg +38 -42
- package/docs/documentation/modules/TimePickerModule.html +38 -42
- package/docs/documentation/modules/TimePickerSelectModule/dependencies.svg +41 -45
- package/docs/documentation/modules/TimePickerSelectModule.html +41 -45
- package/docs/documentation/modules/ToggleModule/dependencies.svg +42 -46
- package/docs/documentation/modules/ToggleModule.html +42 -46
- package/docs/documentation/modules/ToggletipModule/dependencies.svg +37 -37
- package/docs/documentation/modules/ToggletipModule.html +37 -37
- package/docs/documentation/modules/TooltipModule/dependencies.svg +28 -28
- package/docs/documentation/modules/TooltipModule.html +28 -28
- package/docs/documentation/modules/UIShellModule/dependencies.svg +4 -4
- package/docs/documentation/modules/UIShellModule.html +4 -4
- package/docs/documentation.json +63 -23
- package/docs/storybook/{3224.f7341882.iframe.bundle.js → 3224.92030851.iframe.bundle.js} +1 -1
- package/docs/storybook/combobox-combobox-stories.27ee7f6b.iframe.bundle.js +1 -0
- package/docs/storybook/{contained-list-contained-list-stories.0f596d8f.iframe.bundle.js → contained-list-contained-list-stories.b65d6731.iframe.bundle.js} +1 -1
- package/docs/storybook/{dropdown-dropdown-stories.f7aa8512.iframe.bundle.js → dropdown-dropdown-stories.ba6e4ac4.iframe.bundle.js} +1 -1
- package/docs/storybook/iframe.html +2 -2
- package/docs/storybook/index.json +1 -1
- package/docs/storybook/main.4a8896ea.iframe.bundle.js +1 -0
- package/docs/storybook/project.json +1 -1
- package/docs/storybook/{runtime~main.4c92d6b3.iframe.bundle.js → runtime~main.df509201.iframe.bundle.js} +1 -1
- package/docs/storybook/stories.json +1 -1
- package/esm2020/combobox/combobox.component.mjs +2 -2
- package/esm2020/contained-list/contained-list-item.component.mjs +6 -4
- package/esm2020/dropdown/list/dropdown-list.component.mjs +2 -2
- package/fesm2015/carbon-components-angular-combobox.mjs +1 -1
- package/fesm2015/carbon-components-angular-combobox.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-contained-list.mjs +5 -3
- package/fesm2015/carbon-components-angular-contained-list.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-dropdown.mjs +1 -1
- package/fesm2015/carbon-components-angular-dropdown.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-combobox.mjs +1 -1
- package/fesm2020/carbon-components-angular-combobox.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-contained-list.mjs +5 -3
- package/fesm2020/carbon-components-angular-contained-list.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-dropdown.mjs +1 -1
- package/fesm2020/carbon-components-angular-dropdown.mjs.map +1 -1
- package/package.json +1 -1
- package/docs/storybook/combobox-combobox-stories.90794764.iframe.bundle.js +0 -1
- package/docs/storybook/main.3e40fd8f.iframe.bundle.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carbon-components-angular-combobox.mjs","sources":["../../src/combobox/combobox.component.ts","../../src/combobox/combobox.module.ts","../../src/combobox/carbon-components-angular-combobox.ts"],"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\tOnDestroy\n} from \"@angular/core\";\nimport { AbstractDropdownView, DropdownService } from \"carbon-components-angular/dropdown\";\nimport { ListItem } from \"carbon-components-angular/dropdown\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { filter } from \"rxjs/operators\";\nimport {\n\tgetScrollableParents,\n\thasScrollableParents\n} from \"carbon-components-angular/utils\";\nimport { I18n, Overridable } from \"carbon-components-angular/i18n\";\nimport { Observable } from \"rxjs\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { ComboBoxModule } from 'carbon-components-angular';\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/components-combobox--basic)\n */\n@Component({\n\tselector: \"cds-combo-box, ibm-combo-box\",\n\ttemplate: `\n\t\t<div class=\"cds--list-box__wrapper\">\n\t\t\t<label\n\t\t\t\t*ngIf=\"label\"\n\t\t\t\t[for]=\"id\"\n\t\t\t\tclass=\"cds--label\"\n\t\t\t\t[ngClass]=\"{'cds--label--disabled': disabled}\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n\t\t\t</label>\n\t\t\t<div\n\t\t\t\t#listbox\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--multi-select cds--multi-select--filterable': type === 'multi',\n\t\t\t\t\t'cds--list-box--light': theme === 'light',\n\t\t\t\t\t'cds--list-box--expanded': open,\n\t\t\t\t\t'cds--list-box--sm': size === 'sm',\n\t\t\t\t\t'cds--list-box--md': size === 'md',\n\t\t\t\t\t'cds--list-box--lg': size === 'lg',\n\t\t\t\t\t'cds--list-box--disabled': disabled,\n\t\t\t\t\t'cds--combo-box--warning cds--list-box--warning': warn\n\t\t\t\t}\"\n\t\t\t\tclass=\"cds--list-box cds--combo-box\"\n\t\t\t\t[attr.data-invalid]=\"(invalid ? true : null)\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"cds--list-box__field\"\n\t\t\t\t\t(click)=\"toggleDropdown()\"\n\t\t\t\t\t(blur)=\"onBlur()\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t*ngIf=\"type === 'multi' && pills.length > 0\"\n\t\t\t\t\t\tclass=\"cds--tag cds--tag--filter cds--tag--high-contrast\"\n\t\t\t\t\t\t[ngClass]=\"{'cds--tag--disabled': disabled}\">\n\t\t\t\t\t\t<span class=\"cds--tag__label\">{{ pills.length }}</span>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t(click)=\"clearSelected($event)\"\n\t\t\t\t\t\t\t(blur)=\"onBlur()\"\n\t\t\t\t\t\t\t(keydown.enter)=\"clearSelected($event)\"\n\t\t\t\t\t\t\tclass=\"cds--tag__close-icon\"\n\t\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t\t[title]=\"clearSelectionsTitle\"\n\t\t\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t\t\t[attr.aria-label]=\"clearSelectionAria\">\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\t\t\t\t\tstyle=\"will-change: transform;\"\n\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t\twidth=\"16\"\n\t\t\t\t\t\t\t\theight=\"16\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\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\t\t</svg>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<input\n\t\t\t\t\t\t#input\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t\t(input)=\"onSearch($event.target.value)\"\n\t\t\t\t\t\t(blur)=\"onBlur()\"\n\t\t\t\t\t\t(keydown.enter)=\"onSubmit($event)\"\n\t\t\t\t\t\t[value]=\"selectedValue\"\n\t\t\t\t\t\tclass=\"cds--text-input\"\n\t\t\t\t\t\t[ngClass]=\"{'cds--text-input--empty': !showClearButton}\"\n\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t[id]=\"id\"\n\t\t\t\t\t\t[attr.aria-labelledby]=\"id\"\n\t\t\t\t\t\t[attr.aria-expanded]=\"open\"\n\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\t[attr.maxlength]=\"maxLength\"\n\t\t\t\t\t\t[attr.aria-controls]=\"open ? view?.listId : null\"\n\t\t\t\t\t\t[attr.aria-autocomplete]=\"autocomplete\"\n\t\t\t\t\t\t[placeholder]=\"placeholder\"/>\n\t\t\t\t\t<svg\n\t\t\t\t\t\t*ngIf=\"invalid\"\n\t\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\tclass=\"cds--list-box__invalid-icon\">\n\t\t\t\t\t</svg>\n\t\t\t\t\t<svg\n\t\t\t\t\t\t*ngIf=\"!invalid && warn\"\n\t\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\tclass=\"cds--list-box__invalid-icon cds--list-box__invalid-icon--warning\">\n\t\t\t\t\t</svg>\n\t\t\t\t\t<div\n\t\t\t\t\t\t*ngIf=\"showClearButton\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\"cds--list-box__selection\"\n\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t[attr.aria-label]=\"clearSelectionAria\"\n\t\t\t\t\t\t[title]=\"clearSelectionTitle\"\n\t\t\t\t\t\t(keyup.enter)=\"clearInput($event)\"\n\t\t\t\t\t\t(click)=\"clearInput($event)\"\n\t\t\t\t\t\t(blur)=\"onBlur()\">\n\t\t\t\t\t\t<svg cdsIcon=\"close\" size=\"16\"></svg>\n\t\t\t\t\t</div>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\"cds--list-box__menu-icon\"\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\t[title]=\"open ? closeMenuAria : openMenuAria\"\n\t\t\t\t\t\t[attr.aria-label]=\"open ? closeMenuAria : openMenuAria\"\n\t\t\t\t\t\t[ngClass]=\"{'cds--list-box__menu-icon--open': open}\">\n\t\t\t\t\t\t<svg cdsIcon=\"chevron--down\" size=\"16\"></svg>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\t#dropdownMenu\n\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t'cds--list-box--up': this.dropUp !== null && this.dropUp !== undefined ? dropUp : _dropUp\n\t\t\t\t\t}\">\n\t\t\t\t\t<ng-content *ngIf=\"open\"></ng-content>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t*ngIf=\"helperText && !invalid && !warn\"\n\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled}\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"invalid\" class=\"cds--form-requirement\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{ invalidText }}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t</div>\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, OnDestroy {\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 * 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\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 * 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 * Specifies the property to be used as the return value to `ngModel`\n\t */\n\t@Input() itemValueKey: string;\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` to place the dropdown view inline with the component\n\t */\n\t@Input() appendInline: boolean = null;\n\t/**\n\t * Set to `true` to show the invalid state.\n\t */\n\t@Input() invalid = false;\n\t/**\n\t * Value displayed if combobox is in an invalid state.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\t/**\n\t* Set to `true` to show a warning (contents set by warnText)\n\t*/\n\t@Input() warn = false;\n\t/**\n\t * Sets the warning text\n\t */\n\t@Input() warnText: 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 * @deprecated since v5 - Use `cdsLayer` directive instead\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\t/**\n\t * Specify feedback (mode) of the selection.\n\t * `top`: selected item jumps to top\n\t * `fixed`: selected item stays at its position\n\t * `top-after-reopen`: selected item jump to top after reopen dropdown\n\t */\n\t@Input() selectionFeedback: \"top\" | \"fixed\" | \"top-after-reopen\" = \"top-after-reopen\";\n\t/**\n\t * Specify aria-autocomplete attribute of text input.\n\t * \"list\", is the expected value for a combobox that invokes a drop-down list\n\t */\n\t@Input() autocomplete = \"list\";\n\t/**\n\t * Overrides the automatic dropUp.\n\t */\n\t@Input() dropUp: boolean;\n\t/**\n\t * Set to `true` to disable combobox.\n\t */\n\t@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<{\n\t\titems: ListItem[],\n\t\tindex: number,\n\t\tvalue: {\n\t\t\tcontent: string,\n\t\t\tselected: boolean\n\t\t}\n\t}>();\n\t/** Emits an empty event when the menu is closed */\n\t@Output() close = new EventEmitter<void>();\n\t/** Emits the search string from the input */\n\t@Output() search = new EventEmitter<string>();\n\t/** Emits an event when the clear button is clicked. */\n\t@Output() clear = new EventEmitter<Event>();\n\t/** ContentChild reference to the instantiated dropdown list */\n\t@ContentChild(AbstractDropdownView, { static: true }) view: AbstractDropdownView;\n\t@ViewChild(\"dropdownMenu\") dropdownMenu;\n\t@ViewChild(\"input\", { static: true }) input: ElementRef;\n\t@ViewChild(\"listbox\", { static: true }) listbox: ElementRef;\n\t@HostBinding(\"class.cds--list-box__wrapper\") hostClass = true;\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\toutsideClick = this._outsideClick.bind(this);\n\tkeyboardNav = this._keyboardNav.bind(this);\n\t/**\n\t * controls whether the `drop-up` class is applied\n\t */\n\t_dropUp = false;\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 dropdownService: DropdownService,\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\tthis.updateSelected();\n\t\t\t// If new items are added into the combobox while there is search input,\n\t\t\t// repeat the search. Search should only trigger for type 'single' when there is no value selected.\n\t\t\tif (this.type === \"multi\" || (this.type === \"single\" && !this.selectedValue)) {\n\t\t\t\tthis.onSearch(this.input.nativeElement.value, false);\n\t\t\t}\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\n\t\t\t// function to check if the event is organic (isUpdate === false) or programmatic\n\t\t\tconst isUpdate = event => event && event.isUpdate;\n\n\t\t\tthis.view.select.subscribe(event => {\n\t\t\t\tif (Array.isArray(event)) {\n\t\t\t\t\tthis.updatePills();\n\t\t\t\t\tif (!isUpdate(event)) {\n\t\t\t\t\t\tif (this.itemValueKey && this.view.getSelected()) {\n\t\t\t\t\t\t\tconst values = this.view.getSelected().map(item => item[this.itemValueKey]);\n\t\t\t\t\t\t\tthis.propagateChangeCallback(values);\n\t\t\t\t\t\t// otherwise just pass up the values from `getSelected`\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.propagateChangeCallback(this.view.getSelected());\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.selected.emit(event);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If type is single, dropdown list will emit an object\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\n\t\t\t\t\t\tif (!isUpdate(event)) {\n\t\t\t\t\t\t\tif (this.itemValueKey) {\n\t\t\t\t\t\t\t\tthis.propagateChangeCallback(event.item[this.itemValueKey]);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.propagateChangeCallback(event.item);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.selectedValue = \"\";\n\t\t\t\t\t\tif (!isUpdate(event)) {\n\t\t\t\t\t\t\tthis.propagateChangeCallback(null);\n\t\t\t\t\t\t}\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\t// only focus for \"organic\" selections\n\t\t\t\t\tif (!isUpdate(event)) {\n\t\t\t\t\t\tthis.elementRef.nativeElement.querySelector(\"input\").focus();\n\t\t\t\t\t\tthis.view.filterBy(\"\");\n\t\t\t\t\t\tthis.selected.emit(event.item);\n\t\t\t\t\t}\n\t\t\t\t\tthis.closeDropdown();\n\t\t\t\t}\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(\".cds--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\t// if appendInline is default valued (null) we should:\n\t\t// 1. if there are scrollable parents (not including body) don't append inline\n\t\t// this should also cover the case where the dropdown is in a modal\n\t\t// (where we _do_ want to append to the placeholder)\n\t\tif (this.appendInline === null && hasScrollableParents(this.elementRef.nativeElement)) {\n\t\t\tthis.appendInline = false;\n\t\t// 2. otherwise we should append inline\n\t\t} else if (this.appendInline === null) {\n\t\t\tthis.appendInline = true;\n\t\t}\n\t}\n\n\t/**\n\t * Removing the `Dropdown` from the body if it is appended to the body.\n\t */\n\tngOnDestroy() {\n\t\tif (!this.appendInline) {\n\t\t\tthis._appendToDropdown();\n\t\t}\n\t}\n\n\t/**\n\t * Handles `Escape/Tab` 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\")\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.initFocus(); }, 0);\n\t\t}\n\n\t\tif (\n\t\t\tthis.open && ev.key === \"Tab\" &&\n\t\t\t(this.dropdownMenu.nativeElement.contains(ev.target as Node) || ev.target === this.input.nativeElement)\n\t\t) {\n\t\t\tthis.closeDropdown();\n\t\t}\n\n\t\tif (this.open && ev.key === \"Tab\" && ev.shiftKey) {\n\t\t\tthis.closeDropdown();\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 (this.type === \"single\") {\n\t\t\tif (this.itemValueKey) {\n\t\t\t\t// clone the specified item and update its state\n\t\t\t\tconst newValue = Object.assign({}, this.view.getListItems().find(item => item[this.itemValueKey] === value));\n\t\t\t\tnewValue.selected = true;\n\t\t\t\tthis.view.propagateSelected([newValue]);\n\t\t\t} else {\n\t\t\t\t// all items in propagateSelected must be iterable\n\t\t\t\tthis.view.propagateSelected([value || \"\"]);\n\t\t\t}\n\t\t\tthis.showClearButton = !!(value && this.view.getSelected().length);\n\t\t} else {\n\t\t\tif (this.itemValueKey) {\n\t\t\t\t// clone the items and update their state based on the received value array\n\t\t\t\t// this way we don't lose any additional metadata that may be passed in via the `items` Input\n\t\t\t\tlet newValues = [];\n\t\t\t\tfor (const v of value) {\n\t\t\t\t\tfor (const item of this.view.getListItems()) {\n\t\t\t\t\t\tif (item[this.itemValueKey] === v) {\n\t\t\t\t\t\t\tnewValues.push(Object.assign({}, item, { selected: true }));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.view.propagateSelected(newValues);\n\t\t\t} else {\n\t\t\t\tthis.view.propagateSelected(value ? value : [\"\"]);\n\t\t\t}\n\t\t}\n\t\tthis.updateSelected();\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 * `ControlValueAccessor` method to programmatically disable the combobox.\n\t *\n\t * ex: `this.formGroup.get(\"myCoolCombobox\").disable();`\n\t */\n\tsetDisabledState(isDisabled: boolean) {\n\t\tthis.disabled = isDisabled;\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.checkForReorder();\n\t}\n\n\tpublic clearSelected(event) {\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\tconst selected = this.view.getSelected();\n\t\tthis.propagateChangeCallback(selected);\n\t\tthis.selected.emit(selected as any);\n\t\tthis.clear.emit(event);\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.checkForReorder();\n\t\tthis.close.emit();\n\t\tif (!this.appendInline) {\n\t\t\tthis._appendToDropdown();\n\t\t}\n\n\t\tdocument.removeEventListener(\"click\", this.outsideClick, true);\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\tthis._dropUp = false;\n\n\t\tif (!this.appendInline) {\n\t\t\tthis._appendToBody();\n\t\t}\n\n\t\tdocument.addEventListener(\"click\", this.outsideClick, true);\n\n\t\t// set the dropdown menu to drop up if it is near the bottom of the screen\n\t\t// setTimeout lets us do the calculations after it is visible in the DOM\n\t\tsetTimeout(() => {\n\t\t\tif (this.dropUp === null || this.dropUp === undefined) {\n\t\t\t\tthis._dropUp = this._shouldDropUp();\n\t\t\t}\n\t\t}, 0);\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;\n\t\tthis.view.filterBy(searchString);\n\t\tif (searchString !== \"\") {\n\t\t\tif (!this.open) {\n\t\t\t\tthis.openDropdown();\n\t\t\t}\n\t\t} else {\n\t\t\tthis.selectedValue = \"\";\n\t\t\tif (this.type === \"multi\" &&\n\t\t\t\t(this.selectionFeedback === \"top\" || this.selectionFeedback === \"top-after-reopen\")) {\n\t\t\t\tthis.view.reorderSelected();\n\t\t\t}\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\tthis.view.filterBy(searchString);\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\tif (this.type === \"single\") { // don't want to clear selected or close if multi\n\t\t\tthis.clearSelected(event);\n\t\t\tthis.closeDropdown();\n\t\t}\n\n\t\tthis.selectedValue = \"\";\n\t\tthis.input.nativeElement.value = \"\";\n\n\t\tthis.showClearButton = false;\n\t\tthis.input.nativeElement.focus();\n\t\tthis.onSearch(this.input.nativeElement.value);\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\t/**\n\t * Handles keyboard events so users are controlling the `Dropdown` instead of unintentionally controlling outside elements.\n\t */\n\t_keyboardNav(event: KeyboardEvent) {\n\t\tif ((event.key === \"Escape\") && this.open) {\n\t\t\tevent.stopImmediatePropagation(); // don't unintentionally close modal if inside of it\n\t\t}\n\t\tif (event.key === \"Escape\") {\n\t\t\tevent.preventDefault();\n\t\t\tthis.closeDropdown();\n\t\t\tthis.input.nativeElement.focus();\n\t\t} else if (this.open && event.key === \"Tab\") {\n\t\t\t// this way focus will start on the next focusable item from the dropdown\n\t\t\t// not the top of the body!\n\t\t\tthis.input.nativeElement.focus();\n\t\t\tthis.input.nativeElement.dispatchEvent(new KeyboardEvent(\"keydown\", { bubbles: true, cancelable: true, key: \"Tab\" }));\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\n\t/**\n\t * Creates the `Dropdown` list as an element that is appended to the DOM body.\n\t */\n\t_appendToBody() {\n\t\tthis.dropdownService.appendToBody(\n\t\t\tthis.listbox.nativeElement,\n\t\t\tthis.dropdownMenu.nativeElement,\n\t\t\t`${this.elementRef.nativeElement.className}${this.open ? \" cds--list-box--expanded\" : \"\"}`);\n\t\tthis.dropdownMenu.nativeElement.addEventListener(\"keydown\", this.keyboardNav, true);\n\t}\n\n\t/**\n\t * Creates the `Dropdown` list appending it to the dropdown parent object instead of the body.\n\t */\n\t_appendToDropdown() {\n\t\tthis.dropdownService.appendToDropdown(this.elementRef.nativeElement);\n\t\tthis.dropdownMenu.nativeElement.removeEventListener(\"keydown\", this.keyboardNav, true);\n\t}\n\n\t/**\n\t * Detects whether or not the `Dropdown` list is visible within all scrollable parents.\n\t * This can be overridden by passing in a value to the `dropUp` input.\n\t */\n\t_shouldDropUp() {\n\t\t// check if dropdownMenu exists first.\n\t\tconst menu = this.dropdownMenu && this.dropdownMenu.nativeElement.querySelector(\".cds--list-box__menu\");\n\t\t// check if menu exists first.\n\t\tconst menuRect = menu && menu.getBoundingClientRect();\n\t\tif (menu && menuRect) {\n\t\t\tconst scrollableParents = getScrollableParents(menu);\n\t\t\treturn scrollableParents.reduce((shouldDropUp: boolean, parent: HTMLElement) => {\n\t\t\t\tconst parentRect = parent.getBoundingClientRect();\n\t\t\t\tconst isBelowParent = !(menuRect.bottom <= parentRect.bottom);\n\t\t\t\treturn shouldDropUp || isBelowParent;\n\t\t\t}, false);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Handles clicks outside of the `Dropdown` list.\n\t */\n\t_outsideClick(event) {\n\t\tif (!this.elementRef.nativeElement.contains(event.target) &&\n\t\t\t// if we're appendToBody the list isn't within the _elementRef,\n\t\t\t// so we've got to check if our target is possibly in there too.\n\t\t\t!this.dropdownMenu.nativeElement.contains(event.target)) {\n\t\t\tthis.closeDropdown();\n\t\t}\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) {\n\t\t\tconst value = selected[0] ? selected[0].content : \"\";\n\t\t\tconst changeCallbackValue = selected[0] ? selected[0] : \"\";\n\t\t\tthis.selectedValue = value;\n\t\t\tthis.showClearButton = !!value;\n\t\t}\n\t}\n\n\tprotected checkForReorder() {\n\t\tconst topAfterReopen = !this.open && this.selectionFeedback === \"top-after-reopen\";\n\t\tif ((this.type === \"multi\") && (topAfterReopen || this.selectionFeedback === \"top\")) {\n\t\t\tthis.view.reorderSelected(true);\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { ComboBox } from \"./combobox.component\";\nimport { DropdownModule, DropdownService } from \"carbon-components-angular/dropdown\";\nimport { I18nModule } from \"carbon-components-angular/i18n\";\nimport { UtilsModule } from \"carbon-components-angular/utils\";\nimport { IconModule } from \"carbon-components-angular/icon\";\n\n@NgModule({\n\tdeclarations: [\n\t\tComboBox\n\t],\n\texports: [\n\t\tComboBox,\n\t\tDropdownModule\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tDropdownModule,\n\t\tI18nModule,\n\t\tUtilsModule,\n\t\tIconModule\n\t],\n\tproviders: [ DropdownService ]\n})\nexport class ComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carbon-components-angular-combobox.mjs","sources":["../../src/combobox/combobox.component.ts","../../src/combobox/combobox.module.ts","../../src/combobox/carbon-components-angular-combobox.ts"],"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\tOnDestroy\n} from \"@angular/core\";\nimport { AbstractDropdownView, DropdownService } from \"carbon-components-angular/dropdown\";\nimport { ListItem } from \"carbon-components-angular/dropdown\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { filter } from \"rxjs/operators\";\nimport {\n\tgetScrollableParents,\n\thasScrollableParents\n} from \"carbon-components-angular/utils\";\nimport { I18n, Overridable } from \"carbon-components-angular/i18n\";\nimport { Observable } from \"rxjs\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { ComboBoxModule } from 'carbon-components-angular';\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/components-combobox--basic)\n */\n@Component({\n\tselector: \"cds-combo-box, ibm-combo-box\",\n\ttemplate: `\n\t\t<div class=\"cds--list-box__wrapper\">\n\t\t\t<label\n\t\t\t\t*ngIf=\"label\"\n\t\t\t\t[for]=\"id\"\n\t\t\t\tclass=\"cds--label\"\n\t\t\t\t[ngClass]=\"{'cds--label--disabled': disabled}\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n\t\t\t</label>\n\t\t\t<div\n\t\t\t\t#listbox\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--multi-select cds--multi-select--filterable': type === 'multi',\n\t\t\t\t\t'cds--list-box--light': theme === 'light',\n\t\t\t\t\t'cds--list-box--expanded': open,\n\t\t\t\t\t'cds--list-box--sm': size === 'sm',\n\t\t\t\t\t'cds--list-box--md': size === 'md',\n\t\t\t\t\t'cds--list-box--lg': size === 'lg',\n\t\t\t\t\t'cds--list-box--disabled': disabled,\n\t\t\t\t\t'cds--combo-box--warning cds--list-box--warning': warn\n\t\t\t\t}\"\n\t\t\t\tclass=\"cds--list-box cds--combo-box\"\n\t\t\t\t[attr.data-invalid]=\"(invalid ? true : null)\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"cds--list-box__field\"\n\t\t\t\t\t(click)=\"toggleDropdown()\"\n\t\t\t\t\t(blur)=\"onBlur()\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t*ngIf=\"type === 'multi' && pills.length > 0\"\n\t\t\t\t\t\tclass=\"cds--tag cds--tag--filter cds--tag--high-contrast\"\n\t\t\t\t\t\t[ngClass]=\"{'cds--tag--disabled': disabled}\">\n\t\t\t\t\t\t<span class=\"cds--tag__label\">{{ pills.length }}</span>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t(click)=\"clearSelected($event)\"\n\t\t\t\t\t\t\t(blur)=\"onBlur()\"\n\t\t\t\t\t\t\t(keydown.enter)=\"clearSelected($event)\"\n\t\t\t\t\t\t\tclass=\"cds--tag__close-icon\"\n\t\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t\t[title]=\"clearSelectionsTitle\"\n\t\t\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t\t\t[attr.aria-label]=\"clearSelectionAria\">\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\t\t\t\t\tstyle=\"will-change: transform;\"\n\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t\twidth=\"16\"\n\t\t\t\t\t\t\t\theight=\"16\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\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\t\t</svg>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<input\n\t\t\t\t\t\t#input\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t\t(input)=\"onSearch($event.target.value)\"\n\t\t\t\t\t\t(blur)=\"onBlur()\"\n\t\t\t\t\t\t(keydown.enter)=\"onSubmit($event)\"\n\t\t\t\t\t\t[value]=\"selectedValue\"\n\t\t\t\t\t\tclass=\"cds--text-input\"\n\t\t\t\t\t\t[ngClass]=\"{'cds--text-input--empty': !showClearButton}\"\n\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t[id]=\"id\"\n\t\t\t\t\t\t[attr.aria-labelledby]=\"id\"\n\t\t\t\t\t\t[attr.aria-expanded]=\"open\"\n\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\t[attr.maxlength]=\"maxLength\"\n\t\t\t\t\t\t[attr.aria-controls]=\"open ? view?.listId : null\"\n\t\t\t\t\t\t[attr.aria-autocomplete]=\"autocomplete\"\n\t\t\t\t\t\t[placeholder]=\"placeholder\"/>\n\t\t\t\t\t<svg\n\t\t\t\t\t\t*ngIf=\"invalid\"\n\t\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\tclass=\"cds--list-box__invalid-icon\">\n\t\t\t\t\t</svg>\n\t\t\t\t\t<svg\n\t\t\t\t\t\t*ngIf=\"!invalid && warn\"\n\t\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\tclass=\"cds--list-box__invalid-icon cds--list-box__invalid-icon--warning\">\n\t\t\t\t\t</svg>\n\t\t\t\t\t<div\n\t\t\t\t\t\t*ngIf=\"showClearButton\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\"cds--list-box__selection\"\n\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t[attr.aria-label]=\"clearSelectionAria\"\n\t\t\t\t\t\t[title]=\"clearSelectionTitle\"\n\t\t\t\t\t\t(keyup.enter)=\"clearInput($event)\"\n\t\t\t\t\t\t(click)=\"clearInput($event)\"\n\t\t\t\t\t\t(blur)=\"onBlur()\">\n\t\t\t\t\t\t<svg cdsIcon=\"close\" size=\"16\"></svg>\n\t\t\t\t\t</div>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\"cds--list-box__menu-icon\"\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\t[title]=\"open ? closeMenuAria : openMenuAria\"\n\t\t\t\t\t\t[attr.aria-label]=\"open ? closeMenuAria : openMenuAria\"\n\t\t\t\t\t\t[ngClass]=\"{'cds--list-box__menu-icon--open': open}\">\n\t\t\t\t\t\t<svg cdsIcon=\"chevron--down\" size=\"16\"></svg>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\t#dropdownMenu\n\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t'cds--list-box--up': this.dropUp !== null && this.dropUp !== undefined ? dropUp : _dropUp\n\t\t\t\t\t}\">\n\t\t\t\t\t<ng-content *ngIf=\"open\"></ng-content>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t*ngIf=\"helperText && !invalid && !warn\"\n\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled}\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"invalid\" class=\"cds--form-requirement\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{ invalidText }}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t</div>\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, OnDestroy {\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 * 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\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 * 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 * Specifies the property to be used as the return value to `ngModel`\n\t */\n\t@Input() itemValueKey: string;\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` to place the dropdown view inline with the component\n\t */\n\t@Input() appendInline: boolean = null;\n\t/**\n\t * Set to `true` to show the invalid state.\n\t */\n\t@Input() invalid = false;\n\t/**\n\t * Value displayed if combobox is in an invalid state.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\t/**\n\t* Set to `true` to show a warning (contents set by warnText)\n\t*/\n\t@Input() warn = false;\n\t/**\n\t * Sets the warning text\n\t */\n\t@Input() warnText: 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 * @deprecated since v5 - Use `cdsLayer` directive instead\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\t/**\n\t * Specify feedback (mode) of the selection.\n\t * `top`: selected item jumps to top\n\t * `fixed`: selected item stays at its position\n\t * `top-after-reopen`: selected item jump to top after reopen dropdown\n\t */\n\t@Input() selectionFeedback: \"top\" | \"fixed\" | \"top-after-reopen\" = \"top-after-reopen\";\n\t/**\n\t * Specify aria-autocomplete attribute of text input.\n\t * \"list\", is the expected value for a combobox that invokes a drop-down list\n\t */\n\t@Input() autocomplete = \"list\";\n\t/**\n\t * Overrides the automatic dropUp.\n\t */\n\t@Input() dropUp: boolean;\n\t/**\n\t * Set to `true` to disable combobox.\n\t */\n\t@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<{\n\t\titems: ListItem[],\n\t\tindex: number,\n\t\tvalue: {\n\t\t\tcontent: string,\n\t\t\tselected: boolean\n\t\t}\n\t}>();\n\t/** Emits an empty event when the menu is closed */\n\t@Output() close = new EventEmitter<void>();\n\t/** Emits the search string from the input */\n\t@Output() search = new EventEmitter<string>();\n\t/** Emits an event when the clear button is clicked. */\n\t@Output() clear = new EventEmitter<Event>();\n\t/** ContentChild reference to the instantiated dropdown list */\n\t@ContentChild(AbstractDropdownView, { static: true }) view: AbstractDropdownView;\n\t@ViewChild(\"dropdownMenu\") dropdownMenu;\n\t@ViewChild(\"input\", { static: true }) input: ElementRef;\n\t@ViewChild(\"listbox\", { static: true }) listbox: ElementRef;\n\t@HostBinding(\"class.cds--list-box__wrapper\") hostClass = true;\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\toutsideClick = this._outsideClick.bind(this);\n\tkeyboardNav = this._keyboardNav.bind(this);\n\t/**\n\t * controls whether the `drop-up` class is applied\n\t */\n\t_dropUp = false;\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 dropdownService: DropdownService,\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\tthis.updateSelected();\n\t\t\t// If new items are added into the combobox while there is search input,\n\t\t\t// repeat the search. Search should only trigger for type 'single' when there is no value selected.\n\t\t\tif (this.type === \"multi\" || (this.type === \"single\" && !this.selectedValue)) {\n\t\t\t\tthis.onSearch(this.input.nativeElement.value, false);\n\t\t\t}\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\n\t\t\t// function to check if the event is organic (isUpdate === false) or programmatic\n\t\t\tconst isUpdate = event => event && event.isUpdate;\n\n\t\t\tthis.view.select.subscribe(event => {\n\t\t\t\tif (Array.isArray(event)) {\n\t\t\t\t\tthis.updatePills();\n\t\t\t\t\tif (!isUpdate(event)) {\n\t\t\t\t\t\tif (this.itemValueKey && this.view.getSelected()) {\n\t\t\t\t\t\t\tconst values = this.view.getSelected().map(item => item[this.itemValueKey]);\n\t\t\t\t\t\t\tthis.propagateChangeCallback(values);\n\t\t\t\t\t\t// otherwise just pass up the values from `getSelected`\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.propagateChangeCallback(this.view.getSelected());\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.selected.emit(event);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If type is single, dropdown list will emit an object\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\n\t\t\t\t\t\tif (!isUpdate(event)) {\n\t\t\t\t\t\t\tif (this.itemValueKey) {\n\t\t\t\t\t\t\t\tthis.propagateChangeCallback(event.item[this.itemValueKey]);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.propagateChangeCallback(event.item);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.selectedValue = \"\";\n\t\t\t\t\t\tif (!isUpdate(event)) {\n\t\t\t\t\t\t\tthis.propagateChangeCallback(null);\n\t\t\t\t\t\t}\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\t// only focus for \"organic\" selections\n\t\t\t\t\tif (!isUpdate(event)) {\n\t\t\t\t\t\tthis.elementRef.nativeElement.querySelector(\"input\").focus();\n\t\t\t\t\t\tthis.view.filterBy(\"\");\n\t\t\t\t\t\tthis.selected.emit(event.item);\n\t\t\t\t\t}\n\t\t\t\t\tthis.closeDropdown();\n\t\t\t\t}\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(\".cds--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\t// if appendInline is default valued (null) we should:\n\t\t// 1. if there are scrollable parents (not including body) don't append inline\n\t\t// this should also cover the case where the dropdown is in a modal\n\t\t// (where we _do_ want to append to the placeholder)\n\t\tif (this.appendInline === null && hasScrollableParents(this.elementRef.nativeElement)) {\n\t\t\tthis.appendInline = false;\n\t\t// 2. otherwise we should append inline\n\t\t} else if (this.appendInline === null) {\n\t\t\tthis.appendInline = true;\n\t\t}\n\t}\n\n\t/**\n\t * Removing the `Dropdown` from the body if it is appended to the body.\n\t */\n\tngOnDestroy() {\n\t\tif (!this.appendInline) {\n\t\t\tthis._appendToDropdown();\n\t\t}\n\t}\n\n\t/**\n\t * Handles `Escape/Tab` 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\")\n\t\t\t&& (!this.dropdownMenu || !this.dropdownMenu.nativeElement.contains(ev.target))) {\n\t\t\tev.preventDefault();\n\t\t\tthis.openDropdown();\n\t\t\tsetTimeout(() => { this.view.initFocus(); }, 0);\n\t\t}\n\n\t\tif (\n\t\t\tthis.open && ev.key === \"Tab\" &&\n\t\t\t(this.dropdownMenu.nativeElement.contains(ev.target as Node) || ev.target === this.input.nativeElement)\n\t\t) {\n\t\t\tthis.closeDropdown();\n\t\t}\n\n\t\tif (this.open && ev.key === \"Tab\" && ev.shiftKey) {\n\t\t\tthis.closeDropdown();\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 (this.type === \"single\") {\n\t\t\tif (this.itemValueKey) {\n\t\t\t\t// clone the specified item and update its state\n\t\t\t\tconst newValue = Object.assign({}, this.view.getListItems().find(item => item[this.itemValueKey] === value));\n\t\t\t\tnewValue.selected = true;\n\t\t\t\tthis.view.propagateSelected([newValue]);\n\t\t\t} else {\n\t\t\t\t// all items in propagateSelected must be iterable\n\t\t\t\tthis.view.propagateSelected([value || \"\"]);\n\t\t\t}\n\t\t\tthis.showClearButton = !!(value && this.view.getSelected().length);\n\t\t} else {\n\t\t\tif (this.itemValueKey) {\n\t\t\t\t// clone the items and update their state based on the received value array\n\t\t\t\t// this way we don't lose any additional metadata that may be passed in via the `items` Input\n\t\t\t\tlet newValues = [];\n\t\t\t\tfor (const v of value) {\n\t\t\t\t\tfor (const item of this.view.getListItems()) {\n\t\t\t\t\t\tif (item[this.itemValueKey] === v) {\n\t\t\t\t\t\t\tnewValues.push(Object.assign({}, item, { selected: true }));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.view.propagateSelected(newValues);\n\t\t\t} else {\n\t\t\t\tthis.view.propagateSelected(value ? value : [\"\"]);\n\t\t\t}\n\t\t}\n\t\tthis.updateSelected();\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 * `ControlValueAccessor` method to programmatically disable the combobox.\n\t *\n\t * ex: `this.formGroup.get(\"myCoolCombobox\").disable();`\n\t */\n\tsetDisabledState(isDisabled: boolean) {\n\t\tthis.disabled = isDisabled;\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.checkForReorder();\n\t}\n\n\tpublic clearSelected(event) {\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\tconst selected = this.view.getSelected();\n\t\tthis.propagateChangeCallback(selected);\n\t\tthis.selected.emit(selected as any);\n\t\tthis.clear.emit(event);\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.checkForReorder();\n\t\tthis.close.emit();\n\t\tif (!this.appendInline) {\n\t\t\tthis._appendToDropdown();\n\t\t}\n\n\t\tdocument.removeEventListener(\"click\", this.outsideClick, true);\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\tthis._dropUp = false;\n\n\t\tif (!this.appendInline) {\n\t\t\tthis._appendToBody();\n\t\t}\n\n\t\tdocument.addEventListener(\"click\", this.outsideClick, true);\n\n\t\t// set the dropdown menu to drop up if it is near the bottom of the screen\n\t\t// setTimeout lets us do the calculations after it is visible in the DOM\n\t\tsetTimeout(() => {\n\t\t\tif (this.dropUp === null || this.dropUp === undefined) {\n\t\t\t\tthis._dropUp = this._shouldDropUp();\n\t\t\t}\n\t\t}, 0);\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;\n\t\tthis.view.filterBy(searchString);\n\t\tif (searchString !== \"\") {\n\t\t\tif (!this.open) {\n\t\t\t\tthis.openDropdown();\n\t\t\t}\n\t\t} else {\n\t\t\tthis.selectedValue = \"\";\n\t\t\tif (this.type === \"multi\" &&\n\t\t\t\t(this.selectionFeedback === \"top\" || this.selectionFeedback === \"top-after-reopen\")) {\n\t\t\t\tthis.view.reorderSelected();\n\t\t\t}\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\tthis.view.filterBy(searchString);\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\tif (this.type === \"single\") { // don't want to clear selected or close if multi\n\t\t\tthis.clearSelected(event);\n\t\t\tthis.closeDropdown();\n\t\t}\n\n\t\tthis.selectedValue = \"\";\n\t\tthis.input.nativeElement.value = \"\";\n\n\t\tthis.showClearButton = false;\n\t\tthis.input.nativeElement.focus();\n\t\tthis.onSearch(this.input.nativeElement.value);\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\t/**\n\t * Handles keyboard events so users are controlling the `Dropdown` instead of unintentionally controlling outside elements.\n\t */\n\t_keyboardNav(event: KeyboardEvent) {\n\t\tif ((event.key === \"Escape\") && this.open) {\n\t\t\tevent.stopImmediatePropagation(); // don't unintentionally close modal if inside of it\n\t\t}\n\t\tif (event.key === \"Escape\") {\n\t\t\tevent.preventDefault();\n\t\t\tthis.closeDropdown();\n\t\t\tthis.input.nativeElement.focus();\n\t\t} else if (this.open && event.key === \"Tab\") {\n\t\t\t// this way focus will start on the next focusable item from the dropdown\n\t\t\t// not the top of the body!\n\t\t\tthis.input.nativeElement.focus();\n\t\t\tthis.input.nativeElement.dispatchEvent(new KeyboardEvent(\"keydown\", { bubbles: true, cancelable: true, key: \"Tab\" }));\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\n\t/**\n\t * Creates the `Dropdown` list as an element that is appended to the DOM body.\n\t */\n\t_appendToBody() {\n\t\tthis.dropdownService.appendToBody(\n\t\t\tthis.listbox.nativeElement,\n\t\t\tthis.dropdownMenu.nativeElement,\n\t\t\t`${this.elementRef.nativeElement.className}${this.open ? \" cds--list-box--expanded\" : \"\"}`);\n\t\tthis.dropdownMenu.nativeElement.addEventListener(\"keydown\", this.keyboardNav, true);\n\t}\n\n\t/**\n\t * Creates the `Dropdown` list appending it to the dropdown parent object instead of the body.\n\t */\n\t_appendToDropdown() {\n\t\tthis.dropdownService.appendToDropdown(this.elementRef.nativeElement);\n\t\tthis.dropdownMenu.nativeElement.removeEventListener(\"keydown\", this.keyboardNav, true);\n\t}\n\n\t/**\n\t * Detects whether or not the `Dropdown` list is visible within all scrollable parents.\n\t * This can be overridden by passing in a value to the `dropUp` input.\n\t */\n\t_shouldDropUp() {\n\t\t// check if dropdownMenu exists first.\n\t\tconst menu = this.dropdownMenu && this.dropdownMenu.nativeElement.querySelector(\".cds--list-box__menu\");\n\t\t// check if menu exists first.\n\t\tconst menuRect = menu && menu.getBoundingClientRect();\n\t\tif (menu && menuRect) {\n\t\t\tconst scrollableParents = getScrollableParents(menu);\n\t\t\treturn scrollableParents.reduce((shouldDropUp: boolean, parent: HTMLElement) => {\n\t\t\t\tconst parentRect = parent.getBoundingClientRect();\n\t\t\t\tconst isBelowParent = !(menuRect.bottom <= parentRect.bottom);\n\t\t\t\treturn shouldDropUp || isBelowParent;\n\t\t\t}, false);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Handles clicks outside of the `Dropdown` list.\n\t */\n\t_outsideClick(event) {\n\t\tif (!this.elementRef.nativeElement.contains(event.target) &&\n\t\t\t// if we're appendToBody the list isn't within the _elementRef,\n\t\t\t// so we've got to check if our target is possibly in there too.\n\t\t\t!this.dropdownMenu.nativeElement.contains(event.target)) {\n\t\t\tthis.closeDropdown();\n\t\t}\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) {\n\t\t\tconst value = selected[0] ? selected[0].content : \"\";\n\t\t\tconst changeCallbackValue = selected[0] ? selected[0] : \"\";\n\t\t\tthis.selectedValue = value;\n\t\t\tthis.showClearButton = !!value;\n\t\t}\n\t}\n\n\tprotected checkForReorder() {\n\t\tconst topAfterReopen = !this.open && this.selectionFeedback === \"top-after-reopen\";\n\t\tif ((this.type === \"multi\") && (topAfterReopen || this.selectionFeedback === \"top\")) {\n\t\t\tthis.view.reorderSelected(true);\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { ComboBox } from \"./combobox.component\";\nimport { DropdownModule, DropdownService } from \"carbon-components-angular/dropdown\";\nimport { I18nModule } from \"carbon-components-angular/i18n\";\nimport { UtilsModule } from \"carbon-components-angular/utils\";\nimport { IconModule } from \"carbon-components-angular/icon\";\n\n@NgModule({\n\tdeclarations: [\n\t\tComboBox\n\t],\n\texports: [\n\t\tComboBox,\n\t\tDropdownModule\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tDropdownModule,\n\t\tI18nModule,\n\t\tUtilsModule,\n\t\tIconModule\n\t],\n\tproviders: [ DropdownService ]\n})\nexport class ComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -174,7 +174,7 @@ class ContainedListItem {
|
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
ContainedListItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContainedListItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
177
|
-
ContainedListItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ContainedListItem, selector: "cds-contained-list-item, ibm-contained-list-item", inputs: { action: "action", disabled: "disabled", clickable: "clickable", icon: "icon" }, outputs: { click: "click" }, host: { properties: { "class.cds--contained-list-item": "this.itemClass", "attr.role": "this.role", "class.cds--contained-list-item--clickable": "this.itemClickableClass", "class.cds--contained-list-item--with-icon": "this.itemWithIconClass" } }, ngImport: i0, template: `
|
|
177
|
+
ContainedListItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ContainedListItem, selector: "cds-contained-list-item, ibm-contained-list-item", inputs: { action: "action", actionData: "actionData", disabled: "disabled", clickable: "clickable", icon: "icon" }, outputs: { click: "click" }, host: { properties: { "class.cds--contained-list-item": "this.itemClass", "attr.role": "this.role", "class.cds--contained-list-item--clickable": "this.itemClickableClass", "class.cds--contained-list-item--with-icon": "this.itemWithIconClass" } }, ngImport: i0, template: `
|
|
178
178
|
<ng-container *ngIf="clickable">
|
|
179
179
|
<button
|
|
180
180
|
class="cds--contained-list-item__content"
|
|
@@ -194,7 +194,7 @@ ContainedListItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
194
194
|
</div>
|
|
195
195
|
</ng-container>
|
|
196
196
|
<div class="cds--contained-list-item__action" *ngIf="action">
|
|
197
|
-
<ng-template [ngTemplateOutlet]="action"></ng-template>
|
|
197
|
+
<ng-template [ngTemplateOutlet]="action" [ngTemplateOutletContext]="{ $implicit: actionData }"></ng-template>
|
|
198
198
|
</div>
|
|
199
199
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
200
200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContainedListItem, decorators: [{
|
|
@@ -221,13 +221,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
221
221
|
</div>
|
|
222
222
|
</ng-container>
|
|
223
223
|
<div class="cds--contained-list-item__action" *ngIf="action">
|
|
224
|
-
<ng-template [ngTemplateOutlet]="action"></ng-template>
|
|
224
|
+
<ng-template [ngTemplateOutlet]="action" [ngTemplateOutletContext]="{ $implicit: actionData }"></ng-template>
|
|
225
225
|
</div>
|
|
226
226
|
`,
|
|
227
227
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
228
228
|
}]
|
|
229
229
|
}], propDecorators: { action: [{
|
|
230
230
|
type: Input
|
|
231
|
+
}], actionData: [{
|
|
232
|
+
type: Input
|
|
231
233
|
}], disabled: [{
|
|
232
234
|
type: Input
|
|
233
235
|
}], clickable: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carbon-components-angular-contained-list.mjs","sources":["../../src/contained-list/contained-list.enums.ts","../../src/contained-list/contained-list.component.ts","../../src/contained-list/contained-list-item.component.ts","../../src/contained-list/contained-list.module.ts","../../src/contained-list/carbon-components-angular-contained-list.ts"],"sourcesContent":["export enum ContainedListSize {\n\tSmall = \"sm\",\n\tMedium = \"md\",\n\tLarge = \"lg\",\n\tExtraLarge = \"xl\"\n}\n\nexport enum ContainedListKind {\n\tOnPage = \"on-page\",\n\tDisclosed = \"disclosed\"\n}\n","import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tHostBinding,\n\tInput,\n\tTemplateRef\n} from \"@angular/core\";\nimport { ContainedListKind, ContainedListSize } from \"./contained-list.enums\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { ContainedListModule } from 'carbon-components-angular';\n * ```\n *\n * [See demo](../../?path=/story/components-contained-list--basic)\n */\n@Component({\n\tselector: \"cds-contained-list, ibm-contained-list\",\n\ttemplate: `\n\t\t<div\n\t\t\tclass=\"cds--contained-list\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--contained-list--inset-rulers': isInset,\n\t\t\t\t'cds--contained-list--on-page': kind === ContainedListKind.OnPage,\n\t\t\t\t'cds--contained-list--disclosed': kind === ContainedListKind.Disclosed,\n\t\t\t\t'cds--contained-list--sm': size === ContainedListSize.Small,\n\t\t\t\t'cds--contained-list--md': size === ContainedListSize.Medium,\n\t\t\t\t'cds--contained-list--lg': size === ContainedListSize.Large,\n\t\t\t\t'cds--contained-list--xl': size === ContainedListSize.ExtraLarge\n\t\t\t}\">\n\t\t\t<div class=\"cds--contained-list__header\">\n\t\t\t\t<div [id]=\"labelId\" class=\"cds--contained-list__label\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{ label }}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"cds--contained-list__action\" *ngIf=\"action\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"action\"></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div role=\"list\" [attr.aria-labelledby]=\"labelId\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</div>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContainedList {\n\t/** Used to generate unique IDs */\n\tprivate static count = 0;\n\n\t/**\n\t * A slot for a possible interactive element to render within the list header.\n\t */\n\t@Input() action: TemplateRef<any>;\n\n\t/**\n\t * Specify whether the dividing lines in between list items should be inset.\n\t */\n\t@Input() isInset = false;\n\n\t/**\n\t * The kind of ContainedList you want to display.\n\t */\n\t@Input() kind: ContainedListKind = ContainedListKind.OnPage;\n\n\t/**\n\t * A label describing the contained list.\n\t */\n\t@Input() label: string | TemplateRef<any>;\n\n\t/**\n\t * Specify the size of the contained list.\n\t */\n\t@Input() size: ContainedListSize = ContainedListSize.Large;\n\n\t/**\n\t * Label id for the contained list.\n\t */\n\t@Input() labelId = `contained-list-${ContainedList.count++}-header`;\n\n\t/**\n\t * Exposing ContainedListSize enum to the template\n\t */\n\tpublic ContainedListSize: typeof ContainedListSize = ContainedListSize;\n\n\t/**\n\t * Exposing ContainedListKind enum to the template\n\t */\n\tpublic ContainedListKind: typeof ContainedListKind = ContainedListKind;\n\n\tpublic isTemplate(value: string | TemplateRef<any>) {\n\t\treturn value instanceof TemplateRef;\n\t}\n}\n","import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tEventEmitter,\n\tHostBinding,\n\tInput,\n\tOutput,\n\tTemplateRef\n} from \"@angular/core\";\n\n@Component({\n\tselector: \"cds-contained-list-item, ibm-contained-list-item\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"clickable\">\n\t\t\t<button\n\t\t\t\tclass=\"cds--contained-list-item__content\"\n\t\t\t\ttype=\"button\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t(click)=\"onClick()\">\n\t\t\t\t<ng-content select=\"[cdsContainedListItemButton],[ibmContainedListItemButton]\"></ng-content>\n\t\t\t</button>\n\t\t</ng-container>\n\t\t<ng-container *ngIf=\"!clickable\">\n\t\t\t<div class=\"cds--contained-list-item__content\">\n\t\t\t\t<div *ngIf=\"icon\" class=\"cds--contained-list-item__icon\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(icon)\"><svg [ibmIcon]=\"icon\" size=\"16\"></svg></ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(icon)\" [ngTemplateOutlet]=\"icon\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</ng-container>\n\t\t<div class=\"cds--contained-list-item__action\" *ngIf=\"action\">\n\t\t\t<ng-template [ngTemplateOutlet]=\"action\"></ng-template>\n\t\t</div>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContainedListItem {\n\t/**\n\t * A slot for a possible interactive element to render within the item.\n\t */\n\t@Input() action: TemplateRef<any>;\n\n\t/**\n\t * Whether this item is disabled.\n\t */\n\t@Input() disabled = false;\n\n\t/**\n\t * Whether this item is clickable.\n\t */\n\t@Input() clickable: boolean;\n\n\t/**\n\t * Provide an optional icon to render in front of the item's content.\n\t *\n\t * Note that if you intend to use this as a string ref, it's important to remember\n\t * to register the icon that you wish to add. In this case, it's also worth noting\n\t * that only icons with a size of 16 are currently supported.\n\t */\n\t@Input() icon: TemplateRef<any> | string;\n\n\t/**\n\t * Emits click event.\n\t */\n\t@Output() click = new EventEmitter<void>();\n\n\t/**\n\t * Host binding item class.\n\t */\n\t@HostBinding(\"class.cds--contained-list-item\") itemClass = true;\n\n\t/**\n\t * Host binding item role attribute\n\t */\n\t@HostBinding(\"attr.role\") role = \"listitem\";\n\n\t/**\n\t * Host binding clickable item class.\n\t */\n\t@HostBinding(\"class.cds--contained-list-item--clickable\") get itemClickableClass() {\n\t\treturn this.clickable;\n\t}\n\n\t/**\n\t * Host binding item with icon class.\n\t */\n\t@HostBinding(\"class.cds--contained-list-item--with-icon\") get itemWithIconClass() {\n\t\treturn !!this.icon;\n\t}\n\n\tpublic onClick() {\n\t\tthis.click.emit();\n\t}\n\n\tpublic isTemplate(value: string | TemplateRef<any>) {\n\t\treturn value instanceof TemplateRef;\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ContainedList } from \"./contained-list.component\";\nimport { ContainedListItem } from \"./contained-list-item.component\";\nimport { IconModule } from \"carbon-components-angular/icon\";\n\n@NgModule({\n\tdeclarations: [ContainedList, ContainedListItem],\n\texports: [ContainedList, ContainedListItem],\n\timports: [CommonModule, IconModule]\n})\nexport class ContainedListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carbon-components-angular-contained-list.mjs","sources":["../../src/contained-list/contained-list.enums.ts","../../src/contained-list/contained-list.component.ts","../../src/contained-list/contained-list-item.component.ts","../../src/contained-list/contained-list.module.ts","../../src/contained-list/carbon-components-angular-contained-list.ts"],"sourcesContent":["export enum ContainedListSize {\n\tSmall = \"sm\",\n\tMedium = \"md\",\n\tLarge = \"lg\",\n\tExtraLarge = \"xl\"\n}\n\nexport enum ContainedListKind {\n\tOnPage = \"on-page\",\n\tDisclosed = \"disclosed\"\n}\n","import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tHostBinding,\n\tInput,\n\tTemplateRef\n} from \"@angular/core\";\nimport { ContainedListKind, ContainedListSize } from \"./contained-list.enums\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { ContainedListModule } from 'carbon-components-angular';\n * ```\n *\n * [See demo](../../?path=/story/components-contained-list--basic)\n */\n@Component({\n\tselector: \"cds-contained-list, ibm-contained-list\",\n\ttemplate: `\n\t\t<div\n\t\t\tclass=\"cds--contained-list\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--contained-list--inset-rulers': isInset,\n\t\t\t\t'cds--contained-list--on-page': kind === ContainedListKind.OnPage,\n\t\t\t\t'cds--contained-list--disclosed': kind === ContainedListKind.Disclosed,\n\t\t\t\t'cds--contained-list--sm': size === ContainedListSize.Small,\n\t\t\t\t'cds--contained-list--md': size === ContainedListSize.Medium,\n\t\t\t\t'cds--contained-list--lg': size === ContainedListSize.Large,\n\t\t\t\t'cds--contained-list--xl': size === ContainedListSize.ExtraLarge\n\t\t\t}\">\n\t\t\t<div class=\"cds--contained-list__header\">\n\t\t\t\t<div [id]=\"labelId\" class=\"cds--contained-list__label\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{ label }}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"cds--contained-list__action\" *ngIf=\"action\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"action\"></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div role=\"list\" [attr.aria-labelledby]=\"labelId\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</div>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContainedList {\n\t/** Used to generate unique IDs */\n\tprivate static count = 0;\n\n\t/**\n\t * A slot for a possible interactive element to render within the list header.\n\t */\n\t@Input() action: TemplateRef<any>;\n\n\t/**\n\t * Specify whether the dividing lines in between list items should be inset.\n\t */\n\t@Input() isInset = false;\n\n\t/**\n\t * The kind of ContainedList you want to display.\n\t */\n\t@Input() kind: ContainedListKind = ContainedListKind.OnPage;\n\n\t/**\n\t * A label describing the contained list.\n\t */\n\t@Input() label: string | TemplateRef<any>;\n\n\t/**\n\t * Specify the size of the contained list.\n\t */\n\t@Input() size: ContainedListSize = ContainedListSize.Large;\n\n\t/**\n\t * Label id for the contained list.\n\t */\n\t@Input() labelId = `contained-list-${ContainedList.count++}-header`;\n\n\t/**\n\t * Exposing ContainedListSize enum to the template\n\t */\n\tpublic ContainedListSize: typeof ContainedListSize = ContainedListSize;\n\n\t/**\n\t * Exposing ContainedListKind enum to the template\n\t */\n\tpublic ContainedListKind: typeof ContainedListKind = ContainedListKind;\n\n\tpublic isTemplate(value: string | TemplateRef<any>) {\n\t\treturn value instanceof TemplateRef;\n\t}\n}\n","import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tEventEmitter,\n\tHostBinding,\n\tInput,\n\tOutput,\n\tTemplateRef\n} from \"@angular/core\";\n\n@Component({\n\tselector: \"cds-contained-list-item, ibm-contained-list-item\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"clickable\">\n\t\t\t<button\n\t\t\t\tclass=\"cds--contained-list-item__content\"\n\t\t\t\ttype=\"button\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t(click)=\"onClick()\">\n\t\t\t\t<ng-content select=\"[cdsContainedListItemButton],[ibmContainedListItemButton]\"></ng-content>\n\t\t\t</button>\n\t\t</ng-container>\n\t\t<ng-container *ngIf=\"!clickable\">\n\t\t\t<div class=\"cds--contained-list-item__content\">\n\t\t\t\t<div *ngIf=\"icon\" class=\"cds--contained-list-item__icon\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(icon)\"><svg [ibmIcon]=\"icon\" size=\"16\"></svg></ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(icon)\" [ngTemplateOutlet]=\"icon\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</ng-container>\n\t\t<div class=\"cds--contained-list-item__action\" *ngIf=\"action\">\n\t\t\t<ng-template [ngTemplateOutlet]=\"action\" [ngTemplateOutletContext]=\"{ $implicit: actionData }\"></ng-template>\n\t\t</div>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContainedListItem {\n\t/**\n\t * A slot for a possible interactive element to render within the item.\n\t */\n\t@Input() action: TemplateRef<any>;\n\n\t/**\n\t * Optional interactive element data.\n\t */\n\t@Input() actionData: any;\n\n\t/**\n\t * Whether this item is disabled.\n\t */\n\t@Input() disabled = false;\n\n\t/**\n\t * Whether this item is clickable.\n\t */\n\t@Input() clickable: boolean;\n\n\t/**\n\t * Provide an optional icon to render in front of the item's content.\n\t *\n\t * Note that if you intend to use this as a string ref, it's important to remember\n\t * to register the icon that you wish to add. In this case, it's also worth noting\n\t * that only icons with a size of 16 are currently supported.\n\t */\n\t@Input() icon: TemplateRef<any> | string;\n\n\t/**\n\t * Emits click event.\n\t */\n\t@Output() click = new EventEmitter<void>();\n\n\t/**\n\t * Host binding item class.\n\t */\n\t@HostBinding(\"class.cds--contained-list-item\") itemClass = true;\n\n\t/**\n\t * Host binding item role attribute\n\t */\n\t@HostBinding(\"attr.role\") role = \"listitem\";\n\n\t/**\n\t * Host binding clickable item class.\n\t */\n\t@HostBinding(\"class.cds--contained-list-item--clickable\") get itemClickableClass() {\n\t\treturn this.clickable;\n\t}\n\n\t/**\n\t * Host binding item with icon class.\n\t */\n\t@HostBinding(\"class.cds--contained-list-item--with-icon\") get itemWithIconClass() {\n\t\treturn !!this.icon;\n\t}\n\n\tpublic onClick() {\n\t\tthis.click.emit();\n\t}\n\n\tpublic isTemplate(value: string | TemplateRef<any>) {\n\t\treturn value instanceof TemplateRef;\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ContainedList } from \"./contained-list.component\";\nimport { ContainedListItem } from \"./contained-list-item.component\";\nimport { IconModule } from \"carbon-components-angular/icon\";\n\n@NgModule({\n\tdeclarations: [ContainedList, ContainedListItem],\n\texports: [ContainedList, ContainedListItem],\n\timports: [CommonModule, IconModule]\n})\nexport class ContainedListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1552,7 +1552,7 @@ class DropdownList {
|
|
|
1552
1552
|
}
|
|
1553
1553
|
else if (event.key === "ArrowUp") {
|
|
1554
1554
|
if (this.hasPrevElement()) {
|
|
1555
|
-
this.getPrevElement().scrollIntoView();
|
|
1555
|
+
this.getPrevElement().scrollIntoView({ block: "nearest" });
|
|
1556
1556
|
}
|
|
1557
1557
|
else {
|
|
1558
1558
|
this.blurIntent.emit("top");
|