UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

39 lines (38 loc) 2.62 kB
/*! All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://github.com/Esri/calcite-design-system/blob/dev/LICENSE.md for details. v3.2.1 */ import { c as customElement } from "../../chunks/runtime.js"; import { html } from "lit-html"; import { LitElement, nothing, safeClassMap } from "@arcgis/lumina"; import { css } from "@lit/reactive-element/css-tag.js"; const CSS = { container: "container", containerNoSpacing: "container--no-spacing", heading: "heading" }; const styles = css`.scale--s{font-size:var(--calcite-font-size--2);line-height:1rem;--calcite-internal-autocomplete-item-group-spacing-unit: .5rem}.scale--m{font-size:var(--calcite-font-size--1);line-height:1rem;--calcite-internal-autocomplete-item-group-spacing-unit: .75rem}.scale--l{font-size:var(--calcite-font-size-0);line-height:1.25rem;--calcite-internal-autocomplete-item-group-spacing-unit: 1rem}:host{margin:0;display:flex;flex-direction:column}.container{display:flex;flex-direction:column;background-color:var(--calcite-autocomplete-background-color, var(--calcite-color-foreground-1));padding-block-start:var(--calcite-internal-autocomplete-item-group-spacing-unit)}.container--no-spacing{padding-block-start:0}.heading{border:0 solid;box-sizing:border-box;inline-size:100%;min-inline-size:0px;max-inline-size:100%;border-block-end-width:1px;font-weight:var(--calcite-font-weight-bold);word-wrap:break-word;word-break:break-word;color:var(--calcite-autocomplete-text-color, var(--calcite-color-text-2));border-block-end-color:var(--calcite-autocomplete-border-color, var(--calcite-color-border-3));padding-block:var(--calcite-internal-autocomplete-item-group-spacing-unit);padding-inline:var(--calcite-internal-autocomplete-item-group-spacing-unit)}:host([hidden]){display:none}[hidden]{display:none}`; class AutocompleteItemGroup extends LitElement { constructor() { super(...arguments); this.disableSpacing = false; this.scale = "m"; } static { this.properties = { disableSpacing: [5, {}, { type: Boolean }], heading: 1, label: 1, scale: 1 }; } static { this.styles = styles; } render() { const { scale } = this; return html`<div aria-label=${this.label ?? this.heading ?? nothing} class=${safeClassMap({ [CSS.container]: true, [CSS.containerNoSpacing]: this.disableSpacing, [`scale--${scale}`]: true })} role=group><div class=${safeClassMap(CSS.heading)} role=presentation>${this.heading}</div><slot></slot></div>`; } } customElement("calcite-autocomplete-item-group", AutocompleteItemGroup); export { AutocompleteItemGroup };