carbon-components-angular 5.56.6 → 5.57.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/README.md +23 -6
- package/combo-button/combo-button.component.d.ts +99 -0
- package/combo-button/combo-button.module.d.ts +31 -0
- package/combo-button/index.d.ts +22 -0
- package/context-menu/context-menu-divider.component.d.ts +1 -1
- package/context-menu/context-menu-group.component.d.ts +1 -1
- package/context-menu/context-menu-item.component.d.ts +6 -1
- package/context-menu/context-menu.component.d.ts +11 -7
- package/context-menu/context-menu.types.d.ts +27 -0
- package/context-menu/index.d.ts +1 -0
- package/docs/documentation/components/Accordion.html +1 -1
- package/docs/documentation/components/AccordionItem.html +1 -1
- package/docs/documentation/components/ActionableNotification.html +1 -1
- package/docs/documentation/components/AlertModal.html +1 -1
- package/docs/documentation/components/BaseIconButton.html +1 -1
- package/docs/documentation/components/BaseNotification.html +1 -1
- package/docs/documentation/components/BaseTabHeader.html +1 -1
- package/docs/documentation/components/Breadcrumb.html +1 -1
- package/docs/documentation/components/BreadcrumbItemComponent.html +1 -1
- package/docs/documentation/components/ButtonSet.html +1 -1
- package/docs/documentation/components/Checkbox.html +1 -1
- package/docs/documentation/components/ClickableTile.html +1 -1
- package/docs/documentation/components/CodeSnippet.html +1 -1
- package/docs/documentation/components/ComboBox.html +1 -1
- package/docs/documentation/components/ComboButtonComponent.html +2264 -0
- package/docs/documentation/components/ContainedList.html +1 -1
- package/docs/documentation/components/ContainedListItem.html +1 -1
- package/docs/documentation/components/ContentSwitcher.html +1 -1
- package/docs/documentation/components/ContextMenuComponent.html +147 -164
- package/docs/documentation/components/ContextMenuDividerComponent.html +3 -3
- package/docs/documentation/components/ContextMenuGroupComponent.html +4 -4
- package/docs/documentation/components/ContextMenuItemComponent.html +218 -66
- package/docs/documentation/components/DatePicker.html +1 -1
- package/docs/documentation/components/DatePickerInput.html +1 -1
- package/docs/documentation/components/Dialog.html +1 -1
- package/docs/documentation/components/Documentation.html +1 -1
- package/docs/documentation/components/Dropdown.html +1 -1
- package/docs/documentation/components/DropdownList.html +1 -1
- package/docs/documentation/components/ExpandableTile.html +1 -1
- package/docs/documentation/components/FileComponent.html +1 -1
- package/docs/documentation/components/FileUploader.html +1 -1
- package/docs/documentation/components/Hamburger.html +1 -1
- package/docs/documentation/components/Header.html +1 -1
- package/docs/documentation/components/HeaderAction.html +1 -1
- package/docs/documentation/components/HeaderGlobal.html +1 -1
- package/docs/documentation/components/HeaderItem.html +1 -1
- package/docs/documentation/components/HeaderMenu.html +1 -1
- package/docs/documentation/components/HeaderNavigation.html +1 -1
- package/docs/documentation/components/IconButton.html +1 -1
- package/docs/documentation/components/InlineLoading.html +1 -1
- package/docs/documentation/components/Label.html +1 -1
- package/docs/documentation/components/ListColumn.html +1 -1
- package/docs/documentation/components/ListHeader.html +1 -1
- package/docs/documentation/components/ListRow.html +1 -1
- package/docs/documentation/components/Loading.html +1 -1
- package/docs/documentation/components/MenuButtonComponent.html +1931 -0
- package/docs/documentation/components/Modal.html +1 -1
- package/docs/documentation/components/ModalFooter.html +1 -1
- package/docs/documentation/components/ModalHeader.html +1 -1
- package/docs/documentation/components/Notification.html +1 -1
- package/docs/documentation/components/NumberComponent.html +1 -1
- package/docs/documentation/components/OverflowMenu.html +1 -1
- package/docs/documentation/components/OverflowMenuCustomPane.html +1 -1
- package/docs/documentation/components/OverflowMenuOption.html +1 -1
- package/docs/documentation/components/OverflowMenuPane.html +1 -1
- package/docs/documentation/components/Overlay.html +1 -1
- package/docs/documentation/components/Pagination.html +1 -1
- package/docs/documentation/components/PaginationNav.html +1 -1
- package/docs/documentation/components/PaginationNavItem.html +1 -1
- package/docs/documentation/components/PaginationOverflow.html +1 -1
- package/docs/documentation/components/Panel.html +1 -1
- package/docs/documentation/components/PasswordInputLabelComponent.html +1 -1
- package/docs/documentation/components/Placeholder.html +1 -1
- package/docs/documentation/components/PopoverContent.html +1 -1
- package/docs/documentation/components/ProgressBar.html +1 -1
- package/docs/documentation/components/ProgressIndicator.html +1 -1
- package/docs/documentation/components/Radio.html +1 -1
- package/docs/documentation/components/RadioGroup.html +1 -1
- package/docs/documentation/components/Search.html +1 -1
- package/docs/documentation/components/Select.html +1 -1
- package/docs/documentation/components/SelectionTile.html +1 -1
- package/docs/documentation/components/SideNav.html +1 -1
- package/docs/documentation/components/SideNavItem.html +1 -1
- package/docs/documentation/components/SideNavMenu.html +1 -1
- package/docs/documentation/components/SkeletonPlaceholder.html +1 -1
- package/docs/documentation/components/SkeletonText.html +1 -1
- package/docs/documentation/components/Slider.html +1 -1
- package/docs/documentation/components/StructuredList.html +1 -1
- package/docs/documentation/components/SwitcherList.html +1 -1
- package/docs/documentation/components/SwitcherListItem.html +1 -1
- package/docs/documentation/components/Tab.html +1 -1
- package/docs/documentation/components/TabHeaderGroup.html +1 -1
- package/docs/documentation/components/TabHeaders.html +1 -1
- package/docs/documentation/components/TabSkeleton.html +1 -1
- package/docs/documentation/components/Table.html +1 -1
- package/docs/documentation/components/TableBody.html +1 -1
- package/docs/documentation/components/TableCheckbox.html +1 -1
- package/docs/documentation/components/TableContainer.html +1 -1
- package/docs/documentation/components/TableData.html +1 -1
- package/docs/documentation/components/TableExpandButton.html +1 -1
- package/docs/documentation/components/TableExpandedRow.html +1 -1
- package/docs/documentation/components/TableHead.html +1 -1
- package/docs/documentation/components/TableHeadCell.html +1 -1
- package/docs/documentation/components/TableHeadCheckbox.html +1 -1
- package/docs/documentation/components/TableHeadExpand.html +1 -1
- package/docs/documentation/components/TableHeader.html +1 -1
- package/docs/documentation/components/TableRadio.html +1 -1
- package/docs/documentation/components/TableRowComponent.html +1 -1
- package/docs/documentation/components/TableToolbar.html +1 -1
- package/docs/documentation/components/TableToolbarActions.html +1 -1
- package/docs/documentation/components/TableToolbarContent.html +1 -1
- package/docs/documentation/components/TableToolbarSearch.html +1 -1
- package/docs/documentation/components/Tabs.html +1 -1
- package/docs/documentation/components/Tag.html +1 -1
- package/docs/documentation/components/TagFilter.html +1 -1
- package/docs/documentation/components/TagOperationalComponent.html +1 -1
- package/docs/documentation/components/TagSelectableComponent.html +1 -1
- package/docs/documentation/components/TextInputLabelComponent.html +1 -1
- package/docs/documentation/components/TextareaLabelComponent.html +1 -1
- package/docs/documentation/components/Tile.html +1 -1
- package/docs/documentation/components/TileGroup.html +1 -1
- package/docs/documentation/components/TimePicker.html +1 -1
- package/docs/documentation/components/TimePickerSelect.html +1 -1
- package/docs/documentation/components/Toast.html +1 -1
- package/docs/documentation/components/Toggle.html +1 -1
- package/docs/documentation/components/Toggletip.html +1 -1
- package/docs/documentation/components/Tooltip.html +1 -1
- package/docs/documentation/components/TooltipDefinition.html +1 -1
- package/docs/documentation/components/TreeNodeComponent.html +1 -1
- package/docs/documentation/components/TreeViewComponent.html +1 -1
- package/docs/documentation/coverage.html +40 -4
- package/docs/documentation/dependencies.html +1 -1
- package/docs/documentation/graph/dependencies.svg +3058 -2934
- package/docs/documentation/index.html +17 -6
- package/docs/documentation/interfaces/ItemClickEvent.html +437 -0
- package/docs/documentation/js/menu-wc.js +37 -0
- package/docs/documentation/js/menu-wc_es5.js +1 -1
- package/docs/documentation/js/search/search_index.js +2 -2
- package/docs/documentation/miscellaneous/typealiases.html +42 -0
- package/docs/documentation/modules/ComboBoxModule/dependencies.svg +4 -4
- package/docs/documentation/modules/ComboBoxModule.html +4 -4
- package/docs/documentation/modules/ComboButtonModule/dependencies.svg +106 -0
- package/docs/documentation/modules/ComboButtonModule.html +397 -0
- package/docs/documentation/modules/DatePickerInputModule/dependencies.svg +34 -38
- package/docs/documentation/modules/DatePickerInputModule.html +34 -38
- package/docs/documentation/modules/DatePickerModule/dependencies.svg +4 -4
- package/docs/documentation/modules/DatePickerModule.html +4 -4
- package/docs/documentation/modules/DialogModule/dependencies.svg +34 -34
- package/docs/documentation/modules/DialogModule.html +34 -34
- package/docs/documentation/modules/FileUploaderModule/dependencies.svg +36 -36
- package/docs/documentation/modules/FileUploaderModule.html +36 -36
- package/docs/documentation/modules/GridModule/dependencies.svg +60 -60
- package/docs/documentation/modules/GridModule.html +60 -60
- package/docs/documentation/modules/LoadingModule/dependencies.svg +4 -4
- package/docs/documentation/modules/LoadingModule.html +4 -4
- package/docs/documentation/modules/MenuButtonModule/dependencies.svg +106 -0
- package/docs/documentation/modules/MenuButtonModule.html +398 -0
- package/docs/documentation/modules/ProgressIndicatorModule/dependencies.svg +4 -4
- package/docs/documentation/modules/ProgressIndicatorModule.html +4 -4
- package/docs/documentation/modules/RadioModule/dependencies.svg +46 -42
- package/docs/documentation/modules/RadioModule.html +46 -42
- package/docs/documentation/modules/SearchModule/dependencies.svg +4 -4
- package/docs/documentation/modules/SearchModule.html +4 -4
- package/docs/documentation/modules/SliderModule/dependencies.svg +4 -4
- package/docs/documentation/modules/SliderModule.html +4 -4
- package/docs/documentation/modules/TabsModule/dependencies.svg +69 -69
- package/docs/documentation/modules/TabsModule.html +69 -69
- package/docs/documentation/modules/TagModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TagModule.html +4 -4
- package/docs/documentation/modules/ThemeModule/dependencies.svg +14 -14
- package/docs/documentation/modules/ThemeModule.html +14 -14
- package/docs/documentation/modules/TilesModule/dependencies.svg +93 -93
- package/docs/documentation/modules/TilesModule.html +93 -93
- package/docs/documentation/modules/TimePickerModule/dependencies.svg +18 -18
- package/docs/documentation/modules/TimePickerModule.html +18 -18
- package/docs/documentation/modules/TimePickerSelectModule/dependencies.svg +30 -30
- package/docs/documentation/modules/TimePickerSelectModule.html +30 -30
- package/docs/documentation/modules/ToggleModule/dependencies.svg +45 -41
- package/docs/documentation/modules/ToggleModule.html +45 -41
- package/docs/documentation/modules/ToggletipModule/dependencies.svg +39 -39
- package/docs/documentation/modules/ToggletipModule.html +39 -39
- package/docs/documentation/modules/TooltipModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TooltipModule.html +4 -4
- package/docs/documentation/modules/TreeviewModule/dependencies.svg +31 -31
- package/docs/documentation/modules/TreeviewModule.html +31 -31
- package/docs/documentation/modules/UIShellModule/dependencies.svg +4 -4
- package/docs/documentation/modules/UIShellModule.html +4 -4
- package/docs/documentation/modules.html +34 -0
- package/docs/documentation/overview.html +3061 -2937
- package/docs/documentation.json +1710 -271
- package/docs/storybook/1125.37c137fa.iframe.bundle.js +1 -0
- package/docs/storybook/4292.3a543fed.iframe.bundle.js +1 -0
- package/docs/storybook/6702.f2acb76e.iframe.bundle.js +1 -0
- package/docs/storybook/combo-button-combo-button-stories.17bfb9ad.iframe.bundle.js +1 -0
- package/docs/storybook/context-menu-context-menu-stories.eb5edb41.iframe.bundle.js +1 -0
- package/docs/storybook/iframe.html +2 -2
- package/docs/storybook/index.json +1 -1
- package/docs/storybook/main.625b3296.iframe.bundle.js +1 -0
- package/docs/storybook/menu-button-menu-button-stories.869bfd47.iframe.bundle.js +1 -0
- package/docs/storybook/popover-popover-stories.ea5149e0.iframe.bundle.js +1 -0
- package/docs/storybook/project.json +1 -1
- package/docs/storybook/runtime~main.61967556.iframe.bundle.js +1 -0
- package/docs/storybook/stories.json +1 -1
- package/docs/storybook/tag-tag-stories.7b925787.iframe.bundle.js +1 -0
- package/esm2020/combo-button/carbon-components-angular-combo-button.mjs +5 -0
- package/esm2020/combo-button/combo-button.component.mjs +302 -0
- package/esm2020/combo-button/combo-button.module.mjs +32 -0
- package/esm2020/combo-button/index.mjs +3 -0
- package/esm2020/context-menu/context-menu-divider.component.mjs +3 -3
- package/esm2020/context-menu/context-menu-group.component.mjs +3 -3
- package/esm2020/context-menu/context-menu-item.component.mjs +33 -3
- package/esm2020/context-menu/context-menu.component.mjs +27 -20
- package/esm2020/context-menu/context-menu.types.mjs +2 -0
- package/esm2020/context-menu/index.mjs +2 -1
- package/esm2020/index.mjs +2 -1
- package/esm2020/menu-button/carbon-components-angular-menu-button.mjs +5 -0
- package/esm2020/menu-button/index.mjs +3 -0
- package/esm2020/menu-button/menu-button.component.mjs +265 -0
- package/esm2020/menu-button/menu-button.module.mjs +33 -0
- package/fesm2015/carbon-components-angular-combo-button.mjs +338 -0
- package/fesm2015/carbon-components-angular-combo-button.mjs.map +1 -0
- package/fesm2015/carbon-components-angular-context-menu.mjs +62 -25
- package/fesm2015/carbon-components-angular-context-menu.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-menu-button.mjs +302 -0
- package/fesm2015/carbon-components-angular-menu-button.mjs.map +1 -0
- package/fesm2015/carbon-components-angular.mjs +1 -0
- package/fesm2015/carbon-components-angular.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-combo-button.mjs +337 -0
- package/fesm2020/carbon-components-angular-combo-button.mjs.map +1 -0
- package/fesm2020/carbon-components-angular-context-menu.mjs +62 -25
- package/fesm2020/carbon-components-angular-context-menu.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-menu-button.mjs +301 -0
- package/fesm2020/carbon-components-angular-menu-button.mjs.map +1 -0
- package/fesm2020/carbon-components-angular.mjs +1 -0
- package/fesm2020/carbon-components-angular.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/menu-button/index.d.ts +22 -0
- package/menu-button/menu-button.component.d.ts +88 -0
- package/menu-button/menu-button.module.d.ts +31 -0
- package/package.json +18 -2
- package/docs/storybook/1562.1e6a79b6.iframe.bundle.js +0 -1
- package/docs/storybook/6702.8b6fb391.iframe.bundle.js +0 -1
- package/docs/storybook/context-menu-context-menu-stories.7c62ce72.iframe.bundle.js +0 -1
- package/docs/storybook/main.9bc55d67.iframe.bundle.js +0 -1
- package/docs/storybook/popover-popover-stories.a91784a3.iframe.bundle.js +0 -1
- package/docs/storybook/runtime~main.31991a82.iframe.bundle.js +0 -1
- package/docs/storybook/tag-tag-stories.c5c2cc86.iframe.bundle.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkcarbon_components_angular=self.webpackChunkcarbon_components_angular||[]).push([[3867],{"./src/icon/icon.directive.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{a:()=>IconDirective});var tslib__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_icon_service__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./src/icon/icon.service.ts"),_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@carbon/icon-helpers/es/index.js");let IconDirective=class IconDirective{constructor(elementRef,iconService){this.elementRef=elementRef,this.iconService=iconService,this.cdsIcon="",this.size="16",this.title="",this.ariaLabel="",this.ariaLabelledBy="",this.ariaHidden="",this.isFocusable=!1}set ibmIcon(iconName){this.cdsIcon=iconName}renderIcon(iconName){const root=this.elementRef.nativeElement;let icon;try{icon=this.iconService.get(iconName,this.size.toString())}catch(error){return void console.warn(error)}const domParser=new DOMParser,rawSVG=icon.svg,svgElement=domParser.parseFromString(rawSVG,"image/svg+xml").documentElement;let node="SVG"!==root.tagName.toUpperCase()?svgElement:svgElement.firstChild;for(root.innerHTML="";node;)root.appendChild(root.ownerDocument.importNode(node,!0)),node=node.nextSibling;const svg="SVG"!==root.tagName.toUpperCase()?svgElement:root,xmlns="http://www.w3.org/2000/svg";svg.setAttribute("xmlns",xmlns);const attributes=(0,_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_1__.u9)({width:icon.attrs.width,height:icon.attrs.height,viewBox:icon.attrs.viewBox,title:this.title,"aria-label":this.ariaLabel,"aria-labelledby":this.ariaLabelledBy,"aria-hidden":this.ariaHidden,focusable:this.isFocusable.toString(),fill:icon.attrs.fill}),attrKeys=Object.keys(attributes);for(let i=0;i<attrKeys.length;i++){const key=attrKeys[i],value=attributes[key];"title"!==key&&(value&&svg.setAttribute(key,value))}if(attributes.title){const title=document.createElementNS(xmlns,"title");title.textContent=attributes.title,IconDirective.titleIdCounter++,title.setAttribute("id",`${icon.name}-title-${IconDirective.titleIdCounter}`),svg.insertBefore(title,svg.firstElementChild),svg.setAttribute("aria-labelledby",`${icon.name}-title-${IconDirective.titleIdCounter}`)}}ngAfterViewInit(){this.renderIcon(this.cdsIcon)}ngOnChanges({cdsIcon}){cdsIcon&&!cdsIcon.isFirstChange()&&this.renderIcon(this.cdsIcon)}};IconDirective.titleIdCounter=0,IconDirective.ctorParameters=()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.ElementRef},{type:_icon_service__WEBPACK_IMPORTED_MODULE_0__.C6}],IconDirective.propDecorators={ibmIcon:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],cdsIcon:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],size:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],title:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaLabel:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaLabelledBy:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaHidden:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],isFocusable:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}]},IconDirective=(0,tslib__WEBPACK_IMPORTED_MODULE_3__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Directive)({selector:"[cdsIcon], [ibmIcon]"})],IconDirective)},"./src/icon/icon.module.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{QX:()=>IconModule});var tslib__WEBPACK_IMPORTED_MODULE_56__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_55__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_angular_common__WEBPACK_IMPORTED_MODULE_57__=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs"),_icon_directive__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./src/icon/icon.directive.ts"),_icon_service__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./src/icon/icon.service.ts"),_carbon_icons_es_add_16__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@carbon/icons/es/add/16.js"),_carbon_icons_es_add_20__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/@carbon/icons/es/add/20.js"),_carbon_icons_es_bee_16__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/@carbon/icons/es/bee/16.js"),_carbon_icons_es_bee_20__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/@carbon/icons/es/bee/20.js"),_carbon_icons_es_calendar_16__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/@carbon/icons/es/calendar/16.js"),_carbon_icons_es_carbon_16__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/@carbon/icons/es/carbon/16.js"),_carbon_icons_es_carbon_20__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/@carbon/icons/es/carbon/20.js"),_carbon_icons_es_caret_down_16__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/@carbon/icons/es/caret--down/16.js"),_carbon_icons_es_caret_left_16__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./node_modules/@carbon/icons/es/caret--left/16.js"),_carbon_icons_es_caret_right_16__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./node_modules/@carbon/icons/es/caret--right/16.js"),_carbon_icons_es_caret_up_16__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./node_modules/@carbon/icons/es/caret--up/16.js"),_carbon_icons_es_checkmark_16__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark/16.js"),_carbon_icons_es_checkmark_filled_16__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--filled/16.js"),_carbon_icons_es_checkmark_filled_20__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--filled/20.js"),_carbon_icons_es_checkmark_outline_16__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--outline/16.js"),_carbon_icons_es_chevron_down_16__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__("./node_modules/@carbon/icons/es/chevron--down/16.js"),_carbon_icons_es_chevron_right_16__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__("./node_modules/@carbon/icons/es/chevron--right/16.js"),_carbon_icons_es_circle_dash_16__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__("./node_modules/@carbon/icons/es/circle-dash/16.js"),_carbon_icons_es_close_16__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__("./node_modules/@carbon/icons/es/close/16.js"),_carbon_icons_es_close_20__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__("./node_modules/@carbon/icons/es/close/20.js"),_carbon_icons_es_copy_16__WEBPACK_IMPORTED_MODULE_22__=__webpack_require__("./node_modules/@carbon/icons/es/copy/16.js"),_carbon_icons_es_copy_20__WEBPACK_IMPORTED_MODULE_23__=__webpack_require__("./node_modules/@carbon/icons/es/copy/20.js"),_carbon_icons_es_data_2_16__WEBPACK_IMPORTED_MODULE_24__=__webpack_require__("./node_modules/@carbon/icons/es/data--2/16.js"),_carbon_icons_es_data_2_20__WEBPACK_IMPORTED_MODULE_25__=__webpack_require__("./node_modules/@carbon/icons/es/data--2/20.js"),_carbon_icons_es_document_16__WEBPACK_IMPORTED_MODULE_26__=__webpack_require__("./node_modules/@carbon/icons/es/document/16.js"),_carbon_icons_es_document_20__WEBPACK_IMPORTED_MODULE_27__=__webpack_require__("./node_modules/@carbon/icons/es/document/20.js"),_carbon_icons_es_download_16__WEBPACK_IMPORTED_MODULE_28__=__webpack_require__("./node_modules/@carbon/icons/es/download/16.js"),_carbon_icons_es_error_filled_16__WEBPACK_IMPORTED_MODULE_29__=__webpack_require__("./node_modules/@carbon/icons/es/error--filled/16.js"),_carbon_icons_es_error_filled_20__WEBPACK_IMPORTED_MODULE_30__=__webpack_require__("./node_modules/@carbon/icons/es/error--filled/20.js"),_carbon_icons_es_fade_16__WEBPACK_IMPORTED_MODULE_31__=__webpack_require__("./node_modules/@carbon/icons/es/fade/16.js"),_carbon_icons_es_fade_20__WEBPACK_IMPORTED_MODULE_32__=__webpack_require__("./node_modules/@carbon/icons/es/fade/20.js"),_carbon_icons_es_folder_16__WEBPACK_IMPORTED_MODULE_33__=__webpack_require__("./node_modules/@carbon/icons/es/folder/16.js"),_carbon_icons_es_incomplete_16__WEBPACK_IMPORTED_MODULE_34__=__webpack_require__("./node_modules/@carbon/icons/es/incomplete/16.js"),_carbon_icons_es_information_filled_16__WEBPACK_IMPORTED_MODULE_35__=__webpack_require__("./node_modules/@carbon/icons/es/information--filled/16.js"),_carbon_icons_es_information_filled_20__WEBPACK_IMPORTED_MODULE_36__=__webpack_require__("./node_modules/@carbon/icons/es/information--filled/20.js"),_carbon_icons_es_information_square_filled_20__WEBPACK_IMPORTED_MODULE_37__=__webpack_require__("./node_modules/@carbon/icons/es/information--square--filled/20.js"),_carbon_icons_es_menu_16__WEBPACK_IMPORTED_MODULE_38__=__webpack_require__("./node_modules/@carbon/icons/es/menu/16.js"),_carbon_icons_es_menu_20__WEBPACK_IMPORTED_MODULE_39__=__webpack_require__("./node_modules/@carbon/icons/es/menu/20.js"),_carbon_icons_es_overflow_menu_vertical_16__WEBPACK_IMPORTED_MODULE_40__=__webpack_require__("./node_modules/@carbon/icons/es/overflow-menu--vertical/16.js"),_carbon_icons_es_overflow_menu_horizontal_16__WEBPACK_IMPORTED_MODULE_41__=__webpack_require__("./node_modules/@carbon/icons/es/overflow-menu--horizontal/16.js"),_carbon_icons_es_save_16__WEBPACK_IMPORTED_MODULE_42__=__webpack_require__("./node_modules/@carbon/icons/es/save/16.js"),_carbon_icons_es_search_16__WEBPACK_IMPORTED_MODULE_43__=__webpack_require__("./node_modules/@carbon/icons/es/search/16.js"),_carbon_icons_es_settings_16__WEBPACK_IMPORTED_MODULE_44__=__webpack_require__("./node_modules/@carbon/icons/es/settings/16.js"),_carbon_icons_es_settings_adjust_16__WEBPACK_IMPORTED_MODULE_45__=__webpack_require__("./node_modules/@carbon/icons/es/settings--adjust/16.js"),_carbon_icons_es_subtract_16__WEBPACK_IMPORTED_MODULE_46__=__webpack_require__("./node_modules/@carbon/icons/es/subtract/16.js"),_carbon_icons_es_trash_can_16__WEBPACK_IMPORTED_MODULE_47__=__webpack_require__("./node_modules/@carbon/icons/es/trash-can/16.js"),_carbon_icons_es_warning_16__WEBPACK_IMPORTED_MODULE_48__=__webpack_require__("./node_modules/@carbon/icons/es/warning/16.js"),_carbon_icons_es_warning_filled_16__WEBPACK_IMPORTED_MODULE_49__=__webpack_require__("./node_modules/@carbon/icons/es/warning--filled/16.js"),_carbon_icons_es_warning_filled_20__WEBPACK_IMPORTED_MODULE_50__=__webpack_require__("./node_modules/@carbon/icons/es/warning--filled/20.js"),_carbon_icons_es_warning_alt_filled_16__WEBPACK_IMPORTED_MODULE_51__=__webpack_require__("./node_modules/@carbon/icons/es/warning--alt--filled/16.js"),_carbon_icons_es_warning_alt_filled_20__WEBPACK_IMPORTED_MODULE_52__=__webpack_require__("./node_modules/@carbon/icons/es/warning--alt--filled/20.js"),_carbon_icons_es_view_16__WEBPACK_IMPORTED_MODULE_53__=__webpack_require__("./node_modules/@carbon/icons/es/view/16.js"),_carbon_icons_es_view_off_16__WEBPACK_IMPORTED_MODULE_54__=__webpack_require__("./node_modules/@carbon/icons/es/view--off/16.js");const ICON_SERVICE_PROVIDER={provide:_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6,deps:[[new _angular_core__WEBPACK_IMPORTED_MODULE_55__.Optional,new _angular_core__WEBPACK_IMPORTED_MODULE_55__.SkipSelf,_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6]],useFactory:function ICON_SERVICE_PROVIDER_FACTORY(parentService){return parentService||new _icon_service__WEBPACK_IMPORTED_MODULE_1__.C6}};let IconModule=class IconModule{constructor(iconService){this.iconService=iconService,iconService.registerAll([_carbon_icons_es_add_16__WEBPACK_IMPORTED_MODULE_2__.Z,_carbon_icons_es_add_20__WEBPACK_IMPORTED_MODULE_3__.Z,_carbon_icons_es_bee_16__WEBPACK_IMPORTED_MODULE_4__.Z,_carbon_icons_es_bee_20__WEBPACK_IMPORTED_MODULE_5__.Z,_carbon_icons_es_calendar_16__WEBPACK_IMPORTED_MODULE_6__.Z,_carbon_icons_es_carbon_16__WEBPACK_IMPORTED_MODULE_7__.Z,_carbon_icons_es_carbon_20__WEBPACK_IMPORTED_MODULE_8__.Z,_carbon_icons_es_caret_down_16__WEBPACK_IMPORTED_MODULE_9__.Z,_carbon_icons_es_caret_left_16__WEBPACK_IMPORTED_MODULE_10__.Z,_carbon_icons_es_caret_right_16__WEBPACK_IMPORTED_MODULE_11__.Z,_carbon_icons_es_caret_up_16__WEBPACK_IMPORTED_MODULE_12__.Z,_carbon_icons_es_checkmark_16__WEBPACK_IMPORTED_MODULE_13__.Z,_carbon_icons_es_checkmark_filled_16__WEBPACK_IMPORTED_MODULE_14__.Z,_carbon_icons_es_checkmark_filled_20__WEBPACK_IMPORTED_MODULE_15__.Z,_carbon_icons_es_checkmark_outline_16__WEBPACK_IMPORTED_MODULE_16__.Z,_carbon_icons_es_chevron_down_16__WEBPACK_IMPORTED_MODULE_17__.Z,_carbon_icons_es_chevron_right_16__WEBPACK_IMPORTED_MODULE_18__.Z,_carbon_icons_es_circle_dash_16__WEBPACK_IMPORTED_MODULE_19__.Z,_carbon_icons_es_close_16__WEBPACK_IMPORTED_MODULE_20__.Z,_carbon_icons_es_close_20__WEBPACK_IMPORTED_MODULE_21__.Z,_carbon_icons_es_copy_16__WEBPACK_IMPORTED_MODULE_22__.Z,_carbon_icons_es_copy_20__WEBPACK_IMPORTED_MODULE_23__.Z,_carbon_icons_es_data_2_16__WEBPACK_IMPORTED_MODULE_24__.Z,_carbon_icons_es_data_2_20__WEBPACK_IMPORTED_MODULE_25__.Z,_carbon_icons_es_document_16__WEBPACK_IMPORTED_MODULE_26__.Z,_carbon_icons_es_document_20__WEBPACK_IMPORTED_MODULE_27__.Z,_carbon_icons_es_download_16__WEBPACK_IMPORTED_MODULE_28__.Z,_carbon_icons_es_error_filled_16__WEBPACK_IMPORTED_MODULE_29__.Z,_carbon_icons_es_error_filled_20__WEBPACK_IMPORTED_MODULE_30__.Z,_carbon_icons_es_fade_16__WEBPACK_IMPORTED_MODULE_31__.Z,_carbon_icons_es_fade_20__WEBPACK_IMPORTED_MODULE_32__.Z,_carbon_icons_es_folder_16__WEBPACK_IMPORTED_MODULE_33__.Z,_carbon_icons_es_incomplete_16__WEBPACK_IMPORTED_MODULE_34__.Z,_carbon_icons_es_information_filled_16__WEBPACK_IMPORTED_MODULE_35__.Z,_carbon_icons_es_information_filled_20__WEBPACK_IMPORTED_MODULE_36__.Z,_carbon_icons_es_information_square_filled_20__WEBPACK_IMPORTED_MODULE_37__.Z,_carbon_icons_es_menu_16__WEBPACK_IMPORTED_MODULE_38__.Z,_carbon_icons_es_menu_20__WEBPACK_IMPORTED_MODULE_39__.Z,_carbon_icons_es_overflow_menu_vertical_16__WEBPACK_IMPORTED_MODULE_40__.Z,_carbon_icons_es_overflow_menu_horizontal_16__WEBPACK_IMPORTED_MODULE_41__.Z,_carbon_icons_es_save_16__WEBPACK_IMPORTED_MODULE_42__.Z,_carbon_icons_es_search_16__WEBPACK_IMPORTED_MODULE_43__.Z,_carbon_icons_es_settings_16__WEBPACK_IMPORTED_MODULE_44__.Z,_carbon_icons_es_settings_adjust_16__WEBPACK_IMPORTED_MODULE_45__.Z,_carbon_icons_es_subtract_16__WEBPACK_IMPORTED_MODULE_46__.Z,_carbon_icons_es_trash_can_16__WEBPACK_IMPORTED_MODULE_47__.Z,_carbon_icons_es_view_16__WEBPACK_IMPORTED_MODULE_53__.Z,_carbon_icons_es_view_off_16__WEBPACK_IMPORTED_MODULE_54__.Z,_carbon_icons_es_warning_16__WEBPACK_IMPORTED_MODULE_48__.Z,_carbon_icons_es_warning_filled_16__WEBPACK_IMPORTED_MODULE_49__.Z,_carbon_icons_es_warning_filled_20__WEBPACK_IMPORTED_MODULE_50__.Z,_carbon_icons_es_warning_alt_filled_16__WEBPACK_IMPORTED_MODULE_51__.Z,_carbon_icons_es_warning_alt_filled_20__WEBPACK_IMPORTED_MODULE_52__.Z])}};IconModule.ctorParameters=()=>[{type:_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6}],IconModule=(0,tslib__WEBPACK_IMPORTED_MODULE_56__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_55__.NgModule)({declarations:[_icon_directive__WEBPACK_IMPORTED_MODULE_0__.a],exports:[_icon_directive__WEBPACK_IMPORTED_MODULE_0__.a],imports:[_angular_common__WEBPACK_IMPORTED_MODULE_57__.CommonModule],providers:[ICON_SERVICE_PROVIDER]})],IconModule)},"./src/icon/icon.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{C6:()=>IconService});var tslib__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@carbon/icon-helpers/es/index.js");class IconNameNotFoundError extends Error{constructor(name){super(`Icon ${name} not found`)}}class IconSizeNotFoundError extends Error{constructor(size,name){super("Size ${size} for ${name} not found")}}class IconMemoryCache extends class IconCache{}{constructor(){super(...arguments),this.iconMap=new Map}get(name,size){if(!this.iconMap.has(name))throw new IconNameNotFoundError(name);const sizeMap=this.iconMap.get(name);if(!sizeMap.has(size))throw new IconSizeNotFoundError(size,name);return sizeMap.get(size)}set(name,size,descriptor){this.iconMap.has(name)||this.iconMap.set(name,new Map);this.iconMap.get(name).set(size,descriptor)}}let IconService=class IconService{constructor(){this.iconCache=new IconMemoryCache}registerAll(descriptors){descriptors.forEach((icon=>this.register(icon)))}register(descriptor){const{name}=descriptor;this.registerAs(name,descriptor)}registerAs(name,descriptor){const{size}=descriptor;this.iconCache.set(name,size.toString(),descriptor)}get(name,size){try{const icon=this.iconCache.get(name,size.toString());return icon.svg||(icon.svg=(0,_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_0__.BB)(icon)),icon}catch(e){throw e}}configure(options){this.iconCache=options.cache}};IconService=(0,tslib__WEBPACK_IMPORTED_MODULE_1__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injectable)()],IconService)},"./src/icon/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{ar:()=>icon_directive.a,QX:()=>icon_module.QX,C6:()=>icon_service.C6});var icon_directive=__webpack_require__("./src/icon/icon.directive.ts"),icon_module=__webpack_require__("./src/icon/icon.module.ts"),icon_service=__webpack_require__("./src/icon/icon.service.ts")},"./src/popover/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{OI:()=>PopoverContainer,yk:()=>PopoverContent,UU:()=>PopoverModule});var asyncToGenerator=__webpack_require__("./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"),tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),floating_ui_dom=__webpack_require__("./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs");let PopoverContainer=class PopoverContainer{constructor(elementRef,ngZone,renderer,changeDetectorRef){this.elementRef=elementRef,this.ngZone=ngZone,this.renderer=renderer,this.changeDetectorRef=changeDetectorRef,this._align="bottom",this.alignmentClassPrefix="cds--popover--",this.onClose=new core.EventEmitter,this.onOpen=new core.EventEmitter,this.isOpenChange=new core.EventEmitter,this.caret=!0,this.dropShadow=!0,this.highContrast=!1,this.autoAlign=!1,this.containerClass=!0,this.isOpen=!1}set align(alignment){if(!alignment)return;const previousAlignment=this._align;switch(alignment){case"top-left":this._align="top-start";break;case"top-right":this._align="top-end";break;case"bottom-left":this._align="bottom-start";break;case"bottom-right":this._align="bottom-end";break;case"left-top":this._align="left-start";break;case"left-bottom":this._align="left-end";break;case"right-top":this._align="right-start";break;case"right-bottom":this._align="right-end";break;default:this._align=alignment}this.updateAlignmentClass(this._align,previousAlignment)}handleChange(open,event){if(this.isOpen!==open&&event&&this.isOpenChange.emit(open),open){if(event&&this.onOpen.emit(event),this.autoAlign){if(this.caretRef){const computedStyle=getComputedStyle(this.caretRef),offset=computedStyle.getPropertyValue("--cds-popover-offset"),height=computedStyle.getPropertyValue("--cds-popover-caret-height");this.caretOffset=(offset?.includes("px")?Number(offset.split("px",1)[0]):16*Number(offset.split("rem",1)[0]))||10,this.caretHeight=(height?.includes("px")?Number(height.split("px",1)[0]):16*Number(height.split("rem",1)[0]))||6}this.elementRef.nativeElement&&this.popoverContentRef&&(this.unmountFloatingElement=(0,floating_ui_dom.Me)(this.elementRef.nativeElement,this.popoverContentRef,this.recomputePosition.bind(this)))}}else this.cleanUp(),event&&this.onClose.emit(event);this.isOpen=open,this.changeDetectorRef.markForCheck()}roundByDPR(value){const dpr=window.devicePixelRatio||1;return Math.round(value*dpr)/dpr}recomputePosition(){var _this=this;this.ngZone.runOutsideAngular((0,asyncToGenerator.Z)((function*(){const{x,y,placement,middlewareData}=yield(0,floating_ui_dom.oo)(_this.elementRef.nativeElement,_this.popoverContentRef,{placement:_this._align,strategy:"fixed",middleware:[(0,floating_ui_dom.cv)(_this.caretOffset),(0,floating_ui_dom.RR)({fallbackAxisSideDirection:"start"}),(0,floating_ui_dom.x7)({element:_this.caretRef})]}),previousAlignment=_this._align;if(_this._align=placement,_this.updateAlignmentClass(_this._align,previousAlignment),Object.assign(_this.popoverContentRef.style,{position:"fixed",top:"0",left:"0",transform:`translate(${_this.roundByDPR(x)}px,${_this.roundByDPR(y)}px)`}),middlewareData.arrow){const{x:arrowX,y:arrowY}=middlewareData.arrow,staticSide={top:"bottom",right:"left",bottom:"top",left:"right"}[placement.split("-")[0]];_this.caretRef.style.left=null!=arrowX?`${arrowX}px`:"",_this.caretRef.style.top=null!=arrowY?`${arrowY}px`:"",_this.caretRef.style.right="",_this.caretRef.style.bottom="",staticSide&&(_this.caretRef.style[staticSide]=-_this.caretHeight+"px")}})))}ngOnChanges(changes){const originalState=this.isOpen;this.handleChange(!1),changes.autoAlign&&!changes.autoAlign.firstChange&&(this.popoverContentRef=this.elementRef.nativeElement.querySelector(".cds--popover-content"),this.popoverContentRef.setAttribute("style",""),this.caretRef=this.elementRef.nativeElement.querySelector("span.cds--popover-caret")),this.handleChange(originalState)}ngAfterViewInit(){this.initializeReferences()}initializeReferences(){this.updateAlignmentClass(this._align),this.popoverContentRef=this.elementRef.nativeElement.querySelector(".cds--popover-content"),this.caretRef=this.elementRef.nativeElement.querySelector("span.cds--popover-caret"),this.handleChange(this.isOpen)}ngOnDestroy(){this.cleanUp()}cleanUp(){this.unmountFloatingElement&&this.unmountFloatingElement(),this.unmountFloatingElement=void 0}updateAlignmentClass(newAlignment,previousAlignment){if(this.elementRef.nativeElement&&previousAlignment!==newAlignment){const regexp=new RegExp("right|top|left|bottom");this.elementRef.nativeElement.classList.forEach((className=>{regexp.test(className)&&this.renderer.removeClass(this.elementRef.nativeElement,`${className}`)})),this.renderer.addClass(this.elementRef.nativeElement,`${this.alignmentClassPrefix}${newAlignment}`)}}};PopoverContainer.ctorParameters=()=>[{type:core.ElementRef},{type:core.NgZone},{type:core.Renderer2},{type:core.ChangeDetectorRef}],PopoverContainer.propDecorators={align:[{type:core.Input}],onClose:[{type:core.Output}],onOpen:[{type:core.Output}],isOpenChange:[{type:core.Output}],caret:[{type:core.HostBinding,args:["class.cds--popover--caret"]},{type:core.Input}],dropShadow:[{type:core.HostBinding,args:["class.cds--popover--drop-shadow"]},{type:core.Input}],highContrast:[{type:core.HostBinding,args:["class.cds--popover--high-contrast"]},{type:core.Input}],autoAlign:[{type:core.HostBinding,args:["class.cds--popover--auto-align"]},{type:core.Input}],containerClass:[{type:core.HostBinding,args:["class.cds--popover-container"]}],isOpen:[{type:core.Input},{type:core.HostBinding,args:["class.cds--popover--open"]}]},PopoverContainer=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsPopover], [ibmPopover]"})],PopoverContainer);let PopoverContent=class PopoverContent{constructor(changeDetectorRef){this.changeDetectorRef=changeDetectorRef,this.popoverClass=!0,this.autoAlign=!1}ngAfterViewInit(){this.popoverContent&&(this.autoAlign=!!this.popoverContent.nativeElement.closest(".cds--popover--auto-align"),this.changeDetectorRef.detectChanges())}};PopoverContent.ctorParameters=()=>[{type:core.ChangeDetectorRef}],PopoverContent.propDecorators={popoverClass:[{type:core.HostBinding,args:["class.cds--popover"]}],popoverContent:[{type:core.ViewChild,args:["content"]}]},PopoverContent=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-popover-content, ibm-popover-content",template:'\n\t\t<span class="cds--popover-content" #content>\n\t\t\t<div>\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t\t<span *ngIf="autoAlign" class="cds--popover-caret cds--popover--auto-align"></span>\n\t\t</span>\n\t\t<span *ngIf="!autoAlign" class="cds--popover-caret"></span>\n\t'})],PopoverContent);var common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs");let PopoverModule=class PopoverModule{};PopoverModule=(0,tslib_es6.gn)([(0,core.NgModule)({declarations:[PopoverContainer,PopoverContent],exports:[PopoverContainer,PopoverContent],imports:[common.CommonModule]})],PopoverModule)},"./src/tag/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{Vp:()=>Tag,Wh:()=>TagModule});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs");let Tag=class Tag{constructor(){this.type="gray",this.size="md",this.class="",this.skeleton=!1}get attrClass(){const skeletonClass=this.skeleton?"cds--skeleton":"",sizeClass=`cds--tag--${this.size} cds--layout--size-${this.size}`;return`cds--tag cds--tag--${this.type} ${sizeClass} ${skeletonClass} ${this.class}`}};Tag.propDecorators={type:[{type:core.Input}],size:[{type:core.Input}],class:[{type:core.Input}],skeleton:[{type:core.Input}],attrClass:[{type:core.HostBinding,args:["attr.class"]}]},Tag=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-tag, ibm-tag",template:'\n\t\t<ng-container *ngIf="!skeleton">\n\t\t\t<ng-content select="[cdsTagIcon],[ibmTagIcon]"></ng-content>\n\t\t\t<span class="cds--tag__label">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</span>\n\t\t</ng-container>\n\t'})],Tag);let TagFilter=class TagFilter extends Tag{constructor(){super(...arguments),this.closeButtonLabel="Clear Filter",this.disabled=!1,this.close=new core.EventEmitter,this.click=new core.EventEmitter}onClick(event){event.stopImmediatePropagation(),this.disabled||this.click.emit({action:"click"})}onClose(event){event.stopImmediatePropagation(),this.click.emit({action:"close"}),this.close.emit()}get attrClass(){const disabledClass=this.disabled?"cds--tag--disabled":"",sizeClass=`cds--tag--${this.size} cds--layout--size-${this.size}`,skeletonClass=this.skeleton?"cds--skeleton":"";return`cds--tag cds--tag--filter cds--tag--${this.type} ${disabledClass} ${sizeClass} ${skeletonClass} ${this.class}`}get attrAriaLabel(){return`${this.title||""} ${this.closeButtonLabel}`.trim()}};TagFilter.propDecorators={closeButtonLabel:[{type:core.Input}],disabled:[{type:core.Input}],title:[{type:core.Input}],close:[{type:core.Output}],click:[{type:core.Output}],attrClass:[{type:core.HostBinding,args:["attr.class"]}],attrAriaLabel:[{type:core.HostBinding,args:["attr.aria-label"]}]},TagFilter=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-tag-filter, ibm-tag-filter",template:'\n\t\t<ng-container *ngIf="!skeleton">\n\t\t\t<ng-content select="[cdsTagIcon],[ibmTagIcon]"></ng-content>\n\t\t\t<span\n\t\t\t\tclass="cds--tag__label"\n\t\t\t\t[attr.title]="title ? title : null"\n\t\t\t\t(click)="onClick($event)">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</span>\n\t\t\t<button\n\t\t\t\tclass="cds--tag__close-icon"\n\t\t\t\t(click)="onClose($event)"\n\t\t\t\t[disabled]="disabled"\n\t\t\t\t[title]="closeButtonLabel">\n\t\t\t\t<span class="cds--visually-hidden">{{closeButtonLabel}}</span>\n\t\t\t\t<svg cdsIcon="close" size="16"></svg>\n\t\t\t</button>\n\t\t</ng-container>\n\t'})],TagFilter);let TagIconDirective=class TagIconDirective{constructor(){this.tagIcon=!0}};TagIconDirective.propDecorators={tagIcon:[{type:core.HostBinding,args:["class.cds--tag__custom-icon"]}]},TagIconDirective=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsTagIcon], [ibmTagIcon]"})],TagIconDirective);let TagSelectableComponent=class TagSelectableComponent{constructor(){this.role="button",this.buttonType="button",this.tabIndex=0,this.size="md",this.skeleton=!1,this.disabled=!1,this.class="",this.selected=!1,this.selectedChange=new core.EventEmitter}get ariaPressed(){return this.selected}onClick(){this.selected=!this.selected,this.selectedChange.emit(this.selected)}get attrClass(){const disabledClass=this.disabled?"cds--tag--disabled":"",sizeClass=`cds--tag--${this.size} cds--layout--size-${this.size}`,skeletonClass=this.skeleton?"cds--skeleton":"";return`cds--tag cds--tag--selectable ${this.selected?"cds--tag--selectable-selected":""} ${disabledClass} ${sizeClass} ${skeletonClass} ${this.class}`}};TagSelectableComponent.propDecorators={role:[{type:core.HostBinding,args:["attr.role"]}],buttonType:[{type:core.HostBinding,args:["attr.type"]}],tabIndex:[{type:core.HostBinding,args:["attr.tabindex"]}],ariaPressed:[{type:core.HostBinding,args:["attr.aria-pressed"]}],size:[{type:core.Input}],skeleton:[{type:core.Input}],disabled:[{type:core.Input}],class:[{type:core.Input}],selected:[{type:core.Input}],selectedChange:[{type:core.Output}],onClick:[{type:core.HostListener,args:["click"]}],attrClass:[{type:core.HostBinding,args:["attr.class"]}]},TagSelectableComponent=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-tag-selectable, ibm-tag-selectable",template:'\n\t\t<ng-container *ngIf="!skeleton">\n\t\t\t<ng-content select="[cdsTagIcon],[ibmTagIcon]"></ng-content>\n\t\t\t<span class="cds--tag__label">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</span>\n\t\t</ng-container>\n\t',changeDetection:core.ChangeDetectionStrategy.OnPush})],TagSelectableComponent);let TagOperationalComponent=class TagOperationalComponent extends Tag{constructor(){super(...arguments),this.role="button",this.buttonType="button",this.tabIndex=0,this.disabled=!1}get attrClass(){const disabledClass=this.disabled?"cds--tag--disabled":"",sizeClass=`cds--tag--${this.size} cds--layout--size-${this.size}`,skeletonClass=this.skeleton?"cds--skeleton":"";return`cds--tag cds--tag--operational cds--tag--${this.type} ${disabledClass} ${sizeClass} ${skeletonClass} ${this.class}`}};TagOperationalComponent.propDecorators={role:[{type:core.HostBinding,args:["attr.role"]}],buttonType:[{type:core.HostBinding,args:["attr.type"]}],tabIndex:[{type:core.HostBinding,args:["attr.tabindex"]}],disabled:[{type:core.Input}],attrClass:[{type:core.HostBinding,args:["attr.class"]}]},TagOperationalComponent=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-tag-operational, ibm-tag-operational",template:'\n\t\t<ng-container *ngIf="!skeleton">\n\t\t\t<ng-content select="[cdsTagIcon],[ibmTagIcon]"></ng-content>\n\t\t\t<span class="cds--tag__label">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</span>\n\t\t</ng-container>\n\t',changeDetection:core.ChangeDetectionStrategy.OnPush})],TagOperationalComponent);var common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs"),icon=__webpack_require__("./src/icon/index.ts");let TagModule=class TagModule{};TagModule=(0,tslib_es6.gn)([(0,core.NgModule)({declarations:[Tag,TagFilter,TagIconDirective,TagSelectableComponent,TagOperationalComponent],exports:[Tag,TagFilter,TagIconDirective,TagSelectableComponent,TagOperationalComponent],imports:[common.CommonModule,icon.QX]})],TagModule)},"./src/tag/tag.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Basic:()=>Basic,Filter:()=>Filter,OperationalTag:()=>OperationalTag,SelectedTag:()=>SelectedTag,__namedExportsOrder:()=>__namedExportsOrder,default:()=>__WEBPACK_DEFAULT_EXPORT__});var _storybook_angular__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),___WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./src/tag/index.ts"),_icon__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./src/icon/index.ts"),_popover__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./src/popover/index.ts");const __WEBPACK_DEFAULT_EXPORT__={title:"Components/Tag",decorators:[(0,_storybook_angular__WEBPACK_IMPORTED_MODULE_0__.moduleMetadata)({imports:[___WEBPACK_IMPORTED_MODULE_1__.Wh,_icon__WEBPACK_IMPORTED_MODULE_2__.QX,_popover__WEBPACK_IMPORTED_MODULE_3__.UU]})],args:{size:"md",type:"red",skeleton:!1},argTypes:{type:{options:["warm-gray","red","magenta","purple","blue","cyan","teal","green","cool-gray","high-contrast","outline"],control:"select"}},component:___WEBPACK_IMPORTED_MODULE_1__.Vp},Basic=(args=>({props:args,template:'\n <cds-tag\n [type]="type"\n [skeleton]="skeleton"\n [size]="size">\n <div cdsTagIcon>\n <svg ibmIcon="settings" size="16"></svg>\n </div>\n Read only\n </cds-tag>\n '})).bind({}),Filter=(args=>({props:args,template:'\n <cds-tag-filter\n [type]="type"\n [size]="size"\n [skeleton]="skeleton"\n title="Filter"\n closeButtonLabel="Clear">\n <div cdsTagIcon>\n <svg ibmIcon="settings" size="16"></svg>\n </div>\n Filtered\n </cds-tag-filter>\n '})).bind({}),SelectedTag=(args=>({props:args,template:'\n <cds-tag-selectable\n [size]="size"\n [skeleton]="skeleton"\n [selected]="selected"\n (selectedChange)="selectedChange($event)"\n (click)="onClick($event)">\n <div cdsTagIcon>\n <svg ibmIcon="settings" size="16"></svg>\n </div>\n Selectable\n </cds-tag-selectable>\n '})).bind({});SelectedTag.args={selected:!1},SelectedTag.argTypes={onClick:{action:"clicked"},selectedChange:{action:"Selected change"}};const OperationalTag=(args=>({props:args,template:'\n <cds-tag-operational\n type="cyan"\n [size]="size"\n [skeleton]="skeleton"\n (click)="onClick($event)">\n <div cdsTagIcon>\n <svg ibmIcon="settings" size="16"></svg>\n </div>\n Operational\n </cds-tag-operational>\n\n\n <div\n cdsPopover\n [isOpen]="isOpen"\n [highContrast]="true">\n <cds-tag-operational\n [type]="type"\n [size]="size"\n [skeleton]="skeleton"\n (click)="isOpen = !isOpen">\n <div cdsTagIcon>\n <svg ibmIcon="settings" size="16"></svg>\n </div>\n Operational w/ popover\n </cds-tag-operational>\n <cds-popover-content>\n <div class="popover-content">\n Tag 1 name <br>\n Tag 2 name <br>\n Tag 3 name <br>\n Tag 4 name <br>\n <cds-tag type="green">Tag 5 name</cds-tag>\n </div>\n </cds-popover-content>\n </div>\n ',styles:[".popover-content {\n line-height: 1.5;\n padding: 1rem;\n font-size: 14px;\n }"]})).bind({});OperationalTag.argTypes={onClick:{action:"clicked"}},Basic.parameters={...Basic.parameters,docs:{...Basic.parameters?.docs,source:{originalSource:'args => ({\n props: args,\n template: `\n <cds-tag\n [type]="type"\n [skeleton]="skeleton"\n [size]="size">\n <div cdsTagIcon>\n <svg ibmIcon="settings" size="16"></svg>\n </div>\n Read only\n </cds-tag>\n `\n})',...Basic.parameters?.docs?.source}}},Filter.parameters={...Filter.parameters,docs:{...Filter.parameters?.docs,source:{originalSource:'args => ({\n props: args,\n template: `\n <cds-tag-filter\n [type]="type"\n [size]="size"\n [skeleton]="skeleton"\n title="Filter"\n closeButtonLabel="Clear">\n <div cdsTagIcon>\n <svg ibmIcon="settings" size="16"></svg>\n </div>\n Filtered\n </cds-tag-filter>\n `\n})',...Filter.parameters?.docs?.source}}},SelectedTag.parameters={...SelectedTag.parameters,docs:{...SelectedTag.parameters?.docs,source:{originalSource:'args => ({\n props: args,\n template: `\n <cds-tag-selectable\n [size]="size"\n [skeleton]="skeleton"\n [selected]="selected"\n (selectedChange)="selectedChange($event)"\n (click)="onClick($event)">\n <div cdsTagIcon>\n <svg ibmIcon="settings" size="16"></svg>\n </div>\n Selectable\n </cds-tag-selectable>\n `\n})',...SelectedTag.parameters?.docs?.source}}},OperationalTag.parameters={...OperationalTag.parameters,docs:{...OperationalTag.parameters?.docs,source:{originalSource:'args => ({\n props: args,\n template: `\n <cds-tag-operational\n type="cyan"\n [size]="size"\n [skeleton]="skeleton"\n (click)="onClick($event)">\n <div cdsTagIcon>\n <svg ibmIcon="settings" size="16"></svg>\n </div>\n Operational\n </cds-tag-operational>\n\n\n <div\n cdsPopover\n [isOpen]="isOpen"\n [highContrast]="true">\n <cds-tag-operational\n [type]="type"\n [size]="size"\n [skeleton]="skeleton"\n (click)="isOpen = !isOpen">\n <div cdsTagIcon>\n <svg ibmIcon="settings" size="16"></svg>\n </div>\n Operational w/ popover\n </cds-tag-operational>\n <cds-popover-content>\n <div class="popover-content">\n Tag 1 name <br>\n Tag 2 name <br>\n Tag 3 name <br>\n Tag 4 name <br>\n <cds-tag type="green">Tag 5 name</cds-tag>\n </div>\n </cds-popover-content>\n </div>\n `,\n styles: [`.popover-content {\n line-height: 1.5;\n padding: 1rem;\n font-size: 14px;\n }`]\n})',...OperationalTag.parameters?.docs?.source}}};const __namedExportsOrder=["Basic","Filter","SelectedTag","OperationalTag"]}}]);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhci1jb21iby1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tYm8tYnV0dG9uL2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXItY29tYm8tYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, HostBinding, Input, Output, ViewChild } from "@angular/core";
|
|
2
|
+
import { autoUpdate, computePosition, flip } from "@floating-ui/dom";
|
|
3
|
+
import { ContextMenuItemComponent } from "carbon-components-angular/context-menu";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "carbon-components-angular/button";
|
|
6
|
+
import * as i2 from "carbon-components-angular/icon";
|
|
7
|
+
import * as i3 from "carbon-components-angular/context-menu";
|
|
8
|
+
export class ComboButtonComponent {
|
|
9
|
+
constructor(ngZone, renderer, hostElement, viewContainerRef, changeDetectorRef) {
|
|
10
|
+
this.ngZone = ngZone;
|
|
11
|
+
this.renderer = renderer;
|
|
12
|
+
this.hostElement = hostElement;
|
|
13
|
+
this.viewContainerRef = viewContainerRef;
|
|
14
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
15
|
+
this.comboId = `combo-button-${ComboButtonComponent.comboButtonCounter++}`;
|
|
16
|
+
this.size = "lg";
|
|
17
|
+
this.disabled = false;
|
|
18
|
+
this.menuAlignment = "bottom";
|
|
19
|
+
this.tooltipAutoAlign = false;
|
|
20
|
+
this.tooltipPlacement = "bottom";
|
|
21
|
+
this.open = false;
|
|
22
|
+
this.actionClick = new EventEmitter();
|
|
23
|
+
this.comboButtonContainer = true;
|
|
24
|
+
this.documentClick = this.handleFocusOut.bind(this);
|
|
25
|
+
this.subscriptions = [];
|
|
26
|
+
this._alignment = "bottom";
|
|
27
|
+
}
|
|
28
|
+
// Listen for click & determine if menu should close
|
|
29
|
+
set projectedMenuItems(itemList) {
|
|
30
|
+
// Reset in case user dynamically updates menu item
|
|
31
|
+
this.subscriptions.forEach((sub) => sub?.unsubscribe());
|
|
32
|
+
this.subscriptions = [];
|
|
33
|
+
itemList.forEach((item) => {
|
|
34
|
+
this.subscriptions.push(item.itemClick.subscribe((clickEvent) => this.handleMenuItemClick(clickEvent)));
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
get sizeLg() { return this.size === "lg"; }
|
|
38
|
+
get sizeMd() { return this.size === "md"; }
|
|
39
|
+
get sizeSm() { return this.size === "sm"; }
|
|
40
|
+
get ariaOwns() {
|
|
41
|
+
return this.open ? this.comboId : undefined;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* In case user updates alignment, store initial value.
|
|
45
|
+
* This allows us to test user passed alignment on each open
|
|
46
|
+
*/
|
|
47
|
+
ngOnChanges(changes) {
|
|
48
|
+
if (changes.menuAlignment) {
|
|
49
|
+
this._alignment = changes.menuAlignment.currentValue;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* If user has passed in true for open, we dynamically open the menu
|
|
54
|
+
*/
|
|
55
|
+
ngAfterViewInit() {
|
|
56
|
+
if (this.open) {
|
|
57
|
+
this.open = !this.open;
|
|
58
|
+
this.toggleMenu();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Clean up Floating-ui & subscriptions
|
|
63
|
+
*/
|
|
64
|
+
ngOnDestroy() {
|
|
65
|
+
this.cleanUp();
|
|
66
|
+
this.subscriptions.forEach((sub) => sub.unsubscribe());
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* As of now, menu button does not support nexted menu, on button click it should close
|
|
70
|
+
*/
|
|
71
|
+
handleMenuItemClick(event) {
|
|
72
|
+
// If event is not type radio/checkbox, we close the menu
|
|
73
|
+
if (!event.type) {
|
|
74
|
+
this.toggleMenu();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* On body click, close the menu
|
|
79
|
+
* @param event
|
|
80
|
+
*/
|
|
81
|
+
handleFocusOut(event) {
|
|
82
|
+
if (!this.hostElement.nativeElement.contains(event.target)) {
|
|
83
|
+
this.toggleMenu();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Clean up `autoUpdate` if auto alignment is enabled
|
|
88
|
+
*/
|
|
89
|
+
cleanUp() {
|
|
90
|
+
document.removeEventListener("click", this.documentClick);
|
|
91
|
+
if (this.unmountFloatingElement) {
|
|
92
|
+
this.menuRef.remove();
|
|
93
|
+
this.viewContainerRef.clear();
|
|
94
|
+
this.unmountFloatingElement();
|
|
95
|
+
}
|
|
96
|
+
this.unmountFloatingElement = undefined;
|
|
97
|
+
// On all instances of menu closing, make sure icon direction is correct
|
|
98
|
+
this.changeDetectorRef.markForCheck();
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* On action click, notify user
|
|
102
|
+
* If the menu is open, close the menu
|
|
103
|
+
* @param event
|
|
104
|
+
*/
|
|
105
|
+
onActionClick(event) {
|
|
106
|
+
if (this.open) {
|
|
107
|
+
this.toggleMenu();
|
|
108
|
+
}
|
|
109
|
+
this.actionClick.emit(event);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Handles emitting open/close event
|
|
113
|
+
*/
|
|
114
|
+
toggleMenu() {
|
|
115
|
+
this.open = !this.open;
|
|
116
|
+
if (this.open) {
|
|
117
|
+
// Render the template & append to view
|
|
118
|
+
const view = this.viewContainerRef.createEmbeddedView(this.menuTemplate);
|
|
119
|
+
this.menuRef = document.body.appendChild(view.rootNodes[0]);
|
|
120
|
+
// Assign button width to the menu ref to align with button
|
|
121
|
+
Object.assign(this.menuRef.style, {
|
|
122
|
+
width: `${this.hostElement.nativeElement.clientWidth}px`,
|
|
123
|
+
top: "0",
|
|
124
|
+
left: "0"
|
|
125
|
+
});
|
|
126
|
+
// Reset & test alignment every open
|
|
127
|
+
this.menuAlignment = this._alignment;
|
|
128
|
+
document.addEventListener("click", this.documentClick);
|
|
129
|
+
// Listen for events such as scrolling to keep menu aligned
|
|
130
|
+
this.unmountFloatingElement = autoUpdate(this.hostElement.nativeElement, this.menuRef, this.recomputePosition.bind(this));
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
this.cleanUp();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
roundByDPR(value) {
|
|
137
|
+
const dpr = window.devicePixelRatio || 1;
|
|
138
|
+
return Math.round(value * dpr) / dpr;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Compute position of menu
|
|
142
|
+
*/
|
|
143
|
+
recomputePosition() {
|
|
144
|
+
if (this.menuTemplate && this.hostElement) {
|
|
145
|
+
// Run outside of angular zone to avoid unnecessary change detection and rely on floating-ui
|
|
146
|
+
this.ngZone.runOutsideAngular(async () => {
|
|
147
|
+
const { x, y, placement } = await computePosition(this.hostElement.nativeElement, this.menuRef, {
|
|
148
|
+
placement: this.menuAlignment,
|
|
149
|
+
strategy: "fixed",
|
|
150
|
+
middleware: [
|
|
151
|
+
flip({ crossAxis: false })
|
|
152
|
+
]
|
|
153
|
+
});
|
|
154
|
+
this.menuAlignment = placement;
|
|
155
|
+
// Using CSSOM to manipulate CSS to avoid content security policy inline-src
|
|
156
|
+
// https://github.com/w3c/webappsec-csp/issues/212
|
|
157
|
+
Object.assign(this.menuRef.style, {
|
|
158
|
+
position: "fixed",
|
|
159
|
+
// Using transform instead of top/left position to improve performance
|
|
160
|
+
transform: `translate(${this.roundByDPR(x)}px,${this.roundByDPR(y)}px)`
|
|
161
|
+
});
|
|
162
|
+
this.changeDetectorRef.markForCheck();
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
ComboButtonComponent.comboButtonCounter = 0;
|
|
168
|
+
ComboButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ComboButtonComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
169
|
+
ComboButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ComboButtonComponent, selector: "cds-combo-button", inputs: { comboId: "comboId", size: "size", label: "label", disabled: "disabled", menuAlignment: "menuAlignment", description: "description", tooltipAutoAlign: "tooltipAutoAlign", tooltipPlacement: "tooltipPlacement", open: "open" }, outputs: { actionClick: "actionClick" }, host: { properties: { "class.cds--combo-button__container--open": "this.open", "class.cds--combo-button__container": "this.comboButtonContainer", "class.cds--combo-button__container--lg": "this.sizeLg", "class.cds--combo-button__container--md": "this.sizeMd", "class.cds--combo-button__container--sm": "this.sizeSm", "attr.aria-owns": "this.ariaOwns" } }, queries: [{ propertyName: "projectedMenuItems", predicate: ContextMenuItemComponent }], viewQueries: [{ propertyName: "menuTemplate", first: true, predicate: ["menuTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
170
|
+
<div class="cds--combo-button__primary-action" [attr.aria-owns]="open ? comboId : undefined">
|
|
171
|
+
<button
|
|
172
|
+
cdsButton="primary"
|
|
173
|
+
[size]="size"
|
|
174
|
+
[attr.title]="label"
|
|
175
|
+
[disabled]="disabled"
|
|
176
|
+
type="button"
|
|
177
|
+
(click)="onActionClick($event)">
|
|
178
|
+
{{label}}
|
|
179
|
+
</button>
|
|
180
|
+
</div>
|
|
181
|
+
<cds-icon-button
|
|
182
|
+
[buttonNgClass]="{ 'cds--combo-button__trigger': true }"
|
|
183
|
+
[buttonAttributes]="{
|
|
184
|
+
'aria-haspopup': true,
|
|
185
|
+
'aria-expanded': open,
|
|
186
|
+
'aria-controls': open ? comboId : undefined
|
|
187
|
+
}"
|
|
188
|
+
[size]="size"
|
|
189
|
+
[description]="description"
|
|
190
|
+
[disabled]="disabled"
|
|
191
|
+
[autoAlign]="tooltipAutoAlign"
|
|
192
|
+
[align]="tooltipPlacement"
|
|
193
|
+
(click)="toggleMenu()">
|
|
194
|
+
<svg
|
|
195
|
+
cdsIcon="chevron--down"
|
|
196
|
+
size="16">
|
|
197
|
+
</svg>
|
|
198
|
+
</cds-icon-button>
|
|
199
|
+
|
|
200
|
+
<ng-template #menuTemplate>
|
|
201
|
+
<cds-menu
|
|
202
|
+
mode="basic"
|
|
203
|
+
[size]="size"
|
|
204
|
+
[open]="open"
|
|
205
|
+
[attr.id]="comboId">
|
|
206
|
+
<ng-content select="cds-menu-item, cds-menu-divider"></ng-content>
|
|
207
|
+
</cds-menu>
|
|
208
|
+
</ng-template>
|
|
209
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i1.IconButton, selector: "cds-icon-button, ibm-icon-button", inputs: ["buttonNgClass", "buttonAttributes", "buttonId", "kind", "size", "type", "isExpressive", "disabled", "description", "showTooltipWhenDisabled"], outputs: ["click", "focus", "blur", "tooltipClick"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i3.ContextMenuComponent, selector: "cds-menu, cds-context-menu, ibm-context-menu", inputs: ["open", "position", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
210
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ComboButtonComponent, decorators: [{
|
|
211
|
+
type: Component,
|
|
212
|
+
args: [{
|
|
213
|
+
selector: "cds-combo-button",
|
|
214
|
+
template: `
|
|
215
|
+
<div class="cds--combo-button__primary-action" [attr.aria-owns]="open ? comboId : undefined">
|
|
216
|
+
<button
|
|
217
|
+
cdsButton="primary"
|
|
218
|
+
[size]="size"
|
|
219
|
+
[attr.title]="label"
|
|
220
|
+
[disabled]="disabled"
|
|
221
|
+
type="button"
|
|
222
|
+
(click)="onActionClick($event)">
|
|
223
|
+
{{label}}
|
|
224
|
+
</button>
|
|
225
|
+
</div>
|
|
226
|
+
<cds-icon-button
|
|
227
|
+
[buttonNgClass]="{ 'cds--combo-button__trigger': true }"
|
|
228
|
+
[buttonAttributes]="{
|
|
229
|
+
'aria-haspopup': true,
|
|
230
|
+
'aria-expanded': open,
|
|
231
|
+
'aria-controls': open ? comboId : undefined
|
|
232
|
+
}"
|
|
233
|
+
[size]="size"
|
|
234
|
+
[description]="description"
|
|
235
|
+
[disabled]="disabled"
|
|
236
|
+
[autoAlign]="tooltipAutoAlign"
|
|
237
|
+
[align]="tooltipPlacement"
|
|
238
|
+
(click)="toggleMenu()">
|
|
239
|
+
<svg
|
|
240
|
+
cdsIcon="chevron--down"
|
|
241
|
+
size="16">
|
|
242
|
+
</svg>
|
|
243
|
+
</cds-icon-button>
|
|
244
|
+
|
|
245
|
+
<ng-template #menuTemplate>
|
|
246
|
+
<cds-menu
|
|
247
|
+
mode="basic"
|
|
248
|
+
[size]="size"
|
|
249
|
+
[open]="open"
|
|
250
|
+
[attr.id]="comboId">
|
|
251
|
+
<ng-content select="cds-menu-item, cds-menu-divider"></ng-content>
|
|
252
|
+
</cds-menu>
|
|
253
|
+
</ng-template>
|
|
254
|
+
`,
|
|
255
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
256
|
+
}]
|
|
257
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { comboId: [{
|
|
258
|
+
type: Input
|
|
259
|
+
}], projectedMenuItems: [{
|
|
260
|
+
type: ContentChildren,
|
|
261
|
+
args: [ContextMenuItemComponent]
|
|
262
|
+
}], size: [{
|
|
263
|
+
type: Input
|
|
264
|
+
}], label: [{
|
|
265
|
+
type: Input
|
|
266
|
+
}], disabled: [{
|
|
267
|
+
type: Input
|
|
268
|
+
}], menuAlignment: [{
|
|
269
|
+
type: Input
|
|
270
|
+
}], description: [{
|
|
271
|
+
type: Input
|
|
272
|
+
}], tooltipAutoAlign: [{
|
|
273
|
+
type: Input
|
|
274
|
+
}], tooltipPlacement: [{
|
|
275
|
+
type: Input
|
|
276
|
+
}], open: [{
|
|
277
|
+
type: Input
|
|
278
|
+
}, {
|
|
279
|
+
type: HostBinding,
|
|
280
|
+
args: ["class.cds--combo-button__container--open"]
|
|
281
|
+
}], actionClick: [{
|
|
282
|
+
type: Output
|
|
283
|
+
}], comboButtonContainer: [{
|
|
284
|
+
type: HostBinding,
|
|
285
|
+
args: ["class.cds--combo-button__container"]
|
|
286
|
+
}], sizeLg: [{
|
|
287
|
+
type: HostBinding,
|
|
288
|
+
args: ["class.cds--combo-button__container--lg"]
|
|
289
|
+
}], sizeMd: [{
|
|
290
|
+
type: HostBinding,
|
|
291
|
+
args: ["class.cds--combo-button__container--md"]
|
|
292
|
+
}], sizeSm: [{
|
|
293
|
+
type: HostBinding,
|
|
294
|
+
args: ["class.cds--combo-button__container--sm"]
|
|
295
|
+
}], ariaOwns: [{
|
|
296
|
+
type: HostBinding,
|
|
297
|
+
args: ["attr.aria-owns"]
|
|
298
|
+
}], menuTemplate: [{
|
|
299
|
+
type: ViewChild,
|
|
300
|
+
args: ["menuTemplate"]
|
|
301
|
+
}] } });
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21iby1idXR0b24vY29tYm8tYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRU4sdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBSUwsTUFBTSxFQUtOLFNBQVMsRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ04sVUFBVSxFQUNWLGVBQWUsRUFDZixJQUFJLEVBQ0osTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsd0JBQXdCLEVBQWtCLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBaURsRyxNQUFNLE9BQU8sb0JBQW9CO0lBMENoQyxZQUNXLE1BQWMsRUFDZCxRQUFtQixFQUNuQixXQUF1QixFQUN2QixnQkFBa0MsRUFDbEMsaUJBQW9DO1FBSnBDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQTdDdEMsWUFBTyxHQUFHLGdCQUFnQixvQkFBb0IsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUM7UUFjdEUsU0FBSSxHQUF1QixJQUFJLENBQUM7UUFFaEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixrQkFBYSxHQUF5QixRQUFRLENBQUM7UUFFL0MscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLHFCQUFnQixHQUFHLFFBQVEsQ0FBQztRQUM2QixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ3JFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUNDLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQVVy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QixRQUFRO3NCQUExQyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFJRixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRBZnRlclZpZXdJbml0LFxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdENvbXBvbmVudCxcblx0Q29udGVudENoaWxkcmVuLFxuXHRFbGVtZW50UmVmLFxuXHRFdmVudEVtaXR0ZXIsXG5cdEhvc3RCaW5kaW5nLFxuXHRJbnB1dCxcblx0Tmdab25lLFxuXHRPbkNoYW5nZXMsXG5cdE9uRGVzdHJveSxcblx0T3V0cHV0LFxuXHRRdWVyeUxpc3QsXG5cdFJlbmRlcmVyMixcblx0U2ltcGxlQ2hhbmdlcyxcblx0VGVtcGxhdGVSZWYsXG5cdFZpZXdDaGlsZCxcblx0Vmlld0NvbnRhaW5lclJlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7XG5cdGF1dG9VcGRhdGUsXG5cdGNvbXB1dGVQb3NpdGlvbixcblx0ZmxpcFxufSBmcm9tIFwiQGZsb2F0aW5nLXVpL2RvbVwiO1xuaW1wb3J0IHsgQ29udGV4dE1lbnVJdGVtQ29tcG9uZW50LCBJdGVtQ2xpY2tFdmVudCB9IGZyb20gXCJjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL2NvbnRleHQtbWVudVwiO1xuXG50eXBlIENvbWJvQnV0dG9uUGxhY2VtZW50ID0gXCJ0b3BcIiB8IFwidG9wLXN0YXJ0XCIgfCBcInRvcC1lbmRcIiB8IFwiYm90dG9tXCIgfCBcImJvdHRvbS1zdGFydFwiIHwgXCJib3R0b20tZW5kXCI7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJjZHMtY29tYm8tYnV0dG9uXCIsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PGRpdiBjbGFzcz1cImNkcy0tY29tYm8tYnV0dG9uX19wcmltYXJ5LWFjdGlvblwiIFthdHRyLmFyaWEtb3duc109XCJvcGVuID8gY29tYm9JZCA6IHVuZGVmaW5lZFwiPlxuXHRcdFx0PGJ1dHRvblxuXHRcdFx0XHRjZHNCdXR0b249XCJwcmltYXJ5XCJcblx0XHRcdFx0W3NpemVdPVwic2l6ZVwiXG5cdFx0XHRcdFthdHRyLnRpdGxlXT1cImxhYmVsXCJcblx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkXCJcblx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXG5cdFx0XHRcdChjbGljayk9XCJvbkFjdGlvbkNsaWNrKCRldmVudClcIj5cblx0XHRcdFx0e3tsYWJlbH19XG5cdFx0XHQ8L2J1dHRvbj5cblx0XHQ8L2Rpdj5cblx0XHQ8Y2RzLWljb24tYnV0dG9uXG5cdFx0XHRbYnV0dG9uTmdDbGFzc109XCJ7ICdjZHMtLWNvbWJvLWJ1dHRvbl9fdHJpZ2dlcic6IHRydWUgfVwiXG5cdFx0XHRbYnV0dG9uQXR0cmlidXRlc109XCJ7XG5cdFx0XHRcdCdhcmlhLWhhc3BvcHVwJzogdHJ1ZSxcblx0XHRcdFx0J2FyaWEtZXhwYW5kZWQnOiBvcGVuLFxuXHRcdFx0XHQnYXJpYS1jb250cm9scyc6IG9wZW4gPyBjb21ib0lkIDogdW5kZWZpbmVkXG5cdFx0XHR9XCJcblx0XHRcdFtzaXplXT1cInNpemVcIlxuXHRcdFx0W2Rlc2NyaXB0aW9uXT1cImRlc2NyaXB0aW9uXCJcblx0XHRcdFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG5cdFx0XHRbYXV0b0FsaWduXT1cInRvb2x0aXBBdXRvQWxpZ25cIlxuXHRcdFx0W2FsaWduXT1cInRvb2x0aXBQbGFjZW1lbnRcIlxuXHRcdFx0KGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiPlxuXHRcdFx0PHN2Z1xuXHRcdFx0XHRjZHNJY29uPVwiY2hldnJvbi0tZG93blwiXG5cdFx0XHRcdHNpemU9XCIxNlwiPlxuXHRcdFx0PC9zdmc+XG5cdFx0PC9jZHMtaWNvbi1idXR0b24+XG5cblx0XHQ8bmctdGVtcGxhdGUgI21lbnVUZW1wbGF0ZT5cblx0XHRcdDxjZHMtbWVudVxuXHRcdFx0XHRtb2RlPVwiYmFzaWNcIlxuXHRcdFx0XHRbc2l6ZV09XCJzaXplXCJcblx0XHRcdFx0W29wZW5dPVwib3BlblwiXG5cdFx0XHRcdFthdHRyLmlkXT1cImNvbWJvSWRcIj5cblx0XHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiY2RzLW1lbnUtaXRlbSwgY2RzLW1lbnUtZGl2aWRlclwiPjwvbmctY29udGVudD5cblx0XHRcdDwvY2RzLW1lbnU+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0YCxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ29tYm9CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cdHN0YXRpYyBjb21ib0J1dHRvbkNvdW50ZXIgPSAwO1xuXHRASW5wdXQoKSBjb21ib0lkID0gYGNvbWJvLWJ1dHRvbi0ke0NvbWJvQnV0dG9uQ29tcG9uZW50LmNvbWJvQnV0dG9uQ291bnRlcisrfWA7XG5cblx0Ly8gTGlzdGVuIGZvciBjbGljayAmIGRldGVybWluZSBpZiBtZW51IHNob3VsZCBjbG9zZVxuXHRAQ29udGVudENoaWxkcmVuKENvbnRleHRNZW51SXRlbUNvbXBvbmVudCkgc2V0IHByb2plY3RlZE1lbnVJdGVtcyhpdGVtTGlzdDogUXVlcnlMaXN0PENvbnRleHRNZW51SXRlbUNvbXBvbmVudD4pIHtcblx0XHQvLyBSZXNldCBpbiBjYXNlIHVzZXIgZHluYW1pY2FsbHkgdXBkYXRlcyBtZW51IGl0ZW1cblx0XHR0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3ViKSA9PiBzdWI/LnVuc3Vic2NyaWJlKCkpO1xuXHRcdHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuXHRcdGl0ZW1MaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcblx0XHRcdHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuXHRcdFx0XHRpdGVtLml0ZW1DbGljay5zdWJzY3JpYmUoKGNsaWNrRXZlbnQpID0+IHRoaXMuaGFuZGxlTWVudUl0ZW1DbGljayhjbGlja0V2ZW50KSlcblx0XHRcdCk7XG5cdFx0fSk7XG5cdH1cblxuXHRASW5wdXQoKSBzaXplOiBcInNtXCIgfCBcIm1kXCIgfCBcImxnXCIgPSBcImxnXCI7XG5cdEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cdEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cdEBJbnB1dCgpIG1lbnVBbGlnbm1lbnQ6IENvbWJvQnV0dG9uUGxhY2VtZW50ID0gXCJib3R0b21cIjtcblx0QElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZztcblx0QElucHV0KCkgdG9vbHRpcEF1dG9BbGlnbiA9IGZhbHNlO1xuXHRASW5wdXQoKSB0b29sdGlwUGxhY2VtZW50ID0gXCJib3R0b21cIjtcblx0QElucHV0KCkgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1jb21iby1idXR0b25fX2NvbnRhaW5lci0tb3BlblwiKSBvcGVuID0gZmFsc2U7XG5cdEBPdXRwdXQoKSBhY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tY29tYm8tYnV0dG9uX19jb250YWluZXJcIikgY29tYm9CdXR0b25Db250YWluZXIgPSB0cnVlO1xuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLWNvbWJvLWJ1dHRvbl9fY29udGFpbmVyLS1sZ1wiKSBnZXQgc2l6ZUxnKCkgeyByZXR1cm4gdGhpcy5zaXplID09PSBcImxnXCI7IH1cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1jb21iby1idXR0b25fX2NvbnRhaW5lci0tbWRcIikgZ2V0IHNpemVNZCgpIHsgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gXCJtZFwiOyB9XG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tY29tYm8tYnV0dG9uX19jb250YWluZXItLXNtXCIpIGdldCBzaXplU20oKSB7IHJldHVybiB0aGlzLnNpemUgPT09IFwic21cIjsgfVxuXHRASG9zdEJpbmRpbmcoXCJhdHRyLmFyaWEtb3duc1wiKSBnZXQgYXJpYU93bnMoKSB7XG5cdFx0cmV0dXJuIHRoaXMub3BlbiA/IHRoaXMuY29tYm9JZCA6IHVuZGVmaW5lZDtcblx0fVxuXG5cdEBWaWV3Q2hpbGQoXCJtZW51VGVtcGxhdGVcIikgbWVudVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG5cdHByb3RlY3RlZCBkb2N1bWVudENsaWNrID0gdGhpcy5oYW5kbGVGb2N1c091dC5iaW5kKHRoaXMpO1xuXHRwcm90ZWN0ZWQgdW5tb3VudEZsb2F0aW5nRWxlbWVudDogRnVuY3Rpb247XG5cblx0cHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXHRwcml2YXRlIF9hbGlnbm1lbnQ6IENvbWJvQnV0dG9uUGxhY2VtZW50ID0gXCJib3R0b21cIjtcblx0cHJpdmF0ZSBtZW51UmVmOiBIVE1MRWxlbWVudDtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcm90ZWN0ZWQgbmdab25lOiBOZ1pvbmUsXG5cdFx0cHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG5cdFx0cHJvdGVjdGVkIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuXHRcdHByb3RlY3RlZCB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuXHRcdHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcblx0KSB7IH1cblxuXG5cdC8qKlxuXHQgKiBJbiBjYXNlIHVzZXIgdXBkYXRlcyBhbGlnbm1lbnQsIHN0b3JlIGluaXRpYWwgdmFsdWUuXG5cdCAqIFRoaXMgYWxsb3dzIHVzIHRvIHRlc3QgdXNlciBwYXNzZWQgYWxpZ25tZW50IG9uIGVhY2ggb3BlblxuXHQgKi9cblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXHRcdGlmIChjaGFuZ2VzLm1lbnVBbGlnbm1lbnQpIHtcblx0XHRcdHRoaXMuX2FsaWdubWVudCA9IGNoYW5nZXMubWVudUFsaWdubWVudC5jdXJyZW50VmFsdWU7XG5cdFx0fVxuXHR9XG5cblxuXG5cdC8qKlxuXHQgKiBJZiB1c2VyIGhhcyBwYXNzZWQgaW4gdHJ1ZSBmb3Igb3Blbiwgd2UgZHluYW1pY2FsbHkgb3BlbiB0aGUgbWVudVxuXHQgKi9cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm9wZW4pIHtcblx0XHRcdHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG5cdFx0XHR0aGlzLnRvZ2dsZU1lbnUoKTtcblx0XHR9XG5cdH1cblxuXG5cblx0LyoqXG5cdCogQ2xlYW4gdXAgRmxvYXRpbmctdWkgJiBzdWJzY3JpcHRpb25zXG5cdCovXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuY2xlYW5VcCgpO1xuXHRcdHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWIpID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcblx0fVxuXG5cblx0LyoqXG5cdCAqIEFzIG9mIG5vdywgbWVudSBidXR0b24gZG9lcyBub3Qgc3VwcG9ydCBuZXh0ZWQgbWVudSwgb24gYnV0dG9uIGNsaWNrIGl0IHNob3VsZCBjbG9zZVxuXHQgKi9cblx0aGFuZGxlTWVudUl0ZW1DbGljayhldmVudDogSXRlbUNsaWNrRXZlbnQpIHtcblx0XHQvLyBJZiBldmVudCBpcyBub3QgdHlwZSByYWRpby9jaGVja2JveCwgd2UgY2xvc2UgdGhlIG1lbnVcblx0XHRpZiAoIWV2ZW50LnR5cGUpIHtcblx0XHRcdHRoaXMudG9nZ2xlTWVudSgpO1xuXHRcdH1cblx0fVxuXG5cblxuXHQvKipcblx0ICogT24gYm9keSBjbGljaywgY2xvc2UgdGhlIG1lbnVcblx0ICogQHBhcmFtIGV2ZW50XG5cdCAqL1xuXHRoYW5kbGVGb2N1c091dChldmVudCkge1xuXHRcdGlmICghdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcblx0XHRcdHRoaXMudG9nZ2xlTWVudSgpO1xuXHRcdH1cblx0fVxuXG5cblxuXHQvKipcblx0ICogQ2xlYW4gdXAgYGF1dG9VcGRhdGVgIGlmIGF1dG8gYWxpZ25tZW50IGlzIGVuYWJsZWRcblx0ICovXG5cdGNsZWFuVXAoKSB7XG5cdFx0ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZG9jdW1lbnRDbGljayk7XG5cdFx0aWYgKHRoaXMudW5tb3VudEZsb2F0aW5nRWxlbWVudCkge1xuXHRcdFx0dGhpcy5tZW51UmVmLnJlbW92ZSgpO1xuXHRcdFx0dGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG5cdFx0XHR0aGlzLnVubW91bnRGbG9hdGluZ0VsZW1lbnQoKTtcblx0XHR9XG5cdFx0dGhpcy51bm1vdW50RmxvYXRpbmdFbGVtZW50ID0gdW5kZWZpbmVkO1xuXHRcdC8vIE9uIGFsbCBpbnN0YW5jZXMgb2YgbWVudSBjbG9zaW5nLCBtYWtlIHN1cmUgaWNvbiBkaXJlY3Rpb24gaXMgY29ycmVjdFxuXHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXG5cdC8qKlxuXHQgKiBPbiBhY3Rpb24gY2xpY2ssIG5vdGlmeSB1c2VyXG5cdCAqIElmIHRoZSBtZW51IGlzIG9wZW4sIGNsb3NlIHRoZSBtZW51XG5cdCAqIEBwYXJhbSBldmVudFxuXHQgKi9cblx0b25BY3Rpb25DbGljayhldmVudDogUG9pbnRlckV2ZW50KSB7XG5cdFx0aWYgKHRoaXMub3Blbikge1xuXHRcdFx0dGhpcy50b2dnbGVNZW51KCk7XG5cdFx0fVxuXHRcdHRoaXMuYWN0aW9uQ2xpY2suZW1pdChldmVudCk7XG5cdH1cblxuXG5cblx0LyoqXG5cdCAqIEhhbmRsZXMgZW1pdHRpbmcgb3Blbi9jbG9zZSBldmVudFxuXHQgKi9cblx0dG9nZ2xlTWVudSgpIHtcblx0XHR0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuXHRcdGlmICh0aGlzLm9wZW4pIHtcblx0XHRcdC8vIFJlbmRlciB0aGUgdGVtcGxhdGUgJiBhcHBlbmQgdG8gdmlld1xuXHRcdFx0Y29uc3QgdmlldyA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5tZW51VGVtcGxhdGUpO1xuXHRcdFx0dGhpcy5tZW51UmVmID0gZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh2aWV3LnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudCk7XG5cdFx0XHQvLyBBc3NpZ24gYnV0dG9uIHdpZHRoIHRvIHRoZSBtZW51IHJlZiB0byBhbGlnbiB3aXRoIGJ1dHRvblxuXHRcdFx0T2JqZWN0LmFzc2lnbih0aGlzLm1lbnVSZWYuc3R5bGUsIHtcblx0XHRcdFx0d2lkdGg6IGAke3RoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aH1weGAsXG5cdFx0XHRcdHRvcDogXCIwXCIsXG5cdFx0XHRcdGxlZnQ6IFwiMFwiXG5cdFx0XHR9KTtcblxuXHRcdFx0Ly8gUmVzZXQgJiB0ZXN0IGFsaWdubWVudCBldmVyeSBvcGVuXG5cdFx0XHR0aGlzLm1lbnVBbGlnbm1lbnQgPSB0aGlzLl9hbGlnbm1lbnQ7XG5cblx0XHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmRvY3VtZW50Q2xpY2spO1xuXG5cdFx0XHQvLyBMaXN0ZW4gZm9yIGV2ZW50cyBzdWNoIGFzIHNjcm9sbGluZyB0byBrZWVwIG1lbnUgYWxpZ25lZFxuXHRcdFx0dGhpcy51bm1vdW50RmxvYXRpbmdFbGVtZW50ID0gYXV0b1VwZGF0ZShcblx0XHRcdFx0dGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHR0aGlzLm1lbnVSZWYsXG5cdFx0XHRcdHRoaXMucmVjb21wdXRlUG9zaXRpb24uYmluZCh0aGlzKVxuXHRcdFx0KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5jbGVhblVwKCk7XG5cdFx0fVxuXHR9XG5cblxuXG5cdHJvdW5kQnlEUFIodmFsdWUpIHtcblx0XHRjb25zdCBkcHIgPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyB8fCAxO1xuXHRcdHJldHVybiBNYXRoLnJvdW5kKHZhbHVlICogZHByKSAvIGRwcjtcblx0fVxuXG5cblxuXHQvKipcblx0ICogQ29tcHV0ZSBwb3NpdGlvbiBvZiBtZW51XG5cdCAqL1xuXHRyZWNvbXB1dGVQb3NpdGlvbigpIHtcblx0XHRpZiAodGhpcy5tZW51VGVtcGxhdGUgJiYgdGhpcy5ob3N0RWxlbWVudCkge1xuXHRcdFx0Ly8gUnVuIG91dHNpZGUgb2YgYW5ndWxhciB6b25lIHRvIGF2b2lkIHVubmVjZXNzYXJ5IGNoYW5nZSBkZXRlY3Rpb24gYW5kIHJlbHkgb24gZmxvYXRpbmctdWlcblx0XHRcdHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeyB4LCB5LCBwbGFjZW1lbnQgfSA9IGF3YWl0IGNvbXB1dGVQb3NpdGlvbihcblx0XHRcdFx0XHR0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdFx0dGhpcy5tZW51UmVmLFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdHBsYWNlbWVudDogdGhpcy5tZW51QWxpZ25tZW50LFxuXHRcdFx0XHRcdFx0c3RyYXRlZ3k6IFwiZml4ZWRcIixcblx0XHRcdFx0XHRcdG1pZGRsZXdhcmU6IFtcblx0XHRcdFx0XHRcdFx0ZmxpcCh7IGNyb3NzQXhpczogZmFsc2UgfSlcblx0XHRcdFx0XHRcdF1cblx0XHRcdFx0XHR9KTtcblxuXHRcdFx0XHR0aGlzLm1lbnVBbGlnbm1lbnQgPSBwbGFjZW1lbnQgYXMgQ29tYm9CdXR0b25QbGFjZW1lbnQ7XG5cblx0XHRcdFx0Ly8gVXNpbmcgQ1NTT00gdG8gbWFuaXB1bGF0ZSBDU1MgdG8gYXZvaWQgY29udGVudCBzZWN1cml0eSBwb2xpY3kgaW5saW5lLXNyY1xuXHRcdFx0XHQvLyBodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmFwcHNlYy1jc3AvaXNzdWVzLzIxMlxuXHRcdFx0XHRPYmplY3QuYXNzaWduKHRoaXMubWVudVJlZi5zdHlsZSwge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBcImZpeGVkXCIsXG5cdFx0XHRcdFx0Ly8gVXNpbmcgdHJhbnNmb3JtIGluc3RlYWQgb2YgdG9wL2xlZnQgcG9zaXRpb24gdG8gaW1wcm92ZSBwZXJmb3JtYW5jZVxuXHRcdFx0XHRcdHRyYW5zZm9ybTogYHRyYW5zbGF0ZSgke3RoaXMucm91bmRCeURQUih4KX1weCwke3RoaXMucm91bmRCeURQUih5KX1weClgXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG59XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { IconModule } from "carbon-components-angular/icon";
|
|
4
|
+
import { ContextMenuModule } from "carbon-components-angular/context-menu";
|
|
5
|
+
import { ButtonModule } from "carbon-components-angular/button";
|
|
6
|
+
import { ComboButtonComponent } from "./combo-button.component";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class ComboButtonModule {
|
|
9
|
+
}
|
|
10
|
+
ComboButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ComboButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
ComboButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ComboButtonModule, declarations: [ComboButtonComponent], imports: [CommonModule,
|
|
12
|
+
ButtonModule,
|
|
13
|
+
IconModule,
|
|
14
|
+
ContextMenuModule], exports: [ComboButtonComponent] });
|
|
15
|
+
ComboButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ComboButtonModule, imports: [CommonModule,
|
|
16
|
+
ButtonModule,
|
|
17
|
+
IconModule,
|
|
18
|
+
ContextMenuModule] });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ComboButtonModule, decorators: [{
|
|
20
|
+
type: NgModule,
|
|
21
|
+
args: [{
|
|
22
|
+
imports: [
|
|
23
|
+
CommonModule,
|
|
24
|
+
ButtonModule,
|
|
25
|
+
IconModule,
|
|
26
|
+
ContextMenuModule
|
|
27
|
+
],
|
|
28
|
+
exports: [ComboButtonComponent],
|
|
29
|
+
declarations: [ComboButtonComponent]
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm8tYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21iby1idXR0b24vY29tYm8tYnV0dG9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVloRSxNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBRmQsb0JBQW9CLGFBTmxDLFlBQVk7UUFDWixZQUFZO1FBQ1osVUFBVTtRQUNWLGlCQUFpQixhQUVSLG9CQUFvQjsrR0FHbEIsaUJBQWlCLFlBUjVCLFlBQVk7UUFDWixZQUFZO1FBQ1osVUFBVTtRQUNWLGlCQUFpQjsyRkFLTixpQkFBaUI7a0JBVjdCLFFBQVE7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFO3dCQUNSLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixVQUFVO3dCQUNWLGlCQUFpQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQy9CLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuaW1wb3J0IHsgSWNvbk1vZHVsZSB9IGZyb20gXCJjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL2ljb25cIjtcbmltcG9ydCB7IENvbnRleHRNZW51TW9kdWxlIH0gZnJvbSBcImNhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXIvY29udGV4dC1tZW51XCI7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tIFwiY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhci9idXR0b25cIjtcblxuaW1wb3J0IHsgQ29tYm9CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21iby1idXR0b24uY29tcG9uZW50XCI7XG5cbkBOZ01vZHVsZSh7XG5cdGltcG9ydHM6IFtcblx0XHRDb21tb25Nb2R1bGUsXG5cdFx0QnV0dG9uTW9kdWxlLFxuXHRcdEljb25Nb2R1bGUsXG5cdFx0Q29udGV4dE1lbnVNb2R1bGVcblx0XSxcblx0ZXhwb3J0czogW0NvbWJvQnV0dG9uQ29tcG9uZW50XSxcblx0ZGVjbGFyYXRpb25zOiBbQ29tYm9CdXR0b25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIENvbWJvQnV0dG9uTW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "./combo-button.component";
|
|
2
|
+
export * from "./combo-button.module";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tYm8tYnV0dG9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbWJvLWJ1dHRvbi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbWJvLWJ1dHRvbi5tb2R1bGVcIjtcbiJdfQ==
|
|
@@ -7,11 +7,11 @@ export class ContextMenuDividerComponent {
|
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
ContextMenuDividerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContextMenuDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
ContextMenuDividerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ContextMenuDividerComponent, selector: "cds-context-menu-divider, ibm-context-menu-divider", host: { properties: { "class.cds--menu-item-divider": "this.dividerClass", "attr.role": "this.role" } }, ngImport: i0, template: "", isInline: true });
|
|
10
|
+
ContextMenuDividerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ContextMenuDividerComponent, selector: "cds-menu-divider, cds-context-menu-divider, ibm-context-menu-divider", host: { properties: { "class.cds--menu-item-divider": "this.dividerClass", "attr.role": "this.role" } }, ngImport: i0, template: "", isInline: true });
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContextMenuDividerComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{
|
|
14
|
-
selector: "cds-context-menu-divider, ibm-context-menu-divider",
|
|
14
|
+
selector: "cds-menu-divider, cds-context-menu-divider, ibm-context-menu-divider",
|
|
15
15
|
template: ""
|
|
16
16
|
}]
|
|
17
17
|
}], propDecorators: { dividerClass: [{
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
21
21
|
type: HostBinding,
|
|
22
22
|
args: ["attr.role"]
|
|
23
23
|
}] } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LWRpdmlkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUtZGl2aWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZELE1BQU0sT0FBTywyQkFBMkI7SUFKeEM7UUFLOEMsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDdkMsU0FBSSxHQUFHLFdBQVcsQ0FBQztLQUM3Qzs7d0hBSFksMkJBQTJCOzRHQUEzQiwyQkFBMkIscU5BRjdCLEVBQUU7MkZBRUEsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxzRUFBc0U7b0JBQ2hGLFFBQVEsRUFBRSxFQUFFO2lCQUNaOzhCQUU2QyxZQUFZO3NCQUF4RCxXQUFXO3VCQUFDLDhCQUE4QjtnQkFDakIsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJjZHMtbWVudS1kaXZpZGVyLCBjZHMtY29udGV4dC1tZW51LWRpdmlkZXIsIGlibS1jb250ZXh0LW1lbnUtZGl2aWRlclwiLFxuXHR0ZW1wbGF0ZTogXCJcIlxufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWVudURpdmlkZXJDb21wb25lbnQge1xuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLW1lbnUtaXRlbS1kaXZpZGVyXCIpIGRpdmlkZXJDbGFzcyA9IHRydWU7XG5cdEBIb3N0QmluZGluZyhcImF0dHIucm9sZVwiKSByb2xlID0gXCJzZXBhcmF0b3JcIjtcbn1cbiJdfQ==
|
|
@@ -37,13 +37,13 @@ export class ContextMenuGroupComponent {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
ContextMenuGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContextMenuGroupComponent, deps: [{ token: i1.ContextMenuSelectionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
-
ContextMenuGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ContextMenuGroupComponent, selector: "cds-context-menu-group, ibm-context-menu-group", inputs: { label: "label", value: "value", type: "type" }, outputs: { valueChange: "valueChange" }, host: { properties: { "attr.role": "this.role", "class.cds--menu-item-radio-group": "this.radioGroup", "class.cds--menu-item-group": "this.group", "attr.aria-label": "this.label" } }, providers: [ContextMenuSelectionService], usesOnChanges: true, ngImport: i0, template: `
|
|
40
|
+
ContextMenuGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ContextMenuGroupComponent, selector: "cds-menu-group, cds-context-menu-group, ibm-context-menu-group", inputs: { label: "label", value: "value", type: "type" }, outputs: { valueChange: "valueChange" }, host: { properties: { "attr.role": "this.role", "class.cds--menu-item-radio-group": "this.radioGroup", "class.cds--menu-item-group": "this.group", "attr.aria-label": "this.label" } }, providers: [ContextMenuSelectionService], usesOnChanges: true, ngImport: i0, template: `
|
|
41
41
|
<ng-content></ng-content>
|
|
42
42
|
`, isInline: true });
|
|
43
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContextMenuGroupComponent, decorators: [{
|
|
44
44
|
type: Component,
|
|
45
45
|
args: [{
|
|
46
|
-
selector: "cds-context-menu-group, ibm-context-menu-group",
|
|
46
|
+
selector: "cds-menu-group, cds-context-menu-group, ibm-context-menu-group",
|
|
47
47
|
template: `
|
|
48
48
|
<ng-content></ng-content>
|
|
49
49
|
`,
|
|
@@ -70,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
70
70
|
}], valueChange: [{
|
|
71
71
|
type: Output
|
|
72
72
|
}] } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUlMLE1BQU0sRUFFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFTL0UsTUFBTSxPQUFPLHlCQUF5QjtJQVlyQyxZQUFzQiwyQkFBd0Q7UUFBeEQsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQVhwRCxTQUFJLEdBQUcsT0FBTyxDQUFDO1FBSUEsVUFBSyxHQUFHLElBQUksQ0FBQztRQUM3QyxVQUFLLEdBQVUsRUFBRSxDQUFDO1FBQ2xCLFNBQUksR0FBZ0MsSUFBSSxDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUUxQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFdUMsQ0FBQztJQVZsRixJQUFxRCxVQUFVLEtBQU0sT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDcEcsSUFBK0MsS0FBSyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBVzNGLFFBQVE7UUFDUCxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUM7UUFDakUsTUFBTSxZQUFZLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNqQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDbEIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtnQkFDMUIsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3pFO1lBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLDJCQUEyQixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDOUU7U0FDRDtJQUNGLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDOztzSEFwQ1cseUJBQXlCOzBHQUF6Qix5QkFBeUIsb1hBRjFCLENBQUMsMkJBQTJCLENBQUMsK0NBSDlCOztFQUVUOzJGQUdXLHlCQUF5QjtrQkFQckMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsZ0VBQWdFO29CQUMxRSxRQUFRLEVBQUU7O0VBRVQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUM7aUJBQ3hDO2tIQUUwQixJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBQzZCLFVBQVU7c0JBQTlELFdBQVc7dUJBQUMsa0NBQWtDO2dCQUNBLEtBQUs7c0JBQW5ELFdBQVc7dUJBQUMsNEJBQTRCO2dCQUVBLEtBQUs7c0JBQTdDLFdBQVc7dUJBQUMsaUJBQWlCOztzQkFBRyxLQUFLO2dCQUM3QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDb21wb25lbnQsXG5cdEV2ZW50RW1pdHRlcixcblx0SG9zdEJpbmRpbmcsXG5cdElucHV0LFxuXHRPbkNoYW5nZXMsXG5cdE9uRGVzdHJveSxcblx0T25Jbml0LFxuXHRPdXRwdXQsXG5cdFNpbXBsZUNoYW5nZXNcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBDb250ZXh0TWVudVNlbGVjdGlvblNlcnZpY2UgfSBmcm9tIFwiLi9jb250ZXh0LW1lbnUtc2VsZWN0aW9uLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcImNkcy1tZW51LWdyb3VwLCBjZHMtY29udGV4dC1tZW51LWdyb3VwLCBpYm0tY29udGV4dC1tZW51LWdyb3VwXCIsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHRgLFxuXHRwcm92aWRlcnM6IFtDb250ZXh0TWVudVNlbGVjdGlvblNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIENvbnRleHRNZW51R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblx0QEhvc3RCaW5kaW5nKFwiYXR0ci5yb2xlXCIpIHJvbGUgPSBcImdyb3VwXCI7XG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tbWVudS1pdGVtLXJhZGlvLWdyb3VwXCIpIGdldCByYWRpb0dyb3VwKCkgeyAgcmV0dXJuIHRoaXMudHlwZSA9PT0gXCJyYWRpb1wiOyB9XG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tbWVudS1pdGVtLWdyb3VwXCIpIGdldCBncm91cCgpIHsgcmV0dXJuIHRoaXMudHlwZSA9PT0gXCJjaGVja2JveFwiOyB9XG5cblx0QEhvc3RCaW5kaW5nKFwiYXR0ci5hcmlhLWxhYmVsXCIpIEBJbnB1dCgpIGxhYmVsID0gbnVsbDtcblx0QElucHV0KCkgdmFsdWU6IGFueVtdID0gW107XG5cdEBJbnB1dCgpIHR5cGU6IG51bGwgfCBcInJhZGlvXCIgfCBcImNoZWNrYm94XCIgPSBudWxsO1xuXHRAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuXG5cdHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjb250ZXh0TWVudVNlbGVjdGlvblNlcnZpY2U6IENvbnRleHRNZW51U2VsZWN0aW9uU2VydmljZSkge31cblxuXHRuZ09uSW5pdCgpIHtcblx0XHRjb25zdCB7IHNlbGVjdGlvbk9ic2VydmFibGUgfSA9IHRoaXMuY29udGV4dE1lbnVTZWxlY3Rpb25TZXJ2aWNlO1xuXHRcdGNvbnN0IHN1YnNjcmlwdGlvbiA9IHNlbGVjdGlvbk9ic2VydmFibGUuc3Vic2NyaWJlKHZhbHVlID0+IHtcblx0XHRcdHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cdFx0fSk7XG5cdFx0dGhpcy5zdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XG5cdH1cblxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG5cdFx0aWYgKGNoYW5nZXMudmFsdWUpIHtcblx0XHRcdGlmICh0aGlzLnR5cGUgPT09IFwicmFkaW9cIikge1xuXHRcdFx0XHR0aGlzLmNvbnRleHRNZW51U2VsZWN0aW9uU2VydmljZS5zZWxlY3RSYWRpbyhjaGFuZ2VzLnZhbHVlLmN1cnJlbnRWYWx1ZSk7XG5cdFx0XHR9XG5cblx0XHRcdGlmICh0aGlzLnR5cGUgPT09IFwiY2hlY2tib3hcIikge1xuXHRcdFx0XHR0aGlzLmNvbnRleHRNZW51U2VsZWN0aW9uU2VydmljZS5zZWxlY3RDaGVja2JveGVzKGNoYW5nZXMudmFsdWUuY3VycmVudFZhbHVlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpIHtcblx0XHR0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXHR9XG59XG4iXX0=
|