empty
No invoices yet. An invoice stands here once a booking is confirmed.
A List filtered to nothing, its words naming the filter.
No invoices are overdue.
A Settings section whose list is empty, its Scope line kept.
Sections
Closures
Closures apply to every room in the hall.
No closures yet. Days the hall is shut stand here, and no booking can be taken on them.
A Settings section with several lists under its heading, one empty beside a full one.
Sections
Members
People who can sign in
Takes bookings
Sees the calendar
Invitations waiting for an answer
None right now. An invitation stands here until it is accepted.
An empty Record, its local tabs kept.
This invoice has no lines yet. Lines stand here once a booking is added.
An empty Reports, its controls and count kept.
Schedule
No scheduled delivery.
No bookings in this period. Figures stand here once a booking is invoiced.
Nothing booked this week. Start a booking on any day.
Choose a hall before starting a booking.
Choose a hall before importing bookings.
Nothing booked this week. Start a booking on any day.
Choose a hall before starting a booking.
Choose a hall before importing bookings.
An empty Calendar day by Room, one Room's name long.
An empty Calendar month.
Nothing booked this month. Start a booking on any day.
Nothing booked this month. Start a booking on any day.
An empty Field result.
No checks are due in the Meeting Room today.
A Home whose every region is empty.
Needs your attention
Nothing needs you right now.
Assigned to you
Hires assigned to you show here.
Followed changes
Changes to records you follow show here. Follow a record from its page.
A Home whose assigned work stands in two groups, one of them empty.
Needs your attention
Nothing needs you right now.
Assigned to you
Today
Main Hall
This week
No hires this week.
Followed changes
Changes to records you follow show here. Follow a record from its page.
A Record whose bookings and history are empty.
Oakmere WI hire
- Hirer
- Oakmere WI
Bookings
No bookings yet.
History
Changes to this hire show here.
An empty region whose next action waits, its words beneath it.
Invitations
No invitations yet. People you invite stand here until they accept.
Add an email address before inviting someone.
Invitations
No invitations yet. People you invite stand here until they accept.
Add an email address before inviting someone.
Choose a hall before importing invitations.
A Headed region standing alone with nothing in it yet.
Key holders
No key holders yet. Anyone given a key to the hall shows here.
Source
<Kit.Phoenix.Layouts.List.list subject_state={Kit.Phoenix.State.empty("No invoices yet. An invoice stands here once a booking is confirmed.")}>
<:state_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action href="../layout-form/#layout-form">Raise an invoice</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:state_action>
<:state_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Import invoices</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:state_action>
<:rows rest={%{"aria-label": "Invoices"}} />
</Kit.Phoenix.Layouts.List.list>
<p class="specimen-case-line">A List filtered to nothing, its words naming the filter.</p>
<Kit.Phoenix.Layouts.List.list subject_state={Kit.Phoenix.State.empty("No invoices are overdue.")}>
<:state_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action href="../list/">Clear the filter</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:state_action>
<:rows rest={%{"aria-label": "Invoices"}} />
</Kit.Phoenix.Layouts.List.list>
<p class="specimen-case-line">A Settings section whose list is empty, its Scope line kept.</p>
<Kit.Phoenix.Layouts.Settings.settings id="state-empty-settings" subject_state={Kit.Phoenix.State.none()} section_index_rest={%{"aria-label": "Hall settings"}} section_index_patch="../../settings/" section="closures" section_index={[%Kit.Phoenix.Layouts.Settings.Entry{section: "hall-details", name: "Hall details"}, %Kit.Phoenix.Layouts.Settings.Entry{section: "closures", name: "Closures"}]} section_heading_id="empty-closures-title" section_index_label="Sections">
<:selected_section rest={%{"aria-labelledby": "empty-closures-title"}} scope_line="Closures apply to every room in the hall." />
<:form_or_list state={Kit.Phoenix.WorkState.empty("No closures yet. Days the hall is shut stand here, and no booking can be taken on them.")} />
<:form_or_list_empty_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Add a closure</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:form_or_list_empty_action>
<:form_or_list_empty_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Copy closures from another hall</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:form_or_list_empty_action>
</Kit.Phoenix.Layouts.Settings.settings>
<p class="specimen-case-line">A Settings section with several lists under its heading, one empty beside a full one.</p>
<Kit.Phoenix.Layouts.Settings.settings id="state-empty-settings-2" subject_state={Kit.Phoenix.State.none()} section_index_rest={%{"aria-label": "Hall settings"}} section_index_patch="../../settings/" section="members" section_index={[%Kit.Phoenix.Layouts.Settings.Entry{section: "hall-details", name: "Hall details"}, %Kit.Phoenix.Layouts.Settings.Entry{section: "members", name: "Members"}]} section_heading_id="empty-lists-members-title" section_index_label="Sections">
<:selected_section rest={%{"aria-labelledby": "empty-lists-members-title"}} />
<:form_or_list>
<Kit.Phoenix.Roles.HeadedRegion.headed_region heading="People who can sign in">
<:content>
<Kit.Phoenix.Roles.Row.row>
<:subject element="span">Margaret Hollingsworth</:subject>
<:facts>Takes bookings</:facts>
</Kit.Phoenix.Roles.Row.row>
<Kit.Phoenix.Roles.Row.row>
<:subject element="span">Aisha Rahman</:subject>
<:facts>Sees the calendar</:facts>
</Kit.Phoenix.Roles.Row.row>
</:content>
</Kit.Phoenix.Roles.HeadedRegion.headed_region>
<Kit.Phoenix.Roles.HeadedRegion.headed_region heading="Invitations waiting for an answer" state={Kit.Phoenix.WorkState.empty("None right now. An invitation stands here until it is accepted.")}>
<:content />
<:empty_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Invite someone</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:empty_action>
<:empty_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Share a sign-up link</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:empty_action>
</Kit.Phoenix.Roles.HeadedRegion.headed_region>
</:form_or_list>
</Kit.Phoenix.Layouts.Settings.settings>
<p class="specimen-case-line">An empty Record, its local tabs kept.</p>
<Kit.Phoenix.Layouts.Record.record subject_state={Kit.Phoenix.State.empty("This invoice has no lines yet. Lines stand here once a booking is added.")} local_tabs_id="state-empty-invoice-facets" local_tabs_label="Invoice facets">
<:local_tabs current href="#state-empty" rest={%{"aria-current": "location"}}>Invoice</:local_tabs>
<:local_tabs href="#state-empty">History</:local_tabs>
<:state_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Add a booking</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:state_action>
<:state_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Add a note</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:state_action>
</Kit.Phoenix.Layouts.Record.record>
<p class="specimen-case-line">An empty Reports, its controls and count kept.</p>
<Kit.Phoenix.Layouts.Reports.reports id="state-empty-reports" subject_state={Kit.Phoenix.State.empty("No bookings in this period. Figures stand here once a booking is invoiced.")} period_filters_schedule_rest={%{"aria-label": "Report controls"}} clear_filters_href="?period=last_month">
<:period>
<Kit.Phoenix.Roles.FormGroup.form_group id="empty-report-period">
<:label>Period</:label>
<:control_set :let={binding}>
<Kit.Phoenix.Roles.DateRange.date_range binding={binding} reader={reader()} name="period" current_preset="last_month" today={Kit.Phoenix.Time.day(reader(), ~D[2025-03-10])} direction={:backward} last={Kit.Phoenix.Time.day(reader(), ~D[2025-03-10])} compare={:previous_period} />
</:control_set>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:period>
<:filters id="empty-report-filters" label="Filters" count={%Kit.Phoenix.Roles.Count{reader: reader(), count: 1, counts: "filters", forms: %{one: "filter"}}}>
<Kit.Phoenix.Layouts.List.Filter.filter id="empty-report-hirer-filter" name="Hirer" applied="Oakmere Primary School" clear_href="?period=last_month">
<Kit.Phoenix.Roles.FormGroup.form_group id="empty-report-hirer-form-group" kind={Kit.Phoenix.Roles.FormGroup.Kind.search()} control_value="Oakmere Primary School" control_rest={%{id: "empty-report-hirer", name: "hirer"}}>
<:label rest={%{for: "empty-report-hirer"}}>Hirer</:label>
</Kit.Phoenix.Roles.FormGroup.form_group>
</Kit.Phoenix.Layouts.List.Filter.filter>
</:filters>
<:schedule>
<Kit.Phoenix.Roles.Disclosure.disclosure>
<:summary>Schedule</:summary>
<:content><p>No scheduled delivery.</p></:content>
</Kit.Phoenix.Roles.Disclosure.disclosure>
</:schedule>
<:state_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action href="#state-empty">Choose another period</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:state_action>
<:state_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Clear the filters</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:state_action>
<:count_continuation>
<p><Kit.Phoenix.Roles.Amount.amount value={Kit.Phoenix.Amount.count(reader(), 0)} /> hirers</p>
</:count_continuation>
</Kit.Phoenix.Layouts.Reports.reports>
<p class="specimen-case-line" id="state-empty-menu-subject">An empty Calendar week with an inert action and disabled More, its hours kept.</p>
<Kit.Phoenix.Layouts.Calendar.calendar :let={subject_region} subject_state={Kit.Phoenix.State.empty("Nothing booked this week. Start a booking on any day.")} range_days={Kit.Phoenix.Time.day_range(reader(), ~D[2025-04-21], ~D[2025-04-23])} toolbar_rest={%{"aria-label": "Calendar controls"}} scope_id="state-empty-calendar-filters" filters_label="Filters">
<:today label="Today" /><:previous label="Previous week" href="?week=previous" rest={%{rel: "prev"}} /><:next label="Next week" href="?week=next" rest={%{rel: "next"}} /><:date><Kit.Phoenix.Roles.FormGroup.form_group id="empty-date"><:label>Go to a date</:label><:control :let={binding}><Kit.Phoenix.Roles.DateField.date_field binding={binding} reader={reader()} name="date" value={Kit.Phoenix.Roles.DateField.Committed.day(Kit.Phoenix.Time.day(reader(), ~D[2025-04-21]))} today={Kit.Phoenix.Time.day(reader(), ~D[2025-04-21])} direction={:either} /></:control></Kit.Phoenix.Roles.FormGroup.form_group></:date>
<:scope><Kit.Phoenix.Roles.FormGroup.form_group id="state-empty-calendar-scope-form-group" kind={Kit.Phoenix.Roles.FormGroup.Kind.select()} control_rest={%{id: "state-empty-calendar-scope"}}><:label rest={%{for: "state-empty-calendar-scope"}}>Hall</:label><:option value="all">All halls</:option></Kit.Phoenix.Roles.FormGroup.form_group></:scope>
<:view><Kit.Phoenix.Roles.FormGroup.form_group id="state-empty-calendar-view-form-group"><:label>View</:label><:control_set :let={binding}><Kit.Phoenix.Roles.SegmentedControl.segmented_control binding={binding} name="state-empty-calendar-view" value="week"><:option value="week">Week</:option><:option value="day">Day</:option><:option value="month">Month</:option></Kit.Phoenix.Roles.SegmentedControl.segmented_control></:control_set></Kit.Phoenix.Roles.FormGroup.form_group></:view>
<:actions><Kit.Phoenix.Roles.PrimaryAction.primary_action>New booking</Kit.Phoenix.Roles.PrimaryAction.primary_action></:actions>
<:state_action action="secondary-action" action_state={Kit.Phoenix.ActionState.inert("empty-calendar-new", "Choose a hall before starting a booking.")}>New booking</:state_action>
<:state_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Add a closure</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:state_action>
<:state_action id="empty-calendar-more" label="More actions for this calendar" action_state={Kit.Phoenix.ActionState.disabled("empty-calendar-more-trigger", "Choose a hall before importing bookings.")} groups={[Kit.Phoenix.Menu.group([Kit.Phoenix.Menu.item("Import bookings"), Kit.Phoenix.Menu.item("Copy bookings from another week")])]} />
<Kit.Phoenix.Layouts.Calendar.desk_grid subject_region={subject_region} columns={3} time_gutter_rest={%{"aria-label": "Times"}}>
<:column_head :for={date <- Date.range(~D[2025-04-21], ~D[2025-04-23])} column={Kit.Phoenix.Layouts.Calendar.Column.day(Kit.Phoenix.Time.day(reader(), date))} />
<:hour :for={hour <- (for hour <- [~T[09:00:00], ~T[10:00:00], ~T[11:00:00], ~T[12:00:00]], do: Kit.Phoenix.Time.clock(reader(), hour))} time={hour} />
<:column :for={_date <- Date.range(~D[2025-04-21], ~D[2025-04-23])}></:column>
</Kit.Phoenix.Layouts.Calendar.desk_grid>
<Kit.Phoenix.Layouts.Calendar.days subject_region={subject_region}>
<Kit.Phoenix.Layouts.Calendar.day :for={date <- Date.range(~D[2025-04-21], ~D[2025-04-23])} day={Kit.Phoenix.Time.day(reader(), date)}>
<:empty>Nothing booked</:empty>
</Kit.Phoenix.Layouts.Calendar.day>
</Kit.Phoenix.Layouts.Calendar.days>
</Kit.Phoenix.Layouts.Calendar.calendar>
<p class="specimen-case-line">An empty Calendar day by Room, one Room's name long.</p>
<Kit.Phoenix.Layouts.Shell.shell print_identity={@print.identity} print_subject={@print.subject} print_standing={@print.standing} print_tenant={@print.tenant} product="kit" navigation_label="Application" navigation="none" density="desk">
<:subject>Calendar</:subject>
<:lede_range days={Kit.Phoenix.Time.day(reader(), ~D[2025-04-24])} />
<:body>
<Kit.Phoenix.Layouts.Calendar.calendar :let={subject_region} subject_state={Kit.Phoenix.State.empty("Nothing booked this day. Start a booking in any room.")} range_days={Kit.Phoenix.Time.day(reader(), ~D[2025-04-24])} toolbar_rest={%{"aria-label": "Calendar controls"}} scope_id="state-empty-rooms-filters" filters_label="Filters">
<:today label="Today" /><:previous label="Previous day" href="?day=previous" rest={%{rel: "prev"}} /><:next label="Next day" href="?day=next" rest={%{rel: "next"}} /><:date><Kit.Phoenix.Roles.FormGroup.form_group id="empty-date-2"><:label>Go to a date</:label><:control :let={binding}><Kit.Phoenix.Roles.DateField.date_field binding={binding} reader={reader()} name="date" value={Kit.Phoenix.Roles.DateField.Committed.day(Kit.Phoenix.Time.day(reader(), ~D[2025-04-24]))} today={Kit.Phoenix.Time.day(reader(), ~D[2025-04-24])} direction={:either} /></:control></Kit.Phoenix.Roles.FormGroup.form_group></:date>
<:scope><Kit.Phoenix.Roles.FormGroup.form_group id="state-empty-rooms-scope-form-group" kind={Kit.Phoenix.Roles.FormGroup.Kind.select()} control_rest={%{id: "state-empty-rooms-scope"}}><:label rest={%{for: "state-empty-rooms-scope"}}>Hall</:label><:option value="all">All halls</:option></Kit.Phoenix.Roles.FormGroup.form_group></:scope>
<:view><Kit.Phoenix.Roles.FormGroup.form_group id="state-empty-rooms-view-form-group"><:label>View</:label><:control_set :let={binding}><Kit.Phoenix.Roles.SegmentedControl.segmented_control binding={binding} name="state-empty-rooms-view" value="day"><:option value="week">Week</:option><:option value="day">Day</:option><:option value="month">Month</:option></Kit.Phoenix.Roles.SegmentedControl.segmented_control></:control_set></Kit.Phoenix.Roles.FormGroup.form_group></:view>
<:actions><Kit.Phoenix.Roles.PrimaryAction.primary_action>New booking</Kit.Phoenix.Roles.PrimaryAction.primary_action></:actions>
<:state_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>New booking</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:state_action>
<:state_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Add a closure</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:state_action>
<Kit.Phoenix.Layouts.Calendar.desk_grid subject_region={subject_region} columns={7} time_gutter_rest={%{"aria-label": "Times"}}>
<:column_head :for={room <- ["Main Hall", "Meeting Room", "Memorial Room", "Upper Room above the Old Schoolhouse Porch", "Kitchen", "Garden Room", "Vestry"]} column={Kit.Phoenix.Layouts.Calendar.Column.room(room)} />
<:hour :for={hour <- (for hour <- 7..22, do: Kit.Phoenix.Time.clock(reader(), Time.new!(hour, 0, 0)))} time={hour} />
<:column :for={_room <- 1..7}></:column>
</Kit.Phoenix.Layouts.Calendar.desk_grid>
<Kit.Phoenix.Layouts.Calendar.days subject_region={subject_region}>
<Kit.Phoenix.Layouts.Calendar.day day={Kit.Phoenix.Time.day(reader(), ~D[2025-04-24])}>
<:empty>Nothing booked</:empty>
</Kit.Phoenix.Layouts.Calendar.day>
</Kit.Phoenix.Layouts.Calendar.days>
</Kit.Phoenix.Layouts.Calendar.calendar>
</:body>
</Kit.Phoenix.Layouts.Shell.shell>
<p class="specimen-case-line">An empty Calendar month.</p>
<Kit.Phoenix.Layouts.Calendar.calendar :let={subject_region} subject_state={Kit.Phoenix.State.empty("Nothing booked this month. Start a booking on any day.")} range_days={Kit.Phoenix.Time.month(reader(), 2027, 2)} toolbar_rest={%{"aria-label": "Calendar controls"}} scope_id="state-empty-month-filters" filters_label="Filters">
<:today label="Today" /><:previous label="Previous month" href="?month=previous" rest={%{rel: "prev"}} /><:next label="Next month" href="?month=next" rest={%{rel: "next"}} /><:date><Kit.Phoenix.Roles.FormGroup.form_group id="empty-date-3"><:label>Go to a date</:label><:control :let={binding}><Kit.Phoenix.Roles.DateField.date_field binding={binding} reader={reader()} name="date" value={Kit.Phoenix.Roles.DateField.Committed.day(Kit.Phoenix.Time.day(reader(), ~D[2027-02-01]))} today={Kit.Phoenix.Time.day(reader(), ~D[2027-02-01])} direction={:either} /></:control></Kit.Phoenix.Roles.FormGroup.form_group></:date>
<:scope><Kit.Phoenix.Roles.FormGroup.form_group id="state-empty-month-scope-form-group" kind={Kit.Phoenix.Roles.FormGroup.Kind.select()} control_rest={%{id: "state-empty-month-scope"}}><:label rest={%{for: "state-empty-month-scope"}}>Hall</:label><:option value="all">All halls</:option></Kit.Phoenix.Roles.FormGroup.form_group></:scope>
<:view><Kit.Phoenix.Roles.FormGroup.form_group id="state-empty-month-view-form-group"><:label>View</:label><:control_set :let={binding}><Kit.Phoenix.Roles.SegmentedControl.segmented_control binding={binding} name="state-empty-month-view" value="month"><:option value="week">Week</:option><:option value="day">Day</:option><:option value="month">Month</:option></Kit.Phoenix.Roles.SegmentedControl.segmented_control></:control_set></Kit.Phoenix.Roles.FormGroup.form_group></:view>
<:actions><Kit.Phoenix.Roles.PrimaryAction.primary_action>New booking</Kit.Phoenix.Roles.PrimaryAction.primary_action></:actions>
<:state_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>New booking</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:state_action>
<:state_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Add a closure</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:state_action>
<Kit.Phoenix.Layouts.Calendar.month_grid subject_region={subject_region} columns={7}>
<:column_head :for={weekday <- ~w(Mon Tue Wed Thu Fri Sat Sun)}><strong>{weekday}</strong></:column_head>
<Kit.Phoenix.Layouts.Calendar.month_cell :for={date <- Date.range(~D[2027-02-01], ~D[2027-02-28])} day={Kit.Phoenix.Time.day_number(reader(), date)} />
</Kit.Phoenix.Layouts.Calendar.month_grid>
<Kit.Phoenix.Layouts.Calendar.days subject_region={subject_region}>
<Kit.Phoenix.Layouts.Calendar.day :for={date <- Date.range(~D[2027-02-01], ~D[2027-02-28])} day={Kit.Phoenix.Time.day(reader(), date)}>
<:empty>Nothing booked</:empty>
</Kit.Phoenix.Layouts.Calendar.day>
</Kit.Phoenix.Layouts.Calendar.days>
</Kit.Phoenix.Layouts.Calendar.calendar>
<p class="specimen-case-line">An empty Field result.</p>
<Kit.Phoenix.Layouts.FieldResult.field_result subject_state={Kit.Phoenix.State.empty("No checks are due in the Meeting Room today.")}>
<:state_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action icon="arrow-left" href="#state-empty">Back to bookings</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:state_action>
<:state_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Choose another room</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:state_action>
</Kit.Phoenix.Layouts.FieldResult.field_result>
<p class="specimen-case-line">A Home whose every region is empty.</p>
<Kit.Phoenix.Layouts.Home.home subject_state={Kit.Phoenix.State.empty("Nothing needs you right now.")}>
<:attention rest={%{"aria-labelledby": "state-empty-attention-title"}} heading="Needs your attention" heading_rest={%{id: "state-empty-attention-title"}}></:attention>
<:assigned_upcoming rest={%{"aria-labelledby": "state-empty-assigned-title"}} heading="Assigned to you" heading_rest={%{id: "state-empty-assigned-title"}} state={Kit.Phoenix.WorkState.empty("Hires assigned to you show here.")}></:assigned_upcoming>
<:assigned_upcoming_empty_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action href="../layout-calendar/#layout-calendar">Open the calendar</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:assigned_upcoming_empty_action>
<:assigned_upcoming_empty_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>New booking</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:assigned_upcoming_empty_action>
<:followed_changes rest={%{"aria-labelledby": "state-empty-changes-title"}} heading="Followed changes" heading_rest={%{id: "state-empty-changes-title"}} state={Kit.Phoenix.WorkState.empty("Changes to records you follow show here. Follow a record from its page.")}></:followed_changes>
</Kit.Phoenix.Layouts.Home.home>
<p class="specimen-case-line">A Home whose assigned work stands in two groups, one of them empty.</p>
<Kit.Phoenix.Layouts.Home.home subject_state={Kit.Phoenix.State.empty("Nothing needs you right now.")}>
<:attention rest={%{"aria-labelledby": "state-empty-grouped-attention-title"}} heading="Needs your attention" heading_rest={%{id: "state-empty-grouped-attention-title"}}></:attention>
<:assigned_upcoming rest={%{"aria-labelledby": "state-empty-grouped-assigned-title"}} heading="Assigned to you" heading_rest={%{id: "state-empty-grouped-assigned-title"}}>
<Kit.Phoenix.Roles.HeadedRegion.headed_region heading="Today">
<:content>
<Kit.Phoenix.Roles.Row.row>
<:subject href="../layout-record/#layout-record">Oakmere WI</:subject>
<:facts>Main Hall</:facts>
</Kit.Phoenix.Roles.Row.row>
</:content>
</Kit.Phoenix.Roles.HeadedRegion.headed_region>
<Kit.Phoenix.Roles.HeadedRegion.headed_region heading="This week" state={Kit.Phoenix.WorkState.empty("No hires this week.")}><:content /></Kit.Phoenix.Roles.HeadedRegion.headed_region>
</:assigned_upcoming>
<:followed_changes rest={%{"aria-labelledby": "state-empty-grouped-changes-title"}} heading="Followed changes" heading_rest={%{id: "state-empty-grouped-changes-title"}} state={Kit.Phoenix.WorkState.empty("Changes to records you follow show here. Follow a record from its page.")}></:followed_changes>
</Kit.Phoenix.Layouts.Home.home>
<p class="specimen-case-line">A Record whose bookings and history are empty.</p>
<Kit.Phoenix.Layouts.Record.record subject_state={Kit.Phoenix.State.none()}>
<:facts_related_records rest={%{"aria-labelledby": "state-empty-hire-title"}} heading="Oakmere WI hire" heading_rest={%{id: "state-empty-hire-title"}}>
<Kit.Phoenix.Roles.FactGroup.fact_group>
<Kit.Phoenix.Roles.LabelledFact.labelled_fact>
<:name>Hirer</:name><:value>Oakmere WI</:value>
</Kit.Phoenix.Roles.LabelledFact.labelled_fact>
</Kit.Phoenix.Roles.FactGroup.fact_group>
<Kit.Phoenix.Roles.HeadedRegion.headed_region heading="Bookings" state={Kit.Phoenix.WorkState.empty("No bookings yet.")}>
<:content />
<:empty_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action href="../layout-calendar/#layout-calendar">New booking</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:empty_action>
<:empty_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Import bookings</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:empty_action>
</Kit.Phoenix.Roles.HeadedRegion.headed_region>
</:facts_related_records>
<:notes_files_history rest={%{"aria-labelledby": "state-empty-history-title"}} heading="History" heading_rest={%{id: "state-empty-history-title"}} empty="Changes to this hire show here."></:notes_files_history>
</Kit.Phoenix.Layouts.Record.record>
<p class="specimen-case-line" id="state-empty-inert-action">An empty region whose next action waits, its words beneath it.</p>
<Kit.Phoenix.Roles.HeadedRegion.headed_region heading="Invitations" state={Kit.Phoenix.WorkState.empty("No invitations yet. People you invite stand here until they accept.")}>
<:content />
<:empty_action action="secondary-action" action_state={Kit.Phoenix.ActionState.inert("empty-invitation-waiting", "Add an email address before inviting someone.")}>Invite someone</:empty_action>
</Kit.Phoenix.Roles.HeadedRegion.headed_region>
<p class="specimen-case-line" id="state-empty-menu-region">An empty region with a disabled action and inert More, their words together.</p>
<Kit.Phoenix.Roles.HeadedRegion.headed_region heading="Invitations" state={Kit.Phoenix.WorkState.empty("No invitations yet. People you invite stand here until they accept.")}>
<:content />
<:empty_action action="secondary-action" action_state={Kit.Phoenix.ActionState.disabled("empty-invitation-new", "Add an email address before inviting someone.")}>Invite someone</:empty_action>
<:empty_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Share a sign-up link</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:empty_action>
<:empty_action id="empty-invitation-more" label="More actions for invitations" action_state={Kit.Phoenix.ActionState.inert("empty-invitation-more-trigger", "Choose a hall before importing invitations.")} groups={[Kit.Phoenix.Menu.group([Kit.Phoenix.Menu.item("Import invitations"), Kit.Phoenix.Menu.item("Copy invitations from another hall")])]} />
</Kit.Phoenix.Roles.HeadedRegion.headed_region>
<p class="specimen-case-line">A Headed region standing alone with nothing in it yet.</p>
<Kit.Phoenix.Roles.HeadedRegion.headed_region heading="Key holders" state={Kit.Phoenix.WorkState.empty("No key holders yet. Anyone given a key to the hall shows here.")}>
<:content />
<:empty_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Add a key holder</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:empty_action>
<:empty_action><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Copy key holders from another hall</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:empty_action>
</Kit.Phoenix.Roles.HeadedRegion.headed_region>