PageSourceSearch

https://patrimonio-europeo.netlify.app/assets/Filters-Ct8Jl5oe.js

js patrimonio-europeo.netlify.app collected 2026-10-03 11:15:19 UTC 11,524 bytes, 1 lines download raw bytes

1import{r as b,j as e,u as I,a as W,D as $,E as G,F as V,G as z,I as H}from"./index-BuUAovMk.js";import{S as r}from"./SearchableSelect-B5crqhVK.js";function K({value:p,onChange:g,onSearch:a,placeholder:l}){const[n,m]=b.useState(p||""),t=b.useRef(null);b.useEffect(()=>{m(p||"")},[p]);const s=u=>{const d=u.target.value;m(d),t.current&&clearTimeout(t.current),t.current=setTimeout(()=>g(d),300)},f=u=>{u.key==="Enter"&&(t.current&&(clearTimeout(t.current),g(n)),a&&a())};return e.jsx("div",{className:"autocomplete-wrapper",children:e.jsx("input",{type:"text",value:n,onChange:s,onKeyDown:f,placeholder:l,className:"autocomplete-input"})})}const Y="/assets/de-CCA-Hyzi.jpg",J="/assets/at-BppfjkYH.jpg",X="/assets/ch-BKBo8BL3.jpg",Q="/assets/ro-CXdxhdR5.jpg",Z="/assets/lb-BUfmw3qU.jpg",ee="/assets/tn-DfpJu-il.jpg",ie="/assets/us-Bq64YcLF.jpg",se="/assets/mx-B-uR29wR.jpg",ae={España:H,Italia:z,Francia:V,Portugal:G,Alemania:Y,"Reino Unido":$,Austria:J,Suiza:X,Rumanía:Q,Líbano:Z,Túnez:ee,"Estados Unidos":ie,México:se};function te({onSearch:p,onMonumentSelect:g}){const{filters:a,filtros:l,setFilter:n,resetFilters:m,reloadFiltros:t}=I(),{t:s}=W(),[f,u]=b.useState(()=>typeof window<"u"?window.innerWidth>768:!0),d=(i,o)=>i?.map(c=>{const v=`${o}.${c.value}`,h=s(v),U=h&&h!==v&&h!==c.value;return{...c,label:U?h:c.label||c.value}})||[],x=(i,o)=>{n(i,o)},y=async(i,o)=>{const c={...a,[i]:o};await t(c)},j=async(i,o)=>{n(i,o),await y(i,o)},k=async i=>{n("pais",i),n("region",""),n("provincia",""),n("municipio",""),await t({...a,pais:i,region:"",provincia:"",municipio:""})},F=async i=>{n("region",i),n("provincia",""),n("municipio",""),await t({...a,region:i,provincia:"",municipio:""})},T=async i=>{n("provincia",i),n("municipio",""),await t({...a,provincia:i,municipio:""})},R=i=>{n("municipio",i)},E=[{value:"religiosa",label:s("filters.classifications.religious")},{value:"militar",label:s("filters.classifications.military")},{value:"civil",label:s("filters.classifications.civil")},{value:"arqueologica",label:s("filters.classifications.archaeological")},{value:"etnologica",label:s("filters.classifications.ethnological")},{value:"infraestructura",label:s("filters.classifications.infrastructure")},{value:"otros",label:s("filters.classifications.others")}],P=async i=>{n("clasificacion",i),i&&n("tipo_monumento",""),await t({...a,clasificacion:i,tipo_monumento:i?"":a.tipo_monumento})},L=async i=>{n("tipo_monumento",i),i&&n("clasificacion",""),await t({...a,tipo_monumento:i,clasificacion:i?"":a.clasificacion})},A=async i=>{n("estilo",i),await y("estilo",i)},B=async i=>{n("periodo",i),await y("periodo",i)},S=i=>{i.preventDefault(),p?.()},q=()=>{m(),p?.()};if(!l)return null;const N=(()=>{switch(a.pais){case"Portugal":return{region:s("filters.portugal.region"),provincia:s("filters.portugal.province"),municipio:s("filters.portugal.municipality")};case"Francia":return{region:s("filters.france.region"),provincia:s("filters.france.province"),municipio:s("filters.france.municipality")};case"Italia":return{region:s("filters.italy.region"),provincia:s("filters.italy.province"),municipio:s("filters.italy.municipality")};default:return{region:s("filters.region"),provincia:s("filters.province"),municipio:s("filters.municipality")}}})(),C={region:s("filters.allRegions"),provincia:s("filters.allProvinces"),municipio:s("filters.allMunicipalities")},D=a.pais?l.regiones.filter(i=>i.pais===a.pais):l.regiones,O=(l.provincias||[]).filter(i=>(!a.pais||i.pais===a.pais)&&(!a.region||i.region===a.region)),w=a.pais||a.region||a.provincia,M=w?(l.municipios||[]).filter(i=>(!a.pais||i.pais===a.pais)&&(!a.region||i.region===a.region)&&(!a.provincia||i.provincia===a.provincia)):[],_=[a.pais,a.region,a.provincia,a.municipio,a.clasificacion,a.tipo_monumento,a.periodo,a.evento,a.evento_padre,a.estilo].filter(Boolean).length+(a.solo_wikidata?1:0)+(a.solo_imagen?1:0)+((a.hn_listas||[]).length>0?1:0);return e.jsxs("form",{className:"filters",onSubmit:S,children:[e.jsxs("div",{className:"filters-row filters-row-always",children:[e.jsxs("div",{className:"filter-group filter-group-search",children:[e.jsx("label",{children:s("filters.search")}),e.jsx(K,{value:a.q,onChange:i=>x("q",i),onSearch:p,onSelect:g,placeholder:s("filters.searchPlaceholder")})]}),e.jsxs("button",{type:"button",className:"filters-toggle-btn",onClick:()=>u(i=>!i),"aria-expanded":f,children:[e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("line",{x1:"4",y1:"6",x2:"20",y2:"6"}),e.jsx("line",{x1:"7",y1:"12",x2:"17",y2:"12"}),e.jsx("line",{x1:"10",y1:"18",x2:"14",y2:"18"})]}),e.jsx("span",{children:f?s("filters.hideFilters","Ocultar filtros"):s("filters.showFilters","Más filtros")}),_>0&&e.jsx("span",{className:"filters-toggle-badge",children:_})]})]}),e.jsxs("div",{className:`filters-advanced ${f?"open":""}`,children:[e.jsxs("details",{className:"filter-panel",children:[e.jsxs("summary",{className:"filter-panel-summary",children:[e.jsx("span",{className:"filter-panel-icon",children:"📍"}),e.jsx("span",{children:s("filters.panelLocation","Ubicación")})]}),e.jsxs("div",{className:"filters-row",children:[l.paises&&l.paises.length>1&&e.jsxs("div",{className:"filter-group",children:[e.jsx("label",{children:s("filters.country")}),e.jsx(r,{value:a.pais,onChange:k,options:d(l.paises,"filters.countries").map(i=>({...i,flag:ae[i.value]||null})),placeholder:s("filters.allCountries")})]}),e.jsxs("div",{className:"filter-group",children:[e.jsx("label",{children:N.region}),e.jsx(r,{value:a.region,onChange:F,options:D,placeholder:C.region})]}),e.jsxs("div",{className:"filter-group",children:[e.jsx("label",{children:N.provincia}),e.jsx(r,{value:a.provincia,onChange:T,options:O,placeholder:C.provincia})]}),e.jsxs("div",{className:"filter-group",children:[e.jsx("label",{children:N.municipio}),e.jsx(r,{value:a.municipio,onChange:R,options:M,placeholder:w?C.municipio:s("filters.selectFilterFirst"),disabled:!w})]})]})]}),e.jsxs("details",{className:"filter-panel",children:[e.jsxs("summary",{className:"filter-panel-summary",children:[e.jsx("span",{className:"filter-panel-icon",children:"🏛️"}),e.jsx("span",{children:s("filters.panelType","Tipo y clasificación")})]}),e.jsxs("div",{className:"filters-row",children:[e.jsxs("div",{className:"filter-group",children:[e.jsx("label",{children:s("filters.classification")}),e.jsx(r,{value:a.clasificacion,onChange:P,options:E,placeholder:s("filters.allClassifications")})]}),l.tipos_monumento?.length>0&&e.jsxs("div",{className:"filter-group",children:[e.jsx("label",{children:s("filters.monumentType")}),e.jsx(r,{value:a.tipo_monumento,onChange:L,options:d(l.tipos_monumento,"filters.monumentTypes"),placeholder:s("filters.allMonumentTypes")})]}),l.periodos?.length>0&&e.jsxs("div",{className:"filter-group",children:[e.jsx("label",{children:s("filters.period")}),e.jsx(r,{value:a.periodo,onChange:B,options:d(l.periodos,"filters.periods"),placeholder:s("filters.allPeriods")})]}),e.jsxs("div",{className:"filter-group",children:[e.jsx("label",{children:s("filters.style")}),e.jsx(r,{value:a.estilo,onChange:A,options:l.estilos,placeholder:s("filters.allStyles")})]})]})]}),(l.religiones?.length>0||l.dedicaciones?.length>0||l.partes_de?.length>0||l.propietarios?.length>0)&&e.jsxs("details",{className:"filter-panel",children:[e.jsxs("summary",{className:"filter-panel-summary",children:[e.jsx("span",{className:"filter-panel-icon",children:"⚙️"}),e.jsx("span",{children:s("filters.panelWikidata","Propiedades adicionales")})]}),e.jsx("div",{className:"filter-panel-notice",children:s("filters.wikidataNotice","Aplicable solo a bienes con datos enriquecidos de Wikidata. Bienes sin este dato no aparecerán en los resultados al usar estos filtros.")}),e.jsxs("div",{className:"filters-row",children:[l.religiones?.length>0&&e.jsxs("div",{className:"filter-group",children:[e.jsx("label",{children:s("filters.religion","Religión")}),e.jsx(r,{value:a.religion,onChange:i=>j("religion",i),options:l.religiones,placeholder:s("filters.allReligions","Todas las religiones")})]}),l.dedicaciones?.length>0&&e.jsxs("div",{className:"filter-group",children:[e.jsx("label",{children:s("filters.dedicatedTo","Dedicado a")}),e.jsx(r,{value:a.dedicado_a,onChange:i=>j("dedicado_a",i),options:l.dedicaciones,placeholder:s("filters.allDedications","Todas las advocaciones")})]}),l.partes_de?.length>0&&e.jsxs("div",{className:"filter-group",children:[e.jsx("label",{children:s("filters.partOf","Parte de")}),e.jsx(r,{value:a.parte_de,onChange:i=>j("parte_de",i),options:l.partes_de,placeholder:s("filters.allPartsOf","Cualquier conjunto")})]}),l.propietarios?.length>0&&e.jsxs("div",{className:"filter-group",children:[e.jsx("label",{children:s("filters.owner","Propietario")}),e.jsx(r,{value:a.propietario,onChange:i=>j("propietario",i),options:l.propietarios,placeholder:s("filters.allOwners","Todos los propietarios")})]})]})]}),(l.eventos_padres?.length>0||l.eventos?.length>0)&&e.jsxs("details",{className:"filter-panel",children:[e.jsxs("summary",{className:"filter-panel-summary",children:[e.jsx("span",{className:"filter-panel-icon",children:"📜"}),e.jsx("span",{children:s("filters.panelEvents","Eventos históricos")})]}),e.jsxs("div",{className:"filters-row",children:[l.eventos_padres?.length>0&&e.jsxs("div",{className:"filter-group",children:[e.jsx("label",{children:s("filters.eventCategory")}),e.jsx(r,{value:a.evento_padre,onChange:async i=>
1{n("evento_padre",i),i&&n("evento",""),await t({...a,evento_padre:i,evento:i?"":a.evento})},options:d(l.eventos_padres,"filters.events"),placeholder:s("filters.allEventCategories")})]}),l.eventos?.length>0&&e.jsxs("div",{className:"filter-group",children:[e.jsx("label",{children:s("filters.event")}),e.jsx(r,{value:a.evento,onChange:async i=>{n("evento",i),await t({...a,evento:i})},options:d(l.eventos,"filters.events"),placeholder:s("filters.allEvents")})]})]})]}),e.jsxs("div",{className:"filter-panel-flat",children:[e.jsx("div",{className:"filter-group filter-checkbox",children:e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:a.solo_wikidata,onChange:i=>x("solo_wikidata",i.target.checked)}),s("filters.onlyWikipedia")]})}),e.jsx("div",{className:"filter-group filter-checkbox",children:e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:a.solo_imagen,onChange:i=>x("solo_imagen",i.target.checked)}),s("filters.onlyImage")]})}),e.jsxs("div",{className:"filter-group filter-hn-listas",children:[e.jsxs("label",{className:"filter-hn-label",children:["🛡️ ",s("filters.hnListsLabel","Lista Roja de Hispania Nostra")]}),e.jsx("div",{className:"hn-pills",children:[{id:"roja",label:s("filters.hnRoja","Roja"),cls:"hn-pill-roja"},{id:"verde",label:s("filters.hnVerde","Verde"),cls:"hn-pill-verde"},{id:"negra",label:s("filters.hnNegra","Negra"),cls:"hn-pill-negra"}].map(i=>{const o=(a.hn_listas||[]).includes(i.id);return e.jsxs("button",{type:"button",className:`hn-pill ${i.cls} ${o?"active":""}`,onClick:()=>{const c=a.hn_listas||[],v=o?c.filter(h=>h!==i.id):[...c,i.id];x("hn_listas",v)},"aria-pressed":o,children:[e.jsx("span",{className:"hn-pill-dot"}),i.label]},i.id)})})]})]})]}),e.jsxs("div",{className:"filter-actions filter-actions-bottom",children:[e.jsx("button",{type:"submit",className:"btn btn-primary",children:s("filters.search")}),e.jsx("button",{type:"button",className:"btn btn-secondary",onClick:q,children:s("filters.reset")})]})]})}export{te as F};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.