import { LitElement } from 'lit'; import { Ref } from 'lit/directives/ref.js'; import { LisSlotController } from '../controllers'; import { StringObjectModel } from '../models'; /** * @htmlElement `` * * A Web Component that provides a generic table element. * * @slot - Adds content after the content defined via the component properties. * Can be used to manually create a table that has the same styling as the * component. * * @example * The simple table element's * {@link caption | `caption`}, {@link dataAttributes | `dataAttributes`}, and * {@link header | `header`} attributes/properties can be set via HTML or * JavaScript. However, {@link !HTMLElement | `HTMLElement`} properties can only * be set via JavaScript, meaning the {@link data | `data`} property can only be * set via a `` tag's instance of the * {@link LisSimpleTableElement | `LisSimpleTableElement`} class. For example: * ```html * * * * * * * * ``` * * @example * Alternatively, a simple table's contents can be written in HTML using the element's * slot. This content must be wrapped in a `