@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":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { ItRadio } from './it-radio.js';
|
|
2
|
+
export { ItRadioGroup } from './it-radio-group.js';
|
|
3
|
+
import '../form-control-CdxVvcex.js';
|
|
4
|
+
import 'lit/directive.js';
|
|
5
|
+
import 'lit/decorators.js';
|
|
6
|
+
import 'lit';
|
|
7
|
+
import 'lit/directives/when.js';
|
|
8
|
+
import 'lit/directives/if-defined.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { PropertyValues } from 'lit';
|
|
2
|
+
import { FormControl } from '@italia/globals';
|
|
3
|
+
import type { ItRadio } from '@italia/radio';
|
|
4
|
+
/**
|
|
5
|
+
* Radio group component - manages a collection of radio buttons
|
|
6
|
+
*
|
|
7
|
+
* @element it-radio-group
|
|
8
|
+
* @slot - Contains the `<it-radio>` elements
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
export declare class ItRadioGroup extends FormControl {
|
|
12
|
+
static styles: import("lit").CSSResultGroup;
|
|
13
|
+
static formAssociated: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* The name of the radio group, used for form submission
|
|
16
|
+
*/
|
|
17
|
+
name: string;
|
|
18
|
+
/**
|
|
19
|
+
* The currently selected value
|
|
20
|
+
*/
|
|
21
|
+
value: string;
|
|
22
|
+
/**
|
|
23
|
+
* Whether the radio group is disabled
|
|
24
|
+
*/
|
|
25
|
+
disabled: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether a selection is required
|
|
28
|
+
*/
|
|
29
|
+
required: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Optional prop for visual styling of grouped radios (borders between radios)
|
|
32
|
+
*/
|
|
33
|
+
grouped: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Whether the radios are displayed inline (horizontally) or stacked (vertically)
|
|
36
|
+
*/
|
|
37
|
+
inline: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Get all slotted radio buttons
|
|
40
|
+
*/
|
|
41
|
+
private _radios;
|
|
42
|
+
private _label;
|
|
43
|
+
/**
|
|
44
|
+
* Track if validation has been triggered (via reportValidity or setCustomValidity)
|
|
45
|
+
* ARIA best practice: don't show aria-invalid until user attempts submission
|
|
46
|
+
*/
|
|
47
|
+
private _validationTriggered;
|
|
48
|
+
/**
|
|
49
|
+
* Roving tabindex controller for keyboard navigation
|
|
50
|
+
*/
|
|
51
|
+
private rovingTabindex;
|
|
52
|
+
/**
|
|
53
|
+
* Form control integration
|
|
54
|
+
*/
|
|
55
|
+
private _formController;
|
|
56
|
+
/**
|
|
57
|
+
* Override: Custom validity check for radio group
|
|
58
|
+
*/
|
|
59
|
+
get validity(): ValidityState;
|
|
60
|
+
/**
|
|
61
|
+
* Override: Check validity for radio group
|
|
62
|
+
*/
|
|
63
|
+
checkValidity(): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Override: Report validity for radio group
|
|
66
|
+
*/
|
|
67
|
+
reportValidity(): boolean;
|
|
68
|
+
/** Sets a custom validation message. Pass an empty string to restore validity. */
|
|
69
|
+
setCustomValidity(message: string): void;
|
|
70
|
+
protected handleValidationMessages(): void;
|
|
71
|
+
private _updateInvalidState;
|
|
72
|
+
/**
|
|
73
|
+
* Update validation message in light DOM (for aria-describedby cross-boundary support)
|
|
74
|
+
*/
|
|
75
|
+
private _updateValidationMessage;
|
|
76
|
+
connectedCallback(): void;
|
|
77
|
+
firstUpdated(): void;
|
|
78
|
+
private updateRadios;
|
|
79
|
+
disconnectedCallback(): void;
|
|
80
|
+
/**
|
|
81
|
+
* Sync group value from checked radio (initialization)
|
|
82
|
+
*/
|
|
83
|
+
private _syncValueFromRadios;
|
|
84
|
+
/**
|
|
85
|
+
* PUBLIC API: Called by radio buttons to select themselves
|
|
86
|
+
*/
|
|
87
|
+
selectRadio(radio: ItRadio, event: KeyboardEvent | PointerEvent | MouseEvent): void;
|
|
88
|
+
/**
|
|
89
|
+
* PUBLIC API: Handle keyboard navigation from radio buttons
|
|
90
|
+
*/
|
|
91
|
+
handleRadioKeyDown(radio: ItRadio, event: KeyboardEvent): void;
|
|
92
|
+
/**
|
|
93
|
+
* Synchronize radio button states with group state
|
|
94
|
+
*/
|
|
95
|
+
private _updateRadiosState;
|
|
96
|
+
/**
|
|
97
|
+
* Sync group state (name, grouped, inline, required) to child radios
|
|
98
|
+
* This replaces the need for requestUpdate() calls
|
|
99
|
+
*/
|
|
100
|
+
private _syncGroupStateToRadios;
|
|
101
|
+
updated(changed: PropertyValues): void;
|
|
102
|
+
/**
|
|
103
|
+
* Handle slot changes (when radios are added/removed)
|
|
104
|
+
*/
|
|
105
|
+
private _handleSlotChange;
|
|
106
|
+
private _handleLabelSlotChange;
|
|
107
|
+
/**
|
|
108
|
+
* Render the component
|
|
109
|
+
*/
|
|
110
|
+
render(): import("lit").TemplateResult<1>;
|
|
111
|
+
}
|
|
112
|
+
declare global {
|
|
113
|
+
interface HTMLElementTagNameMap {
|
|
114
|
+
'it-radio-group': ItRadioGroup;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=it-radio-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"it-radio-group.d.ts","sourceRoot":"","sources":["../../src/it-radio-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAmD,MAAM,iBAAiB,CAAC;AAC/F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C;;;;;;GAMG;AACH,qBACa,YAAa,SAAQ,WAAW;IAC3C,MAAM,CAAC,MAAM,+BAAU;IAEvB,MAAM,CAAC,cAAc,UAAQ;IAE7B;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,KAAK,SAAM;IAEX;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,OAAO,UAAS;IAEhB;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,OAAO,CAAC,OAAO,CAAa;IAG5B,OAAO,CAAC,MAAM,CAAiB;IAE/B;;;OAGG;IAEH,OAAO,CAAC,oBAAoB,CAAS;IAErC;;OAEG;IACH,OAAO,CAAC,cAAc,CAKnB;IAEH;;OAEG;IACH,OAAO,CAAC,eAAe,CAOpB;IAEH;;OAEG;IACH,IAAa,QAAQ,IAAI,aAAa,CAgBrC;IAED;;OAEG;IACM,aAAa,IAAI,OAAO;IAOjC;;OAEG;IACM,cAAc,IAAI,OAAO;IAQlC,kFAAkF;IAClE,iBAAiB,CAAC,OAAO,EAAE,MAAM;cAa9B,wBAAwB;IAS3C,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4ChC,iBAAiB;IAMjB,YAAY;YAQE,YAAY;IAc1B,oBAAoB;IAIpB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI;IAuCnF;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAO9D;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwC1B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,OAAO,EAAE,cAAc;IA2B/B;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAKvB;IAEF,OAAO,CAAC,sBAAsB,CAI5B;IAEF;;OAEG;IACH,MAAM;CAmBP;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,YAAY,CAAC;KAChC;CACF"}
|