@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.
@@ -0,0 +1,3 @@
1
+ export { ItRadio } from './it-radio.js';
2
+ export { ItRadioGroup } from './it-radio-group.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}