@kerusiweb/react 2.3.0 → 3.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.
@@ -3,8 +3,10 @@ import type { KerusiSeatmapHandle, KerusiSeatmapProps } from './types.js';
3
3
  * Renders a Kerusi seat map.
4
4
  *
5
5
  * Takes a `KerusiMap` and its `KerusiState` directly — no adapter, no
6
- * intermediate row model. Each `Section` becomes its own `<svg>` with its own
7
- * layout mode and proportions, seats take their color from the map's legend,
6
+ * intermediate row model. The map is one `<svg>` whose `viewBox` is the
7
+ * document's canvas (§4.5), each `Section` is a group on it, every seat is
8
+ * drawn exactly where and as large as the document says, seats take their
9
+ * color from the map's legend,
8
10
  * every seat is keyboard-reachable and announced with its type, price, status
9
11
  * and §4.3.4 accessibility properties, and selection is an immutable list of
10
12
  * seat ids.
@@ -1 +1 @@
1
- {"version":3,"file":"kerusi-seatmap.d.ts","sourceRoot":"","sources":["../src/kerusi-seatmap.tsx"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AASpB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,aAAa,oHAymBzB,CAAC"}
1
+ {"version":3,"file":"kerusi-seatmap.d.ts","sourceRoot":"","sources":["../src/kerusi-seatmap.tsx"],"names":[],"mappings":"AA+CA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAUpB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,aAAa,oHAstBzB,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { buildNavigationGraph, buildRenderModel, controlStyle, DEFAULT_MAX_ZOOM, DEFAULT_SEAT_ARIA_STRINGS, disallowedAnnouncement, computeSectionLayout, errorsOf, expireHolds as expireHoldsIn, formatMoney, isRtlLocale, isTextEntryTarget, KerusiValidationError, resolveColors, resolveControlStrings, resolveMapLocale, seatAriaLabel, summarizeSelection, toggleSeatSelection, validateDocumentSet, viewportTouchAction, viewportTransform, } from '@kerusiweb/core';
2
+ import { buildNavigationGraph, buildRenderModel, computeMapLayout, controlStyle, cssVar, DEFAULT_MAX_ZOOM, DEFAULT_SEAT_ARIA_STRINGS, disallowedAnnouncement, errorsOf, expireHolds as expireHoldsIn, formatMoney, isRtlLocale, isTextEntryTarget, KerusiValidationError, resolveColors, resolveControlStrings, resolveMapLocale, seatAriaLabel, summarizeSelection, toggleSeatSelection, validateDocumentSet, viewportTouchAction, viewportTransform, } from '@kerusiweb/core';
3
3
  import { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState, } from 'react';
4
4
  import { KerusiLegend } from './kerusi-legend.js';
5
5
  import { KerusiSection } from './kerusi-section.js';
6
6
  import { useMaximized } from './use-maximized.js';
7
7
  import { useRovingFocus } from './use-roving-focus.js';
8
+ import { useSeatCards } from './use-seat-cards.js';
8
9
  import { useViewport } from './use-viewport.js';
9
10
  const NO_SELECTION = [];
10
11
  const DEFAULT_SELECTABLE_STATUSES = ['available'];
@@ -13,8 +14,10 @@ const NO_OVERRIDES = {};
13
14
  * Renders a Kerusi seat map.
14
15
  *
15
16
  * Takes a `KerusiMap` and its `KerusiState` directly — no adapter, no
16
- * intermediate row model. Each `Section` becomes its own `<svg>` with its own
17
- * layout mode and proportions, seats take their color from the map's legend,
17
+ * intermediate row model. The map is one `<svg>` whose `viewBox` is the
18
+ * document's canvas (§4.5), each `Section` is a group on it, every seat is
19
+ * drawn exactly where and as large as the document says, seats take their
20
+ * color from the map's legend,
18
21
  * every seat is keyboard-reachable and announced with its type, price, status
19
22
  * and §4.3.4 accessibility properties, and selection is an immutable list of
20
23
  * seat ids.
@@ -32,7 +35,7 @@ const NO_OVERRIDES = {};
32
35
  * `@kerusiweb/core`; this file supplies the listeners and the state.
33
36
  */
34
37
  export const KerusiSeatmap = forwardRef(function KerusiSeatmap(props, ref) {
35
- const { map, state, session, selection: controlledSelection, defaultSelection = NO_SELECTION, onSelectionChange, locale, rtl = 'auto', ariaStrings = DEFAULT_SEAT_ARIA_STRINGS, colors, typeColors = true, seatTypeStyles, seatStyle, renderSeat, seatSize = 28, seatGap = 6, freeformBasis = 1000, unitScale = 1, showSectionLabels = true, showLegend = false, showLegendPrices = true, sectionIds, sectionOverrides = NO_OVERRIDES, selectableStatuses = DEFAULT_SELECTABLE_STATUSES, companionMode = 'auto', maxSelection, seatSelectable, interactive = true, expireHolds = false, expiryIntervalMs = 1000, zoomable = false, maxZoom = DEFAULT_MAX_ZOOM, showZoomControls = true, maximizable = false, controlStrings, validate = 'collect', onSeatSelect, onSeatDeselect, onSeatDisallowed, onSeatFocus, onValidationIssues, onViewportChange, onMaximizedChange, className, style, children, } = props;
38
+ const { map, state, session, selection: controlledSelection, defaultSelection = NO_SELECTION, onSelectionChange, locale, rtl = 'auto', ariaStrings = DEFAULT_SEAT_ARIA_STRINGS, colors, typeColors = true, seatTypeStyles, seatStyle, renderSeat, unitScale = 1, showSectionLabels = true, showLegend = false, showLegendPrices = true, sectionIds, sectionOverrides = NO_OVERRIDES, selectableStatuses = DEFAULT_SELECTABLE_STATUSES, companionMode = 'auto', maxSelection, seatSelectable, interactive = true, expireHolds = false, expiryIntervalMs = 1000, zoomable = false, maxZoom = DEFAULT_MAX_ZOOM, showZoomControls = true, maximizable = false, controlStrings, validate = 'collect', onSeatSelect, onSeatDeselect, onSeatDisallowed, onSeatFocus, onSeatHover, onSeatClick, renderHoverCard, renderClickCard, seatCardPlacement = 'top', seatCardClassName, seatCardAppearance = 'default', hoverCardDelay, hoverCardOnFocus = false, onValidationIssues, onViewportChange, onMaximizedChange, className, style, children, } = props;
36
39
  // --- selection: controlled or not ---------------------------------------
37
40
  const [uncontrolledSelection, setUncontrolledSelection] = useState(defaultSelection);
38
41
  const isControlled = controlledSelection !== undefined;
@@ -103,20 +106,8 @@ export const KerusiSeatmap = forwardRef(function KerusiSeatmap(props, ref) {
103
106
  const isRtl = rtl === 'auto' ? isRtlLocale(resolvedLocale) : rtl === true;
104
107
  const resolvedColors = useMemo(() => resolveColors(colors), [colors]);
105
108
  const selectionSet = useMemo(() => new Set(selection), [selection]);
106
- /** Placed geometry per section, keyed by section id. */
107
- const layouts = useMemo(() => new Map(renderMap.sections.map((section) => {
108
- const override = sectionOverrides[section.id] ?? {};
109
- return [
110
- section.id,
111
- computeSectionLayout(section, {
112
- seatSize: override.seatSize ?? seatSize,
113
- seatGap,
114
- freeformBasis,
115
- aspectRatio: override.aspectRatio,
116
- rtl: isRtl,
117
- }),
118
- ];
119
- })), [renderMap, sectionOverrides, seatSize, seatGap, freeformBasis, isRtl]);
109
+ /** Every seat and element placed on the canvas, mirrored as a whole in RTL (D3). */
110
+ const layout = useMemo(() => computeMapLayout(renderMap, { rtl: isRtl }), [renderMap, isRtl]);
120
111
  /** Navigation graphs per section — arrows move within, Tab moves between. */
121
112
  const graphs = useMemo(() => new Map(renderMap.sections.map((section) => [
122
113
  section.id,
@@ -128,9 +119,39 @@ export const KerusiSeatmap = forwardRef(function KerusiSeatmap(props, ref) {
128
119
  ])), [renderMap, resolvedLocale, ariaStrings]);
129
120
  // --- focus and announcements --------------------------------------------
130
121
  const { focusedSeatIds, setFocusedSeat, moveFocusTo, focusSeat, getSeatNode, registerSeat } = useRovingFocus(renderMap, zoomable);
131
- // --- zoom, pan and maximize -----------------------------------------------
122
+ // --- seat cards and hover (D10) -------------------------------------------
132
123
  const rootRef = useRef(null);
133
- const zoom = useViewport({ enabled: zoomable, maxZoom, onViewportChange });
124
+ const cards = useSeatCards({
125
+ rootRef,
126
+ renderMap,
127
+ selection: selectionSet,
128
+ locale: resolvedLocale,
129
+ ariaStrings,
130
+ getSeatNode,
131
+ focusSeat,
132
+ onSeatHover,
133
+ renderHoverCard,
134
+ renderClickCard,
135
+ placement: seatCardPlacement,
136
+ className: seatCardClassName,
137
+ appearance: seatCardAppearance,
138
+ hoverCardDelay,
139
+ hoverCardOnFocus,
140
+ });
141
+ /**
142
+ * Whether a click behaviour is configured (D14): `onSeatClick` or a click
143
+ * card. It is what keeps a read-only map's seats clickable and reachable.
144
+ */
145
+ const clickable = !!onSeatClick || !!renderClickCard;
146
+ /** Seats take pointer and keyboard interaction: to select, to click, or to show a card. */
147
+ const reachable = interactive || clickable || cards.tracksFocus;
148
+ // --- zoom, pan and maximize -----------------------------------------------
149
+ const zoom = useViewport({
150
+ enabled: zoomable,
151
+ maxZoom,
152
+ onViewportChange,
153
+ onGestureStart: cards.gesture,
154
+ });
134
155
  const { maximized, toggleMaximized, setMaximized } = useMaximized({
135
156
  enabled: maximizable,
136
157
  rootRef,
@@ -167,11 +188,19 @@ export const KerusiSeatmap = forwardRef(function KerusiSeatmap(props, ref) {
167
188
  announce(ariaStrings.selectionSummary(next.length, formatTotal(total, resolvedLocale)));
168
189
  }, [announce, ariaStrings, renderMap, resolvedLocale]);
169
190
  // --- interaction --------------------------------------------------------
170
- const onSeatActivate = useCallback((seatId) => {
191
+ const onSeatActivate = useCallback((seatId, source = 'pointer') => {
171
192
  const seat = renderMap.seatsById.get(seatId);
172
193
  if (!seat) {
173
194
  return;
174
195
  }
196
+ // The click is reported first, with the selection as it stood before it,
197
+ // and cannot change what follows (D13).
198
+ onSeatClick?.({ seat, selected: selectionSet.has(seatId), source });
199
+ cards.activate(seatId, source);
200
+ // A read-only map stops here: selection is off (D14).
201
+ if (!interactive) {
202
+ return;
203
+ }
175
204
  const outcome = toggleSeatSelection(selection, seatId, {
176
205
  seatsById: renderMap.seatsById,
177
206
  companionMode,
@@ -193,6 +222,10 @@ export const KerusiSeatmap = forwardRef(function KerusiSeatmap(props, ref) {
193
222
  }, [
194
223
  renderMap,
195
224
  selection,
225
+ selectionSet,
226
+ interactive,
227
+ onSeatClick,
228
+ cards.activate,
196
229
  companionMode,
197
230
  maxSelection,
198
231
  announce,
@@ -210,14 +243,26 @@ export const KerusiSeatmap = forwardRef(function KerusiSeatmap(props, ref) {
210
243
  }
211
244
  setFocusedSeat(seat.sectionId, seatId);
212
245
  onSeatFocus?.(seat);
246
+ if (cards.tracksFocus) {
247
+ cards.focus(seatId);
248
+ }
213
249
  if (zoomable) {
214
250
  zoom.revealSeat(getSeatNode(seatId));
215
251
  }
216
- }, [renderMap, setFocusedSeat, onSeatFocus, zoomable, zoom.revealSeat, getSeatNode]);
252
+ }, [
253
+ renderMap,
254
+ setFocusedSeat,
255
+ onSeatFocus,
256
+ cards.tracksFocus,
257
+ cards.focus,
258
+ zoomable,
259
+ zoom.revealSeat,
260
+ getSeatNode,
261
+ ]);
217
262
  /**
218
- * Arrow keys walk the navigation graph, which orders seats by `col` in grid
219
- * and mixed sections — §4.3.1's logical adjacency — so the aisle that is a
220
- * skipped column is stepped across rather than into.
263
+ * Arrow keys walk the navigation graph, which follows §4.3.5 adjacency:
264
+ * along a row by `col`, across an aisle (a skipped `col`) rather than into
265
+ * it, and between rows to the seat nearest on the canvas (D6).
221
266
  */
222
267
  const onKeyDown = useCallback((sectionId, event) => {
223
268
  const seatId = event.target?.dataset?.['seatId'];
@@ -258,10 +303,15 @@ export const KerusiSeatmap = forwardRef(function KerusiSeatmap(props, ref) {
258
303
  case 'Enter':
259
304
  case ' ':
260
305
  event.preventDefault();
261
- onSeatActivate(seatId);
306
+ onSeatActivate(seatId, 'keyboard');
262
307
  return;
263
308
  case 'Escape':
264
- if (selection.length > 0) {
309
+ // An open card is dismissed before anything else gives way.
310
+ if (cards.dismiss()) {
311
+ event.preventDefault();
312
+ return;
313
+ }
314
+ if (interactive && selection.length > 0) {
265
315
  event.preventDefault();
266
316
  commitSelection([]);
267
317
  announceSelection([]);
@@ -274,25 +324,48 @@ export const KerusiSeatmap = forwardRef(function KerusiSeatmap(props, ref) {
274
324
  event.preventDefault();
275
325
  moveFocusTo(sectionId, target);
276
326
  }
277
- }, [graphs, onSeatActivate, selection, commitSelection, announceSelection, moveFocusTo]);
327
+ }, [
328
+ graphs,
329
+ onSeatActivate,
330
+ selection,
331
+ interactive,
332
+ cards.dismiss,
333
+ commitSelection,
334
+ announceSelection,
335
+ moveFocusTo,
336
+ ]);
278
337
  // --- public handle ------------------------------------------------------
279
338
  const summary = useMemo(() => summarizeSelection(renderMap, selection), [renderMap, selection]);
339
+ const zoomToSection = useCallback((sectionId) => {
340
+ const placed = layout.sections.find((s) => s.section.id === sectionId);
341
+ if (placed) {
342
+ zoom.zoomToCanvasRect(placed.bounds, layout);
343
+ }
344
+ }, [layout, zoom.zoomToCanvasRect]);
280
345
  useImperativeHandle(ref, () => ({
281
346
  summary,
282
347
  focusSeat,
348
+ openSeatCard: cards.openSeatCard,
349
+ closeSeatCard: cards.closeSeatCard,
350
+ openSeatCardId: cards.openSeatCardId,
283
351
  viewport: zoom.viewport,
284
352
  zoomIn: zoom.zoomIn,
285
353
  zoomOut: zoom.zoomOut,
286
354
  resetZoom: zoom.resetZoom,
355
+ zoomToSection,
287
356
  maximized,
288
357
  toggleMaximized,
289
358
  }), [
290
359
  summary,
291
360
  focusSeat,
361
+ cards.openSeatCard,
362
+ cards.closeSeatCard,
363
+ cards.openSeatCardId,
292
364
  zoom.viewport,
293
365
  zoom.zoomIn,
294
366
  zoom.zoomOut,
295
367
  zoom.resetZoom,
368
+ zoomToSection,
296
369
  maximized,
297
370
  toggleMaximized,
298
371
  ]);
@@ -309,6 +382,11 @@ export const KerusiSeatmap = forwardRef(function KerusiSeatmap(props, ref) {
309
382
  event.preventDefault();
310
383
  return;
311
384
  }
385
+ if (event.key === 'Escape' && cards.dismiss()) {
386
+ // A card in the way goes first; a second Escape leaves a maximized map.
387
+ event.preventDefault();
388
+ return;
389
+ }
312
390
  if (event.key === 'Escape' && maximized) {
313
391
  event.preventDefault();
314
392
  setMaximized(false);
@@ -316,16 +394,22 @@ export const KerusiSeatmap = forwardRef(function KerusiSeatmap(props, ref) {
316
394
  };
317
395
  // --- render -------------------------------------------------------------
318
396
  const labelFor = (section) => sectionOverrides[section.id]?.label ?? section.label;
319
- const labelId = (section) => `kerusi-section-${renderMap.id}-${section.id}`;
320
- const sections = renderMap.sections.map((section) => {
321
- const label = labelFor(section);
322
- return (_jsxs("section", { className: `kerusi-seatmap__section kerusi-seatmap__section--${section.layoutMode}`, role: "group", "aria-labelledby": label ? labelId(section) : undefined, "aria-label": label ? undefined : section.id, children: [showSectionLabels && label && (_jsx("h3", { className: "kerusi-section-label", id: labelId(section), children: label })), _jsx(KerusiSection, { section: section, layout: layouts.get(section.id), selection: selectionSet, focusedSeatId: focusedSeatIds[section.id] ?? null, ariaLabels: ariaLabels, colors: resolvedColors, typeColors: typeColors, seatTypeStyles: seatTypeStyles, seatStyle: seatStyle, renderSeat: renderSeat, unitScale: unitScale, interactive: interactive, onSeatActivate: onSeatActivate, onSeatFocused: onSeatFocused, onSeatKeyDown: (event) => onKeyDown(section.id, event), registerSeat: registerSeat })] }, section.id));
323
- });
397
+ /** The whole map: one `<svg>` on the document's canvas, a group per section (D1). */
398
+ const mapSvg = (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", className: "kerusi-seatmap__svg", role: "presentation", focusable: "false", viewBox: `0 0 ${layout.width} ${layout.height}`, preserveAspectRatio: "xMidYMid meet", style: {
399
+ // The focus ring's middle tier: the stylesheet reads this property,
400
+ // so the `colors` prop can reach a rule it cannot otherwise see.
401
+ '--kerusi-focus-ring-input': resolvedColors.focusRing,
402
+ // `unitScale` CSS pixels per canvas unit, at most.
403
+ maxWidth: layout.width * unitScale,
404
+ }, children: [_jsx("rect", { x: 0, y: 0, width: layout.width, height: layout.height, style: { fill: cssVar('backdrop', resolvedColors.backdrop) } }), layout.sections.map((placed) => (_jsx(KerusiSection, { layout: placed, label: labelFor(placed.section), showLabel: showSectionLabels, selection: selectionSet, focusedSeatId: focusedSeatIds[placed.section.id] ?? null, ariaLabels: ariaLabels, colors: resolvedColors, typeColors: typeColors, seatTypeStyles: seatTypeStyles, seatStyle: seatStyle, renderSeat: renderSeat, interactive: interactive, clickable: clickable, reachable: reachable, describedBy: cards.describedBy, onSeatActivate: onSeatActivate, onSeatFocused: onSeatFocused, onSeatBlurred: cards.tracksFocus ? cards.blur : undefined, onSeatKeyDown: (event) => onKeyDown(placed.section.id, event), onSeatPointer: cards.tracksPointer ? cards.pointer : undefined, registerSeat: registerSeat }, placed.section.id)))] }));
324
405
  const focusRing = { '--kerusi-focus-ring-input': resolvedColors.focusRing };
325
- const buttonStyle = {
326
- background: controlColors.buttonBackground,
327
- color: controlColors.buttonColor,
328
- borderColor: controlColors.buttonBorder,
406
+ // The palette, handed to the stylesheet, which puts the `--kerusi-control-*`
407
+ // tokens in front of it. Inline colours on the buttons would beat those.
408
+ const toolbarStyle = {
409
+ ...focusRing,
410
+ '--kerusi-control-bg-input': controlColors.buttonBackground,
411
+ '--kerusi-control-fg-input': controlColors.buttonColor,
412
+ '--kerusi-control-border-input': controlColors.buttonBorder,
329
413
  };
330
414
  const classes = ['kerusi-seatmap', className, maximized && 'kerusi-seatmap--maximized']
331
415
  .filter(Boolean)
@@ -336,12 +420,14 @@ export const KerusiSeatmap = forwardRef(function KerusiSeatmap(props, ref) {
336
420
  background: controlColors.maximizedBackground,
337
421
  color: controlColors.maximizedColor,
338
422
  }
339
- : style, onKeyDown: onRootKeyDown, children: [zoomable || maximizable ? (_jsxs("div", { className: "kerusi-seatmap__stage", children: [showToolbar && (_jsxs("div", { className: "kerusi-toolbar", role: "toolbar", "aria-label": strings.toolbar, style: focusRing, children: [zoomable && showZoomControls && (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", className: "kerusi-control kerusi-control--zoom-in", "aria-label": strings.zoomIn, "aria-disabled": atMaxZoom, style: buttonStyle, onClick: zoom.zoomIn, children: _jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false", children: _jsx("path", { d: "M12 5v14M5 12h14" }) }) }), _jsx("button", { type: "button", className: "kerusi-control kerusi-control--zoom-out", "aria-label": strings.zoomOut, "aria-disabled": atFit, style: buttonStyle, onClick: zoom.zoomOut, children: _jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false", children: _jsx("path", { d: "M5 12h14" }) }) }), _jsx("button", { type: "button", className: "kerusi-control kerusi-control--zoom-reset", "aria-label": strings.zoomReset, "aria-disabled": atFit, style: buttonStyle, onClick: zoom.resetZoom, children: _jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false", children: _jsx("path", { d: "M3 12a9 9 0 1 0 3-6.7M3 4v5h5" }) }) })] })), maximizable && (_jsx("button", { type: "button", className: "kerusi-control kerusi-control--maximize", "aria-label": maximized ? strings.restore : strings.maximize, style: buttonStyle, onClick: toggleMaximized, children: _jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false", children: maximized ? (_jsx("path", { d: "M9 4v5H4M15 4v5h5M15 20v-5h5M9 20v-5H4" })) : (_jsx("path", { d: "M4 9V4h5M15 4h5v5M20 15v5h-5M9 20H4v-5" })) }) }))] })), zoomable ? (_jsx("div", { ref: zoom.viewRef, className: "kerusi-viewport", role: "group", tabIndex: 0, "aria-label": strings.viewport, style: {
423
+ : style, onKeyDown: onRootKeyDown, children: [zoomable || maximizable ? (_jsxs("div", { className: "kerusi-seatmap__stage", children: [showToolbar && (_jsxs("div", { className: "kerusi-toolbar", role: "toolbar", "aria-label": strings.toolbar, style: toolbarStyle, children: [zoomable && showZoomControls && (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", className: "kerusi-control kerusi-control--zoom-in", "aria-label": strings.zoomIn, "aria-disabled": atMaxZoom, onClick: zoom.zoomIn, children: _jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false", children: _jsx("path", { d: "M12 5v14M5 12h14" }) }) }), _jsx("button", { type: "button", className: "kerusi-control kerusi-control--zoom-out", "aria-label": strings.zoomOut, "aria-disabled": atFit, onClick: zoom.zoomOut, children: _jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false", children: _jsx("path", { d: "M5 12h14" }) }) }), _jsx("button", { type: "button", className: "kerusi-control kerusi-control--zoom-reset", "aria-label": strings.zoomReset, "aria-disabled": atFit, onClick: zoom.resetZoom, children: _jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false", children: _jsx("path", { d: "M3 12a9 9 0 1 0 3-6.7M3 4v5h5" }) }) })] })), maximizable && (_jsx("button", { type: "button", className: "kerusi-control kerusi-control--maximize", "aria-label": maximized ? strings.restore : strings.maximize, onClick: toggleMaximized, children: _jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false", children: maximized ? (_jsx("path", { d: "M9 4v5H4M15 4v5h5M15 20v-5h5M9 20v-5H4" })) : (_jsx("path", { d: "M4 9V4h5M15 4h5v5M20 15v5h-5M9 20H4v-5" })) }) }))] })), zoomable ? (_jsx("div", { ref: zoom.viewRef, className: "kerusi-viewport", role: "group", tabIndex: 0, "aria-label": strings.viewport, style: {
340
424
  ...focusRing,
425
+ // Lets a maximized map fit the whole canvas to the screen.
426
+ '--kerusi-canvas-aspect': layout.width / layout.height,
341
427
  touchAction: viewportTouchAction(zoom.viewport, maximized),
342
428
  }, children: _jsx("div", { ref: zoom.contentRef, className: zoom.animated
343
429
  ? 'kerusi-viewport__content kerusi-viewport__content--animated'
344
- : 'kerusi-viewport__content', style: { transform: viewportTransform(zoom.viewport) }, children: sections }) })) : (sections)] })) : (sections), showLegend && (_jsx(KerusiLegend, { legend: renderMap.legend, locale: resolvedLocale, colors: resolvedColors, typeColors: typeColors, seatTypeStyles: seatTypeStyles, showPrices: showLegendPrices })), _jsx("p", { className: "kerusi-sr-only", "aria-live": "polite", "aria-atomic": "true", children: liveMessage }), children] }));
430
+ : 'kerusi-viewport__content', style: { transform: viewportTransform(zoom.viewport) }, children: mapSvg }) })) : (mapSvg)] })) : (mapSvg), showLegend && (_jsx(KerusiLegend, { legend: renderMap.legend, locale: resolvedLocale, colors: resolvedColors, typeColors: typeColors, seatTypeStyles: seatTypeStyles, showPrices: showLegendPrices })), cards.elements, _jsx("p", { className: "kerusi-sr-only", "aria-live": "polite", "aria-atomic": "true", children: liveMessage }), children] }));
345
431
  });
