kit

Copyable

Built revision v17.10.0

React
Topics

Human support

Bring a missing role, layout, or state, or a rendering against the standard, to the session working on kit. Name the package and the entry.

On Record, Unavailable, Issued document

Copyable

Calendar address
https://oakmerehall.uk/calendar/willowbrook-choir/3f9c1a7b.ics
Calendar file
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oakmere Hall//Willowbrook Choir rehearsals//EN
X-WR-CALNAME:Willowbrook Choir rehearsals at Oakmere Hall, Tuesdays and Thursdays
BEGIN:VEVENT
UID:3f9c1a7b-rehearsal-2026-10-06@oakmerehall.uk
DTSTART;TZID=Europe/London:20261006T190000
DTEND;TZID=Europe/London:20261006T210000
SUMMARY:Full rehearsal, main hall, bring the autumn concert scores
LOCATION:Oakmere Hall, Station Road, Willowbrook
END:VEVENT
END:VCALENDAR
Booking letter

Dear Oakmere Hall bookings team, The Willowbrook Choir would like to book the main hall on Tuesday and Thursday evenings from 7 pm to 9 pm, from 6 October to 10 December, for its weekly rehearsals. We expect about forty singers and ask that the piano be tuned before the first rehearsal. Please send the booking form and the deposit to this address. Kind regards, Margaret Ellison Secretary, Willowbrook Choir

Source
@react.component
let make = () =>
  <KitReact.Roles.FactGroup>
  <KitReact.Roles.LabelledFact
    name={React.string("Calendar address")}
    value={Copyable({address: true, value: "https://oakmerehall.uk/calendar/willowbrook-choir/3f9c1a7b.ics"})}
  />
  <KitReact.Roles.LabelledFact
    name={React.string("Calendar file")}
    value={Copyable({
      value: "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:-//Oakmere Hall//Willowbrook Choir rehearsals//EN\nX-WR-CALNAME:Willowbrook Choir rehearsals at Oakmere Hall, Tuesdays and Thursdays\nBEGIN:VEVENT\nUID:3f9c1a7b-rehearsal-2026-10-06@oakmerehall.uk\nDTSTART;TZID=Europe/London:20261006T190000\nDTEND;TZID=Europe/London:20261006T210000\nSUMMARY:Full rehearsal, main hall, bring the autumn concert scores\nLOCATION:Oakmere Hall, Station Road, Willowbrook\nEND:VEVENT\nEND:VCALENDAR",
      code: {maxLines: 6},
    })}
  />
  <KitReact.Roles.LabelledFact
    name={React.string("Booking letter")}
    value={Copyable({
      prose: true,
      value: "Dear Oakmere Hall bookings team,\n\nThe Willowbrook Choir would like to book the main hall on Tuesday and Thursday evenings from 7 pm to 9 pm, from 6 October to 10 December, for its weekly rehearsals.\n\nWe expect about forty singers and ask that the piano be tuned before the first rehearsal. Please send the booking form and the deposit to this address.\n\nKind regards,\nMargaret Ellison\nSecretary, Willowbrook Choir",
    })}
  />
  </KitReact.Roles.FactGroup>

Copyable, copied

Calendar address
https://oakmerehall.uk/calendar/willowbrook-choir/3f9c1a7b.ics
Source
@react.component
let make = () =>
  <KitReact.Roles.FactGroup>
  <KitReact.Roles.LabelledFact
    name={React.string("Calendar address")}
    value={Copyable({address: true, value: "https://oakmerehall.uk/calendar/willowbrook-choir/3f9c1a7b.ics", copied: true})}
  />
  </KitReact.Roles.FactGroup>

Copyable, inert

Calendar address
https://oakmerehall.uk/calendar/willowbrook-choir/3f9c1a7b.ics

Copy waits until the address is made.

Calendar file
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oakmere Hall//Willowbrook Choir rehearsals//EN
X-WR-CALNAME:Willowbrook Choir rehearsals at Oakmere Hall, Tuesdays and Thursdays
BEGIN:VEVENT
UID:3f9c1a7b-rehearsal-2026-10-06@oakmerehall.uk
DTSTART;TZID=Europe/London:20261006T190000
DTEND;TZID=Europe/London:20261006T210000
SUMMARY:Full rehearsal, main hall, bring the autumn concert scores
LOCATION:Oakmere Hall, Station Road, Willowbrook
END:VEVENT
END:VCALENDAR

Copy waits until the file is made.

Source
@react.component
let make = () =>
  <KitReact.Roles.FactGroup>
  <KitReact.Roles.LabelledFact
    name={React.string("Calendar address")}
    value={Copyable({
      address: true, value: "https://oakmerehall.uk/calendar/willowbrook-choir/3f9c1a7b.ics",
      props: {id: "role-copyable-inert-calendar-address"},
      actionState: Inert({id: "role-copyable-inert-calendar-address-copy", words: [KitReact.Words.Text("Copy waits until the address is made.")]}),
    })}
  />
  <KitReact.Roles.LabelledFact
    name={React.string("Calendar file")}
    value={Copyable({
      value: "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:-//Oakmere Hall//Willowbrook Choir rehearsals//EN\nX-WR-CALNAME:Willowbrook Choir rehearsals at Oakmere Hall, Tuesdays and Thursdays\nBEGIN:VEVENT\nUID:3f9c1a7b-rehearsal-2026-10-06@oakmerehall.uk\nDTSTART;TZID=Europe/London:20261006T190000\nDTEND;TZID=Europe/London:20261006T210000\nSUMMARY:Full rehearsal, main hall, bring the autumn concert scores\nLOCATION:Oakmere Hall, Station Road, Willowbrook\nEND:VEVENT\nEND:VCALENDAR",
      code: {maxLines: 6},
      props: {id: "role-copyable-inert-calendar-file"},
      actionState: Inert({id: "role-copyable-inert-calendar-file-copy", words: [KitReact.Words.Text("Copy waits until the file is made.")]}),
    })}
  />
  </KitReact.Roles.FactGroup>