@synergy-design-system/angular
Version:
Angular wrappers for the Synergy Design System
1 lines • 9.09 kB
Source Map (JSON)
{"version":3,"file":"synergy-design-system-angular-components-tab-group.mjs","sources":["../../components/tab-group/tab-group.component.ts","../../components/tab-group/synergy-design-system-angular-components-tab-group.ts"],"sourcesContent":["// ---------------------------------------------------------------------\n// 🔒 AUTOGENERATED @synergy-design-system/angular wrappers for @synergy-design-system/components\n// Please do not edit this file directly!\n// It will get recreated when running pnpm build.\n// ---------------------------------------------------------------------\nimport {\n Component,\n ElementRef,\n NgZone,\n Input,\n Output,\n EventEmitter,\n AfterContentInit,\n} from '@angular/core';\nimport type { SynTabGroup } from '@synergy-design-system/components';\nimport type { SynTabShowEvent } from '@synergy-design-system/components';\nimport type { SynTabHideEvent } from '@synergy-design-system/components';\nimport '@synergy-design-system/components/components/tab-group/tab-group.js';\n\n/**\n * @summary Tab groups organize content into a container that shows one section at a time.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-tab-group--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon-button\n *\n * @slot - Used for grouping tab panels in the tab group. Must be `<syn-tab-panel>` elements.\n * @slot nav - Used for grouping tabs in the tab group. Must be `<syn-tab>` elements.\n *\n * @event {{ name: String }} syn-tab-show - Emitted when a tab is shown. The payload of the event returns the \"panel\" attribute of the shown tab.\n * @event {{ name: String }} syn-tab-hide - Emitted when a tab is hidden. The payload of the event returns the \"panel\" attribute of the hidden tab.\n *\n * @csspart base - The component's base wrapper.\n * @csspart nav - The tab group's navigation container where tabs are slotted in.\n * @csspart tabs - The container that wraps the tabs.\n * @csspart active-tab-indicator - The line that highlights the currently selected tab.\n * @csspart body - The tab group's body where tab panels are slotted in.\n * @csspart scroll-button - The previous/next scroll buttons that show when tabs are scrollable, an `<syn-icon-button>`.\n * @csspart scroll-button--start - The starting scroll button.\n * @csspart scroll-button--end - The ending scroll button.\n * @csspart scroll-button__base - The scroll button's exported `base` part.\n *\n * @cssproperty --indicator-color - The color of the active tab indicator.\n * @cssproperty --indicator-width - The width of the active tab indicator.\n * @cssproperty --track-color - The color of the indicator's track (the line that separates tabs from panels).\n * @cssproperty --track-width - The width of the indicator's track (the line that separates tabs from panels).\n */\n@Component({\n selector: 'syn-tab-group',\n standalone: true,\n template: '<ng-content></ng-content>',\n})\nexport class SynTabGroupComponent {\n public nativeElement: SynTabGroup;\n private _ngZone: NgZone;\n\n constructor(e: ElementRef, ngZone: NgZone) {\n this.nativeElement = e.nativeElement;\n this._ngZone = ngZone;\n this.nativeElement.addEventListener(\n 'syn-tab-show',\n (e: SynTabShowEvent) => {\n this.synTabShowEvent.emit(e);\n },\n );\n this.nativeElement.addEventListener(\n 'syn-tab-hide',\n (e: SynTabHideEvent) => {\n this.synTabHideEvent.emit(e);\n },\n );\n }\n\n /**\n * The placement of the tabs.\n */\n @Input()\n set placement(v: SynTabGroup['placement']) {\n this._ngZone.runOutsideAngular(() => (this.nativeElement.placement = v));\n }\n get placement(): SynTabGroup['placement'] {\n return this.nativeElement.placement;\n }\n\n /**\n* When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel.\n* When set to\nmanual, the tab will receive focus but will not show until the user presses spacebar or enter.\n */\n @Input()\n set activation(v: SynTabGroup['activation']) {\n this._ngZone.runOutsideAngular(() => (this.nativeElement.activation = v));\n }\n get activation(): SynTabGroup['activation'] {\n return this.nativeElement.activation;\n }\n\n /**\n * Disables the scroll arrows that appear when tabs overflow.\n */\n @Input()\n set noScrollControls(v: '' | SynTabGroup['noScrollControls']) {\n this._ngZone.runOutsideAngular(\n () => (this.nativeElement.noScrollControls = v === '' || v),\n );\n }\n get noScrollControls(): SynTabGroup['noScrollControls'] {\n return this.nativeElement.noScrollControls;\n }\n\n /**\n * Draws the tab group as a contained element.\n */\n @Input()\n set contained(v: '' | SynTabGroup['contained']) {\n this._ngZone.runOutsideAngular(\n () => (this.nativeElement.contained = v === '' || v),\n );\n }\n get contained(): SynTabGroup['contained'] {\n return this.nativeElement.contained;\n }\n\n /**\n * Draws the tab group with edges instead of roundings.\n * Takes only effect if used with the 'contained' property\n */\n @Input()\n set sharp(v: '' | SynTabGroup['sharp']) {\n this._ngZone.runOutsideAngular(\n () => (this.nativeElement.sharp = v === '' || v),\n );\n }\n get sharp(): SynTabGroup['sharp'] {\n return this.nativeElement.sharp;\n }\n\n /**\n * Prevent scroll buttons from being hidden when inactive.\n */\n @Input()\n set fixedScrollControls(v: '' | SynTabGroup['fixedScrollControls']) {\n this._ngZone.runOutsideAngular(\n () => (this.nativeElement.fixedScrollControls = v === '' || v),\n );\n }\n get fixedScrollControls(): SynTabGroup['fixedScrollControls'] {\n return this.nativeElement.fixedScrollControls;\n }\n\n /**\n * Emitted when a tab is shown.\n * The payload of the event returns the \"panel\" attribute of the shown tab.\n */\n @Output() synTabShowEvent = new EventEmitter<SynTabShowEvent>();\n\n /**\n * Emitted when a tab is hidden.\n * The payload of the event returns the \"panel\" attribute of the hidden tab.\n */\n @Output() synTabHideEvent = new EventEmitter<SynTabHideEvent>();\n}\n\nexport type { SynTabShowEvent } from '@synergy-design-system/components';\nexport type { SynTabHideEvent } from '@synergy-design-system/components';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './tab-group.component';\n"],"names":[],"mappings":"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"}