@italia/dropdown 0.1.0-alpha.2
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.
- package/AUTHORS +3 -0
- package/LICENSE +18 -0
- package/README.md +26 -0
- package/custom-elements.json +745 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +8 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/it-dropdown-item.d.ts +18 -0
- package/dist/src/it-dropdown-item.d.ts.map +1 -0
- package/dist/src/it-dropdown-item.js +763 -0
- package/dist/src/it-dropdown-item.js.map +1 -0
- package/dist/src/it-dropdown.d.ts +42 -0
- package/dist/src/it-dropdown.d.ts.map +1 -0
- package/dist/src/it-dropdown.js +1015 -0
- package/dist/src/it-dropdown.js.map +1 -0
- package/package.json +72 -0
- package/styles/globals.scss +15 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"it-dropdown-item.js","sources":["../../../src/it-dropdown-item.ts"],"sourcesContent":["import { BaseComponent } from '@italia/globals';\nimport { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './dropdown-item.scss';\n\n@customElement('it-dropdown-item')\nexport class ItDropdownItem extends BaseComponent {\n static styles = styles;\n\n @property({ type: String }) label = '';\n\n @property({ type: String }) value = '';\n\n @property({ type: String }) href?: string;\n\n @property({ type: Boolean, reflect: true }) active = false;\n\n @property({ type: Boolean, reflect: true }) large = false;\n\n @property({ type: Boolean, reflect: true }) separator = false;\n\n @property({ type: Boolean, reflect: true }) dark = false;\n\n @property({ type: Boolean, attribute: 'full-width', reflect: true }) fullWidth = false;\n\n @property({ type: String, attribute: 'it-role' }) itRole?: string;\n\n @property({ type: Boolean, reflect: true }) disabled?: boolean;\n\n public getFocusableElement(): HTMLElement | null {\n return this.shadowRoot?.querySelector('a, button') ?? null;\n }\n\n handlePress(event: KeyboardEvent | MouseEvent) {\n if (this.disabled) event.preventDefault();\n }\n\n override render() {\n if (this.separator) {\n return html`<li><span class=\"divider\" role=\"separator\"></span></li>`;\n }\n\n const itemClasses = this.composeClass({\n dark: this.dark,\n fw: this.fullWidth,\n });\n\n const linkClasses = this.composeClass('list-item', 'dropdown-item', {\n disabled: this.disabled,\n active: this.active,\n large: this.large,\n });\n\n const content = html`\n <slot name=\"prefix\"></slot>\n <slot>${this.label}${this.active ? html`<span class=\"visually-hidden\"> attivo</span>` : null}</slot>\n <slot name=\"suffix\"></slot>\n `;\n\n return html`\n <li\n role=\"${ifDefined(\n this.itRole === 'menuitem' || this.itRole === 'option' || this.itRole === 'treeitem' ? 'none' : undefined,\n )}\"\n class=${ifDefined(itemClasses || undefined)}\n >\n ${this.href\n ? html`<a\n class=${linkClasses}\n part=\"focusable\"\n href=${this.href}\n role=${ifDefined(this.itRole)}\n aria-disabled=${ifDefined(this.disabled || undefined)}\n @keydown=${this.handlePress}\n @click=${this.handlePress}\n ><span>${content}</span></a\n >`\n : html`<span class=\"dropdown-item-text\">${content}</span>`}\n </li>\n `;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { BaseComponent } from '@italia/globals';
|
|
2
|
+
type Size = 'sm' | 'lg';
|
|
3
|
+
type Variant = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'light';
|
|
4
|
+
export declare class ItDropdown extends BaseComponent {
|
|
5
|
+
static styles: import("lit").CSSResultGroup;
|
|
6
|
+
static shadowRootOptions: {
|
|
7
|
+
delegatesFocus: boolean;
|
|
8
|
+
mode: ShadowRootMode;
|
|
9
|
+
serializable?: boolean;
|
|
10
|
+
slotAssignment?: SlotAssignmentMode;
|
|
11
|
+
};
|
|
12
|
+
label?: string;
|
|
13
|
+
disabled: boolean;
|
|
14
|
+
size?: Size;
|
|
15
|
+
variant?: Variant;
|
|
16
|
+
alignment: string;
|
|
17
|
+
dark: boolean;
|
|
18
|
+
fullWidth: boolean;
|
|
19
|
+
itRole: string;
|
|
20
|
+
itAriaLabel: string;
|
|
21
|
+
private _popoverOpen;
|
|
22
|
+
private _buttonId;
|
|
23
|
+
private _menuId;
|
|
24
|
+
private _slotEl;
|
|
25
|
+
private _ariaNav;
|
|
26
|
+
private get _triggerEl();
|
|
27
|
+
private _onTriggerClick;
|
|
28
|
+
private _onPopoverOpen;
|
|
29
|
+
private _onPopoverClose;
|
|
30
|
+
private get _menuItems();
|
|
31
|
+
private _setChildrenProperties;
|
|
32
|
+
private _onKeyDown;
|
|
33
|
+
protected updated(): void;
|
|
34
|
+
render(): import("lit").TemplateResult<1>;
|
|
35
|
+
}
|
|
36
|
+
declare global {
|
|
37
|
+
interface HTMLElementTagNameMap {
|
|
38
|
+
'it-dropdown': ItDropdown;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=it-dropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"it-dropdown.d.ts","sourceRoot":"","sources":["../../src/it-dropdown.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAA8B,MAAM,iBAAiB,CAAC;AAO5E,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACxB,KAAK,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpF,qBACa,UAAW,SAAQ,aAAa;IAC3C,MAAM,CAAC,MAAM,+BAAU;IAEvB,OAAgB,iBAAiB;;;;;MAG/B;IAE0B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEC,QAAQ,UAAS;IAEjC,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,OAAO,CAAC,EAAE,OAAO,CAAa;IAE9B,SAAS,EAAE,MAAM,CAAkB;IAElC,IAAI,UAAS;IAE2B,SAAS,UAAS;IAErC,MAAM,EAAE,MAAM,CAAU;IAElB,WAAW,EAAE,MAAM,CAAM;IAExE,OAAO,CAAC,YAAY,CAAS;IAEtC,OAAO,CAAC,SAAS,CAAkC;IAEnD,OAAO,CAAC,OAAO,CAAuC;IAE3B,OAAO,CAAC,OAAO,CAAmB;IAE7D,OAAO,CAAC,QAAQ,CAAwC;IAExD,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,cAAc,CAEpB;IAEF,OAAO,CAAC,eAAe,CAErB;IAEF,OAAO,KAAK,UAAU,GAKrB;IAED,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,UAAU,CAqDhB;cAEiB,OAAO;IAK1B,MAAM;CAsEP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
|