346
432
  function formatTotal(total, locale) {
347
433
  return total ? formatMoney(total, locale) : '';
@@ -1 +1 @@
1
- {"version":3,"file":"kerusi-seatmap.js","sourceRoot":"","sources":["../src/kerusi-seatmap.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,QAAQ,EACR,WAAW,IAAI,aAAa,EAC5B,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAUzB,OAAO,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,YAAY,GAAsB,EAAE,CAAC;AAC3C,MAAM,2BAA2B,GAAG,CAAC,WAAW,CAAU,CAAC;AAC3D,MAAM,YAAY,GAAmD,EAAE,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CACrC,SAAS,aAAa,CAAC,KAAK,EAAE,GAAG;IAC/B,MAAM,EACJ,GAAG,EACH,KAAK,EACL,OAAO,EACP,SAAS,EAAE,mBAAmB,EAC9B,gBAAgB,GAAG,YAAY,EAC/B,iBAAiB,EACjB,MAAM,EACN,GAAG,GAAG,MAAM,EACZ,WAAW,GAAG,yBAAyB,EACvC,MAAM,EACN,UAAU,GAAG,IAAI,EACjB,cAAc,EACd,SAAS,EACT,UAAU,EACV,QAAQ,GAAG,EAAE,EACb,OAAO,GAAG,CAAC,EACX,aAAa,GAAG,IAAI,EACpB,SAAS,GAAG,CAAC,EACb,iBAAiB,GAAG,IAAI,EACxB,UAAU,GAAG,KAAK,EAClB,gBAAgB,GAAG,IAAI,EACvB,UAAU,EACV,gBAAgB,GAAG,YAAY,EAC/B,kBAAkB,GAAG,2BAA2B,EAChD,aAAa,GAAG,MAAM,EACtB,YAAY,EACZ,cAAc,EACd,WAAW,GAAG,IAAI,EAClB,WAAW,GAAG,KAAK,EACnB,gBAAgB,GAAG,IAAI,EACvB,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,gBAAgB,EAC1B,gBAAgB,GAAG,IAAI,EACvB,WAAW,GAAG,KAAK,EACnB,cAAc,EACd,QAAQ,GAAG,SAAS,EACpB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,KAAK,EACL,QAAQ,GACT,GAAG,KAAK,CAAC;IAEV,2EAA2E;IAE3E,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GACrD,QAAQ,CAAoB,gBAAgB,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,mBAAmB,KAAK,SAAS,CAAC;IACvD,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAE7E,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,IAAuB,EAAE,EAAE;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,EACD,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAClC,CAAC;IAEF,2EAA2E;IAE3E,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAC9E,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAChC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QACD,wEAAwE;QACxE,+CAA+C;QAC/C,uDAAuD;IACzD,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,sEAAsE;QACtE,wEAAwE;QACxE,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,2EAA2E;IAE3E,qEAAqE;IACrE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEhD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAChF,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEpC,2EAA2E;IAC3E,MAAM,cAAc,GAAG,OAAO,CAA0B,GAAG,EAAE;QAC3D,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,oEAAoE;QACpE,gEAAgE;QAChE,KAAK,UAAU,CAAC;QAChB,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAErC,MAAM,iBAAiB,GAAG,OAAO,CAAgC,GAAG,EAAE;QACpE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;aAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAErB,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAExC,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CACH,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE;QACpC,MAAM;QACN,UAAU,EAAE,iBAAiB;QAC7B,kBAAkB;QAClB,cAAc;KACf,CAAC,EACJ,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,CAAC,CACrF,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC;IAC1E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpE,wDAAwD;IACxD,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,IAAI,GAAG,CACL,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO;YACL,OAAO,CAAC,EAAE;YACV,oBAAoB,CAAC,OAAO,EAAE;gBAC5B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,QAAQ;gBACvC,OAAO;gBACP,aAAa;gBACb,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,GAAG,EAAE,KAAK;aACX,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CACH,EACH,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,CACvE,CAAC;IAEF,6EAA6E;IAC7E,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CACH,IAAI,GAAG,CACL,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAClC,OAAO,CAAC,EAAE;QACV,oBAAoB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;KAC9C,CAAC,CACH,EACH,CAAC,SAAS,EAAE,KAAK,CAAC,CACnB,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CACH,IAAI,GAAG,CACL,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC,EAAE;QACP,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,CAAC;KACjD,CAAC,CACH,EACH,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,CAAC,CACzC,CAAC;IAEF,2EAA2E;IAE3E,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,GACzF,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEtC,6EAA6E;IAE7E,MAAM,OAAO,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;QAChE,OAAO,EAAE,WAAW;QACpB,OAAO;QACP,QAAQ,EAAE,iBAAiB;KAC5B,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IACvF,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,CAAC,QAAQ,IAAI,gBAAgB,CAAC,IAAI,WAAW,CAAC;IAClE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAEnE;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,OAAe,EAAE,EAAE;QAC/C,eAAe,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GACf,YAAY,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,OAAO,QAAQ,CAAC;IAExF,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,IAAuB,EAAE,EAAE;QAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtD,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC,EACD,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CACnD,CAAC;IAEF,2EAA2E;IAE3E,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,MAAc,EAAE,EAAE;QACjB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE;YACrD,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,aAAa;YACb,YAAY;SACb,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAClC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAO,EAAE,WAAW,CAAC,CAAC,CAAC;YACrE,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAO,EAAE,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,KAAK,GAAoB;YAC7B,IAAI;YACJ,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QACF,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACrE,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,EACD;QACE,SAAS;QACT,SAAS;QACT,aAAa;QACb,YAAY;QACZ,QAAQ;QACR,WAAW;QACX,gBAAgB;QAChB,eAAe;QACf,YAAY;QACZ,cAAc;QACd,iBAAiB;KAClB,CACF,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,MAAc,EAAE,EAAE;QACjB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACvC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,EACD,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CACjF,CAAC;IAEF;;;;OAIG;IACH,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,SAAiB,EAAE,KAAsC,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAI,KAAK,CAAC,MAA6B,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,MAA0B,CAAC;QAC/B,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;YAClB,KAAK,WAAW;gBACd,MAAM,GAAG,UAAU,EAAE,IAAI,CAAC;gBAC1B,MAAM;YACR,KAAK,YAAY;gBACf,MAAM,GAAG,UAAU,EAAE,KAAK,CAAC;gBAC3B,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,GAAG,UAAU,EAAE,EAAE,CAAC;gBACxB,MAAM;YACR,KAAK,WAAW;gBACd,MAAM,GAAG,UAAU,EAAE,IAAI,CAAC;gBAC1B,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC;gBAC5D,MAAM;YACR,KAAK,KAAK;gBACR,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC;gBACzD,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;gBACrB,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;gBACpB,MAAM;YACR,KAAK,OAAO,CAAC;YACb,KAAK,GAAG;gBACN,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,cAAc,CAAC,MAAM,CAAC,CAAC;gBACvB,OAAO;YACT,KAAK,QAAQ;gBACX,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,eAAe,CAAC,EAAE,CAAC,CAAC;oBACpB,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACxB,CAAC;gBACD,OAAO;YACT;gBACE,OAAO;QACX,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,CAAC,CACrF,CAAC;IAEF,2EAA2E;IAE3E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAEhG,mBAAmB,CACjB,GAAG,EACH,GAAG,EAAE,CAAC,CAAC;QACL,OAAO;QACP,SAAS;QACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS;QACT,eAAe;KAChB,CAAC,EACF;QACE,OAAO;QACP,SAAS;QACT,IAAI,CAAC,QAAQ;QACb,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,OAAO;QACZ,IAAI,CAAC,SAAS;QACd,SAAS;QACT,eAAe;KAChB,CACF,CAAC;IAEF;;;;OAIG;IACH,MAAM,aAAa,GAAG,CAAC,KAAyC,EAAE,EAAE;QAClE,IAAI,KAAK,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAA4B,CAAC,EAAE,CAAC;YACpF,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;YACxC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,2EAA2E;IAE3E,MAAM,QAAQ,GAAG,CAAC,OAAsB,EAAsB,EAAE,CAC9D,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IACvD,MAAM,OAAO,GAAG,CAAC,OAAsB,EAAU,EAAE,CACjD,kBAAkB,SAAS,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;IAEjD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,CACL,mBAEE,SAAS,EAAE,oDAAoD,OAAO,CAAC,UAAU,EAAE,EACnF,IAAI,EAAC,OAAO,qBACK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,gBACzC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,aAEzC,iBAAiB,IAAI,KAAK,IAAI,CAC7B,aAAI,SAAS,EAAC,sBAAsB,EAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,YACtD,KAAK,GACH,CACN,EAED,KAAC,aAAa,IACZ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAE,EAChC,SAAS,EAAE,YAAY,EACvB,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,EACjD,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,EACtD,YAAY,EAAE,YAAY,GAC1B,KA7BG,OAAO,CAAC,EAAE,CA8BP,CACX,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,EAAE,2BAA2B,EAAE,cAAc,CAAC,SAAS,EAAmB,CAAC;IAC7F,MAAM,WAAW,GAAkB;QACjC,UAAU,EAAE,aAAa,CAAC,gBAAgB;QAC1C,KAAK,EAAE,aAAa,CAAC,WAAW;QAChC,WAAW,EAAE,aAAa,CAAC,YAAY;KACxC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE,SAAS,IAAI,2BAA2B,CAAC;SACpF,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,CACL,eACE,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,OAAO,EAClB,IAAI,EAAC,OAAO,gBACA,SAAS,CAAC,IAAI,IAAI,YAAY,SAAS,CAAC,EAAE,EAAE,EACxD,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC9B,IAAI,EAAE,cAAc,EACpB,KAAK,EACH,SAAS;YACP,CAAC,CAAC;gBACE,GAAG,KAAK;gBACR,UAAU,EAAE,aAAa,CAAC,mBAAmB;gBAC7C,KAAK,EAAE,aAAa,CAAC,cAAc;aACpC;YACH,CAAC,CAAC,KAAK,EAEX,SAAS,EAAE,aAAa,aAIvB,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,CACzB,eAAK,SAAS,EAAC,uBAAuB,aACnC,WAAW,IAAI,CACd,eACE,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EAAC,SAAS,gBACF,OAAO,CAAC,OAAO,EAC3B,KAAK,EAAE,SAAS,aAEf,QAAQ,IAAI,gBAAgB,IAAI,CAC/B,8BACE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,wCAAwC,gBACtC,OAAO,CAAC,MAAM,mBACX,SAAS,EACxB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,IAAI,CAAC,MAAM,YAEpB,cAAK,OAAO,EAAC,WAAW,iBAAa,MAAM,EAAC,SAAS,EAAC,OAAO,YAC3D,eAAM,CAAC,EAAC,kBAAkB,GAAG,GACzB,GACC,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,yCAAyC,gBACvC,OAAO,CAAC,OAAO,mBACZ,KAAK,EACpB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,IAAI,CAAC,OAAO,YAErB,cAAK,OAAO,EAAC,WAAW,iBAAa,MAAM,EAAC,SAAS,EAAC,OAAO,YAC3D,eAAM,CAAC,EAAC,UAAU,GAAG,GACjB,GACC,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,2CAA2C,gBACzC,OAAO,CAAC,SAAS,mBACd,KAAK,EACpB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,YAEvB,cAAK,OAAO,EAAC,WAAW,iBAAa,MAAM,EAAC,SAAS,EAAC,OAAO,YAC3D,eAAM,CAAC,EAAC,+BAA+B,GAAG,GACtC,GACC,IACR,CACJ,EACA,WAAW,IAAI,CACd,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,yCAAyC,gBACvC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAC1D,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,eAAe,YAExB,cAAK,OAAO,EAAC,WAAW,iBAAa,MAAM,EAAC,SAAS,EAAC,OAAO,YAC1D,SAAS,CAAC,CAAC,CAAC,CACX,eAAM,CAAC,EAAC,wCAAwC,GAAG,CACpD,CAAC,CAAC,CAAC,CACF,eAAM,CAAC,EAAC,wCAAwC,GAAG,CACpD,GACG,GACC,CACV,IACG,CACP,EAEA,QAAQ,CAAC,CAAC,CAAC,CACV,cACE,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,SAAS,EAAC,iBAAiB,EAC3B,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,CAAC,gBACC,OAAO,CAAC,QAAQ,EAC5B,KAAK,EACH;4BACE,GAAG,SAAS;4BACZ,WAAW,EAAE,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;yBAC1C,YAGpB,cACE,GAAG,EAAE,IAAI,CAAC,UAAU,EACpB,SAAS,EACP,IAAI,CAAC,QAAQ;gCACX,CAAC,CAAC,6DAA6D;gCAC/D,CAAC,CAAC,0BAA0B,EAEhC,KAAK,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,YAErD,QAAQ,GACL,GACF,CACP,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,IACG,CACP,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,EAEA,UAAU,IAAI,CACb,KAAC,YAAY,IACX,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,gBAAgB,GAC5B,CACH,EAED,YAAG,SAAS,EAAC,gBAAgB,eAAW,QAAQ,iBAAa,MAAM,YAChE,WAAW,GACV,EAEH,QAAQ,IACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,WAAW,CAAC,KAAwB,EAAE,MAAc;IAC3D,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"kerusi-seatmap.js","sourceRoot":"","sources":["../src/kerusi-seatmap.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,17 @@
1
- import type { KerusiSeatmapColors, RenderSection, SeatStyleFn, SeatTypeStyles, SectionLayout } from '@kerusiweb/core';
1
+ import type { KerusiSeatmapColors, PlacedSection, SeatStyleFn, SeatTypeStyles } from '@kerusiweb/core';
2
2
  import type { KeyboardEvent as ReactKeyboardEvent, ReactNode } from 'react';
3
3
  import type { SeatRenderContext } from './types.js';
4
4
  export interface KerusiSectionProps {
5
- section: RenderSection;
6
- layout: SectionLayout;
5
+ /** The section with its seats and elements placed on the map's canvas. */
6
+ layout: PlacedSection;
7
+ /** The section's name: its accessible name, and its drawn label when one is shown. */
8
+ label?: string;
9
+ /**
10
+ * Draw `label` inside the SVG, at the top-left of the section's bounds. Only
11
+ * a section that declares `bounds` gets one (D5); otherwise the label is the
12
+ * group's accessible name alone.
13
+ */
14
+ showLabel?: boolean;
7
15
  /** Currently selected seat ids. */
8
16
  selection?: ReadonlySet<string>;
9
17
  /** The seat holding the section's single tab stop, if any. */
@@ -19,34 +27,45 @@ export interface KerusiSectionProps {
19
27
  seatStyle?: SeatStyleFn;
20
28
  /** Draws the inside of each seat in place of the stock glyph. */
21
29
  renderSeat?: (ctx: SeatRenderContext) => ReactNode;
22
- /** When false, seats render but do not respond to pointer or keyboard. */
30
+ /**
31
+ * When false, selection is off: seats render read-only, with no `aria-pressed`
32
+ * once a click behaviour is set. Whether they still respond is `reachable`'s.
33
+ */
23
34
  interactive?: boolean;
24
35
  /**
25
- * CSS pixels per viewBox unit, at the section's natural size.
26
- *
27
- * Without a cap every section stretches to the full container width, so in a
28
- * four-tier theatre the narrow box row would draw seats several times the
29
- * size of the orchestra's. Capping each section at its own intrinsic width
30
- * keeps a seat the same size everywhere; a section too wide to fit still
31
- * scales down to the container.
36
+ * A click behaviour is configured (`onSeatClick` or a click card). On a
37
+ * read-only map this keeps the seats clickable without turning selection on
38
+ * (D14), so `aria-pressed` is left off.
39
+ */
40
+ clickable?: boolean;
41
+ /**
42
+ * Whether seats take pointer and keyboard interaction at all: they respond,
43
+ * and the section's tab stop is reachable. Defaults to `interactive`.
32
44
  */
33
- unitScale?: number;
34
- onSeatActivate?: (seatId: string) => void;
45
+ reachable?: boolean;
46
+ /** The seat that shows a hover card, and the card's `id`, for `aria-describedby`. */
47
+ describedBy?: {
48
+ seatId: string;
49
+ id: string;
50
+ } | null;
51
+ onSeatActivate?: (seatId: string, source: 'pointer') => void;
35
52
  onSeatFocused?: (seatId: string) => void;
53
+ /** Present only when a hover card follows keyboard focus (D12). */
54
+ onSeatBlurred?: (seatId: string) => void;
36
55
  onSeatKeyDown?: (event: ReactKeyboardEvent<SVGGElement>) => void;
56
+ /** Present only when something listens for hover: `onSeatHover` or a hover card. */
57
+ onSeatPointer?: (type: 'enter' | 'leave' | 'move', seatId: string, pointerType: string) => void;
37
58
  /** Called with each seat's `<g>` as it mounts and unmounts, for focus moves. */
38
59
  registerSeat?: (seatId: string, node: SVGGElement | null) => void;
39
60
  }
40
61
  /**
41
- * Draws one Kerusi `Section` as a single `<svg>`.
62
+ * Draws one Kerusi `Section` as a `<g>` on the map's shared canvas (D1).
42
63
  *
43
- * One SVG per section — rather than section groups inside a shared canvas — is
44
- * what makes per-section `aspectRatio` and mixed grid/freeform modes work: each
45
- * gets its own `viewBox` and its own intrinsic proportions, and CSS is free to
46
- * stack, wrap or column them. It also puts the section heading in real DOM,
47
- * where a screen reader can use it as a landmark.
64
+ * Sections are zones on one canvas in rev 15 (§4.1), and two may sit side by
65
+ * side, so a section is a group inside the map's single `<svg>` rather than an
66
+ * SVG of its own. Render it inside an `<svg>` whose `viewBox` is the canvas.
48
67
  *
49
68
  * This component holds no state. It takes a placed layout and reports intent.
50
69
  */
51
- export declare function KerusiSection({ layout, selection, focusedSeatId, ariaLabels, colors, typeColors, seatTypeStyles, seatStyle, renderSeat, interactive, unitScale, onSeatActivate, onSeatFocused, onSeatKeyDown, registerSeat, }: KerusiSectionProps): import("react").JSX.Element;
70
+ export declare function KerusiSection({ layout, label, showLabel, selection, focusedSeatId, ariaLabels, colors, typeColors, seatTypeStyles, seatStyle, renderSeat, interactive, clickable, reachable, describedBy, onSeatActivate, onSeatFocused, onSeatBlurred, onSeatKeyDown, onSeatPointer, registerSeat, }: KerusiSectionProps): import("react").JSX.Element;
52
71
  //# sourceMappingURL=kerusi-section.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kerusi-section.d.ts","sourceRoot":"","sources":["../src/kerusi-section.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,mBAAmB,EAGnB,aAAa,EAEb,WAAW,EACX,cAAc,EACd,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAiB,aAAa,IAAI,kBAAkB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,mCAAmC;IACnC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mDAAmD;IACnD,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACvC,sEAAsE;IACtE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,kDAAkD;IAClD,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,iEAAiE;IACjE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACnD,0EAA0E;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACjE,gFAAgF;IAChF,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CACnE;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,SAA2B,EAC3B,aAAoB,EACpB,UAAyB,EACzB,MAA8B,EAC9B,UAAiB,EACjB,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAkB,EAClB,SAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,YAAY,GACb,EAAE,kBAAkB,+BAqDpB"}
1
+ {"version":3,"file":"kerusi-section.d.ts","sourceRoot":"","sources":["../src/kerusi-section.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,mBAAmB,EAGnB,aAAa,EAEb,WAAW,EACX,cAAc,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,aAAa,IAAI,kBAAkB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,MAAM,EAAE,aAAa,CAAC;IACtB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mCAAmC;IACnC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mDAAmD;IACnD,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACvC,sEAAsE;IACtE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,kDAAkD;IAClD,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,iEAAiE;IACjE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACnD;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qFAAqF;IACrF,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IAC7D,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,mEAAmE;IACnE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACjE,oFAAoF;IACpF,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAChG,gFAAgF;IAChF,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CACnE;AAKD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,KAAK,EACL,SAAgB,EAChB,SAA2B,EAC3B,aAAoB,EACpB,UAAyB,EACzB,MAA8B,EAC9B,UAAiB,EACjB,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAkB,EAClB,SAAiB,EACjB,SAAuB,EACvB,WAAkB,EAClB,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,GACb,EAAE,kBAAkB,+BA0DpB"}
@@ -1,35 +1,29 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { cssVar, DEFAULT_KERUSI_COLORS, elementFill, elementStyle, elementTextFill, resolveSeatGlyph, resolveSeatStyle, screenPath, } from '@kerusiweb/core';
2
+ import { DEFAULT_KERUSI_COLORS, elementFill, elementStyle, elementTextFill, resolveSeatGlyph, resolveSeatStyle, screenPath, } from '@kerusiweb/core';
3
3
  const EMPTY_SELECTION = new Set();
4
4
  const EMPTY_LABELS = new Map();
5
5
  /**
6
- * Draws one Kerusi `Section` as a single `<svg>`.
6
+ * Draws one Kerusi `Section` as a `<g>` on the map's shared canvas (D1).
7
7
  *
8
- * One SVG per section — rather than section groups inside a shared canvas — is
9
- * what makes per-section `aspectRatio` and mixed grid/freeform modes work: each
10
- * gets its own `viewBox` and its own intrinsic proportions, and CSS is free to
11
- * stack, wrap or column them. It also puts the section heading in real DOM,
12
- * where a screen reader can use it as a landmark.
8
+ * Sections are zones on one canvas in rev 15 (§4.1), and two may sit side by
9
+ * side, so a section is a group inside the map's single `<svg>` rather than an
10
+ * SVG of its own. Render it inside an `<svg>` whose `viewBox` is the canvas.
13
11
  *
14
12
  * This component holds no state. It takes a placed layout and reports intent.
15
13
  */
16
- export function KerusiSection({ layout, selection = EMPTY_SELECTION, focusedSeatId = null, ariaLabels = EMPTY_LABELS, colors = DEFAULT_KERUSI_COLORS, typeColors = true, seatTypeStyles, seatStyle, renderSeat, interactive = true, unitScale = 1, onSeatActivate, onSeatFocused, onSeatKeyDown, registerSeat, }) {
17
- return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", className: "kerusi-section-svg", role: "presentation", focusable: "false", viewBox: `0 0 ${layout.width} ${layout.height}`, preserveAspectRatio: "xMidYMid meet", style: {
18
- // The focus ring's middle tier: the stylesheet reads this property,
19
- // so the `colors` prop can reach a rule it cannot otherwise see.
20
- '--kerusi-focus-ring-input': colors.focusRing,
21
- // The section's natural width in CSS pixels; it never draws wider.
22
- maxWidth: layout.width * unitScale,
23
- }, children: [_jsx("rect", { x: 0, y: 0, width: layout.width, height: layout.height, style: { fill: cssVar('backdrop', colors.backdrop) } }), layout.elements.map((placed) => (_jsx(SectionElement, { placed: placed, colors: colors }, placed.element.id))), layout.seats.map((placed) => (_jsx(SectionSeat, { placed: placed, selected: selection.has(placed.seat.id), tabStop: placed.seat.id === focusedSeatId, ariaLabel: ariaLabels.get(placed.seat.id) ?? placed.seat.label, colors: colors, typeColors: typeColors, seatTypeStyles: seatTypeStyles, seatStyle: seatStyle, renderSeat: renderSeat, interactive: interactive, onSeatActivate: onSeatActivate, onSeatFocused: onSeatFocused, onSeatKeyDown: onSeatKeyDown, registerSeat: registerSeat }, placed.seat.id)))] }));
14
+ export function KerusiSection({ layout, label, showLabel = true, selection = EMPTY_SELECTION, focusedSeatId = null, ariaLabels = EMPTY_LABELS, colors = DEFAULT_KERUSI_COLORS, typeColors = true, seatTypeStyles, seatStyle, renderSeat, interactive = true, clickable = false, reachable = interactive, describedBy = null, onSeatActivate, onSeatFocused, onSeatBlurred, onSeatKeyDown, onSeatPointer, registerSeat, }) {
15
+ const section = layout.section;
16
+ const anchor = layout.labelAnchor;
17
+ return (_jsxs("g", { className: "kerusi-section", role: "group", "aria-label": label ?? section.id, "data-section-id": section.id, children: [showLabel && label && section.boundsDeclared && (_jsx("text", { className: "kerusi-section-label", "aria-hidden": "true", textAnchor: "start", dominantBaseline: "hanging", x: anchor.x, y: anchor.y, fontSize: anchor.fontSize, style: { fill: elementTextFill(elementStyle('label').tone, colors) }, children: label })), layout.elements.map((placed) => (_jsx(SectionElement, { placed: placed, colors: colors }, placed.element.id))), layout.seats.map((placed) => (_jsx(SectionSeat, { placed: placed, selected: selection.has(placed.seat.id), tabStop: placed.seat.id === focusedSeatId, ariaLabel: ariaLabels.get(placed.seat.id) ?? placed.seat.label, colors: colors, typeColors: typeColors, seatTypeStyles: seatTypeStyles, seatStyle: seatStyle, renderSeat: renderSeat, interactive: interactive, clickable: clickable, reachable: reachable, describedById: describedBy?.seatId === placed.seat.id ? describedBy.id : undefined, onSeatActivate: onSeatActivate, onSeatFocused: onSeatFocused, onSeatBlurred: onSeatBlurred, onSeatKeyDown: onSeatKeyDown, onSeatPointer: onSeatPointer, registerSeat: registerSeat }, placed.seat.id)))] }));
24
18
  }
25
- function SectionSeat({ placed, selected, tabStop, ariaLabel, colors, typeColors, seatTypeStyles, seatStyle, renderSeat, interactive, onSeatActivate, onSeatFocused, onSeatKeyDown, registerSeat, }) {
19
+ function SectionSeat({ placed, selected, tabStop, ariaLabel, colors, typeColors, seatTypeStyles, seatStyle, renderSeat, interactive, clickable, reachable, describedById, onSeatActivate, onSeatFocused, onSeatBlurred, onSeatKeyDown, onSeatPointer, registerSeat, }) {
26
20
  const seat = placed.seat;
27
21
  const style = resolveSeatStyle(seat, selected, seatTypeStyles, seatStyle);
28
22
  const glyph = resolveSeatGlyph(placed, selected, colors, typeColors, style);
29
23
  const stock = _jsx(SeatGlyphMarks, { glyph: glyph });
30
24
  return (_jsx("g", { ref: (node) => {
31
25
  registerSeat?.(seat.id, node);
32
- }, className: glyph.className, role: "button", tabIndex: interactive && tabStop ? 0 : -1, "aria-label": ariaLabel, "aria-pressed": selected, "aria-disabled": !seat.selectable, "data-seat-id": seat.id, "data-seat-type": glyph.data.type, "data-seat-status": glyph.data.status, "data-section-id": glyph.data.section, "data-seat-row": glyph.data.row, "data-seat-attributes": glyph.data.attributes, transform: transform(placed) ?? undefined, onClick: interactive ? () => onSeatActivate?.(seat.id) : undefined, onFocus: interactive ? () => onSeatFocused?.(seat.id) : undefined, onKeyDown: interactive ? onSeatKeyDown : undefined, children: renderSeat ? (_jsxs(_Fragment, { children: [renderSeat({ placed, seat, selected, glyph, defaultContent: stock }), _jsx("path", { className: "kerusi-seat__focus", d: glyph.body.d })] })) : (stock) }));
26
+ }, className: glyph.className, role: "button", tabIndex: reachable && tabStop ? 0 : -1, "aria-label": ariaLabel, "aria-pressed": !interactive && clickable ? undefined : selected, "aria-disabled": !seat.selectable, "aria-describedby": describedById, "data-seat-id": seat.id, "data-seat-type": glyph.data.type, "data-seat-status": glyph.data.status, "data-section-id": glyph.data.section, "data-seat-row": glyph.data.row, "data-seat-attributes": glyph.data.attributes, transform: transform(placed) ?? undefined, onClick: reachable ? () => onSeatActivate?.(seat.id, 'pointer') : undefined, onFocus: reachable ? () => onSeatFocused?.(seat.id) : undefined, onBlur: reachable && onSeatBlurred ? () => onSeatBlurred(seat.id) : undefined, onKeyDown: reachable ? onSeatKeyDown : undefined, onPointerEnter: onSeatPointer ? (e) => onSeatPointer('enter', seat.id, e.pointerType) : undefined, onPointerLeave: onSeatPointer ? (e) => onSeatPointer('leave', seat.id, e.pointerType) : undefined, onPointerMove: onSeatPointer ? (e) => onSeatPointer('move', seat.id, e.pointerType) : undefined, children: renderSeat ? (_jsxs(_Fragment, { children: [renderSeat({ placed, seat, selected, glyph, defaultContent: stock }), _jsx("path", { className: "kerusi-seat__focus", d: glyph.body.d })] })) : (stock) }));
33
27
  }
34
28
  /**
35
29
  * The stock seat drawing, from a glyph core has already resolved. A fragment,
@@ -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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"}
@@ -5,7 +5,7 @@
5
5
  * there, not re-exported here: the document types (`KerusiMap`, `KerusiState`,
6
6
  * `KerusiSession`), the conformance validator, the render model
7
7
  * (`buildRenderModel`, `RenderMap`, `RenderSeat`), the geometry
8
- * (`computeSectionLayout`), and the view helpers (`summarizeSelection`,
8
+ * (`computeMapLayout`), and the view helpers (`summarizeSelection`,
9
9
  * `seatAriaLabel`, `DEFAULT_KERUSI_COLORS`). This package supplies only what is
10
10
  * React's: components, hooks, and their props.
11
11
  *