@kerusiweb/react 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,7 +10,7 @@ npm install @kerusiweb/core @kerusiweb/react
10
10
  Requires React 18.3+ or 19. Function components and hooks; no context, no
11
11
  provider, no global state.
12
12
 
13
- This package is the React binding only — the components and the `useKerusiState`
13
+ This package is the React binding only: the components and the `useKerusiState`
14
14
  hook. The document types, the conformance validator, the render model and its
15
15
  geometry live in its peer
16
16
  [`@kerusiweb/core`](https://www.npmjs.com/package/@kerusiweb/core), which is
@@ -24,7 +24,7 @@ Once, anywhere in your app:
24
24
  import '@kerusiweb/react/styles.css';
25
25
  ```
26
26
 
27
- It carries layout, opacity, cursor, paint order and the focus ring — nothing
27
+ It carries layout, opacity, cursor, paint order and the focus ring, and nothing
28
28
  else. Every colour is bound inline by the components, so the theming tiers below
29
29
  keep working.
30
30
 
@@ -77,14 +77,14 @@ export function Booking({ map, state }: { map: KerusiMap; state: KerusiState })
77
77
  | `selectableStatuses` | `SeatRenderStatus[]` | `['available']` | Which statuses a seat may be picked in. |
78
78
  | `companionMode` | `'auto' \| 'independent'` | `'auto'` | `auto` selects a seat's whole companion closure together (§4.6). |
79
79
  | `maxSelection` | `number` | — | Cap on selected seats. Counts a companion closure as its full size. |
80
- | `seatSelectable` | `(seat: RenderSeat) => boolean` | — | A final say, applied after the status test. **Memoize it** — see below. |
80
+ | `seatSelectable` | `(seat: RenderSeat) => boolean` | — | A final say, applied after the status test. **Memoize it** (see below). |
81
81
  | `interactive` | `boolean` | `true` | `false` renders read-only. |
82
82
 
83
83
  Controlled and uncontrolled work the way they do for `<input>`: pass
84
84
  `selection` + `onSelectionChange` to own it yourself, or pass neither and let
85
85
  the component keep it. Passing `selection` without `onSelectionChange` renders a
86
- selection the user cannot change — occasionally what you want, usually a
87
- mistake.
86
+ selection the user cannot change. That is occasionally what you want, but
87
+ usually a mistake.
88
88
 
89
89
  **Appearance**
90
90
 
@@ -157,11 +157,11 @@ only need to think about them if you pass your own.
157
157
  ### The seat glyph
158
158
 
159
159
  **Colour means seat type; shape means status.** A seat's fill is always its
160
- `SeatType.color`, or the theme's `availableBg` when the type has none — it does
161
- not change when the seat is held or booked. `selected` is the one deliberate
160
+ `SeatType.color`, or the theme's `availableBg` when the type has none. It does
161
+ not change when the seat is held or booked. `selected` is the one
162
162
  exception: it owns the seat's colour outright, so your own picks are never
163
163
  ambiguous, and a purple fill on its own would in any case fail WCAG 1.4.1 (Use
164
- of Colour) for anyone who cannot distinguish it — hence the shape cues. Held
164
+ of Colour) for anyone who cannot distinguish it, hence the shape cues. Held
165
165
  seats take a wash and a hollow occupant figure; booked ones a wash and a solid
166
166
  figure; selected ones a bright core inside a frame.
167
167
 
@@ -170,13 +170,13 @@ figure; selected ones a bright core inside a frame.
170
170
  Colors resolve through three tiers, highest first:
171
171
 
172
172
  1. A `--kerusi-*` custom property in **your** stylesheet.
173
- 2. The **`colors` prop** — a partial `KerusiSeatmapColors`, merged over the defaults.
173
+ 2. The **`colors` prop**: a partial `KerusiSeatmapColors`, merged over the defaults.
174
174
  3. The library default.
175
175
 
176
176
  The library never writes a `--kerusi-*` property onto its own root, which is
177
177
  what keeps that order true: every fill is emitted as
178
- `var(--kerusi-selected-bg, <the resolved prop value>)`. Use whichever tier fits
179
- — the prop for values known at build time, CSS for anything that has to respond
178
+ `var(--kerusi-selected-bg, <the resolved prop value>)`. Use whichever tier fits:
179
+ the prop for values known at build time, CSS for anything that has to respond
180
180
  to a media query or a theme class.
181
181
 
182
182
  ```css
@@ -210,7 +210,7 @@ Every key of `KerusiSeatmapColors` has a property, kebab-cased:
210
210
  ### Keyboard
211
211
 
212
212
  Tab moves between sections; each section keeps its own tab stop. Within a
213
- section, arrow keys follow the §4.3.1 `col` order — so an aisle, which is a
213
+ section, arrow keys follow the §4.3.1 `col` order, so an aisle, which is a
214
214
  column no seat occupies, is stepped across rather than into.
215
215
 
216
216
  | Key | |
@@ -238,7 +238,7 @@ Rendered inline by `showLegend`, or placed anywhere yourself:
238
238
  ```
239
239
 
240
240
  It resolves swatches through the same path as the seat fills, so the two cannot
241
- drift apart. Every availability swatch — not just **Selected** — draws the seat
241
+ drift apart. Every availability swatch, not just **Selected**, draws the seat
242
242
  glyph itself rather than a flat colour, because shape is the cue the map uses
243
243
  for status.
244
244
 
@@ -267,7 +267,7 @@ useEffect(() => {
267
267
  ```
268
268
 
269
269
  `apply`, `reset` and `tick` keep a stable identity across renders, so an effect
270
- can subscribe once. It also exposes `needsRefetch` and `heldSeats` — every
270
+ can subscribe once. It also exposes `needsRefetch` and `heldSeats`: every
271
271
  currently-held seat with the time left on its hold, soonest first.
272
272
 
273
273
  Deltas that are stale, duplicate or scoped to another session are discarded.
@@ -275,7 +275,7 @@ Deltas that are stale, duplicate or scoped to another session are discarded.
275
275
  > **Gap detection needs a sequence.** §5.2 requires `updatedAt` to be strictly
276
276
  > increasing but not contiguous, so it cannot by itself distinguish "a delta was
277
277
  > lost" from "nothing happened for a while". The hook detects gaps when the
278
- > transport supplies a monotonic sequence — `metadata.seq` by default, or your
278
+ > transport supplies a monotonic sequence: `metadata.seq` by default, or your
279
279
  > own `sequenceOf` reader. A gapped delta is still applied, so the map degrades
280
280
  > rather than freezes while you re-fetch.
281
281
 
@@ -283,7 +283,7 @@ Deltas that are stale, duplicate or scoped to another session are discarded.
283
283
 
284
284
  ## Working with the format directly
285
285
 
286
- All of this lives in `@kerusiweb/core` and is pure — no React import — so it can
286
+ All of this lives in `@kerusiweb/core` and is pure (no React import), so it can
287
287
  run in a test, a build step, a server component or a route loader.
288
288
 
289
289
  ```ts
@@ -87,6 +87,14 @@ function SectionElement({ placed, colors, }) {
87
87
  const style = elementStyle(placed.element.kind);
88
88
  const fill = elementFill(style.tone, colors);
89
89
  const textFill = elementTextFill(style.tone, colors);
90
+ if (style.shape === 'text') {
91
+ // Only the label: no box. The <g> rotation turns the text itself, so unlike
92
+ // a label on a shape it is not counter-rotated. With no label there is
93
+ // nothing to draw, rather than an empty box.
94
+ if (!placed.element.label || !style.showLabel)
95
+ return null;
96
+ return (_jsx("g", { className: `kerusi-element kerusi-element--${placed.element.kind}`, transform: transform(placed) ?? undefined, children: _jsx("text", { className: "kerusi-element__label", textAnchor: "middle", dominantBaseline: "central", x: placed.centerX, y: placed.centerY, fontSize: placed.fontSize, style: { fill: textFill }, children: placed.element.label }) }));
97
+ }
90
98
  return (_jsxs("g", { className: `kerusi-element kerusi-element--${placed.element.kind}`, transform: transform(placed) ?? undefined, children: [style.shape === 'screen' ? (_jsx("path", { d: screenPath(placed.x, placed.y, placed.width, placed.height), style: { fill } })) : style.shape === 'void' ? (_jsx("rect", { className: "kerusi-element__void", x: placed.x, y: placed.y, width: placed.width, height: placed.height, style: { stroke: textFill }, fill: "none" })) : (_jsx("rect", { x: placed.x, y: placed.y, width: placed.width, height: placed.height,
91
99
  /* A stage reads as squarer than an ordinary element. */
92
100
  rx: style.shape === 'stage' ? 2 : Math.min(placed.height * 0.25, 6), style: { fill } })), placed.element.label && style.showLabel && (_jsx("text", { className: "kerusi-element__label", textAnchor: "middle", dominantBaseline: "central", x: placed.centerX, y: placed.centerY, fontSize: placed.fontSize, style: { fill: textFill }, transform: counterRotate(placed) ?? undefined, children: placed.element.label }))] }));
@@ -1 +1 @@
1
- {"version":3,"file":"kerusi-section.js","sourceRoot":"","sources":["../src/kerusi-section.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kerusi-section.js","sourceRoot":"","sources":["../src/kerusi-section.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,52 +1,52 @@
1
- {
2
- "name": "@kerusiweb/react",
3
- "version": "2.0.0",
4
- "description": "A React seat-map component that renders Kerusi Seat Map & Availability Format documents as interactive, accessible inline SVG.",
5
- "keywords": [
6
- "react",
7
- "kerusi",
8
- "seat-map",
9
- "seatmap",
10
- "seat-picker",
11
- "seat-selection",
12
- "svg",
13
- "booking",
14
- "ticketing",
15
- "cinema",
16
- "airline",
17
- "venue"
18
- ],
19
- "license": "MIT",
20
- "author": "Arsyad \"Shad Ahm\" Ahmad",
21
- "repository": {
22
- "type": "git",
23
- "url": "https://github.com/ShadAhm/kerusiweb.git",
24
- "directory": "projects/react"
25
- },
26
- "homepage": "https://github.com/ShadAhm/kerusiweb",
27
- "type": "module",
28
- "sideEffects": [
29
- "*.css"
30
- ],
31
- "exports": {
32
- ".": {
33
- "types": "./dist/public-api.d.ts",
34
- "default": "./dist/public-api.js"
35
- },
36
- "./styles.css": "./styles.css",
37
- "./package.json": "./package.json"
38
- },
39
- "types": "./dist/public-api.d.ts",
40
- "main": "./dist/public-api.js",
41
- "files": [
42
- "dist",
43
- "styles.css"
44
- ],
45
- "peerDependencies": {
46
- "@kerusiweb/core": "^2.0.0",
47
- "react": "^18.3.0 || ^19.0.0"
48
- },
49
- "publishConfig": {
50
- "access": "public"
51
- }
52
- }
1
+ {
2
+ "name": "@kerusiweb/react",
3
+ "version": "2.1.0",
4
+ "description": "A React seat-map component that renders Kerusi Seat Map & Availability Format documents as interactive, accessible inline SVG.",
5
+ "keywords": [
6
+ "react",
7
+ "kerusi",
8
+ "seat-map",
9
+ "seatmap",
10
+ "seat-picker",
11
+ "seat-selection",
12
+ "svg",
13
+ "booking",
14
+ "ticketing",
15
+ "cinema",
16
+ "airline",
17
+ "venue"
18
+ ],
19
+ "license": "MIT",
20
+ "author": "Arsyad \"Shad Ahm\" Ahmad",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://github.com/ShadAhm/kerusiweb.git",
24
+ "directory": "projects/react"
25
+ },
26
+ "homepage": "https://github.com/ShadAhm/kerusiweb",
27
+ "type": "module",
28
+ "sideEffects": [
29
+ "*.css"
30
+ ],
31
+ "exports": {
32
+ ".": {
33
+ "types": "./dist/public-api.d.ts",
34
+ "default": "./dist/public-api.js"
35
+ },
36
+ "./styles.css": "./styles.css",
37
+ "./package.json": "./package.json"
38
+ },
39
+ "types": "./dist/public-api.d.ts",
40
+ "main": "./dist/public-api.js",
41
+ "files": [
42
+ "dist",
43
+ "styles.css"
44
+ ],
45
+ "peerDependencies": {
46
+ "@kerusiweb/core": "^2.1.0",
47
+ "react": "^18.3.0 || ^19.0.0"
48
+ },
49
+ "publishConfig": {
50
+ "access": "public"
51
+ }
52
+ }