{"version":3,"file":"ProgrammeList.BL9ETJcM.mjs","names":["useMemo","useRef","useState"],"sources":["https:/framerusercontent.com/modules/gAKQWaSZ7ujPtYBNeQc2/HWgw5dFdABlErc2XYjFc/ProgrammeList.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useMemo,useRef,useState}from\"react\";const GOLD=\"rgb(201, 169, 97)\";const TEXT_PRIMARY=\"rgb(232, 223, 200)\";const TEXT_SECONDARY=\"rgb(158, 148, 124)\";const BORDER=\"rgba(255, 255, 255, 0.08)\";export default function ProgrammeList(props){const{firstHalf:firstHalfProp=[],secondHalf:secondHalfProp=[],firstHalfText=\"\",secondHalfText=\"\",firstHalfLabel=\"First Half\",secondHalfLabel=\"Second Half\",intermissionLabel=\"Intermission\",intermissionDuration=\"15 min\",totalDurationNote=\"\"}=props;const parseItems=(raw,fallback)=>{if(!raw||raw.trim().length===0)return fallback;const lines=raw.split(/\\r?\\n/).map(line=>line.trim()).filter(line=>line.length>0);if(lines.length===0)return fallback;return lines.map((line,i)=>{const parts=line.split(\"|\").map(p=>p.trim());return{number:String(i+1).padStart(2,\"0\"),composer:parts[0]??\"\",title:parts[1]??\"\",detail:parts[2]??\"\"};});};const firstHalf=useMemo(()=>parseItems(firstHalfText,firstHalfProp),[firstHalfText,firstHalfProp]);const secondHalf=useMemo(()=>parseItems(secondHalfText,secondHalfProp),[secondHalfText,secondHalfProp]);const containerRef=useRef(null);const[width,setWidth]=useState(1280);useEffect(()=>{const node=containerRef.current;if(!node)return;const ro=new ResizeObserver(entries=>{for(const entry of entries){const w=entry.contentRect.width;if(w>0)setWidth(w);}});ro.observe(node);return()=>ro.disconnect();},[]);const isPhone=width<720;const showIntermission=!!(intermissionLabel||intermissionDuration);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{width:\"100%\",display:\"flex\",flexDirection:\"column\",gap:48},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:isPhone?\"1fr\":\"1fr 1fr\",gap:isPhone?48:\"0px 64px\",alignItems:\"start\"},children:[/*#__PURE__*/_jsx(ProgrammeColumn,{label:firstHalfLabel,items:firstHalf,startNumber:1}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:0},children:[showIntermission&&!isPhone?/*#__PURE__*/_jsx(IntermissionRow,{label:intermissionLabel,duration:intermissionDuration}):null,isPhone&&showIntermission?/*#__PURE__*/_jsx(IntermissionRow,{label:intermissionLabel,duration:intermissionDuration}):null,/*#__PURE__*/_jsx(ProgrammeColumn,{label:secondHalfLabel,items:secondHalf,startNumber:firstHalf.length+1})]})]}),totalDurationNote?/*#__PURE__*/_jsx(\"div\",{style:{paddingTop:24,borderTop:`1px solid ${BORDER}`,fontFamily:\"Inter, sans-serif\",fontSize:13,lineHeight:1.5,color:TEXT_SECONDARY},children:totalDurationNote}):null]});}function ProgrammeColumn({label,items,startNumber}){return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{paddingBottom:16,marginBottom:0,borderBottom:`1px solid ${GOLD}`,opacity:.5},children:/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:\"Inter, sans-serif\",fontWeight:500,fontSize:11,lineHeight:1.2,letterSpacing:\"0.15em\",textTransform:\"uppercase\",color:GOLD},children:label})}),items.map((item,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"row\",gap:20,padding:\"20px 0\",borderBottom:`1px solid ${BORDER}`,alignItems:\"flex-start\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:\"Inter, sans-serif\",fontWeight:400,fontSize:12,lineHeight:1.2,color:TEXT_SECONDARY,opacity:.5,flexShrink:0,paddingTop:2,width:20,textAlign:\"right\"},children:String(startNumber+i).padStart(2,\"0\")}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:4,flex:1,minWidth:0},children:[item.composer?/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:\"Inter, sans-serif\",fontWeight:500,fontSize:11,lineHeight:1.3,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:GOLD},children:item.composer}):null,/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:\"Playfair Display, serif\",fontWeight:500,fontSize:17,lineHeight:1.3,letterSpacing:\"-0.01em\",color:TEXT_PRIMARY},children:item.title}),item.detail?/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:\"Inter, sans-serif\",fontWeight:400,fontSize:12,lineHeight:1.5,color:TEXT_SECONDARY,marginTop:2},children:item.detail}):null]})]},i))]});}function IntermissionRow({label,duration}){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"row\",alignItems:\"center\",gap:12,padding:\"20px 0\",borderBottom:`1px solid ${BORDER}`},children:/*#__PURE__*/_jsxs(\"span\",{style:{fontFamily:\"Inter, sans-serif\",fontWeight:500,fontSize:11,lineHeight:1.2,letterSpacing:\"0.15em\",textTransform:\"uppercase\",color:GOLD},children:[label,duration?` — ${duration}`:\"\"]})});}addPropertyControls(ProgrammeList,{firstHalfLabel:{type:ControlType.String,title:\"Left Column Label\",defaultValue:\"First Half\"},firstHalf:{type:ControlType.Array,title:\"Left Column Items\",control:{type:ControlType.Object,controls:{composer:{type:ControlType.String,defaultValue:\"Composer\"},title:{type:ControlType.String,defaultValue:\"Piece Title\",displayTextArea:true},detail:{type:ControlType.String,defaultValue:\"\",displayTextArea:true}}},defaultValue:[]},firstHalfText:{type:ControlType.String,title:\"Left Column (text)\",description:\"Newline-separated. Format: composer | title | detail. Overrides array when set.\",defaultValue:\"\",displayTextArea:true},secondHalfLabel:{type:ControlType.String,title:\"Right Column Label\",defaultValue:\"Second Half\"},secondHalf:{type:ControlType.Array,title:\"Right Column Items\",control:{type:ControlType.Object,controls:{composer:{type:ControlType.String,defaultValue:\"Composer\"},title:{type:ControlType.String,defaultValue:\"Piece Title\",displayTextArea:true},detail:{type:ControlType.String,defaultValue:\"\",displayTextArea:true}}},defaultValue:[]},secondHalfText:{type:ControlType.String,title:\"Right Column (text)\",description:\"Newline-separated. Format: composer | title | detail. Overrides array when set.\",defaultValue:\"\",displayTextArea:true},intermissionLabel:{type:ControlType.String,title:\"Intermission Label\",defaultValue:\"\"},intermissionDuration:{type:ControlType.String,title:\"Intermission Duration\",defaultValue:\"\"},totalDurationNote:{type:ControlType.String,title:\"Duration Note\",defaultValue:\"\",displayTextArea:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ProgrammeList\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProgrammeList.map"],"mappings":"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"}