@italia/radio 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 +11 -0
- package/README.md +106 -0
- package/custom-elements.json +852 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +9 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/it-radio-group.d.ts +117 -0
- package/dist/src/it-radio-group.d.ts.map +1 -0
- package/dist/src/it-radio-group.js +1725 -0
- package/dist/src/it-radio-group.js.map +1 -0
- package/dist/src/it-radio.d.ts +70 -0
- package/dist/src/it-radio.d.ts.map +1 -0
- package/dist/src/it-radio.js +1459 -0
- package/dist/src/it-radio.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"it-radio.js","sources":["../../../src/it-radio.ts"],"sourcesContent":["import { BaseComponent } from '@italia/globals';\nimport { html } from 'lit';\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js';\nimport { when } from 'lit/directives/when.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { type ItRadioGroup } from '@italia/radio';\n\nimport styles from './radio.scss';\n\n@customElement('it-radio')\nexport class ItRadio extends BaseComponent {\n static styles = styles;\n\n /** The radio's value attribute */\n @property({ type: String, reflect: true })\n value = '';\n\n /** Whether the radio is disabled */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Draws the radio in a checked state. */\n @property({ type: Boolean, reflect: true })\n checked = false;\n\n /** The input's help text. */\n @property({ type: String, attribute: 'support-text' })\n supportText = '';\n\n /**\n * Internal reactive state synced from group\n * These replace the old getters that read from this.group\n */\n @state()\n private _name = '';\n\n @state()\n private _grouped = false;\n\n @state()\n private _required = false;\n\n @state()\n private _inline = false;\n\n @queryAssignedElements({ slot: 'label' })\n labelElements!: HTMLElement[];\n\n get label(): string {\n if (this.labelElements.length > 0) {\n return this.labelElements[0].innerText.trim();\n }\n return '';\n }\n\n get group(): ItRadioGroup | null {\n return this.closest('it-radio-group');\n }\n\n // Public getters now read from internal state (reactive)\n get name(): string {\n return this._name || this.group?.name || '';\n }\n\n get grouped(): boolean {\n return this._grouped;\n }\n\n get required(): boolean {\n return this._required;\n }\n\n get inline(): boolean {\n return this._inline;\n }\n\n get invalid(): boolean {\n // Read aria-invalid explicitly from the group: only the string \"true\" should be considered invalid\n const aria = this.group?.getAttribute ? this.group.getAttribute('aria-invalid') : null;\n return aria === 'true';\n }\n\n /**\n * PUBLIC API: Called by group to sync state\n * This replaces the need for requestUpdate() calls\n */\n syncFromGroup(groupState: { name?: string; grouped?: boolean; required?: boolean; inline?: boolean }): void {\n if (groupState.name !== undefined) this._name = groupState.name;\n if (groupState.grouped !== undefined) this._grouped = groupState.grouped;\n if (groupState.required !== undefined) this._required = groupState.required;\n if (groupState.inline !== undefined) this._inline = groupState.inline;\n }\n /**\n * Activate the radio via the group's public API\n */\n\n private activate(event: KeyboardEvent | PointerEvent | MouseEvent): void {\n if (this.checked || this.disabled) {\n return;\n }\n\n // Use the group's public API if available\n if (this.group) {\n this.group.selectRadio(this, event);\n } else {\n // Fallback if no group (shouldn't happen in normal usage)\n this.checked = true;\n }\n }\n\n /**\n * Handle keyup for Space key\n */\n private handleKeyup = (event: KeyboardEvent): void => {\n if (event.code === 'Space') {\n event.preventDefault();\n this.activate(event);\n }\n };\n\n /**\n * Handle keydown - delegate arrow keys to the group\n */\n private handleKeydown = (event: KeyboardEvent): void => {\n // Prevent Space from scrolling the page\n if (event.code === 'Space') {\n event.preventDefault();\n return;\n }\n\n // Let Tab and Shift+Tab work normally for navigation\n if (event.key === 'Tab') {\n this.group?.handleRadioKeyDown(this, event);\n return;\n }\n\n // Only prevent default for arrow keys (to prevent page scrolling)\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {\n event.preventDefault();\n }\n\n // Delegate keyboard navigation to the group's public API\n this.group?.handleRadioKeyDown(this, event);\n };\n\n /**\n * Handle click on the host\n */\n private handleClick = (event: PointerEvent | MouseEvent): void => {\n this.activate(event);\n };\n\n override connectedCallback() {\n super.connectedCallback?.();\n\n // Set role on host for screen reader context\n this.setAttribute('role', 'radio');\n\n // Set initial tabindex if not already set (roving tabindex will be managed by group)\n if (!this.hasAttribute('tabindex')) {\n this.tabIndex = 0;\n }\n\n // Add event listeners on host\n this.addEventListener('click', this.handleClick);\n this.addEventListener('keydown', this.handleKeydown, { capture: true });\n this.addEventListener('keyup', this.handleKeyup, { capture: true });\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback?.();\n this.removeEventListener('click', this.handleClick);\n this.removeEventListener('keydown', this.handleKeydown, { capture: true });\n this.removeEventListener('keyup', this.handleKeyup, { capture: true });\n }\n\n override updated(changedProperties: Map<string | number | symbol, unknown>) {\n super.updated?.(changedProperties);\n\n // Update ARIA attributes on host\n if (changedProperties.has('checked')) {\n this.setAttribute('aria-checked', this.checked ? 'true' : 'false');\n }\n\n if (changedProperties.has('disabled')) {\n if (this.disabled) {\n this.setAttribute('aria-disabled', 'true');\n } else {\n this.removeAttribute('aria-disabled');\n }\n }\n\n // Sync name attribute from internal state\n if (changedProperties.has('_name')) {\n if (this._name) {\n this.setAttribute('name', this._name);\n } else {\n this.removeAttribute('name');\n }\n }\n\n // Sync aria-required from internal state\n if (changedProperties.has('_required')) {\n if (this._required) {\n this.setAttribute('aria-required', 'true');\n } else {\n this.removeAttribute('aria-required');\n }\n }\n\n // logger\n if (!this.label) {\n this.logger.warn(`Label is required to ensure accessibility. Please, define a label for <it-radio/> .`);\n }\n }\n\n /**\n * Render internal structure (like Spectrum)\n * Just visual elements, no role/aria/events here (they're on the host)\n */\n // eslint-disable-next-line class-methods-use-this\n private _renderInput() {\n // Render visual elements like Spectrum does\n // #input = container, #button = visual circle\n const inputRender = html`\n <div id=\"input\" part=\"input\"></div>\n <span id=\"button\" part=\"button\" class=\"form-check-input\"></span>\n `;\n\n return inputRender;\n }\n\n // Render the UI as a function of component state\n override render() {\n const supportTextId = `${this._id}-support-text`;\n\n const supportTextRender = html` ${when(\n this.supportText,\n () =>\n html`<slot name=\"helpText\"><small class=\"form-text\" id=\"${supportTextId}\">${this.supportText}</small></slot>`,\n )}`;\n\n const wrapperClasses = this.composeClass(\n 'form-check',\n this.inline && !this.grouped ? 'form-check-inline' : '',\n this.grouped && !this.inline ? 'form-check-group' : '',\n );\n const ariaDescribedBy = this.composeClass(\n this.supportText?.length > 0 ? supportTextId : '',\n this._ariaAttributes['aria-describedby']?.length > 0 ? this._ariaAttributes['aria-describedby'] : '',\n );\n const controlClasses = this.composeClass('radio-control', this.grouped ? 'radio-control-grouped' : '');\n const labelClasses = this.composeClass('radio-control-label', this.disabled ? 'disabled' : '');\n\n return html`\n <div class=\"${wrapperClasses}\" part=\"input-wrapper\" aria-describedby=\"${ifDefined(ariaDescribedBy || undefined)}\">\n <div id=\"radio-control\" part=\"radio-control\" class=\"${controlClasses}\">\n ${this._renderInput()}\n <span part=\"label\" class=\"${labelClasses}\"><slot name=\"label\">${this.label}</slot></span>\n </div>\n ${supportTextRender}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'it-radio': ItRadio;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@italia/radio",
|
|
3
|
+
"description": "Web component it-radio 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/radio"
|
|
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-radio.js": "./dist/src/it-radio.js",
|
|
26
|
+
"./it-radio-group.js": "./dist/src/it-radio-group.js",
|
|
27
|
+
"./styles/*": "./styles/*"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"dist/src",
|
|
31
|
+
"README.md",
|
|
32
|
+
"AUTHORS",
|
|
33
|
+
"LICENSE",
|
|
34
|
+
"custom-elements.json"
|
|
35
|
+
],
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"bootstrap-italia": "github:italia/bootstrap-italia#5ca55d534319deb559e1860fb0bc121113a78ebf",
|
|
38
|
+
"lit": "^3.3.0",
|
|
39
|
+
"@italia/globals": "^0.1.0-alpha.2"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@custom-elements-manifest/analyzer": "^0.10.3",
|
|
43
|
+
"@open-wc/testing": "^4.0.0",
|
|
44
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
45
|
+
"@rollup/plugin-typescript": "^12.1.2",
|
|
46
|
+
"@types/mocha": "^10.0.10",
|
|
47
|
+
"@web/test-runner": "^0.18.2",
|
|
48
|
+
"rimraf": "^6.0.1",
|
|
49
|
+
"rollup": "^4.42.0",
|
|
50
|
+
"rollup-plugin-scss-lit": "^2.1.0",
|
|
51
|
+
"tslib": "^2.6.3",
|
|
52
|
+
"typescript": "^5.5.3",
|
|
53
|
+
"@italia/test-config": "^0.0.0",
|
|
54
|
+
"@italia/typescript-config": "^0.0.0"
|
|
55
|
+
},
|
|
56
|
+
"customElements": "custom-elements.json",
|
|
57
|
+
"scripts": {
|
|
58
|
+
"analyze": "cem analyze --litelement --exclude dist",
|
|
59
|
+
"build": "rollup --config rollup.config.js",
|
|
60
|
+
"clean": "rimraf node_modules .turbo .rollup.cache dist coverage",
|
|
61
|
+
"lint": "eslint --ext .ts \"src/**/*.ts\" \"test/**/*.ts\" && stylelint \"src/**/*.scss\" && prettier \"src/**/*.ts\" \"test/**/*.ts\" --check",
|
|
62
|
+
"format": "eslint --ext .ts \"src/**/*.ts\" \"test/**/*.ts\" --fix && stylelint \"src/**/*.scss\" --fix && prettier \"src/**/*.ts\" \"test/**/*.ts\" --write",
|
|
63
|
+
"test": "wtr --coverage --node-resolve --config web-test-runner.config.js"
|
|
64
|
+
}
|
|
65
|
+
}
|