@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.js","sources":["../../../globals/dist/src/controllers/aria-keyboard-list-controller.js","../../../src/it-dropdown.ts"],"sourcesContent":["class AriaKeyboardListController {\n constructor(host) {\n this.host = host;\n this.host.addController(this);\n }\n setConfig(config) {\n this.config = config;\n }\n hostDisconnected() {\n this.host.removeController(this);\n }\n // eslint-disable-next-line class-methods-use-this\n getActiveElement() {\n let active = document.activeElement;\n while (active && active.shadowRoot && active.shadowRoot.activeElement) {\n active = active.shadowRoot.activeElement;\n }\n return active;\n }\n handleKeyDown(event) {\n if (!this.config)\n return;\n const items = this.config.getItems();\n const currentIndex = items.indexOf(this.getActiveElement());\n switch (event.key) {\n case 'ArrowDown':\n // case 'ArrowRight':\n event.preventDefault();\n if (items.length && currentIndex < items.length - 1)\n this.config.setActive(currentIndex < 0 ? 0 : currentIndex + 1);\n break;\n case 'ArrowUp':\n // case 'ArrowLeft':\n event.preventDefault();\n if (items.length)\n this.config.setActive(currentIndex < 0 ? items.length - 1 : currentIndex - 1);\n break;\n case 'Home':\n event.preventDefault();\n if (items.length)\n this.config.setActive(0);\n break;\n case 'End':\n event.preventDefault();\n if (items.length)\n this.config.setActive(items.length - 1);\n break;\n case 'Escape':\n event.preventDefault();\n this.config.closeMenu();\n break;\n default:\n break;\n }\n }\n}\nexport default AriaKeyboardListController;\n//# sourceMappingURL=aria-keyboard-list-controller.js.map","/* eslint-disable lit-a11y/list */\nimport { BaseComponent, AriaKeyboardListController } from '@italia/globals';\nimport { html, LitElement, nothing } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './dropdown.scss';\nimport { type ItDropdownItem } from './it-dropdown-item.js';\n\ntype Size = 'sm' | 'lg';\ntype Variant = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'light';\n\n@customElement('it-dropdown')\nexport class ItDropdown extends BaseComponent {\n static styles = styles;\n\n static override shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n @property({ type: String }) label?: string;\n\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ type: String }) size?: Size;\n\n @property({ type: String }) variant?: Variant = 'primary';\n\n @property({ type: String }) alignment: string = 'bottom-start';\n\n @property({ type: Boolean }) dark = false;\n\n @property({ type: Boolean, attribute: 'full-width', reflect: true }) fullWidth = false;\n\n @property({ type: String, attribute: 'it-role' }) itRole: string = 'menu';\n\n @property({ type: String, attribute: 'it-aria-label' }) itAriaLabel: string = '';\n\n @state() private _popoverOpen = false;\n\n private _buttonId = this.generateId('it-dropdown');\n\n private _menuId = this.generateId('it-dropdown-menu');\n\n @query('slot:not([name])') private _slotEl!: HTMLSlotElement;\n\n private _ariaNav = new AriaKeyboardListController(this);\n\n private get _triggerEl(): HTMLElement | null {\n return this.shadowRoot?.getElementById(this._buttonId) ?? null;\n }\n\n private _onTriggerClick = () => {\n if (this.disabled) return;\n this._popoverOpen = !this._popoverOpen;\n };\n\n private _onPopoverOpen = () => {\n this._popoverOpen = true;\n };\n\n private _onPopoverClose = () => {\n this._popoverOpen = false;\n };\n\n private get _menuItems() {\n if (!this._slotEl) return [];\n return this._slotEl\n .assignedElements({ flatten: true })\n .filter((el) => el.tagName === 'IT-DROPDOWN-ITEM') as ItDropdownItem[];\n }\n\n private _setChildrenProperties() {\n for (const item of this._menuItems) {\n item.dark = this.dark;\n item.fullWidth = this.fullWidth;\n\n if (this.itRole === 'menu') item.itRole = 'menuitem';\n else if (this.itRole === 'listbox') item.itRole = 'option';\n else if (this.itRole === 'tree') item.itRole = 'treeitem';\n else item.itRole = undefined;\n }\n }\n\n private _onKeyDown = (event: KeyboardEvent) => {\n const items = this._menuItems.map((item) => item.getFocusableElement()).filter((el) => !!el);\n const active = this.getActiveElement<ItDropdownItem>();\n if (!active) return;\n\n const currentIndex = items.indexOf(active);\n\n if (event.key === 'Tab') {\n if (event.shiftKey && currentIndex === -1) {\n this._popoverOpen = false;\n }\n if (!event.shiftKey && currentIndex === items.length - 1) {\n this._popoverOpen = false;\n }\n if (active.ariaDisabled) {\n // as of the day of this implementation, tabbing through disabled items doesn't work natively\n // maybe because of some web components behavior\n if (event.shiftKey) {\n this._ariaNav.handleKeyDown(new KeyboardEvent('keydown', { ...event, key: 'ArrowUp' }));\n } else {\n this._ariaNav.handleKeyDown(new KeyboardEvent('keydown', { ...event, key: 'ArrowDown' }));\n }\n }\n }\n\n const handle = () => {\n this._ariaNav.setConfig({\n getItems: () => items,\n setActive: (idx) => items[idx]?.focus(),\n closeMenu: () => {\n this.addEventListener(\n 'it-popover-close',\n () => {\n this._triggerEl?.focus();\n },\n { once: true, capture: true },\n );\n this._popoverOpen = false;\n },\n trigger: this._triggerEl,\n });\n\n this._ariaNav.handleKeyDown(event);\n };\n\n if (['ArrowDown', 'ArrowUp'].includes(event.key)) {\n if (!this._popoverOpen && currentIndex === -1) {\n this.addEventListener('it-popover-open', handle, { once: true });\n this._popoverOpen = true;\n return;\n }\n }\n handle();\n };\n\n protected override updated() {\n this._setChildrenProperties();\n }\n\n // https://github.com/primefaces/primeng/issues/14851 for conditional aria controls\n render() {\n return html`\n <it-popover\n placement=${this.alignment}\n @it-popover-open=${this._onPopoverOpen}\n @it-popover-close=${this._onPopoverClose}\n exportparts=\"focusable, icon, button\"\n ?open=${this._popoverOpen}\n >\n <it-button\n id=${this._buttonId}\n slot=\"trigger\"\n ?it-aria-disabled=\"${this.disabled}\"\n type=\"button\"\n variant=${ifDefined(this.variant)}\n size=${ifDefined(this.size)}\n @click=${this._onTriggerClick}\n @keydown=${{ handleEvent: this._onKeyDown, capture: true }}\n class=\"dropdown-toggle\"\n it-aria-label=${ifDefined(this.itAriaLabel ? this.itAriaLabel : undefined)}\n exportparts=\"focusable, button\"\n it-aria-haspopup=\"${this.itRole === 'list' ? 'true' : this.itRole}\"\n it-aria-controls=${this._popoverOpen ? this._menuId : nothing}\n >\n ${this.alignment.startsWith('left')\n ? html`<it-icon\n name=${this._popoverOpen ? 'it-collapse' : 'it-expand'}\n class=\"dropdown-toggle-icon left\"\n size=\"sm\"\n exportparts=\"icon\"\n ></it-icon>`\n : ''}\n ${this.label}\n ${!this.alignment.startsWith('left')\n ? html`<it-icon\n name=${this._popoverOpen ? 'it-collapse' : 'it-expand'}\n class=${this.composeClass('dropdown-toggle-icon', {\n right: this.alignment.startsWith('right'),\n top: this.alignment.startsWith('top'),\n })}\n exportparts=\"icon\"\n size=\"sm\"\n ></it-icon>`\n : ''}\n </it-button>\n <div\n slot=\"content\"\n class=\"${this.composeClass('dropdown-menu', {\n show: this._popoverOpen,\n dark: this.dark,\n 'full-width': this.fullWidth,\n })}\"\n aria-labelledby=${this._buttonId}\n >\n <div class=\"link-list-wrapper\">\n <slot name=\"header\"></slot>\n <ul\n id=${this._menuId}\n class=\"link-list\"\n role=${ifDefined(this.itRole !== 'list' ? this.itRole : undefined)}\n @keydown=${{ handleEvent: this._onKeyDown, capture: true }}\n aria-orientation=${ifDefined(this.fullWidth ? 'horizontal' : undefined)}\n >\n <slot @slotchange=${this._setChildrenProperties}></slot>\n </ul>\n </div>\n </div>\n </it-popover>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'it-dropdown': ItDropdown;\n }\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@italia/dropdown",
|
|
3
|
+
"description": "Web component it-dropdown del Design system .italia",
|
|
4
|
+
"version": "0.1.0-alpha.2",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"license": "BSD-3-Clause",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/italia/dev-kit-italia.git",
|
|
12
|
+
"directory": "packages/dropdown"
|
|
13
|
+
},
|
|
14
|
+
"author": "Presidenza del Consiglio dei Ministri",
|
|
15
|
+
"homepage": "https://italia.github.io/dev-kit-italia",
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/italia/dev-kit-italia/issues"
|
|
18
|
+
},
|
|
19
|
+
"type": "module",
|
|
20
|
+
"main": "./dist/src/index.js",
|
|
21
|
+
"module": "./dist/src/index.js",
|
|
22
|
+
"types": "./dist/src/index.d.ts",
|
|
23
|
+
"exports": {
|
|
24
|
+
".": "./dist/src/index.js",
|
|
25
|
+
"./it-dropdown.js": "./dist/src/it-dropdown.js",
|
|
26
|
+
"./it-dropdown-item.js": "./dist/src/it-dropdown-item.js",
|
|
27
|
+
"./styles/*": "./styles/*"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"dist/src",
|
|
31
|
+
"styles",
|
|
32
|
+
"README.md",
|
|
33
|
+
"AUTHORS",
|
|
34
|
+
"LICENSE",
|
|
35
|
+
"custom-elements.json"
|
|
36
|
+
],
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"bootstrap-italia": "github:italia/bootstrap-italia#5ca55d534319deb559e1860fb0bc121113a78ebf",
|
|
39
|
+
"lit": "^3.3.0",
|
|
40
|
+
"@italia/button": "^0.1.0-alpha.2",
|
|
41
|
+
"@italia/globals": "^0.1.0-alpha.2",
|
|
42
|
+
"@italia/icon": "^0.1.0-alpha.2",
|
|
43
|
+
"@italia/popover": "^0.1.0-alpha.2"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@custom-elements-manifest/analyzer": "^0.10.3",
|
|
47
|
+
"@open-wc/testing": "^4.0.0",
|
|
48
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
49
|
+
"@rollup/plugin-typescript": "^12.1.2",
|
|
50
|
+
"@types/mocha": "^10.0.10",
|
|
51
|
+
"@web/test-runner": "^0.18.2",
|
|
52
|
+
"rimraf": "^6.0.1",
|
|
53
|
+
"rollup": "^4.42.0",
|
|
54
|
+
"rollup-plugin-scss-lit": "^2.1.0",
|
|
55
|
+
"sass": "^1.89.0",
|
|
56
|
+
"tslib": "^2.6.3",
|
|
57
|
+
"typescript": "^5.5.3",
|
|
58
|
+
"@italia/test-config": "^0.0.0",
|
|
59
|
+
"@italia/typescript-config": "^0.0.0"
|
|
60
|
+
},
|
|
61
|
+
"customElements": "custom-elements.json",
|
|
62
|
+
"scripts": {
|
|
63
|
+
"analyze": "cem analyze --litelement --exclude dist",
|
|
64
|
+
"build": "rollup --config rollup.config.js",
|
|
65
|
+
"clean": "rimraf node_modules .turbo .rollup.cache dist coverage",
|
|
66
|
+
"prepublish": "pnpm build",
|
|
67
|
+
"lint": "eslint --ext .ts \"src/**/*.ts\" \"stories/**/*.ts\" \"test/**/*.ts\" && stylelint \"styles/**/*.scss\" \"src/**/*.scss\" && prettier \"src/**/*.ts\" \"stories/**/*.ts\" \"test/**/*.ts\" --check",
|
|
68
|
+
"format": "eslint --fix --ext .ts \"src/**/*.ts\" \"stories/**/*.ts\" \"test/**/*.ts\" && stylelint --fix \"styles/**/*.scss\" \"src/**/*.scss\" && prettier --write \"src/**/*.ts\" \"stories/**/*.ts\" \"test/**/*.ts\"",
|
|
69
|
+
"test": "wtr --coverage --node-resolve --config web-test-runner.config.js",
|
|
70
|
+
"test:watch": "wtr --coverage --node-resolve --config web-test-runner.config.js --watch"
|
|
71
|
+
}
|
|
72
|
+
}
|