/** * Copyright Aquera Inc 2023 * * This source code is licensed under the BSD-3-Clause license found in the * LICENSE file in the root directory of this source tree. */ import { html, nothing, CSSResultArray, TemplateResult } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import { classMap } from 'lit/directives/class-map.js'; import { styles } from './nile-empty-state.css'; import NileElement from '../internal/nile-element'; import { ifDefined } from 'lit/directives/if-defined.js'; /** * Nile empty-state component. * * @tag nile-empty-state * */ @customElement('nile-empty-state') export class NileEmptyState extends NileElement { /** * The styles for nile-empty-state * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]` */ public static get styles(): CSSResultArray { return [styles]; } @property() size: 'sm' | 'md' | 'lg' = 'md'; @property() variant: | 'flat' | 'content' | 'tonal' = 'tonal'; @property() icon: string = 'var(--nile-icon-error, var(--ng-icon-x-circle))'; @property({type:Boolean}) grayscale: boolean = false; @property() text: String = 'Empty State'; @property({attribute:'sub-text'}) subText: String = 'No Data'; @property() svgIconUrl: string; @property({type: Number}) svgIconSize: number = 40; @property({type: String}) svgIconColor: string; /* #endregion */ /* #region Methods */ /** * Render method * @slot This is a slot test */ public render(): TemplateResult { return html`