carbon-components-angular 5.8.1 → 5.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/documentation/classes/NumberChange.html +5 -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 +22 -20
- package/docs/documentation/components/ContentSwitcher.html +1 -1
- package/docs/documentation/components/ContextMenuComponent.html +1 -1
- package/docs/documentation/components/ContextMenuDividerComponent.html +1 -1
- package/docs/documentation/components/ContextMenuGroupComponent.html +1 -1
- package/docs/documentation/components/ContextMenuItemComponent.html +1 -1
- 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 +85 -74
- package/docs/documentation/components/ExpandableTile.html +1 -1
- package/docs/documentation/components/FileComponent.html +1 -1
- package/docs/documentation/components/FileUploader.html +46 -42
- 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 +311 -252
- 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/Modal.html +1 -1
- package/docs/documentation/components/ModalFooter.html +1 -1
- package/docs/documentation/components/ModalHeader.html +10 -23
- package/docs/documentation/components/Notification.html +1 -1
- package/docs/documentation/components/NumberComponent.html +105 -64
- 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 +10 -10
- 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/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 +23 -36
- 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 +46 -48
- package/docs/documentation/components/SideNav.html +1 -1
- package/docs/documentation/components/SideNavItem.html +30 -24
- package/docs/documentation/components/SideNavMenu.html +5 -9
- package/docs/documentation/components/SkeletonPlaceholder.html +1 -1
- package/docs/documentation/components/SkeletonText.html +1 -1
- package/docs/documentation/components/Slider.html +107 -90
- 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 +120 -31
- 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 +8 -8
- 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/TextInputLabelComponent.html +1197 -0
- package/docs/documentation/components/TextareaLabelComponent.html +1243 -0
- package/docs/documentation/components/Tile.html +1 -1
- package/docs/documentation/components/TileGroup.html +142 -27
- package/docs/documentation/components/TimePicker.html +1 -1
- package/docs/documentation/components/TimePickerSelect.html +1 -1
- package/docs/documentation/components/Toast.html +28 -44
- 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/coverage.html +35 -11
- package/docs/documentation/directives/DialogDirective.html +9 -11
- package/docs/documentation/directives/OverflowMenuDirective.html +2 -2
- package/docs/documentation/graph/dependencies.svg +2646 -2598
- package/docs/documentation/images/coverage-badge-documentation.svg +1 -1
- package/docs/documentation/interfaces/PaginationTranslations.html +4 -4
- package/docs/documentation/js/menu-wc.js +15 -9
- package/docs/documentation/js/menu-wc_es5.js +1 -1
- package/docs/documentation/js/search/search_index.js +2 -2
- package/docs/documentation/modules/DatePickerInputModule/dependencies.svg +40 -36
- package/docs/documentation/modules/DatePickerInputModule.html +40 -36
- package/docs/documentation/modules/DatePickerModule/dependencies.svg +39 -39
- package/docs/documentation/modules/DatePickerModule.html +39 -39
- package/docs/documentation/modules/FileUploaderModule/dependencies.svg +34 -34
- package/docs/documentation/modules/FileUploaderModule.html +34 -34
- package/docs/documentation/modules/GridModule/dependencies.svg +60 -60
- package/docs/documentation/modules/GridModule.html +60 -60
- package/docs/documentation/modules/InputModule/dependencies.svg +107 -59
- package/docs/documentation/modules/InputModule.html +126 -60
- package/docs/documentation/modules/LoadingModule/dependencies.svg +4 -4
- package/docs/documentation/modules/LoadingModule.html +4 -4
- package/docs/documentation/modules/NFormsModule/dependencies.svg +10 -4
- package/docs/documentation/modules/NFormsModule.html +15 -5
- package/docs/documentation/modules/NumberModule/dependencies.svg +4 -4
- package/docs/documentation/modules/NumberModule.html +4 -4
- package/docs/documentation/modules/ProgressBarModule/dependencies.svg +4 -4
- package/docs/documentation/modules/ProgressBarModule.html +4 -4
- package/docs/documentation/modules/ProgressIndicatorModule/dependencies.svg +42 -54
- package/docs/documentation/modules/ProgressIndicatorModule.html +43 -60
- package/docs/documentation/modules/RadioModule/dependencies.svg +4 -8
- package/docs/documentation/modules/RadioModule.html +4 -8
- 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/StructuredListModule/dependencies.svg +66 -66
- package/docs/documentation/modules/StructuredListModule.html +66 -66
- package/docs/documentation/modules/TableModule/dependencies.svg +216 -216
- package/docs/documentation/modules/TableModule.html +216 -216
- package/docs/documentation/modules/ThemeModule/dependencies.svg +4 -4
- package/docs/documentation/modules/ThemeModule.html +4 -4
- package/docs/documentation/modules/TilesModule/dependencies.svg +78 -78
- package/docs/documentation/modules/TilesModule.html +78 -78
- package/docs/documentation/modules/TimePickerModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TimePickerModule.html +4 -4
- package/docs/documentation/modules/TimePickerSelectModule/dependencies.svg +46 -50
- package/docs/documentation/modules/TimePickerSelectModule.html +46 -50
- package/docs/documentation/modules/ToggleModule/dependencies.svg +26 -26
- package/docs/documentation/modules/ToggleModule.html +26 -26
- package/docs/documentation/modules/ToggletipModule/dependencies.svg +37 -37
- package/docs/documentation/modules/ToggletipModule.html +37 -37
- package/docs/documentation/modules/TooltipModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TooltipModule.html +4 -4
- package/docs/documentation/modules/UIShellModule/dependencies.svg +4 -4
- package/docs/documentation/modules/UIShellModule.html +4 -4
- package/docs/documentation/overview.html +2647 -2599
- package/docs/documentation.json +1062 -453
- package/docs/storybook/1741.0cb8b504.iframe.bundle.js +1 -0
- package/docs/storybook/1895.d4241266.iframe.bundle.js +1 -0
- package/docs/storybook/{3224.acb75ed6.iframe.bundle.js → 3224.8b16624b.iframe.bundle.js} +1 -1
- package/docs/storybook/{3348.91a6fc53.iframe.bundle.js → 3348.683a45b7.iframe.bundle.js} +1 -1
- package/docs/storybook/{3931.f22006ff.iframe.bundle.js → 3931.55f9fea9.iframe.bundle.js} +1 -1
- package/docs/storybook/5868.3e7f17a9.iframe.bundle.js +1 -0
- package/docs/storybook/{1235.8d840d5b.iframe.bundle.js → 7153.87910de3.iframe.bundle.js} +1 -1
- package/docs/storybook/7773.6c3cf943.iframe.bundle.js +1 -0
- package/docs/storybook/{8341.50a06357.iframe.bundle.js → 8341.83894870.iframe.bundle.js} +1 -1
- package/docs/storybook/{901.aa635bd3.iframe.bundle.js → 901.3e5cc559.iframe.bundle.js} +1 -1
- package/docs/storybook/combobox-combobox-stories.fdeea2f7.iframe.bundle.js +1 -0
- package/docs/storybook/file-uploader-file-uploader-stories.fb6f46e6.iframe.bundle.js +1 -0
- package/docs/storybook/iframe.html +2 -2
- package/docs/storybook/main.69a14133.iframe.bundle.js +1 -0
- package/docs/storybook/{progress-indicator-progress-indicator-stories.7a79da0d.iframe.bundle.js → number-input-number-stories.3ea609db.iframe.bundle.js} +1 -1
- package/docs/storybook/{patterns-dialogs-modal-with-table-stories.f2295407.iframe.bundle.js → patterns-dialogs-modal-with-table-stories.494ac5a3.iframe.bundle.js} +1 -1
- package/docs/storybook/{patterns-forms-multi-step-form-stories.0d86ee5b.iframe.bundle.js → patterns-forms-multi-step-form-stories.75d0fa39.iframe.bundle.js} +1 -1
- package/docs/storybook/patterns-loading-large-loading-stories.8c04d095.iframe.bundle.js +1 -0
- package/docs/storybook/progress-indicator-progress-indicator-stories.dcc5c5ca.iframe.bundle.js +1 -0
- package/docs/storybook/project.json +1 -1
- package/docs/storybook/{runtime~main.c5d3a693.iframe.bundle.js → runtime~main.7228f593.iframe.bundle.js} +1 -1
- package/docs/storybook/slider-slider-stories.feee50aa.iframe.bundle.js +1 -0
- package/docs/storybook/{tabs-tabs-stories.d36fc351.iframe.bundle.js → tabs-tabs-stories.675b2d72.iframe.bundle.js} +1 -1
- package/docs/storybook/ui-shell-ui-shell-stories.90ac54a8.iframe.bundle.js +1 -0
- package/esm2020/combobox/combobox.component.mjs +4 -2
- package/esm2020/dialog/dialog.directive.mjs +4 -6
- package/esm2020/dropdown/list/dropdown-list.component.mjs +39 -30
- package/esm2020/file-uploader/file-uploader.component.mjs +16 -13
- package/esm2020/forms/forms.module.mjs +7 -4
- package/esm2020/forms/index.mjs +2 -2
- package/esm2020/input/index.mjs +3 -1
- package/esm2020/input/input.module.mjs +13 -3
- package/esm2020/input/label.component.mjs +200 -124
- package/esm2020/input/text-input-label.component.mjs +211 -0
- package/esm2020/input/textarea-label.component.mjs +215 -0
- package/esm2020/modal/modal-header.component.mjs +7 -9
- package/esm2020/notification/toast.component.mjs +10 -12
- package/esm2020/number-input/number.component.mjs +10 -2
- package/esm2020/pagination/pagination.component.mjs +9 -9
- package/esm2020/progress-indicator/progress-indicator.component.mjs +8 -10
- package/esm2020/progress-indicator/progress-indicator.module.mjs +1 -5
- package/esm2020/slider/slider.component.mjs +6 -5
- package/esm2020/table/toolbar/table-toolbar.component.mjs +7 -7
- package/esm2020/tabs/tab-headers.component.mjs +10 -2
- package/esm2020/tiles/selection-tile.component.mjs +21 -23
- package/esm2020/tiles/tile-group.component.mjs +25 -5
- package/esm2020/ui-shell/sidenav/sidenav-item.component.mjs +8 -2
- package/esm2020/ui-shell/sidenav/sidenav-menu.component.mjs +4 -9
- package/fesm2015/carbon-components-angular-combobox.mjs +3 -1
- package/fesm2015/carbon-components-angular-combobox.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-dialog.mjs +3 -5
- package/fesm2015/carbon-components-angular-dialog.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-dropdown.mjs +38 -29
- package/fesm2015/carbon-components-angular-dropdown.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-file-uploader.mjs +15 -12
- package/fesm2015/carbon-components-angular-file-uploader.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-forms.mjs +7 -4
- package/fesm2015/carbon-components-angular-forms.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-input.mjs +572 -74
- package/fesm2015/carbon-components-angular-input.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-modal.mjs +11 -13
- package/fesm2015/carbon-components-angular-modal.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-notification.mjs +7 -9
- package/fesm2015/carbon-components-angular-notification.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-number-input.mjs +9 -1
- package/fesm2015/carbon-components-angular-number-input.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-pagination.mjs +8 -8
- package/fesm2015/carbon-components-angular-pagination.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-progress-indicator.mjs +7 -13
- package/fesm2015/carbon-components-angular-progress-indicator.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-slider.mjs +5 -4
- package/fesm2015/carbon-components-angular-slider.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-table.mjs +6 -6
- package/fesm2015/carbon-components-angular-table.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-tabs.mjs +9 -1
- package/fesm2015/carbon-components-angular-tabs.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-tiles.mjs +43 -26
- package/fesm2015/carbon-components-angular-tiles.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-ui-shell.mjs +10 -9
- package/fesm2015/carbon-components-angular-ui-shell.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-combobox.mjs +3 -1
- package/fesm2020/carbon-components-angular-combobox.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-dialog.mjs +3 -5
- package/fesm2020/carbon-components-angular-dialog.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-dropdown.mjs +38 -29
- package/fesm2020/carbon-components-angular-dropdown.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-file-uploader.mjs +15 -12
- package/fesm2020/carbon-components-angular-file-uploader.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-forms.mjs +7 -4
- package/fesm2020/carbon-components-angular-forms.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-input.mjs +572 -74
- package/fesm2020/carbon-components-angular-input.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-modal.mjs +11 -13
- package/fesm2020/carbon-components-angular-modal.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-notification.mjs +7 -9
- package/fesm2020/carbon-components-angular-notification.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-number-input.mjs +9 -1
- package/fesm2020/carbon-components-angular-number-input.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-pagination.mjs +8 -8
- package/fesm2020/carbon-components-angular-pagination.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-progress-indicator.mjs +7 -13
- package/fesm2020/carbon-components-angular-progress-indicator.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-slider.mjs +5 -4
- package/fesm2020/carbon-components-angular-slider.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-table.mjs +6 -6
- package/fesm2020/carbon-components-angular-table.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-tabs.mjs +9 -1
- package/fesm2020/carbon-components-angular-tabs.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-tiles.mjs +43 -26
- package/fesm2020/carbon-components-angular-tiles.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-ui-shell.mjs +10 -9
- package/fesm2020/carbon-components-angular-ui-shell.mjs.map +1 -1
- package/file-uploader/file-uploader.component.d.ts +2 -1
- package/forms/forms.module.d.ts +1 -1
- package/forms/index.d.ts +1 -1
- package/input/index.d.ts +2 -0
- package/input/input.module.d.ts +6 -4
- package/input/label.component.d.ts +10 -23
- package/input/text-input-label.component.d.ts +85 -0
- package/input/textarea-label.component.d.ts +87 -0
- package/modal/modal-header.component.d.ts +1 -3
- package/notification/toast.component.d.ts +1 -3
- package/number-input/number.component.d.ts +5 -1
- package/package.json +1 -1
- package/progress-indicator/progress-indicator.component.d.ts +1 -3
- package/progress-indicator/progress-indicator.module.d.ts +3 -4
- package/slider/slider.component.d.ts +3 -2
- package/tabs/tab-headers.component.d.ts +5 -3
- package/tiles/tile-group.component.d.ts +4 -2
- package/ui-shell/sidenav/sidenav-menu.component.d.ts +1 -1
- package/docs/storybook/1741.baa0e588.iframe.bundle.js +0 -1
- package/docs/storybook/1895.cdd3d03e.iframe.bundle.js +0 -1
- package/docs/storybook/5868.bc6e8b2d.iframe.bundle.js +0 -1
- package/docs/storybook/7773.ef20c61a.iframe.bundle.js +0 -1
- package/docs/storybook/combobox-combobox-stories.cc751a45.iframe.bundle.js +0 -1
- package/docs/storybook/file-uploader-file-uploader-stories.f41b9fbb.iframe.bundle.js +0 -1
- package/docs/storybook/main.760cce33.iframe.bundle.js +0 -1
- package/docs/storybook/number-input-number-stories.aadfb01f.iframe.bundle.js +0 -1
- package/docs/storybook/patterns-loading-large-loading-stories.95988daa.iframe.bundle.js +0 -1
- package/docs/storybook/slider-slider-stories.fe053915.iframe.bundle.js +0 -1
- package/docs/storybook/ui-shell-ui-shell-stories.9dc19b9f.iframe.bundle.js +0 -1
|
@@ -772,7 +772,15 @@ class TabHeaders extends BaseTabHeader {
|
|
|
772
772
|
}
|
|
773
773
|
}
|
|
774
774
|
ngOnInit() {
|
|
775
|
-
|
|
775
|
+
// Update scroll on resize
|
|
776
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
777
|
+
// Need to explicitly trigger change detection since this runs outside Angular zone
|
|
778
|
+
this.changeDetectorRef.detectChanges();
|
|
779
|
+
});
|
|
780
|
+
this.resizeObserver.observe(this.headerContainer.nativeElement);
|
|
781
|
+
}
|
|
782
|
+
ngOnDestroy() {
|
|
783
|
+
this.resizeObserver.unobserve(this.headerContainer.nativeElement);
|
|
776
784
|
}
|
|
777
785
|
ngAfterContentInit() {
|
|
778
786
|
if (!this.tabInput) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carbon-components-angular-tabs.mjs","sources":["../../src/tabs/base-tab-header.component.ts","../../src/tabs/tab-header.directive.ts","../../src/tabs/tab-header-group.component.ts","../../src/tabs/tab.component.ts","../../src/tabs/tab-headers.component.ts","../../src/tabs/tab-skeleton.component.ts","../../src/tabs/tabs.component.ts","../../src/tabs/tabs.module.ts","../../src/tabs/carbon-components-angular-tabs.ts"],"sourcesContent":["import {\n\tComponent,\n\tInput,\n\tViewChild,\n\tElementRef,\n\tTemplateRef,\n\tChangeDetectorRef,\n\tHostBinding,\n\tRenderer2\n} from \"@angular/core\";\nimport { EventService } from \"carbon-components-angular/utils\";\n\n/**\n * There are two ways to create a tab, this class is a collection of features\n * & metadata required by both.\n */\n@Component({\n\ttemplate: \"\"\n})\nexport class BaseTabHeader {\n\t/**\n\t * Set to 'true' to have `Tab` items cached and not reloaded on tab switching.\n\t * Duplicate from `n-tabs` to support standalone headers\n\t */\n\t@Input() cacheActive = false;\n\t/**\n\t * Set to 'true' to have tabs automatically activated and have their content displayed when they receive focus.\n\t */\n\t@Input() followFocus: boolean;\n\t/**\n\t * Sets the aria label on the nav element.\n\t */\n\t@Input() ariaLabel: string;\n\t/**\n\t * Sets the aria labelledby on the nav element.\n\t */\n\t@Input() ariaLabelledby: string;\n\n\t@Input() contentBefore: TemplateRef<any>;\n\t@Input() contentAfter: TemplateRef<any>;\n\n\t@Input() type: \"line\" | \"contained\" = \"line\";\n\t@Input() theme: \"dark\" | \"light\" = \"dark\";\n\n\t@HostBinding(\"class.cds--tabs\") tabsClass = true;\n\t@HostBinding(\"class.cds--tabs--contained\") get containedClass() {\n\t\treturn this.type === \"contained\";\n\t}\n\t@HostBinding(\"class.cds--tabs--light\") get themeClass() {\n\t\treturn this.theme === \"light\";\n\t}\n\n\t/**\n\t * Gets the Unordered List element that holds the `Tab` headings from the view DOM.\n\t */\n\t@ViewChild(\"tabList\", { static: true }) headerContainer;\n\n\t/**\n\t * Controls the manual focusing done by tabbing through headings.\n\t */\n\tcurrentSelectedTab: number;\n\t// width of the overflow buttons\n\treadonly OVERFLOW_BUTTON_OFFSET = 44;\n\treadonly longPressMultiplier = 3;\n\treadonly clickMultiplier = 1.5;\n\n\tprotected longPressInterval = null;\n\tprotected tickInterval = null;\n\n\tget hasHorizontalOverflow() {\n\t\tconst tabList = this.headerContainer.nativeElement;\n\t\treturn tabList.scrollWidth > tabList.clientWidth;\n\t}\n\n\tget leftOverflowNavButtonHidden() {\n\t\tconst tabList = this.headerContainer.nativeElement;\n\t\treturn !this.hasHorizontalOverflow || !tabList.scrollLeft;\n\t}\n\n\tget rightOverflowNavButtonHidden() {\n\t\tconst tabList = this.headerContainer.nativeElement;\n\t\treturn !this.hasHorizontalOverflow ||\n\t\t\t(tabList.scrollLeft + tabList.clientWidth) === tabList.scrollWidth;\n\t}\n\n\tconstructor(\n\t\tprotected elementRef: ElementRef,\n\t\tprotected changeDetectorRef: ChangeDetectorRef,\n\t\tprotected eventService: EventService,\n\t\tprotected renderer: Renderer2\n\t) { }\n\n\thandleScroll() {\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\thandleOverflowNavClick(direction: number, numOftabs = 0) {\n\t\tconst tabList = this.headerContainer.nativeElement;\n\n\t\tconst { clientWidth, scrollLeft, scrollWidth } = tabList;\n\t\tif (direction > 0) {\n\t\t\ttabList.scrollLeft = Math.min(scrollLeft + (scrollWidth / numOftabs) * this.clickMultiplier,\n\t\t\t\tscrollWidth - clientWidth);\n\t\t} else if (direction < 0) {\n\t\t\ttabList.scrollLeft = Math.max(scrollLeft - (scrollWidth / numOftabs) * this.clickMultiplier, 0);\n\t\t}\n\t}\n\n\thandleOverflowNavMouseDown(direction: number) {\n\t\tconst tabList = this.headerContainer.nativeElement;\n\n\t\tthis.longPressInterval = setTimeout(() => {\n\t\t\t// Manually overriding scroll behvior to `auto` to make animation work correctly\n\t\t\tthis.renderer.setStyle(tabList, \"scroll-behavior\", \"auto\");\n\n\t\t\tthis.tickInterval = setInterval(() => {\n\t\t\t\ttabList.scrollLeft += (direction * this.longPressMultiplier);\n\t\t\t\t// clear interval if scroll reaches left or right edge\n\t\t\t\tif (this.leftOverflowNavButtonHidden || this.rightOverflowNavButtonHidden) {\n\t\t\t\t\treturn () => {\n\t\t\t\t\t\tclearInterval(this.tickInterval);\n\t\t\t\t\t\tthis.handleOverflowNavMouseUp();\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn () => clearInterval(this.longPressInterval);\n\t\t}, 500);\n\t}\n\n\t/**\n\t * Clear intervals/Timeout & reset scroll behavior\n\t */\n\thandleOverflowNavMouseUp() {\n\t\tclearInterval(this.tickInterval);\n\t\tclearTimeout(this.longPressInterval);\n\n\t\t// Reset scroll behavior\n\t\tthis.renderer.setStyle(this.headerContainer.nativeElement, \"scroll-behavior\", \"smooth\");\n\t}\n}\n","import {\n\tDirective,\n\tInput,\n\tElementRef,\n\tEventEmitter,\n\tOutput,\n\tAfterViewInit,\n\tHostBinding,\n\tHostListener\n} from \"@angular/core\";\n\nimport { Tab } from \"./tab.component\";\n\n@Directive({\n\tselector: \"[cdsTabHeader], [ibmTabHeader]\"\n})\nexport class TabHeader implements AfterViewInit {\n\t@HostBinding(\"attr.tabIndex\") get tabIndex() {\n\t\treturn this.active ? 0 : -1;\n\t}\n\n\t@HostBinding(\"class.cds--tabs__nav-item--selected\") get isSelected() {\n\t\treturn this.active;\n\t}\n\n\t@HostBinding(\"class.cds--tabs__nav-item--disabled\") get isDisabled() {\n\t\treturn this.disabled;\n\t}\n\t/**\n\t * Set to 'true' to have pane reference cached and not reloaded on tab switching.\n\t */\n\t@Input() set cacheActive(shouldCache: boolean) {\n\t\tthis._cacheActive = shouldCache;\n\n\t\t// Updates the pane references associated with the tab header when cache active is changed.\n\t\tif (this.paneReference) {\n\t\t\tthis.paneReference.cacheActive = this.cacheActive;\n\t\t}\n\t}\n\n\t@Input() set paneTabIndex(tabIndex: number | null) {\n\t\tif (this.paneReference) {\n\t\t\tthis.paneReference.tabIndex = tabIndex;\n\t\t}\n\t}\n\n\tget cacheActive() {\n\t\treturn this._cacheActive;\n\t}\n\t/**\n\t * Indicates whether the `Tab` is active/selected.\n\t * Determines whether it's `TabPanel` is rendered.\n\t */\n\t@Input() active = false;\n\t/**\n\t * Indicates whether or not the `Tab` item is disabled.\n\t */\n\t@Input() disabled = false;\n\n\t@HostBinding(\"attr.type\") type = \"button\";\n\t@HostBinding(\"attr.aria-selected\") ariaSelected = this.active;\n\t@HostBinding(\"attr.aria-disabled\") ariaDisabled = this.disabled;\n\t@HostBinding(\"class.cds--tabs__nav-item\") navItem = true;\n\t@HostBinding(\"class.cds--tabs__nav-link\") navLink = true;\n\n\t/**\n\t * Reference to the corresponsing tab pane.\n\t */\n\t@Input() paneReference: Tab;\n\t@HostBinding(\"attr.title\") @Input() title;\n\n\t/**\n\t * Value 'selected' to be emitted after a new `Tab` is selected.\n\t */\n\n\t@Output() selected = new EventEmitter<any>();\n\n\tprotected _cacheActive = false;\n\n\tconstructor(private host: ElementRef) {}\n\n\t@HostListener(\"click\")\n\tonClick() {\n\t\tthis.selectTab();\n\t}\n\n\tngAfterViewInit() {\n\t\tsetTimeout(() => {\n\t\t\tthis.title = this.title ? this.title : this.host.nativeElement.textContent;\n\t\t});\n\t}\n\n\tselectTab() {\n\t\tthis.focus();\n\t\tif (!this.disabled) {\n\t\t\tthis.selected.emit();\n\t\t\tthis.active = true;\n\t\t\tif (this.paneReference) {\n\t\t\t\tthis.paneReference.active = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tfocus() {\n\t\tthis.host.nativeElement.focus();\n\t}\n}\n","import {\n\tComponent,\n\tQueryList,\n\tInput,\n\tHostListener,\n\tContentChildren,\n\tAfterContentInit,\n\tElementRef,\n\tOnChanges,\n\tSimpleChanges,\n\tChangeDetectorRef,\n\tViewChild,\n\tOnInit,\n\tRenderer2\n} from \"@angular/core\";\n\nimport { Subscription } from \"rxjs\";\nimport { EventService } from \"carbon-components-angular/utils\";\n\nimport { TabHeader } from \"./tab-header.directive\";\nimport { BaseTabHeader } from \"./base-tab-header.component\";\n\n@Component({\n\tselector: \"cds-tab-header-group, ibm-tab-header-group\",\n\ttemplate: `\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"cds--tab--overflow-nav-button cds--tab--overflow-nav-button--previous\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tab--overflow-nav-button--hidden': leftOverflowNavButtonHidden\n\t\t\t}\"\n\t\t\t(click)=\"handleOverflowNavClick(-1, tabHeaderQuery.length)\"\n\t\t\t(pointerdown)=\"handleOverflowNavMouseDown(-1)\"\n\t\t\t(pointerup)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerleave)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerout)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointercancel)=\"handleOverflowNavMouseUp()\">\n\t\t\t<svg\n\t\t\t\tfocusable=\"false\"\n\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t\twidth=\"16\"\n\t\t\t\theight=\"16\"\n\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\taria-hidden=\"true\">\n\t\t\t\t<path d=\"M5 8L10 3 10.7 3.7 6.4 8 10.7 12.3 10 13z\"></path>\n\t\t\t</svg>\n\t\t</button>\n\t\t<div\n\t\t\tclass=\"cds--tab--list\"\n\t\t\trole=\"tablist\"\n\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t(scroll)=\"handleScroll()\"\n\t\t\t#tabList>\n\t\t\t<ng-container [ngTemplateOutlet]=\"contentBefore\"></ng-container>\n\t\t\t<ng-content></ng-content>\n\t\t\t<ng-container [ngTemplateOutlet]=\"contentAfter\"></ng-container>\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"cds--tab--overflow-nav-button cds--tab--overflow-nav-button--next\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tab--overflow-nav-button--hidden': rightOverflowNavButtonHidden\n\t\t\t}\"\n\t\t\t(click)=\"handleOverflowNavClick(1, tabHeaderQuery.length)\"\n\t\t\t(pointerdown)=\"handleOverflowNavMouseDown(1)\"\n\t\t\t(pointerup)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerleave)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerout)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointercancel)=\"handleOverflowNavMouseUp()\">\n\t\t\t<svg\n\t\t\t\tfocusable=\"false\"\n\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t\twidth=\"16\"\n\t\t\t\theight=\"16\"\n\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\taria-hidden=\"true\">\n\t\t\t\t<path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n\t\t\t</svg>\n\t\t</button>\n\t`\n})\nexport class TabHeaderGroup extends BaseTabHeader implements AfterContentInit, OnChanges, OnInit {\n\t@Input() isNavigation = false;\n\n\t/**\n\t * ContentChildren of all the tabHeaders.\n\t */\n\t@ContentChildren(TabHeader) tabHeaderQuery: QueryList<TabHeader>;\n\n\t@ViewChild(\"tabList\", { static: true }) headerContainer;\n\t/**\n\t * Keeps track of all the subscriptions to the tab header selection events.\n\t */\n\tselectedSubscriptionTracker = new Subscription();\n\n\t/**\n\t * Controls the manual focusing done by tabbing through headings.\n\t */\n\tcurrentSelectedTab = 0;\n\n\tconstructor(\n\t\tprotected elementRef: ElementRef,\n\t\tprotected changeDetectorRef: ChangeDetectorRef,\n\t\tprotected eventService: EventService,\n\t\tprotected renderer: Renderer2\n\t) {\n\t\tsuper(elementRef, changeDetectorRef, eventService, renderer);\n\t}\n\n\t// keyboard accessibility\n\t/**\n\t * Controls the keydown events used for tabbing through the headings.\n\t */\n\t@HostListener(\"keydown\", [\"$event\"])\n\tkeyboardInput(event) {\n\t\tlet tabHeadersArray = this.tabHeaderQuery.toArray();\n\n\t\tif (event.key === \"ArrowRight\") {\n\t\t\tif (this.currentSelectedTab < tabHeadersArray.length - 1) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus && !tabHeadersArray[this.currentSelectedTab + 1].disabled) {\n\t\t\t\t\ttabHeadersArray[this.currentSelectedTab + 1].selectTab();\n\t\t\t\t} else {\n\t\t\t\t\ttabHeadersArray[this.currentSelectedTab + 1].focus();\n\t\t\t\t\tthis.currentSelectedTab++;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus && !tabHeadersArray[0].disabled) {\n\t\t\t\t\ttabHeadersArray[0].selectTab();\n\t\t\t\t} else {\n\t\t\t\t\ttabHeadersArray[0].focus();\n\t\t\t\t\tthis.currentSelectedTab = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (event.key === \"ArrowLeft\") {\n\t\t\tif (this.currentSelectedTab > 0) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus && !tabHeadersArray[this.currentSelectedTab - 1].disabled) {\n\t\t\t\t\ttabHeadersArray[this.currentSelectedTab - 1].selectTab();\n\t\t\t\t} else {\n\t\t\t\t\ttabHeadersArray[this.currentSelectedTab - 1].focus();\n\t\t\t\t\tthis.currentSelectedTab--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus && !tabHeadersArray[tabHeadersArray.length - 1].disabled) {\n\t\t\t\t\ttabHeadersArray[tabHeadersArray.length - 1].selectTab();\n\t\t\t\t} else {\n\t\t\t\t\ttabHeadersArray[tabHeadersArray.length - 1].focus();\n\t\t\t\t\tthis.currentSelectedTab = tabHeadersArray.length - 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (event.key === \"Home\") {\n\t\t\tevent.preventDefault();\n\t\t\tif (this.followFocus && !tabHeadersArray[0].disabled) {\n\t\t\t\ttabHeadersArray[0].selectTab();\n\t\t\t} else {\n\t\t\t\ttabHeadersArray[0].focus();\n\t\t\t\tthis.currentSelectedTab = 0;\n\t\t\t}\n\t\t}\n\n\t\tif (event.key === \"End\") {\n\t\t\tevent.preventDefault();\n\t\t\tif (this.followFocus && !tabHeadersArray[tabHeadersArray.length - 1].disabled) {\n\t\t\t\ttabHeadersArray[tabHeadersArray.length - 1].selectTab();\n\t\t\t} else {\n\t\t\t\ttabHeadersArray[tabHeadersArray.length - 1].focus();\n\t\t\t\tthis.currentSelectedTab = tabHeadersArray.length - 1;\n\t\t\t}\n\t\t}\n\n\t\tif ((event.key === \" \") && !this.followFocus) {\n\t\t\ttabHeadersArray[this.currentSelectedTab].selectTab();\n\t\t}\n\t}\n\n\tngOnInit() {\n\t\tthis.eventService.on(window as any, \"resize\", () => this.handleScroll());\n\t}\n\n\tngAfterContentInit() {\n\t\tthis.selectedSubscriptionTracker.unsubscribe();\n\n\t\tif (this.tabHeaderQuery) {\n\t\t\tthis.tabHeaderQuery.toArray()\n\t\t\t\t.forEach(tabHeader => {\n\t\t\t\t\ttabHeader.cacheActive = this.cacheActive;\n\t\t\t\t\ttabHeader.paneTabIndex = this.isNavigation ? null : 0;\n\t\t\t\t});\n\t\t}\n\n\t\tconst selectedSubscriptions = this.tabHeaderQuery.toArray().forEach(tabHeader => {\n\t\t\ttabHeader.selected.subscribe(() => {\n\t\t\t\tthis.currentSelectedTab = this.tabHeaderQuery.toArray().indexOf(tabHeader);\n\t\t\t\t// The Filter takes the current selected tab out, then all other headers are\n\t\t\t\t// deactivated and their associated pane references are also deactivated.\n\t\t\t\tthis.tabHeaderQuery.toArray().filter(header => header !== tabHeader)\n\t\t\t\t\t.forEach(filteredHeader => {\n\t\t\t\t\t\tfilteredHeader.active = false;\n\t\t\t\t\t\tif (filteredHeader.paneReference) {\n\t\t\t\t\t\t\tfilteredHeader.paneReference.active = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t});\n\t\t});\n\t\tthis.selectedSubscriptionTracker.add(selectedSubscriptions);\n\n\t\tsetTimeout(() => this.tabHeaderQuery.toArray()[this.currentSelectedTab].selectTab());\n\t}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (this.tabHeaderQuery) {\n\t\t\tif (changes.cacheActive) {\n\t\t\t\tthis.tabHeaderQuery.toArray().forEach(tabHeader => tabHeader.cacheActive = this.cacheActive);\n\t\t\t}\n\n\t\t\tif (changes.isNavigation) {\n\t\t\t\tthis.tabHeaderQuery.toArray()\n\t\t\t\t\t.forEach(tabHeader => tabHeader.paneTabIndex = this.isNavigation ? null : 0);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetSelectedTab(): any {\n\t\tconst selected = this.tabHeaderQuery.toArray()[this.currentSelectedTab];\n\t\tif (selected) {\n\t\t\treturn selected;\n\t\t}\n\t\treturn {\n\t\t\theadingIsTemplate: false,\n\t\t\theading: \"\"\n\t\t};\n\t}\n}\n","import {\n\tComponent,\n\tOnInit,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tTemplateRef,\n\tHostBinding\n} from \"@angular/core\";\n\nlet nextId = 0;\n\n/**\n* The `Tab` component is a child of the `Tabs` component.\n* It represents one `Tab` item and its content within a panel of other `Tab` items.\n*\n*\n* `Tab` takes a string or `TemplateRef` for the header, and any content for the body of the tab.\n* Disabled states should be handled by the application (ie. switch to the tab, but display some\n* indication as to _why_ the tab is disabled).\n*\n* When the tab is selected the `select` output will be triggered.\n* The `select` output will also be triggered for the active tab when the tabs are loaded or updated.\n*\n*\n* Tab with string header:\n*\n* ```html\n* <cds-tab heading='tab1'>\n* \ttab 1 content\n* </cds-tab>\n* ```\n*\n* Tab with custom header:\n*\n* ```html\n* <ng-template #tabHeading>\n* \t<svg cdsIcon=\"facebook\"\n* \t\tsize=\"sm\"\n* \t\tstyle=\"margin-right: 7px;\">\n* \t</svg>\n* \tHello Tab 1\n* </ng-template>\n* <cds-tabs>\n* \t<cds-tab [heading]=\"tabHeading\">\n* \t\tTab 1 content <svg cdsIcon=\"alert\" size=\"lg\"></svg>\n* \t</cds-tab>\n* \t<cds-tab heading='Tab2'>\n* \t\tTab 2 content\n* \t</cds-tab>\n* \t<cds-tab heading='Tab3'>\n* \t\tTab 3 content\n* \t</cds-tab>\n* </cds-tabs>\n* ```\n*/\n@Component({\n\tselector: \"cds-tab, ibm-tab\",\n\ttemplate: `\n\t\t<div\n\t\t\t[attr.tabindex]=\"tabIndex\"\n\t\t\trole=\"tabpanel\"\n\t\t\t*ngIf=\"shouldRender()\"\n\t\t\tclass=\"cds--tab-content\"\n\t\t\t[ngStyle]=\"{'display': active ? null : 'none'}\"\n\t\t\t[attr.aria-labelledby]=\"id + '-header'\"\n\t\t\taria-live=\"polite\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t`\n})\nexport class Tab implements OnInit {\n\t/**\n\t * Boolean value reflects if the `Tab` is using a custom template for the heading.\n\t * Default value is false.\n\t */\n\tpublic headingIsTemplate = false;\n\n\t/**\n\t * The `Tab`'s title to be displayed or custom temaplate for the `Tab` heading.\n\t */\n\t@Input() heading: string | TemplateRef<any>;\n\t/**\n\t * Optional override for the `tabItem's`'s title attribute which is set in `TabHeaders`.\n\t * `tabItem`'s title attribute is automatically set to `heading`.\n\t *\n\t * You might want to use this if you set `heading` to a `TemplateRef`.\n\t */\n\t@Input() title: string;\n\t/**\n\t * Allows the user to pass data to the custom template for the `Tab` heading.\n\t */\n\t@Input() context: any;\n\t/**\n\t * Indicates whether the `Tab` is active/selected.\n\t * Determines whether it's `TabPanel` is rendered.\n\t */\n\t@Input() active = false;\n\t/**\n\t * Indicates whether or not the `Tab` item is disabled.\n\t */\n\t@Input() disabled = false;\n\n\t@Input() tabIndex = 0;\n\t// do we need id's?\n\t/**\n\t * Sets the id of the `Tab`. Will be uniquely generated if not provided.\n\t */\n\t@Input() id = `n-tab-${nextId++}`;\n\t/**\n\t * Set to true to have Tab items cached and not reloaded on tab switching.\n\t */\n\t@Input() set cacheActive(shouldCache: boolean) {\n\t\tthis._cacheActive = shouldCache;\n\t}\n\t/**\n\t * Value 'selected' to be emitted after a new `Tab` is selected.\n\t */\n\t@Output() selected: EventEmitter<void> = new EventEmitter<void>();\n\n\t/**\n\t * Used to set the id property on the element.\n\t */\n\t@HostBinding(\"attr.id\") attrClass = this.id;\n\n\tget cacheActive() {\n\t\treturn this._cacheActive;\n\t}\n\n\tprotected _cacheActive = false;\n\n\t/**\n\t * Checks for custom heading template on initialization and updates the value\n\t * of the boolean 'headingIsTemplate'.\n\t */\n\tngOnInit() {\n\t\tif (this.heading instanceof TemplateRef) {\n\t\t\tthis.headingIsTemplate = true;\n\t\t}\n\t}\n\n\t/**\n\t * Emit the status of the `Tab`, specifically 'select' and 'selected' properties.\n\t */\n\tdoSelect() {\n\t\tthis.selected.emit();\n\t}\n\n\t/**\n\t* Returns value indicating whether this `Tab` should be rendered in a `TabPanel`.\n\t*/\n\tshouldRender() {\n\t\treturn this.active || this.cacheActive;\n\t}\n}\n","import {\n\tComponent,\n\tQueryList,\n\tInput,\n\tHostListener,\n\tViewChild,\n\tContentChildren,\n\tAfterContentInit,\n\tViewChildren,\n\tElementRef,\n\tOnChanges,\n\tSimpleChanges,\n\tOnInit,\n\tChangeDetectorRef,\n\tRenderer2\n} from \"@angular/core\";\nimport { EventService } from \"carbon-components-angular/utils\";\nimport { I18n } from \"carbon-components-angular/i18n\";\n\nimport { BaseTabHeader } from \"./base-tab-header.component\";\nimport { Tab } from \"./tab.component\";\n\n/**\n * The `TabHeaders` component contains the `Tab` items and controls scroll functionality\n * if content has overflow.\n */\n@Component({\n\tselector: \"cds-tab-headers, ibm-tab-headers\",\n\ttemplate: `\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\t(click)=\"handleOverflowNavClick(-1, tabs.length)\"\n\t\t\t(pointerdown)=\"handleOverflowNavMouseDown(-1)\"\n\t\t\t(pointerup)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerleave)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerout)=\"handleOverflowNavMouseUp()\"\n\t\t\tclass=\"cds--tab--overflow-nav-button cds--tab--overflow-nav-button--previous\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tab--overflow-nav-button--hidden': leftOverflowNavButtonHidden\n\t\t\t}\"\n\t\t\t[title]=\"translations.BUTTON_ARIA_RIGHT\">\n\t\t\t<svg\n\t\t\t\tfocusable=\"false\"\n\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t\twidth=\"16\"\n\t\t\t\theight=\"16\"\n\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\taria-hidden=\"true\">\n\t\t\t\t<path d=\"M5 8L10 3 10.7 3.7 6.4 8 10.7 12.3 10 13z\"></path>\n\t\t\t</svg>\n\t\t</button>\n\t\t<div\n\t\t\t#tabList\n\t\t\tclass=\"cds--tab--list\"\n\t\t\trole=\"tablist\"\n\t\t\t[attr.aria-label]=\"ariaLabel || translations.HEADER_ARIA_LABEL\"\n\t\t\t(scroll)=\"handleScroll()\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"contentBefore\"></ng-container>\n\t\t\t<button\n\t\t\t\t*ngFor=\"let tab of tabs; let i = index;\"\n\t\t\t\t#tabItem\n\t\t\t\trole=\"tab\"\n\t\t\t\t[attr.aria-selected]=\"tab.active\"\n\t\t\t\t[attr.tabindex]=\"(tab.active?0:-1)\"\n\t\t\t\t[attr.aria-controls]=\"tab.id\"\n\t\t\t\t[attr.aria-disabled]=\"tab.disabled\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--tabs__nav-item--selected': tab.active,\n\t\t\t\t\t'cds--tabs__nav-item--disabled': tab.disabled\n\t\t\t\t}\"\n\t\t\t\tclass=\"cds--tabs__nav-item cds--tabs__nav-link\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tdraggable=\"false\"\n\t\t\t\tid=\"{{tab.id}}-header\"\n\t\t\t\t(focus)=\"onTabFocus(tabItem, i)\"\n\t\t\t\t(click)=\"selectTab(tabItem, tab, i)\">\n\t\t\t\t<ng-container *ngIf=\"!tab.headingIsTemplate\">\n\t\t\t\t\t{{ tab.heading }}\n\t\t\t\t</ng-container>\n\t\t\t\t<ng-template\n\t\t\t\t\t*ngIf=\"tab.headingIsTemplate\"\n\t\t\t\t\t[ngTemplateOutlet]=\"tab.heading\"\n\t\t\t\t\t[ngTemplateOutletContext]=\"{$implicit: tab.context}\">\n\t\t\t\t</ng-template>\n\t\t\t</button>\n\t\t\t<ng-container [ngTemplateOutlet]=\"contentAfter\"></ng-container>\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\t(click)=\"handleOverflowNavClick(1, tabs.length)\"\n\t\t\t(pointerdown)=\"handleOverflowNavMouseDown(1)\"\n\t\t\t(pointerup)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerleave)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerout)=\"handleOverflowNavMouseUp()\"\n\t\t\tclass=\"cds--tab--overflow-nav-button cds--tab--overflow-nav-button--next\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tab--overflow-nav-button--hidden': rightOverflowNavButtonHidden\n\t\t\t}\"\n\t\t\t[title]=\"translations.BUTTON_ARIA_RIGHT\">\n\t\t\t<svg\n\t\t\t\tfocusable=\"false\"\n\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t\twidth=\"16\"\n\t\t\t\theight=\"16\"\n\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\taria-hidden=\"true\">\n\t\t\t\t<path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n\t\t\t</svg>\n\t\t</button>\n\t`\n})\n\nexport class TabHeaders extends BaseTabHeader implements AfterContentInit, OnChanges, OnInit {\n\t/**\n\t * List of `Tab` components.\n\t */\n\t// disable the next line because we need to rename the input\n\t// tslint:disable-next-line\n\t@Input(\"tabs\") tabInput: QueryList<Tab>;\n\n\t@Input() translations = this.i18n.get().TABS;\n\n\t/**\n\t * Gets the Unordered List element that holds the `Tab` headings from the view DOM.\n\t */\n\t@ViewChild(\"tabList\", { static: true }) headerContainer;\n\t/**\n\t * ContentChild of all the n-tabs\n\t */\n\t@ContentChildren(Tab) tabQuery: QueryList<Tab>;\n\t/**\n\t * set to tabQuery if tabInput is empty\n\t */\n\ttabs: QueryList<Tab>;\n\t/**\n\t * The index of the first visible tab.\n\t */\n\tfirstVisibleTab = 0;\n\t/**\n\t * The DOM element containing the `Tab` headings displayed.\n\t */\n\t@ViewChildren(\"tabItem\") allTabHeaders: QueryList<ElementRef>;\n\n\tconstructor(\n\t\tprotected elementRef: ElementRef,\n\t\tprotected changeDetectorRef: ChangeDetectorRef,\n\t\tprotected eventService: EventService,\n\t\tprotected renderer: Renderer2,\n\t\tprotected i18n: I18n\n\t) {\n\t\tsuper(elementRef, changeDetectorRef, eventService, renderer);\n\t}\n\n\t// keyboard accessibility\n\t/**\n\t * Controls the keydown events used for tabbing through the headings.\n\t */\n\t@HostListener(\"keydown\", [\"$event\"])\n\tkeyboardInput(event) {\n\t\tlet tabsArray = this.tabs.toArray();\n\n\t\tif (event.key === \"ArrowRight\") {\n\t\t\tif (this.currentSelectedTab < this.allTabHeaders.length - 1) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus) {\n\t\t\t\t\tthis.selectTab(event.target, tabsArray[this.currentSelectedTab + 1], this.currentSelectedTab);\n\t\t\t\t}\n\t\t\t\tthis.allTabHeaders.toArray()[this.currentSelectedTab + 1].nativeElement.focus();\n\t\t\t} else {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus) {\n\t\t\t\t\tthis.selectTab(event.target, tabsArray[0], 0);\n\t\t\t\t}\n\t\t\t\tthis.allTabHeaders.first.nativeElement.focus();\n\t\t\t}\n\t\t}\n\n\t\tif (event.key === \"ArrowLeft\") {\n\t\t\tif (this.currentSelectedTab > 0) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus) {\n\t\t\t\t\tthis.selectTab(event.target, tabsArray[this.currentSelectedTab - 1], this.currentSelectedTab);\n\t\t\t\t}\n\t\t\t\tthis.allTabHeaders.toArray()[this.currentSelectedTab - 1].nativeElement.focus();\n\t\t\t} else {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus) {\n\t\t\t\t\tthis.selectTab(event.target, tabsArray[this.allTabHeaders.length - 1], this.allTabHeaders.length);\n\t\t\t\t}\n\t\t\t\tthis.allTabHeaders.toArray()[this.allTabHeaders.length - 1].nativeElement.focus();\n\t\t\t}\n\t\t}\n\n\t\tif (event.key === \"Home\") {\n\t\t\tevent.preventDefault();\n\t\t\tif (this.followFocus) {\n\t\t\t\tthis.selectTab(event.target, tabsArray[0], 0);\n\t\t\t}\n\t\t\tthis.allTabHeaders.toArray()[0].nativeElement.focus();\n\t\t}\n\n\t\tif (event.key === \"End\") {\n\t\t\tevent.preventDefault();\n\t\t\tif (this.followFocus) {\n\t\t\t\tthis.selectTab(event.target, tabsArray[this.allTabHeaders.length - 1], this.allTabHeaders.length);\n\t\t\t}\n\t\t\tthis.allTabHeaders.toArray()[this.allTabHeaders.length - 1].nativeElement.focus();\n\t\t}\n\n\t\tif ((event.key === \" \" || event.key === \"Spacebar\") && !this.followFocus) {\n\t\t\tthis.selectTab(event.target, tabsArray[this.currentSelectedTab], this.currentSelectedTab);\n\t\t}\n\t}\n\n\tngOnInit() {\n\t\tthis.eventService.on(window as any, \"resize\", () => this.handleScroll());\n\t}\n\n\tngAfterContentInit() {\n\t\tif (!this.tabInput) {\n\t\t\tthis.tabs = this.tabQuery;\n\t\t} else {\n\t\t\tthis.tabs = this.tabInput;\n\t\t}\n\n\t\tthis.tabs.forEach(tab => tab.cacheActive = this.cacheActive);\n\t\tthis.tabs.changes.subscribe(() => {\n\t\t\tthis.setFirstTab();\n\t\t});\n\t\tthis.setFirstTab();\n\t}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (this.tabs && changes.cacheActive) {\n\t\t\tthis.tabs.forEach(tab => tab.cacheActive = this.cacheActive);\n\t\t}\n\t}\n\n\t/**\n\t * Controls manually focusing tabs.\n\t */\n\tonTabFocus(ref: HTMLElement, index: number) {\n\t\tthis.currentSelectedTab = index;\n\t\t// reset scroll left because we're already handling it\n\t\tthis.headerContainer.nativeElement.parentElement.scrollLeft = 0;\n\t}\n\n\tgetSelectedTab(): any {\n\t\tconst selected = this.tabs.find(tab => tab.active);\n\t\tif (selected) {\n\t\t\treturn selected;\n\t\t}\n\t\treturn { headingIsTemplate: false, heading: \"\" };\n\t}\n\n\t/**\n\t * Selects `Tab` 'tab' and moves it into view on the view DOM if it is not already.\n\t */\n\tselectTab(ref: HTMLElement, tab: Tab, tabIndex: number) {\n\t\tif (tab.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.currentSelectedTab = tabIndex;\n\t\tthis.tabs.forEach(_tab => _tab.active = false);\n\t\ttab.active = true;\n\t\ttab.doSelect();\n\t}\n\n\t/**\n\t * Determines which `Tab` is initially selected.\n\t */\n\tprotected setFirstTab() {\n\t\tsetTimeout(() => {\n\t\t\tlet firstTab = this.tabs.find(tab => tab.active);\n\t\t\tif (!firstTab && this.tabs.first) {\n\t\t\t\tfirstTab = this.tabs.first;\n\t\t\t\tfirstTab.active = true;\n\t\t\t}\n\t\t\tif (firstTab) {\n\t\t\t\tfirstTab.doSelect();\n\t\t\t}\n\t\t});\n\t}\n}\n","import {\n\tComponent,\n\tHostBinding,\n\tInput\n} from \"@angular/core\";\n\n/**\n * Skeleton component for tabs\n */\n@Component({\n\tselector: \"cds-tabs-skeleton, ibm-tabs-skeleton\",\n\ttemplate: `\n\t\t<ul class=\"cds--tabs__nav\">\n\t\t\t<li\n\t\t\t\t*ngFor=\"let i of numOfSkeletonTabs\"\n\t\t\t\tclass=\"cds--tabs__nav-item\">\n\t\t\t\t<div class=\"cds--tabs__nav-link\">\n\t\t\t\t\t<span></span>\n\t\t\t\t</div>\n\t\t\t</li>\n\t\t</ul>\n\t`\n})\nexport class TabSkeleton {\n\t/**\n\t * Set number of skeleton tabs to render, default is 5\n\t */\n\t@Input() set numOftabs(num: number) {\n\t\tthis.numOfSkeletonTabs = new Array(num);\n\t}\n\n\t/**\n\t * Set to `true` to put tabs in a loading state.\n\t */\n\t@HostBinding(\"class.cds--skeleton\") skeleton = true;\n\t@HostBinding(\"class.cds--tabs\") tabs = true;\n\tnumOfSkeletonTabs = new Array(5);\n}\n","import {\n\tComponent,\n\tInput,\n\tContentChildren,\n\tQueryList,\n\tAfterContentInit,\n\tContentChild,\n\tOnChanges,\n\tSimpleChanges\n} from \"@angular/core\";\nimport { Tab } from \"./tab.component\";\nimport { TabHeaders } from \"./tab-headers.component\";\n\n/**\n * Build out your application's tabs using this component.\n * This is the parent of the `Tab` and `TabHeader` components.\n *\n * [See demo](../../?path=/story/components-tabs--basic)\n *\n * `Tabs` expects a set of `n-tab` elements\n *\n * ```html\n * <cds-tabs>\n * \t<cds-tab heading='tab1'>\n * \t\ttab 1 content\n * \t</cds-tab>\n * \t<cds-tab heading='tab1'>\n * \t\ttab 2 content\n * \t</cds-tab>\n * \t<!-- ... -->\n * \t<cds-tab heading='tab1'>\n * \t\ttab n content\n * \t</cds-tab>\n * </cds-tabs>\n * ```\n */\n@Component({\n\tselector: \"cds-tabs, ibm-tabs\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"skeleton\">\n\t\t\t<cds-tabs-skeleton></cds-tabs-skeleton>\n\t\t</ng-container>\n\t\t<ng-container *ngIf=\"!skeleton\">\n\t\t\t<cds-tab-headers\n\t\t\t\t*ngIf=\"hasTabHeaders() && position === 'top'\"\n\t\t\t\t[theme]=\"theme\"\n\t\t\t\t[tabs]=\"tabs\"\n\t\t\t\t[followFocus]=\"followFocus\"\n\t\t\t\t[cacheActive]=\"cacheActive\"\n\t\t\t\t[contentBefore]=\"before\"\n\t\t\t\t[contentAfter]=\"after\"\n\t\t\t\t[ariaLabel]=\"ariaLabel\"\n\t\t\t\t[ariaLabelledby]=\"ariaLabelledby\"\n\t\t\t\t[type]=\"type\">\n\t\t\t</cds-tab-headers>\n\t\t\t<ng-content></ng-content>\n\t\t\t<ng-template #before>\n\t\t\t\t<ng-content select=\"[before]\"></ng-content>\n\t\t\t</ng-template>\n\t\t\t<ng-template #after>\n\t\t\t\t<ng-content select=\"[after]\"></ng-content>\n\t\t\t</ng-template>\n\t\t\t<cds-tab-headers\n\t\t\t\t*ngIf=\"hasTabHeaders() && position === 'bottom'\"\n\t\t\t\t[tabs]=\"tabs\"\n\t\t\t\t[cacheActive]=\"cacheActive\"\n\t\t\t\t[type]=\"type\">\n\t\t\t</cds-tab-headers>\n\t\t</ng-container>\n\t`\n})\nexport class Tabs implements AfterContentInit, OnChanges {\n\t/**\n\t * Takes either the string value 'top' or 'bottom' to place TabHeader\n\t * relative to the `TabPanel`s.\n\t */\n\t@Input() position: \"top\" | \"bottom\" = \"top\";\n\t/**\n\t * Set to 'true' to have `Tab` items cached and not reloaded on tab switching.\n\t */\n\t@Input() cacheActive = false;\n\t/**\n\t * Set to 'true' to have tabs automatically activated and have their content displayed when they receive focus.\n\t */\n\t@Input() followFocus = true;\n\t/**\n\t * Set to `true` to have the tabIndex of the all tabpanels be -1.\n\t */\n\t@Input() isNavigation = false;\n\t/**\n\t * Sets the aria label on the `TabHeader`s nav element.\n\t */\n\t@Input() ariaLabel: string;\n\t/**\n\t * Sets the aria labelledby on the `TabHeader`s nav element.\n\t */\n\t@Input() ariaLabelledby: string;\n\t/**\n\t * Sets the type of the `TabHeader`s\n\t */\n\t@Input() type: \"line\" | \"contained\" = \"line\";\n\t/**\n\t * Sets the theme of `TabHeader`s\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\t/**\n\t * Set state of tabs to skeleton\n\t */\n\t@Input() skeleton = false;\n\n\t/**\n\t * Maintains a `QueryList` of the `Tab` elements and updates if `Tab`s are added or removed.\n\t */\n\t@ContentChildren(Tab, { descendants: false }) tabs: QueryList<Tab>;\n\t/**\n\t * Content child of the projected header component\n\t */\n\t@ContentChild(TabHeaders) tabHeaders;\n\n\t/**\n\t * After content is initialized update `Tab`s to cache (if turned on) and set the initial\n\t * selected Tab item.\n\t */\n\tngAfterContentInit() {\n\t\tif (this.tabHeaders) {\n\t\t\tthis.tabHeaders.cacheActive = this.cacheActive;\n\t\t}\n\n\t\tthis.tabs.forEach(tab => {\n\t\t\ttab.tabIndex = this.isNavigation ? null : 0;\n\t\t});\n\t}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (this.tabHeaders && changes.cacheActive) {\n\t\t\tthis.tabHeaders.cacheActive = this.cacheActive;\n\t\t}\n\n\t\tif (this.tabs && changes.isNavigation) {\n\t\t\tthis.tabs.forEach(tab => {\n\t\t\t\ttab.tabIndex = this.isNavigation ? null : 0;\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * true if the n-tab's are passed directly to the component as children\n\t */\n\thasTabHeaders() {\n\t\treturn this.tabs.length > 0;\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { UtilsModule } from \"carbon-components-angular/utils\";\nimport { I18nModule } from \"carbon-components-angular/i18n\";\n\nimport { TabSkeleton } from \"./tab-skeleton.component\";\nimport { BaseTabHeader } from \"./base-tab-header.component\";\nimport { Tabs } from \"./tabs.component\";\nimport { Tab } from \"./tab.component\";\nimport { TabHeader } from \"./tab-header.directive\";\nimport { TabHeaders } from \"./tab-headers.component\";\nimport { TabHeaderGroup } from \"./tab-header-group.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tBaseTabHeader,\n\t\tTabs,\n\t\tTab,\n\t\tTabHeader,\n\t\tTabHeaders,\n\t\tTabHeaderGroup,\n\t\tTabSkeleton\n\t],\n\texports: [\n\t\tTabs,\n\t\tTab,\n\t\tTabHeader,\n\t\tTabHeaders,\n\t\tTabHeaderGroup,\n\t\tTabSkeleton\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tUtilsModule,\n\t\tI18nModule\n\t]\n})\nexport class TabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","i2.TabHeaders","i3.TabSkeleton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carbon-components-angular-tabs.mjs","sources":["../../src/tabs/base-tab-header.component.ts","../../src/tabs/tab-header.directive.ts","../../src/tabs/tab-header-group.component.ts","../../src/tabs/tab.component.ts","../../src/tabs/tab-headers.component.ts","../../src/tabs/tab-skeleton.component.ts","../../src/tabs/tabs.component.ts","../../src/tabs/tabs.module.ts","../../src/tabs/carbon-components-angular-tabs.ts"],"sourcesContent":["import {\n\tComponent,\n\tInput,\n\tViewChild,\n\tElementRef,\n\tTemplateRef,\n\tChangeDetectorRef,\n\tHostBinding,\n\tRenderer2\n} from \"@angular/core\";\nimport { EventService } from \"carbon-components-angular/utils\";\n\n/**\n * There are two ways to create a tab, this class is a collection of features\n * & metadata required by both.\n */\n@Component({\n\ttemplate: \"\"\n})\nexport class BaseTabHeader {\n\t/**\n\t * Set to 'true' to have `Tab` items cached and not reloaded on tab switching.\n\t * Duplicate from `n-tabs` to support standalone headers\n\t */\n\t@Input() cacheActive = false;\n\t/**\n\t * Set to 'true' to have tabs automatically activated and have their content displayed when they receive focus.\n\t */\n\t@Input() followFocus: boolean;\n\t/**\n\t * Sets the aria label on the nav element.\n\t */\n\t@Input() ariaLabel: string;\n\t/**\n\t * Sets the aria labelledby on the nav element.\n\t */\n\t@Input() ariaLabelledby: string;\n\n\t@Input() contentBefore: TemplateRef<any>;\n\t@Input() contentAfter: TemplateRef<any>;\n\n\t@Input() type: \"line\" | \"contained\" = \"line\";\n\t@Input() theme: \"dark\" | \"light\" = \"dark\";\n\n\t@HostBinding(\"class.cds--tabs\") tabsClass = true;\n\t@HostBinding(\"class.cds--tabs--contained\") get containedClass() {\n\t\treturn this.type === \"contained\";\n\t}\n\t@HostBinding(\"class.cds--tabs--light\") get themeClass() {\n\t\treturn this.theme === \"light\";\n\t}\n\n\t/**\n\t * Gets the Unordered List element that holds the `Tab` headings from the view DOM.\n\t */\n\t@ViewChild(\"tabList\", { static: true }) headerContainer;\n\n\t/**\n\t * Controls the manual focusing done by tabbing through headings.\n\t */\n\tcurrentSelectedTab: number;\n\t// width of the overflow buttons\n\treadonly OVERFLOW_BUTTON_OFFSET = 44;\n\treadonly longPressMultiplier = 3;\n\treadonly clickMultiplier = 1.5;\n\n\tprotected longPressInterval = null;\n\tprotected tickInterval = null;\n\n\tget hasHorizontalOverflow() {\n\t\tconst tabList = this.headerContainer.nativeElement;\n\t\treturn tabList.scrollWidth > tabList.clientWidth;\n\t}\n\n\tget leftOverflowNavButtonHidden() {\n\t\tconst tabList = this.headerContainer.nativeElement;\n\t\treturn !this.hasHorizontalOverflow || !tabList.scrollLeft;\n\t}\n\n\tget rightOverflowNavButtonHidden() {\n\t\tconst tabList = this.headerContainer.nativeElement;\n\t\treturn !this.hasHorizontalOverflow ||\n\t\t\t(tabList.scrollLeft + tabList.clientWidth) === tabList.scrollWidth;\n\t}\n\n\tconstructor(\n\t\tprotected elementRef: ElementRef,\n\t\tprotected changeDetectorRef: ChangeDetectorRef,\n\t\tprotected eventService: EventService,\n\t\tprotected renderer: Renderer2\n\t) { }\n\n\thandleScroll() {\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\thandleOverflowNavClick(direction: number, numOftabs = 0) {\n\t\tconst tabList = this.headerContainer.nativeElement;\n\n\t\tconst { clientWidth, scrollLeft, scrollWidth } = tabList;\n\t\tif (direction > 0) {\n\t\t\ttabList.scrollLeft = Math.min(scrollLeft + (scrollWidth / numOftabs) * this.clickMultiplier,\n\t\t\t\tscrollWidth - clientWidth);\n\t\t} else if (direction < 0) {\n\t\t\ttabList.scrollLeft = Math.max(scrollLeft - (scrollWidth / numOftabs) * this.clickMultiplier, 0);\n\t\t}\n\t}\n\n\thandleOverflowNavMouseDown(direction: number) {\n\t\tconst tabList = this.headerContainer.nativeElement;\n\n\t\tthis.longPressInterval = setTimeout(() => {\n\t\t\t// Manually overriding scroll behvior to `auto` to make animation work correctly\n\t\t\tthis.renderer.setStyle(tabList, \"scroll-behavior\", \"auto\");\n\n\t\t\tthis.tickInterval = setInterval(() => {\n\t\t\t\ttabList.scrollLeft += (direction * this.longPressMultiplier);\n\t\t\t\t// clear interval if scroll reaches left or right edge\n\t\t\t\tif (this.leftOverflowNavButtonHidden || this.rightOverflowNavButtonHidden) {\n\t\t\t\t\treturn () => {\n\t\t\t\t\t\tclearInterval(this.tickInterval);\n\t\t\t\t\t\tthis.handleOverflowNavMouseUp();\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn () => clearInterval(this.longPressInterval);\n\t\t}, 500);\n\t}\n\n\t/**\n\t * Clear intervals/Timeout & reset scroll behavior\n\t */\n\thandleOverflowNavMouseUp() {\n\t\tclearInterval(this.tickInterval);\n\t\tclearTimeout(this.longPressInterval);\n\n\t\t// Reset scroll behavior\n\t\tthis.renderer.setStyle(this.headerContainer.nativeElement, \"scroll-behavior\", \"smooth\");\n\t}\n}\n","import {\n\tDirective,\n\tInput,\n\tElementRef,\n\tEventEmitter,\n\tOutput,\n\tAfterViewInit,\n\tHostBinding,\n\tHostListener\n} from \"@angular/core\";\n\nimport { Tab } from \"./tab.component\";\n\n@Directive({\n\tselector: \"[cdsTabHeader], [ibmTabHeader]\"\n})\nexport class TabHeader implements AfterViewInit {\n\t@HostBinding(\"attr.tabIndex\") get tabIndex() {\n\t\treturn this.active ? 0 : -1;\n\t}\n\n\t@HostBinding(\"class.cds--tabs__nav-item--selected\") get isSelected() {\n\t\treturn this.active;\n\t}\n\n\t@HostBinding(\"class.cds--tabs__nav-item--disabled\") get isDisabled() {\n\t\treturn this.disabled;\n\t}\n\t/**\n\t * Set to 'true' to have pane reference cached and not reloaded on tab switching.\n\t */\n\t@Input() set cacheActive(shouldCache: boolean) {\n\t\tthis._cacheActive = shouldCache;\n\n\t\t// Updates the pane references associated with the tab header when cache active is changed.\n\t\tif (this.paneReference) {\n\t\t\tthis.paneReference.cacheActive = this.cacheActive;\n\t\t}\n\t}\n\n\t@Input() set paneTabIndex(tabIndex: number | null) {\n\t\tif (this.paneReference) {\n\t\t\tthis.paneReference.tabIndex = tabIndex;\n\t\t}\n\t}\n\n\tget cacheActive() {\n\t\treturn this._cacheActive;\n\t}\n\t/**\n\t * Indicates whether the `Tab` is active/selected.\n\t * Determines whether it's `TabPanel` is rendered.\n\t */\n\t@Input() active = false;\n\t/**\n\t * Indicates whether or not the `Tab` item is disabled.\n\t */\n\t@Input() disabled = false;\n\n\t@HostBinding(\"attr.type\") type = \"button\";\n\t@HostBinding(\"attr.aria-selected\") ariaSelected = this.active;\n\t@HostBinding(\"attr.aria-disabled\") ariaDisabled = this.disabled;\n\t@HostBinding(\"class.cds--tabs__nav-item\") navItem = true;\n\t@HostBinding(\"class.cds--tabs__nav-link\") navLink = true;\n\n\t/**\n\t * Reference to the corresponsing tab pane.\n\t */\n\t@Input() paneReference: Tab;\n\t@HostBinding(\"attr.title\") @Input() title;\n\n\t/**\n\t * Value 'selected' to be emitted after a new `Tab` is selected.\n\t */\n\n\t@Output() selected = new EventEmitter<any>();\n\n\tprotected _cacheActive = false;\n\n\tconstructor(private host: ElementRef) {}\n\n\t@HostListener(\"click\")\n\tonClick() {\n\t\tthis.selectTab();\n\t}\n\n\tngAfterViewInit() {\n\t\tsetTimeout(() => {\n\t\t\tthis.title = this.title ? this.title : this.host.nativeElement.textContent;\n\t\t});\n\t}\n\n\tselectTab() {\n\t\tthis.focus();\n\t\tif (!this.disabled) {\n\t\t\tthis.selected.emit();\n\t\t\tthis.active = true;\n\t\t\tif (this.paneReference) {\n\t\t\t\tthis.paneReference.active = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tfocus() {\n\t\tthis.host.nativeElement.focus();\n\t}\n}\n","import {\n\tComponent,\n\tQueryList,\n\tInput,\n\tHostListener,\n\tContentChildren,\n\tAfterContentInit,\n\tElementRef,\n\tOnChanges,\n\tSimpleChanges,\n\tChangeDetectorRef,\n\tViewChild,\n\tOnInit,\n\tRenderer2\n} from \"@angular/core\";\n\nimport { Subscription } from \"rxjs\";\nimport { EventService } from \"carbon-components-angular/utils\";\n\nimport { TabHeader } from \"./tab-header.directive\";\nimport { BaseTabHeader } from \"./base-tab-header.component\";\n\n@Component({\n\tselector: \"cds-tab-header-group, ibm-tab-header-group\",\n\ttemplate: `\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"cds--tab--overflow-nav-button cds--tab--overflow-nav-button--previous\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tab--overflow-nav-button--hidden': leftOverflowNavButtonHidden\n\t\t\t}\"\n\t\t\t(click)=\"handleOverflowNavClick(-1, tabHeaderQuery.length)\"\n\t\t\t(pointerdown)=\"handleOverflowNavMouseDown(-1)\"\n\t\t\t(pointerup)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerleave)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerout)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointercancel)=\"handleOverflowNavMouseUp()\">\n\t\t\t<svg\n\t\t\t\tfocusable=\"false\"\n\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t\twidth=\"16\"\n\t\t\t\theight=\"16\"\n\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\taria-hidden=\"true\">\n\t\t\t\t<path d=\"M5 8L10 3 10.7 3.7 6.4 8 10.7 12.3 10 13z\"></path>\n\t\t\t</svg>\n\t\t</button>\n\t\t<div\n\t\t\tclass=\"cds--tab--list\"\n\t\t\trole=\"tablist\"\n\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t(scroll)=\"handleScroll()\"\n\t\t\t#tabList>\n\t\t\t<ng-container [ngTemplateOutlet]=\"contentBefore\"></ng-container>\n\t\t\t<ng-content></ng-content>\n\t\t\t<ng-container [ngTemplateOutlet]=\"contentAfter\"></ng-container>\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"cds--tab--overflow-nav-button cds--tab--overflow-nav-button--next\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tab--overflow-nav-button--hidden': rightOverflowNavButtonHidden\n\t\t\t}\"\n\t\t\t(click)=\"handleOverflowNavClick(1, tabHeaderQuery.length)\"\n\t\t\t(pointerdown)=\"handleOverflowNavMouseDown(1)\"\n\t\t\t(pointerup)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerleave)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerout)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointercancel)=\"handleOverflowNavMouseUp()\">\n\t\t\t<svg\n\t\t\t\tfocusable=\"false\"\n\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t\twidth=\"16\"\n\t\t\t\theight=\"16\"\n\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\taria-hidden=\"true\">\n\t\t\t\t<path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n\t\t\t</svg>\n\t\t</button>\n\t`\n})\nexport class TabHeaderGroup extends BaseTabHeader implements AfterContentInit, OnChanges, OnInit {\n\t@Input() isNavigation = false;\n\n\t/**\n\t * ContentChildren of all the tabHeaders.\n\t */\n\t@ContentChildren(TabHeader) tabHeaderQuery: QueryList<TabHeader>;\n\n\t@ViewChild(\"tabList\", { static: true }) headerContainer;\n\t/**\n\t * Keeps track of all the subscriptions to the tab header selection events.\n\t */\n\tselectedSubscriptionTracker = new Subscription();\n\n\t/**\n\t * Controls the manual focusing done by tabbing through headings.\n\t */\n\tcurrentSelectedTab = 0;\n\n\tconstructor(\n\t\tprotected elementRef: ElementRef,\n\t\tprotected changeDetectorRef: ChangeDetectorRef,\n\t\tprotected eventService: EventService,\n\t\tprotected renderer: Renderer2\n\t) {\n\t\tsuper(elementRef, changeDetectorRef, eventService, renderer);\n\t}\n\n\t// keyboard accessibility\n\t/**\n\t * Controls the keydown events used for tabbing through the headings.\n\t */\n\t@HostListener(\"keydown\", [\"$event\"])\n\tkeyboardInput(event) {\n\t\tlet tabHeadersArray = this.tabHeaderQuery.toArray();\n\n\t\tif (event.key === \"ArrowRight\") {\n\t\t\tif (this.currentSelectedTab < tabHeadersArray.length - 1) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus && !tabHeadersArray[this.currentSelectedTab + 1].disabled) {\n\t\t\t\t\ttabHeadersArray[this.currentSelectedTab + 1].selectTab();\n\t\t\t\t} else {\n\t\t\t\t\ttabHeadersArray[this.currentSelectedTab + 1].focus();\n\t\t\t\t\tthis.currentSelectedTab++;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus && !tabHeadersArray[0].disabled) {\n\t\t\t\t\ttabHeadersArray[0].selectTab();\n\t\t\t\t} else {\n\t\t\t\t\ttabHeadersArray[0].focus();\n\t\t\t\t\tthis.currentSelectedTab = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (event.key === \"ArrowLeft\") {\n\t\t\tif (this.currentSelectedTab > 0) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus && !tabHeadersArray[this.currentSelectedTab - 1].disabled) {\n\t\t\t\t\ttabHeadersArray[this.currentSelectedTab - 1].selectTab();\n\t\t\t\t} else {\n\t\t\t\t\ttabHeadersArray[this.currentSelectedTab - 1].focus();\n\t\t\t\t\tthis.currentSelectedTab--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus && !tabHeadersArray[tabHeadersArray.length - 1].disabled) {\n\t\t\t\t\ttabHeadersArray[tabHeadersArray.length - 1].selectTab();\n\t\t\t\t} else {\n\t\t\t\t\ttabHeadersArray[tabHeadersArray.length - 1].focus();\n\t\t\t\t\tthis.currentSelectedTab = tabHeadersArray.length - 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (event.key === \"Home\") {\n\t\t\tevent.preventDefault();\n\t\t\tif (this.followFocus && !tabHeadersArray[0].disabled) {\n\t\t\t\ttabHeadersArray[0].selectTab();\n\t\t\t} else {\n\t\t\t\ttabHeadersArray[0].focus();\n\t\t\t\tthis.currentSelectedTab = 0;\n\t\t\t}\n\t\t}\n\n\t\tif (event.key === \"End\") {\n\t\t\tevent.preventDefault();\n\t\t\tif (this.followFocus && !tabHeadersArray[tabHeadersArray.length - 1].disabled) {\n\t\t\t\ttabHeadersArray[tabHeadersArray.length - 1].selectTab();\n\t\t\t} else {\n\t\t\t\ttabHeadersArray[tabHeadersArray.length - 1].focus();\n\t\t\t\tthis.currentSelectedTab = tabHeadersArray.length - 1;\n\t\t\t}\n\t\t}\n\n\t\tif ((event.key === \" \") && !this.followFocus) {\n\t\t\ttabHeadersArray[this.currentSelectedTab].selectTab();\n\t\t}\n\t}\n\n\tngOnInit() {\n\t\tthis.eventService.on(window as any, \"resize\", () => this.handleScroll());\n\t}\n\n\tngAfterContentInit() {\n\t\tthis.selectedSubscriptionTracker.unsubscribe();\n\n\t\tif (this.tabHeaderQuery) {\n\t\t\tthis.tabHeaderQuery.toArray()\n\t\t\t\t.forEach(tabHeader => {\n\t\t\t\t\ttabHeader.cacheActive = this.cacheActive;\n\t\t\t\t\ttabHeader.paneTabIndex = this.isNavigation ? null : 0;\n\t\t\t\t});\n\t\t}\n\n\t\tconst selectedSubscriptions = this.tabHeaderQuery.toArray().forEach(tabHeader => {\n\t\t\ttabHeader.selected.subscribe(() => {\n\t\t\t\tthis.currentSelectedTab = this.tabHeaderQuery.toArray().indexOf(tabHeader);\n\t\t\t\t// The Filter takes the current selected tab out, then all other headers are\n\t\t\t\t// deactivated and their associated pane references are also deactivated.\n\t\t\t\tthis.tabHeaderQuery.toArray().filter(header => header !== tabHeader)\n\t\t\t\t\t.forEach(filteredHeader => {\n\t\t\t\t\t\tfilteredHeader.active = false;\n\t\t\t\t\t\tif (filteredHeader.paneReference) {\n\t\t\t\t\t\t\tfilteredHeader.paneReference.active = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t});\n\t\t});\n\t\tthis.selectedSubscriptionTracker.add(selectedSubscriptions);\n\n\t\tsetTimeout(() => this.tabHeaderQuery.toArray()[this.currentSelectedTab].selectTab());\n\t}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (this.tabHeaderQuery) {\n\t\t\tif (changes.cacheActive) {\n\t\t\t\tthis.tabHeaderQuery.toArray().forEach(tabHeader => tabHeader.cacheActive = this.cacheActive);\n\t\t\t}\n\n\t\t\tif (changes.isNavigation) {\n\t\t\t\tthis.tabHeaderQuery.toArray()\n\t\t\t\t\t.forEach(tabHeader => tabHeader.paneTabIndex = this.isNavigation ? null : 0);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetSelectedTab(): any {\n\t\tconst selected = this.tabHeaderQuery.toArray()[this.currentSelectedTab];\n\t\tif (selected) {\n\t\t\treturn selected;\n\t\t}\n\t\treturn {\n\t\t\theadingIsTemplate: false,\n\t\t\theading: \"\"\n\t\t};\n\t}\n}\n","import {\n\tComponent,\n\tOnInit,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tTemplateRef,\n\tHostBinding\n} from \"@angular/core\";\n\nlet nextId = 0;\n\n/**\n* The `Tab` component is a child of the `Tabs` component.\n* It represents one `Tab` item and its content within a panel of other `Tab` items.\n*\n*\n* `Tab` takes a string or `TemplateRef` for the header, and any content for the body of the tab.\n* Disabled states should be handled by the application (ie. switch to the tab, but display some\n* indication as to _why_ the tab is disabled).\n*\n* When the tab is selected the `select` output will be triggered.\n* The `select` output will also be triggered for the active tab when the tabs are loaded or updated.\n*\n*\n* Tab with string header:\n*\n* ```html\n* <cds-tab heading='tab1'>\n* \ttab 1 content\n* </cds-tab>\n* ```\n*\n* Tab with custom header:\n*\n* ```html\n* <ng-template #tabHeading>\n* \t<svg cdsIcon=\"facebook\"\n* \t\tsize=\"sm\"\n* \t\tstyle=\"margin-right: 7px;\">\n* \t</svg>\n* \tHello Tab 1\n* </ng-template>\n* <cds-tabs>\n* \t<cds-tab [heading]=\"tabHeading\">\n* \t\tTab 1 content <svg cdsIcon=\"alert\" size=\"lg\"></svg>\n* \t</cds-tab>\n* \t<cds-tab heading='Tab2'>\n* \t\tTab 2 content\n* \t</cds-tab>\n* \t<cds-tab heading='Tab3'>\n* \t\tTab 3 content\n* \t</cds-tab>\n* </cds-tabs>\n* ```\n*/\n@Component({\n\tselector: \"cds-tab, ibm-tab\",\n\ttemplate: `\n\t\t<div\n\t\t\t[attr.tabindex]=\"tabIndex\"\n\t\t\trole=\"tabpanel\"\n\t\t\t*ngIf=\"shouldRender()\"\n\t\t\tclass=\"cds--tab-content\"\n\t\t\t[ngStyle]=\"{'display': active ? null : 'none'}\"\n\t\t\t[attr.aria-labelledby]=\"id + '-header'\"\n\t\t\taria-live=\"polite\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t`\n})\nexport class Tab implements OnInit {\n\t/**\n\t * Boolean value reflects if the `Tab` is using a custom template for the heading.\n\t * Default value is false.\n\t */\n\tpublic headingIsTemplate = false;\n\n\t/**\n\t * The `Tab`'s title to be displayed or custom temaplate for the `Tab` heading.\n\t */\n\t@Input() heading: string | TemplateRef<any>;\n\t/**\n\t * Optional override for the `tabItem's`'s title attribute which is set in `TabHeaders`.\n\t * `tabItem`'s title attribute is automatically set to `heading`.\n\t *\n\t * You might want to use this if you set `heading` to a `TemplateRef`.\n\t */\n\t@Input() title: string;\n\t/**\n\t * Allows the user to pass data to the custom template for the `Tab` heading.\n\t */\n\t@Input() context: any;\n\t/**\n\t * Indicates whether the `Tab` is active/selected.\n\t * Determines whether it's `TabPanel` is rendered.\n\t */\n\t@Input() active = false;\n\t/**\n\t * Indicates whether or not the `Tab` item is disabled.\n\t */\n\t@Input() disabled = false;\n\n\t@Input() tabIndex = 0;\n\t// do we need id's?\n\t/**\n\t * Sets the id of the `Tab`. Will be uniquely generated if not provided.\n\t */\n\t@Input() id = `n-tab-${nextId++}`;\n\t/**\n\t * Set to true to have Tab items cached and not reloaded on tab switching.\n\t */\n\t@Input() set cacheActive(shouldCache: boolean) {\n\t\tthis._cacheActive = shouldCache;\n\t}\n\t/**\n\t * Value 'selected' to be emitted after a new `Tab` is selected.\n\t */\n\t@Output() selected: EventEmitter<void> = new EventEmitter<void>();\n\n\t/**\n\t * Used to set the id property on the element.\n\t */\n\t@HostBinding(\"attr.id\") attrClass = this.id;\n\n\tget cacheActive() {\n\t\treturn this._cacheActive;\n\t}\n\n\tprotected _cacheActive = false;\n\n\t/**\n\t * Checks for custom heading template on initialization and updates the value\n\t * of the boolean 'headingIsTemplate'.\n\t */\n\tngOnInit() {\n\t\tif (this.heading instanceof TemplateRef) {\n\t\t\tthis.headingIsTemplate = true;\n\t\t}\n\t}\n\n\t/**\n\t * Emit the status of the `Tab`, specifically 'select' and 'selected' properties.\n\t */\n\tdoSelect() {\n\t\tthis.selected.emit();\n\t}\n\n\t/**\n\t* Returns value indicating whether this `Tab` should be rendered in a `TabPanel`.\n\t*/\n\tshouldRender() {\n\t\treturn this.active || this.cacheActive;\n\t}\n}\n","import {\n\tComponent,\n\tQueryList,\n\tInput,\n\tHostListener,\n\tViewChild,\n\tContentChildren,\n\tAfterContentInit,\n\tViewChildren,\n\tElementRef,\n\tOnChanges,\n\tSimpleChanges,\n\tOnDestroy,\n\tOnInit,\n\tChangeDetectorRef,\n\tRenderer2\n} from \"@angular/core\";\nimport { EventService } from \"carbon-components-angular/utils\";\nimport { I18n } from \"carbon-components-angular/i18n\";\n\nimport { BaseTabHeader } from \"./base-tab-header.component\";\nimport { Tab } from \"./tab.component\";\n\n/**\n * The `TabHeaders` component contains the `Tab` items and controls scroll functionality\n * if content has overflow.\n */\n@Component({\n\tselector: \"cds-tab-headers, ibm-tab-headers\",\n\ttemplate: `\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\t(click)=\"handleOverflowNavClick(-1, tabs.length)\"\n\t\t\t(pointerdown)=\"handleOverflowNavMouseDown(-1)\"\n\t\t\t(pointerup)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerleave)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerout)=\"handleOverflowNavMouseUp()\"\n\t\t\tclass=\"cds--tab--overflow-nav-button cds--tab--overflow-nav-button--previous\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tab--overflow-nav-button--hidden': leftOverflowNavButtonHidden\n\t\t\t}\"\n\t\t\t[title]=\"translations.BUTTON_ARIA_RIGHT\">\n\t\t\t<svg\n\t\t\t\tfocusable=\"false\"\n\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t\twidth=\"16\"\n\t\t\t\theight=\"16\"\n\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\taria-hidden=\"true\">\n\t\t\t\t<path d=\"M5 8L10 3 10.7 3.7 6.4 8 10.7 12.3 10 13z\"></path>\n\t\t\t</svg>\n\t\t</button>\n\t\t<div\n\t\t\t#tabList\n\t\t\tclass=\"cds--tab--list\"\n\t\t\trole=\"tablist\"\n\t\t\t[attr.aria-label]=\"ariaLabel || translations.HEADER_ARIA_LABEL\"\n\t\t\t(scroll)=\"handleScroll()\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"contentBefore\"></ng-container>\n\t\t\t<button\n\t\t\t\t*ngFor=\"let tab of tabs; let i = index;\"\n\t\t\t\t#tabItem\n\t\t\t\trole=\"tab\"\n\t\t\t\t[attr.aria-selected]=\"tab.active\"\n\t\t\t\t[attr.tabindex]=\"(tab.active?0:-1)\"\n\t\t\t\t[attr.aria-controls]=\"tab.id\"\n\t\t\t\t[attr.aria-disabled]=\"tab.disabled\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--tabs__nav-item--selected': tab.active,\n\t\t\t\t\t'cds--tabs__nav-item--disabled': tab.disabled\n\t\t\t\t}\"\n\t\t\t\tclass=\"cds--tabs__nav-item cds--tabs__nav-link\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tdraggable=\"false\"\n\t\t\t\tid=\"{{tab.id}}-header\"\n\t\t\t\t(focus)=\"onTabFocus(tabItem, i)\"\n\t\t\t\t(click)=\"selectTab(tabItem, tab, i)\">\n\t\t\t\t<ng-container *ngIf=\"!tab.headingIsTemplate\">\n\t\t\t\t\t{{ tab.heading }}\n\t\t\t\t</ng-container>\n\t\t\t\t<ng-template\n\t\t\t\t\t*ngIf=\"tab.headingIsTemplate\"\n\t\t\t\t\t[ngTemplateOutlet]=\"tab.heading\"\n\t\t\t\t\t[ngTemplateOutletContext]=\"{$implicit: tab.context}\">\n\t\t\t\t</ng-template>\n\t\t\t</button>\n\t\t\t<ng-container [ngTemplateOutlet]=\"contentAfter\"></ng-container>\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\t(click)=\"handleOverflowNavClick(1, tabs.length)\"\n\t\t\t(pointerdown)=\"handleOverflowNavMouseDown(1)\"\n\t\t\t(pointerup)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerleave)=\"handleOverflowNavMouseUp()\"\n\t\t\t(pointerout)=\"handleOverflowNavMouseUp()\"\n\t\t\tclass=\"cds--tab--overflow-nav-button cds--tab--overflow-nav-button--next\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tab--overflow-nav-button--hidden': rightOverflowNavButtonHidden\n\t\t\t}\"\n\t\t\t[title]=\"translations.BUTTON_ARIA_RIGHT\">\n\t\t\t<svg\n\t\t\t\tfocusable=\"false\"\n\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t\twidth=\"16\"\n\t\t\t\theight=\"16\"\n\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\taria-hidden=\"true\">\n\t\t\t\t<path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n\t\t\t</svg>\n\t\t</button>\n\t`\n})\n\nexport class TabHeaders extends BaseTabHeader implements AfterContentInit, OnChanges, OnDestroy, OnInit {\n\t/**\n\t * List of `Tab` components.\n\t */\n\t// disable the next line because we need to rename the input\n\t// tslint:disable-next-line\n\t@Input(\"tabs\") tabInput: QueryList<Tab>;\n\n\t@Input() translations = this.i18n.get().TABS;\n\n\t/**\n\t * Gets the Unordered List element that holds the `Tab` headings from the view DOM.\n\t */\n\t@ViewChild(\"tabList\", { static: true }) headerContainer: ElementRef<HTMLElement>;\n\t/**\n\t * ContentChild of all the n-tabs\n\t */\n\t@ContentChildren(Tab) tabQuery: QueryList<Tab>;\n\t/**\n\t * set to tabQuery if tabInput is empty\n\t */\n\ttabs: QueryList<Tab>;\n\t/**\n\t * The index of the first visible tab.\n\t */\n\tfirstVisibleTab = 0;\n\t/**\n\t * The DOM element containing the `Tab` headings displayed.\n\t */\n\t@ViewChildren(\"tabItem\") allTabHeaders: QueryList<ElementRef>;\n\tprivate resizeObserver: ResizeObserver;\n\n\tconstructor(\n\t\tprotected elementRef: ElementRef,\n\t\tprotected changeDetectorRef: ChangeDetectorRef,\n\t\tprotected eventService: EventService,\n\t\tprotected renderer: Renderer2,\n\t\tprotected i18n: I18n\n\t) {\n\t\tsuper(elementRef, changeDetectorRef, eventService, renderer);\n\t}\n\n\t// keyboard accessibility\n\t/**\n\t * Controls the keydown events used for tabbing through the headings.\n\t */\n\t@HostListener(\"keydown\", [\"$event\"])\n\tkeyboardInput(event) {\n\t\tlet tabsArray = this.tabs.toArray();\n\n\t\tif (event.key === \"ArrowRight\") {\n\t\t\tif (this.currentSelectedTab < this.allTabHeaders.length - 1) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus) {\n\t\t\t\t\tthis.selectTab(event.target, tabsArray[this.currentSelectedTab + 1], this.currentSelectedTab);\n\t\t\t\t}\n\t\t\t\tthis.allTabHeaders.toArray()[this.currentSelectedTab + 1].nativeElement.focus();\n\t\t\t} else {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus) {\n\t\t\t\t\tthis.selectTab(event.target, tabsArray[0], 0);\n\t\t\t\t}\n\t\t\t\tthis.allTabHeaders.first.nativeElement.focus();\n\t\t\t}\n\t\t}\n\n\t\tif (event.key === \"ArrowLeft\") {\n\t\t\tif (this.currentSelectedTab > 0) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus) {\n\t\t\t\t\tthis.selectTab(event.target, tabsArray[this.currentSelectedTab - 1], this.currentSelectedTab);\n\t\t\t\t}\n\t\t\t\tthis.allTabHeaders.toArray()[this.currentSelectedTab - 1].nativeElement.focus();\n\t\t\t} else {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus) {\n\t\t\t\t\tthis.selectTab(event.target, tabsArray[this.allTabHeaders.length - 1], this.allTabHeaders.length);\n\t\t\t\t}\n\t\t\t\tthis.allTabHeaders.toArray()[this.allTabHeaders.length - 1].nativeElement.focus();\n\t\t\t}\n\t\t}\n\n\t\tif (event.key === \"Home\") {\n\t\t\tevent.preventDefault();\n\t\t\tif (this.followFocus) {\n\t\t\t\tthis.selectTab(event.target, tabsArray[0], 0);\n\t\t\t}\n\t\t\tthis.allTabHeaders.toArray()[0].nativeElement.focus();\n\t\t}\n\n\t\tif (event.key === \"End\") {\n\t\t\tevent.preventDefault();\n\t\t\tif (this.followFocus) {\n\t\t\t\tthis.selectTab(event.target, tabsArray[this.allTabHeaders.length - 1], this.allTabHeaders.length);\n\t\t\t}\n\t\t\tthis.allTabHeaders.toArray()[this.allTabHeaders.length - 1].nativeElement.focus();\n\t\t}\n\n\t\tif ((event.key === \" \" || event.key === \"Spacebar\") && !this.followFocus) {\n\t\t\tthis.selectTab(event.target, tabsArray[this.currentSelectedTab], this.currentSelectedTab);\n\t\t}\n\t}\n\n\tngOnInit(): void {\n\t\t// Update scroll on resize\n\t\tthis.resizeObserver = new ResizeObserver(() => {\n\t\t\t// Need to explicitly trigger change detection since this runs outside Angular zone\n\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t});\n\t\tthis.resizeObserver.observe(this.headerContainer.nativeElement);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.resizeObserver.unobserve(this.headerContainer.nativeElement);\n\t}\n\n\tngAfterContentInit() {\n\t\tif (!this.tabInput) {\n\t\t\tthis.tabs = this.tabQuery;\n\t\t} else {\n\t\t\tthis.tabs = this.tabInput;\n\t\t}\n\n\t\tthis.tabs.forEach(tab => tab.cacheActive = this.cacheActive);\n\t\tthis.tabs.changes.subscribe(() => {\n\t\t\tthis.setFirstTab();\n\t\t});\n\t\tthis.setFirstTab();\n\t}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (this.tabs && changes.cacheActive) {\n\t\t\tthis.tabs.forEach(tab => tab.cacheActive = this.cacheActive);\n\t\t}\n\t}\n\n\t/**\n\t * Controls manually focusing tabs.\n\t */\n\tonTabFocus(ref: HTMLElement, index: number) {\n\t\tthis.currentSelectedTab = index;\n\t\t// reset scroll left because we're already handling it\n\t\tthis.headerContainer.nativeElement.parentElement.scrollLeft = 0;\n\t}\n\n\tgetSelectedTab(): any {\n\t\tconst selected = this.tabs.find(tab => tab.active);\n\t\tif (selected) {\n\t\t\treturn selected;\n\t\t}\n\t\treturn { headingIsTemplate: false, heading: \"\" };\n\t}\n\n\t/**\n\t * Selects `Tab` 'tab' and moves it into view on the view DOM if it is not already.\n\t */\n\tselectTab(ref: HTMLElement, tab: Tab, tabIndex: number) {\n\t\tif (tab.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.currentSelectedTab = tabIndex;\n\t\tthis.tabs.forEach(_tab => _tab.active = false);\n\t\ttab.active = true;\n\t\ttab.doSelect();\n\t}\n\n\t/**\n\t * Determines which `Tab` is initially selected.\n\t */\n\tprotected setFirstTab() {\n\t\tsetTimeout(() => {\n\t\t\tlet firstTab = this.tabs.find(tab => tab.active);\n\t\t\tif (!firstTab && this.tabs.first) {\n\t\t\t\tfirstTab = this.tabs.first;\n\t\t\t\tfirstTab.active = true;\n\t\t\t}\n\t\t\tif (firstTab) {\n\t\t\t\tfirstTab.doSelect();\n\t\t\t}\n\t\t});\n\t}\n}\n","import {\n\tComponent,\n\tHostBinding,\n\tInput\n} from \"@angular/core\";\n\n/**\n * Skeleton component for tabs\n */\n@Component({\n\tselector: \"cds-tabs-skeleton, ibm-tabs-skeleton\",\n\ttemplate: `\n\t\t<ul class=\"cds--tabs__nav\">\n\t\t\t<li\n\t\t\t\t*ngFor=\"let i of numOfSkeletonTabs\"\n\t\t\t\tclass=\"cds--tabs__nav-item\">\n\t\t\t\t<div class=\"cds--tabs__nav-link\">\n\t\t\t\t\t<span></span>\n\t\t\t\t</div>\n\t\t\t</li>\n\t\t</ul>\n\t`\n})\nexport class TabSkeleton {\n\t/**\n\t * Set number of skeleton tabs to render, default is 5\n\t */\n\t@Input() set numOftabs(num: number) {\n\t\tthis.numOfSkeletonTabs = new Array(num);\n\t}\n\n\t/**\n\t * Set to `true` to put tabs in a loading state.\n\t */\n\t@HostBinding(\"class.cds--skeleton\") skeleton = true;\n\t@HostBinding(\"class.cds--tabs\") tabs = true;\n\tnumOfSkeletonTabs = new Array(5);\n}\n","import {\n\tComponent,\n\tInput,\n\tContentChildren,\n\tQueryList,\n\tAfterContentInit,\n\tContentChild,\n\tOnChanges,\n\tSimpleChanges\n} from \"@angular/core\";\nimport { Tab } from \"./tab.component\";\nimport { TabHeaders } from \"./tab-headers.component\";\n\n/**\n * Build out your application's tabs using this component.\n * This is the parent of the `Tab` and `TabHeader` components.\n *\n * [See demo](../../?path=/story/components-tabs--basic)\n *\n * `Tabs` expects a set of `n-tab` elements\n *\n * ```html\n * <cds-tabs>\n * \t<cds-tab heading='tab1'>\n * \t\ttab 1 content\n * \t</cds-tab>\n * \t<cds-tab heading='tab1'>\n * \t\ttab 2 content\n * \t</cds-tab>\n * \t<!-- ... -->\n * \t<cds-tab heading='tab1'>\n * \t\ttab n content\n * \t</cds-tab>\n * </cds-tabs>\n * ```\n */\n@Component({\n\tselector: \"cds-tabs, ibm-tabs\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"skeleton\">\n\t\t\t<cds-tabs-skeleton></cds-tabs-skeleton>\n\t\t</ng-container>\n\t\t<ng-container *ngIf=\"!skeleton\">\n\t\t\t<cds-tab-headers\n\t\t\t\t*ngIf=\"hasTabHeaders() && position === 'top'\"\n\t\t\t\t[theme]=\"theme\"\n\t\t\t\t[tabs]=\"tabs\"\n\t\t\t\t[followFocus]=\"followFocus\"\n\t\t\t\t[cacheActive]=\"cacheActive\"\n\t\t\t\t[contentBefore]=\"before\"\n\t\t\t\t[contentAfter]=\"after\"\n\t\t\t\t[ariaLabel]=\"ariaLabel\"\n\t\t\t\t[ariaLabelledby]=\"ariaLabelledby\"\n\t\t\t\t[type]=\"type\">\n\t\t\t</cds-tab-headers>\n\t\t\t<ng-content></ng-content>\n\t\t\t<ng-template #before>\n\t\t\t\t<ng-content select=\"[before]\"></ng-content>\n\t\t\t</ng-template>\n\t\t\t<ng-template #after>\n\t\t\t\t<ng-content select=\"[after]\"></ng-content>\n\t\t\t</ng-template>\n\t\t\t<cds-tab-headers\n\t\t\t\t*ngIf=\"hasTabHeaders() && position === 'bottom'\"\n\t\t\t\t[tabs]=\"tabs\"\n\t\t\t\t[cacheActive]=\"cacheActive\"\n\t\t\t\t[type]=\"type\">\n\t\t\t</cds-tab-headers>\n\t\t</ng-container>\n\t`\n})\nexport class Tabs implements AfterContentInit, OnChanges {\n\t/**\n\t * Takes either the string value 'top' or 'bottom' to place TabHeader\n\t * relative to the `TabPanel`s.\n\t */\n\t@Input() position: \"top\" | \"bottom\" = \"top\";\n\t/**\n\t * Set to 'true' to have `Tab` items cached and not reloaded on tab switching.\n\t */\n\t@Input() cacheActive = false;\n\t/**\n\t * Set to 'true' to have tabs automatically activated and have their content displayed when they receive focus.\n\t */\n\t@Input() followFocus = true;\n\t/**\n\t * Set to `true` to have the tabIndex of the all tabpanels be -1.\n\t */\n\t@Input() isNavigation = false;\n\t/**\n\t * Sets the aria label on the `TabHeader`s nav element.\n\t */\n\t@Input() ariaLabel: string;\n\t/**\n\t * Sets the aria labelledby on the `TabHeader`s nav element.\n\t */\n\t@Input() ariaLabelledby: string;\n\t/**\n\t * Sets the type of the `TabHeader`s\n\t */\n\t@Input() type: \"line\" | \"contained\" = \"line\";\n\t/**\n\t * Sets the theme of `TabHeader`s\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\t/**\n\t * Set state of tabs to skeleton\n\t */\n\t@Input() skeleton = false;\n\n\t/**\n\t * Maintains a `QueryList` of the `Tab` elements and updates if `Tab`s are added or removed.\n\t */\n\t@ContentChildren(Tab, { descendants: false }) tabs: QueryList<Tab>;\n\t/**\n\t * Content child of the projected header component\n\t */\n\t@ContentChild(TabHeaders) tabHeaders;\n\n\t/**\n\t * After content is initialized update `Tab`s to cache (if turned on) and set the initial\n\t * selected Tab item.\n\t */\n\tngAfterContentInit() {\n\t\tif (this.tabHeaders) {\n\t\t\tthis.tabHeaders.cacheActive = this.cacheActive;\n\t\t}\n\n\t\tthis.tabs.forEach(tab => {\n\t\t\ttab.tabIndex = this.isNavigation ? null : 0;\n\t\t});\n\t}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (this.tabHeaders && changes.cacheActive) {\n\t\t\tthis.tabHeaders.cacheActive = this.cacheActive;\n\t\t}\n\n\t\tif (this.tabs && changes.isNavigation) {\n\t\t\tthis.tabs.forEach(tab => {\n\t\t\t\ttab.tabIndex = this.isNavigation ? null : 0;\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * true if the n-tab's are passed directly to the component as children\n\t */\n\thasTabHeaders() {\n\t\treturn this.tabs.length > 0;\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { UtilsModule } from \"carbon-components-angular/utils\";\nimport { I18nModule } from \"carbon-components-angular/i18n\";\n\nimport { TabSkeleton } from \"./tab-skeleton.component\";\nimport { BaseTabHeader } from \"./base-tab-header.component\";\nimport { Tabs } from \"./tabs.component\";\nimport { Tab } from \"./tab.component\";\nimport { TabHeader } from \"./tab-header.directive\";\nimport { TabHeaders } from \"./tab-headers.component\";\nimport { TabHeaderGroup } from \"./tab-header-group.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tBaseTabHeader,\n\t\tTabs,\n\t\tTab,\n\t\tTabHeader,\n\t\tTabHeaders,\n\t\tTabHeaderGroup,\n\t\tTabSkeleton\n\t],\n\texports: [\n\t\tTabs,\n\t\tTab,\n\t\tTabHeader,\n\t\tTabHeaders,\n\t\tTabHeaderGroup,\n\t\tTabSkeleton\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tUtilsModule,\n\t\tI18nModule\n\t]\n})\nexport class TabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","i2.TabHeaders","i3.TabSkeleton"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component, Optional, Input, Output, ViewChild, HostListener, HostBinding, ContentChildren, NgModule } from '@angular/core';
|
|
2
|
+
import { EventEmitter, Component, Optional, Input, Output, ViewChild, HostListener, TemplateRef, HostBinding, ContentChildren, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/router';
|
|
4
4
|
import * as i2 from '@angular/common';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
@@ -296,9 +296,18 @@ class SelectionTile {
|
|
|
296
296
|
SelectionTile.tileCount = 0;
|
|
297
297
|
SelectionTile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectionTile, deps: [{ token: i1$1.I18n }], target: i0.ɵɵFactoryTarget.Component });
|
|
298
298
|
SelectionTile.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SelectionTile, selector: "cds-selection-tile, ibm-selection-tile", inputs: { theme: "theme", id: "id", selected: "selected", value: "value", disabled: "disabled" }, outputs: { change: "change" }, host: { listeners: { "keydown": "keyboardInput($event)" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: `
|
|
299
|
+
<input
|
|
300
|
+
#input
|
|
301
|
+
[attr.tabindex]="disabled ? null : 0"
|
|
302
|
+
class="cds--tile-input"
|
|
303
|
+
[id]="id"
|
|
304
|
+
[disabled]="disabled"
|
|
305
|
+
[type]="(multiple ? 'checkbox': 'radio')"
|
|
306
|
+
[value]="value"
|
|
307
|
+
[name]="name"
|
|
308
|
+
(change)="onChange($event)"/>
|
|
299
309
|
<label
|
|
300
310
|
class="cds--tile cds--tile--selectable"
|
|
301
|
-
tabindex="disabled ? null : 0"
|
|
302
311
|
[for]="id"
|
|
303
312
|
[ngClass]="{
|
|
304
313
|
'cds--tile--is-selected' : selected,
|
|
@@ -306,16 +315,6 @@ SelectionTile.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
306
315
|
'cds--tile--disabled' : disabled
|
|
307
316
|
}"
|
|
308
317
|
[attr.aria-label]="i18n.get('TILES.TILE') | async">
|
|
309
|
-
<input
|
|
310
|
-
#input
|
|
311
|
-
tabindex="-1"
|
|
312
|
-
class="cds--tile-input"
|
|
313
|
-
[id]="id"
|
|
314
|
-
[disabled]="disabled"
|
|
315
|
-
[type]="(multiple ? 'checkbox': 'radio')"
|
|
316
|
-
[value]="value"
|
|
317
|
-
[name]="name"
|
|
318
|
-
(change)="onChange($event)"/>
|
|
319
318
|
<div class="cds--tile__checkmark">
|
|
320
319
|
<svg width="16" height="16" viewBox="0 0 16 16">
|
|
321
320
|
<path d="M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16zm3.646-10.854L6.75 10.043 4.354 7.646l-.708.708 3.104 3.103 5.604-5.603-.708-.708z"
|
|
@@ -332,9 +331,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
332
331
|
args: [{
|
|
333
332
|
selector: "cds-selection-tile, ibm-selection-tile",
|
|
334
333
|
template: `
|
|
334
|
+
<input
|
|
335
|
+
#input
|
|
336
|
+
[attr.tabindex]="disabled ? null : 0"
|
|
337
|
+
class="cds--tile-input"
|
|
338
|
+
[id]="id"
|
|
339
|
+
[disabled]="disabled"
|
|
340
|
+
[type]="(multiple ? 'checkbox': 'radio')"
|
|
341
|
+
[value]="value"
|
|
342
|
+
[name]="name"
|
|
343
|
+
(change)="onChange($event)"/>
|
|
335
344
|
<label
|
|
336
345
|
class="cds--tile cds--tile--selectable"
|
|
337
|
-
tabindex="disabled ? null : 0"
|
|
338
346
|
[for]="id"
|
|
339
347
|
[ngClass]="{
|
|
340
348
|
'cds--tile--is-selected' : selected,
|
|
@@ -342,16 +350,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
342
350
|
'cds--tile--disabled' : disabled
|
|
343
351
|
}"
|
|
344
352
|
[attr.aria-label]="i18n.get('TILES.TILE') | async">
|
|
345
|
-
<input
|
|
346
|
-
#input
|
|
347
|
-
tabindex="-1"
|
|
348
|
-
class="cds--tile-input"
|
|
349
|
-
[id]="id"
|
|
350
|
-
[disabled]="disabled"
|
|
351
|
-
[type]="(multiple ? 'checkbox': 'radio')"
|
|
352
|
-
[value]="value"
|
|
353
|
-
[name]="name"
|
|
354
|
-
(change)="onChange($event)"/>
|
|
355
353
|
<div class="cds--tile__checkmark">
|
|
356
354
|
<svg width="16" height="16" viewBox="0 0 16 16">
|
|
357
355
|
<path d="M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16zm3.646-10.854L6.75 10.043 4.354 7.646l-.708.708 3.104 3.103 5.604-5.603-.708-.708z"
|
|
@@ -468,21 +466,38 @@ class TileGroup {
|
|
|
468
466
|
registerOnTouched(fn) {
|
|
469
467
|
this.onTouched = fn;
|
|
470
468
|
}
|
|
469
|
+
isTemplate(value) {
|
|
470
|
+
return value instanceof TemplateRef;
|
|
471
|
+
}
|
|
471
472
|
}
|
|
472
473
|
TileGroup.tileGroupCount = 0;
|
|
473
474
|
TileGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TileGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
474
|
-
TileGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TileGroup, selector: "cds-tile-group, ibm-tile-group", inputs: { name: "name", multiple: "multiple" }, outputs: { selected: "selected" }, host: { properties: { "class.cds--tile-group": "this.tileGroupClass" } }, providers: [
|
|
475
|
+
TileGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TileGroup, selector: "cds-tile-group, ibm-tile-group", inputs: { name: "name", multiple: "multiple", legend: "legend" }, outputs: { selected: "selected" }, host: { properties: { "class.cds--tile-group": "this.tileGroupClass" } }, providers: [
|
|
475
476
|
{
|
|
476
477
|
provide: NG_VALUE_ACCESSOR,
|
|
477
478
|
useExisting: TileGroup,
|
|
478
479
|
multi: true
|
|
479
480
|
}
|
|
480
|
-
], queries: [{ propertyName: "selectionTiles", predicate: SelectionTile }], ngImport: i0, template:
|
|
481
|
+
], queries: [{ propertyName: "selectionTiles", predicate: SelectionTile }], ngImport: i0, template: `
|
|
482
|
+
<fieldset>
|
|
483
|
+
<legend *ngIf="legend" class="cds--label">
|
|
484
|
+
<ng-template *ngIf="isTemplate(legend); else legendLabel;" [ngTemplateOutlet]="legend"></ng-template>
|
|
485
|
+
<ng-template #legendLabel>{{legend}}</ng-template>
|
|
486
|
+
</legend>
|
|
487
|
+
<ng-content select="ibm-selection-tile,cds-selection-tile"></ng-content>
|
|
488
|
+
</fieldset>`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
481
489
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TileGroup, decorators: [{
|
|
482
490
|
type: Component,
|
|
483
491
|
args: [{
|
|
484
492
|
selector: "cds-tile-group, ibm-tile-group",
|
|
485
|
-
template:
|
|
493
|
+
template: `
|
|
494
|
+
<fieldset>
|
|
495
|
+
<legend *ngIf="legend" class="cds--label">
|
|
496
|
+
<ng-template *ngIf="isTemplate(legend); else legendLabel;" [ngTemplateOutlet]="legend"></ng-template>
|
|
497
|
+
<ng-template #legendLabel>{{legend}}</ng-template>
|
|
498
|
+
</legend>
|
|
499
|
+
<ng-content select="ibm-selection-tile,cds-selection-tile"></ng-content>
|
|
500
|
+
</fieldset>`,
|
|
486
501
|
providers: [
|
|
487
502
|
{
|
|
488
503
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -495,6 +510,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
495
510
|
type: Input
|
|
496
511
|
}], multiple: [{
|
|
497
512
|
type: Input
|
|
513
|
+
}], legend: [{
|
|
514
|
+
type: Input
|
|
498
515
|
}], selected: [{
|
|
499
516
|
type: Output
|
|
500
517
|
}], tileGroupClass: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carbon-components-angular-tiles.mjs","sources":["../../src/tiles/clickable-tile.component.ts","../../src/tiles/expandable-tile.component.ts","../../src/tiles/selection-tile.component.ts","../../src/tiles/tile-group.component.ts","../../src/tiles/tile.component.ts","../../src/tiles/tiles.module.ts","../../src/tiles/carbon-components-angular-tiles.ts"],"sourcesContent":["import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tOptional\n} from \"@angular/core\";\nimport { Router } from \"@angular/router\";\n\n/**\n * Build application's clickable tiles using this component.\n *\n * ## Basic usage\n *\n * ```html\n * <cds-clickable-tile>\n * \t\ttile content\n * </cds-clickable-tile>\n * ```\n */\n@Component({\n\tselector: \"cds-clickable-tile, ibm-clickable-tile\",\n\ttemplate: `\n\t<a\n\t\tcdsLink\n\t\tclass=\"cds--tile cds--tile--clickable\"\n\t\t[ngClass]=\"{\n\t\t\t'cds--tile--light': theme === 'light',\n\t\t\t'cds--tile--disabled cds--link--disabled' : disabled\n\t\t}\"\n\t\ttabindex=\"0\"\n\t\t(click)=\"navigate($event)\"\n\t\t[attr.href]=\"disabled ? null : href\"\n\t\t[attr.target]=\"target\"\n\t\t[attr.aria-disabled]=\"disabled\">\n\t\t<ng-content></ng-content>\n\t</a>`\n})\nexport class ClickableTile {\n\t/**\n\t * @deprecated since v5 - Use `cdsLayer` directive instead\n\t * Set to `\"light\"` to apply the light style\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t/**\n\t * Sets the `href` attribute on the `cds-clickable-tile` element.\n\t */\n\t@Input() href = \"#\";\n\n\t/**\n\t * Sets the `target` attribute on the `cds-clickable-tile` element.\n\t */\n\t@Input() target: string;\n\n\t/**\n\t * Set to `true` to disable the clickable tile.\n\t */\n\t@Input() disabled = false;\n\n\t/**\n\t * Array of commands to send to the router when the link is activated\n\t * See: https://angular.io/api/router/Router#navigate\n\t */\n\t@Input() route: any[];\n\n\t/**\n\t * Router options. Used in conjunction with `route`\n\t * See: https://angular.io/api/router/Router#navigate\n\t */\n\t@Input() routeExtras: any;\n\n\t/**\n\t * Emits the navigation status promise when the link is activated\n\t */\n\t@Output() navigation = new EventEmitter<Promise<boolean>>();\n\n\tconstructor(@Optional() protected router: Router) {}\n\n\tnavigate(event) {\n\t\tif (this.router && this.route && !this.disabled) {\n\t\t\tevent.preventDefault();\n\t\t\tconst status = this.router.navigate(this.route, this.routeExtras);\n\t\t\tthis.navigation.emit(status);\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tElementRef,\n\tAfterContentInit\n} from \"@angular/core\";\nimport { I18n, Overridable } from \"carbon-components-angular/i18n\";\nimport { merge } from \"carbon-components-angular/utils\";\n\nexport interface ExpandableTileTranslations {\n\tEXPAND: string;\n\tCOLLAPSE: string;\n}\n\n@Component({\n\tselector: \"cds-expandable-tile, ibm-expandable-tile\",\n\ttemplate: `\n\t\t<button\n\t\t\tclass=\"cds--tile cds--tile--expandable\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tile--is-expanded' : expanded,\n\t\t\t\t'cds--tile--light': theme === 'light'\n\t\t\t}\"\n\t\t\t[ngStyle]=\"{'max-height': expandedHeight + 'px'}\"\n\t\t\ttype=\"button\"\n\t\t\t(click)=\"onClick()\">\n\t\t\t<div class=\"cds--tile__chevron\">\n\t\t\t\t<svg *ngIf=\"!expanded\" width=\"12\" height=\"7\" viewBox=\"0 0 12 7\" [attr.title]=\"expand.subject | async\" role=\"img\">\n\t\t\t\t\t<title>{{expand.subject | async}}</title>\n\t\t\t\t\t<path fill-rule=\"nonzero\" d=\"M6.002 5.55L11.27 0l.726.685L6.003 7 0 .685.726 0z\"/>\n\t\t\t\t</svg>\n\t\t\t\t<svg *ngIf=\"expanded\" width=\"12\" height=\"7\" viewBox=\"0 0 12 7\" [attr.title]=\"collapse.subject | async\" role=\"img\">\n\t\t\t\t\t<title>{{collapse.subject | async}}</title>\n\t\t\t\t\t<path fill-rule=\"nonzero\" d=\"M6.002 5.55L11.27 0l.726.685L6.003 7 0 .685.726 0z\"/>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div class=\"cds--tile-content\">\n\t\t\t\t<ng-content select=\".cds--tile-content__above-the-fold\"></ng-content>\n\t\t\t\t<ng-content select=\".cds--tile-content__below-the-fold\"></ng-content>\n\t\t\t</div>\n\t\t</button>\n\t`\n})\nexport class ExpandableTile implements AfterContentInit {\n\t/**\n\t * @deprecated since v5 - Use `cdsLayer` directive instead\n\t * Set to `\"light\"` to apply the light style\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t@Input() expanded = false;\n\t/**\n\t * Expects an object that contains some or all of:\n\t * ```\n\t * {\n\t *\t\t\"EXPAND\": \"Expand\",\n\t *\t\t\"COLLAPSE\": \"Collapse\",\n\t * }\n\t * ```\n\t */\n\t@Input()\n\tset translations(value: ExpandableTileTranslations) {\n\t\tconst valueWithDefaults = merge(this.i18n.getMultiple(\"TILES\"), value);\n\t\tthis.expand.override(valueWithDefaults.EXPAND);\n\t\tthis.collapse.override(valueWithDefaults.COLLAPSE);\n\t}\n\n\ttileMaxHeight = 0;\n\tcurrentExpandedHeight = 0;\n\telement = this.elementRef.nativeElement;\n\n\texpand = this.i18n.getOverridable(\"TILES.EXPAND\");\n\tcollapse = this.i18n.getOverridable(\"TILES.COLLAPSE\");\n\n\tconstructor(protected i18n: I18n, protected elementRef: ElementRef) {}\n\n\tngAfterContentInit() {\n\t\tthis.updateMaxHeight();\n\t}\n\n\tget expandedHeight() {\n\t\tconst tile = this.element.querySelector(\".cds--tile\");\n\t\tconst tilePadding\n\t\t\t= parseInt(getComputedStyle(tile).paddingBottom, 10) + parseInt(getComputedStyle(tile).paddingTop, 10);\n\t\tconst expandedHeight = this.tileMaxHeight + tilePadding;\n\t\tif (!isNaN(expandedHeight)) {\n\t\t\tthis.currentExpandedHeight = expandedHeight;\n\t\t}\n\t\treturn this.currentExpandedHeight;\n\t}\n\n\tupdateMaxHeight() {\n\t\tif (this.expanded) {\n\t\t\tthis.tileMaxHeight = this.element.querySelector(\".cds--tile-content\").getBoundingClientRect().height;\n\t\t} else {\n\t\t\tthis.tileMaxHeight = this.element.querySelector(\".cds--tile-content__above-the-fold\").getBoundingClientRect().height;\n\t\t}\n\t}\n\n\tonClick() {\n\t\tthis.expanded = !this.expanded;\n\t\tthis.updateMaxHeight();\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tViewChild,\n\tHostListener,\n\tAfterViewInit\n} from \"@angular/core\";\nimport { I18n } from \"carbon-components-angular/i18n\";\n\n@Component({\n\tselector: \"cds-selection-tile, ibm-selection-tile\",\n\ttemplate: `\n\t\t<label\n\t\t\tclass=\"cds--tile cds--tile--selectable\"\n\t\t\ttabindex=\"disabled ? null : 0\"\n\t\t\t[for]=\"id\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tile--is-selected' : selected,\n\t\t\t\t'cds--tile--light': theme === 'light',\n\t\t\t\t'cds--tile--disabled' : disabled\n\t\t\t}\"\n\t\t\t[attr.aria-label]=\"i18n.get('TILES.TILE') | async\">\n\t\t\t<input\n\t\t\t\t#input\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\tclass=\"cds--tile-input\"\n\t\t\t\t[id]=\"id\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[type]=\"(multiple ? 'checkbox': 'radio')\"\n\t\t\t\t[value]=\"value\"\n\t\t\t\t[name]=\"name\"\n\t\t\t\t(change)=\"onChange($event)\"/>\n\t\t\t<div class=\"cds--tile__checkmark\">\n\t\t\t\t<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n\t\t\t\t\t<path d=\"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16zm3.646-10.854L6.75 10.043 4.354 7.646l-.708.708 3.104 3.103 5.604-5.603-.708-.708z\"\n\t\t\t\t\t\tfill-rule=\"evenodd\"/>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div class=\"cds--tile-content\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</label>\n\t`\n})\nexport class SelectionTile implements AfterViewInit {\n\tstatic tileCount = 0;\n\n\t/**\n\t * @deprecated since v5 - Use `cdsLayer` directive instead\n\t * Set to `\"light\"` to apply the light style\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t/**\n\t * The unique id for the input.\n\t */\n\t@Input() id = `tile-${SelectionTile.tileCount}`;\n\n\t/**\n\t * Updating the state of the input to match the state of the parameter passed in.\n\t * Set to `true` if this tile should be selected.\n\t */\n\t@Input() set selected(value: boolean) {\n\t\t// If an initial selected value is set before input exists, we save\n\t\t// the value and check again when input exists in `AfterViewInit`.\n\t\tthis._selected = value ? true : null;\n\t\tif (this.input) {\n\t\t\tthis.input.nativeElement.checked = this._selected;\n\t\t}\n\t}\n\n\tget selected() {\n\t\treturn this.input ? this.input.nativeElement.checked : false;\n\t}\n\t/**\n\t * The value for the tile. Returned via `ngModel` or `selected` event on the containing `TileGroup`.\n\t */\n\t@Input() value: string;\n\t/**\n\t * Internal event used to notify the containing `TileGroup` of changes.\n\t */\n\t@Output() change: EventEmitter<Event> = new EventEmitter();\n\n\t/**\n\t * Set to `true` to disable the selection tile.\n\t */\n\t@Input() disabled = false;\n\n\t/**\n\t * Set by the containing `TileGroup`. Used for the `name` property on the input.\n\t */\n\tname = \"tile-group-unbound\";\n\t/**\n\t * Defines whether or not the `SelectionTile` supports selecting multiple tiles as opposed to single\n\t * tile selection.\n\t */\n\tmultiple = true;\t// Set to true because of the way tile group sets it up.\n\t\t\t\t\t\t// If it is first undefined then set to true, the type will change from radio to checkbox and deselects the inputs.\n\n\t@ViewChild(\"input\", { static: true }) input;\n\n\t// If an initial selected value is set before input exists, we save\n\t// the value and check again when input exists in `AfterViewInit`.\n\tprotected _selected = null;\n\n\tconstructor(public i18n: I18n) {\n\t\tSelectionTile.tileCount++;\n\t}\n\n\tngAfterViewInit() {\n\t\tif (this.input) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.input.nativeElement.checked = this._selected;\n\t\t\t});\n\t\t}\n\t}\n\n\t@HostListener(\"keydown\", [\"$event\"])\n\tkeyboardInput(event) {\n\t\tif (event.key === \"Enter\" || event.key === \"Spacebar\" || event.key === \" \") {\n\t\t\tthis.selected = !this.selected;\n\t\t\tthis.change.emit(event);\n\t\t}\n\t}\n\n\tonChange(event) {\n\t\tthis.change.emit(event);\n\t}\n}\n\n\n","import {\n\tComponent,\n\tAfterContentInit,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tHostBinding,\n\tContentChildren,\n\tQueryList,\n\tOnDestroy\n} from \"@angular/core\";\nimport { SelectionTile } from \"./selection-tile.component\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { TileSelection } from \"./tile-selection.interface\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\n@Component({\n\tselector: \"cds-tile-group, ibm-tile-group\",\n\ttemplate: `<ng-content select=\"cds-selection-tile\"></ng-content>`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: TileGroup,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class TileGroup implements AfterContentInit, OnDestroy {\n\tstatic tileGroupCount = 0;\n\t/**\n\t * The tile group `name`\n\t */\n\t@Input() name = `tile-group-${TileGroup.tileGroupCount}`;\n\t/**\n\t * Set to `true` to support multiple tile selection\n\t */\n\t@Input() multiple = false;\n\n\t/**\n\t * Emits an event when the tile selection changes.\n\t *\n\t * Emits an object that looks like:\n\t * ```javascript\n\t * {\n\t * \tvalue: \"something\",\n\t * \tselected: true,\n\t * \tname: \"tile-group-1\"\n\t * }\n\t * ```\n\t */\n\t@Output() selected: EventEmitter<TileSelection> = new EventEmitter();\n\n\t@HostBinding(\"class.cds--tile-group\") tileGroupClass = true;\n\n\t@ContentChildren(SelectionTile) selectionTiles: QueryList<SelectionTile>;\n\n\tprotected unsubscribe$ = new Subject<void>();\n\tprotected unsubscribeTiles$ = new Subject<void>();\n\n\tconstructor() {\n\t\tTileGroup.tileGroupCount++;\n\t}\n\n\tonChange = (_: any) => { };\n\n\tonTouched = () => { };\n\n\tngAfterContentInit() {\n\t\tconst updateTiles = () => {\n\t\t\t// remove old subscriptions\n\t\t\tthis.unsubscribeTiles$.next();\n\n\t\t\t// react to changes\n\t\t\t// setTimeout to avoid ExpressionChangedAfterItHasBeenCheckedError\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.selectionTiles.forEach(tile => {\n\t\t\t\t\ttile.name = this.name;\n\t\t\t\t\ttile.change\n\t\t\t\t\t\t.pipe(takeUntil(this.unsubscribeTiles$))\n\t\t\t\t\t\t.subscribe(() => {\n\t\t\t\t\t\t\tthis.selected.emit({\n\t\t\t\t\t\t\t\tvalue: tile.value,\n\t\t\t\t\t\t\t\tselected: tile.selected,\n\t\t\t\t\t\t\t\tname: this.name\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthis.onChange(tile.value);\n\t\t\t\t\t\t});\n\t\t\t\t\ttile.multiple = this.multiple;\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\t\tupdateTiles();\n\n\t\tthis.selectionTiles.changes\n\t\t\t.pipe(takeUntil(this.unsubscribe$))\n\t\t\t.subscribe(_ => updateTiles());\n\t}\n\n\tngOnDestroy() {\n\t\tthis.unsubscribe$.next();\n\t\tthis.unsubscribe$.complete();\n\n\t\t// takes care of tile subscriptions when tile-group dies\n\t\tthis.unsubscribeTiles$.next();\n\t\tthis.unsubscribeTiles$.complete();\n\t}\n\n\twriteValue(value: any) {\n\t\tif (!this.selectionTiles) { return; }\n\t\tthis.selectionTiles.forEach(tile => {\n\t\t\tif (tile.value === value) {\n\t\t\t\ttile.selected = true;\n\t\t\t} else {\n\t\t\t\ttile.selected = false;\n\t\t\t}\n\t\t});\n\t}\n\n\tregisterOnChange(fn: any) {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any) {\n\t\tthis.onTouched = fn;\n\t}\n}\n","import {\n\tComponent,\n\tHostBinding,\n\tInput\n} from \"@angular/core\";\n\n/**\n * Build application's tiles using this component.\n *\n * [See demo](../../?path=/story/components-tiles--basic)\n *\n * ## Basic usage\n *\n * ```html\n * <cds-tile>\n * \t\ttile content\n * </cds-tile>\n * ```\n */\n@Component({\n\tselector: \"cds-tile, ibm-tile\",\n\ttemplate: `<ng-content></ng-content>`\n})\nexport class Tile {\n\t@HostBinding(\"class.cds--tile\") tileClass = true;\n\n\t@HostBinding(\"class.cds--tile--light\") get lightThemeEnabled() {\n\t\treturn this.theme === \"light\";\n\t}\n\n\t/**\n\t * @deprecated since v5 - Use `cdsLayer` directive instead\n\t * Set to `\"light\"` to apply the light style\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { Tile } from \"./tile.component\";\nimport { ClickableTile } from \"./clickable-tile.component\";\nimport { ExpandableTile } from \"./expandable-tile.component\";\nimport { SelectionTile } from \"./selection-tile.component\";\nimport { TileGroup } from \"./tile-group.component\";\nimport { I18nModule } from \"carbon-components-angular/i18n\";\nimport { LinkModule } from \"carbon-components-angular/link\";\n\n@NgModule({\n\tdeclarations: [\n\t\tTile,\n\t\tClickableTile,\n\t\tExpandableTile,\n\t\tSelectionTile,\n\t\tTileGroup\n\t],\n\texports: [\n\t\tTile,\n\t\tClickableTile,\n\t\tExpandableTile,\n\t\tSelectionTile,\n\t\tTileGroup\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tI18nModule,\n\t\tLinkModule\n\t]\n})\nexport class TilesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carbon-components-angular-tiles.mjs","sources":["../../src/tiles/clickable-tile.component.ts","../../src/tiles/expandable-tile.component.ts","../../src/tiles/selection-tile.component.ts","../../src/tiles/tile-group.component.ts","../../src/tiles/tile.component.ts","../../src/tiles/tiles.module.ts","../../src/tiles/carbon-components-angular-tiles.ts"],"sourcesContent":["import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tOptional\n} from \"@angular/core\";\nimport { Router } from \"@angular/router\";\n\n/**\n * Build application's clickable tiles using this component.\n *\n * ## Basic usage\n *\n * ```html\n * <cds-clickable-tile>\n * \t\ttile content\n * </cds-clickable-tile>\n * ```\n */\n@Component({\n\tselector: \"cds-clickable-tile, ibm-clickable-tile\",\n\ttemplate: `\n\t<a\n\t\tcdsLink\n\t\tclass=\"cds--tile cds--tile--clickable\"\n\t\t[ngClass]=\"{\n\t\t\t'cds--tile--light': theme === 'light',\n\t\t\t'cds--tile--disabled cds--link--disabled' : disabled\n\t\t}\"\n\t\ttabindex=\"0\"\n\t\t(click)=\"navigate($event)\"\n\t\t[attr.href]=\"disabled ? null : href\"\n\t\t[attr.target]=\"target\"\n\t\t[attr.aria-disabled]=\"disabled\">\n\t\t<ng-content></ng-content>\n\t</a>`\n})\nexport class ClickableTile {\n\t/**\n\t * @deprecated since v5 - Use `cdsLayer` directive instead\n\t * Set to `\"light\"` to apply the light style\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t/**\n\t * Sets the `href` attribute on the `cds-clickable-tile` element.\n\t */\n\t@Input() href = \"#\";\n\n\t/**\n\t * Sets the `target` attribute on the `cds-clickable-tile` element.\n\t */\n\t@Input() target: string;\n\n\t/**\n\t * Set to `true` to disable the clickable tile.\n\t */\n\t@Input() disabled = false;\n\n\t/**\n\t * Array of commands to send to the router when the link is activated\n\t * See: https://angular.io/api/router/Router#navigate\n\t */\n\t@Input() route: any[];\n\n\t/**\n\t * Router options. Used in conjunction with `route`\n\t * See: https://angular.io/api/router/Router#navigate\n\t */\n\t@Input() routeExtras: any;\n\n\t/**\n\t * Emits the navigation status promise when the link is activated\n\t */\n\t@Output() navigation = new EventEmitter<Promise<boolean>>();\n\n\tconstructor(@Optional() protected router: Router) {}\n\n\tnavigate(event) {\n\t\tif (this.router && this.route && !this.disabled) {\n\t\t\tevent.preventDefault();\n\t\t\tconst status = this.router.navigate(this.route, this.routeExtras);\n\t\t\tthis.navigation.emit(status);\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tElementRef,\n\tAfterContentInit\n} from \"@angular/core\";\nimport { I18n, Overridable } from \"carbon-components-angular/i18n\";\nimport { merge } from \"carbon-components-angular/utils\";\n\nexport interface ExpandableTileTranslations {\n\tEXPAND: string;\n\tCOLLAPSE: string;\n}\n\n@Component({\n\tselector: \"cds-expandable-tile, ibm-expandable-tile\",\n\ttemplate: `\n\t\t<button\n\t\t\tclass=\"cds--tile cds--tile--expandable\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tile--is-expanded' : expanded,\n\t\t\t\t'cds--tile--light': theme === 'light'\n\t\t\t}\"\n\t\t\t[ngStyle]=\"{'max-height': expandedHeight + 'px'}\"\n\t\t\ttype=\"button\"\n\t\t\t(click)=\"onClick()\">\n\t\t\t<div class=\"cds--tile__chevron\">\n\t\t\t\t<svg *ngIf=\"!expanded\" width=\"12\" height=\"7\" viewBox=\"0 0 12 7\" [attr.title]=\"expand.subject | async\" role=\"img\">\n\t\t\t\t\t<title>{{expand.subject | async}}</title>\n\t\t\t\t\t<path fill-rule=\"nonzero\" d=\"M6.002 5.55L11.27 0l.726.685L6.003 7 0 .685.726 0z\"/>\n\t\t\t\t</svg>\n\t\t\t\t<svg *ngIf=\"expanded\" width=\"12\" height=\"7\" viewBox=\"0 0 12 7\" [attr.title]=\"collapse.subject | async\" role=\"img\">\n\t\t\t\t\t<title>{{collapse.subject | async}}</title>\n\t\t\t\t\t<path fill-rule=\"nonzero\" d=\"M6.002 5.55L11.27 0l.726.685L6.003 7 0 .685.726 0z\"/>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div class=\"cds--tile-content\">\n\t\t\t\t<ng-content select=\".cds--tile-content__above-the-fold\"></ng-content>\n\t\t\t\t<ng-content select=\".cds--tile-content__below-the-fold\"></ng-content>\n\t\t\t</div>\n\t\t</button>\n\t`\n})\nexport class ExpandableTile implements AfterContentInit {\n\t/**\n\t * @deprecated since v5 - Use `cdsLayer` directive instead\n\t * Set to `\"light\"` to apply the light style\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t@Input() expanded = false;\n\t/**\n\t * Expects an object that contains some or all of:\n\t * ```\n\t * {\n\t *\t\t\"EXPAND\": \"Expand\",\n\t *\t\t\"COLLAPSE\": \"Collapse\",\n\t * }\n\t * ```\n\t */\n\t@Input()\n\tset translations(value: ExpandableTileTranslations) {\n\t\tconst valueWithDefaults = merge(this.i18n.getMultiple(\"TILES\"), value);\n\t\tthis.expand.override(valueWithDefaults.EXPAND);\n\t\tthis.collapse.override(valueWithDefaults.COLLAPSE);\n\t}\n\n\ttileMaxHeight = 0;\n\tcurrentExpandedHeight = 0;\n\telement = this.elementRef.nativeElement;\n\n\texpand = this.i18n.getOverridable(\"TILES.EXPAND\");\n\tcollapse = this.i18n.getOverridable(\"TILES.COLLAPSE\");\n\n\tconstructor(protected i18n: I18n, protected elementRef: ElementRef) {}\n\n\tngAfterContentInit() {\n\t\tthis.updateMaxHeight();\n\t}\n\n\tget expandedHeight() {\n\t\tconst tile = this.element.querySelector(\".cds--tile\");\n\t\tconst tilePadding\n\t\t\t= parseInt(getComputedStyle(tile).paddingBottom, 10) + parseInt(getComputedStyle(tile).paddingTop, 10);\n\t\tconst expandedHeight = this.tileMaxHeight + tilePadding;\n\t\tif (!isNaN(expandedHeight)) {\n\t\t\tthis.currentExpandedHeight = expandedHeight;\n\t\t}\n\t\treturn this.currentExpandedHeight;\n\t}\n\n\tupdateMaxHeight() {\n\t\tif (this.expanded) {\n\t\t\tthis.tileMaxHeight = this.element.querySelector(\".cds--tile-content\").getBoundingClientRect().height;\n\t\t} else {\n\t\t\tthis.tileMaxHeight = this.element.querySelector(\".cds--tile-content__above-the-fold\").getBoundingClientRect().height;\n\t\t}\n\t}\n\n\tonClick() {\n\t\tthis.expanded = !this.expanded;\n\t\tthis.updateMaxHeight();\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tViewChild,\n\tHostListener,\n\tAfterViewInit\n} from \"@angular/core\";\nimport { I18n } from \"carbon-components-angular/i18n\";\n\n@Component({\n\tselector: \"cds-selection-tile, ibm-selection-tile\",\n\ttemplate: `\n\t\t<input\n\t\t\t#input\n\t\t\t[attr.tabindex]=\"disabled ? null : 0\"\n\t\t\tclass=\"cds--tile-input\"\n\t\t\t[id]=\"id\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[type]=\"(multiple ? 'checkbox': 'radio')\"\n\t\t\t[value]=\"value\"\n\t\t\t[name]=\"name\"\n\t\t\t(change)=\"onChange($event)\"/>\n\t\t<label\n\t\t\tclass=\"cds--tile cds--tile--selectable\"\n\t\t\t[for]=\"id\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--tile--is-selected' : selected,\n\t\t\t\t'cds--tile--light': theme === 'light',\n\t\t\t\t'cds--tile--disabled' : disabled\n\t\t\t}\"\n\t\t\t[attr.aria-label]=\"i18n.get('TILES.TILE') | async\">\n\t\t\t<div class=\"cds--tile__checkmark\">\n\t\t\t\t<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n\t\t\t\t\t<path d=\"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16zm3.646-10.854L6.75 10.043 4.354 7.646l-.708.708 3.104 3.103 5.604-5.603-.708-.708z\"\n\t\t\t\t\t\tfill-rule=\"evenodd\"/>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div class=\"cds--tile-content\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</label>\n\t`\n})\nexport class SelectionTile implements AfterViewInit {\n\tstatic tileCount = 0;\n\n\t/**\n\t * @deprecated since v5 - Use `cdsLayer` directive instead\n\t * Set to `\"light\"` to apply the light style\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t/**\n\t * The unique id for the input.\n\t */\n\t@Input() id = `tile-${SelectionTile.tileCount}`;\n\n\t/**\n\t * Updating the state of the input to match the state of the parameter passed in.\n\t * Set to `true` if this tile should be selected.\n\t */\n\t@Input() set selected(value: boolean) {\n\t\t// If an initial selected value is set before input exists, we save\n\t\t// the value and check again when input exists in `AfterViewInit`.\n\t\tthis._selected = value ? true : null;\n\t\tif (this.input) {\n\t\t\tthis.input.nativeElement.checked = this._selected;\n\t\t}\n\t}\n\n\tget selected() {\n\t\treturn this.input ? this.input.nativeElement.checked : false;\n\t}\n\t/**\n\t * The value for the tile. Returned via `ngModel` or `selected` event on the containing `TileGroup`.\n\t */\n\t@Input() value: string;\n\t/**\n\t * Internal event used to notify the containing `TileGroup` of changes.\n\t */\n\t@Output() change: EventEmitter<Event> = new EventEmitter();\n\n\t/**\n\t * Set to `true` to disable the selection tile.\n\t */\n\t@Input() disabled = false;\n\n\t/**\n\t * Set by the containing `TileGroup`. Used for the `name` property on the input.\n\t */\n\tname = \"tile-group-unbound\";\n\t/**\n\t * Defines whether or not the `SelectionTile` supports selecting multiple tiles as opposed to single\n\t * tile selection.\n\t */\n\tmultiple = true;\t// Set to true because of the way tile group sets it up.\n\t\t\t\t\t\t// If it is first undefined then set to true, the type will change from radio to checkbox and deselects the inputs.\n\n\t@ViewChild(\"input\", { static: true }) input;\n\n\t// If an initial selected value is set before input exists, we save\n\t// the value and check again when input exists in `AfterViewInit`.\n\tprotected _selected = null;\n\n\tconstructor(public i18n: I18n) {\n\t\tSelectionTile.tileCount++;\n\t}\n\n\tngAfterViewInit() {\n\t\tif (this.input) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.input.nativeElement.checked = this._selected;\n\t\t\t});\n\t\t}\n\t}\n\n\t@HostListener(\"keydown\", [\"$event\"])\n\tkeyboardInput(event) {\n\t\tif (event.key === \"Enter\" || event.key === \"Spacebar\" || event.key === \" \") {\n\t\t\tthis.selected = !this.selected;\n\t\t\tthis.change.emit(event);\n\t\t}\n\t}\n\n\tonChange(event) {\n\t\tthis.change.emit(event);\n\t}\n}\n\n\n","import {\n\tComponent,\n\tAfterContentInit,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tHostBinding,\n\tContentChildren,\n\tQueryList,\n\tOnDestroy,\n\tTemplateRef\n} from \"@angular/core\";\nimport { SelectionTile } from \"./selection-tile.component\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { TileSelection } from \"./tile-selection.interface\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\n@Component({\n\tselector: \"cds-tile-group, ibm-tile-group\",\n\ttemplate: `\n\t\t<fieldset>\n\t\t\t<legend *ngIf=\"legend\" class=\"cds--label\">\n\t\t\t\t<ng-template *ngIf=\"isTemplate(legend); else legendLabel;\" [ngTemplateOutlet]=\"legend\"></ng-template>\n\t\t\t\t<ng-template #legendLabel>{{legend}}</ng-template>\n\t\t\t</legend>\n\t\t\t<ng-content select=\"ibm-selection-tile,cds-selection-tile\"></ng-content>\n\t\t</fieldset>`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: TileGroup,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class TileGroup implements AfterContentInit, OnDestroy {\n\tstatic tileGroupCount = 0;\n\t/**\n\t * The tile group `name`\n\t */\n\t@Input() name = `tile-group-${TileGroup.tileGroupCount}`;\n\t/**\n\t * Set to `true` to support multiple tile selection\n\t */\n\t@Input() multiple = false;\n\n\t@Input() legend: string | TemplateRef<any>;\n\n\t/**\n\t * Emits an event when the tile selection changes.\n\t *\n\t * Emits an object that looks like:\n\t * ```javascript\n\t * {\n\t * \tvalue: \"something\",\n\t * \tselected: true,\n\t * \tname: \"tile-group-1\"\n\t * }\n\t * ```\n\t */\n\t@Output() selected: EventEmitter<TileSelection> = new EventEmitter();\n\n\t@HostBinding(\"class.cds--tile-group\") tileGroupClass = true;\n\n\t@ContentChildren(SelectionTile) selectionTiles: QueryList<SelectionTile>;\n\n\tprotected unsubscribe$ = new Subject<void>();\n\tprotected unsubscribeTiles$ = new Subject<void>();\n\n\tconstructor() {\n\t\tTileGroup.tileGroupCount++;\n\t}\n\n\tonChange = (_: any) => { };\n\n\tonTouched = () => { };\n\n\tngAfterContentInit() {\n\t\tconst updateTiles = () => {\n\t\t\t// remove old subscriptions\n\t\t\tthis.unsubscribeTiles$.next();\n\n\t\t\t// react to changes\n\t\t\t// setTimeout to avoid ExpressionChangedAfterItHasBeenCheckedError\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.selectionTiles.forEach(tile => {\n\t\t\t\t\ttile.name = this.name;\n\t\t\t\t\ttile.change\n\t\t\t\t\t\t.pipe(takeUntil(this.unsubscribeTiles$))\n\t\t\t\t\t\t.subscribe(() => {\n\t\t\t\t\t\t\tthis.selected.emit({\n\t\t\t\t\t\t\t\tvalue: tile.value,\n\t\t\t\t\t\t\t\tselected: tile.selected,\n\t\t\t\t\t\t\t\tname: this.name\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthis.onChange(tile.value);\n\t\t\t\t\t\t});\n\t\t\t\t\ttile.multiple = this.multiple;\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\t\tupdateTiles();\n\n\t\tthis.selectionTiles.changes\n\t\t\t.pipe(takeUntil(this.unsubscribe$))\n\t\t\t.subscribe(_ => updateTiles());\n\t}\n\n\tngOnDestroy() {\n\t\tthis.unsubscribe$.next();\n\t\tthis.unsubscribe$.complete();\n\n\t\t// takes care of tile subscriptions when tile-group dies\n\t\tthis.unsubscribeTiles$.next();\n\t\tthis.unsubscribeTiles$.complete();\n\t}\n\n\twriteValue(value: any) {\n\t\tif (!this.selectionTiles) { return; }\n\t\tthis.selectionTiles.forEach(tile => {\n\t\t\tif (tile.value === value) {\n\t\t\t\ttile.selected = true;\n\t\t\t} else {\n\t\t\t\ttile.selected = false;\n\t\t\t}\n\t\t});\n\t}\n\n\tregisterOnChange(fn: any) {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any) {\n\t\tthis.onTouched = fn;\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n}\n","import {\n\tComponent,\n\tHostBinding,\n\tInput\n} from \"@angular/core\";\n\n/**\n * Build application's tiles using this component.\n *\n * [See demo](../../?path=/story/components-tiles--basic)\n *\n * ## Basic usage\n *\n * ```html\n * <cds-tile>\n * \t\ttile content\n * </cds-tile>\n * ```\n */\n@Component({\n\tselector: \"cds-tile, ibm-tile\",\n\ttemplate: `<ng-content></ng-content>`\n})\nexport class Tile {\n\t@HostBinding(\"class.cds--tile\") tileClass = true;\n\n\t@HostBinding(\"class.cds--tile--light\") get lightThemeEnabled() {\n\t\treturn this.theme === \"light\";\n\t}\n\n\t/**\n\t * @deprecated since v5 - Use `cdsLayer` directive instead\n\t * Set to `\"light\"` to apply the light style\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { Tile } from \"./tile.component\";\nimport { ClickableTile } from \"./clickable-tile.component\";\nimport { ExpandableTile } from \"./expandable-tile.component\";\nimport { SelectionTile } from \"./selection-tile.component\";\nimport { TileGroup } from \"./tile-group.component\";\nimport { I18nModule } from \"carbon-components-angular/i18n\";\nimport { LinkModule } from \"carbon-components-angular/link\";\n\n@NgModule({\n\tdeclarations: [\n\t\tTile,\n\t\tClickableTile,\n\t\tExpandableTile,\n\t\tSelectionTile,\n\t\tTileGroup\n\t],\n\texports: [\n\t\tTile,\n\t\tClickableTile,\n\t\tExpandableTile,\n\t\tSelectionTile,\n\t\tTileGroup\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tI18nModule,\n\t\tLinkModule\n\t]\n})\nexport class TilesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|