@nice2dev/events
v1.1.10
Published
Nice2Dev Events — Party/event system with chat, rounds, music, attractions, planning, and content controls for React
Maintainers
Readme
@nice2dev/events
Event & party system components for React applications — chat, rounds, music, attractions, planning, and content controls.
Installation
npm install @nice2dev/eventsPeer dependencies: react >= 17.0.0, react-dom >= 17.0.0
Components
| Component | Category | Description |
| ------------------------ | ----------- | ----------------------------------------------------- |
| NiceEventMedia | Content | Media gallery with upload, photos, and collages |
| NiceEventPlanning | Planning | Event planning with dates, location, surveys, billing |
| NiceRoundList | Rounds | Round system list with status and scoring |
| NiceRoundCard | Rounds | Individual round card with actions, timer, scoreboard |
| NiceSongPicker | Music | Song selection for music events |
| NiceKaraokePicker | Music | Karaoke song picker with queue management |
| NiceAttractionPicker | Attractions | Attraction selection grid with categories |
| NiceAttractionVoting | Attractions | Anonymous voting on attractions |
| NiceMediaCollage | Content | Ordered photo/video collage with slideshow playback |
| NiceParticipantList | Guests | Guest roster with RSVP, check-in, grouping and search |
| NiceRsvpControl | Guests | Yes/maybe/no reply with plus-ones, for a public page |
| NiceSeatingChart | Seating | Venue seating plan with level-of-detail rendering |
| NiceSeatPicker | Seating | Buy-a-ticket seat selection with an accessible list |
| NiceExpenseSplit | Money | Shared expenses, balances and a settlement plan |
| NiceGiftRegistry | Gifts | Gift registry / wishlist with group gifting |
| NiceInvitationDesigner | Invitations | Invitation editor with token preview and bulk send |
Notes on a few of these
NiceSeatingChartpicks its detail level from how many seats are actually in view — sections when zoomed out, row strips in between, individual seats up close — so the number of rendered nodes stays bounded whatever the venue size. KeepshowListon for ticket sales: the non-visual section → row → seat picker is the only workable path with a screen reader.NiceGiftRegistrycovers both a registry and a wishlist viakind. The prop iskind, notvariant, becausevariantalready means colour intent across the library.NiceExpenseSplitruns on integer minor units, so balances sum to exactly zero. Different currencies are grouped and settled separately, never converted.BillingItem.isPaidmeans the vendor was paid — not that the group settled up — so it does not affect balances.- Public pages:
NiceGiftRegistry,NiceParticipantListandNiceRsvpControlall work with no signed-in user. An anonymous guest types a name, which arrives asuserNamewith nouserId.
Types & Interfaces
EventModel— Core event data modelEventParticipant— Participant with role and statusEventRound— Round definition with scoringEventAttraction— Attraction with votingEventService— Abstract API interface for backend integrationChatMessage,SongEntry,KaraokeSong,BillingItem,EventSurvey,EventMediaItemNiceGiftRegistryItem,NiceGiftContribution— gift registry / wishlist entriesNiceSettlementTransfer,NiceParticipantBalance,NiceExpenseIssue— expense settlementNiceRsvpAnswer,NiceRsvpSelection— RSVP repliesNiceCollageItem,NiceMediaCollageLayout— collage tilesSeatingChart,SeatingSection,Seat,SeatStatus,SeatSelectionConfig— venue seating (re-exported fromvenue/venue-spatial)
⚠ Use
VenueZoneOccupancyfor the venue capacity reading. The old nameZoneOccupancyis a deprecated alias until 1.2.0:@nice2dev/ui-buildingsexports a differentZoneOccupancy(nowBuildingZoneOccupancy), so the two collided when both packages were imported.
Usage
import { NiceEventPlanning, NiceRoundList } from '@nice2dev/events';
function EventPage({ event }) {
return (
<>
<NiceEventPlanning event={event} />
<NiceRoundList rounds={event.rounds} />
</>
);
}License
MIT © NiceToDev
