{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/DQ0OuM9wQBTxK5voggjk/inh47cwt6wswRluThcXX/ListFilters.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{Data}from\"framer\";const data=Data({selectedDate:undefined,dateFrom:undefined,dateTo:undefined,selectedAge:undefined});function formatISOStringToInputDate(isoString){if(!isoString)return undefined;return isoString.split(\"T\")[0]// Rimuove la parte del tempo e lascia solo `YYYY-MM-DD`\n;}/**\n * DatePicker: Componente per selezione della data\n */export function DatePicker({min,max}){const minFormatted=formatISOStringToInputDate(min);const maxFormatted=formatISOStringToInputDate(max);const[localDate,setLocalDate]=useState(data.selectedDate);useEffect(()=>{// Sincronizza `localDate` con `data.selectedDate`\nconst interval=setInterval(()=>{if(localDate!==data.selectedDate){setLocalDate(data.selectedDate);}},100);return()=>clearInterval(interval)// Pulisce l'intervallo al momento dell'unmount\n;},[localDate]);const onValueChange=e=>{const value=e.target.value;if(value===\"\"){data.selectedDate=undefined;setLocalDate(undefined);}else{data.selectedDate=value;setLocalDate(data.selectedDate);}};return /*#__PURE__*/_jsx(\"input\",{type:\"date\",min:minFormatted,max:maxFormatted,value:localDate||\"\",onChange:onValueChange,style:{width:\"200px\",height:\"40px\",padding:\"10px\",fontSize:\"14px\",backgroundColor:\"#FFF\",border:\"1px solid #FFADB8\",color:\"#777\",borderRadius:\"10px\"}});}// Aggiungi controlli per rendere i props configurabili nell'editor di Framer\naddPropertyControls(DatePicker,{min:{type:ControlType.Date,title:\"Min Date\"},max:{type:ControlType.Date,title:\"Max Date\"}});/**\n * AgeSelector: Componente per selezione dell'et\u00E0\n */export function AgeSelector(){const ages=Array.from({length:13},(_,i)=>i)// Et\u00E0 da 0 a 12\n;const[selectedAge,setSelectedAge]=useState(data.selectedAge);useEffect(()=>{data.selectedAge=selectedAge;},[selectedAge]);const handleAgeChange=e=>{const value=e.target.value;if(value===\"\"){setSelectedAge(undefined)// Nessuna et\u00E0 selezionata\n;}else{setSelectedAge(Number(value))// Imposta l'et\u00E0 selezionata\n;}};return /*#__PURE__*/_jsxs(\"select\",{value:selectedAge!==undefined?selectedAge:\"\",onChange:handleAgeChange,style:{width:\"200px\",height:\"40px\",padding:\"10px\",fontSize:\"14px\",backgroundColor:\"#FFF\",border:\"1px solid #FFADB8\",color:\"#777\",borderRadius:\"10px\"},children:[/*#__PURE__*/_jsx(\"option\",{value:\"\",children:\"Tutte le et\\xe0\"}),ages.map(age=>/*#__PURE__*/_jsx(\"option\",{value:age,children:age===12?\"12+\":age},age))]});}/**\n * Code Override: Filtro per data ed et\u00E0\n */export function withFilters(Component){return props=>{const[selectedDate,setSelectedDate]=useState(data.selectedDate);const[selectedAge,setSelectedAge]=useState(data.selectedAge);// Usa uno stato per memorizzare i valori iniziali di dateFrom, dateTo, age_from e age_to\nconst[initialValues]=useState({dateFrom:props.dateFrom,dateTo:props.dateTo,ageFrom:undefined,ageTo:undefined});useEffect(()=>{// Polling per rilevare i cambiamenti in data.selectedDate e data.selectedAge\nconst interval=setInterval(()=>{if(data.selectedDate!==selectedDate){setSelectedDate(data.selectedDate);}if(data.selectedAge!==selectedAge){setSelectedAge(data.selectedAge);}},100);return()=>clearInterval(interval)// Pulizia al momento dell'unmount\n;},[selectedDate,selectedAge]);// Determina age_from e age_to in base all'et\u00E0 selezionata\nconst ageFrom=selectedAge!==undefined?selectedAge===12?12:selectedAge:undefined;const ageTo=selectedAge!==undefined?selectedAge===12?99:selectedAge:undefined;const newProps={...props,dateFrom:selectedDate?`${selectedDate}T00:00:00.000Z`:initialValues.dateFrom,dateTo:selectedDate?`${selectedDate}T00:00:00.000Z`:initialValues.dateTo,ageFrom:ageFrom!==undefined?ageFrom:initialValues.ageFrom,ageTo:ageTo!==undefined?ageTo:initialValues.ageTo};return /*#__PURE__*/_jsx(Component,{...newProps});};}\nexport const __FramerMetadata__ = {\"exports\":{\"DatePicker\":{\"type\":\"reactComponent\",\"name\":\"DatePicker\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"AgeSelector\":{\"type\":\"reactComponent\",\"name\":\"AgeSelector\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"withFilters\":{\"type\":\"reactHoc\",\"name\":\"withFilters\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ListFilters.map"],
  "mappings": "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",
  "names": ["data", "Data", "formatISOStringToInputDate", "isoString", "DatePicker", "min", "max", "minFormatted", "maxFormatted", "localDate", "setLocalDate", "ye", "ue", "interval", "p", "e", "value", "addPropertyControls", "ControlType", "AgeSelector", "ages", "_", "i", "selectedAge", "setSelectedAge", "u", "age", "withFilters", "Component", "props", "selectedDate", "setSelectedDate", "initialValues", "ageFrom", "ageTo", "newProps"]
}
