@italia/checkbox 1.0.0-alpha.4

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 @@
1
+ {"version":3,"file":"it-checkbox-group.js","sources":["../../../src/it-checkbox-group.ts"],"sourcesContent":["import { FormControl, FormControlController } from '@italia/globals';\nimport { html, PropertyValues } 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 { ItCheckbox } from '@italia/checkbox';\nimport styles from './checkbox-group.scss';\n\n@customElement('it-checkbox-group')\nexport class ItCheckboxGroup extends FormControl {\n static styles = styles;\n\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /** Draws checkboxes inline, side by side. */\n @property({ type: Boolean, reflect: true })\n inline = false;\n\n /** Draws checkboxes in groups. */\n @property({ type: Boolean, reflect: true })\n group = false;\n\n @property({ type: String, reflect: true })\n name = ''; // Il name del gruppo\n\n // Query per le checkbox assegnate nello slot\n @queryAssignedElements({ selector: 'it-checkbox' })\n checkboxes!: ItCheckbox[];\n\n @queryAssignedElements({ slot: 'legend' })\n private _label!: HTMLElement[];\n\n // Override del controller per usare le funzioni di validazione di gruppo\n protected override readonly formControlController: FormControlController = new FormControlController(this, {\n // Il valore è un array dei valori delle checkbox selezionate\n value: (control: FormControl) =>\n (control as ItCheckboxGroup).checkboxes.filter((cb) => cb.checked).map((cb) => cb.value || 'true'),\n // Il name è quello del gruppo\n name: (control: FormControl) => (control as ItCheckboxGroup).name,\n // La validità è gestita da noi con checkValidity di gruppo\n checkValidity: (control: FormControl) => (control as ItCheckboxGroup).checkValidity(),\n reportValidity: (control: FormControl) => (control as ItCheckboxGroup).reportValidity(),\n // Non implementiamo setValue qui, gestito dalle singole checkbox\n setValue: () => {},\n // Ascoltiamo l'input su tutti i cambi di stato delle checkbox\n assumeInteractionOn: ['it-change'],\n });\n\n // Questo state servirà per forzare il re-render del messaggio di errore\n @state()\n private _groupValid = true;\n\n get selectedValues(): string[] {\n if (!this.value) return [];\n try {\n return JSON.parse(this.value);\n } catch {\n return [];\n }\n }\n\n set selectedValues(vals: string[]) {\n this.value = JSON.stringify(vals);\n }\n\n public has(v: string) {\n return this.selectedValues.indexOf(v) >= 0;\n }\n\n override connectedCallback() {\n super.connectedCallback?.();\n this.addEventListener('it-change', this._handleGroupChange);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback?.();\n this.removeEventListener('it-change', this._handleGroupChange);\n }\n\n /**\n * Override: Custom validity check for radio group\n */\n override get validity(): ValidityState {\n // Fallback: create a custom ValidityState-like object\n const valid = !this.required || !!this.value;\n return {\n valid,\n valueMissing: this.required && !this.value,\n typeMismatch: false,\n patternMismatch: false,\n tooLong: false,\n tooShort: false,\n rangeUnderflow: false,\n rangeOverflow: false,\n stepMismatch: false,\n badInput: false,\n customError: this.customValidation && this.validationText?.length > 0,\n } as ValidityState;\n }\n\n // Ascolta gli 'it-change' bubblati dalle singole checkbox\n private _handleGroupChange() {\n // Aggiorna this.value con l'array corrente delle checkbox selezionate\n const selected = this.checkboxes.filter((cb) => cb.checked).map((cb) => cb.value || 'true');\n\n this.value = JSON.stringify(selected);\n\n // Quando qualcosa cambia, ricalcola la validità\n this.handleValidationMessages();\n this.requestUpdate(); // Aggiorna la vista\n }\n\n /**\n * Override di checkValidity per la logica di gruppo.\n */\n override checkValidity(): boolean {\n if (!this.required) {\n return true; // Non è obbligatorio\n }\n\n // Almeno una checkbox deve essere selezionata\n const atLeastOneChecked = this.checkboxes.some((cb) => cb.checked);\n\n // Aggiorna lo stato di validità del gruppo\n this._groupValid = atLeastOneChecked;\n\n return atLeastOneChecked;\n }\n\n /**\n * Override di reportValidity per mostrare l'errore a livello di gruppo.\n */\n override reportValidity(): boolean {\n // Chiama la logica di validazione personalizzata\n const isValid = this.checkValidity();\n\n // Aggiorna il messaggio di validazione se invalido\n if (!isValid) {\n this.validationMessage = this.$t('validityGroupRequired'); // Usa la tua chiave di traduzione per \"Campo obbligatorio\"\n } else {\n this.validationMessage = '';\n }\n\n // Forzare l'aggiornamento di FormControlController che gestirà data-invalid/data-valid\n this.formControlController.updateValidity();\n this.requestUpdate();\n\n return isValid;\n }\n\n /**\n * Il tuo FormControl ha già un handleValidationMessages che\n * setta this.validationMessage. Aggiorniamolo per la logica di gruppo.\n */\n protected override handleValidationMessages() {\n if (!this.customValidation && this.formControlController.submittedOnce) {\n this.validationMessage = this.checkValidity() ? '' : this.$t('validityGroupRequired');\n }\n if (this.customValidation) {\n this.validationMessage = this.inputElement.validationMessage;\n }\n }\n\n /**\n * Sync group state (name, grouped, inline, required, disabled, checked) to child checkboxes\n * This replaces the need for requestUpdate() calls\n */\n private _syncGroupStateToChildren() {\n if (!this.checkboxes || this.checkboxes.length === 0) {\n return;\n }\n\n this.checkboxes.forEach((cb) => {\n // eslint-disable-next-line no-param-reassign\n cb.name = this.name;\n // eslint-disable-next-line no-param-reassign\n cb.group = this.group || !this.inline;\n // eslint-disable-next-line no-param-reassign\n cb.inline = this.inline;\n // eslint-disable-next-line no-param-reassign\n cb.required = this.required;\n\n if (this.disabled) {\n // eslint-disable-next-line no-param-reassign\n cb.disabled = this.disabled;\n }\n if (!cb.hasAttribute('checked')) {\n // eslint-disable-next-line no-param-reassign\n cb.checked = this.has(cb.value);\n }\n });\n }\n\n updated(changed: PropertyValues) {\n super.updated(changed);\n\n // Update radios when value or name changes\n if (changed.has('value') || (changed.has('validationText') && this.customValidation)) {\n // Re-validate after value change (for native validation) only if validation was already triggered\n\n this.handleValidationMessages();\n }\n\n // If relevant group properties changed, sync to child checkboxes\n const relevant = ['group', 'inline', 'name', 'required', 'disabled', 'value'];\n const hasChanged = Array.from(changed.keys()).some((k) => relevant.includes(String(k)));\n if (hasChanged && this.checkboxes?.length) {\n this._syncGroupStateToChildren();\n }\n }\n\n // Render per mostrare l'errore (usa la tua logica di rendering dell'errore)\n // All'interno di ItCheckboxGroup (metodo render)\n\n override render() {\n const showValidation = this.formControlController.submittedOnce || this.customValidation; // true; // this._touched || this.customValidation;\n const validityMessage = (showValidation ? this.validationMessage : '') ?? '';\n\n // Determina lo stato di invalidità in base alla validazione di gruppo\n const invalid = validityMessage?.length > 0 || !this._groupValid;\n\n const errorId = `invalid-feedback-${this._id}`;\n\n // Messaggio di validazione per il gruppo\n const validityMessageRender = html`<div\n role=\"alert\"\n id=\"${errorId}\"\n class=\"form-feedback just-validate-error-label\"\n ?hidden=${!(validityMessage?.length > 0)}\n >\n <span class=\"visually-hidden\">${this._label?.[0]?.textContent || ''}: </span>\n ${validityMessage}\n </div>`;\n\n // il pattern per errori nel form è stato preso da qui https://design-system.w3.org/styles/form-errors.html\n return html`\n <fieldset\n class=\"it-checkbox-group it-form__control\"\n id=\"${this._id}\"\n aria-describedby=${ifDefined(invalid ? errorId : undefined)}\n aria-required=${ifDefined(this.required ? 'true' : undefined)}\n part=\"fieldset\"\n >\n <legend part=\"legend\">\n <slot name=\"legend\"></slot>\n </legend>\n\n <slot @slotchange=${this._handleSlotChange}></slot>\n ${when(invalid, () => validityMessageRender)}\n </fieldset>\n `;\n }\n\n public override setCustomValidity(message: string) {\n if (!this.customValidation) {\n this.inputElement.setCustomValidity(message);\n this.validationMessage = this.inputElement.validationMessage;\n } else {\n this.validationMessage = message;\n }\n this.formControlController.updateValidity();\n }\n\n // Metodo per gestire l'assegnazione iniziale e re-assegnazione delle checkbox\n private _handleSlotChange() {\n // Dopo l'assegnazione, forziamo un controllo di validità per inizializzare _groupValid\n this.handleValidationMessages();\n this.requestUpdate();\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { FormControl, FormControlController } from '@italia/globals';
2
+ export declare class ItCheckbox extends FormControl {
3
+ static styles: import("lit").CSSResultGroup;
4
+ protected readonly formControlController: FormControlController;
5
+ /**
6
+ * The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults
7
+ * to `text`.
8
+ */
9
+ type: string;
10
+ /** Draws the checkbox in a checked state. */
11
+ checked: boolean;
12
+ /** Draws checkboxes inline, side by side. */
13
+ inline: boolean;
14
+ /** Draws checkboxes in groups. */
15
+ group: boolean;
16
+ /**
17
+ * Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a "select
18
+ * all/none" behavior when associated checkboxes have a mix of checked and unchecked states.
19
+ */
20
+ indeterminate: boolean;
21
+ labelElements: HTMLElement[];
22
+ get label(): string;
23
+ /** The input's help text. */
24
+ supportText: string;
25
+ /** Simulates a click on the checkbox. */
26
+ click(): void;
27
+ connectedCallback(): void;
28
+ updated(changedProperties: Map<string | number | symbol, unknown>): void;
29
+ protected _handleClick(e: Event): void;
30
+ private _renderInput;
31
+ render(): import("lit").TemplateResult<1>;
32
+ }
33
+ declare global {
34
+ interface HTMLElementTagNameMap {
35
+ 'it-checkbox': ItCheckbox;
36
+ }
37
+ }
38
+ //# sourceMappingURL=it-checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"it-checkbox.d.ts","sourceRoot":"","sources":["../../src/it-checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAWpF,qBACa,UAAW,SAAQ,WAAW;IACzC,MAAM,CAAC,MAAM,+BAAU;IAEvB,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAO5D;IAEH;;;OAGG;IACH,IAAI,SAAc;IAElB,6CAA6C;IAE7C,OAAO,UAAS;IAEhB,6CAA6C;IAE7C,MAAM,UAAS;IAEf,kCAAkC;IAElC,KAAK,UAAS;IAEd;;;OAGG;IACyC,aAAa,UAAS;IAGlE,aAAa,EAAG,WAAW,EAAE,CAAC;IAE9B,IAAI,KAAK,IAAI,MAAM,CAKlB;IAED,6BAA6B;IAE7B,WAAW,SAAM;IAEjB,yCAAyC;IACzC,KAAK;IAII,iBAAiB;IAOjB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC;cAWvD,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAS/C,OAAO,CAAC,YAAY;IA4CX,MAAM;CAyChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}