@eui/showcase 21.0.0-next.5 → 21.0.0-next.50

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.
@@ -1 +1 @@
1
- {"version":3,"file":"eui-showcase.mjs","sources":["../../src/lib/configuration.service.ts","../../src/lib/components/doc-page/doc-page-code.component.ts","../../src/lib/components/doc-page/doc-page-code.component.html","../../src/lib/components/doc-page/doc-page-dev-guide.component.ts","../../src/lib/components/doc-page/doc-page-dev-guide.component.html","../../src/lib/components/doc-page/doc-page-dev-guide-v2.component.ts","../../src/lib/components/playground/stackblitz.files.ts","../../src/lib/components/playground/stackblitz.service.ts","../../src/lib/components/doc-sample/doc-sample.component.ts","../../src/lib/components/doc-sample/doc-sample.component.html","../../src/lib/components/doc-section/doc-section.component.ts","../../src/lib/components/doc-section/doc-section.component.html","../../src/lib/components/doc-page/doc-page.component.ts","../../src/lib/components/doc-page/doc-page.component.html","../../src/lib/components/doc-page/doc-page-v2.component.ts","../../src/lib/components/doc-page/doc-page-v2.component.html","../../src/lib/components/doc-page-code-fab/doc-page-code-fab.component.ts","../../src/lib/components/doc-page-code-fab/doc-page-code-fab.component.html","../../src/lib/components/doc-page-code-modal/doc-page-code-modal.component.ts","../../src/lib/components/doc-page-code-modal/doc-page-code-modal.component.html","../../src/lib/components/doc-page-pattern/doc-page-pattern.component.ts","../../src/lib/components/doc-page-pattern/doc-page-pattern.component.html","../../src/lib/components/doc-page-pattern-sample/doc-page-pattern-sample-refs.component.ts","../../src/lib/components/doc-page-pattern-sample/doc-page-pattern-sample-refs.component.html","../../src/lib/components/doc-page-pattern-sample/doc-page-pattern-sample.component.ts","../../src/lib/components/doc-page-pattern-sample/doc-page-pattern-sample.component.html","../../src/lib/components/doc-page-pattern-simple/doc-page-pattern-simple.component.ts","../../src/lib/components/doc-page-pattern-simple/doc-page-pattern-simple.component.html","../../src/lib/components/doc-sample-api/doc-sample-api.component.ts","../../src/lib/components/doc-sample-api/doc-sample-api.component.html","../../src/lib/components/doc-section-code/doc-section-code.component.ts","../../src/lib/components/doc-section-code/doc-section-code.component.html","../../src/lib/components/eui-code-highlighter/eui-code-highlighter.component.ts","../../src/lib/components/lorem-ipsum/lorem-ipsum-sample.component.ts","../../src/lib/components/lorem-ipsum/lorem-ipsum-sample.component.html","../../src/lib/components/playground/playground.component.ts","../../src/lib/components/playground/playground.component.html","../../src/lib/components/index.ts","../../src/eui-showcase.ts"],"sourcesContent":["import { Injectable, Signal, signal, WritableSignal } from '@angular/core';\n\n/**\n * This interface describes the basis of the configuration structure of the\n * service.\n */\nexport interface Configuration {\n /**\n * default value for all playground\n */\n renderPlayground: boolean;\n}\n\n/**\n * A service to update and configure the Showcase module state.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigurationService<T extends Configuration> {\n /**\n * A single signal to hold the configuration service state. The state is\n * extensible to user's preferences through generics.\n *\n * Default value for renderPlayground will be true.\n */\n private state: WritableSignal<T> = signal({ renderPlayground: true } as T);\n\n /**\n * Update the state of configuration. Deep merge is not available thus if\n * a deep update needs to happen make sure you carry other parts of the state\n * too.\n * e.g.\n * Given state { rootA, rootB, rootC: { subC_A: {a: 1}, subC_B: {b: 1} } }\n * the update({ rootC: { subC_A: {a: 1, extra: null }}})\n * will result in\n * { rootA, rootB, rootC: { subC_A: {a: 1, extra: null } } }\n *\n * @param partialState\n */\n update(partialState: Partial<T>): void {\n this.state.set({ ...this.state(), ...partialState });\n }\n\n /**\n * returns the configuration state as a readonly signal\n */\n get configuration(): Signal<T> {\n return this.state.asReadonly();\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\n\n@Component({\n selector: 'eui-showcase-doc-page-code',\n templateUrl: 'doc-page-code.component.html',\n imports: [\n ...EUI_ICON,\n ...EUI_BUTTON,\n ],\n})\nexport class DocPageCodeComponent {\n @Input() codeFolder = '';\n @Input() showcase = 'ux';\n\n onOpenCode(): void {\n // eslint-disable-next-line max-len\n const sourceRootPath = `https://sdlc.webcloud.ec.europa.eu/csdr/eui/app-eui-showcase-${this.showcase}/-/blob/master/src/app/`;\n window.open(sourceRootPath + this.codeFolder, '_blank');\n }\n}\n","<button type=\"button\" euiButton euiCTAButton (click)=\"onOpenCode()\">\n <span euiLabel>Check the code</span>\n <eui-icon-svg icon=\"eui-code\" />\n</button>\n","import { Component, ViewEncapsulation, OnInit, AfterViewInit, OnDestroy, HostBinding, Input, inject, SecurityContext, ChangeDetectorRef } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\nimport { MarkdownModule, MarkdownService } from 'ngx-markdown';\nimport type { Tokens } from 'marked';\nimport { EUI_PAGE } from '@eui/components/eui-page';\nimport { NgClass } from '@angular/common';\n\n@Component({\n selector: 'eui-showcase-doc-page-dev-guide',\n templateUrl: './doc-page-dev-guide.component.html',\n styleUrls: ['./shared.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgClass,\n ...EUI_PAGE,\n MarkdownModule, // .forRoot({ sanitize: SecurityContext.NONE }),\n ],\n})\nexport class DocPageDevGuideComponent implements OnDestroy, OnInit, AfterViewInit {\n @HostBinding('class') cssClass = 'eui-doc-page';\n\n @Input() rootDocsFolder = 'docs';\n @Input() showcaseName = 'showcase-dev-guide';\n\n markdown: string;\n isFirst: boolean;\n headers: Array<{ id: string, label: string, level: number }> = [];\n fragmentId: string;\n private subscription: Subscription;\n private markdownService = inject(MarkdownService);\n private http = inject(HttpClient);\n private router = inject(Router);\n private route = inject(ActivatedRoute);\n private cdRef = inject((ChangeDetectorRef));\n\n ngOnInit(): void {\n this.subscription = this.route.url.subscribe((u) => {\n this._loadMdContent(`/${this.rootDocsFolder}/` + u.join('/'));\n })\n\n /**\n * callback for heading renderer. It will be called for each heading in the markdown.\n *\n * @param text the encoded heading text\n * @param level the heading level\n * @param raw the raw heading text (decoded)\n */\n // TODO v21\n // this.markdownService.renderer.heading = ({ raw, text, depth }: Tokens.Heading): string => {\n // if (depth === 2 || depth === 3) {\n // const newHeader = `<h${depth} id=\"${raw}\">${text}</h${depth}>`;\n // if (text.indexOf('<a ') === -1 && text.indexOf('<em>') === -1) {\n // this.headers.push({ id: raw, label: raw, level: depth });\n // }\n // return newHeader;\n // }\n // return `<h${depth}>${text}</h${depth}>`;\n // };\n\n this.markdownService.renderer.heading = (text: string, level: number, raw: string) => {\n if (level === 2 || level === 3) {\n const newHeader = `<h${level} id=\"${raw}\">${text}</h${level}>`;\n if (text.indexOf('<a ') === -1 && text.indexOf('<em>') === -1) {\n this.headers.push({ id: raw, label: raw, level: level });\n }\n return newHeader;\n }\n return `<h${level}>${text}</h${level}>`;\n }\n\n // this.markdownService.renderer.heading = ({ text, level, raw }: Tokens.Heading) => {\n // const escapedText = text.toLowerCase().replace(/[^\\w]+/g, '-');\n // return '<h' + level + '>' +\n // '<a name=\"' + escapedText + '\" class=\"anchor\" href=\"#' + escapedText + '\">' +\n // '<span class=\"header-link\"></span>' +\n // '</a>' + text +\n // '</h' + level + '>';\n // }; \n }\n\n ngAfterViewInit(): void {\n this.route.fragment.pipe(take(1)).subscribe((fragment) => {\n if (fragment) {\n setTimeout(() => {\n this.fragmentId = fragment;\n const fgm = document.getElementById(fragment);\n fgm.scrollIntoView();\n }, 1);\n }\n });\n }\n\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n onNavClick(fragmentId: string): void {\n this._scrollToFragment(fragmentId);\n }\n\n private _loadMdContent(url?: string): void {\n let mdPath, contextRoot;\n const currentUrl = window.location;\n const pathNameArray = currentUrl.pathname.split('/');\n\n this.headers = [];\n\n if (url) {\n mdPath = url.substr(1);\n } else {\n mdPath = pathNameArray.slice(pathNameArray.length - 3).join('/');\n }\n\n contextRoot = `${currentUrl.protocol}//${currentUrl.host}`;\n if (pathNameArray[1] !== this.showcaseName) {\n contextRoot += `/${pathNameArray[1]}`;\n }\n\n const filePath = `${contextRoot}/assets/${mdPath}.md`;\n\n this.http.get<string>(filePath, { responseType: 'text' as 'json' }).pipe(\n map((md) => md.replace(new RegExp(`assets/${this.rootDocsFolder}` , 'g'), `${contextRoot}/assets/${this.rootDocsFolder}`)),\n ).subscribe((md) => {\n this.markdown = md;\n this.cdRef.detectChanges();\n const top = document.getElementById('top');\n top.scrollIntoView();\n });\n }\n\n private _scrollToFragment(fragmentId: string): void {\n // forcing reload when deep link with fragment\n this.router.onSameUrlNavigation = 'reload';\n this.router.navigate(['.'], { relativeTo: this.route, fragment: fragmentId });\n\n if (fragmentId) {\n setTimeout(() => {\n const fgm = document.getElementById(fragmentId);\n if (fgm) {\n fgm.scrollIntoView();\n }\n });\n }\n }\n}\n","<eui-page>\n <eui-page-content>\n <eui-page-columns>\n <eui-page-column>\n <eui-page-column-body>\n <span id=\"top\"></span>\n <markdown class=\"doc-content\" [data]=\"markdown\"></markdown>\n </eui-page-column-body>\n </eui-page-column>\n\n <eui-page-column class=\"eui-u-hidden-mobile\"\n label=\"On this page\"\n euiSizeVariant=\"4xl\"\n isCollapsible\n isRightCollapsible>\n\n <eui-page-column-body>\n <div class=\"doc-page-navigation-content\" tabindex=\"0\">\n <ul class=\"doc-page-navigation\">\n @for (header of headers; track header.id) {\n <li class=\"doc-page-navigation-item\" (click)=\"onNavClick(header.id)\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === header.id\">\n <span [ngClass]=\"header.level === 3 ? 'eui-u-ml-m eui-u-f-regular': ''\">\n {{header.label}}\n </span>\n </li>\n }\n </ul>\n </div>\n </eui-page-column-body>\n\n </eui-page-column>\n\n </eui-page-columns>\n </eui-page-content>\n</eui-page>\n","import { Component, ViewEncapsulation, OnInit, AfterViewInit, OnDestroy, HostBinding, Input, inject, SecurityContext } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\nimport { MarkdownModule, MarkdownService } from 'ngx-markdown';\nimport type { Tokens } from 'marked';\nimport { EUI_PAGE } from '@eui/components/eui-page-v2';\nimport { NgClass } from '@angular/common';\n\n@Component({\n selector: 'eui-showcase-doc-page-dev-guide-v2',\n templateUrl: './doc-page-dev-guide.component.html',\n styleUrls: ['./shared-v2.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgClass,\n ...EUI_PAGE,\n MarkdownModule, // .forRoot({ sanitize: SecurityContext.NONE }),\n ],\n})\nexport class DocPageDevGuideComponentV2 implements OnDestroy, OnInit, AfterViewInit {\n @HostBinding('class') cssClass = 'eui-doc-page';\n\n @Input() rootDocsFolder = 'docs';\n @Input() showcaseName = 'showcase-dev-guide';\n\n markdown: string;\n isFirst: boolean;\n headers: Array<{ id: string, label: string, level: number }> = [];\n fragmentId: string;\n private subscription: Subscription;\n private markdownService = inject(MarkdownService);\n private http = inject(HttpClient);\n private router = inject(Router);\n private route = inject(ActivatedRoute);\n\n ngOnInit(): void {\n this.subscription = this.route.url.subscribe((u) => {\n this._loadMdContent(`/${this.rootDocsFolder}/` + u.join('/'));\n })\n\n /**\n * callback for heading renderer. It will be called for each heading in the markdown.\n *\n * @param text the encoded heading text\n * @param level the heading level\n * @param raw the raw heading text (decoded)\n */\n // TODO v21\n // this.markdownService.renderer.heading = ({ raw, text, depth }: Tokens.Heading): string => {\n // if (depth === 2 || depth === 3) {\n // const newHeader = `<h${depth} id=\"${raw}\">${text}</h${depth}>`;\n // if (text.indexOf('<a ') === -1 && text.indexOf('<em>') === -1) {\n // this.headers.push({ id: raw, label: raw, level: depth });\n // }\n // return newHeader;\n // }\n // return `<h${depth}>${text}</h${depth}>`;\n // };\n }\n\n ngAfterViewInit(): void {\n this.route.fragment.pipe(take(1)).subscribe((fragment) => {\n if (fragment) {\n setTimeout(() => {\n this.fragmentId = fragment;\n const fgm = document.getElementById(fragment);\n fgm.scrollIntoView();\n }, 1);\n }\n });\n }\n\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n onNavClick(fragmentId: string): void {\n this._scrollToFragment(fragmentId);\n }\n\n private _loadMdContent(url?: string): void {\n let mdPath, contextRoot;\n const currentUrl = window.location;\n const pathNameArray = currentUrl.pathname.split('/');\n\n this.headers = [];\n\n if (url) {\n mdPath = url.substr(1);\n } else {\n mdPath = pathNameArray.slice(pathNameArray.length - 3).join('/');\n }\n\n contextRoot = `${currentUrl.protocol}//${currentUrl.host}`;\n if (pathNameArray[1] !== this.showcaseName) {\n contextRoot += `/${pathNameArray[1]}`;\n }\n\n const filePath = `${contextRoot}/assets/${mdPath}.md`;\n\n this.http.get<string>(filePath, { responseType: 'text' as 'json' }).pipe(\n map((md) => md.replace(new RegExp(`assets/${this.rootDocsFolder}` , 'g'), `${contextRoot}/assets/${this.rootDocsFolder}`)),\n ).subscribe((md) => {\n this.markdown = md;\n const top = document.getElementById('top');\n top.scrollIntoView();\n });\n }\n\n private _scrollToFragment(fragmentId: string): void {\n // forcing reload when deep link with fragment\n this.router.onSameUrlNavigation = 'reload';\n this.router.navigate(['.'], { relativeTo: this.route, fragment: fragmentId });\n\n if (fragmentId) {\n setTimeout(() => {\n const fgm = document.getElementById(fragmentId);\n if (fgm) {\n fgm.scrollIntoView();\n }\n });\n }\n }\n}\n","export const polyfillsFile = 'import \\'zone.js\\';';\nexport const mainFile = (moduleName: string, componentName: string): string => `\nimport './polyfills';\n${moduleName ? 'import { platformBrowserDynamic } from \\'@angular/platform-browser-dynamic\\';' : ''}\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { BrowserModule${!moduleName ? ', bootstrapApplication': ''} } from '@angular/platform-browser';\nimport { InjectionToken, ${!moduleName ? 'importProvidersFrom': 'NgModule'} } from '@angular/core';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { reducers as coreReducers, CoreModule, EUI_CONFIG_TOKEN } from '@eui/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\n${moduleName ? `import { ${componentName}, ${moduleName} } from './component';` : `import { ${componentName} } from './component';`}\n\nexport const REDUCER_TOKEN = new InjectionToken<any>('Registered Reducers');\nconst rootReducer = Object.assign({}, coreReducers, {});\n${moduleName ? `\n@NgModule({\n imports: [\n BrowserModule,\n CoreModule.forRoot(),\n TranslateModule.forRoot(),\n ${moduleName},\n ],\n providers: [\n provideHttpClient(withInterceptorsFromDi()),\n {\n provide: REDUCER_TOKEN,\n deps: [],\n useFactory: () => rootReducer ,\n },\n {\n provide: EUI_CONFIG_TOKEN,\n useValue: {\n appConfig: {\n global: {},\n },\n environment: {}\n }\n }\n ],\n bootstrap: [${componentName}],\n})\nexport class RootModule {\n}\n\nplatformBrowserDynamic().bootstrapModule(RootModule).then(ref => {\n // Ensure Angular destroys itself on hot reloads.\n if (window['ngRef']) {\n window['ngRef'].destroy();\n }\n window['ngRef'] = ref;\n\n // Otherwise, log the boot error\n}).catch(err => console.error(err));\n`\n :\n`\nbootstrapApplication(${componentName}, {\n providers: [\n provideHttpClient(withInterceptorsFromDi()),\n {\n provide: REDUCER_TOKEN,\n deps: [],\n useFactory: () => rootReducer,\n },\n {\n provide: EUI_CONFIG_TOKEN,\n useValue: {\n appConfig: {\n global: {},\n },\n environment: {},\n },\n },\n importProvidersFrom(\n BrowserAnimationsModule,\n BrowserModule,\n CoreModule.forRoot(),\n TranslateModule.forRoot(),\n ),\n ],\n});\n`}\n`;\nexport const moduleFile = (componentName: string, m: { name: string; path: string }[] = []): string =>\n `\nimport { NgModule, InjectionToken } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { APP_BASE_HREF } from '@angular/common';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { EuiAllModule } from '@eui/components';\nimport {\n reducers as coreReducers,\n CoreModule as EuiCoreModule,\n translateConfig,\n CoreModuleEffects,\n EUI_CONFIG_TOKEN,\n} from '@eui/core';\n\nimport { ${componentName} } from './component';\n` +\n m.map((i) => `import { ${i.name} } from '${i.path}';\\n`).join('') +\n `\n\nexport const REDUCER_TOKEN = new InjectionToken<any>('Registered Reducers');\n\n@NgModule({\n imports: [\n BrowserAnimationsModule,\n CommonModule,\n BrowserModule,\n FormsModule,\n EuiAllModule,\n RouterModule.forRoot([]),\n EuiCoreModule.forRoot(),\n EffectsModule.forRoot([...CoreModuleEffects]),\n TranslateModule.forRoot(translateConfig),\n ` +\n m.map((i) => `${i.name},`).join('') +\n `\n ],\n declarations: [${componentName}],\n providers: [\n provideHttpClient(withInterceptorsFromDi()),\n {\n provide: REDUCER_TOKEN,\n deps: [],\n useFactory: () => Object.assign({}, coreReducers),\n },\n {\n provide: EUI_CONFIG_TOKEN,\n useValue: { appConfig: {}, environment: {} }\n },\n {\n provide: APP_BASE_HREF, useValue: '/'\n }\n ],\n bootstrap: [${componentName}],\n})\nexport class AppModule {}\n`;\nexport const angularJsonFile = `\n{\n \"$schema\": \"./node_modules/@angular/cli/lib/config/schema.json\",\n \"version\": 1,\n \"newProjectRoot\": \"projects\",\n \"projects\": {\n \"demo\": {\n \"architect\": {\n \"build\": {\n \"builder\": \"@angular-devkit/build-angular:application\",\n \"configurations\": {\n \"development\": {\n \"extractLicenses\": false,\n \"namedChunks\": true,\n \"optimization\": false,\n \"sourceMap\": true\n },\n \"production\": {\n \"aot\": true,\n \"extractLicenses\": true,\n \"namedChunks\": false,\n \"optimization\": true,\n \"outputHashing\": \"all\",\n \"sourceMap\": false\n }\n },\n \"options\": {\n \"index\": \"src/index.html\",\n \"browser\": \"src/main.ts\",\n \"outputPath\": \"dist/demo\",\n \"scripts\": [],\n \"assets\": [\n {\n \"glob\": \"**/*\",\n \"input\": \"./node_modules/@eui/styles/dist/assets/\",\n \"output\": \"assets\"\n },\n {\n \"glob\": \"**/*\",\n \"input\": \"./node_modules/@eui/core/assets/\",\n \"output\": \"assets\"\n }\n ],\n \"styles\": [\n \"./node_modules/@eui/styles/dist/eui.css\"\n ],\n \"tsConfig\": \"tsconfig.json\"\n }\n },\n \"serve\": {\n \"builder\": \"@angular-devkit/build-angular:dev-server\",\n \"configurations\": {\n \"development\": {\n \"buildTarget\": \"demo:build:development\"\n },\n \"production\": {\n \"buildTarget\": \"demo:build:production\"\n }\n },\n \"defaultConfiguration\": \"development\"\n }\n },\n \"prefix\": \"app\",\n \"projectType\": \"application\",\n \"root\": \"\",\n \"schematics\": {},\n \"sourceRoot\": \"src\"\n }\n },\n \"cli\": {\n \"analytics\": \"0f944abb-e787-4c1f-9092-e34292361c91\"\n }\n}\n`;\nexport const indexHtmlFile = (selector: string): string => `\n<div style=\"padding: 10px\" class=\"eui-21\">\n <${selector}></${selector}>\n</div>\n`;\nexport const PACKAGE_JSON = {\n name: 'demo',\n version: '0.0.0',\n private: true,\n scripts: {\n ng: 'ng',\n start: 'ng serve',\n build: 'ng build',\n watch: 'ng build --watch --configuration development',\n test: 'ng test',\n lint: 'ng lint',\n },\n dependencies: {},\n};\nexport const tsConfig = `\n/* To learn more about this file see: https://angular.io/config/tsconfig. */\n{\n \"compileOnSave\": false,\n \"compilerOptions\": {\n \"outDir\": \"./out-tsc/app\",\n \"target\": \"ES2022\",\n \"module\": \"ES2022\",\n \"useDefineForClassFields\": false,\n \"lib\": [\"ES2022\", \"dom\"],\n \"declaration\": true,\n \"declarationMap\": true,\n \"inlineSources\": true,\n \"emitDecoratorMetadata\": false,\n \"types\": [],\n \"esModuleInterop\": true,\n \"sourceMap\": true,\n \"experimentalDecorators\": true,\n \"moduleResolution\": \"bundler\",\n \"importHelpers\": true\n },\n \"angularCompilerOptions\": {\n \"compilationMode\": \"partial\",\n \"enableI18nLegacyMessageIdFormat\": false,\n \"strictInputAccessModifiers\": true,\n \"strictMetadataEmit\": true,\n \"strictTemplates\": true,\n \"annotateForClosureCompiler\": true,\n \"skipTemplateCodegen\": true,\n \"fullTemplateTypeCheck\": true\n },\n \"exclude\": [\"src/test.ts\", \"**/*.spec.ts\"],\n \"files\": [\"src/main.ts\"],\n \"include\": [\"src/**/*.d.ts\"]\n}`;\n","import sdk, { Project, ProjectDependencies } from '@stackblitz/sdk';\nimport { lastValueFrom } from 'rxjs';\nimport { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { angularJsonFile, indexHtmlFile, mainFile, PACKAGE_JSON, polyfillsFile, tsConfig } from './stackblitz.files';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StackblitzService {\n private http: HttpClient = inject(HttpClient);\n\n /**\n * extract the name of the component class name and selector name from the typescript content\n *\n * @param contents\n * @private\n */\n extractComponentMetadata(contents: string): {\n selector: string;\n className: string;\n } {\n const selectorRegex = /selector: ('(?<singleQuotedSelector>[\\w\\d-]+)'|\"(?<doubleQuotedSelector>[\\w\\d-]+)\")/;\n const classRegex = /export class ([\\w\\d]+)/;\n\n const className = contents.match(classRegex);\n const selectorName = contents.match(selectorRegex);\n const found = selectorName?.groups?.singleQuotedSelector || selectorName?.groups?.doubleQuotedSelector;\n return {\n className: className ? className[1] : '',\n selector: found || '',\n };\n }\n\n /**\n * extract module class name from the typescript content\n *\n * @param contents\n * @private\n */\n extractModuleName(contents: string): string {\n const moduleClass = contents.match(/export class (\\w+Module)/);\n return moduleClass ? moduleClass[1] : '';\n }\n\n /**\n * extract the name of the component class name and selector name from the typescript content\n *\n * @param contents\n * @private\n */\n extractComponentName(contents: string): string {\n const componentName = contents.match(/bootstrap: \\[([\\s\\S]*?)]/);\n if(componentName) {\n return componentName[1];\n } else {\n const componentClass = contents.match(/export class (\\w+Component)/);\n return componentClass ? componentClass[1] : '';\n }\n }\n\n appendVitalNgModules(contents: string): string {\n // const imports = contents.match(/imports: \\[([\\s\\S]*?)\\]/);\n // appends BrowserModule to imports\n contents = contents.replace(/imports: \\[([\\s\\S]*?)\\]/, 'imports: [\\n\\t\\tBrowserModule, $1]');\n // appends import of BrowserModule\n contents = `import { BrowserModule } from '@angular/platform-browser';\\n${contents}`;\n // appends BrowserAnimationsModule to imports\n contents = contents.replace(/imports: \\[([\\s\\S]*?)\\]/, 'imports: [\\n\\t\\tBrowserAnimationsModule, $1]');\n // appends import of BrowserAnimationsModule\n contents = `import { BrowserAnimationsModule } from '@angular/platform-browser/animations';\\n${contents}`;\n\n return contents;\n }\n\n /**\n * Open a stackblitz project in a new browser TAB with the given html and typescript content\n * @param htmlContent\n * @param typescriptContent\n * @param title\n * @param sampleId\n */\n public openStackBlitz(htmlContent: string, typescriptContent: string, title: string, sampleId: string): void {\n this.getStackblitzDependencies()\n .then((deps) => {\n const { dependencies, devDependencies } = deps;\n const { selector } = this.extractComponentMetadata(typescriptContent);\n const moduleName = this.extractModuleName(typescriptContent);\n const componentName = this.extractComponentName(typescriptContent);\n const project: Project = {\n title: title,\n description: `An eUI example for the ${title}.`,\n template: 'node',\n files: {\n 'src/component.html': htmlContent,\n 'src/component.ts': moduleName ? this.appendVitalNgModules(typescriptContent): typescriptContent,\n 'src/main.ts': mainFile(moduleName, componentName),\n 'src/polyfills.ts': polyfillsFile,\n 'src/index.html': indexHtmlFile(selector),\n 'angular.json': angularJsonFile,\n 'package.json': JSON.stringify(\n {\n ...PACKAGE_JSON,\n dependencies,\n devDependencies,\n },\n null,\n 2,\n ),\n 'tsconfig.json': tsConfig,\n '.stackblitzrc': '{\\n\\t\"installDependencies\": false,\\n\\t\"startCommand\": \"npm install --force && npm start\"\\n}',\n },\n settings: {\n compile: {\n trigger: 'auto',\n clearConsole: true,\n },\n },\n dependencies,\n };\n\n return sdk.openProject(\n project,\n {\n openFile: ['src/component.ts', 'src/component.html'],\n zenMode: true,\n },\n );\n });\n }\n\n /**\n * Retrieve only the dependencies that stackblitz will need filtered from @eui/deps-base\n *\n * @private\n */\n public getStackblitzDependencies(): Promise<{\n dependencies: ProjectDependencies;\n devDependencies: ProjectDependencies;\n }> {\n // a list of dependencies only stackblitz needs\n const stackblitzDependencies = [\n '@angular/animations',\n '@angular/cdk',\n '@angular/common',\n '@angular/compiler',\n '@angular/core',\n '@angular/forms',\n '@angular/material',\n '@angular/material-moment-adapter',\n '@angular/platform-browser',\n '@angular/platform-browser-dynamic',\n '@angular/router',\n '@eui/base',\n '@eui/components',\n '@eui/core',\n '@eui/styles',\n '@ngrx/effects',\n '@ngrx/store',\n '@ngx-translate/core',\n 'ngx-device-detector',\n 'localforage',\n 'lodash-es',\n 'reselect',\n 'rxjs',\n 'tslib',\n 'zone.js',\n ];\n\n const stackblitzDevDependencies = ['@angular-devkit/build-angular', '@angular/cli', '@angular/compiler-cli', 'typescript'];\n\n return this.getCurrentShowcaseEuiVersion()\n .then((version) => this.retrievePackageDependencies(version))\n .then((dependencies) => {\n // filter dependencies to only what stackblitz needs\n let filteredArr = Object.entries(dependencies).filter((v) => stackblitzDependencies.find((s) => s === v[0]));\n const filteredObj = Object.fromEntries(filteredArr);\n const extraDependencies = {\n 'ngx-moment': '~6.0.0',\n 'ngx-mask': '^14.0.0',\n 'cleave.js': '^1.6.0',\n\t\t\t\t\t'@types/cleave.js': '1.4.12',\n moment: '^2.19.3',\n extend: '^3.0.2',\n };\n // filter devDependencies to only what stackblitz needs\n filteredArr = Object.entries(dependencies).filter((v) => stackblitzDevDependencies.find((s) => s === v[0]));\n dependencies = { ...extraDependencies, ...filteredObj };\n const devDependencies = Object.fromEntries(filteredArr);\n\n return { dependencies, devDependencies };\n });\n }\n\n /**\n * Retrieve the dependencies from the package.json file of @eui/deps-base for the given version.\n *\n * @param version\n * @private\n */\n private retrievePackageDependencies(version): Promise<ProjectDependencies> {\n return fetch(`https://unpkg.com/@eui/deps-base-light@${version}/package.json`)\n .then((response) => response.json())\n .then((pkg) => pkg?.dependencies);\n }\n\n /**\n * Retrieve the eUI version used to build the showcase from application app-metadata.json\n *\n * @private\n */\n private getCurrentShowcaseEuiVersion(): Promise<string> {\n return lastValueFrom(this.http.get<{ appVersion: string }>('assets/app-metadata.json', { responseType: 'json' })).then(\n (res) => res?.appVersion || 'latest',\n );\n }\n\n}\n","import {\n Component,\n Input,\n AfterContentInit,\n ChangeDetectorRef,\n ViewEncapsulation,\n HostBinding,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { forkJoin, Observable, Subscriber } from 'rxjs';\nimport { map, catchError } from 'rxjs/operators';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiMenuItem } from '@eui/base';\nimport { EUI_TABS, EuiTabComponent } from '@eui/components/eui-tabs';\nimport { EuiGrowlService } from '@eui/core';\nimport { Router } from '@angular/router';\nimport { StackblitzService } from '../playground/stackblitz.service';\nimport { Configuration, ConfigurationService } from '../../configuration.service';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_CARD } from '@eui/components/eui-card';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'eui-showcase-doc-sample',\n templateUrl: 'doc-sample.component.html',\n styleUrls: ['./doc-sample.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n ...EUI_TABS,\n ...EUI_LABEL,\n ...EUI_CARD,\n ...EUI_ICON,\n ...EUI_BUTTON,\n ], \n})\nexport class DocSampleComponent implements AfterContentInit {\n @Input() id = '';\n @Input() label = '';\n @Input() category;\n @Input() description;\n @Input() defaultValue;\n @Input() styleClass = '';\n @Input({ transform: booleanAttribute }) renderPlayground = null;\n @Input({ transform: booleanAttribute }) isCodeButtonVisible = true;\n @Input({ transform: booleanAttribute }) isInnerSection = false;\n\n @HostBinding('class') classes = 'eui-showcase-doc-sample';\n\n isCodeLoaded = false;\n isCodeLoading = false;\n isCodeExpanded = false;\n playground_activated = false;\n\n tsContent;\n htmlContent;\n protected conf = inject<ConfigurationService<Configuration>>(ConfigurationService);\n private sb = inject(StackblitzService);\n private _http = inject(HttpClient);\n private asService = inject(EuiAppShellService);\n private cd = inject(ChangeDetectorRef);\n private growlService = inject(EuiGrowlService);\n private clipboard = inject(Clipboard);\n private router = inject(Router);\n\n ngAfterContentInit(): void {\n if (!this.label) {\n this.label = this.id;\n }\n }\n\n public copyCurrentUrlToClipboard(id: string): void {\n try {\n const baseDomain = window?.location?.origin;\n const currentUrl = this.router.url.split('#');\n const fullUrl = baseDomain + currentUrl[0] + '#' + id;\n this.clipboard.copy(fullUrl);\n } catch (err) {\n this.growlService.growl({ severity: 'danger', summary: 'Clipboard service not available' });\n } finally {\n this.growlService.growl({ severity: 'info', summary: 'Link URL copied to clipboard' });\n }\n }\n\n onToggleCode(): void {\n if (this.isCodeLoaded) {\n this.isCodeExpanded = !this.isCodeExpanded;\n }\n\n if (!this.isCodeLoaded) {\n this.loadCodeFiles().subscribe((demo: { typescript: string; html: string }) => {\n this.tsContent = demo.typescript;\n this.htmlContent = demo.html;\n this.isCodeLoaded = true;\n this.isCodeExpanded = true;\n this.isCodeLoading = false;\n this.cd.detectChanges();\n });\n }\n }\n\n /**\n * on playground tab selected inform the playground component that its content is rendered\n * TODO: fix the bug on eui-tab implementation where the ngAfterViewInit is called without the view actually\n * being rendered on screen. Issue is that initially the view is being rendered and then removed from the DOM.\n * Internally eui-tabs is moving the projected content.\n *\n * @param selected The selected tab component reference and its index in the tabs array.\n */\n onTabActivate(selected: { tab: EuiTabComponent; index: number }): void {\n this.playground_activated = selected.index === 2;\n }\n\n /**\n * filter out the extra import and module from the code sample\n *\n * @param code\n */\n filterOutModuleAndImports(code: string): string {\n // filter out module\n const moduleRegex = /@NgModule\\(([\\s\\S]*?)\\)\\nexport class \\w+ \\{([\\s\\S]*?)\\}/g;\n code = code.replace(moduleRegex, '');\n // filter out extra imports\n // eslint-disable-next-line\n code = code.replace(\"import { EuiAllModule } from '@eui/components';\\n\", '');\n // eslint-disable-next-line\n code = code.replace(\"import { NgModule } from '@angular/core';\\n\", '');\n return code;\n }\n\n /**\n * open the code sample in stackblitz\n */\n onStackblitzOpen(): void {\n this.loadCodeFiles().subscribe((demo: { typescript: string; html: string }) => {\n this.tsContent = demo.typescript;\n this.htmlContent = demo.html;\n this.sb.openStackBlitz(this.htmlContent, this.tsContent, 'eUI Playground', this.id);\n });\n }\n\n /**\n * returns whenever playground should render. Input has precedence over Configuration service\n */\n protected shouldRenderPlayground(): boolean {\n return this.renderPlayground === undefined || this.renderPlayground === null ?\n this.conf.configuration().renderPlayground : this.renderPlayground;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _getComponent(id): EuiMenuItem | any {\n const flatLinks = this.flatten(this.asService.state.sidebarLinks);\n\n return flatLinks.filter((item) => item.id === id)[0];\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private flatten(links: EuiMenuItem[]): EuiMenuItem[] | any {\n return links\n ? links.reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (result, item: EuiMenuItem | any) => [\n ...result,\n {\n id: item.id,\n alternateSampleLocation: item.alternateSampleLocation,\n },\n ...this.flatten(item.children),\n ],\n [],\n )\n : [];\n }\n\n private loadCodeFiles(): Observable<Response | { typescript: string, html: string }> {\n this.isCodeLoading = true;\n\n const url = window.location;\n const pathName = url.pathname;\n const pathNameArray = pathName.split('/');\n\n let samplePathArray = [];\n\n const cmpId = pathNameArray[pathNameArray.length - 1];\n const cmp = this._getComponent(cmpId);\n\n if (cmp && cmp.alternateSampleLocation) {\n samplePathArray = cmp.alternateSampleLocation.split('/').reverse();\n } else {\n for (let i = pathNameArray.length - 1; i >= 0; i--) {\n if (pathNameArray[i].indexOf('eui-showcase-') > -1 || pathNameArray[i].indexOf('localhost') > -1) {\n break;\n }\n if (pathNameArray[i] !== '') {\n samplePathArray.push(pathNameArray[i]);\n }\n }\n }\n\n samplePathArray = samplePathArray.reverse();\n samplePathArray.push('samples');\n samplePathArray.push(this.id);\n\n const samplesPath = `assets/samples/${samplePathArray.join('/')}`;\n\n return forkJoin({\n typescript: this._http.get(`${samplesPath}/component.ts`, {\n responseType: 'text',\n }),\n html: this._http.get(`${samplesPath}/component.html`, {\n responseType: 'text',\n }),\n })\n .pipe(\n map((responses: { typescript: string; html: string }) => {\n this.isCodeLoaded = true;\n this.isCodeLoading = false;\n return { typescript: responses.typescript, html: responses.html };\n }),\n catchError((error: Response) => {\n this.growlService.growlError(`Issue while fetching : ${error.url} : ${error.status}-${error.statusText}`);\n\n return new Observable<Response>((subscriber: Subscriber<Response>) => {\n try {\n subscriber.error(error);\n } catch (err) {\n subscriber.error(error);\n }\n });\n }),\n );\n }\n}\n","<div class=\"doc-sample-title\">\n <div class=\"doc-sample-title__label\" [class.doc-sample-title__label--inner]=\"isInnerSection\">\n {{ label }}\n <button\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n euiSizeS\n aria-label=\"Click to copy link url to keyboard\"\n (click)=\"copyCurrentUrlToClipboard(id)\"\n class=\"doc-sample-title__link\"\n tabindex=\"-1\">\n <eui-icon-svg icon=\"eui-link\" size=\"l\" fillColor=\"secondary\" />\n </button>\n </div>\n <div *ngIf=\"shouldRenderPlayground()\" class=\"doc-sample-title__items eui-u-mr-s\">\n <button\n *ngIf=\"isCodeButtonVisible\"\n type=\"button\"\n euiButton\n [euiOutline]=\"!isCodeExpanded\"\n euiPrimary\n euiSizeS\n (click)=\"onStackblitzOpen()\">\n <span euiLabel>Stackblitz</span>\n <eui-icon-svg icon=\"eui-flash-o\" />\n </button>\n </div>\n <div class=\"doc-sample-title__items\">\n <button\n *ngIf=\"isCodeButtonVisible\"\n type=\"button\"\n euiButton\n [euiOutline]=\"!isCodeExpanded\"\n euiPrimary\n euiSizeS\n (click)=\"onToggleCode()\"\n [euiDisabled]=\"isCodeLoading\">\n <eui-icon-svg *ngIf=\"isCodeLoading\" isLoading></eui-icon-svg>\n <span *ngIf=\"!isCodeExpanded\" euiLabel>Code</span>\n <span *ngIf=\"isCodeExpanded\" euiLabel>Hide Code</span>\n <eui-icon-svg icon=\"eui-code\" />\n </button>\n </div>\n</div>\n\n<ng-template [ngIf]=\"isCodeExpanded\">\n <eui-card euiNoContentPadding class=\"eui-u-mb-m\">\n <eui-card-content>\n <eui-tabs (tabActivate)=\"onTabActivate($event)\">\n <eui-tab [isVisible]=\"htmlContent\">\n <eui-tab-header>\n <eui-label>HTML</eui-label>\n <eui-label euiSublabel>HyperText Markup Language</eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <pre><code class=\"language-markup\" euiCode>{{htmlContent}}</code></pre>\n </eui-tab-body>\n </eui-tab>\n <eui-tab [isVisible]=\"tsContent\">\n <eui-tab-header>\n <eui-label>TS</eui-label>\n <eui-label euiSublabel>Typescript</eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <pre><code class=\"language-javascript\" euiCode>{{filterOutModuleAndImports(tsContent)}}</code></pre>\n </eui-tab-body>\n </eui-tab>\n </eui-tabs>\n </eui-card-content>\n </eui-card>\n</ng-template>\n\n<ng-content></ng-content>\n","import { Component, Input, AfterContentInit, ViewEncapsulation, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eui-showcase-doc-section',\n templateUrl: 'doc-section.component.html',\n styleUrls: ['./doc-section.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DocSectionComponent implements AfterContentInit {\n @HostBinding('class') string = 'eui-showcase-doc-section';\n\n @Input() id = '';\n @Input() label = '';\n @Input() styleClass = '';\n\n ngAfterContentInit(): void {\n if (!this.label) {\n this.label = this.id;\n }\n }\n}\n","<div id=\"sections\" class=\"doc-section-title\">{{label}}</div>\n<!-- <h4 id=\"sections\" class=\"eui-u-font-bold eui-u-color-info eui-u-text-h4 mb-3\">{{ label }}</h4> -->\n\n<ng-content></ng-content>\n","import {\n Component,\n Input,\n Directive,\n AfterViewInit,\n ContentChildren,\n forwardRef,\n OnInit,\n QueryList,\n ViewEncapsulation,\n ViewChild,\n HostBinding,\n inject,\n} from '@angular/core';\nimport { CommonModule, Location } from '@angular/common';\nimport { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { DocSampleComponent } from '../doc-sample/doc-sample.component';\nimport { DocSectionComponent } from '../doc-section/doc-section.component';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiMenuItem } from '@eui/base';\nimport { EUI_TABS, EuiTabComponent, EuiTabsComponent } from '@eui/components/eui-tabs';\nimport { EUI_ALERT } from '@eui/components/eui-alert';\nimport { EUI_PAGE } from '@eui/components/eui-page';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_CHIP } from '@eui/components/eui-chip';\nimport { DocPageCodeComponent } from './doc-page-code.component';\nimport { EUI_BLOCK_CONTENT } from '@eui/components/eui-block-content';\n\ntype ComponentStatus = EuiMenuItem & {\n name: string;\n cmpReplacement: string;\n cmpReplacementUrl: string;\n cmpReplacementNote: string;\n alternateApiCategory: string;\n alternateId: string;\n};\n\n@Component({\n selector: 'eui-showcase-doc-page',\n templateUrl: 'doc-page.component.html',\n styleUrls: ['./shared.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n DocPageCodeComponent,\n ...EUI_ALERT,\n ...EUI_TABS,\n ...EUI_PAGE,\n ...EUI_LABEL,\n ...EUI_CHIP,\n ...EUI_BLOCK_CONTENT,\n ],\n})\nexport class DocPageComponent implements OnInit, AfterViewInit {\n @HostBinding('class') cssClass = 'eui-doc-page';\n\n @Input() id;\n @Input() label;\n @Input() subLabel: string;\n @Input() isNotReady = false;\n @Input() isDeprecated = false;\n @Input() isLegacy = false;\n @Input() codeFolder: string;\n @Input() showcase = 'ux';\n @Input() isNavigationVisible = true;\n @Input() hasApi = true;\n @Input() hasA11y = true;\n @Input() customApiUrl: string = null;\n\n stateTypeClass;\n stateLabel;\n cmp;\n fragmentId;\n cmpImportModule;\n cmpImportStandalone;\n cmpImportStandaloneCmp;\n cmpStandalone;\n appMetadata;\n\n apiUrlSafe: SafeResourceUrl;\n apiUrl: string;\n iFrameContent;\n\n isLoading = true;\n isNavClicked = true;\n\n hasCategories = false;\n categories = [];\n\n @ContentChildren(DocSampleComponent, { descendants: true })\n samples: QueryList<DocSampleComponent>;\n @ContentChildren(DocSectionComponent, { descendants: true })\n sections: QueryList<DocSectionComponent>;\n\n @ContentChildren(forwardRef(() => DocPageOverviewContentDirective))\n pageOverviewContent: QueryList<DocPageOverviewContentDirective>;\n\n @ContentChildren(forwardRef(() => DocPageOverviewDefaultContentDirective))\n pageOverviewDefaultContent: QueryList<DocPageOverviewDefaultContentDirective>;\n\n @ContentChildren(forwardRef(() => DocPageSamplesContentDirective))\n pageSamplesContent: QueryList<DocPageSamplesContentDirective>;\n\n @ContentChildren(forwardRef(() => DocPageSectionsContentDirective))\n pageSectionsContent: QueryList<DocPageSectionsContentDirective>;\n\n @ContentChildren(forwardRef(() => DocPageInteractiveContentDirective))\n pageInteractiveContent: QueryList<DocPageInteractiveContentDirective>;\n\n @ContentChildren(forwardRef(() => DocPageAccessibilityContentDirective))\n pageAccessibilityContent: QueryList<DocPageAccessibilityContentDirective>;\n\n @ContentChildren(forwardRef(() => DocPageApiContentDirective))\n pageApiContent: QueryList<DocPageApiContentDirective>;\n\n @ContentChildren(forwardRef(() => DocPageThemingContentDirective))\n pageThemingContent: QueryList<DocPageThemingContentDirective>;\n\n @ViewChild('tabsContent') tabsContent: EuiTabsComponent;\n\n sanitizer = inject(DomSanitizer);\n private TABS_DEF = [\n { index: 0, id: 'samples' },\n { index: 1, id: 'api' },\n { index: 2, id: 'a11y' },\n { index: 3, id: 'theming' },\n { index: 4, id: 'advanced' },\n ];\n\n private CATEGORIES_DEF = [\n { index: 0, id: 'Base' },\n { index: 10, id: 'Variants' },\n { index: 20, id: 'Options' },\n { index: 30, id: 'Main Features' },\n { index: 40, id: 'free-category' },\n { index: 50, id: 'Reactive Forms' },\n { index: 60, id: 'Event Handlers' },\n { index: 70, id: 'Composition' },\n { index: 80, id: 'Misc' },\n ];\n\n private location = inject(Location);\n private router = inject(Router);\n private route = inject(ActivatedRoute);\n private asService = inject(EuiAppShellService);\n\n ngOnInit(): void {\n setTimeout((): void => {\n this.asService.isBlockDocumentActive = true;\n });\n\n this.appMetadata = this.asService.state.appMetadata;\n\n if (this.id && !this.label) {\n this.label = this.id;\n }\n\n this.fragmentId = this.route.snapshot.fragment;\n }\n\n ngAfterViewInit(): void {\n // getting API url\n try {\n this.apiUrl = this._getApiUrl();\n\n setTimeout(() => {\n this.apiUrlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.apiUrl);\n });\n } catch (e) {\n console.log(e);\n }\n\n setTimeout(() => {\n const tab = this.TABS_DEF.filter((t) => t.id === this.fragmentId)[0];\n const sampleTabIndex = 0;\n\n let tabIndex;\n\n if (!tab) {\n tabIndex = sampleTabIndex;\n } else {\n tabIndex = tab.index;\n }\n\n // constructing categories, if at least one set, if not backward compat with old display\n const categoriesJson = {};\n\n this.samples.forEach((s) => {\n // \"Default\" or \"_default\" sample are always put first in the nav list\n if (!s.category && s.id !== '_default' && s.id !== 'Default' && s.id !== 'default') {\n if (!categoriesJson['others']) {\n categoriesJson['others'] = [];\n categoriesJson['others'].push(s);\n } else {\n categoriesJson['others'].push(s);\n }\n } else {\n if (s.id === '_default' || s.id === 'Default' || s.id === 'default') {\n if (!categoriesJson['Base']) {\n categoriesJson['Base'] = [];\n categoriesJson['Base'].push(s);\n } else {\n categoriesJson['Base'].push(s);\n }\n } else {\n this.hasCategories = true;\n if (!categoriesJson[s.category]) {\n categoriesJson[s.category] = [];\n categoriesJson[s.category].push(s);\n } else {\n categoriesJson[s.category].push(s);\n }\n }\n }\n });\n\n // making the list of categories iterable for display\n // console.log(categoriesJson)\n Object.keys(categoriesJson).forEach((c) => {\n const normalizedKey = c.toLowerCase();\n\n const existingCategory = this.categories.find(cat => cat.name.toLowerCase() === normalizedKey);\n\n if (existingCategory) {\n existingCategory.samples = [...existingCategory.samples, ...categoriesJson[c]].sort((a, b) => {\n return a.label.localeCompare(b.label);\n });\n } else {\n this.categories.push({\n name: c,\n samples: categoriesJson[c].sort((a, b) => {\n return a.label.localeCompare(b.label);\n }),\n });\n }\n });\n\n // push the \"others\" at the end of the nav list\n this.categories.push(this.categories.splice(this.categories.findIndex(v => v.name == 'others'), 1)[0])\n\n this.categories.sort((a, b) => {\n return this.getCategoryIndex(a.name) - this.getCategoryIndex(b.name);\n });\n\n setTimeout(() => {\n this._scrollToFragment(this.fragmentId, tabIndex, true, true);\n\n this.asService.isBlockDocumentActive = false;\n this.isLoading = false;\n }, 1);\n });\n }\n\n getCategoryIndex(name: string): number {\n const category = this.CATEGORIES_DEF.find(cat => cat.id.toLowerCase() === name.toLowerCase());\n return category ? category.index : this.CATEGORIES_DEF.find(cat => cat.id === 'free-category').index;\n }\n\n onNavClick(fragmentId: string, tabIndex: number): void {\n this.fragmentId = fragmentId;\n this.isNavClicked = true;\n this._scrollToFragment(this.fragmentId, tabIndex, false, true);\n }\n\n onTabActivate(event: { tab: EuiTabComponent; index: number }): void {\n if (!this.isLoading && !this.isNavClicked) {\n const tabId = this.TABS_DEF.filter((t) => t.index === event.index)[0].id;\n this._scrollToFragment(tabId, event.index, false, false);\n }\n this.isNavClicked = false;\n }\n\n private _scrollToFragment(fragmentId: string, tabIndex: number, init: boolean, changeTab: boolean): void {\n if (init) {\n if (this.tabsContent) {\n this.tabsContent.activateTab(tabIndex);\n }\n } else {\n if (changeTab) {\n this.router.onSameUrlNavigation = 'reload';\n this.router.navigate(['.'], { relativeTo: this.route, fragment: fragmentId }).then(() => {\n if (this.tabsContent) {\n this.tabsContent.activateTab(tabIndex);\n }\n });\n } else {\n const routeRoot = this.router.url.split('#')[0];\n this.location.go(`${routeRoot}#${fragmentId}`);\n }\n }\n\n if (fragmentId) {\n setTimeout(() => {\n const fgm = document.getElementById(fragmentId);\n if (fgm) {\n fgm.scrollIntoView();\n }\n });\n }\n }\n\n private _getComponentStatus(id): ComponentStatus {\n\n const flatten = (links: EuiMenuItem[]): ComponentStatus[] =>\n links\n ? links.reduce(\n (result, item: ComponentStatus) => [\n ...result,\n {\n id: item.label,\n alternateId: item.name,\n status: item.markerTypeClass,\n cmpReplacement: item.cmpReplacement,\n cmpReplacementUrl: item.cmpReplacementUrl,\n cmpReplacementNote: item.cmpReplacementNote,\n alternateApiCategory: item.alternateApiCategory,\n metadata: item.metadata,\n },\n ...flatten(item.children),\n ],\n [],\n )\n : [];\n\n const flatLinks = flatten(this.asService.state.sidebarLinks);\n const idBasedCmp = flatLinks.filter((item) => item.id === id)[0];\n // console.log('from get component status');\n // console.log(id);\n // console.log(flatLinks);\n // console.log(idBasedCmp);\n if (idBasedCmp) {\n return idBasedCmp;\n } else {\n const alternateIdBasedCmp = flatLinks.filter((item) => item.alternateId === id)[0];\n return alternateIdBasedCmp;\n }\n }\n\n private _getApiUrl(): string {\n // console.log('getApiUrl');\n\n const url = window.location;\n const protocol = url.protocol;\n const host = url.host;\n const pathName = url.pathname;\n const pathNameArray = pathName.split('/');\n let name = pathNameArray[pathNameArray.length - 1];\n let category = pathNameArray[pathNameArray.length - 2];\n\n let showcaseType;\n showcaseType = pathNameArray[pathNameArray.length - 3];\n if (showcaseType?.indexOf('eui-showcase') === -1) {\n showcaseType = pathNameArray[pathNameArray.length - 4];\n }\n\n let protocolGen = protocol;\n let hostGen = host;\n\n if (host.indexOf('localhost') > -1) {\n protocolGen = 'https:';\n hostGen = 'euidev.ecdevops.eu';\n }\n\n const appVersionNumber = this.appMetadata.appVersion.split('.')[0];\n\n let docTypeRoot = `eui-docs-eui-${appVersionNumber}.x`;\n if (showcaseType && showcaseType.indexOf('-ecl') > -1) {\n docTypeRoot = `eui-docs-ecl-${appVersionNumber}.x`;\n }\n if (showcaseType && showcaseType.indexOf('-mobile') > -1) {\n docTypeRoot = `eui-docs-mobile-core-${appVersionNumber}.x`;\n }\n\n if (category === 'layout-components' || category === 'externals' || category === 'layout' || category === 'atoms') {\n category = 'components';\n }\n\n setTimeout(() => {\n if (name.indexOf('-service') > -1 || name.indexOf('-template') > -1) {\n name = name.replace('-service', '').replace('-template', '');\n }\n\n try {\n this.cmp = this._getComponentStatus(name);\n\n if (this.cmp && this.cmp.alternateApiCategory) {\n category = this.cmp.alternateApiCategory;\n }\n\n // console.log(this.cmp);\n\n if (this.cmp) {\n switch (this.cmp.status) {\n case 'success':\n this.stateLabel = 'ACTIVE';\n this.stateTypeClass = 'success';\n break;\n\n case 'warning':\n this.stateLabel = 'will be removed in eUI 21';\n this.stateTypeClass = 'warning';\n this.isDeprecated = true;\n break;\n\n case 'danger':\n this.stateLabel = 'will be removed in eUI 21';\n this.stateTypeClass = 'danger';\n this.isLegacy = true;\n break;\n\n case 'info':\n this.stateLabel = 'NOT READY';\n this.stateTypeClass = 'accent';\n this.isNotReady = true;\n break;\n }\n\n // construct cmp module import string\n if (this.cmp.metadata?.moduleName) {\n this.cmpImportModule = `import { ${this.cmp.metadata?.moduleName} } from '@eui/${this.cmp.metadata?.subEntryName}';`;\n }\n if (this.cmp.metadata?.exportName) {\n this.cmpImportStandalone = `import { ${this.cmp.metadata?.exportName} } from '@eui/${this.cmp.metadata?.subEntryName}';`;\n this.cmpImportStandaloneCmp = `@Component({\\n...\\n imports: [...${this.cmp.metadata?.exportName}],\\n...\\n})`;\n }\n }\n } catch(e) {\n console.log(e);\n }\n })\n\n const formattedName = this._camelCaseString(name + '-' + category.slice(0, -1), '-', true);\n return this.customApiUrl ? `${protocolGen}//${hostGen}/${docTypeRoot}/${category}/${this.customApiUrl}.html` : `${protocolGen}//${hostGen}/${docTypeRoot}/${category}/${formattedName}.html`;\n }\n\n private _camelCaseString(string, separator, first): string {\n const stringArray = string.split(separator);\n let result = '';\n let s;\n\n for (let i = 0; i < stringArray.length; i++) {\n s = stringArray[i];\n if (i === 0) {\n if (first) {\n result += s.substring(0, 1).toUpperCase() + s.substr(1);\n } else {\n result += s;\n }\n } else {\n result += s.substring(0, 1).toUpperCase() + s.substr(1);\n }\n }\n\n return result;\n }\n}\n\n/* eslint-disable @angular-eslint/directive-selector */\n@Directive({ selector: 'docPageOverview' })\nexport class DocPageOverviewContentDirective {}\n@Directive({ selector: 'docPageOverviewDefault' })\nexport class DocPageOverviewDefaultContentDirective {}\n@Directive({ selector: 'docPageInteractive' })\nexport class DocPageInteractiveContentDirective {\n @Input() title = 'ADVANCED EXAMPLES';\n @Input() subTitle = 'Advanced use cases';\n}\n@Directive({ selector: 'docPageSamples' })\nexport class DocPageSamplesContentDirective {}\n@Directive({ selector: 'docPageSections' })\nexport class DocPageSectionsContentDirective {}\n@Directive({ selector: 'docPageAccessibility' })\nexport class DocPageAccessibilityContentDirective {}\n@Directive({ selector: 'docPageApi' })\nexport class DocPageApiContentDirective {}\n\n@Directive({ selector: 'docPageTheming' })\nexport class DocPageThemingContentDirective {}\n/* eslint-enable @angular-eslint/directive-selector */\n","<eui-page>\n <eui-page-content>\n <eui-page-columns>\n <eui-page-column>\n <eui-page-column-body>\n <eui-page-header label=\"{{ label }}\" subLabel=\"{{ subLabel }}\" class=\"eui-doc-page-title\">\n <eui-page-header-action-items>\n <eui-showcase-doc-page-code\n *ngIf=\"codeFolder\"\n codeFolder=\"{{ codeFolder }}\"\n showcase=\"{{ showcase }}\"></eui-showcase-doc-page-code>\n <eui-chip euiSizeS isFilled\n *ngIf=\"stateLabel\"\n [euiSuccess]=\"stateLabel === 'ACTIVE'\"\n [euiInfo]=\"isNotReady\"\n [euiWarning]=\"isDeprecated\"\n [euiDanger]=\"isLegacy\">\n {{ stateLabel }}\n </eui-chip>\n </eui-page-header-action-items>\n </eui-page-header>\n\n <eui-alert *ngIf=\"stateLabel === 'LEGACY' || isLegacy\" euiDanger class=\"eui-u-mb-xl\">\n <eui-alert-title>LEGACY component</eui-alert-title>\n <strong class=\"eui-u-color-danger\">This component will be removed in eUI 21 release (end of 2025)</strong>\n <div *ngIf=\"cmp\">\n <div *ngIf=\"cmp.cmpReplacement !== 'NONE'\">\n It has been replaced by :\n <strong class=\"eui-u-color-success-darkest\">{{ cmp.cmpReplacement }}</strong>\n </div>\n <div *ngIf=\"cmp.cmpReplacement === 'NONE'\">\n <strong class=\"eui-u-color-danger\"> This component won't be replaced</strong>\n </div>\n <div *ngIf=\"cmp.cmpReplacementNote\">\n <strong class=\"eui-u-color-warning\">{{ cmp.cmpReplacementNote }}</strong>\n </div>\n </div>\n </eui-alert>\n\n <eui-alert *ngIf=\"stateLabel === 'DEPRECATED' || isDeprecated\" euiWarning class=\"eui-u-mb-xl\">\n <eui-alert-title>DEPRECATED component</eui-alert-title>\n This component has been <strong class=\"eui-u-color-danger\">deprecated</strong>\n <div *ngIf=\"cmp\">\n This component has no replacement in current version AND won't have replacement in next version of eUI,\n <strong class=\"eui-u-color-danger\">it will be removed in eUI 21 release (end of 2025)</strong>\n </div>\n </eui-alert>\n\n <eui-alert *ngIf=\"stateLabel === 'NOT_READY' || isNotReady\" euiInfo class=\"eui-u-mb-xl\">\n <eui-alert-title>NOT READY for production usage</eui-alert-title>\n <div *ngIf=\"cmp\">\n This component is under development / some features might be missing, it'll be available in a future release once\n validated.\n </div>\n </eui-alert>\n\n <div *ngIf=\"(stateLabel || isNotReady || isDeprecated) && stateLabel !== 'ACTIVE'\" class=\"mb-5\"></div>\n\n <eui-tabs #tabsContent *ngIf=\"pageSectionsContent.length === 0\" (tabActivate)=\"onTabActivate($event)\">\n <eui-tab>\n <eui-tab-header>\n <eui-label> OPTIONS & SAMPLES </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <ng-container *ngIf=\"cmp && cmp.metadata\">\n @if (cmpImportModule) {\n <div class=\"doc-page-section-title\">Module import</div>\n <pre><code tabindex=\"0\" overflow=\"auto\" class=\"language-javascript eui-u-bg-color-grey-5\" euiCode>{{ cmpImportModule }}</code></pre>\n }\n @if (cmpImportStandalone) {\n <div class=\"doc-page-section-title\">Component import</div>\n <pre><code tabindex=\"0\" overflow=\"auto\" class=\"language-javascript eui-u-bg-color-grey-5\" euiCode>{{ cmpImportStandalone }}</code></pre>\n <pre><code tabindex=\"0\" overflow=\"auto\" class=\"language-javascript eui-u-bg-color-grey-5\" euiCode>{{ cmpImportStandaloneCmp }}</code></pre>\n }\n <br />\n </ng-container>\n\n <div id=\"overview\" class=\"doc-page-section-title\">Overview</div>\n\n <div *ngIf=\"pageOverviewContent.length > 0\">\n <ng-content select=\"docPageOverview\"></ng-content>\n </div>\n\n <div *ngIf=\"pageOverviewDefaultContent.length > 0\">\n <ng-content select=\"docPageOverviewDefault\"></ng-content>\n </div>\n <br />\n\n <div id=\"samples\" class=\"doc-page-section-title\">Options & samples</div>\n <ng-content select=\"docPageSamples\"></ng-content>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"hasApi\">\n <eui-tab-header>\n <eui-label> API </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <ng-container *ngIf=\"apiUrlSafe\">\n <div class=\"flex-container\">\n <a href=\"{{ apiUrl }}\" target=\"_blank\" class=\"ms-auto pb-2 eui-u-text-link-external\">Open API page</a>\n </div>\n <div class=\"doc-page-api-iframe-wrapper\">\n <iframe id=\"iframe_api\" [width]=\"'100%'\" height=\"700px\" frameBorder=\"0\" [src]=\"apiUrlSafe\" title=\"API documentation\"></iframe>\n </div>\n </ng-container>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"hasA11y\">\n <eui-tab-header>\n <eui-label> A11Y </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <div id=\"accessibility\" class=\"doc-page-section-title\">Accessibility</div>\n <ng-container *ngIf=\"pageAccessibilityContent.length !== 0\">\n <ng-content select=\"docPageAccessibility\"></ng-content>\n <p>\n For more information regarding Accessibility, please refer to the <a class=\"eui-u-text-link-external\" href=\"https://eui.ecdevops.eu/eui-showcase-ux-components-18.x/showcase-dev-guide/accessibility/intro\" target=\"_blank\">Accessibility Dev Guide</a>.\n </p>\n </ng-container>\n <ng-container *ngIf=\"pageAccessibilityContent.length === 0\">\n No accessibility rules applicable\n </ng-container>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"pageThemingContent.length > 0\">\n <eui-tab-header>\n <eui-label> THEMING </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <div id=\"theming\" class=\"doc-page-section-title\">Theming</div>\n <ng-content select=\"docPageTheming\"></ng-content>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"pageInteractiveContent.length > 0\">\n <eui-tab-header>\n <eui-label>\n {{ pageInteractiveContent.first.title }}\n </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <div id=\"interactive\" class=\"doc-page-section-title\">\n {{ pageInteractiveContent.first.subTitle }}\n </div>\n <ng-content select=\"docPageInteractive\"></ng-content>\n </eui-tab-body>\n </eui-tab>\n </eui-tabs>\n\n <ng-container *ngIf=\"pageSectionsContent.length > 0\">\n <div id=\"demo\" *ngIf=\"sections.length === 0\" class=\"doc-page-section-title\">Demo</div>\n <ng-content select=\"docPageSections\"></ng-content>\n </ng-container>\n\n </eui-page-column-body>\n </eui-page-column>\n\n <eui-page-column *ngIf=\"isNavigationVisible\"\n class=\"eui-u-hidden-mobile eui-u-display-print-hidden\"\n label=\"On this page\"\n euiSizeVariant=\"4xl\"\n isCollapsible\n isRightCollapsible>\n <eui-page-column-body>\n\n <div class=\"doc-page-navigation-content\" tabindex=\"0\">\n <ul class=\"doc-page-navigation\">\n <ng-container *ngIf=\"pageSectionsContent.length === 0\">\n <li\n *ngIf=\"hasApi\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'api'\"\n (click)=\"onNavClick('api', 1)\">\n <span>API</span>\n </li>\n <li\n *ngIf=\"hasA11y\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'a11y'\"\n (click)=\"onNavClick('a11y', 2)\">\n <span>A11Y</span>\n </li>\n\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'samples'\"\n (click)=\"onNavClick('samples', 0)\">\n <span>OPTIONS & SAMPLES</span>\n </li>\n <li class=\"doc-page-navigation-item doc-page-navigation-sub\">\n <ng-container *ngIf=\"categories.length > 0\">\n <ng-container *ngIf=\"hasCategories; else noCategories\">\n <ng-container *ngFor=\"let category of categories\">\n <ng-container *ngIf=\"category.name === 'Base'; else notBase\">\n <ul *ngFor=\"let sample of category.samples\" class=\"doc-page-navigation-list\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\"\n (click)=\"onNavClick(sample.id, 0)\">\n <span>{{ sample.label }}</span>\n </li>\n </ul>\n </ng-container>\n <ng-template #notBase>\n <div *ngIf=\"category.name !== 'Base'\" class=\"doc-page-navigation-category\">{{category.name}}</div>\n <ul *ngFor=\"let sample of category.samples\" class=\"doc-page-navigation-list\">\n <li\n class=\"doc-page-navigation-item doc-page-navigation-item-sub\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\"\n (click)=\"onNavClick(sample.id, 0)\">\n <span>{{ sample.label }}</span>\n </li>\n </ul>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <ng-template #noCategories>\n <ul *ngFor=\"let sample of samples\" class=\"doc-page-navigation-list\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\"\n (click)=\"onNavClick(sample.id, 0)\">\n <span>{{ sample.label }}</span>\n </li>\n </ul>\n </ng-template>\n </ng-container>\n </li>\n\n\n\n <!-- OPTIONAL TABS-->\n <ng-container *ngIf=\"pageThemingContent.length > 0\">\n <li\n *ngIf=\"pageThemingContent.length > 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'theming'\"\n (click)=\"onNavClick('theming', 3)\">\n <span>THEMING</span>\n </li>\n <li\n *ngIf=\"pageInteractiveContent.length > 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'advanced'\"\n (click)=\"onNavClick('advanced', 4)\">\n <span>{{ pageInteractiveContent.first.title }}</span>\n </li>\n </ng-container>\n <ng-container *ngIf=\"pageThemingContent.length === 0\">\n <li\n *ngIf=\"pageInteractiveContent.length > 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'advanced'\"\n (click)=\"onNavClick('advanced', 3)\">\n <span>{{ pageInteractiveContent.first.title }}</span>\n </li>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"pageSectionsContent.length > 0\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'sections'\"\n (click)=\"onNavClick('sections', null)\">\n <span>Sections</span>\n </li>\n <li\n *ngIf=\"sections.length === 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'demo'\"\n (click)=\"onNavClick('demo', null)\">\n <span>Demo</span>\n </li>\n <li *ngIf=\"sections.length > 0\" class=\"doc-page-navigation-item doc-page-navigation-sub\">\n <ul *ngFor=\"let section of sections\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === section.id\"\n (click)=\"onNavClick(section.id, null)\">\n <span>{{ section.label }}</span>\n </li>\n </ul>\n </li>\n </ng-container>\n </ul>\n </div>\n\n\n\n\n </eui-page-column-body>\n </eui-page-column>\n\n </eui-page-columns>\n </eui-page-content>\n</eui-page>\n","import {\n Component,\n Input,\n Directive,\n AfterViewInit,\n ContentChildren,\n forwardRef,\n OnInit,\n QueryList,\n ViewEncapsulation,\n ViewChild,\n HostBinding,\n inject,\n} from '@angular/core';\nimport { CommonModule, Location } from '@angular/common';\nimport { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { DocSampleComponent } from '../doc-sample/doc-sample.component';\nimport { DocSectionComponent } from '../doc-section/doc-section.component';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiMenuItem } from '@eui/base';\nimport { EUI_TABS, EuiTabComponent, EuiTabsComponent } from '@eui/components/eui-tabs';\nimport { EUI_ALERT } from '@eui/components/eui-alert';\nimport { EUI_PAGE } from '@eui/components/eui-page-v2';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_CHIP } from '@eui/components/eui-chip';\nimport { DocPageCodeComponent } from './doc-page-code.component';\nimport { EUI_BLOCK_CONTENT } from '@eui/components/eui-block-content';\n\ntype ComponentStatus = EuiMenuItem & {\n name: string;\n cmpReplacement: string;\n cmpReplacementUrl: string;\n cmpReplacementNote: string;\n alternateApiCategory: string;\n alternateId: string;\n};\n\n@Component({\n selector: 'eui-showcase-doc-page-v2',\n templateUrl: 'doc-page-v2.component.html',\n styleUrls: ['./shared-v2.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n DocPageCodeComponent,\n ...EUI_ALERT,\n ...EUI_TABS,\n ...EUI_PAGE,\n ...EUI_LABEL,\n ...EUI_CHIP,\n ...EUI_BLOCK_CONTENT,\n ],\n})\nexport class DocPageComponentV2 implements OnInit, AfterViewInit {\n @HostBinding('class') cssClass = 'eui-doc-page';\n\n @Input() id;\n @Input() label;\n @Input() subLabel: string;\n @Input() isNotReady = false;\n @Input() isDeprecated = false;\n @Input() isLegacy = false;\n @Input() codeFolder: string;\n @Input() showcase = 'ux';\n @Input() isNavigationVisible = true;\n @Input() hasApi = true;\n @Input() hasA11y = true;\n @Input() customApiUrl: string = null;\n\n stateTypeClass;\n stateLabel;\n cmp;\n fragmentId;\n cmpImportModule;\n cmpImportStandalone;\n cmpImportStandaloneCmp;\n cmpStandalone;\n appMetadata;\n\n apiUrlSafe: SafeResourceUrl;\n apiUrl: string;\n iFrameContent;\n\n isLoading = true;\n isNavClicked = true;\n\n hasCategories = false;\n categories = [];\n\n @ContentChildren(DocSampleComponent, { descendants: true })\n samples: QueryList<DocSampleComponent>;\n @ContentChildren(DocSectionComponent, { descendants: true })\n sections: QueryList<DocSectionComponent>;\n\n @ContentChildren(forwardRef(() => DocPageOverviewContentDirectiveV2))\n pageOverviewContent: QueryList<DocPageOverviewContentDirectiveV2>;\n\n @ContentChildren(forwardRef(() => DocPageOverviewDefaultContentDirectiveV2))\n pageOverviewDefaultContent: QueryList<DocPageOverviewDefaultContentDirectiveV2>;\n\n @ContentChildren(forwardRef(() => DocPageSamplesContentDirectiveV2))\n pageSamplesContent: QueryList<DocPageSamplesContentDirectiveV2>;\n\n @ContentChildren(forwardRef(() => DocPageSectionsContentDirectiveV2))\n pageSectionsContent: QueryList<DocPageSectionsContentDirectiveV2>;\n\n @ContentChildren(forwardRef(() => DocPageInteractiveContentDirectiveV2))\n pageInteractiveContent: QueryList<DocPageInteractiveContentDirectiveV2>;\n\n @ContentChildren(forwardRef(() => DocPageAccessibilityContentDirectiveV2))\n pageAccessibilityContent: QueryList<DocPageAccessibilityContentDirectiveV2>;\n\n @ContentChildren(forwardRef(() => DocPageApiContentDirectiveV2))\n pageApiContent: QueryList<DocPageApiContentDirectiveV2>;\n\n @ContentChildren(forwardRef(() => DocPageThemingContentDirectiveV2))\n pageThemingContent: QueryList<DocPageThemingContentDirectiveV2>;\n\n @ViewChild('tabsContent') tabsContent: EuiTabsComponent;\n\n sanitizer = inject(DomSanitizer);\n private TABS_DEF = [\n { index: 0, id: 'samples' },\n { index: 1, id: 'api' },\n { index: 2, id: 'a11y' },\n { index: 3, id: 'theming' },\n { index: 4, id: 'advanced' },\n ];\n\n private CATEGORIES_DEF = [\n { index: 0, id: 'Base' },\n { index: 10, id: 'Variants' },\n { index: 20, id: 'Options' },\n { index: 30, id: 'Main Features' },\n { index: 40, id: 'free-category' },\n { index: 50, id: 'Reactive Forms' },\n { index: 60, id: 'Event Handlers' },\n { index: 70, id: 'Composition' },\n { index: 80, id: 'Misc' },\n ];\n\n private location = inject(Location);\n private router = inject(Router);\n private route = inject(ActivatedRoute);\n private asService = inject(EuiAppShellService);\n\n ngOnInit(): void {\n setTimeout((): void => {\n this.asService.isBlockDocumentActive = true;\n });\n\n this.appMetadata = this.asService.state.appMetadata;\n\n if (this.id && !this.label) {\n this.label = this.id;\n }\n\n this.fragmentId = this.route.snapshot.fragment;\n }\n\n ngAfterViewInit(): void {\n // getting API url\n try {\n this.apiUrl = this._getApiUrl();\n\n setTimeout(() => {\n this.apiUrlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.apiUrl);\n });\n } catch (e) {\n console.log(e);\n }\n\n setTimeout(() => {\n const tab = this.TABS_DEF.filter((t) => t.id === this.fragmentId)[0];\n const sampleTabIndex = 0;\n\n let tabIndex;\n\n if (!tab) {\n tabIndex = sampleTabIndex;\n } else {\n tabIndex = tab.index;\n }\n\n // constructing categories, if at least one set, if not backward compat with old display\n const categoriesJson = {};\n\n this.samples.forEach((s) => {\n // \"Default\" or \"_default\" sample are always put first in the nav list\n if (!s.category && s.id !== '_default' && s.id !== 'Default' && s.id !== 'default') {\n if (!categoriesJson['others']) {\n categoriesJson['others'] = [];\n categoriesJson['others'].push(s);\n } else {\n categoriesJson['others'].push(s);\n }\n } else {\n if (s.id === '_default' || s.id === 'Default' || s.id === 'default') {\n if (!categoriesJson['Base']) {\n categoriesJson['Base'] = [];\n categoriesJson['Base'].push(s);\n } else {\n categoriesJson['Base'].push(s);\n }\n } else {\n this.hasCategories = true;\n if (!categoriesJson[s.category]) {\n categoriesJson[s.category] = [];\n categoriesJson[s.category].push(s);\n } else {\n categoriesJson[s.category].push(s);\n }\n }\n }\n });\n\n // making the list of categories iterable for display\n // console.log(categoriesJson)\n Object.keys(categoriesJson).forEach((c) => {\n const normalizedKey = c.toLowerCase();\n\n const existingCategory = this.categories.find(cat => cat.name.toLowerCase() === normalizedKey);\n\n if (existingCategory) {\n existingCategory.samples = [...existingCategory.samples, ...categoriesJson[c]].sort((a, b) => {\n return a.label.localeCompare(b.label);\n });\n } else {\n this.categories.push({\n name: c,\n samples: categoriesJson[c].sort((a, b) => {\n return a.label.localeCompare(b.label);\n }),\n });\n }\n });\n\n // push the \"others\" at the end of the nav list\n this.categories.push(this.categories.splice(this.categories.findIndex(v => v.name == 'others'), 1)[0])\n\n this.categories.sort((a, b) => {\n return this.getCategoryIndex(a.name) - this.getCategoryIndex(b.name);\n });\n\n setTimeout(() => {\n this._scrollToFragment(this.fragmentId, tabIndex, true, true);\n\n this.asService.isBlockDocumentActive = false;\n this.isLoading = false;\n }, 1);\n });\n }\n\n getCategoryIndex(name: string): number {\n const category = this.CATEGORIES_DEF.find(cat => cat.id.toLowerCase() === name.toLowerCase());\n return category ? category.index : this.CATEGORIES_DEF.find(cat => cat.id === 'free-category').index;\n }\n\n onNavClick(fragmentId: string, tabIndex: number): void {\n this.fragmentId = fragmentId;\n this.isNavClicked = true;\n this._scrollToFragment(this.fragmentId, tabIndex, false, true);\n }\n\n onTabActivate(event: { tab: EuiTabComponent; index: number }): void {\n if (!this.isLoading && !this.isNavClicked) {\n const tabId = this.TABS_DEF.filter((t) => t.index === event.index)[0].id;\n this._scrollToFragment(tabId, event.index, false, false);\n }\n this.isNavClicked = false;\n }\n\n private _scrollToFragment(fragmentId: string, tabIndex: number, init: boolean, changeTab: boolean): void {\n if (init) {\n if (this.tabsContent) {\n this.tabsContent.activateTab(tabIndex);\n }\n } else {\n if (changeTab) {\n this.router.onSameUrlNavigation = 'reload';\n this.router.navigate(['.'], { relativeTo: this.route, fragment: fragmentId }).then(() => {\n if (this.tabsContent) {\n this.tabsContent.activateTab(tabIndex);\n }\n });\n } else {\n const routeRoot = this.router.url.split('#')[0];\n this.location.go(`${routeRoot}#${fragmentId}`);\n }\n }\n\n if (fragmentId) {\n setTimeout(() => {\n const fgm = document.getElementById(fragmentId);\n if (fgm) {\n fgm.scrollIntoView();\n }\n });\n }\n }\n\n private _getComponentStatus(id): ComponentStatus {\n\n const flatten = (links: EuiMenuItem[]): ComponentStatus[] =>\n links\n ? links.reduce(\n (result, item: ComponentStatus) => [\n ...result,\n {\n id: item.label,\n alternateId: item.name,\n status: item.markerTypeClass,\n cmpReplacement: item.cmpReplacement,\n cmpReplacementUrl: item.cmpReplacementUrl,\n cmpReplacementNote: item.cmpReplacementNote,\n alternateApiCategory: item.alternateApiCategory,\n metadata: item.metadata,\n },\n ...flatten(item.children),\n ],\n [],\n )\n : [];\n\n const flatLinks = flatten(this.asService.state.sidebarLinks);\n const idBasedCmp = flatLinks.filter((item) => item.id === id)[0];\n // console.log('from get component status');\n // console.log(id);\n // console.log(flatLinks);\n // console.log(idBasedCmp);\n if (idBasedCmp) {\n return idBasedCmp;\n } else {\n const alternateIdBasedCmp = flatLinks.filter((item) => item.alternateId === id)[0];\n return alternateIdBasedCmp;\n }\n }\n\n private _getApiUrl(): string {\n // console.log('getApiUrl');\n\n const url = window.location;\n const protocol = url.protocol;\n const host = url.host;\n const pathName = url.pathname;\n const pathNameArray = pathName.split('/');\n let name = pathNameArray[pathNameArray.length - 1];\n let category = pathNameArray[pathNameArray.length - 2];\n\n let showcaseType;\n showcaseType = pathNameArray[pathNameArray.length - 3];\n if (showcaseType?.indexOf('eui-showcase') === -1) {\n showcaseType = pathNameArray[pathNameArray.length - 4];\n }\n\n let protocolGen = protocol;\n let hostGen = host;\n\n if (host.indexOf('localhost') > -1) {\n protocolGen = 'https:';\n hostGen = 'euidev.ecdevops.eu';\n }\n\n const appVersionNumber = this.appMetadata.appVersion.split('.')[0];\n\n let docTypeRoot = `eui-docs-eui-${appVersionNumber}.x`;\n if (showcaseType && showcaseType.indexOf('-ecl') > -1) {\n docTypeRoot = `eui-docs-ecl-${appVersionNumber}.x`;\n }\n if (showcaseType && showcaseType.indexOf('-mobile') > -1) {\n docTypeRoot = `eui-docs-mobile-core-${appVersionNumber}.x`;\n }\n\n if (category === 'layout-components' || category === 'externals' || category === 'layout' || category === 'atoms') {\n category = 'components';\n }\n\n setTimeout(() => {\n if (name.indexOf('-service') > -1 || name.indexOf('-template') > -1) {\n name = name.replace('-service', '').replace('-template', '');\n }\n\n try {\n this.cmp = this._getComponentStatus(name);\n\n if (this.cmp && this.cmp.alternateApiCategory) {\n category = this.cmp.alternateApiCategory;\n }\n\n // console.log(this.cmp);\n\n if (this.cmp) {\n switch (this.cmp.status) {\n case 'success':\n this.stateLabel = 'ACTIVE';\n this.stateTypeClass = 'success';\n break;\n\n case 'warning':\n this.stateLabel = 'will be removed in eUI 21';\n this.stateTypeClass = 'warning';\n this.isDeprecated = true;\n break;\n\n case 'danger':\n this.stateLabel = 'will be removed in eUI 21';\n this.stateTypeClass = 'danger';\n this.isLegacy = true;\n break;\n\n case 'info':\n this.stateLabel = 'NOT READY';\n this.stateTypeClass = 'accent';\n this.isNotReady = true;\n break;\n }\n\n // construct cmp module import string\n if (this.cmp.metadata?.moduleName) {\n this.cmpImportModule = `import { ${this.cmp.metadata?.moduleName} } from '@eui/${this.cmp.metadata?.subEntryName}';`;\n }\n if (this.cmp.metadata?.exportName) {\n this.cmpImportStandalone = `import { ${this.cmp.metadata?.exportName} } from '@eui/${this.cmp.metadata?.subEntryName}';`;\n this.cmpImportStandaloneCmp = `@Component({\\n...\\n imports: [...${this.cmp.metadata?.exportName}],\\n...\\n})`;\n }\n }\n } catch(e) {\n console.log(e);\n }\n })\n\n const formattedName = this._camelCaseString(name + '-' + category.slice(0, -1), '-', true);\n return this.customApiUrl ? `${protocolGen}//${hostGen}/${docTypeRoot}/${category}/${this.customApiUrl}.html` : `${protocolGen}//${hostGen}/${docTypeRoot}/${category}/${formattedName}.html`;\n }\n\n private _camelCaseString(string, separator, first): string {\n const stringArray = string.split(separator);\n let result = '';\n let s;\n\n for (let i = 0; i < stringArray.length; i++) {\n s = stringArray[i];\n if (i === 0) {\n if (first) {\n result += s.substring(0, 1).toUpperCase() + s.substr(1);\n } else {\n result += s;\n }\n } else {\n result += s.substring(0, 1).toUpperCase() + s.substr(1);\n }\n }\n\n return result;\n }\n}\n\n/* eslint-disable @angular-eslint/directive-selector */\n@Directive({ selector: 'docPageOverviewV2' })\nexport class DocPageOverviewContentDirectiveV2 {}\n@Directive({ selector: 'docPageOverviewDefaultV2' })\nexport class DocPageOverviewDefaultContentDirectiveV2 {}\n@Directive({ selector: 'docPageInteractiveV2' })\nexport class DocPageInteractiveContentDirectiveV2 {\n @Input() title = 'ADVANCED EXAMPLES';\n @Input() subTitle = 'Advanced use cases';\n}\n@Directive({ selector: 'docPageSamplesV2' })\nexport class DocPageSamplesContentDirectiveV2 {}\n@Directive({ selector: 'docPageSectionsV2' })\nexport class DocPageSectionsContentDirectiveV2 {}\n@Directive({ selector: 'docPageAccessibilityV2' })\nexport class DocPageAccessibilityContentDirectiveV2 {}\n@Directive({ selector: 'docPageApiV2' })\nexport class DocPageApiContentDirectiveV2 {}\n\n@Directive({ selector: 'docPageThemingV2' })\nexport class DocPageThemingContentDirectiveV2 {}\n/* eslint-enable @angular-eslint/directive-selector */\n","<eui-page>\n <eui-page-content>\n <eui-page-columns>\n <eui-page-column>\n <eui-page-column-body>\n <eui-page-header class=\"eui-doc-page-title\">\n <eui-page-header-label>{{label}}</eui-page-header-label> \n <eui-page-header-sub-label>{{subLabel}}</eui-page-header-sub-label>\n <eui-page-header-action-items>\n <eui-showcase-doc-page-code\n *ngIf=\"codeFolder\"\n codeFolder=\"{{ codeFolder }}\"\n showcase=\"{{ showcase }}\"></eui-showcase-doc-page-code>\n <eui-chip euiSizeS isFilled\n *ngIf=\"stateLabel\"\n [euiSuccess]=\"stateLabel === 'ACTIVE'\"\n [euiInfo]=\"isNotReady\"\n [euiWarning]=\"isDeprecated\"\n [euiDanger]=\"isLegacy\">\n {{ stateLabel }}\n </eui-chip>\n </eui-page-header-action-items>\n </eui-page-header>\n\n <eui-alert *ngIf=\"stateLabel === 'LEGACY' || isLegacy\" euiDanger class=\"eui-u-mb-xl\">\n <eui-alert-title>LEGACY component</eui-alert-title>\n <strong class=\"eui-u-color-danger\">This component will be removed in eUI 21 release (end of 2025)</strong>\n <div *ngIf=\"cmp\">\n <div *ngIf=\"cmp.cmpReplacement !== 'NONE'\">\n It has been replaced by :\n <strong class=\"eui-u-color-success-darkest\">{{ cmp.cmpReplacement }}</strong>\n </div>\n <div *ngIf=\"cmp.cmpReplacement === 'NONE'\">\n <strong class=\"eui-u-color-danger\"> This component won't be replaced</strong>\n </div>\n <div *ngIf=\"cmp.cmpReplacementNote\">\n <strong class=\"eui-u-color-warning\">{{ cmp.cmpReplacementNote }}</strong>\n </div>\n </div>\n </eui-alert>\n\n <eui-alert *ngIf=\"stateLabel === 'DEPRECATED' || isDeprecated\" euiWarning class=\"eui-u-mb-xl\">\n <eui-alert-title>DEPRECATED component</eui-alert-title>\n This component has been <strong class=\"eui-u-color-danger\">deprecated</strong>\n <div *ngIf=\"cmp\">\n This component has no replacement in current version AND won't have replacement in next version of eUI,\n <strong class=\"eui-u-color-danger\">it will be removed in eUI 21 release (end of 2025)</strong>\n </div>\n </eui-alert>\n\n <eui-alert *ngIf=\"stateLabel === 'NOT_READY' || isNotReady\" euiInfo class=\"eui-u-mb-xl\">\n <eui-alert-title>NOT READY for production usage</eui-alert-title>\n <div *ngIf=\"cmp\">\n This component is under development / some features might be missing, it'll be available in a future release once\n validated.\n </div>\n </eui-alert>\n\n <div *ngIf=\"(stateLabel || isNotReady || isDeprecated) && stateLabel !== 'ACTIVE'\" class=\"mb-5\"></div>\n\n <eui-tabs #tabsContent *ngIf=\"pageSectionsContent.length === 0\" (tabActivate)=\"onTabActivate($event)\">\n <eui-tab>\n <eui-tab-header>\n <eui-label> OPTIONS & SAMPLES </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <ng-container *ngIf=\"cmp && cmp.metadata\">\n @if (cmpImportModule) {\n <div class=\"doc-page-section-title\">Module import</div>\n <pre><code tabindex=\"0\" overflow=\"auto\" class=\"language-javascript eui-u-bg-color-grey-5\" euiCode>{{ cmpImportModule }}</code></pre>\n }\n @if (cmpImportStandalone) {\n <div class=\"doc-page-section-title\">Component import</div>\n <pre><code tabindex=\"0\" overflow=\"auto\" class=\"language-javascript eui-u-bg-color-grey-5\" euiCode>{{ cmpImportStandalone }}</code></pre>\n <pre><code tabindex=\"0\" overflow=\"auto\" class=\"language-javascript eui-u-bg-color-grey-5\" euiCode>{{ cmpImportStandaloneCmp }}</code></pre>\n }\n <br />\n </ng-container>\n\n <div id=\"overview\" class=\"doc-page-section-title\">Overview</div>\n\n <div *ngIf=\"pageOverviewContent.length > 0\">\n <ng-content select=\"docPageOverview\"></ng-content>\n </div>\n\n <div *ngIf=\"pageOverviewDefaultContent.length > 0\">\n <ng-content select=\"docPageOverviewDefault\"></ng-content>\n </div>\n <br />\n\n <div id=\"samples\" class=\"doc-page-section-title\">Options & samples</div>\n <ng-content select=\"docPageSamples\"></ng-content>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"hasApi\">\n <eui-tab-header>\n <eui-label> API </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <ng-container *ngIf=\"apiUrlSafe\">\n <div class=\"flex-container\">\n <a href=\"{{ apiUrl }}\" target=\"_blank\" class=\"ms-auto pb-2 eui-u-text-link-external\">Open API page</a>\n </div>\n <div class=\"doc-page-api-iframe-wrapper\">\n <iframe id=\"iframe_api\" [width]=\"'100%'\" height=\"700px\" frameBorder=\"0\" [src]=\"apiUrlSafe\" title=\"API documentation\"></iframe>\n </div>\n </ng-container>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"hasA11y\">\n <eui-tab-header>\n <eui-label> A11Y </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <div id=\"accessibility\" class=\"doc-page-section-title\">Accessibility</div>\n <ng-container *ngIf=\"pageAccessibilityContent.length !== 0\">\n <ng-content select=\"docPageAccessibility\"></ng-content>\n <p>\n For more information regarding Accessibility, please refer to the <a class=\"eui-u-text-link-external\" href=\"https://eui.ecdevops.eu/eui-showcase-ux-components-18.x/showcase-dev-guide/accessibility/intro\" target=\"_blank\">Accessibility Dev Guide</a>.\n </p>\n </ng-container>\n <ng-container *ngIf=\"pageAccessibilityContent.length === 0\">\n No accessibility rules applicable\n </ng-container>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"pageThemingContent.length > 0\">\n <eui-tab-header>\n <eui-label> THEMING </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <div id=\"theming\" class=\"doc-page-section-title\">Theming</div>\n <ng-content select=\"docPageTheming\"></ng-content>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"pageInteractiveContent.length > 0\">\n <eui-tab-header>\n <eui-label>\n {{ pageInteractiveContent.first.title }}\n </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <div id=\"interactive\" class=\"doc-page-section-title\">\n {{ pageInteractiveContent.first.subTitle }}\n </div>\n <ng-content select=\"docPageInteractive\"></ng-content>\n </eui-tab-body>\n </eui-tab>\n </eui-tabs>\n\n <ng-container *ngIf=\"pageSectionsContent.length > 0\">\n <div id=\"demo\" *ngIf=\"sections.length === 0\" class=\"doc-page-section-title\">Demo</div>\n <ng-content select=\"docPageSections\"></ng-content>\n </ng-container>\n\n </eui-page-column-body>\n </eui-page-column>\n\n <eui-page-column *ngIf=\"isNavigationVisible\"\n class=\"eui-u-hidden-mobile eui-u-display-print-hidden\"\n label=\"On this page\"\n euiSizeVariant=\"4xl\"\n isCollapsible\n isRightCollapsible>\n <eui-page-column-header>\n <eui-page-column-header-label>\n On this page\n </eui-page-column-header-label>\n </eui-page-column-header>\n <eui-page-column-body>\n\n <div class=\"doc-page-navigation-content\" tabindex=\"0\">\n <ul class=\"doc-page-navigation\">\n <ng-container *ngIf=\"pageSectionsContent.length === 0\">\n <li\n *ngIf=\"hasApi\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'api'\"\n (click)=\"onNavClick('api', 1)\">\n <span>API</span>\n </li>\n <li\n *ngIf=\"hasA11y\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'a11y'\"\n (click)=\"onNavClick('a11y', 2)\">\n <span>A11Y</span>\n </li>\n\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'samples'\"\n (click)=\"onNavClick('samples', 0)\">\n <span>OPTIONS & SAMPLES</span>\n </li>\n <li class=\"doc-page-navigation-item doc-page-navigation-sub\">\n <ng-container *ngIf=\"categories.length > 0\">\n <ng-container *ngIf=\"hasCategories; else noCategories\">\n <ng-container *ngFor=\"let category of categories\">\n <ng-container *ngIf=\"category.name === 'Base'; else notBase\">\n <ul *ngFor=\"let sample of category.samples\" class=\"doc-page-navigation-list\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\"\n (click)=\"onNavClick(sample.id, 0)\">\n <span>{{ sample.label }}</span>\n </li>\n </ul>\n </ng-container>\n <ng-template #notBase>\n <div *ngIf=\"category.name !== 'Base'\" class=\"doc-page-navigation-category\">{{category.name}}</div>\n <ul *ngFor=\"let sample of category.samples\" class=\"doc-page-navigation-list\">\n <li\n class=\"doc-page-navigation-item doc-page-navigation-item-sub\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\"\n (click)=\"onNavClick(sample.id, 0)\">\n <span>{{ sample.label }}</span>\n </li>\n </ul>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <ng-template #noCategories>\n <ul *ngFor=\"let sample of samples\" class=\"doc-page-navigation-list\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\"\n (click)=\"onNavClick(sample.id, 0)\">\n <span>{{ sample.label }}</span>\n </li>\n </ul>\n </ng-template>\n </ng-container>\n </li>\n\n\n\n <!-- OPTIONAL TABS-->\n <ng-container *ngIf=\"pageThemingContent.length > 0\">\n <li\n *ngIf=\"pageThemingContent.length > 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'theming'\"\n (click)=\"onNavClick('theming', 3)\">\n <span>THEMING</span>\n </li>\n <li\n *ngIf=\"pageInteractiveContent.length > 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'advanced'\"\n (click)=\"onNavClick('advanced', 4)\">\n <span>{{ pageInteractiveContent.first.title }}</span>\n </li>\n </ng-container>\n <ng-container *ngIf=\"pageThemingContent.length === 0\">\n <li\n *ngIf=\"pageInteractiveContent.length > 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'advanced'\"\n (click)=\"onNavClick('advanced', 3)\">\n <span>{{ pageInteractiveContent.first.title }}</span>\n </li>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"pageSectionsContent.length > 0\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'sections'\"\n (click)=\"onNavClick('sections', null)\">\n <span>Sections</span>\n </li>\n <li\n *ngIf=\"sections.length === 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'demo'\"\n (click)=\"onNavClick('demo', null)\">\n <span>Demo</span>\n </li>\n <li *ngIf=\"sections.length > 0\" class=\"doc-page-navigation-item doc-page-navigation-sub\">\n <ul *ngFor=\"let section of sections\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === section.id\"\n (click)=\"onNavClick(section.id, null)\">\n <span>{{ section.label }}</span>\n </li>\n </ul>\n </li>\n </ng-container>\n </ul>\n </div>\n\n\n\n\n </eui-page-column-body>\n </eui-page-column>\n\n </eui-page-columns>\n </eui-page-content>\n</eui-page>\n","import { Component, Input, ViewChild, inject } from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_DIALOG, EuiDialogComponent } from '@eui/components/eui-dialog';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EuiTooltipDirective } from '@eui/components/directives';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'eui-showcase-doc-page-code-fab',\n templateUrl: 'doc-page-code-fab.component.html',\n imports: [\n CommonModule,\n EuiTooltipDirective,\n ...EUI_ICON,\n ...EUI_DIALOG,\n ...EUI_BUTTON,\n ],\n})\nexport class DocPageCodeFabComponent {\n @Input() codeFolder = '';\n @Input() showcase = 'design-patterns';\n @Input() hasContentDialog = true;\n\n @ViewChild('dialog') dialog: EuiDialogComponent;\n\n asService = inject(EuiAppShellService);\n\n public toggleCode(): void {\n this.dialog.openDialog();\n }\n\n public onClose(): void {\n this.dialog.closeDialog();\n }\n\n public onOpenCode(): void {\n // eslint-disable-next-line max-len\n const showcaseRoot = 'https://sdlc.webcloud.ec.europa.eu/csdr/eui/app-eui-showcase-ux-components/-/blob/master/src/app/features';\n const sourceRootPath = `${showcaseRoot}/showcase-${this.showcase}/`;\n window.open(sourceRootPath + this.codeFolder, '_blank');\n }\n}\n","@if (hasContentDialog) {\n<div class=\"eui-button-fixed eui-u-mb-6xl\">\n <div class=\"eui-button-floating eui-button--size-2xl eui-button--icon-only eui-u-c-bg-cta-surface\">\n <eui-icon-svg icon=\"eui-code\" size=\"l\" (click)=\"toggleCode()\"></eui-icon-svg>\n </div>\n</div>\n\n<eui-dialog #dialog title=\"Page source code\" [hasFooter]=\"false\" (close)=\"onClose()\" [width]=\"'50vw'\">\n <button type=\"button\" *ngIf=\"codeFolder\" euiButton euiAccent euiSizeS (click)=\"onOpenCode()\">\n <eui-icon-svg icon=\"eui-code\" set=\"eui\" size=\"m\" fillColor=\"grey-100\" class=\"eui-u-mr-xs\"></eui-icon-svg> VIEW SOURCES\n </button>\n <ng-content></ng-content>\n <p class=\"eui-u-text-paragraph\">Use the <kbd class=\"eui-u-text-kbd\">View sources</kbd> button to access the code source of the page.</p>\n</eui-dialog>\n\n} @else {\n\n<div class=\"eui-button-fixed eui-u-mb-6xl\">\n <button class=\"eui-button-floating eui-button--size-2xl eui-button--icon-only eui-u-c-bg-cta-surface\" (click)=\"onOpenCode()\">\n <eui-icon-svg icon=\"eui-code\" size=\"l\"></eui-icon-svg>\n </button>\n</div>\n\n}\n\n","import { Component, Input, ViewChild, inject } from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_DIALOG, EuiDialogComponent } from '@eui/components/eui-dialog';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'eui-showcase-doc-page-code-modal',\n templateUrl: 'doc-page-code-modal.component.html',\n imports: [\n CommonModule,\n ...EUI_DIALOG,\n ...EUI_ICON,\n ],\n})\nexport class DocPageCodeModalComponent {\n @Input() width = '95vw';\n\n @ViewChild('dialog') dialog: EuiDialogComponent;\n\n asService = inject(EuiAppShellService);\n\n public toggleCode(): void {\n this.dialog.openDialog();\n }\n\n public onClose(): void {\n this.dialog.closeDialog();\n }\n}\n","<button type=\"button\" euiButton euiCTAButton (click)=\"toggleCode()\">\n <span euiLabel>Check the code</span>\n <eui-icon-svg icon=\"eui-code\" />\n</button>\n\n<eui-dialog #dialog title=\"Page source code\" [hasFooter]=\"false\" (close)=\"onClose()\" [width]=\"width\">\n <ng-content></ng-content>\n</eui-dialog>\n","/* eslint-disable max-len */\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n Directive,\n ContentChild,\n forwardRef,\n QueryList,\n HostListener,\n inject,\n} from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\nimport { EUI_CARD } from '@eui/components/eui-card';\nimport { EUI_CHIP } from '@eui/components/eui-chip';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_TABS, EuiTabComponent } from '@eui/components/eui-tabs';\n\n/* eslint-disable */\n@Directive({ selector: 'docPagePatternSample' })\nexport class DocPagePatternSampleDirective { }\n@Directive({ selector: 'docPagePatternDoc' })\nexport class DocPagePatternDocDirective { }\n\n@Component({\n selector: 'eui-showcase-doc-page-pattern',\n templateUrl: './doc-page-pattern.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./doc-page-pattern.component.scss'],\n imports: [\n CommonModule,\n ...EUI_ICON,\n ...EUI_TABS,\n ...EUI_CARD,\n ...EUI_CHIP,\n ...EUI_BADGE,\n ...EUI_LABEL,\n ],\n})\nexport class DocPagePatternComponent {\n @HostBinding('class')\n get cssClasses(): string {\n return ['doc-page-pattern'].join(' ').trim();\n }\n\n @ContentChild(forwardRef(() => DocPagePatternSampleDirective))\n sampleContent: QueryList<DocPagePatternSampleDirective>;\n @ContentChild(forwardRef(() => DocPagePatternDocDirective))\n docContent: QueryList<DocPagePatternDocDirective>;\n\n @Input() id: string;\n @Input() label: string;\n @Input() anatomyImage: string;\n @Input() docEntries = [];\n @Input() dos = [];\n @Input() donts = [];\n @Input() sourceUrl: string;\n @Input() figmaUrl: string;\n @Input() figmaEmbedSrc: string;\n\n public urlSafe: SafeResourceUrl;\n public isShowGoTop: boolean;\n public topPosToStartShowing = 100;\n public tabSelectedIndex = 0;\n\n @HostListener('window:scroll') checkScroll() {\n const scrollPosition = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n if (scrollPosition >= this.topPosToStartShowing) {\n this.isShowGoTop = true;\n } else {\n this.isShowGoTop = false;\n }\n }\n private sanitizer: DomSanitizer = inject(DomSanitizer);\n\n ngOnInit() {\n if (this.figmaEmbedSrc) {\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.figmaEmbedSrc);\n const iFrame: HTMLIFrameElement = <HTMLIFrameElement>document.getElementById('iframe-figma');\n }\n }\n\n public onNavigateToCode(event: any) {\n // eslint-disable-next-line max-len\n const showcase = 'ux-patterns';\n const sourceRootPath = `https://sdlc.webcloud.ec.europa.eu/csdr/eui/app-eui-showcase-${showcase}/-/blob/master/src/app/features/`;\n window.open(sourceRootPath + this.sourceUrl, '_blank');\n }\n\n public onTabActivate(event: { tab: EuiTabComponent; index: number }) {\n this.tabSelectedIndex = event.index;\n }\n\n public gotoTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n }\n}\n","<eui-tabs (tabActivate)=\"onTabActivate($event)\">\n <eui-tab>\n <eui-label>Usage and documentation</eui-label>\n <eui-tab-body>\n <h2 class=\"eui-u-c-primary eui-u-mb-none eui-u-text-h2\">{{ label }}</h2>\n\n <h3 class=\"eui-u-text-h3\">Information</h3>\n <ng-content select=\"docPagePatternDoc\"></ng-content>\n\n <ng-container *ngIf=\"figmaEmbedSrc; else screenshot\">\n <h3 class=\"eui-u-mt-3xl eui-u-text-h3\">Figma design anatomy</h3>\n <iframe id=\"iframe-figma\" style=\"border: 1px solid rgba(0, 0, 0, 0.1)\" width=\"100%\" height=\"650\" [src]=\"urlSafe\"></iframe>\n </ng-container>\n <ng-template #screenshot>\n <ng-container *ngIf=\"figmaUrl !== 'PENDING_DS'\">\n <h3 class=\"eui-u-mt-3xl eui-u-text-h3\">Anatomy</h3>\n <img\n src=\"assets/images/design-system/{{ anatomyImage }}\"\n alt=\"Design anatomy image\"\n width=\"90%\"\n class=\"eui-u-sh-5 eui-u-mb-m\" />\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"docEntries.length !== 0\">\n <h3 class=\"eui-u-mt-3xl eui-u-text-h3\">Design system references</h3>\n\n <eui-card *ngFor=\"let ref of docEntries\" class=\"eui-u-mb-m\" [euiWarning]=\"ref.mandatory\" [euiInfo]=\"!ref.mandatory\">\n <eui-card-header>\n <eui-card-header-title>\n <div class=\"eui-u-flex\">\n <eui-badge *ngIf=\"ref?.id\" euiSizeXL class=\"eui-u-mr-s\">{{ ref.id }}</eui-badge>\n <span class=\"eui-u-font-l\">{{ ref.name }}</span>\n </div>\n </eui-card-header-title>\n <eui-card-header-right-content>\n <eui-chip [euiWarning]=\"ref.mandatory\" [euiInfo]=\"!ref.mandatory\" class=\"eui-u-ml-m\">\n <span *ngIf=\"ref.mandatory\" euiLabel><strong> Mandatory </strong></span>\n <span *ngIf=\"!ref.mandatory\" euiLabel><strong> Optional </strong></span>\n </eui-chip>\n </eui-card-header-right-content>\n </eui-card-header>\n <eui-card-content>\n <h6 class=\"section-title eui-u-mt-none\"><strong>Description</strong></h6>\n <div class=\"html\" [innerHTML]=\"ref.description\"></div>\n\n <ng-container *ngIf=\"ref.whenToUse\">\n <h6 class=\"section-title eui-u-mt-xl\"><strong>When to use ?</strong></h6>\n <div class=\"html\" [innerHTML]=\"ref.whenToUse\"></div>\n </ng-container>\n <ng-container *ngIf=\"ref.whenNotToUse\">\n <h6 class=\"section-title eui-u-mt-xl\"><strong>When to not use ?</strong></h6>\n <div class=\"html\" [innerHTML]=\"ref.whenNotToUse\"></div>\n </ng-container>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <ng-container *ngIf=\"ref.dos && ref.dos.length !== 0\">\n <h6 class=\"section-title eui-u-mt-xl\">\n <eui-icon-svg\n icon=\"thumbs-up\"\n set=\"sharp\"\n size=\"m\"\n fillColor=\"success-100\"\n class=\"eui-u-mr-m\"></eui-icon-svg>\n <strong>Do's</strong>\n </h6>\n <li *ngFor=\"let do of ref.dos\">{{ do }}</li>\n </ng-container>\n </div>\n <div class=\"col-md-6\">\n <ng-container *ngIf=\"ref.donts && ref.donts.length !== 0\">\n <h6 class=\"section-title eui-u-mt-xl\">\n <eui-icon-svg\n icon=\"hand-right\"\n set=\"sharp\"\n size=\"m\"\n fillColor=\"danger-100\"\n class=\"eui-u-mr-m\"></eui-icon-svg>\n <strong>Dont's</strong>\n </h6>\n <li *ngFor=\"let dont of ref.donts\">{{ dont }}</li>\n </ng-container>\n </div>\n </div>\n </eui-card-content>\n </eui-card>\n </ng-container>\n\n <h3 class=\"eui-u-mt-3xl eui-u-text-h3\">Figma resource</h3>\n <ng-container *ngIf=\"figmaUrl === 'PENDING_DS'; else figmaOK\">\n Pending Design system publication. Will be available in a future release.\n </ng-container>\n <ng-template #figmaOK>\n <eui-card>\n <eui-card-header>\n <eui-card-header-left-content>\n <img\n width=\"32\"\n height=\"32\"\n alt=\"Figma Logo\"\n src=\"data:image/png;base64,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\" />\n </eui-card-header-left-content>\n <eui-card-header-title>\n <a\n class=\"h5 eui-u-text-link-external\"\n href=\"https://www.figma.com/file/jQ9htWvSM8SWTPuk3hoigc/{{ figmaUrl }}\"\n target=\"blank\">\n <span class=\"eui-u-color-grey-75\">Layout component /</span>\n {{ label }}\n </a>\n </eui-card-header-title>\n </eui-card-header>\n </eui-card>\n </ng-template>\n </eui-tab-body>\n </eui-tab>\n <eui-tab>\n <eui-label>Pattern sample</eui-label>\n <eui-tab-body>\n <ng-content select=\"docPagePatternSample\"></ng-content>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tabs-right-content>\n <button type=\"button\" euiButton euiAccent euiSizeS (click)=\"onNavigateToCode($event)\">\n <eui-icon-svg icon=\"code-slash:sharp\"></eui-icon-svg>\n View sources\n </button>\n </eui-tabs-right-content>\n</eui-tabs>\n\n<button\n type=\"button\"\n *ngIf=\"isShowGoTop && tabSelectedIndex === 0\"\n euiButton\n euiIconButton\n euiOutline\n euiRounded\n euiSizeL\n class=\"eui-button-fixed eui-u-sh-5\"\n (click)=\"gotoTop()\"\n title=\"Goto Top\"\n aria-label=\"Goto Top\">\n <!-- 👆 -->\n <eui-icon-svg icon=\"eui-arrow-up\" set=\"eui\" size=\"l\" fillColor=\"grey-50\"></eui-icon-svg>\n</button>\n","import { Component, Input, HostBinding } from '@angular/core';\nimport { EUI_CARD } from '@eui/components/eui-card';\nimport { EUI_CHIP } from '@eui/components/eui-chip';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\nimport { CommonModule } from '@angular/common';\n@Component({\n selector: 'eui-showcase-doc-pattern-sample-refs',\n templateUrl: 'doc-page-pattern-sample-refs.component.html',\n styleUrls: ['./doc-page-pattern-sample-refs.component.scss'],\n imports: [\n CommonModule,\n ...EUI_CHIP,\n ...EUI_CARD,\n ...EUI_BADGE,\n ],\n})\nexport class DocPagePatternSampleRefsComponent {\n @HostBinding('class') string = 'eui-showcase-doc-page-pattern-sample-refs';\n\n @Input() docEntries = []; \n @Input() codeFolder: string;\n}\n","<h4 class=\"eui-u-mt-3xl eui-u-text-h4\">Design system references</h4>\n\n<div class=\"row\">\n <div class=\"col-md-6 eui-u-mb-3xl\" *ngFor=\"let ref of docEntries\">\n <eui-card class=\"eui-u-height-100\">\n <eui-card-header>\n <eui-card-header-title>\n <div class=\"eui-u-flex\">\n <eui-badge *ngIf=\"ref?.id\" [euiDanger]=\"ref.mandatory\" [euiPrimary]=\"!ref.mandatory\" class=\"eui-u-mr-s\">{{ ref.id }}</eui-badge>\n <span class=\"eui-u-f-l\">{{ ref.name }}</span>\n <eui-chip [euiDanger]=\"ref.mandatory\" [euiInfo]=\"!ref.mandatory\" class=\"eui-u-ml-m\">\n <span *ngIf=\"ref.mandatory\" euiLabel><strong> Mandatory </strong></span>\n <span *ngIf=\"!ref.mandatory\" euiLabel><strong> Optional </strong></span>\n </eui-chip> \n </div>\n </eui-card-header-title>\n </eui-card-header>\n <eui-card-content class=\"eui-u-display-flex eui-u-flex-column eui-u-flex-gap-s\">\n <div class=\"eui-u-f-bold\">Description</div>\n <div class=\"html\" [innerHTML]=\"ref.description\"></div>\n\n <ng-container *ngIf=\"ref.whenToUse\">\n <div class=\"eui-u-f-bold\">When to use ?</div>\n <div class=\"html\" [innerHTML]=\"ref.whenToUse\"></div>\n </ng-container>\n <ng-container *ngIf=\"ref.whenNotToUse\">\n <div class=\"eui-u-f-bold\">When to not use ?</div>\n <div class=\"html\" [innerHTML]=\"ref.whenNotToUse\"></div>\n </ng-container>\n <div class=\"row eui-u-mt-l\">\n <div class=\"col-md-6\">\n <ng-container *ngIf=\"ref.dos && ref.dos.length !== 0\">\n <div class=\"eui-u-c-bg-success eui-u-p-xs\"></div>\n <div class=\"eui-u-c-s-success eui-u-f-bold eui-u-mt-s eui-u-mb-xs\">Do's</div>\n <li *ngFor=\"let do of ref.dos\">{{ do }}</li>\n </ng-container>\n </div>\n <div class=\"col-md-6\">\n <ng-container *ngIf=\"ref.donts && ref.donts.length !== 0\">\n <div class=\"eui-u-c-bg-danger eui-u-p-xs\"></div>\n <div class=\"eui-u-c-s-danger eui-u-mt-s eui-u-mb-xs eui-u-f-bold\">Dont's</div>\n <li *ngFor=\"let dont of ref.donts\">{{ dont }}</li>\n </ng-container>\n </div>\n </div>\n </eui-card-content>\n </eui-card>\n </div>\n</div>\n\n\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, HostBinding, Directive, ContentChild, forwardRef, QueryList } from '@angular/core';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\n\n/* eslint-disable */\n@Directive({ selector: 'eui-showcase-doc-pattern-sample-doc' })\nexport class DocPagePatternSampleDocDirective { }\n\n@Component({\n selector: 'eui-showcase-doc-pattern-sample',\n templateUrl: 'doc-page-pattern-sample.component.html',\n styleUrls: ['./doc-page-pattern-sample.component.scss'],\n imports: [\n CommonModule,\n ...EUI_BADGE,\n ...EUI_BUTTON,\n ],\n})\nexport class DocPagePatternSampleComponent {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-showcase-doc-page-pattern-sample',\n !this.codeFolder ? 'no-code': '',\n ].join(' ').trim();\n } \n\n @Input() label: string;\n @Input() docEntries = []; \n @Input() codeFolder: string;\n @Input() refsImage: string;\n @Input() refsImage2: string;\n @Input() figmaLink: string;\n @Input() isSmall = false;\n @Input() isTiny = false;\n @Input() isMedium = false;\n @Input() isLarge = false;\n @Input() isExtraLarge = false;\n @Input() hasAutoHeight = false;\n\n @ContentChild(forwardRef(() => DocPagePatternSampleDocDirective))\n docContent: QueryList<DocPagePatternSampleDocDirective>; \n\n openCode(): void {\n // eslint-disable-next-line max-len\n const showcaseRoot = 'https://sdlc.webcloud.ec.europa.eu/csdr/eui/app-eui-showcase-ux-components/-/blob/master/src/app/features/showcase-design-patterns/';\n window.open(showcaseRoot + this.codeFolder, '_blank'); \n } \n}\n","<div role=\"heading\" aria-level=\"1\" class=\"eui-u-f-xl-bold\">{{ label }}</div>\n\n@if (figmaLink) {\n <h4 class=\"eui-u-text-h4\">Figma reference</h4>\n <span>\n <a euiButton euiBasicButton euiPrimary href=\"{{figmaLink}}\" class=\"eui-u-text-link-external\" target=\"_blank\">\n <svg viewBox=\"0 0 38 57\" style=\"height: 36px; width: 36px;\"><path fill=\"#1abcfe\" d=\"M19 28.5a9.5 9.5 0 1 1 19 0 9.5 9.5 0 0 1-19 0z\"></path><path fill=\"#0acf83\" d=\"M0 47.5A9.5 9.5 0 0 1 9.5 38H19v9.5a9.5 9.5 0 1 1-19 0z\"></path><path fill=\"#ff7262\" d=\"M19 0v19h9.5a9.5 9.5 0 1 0 0-19H19z\"></path><path fill=\"#f24e1e\" d=\"M0 9.5A9.5 9.5 0 0 0 9.5 19H19V0H9.5A9.5 9.5 0 0 0 0 9.5z\"></path><path fill=\"#a259ff\" d=\"M0 28.5A9.5 9.5 0 0 0 9.5 38H19V19H9.5A9.5 9.5 0 0 0 0 28.5z\"></path></svg>\n Link to figma pattern page\n </a>\n </span>\n}\n\n@if (docContent) {\n <h4 class=\"eui-u-text-h4\">Information</h4>\n <ng-content select=\"eui-showcase-doc-pattern-sample-doc\" />\n}\n\n\n<h4 class=\"eui-u-mt-3xl eui-u-text-h4\">Anatomy</h4>\n\n<div class=\"content-wrapper\">\n <div class=\"content\" \n [class.small]=\"isSmall\" [class.medium]=\"isMedium\" \n [class.large]=\"isLarge\" [class.extra-large]=\"isExtraLarge\" [class.tiny]=\"isTiny\" [class.auto-height]=\"hasAutoHeight\">\n <eui-badge *ngFor=\"let ref of docEntries;\" [euiDanger]=\"ref.mandatory\" [euiSecondary]=\"ref.outsidePattern\" [euiPrimary]=\"!ref.mandatory\" class=\"eui-u-p-absolute\" [style]=\"ref.position\">\n {{ref.id}}\n </eui-badge>\n <div class=\"sample-wrapper\">\n <ng-content />\n </div>\n </div>\n\n @if (codeFolder) {\n <div class=\"eui-u-flex eui-u-flex-justify-content-center eui-u-mt-l\">\n <button euiButton euiCTAButton euiSizeS (click)=\"openCode()\">Check the code</button>\n </div>\n } \n</div>\n\n\n\n@if (refsImage) {\n <h4 class=\"eui-u-mt-3xl eui-u-text-h4\">Design system references</h4>\n <img class=\"refs-image\"\n src=\"assets/images/design-patterns/{{ refsImage }}\"\n alt=\"Design anatomy image\"/> \n}\n\n@if (refsImage2) {\n <img class=\"refs-image\"\n src=\"assets/images/design-patterns/{{ refsImage2 }}\"\n alt=\"Design anatomy image\"/> \n}","/* eslint-disable max-len */\nimport {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n Directive,\n ContentChild,\n forwardRef,\n QueryList,\n HostListener,\n inject,\n} from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { EUI_TABS, EuiTabComponent } from '@eui/components/eui-tabs';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_CARD } from '@eui/components/eui-card';\nimport { EUI_CHIP } from '@eui/components/eui-chip';\nimport { EUI_AVATAR } from '@eui/components/eui-avatar';\nimport { CommonModule } from '@angular/common';\n\n/* eslint-disable */\n@Directive({ selector: 'docPagePatternDoc' })\nexport class DocPagePatternSimpleDocDirective { }\n\n@Component({\n selector: 'eui-showcase-doc-page-pattern-simple',\n templateUrl: './doc-page-pattern-simple.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./doc-page-pattern-simple.component.scss'],\n imports: [\n CommonModule,\n ...EUI_BUTTON,\n ...EUI_TABS,\n ...EUI_ICON,\n ...EUI_CARD,\n ...EUI_CHIP,\n ...EUI_AVATAR,\n ],\n})\nexport class DocPagePatternSimpleComponent {\n @HostBinding('class')\n get cssClasses(): string {\n return ['doc-page-pattern'].join(' ').trim();\n }\n\n @ContentChild(forwardRef(() => DocPagePatternSimpleDocDirective))\n docContent: QueryList<DocPagePatternSimpleDocDirective>;\n\n @Input() id: string;\n @Input() label: string;\n @Input() anatomyImage: string;\n @Input() docEntries = [];\n @Input() dos = [];\n @Input() donts = [];\n @Input() sourceUrl: string;\n @Input() figmaUrl: string;\n @Input() figmaEmbedSrc: string;\n\n public urlSafe: SafeResourceUrl;\n public isShowGoTop: boolean;\n public topPosToStartShowing = 100;\n public tabSelectedIndex = 0;\n\n @HostListener('window:scroll') checkScroll() {\n const scrollPosition = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n if (scrollPosition >= this.topPosToStartShowing) {\n this.isShowGoTop = true;\n } else {\n this.isShowGoTop = false;\n }\n }\n private sanitizer: DomSanitizer = inject(DomSanitizer);\n\n ngOnInit() {\n if (this.figmaEmbedSrc) {\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.figmaEmbedSrc);\n const iFrame: HTMLIFrameElement = <HTMLIFrameElement>document.getElementById('iframe-figma');\n }\n }\n\n public onNavigateToCode(event: any) {\n // eslint-disable-next-line max-len\n const showcase = 'ux-patterns';\n const sourceRootPath = `https://sdlc.webcloud.ec.europa.eu/csdr/eui/app-eui-showcase-${showcase}/-/blob/master/src/app/features/`;\n window.open(sourceRootPath + this.sourceUrl, '_blank');\n }\n\n public onTabSelect(event: { tab: EuiTabComponent; index: number }) {\n this.tabSelectedIndex = event.index;\n }\n\n public gotoTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n }\n}\n","<div role=\"heading\" aria-level=\"1\" class=\"eui-u-f-xl-bold\">{{ label }}</div>\n\n\n<h4 class=\"eui-u-text-h4\">Information</h4>\n<ng-content select=\"docPagePatternDoc\"></ng-content>\n\n<ng-container *ngIf=\"figmaEmbedSrc; else screenshot\">\n <h3 class=\"eui-u-mt-3xl eui-u-text-h3\">Figma design anatomy</h3>\n <iframe id=\"iframe-figma\" style=\"border: 1px solid rgba(0, 0, 0, 0.1)\" width=\"100%\" height=\"650\" [src]=\"urlSafe\"></iframe>\n</ng-container>\n<ng-template #screenshot>\n <ng-container *ngIf=\"figmaUrl !== 'PENDING_DS'\">\n <h4 class=\"eui-u-mt-3xl eui-u-text-h4\">Anatomy</h4>\n <img\n src=\"assets/images/design-system/{{ anatomyImage }}\"\n alt=\"Design anatomy image\"\n width=\"60%\"\n class=\"eui-u-sh-5 eui-u-mb-m\" />\n </ng-container>\n</ng-template>\n\n<ng-container *ngIf=\"docEntries.length !== 0\">\n <h4 class=\"eui-u-mt-3xl eui-u-text-h4\">Design system references</h4>\n\n <eui-card *ngFor=\"let ref of docEntries\" class=\"eui-u-mb-m\" [euiWarning]=\"ref.mandatory\" [euiInfo]=\"!ref.mandatory\">\n <eui-card-header>\n <eui-card-header-title>\n <div class=\"eui-u-flex\">\n <eui-avatar *ngIf=\"ref?.id\" euiSizeS euiDanger class=\"eui-u-mr-s\"><eui-avatar-text>{{ ref.id }}</eui-avatar-text></eui-avatar>\n <span class=\"eui-u-f-xl\">{{ ref.name }}</span>\n <eui-chip [euiDanger]=\"ref.mandatory\" [euiInfo]=\"!ref.mandatory\" class=\"eui-u-ml-m\">\n <span *ngIf=\"ref.mandatory\" euiLabel><strong> Mandatory </strong></span>\n <span *ngIf=\"!ref.mandatory\" euiLabel><strong> Optional </strong></span>\n </eui-chip> \n </div>\n </eui-card-header-title>\n </eui-card-header>\n <eui-card-content>\n <div class=\"doc-page-section-title\">Description</div>\n <div class=\"html\" [innerHTML]=\"ref.description\"></div>\n\n <ng-container *ngIf=\"ref.whenToUse\">\n <div class=\"doc-page-section-title\">When to use ?</div>\n <div class=\"html\" [innerHTML]=\"ref.whenToUse\"></div>\n </ng-container>\n <ng-container *ngIf=\"ref.whenNotToUse\">\n <div class=\"doc-page-section-title\">When to not use ?</div>\n <div class=\"html\" [innerHTML]=\"ref.whenNotToUse\"></div>\n </ng-container>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <ng-container *ngIf=\"ref.dos && ref.dos.length !== 0\">\n <div class=\"doc-page-section-title eui-u-c-s-success\">\n <eui-icon-svg\n icon=\"thumbs-up\"\n set=\"sharp\"\n size=\"m\"\n fillColor=\"success-100\"\n class=\"eui-u-mr-m\"></eui-icon-svg>\n <strong>Do's</strong>\n </div>\n <li *ngFor=\"let do of ref.dos\" class=\"eui-u-c-s-success eui-u-f-bold\">{{ do }}</li>\n </ng-container>\n </div>\n <div class=\"col-md-6\">\n <ng-container *ngIf=\"ref.donts && ref.donts.length !== 0\">\n <div class=\"doc-page-section-title eui-u-c-s-danger\">\n <eui-icon-svg\n icon=\"hand-right\"\n set=\"sharp\"\n size=\"m\"\n fillColor=\"danger-100\"\n class=\"eui-u-mr-m\"></eui-icon-svg>\n <strong>Dont's</strong>\n </div>\n <li *ngFor=\"let dont of ref.donts\" class=\"eui-u-c-s-danger eui-u-f-bold\">{{ dont }}</li>\n </ng-container>\n </div>\n </div>\n </eui-card-content>\n </eui-card>\n</ng-container>\n\n<h3 class=\"eui-u-mt-3xl eui-u-text-h3\">Figma resource</h3>\n<ng-container *ngIf=\"figmaUrl === 'PENDING_DS'; else figmaOK\">\n Pending Design system publication. Will be available in a future release.\n</ng-container>\n<ng-template #figmaOK>\n <eui-card>\n <eui-card-header>\n <eui-card-header-left-content>\n <img\n width=\"32\"\n height=\"32\"\n alt=\"Figma Logo\"\n src=\"data:image/png;base64,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\" />\n </eui-card-header-left-content>\n <eui-card-header-title>\n <a\n class=\"h5 eui-u-text-link-external\"\n href=\"https://www.figma.com/file/jQ9htWvSM8SWTPuk3hoigc/{{ figmaUrl }}\"\n target=\"blank\">\n <span class=\"eui-u-color-grey-75\">Layout component /</span>\n {{ label }}\n </a>\n </eui-card-header-title>\n </eui-card-header>\n </eui-card>\n</ng-template>\n\n<button\n type=\"button\"\n *ngIf=\"isShowGoTop && tabSelectedIndex === 0\"\n euiButton\n euiIconButton\n euiOutline\n euiRounded\n euiSizeL\n class=\"eui-button-fixed eui-u-sh-5\"\n (click)=\"gotoTop()\"\n title=\"Goto Top\"\n aria-label=\"Goto Top\">\n <!-- 👆 -->\n <eui-icon-svg icon=\"eui-arrow-up\" set=\"eui\" size=\"l\" fillColor=\"grey-50\"></eui-icon-svg>\n</button>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eui-showcase-doc-sample-api',\n templateUrl: 'doc-sample-api.component.html',\n})\nexport class DocSampleApiComponent {}\n","","import { CommonModule } from '@angular/common';\nimport type { QueryList } from '@angular/core';\nimport { Component, Input, Directive, ContentChild, forwardRef } from '@angular/core';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_TABS } from '@eui/components/eui-tabs';\n\n@Component({\n selector: 'eui-showcase-doc-section-code',\n templateUrl: './doc-section-code.component.html',\n styleUrls: ['./doc-section-code.component.scss'],\n imports: [\n CommonModule,\n ...EUI_LABEL,\n ...EUI_TABS,\n ...EUI_BUTTON,\n ],\n})\nexport class DocSectionCodeComponent {\n @Input() label: string;\n @Input() content: string;\n @Input() styleClass: string;\n @Input() versionLabel: string;\n @Input() isDeprecated = false;\n @Input() isCodeExpanded = false;\n\n @ContentChild(forwardRef(() => DocSectionCodeDescriptionTagDirective))\n sectionDescription: QueryList<DocSectionCodeDescriptionTagDirective>;\n @ContentChild(forwardRef(() => DocSectionCodeHtmlTagDirective))\n sectionCodeHTML: QueryList<DocSectionCodeHtmlTagDirective>;\n @ContentChild(forwardRef(() => DocSectionCodeTsTagDirective))\n sectionCodeTS: QueryList<DocSectionCodeTsTagDirective>;\n @ContentChild(forwardRef(() => DocSectionCodeServiceTagDirective))\n sectionCodeSERVICE: QueryList<DocSectionCodeServiceTagDirective>;\n @ContentChild(forwardRef(() => DocSectionCodeCssTagDirective))\n sectionCodeCSS: QueryList<DocSectionCodeCssTagDirective>;\n @ContentChild(forwardRef(() => DocSectionCodeDocTagDirective))\n sectionCodeDOC: QueryList<DocSectionCodeDocTagDirective>;\n\n toggleCode(): void {\n this.isCodeExpanded = !this.isCodeExpanded;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isDefined(object: any): boolean {\n return object;\n }\n}\n\n/* eslint-disable @angular-eslint/directive-selector */\n@Directive({ selector: 'sectionDescription' })\nexport class DocSectionCodeDescriptionTagDirective {}\n\n@Directive({ selector: 'sectionCodeHTML' })\nexport class DocSectionCodeHtmlTagDirective {}\n\n@Directive({ selector: 'sectionCodeTS' })\nexport class DocSectionCodeTsTagDirective {}\n\n@Directive({ selector: 'sectionCodeSERVICE' })\nexport class DocSectionCodeServiceTagDirective {}\n\n@Directive({ selector: 'sectionCodeCSS' })\nexport class DocSectionCodeCssTagDirective {}\n\n@Directive({ selector: 'sectionCodeDOC' })\nexport class DocSectionCodeDocTagDirective {}\n/* eslint-enable @angular-eslint/directive-selector */\n","<h5 class=\"section-title {{ styleClass }}\">\n <div class=\"eui-u-flex eui-u-flex-justify-content-between\">\n <div [class.app-section-code--deprecated]=\"isDeprecated\">\n {{ label }}\n </div>\n <div class=\"ml-auto\">\n <span *ngIf=\"versionLabel\" class=\"eui-u-color-danger\">{{ versionLabel }}</span>\n <button type=\"button\" euiButton [euiOutline]=\"!isCodeExpanded\" euiPrimary euiSizeS (click)=\"toggleCode()\">\n <span *ngIf=\"!isCodeExpanded\" euiLabel>Code</span>\n <span *ngIf=\"isCodeExpanded\" euiLabel>Hide Code</span>\n <span euiIcon iconClass=\"eui-icon-code\"></span>\n </button>\n </div>\n </div>\n <div *ngIf=\"isDeprecated\">\n <small class=\"eui-u-color-danger\">Deprecated in 3.x</small>\n </div>\n</h5>\n\n<div class=\"eui-u-mv\" *ngIf=\"sectionDescription\">\n <ng-content select=\"sectionDescription\"></ng-content>\n</div>\n\n<ng-template [ngIf]=\"isCodeExpanded\">\n <eui-tabs>\n <eui-tab [isVisible]=\"isDefined(sectionCodeHTML)\">\n <eui-tab-header>\n <eui-label>HTML</eui-label>\n <eui-label euiSublabel>HyperText Markup Language</eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <pre><code class=\"language-markup\" euiCode><ng-content select=\"sectionCodeHTML\"></ng-content></code></pre>\n </eui-tab-body>\n </eui-tab>\n <eui-tab [isVisible]=\"isDefined(sectionCodeTS)\">\n <eui-tab-header>\n <eui-label>TS</eui-label>\n <eui-label euiSublabel>Typescript</eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <pre><code class=\"language-javascript\" euiCode><ng-content select=\"sectionCodeTS\"></ng-content></code></pre>\n </eui-tab-body>\n </eui-tab>\n <eui-tab [isVisible]=\"isDefined(sectionCodeSERVICE)\">\n <eui-tab-header>\n <eui-label>Service</eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <pre><code class=\"language-javascript\" euiCode><ng-content select=\"sectionCodeSERVICE\"></ng-content></code></pre>\n </eui-tab-body>\n </eui-tab>\n <eui-tab [isVisible]=\"isDefined(sectionCodeCSS)\">\n <eui-tab-header>\n <eui-label>CSS</eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <pre><code class=\"language-javascript\" euiCode><ng-content select=\"sectionCodeCSS\"></ng-content></code></pre>\n </eui-tab-body>\n </eui-tab>\n <eui-tab [isVisible]=\"isDefined(sectionCodeDOC)\">\n <eui-tab-header>\n <eui-label>DOC</eui-label>\n <eui-label euiSublabel>Documentation</eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <div class=\"language-doc\">\n <ng-content select=\"sectionCodeDOC\"></ng-content>\n </div>\n </eui-tab-body>\n </eui-tab>\n </eui-tabs>\n <ng-template [ngIf]=\"!sectionCodeHTML && !sectionCodeTS && !sectionCodeCSS\">\n <pre class=\"only-html\"><code class=\"language-markup\" euiCode><ng-content></ng-content></code></pre>\n </ng-template>\n</ng-template>\n","import { Directive, ElementRef, AfterViewInit, inject } from '@angular/core';\n\n@Directive({\n selector: '[euiCode]',\n})\nexport class EuiCodeHighlighterDirective implements AfterViewInit {\n el = inject(ElementRef);\n\n ngAfterViewInit(): void {\n if (window['Prism']) {\n window['Prism'].highlightElement(this.el.nativeElement);\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'eui-showcase-doc-lorem-ipsum',\n templateUrl: 'lorem-ipsum-sample.component.html',\n imports: [\n CommonModule,\n ],\n})\nexport class LoremIpsumSampleComponent {\n @Input() textSize: 'small' | 'medium' | 'large' = 'large';\n}\n","<div *ngIf=\"textSize === 'small'\">\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ut volutpat enim. Etiam a mattis tortor. Etiam egestas magna at iaculis\n malesuada. Etiam vulputate quam at consectetur pharetra.\n\n <div class=\"eui-u-mb-m\">\n Nunc sit amet lectus mattis, aliquam mi quis, iaculis est. Donec nec diam tristique, egestas lorem nec, varius neque. Aenean\n consequat nisi in sem porttitor, a eleifend lorem tincidunt. Phasellus scelerisque tellus eu imperdiet dictum.\n </div>\n <div class=\"eui-u-mb-m\">\n Sed vitae tellus ac nisl facilisis posuere. Mauris cursus dui nec arcu molestie sodales. Morbi vel enim semper, luctus odio vitae,\n lacinia nisl. Sed sollicitudin ex et nibh bibendum, id blandit nunc pretium. Nunc venenatis eros a leo tincidunt gravida.\n </div>\n <div class=\"eui-u-mb-m\">Etiam pulvinar leo sit amet sapien pharetra, porta laoreet tellus consequat.</div>\n</div>\n\n<div *ngIf=\"textSize === 'medium'\">\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ut volutpat enim. Etiam a mattis tortor. Etiam egestas magna at iaculis\n malesuada. Etiam vulputate quam at consectetur pharetra.\n\n <div class=\"eui-u-mb-m\">\n Duis vitae nibh iaculis augue fermentum placerat vel vitae lectus. Curabitur venenatis eros at eros ultrices, eu feugiat eros\n efficitur. Sed quis nulla non augue scelerisque gravida vitae sed neque. Quisque semper dolor non diam sodales suscipit.\n </div>\n <div class=\"eui-u-mb-m\">\n Donec ut tortor scelerisque, sodales neque id, tempor orci. Suspendisse eu augue at nibh egestas eleifend. Ut tristique enim in\n lectus aliquam, non tincidunt tortor vulputate. Phasellus eu nunc faucibus, porta ante nec, malesuada erat.\n </div>\n <div class=\"eui-u-mb-m\">\n Vestibulum hendrerit risus a libero gravida venenatis. Mauris non enim sit amet odio pellentesque scelerisque in et velit. Quisque\n efficitur eros ut magna rutrum aliquet. Curabitur et nisi ullamcorper, pellentesque ligula vel, congue dui. Nullam commodo mi quis\n nibh euismod interdum. In rutrum sapien ac viverra pretium.\n </div>\n <div class=\"eui-u-mb-m\">\n Ut eget tellus a magna fermentum tempor at id erat. Nam fringilla eros sed leo facilisis, et mollis orci elementum. Donec\n consectetur libero sed arcu rhoncus, vel elementum augue mollis. Cras facilisis nisl mollis imperdiet mollis.\n </div>\n <div class=\"eui-u-mb-m\">\n Sed pharetra lorem in justo rhoncus tempor. Phasellus vel elit eget massa consectetur porttitor eu ut ex. Donec sed ex sit amet\n purus blandit pharetra. Nam rhoncus dolor ac felis condimentum malesuada.\n </div>\n <div class=\"eui-u-mb-m\">\n Pellentesque convallis nulla in lectus molestie mollis. Pellentesque auctor libero eget dolor vehicula, a suscipit nunc laoreet.\n Nulla suscipit ante in sollicitudin semper.\n </div>\n <div class=\"eui-u-mb-m\">Nullam rutrum ante vitae metus interdum, quis laoreet sem maximus.</div>\n <div class=\"eui-u-mb-m\">\n Pellentesque gravida diam quis orci suscipit hendrerit. Vestibulum congue sapien sed pretium gravida. Nullam ornare lectus sed\n pulvinar fringilla. Nam dictum eros sit amet lectus aliquet tincidunt. Quisque eu augue eget felis tincidunt hendrerit. Aenean vel\n lorem vel sem consequat congue.\n </div>\n <div class=\"eui-u-mb-m\">Phasellus finibus libero at blandit sollicitudin. Praesent pulvinar libero a lorem scelerisque sodales.</div>\n <div class=\"eui-u-mb-m\">Donec tempor quam eget turpis dignissim egestas. Pellentesque vulputate nisi eu ornare euismod.</div>\n</div>\n\n<div *ngIf=\"textSize === 'large'\">\n <div class=\"eui-u-mb-m\">\n Lorem ipsum dolor sit amet consectetur. Nec maecenas turpis eget curabitur. Neque accumsan nulla vestibulum vulputate. Etiam lorem\n sit leo aliquam. Penatibus suspendisse sit in metus sodales pretium erat tempor. Congue aliquam varius nec pellentesque. Diam\n tincidunt neque aliquam a natoque egestas nibh in urna. Volutpat enim erat magna sociis blandit odio ut convallis. Montes blandit\n maecenas pellentesque magna. Ipsum at porta justo massa aliquet vulputate sit. Nec non semper urna morbi nec ut in eu. Tristique\n morbi nam tempus id.\n </div>\n <div class=\"eui-u-mb-m\">\n Amet eu phasellus dignissim lacus. Pellentesque tristique sed leo eu mattis quam ut sem sed. Id lacus erat urna arcu ac risus\n sodales. Scelerisque risus auctor erat mattis habitant facilisis. Orci velit nunc fermentum condimentum volutpat. Nec tellus at\n risus cras. Malesuada ultrices vestibulum arcu sagittis quis purus. Sit ultricies suspendisse ante augue malesuada mattis eget\n fermentum et. Lobortis et ridiculus turpis elit a mi faucibus. Sit vitae nunc etiam euismod massa nisi nibh arcu nulla. Elit ipsum\n lorem vestibulum nulla senectus curabitur. Turpis non eu eu rhoncus. Dictum porttitor pulvinar commodo nec sapien est at erat et.\n Nisl pellentesque pellentesque tempus tristique commodo eget urna tempor. Porta mi accumsan senectus risus eget.\n </div>\n <div class=\"eui-u-mb-m\">\n Velit vulputate amet id tellus. Quam aliquet eros hendrerit cursus id et amet in nam. Eget elementum diam ut magna porttitor. Cursus\n neque vulputate malesuada congue enim. Ac in sed et justo adipiscing habitasse elit tincidunt dictum. Dui ornare ac ligula duis. Sit\n mi a eu dictum est magna morbi. Morbi hendrerit non senectus sit platea gravida id. Fermentum vulputate arcu pretium cras elit.\n </div>\n <div class=\"eui-u-mb-m\">\n Enim et nunc eget ac commodo sagittis. Turpis facilisi enim enim nisi eu sed. Amet viverra felis in ac orci ullamcorper. At\n ridiculus enim nec velit nulla luctus lorem non ultricies. Urna gravida sem curabitur quis diam ut porttitor aliquam sapien. Id\n adipiscing libero feugiat imperdiet senectus mattis non nulla condimentum.\n </div>\n <div class=\"eui-u-mb-m\">\n Etiam felis parturient et amet. Enim neque eu risus ante tristique nisl nisl vulputate. Arcu turpis semper vitae ultrices sit\n ultrices. Sed arcu pharetra vel sapien in. Turpis vestibulum tellus quis arcu egestas viverra cursus quisque. Eu volutpat mauris\n sagittis integer fermentum fringilla penatibus. Velit et quis et arcu velit tortor.\n </div>\n <div class=\"eui-u-mb-m\">\n Nisl fringilla nibh eu nunc pellentesque dignissim vestibulum mus porttitor. Consequat non eu nulla lectus ultrices. Viverra duis\n enim aliquet ut massa laoreet consequat. Sociis dignissim sodales vitae maecenas nec aliquam. Volutpat feugiat urna id sed. In\n fringilla dui neque montes ut et lorem velit consequat. Ut fermentum amet dictum proin et. Aenean odio ac quisque ultrices tellus\n mattis posuere et curabitur. Proin est suspendisse iaculis nullam eros sit amet aliquam laoreet. Libero tincidunt quis et odio\n imperdiet risus neque. Odio et dui duis odio accumsan. Lacus nibh urna at risus euismod lobortis cursus. Porta risus mi gravida\n aliquet. Leo viverra diam vulputate sollicitudin cursus erat sed.\n </div>\n <div class=\"eui-u-mb-m\">\n Erat consectetur sem nulla sed viverra ipsum adipiscing nunc. Porttitor eget sodales integer maecenas tortor quam sit pharetra\n lorem. Egestas ut mauris urna vitae a mollis. Nam cursus amet sit dolor. Mattis mattis laoreet sed massa proin tristique ullamcorper\n commodo. Sit in tortor posuere nec lorem fringilla.\n </div>\n <div class=\"eui-u-mb-m\">\n Fringilla elementum quisque vitae pharetra risus pellentesque eu nulla. Enim egestas velit est tempor ut vulputate tellus tincidunt\n ut. Non enim lorem nec in mattis. Vitae nulla vitae lectus varius aliquet massa lectus morbi. Placerat vel consectetur commodo nibh\n ullamcorper vitae tellus sed. Nisi lacus quis at malesuada elementum. Turpis et ut egestas adipiscing et ac. Auctor aliquam dictum\n dolor diam sit tellus tempus. Elementum venenatis arcu id a. Duis imperdiet id elementum tempor facilisis rhoncus rhoncus posuere\n egestas. Imperdiet odio lorem posuere sit. Molestie amet quisque tellus phasellus nisi. Lobortis mi faucibus elit semper. Ipsum eu\n adipiscing fringilla at felis maecenas. Egestas tortor odio laoreet neque.\n </div>\n <div class=\"eui-u-mb-m\">\n Sollicitudin rhoncus nunc ultricies lorem massa sagittis integer elit. Consequat mauris elementum sed imperdiet libero odio non\n amet. Tortor condimentum non convallis posuere pulvinar. Neque malesuada volutpat sit quis. Ac justo gravida vitae mollis. Ut tellus\n nunc ultrices egestas vitae tellus sed. Pellentesque nunc id quisque scelerisque et pellentesque eu ultricies.\n </div>\n <div class=\"eui-u-mb-m\">\n Dolor rhoncus tempor netus sit mauris. Turpis curabitur amet eu lectus sem habitant magna non. Eros lorem eu lectus proin venenatis\n tellus. Velit praesent consectetur ligula venenatis magna sed dictum. Quisque vivamus ipsum mattis morbi pulvinar bibendum. Netus\n risus sit adipiscing augue augue eget est.\n </div>\n <div class=\"eui-u-mb-m\">\n Justo feugiat duis fames in luctus elit. Sit id in turpis quam habitasse amet ut sed sem. Ut luctus amet sit lacinia sed eu sed a\n senectus. Fusce gravida augue quis bibendum aliquet. Quam egestas quam iaculis urna condimentum amet. Odio aliquam massa vel\n vestibulum tincidunt dolor tincidunt netus facilisi. Ut sociis metus pellentesque leo amet. Diam lectus pretium id tincidunt\n habitasse. Eget tortor quisque tristique scelerisque quam vestibulum morbi ornare pellentesque. Nunc eget volutpat id mauris amet ut\n aliquet nunc dictumst. Elit blandit a suspendisse commodo. Velit quis ut varius leo pharetra risus leo eget.\n </div>\n <div class=\"eui-u-mb-m\">\n Consequat phasellus ullamcorper mauris id tortor ultrices nunc. Lacinia eu sapien rhoncus lacinia sed augue justo molestie ornare.\n Integer ridiculus gravida pulvinar iaculis nisl eleifend senectus. Imperdiet vitae orci massa ac eget etiam est nulla. Netus nibh\n ipsum auctor eros nunc aliquam enim. Donec pretium vel amet blandit sed quisque sed. Tempor ipsum nunc leo ultricies ut. Odio tellus\n ultricies diam cras. Diam maecenas amet gravida nunc. Feugiat egestas eget ullamcorper consequat. Varius faucibus nisl dolor dolor\n diam ultrices odio iaculis lorem. Egestas tristique est egestas ornare. Tortor eu orci orci posuere blandit amet sit semper\n pharetra. Sed dictumst dolor phasellus urna nisl auctor sit in vulputate.\n </div>\n</div>\n","import { Component, ElementRef, inject, Input, OnChanges, SimpleChanges, ViewChild } from '@angular/core';\nimport sdk, { Project, VM } from '@stackblitz/sdk';\nimport { angularJsonFile, indexHtmlFile, mainFile, PACKAGE_JSON, polyfillsFile, tsConfig } from './stackblitz.files';\nimport { StackblitzService } from './stackblitz.service';\nimport { EUI_BLOCK_CONTENT } from '@eui/components/eui-block-content';\n\n@Component({\n selector: 'eui-playground',\n templateUrl: 'playground.component.html',\n imports: [\n ...EUI_BLOCK_CONTENT,\n ],\n})\nexport class PlaygroundComponent implements OnChanges {\n @Input()\n public title = 'eUI Playground';\n @Input()\n public htmlContent: string;\n @Input()\n public sampleId: string;\n @Input()\n public typescriptContent: string;\n @Input()\n public activated = false;\n @Input()\n public modules: [{ name: string; path: string }];\n public isLoaded = false;\n @ViewChild('container', { read: ElementRef, static: true })\n private stackblitzElWrapper: ElementRef<HTMLIFrameElement>;\n /** instance that holds the stackblitz VM object */\n private stackblitzInstance: VM;\n private sb: StackblitzService = inject(StackblitzService);\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.activated) {\n if (changes.activated.currentValue) {\n this.initStackblitz();\n } else {\n this.isLoaded = false;\n }\n }\n }\n\n private initStackblitz(): void {\n this.sb.getStackblitzDependencies()\n .then((deps) => {\n const { dependencies, devDependencies } = deps;\n const { selector } = this.sb.extractComponentMetadata(this.typescriptContent);\n const moduleName = this.sb.extractModuleName(this.typescriptContent);\n const componentName = this.sb.extractComponentName(this.typescriptContent);\n const project: Project = {\n title: this.title,\n description: `An eUI example for the ${this.title}.`,\n template: 'angular-cli',\n files: {\n 'src/component.html': this.htmlContent,\n 'src/component.ts': moduleName ? this.sb.appendVitalNgModules(this.typescriptContent): this.typescriptContent,\n 'src/main.ts': mainFile(moduleName, componentName),\n 'src/polyfills.ts': polyfillsFile,\n 'src/index.html': indexHtmlFile(selector),\n 'angular.json': angularJsonFile,\n 'package.json': JSON.stringify(\n {\n ...PACKAGE_JSON,\n dependencies,\n devDependencies,\n },\n null,\n 2,\n ),\n 'tsconfig.json': tsConfig,\n },\n settings: {\n compile: {\n trigger: 'auto',\n clearConsole: true,\n },\n },\n dependencies,\n };\n\n return sdk.embedProject(\n `stackblitz-${this.sampleId}`,\n project,\n {\n height: 500,\n openFile: ['src/component.ts', 'src/component.html'],\n },\n );\n })\n .then((instance: VM) => {\n this.stackblitzInstance = instance;\n this.isLoaded = true;\n });\n }\n\n}\n","<eui-block-content [isBlocked]=\"!isLoaded\">\n <iframe #container id=\"stackblitz-{{sampleId}}\"></iframe>\n</eui-block-content>\n","import { \n DocPageAccessibilityContentDirective,\n DocPageApiContentDirective,\n DocPageCodeComponent,\n DocPageComponent,\n DocPageDevGuideComponent,\n DocPageInteractiveContentDirective,\n DocPageOverviewContentDirective,\n DocPageOverviewDefaultContentDirective,\n DocPageSamplesContentDirective,\n DocPageSectionsContentDirective,\n DocPageThemingContentDirective,\n } from './doc-page';\n\n import { \n DocPageCodeFabComponent, \n } from './doc-page-code-fab';\n\nimport { \n DocPageCodeModalComponent,\n } from './doc-page-code-modal';\n\nimport { \n DocPagePatternComponent,\n DocPagePatternDocDirective,\n DocPagePatternSampleDirective, \n } from './doc-page-pattern';\n\n import { \n DocPagePatternSampleComponent,\n DocPagePatternSampleDocDirective,\n DocPagePatternSampleRefsComponent, \n } from './doc-page-pattern-sample';\n\n import { \n DocPagePatternSimpleComponent,\n DocPagePatternSimpleDocDirective,\n } from './doc-page-pattern-simple';\n\n import { \n DocSampleComponent,\n } from './doc-sample';\n\n import { \n DocSampleApiComponent,\n } from './doc-sample-api';\n\n import { \n DocSectionComponent,\n } from './doc-section';\n\n import { \n DocSectionCodeComponent,\n DocSectionCodeCssTagDirective,\n DocSectionCodeDescriptionTagDirective,\n DocSectionCodeDocTagDirective,\n DocSectionCodeHtmlTagDirective,\n DocSectionCodeServiceTagDirective,\n DocSectionCodeTsTagDirective,\n } from './doc-section-code';\n\n import { \n EuiCodeHighlighterDirective,\n } from './eui-code-highlighter';\n\n import { \n LoremIpsumSampleComponent,\n } from './lorem-ipsum';\n\n import { \n PlaygroundComponent,\n } from './playground';\n\nexport * from './doc-page';\nexport * from './doc-page-code-fab';\nexport * from './doc-page-code-modal';\nexport * from './doc-page-pattern';\nexport * from './doc-page-pattern-sample';\nexport * from './doc-page-pattern-simple';\nexport * from './doc-sample';\nexport * from './doc-sample-api';\nexport * from './doc-section';\nexport * from './doc-section-code';\nexport * from './eui-code-highlighter';\nexport * from './lorem-ipsum';\nexport * from './playground';\n\nexport const EUI_SHOWCASE = [\n DocPageAccessibilityContentDirective,\n DocPageApiContentDirective,\n DocPageCodeComponent,\n DocPageComponent,\n DocPageDevGuideComponent,\n DocPageInteractiveContentDirective,\n DocPageOverviewContentDirective,\n DocPageOverviewDefaultContentDirective,\n DocPageSamplesContentDirective,\n DocPageSectionsContentDirective,\n DocPageThemingContentDirective,\n\n DocPageCodeFabComponent,\n\n DocPageCodeModalComponent,\n\n DocPagePatternComponent,\n DocPagePatternDocDirective,\n DocPagePatternSampleDirective,\n\n DocPagePatternSampleComponent,\n DocPagePatternSampleDocDirective,\n DocPagePatternSampleRefsComponent, \n \n DocPagePatternSimpleComponent,\n DocPagePatternSimpleDocDirective, \n\n DocSampleComponent,\n\n DocSampleApiComponent,\n\n DocSectionComponent,\n\n DocSectionCodeComponent,\n DocSectionCodeCssTagDirective,\n DocSectionCodeDescriptionTagDirective,\n DocSectionCodeDocTagDirective,\n DocSectionCodeHtmlTagDirective,\n DocSectionCodeServiceTagDirective,\n DocSectionCodeTsTagDirective,\n\n EuiCodeHighlighterDirective,\n\n LoremIpsumSampleComponent,\n\n PlaygroundComponent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","EUI_PAGE","i3","i4","i5","i6","i7"],"mappings":"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"}
1
+ {"version":3,"file":"eui-showcase.mjs","sources":["../../src/lib/configuration.service.ts","../../src/lib/components/doc-page/doc-page-code.component.ts","../../src/lib/components/doc-page/doc-page-code.component.html","../../src/lib/components/doc-page/doc-page-dev-guide.component.ts","../../src/lib/components/doc-page/doc-page-dev-guide.component.html","../../src/lib/components/doc-page/doc-page-dev-guide-v2.component.ts","../../src/lib/components/playground/stackblitz.files.ts","../../src/lib/components/playground/stackblitz.service.ts","../../src/lib/components/eui-code-highlighter/eui-code-highlighter.component.ts","../../src/lib/components/doc-sample/doc-sample.component.ts","../../src/lib/components/doc-sample/doc-sample.component.html","../../src/lib/components/doc-section/doc-section.component.ts","../../src/lib/components/doc-section/doc-section.component.html","../../src/lib/components/doc-page/doc-page.component.ts","../../src/lib/components/doc-page/doc-page.component.html","../../src/lib/components/doc-page/doc-page-v2.component.ts","../../src/lib/components/doc-page/doc-page-v2.component.html","../../src/lib/components/doc-page-code-fab/doc-page-code-fab.component.ts","../../src/lib/components/doc-page-code-fab/doc-page-code-fab.component.html","../../src/lib/components/doc-page-code-modal/doc-page-code-modal.component.ts","../../src/lib/components/doc-page-code-modal/doc-page-code-modal.component.html","../../src/lib/components/doc-page-pattern/doc-page-pattern.component.ts","../../src/lib/components/doc-page-pattern/doc-page-pattern.component.html","../../src/lib/components/doc-page-pattern-sample/doc-page-pattern-sample-refs.component.ts","../../src/lib/components/doc-page-pattern-sample/doc-page-pattern-sample-refs.component.html","../../src/lib/components/doc-page-pattern-sample/doc-page-pattern-sample.component.ts","../../src/lib/components/doc-page-pattern-sample/doc-page-pattern-sample.component.html","../../src/lib/components/doc-page-pattern-simple/doc-page-pattern-simple.component.ts","../../src/lib/components/doc-page-pattern-simple/doc-page-pattern-simple.component.html","../../src/lib/components/doc-sample-api/doc-sample-api.component.ts","../../src/lib/components/doc-sample-api/doc-sample-api.component.html","../../src/lib/components/doc-section-code/doc-section-code.component.ts","../../src/lib/components/doc-section-code/doc-section-code.component.html","../../src/lib/components/lorem-ipsum/lorem-ipsum-sample.component.ts","../../src/lib/components/lorem-ipsum/lorem-ipsum-sample.component.html","../../src/lib/components/playground/playground.component.ts","../../src/lib/components/playground/playground.component.html","../../src/lib/components/index.ts","../../src/eui-showcase.ts"],"sourcesContent":["import { Injectable, Signal, signal, WritableSignal } from '@angular/core';\n\n/**\n * This interface describes the basis of the configuration structure of the\n * service.\n */\nexport interface Configuration {\n /**\n * default value for all playground\n */\n renderPlayground: boolean;\n}\n\n/**\n * A service to update and configure the Showcase module state.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigurationService<T extends Configuration> {\n /**\n * A single signal to hold the configuration service state. The state is\n * extensible to user's preferences through generics.\n *\n * Default value for renderPlayground will be true.\n */\n private state: WritableSignal<T> = signal({ renderPlayground: true } as T);\n\n /**\n * Update the state of configuration. Deep merge is not available thus if\n * a deep update needs to happen make sure you carry other parts of the state\n * too.\n * e.g.\n * Given state { rootA, rootB, rootC: { subC_A: {a: 1}, subC_B: {b: 1} } }\n * the update({ rootC: { subC_A: {a: 1, extra: null }}})\n * will result in\n * { rootA, rootB, rootC: { subC_A: {a: 1, extra: null } } }\n *\n * @param partialState\n */\n update(partialState: Partial<T>): void {\n this.state.set({ ...this.state(), ...partialState });\n }\n\n /**\n * returns the configuration state as a readonly signal\n */\n get configuration(): Signal<T> {\n return this.state.asReadonly();\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\n\n@Component({\n selector: 'eui-showcase-doc-page-code',\n templateUrl: 'doc-page-code.component.html',\n imports: [\n ...EUI_ICON,\n ...EUI_BUTTON,\n ],\n})\nexport class DocPageCodeComponent {\n @Input() codeFolder = '';\n @Input() showcase = 'ux';\n\n onOpenCode(): void {\n // eslint-disable-next-line max-len\n const sourceRootPath = `https://sdlc.webcloud.ec.europa.eu/csdr/eui/app-eui-showcase-${this.showcase}/-/blob/master/src/app/`;\n window.open(sourceRootPath + this.codeFolder, '_blank');\n }\n}\n","<button type=\"button\" euiButton euiCTAButton (click)=\"onOpenCode()\">\n <span euiLabel>Check the code</span>\n <eui-icon-svg icon=\"eui-code\" />\n</button>\n","import { Component, ViewEncapsulation, OnInit, AfterViewInit, OnDestroy, HostBinding, Input, inject, SecurityContext, ChangeDetectorRef } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\nimport { MarkdownModule, MarkdownService } from 'ngx-markdown';\nimport type { Tokens } from 'marked';\nimport { EUI_PAGE } from '@eui/components/eui-page';\nimport { NgClass } from '@angular/common';\n\n@Component({\n selector: 'eui-showcase-doc-page-dev-guide',\n templateUrl: './doc-page-dev-guide.component.html',\n styleUrls: ['./shared.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgClass,\n ...EUI_PAGE,\n MarkdownModule, // .forRoot({ sanitize: SecurityContext.NONE }),\n ],\n})\nexport class DocPageDevGuideComponent implements OnDestroy, OnInit, AfterViewInit {\n @HostBinding('class') cssClass = 'eui-doc-page';\n\n @Input() rootDocsFolder = 'docs';\n @Input() showcaseName = 'showcase-dev-guide';\n\n markdown: string;\n isFirst: boolean;\n headers: Array<{ id: string, label: string, level: number }> = [];\n fragmentId: string;\n private subscription: Subscription;\n private markdownService = inject(MarkdownService);\n private http = inject(HttpClient);\n private router = inject(Router);\n private route = inject(ActivatedRoute);\n private cdRef = inject((ChangeDetectorRef));\n\n ngOnInit(): void {\n this.subscription = this.route.url.subscribe((u) => {\n this._loadMdContent(`/${this.rootDocsFolder}/` + u.join('/'));\n })\n\n /**\n * callback for heading renderer. It will be called for each heading in the markdown.\n *\n * @param text the encoded heading text\n * @param level the heading level\n * @param raw the raw heading text (decoded)\n */\n // TODO v21\n // this.markdownService.renderer.heading = ({ raw, text, depth }: Tokens.Heading): string => {\n // if (depth === 2 || depth === 3) {\n // const newHeader = `<h${depth} id=\"${raw}\">${text}</h${depth}>`;\n // if (text.indexOf('<a ') === -1 && text.indexOf('<em>') === -1) {\n // this.headers.push({ id: raw, label: raw, level: depth });\n // }\n // return newHeader;\n // }\n // return `<h${depth}>${text}</h${depth}>`;\n // };\n\n this.markdownService.renderer.heading = (text: string, level: number, raw: string) => {\n if (level === 2 || level === 3) {\n const newHeader = `<h${level} id=\"${raw}\">${text}</h${level}>`;\n if (text.indexOf('<a ') === -1 && text.indexOf('<em>') === -1) {\n this.headers.push({ id: raw, label: raw, level: level });\n }\n return newHeader;\n }\n return `<h${level}>${text}</h${level}>`;\n }\n\n // this.markdownService.renderer.heading = ({ text, level, raw }: Tokens.Heading) => {\n // const escapedText = text.toLowerCase().replace(/[^\\w]+/g, '-');\n // return '<h' + level + '>' +\n // '<a name=\"' + escapedText + '\" class=\"anchor\" href=\"#' + escapedText + '\">' +\n // '<span class=\"header-link\"></span>' +\n // '</a>' + text +\n // '</h' + level + '>';\n // }; \n }\n\n ngAfterViewInit(): void {\n this.route.fragment.pipe(take(1)).subscribe((fragment) => {\n if (fragment) {\n setTimeout(() => {\n this.fragmentId = fragment;\n this.cdRef.detectChanges();\n const fgm = document.getElementById(fragment);\n fgm?.scrollIntoView();\n }, 1);\n }\n });\n }\n\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n onNavClick(fragmentId: string): void {\n this._scrollToFragment(fragmentId);\n }\n\n private _loadMdContent(url?: string): void {\n let mdPath, contextRoot;\n const currentUrl = window.location;\n const pathNameArray = currentUrl.pathname.split('/');\n\n this.headers = [];\n\n if (url) {\n mdPath = url.substr(1);\n } else {\n mdPath = pathNameArray.slice(pathNameArray.length - 3).join('/');\n }\n\n contextRoot = `${currentUrl.protocol}//${currentUrl.host}`;\n if (pathNameArray[1] !== this.showcaseName) {\n contextRoot += `/${pathNameArray[1]}`;\n }\n\n const filePath = `${contextRoot}/assets/${mdPath}.md`;\n\n this.http.get<string>(filePath, { responseType: 'text' as 'json' }).pipe(\n map((md) => md.replace(new RegExp(`assets/${this.rootDocsFolder}` , 'g'), `${contextRoot}/assets/${this.rootDocsFolder}`)),\n ).subscribe((md) => {\n this.markdown = md;\n this.cdRef.detectChanges();\n const top = document.getElementById('top');\n top.scrollIntoView();\n });\n }\n\n private _scrollToFragment(fragmentId: string): void {\n // forcing reload when deep link with fragment\n this.router.onSameUrlNavigation = 'reload';\n this.router.navigate(['.'], { relativeTo: this.route, fragment: fragmentId });\n\n if (fragmentId) {\n setTimeout(() => {\n const fgm = document.getElementById(fragmentId);\n if (fgm) {\n fgm.scrollIntoView();\n }\n });\n }\n }\n}\n","<eui-page>\n <eui-page-content>\n <eui-page-columns>\n <eui-page-column>\n <eui-page-column-body>\n <span id=\"top\"></span>\n <markdown class=\"doc-content\" [data]=\"markdown\"></markdown>\n </eui-page-column-body>\n </eui-page-column>\n\n <eui-page-column class=\"eui-u-hidden-mobile\"\n label=\"On this page\"\n euiSizeVariant=\"4xl\"\n isCollapsible\n isRightCollapsible>\n\n <eui-page-column-body>\n <div class=\"doc-page-navigation-content\" tabindex=\"0\">\n <ul class=\"doc-page-navigation\">\n @for (header of headers; track header.id) {\n <li class=\"doc-page-navigation-item\" (click)=\"onNavClick(header.id)\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === header.id\">\n <span [ngClass]=\"header.level === 3 ? 'eui-u-ml-m eui-u-f-regular': ''\">\n {{header.label}}\n </span>\n </li>\n }\n </ul>\n </div>\n </eui-page-column-body>\n\n </eui-page-column>\n\n </eui-page-columns>\n </eui-page-content>\n</eui-page>\n","import { Component, ViewEncapsulation, OnInit, AfterViewInit, OnDestroy, HostBinding, Input, inject, SecurityContext } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\nimport { MarkdownModule, MarkdownService } from 'ngx-markdown';\nimport type { Tokens } from 'marked';\nimport { EUI_PAGE } from '@eui/components/eui-page-v2';\nimport { NgClass } from '@angular/common';\n\n@Component({\n selector: 'eui-showcase-doc-page-dev-guide-v2',\n templateUrl: './doc-page-dev-guide.component.html',\n styleUrls: ['./shared-v2.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgClass,\n ...EUI_PAGE,\n MarkdownModule, // .forRoot({ sanitize: SecurityContext.NONE }),\n ],\n})\nexport class DocPageDevGuideComponentV2 implements OnDestroy, OnInit, AfterViewInit {\n @HostBinding('class') cssClass = 'eui-doc-page';\n\n @Input() rootDocsFolder = 'docs';\n @Input() showcaseName = 'showcase-dev-guide';\n\n markdown: string;\n isFirst: boolean;\n headers: Array<{ id: string, label: string, level: number }> = [];\n fragmentId: string;\n private subscription: Subscription;\n private markdownService = inject(MarkdownService);\n private http = inject(HttpClient);\n private router = inject(Router);\n private route = inject(ActivatedRoute);\n\n ngOnInit(): void {\n this.subscription = this.route.url.subscribe((u) => {\n this._loadMdContent(`/${this.rootDocsFolder}/` + u.join('/'));\n })\n\n /**\n * callback for heading renderer. It will be called for each heading in the markdown.\n *\n * @param text the encoded heading text\n * @param level the heading level\n * @param raw the raw heading text (decoded)\n */\n // TODO v21\n // this.markdownService.renderer.heading = ({ raw, text, depth }: Tokens.Heading): string => {\n // if (depth === 2 || depth === 3) {\n // const newHeader = `<h${depth} id=\"${raw}\">${text}</h${depth}>`;\n // if (text.indexOf('<a ') === -1 && text.indexOf('<em>') === -1) {\n // this.headers.push({ id: raw, label: raw, level: depth });\n // }\n // return newHeader;\n // }\n // return `<h${depth}>${text}</h${depth}>`;\n // };\n }\n\n ngAfterViewInit(): void {\n this.route.fragment.pipe(take(1)).subscribe((fragment) => {\n if (fragment) {\n setTimeout(() => {\n this.fragmentId = fragment;\n const fgm = document.getElementById(fragment);\n fgm.scrollIntoView();\n }, 1);\n }\n });\n }\n\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n onNavClick(fragmentId: string): void {\n this._scrollToFragment(fragmentId);\n }\n\n private _loadMdContent(url?: string): void {\n let mdPath, contextRoot;\n const currentUrl = window.location;\n const pathNameArray = currentUrl.pathname.split('/');\n\n this.headers = [];\n\n if (url) {\n mdPath = url.substr(1);\n } else {\n mdPath = pathNameArray.slice(pathNameArray.length - 3).join('/');\n }\n\n contextRoot = `${currentUrl.protocol}//${currentUrl.host}`;\n if (pathNameArray[1] !== this.showcaseName) {\n contextRoot += `/${pathNameArray[1]}`;\n }\n\n const filePath = `${contextRoot}/assets/${mdPath}.md`;\n\n this.http.get<string>(filePath, { responseType: 'text' as 'json' }).pipe(\n map((md) => md.replace(new RegExp(`assets/${this.rootDocsFolder}` , 'g'), `${contextRoot}/assets/${this.rootDocsFolder}`)),\n ).subscribe((md) => {\n this.markdown = md;\n const top = document.getElementById('top');\n top.scrollIntoView();\n });\n }\n\n private _scrollToFragment(fragmentId: string): void {\n // forcing reload when deep link with fragment\n this.router.onSameUrlNavigation = 'reload';\n this.router.navigate(['.'], { relativeTo: this.route, fragment: fragmentId });\n\n if (fragmentId) {\n setTimeout(() => {\n const fgm = document.getElementById(fragmentId);\n if (fgm) {\n fgm.scrollIntoView();\n }\n });\n }\n }\n}\n","export const polyfillsFile = 'import \\'zone.js\\';';\nexport const mainFile = (moduleName: string, componentName: string): string => `\nimport './polyfills';\n${moduleName ? 'import { platformBrowserDynamic } from \\'@angular/platform-browser-dynamic\\';' : ''}\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { BrowserModule${!moduleName ? ', bootstrapApplication': ''} } from '@angular/platform-browser';\nimport { InjectionToken, ${!moduleName ? 'importProvidersFrom': 'NgModule'} } from '@angular/core';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { reducers as coreReducers, CoreModule, EUI_CONFIG_TOKEN } from '@eui/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\n${moduleName ? `import { ${componentName}, ${moduleName} } from './component';` : `import { ${componentName} } from './component';`}\n\nexport const REDUCER_TOKEN = new InjectionToken<any>('Registered Reducers');\nconst rootReducer = Object.assign({}, coreReducers, {});\n${moduleName ? `\n@NgModule({\n imports: [\n BrowserModule,\n CoreModule.forRoot(),\n TranslateModule.forRoot(),\n ${moduleName},\n ],\n providers: [\n provideHttpClient(withInterceptorsFromDi()),\n {\n provide: REDUCER_TOKEN,\n deps: [],\n useFactory: () => rootReducer ,\n },\n {\n provide: EUI_CONFIG_TOKEN,\n useValue: {\n appConfig: {\n global: {},\n },\n environment: {}\n }\n }\n ],\n bootstrap: [${componentName}],\n})\nexport class RootModule {\n}\n\nplatformBrowserDynamic().bootstrapModule(RootModule).then(ref => {\n // Ensure Angular destroys itself on hot reloads.\n if (window['ngRef']) {\n window['ngRef'].destroy();\n }\n window['ngRef'] = ref;\n\n // Otherwise, log the boot error\n}).catch(err => console.error(err));\n`\n :\n`\nbootstrapApplication(${componentName}, {\n providers: [\n provideHttpClient(withInterceptorsFromDi()),\n {\n provide: REDUCER_TOKEN,\n deps: [],\n useFactory: () => rootReducer,\n },\n {\n provide: EUI_CONFIG_TOKEN,\n useValue: {\n appConfig: {\n global: {},\n },\n environment: {},\n },\n },\n importProvidersFrom(\n BrowserAnimationsModule,\n BrowserModule,\n CoreModule.forRoot(),\n TranslateModule.forRoot(),\n ),\n ],\n});\n`}\n`;\nexport const moduleFile = (componentName: string, m: { name: string; path: string }[] = []): string =>\n `\nimport { NgModule, InjectionToken } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { APP_BASE_HREF } from '@angular/common';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { EuiAllModule } from '@eui/components';\nimport {\n reducers as coreReducers,\n CoreModule as EuiCoreModule,\n translateConfig,\n CoreModuleEffects,\n EUI_CONFIG_TOKEN,\n} from '@eui/core';\n\nimport { ${componentName} } from './component';\n` +\n m.map((i) => `import { ${i.name} } from '${i.path}';\\n`).join('') +\n `\n\nexport const REDUCER_TOKEN = new InjectionToken<any>('Registered Reducers');\n\n@NgModule({\n imports: [\n BrowserAnimationsModule,\n CommonModule,\n BrowserModule,\n FormsModule,\n EuiAllModule,\n RouterModule.forRoot([]),\n EuiCoreModule.forRoot(),\n EffectsModule.forRoot([...CoreModuleEffects]),\n TranslateModule.forRoot(translateConfig),\n ` +\n m.map((i) => `${i.name},`).join('') +\n `\n ],\n declarations: [${componentName}],\n providers: [\n provideHttpClient(withInterceptorsFromDi()),\n {\n provide: REDUCER_TOKEN,\n deps: [],\n useFactory: () => Object.assign({}, coreReducers),\n },\n {\n provide: EUI_CONFIG_TOKEN,\n useValue: { appConfig: {}, environment: {} }\n },\n {\n provide: APP_BASE_HREF, useValue: '/'\n }\n ],\n bootstrap: [${componentName}],\n})\nexport class AppModule {}\n`;\nexport const angularJsonFile = `\n{\n \"$schema\": \"./node_modules/@angular/cli/lib/config/schema.json\",\n \"version\": 1,\n \"newProjectRoot\": \"projects\",\n \"projects\": {\n \"demo\": {\n \"architect\": {\n \"build\": {\n \"builder\": \"@angular-devkit/build-angular:application\",\n \"configurations\": {\n \"development\": {\n \"extractLicenses\": false,\n \"namedChunks\": true,\n \"optimization\": false,\n \"sourceMap\": true\n },\n \"production\": {\n \"aot\": true,\n \"extractLicenses\": true,\n \"namedChunks\": false,\n \"optimization\": true,\n \"outputHashing\": \"all\",\n \"sourceMap\": false\n }\n },\n \"options\": {\n \"index\": \"src/index.html\",\n \"browser\": \"src/main.ts\",\n \"outputPath\": \"dist/demo\",\n \"scripts\": [],\n \"assets\": [\n {\n \"glob\": \"**/*\",\n \"input\": \"./node_modules/@eui/styles/dist/assets/\",\n \"output\": \"assets\"\n },\n {\n \"glob\": \"**/*\",\n \"input\": \"./node_modules/@eui/core/assets/\",\n \"output\": \"assets\"\n }\n ],\n \"styles\": [\n \"./node_modules/@eui/styles/dist/eui.css\"\n ],\n \"tsConfig\": \"tsconfig.json\"\n }\n },\n \"serve\": {\n \"builder\": \"@angular-devkit/build-angular:dev-server\",\n \"configurations\": {\n \"development\": {\n \"buildTarget\": \"demo:build:development\"\n },\n \"production\": {\n \"buildTarget\": \"demo:build:production\"\n }\n },\n \"defaultConfiguration\": \"development\"\n }\n },\n \"prefix\": \"app\",\n \"projectType\": \"application\",\n \"root\": \"\",\n \"schematics\": {},\n \"sourceRoot\": \"src\"\n }\n },\n \"cli\": {\n \"analytics\": \"0f944abb-e787-4c1f-9092-e34292361c91\"\n }\n}\n`;\nexport const indexHtmlFile = (selector: string): string => `\n<div style=\"padding: 10px\" class=\"eui-21\">\n <${selector}></${selector}>\n</div>\n`;\nexport const PACKAGE_JSON = {\n name: 'demo',\n version: '0.0.0',\n private: true,\n scripts: {\n ng: 'ng',\n start: 'ng serve',\n build: 'ng build',\n watch: 'ng build --watch --configuration development',\n test: 'ng test',\n lint: 'ng lint',\n },\n dependencies: {},\n};\nexport const tsConfig = `\n/* To learn more about this file see: https://angular.io/config/tsconfig. */\n{\n \"compileOnSave\": false,\n \"compilerOptions\": {\n \"outDir\": \"./out-tsc/app\",\n \"target\": \"ES2022\",\n \"module\": \"ES2022\",\n \"useDefineForClassFields\": false,\n \"lib\": [\"ES2022\", \"dom\"],\n \"declaration\": true,\n \"declarationMap\": true,\n \"inlineSources\": true,\n \"emitDecoratorMetadata\": false,\n \"types\": [],\n \"esModuleInterop\": true,\n \"sourceMap\": true,\n \"experimentalDecorators\": true,\n \"moduleResolution\": \"bundler\",\n \"importHelpers\": true\n },\n \"angularCompilerOptions\": {\n \"compilationMode\": \"partial\",\n \"enableI18nLegacyMessageIdFormat\": false,\n \"strictInputAccessModifiers\": true,\n \"strictMetadataEmit\": true,\n \"strictTemplates\": true,\n \"annotateForClosureCompiler\": true,\n \"skipTemplateCodegen\": true,\n \"fullTemplateTypeCheck\": true\n },\n \"exclude\": [\"src/test.ts\", \"**/*.spec.ts\"],\n \"files\": [\"src/main.ts\"],\n \"include\": [\"src/**/*.d.ts\"]\n}`;\n","import sdk, { Project, ProjectDependencies } from '@stackblitz/sdk';\nimport { lastValueFrom } from 'rxjs';\nimport { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { angularJsonFile, indexHtmlFile, mainFile, PACKAGE_JSON, polyfillsFile, tsConfig } from './stackblitz.files';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StackblitzService {\n private http: HttpClient = inject(HttpClient);\n\n /**\n * extract the name of the component class name and selector name from the typescript content\n *\n * @param contents\n * @private\n */\n extractComponentMetadata(contents: string): {\n selector: string;\n className: string;\n } {\n const selectorRegex = /selector: ('(?<singleQuotedSelector>[\\w\\d-]+)'|\"(?<doubleQuotedSelector>[\\w\\d-]+)\")/;\n const classRegex = /export class ([\\w\\d]+)/;\n\n const className = contents.match(classRegex);\n const selectorName = contents.match(selectorRegex);\n const found = selectorName?.groups?.singleQuotedSelector || selectorName?.groups?.doubleQuotedSelector;\n return {\n className: className ? className[1] : '',\n selector: found || '',\n };\n }\n\n /**\n * extract module class name from the typescript content\n *\n * @param contents\n * @private\n */\n extractModuleName(contents: string): string {\n const moduleClass = contents.match(/export class (\\w+Module)/);\n return moduleClass ? moduleClass[1] : '';\n }\n\n /**\n * extract the name of the component class name and selector name from the typescript content\n *\n * @param contents\n * @private\n */\n extractComponentName(contents: string): string {\n const componentName = contents.match(/bootstrap: \\[([\\s\\S]*?)]/);\n if(componentName) {\n return componentName[1];\n } else {\n const componentClass = contents.match(/export class (\\w+Component)/);\n return componentClass ? componentClass[1] : '';\n }\n }\n\n appendVitalNgModules(contents: string): string {\n // const imports = contents.match(/imports: \\[([\\s\\S]*?)\\]/);\n // appends BrowserModule to imports\n contents = contents.replace(/imports: \\[([\\s\\S]*?)\\]/, 'imports: [\\n\\t\\tBrowserModule, $1]');\n // appends import of BrowserModule\n contents = `import { BrowserModule } from '@angular/platform-browser';\\n${contents}`;\n // appends BrowserAnimationsModule to imports\n contents = contents.replace(/imports: \\[([\\s\\S]*?)\\]/, 'imports: [\\n\\t\\tBrowserAnimationsModule, $1]');\n // appends import of BrowserAnimationsModule\n contents = `import { BrowserAnimationsModule } from '@angular/platform-browser/animations';\\n${contents}`;\n\n return contents;\n }\n\n /**\n * Open a stackblitz project in a new browser TAB with the given html and typescript content\n * @param htmlContent\n * @param typescriptContent\n * @param title\n * @param sampleId\n */\n public openStackBlitz(htmlContent: string, typescriptContent: string, title: string, sampleId: string): void {\n this.getStackblitzDependencies()\n .then((deps) => {\n const { dependencies, devDependencies } = deps;\n const { selector } = this.extractComponentMetadata(typescriptContent);\n const moduleName = this.extractModuleName(typescriptContent);\n const componentName = this.extractComponentName(typescriptContent);\n const project: Project = {\n title: title,\n description: `An eUI example for the ${title}.`,\n template: 'node',\n files: {\n 'src/component.html': htmlContent,\n 'src/component.ts': moduleName ? this.appendVitalNgModules(typescriptContent): typescriptContent,\n 'src/main.ts': mainFile(moduleName, componentName),\n 'src/polyfills.ts': polyfillsFile,\n 'src/index.html': indexHtmlFile(selector),\n 'angular.json': angularJsonFile,\n 'package.json': JSON.stringify(\n {\n ...PACKAGE_JSON,\n dependencies,\n devDependencies,\n },\n null,\n 2,\n ),\n 'tsconfig.json': tsConfig,\n '.stackblitzrc': '{\\n\\t\"installDependencies\": false,\\n\\t\"startCommand\": \"npm install --force && npm start\"\\n}',\n },\n settings: {\n compile: {\n trigger: 'auto',\n clearConsole: true,\n },\n },\n dependencies,\n };\n\n return sdk.openProject(\n project,\n {\n openFile: ['src/component.ts', 'src/component.html'],\n zenMode: true,\n },\n );\n });\n }\n\n /**\n * Retrieve only the dependencies that stackblitz will need filtered from @eui/deps-base\n *\n * @private\n */\n public getStackblitzDependencies(): Promise<{\n dependencies: ProjectDependencies;\n devDependencies: ProjectDependencies;\n }> {\n // a list of dependencies only stackblitz needs\n const stackblitzDependencies = [\n '@angular/animations',\n '@angular/cdk',\n '@angular/common',\n '@angular/compiler',\n '@angular/core',\n '@angular/forms',\n '@angular/material',\n '@angular/material-moment-adapter',\n '@angular/platform-browser',\n '@angular/platform-browser-dynamic',\n '@angular/router',\n '@eui/base',\n '@eui/components',\n '@eui/core',\n '@eui/styles',\n '@ngrx/effects',\n '@ngrx/store',\n '@ngx-translate/core',\n 'ngx-device-detector',\n 'localforage',\n 'lodash-es',\n 'reselect',\n 'rxjs',\n 'tslib',\n 'zone.js',\n ];\n\n const stackblitzDevDependencies = ['@angular-devkit/build-angular', '@angular/cli', '@angular/compiler-cli', 'typescript'];\n\n return this.getCurrentShowcaseEuiVersion()\n .then((version) => this.retrievePackageDependencies(version))\n .then((dependencies) => {\n // filter dependencies to only what stackblitz needs\n let filteredArr = Object.entries(dependencies).filter((v) => stackblitzDependencies.find((s) => s === v[0]));\n const filteredObj = Object.fromEntries(filteredArr);\n const extraDependencies = {\n 'ngx-moment': '~6.0.0',\n 'ngx-mask': '^14.0.0',\n 'cleave.js': '^1.6.0',\n\t\t\t\t\t'@types/cleave.js': '1.4.12',\n moment: '^2.19.3',\n extend: '^3.0.2',\n };\n // filter devDependencies to only what stackblitz needs\n filteredArr = Object.entries(dependencies).filter((v) => stackblitzDevDependencies.find((s) => s === v[0]));\n dependencies = { ...extraDependencies, ...filteredObj };\n const devDependencies = Object.fromEntries(filteredArr);\n\n return { dependencies, devDependencies };\n });\n }\n\n /**\n * Retrieve the dependencies from the package.json file of @eui/deps-base for the given version.\n *\n * @param version\n * @private\n */\n private retrievePackageDependencies(version): Promise<ProjectDependencies> {\n return fetch(`https://unpkg.com/@eui/deps-base-light@${version}/package.json`)\n .then((response) => response.json())\n .then((pkg) => pkg?.dependencies);\n }\n\n /**\n * Retrieve the eUI version used to build the showcase from application app-metadata.json\n *\n * @private\n */\n private getCurrentShowcaseEuiVersion(): Promise<string> {\n return lastValueFrom(this.http.get<{ appVersion: string }>('assets/app-metadata.json', { responseType: 'json' })).then(\n (res) => res?.appVersion || 'latest',\n );\n }\n\n}\n","\nimport { Directive, ElementRef, AfterViewInit, inject, input, effect, Renderer2 } from '@angular/core';\n@Directive({\n\tselector: '[euiCode]',\n})\nexport class EuiCodeHighlighterDirective implements AfterViewInit {\n\tcode = input();\n\tprivate el = inject(ElementRef);\n\tprivate renderer = inject(Renderer2);\n\tconstructor() {\n\t\teffect(() => {\n\t\t\t// force update of nativeElement if code changes\n\t\t\tif(this.code()) {\n\t\t\t\tthis.renderer.setProperty(this.el.nativeElement, 'textContent', this.code());\n\t\t\t}\n\t\t\tthis.highlight();\n\t\t});\n\t}\n\tngAfterViewInit(): void {\n\t\tthis.highlight();\n\t}\n\tprivate highlight(): void {\n\t\tif (window['Prism']) {\n\t\t\twindow['Prism'].highlightElement(this.el.nativeElement);\n\t\t}\n\t}\n}","import {\n Component,\n Input,\n AfterContentInit,\n ChangeDetectorRef,\n ViewEncapsulation,\n HostBinding,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { forkJoin, Observable, Subscriber } from 'rxjs';\nimport { map, catchError } from 'rxjs/operators';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiMenuItem } from '@eui/base';\nimport { EUI_TABS, EuiTabComponent } from '@eui/components/eui-tabs';\nimport { EuiGrowlService } from '@eui/core';\nimport { Router } from '@angular/router';\nimport { StackblitzService } from '../playground/stackblitz.service';\nimport { Configuration, ConfigurationService } from '../../configuration.service';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_CARD } from '@eui/components/eui-card';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { CommonModule } from '@angular/common';\nimport { EuiCodeHighlighterDirective } from '../eui-code-highlighter';\n\n@Component({\n selector: 'eui-showcase-doc-sample',\n templateUrl: 'doc-sample.component.html',\n styleUrls: ['./doc-sample.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n ...EUI_TABS,\n ...EUI_LABEL,\n ...EUI_CARD,\n ...EUI_ICON,\n ...EUI_BUTTON,\n EuiCodeHighlighterDirective,\n ], \n})\nexport class DocSampleComponent implements AfterContentInit {\n @Input() id = '';\n @Input() label = '';\n @Input() category;\n @Input() description;\n @Input() defaultValue;\n @Input() styleClass = '';\n @Input({ transform: booleanAttribute }) renderPlayground = null;\n @Input({ transform: booleanAttribute }) isCodeButtonVisible = true;\n @Input({ transform: booleanAttribute }) isInnerSection = false;\n\n @HostBinding('class') classes = 'eui-showcase-doc-sample';\n\n isCodeLoaded = false;\n isCodeLoading = false;\n isCodeExpanded = false;\n playground_activated = false;\n\n tsContent;\n htmlContent;\n protected conf = inject<ConfigurationService<Configuration>>(ConfigurationService);\n private sb = inject(StackblitzService);\n private _http = inject(HttpClient);\n private asService = inject(EuiAppShellService);\n private cd = inject(ChangeDetectorRef);\n private growlService = inject(EuiGrowlService);\n private clipboard = inject(Clipboard);\n private router = inject(Router);\n\n ngAfterContentInit(): void {\n if (!this.label) {\n this.label = this.id;\n }\n }\n\n public copyCurrentUrlToClipboard(id: string): void {\n try {\n const baseDomain = window?.location?.origin;\n const currentUrl = this.router.url.split('#');\n const fullUrl = baseDomain + currentUrl[0] + '#' + id;\n this.clipboard.copy(fullUrl);\n } catch (err) {\n this.growlService.growl({ severity: 'danger', summary: 'Clipboard service not available' });\n } finally {\n this.growlService.growl({ severity: 'info', summary: 'Link URL copied to clipboard' });\n }\n }\n\n onToggleCode(): void {\n if (this.isCodeLoaded) {\n this.isCodeExpanded = !this.isCodeExpanded;\n }\n\n if (!this.isCodeLoaded) {\n this.loadCodeFiles().subscribe((demo: { typescript: string; html: string }) => {\n this.tsContent = demo.typescript;\n this.htmlContent = demo.html;\n this.isCodeLoaded = true;\n this.isCodeExpanded = true;\n this.isCodeLoading = false;\n this.cd.detectChanges();\n });\n }\n }\n\n /**\n * on playground tab selected inform the playground component that its content is rendered\n * TODO: fix the bug on eui-tab implementation where the ngAfterViewInit is called without the view actually\n * being rendered on screen. Issue is that initially the view is being rendered and then removed from the DOM.\n * Internally eui-tabs is moving the projected content.\n *\n * @param selected The selected tab component reference and its index in the tabs array.\n */\n onTabActivate(selected: { tab: EuiTabComponent; index: number }): void {\n this.playground_activated = selected.index === 2;\n }\n\n /**\n * filter out the extra import and module from the code sample\n *\n * @param code\n */\n filterOutModuleAndImports(code: string): string {\n // filter out module\n const moduleRegex = /@NgModule\\(([\\s\\S]*?)\\)\\nexport class \\w+ \\{([\\s\\S]*?)\\}/g;\n code = code.replace(moduleRegex, '');\n // filter out extra imports\n // eslint-disable-next-line\n code = code.replace(\"import { EuiAllModule } from '@eui/components';\\n\", '');\n // eslint-disable-next-line\n code = code.replace(\"import { NgModule } from '@angular/core';\\n\", '');\n return code;\n }\n\n /**\n * open the code sample in stackblitz\n */\n onStackblitzOpen(): void {\n this.loadCodeFiles().subscribe((demo: { typescript: string; html: string }) => {\n this.tsContent = demo.typescript;\n this.htmlContent = demo.html;\n this.sb.openStackBlitz(this.htmlContent, this.tsContent, 'eUI Playground', this.id);\n });\n }\n\n /**\n * returns whenever playground should render. Input has precedence over Configuration service\n */\n protected shouldRenderPlayground(): boolean {\n return this.renderPlayground === undefined || this.renderPlayground === null ?\n this.conf.configuration().renderPlayground : this.renderPlayground;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _getComponent(id): EuiMenuItem | any {\n const flatLinks = this.flatten(this.asService.state.sidebarLinks);\n\n return flatLinks.filter((item) => item.id === id)[0];\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private flatten(links: EuiMenuItem[]): EuiMenuItem[] | any {\n return links\n ? links.reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (result, item: EuiMenuItem | any) => [\n ...result,\n {\n id: item.id,\n alternateSampleLocation: item.alternateSampleLocation,\n },\n ...this.flatten(item.children),\n ],\n [],\n )\n : [];\n }\n\n private loadCodeFiles(): Observable<Response | { typescript: string, html: string }> {\n this.isCodeLoading = true;\n\n const url = window.location;\n const pathName = url.pathname;\n const pathNameArray = pathName.split('/');\n\n let samplePathArray = [];\n\n const cmpId = pathNameArray[pathNameArray.length - 1];\n const cmp = this._getComponent(cmpId);\n\n if (cmp && cmp.alternateSampleLocation) {\n samplePathArray = cmp.alternateSampleLocation.split('/').reverse();\n } else {\n for (let i = pathNameArray.length - 1; i >= 0; i--) {\n if (pathNameArray[i].indexOf('eui-showcase-') > -1 || pathNameArray[i].indexOf('localhost') > -1) {\n break;\n }\n if (pathNameArray[i] !== '') {\n samplePathArray.push(pathNameArray[i]);\n }\n }\n }\n\n samplePathArray = samplePathArray.reverse();\n samplePathArray.push('samples');\n samplePathArray.push(this.id);\n\n const samplesPath = `assets/samples/${samplePathArray.join('/')}`;\n\n return forkJoin({\n typescript: this._http.get(`${samplesPath}/component.ts`, {\n responseType: 'text',\n }),\n html: this._http.get(`${samplesPath}/component.html`, {\n responseType: 'text',\n }),\n })\n .pipe(\n map((responses: { typescript: string; html: string }) => {\n this.isCodeLoaded = true;\n this.isCodeLoading = false;\n return { typescript: responses.typescript, html: responses.html };\n }),\n catchError((error: Response) => {\n this.growlService.growlError(`Issue while fetching : ${error.url} : ${error.status}-${error.statusText}`);\n\n return new Observable<Response>((subscriber: Subscriber<Response>) => {\n try {\n subscriber.error(error);\n } catch (err) {\n subscriber.error(error);\n }\n });\n }),\n );\n }\n}\n","<div class=\"doc-sample-title\">\n <div class=\"doc-sample-title__label\" [class.doc-sample-title__label--inner]=\"isInnerSection\">\n {{ label }}\n <button\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n euiSizeS\n aria-label=\"Click to copy link url to keyboard\"\n (click)=\"copyCurrentUrlToClipboard(id)\"\n class=\"doc-sample-title__link\"\n tabindex=\"-1\">\n <eui-icon-svg icon=\"eui-link\" size=\"l\" fillColor=\"secondary\" />\n </button>\n </div>\n <div *ngIf=\"shouldRenderPlayground()\" class=\"doc-sample-title__items eui-u-mr-s\">\n <button\n *ngIf=\"isCodeButtonVisible\"\n type=\"button\"\n euiButton\n [euiOutline]=\"!isCodeExpanded\"\n euiPrimary\n euiSizeXS\n (click)=\"onStackblitzOpen()\">\n <span euiLabel>Stackblitz</span>\n <eui-icon-svg icon=\"eui-flash\" />\n </button>\n </div>\n <div class=\"doc-sample-title__items\">\n <button\n *ngIf=\"isCodeButtonVisible\"\n type=\"button\"\n euiButton\n [euiOutline]=\"!isCodeExpanded\"\n euiPrimary\n euiSizeXS\n (click)=\"onToggleCode()\"\n [euiDisabled]=\"isCodeLoading\">\n <eui-icon-svg *ngIf=\"isCodeLoading\" isLoading></eui-icon-svg>\n <span *ngIf=\"!isCodeExpanded\" euiLabel>Code</span>\n <span *ngIf=\"isCodeExpanded\" euiLabel>Hide Code</span>\n <eui-icon-svg icon=\"eui-code\" />\n </button>\n </div>\n</div>\n\n<ng-template [ngIf]=\"isCodeExpanded\">\n <eui-card euiNoContentPadding class=\"eui-u-mb-m\">\n <eui-card-content>\n <eui-tabs (tabActivate)=\"onTabActivate($event)\">\n <eui-tab [isVisible]=\"htmlContent\">\n <eui-tab-header>\n <eui-label>HTML</eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <pre><code class=\"language-markup\" euiCode>{{htmlContent}}</code></pre>\n </eui-tab-body>\n </eui-tab>\n <eui-tab [isVisible]=\"tsContent\">\n <eui-tab-header>\n <eui-label>Typescript</eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <pre><code class=\"language-javascript\" euiCode>{{filterOutModuleAndImports(tsContent)}}</code></pre>\n </eui-tab-body>\n </eui-tab>\n </eui-tabs>\n </eui-card-content>\n </eui-card>\n</ng-template>\n\n<ng-content></ng-content>\n","import { Component, Input, AfterContentInit, ViewEncapsulation, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eui-showcase-doc-section',\n templateUrl: 'doc-section.component.html',\n styleUrls: ['./doc-section.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DocSectionComponent implements AfterContentInit {\n @HostBinding('class') string = 'eui-showcase-doc-section';\n\n @Input() id = '';\n @Input() label = '';\n @Input() styleClass = '';\n\n ngAfterContentInit(): void {\n if (!this.label) {\n this.label = this.id;\n }\n }\n}\n","<div id=\"sections\" class=\"doc-section-title\">{{label}}</div>\n<!-- <h4 id=\"sections\" class=\"eui-u-font-bold eui-u-color-info eui-u-text-h4 mb-3\">{{ label }}</h4> -->\n\n<ng-content></ng-content>\n","import {\n Component,\n Input,\n Directive,\n AfterViewInit,\n ContentChildren,\n forwardRef,\n OnInit,\n QueryList,\n ViewEncapsulation,\n ViewChild,\n HostBinding,\n inject,\n} from '@angular/core';\nimport { CommonModule, Location } from '@angular/common';\nimport { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { DocSampleComponent } from '../doc-sample/doc-sample.component';\nimport { DocSectionComponent } from '../doc-section/doc-section.component';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiMenuItem } from '@eui/base';\nimport { EUI_TABS, EuiTabComponent, EuiTabsComponent } from '@eui/components/eui-tabs';\nimport { EUI_ALERT } from '@eui/components/eui-alert';\nimport { EUI_PAGE } from '@eui/components/eui-page';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_CHIP } from '@eui/components/eui-chip';\nimport { DocPageCodeComponent } from './doc-page-code.component';\nimport { EUI_BLOCK_CONTENT } from '@eui/components/eui-block-content';\nimport { EuiCodeHighlighterDirective } from '../eui-code-highlighter';\n\ntype ComponentStatus = EuiMenuItem & {\n name: string;\n cmpReplacement: string;\n cmpReplacementUrl: string;\n cmpReplacementNote: string;\n alternateApiCategory: string;\n alternateId: string;\n};\n\n@Component({\n selector: 'eui-showcase-doc-page',\n templateUrl: 'doc-page.component.html',\n styleUrls: ['./shared.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n DocPageCodeComponent,\n EuiCodeHighlighterDirective,\n ...EUI_ALERT,\n ...EUI_TABS,\n ...EUI_PAGE,\n ...EUI_LABEL,\n ...EUI_CHIP,\n ...EUI_BLOCK_CONTENT,\n ],\n})\nexport class DocPageComponent implements OnInit, AfterViewInit {\n @HostBinding('class') cssClass = 'eui-doc-page';\n\n @Input() id;\n @Input() label;\n @Input() subLabel: string;\n @Input() isNotReady = false;\n @Input() isDeprecated = false;\n @Input() isLegacy = false;\n @Input() codeFolder: string;\n @Input() showcase = 'ux';\n @Input() isNavigationVisible = true;\n @Input() hasApi = true;\n @Input() hasA11y = true;\n @Input() customApiUrl: string = null;\n\n stateTypeClass;\n stateLabel;\n cmp;\n fragmentId;\n cmpImportModule;\n cmpImportStandalone;\n cmpImportStandaloneCmp;\n cmpStandalone;\n appMetadata;\n\n apiUrlSafe: SafeResourceUrl;\n apiUrl: string;\n iFrameContent;\n\n isLoading = true;\n isNavClicked = true;\n\n hasCategories = false;\n categories = [];\n\n @ContentChildren(DocSampleComponent, { descendants: true })\n samples: QueryList<DocSampleComponent>;\n @ContentChildren(DocSectionComponent, { descendants: true })\n sections: QueryList<DocSectionComponent>;\n\n @ContentChildren(forwardRef(() => DocPageOverviewContentDirective))\n pageOverviewContent: QueryList<DocPageOverviewContentDirective>;\n\n @ContentChildren(forwardRef(() => DocPageOverviewDefaultContentDirective))\n pageOverviewDefaultContent: QueryList<DocPageOverviewDefaultContentDirective>;\n\n @ContentChildren(forwardRef(() => DocPageSamplesContentDirective))\n pageSamplesContent: QueryList<DocPageSamplesContentDirective>;\n\n @ContentChildren(forwardRef(() => DocPageSectionsContentDirective))\n pageSectionsContent: QueryList<DocPageSectionsContentDirective>;\n\n @ContentChildren(forwardRef(() => DocPageInteractiveContentDirective))\n pageInteractiveContent: QueryList<DocPageInteractiveContentDirective>;\n\n @ContentChildren(forwardRef(() => DocPageAccessibilityContentDirective))\n pageAccessibilityContent: QueryList<DocPageAccessibilityContentDirective>;\n\n @ContentChildren(forwardRef(() => DocPageApiContentDirective))\n pageApiContent: QueryList<DocPageApiContentDirective>;\n\n @ContentChildren(forwardRef(() => DocPageThemingContentDirective))\n pageThemingContent: QueryList<DocPageThemingContentDirective>;\n\n @ViewChild('tabsContent') tabsContent: EuiTabsComponent;\n\n sanitizer = inject(DomSanitizer);\n private TABS_DEF = [\n { index: 0, id: 'samples' },\n { index: 1, id: 'api' },\n { index: 2, id: 'a11y' },\n { index: 3, id: 'theming' },\n { index: 4, id: 'advanced' },\n ];\n\n private CATEGORIES_DEF = [\n { index: 0, id: 'Base' },\n { index: 10, id: 'Variants' },\n { index: 20, id: 'Options' },\n { index: 30, id: 'Main Features' },\n { index: 40, id: 'free-category' },\n { index: 50, id: 'Reactive Forms' },\n { index: 60, id: 'Event Handlers' },\n { index: 70, id: 'Composition' },\n { index: 80, id: 'Misc' },\n ];\n\n private location = inject(Location);\n private router = inject(Router);\n private route = inject(ActivatedRoute);\n private asService = inject(EuiAppShellService);\n\n ngOnInit(): void {\n setTimeout((): void => {\n this.asService.isBlockDocumentActive = true;\n });\n\n this.appMetadata = this.asService.state.appMetadata;\n\n if (this.id && !this.label) {\n this.label = this.id;\n }\n\n this.fragmentId = this.route.snapshot.fragment;\n }\n\n ngAfterViewInit(): void {\n // getting API url\n try {\n this.apiUrl = this._getApiUrl();\n\n setTimeout(() => {\n this.apiUrlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.apiUrl);\n });\n } catch (e) {\n console.log(e);\n }\n\n setTimeout(() => {\n const tab = this.TABS_DEF.filter((t) => t.id === this.fragmentId)[0];\n const sampleTabIndex = 0;\n\n let tabIndex;\n\n if (!tab) {\n tabIndex = sampleTabIndex;\n } else {\n tabIndex = tab.index;\n }\n\n // constructing categories, if at least one set, if not backward compat with old display\n const categoriesJson = {};\n\n this.samples.forEach((s) => {\n // \"Default\" or \"_default\" sample are always put first in the nav list\n if (!s.category && s.id !== '_default' && s.id !== 'Default' && s.id !== 'default') {\n if (!categoriesJson['others']) {\n categoriesJson['others'] = [];\n categoriesJson['others'].push(s);\n } else {\n categoriesJson['others'].push(s);\n }\n } else {\n if (s.id === '_default' || s.id === 'Default' || s.id === 'default') {\n if (!categoriesJson['Base']) {\n categoriesJson['Base'] = [];\n categoriesJson['Base'].push(s);\n } else {\n categoriesJson['Base'].push(s);\n }\n } else {\n this.hasCategories = true;\n if (!categoriesJson[s.category]) {\n categoriesJson[s.category] = [];\n categoriesJson[s.category].push(s);\n } else {\n categoriesJson[s.category].push(s);\n }\n }\n }\n });\n\n // making the list of categories iterable for display\n // console.log(categoriesJson)\n Object.keys(categoriesJson).forEach((c) => {\n const normalizedKey = c.toLowerCase();\n\n const existingCategory = this.categories.find(cat => cat.name.toLowerCase() === normalizedKey);\n\n if (existingCategory) {\n existingCategory.samples = [...existingCategory.samples, ...categoriesJson[c]].sort((a, b) => {\n return a.label.localeCompare(b.label);\n });\n } else {\n this.categories.push({\n name: c,\n samples: categoriesJson[c].sort((a, b) => {\n return a.label.localeCompare(b.label);\n }),\n });\n }\n });\n\n // push the \"others\" at the end of the nav list\n \n this.categories.sort((a, b) => {\n return this.getCategoryIndex(a.name) - this.getCategoryIndex(b.name);\n });\n \n this.categories.push(this.categories.splice(this.categories.findIndex(v => v.name == 'others'), 1)[0])\n \n setTimeout(() => {\n this._scrollToFragment(this.fragmentId, tabIndex, true, true);\n\n this.asService.isBlockDocumentActive = false;\n this.isLoading = false;\n }, 1);\n });\n }\n\n getCategoryIndex(name: string): number {\n const category = this.CATEGORIES_DEF.find(cat => cat.id.toLowerCase() === name.toLowerCase());\n return category ? category.index : this.CATEGORIES_DEF.find(cat => cat.id === 'free-category').index;\n }\n\n onNavClick(fragmentId: string, tabIndex: number): void {\n this.fragmentId = fragmentId;\n this.isNavClicked = true;\n this._scrollToFragment(this.fragmentId, tabIndex, false, true);\n }\n\n onTabActivate(event: { tab: EuiTabComponent; index: number }): void {\n if (!this.isLoading && !this.isNavClicked) {\n const tabId = this.TABS_DEF.filter((t) => t.index === event.index)[0].id;\n this._scrollToFragment(tabId, event.index, false, false);\n }\n this.isNavClicked = false;\n }\n\n private _scrollToFragment(fragmentId: string, tabIndex: number, init: boolean, changeTab: boolean): void {\n if (init) {\n if (this.tabsContent) {\n this.tabsContent.activateTab(tabIndex);\n }\n } else {\n if (changeTab) {\n this.router.onSameUrlNavigation = 'reload';\n this.router.navigate(['.'], { relativeTo: this.route, fragment: fragmentId }).then(() => {\n if (this.tabsContent) {\n this.tabsContent.activateTab(tabIndex);\n }\n });\n } else {\n const routeRoot = this.router.url.split('#')[0];\n this.location.go(`${routeRoot}#${fragmentId}`);\n }\n }\n\n if (fragmentId) {\n setTimeout(() => {\n const fgm = document.getElementById(fragmentId);\n if (fgm) {\n fgm.scrollIntoView();\n }\n });\n }\n }\n\n private _getComponentStatus(id): ComponentStatus {\n\n const flatten = (links: EuiMenuItem[]): ComponentStatus[] =>\n links\n ? links.reduce(\n (result, item: ComponentStatus) => [\n ...result,\n {\n id: item.label,\n alternateId: item.name,\n status: item.markerTypeClass,\n cmpReplacement: item.cmpReplacement,\n cmpReplacementUrl: item.cmpReplacementUrl,\n cmpReplacementNote: item.cmpReplacementNote,\n alternateApiCategory: item.alternateApiCategory,\n metadata: item.metadata,\n },\n ...flatten(item.children),\n ],\n [],\n )\n : [];\n\n const flatLinks = flatten(this.asService.state.sidebarLinks);\n const idBasedCmp = flatLinks.filter((item) => item.id === id)[0];\n // console.log('from get component status');\n // console.log(id);\n // console.log(flatLinks);\n // console.log(idBasedCmp);\n if (idBasedCmp) {\n return idBasedCmp;\n } else {\n const alternateIdBasedCmp = flatLinks.filter((item) => item.alternateId === id)[0];\n return alternateIdBasedCmp;\n }\n }\n\n private _getApiUrl(): string {\n // console.log('getApiUrl');\n\n const url = window.location;\n const protocol = url.protocol;\n const host = url.host;\n const pathName = url.pathname;\n const pathNameArray = pathName.split('/');\n let name = pathNameArray[pathNameArray.length - 1];\n let category = pathNameArray[pathNameArray.length - 2];\n\n let showcaseType;\n showcaseType = pathNameArray[pathNameArray.length - 3];\n if (showcaseType?.indexOf('eui-showcase') === -1) {\n showcaseType = pathNameArray[pathNameArray.length - 4];\n }\n\n let protocolGen = protocol;\n let hostGen = host;\n\n if (host.indexOf('localhost') > -1) {\n protocolGen = 'https:';\n hostGen = 'euidev.ecdevops.eu';\n }\n\n const appVersionNumber = this.appMetadata.appVersion.split('.')[0];\n\n let docTypeRoot = `eui-docs-eui-${appVersionNumber}.x`;\n if (showcaseType && showcaseType.indexOf('-ecl') > -1) {\n docTypeRoot = `eui-docs-ecl-${appVersionNumber}.x`;\n }\n if (showcaseType && showcaseType.indexOf('-mobile') > -1) {\n docTypeRoot = `eui-docs-mobile-core-${appVersionNumber}.x`;\n }\n\n if (category === 'layout-components' || category === 'externals' || category === 'layout' || category === 'atoms') {\n category = 'components';\n }\n\n setTimeout(() => {\n if (name.indexOf('-service') > -1 || name.indexOf('-template') > -1) {\n name = name.replace('-service', '').replace('-template', '');\n }\n\n try {\n this.cmp = this._getComponentStatus(name);\n\n if (this.cmp && this.cmp.alternateApiCategory) {\n category = this.cmp.alternateApiCategory;\n }\n\n // console.log(this.cmp);\n\n if (this.cmp) {\n switch (this.cmp.status) {\n case 'success':\n this.stateLabel = 'ACTIVE';\n this.stateTypeClass = 'success';\n break;\n\n case 'warning':\n this.stateLabel = 'will be removed in eUI 21';\n this.stateTypeClass = 'warning';\n this.isDeprecated = true;\n break;\n\n case 'danger':\n this.stateLabel = 'will be removed in eUI 21';\n this.stateTypeClass = 'danger';\n this.isLegacy = true;\n break;\n\n case 'info':\n this.stateLabel = 'NOT READY';\n this.stateTypeClass = 'accent';\n this.isNotReady = true;\n break;\n }\n\n // construct cmp module import string\n if (this.cmp.metadata?.moduleName) {\n this.cmpImportModule = `import { ${this.cmp.metadata?.moduleName} } from '@eui/${this.cmp.metadata?.subEntryName}';`;\n }\n if (this.cmp.metadata?.exportName) {\n this.cmpImportStandalone = `import { ${this.cmp.metadata?.exportName} } from '@eui/${this.cmp.metadata?.subEntryName}';`;\n this.cmpImportStandaloneCmp = `@Component({\\n...\\n imports: [...${this.cmp.metadata?.exportName}],\\n...\\n})`;\n }\n }\n } catch(e) {\n console.log(e);\n }\n })\n\n const formattedName = this._camelCaseString(name + '-' + category.slice(0, -1), '-', true);\n return this.customApiUrl ? `${protocolGen}//${hostGen}/${docTypeRoot}/${this.customApiUrl}.html` : `${protocolGen}//${hostGen}/${docTypeRoot}/${category}/${formattedName}.html`;\n }\n\n private _camelCaseString(string, separator, first): string {\n const stringArray = string.split(separator);\n let result = '';\n let s;\n\n for (let i = 0; i < stringArray.length; i++) {\n s = stringArray[i];\n if (i === 0) {\n if (first) {\n result += s.substring(0, 1).toUpperCase() + s.substr(1);\n } else {\n result += s;\n }\n } else {\n result += s.substring(0, 1).toUpperCase() + s.substr(1);\n }\n }\n\n return result;\n }\n}\n\n/* eslint-disable @angular-eslint/directive-selector */\n@Directive({ selector: 'docPageOverview' })\nexport class DocPageOverviewContentDirective {}\n@Directive({ selector: 'docPageOverviewDefault' })\nexport class DocPageOverviewDefaultContentDirective {}\n@Directive({ selector: 'docPageInteractive' })\nexport class DocPageInteractiveContentDirective {\n @Input() title = 'ADVANCED EXAMPLES';\n @Input() subTitle = 'Advanced use cases';\n}\n@Directive({ selector: 'docPageSamples' })\nexport class DocPageSamplesContentDirective {}\n@Directive({ selector: 'docPageSections' })\nexport class DocPageSectionsContentDirective {}\n@Directive({ selector: 'docPageAccessibility' })\nexport class DocPageAccessibilityContentDirective {}\n@Directive({ selector: 'docPageApi' })\nexport class DocPageApiContentDirective {}\n\n@Directive({ selector: 'docPageTheming' })\nexport class DocPageThemingContentDirective {}\n/* eslint-enable @angular-eslint/directive-selector */\n","<eui-page>\n <eui-page-content>\n <eui-page-columns>\n <eui-page-column>\n <eui-page-column-body>\n <eui-page-header label=\"{{ label }}\" subLabel=\"{{ subLabel }}\" class=\"eui-doc-page-title\">\n <eui-page-header-action-items>\n <eui-showcase-doc-page-code\n *ngIf=\"codeFolder\"\n codeFolder=\"{{ codeFolder }}\"\n showcase=\"{{ showcase }}\"></eui-showcase-doc-page-code>\n <eui-chip euiSizeS isFilled\n *ngIf=\"stateLabel\"\n [euiSuccess]=\"stateLabel === 'ACTIVE'\"\n [euiInfo]=\"isNotReady\"\n [euiWarning]=\"isDeprecated\"\n [euiDanger]=\"isLegacy\">\n {{ stateLabel }}\n </eui-chip>\n </eui-page-header-action-items>\n </eui-page-header>\n\n <eui-alert *ngIf=\"stateLabel === 'LEGACY' || isLegacy\" euiDanger class=\"eui-u-mb-xl\">\n <eui-alert-title>LEGACY component</eui-alert-title>\n <strong class=\"eui-u-color-danger\">This component will be removed in eUI 21 release (end of 2025)</strong>\n <div *ngIf=\"cmp\">\n <div *ngIf=\"cmp.cmpReplacement !== 'NONE'\">\n It has been replaced by :\n <strong class=\"eui-u-color-success-darkest\">{{ cmp.cmpReplacement }}</strong>\n </div>\n <div *ngIf=\"cmp.cmpReplacement === 'NONE'\">\n <strong class=\"eui-u-color-danger\"> This component won't be replaced</strong>\n </div>\n <div *ngIf=\"cmp.cmpReplacementNote\">\n <strong class=\"eui-u-color-warning\">{{ cmp.cmpReplacementNote }}</strong>\n </div>\n </div>\n </eui-alert>\n\n <eui-alert *ngIf=\"stateLabel === 'DEPRECATED' || isDeprecated\" euiWarning class=\"eui-u-mb-xl\">\n <eui-alert-title>DEPRECATED component</eui-alert-title>\n This component has been <strong class=\"eui-u-color-danger\">deprecated</strong>\n <div *ngIf=\"cmp\">\n This component has no replacement in current version AND won't have replacement in next version of eUI,\n <strong class=\"eui-u-color-danger\">it will be removed in eUI 21 release (end of 2025)</strong>\n </div>\n </eui-alert>\n\n <eui-alert *ngIf=\"stateLabel === 'NOT_READY' || isNotReady\" euiInfo class=\"eui-u-mb-xl\">\n <eui-alert-title>NOT READY for production usage</eui-alert-title>\n <div *ngIf=\"cmp\">\n This component is under development / some features might be missing, it'll be available in a future release once\n validated.\n </div>\n </eui-alert>\n\n <div *ngIf=\"(stateLabel || isNotReady || isDeprecated) && stateLabel !== 'ACTIVE'\" class=\"mb-5\"></div>\n\n <eui-tabs #tabsContent *ngIf=\"pageSectionsContent.length === 0\" (tabActivate)=\"onTabActivate($event)\">\n <eui-tab>\n <eui-tab-header>\n <eui-label> OPTIONS & SAMPLES </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <ng-container *ngIf=\"cmp && cmp.metadata\">\n @if (cmpImportModule) {\n <div class=\"doc-page-section-title\">Module import</div>\n <pre><code tabindex=\"0\" overflow=\"auto\" class=\"language-javascript eui-u-bg-color-grey-5\" euiCode>{{ cmpImportModule }}</code></pre>\n }\n @if (cmpImportStandalone) {\n <div class=\"doc-page-section-title\">Component import</div>\n <pre><code tabindex=\"0\" overflow=\"auto\" class=\"language-javascript eui-u-bg-color-grey-5\" euiCode>{{ cmpImportStandalone }}</code></pre>\n <pre><code tabindex=\"0\" overflow=\"auto\" class=\"language-javascript eui-u-bg-color-grey-5\" euiCode>{{ cmpImportStandaloneCmp }}</code></pre>\n }\n <br />\n </ng-container>\n\n <div id=\"overview\" class=\"doc-page-section-title\">Overview</div>\n\n <div *ngIf=\"pageOverviewContent.length > 0\">\n <ng-content select=\"docPageOverview\"></ng-content>\n </div>\n\n <div *ngIf=\"pageOverviewDefaultContent.length > 0\">\n <ng-content select=\"docPageOverviewDefault\"></ng-content>\n </div>\n <br />\n\n <div id=\"samples\" class=\"doc-page-section-title\">Options & samples</div>\n <ng-content select=\"docPageSamples\"></ng-content>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"hasApi\">\n <eui-tab-header>\n <eui-label> API </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <ng-container *ngIf=\"apiUrlSafe\">\n <div class=\"flex-container\">\n <a href=\"{{ apiUrl }}\" target=\"_blank\" class=\"ms-auto pb-2 eui-u-text-link-external\">Open API page</a>\n </div>\n <div class=\"doc-page-api-iframe-wrapper\">\n <iframe id=\"iframe_api\" [width]=\"'100%'\" height=\"700px\" frameBorder=\"0\" [src]=\"apiUrlSafe\" title=\"API documentation\"></iframe>\n </div>\n </ng-container>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"hasA11y\">\n <eui-tab-header>\n <eui-label> A11Y </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <div id=\"accessibility\" class=\"doc-page-section-title\">Accessibility</div>\n <ng-container *ngIf=\"pageAccessibilityContent.length !== 0\">\n <ng-content select=\"docPageAccessibility\"></ng-content>\n <p>\n For more information regarding Accessibility, please refer to the <a class=\"eui-u-text-link-external\" href=\"https://eui.ecdevops.eu/eui-showcase-ux-components-18.x/showcase-dev-guide/accessibility/intro\" target=\"_blank\">Accessibility Dev Guide</a>.\n </p>\n </ng-container>\n <ng-container *ngIf=\"pageAccessibilityContent.length === 0\">\n No accessibility rules applicable\n </ng-container>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"pageThemingContent.length > 0\">\n <eui-tab-header>\n <eui-label> THEMING </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <div id=\"theming\" class=\"doc-page-section-title\">Theming</div>\n <ng-content select=\"docPageTheming\"></ng-content>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"pageInteractiveContent.length > 0\">\n <eui-tab-header>\n <eui-label>\n {{ pageInteractiveContent.first.title }}\n </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <div id=\"interactive\" class=\"doc-page-section-title\">\n {{ pageInteractiveContent.first.subTitle }}\n </div>\n <ng-content select=\"docPageInteractive\"></ng-content>\n </eui-tab-body>\n </eui-tab>\n </eui-tabs>\n\n <ng-container *ngIf=\"pageSectionsContent.length > 0\">\n <div id=\"demo\" *ngIf=\"sections.length === 0\" class=\"doc-page-section-title\">Demo</div>\n <ng-content select=\"docPageSections\"></ng-content>\n </ng-container>\n\n </eui-page-column-body>\n </eui-page-column>\n\n <eui-page-column *ngIf=\"isNavigationVisible\"\n class=\"eui-u-hidden-mobile eui-u-display-print-hidden\"\n label=\"On this page\"\n euiSizeVariant=\"4xl\"\n isCollapsible\n isRightCollapsible>\n <eui-page-column-body>\n\n <div class=\"doc-page-navigation-content\" tabindex=\"0\">\n <ul class=\"doc-page-navigation\">\n <ng-container *ngIf=\"pageSectionsContent.length === 0\">\n <li\n *ngIf=\"hasApi\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'api'\"\n (click)=\"onNavClick('api', 1)\">\n <span>API</span>\n </li>\n <li\n *ngIf=\"hasA11y\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'a11y'\"\n (click)=\"onNavClick('a11y', 2)\">\n <span>A11Y</span>\n </li>\n\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'samples'\"\n (click)=\"onNavClick('samples', 0)\">\n <span>OPTIONS & SAMPLES</span>\n </li>\n <li class=\"doc-page-navigation-item doc-page-navigation-sub\">\n <ng-container *ngIf=\"categories.length > 0\">\n <ng-container *ngIf=\"hasCategories; else noCategories\">\n <ng-container *ngFor=\"let category of categories\">\n <ng-container *ngIf=\"category.name === 'Base'; else notBase\">\n <ul *ngFor=\"let sample of category.samples\" class=\"doc-page-navigation-list\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\"\n (click)=\"onNavClick(sample.id, 0)\">\n <span>{{ sample.label }}</span>\n </li>\n </ul>\n </ng-container>\n <ng-template #notBase>\n <div *ngIf=\"category.name !== 'Base'\" class=\"doc-page-navigation-category\">{{category.name}}</div>\n <ul *ngFor=\"let sample of category.samples\" class=\"doc-page-navigation-list\">\n <li\n class=\"doc-page-navigation-item doc-page-navigation-item-sub\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\"\n (click)=\"onNavClick(sample.id, 0)\">\n <span>{{ sample.label }}</span>\n </li>\n </ul>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <ng-template #noCategories>\n <ul *ngFor=\"let sample of samples\" class=\"doc-page-navigation-list\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\"\n (click)=\"onNavClick(sample.id, 0)\">\n <span>{{ sample.label }}</span>\n </li>\n </ul>\n </ng-template>\n </ng-container>\n </li>\n\n\n\n <!-- OPTIONAL TABS-->\n <ng-container *ngIf=\"pageThemingContent.length > 0\">\n <li\n *ngIf=\"pageThemingContent.length > 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'theming'\"\n (click)=\"onNavClick('theming', 3)\">\n <span>THEMING</span>\n </li>\n <li\n *ngIf=\"pageInteractiveContent.length > 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'advanced'\"\n (click)=\"onNavClick('advanced', 4)\">\n <span>{{ pageInteractiveContent.first.title }}</span>\n </li>\n </ng-container>\n <ng-container *ngIf=\"pageThemingContent.length === 0\">\n <li\n *ngIf=\"pageInteractiveContent.length > 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'advanced'\"\n (click)=\"onNavClick('advanced', 3)\">\n <span>{{ pageInteractiveContent.first.title }}</span>\n </li>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"pageSectionsContent.length > 0\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'sections'\"\n (click)=\"onNavClick('sections', null)\">\n <span>Sections</span>\n </li>\n <li\n *ngIf=\"sections.length === 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'demo'\"\n (click)=\"onNavClick('demo', null)\">\n <span>Demo</span>\n </li>\n <li *ngIf=\"sections.length > 0\" class=\"doc-page-navigation-item doc-page-navigation-sub\">\n <ul *ngFor=\"let section of sections\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === section.id\"\n (click)=\"onNavClick(section.id, null)\">\n <span>{{ section.label }}</span>\n </li>\n </ul>\n </li>\n </ng-container>\n </ul>\n </div>\n\n\n\n\n </eui-page-column-body>\n </eui-page-column>\n\n </eui-page-columns>\n </eui-page-content>\n</eui-page>\n","import {\n Component,\n Input,\n Directive,\n AfterViewInit,\n ContentChildren,\n forwardRef,\n OnInit,\n QueryList,\n ViewEncapsulation,\n ViewChild,\n HostBinding,\n inject,\n} from '@angular/core';\nimport { CommonModule, Location } from '@angular/common';\nimport { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { DocSampleComponent } from '../doc-sample/doc-sample.component';\nimport { DocSectionComponent } from '../doc-section/doc-section.component';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiMenuItem } from '@eui/base';\nimport { EUI_TABS, EuiTabComponent, EuiTabsComponent } from '@eui/components/eui-tabs';\nimport { EUI_ALERT } from '@eui/components/eui-alert';\nimport { EUI_PAGE } from '@eui/components/eui-page-v2';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_CHIP } from '@eui/components/eui-chip';\nimport { DocPageCodeComponent } from './doc-page-code.component';\nimport { EUI_BLOCK_CONTENT } from '@eui/components/eui-block-content';\nimport { EuiCodeHighlighterDirective } from '../eui-code-highlighter';\n\ntype ComponentStatus = EuiMenuItem & {\n name: string;\n cmpReplacement: string;\n cmpReplacementUrl: string;\n cmpReplacementNote: string;\n alternateApiCategory: string;\n alternateId: string;\n};\n\n@Component({\n selector: 'eui-showcase-doc-page-v2',\n templateUrl: 'doc-page-v2.component.html',\n styleUrls: ['./shared-v2.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n DocPageCodeComponent,\n ...EUI_ALERT,\n ...EUI_TABS,\n ...EUI_PAGE,\n ...EUI_LABEL,\n ...EUI_CHIP,\n ...EUI_BLOCK_CONTENT,\n EuiCodeHighlighterDirective,\n ],\n})\nexport class DocPageComponentV2 implements OnInit, AfterViewInit {\n @HostBinding('class') cssClass = 'eui-doc-page';\n\n @Input() id;\n @Input() label;\n @Input() subLabel: string;\n @Input() isNotReady = false;\n @Input() isDeprecated = false;\n @Input() isLegacy = false;\n @Input() codeFolder: string;\n @Input() showcase = 'ux';\n @Input() isNavigationVisible = true;\n @Input() hasApi = true;\n @Input() hasA11y = true;\n @Input() customApiUrl: string = null;\n\n stateTypeClass;\n stateLabel;\n cmp;\n fragmentId;\n cmpImportModule;\n cmpImportStandalone;\n cmpImportStandaloneCmp;\n cmpStandalone;\n appMetadata;\n\n apiUrlSafe: SafeResourceUrl;\n apiUrl: string;\n iFrameContent;\n\n isLoading = true;\n isNavClicked = true;\n\n hasCategories = false;\n categories = [];\n\n @ContentChildren(DocSampleComponent, { descendants: true })\n samples: QueryList<DocSampleComponent>;\n @ContentChildren(DocSectionComponent, { descendants: true })\n sections: QueryList<DocSectionComponent>;\n\n @ContentChildren(forwardRef(() => DocPageOverviewContentDirectiveV2))\n pageOverviewContent: QueryList<DocPageOverviewContentDirectiveV2>;\n\n @ContentChildren(forwardRef(() => DocPageOverviewDefaultContentDirectiveV2))\n pageOverviewDefaultContent: QueryList<DocPageOverviewDefaultContentDirectiveV2>;\n\n @ContentChildren(forwardRef(() => DocPageSamplesContentDirectiveV2))\n pageSamplesContent: QueryList<DocPageSamplesContentDirectiveV2>;\n\n @ContentChildren(forwardRef(() => DocPageSectionsContentDirectiveV2))\n pageSectionsContent: QueryList<DocPageSectionsContentDirectiveV2>;\n\n @ContentChildren(forwardRef(() => DocPageInteractiveContentDirectiveV2))\n pageInteractiveContent: QueryList<DocPageInteractiveContentDirectiveV2>;\n\n @ContentChildren(forwardRef(() => DocPageAccessibilityContentDirectiveV2))\n pageAccessibilityContent: QueryList<DocPageAccessibilityContentDirectiveV2>;\n\n @ContentChildren(forwardRef(() => DocPageApiContentDirectiveV2))\n pageApiContent: QueryList<DocPageApiContentDirectiveV2>;\n\n @ContentChildren(forwardRef(() => DocPageThemingContentDirectiveV2))\n pageThemingContent: QueryList<DocPageThemingContentDirectiveV2>;\n\n @ViewChild('tabsContent') tabsContent: EuiTabsComponent;\n\n sanitizer = inject(DomSanitizer);\n private TABS_DEF = [\n { index: 0, id: 'samples' },\n { index: 1, id: 'api' },\n { index: 2, id: 'a11y' },\n { index: 3, id: 'theming' },\n { index: 4, id: 'advanced' },\n ];\n\n private CATEGORIES_DEF = [\n { index: 0, id: 'Base' },\n { index: 10, id: 'Variants' },\n { index: 20, id: 'Options' },\n { index: 30, id: 'Main Features' },\n { index: 40, id: 'free-category' },\n { index: 50, id: 'Reactive Forms' },\n { index: 60, id: 'Event Handlers' },\n { index: 70, id: 'Composition' },\n { index: 80, id: 'Misc' },\n ];\n\n private location = inject(Location);\n private router = inject(Router);\n private route = inject(ActivatedRoute);\n private asService = inject(EuiAppShellService);\n\n ngOnInit(): void {\n setTimeout((): void => {\n this.asService.isBlockDocumentActive = true;\n });\n\n this.appMetadata = this.asService.state.appMetadata;\n\n if (this.id && !this.label) {\n this.label = this.id;\n }\n\n this.fragmentId = this.route.snapshot.fragment;\n }\n\n ngAfterViewInit(): void {\n // getting API url\n try {\n this.apiUrl = this._getApiUrl();\n\n setTimeout(() => {\n this.apiUrlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.apiUrl);\n });\n } catch (e) {\n console.log(e);\n }\n\n setTimeout(() => {\n const tab = this.TABS_DEF.filter((t) => t.id === this.fragmentId)[0];\n const sampleTabIndex = 0;\n\n let tabIndex;\n\n if (!tab) {\n tabIndex = sampleTabIndex;\n } else {\n tabIndex = tab.index;\n }\n\n // constructing categories, if at least one set, if not backward compat with old display\n const categoriesJson = {};\n\n this.samples.forEach((s) => {\n // \"Default\" or \"_default\" sample are always put first in the nav list\n if (!s.category && s.id !== '_default' && s.id !== 'Default' && s.id !== 'default') {\n if (!categoriesJson['others']) {\n categoriesJson['others'] = [];\n categoriesJson['others'].push(s);\n } else {\n categoriesJson['others'].push(s);\n }\n } else {\n if (s.id === '_default' || s.id === 'Default' || s.id === 'default') {\n if (!categoriesJson['Base']) {\n categoriesJson['Base'] = [];\n categoriesJson['Base'].push(s);\n } else {\n categoriesJson['Base'].push(s);\n }\n } else {\n this.hasCategories = true;\n if (!categoriesJson[s.category]) {\n categoriesJson[s.category] = [];\n categoriesJson[s.category].push(s);\n } else {\n categoriesJson[s.category].push(s);\n }\n }\n }\n });\n\n // making the list of categories iterable for display\n // console.log(categoriesJson)\n Object.keys(categoriesJson).forEach((c) => {\n const normalizedKey = c.toLowerCase();\n\n const existingCategory = this.categories.find(cat => cat.name.toLowerCase() === normalizedKey);\n\n if (existingCategory) {\n existingCategory.samples = [...existingCategory.samples, ...categoriesJson[c]].sort((a, b) => {\n return a.label.localeCompare(b.label);\n });\n } else {\n this.categories.push({\n name: c,\n samples: categoriesJson[c].sort((a, b) => {\n return a.label.localeCompare(b.label);\n }),\n });\n }\n });\n\n // push the \"others\" at the end of the nav list\n this.categories.push(this.categories.splice(this.categories.findIndex(v => v.name == 'others'), 1)[0])\n\n this.categories.sort((a, b) => {\n return this.getCategoryIndex(a.name) - this.getCategoryIndex(b.name);\n });\n\n setTimeout(() => {\n this._scrollToFragment(this.fragmentId, tabIndex, true, true);\n\n this.asService.isBlockDocumentActive = false;\n this.isLoading = false;\n }, 1);\n });\n }\n\n getCategoryIndex(name: string): number {\n const category = this.CATEGORIES_DEF.find(cat => cat.id.toLowerCase() === name.toLowerCase());\n return category ? category.index : this.CATEGORIES_DEF.find(cat => cat.id === 'free-category').index;\n }\n\n onNavClick(fragmentId: string, tabIndex: number): void {\n this.fragmentId = fragmentId;\n this.isNavClicked = true;\n this._scrollToFragment(this.fragmentId, tabIndex, false, true);\n }\n\n onTabActivate(event: { tab: EuiTabComponent; index: number }): void {\n if (!this.isLoading && !this.isNavClicked) {\n const tabId = this.TABS_DEF.filter((t) => t.index === event.index)[0].id;\n this._scrollToFragment(tabId, event.index, false, false);\n }\n this.isNavClicked = false;\n }\n\n private _scrollToFragment(fragmentId: string, tabIndex: number, init: boolean, changeTab: boolean): void {\n if (init) {\n if (this.tabsContent) {\n this.tabsContent.activateTab(tabIndex);\n }\n } else {\n if (changeTab) {\n this.router.onSameUrlNavigation = 'reload';\n this.router.navigate(['.'], { relativeTo: this.route, fragment: fragmentId }).then(() => {\n if (this.tabsContent) {\n this.tabsContent.activateTab(tabIndex);\n }\n });\n } else {\n const routeRoot = this.router.url.split('#')[0];\n this.location.go(`${routeRoot}#${fragmentId}`);\n }\n }\n\n if (fragmentId) {\n setTimeout(() => {\n const fgm = document.getElementById(fragmentId);\n if (fgm) {\n fgm.scrollIntoView();\n }\n });\n }\n }\n\n private _getComponentStatus(id): ComponentStatus {\n\n const flatten = (links: EuiMenuItem[]): ComponentStatus[] =>\n links\n ? links.reduce(\n (result, item: ComponentStatus) => [\n ...result,\n {\n id: item.label,\n alternateId: item.name,\n status: item.markerTypeClass,\n cmpReplacement: item.cmpReplacement,\n cmpReplacementUrl: item.cmpReplacementUrl,\n cmpReplacementNote: item.cmpReplacementNote,\n alternateApiCategory: item.alternateApiCategory,\n metadata: item.metadata,\n },\n ...flatten(item.children),\n ],\n [],\n )\n : [];\n\n const flatLinks = flatten(this.asService.state.sidebarLinks);\n const idBasedCmp = flatLinks.filter((item) => item.id === id)[0];\n // console.log('from get component status');\n // console.log(id);\n // console.log(flatLinks);\n // console.log(idBasedCmp);\n if (idBasedCmp) {\n return idBasedCmp;\n } else {\n const alternateIdBasedCmp = flatLinks.filter((item) => item.alternateId === id)[0];\n return alternateIdBasedCmp;\n }\n }\n\n private _getApiUrl(): string {\n // console.log('getApiUrl');\n\n const url = window.location;\n const protocol = url.protocol;\n const host = url.host;\n const pathName = url.pathname;\n const pathNameArray = pathName.split('/');\n let name = pathNameArray[pathNameArray.length - 1];\n let category = pathNameArray[pathNameArray.length - 2];\n\n let showcaseType;\n showcaseType = pathNameArray[pathNameArray.length - 3];\n if (showcaseType?.indexOf('eui-showcase') === -1) {\n showcaseType = pathNameArray[pathNameArray.length - 4];\n }\n\n let protocolGen = protocol;\n let hostGen = host;\n\n if (host.indexOf('localhost') > -1) {\n protocolGen = 'https:';\n hostGen = 'euidev.ecdevops.eu';\n }\n\n const appVersionNumber = this.appMetadata.appVersion.split('.')[0];\n\n let docTypeRoot = `eui-docs-eui-${appVersionNumber}.x`;\n if (showcaseType && showcaseType.indexOf('-ecl') > -1) {\n docTypeRoot = `eui-docs-ecl-${appVersionNumber}.x`;\n }\n if (showcaseType && showcaseType.indexOf('-mobile') > -1) {\n docTypeRoot = `eui-docs-mobile-core-${appVersionNumber}.x`;\n }\n\n if (category === 'layout-components' || category === 'externals' || category === 'layout' || category === 'atoms') {\n category = 'components';\n }\n\n setTimeout(() => {\n if (name.indexOf('-service') > -1 || name.indexOf('-template') > -1) {\n name = name.replace('-service', '').replace('-template', '');\n }\n\n try {\n this.cmp = this._getComponentStatus(name);\n\n if (this.cmp && this.cmp.alternateApiCategory) {\n category = this.cmp.alternateApiCategory;\n }\n\n // console.log(this.cmp);\n\n if (this.cmp) {\n switch (this.cmp.status) {\n case 'success':\n this.stateLabel = 'ACTIVE';\n this.stateTypeClass = 'success';\n break;\n\n case 'warning':\n this.stateLabel = 'will be removed in eUI 21';\n this.stateTypeClass = 'warning';\n this.isDeprecated = true;\n break;\n\n case 'danger':\n this.stateLabel = 'will be removed in eUI 21';\n this.stateTypeClass = 'danger';\n this.isLegacy = true;\n break;\n\n case 'info':\n this.stateLabel = 'NOT READY';\n this.stateTypeClass = 'accent';\n this.isNotReady = true;\n break;\n }\n\n // construct cmp module import string\n if (this.cmp.metadata?.moduleName) {\n this.cmpImportModule = `import { ${this.cmp.metadata?.moduleName} } from '@eui/${this.cmp.metadata?.subEntryName}';`;\n }\n if (this.cmp.metadata?.exportName) {\n this.cmpImportStandalone = `import { ${this.cmp.metadata?.exportName} } from '@eui/${this.cmp.metadata?.subEntryName}';`;\n this.cmpImportStandaloneCmp = `@Component({\\n...\\n imports: [...${this.cmp.metadata?.exportName}],\\n...\\n})`;\n }\n }\n } catch(e) {\n console.log(e);\n }\n })\n\n const formattedName = this._camelCaseString(name + '-' + category.slice(0, -1), '-', true);\n return this.customApiUrl ? `${protocolGen}//${hostGen}/${docTypeRoot}/${category}/${this.customApiUrl}.html` : `${protocolGen}//${hostGen}/${docTypeRoot}/${category}/${formattedName}.html`;\n }\n\n private _camelCaseString(string, separator, first): string {\n const stringArray = string.split(separator);\n let result = '';\n let s;\n\n for (let i = 0; i < stringArray.length; i++) {\n s = stringArray[i];\n if (i === 0) {\n if (first) {\n result += s.substring(0, 1).toUpperCase() + s.substr(1);\n } else {\n result += s;\n }\n } else {\n result += s.substring(0, 1).toUpperCase() + s.substr(1);\n }\n }\n\n return result;\n }\n}\n\n/* eslint-disable @angular-eslint/directive-selector */\n@Directive({ selector: 'docPageOverviewV2' })\nexport class DocPageOverviewContentDirectiveV2 {}\n@Directive({ selector: 'docPageOverviewDefaultV2' })\nexport class DocPageOverviewDefaultContentDirectiveV2 {}\n@Directive({ selector: 'docPageInteractiveV2' })\nexport class DocPageInteractiveContentDirectiveV2 {\n @Input() title = 'ADVANCED EXAMPLES';\n @Input() subTitle = 'Advanced use cases';\n}\n@Directive({ selector: 'docPageSamplesV2' })\nexport class DocPageSamplesContentDirectiveV2 {}\n@Directive({ selector: 'docPageSectionsV2' })\nexport class DocPageSectionsContentDirectiveV2 {}\n@Directive({ selector: 'docPageAccessibilityV2' })\nexport class DocPageAccessibilityContentDirectiveV2 {}\n@Directive({ selector: 'docPageApiV2' })\nexport class DocPageApiContentDirectiveV2 {}\n\n@Directive({ selector: 'docPageThemingV2' })\nexport class DocPageThemingContentDirectiveV2 {}\n/* eslint-enable @angular-eslint/directive-selector */\n","<eui-page>\n <eui-page-content>\n <eui-page-columns>\n <eui-page-column>\n <eui-page-column-body>\n <eui-page-header class=\"eui-doc-page-title\">\n <eui-page-header-label>{{label}}</eui-page-header-label> \n <eui-page-header-sub-label>{{subLabel}}</eui-page-header-sub-label>\n <eui-page-header-action-items>\n <eui-showcase-doc-page-code\n *ngIf=\"codeFolder\"\n codeFolder=\"{{ codeFolder }}\"\n showcase=\"{{ showcase }}\"></eui-showcase-doc-page-code>\n <eui-chip euiSizeS isFilled\n *ngIf=\"stateLabel\"\n [euiSuccess]=\"stateLabel === 'ACTIVE'\"\n [euiInfo]=\"isNotReady\"\n [euiWarning]=\"isDeprecated\"\n [euiDanger]=\"isLegacy\">\n {{ stateLabel }}\n </eui-chip>\n </eui-page-header-action-items>\n </eui-page-header>\n\n <eui-alert *ngIf=\"stateLabel === 'LEGACY' || isLegacy\" euiDanger class=\"eui-u-mb-xl\">\n <eui-alert-title>LEGACY component</eui-alert-title>\n <strong class=\"eui-u-color-danger\">This component will be removed in eUI 21 release (end of 2025)</strong>\n <div *ngIf=\"cmp\">\n <div *ngIf=\"cmp.cmpReplacement !== 'NONE'\">\n It has been replaced by :\n <strong class=\"eui-u-color-success-darkest\">{{ cmp.cmpReplacement }}</strong>\n </div>\n <div *ngIf=\"cmp.cmpReplacement === 'NONE'\">\n <strong class=\"eui-u-color-danger\"> This component won't be replaced</strong>\n </div>\n <div *ngIf=\"cmp.cmpReplacementNote\">\n <strong class=\"eui-u-color-warning\">{{ cmp.cmpReplacementNote }}</strong>\n </div>\n </div>\n </eui-alert>\n\n <eui-alert *ngIf=\"stateLabel === 'DEPRECATED' || isDeprecated\" euiWarning class=\"eui-u-mb-xl\">\n <eui-alert-title>DEPRECATED component</eui-alert-title>\n This component has been <strong class=\"eui-u-color-danger\">deprecated</strong>\n <div *ngIf=\"cmp\">\n This component has no replacement in current version AND won't have replacement in next version of eUI,\n <strong class=\"eui-u-color-danger\">it will be removed in eUI 21 release (end of 2025)</strong>\n </div>\n </eui-alert>\n\n <eui-alert *ngIf=\"stateLabel === 'NOT_READY' || isNotReady\" euiInfo class=\"eui-u-mb-xl\">\n <eui-alert-title>NOT READY for production usage</eui-alert-title>\n <div *ngIf=\"cmp\">\n This component is under development / some features might be missing, it'll be available in a future release once\n validated.\n </div>\n </eui-alert>\n\n <div *ngIf=\"(stateLabel || isNotReady || isDeprecated) && stateLabel !== 'ACTIVE'\" class=\"mb-5\"></div>\n\n <eui-tabs #tabsContent *ngIf=\"pageSectionsContent.length === 0\" (tabActivate)=\"onTabActivate($event)\">\n <eui-tab>\n <eui-tab-header>\n <eui-label> OPTIONS & SAMPLES </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <ng-container *ngIf=\"cmp && cmp.metadata\">\n @if (cmpImportModule) {\n <div class=\"doc-page-section-title\">Module import</div>\n <pre><code tabindex=\"0\" overflow=\"auto\" class=\"language-javascript eui-u-bg-color-grey-5\" euiCode>{{ cmpImportModule }}</code></pre>\n }\n @if (cmpImportStandalone) {\n <div class=\"doc-page-section-title\">Component import</div>\n <pre><code tabindex=\"0\" overflow=\"auto\" class=\"language-javascript eui-u-bg-color-grey-5\" euiCode>{{ cmpImportStandalone }}</code></pre>\n <pre><code tabindex=\"0\" overflow=\"auto\" class=\"language-javascript eui-u-bg-color-grey-5\" euiCode>{{ cmpImportStandaloneCmp }}</code></pre>\n }\n <br />\n </ng-container>\n\n <div id=\"overview\" class=\"doc-page-section-title\">Overview</div>\n\n <div *ngIf=\"pageOverviewContent.length > 0\">\n <ng-content select=\"docPageOverview\"></ng-content>\n </div>\n\n <div *ngIf=\"pageOverviewDefaultContent.length > 0\">\n <ng-content select=\"docPageOverviewDefault\"></ng-content>\n </div>\n <br />\n\n <div id=\"samples\" class=\"doc-page-section-title\">Options & samples</div>\n <ng-content select=\"docPageSamples\"></ng-content>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"hasApi\">\n <eui-tab-header>\n <eui-label> API </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <ng-container *ngIf=\"apiUrlSafe\">\n <div class=\"flex-container\">\n <a href=\"{{ apiUrl }}\" target=\"_blank\" class=\"ms-auto pb-2 eui-u-text-link-external\">Open API page</a>\n </div>\n <div class=\"doc-page-api-iframe-wrapper\">\n <iframe id=\"iframe_api\" [width]=\"'100%'\" height=\"700px\" frameBorder=\"0\" [src]=\"apiUrlSafe\" title=\"API documentation\"></iframe>\n </div>\n </ng-container>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"hasA11y\">\n <eui-tab-header>\n <eui-label> A11Y </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <div id=\"accessibility\" class=\"doc-page-section-title\">Accessibility</div>\n <ng-container *ngIf=\"pageAccessibilityContent.length !== 0\">\n <ng-content select=\"docPageAccessibility\"></ng-content>\n <p>\n For more information regarding Accessibility, please refer to the <a class=\"eui-u-text-link-external\" href=\"https://eui.ecdevops.eu/eui-showcase-ux-components-18.x/showcase-dev-guide/accessibility/intro\" target=\"_blank\">Accessibility Dev Guide</a>.\n </p>\n </ng-container>\n <ng-container *ngIf=\"pageAccessibilityContent.length === 0\">\n No accessibility rules applicable\n </ng-container>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"pageThemingContent.length > 0\">\n <eui-tab-header>\n <eui-label> THEMING </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <div id=\"theming\" class=\"doc-page-section-title\">Theming</div>\n <ng-content select=\"docPageTheming\"></ng-content>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tab *ngIf=\"pageInteractiveContent.length > 0\">\n <eui-tab-header>\n <eui-label>\n {{ pageInteractiveContent.first.title }}\n </eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <div id=\"interactive\" class=\"doc-page-section-title\">\n {{ pageInteractiveContent.first.subTitle }}\n </div>\n <ng-content select=\"docPageInteractive\"></ng-content>\n </eui-tab-body>\n </eui-tab>\n </eui-tabs>\n\n <ng-container *ngIf=\"pageSectionsContent.length > 0\">\n <div id=\"demo\" *ngIf=\"sections.length === 0\" class=\"doc-page-section-title\">Demo</div>\n <ng-content select=\"docPageSections\"></ng-content>\n </ng-container>\n\n </eui-page-column-body>\n </eui-page-column>\n\n <eui-page-column *ngIf=\"isNavigationVisible\"\n class=\"eui-u-hidden-mobile eui-u-display-print-hidden\"\n label=\"On this page\"\n euiSizeVariant=\"4xl\"\n isCollapsible\n isRightCollapsible>\n <eui-page-column-header>\n <eui-page-column-header-label>\n On this page\n </eui-page-column-header-label>\n </eui-page-column-header>\n <eui-page-column-body>\n\n <div class=\"doc-page-navigation-content\" tabindex=\"0\">\n <ul class=\"doc-page-navigation\">\n <ng-container *ngIf=\"pageSectionsContent.length === 0\">\n <li\n *ngIf=\"hasApi\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'api'\"\n (click)=\"onNavClick('api', 1)\">\n <span>API</span>\n </li>\n <li\n *ngIf=\"hasA11y\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'a11y'\"\n (click)=\"onNavClick('a11y', 2)\">\n <span>A11Y</span>\n </li>\n\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'samples'\"\n (click)=\"onNavClick('samples', 0)\">\n <span>OPTIONS & SAMPLES</span>\n </li>\n <li class=\"doc-page-navigation-item doc-page-navigation-sub\">\n <ng-container *ngIf=\"categories.length > 0\">\n <ng-container *ngIf=\"hasCategories; else noCategories\">\n <ng-container *ngFor=\"let category of categories\">\n <ng-container *ngIf=\"category.name === 'Base'; else notBase\">\n <ul *ngFor=\"let sample of category.samples\" class=\"doc-page-navigation-list\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\"\n (click)=\"onNavClick(sample.id, 0)\">\n <span>{{ sample.label }}</span>\n </li>\n </ul>\n </ng-container>\n <ng-template #notBase>\n <div *ngIf=\"category.name !== 'Base'\" class=\"doc-page-navigation-category\">{{category.name}}</div>\n <ul *ngFor=\"let sample of category.samples\" class=\"doc-page-navigation-list\">\n <li\n class=\"doc-page-navigation-item doc-page-navigation-item-sub\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\"\n (click)=\"onNavClick(sample.id, 0)\">\n <span>{{ sample.label }}</span>\n </li>\n </ul>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <ng-template #noCategories>\n <ul *ngFor=\"let sample of samples\" class=\"doc-page-navigation-list\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\"\n (click)=\"onNavClick(sample.id, 0)\">\n <span>{{ sample.label }}</span>\n </li>\n </ul>\n </ng-template>\n </ng-container>\n </li>\n\n\n\n <!-- OPTIONAL TABS-->\n <ng-container *ngIf=\"pageThemingContent.length > 0\">\n <li\n *ngIf=\"pageThemingContent.length > 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'theming'\"\n (click)=\"onNavClick('theming', 3)\">\n <span>THEMING</span>\n </li>\n <li\n *ngIf=\"pageInteractiveContent.length > 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'advanced'\"\n (click)=\"onNavClick('advanced', 4)\">\n <span>{{ pageInteractiveContent.first.title }}</span>\n </li>\n </ng-container>\n <ng-container *ngIf=\"pageThemingContent.length === 0\">\n <li\n *ngIf=\"pageInteractiveContent.length > 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'advanced'\"\n (click)=\"onNavClick('advanced', 3)\">\n <span>{{ pageInteractiveContent.first.title }}</span>\n </li>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"pageSectionsContent.length > 0\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'sections'\"\n (click)=\"onNavClick('sections', null)\">\n <span>Sections</span>\n </li>\n <li\n *ngIf=\"sections.length === 0\"\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === 'demo'\"\n (click)=\"onNavClick('demo', null)\">\n <span>Demo</span>\n </li>\n <li *ngIf=\"sections.length > 0\" class=\"doc-page-navigation-item doc-page-navigation-sub\">\n <ul *ngFor=\"let section of sections\">\n <li\n class=\"doc-page-navigation-item\"\n [class.doc-page-navigation-item--selected]=\"fragmentId === section.id\"\n (click)=\"onNavClick(section.id, null)\">\n <span>{{ section.label }}</span>\n </li>\n </ul>\n </li>\n </ng-container>\n </ul>\n </div>\n\n\n\n\n </eui-page-column-body>\n </eui-page-column>\n\n </eui-page-columns>\n </eui-page-content>\n</eui-page>\n","import { Component, Input, ViewChild, inject } from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_DIALOG, EuiDialogComponent } from '@eui/components/eui-dialog';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EuiTooltipDirective } from '@eui/components/directives';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'eui-showcase-doc-page-code-fab',\n templateUrl: 'doc-page-code-fab.component.html',\n imports: [\n CommonModule,\n EuiTooltipDirective,\n ...EUI_ICON,\n ...EUI_DIALOG,\n ...EUI_BUTTON,\n ],\n})\nexport class DocPageCodeFabComponent {\n @Input() codeFolder = '';\n @Input() showcase = 'design-patterns';\n @Input() hasContentDialog = true;\n\n @ViewChild('dialog') dialog: EuiDialogComponent;\n\n asService = inject(EuiAppShellService);\n\n public toggleCode(): void {\n this.dialog.openDialog();\n }\n\n public onClose(): void {\n this.dialog.closeDialog();\n }\n\n public onOpenCode(): void {\n // eslint-disable-next-line max-len\n const showcaseRoot = 'https://sdlc.webcloud.ec.europa.eu/csdr/eui/app-eui-showcase-ux-components/-/blob/master/src/app/features';\n const sourceRootPath = `${showcaseRoot}/showcase-${this.showcase}/`;\n window.open(sourceRootPath + this.codeFolder, '_blank');\n }\n}\n","@if (hasContentDialog) {\n<div class=\"eui-button-fixed eui-u-mb-6xl\">\n <div class=\"eui-button-floating eui-button--size-2xl eui-button--icon-only eui-u-c-bg-cta-surface\">\n <eui-icon-svg icon=\"eui-code\" size=\"l\" (click)=\"toggleCode()\"></eui-icon-svg>\n </div>\n</div>\n\n<eui-dialog #dialog title=\"Page source code\" [hasFooter]=\"false\" (close)=\"onClose()\" [width]=\"'50vw'\">\n <button type=\"button\" *ngIf=\"codeFolder\" euiButton euiAccent euiSizeS (click)=\"onOpenCode()\">\n <eui-icon-svg icon=\"eui-code\" set=\"eui\" size=\"m\" fillColor=\"grey-100\" class=\"eui-u-mr-xs\"></eui-icon-svg> VIEW SOURCES\n </button>\n <ng-content></ng-content>\n <p class=\"eui-u-text-paragraph\">Use the <kbd class=\"eui-u-text-kbd\">View sources</kbd> button to access the code source of the page.</p>\n</eui-dialog>\n\n} @else {\n\n<div class=\"eui-button-fixed eui-u-mb-6xl\">\n <button class=\"eui-button-floating eui-button--size-2xl eui-button--icon-only eui-u-c-bg-cta-surface\" (click)=\"onOpenCode()\">\n <eui-icon-svg icon=\"eui-code\" size=\"l\"></eui-icon-svg>\n </button>\n</div>\n\n}\n\n","import { Component, Input, ViewChild, inject } from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_DIALOG, EuiDialogComponent } from '@eui/components/eui-dialog';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'eui-showcase-doc-page-code-modal',\n templateUrl: 'doc-page-code-modal.component.html',\n imports: [\n CommonModule,\n ...EUI_DIALOG,\n ...EUI_ICON,\n ],\n})\nexport class DocPageCodeModalComponent {\n @Input() width = '95vw';\n\n @ViewChild('dialog') dialog: EuiDialogComponent;\n\n asService = inject(EuiAppShellService);\n\n public toggleCode(): void {\n this.dialog.openDialog();\n }\n\n public onClose(): void {\n this.dialog.closeDialog();\n }\n}\n","<button type=\"button\" euiButton euiCTAButton (click)=\"toggleCode()\">\n <span euiLabel>Check the code</span>\n <eui-icon-svg icon=\"eui-code\" />\n</button>\n\n<eui-dialog #dialog title=\"Page source code\" [hasFooter]=\"false\" (close)=\"onClose()\" [width]=\"width\">\n <ng-content></ng-content>\n</eui-dialog>\n","/* eslint-disable max-len */\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n Directive,\n ContentChild,\n forwardRef,\n QueryList,\n HostListener,\n inject,\n} from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\nimport { EUI_CARD } from '@eui/components/eui-card';\nimport { EUI_CHIP } from '@eui/components/eui-chip';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_TABS, EuiTabComponent } from '@eui/components/eui-tabs';\n\n/* eslint-disable */\n@Directive({ selector: 'docPagePatternSample' })\nexport class DocPagePatternSampleDirective { }\n@Directive({ selector: 'docPagePatternDoc' })\nexport class DocPagePatternDocDirective { }\n\n@Component({\n selector: 'eui-showcase-doc-page-pattern',\n templateUrl: './doc-page-pattern.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./doc-page-pattern.component.scss'],\n imports: [\n CommonModule,\n ...EUI_ICON,\n ...EUI_TABS,\n ...EUI_CARD,\n ...EUI_CHIP,\n ...EUI_BADGE,\n ...EUI_LABEL,\n ],\n})\nexport class DocPagePatternComponent {\n @HostBinding('class')\n get cssClasses(): string {\n return ['doc-page-pattern'].join(' ').trim();\n }\n\n @ContentChild(forwardRef(() => DocPagePatternSampleDirective))\n sampleContent: QueryList<DocPagePatternSampleDirective>;\n @ContentChild(forwardRef(() => DocPagePatternDocDirective))\n docContent: QueryList<DocPagePatternDocDirective>;\n\n @Input() id: string;\n @Input() label: string;\n @Input() anatomyImage: string;\n @Input() docEntries = [];\n @Input() dos = [];\n @Input() donts = [];\n @Input() sourceUrl: string;\n @Input() figmaUrl: string;\n @Input() figmaEmbedSrc: string;\n\n public urlSafe: SafeResourceUrl;\n public isShowGoTop: boolean;\n public topPosToStartShowing = 100;\n public tabSelectedIndex = 0;\n\n @HostListener('window:scroll') checkScroll() {\n const scrollPosition = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n if (scrollPosition >= this.topPosToStartShowing) {\n this.isShowGoTop = true;\n } else {\n this.isShowGoTop = false;\n }\n }\n private sanitizer: DomSanitizer = inject(DomSanitizer);\n\n ngOnInit() {\n if (this.figmaEmbedSrc) {\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.figmaEmbedSrc);\n const iFrame: HTMLIFrameElement = <HTMLIFrameElement>document.getElementById('iframe-figma');\n }\n }\n\n public onNavigateToCode(event: any) {\n // eslint-disable-next-line max-len\n const showcase = 'ux-patterns';\n const sourceRootPath = `https://sdlc.webcloud.ec.europa.eu/csdr/eui/app-eui-showcase-${showcase}/-/blob/master/src/app/features/`;\n window.open(sourceRootPath + this.sourceUrl, '_blank');\n }\n\n public onTabActivate(event: { tab: EuiTabComponent; index: number }) {\n this.tabSelectedIndex = event.index;\n }\n\n public gotoTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n }\n}\n","<eui-tabs (tabActivate)=\"onTabActivate($event)\">\n <eui-tab>\n <eui-label>Usage and documentation</eui-label>\n <eui-tab-body>\n <h2 class=\"eui-u-c-primary eui-u-mb-none eui-u-text-h2\">{{ label }}</h2>\n\n <h3 class=\"eui-u-text-h3\">Information</h3>\n <ng-content select=\"docPagePatternDoc\"></ng-content>\n\n <ng-container *ngIf=\"figmaEmbedSrc; else screenshot\">\n <h3 class=\"eui-u-mt-3xl eui-u-text-h3\">Figma design anatomy</h3>\n <iframe id=\"iframe-figma\" style=\"border: 1px solid rgba(0, 0, 0, 0.1)\" width=\"100%\" height=\"650\" [src]=\"urlSafe\"></iframe>\n </ng-container>\n <ng-template #screenshot>\n <ng-container *ngIf=\"figmaUrl !== 'PENDING_DS'\">\n <h3 class=\"eui-u-mt-3xl eui-u-text-h3\">Anatomy</h3>\n <img\n src=\"assets/images/design-system/{{ anatomyImage }}\"\n alt=\"Design anatomy image\"\n width=\"90%\"\n class=\"eui-u-sh-5 eui-u-mb-m\" />\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"docEntries.length !== 0\">\n <h3 class=\"eui-u-mt-3xl eui-u-text-h3\">Design system references</h3>\n\n <eui-card *ngFor=\"let ref of docEntries\" class=\"eui-u-mb-m\" [euiWarning]=\"ref.mandatory\" [euiInfo]=\"!ref.mandatory\">\n <eui-card-header>\n <eui-card-header-title>\n <div class=\"eui-u-flex\">\n <eui-badge *ngIf=\"ref?.id\" euiSizeXL class=\"eui-u-mr-s\">{{ ref.id }}</eui-badge>\n <span class=\"eui-u-font-l\">{{ ref.name }}</span>\n </div>\n </eui-card-header-title>\n <eui-card-header-right-content>\n <eui-chip [euiWarning]=\"ref.mandatory\" [euiInfo]=\"!ref.mandatory\" class=\"eui-u-ml-m\">\n <span *ngIf=\"ref.mandatory\" euiLabel><strong> Mandatory </strong></span>\n <span *ngIf=\"!ref.mandatory\" euiLabel><strong> Optional </strong></span>\n </eui-chip>\n </eui-card-header-right-content>\n </eui-card-header>\n <eui-card-content>\n <h6 class=\"section-title eui-u-mt-none\"><strong>Description</strong></h6>\n <div class=\"html\" [innerHTML]=\"ref.description\"></div>\n\n <ng-container *ngIf=\"ref.whenToUse\">\n <h6 class=\"section-title eui-u-mt-xl\"><strong>When to use ?</strong></h6>\n <div class=\"html\" [innerHTML]=\"ref.whenToUse\"></div>\n </ng-container>\n <ng-container *ngIf=\"ref.whenNotToUse\">\n <h6 class=\"section-title eui-u-mt-xl\"><strong>When to not use ?</strong></h6>\n <div class=\"html\" [innerHTML]=\"ref.whenNotToUse\"></div>\n </ng-container>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <ng-container *ngIf=\"ref.dos && ref.dos.length !== 0\">\n <h6 class=\"section-title eui-u-mt-xl\">\n <eui-icon-svg\n icon=\"thumbs-up\"\n set=\"sharp\"\n size=\"m\"\n fillColor=\"success-100\"\n class=\"eui-u-mr-m\"></eui-icon-svg>\n <strong>Do's</strong>\n </h6>\n <li *ngFor=\"let do of ref.dos\">{{ do }}</li>\n </ng-container>\n </div>\n <div class=\"col-md-6\">\n <ng-container *ngIf=\"ref.donts && ref.donts.length !== 0\">\n <h6 class=\"section-title eui-u-mt-xl\">\n <eui-icon-svg\n icon=\"hand-right\"\n set=\"sharp\"\n size=\"m\"\n fillColor=\"danger-100\"\n class=\"eui-u-mr-m\"></eui-icon-svg>\n <strong>Dont's</strong>\n </h6>\n <li *ngFor=\"let dont of ref.donts\">{{ dont }}</li>\n </ng-container>\n </div>\n </div>\n </eui-card-content>\n </eui-card>\n </ng-container>\n\n <h3 class=\"eui-u-mt-3xl eui-u-text-h3\">Figma resource</h3>\n <ng-container *ngIf=\"figmaUrl === 'PENDING_DS'; else figmaOK\">\n Pending Design system publication. Will be available in a future release.\n </ng-container>\n <ng-template #figmaOK>\n <eui-card>\n <eui-card-header>\n <eui-card-header-left-content>\n <img\n width=\"32\"\n height=\"32\"\n alt=\"Figma Logo\"\n src=\"data:image/png;base64,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\" />\n </eui-card-header-left-content>\n <eui-card-header-title>\n <a\n class=\"h5 eui-u-text-link-external\"\n href=\"https://www.figma.com/file/jQ9htWvSM8SWTPuk3hoigc/{{ figmaUrl }}\"\n target=\"blank\">\n <span class=\"eui-u-color-grey-75\">Layout component /</span>\n {{ label }}\n </a>\n </eui-card-header-title>\n </eui-card-header>\n </eui-card>\n </ng-template>\n </eui-tab-body>\n </eui-tab>\n <eui-tab>\n <eui-label>Pattern sample</eui-label>\n <eui-tab-body>\n <ng-content select=\"docPagePatternSample\"></ng-content>\n </eui-tab-body>\n </eui-tab>\n\n <eui-tabs-right-content>\n <button type=\"button\" euiButton euiAccent euiSizeS (click)=\"onNavigateToCode($event)\">\n <eui-icon-svg icon=\"eui-code\"></eui-icon-svg>\n View sources\n </button>\n </eui-tabs-right-content>\n</eui-tabs>\n\n<button\n type=\"button\"\n *ngIf=\"isShowGoTop && tabSelectedIndex === 0\"\n euiButton\n euiIconButton\n euiOutline\n euiRounded\n euiSizeL\n class=\"eui-button-fixed eui-u-sh-5\"\n (click)=\"gotoTop()\"\n title=\"Goto Top\"\n aria-label=\"Goto Top\">\n <!-- 👆 -->\n <eui-icon-svg icon=\"eui-arrow-up\" set=\"eui\" size=\"l\" fillColor=\"grey-50\"></eui-icon-svg>\n</button>\n","import { Component, Input, HostBinding } from '@angular/core';\nimport { EUI_CARD } from '@eui/components/eui-card';\nimport { EUI_CHIP } from '@eui/components/eui-chip';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\nimport { CommonModule } from '@angular/common';\n@Component({\n selector: 'eui-showcase-doc-pattern-sample-refs',\n templateUrl: 'doc-page-pattern-sample-refs.component.html',\n styleUrls: ['./doc-page-pattern-sample-refs.component.scss'],\n imports: [\n CommonModule,\n ...EUI_CHIP,\n ...EUI_CARD,\n ...EUI_BADGE,\n ],\n})\nexport class DocPagePatternSampleRefsComponent {\n @HostBinding('class') string = 'eui-showcase-doc-page-pattern-sample-refs';\n\n @Input() docEntries = []; \n @Input() codeFolder: string;\n}\n","<h4 class=\"eui-u-mt-3xl eui-u-text-h4\">Design system references</h4>\n\n<div class=\"row\">\n <div class=\"col-md-6 eui-u-mb-3xl\" *ngFor=\"let ref of docEntries\">\n <eui-card class=\"eui-u-height-100\">\n <eui-card-header>\n <eui-card-header-title>\n <div class=\"eui-u-flex\">\n <eui-badge *ngIf=\"ref?.id\" [euiDanger]=\"ref.mandatory\" [euiPrimary]=\"!ref.mandatory\" class=\"eui-u-mr-s\">{{ ref.id }}</eui-badge>\n <span class=\"eui-u-f-l\">{{ ref.name }}</span>\n <eui-chip [euiDanger]=\"ref.mandatory\" [euiInfo]=\"!ref.mandatory\" class=\"eui-u-ml-m\">\n <span *ngIf=\"ref.mandatory\" euiLabel><strong> Mandatory </strong></span>\n <span *ngIf=\"!ref.mandatory\" euiLabel><strong> Optional </strong></span>\n </eui-chip> \n </div>\n </eui-card-header-title>\n </eui-card-header>\n <eui-card-content class=\"eui-u-display-flex eui-u-flex-column eui-u-flex-gap-s\">\n <div class=\"eui-u-f-bold\">Description</div>\n <div class=\"html\" [innerHTML]=\"ref.description\"></div>\n\n <ng-container *ngIf=\"ref.whenToUse\">\n <div class=\"eui-u-f-bold\">When to use ?</div>\n <div class=\"html\" [innerHTML]=\"ref.whenToUse\"></div>\n </ng-container>\n <ng-container *ngIf=\"ref.whenNotToUse\">\n <div class=\"eui-u-f-bold\">When to not use ?</div>\n <div class=\"html\" [innerHTML]=\"ref.whenNotToUse\"></div>\n </ng-container>\n <div class=\"row eui-u-mt-l\">\n <div class=\"col-md-6\">\n <ng-container *ngIf=\"ref.dos && ref.dos.length !== 0\">\n <div class=\"eui-u-c-bg-success eui-u-p-xs\"></div>\n <div class=\"eui-u-c-s-success eui-u-f-bold eui-u-mt-s eui-u-mb-xs\">Do's</div>\n <li *ngFor=\"let do of ref.dos\">{{ do }}</li>\n </ng-container>\n </div>\n <div class=\"col-md-6\">\n <ng-container *ngIf=\"ref.donts && ref.donts.length !== 0\">\n <div class=\"eui-u-c-bg-danger eui-u-p-xs\"></div>\n <div class=\"eui-u-c-s-danger eui-u-mt-s eui-u-mb-xs eui-u-f-bold\">Dont's</div>\n <li *ngFor=\"let dont of ref.donts\">{{ dont }}</li>\n </ng-container>\n </div>\n </div>\n </eui-card-content>\n </eui-card>\n </div>\n</div>\n\n\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, HostBinding, Directive, ContentChild, forwardRef, QueryList } from '@angular/core';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\n\n/* eslint-disable */\n@Directive({ selector: 'eui-showcase-doc-pattern-sample-doc' })\nexport class DocPagePatternSampleDocDirective { }\n\n@Component({\n selector: 'eui-showcase-doc-pattern-sample',\n templateUrl: 'doc-page-pattern-sample.component.html',\n styleUrls: ['./doc-page-pattern-sample.component.scss'],\n imports: [\n CommonModule,\n ...EUI_BADGE,\n ...EUI_BUTTON,\n ],\n})\nexport class DocPagePatternSampleComponent {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-showcase-doc-page-pattern-sample',\n !this.codeFolder ? 'no-code': '',\n ].join(' ').trim();\n } \n\n @Input() label: string;\n @Input() docEntries = []; \n @Input() codeFolder: string;\n @Input() refsImage: string;\n @Input() refsImage2: string;\n @Input() figmaLink: string;\n @Input() isSmall = false;\n @Input() isTiny = false;\n @Input() isMedium = false;\n @Input() isLarge = false;\n @Input() isExtraLarge = false;\n @Input() hasAutoHeight = false;\n\n @ContentChild(forwardRef(() => DocPagePatternSampleDocDirective))\n docContent: QueryList<DocPagePatternSampleDocDirective>; \n\n openCode(): void {\n // eslint-disable-next-line max-len\n const showcaseRoot = 'https://sdlc.webcloud.ec.europa.eu/csdr/eui/app-eui-showcase-ux-components/-/blob/master/src/app/features/showcase-design-patterns/';\n window.open(showcaseRoot + this.codeFolder, '_blank'); \n } \n}\n","<div role=\"heading\" aria-level=\"1\" class=\"eui-u-f-xl-bold\">{{ label }}</div>\n\n@if (figmaLink) {\n <h4 class=\"eui-u-text-h4\">Figma reference</h4>\n <span>\n <a euiButton euiBasicButton euiPrimary href=\"{{figmaLink}}\" class=\"eui-u-text-link-external\" target=\"_blank\">\n <svg viewBox=\"0 0 38 57\" style=\"height: 36px; width: 36px;\"><path fill=\"#1abcfe\" d=\"M19 28.5a9.5 9.5 0 1 1 19 0 9.5 9.5 0 0 1-19 0z\"></path><path fill=\"#0acf83\" d=\"M0 47.5A9.5 9.5 0 0 1 9.5 38H19v9.5a9.5 9.5 0 1 1-19 0z\"></path><path fill=\"#ff7262\" d=\"M19 0v19h9.5a9.5 9.5 0 1 0 0-19H19z\"></path><path fill=\"#f24e1e\" d=\"M0 9.5A9.5 9.5 0 0 0 9.5 19H19V0H9.5A9.5 9.5 0 0 0 0 9.5z\"></path><path fill=\"#a259ff\" d=\"M0 28.5A9.5 9.5 0 0 0 9.5 38H19V19H9.5A9.5 9.5 0 0 0 0 28.5z\"></path></svg>\n Link to figma pattern page\n </a>\n </span>\n}\n\n@if (docContent) {\n <h4 class=\"eui-u-text-h4\">Information</h4>\n <ng-content select=\"eui-showcase-doc-pattern-sample-doc\" />\n}\n\n\n<h4 class=\"eui-u-mt-3xl eui-u-text-h4\">Anatomy</h4>\n\n<div class=\"content-wrapper\">\n <div class=\"content\" \n [class.small]=\"isSmall\" [class.medium]=\"isMedium\" \n [class.large]=\"isLarge\" [class.extra-large]=\"isExtraLarge\" [class.tiny]=\"isTiny\" [class.auto-height]=\"hasAutoHeight\">\n <eui-badge *ngFor=\"let ref of docEntries;\" [euiDanger]=\"ref.mandatory\" [euiSecondary]=\"ref.outsidePattern\" [euiPrimary]=\"!ref.mandatory\" class=\"eui-u-p-absolute\" [style]=\"ref.position\">\n {{ref.id}}\n </eui-badge>\n <div class=\"sample-wrapper\">\n <ng-content />\n </div>\n </div>\n\n @if (codeFolder) {\n <div class=\"eui-u-flex eui-u-flex-justify-content-center eui-u-mt-l\">\n <button euiButton euiCTAButton euiSizeS (click)=\"openCode()\">Check the code</button>\n </div>\n } \n</div>\n\n\n\n@if (refsImage) {\n <h4 class=\"eui-u-mt-3xl eui-u-text-h4\">Design system references</h4>\n <img class=\"refs-image\"\n src=\"assets/images/design-patterns/{{ refsImage }}\"\n alt=\"Design anatomy image\"/> \n}\n\n@if (refsImage2) {\n <img class=\"refs-image\"\n src=\"assets/images/design-patterns/{{ refsImage2 }}\"\n alt=\"Design anatomy image\"/> \n}","/* eslint-disable max-len */\nimport {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n Directive,\n ContentChild,\n forwardRef,\n QueryList,\n HostListener,\n inject,\n} from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { EUI_TABS, EuiTabComponent } from '@eui/components/eui-tabs';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_CARD } from '@eui/components/eui-card';\nimport { EUI_CHIP } from '@eui/components/eui-chip';\nimport { EUI_AVATAR } from '@eui/components/eui-avatar';\nimport { CommonModule } from '@angular/common';\n\n/* eslint-disable */\n@Directive({ selector: 'docPagePatternDoc' })\nexport class DocPagePatternSimpleDocDirective { }\n\n@Component({\n selector: 'eui-showcase-doc-page-pattern-simple',\n templateUrl: './doc-page-pattern-simple.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./doc-page-pattern-simple.component.scss'],\n imports: [\n CommonModule,\n ...EUI_BUTTON,\n ...EUI_TABS,\n ...EUI_ICON,\n ...EUI_CARD,\n ...EUI_CHIP,\n ...EUI_AVATAR,\n ],\n})\nexport class DocPagePatternSimpleComponent {\n @HostBinding('class')\n get cssClasses(): string {\n return ['doc-page-pattern'].join(' ').trim();\n }\n\n @ContentChild(forwardRef(() => DocPagePatternSimpleDocDirective))\n docContent: QueryList<DocPagePatternSimpleDocDirective>;\n\n @Input() id: string;\n @Input() label: string;\n @Input() anatomyImage: string;\n @Input() docEntries = [];\n @Input() dos = [];\n @Input() donts = [];\n @Input() sourceUrl: string;\n @Input() figmaUrl: string;\n @Input() figmaEmbedSrc: string;\n\n public urlSafe: SafeResourceUrl;\n public isShowGoTop: boolean;\n public topPosToStartShowing = 100;\n public tabSelectedIndex = 0;\n\n @HostListener('window:scroll') checkScroll() {\n const scrollPosition = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n if (scrollPosition >= this.topPosToStartShowing) {\n this.isShowGoTop = true;\n } else {\n this.isShowGoTop = false;\n }\n }\n private sanitizer: DomSanitizer = inject(DomSanitizer);\n\n ngOnInit() {\n if (this.figmaEmbedSrc) {\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.figmaEmbedSrc);\n const iFrame: HTMLIFrameElement = <HTMLIFrameElement>document.getElementById('iframe-figma');\n }\n }\n\n public onNavigateToCode(event: any) {\n // eslint-disable-next-line max-len\n const showcase = 'ux-patterns';\n const sourceRootPath = `https://sdlc.webcloud.ec.europa.eu/csdr/eui/app-eui-showcase-${showcase}/-/blob/master/src/app/features/`;\n window.open(sourceRootPath + this.sourceUrl, '_blank');\n }\n\n public onTabSelect(event: { tab: EuiTabComponent; index: number }) {\n this.tabSelectedIndex = event.index;\n }\n\n public gotoTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n }\n}\n","<div role=\"heading\" aria-level=\"1\" class=\"eui-u-f-xl-bold\">{{ label }}</div>\n\n\n<h4 class=\"eui-u-text-h4\">Information</h4>\n<ng-content select=\"docPagePatternDoc\"></ng-content>\n\n<ng-container *ngIf=\"figmaEmbedSrc; else screenshot\">\n <h3 class=\"eui-u-mt-3xl eui-u-text-h3\">Figma design anatomy</h3>\n <iframe id=\"iframe-figma\" style=\"border: 1px solid rgba(0, 0, 0, 0.1)\" width=\"100%\" height=\"650\" [src]=\"urlSafe\"></iframe>\n</ng-container>\n<ng-template #screenshot>\n <ng-container *ngIf=\"figmaUrl !== 'PENDING_DS'\">\n <h4 class=\"eui-u-mt-3xl eui-u-text-h4\">Anatomy</h4>\n <img\n src=\"assets/images/design-system/{{ anatomyImage }}\"\n alt=\"Design anatomy image\"\n width=\"60%\"\n class=\"eui-u-sh-5 eui-u-mb-m\" />\n </ng-container>\n</ng-template>\n\n<ng-container *ngIf=\"docEntries.length !== 0\">\n <h4 class=\"eui-u-mt-3xl eui-u-text-h4\">Design system references</h4>\n\n <eui-card *ngFor=\"let ref of docEntries\" class=\"eui-u-mb-m\" [euiWarning]=\"ref.mandatory\" [euiInfo]=\"!ref.mandatory\">\n <eui-card-header>\n <eui-card-header-title>\n <div class=\"eui-u-flex\">\n <eui-avatar *ngIf=\"ref?.id\" euiSizeS euiDanger class=\"eui-u-mr-s\"><eui-avatar-text>{{ ref.id }}</eui-avatar-text></eui-avatar>\n <span class=\"eui-u-f-xl\">{{ ref.name }}</span>\n <eui-chip [euiDanger]=\"ref.mandatory\" [euiInfo]=\"!ref.mandatory\" class=\"eui-u-ml-m\">\n <span *ngIf=\"ref.mandatory\" euiLabel><strong> Mandatory </strong></span>\n <span *ngIf=\"!ref.mandatory\" euiLabel><strong> Optional </strong></span>\n </eui-chip> \n </div>\n </eui-card-header-title>\n </eui-card-header>\n <eui-card-content>\n <div class=\"doc-page-section-title\">Description</div>\n <div class=\"html\" [innerHTML]=\"ref.description\"></div>\n\n <ng-container *ngIf=\"ref.whenToUse\">\n <div class=\"doc-page-section-title\">When to use ?</div>\n <div class=\"html\" [innerHTML]=\"ref.whenToUse\"></div>\n </ng-container>\n <ng-container *ngIf=\"ref.whenNotToUse\">\n <div class=\"doc-page-section-title\">When to not use ?</div>\n <div class=\"html\" [innerHTML]=\"ref.whenNotToUse\"></div>\n </ng-container>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <ng-container *ngIf=\"ref.dos && ref.dos.length !== 0\">\n <div class=\"doc-page-section-title eui-u-c-s-success\">\n <eui-icon-svg\n icon=\"thumbs-up\"\n set=\"sharp\"\n size=\"m\"\n fillColor=\"success-100\"\n class=\"eui-u-mr-m\"></eui-icon-svg>\n <strong>Do's</strong>\n </div>\n <li *ngFor=\"let do of ref.dos\" class=\"eui-u-c-s-success eui-u-f-bold\">{{ do }}</li>\n </ng-container>\n </div>\n <div class=\"col-md-6\">\n <ng-container *ngIf=\"ref.donts && ref.donts.length !== 0\">\n <div class=\"doc-page-section-title eui-u-c-s-danger\">\n <eui-icon-svg\n icon=\"hand-right\"\n set=\"sharp\"\n size=\"m\"\n fillColor=\"danger-100\"\n class=\"eui-u-mr-m\"></eui-icon-svg>\n <strong>Dont's</strong>\n </div>\n <li *ngFor=\"let dont of ref.donts\" class=\"eui-u-c-s-danger eui-u-f-bold\">{{ dont }}</li>\n </ng-container>\n </div>\n </div>\n </eui-card-content>\n </eui-card>\n</ng-container>\n\n<h3 class=\"eui-u-mt-3xl eui-u-text-h3\">Figma resource</h3>\n<ng-container *ngIf=\"figmaUrl === 'PENDING_DS'; else figmaOK\">\n Pending Design system publication. Will be available in a future release.\n</ng-container>\n<ng-template #figmaOK>\n <eui-card>\n <eui-card-header>\n <eui-card-header-left-content>\n <img\n width=\"32\"\n height=\"32\"\n alt=\"Figma Logo\"\n src=\"data:image/png;base64,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\" />\n </eui-card-header-left-content>\n <eui-card-header-title>\n <a\n class=\"h5 eui-u-text-link-external\"\n href=\"https://www.figma.com/file/jQ9htWvSM8SWTPuk3hoigc/{{ figmaUrl }}\"\n target=\"blank\">\n <span class=\"eui-u-color-grey-75\">Layout component /</span>\n {{ label }}\n </a>\n </eui-card-header-title>\n </eui-card-header>\n </eui-card>\n</ng-template>\n\n<button\n type=\"button\"\n *ngIf=\"isShowGoTop && tabSelectedIndex === 0\"\n euiButton\n euiIconButton\n euiOutline\n euiRounded\n euiSizeL\n class=\"eui-button-fixed eui-u-sh-5\"\n (click)=\"gotoTop()\"\n title=\"Goto Top\"\n aria-label=\"Goto Top\">\n <!-- 👆 -->\n <eui-icon-svg icon=\"eui-arrow-up\" set=\"eui\" size=\"l\" fillColor=\"grey-50\"></eui-icon-svg>\n</button>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eui-showcase-doc-sample-api',\n templateUrl: 'doc-sample-api.component.html',\n})\nexport class DocSampleApiComponent {}\n","","import { CommonModule } from '@angular/common';\nimport type { QueryList } from '@angular/core';\nimport { Component, Input, Directive, ContentChild, forwardRef } from '@angular/core';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_TABS } from '@eui/components/eui-tabs';\n\n@Component({\n selector: 'eui-showcase-doc-section-code',\n templateUrl: './doc-section-code.component.html',\n styleUrls: ['./doc-section-code.component.scss'],\n imports: [\n CommonModule,\n ...EUI_LABEL,\n ...EUI_TABS,\n ...EUI_BUTTON,\n ],\n})\nexport class DocSectionCodeComponent {\n @Input() label: string;\n @Input() content: string;\n @Input() styleClass: string;\n @Input() versionLabel: string;\n @Input() isDeprecated = false;\n @Input() isCodeExpanded = false;\n\n @ContentChild(forwardRef(() => DocSectionCodeDescriptionTagDirective))\n sectionDescription: QueryList<DocSectionCodeDescriptionTagDirective>;\n @ContentChild(forwardRef(() => DocSectionCodeHtmlTagDirective))\n sectionCodeHTML: QueryList<DocSectionCodeHtmlTagDirective>;\n @ContentChild(forwardRef(() => DocSectionCodeTsTagDirective))\n sectionCodeTS: QueryList<DocSectionCodeTsTagDirective>;\n @ContentChild(forwardRef(() => DocSectionCodeServiceTagDirective))\n sectionCodeSERVICE: QueryList<DocSectionCodeServiceTagDirective>;\n @ContentChild(forwardRef(() => DocSectionCodeCssTagDirective))\n sectionCodeCSS: QueryList<DocSectionCodeCssTagDirective>;\n @ContentChild(forwardRef(() => DocSectionCodeDocTagDirective))\n sectionCodeDOC: QueryList<DocSectionCodeDocTagDirective>;\n\n toggleCode(): void {\n this.isCodeExpanded = !this.isCodeExpanded;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isDefined(object: any): boolean {\n return object;\n }\n}\n\n/* eslint-disable @angular-eslint/directive-selector */\n@Directive({ selector: 'sectionDescription' })\nexport class DocSectionCodeDescriptionTagDirective {}\n\n@Directive({ selector: 'sectionCodeHTML' })\nexport class DocSectionCodeHtmlTagDirective {}\n\n@Directive({ selector: 'sectionCodeTS' })\nexport class DocSectionCodeTsTagDirective {}\n\n@Directive({ selector: 'sectionCodeSERVICE' })\nexport class DocSectionCodeServiceTagDirective {}\n\n@Directive({ selector: 'sectionCodeCSS' })\nexport class DocSectionCodeCssTagDirective {}\n\n@Directive({ selector: 'sectionCodeDOC' })\nexport class DocSectionCodeDocTagDirective {}\n/* eslint-enable @angular-eslint/directive-selector */\n","<h5 class=\"section-title {{ styleClass }}\">\n <div class=\"eui-u-flex eui-u-flex-justify-content-between\">\n <div [class.app-section-code--deprecated]=\"isDeprecated\">\n {{ label }}\n </div>\n <div class=\"ml-auto\">\n <span *ngIf=\"versionLabel\" class=\"eui-u-color-danger\">{{ versionLabel }}</span>\n <button type=\"button\" euiButton [euiOutline]=\"!isCodeExpanded\" euiPrimary euiSizeS (click)=\"toggleCode()\">\n <span *ngIf=\"!isCodeExpanded\" euiLabel>Code</span>\n <span *ngIf=\"isCodeExpanded\" euiLabel>Hide Code</span>\n <span euiIcon iconClass=\"eui-icon-code\"></span>\n </button>\n </div>\n </div>\n <div *ngIf=\"isDeprecated\">\n <small class=\"eui-u-color-danger\">Deprecated in 3.x</small>\n </div>\n</h5>\n\n<div class=\"eui-u-mv\" *ngIf=\"sectionDescription\">\n <ng-content select=\"sectionDescription\"></ng-content>\n</div>\n\n<ng-template [ngIf]=\"isCodeExpanded\">\n <eui-tabs>\n <eui-tab [isVisible]=\"isDefined(sectionCodeHTML)\">\n <eui-tab-header>\n <eui-label>HTML</eui-label>\n <eui-label euiSublabel>HyperText Markup Language</eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <pre><code class=\"language-markup\" euiCode><ng-content select=\"sectionCodeHTML\"></ng-content></code></pre>\n </eui-tab-body>\n </eui-tab>\n <eui-tab [isVisible]=\"isDefined(sectionCodeTS)\">\n <eui-tab-header>\n <eui-label>TS</eui-label>\n <eui-label euiSublabel>Typescript</eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <pre><code class=\"language-javascript\" euiCode><ng-content select=\"sectionCodeTS\"></ng-content></code></pre>\n </eui-tab-body>\n </eui-tab>\n <eui-tab [isVisible]=\"isDefined(sectionCodeSERVICE)\">\n <eui-tab-header>\n <eui-label>Service</eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <pre><code class=\"language-javascript\" euiCode><ng-content select=\"sectionCodeSERVICE\"></ng-content></code></pre>\n </eui-tab-body>\n </eui-tab>\n <eui-tab [isVisible]=\"isDefined(sectionCodeCSS)\">\n <eui-tab-header>\n <eui-label>CSS</eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <pre><code class=\"language-javascript\" euiCode><ng-content select=\"sectionCodeCSS\"></ng-content></code></pre>\n </eui-tab-body>\n </eui-tab>\n <eui-tab [isVisible]=\"isDefined(sectionCodeDOC)\">\n <eui-tab-header>\n <eui-label>DOC</eui-label>\n <eui-label euiSublabel>Documentation</eui-label>\n </eui-tab-header>\n <eui-tab-body>\n <div class=\"language-doc\">\n <ng-content select=\"sectionCodeDOC\"></ng-content>\n </div>\n </eui-tab-body>\n </eui-tab>\n </eui-tabs>\n <ng-template [ngIf]=\"!sectionCodeHTML && !sectionCodeTS && !sectionCodeCSS\">\n <pre class=\"only-html\"><code class=\"language-markup\" euiCode><ng-content></ng-content></code></pre>\n </ng-template>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'eui-showcase-doc-lorem-ipsum',\n templateUrl: 'lorem-ipsum-sample.component.html',\n imports: [\n CommonModule,\n ],\n})\nexport class LoremIpsumSampleComponent {\n @Input() textSize: 'small' | 'medium' | 'large' = 'large';\n}\n","<div *ngIf=\"textSize === 'small'\">\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ut volutpat enim. Etiam a mattis tortor. Etiam egestas magna at iaculis\n malesuada. Etiam vulputate quam at consectetur pharetra.\n\n <div class=\"eui-u-mb-m\">\n Nunc sit amet lectus mattis, aliquam mi quis, iaculis est. Donec nec diam tristique, egestas lorem nec, varius neque. Aenean\n consequat nisi in sem porttitor, a eleifend lorem tincidunt. Phasellus scelerisque tellus eu imperdiet dictum.\n </div>\n <div class=\"eui-u-mb-m\">\n Sed vitae tellus ac nisl facilisis posuere. Mauris cursus dui nec arcu molestie sodales. Morbi vel enim semper, luctus odio vitae,\n lacinia nisl. Sed sollicitudin ex et nibh bibendum, id blandit nunc pretium. Nunc venenatis eros a leo tincidunt gravida.\n </div>\n <div class=\"eui-u-mb-m\">Etiam pulvinar leo sit amet sapien pharetra, porta laoreet tellus consequat.</div>\n</div>\n\n<div *ngIf=\"textSize === 'medium'\">\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ut volutpat enim. Etiam a mattis tortor. Etiam egestas magna at iaculis\n malesuada. Etiam vulputate quam at consectetur pharetra.\n\n <div class=\"eui-u-mb-m\">\n Duis vitae nibh iaculis augue fermentum placerat vel vitae lectus. Curabitur venenatis eros at eros ultrices, eu feugiat eros\n efficitur. Sed quis nulla non augue scelerisque gravida vitae sed neque. Quisque semper dolor non diam sodales suscipit.\n </div>\n <div class=\"eui-u-mb-m\">\n Donec ut tortor scelerisque, sodales neque id, tempor orci. Suspendisse eu augue at nibh egestas eleifend. Ut tristique enim in\n lectus aliquam, non tincidunt tortor vulputate. Phasellus eu nunc faucibus, porta ante nec, malesuada erat.\n </div>\n <div class=\"eui-u-mb-m\">\n Vestibulum hendrerit risus a libero gravida venenatis. Mauris non enim sit amet odio pellentesque scelerisque in et velit. Quisque\n efficitur eros ut magna rutrum aliquet. Curabitur et nisi ullamcorper, pellentesque ligula vel, congue dui. Nullam commodo mi quis\n nibh euismod interdum. In rutrum sapien ac viverra pretium.\n </div>\n <div class=\"eui-u-mb-m\">\n Ut eget tellus a magna fermentum tempor at id erat. Nam fringilla eros sed leo facilisis, et mollis orci elementum. Donec\n consectetur libero sed arcu rhoncus, vel elementum augue mollis. Cras facilisis nisl mollis imperdiet mollis.\n </div>\n <div class=\"eui-u-mb-m\">\n Sed pharetra lorem in justo rhoncus tempor. Phasellus vel elit eget massa consectetur porttitor eu ut ex. Donec sed ex sit amet\n purus blandit pharetra. Nam rhoncus dolor ac felis condimentum malesuada.\n </div>\n <div class=\"eui-u-mb-m\">\n Pellentesque convallis nulla in lectus molestie mollis. Pellentesque auctor libero eget dolor vehicula, a suscipit nunc laoreet.\n Nulla suscipit ante in sollicitudin semper.\n </div>\n <div class=\"eui-u-mb-m\">Nullam rutrum ante vitae metus interdum, quis laoreet sem maximus.</div>\n <div class=\"eui-u-mb-m\">\n Pellentesque gravida diam quis orci suscipit hendrerit. Vestibulum congue sapien sed pretium gravida. Nullam ornare lectus sed\n pulvinar fringilla. Nam dictum eros sit amet lectus aliquet tincidunt. Quisque eu augue eget felis tincidunt hendrerit. Aenean vel\n lorem vel sem consequat congue.\n </div>\n <div class=\"eui-u-mb-m\">Phasellus finibus libero at blandit sollicitudin. Praesent pulvinar libero a lorem scelerisque sodales.</div>\n <div class=\"eui-u-mb-m\">Donec tempor quam eget turpis dignissim egestas. Pellentesque vulputate nisi eu ornare euismod.</div>\n</div>\n\n<div *ngIf=\"textSize === 'large'\">\n <div class=\"eui-u-mb-m\">\n Lorem ipsum dolor sit amet consectetur. Nec maecenas turpis eget curabitur. Neque accumsan nulla vestibulum vulputate. Etiam lorem\n sit leo aliquam. Penatibus suspendisse sit in metus sodales pretium erat tempor. Congue aliquam varius nec pellentesque. Diam\n tincidunt neque aliquam a natoque egestas nibh in urna. Volutpat enim erat magna sociis blandit odio ut convallis. Montes blandit\n maecenas pellentesque magna. Ipsum at porta justo massa aliquet vulputate sit. Nec non semper urna morbi nec ut in eu. Tristique\n morbi nam tempus id.\n </div>\n <div class=\"eui-u-mb-m\">\n Amet eu phasellus dignissim lacus. Pellentesque tristique sed leo eu mattis quam ut sem sed. Id lacus erat urna arcu ac risus\n sodales. Scelerisque risus auctor erat mattis habitant facilisis. Orci velit nunc fermentum condimentum volutpat. Nec tellus at\n risus cras. Malesuada ultrices vestibulum arcu sagittis quis purus. Sit ultricies suspendisse ante augue malesuada mattis eget\n fermentum et. Lobortis et ridiculus turpis elit a mi faucibus. Sit vitae nunc etiam euismod massa nisi nibh arcu nulla. Elit ipsum\n lorem vestibulum nulla senectus curabitur. Turpis non eu eu rhoncus. Dictum porttitor pulvinar commodo nec sapien est at erat et.\n Nisl pellentesque pellentesque tempus tristique commodo eget urna tempor. Porta mi accumsan senectus risus eget.\n </div>\n <div class=\"eui-u-mb-m\">\n Velit vulputate amet id tellus. Quam aliquet eros hendrerit cursus id et amet in nam. Eget elementum diam ut magna porttitor. Cursus\n neque vulputate malesuada congue enim. Ac in sed et justo adipiscing habitasse elit tincidunt dictum. Dui ornare ac ligula duis. Sit\n mi a eu dictum est magna morbi. Morbi hendrerit non senectus sit platea gravida id. Fermentum vulputate arcu pretium cras elit.\n </div>\n <div class=\"eui-u-mb-m\">\n Enim et nunc eget ac commodo sagittis. Turpis facilisi enim enim nisi eu sed. Amet viverra felis in ac orci ullamcorper. At\n ridiculus enim nec velit nulla luctus lorem non ultricies. Urna gravida sem curabitur quis diam ut porttitor aliquam sapien. Id\n adipiscing libero feugiat imperdiet senectus mattis non nulla condimentum.\n </div>\n <div class=\"eui-u-mb-m\">\n Etiam felis parturient et amet. Enim neque eu risus ante tristique nisl nisl vulputate. Arcu turpis semper vitae ultrices sit\n ultrices. Sed arcu pharetra vel sapien in. Turpis vestibulum tellus quis arcu egestas viverra cursus quisque. Eu volutpat mauris\n sagittis integer fermentum fringilla penatibus. Velit et quis et arcu velit tortor.\n </div>\n <div class=\"eui-u-mb-m\">\n Nisl fringilla nibh eu nunc pellentesque dignissim vestibulum mus porttitor. Consequat non eu nulla lectus ultrices. Viverra duis\n enim aliquet ut massa laoreet consequat. Sociis dignissim sodales vitae maecenas nec aliquam. Volutpat feugiat urna id sed. In\n fringilla dui neque montes ut et lorem velit consequat. Ut fermentum amet dictum proin et. Aenean odio ac quisque ultrices tellus\n mattis posuere et curabitur. Proin est suspendisse iaculis nullam eros sit amet aliquam laoreet. Libero tincidunt quis et odio\n imperdiet risus neque. Odio et dui duis odio accumsan. Lacus nibh urna at risus euismod lobortis cursus. Porta risus mi gravida\n aliquet. Leo viverra diam vulputate sollicitudin cursus erat sed.\n </div>\n <div class=\"eui-u-mb-m\">\n Erat consectetur sem nulla sed viverra ipsum adipiscing nunc. Porttitor eget sodales integer maecenas tortor quam sit pharetra\n lorem. Egestas ut mauris urna vitae a mollis. Nam cursus amet sit dolor. Mattis mattis laoreet sed massa proin tristique ullamcorper\n commodo. Sit in tortor posuere nec lorem fringilla.\n </div>\n <div class=\"eui-u-mb-m\">\n Fringilla elementum quisque vitae pharetra risus pellentesque eu nulla. Enim egestas velit est tempor ut vulputate tellus tincidunt\n ut. Non enim lorem nec in mattis. Vitae nulla vitae lectus varius aliquet massa lectus morbi. Placerat vel consectetur commodo nibh\n ullamcorper vitae tellus sed. Nisi lacus quis at malesuada elementum. Turpis et ut egestas adipiscing et ac. Auctor aliquam dictum\n dolor diam sit tellus tempus. Elementum venenatis arcu id a. Duis imperdiet id elementum tempor facilisis rhoncus rhoncus posuere\n egestas. Imperdiet odio lorem posuere sit. Molestie amet quisque tellus phasellus nisi. Lobortis mi faucibus elit semper. Ipsum eu\n adipiscing fringilla at felis maecenas. Egestas tortor odio laoreet neque.\n </div>\n <div class=\"eui-u-mb-m\">\n Sollicitudin rhoncus nunc ultricies lorem massa sagittis integer elit. Consequat mauris elementum sed imperdiet libero odio non\n amet. Tortor condimentum non convallis posuere pulvinar. Neque malesuada volutpat sit quis. Ac justo gravida vitae mollis. Ut tellus\n nunc ultrices egestas vitae tellus sed. Pellentesque nunc id quisque scelerisque et pellentesque eu ultricies.\n </div>\n <div class=\"eui-u-mb-m\">\n Dolor rhoncus tempor netus sit mauris. Turpis curabitur amet eu lectus sem habitant magna non. Eros lorem eu lectus proin venenatis\n tellus. Velit praesent consectetur ligula venenatis magna sed dictum. Quisque vivamus ipsum mattis morbi pulvinar bibendum. Netus\n risus sit adipiscing augue augue eget est.\n </div>\n <div class=\"eui-u-mb-m\">\n Justo feugiat duis fames in luctus elit. Sit id in turpis quam habitasse amet ut sed sem. Ut luctus amet sit lacinia sed eu sed a\n senectus. Fusce gravida augue quis bibendum aliquet. Quam egestas quam iaculis urna condimentum amet. Odio aliquam massa vel\n vestibulum tincidunt dolor tincidunt netus facilisi. Ut sociis metus pellentesque leo amet. Diam lectus pretium id tincidunt\n habitasse. Eget tortor quisque tristique scelerisque quam vestibulum morbi ornare pellentesque. Nunc eget volutpat id mauris amet ut\n aliquet nunc dictumst. Elit blandit a suspendisse commodo. Velit quis ut varius leo pharetra risus leo eget.\n </div>\n <div class=\"eui-u-mb-m\">\n Consequat phasellus ullamcorper mauris id tortor ultrices nunc. Lacinia eu sapien rhoncus lacinia sed augue justo molestie ornare.\n Integer ridiculus gravida pulvinar iaculis nisl eleifend senectus. Imperdiet vitae orci massa ac eget etiam est nulla. Netus nibh\n ipsum auctor eros nunc aliquam enim. Donec pretium vel amet blandit sed quisque sed. Tempor ipsum nunc leo ultricies ut. Odio tellus\n ultricies diam cras. Diam maecenas amet gravida nunc. Feugiat egestas eget ullamcorper consequat. Varius faucibus nisl dolor dolor\n diam ultrices odio iaculis lorem. Egestas tristique est egestas ornare. Tortor eu orci orci posuere blandit amet sit semper\n pharetra. Sed dictumst dolor phasellus urna nisl auctor sit in vulputate.\n </div>\n</div>\n","import { Component, ElementRef, inject, Input, OnChanges, SimpleChanges, ViewChild } from '@angular/core';\nimport sdk, { Project, VM } from '@stackblitz/sdk';\nimport { angularJsonFile, indexHtmlFile, mainFile, PACKAGE_JSON, polyfillsFile, tsConfig } from './stackblitz.files';\nimport { StackblitzService } from './stackblitz.service';\nimport { EUI_BLOCK_CONTENT } from '@eui/components/eui-block-content';\n\n@Component({\n selector: 'eui-playground',\n templateUrl: 'playground.component.html',\n imports: [\n ...EUI_BLOCK_CONTENT,\n ],\n})\nexport class PlaygroundComponent implements OnChanges {\n @Input()\n public title = 'eUI Playground';\n @Input()\n public htmlContent: string;\n @Input()\n public sampleId: string;\n @Input()\n public typescriptContent: string;\n @Input()\n public activated = false;\n @Input()\n public modules: [{ name: string; path: string }];\n public isLoaded = false;\n @ViewChild('container', { read: ElementRef, static: true })\n private stackblitzElWrapper: ElementRef<HTMLIFrameElement>;\n /** instance that holds the stackblitz VM object */\n private stackblitzInstance: VM;\n private sb: StackblitzService = inject(StackblitzService);\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.activated) {\n if (changes.activated.currentValue) {\n this.initStackblitz();\n } else {\n this.isLoaded = false;\n }\n }\n }\n\n private initStackblitz(): void {\n this.sb.getStackblitzDependencies()\n .then((deps) => {\n const { dependencies, devDependencies } = deps;\n const { selector } = this.sb.extractComponentMetadata(this.typescriptContent);\n const moduleName = this.sb.extractModuleName(this.typescriptContent);\n const componentName = this.sb.extractComponentName(this.typescriptContent);\n const project: Project = {\n title: this.title,\n description: `An eUI example for the ${this.title}.`,\n template: 'angular-cli',\n files: {\n 'src/component.html': this.htmlContent,\n 'src/component.ts': moduleName ? this.sb.appendVitalNgModules(this.typescriptContent): this.typescriptContent,\n 'src/main.ts': mainFile(moduleName, componentName),\n 'src/polyfills.ts': polyfillsFile,\n 'src/index.html': indexHtmlFile(selector),\n 'angular.json': angularJsonFile,\n 'package.json': JSON.stringify(\n {\n ...PACKAGE_JSON,\n dependencies,\n devDependencies,\n },\n null,\n 2,\n ),\n 'tsconfig.json': tsConfig,\n },\n settings: {\n compile: {\n trigger: 'auto',\n clearConsole: true,\n },\n },\n dependencies,\n };\n\n return sdk.embedProject(\n `stackblitz-${this.sampleId}`,\n project,\n {\n height: 500,\n openFile: ['src/component.ts', 'src/component.html'],\n },\n );\n })\n .then((instance: VM) => {\n this.stackblitzInstance = instance;\n this.isLoaded = true;\n });\n }\n\n}\n","<eui-block-content [isBlocked]=\"!isLoaded\">\n <iframe #container id=\"stackblitz-{{sampleId}}\"></iframe>\n</eui-block-content>\n","import { \n DocPageAccessibilityContentDirective,\n DocPageApiContentDirective,\n DocPageCodeComponent,\n DocPageComponent,\n DocPageDevGuideComponent,\n DocPageInteractiveContentDirective,\n DocPageOverviewContentDirective,\n DocPageOverviewDefaultContentDirective,\n DocPageSamplesContentDirective,\n DocPageSectionsContentDirective,\n DocPageThemingContentDirective,\n } from './doc-page';\n\n import { \n DocPageCodeFabComponent, \n } from './doc-page-code-fab';\n\nimport { \n DocPageCodeModalComponent,\n } from './doc-page-code-modal';\n\nimport { \n DocPagePatternComponent,\n DocPagePatternDocDirective,\n DocPagePatternSampleDirective, \n } from './doc-page-pattern';\n\n import { \n DocPagePatternSampleComponent,\n DocPagePatternSampleDocDirective,\n DocPagePatternSampleRefsComponent, \n } from './doc-page-pattern-sample';\n\n import { \n DocPagePatternSimpleComponent,\n DocPagePatternSimpleDocDirective,\n } from './doc-page-pattern-simple';\n\n import { \n DocSampleComponent,\n } from './doc-sample';\n\n import { \n DocSampleApiComponent,\n } from './doc-sample-api';\n\n import { \n DocSectionComponent,\n } from './doc-section';\n\n import { \n DocSectionCodeComponent,\n DocSectionCodeCssTagDirective,\n DocSectionCodeDescriptionTagDirective,\n DocSectionCodeDocTagDirective,\n DocSectionCodeHtmlTagDirective,\n DocSectionCodeServiceTagDirective,\n DocSectionCodeTsTagDirective,\n } from './doc-section-code';\n\n import { \n EuiCodeHighlighterDirective,\n } from './eui-code-highlighter';\n\n import { \n LoremIpsumSampleComponent,\n } from './lorem-ipsum';\n\n import { \n PlaygroundComponent,\n } from './playground';\n\nexport * from './doc-page';\nexport * from './doc-page-code-fab';\nexport * from './doc-page-code-modal';\nexport * from './doc-page-pattern';\nexport * from './doc-page-pattern-sample';\nexport * from './doc-page-pattern-simple';\nexport * from './doc-sample';\nexport * from './doc-sample-api';\nexport * from './doc-section';\nexport * from './doc-section-code';\nexport * from './eui-code-highlighter';\nexport * from './lorem-ipsum';\nexport * from './playground';\n\nexport const EUI_SHOWCASE = [\n DocPageAccessibilityContentDirective,\n DocPageApiContentDirective,\n DocPageCodeComponent,\n DocPageComponent,\n DocPageDevGuideComponent,\n DocPageInteractiveContentDirective,\n DocPageOverviewContentDirective,\n DocPageOverviewDefaultContentDirective,\n DocPageSamplesContentDirective,\n DocPageSectionsContentDirective,\n DocPageThemingContentDirective,\n\n DocPageCodeFabComponent,\n\n DocPageCodeModalComponent,\n\n DocPagePatternComponent,\n DocPagePatternDocDirective,\n DocPagePatternSampleDirective,\n\n DocPagePatternSampleComponent,\n DocPagePatternSampleDocDirective,\n DocPagePatternSampleRefsComponent, \n \n DocPagePatternSimpleComponent,\n DocPagePatternSimpleDocDirective, \n\n DocSampleComponent,\n\n DocSampleApiComponent,\n\n DocSectionComponent,\n\n DocSectionCodeComponent,\n DocSectionCodeCssTagDirective,\n DocSectionCodeDescriptionTagDirective,\n DocSectionCodeDocTagDirective,\n DocSectionCodeHtmlTagDirective,\n DocSectionCodeServiceTagDirective,\n DocSectionCodeTsTagDirective,\n\n EuiCodeHighlighterDirective,\n\n LoremIpsumSampleComponent,\n\n PlaygroundComponent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","EUI_PAGE","i3","i4","i5","i6","i7"],"mappings":"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"}