@bendyline/squisq-react 1.0.3 → 1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"BlockRenderer.d.ts","sourceRoot":"","sources":["../src/BlockRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAS,MAAM,2BAA2B,CAAC;AAQ9D,kFAAkF;AAElF,eAAO,MAAM,QAAQ;;;CAGpB,CAAC;AAEF,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,kBAAkB;IAC1B,0BAA0B;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,QAAQ,EACR,UAAkB,EAClB,SAAiB,EACjB,QAAmB,EACnB,SAAS,GACV,EAAE,kBAAkB,2CAgDpB;AA2CD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"BlockRenderer.d.ts","sourceRoot":"","sources":["../src/BlockRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAS,MAAM,2BAA2B,CAAC;AAS9D,kFAAkF;AAElF,eAAO,MAAM,QAAQ;;;CAGpB,CAAC;AAEF,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,kBAAkB;IAC1B,0BAA0B;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,QAAQ,EACR,UAAkB,EAClB,SAAiB,EACjB,QAAmB,EACnB,SAAS,GACV,EAAE,kBAAkB,2CAgDpB;AA6CD,eAAe,aAAa,CAAC"}
@@ -4,6 +4,7 @@ import { TextLayer } from './layers/TextLayer';
4
4
  import { ShapeLayer } from './layers/ShapeLayer';
5
5
  import { MapLayer } from './layers/MapLayer';
6
6
  import { VideoLayer } from './layers/VideoLayer';
7
+ import { TableLayer } from './layers/TableLayer';
7
8
  import { getTransitionClass } from './utils/animationUtils';
8
9
  /** Default viewport dimensions (1080p landscape) - for backwards compatibility */
9
10
  // eslint-disable-next-line react-refresh/only-export-components
@@ -42,6 +43,8 @@ function LayerRenderer({ layer, basePath, viewport, blockTime, isPlaying }) {
42
43
  return (_jsx(MapLayer, { layer: layer, basePath: basePath, viewport: viewport, blockTime: blockTime }));
43
44
  case 'video':
44
45
  return (_jsx(VideoLayer, { layer: layer, basePath: basePath, viewport: viewport, blockTime: blockTime, isPlaying: isPlaying }));
46
+ case 'table':
47
+ return _jsx(TableLayer, { layer: layer, viewport: viewport, blockTime: blockTime });
45
48
  default:
46
49
  console.warn(`Unknown layer type: ${layer.type}`);
47
50
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"BlockRenderer.js","sourceRoot":"","sources":["../src/BlockRenderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BlockRenderer.js","sourceRoot":"","sources":["../src/BlockRenderer.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LinearDocView.d.ts","sourceRoot":"","sources":["../src/LinearDocView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAmB,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAWvD,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,GAAG,EAAE,GAAG,CAAC;IACT,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAgND;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,GAAG,EACH,QAAc,EACd,QAAQ,EACR,SAAS,EACT,KAAK,GACN,EAAE,kBAAkB,2CAsIpB"}
1
+ {"version":3,"file":"LinearDocView.d.ts","sourceRoot":"","sources":["../src/LinearDocView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAmB,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAWvD,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,GAAG,EAAE,GAAG,CAAC;IACT,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAwOD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,GAAG,EACH,QAAc,EACd,QAAQ,EACR,SAAS,EACT,KAAK,GACN,EAAE,kBAAkB,2CA2JpB"}
@@ -120,6 +120,23 @@ function extractListItems(contents) {
120
120
  }
121
121
  return items;
122
122
  }
123
+ /** Extract table data (headers, rows, alignment) from block contents. */
124
+ function extractTableData(contents) {
125
+ if (!contents)
126
+ return null;
127
+ for (const node of contents) {
128
+ if (node.type === 'table') {
129
+ const table = node;
130
+ const [headerRow, ...bodyRows] = table.children;
131
+ if (!headerRow)
132
+ return null;
133
+ const headers = headerRow.children.map((cell) => extractPlainText(cell).trim());
134
+ const rows = bodyRows.map((row) => row.children.map((cell) => extractPlainText(cell).trim()));
135
+ return { headers, rows, align: table.align };
136
+ }
137
+ }
138
+ return null;
139
+ }
123
140
  /**
124
141
  * Provide sensible default fields for templates that require more than
125
142
  * just a `title`. Prevents crashes from undefined required fields.
@@ -142,6 +159,10 @@ function getTemplateDefaults(templateName, headingText, bodyText, contents) {
142
159
  return { term: headingText, definition: bodyText || headingText };
143
160
  case 'dateEvent':
144
161
  return { date: headingText, description: bodyText || headingText };
162
+ case 'dataTable': {
163
+ const tableData = extractTableData(contents);
164
+ return tableData ?? { headers: ['Column'], rows: [['Data']] };
165
+ }
145
166
  default:
146
167
  return {};
147
168
  }
@@ -167,7 +188,7 @@ export function LinearDocView({ doc, basePath = '/', viewport, className, theme,
167
188
  viewport: activeViewport,
168
189
  totalBlocks,
169
190
  }), [activeViewport, totalBlocks, theme]);
170
- const activeTheme = theme ?? DEFAULT_THEME;
191
+ const activeTheme = renderContext.theme;
171
192
  const bgColor = activeTheme.colors.background;
172
193
  const textColor = activeTheme.colors.text;
173
194
  const mutedColor = activeTheme.colors.textMuted;
@@ -261,6 +282,27 @@ export function LinearDocView({ doc, basePath = '/', viewport, className, theme,
261
282
  .squisq-linear-content em {
262
283
  font-style: italic;
263
284
  }
285
+ .squisq-linear-content table {
286
+ width: 100%;
287
+ border-collapse: collapse;
288
+ margin: 1em 0;
289
+ font-size: 0.95em;
290
+ }
291
+ .squisq-linear-content thead th {
292
+ background: var(--squisq-linear-primary);
293
+ color: var(--squisq-linear-bg);
294
+ font-family: var(--squisq-linear-title-font);
295
+ font-weight: 600;
296
+ padding: 10px 14px;
297
+ text-align: left;
298
+ }
299
+ .squisq-linear-content tbody td {
300
+ padding: 8px 14px;
301
+ border-bottom: 1px solid color-mix(in srgb, var(--squisq-linear-muted) 30%, transparent);
302
+ }
303
+ .squisq-linear-content tbody tr:hover {
304
+ background: color-mix(in srgb, var(--squisq-linear-primary) 8%, transparent);
305
+ }
264
306
  ` }), doc.blocks.map((block, i) => (_jsx(BlockSection, { block: block, basePath: basePath, viewport: activeViewport, renderContext: renderContext, blockIndex: i }, block.id)))] }) }));
265
307
  }
266
308
  //# sourceMappingURL=LinearDocView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinearDocView.js","sourceRoot":"","sources":["../src/LinearDocView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LinearDocView.js","sourceRoot":"","sources":["../src/LinearDocView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TableLayer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableLayer.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/TableLayer.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,121 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { describe, it, expect } from 'vitest';
3
+ import { render } from '@testing-library/react';
4
+ import { TableLayer } from '../layers/TableLayer';
5
+ // ---------------------------------------------------------------------------
6
+ // Helpers
7
+ // ---------------------------------------------------------------------------
8
+ function makeTableLayer(overrides = {}) {
9
+ return {
10
+ type: 'table',
11
+ id: 'test-table',
12
+ content: {
13
+ headers: ['Name', 'Age', 'City'],
14
+ rows: [
15
+ ['Alice', '30', 'Seattle'],
16
+ ['Bob', '25', 'Portland'],
17
+ ],
18
+ style: {
19
+ headerBackground: '#1e3a5f',
20
+ headerColor: '#ffffff',
21
+ cellBackground: 'rgba(255,255,255,0.05)',
22
+ cellColor: '#e0e0e0',
23
+ borderColor: 'rgba(255,255,255,0.12)',
24
+ fontSize: 28,
25
+ fontFamily: 'system-ui',
26
+ headerFontFamily: 'Georgia',
27
+ borderRadius: 8,
28
+ },
29
+ },
30
+ position: { x: '10%', y: '10%', width: '80%', height: '80%' },
31
+ ...overrides,
32
+ };
33
+ }
34
+ const viewport = { width: 1920, height: 1080 };
35
+ function renderTableLayer(layer) {
36
+ return render(_jsx("svg", { children: _jsx(TableLayer, { layer: layer ?? makeTableLayer(), viewport: viewport, blockTime: 0 }) }));
37
+ }
38
+ // ---------------------------------------------------------------------------
39
+ // Tests
40
+ // ---------------------------------------------------------------------------
41
+ describe('TableLayer', () => {
42
+ it('renders a foreignObject element', () => {
43
+ const { container } = renderTableLayer();
44
+ const fo = container.querySelector('foreignObject');
45
+ expect(fo).toBeTruthy();
46
+ });
47
+ it('renders a table element', () => {
48
+ const { container } = renderTableLayer();
49
+ const table = container.querySelector('table');
50
+ expect(table).toBeTruthy();
51
+ });
52
+ it('renders the correct number of header cells', () => {
53
+ const { container } = renderTableLayer();
54
+ const headers = container.querySelectorAll('th');
55
+ expect(headers.length).toBe(3);
56
+ });
57
+ it('renders header text content', () => {
58
+ const { container } = renderTableLayer();
59
+ const headers = container.querySelectorAll('th');
60
+ expect(headers[0].textContent).toBe('Name');
61
+ expect(headers[1].textContent).toBe('Age');
62
+ expect(headers[2].textContent).toBe('City');
63
+ });
64
+ it('renders the correct number of data rows', () => {
65
+ const { container } = renderTableLayer();
66
+ const rows = container.querySelectorAll('tbody tr');
67
+ expect(rows.length).toBe(2);
68
+ });
69
+ it('renders cell text content', () => {
70
+ const { container } = renderTableLayer();
71
+ const cells = container.querySelectorAll('td');
72
+ expect(cells[0].textContent).toBe('Alice');
73
+ expect(cells[1].textContent).toBe('30');
74
+ expect(cells[2].textContent).toBe('Seattle');
75
+ expect(cells[3].textContent).toBe('Bob');
76
+ });
77
+ it('applies header background color', () => {
78
+ const { container } = renderTableLayer();
79
+ const th = container.querySelector('th');
80
+ expect(th?.style.background).toBe('rgb(30, 58, 95)');
81
+ });
82
+ it('applies font size from style', () => {
83
+ const { container } = renderTableLayer();
84
+ const table = container.querySelector('table');
85
+ expect(table?.style.fontSize).toBe('28px');
86
+ });
87
+ it('applies column alignment when provided', () => {
88
+ const layer = makeTableLayer();
89
+ layer.content.align = ['left', 'center', 'right'];
90
+ const { container } = renderTableLayer(layer);
91
+ const headers = container.querySelectorAll('th');
92
+ expect(headers[0].style.textAlign).toBe('left');
93
+ expect(headers[1].style.textAlign).toBe('center');
94
+ expect(headers[2].style.textAlign).toBe('right');
95
+ });
96
+ it('handles empty headers gracefully', () => {
97
+ const layer = makeTableLayer();
98
+ layer.content.headers = [];
99
+ const { container } = renderTableLayer(layer);
100
+ const thead = container.querySelector('thead');
101
+ // No thead or empty thead
102
+ expect(thead).toBeFalsy();
103
+ });
104
+ it('handles empty rows gracefully', () => {
105
+ const layer = makeTableLayer();
106
+ layer.content.rows = [];
107
+ const { container } = renderTableLayer(layer);
108
+ const tbody = container.querySelector('tbody');
109
+ // No tbody or empty tbody
110
+ expect(tbody).toBeFalsy();
111
+ });
112
+ it('sets foreignObject dimensions based on viewport percentage', () => {
113
+ const { container } = renderTableLayer();
114
+ const fo = container.querySelector('foreignObject');
115
+ // 80% of 1920 = 1536
116
+ expect(fo?.getAttribute('width')).toBe('1536');
117
+ // 80% of 1080 = 864
118
+ expect(fo?.getAttribute('height')).toBe('864');
119
+ });
120
+ });
121
+ //# sourceMappingURL=TableLayer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableLayer.test.js","sourceRoot":"","sources":["../../src/__tests__/TableLayer.test.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,6 +14,7 @@ export { ImageLayer } from './layers/ImageLayer.js';
14
14
  export { TextLayer } from './layers/TextLayer.js';
15
15
  export { ShapeLayer } from './layers/ShapeLayer.js';
16
16
  export { VideoLayer } from './layers/VideoLayer.js';
17
+ export { TableLayer } from './layers/TableLayer.js';
17
18
  export { MapLayer } from './layers/MapLayer.js';
18
19
  export { useAudioSync } from './hooks/useAudioSync.js';
19
20
  export { useDocPlayback } from './hooks/useDocPlayback.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtF,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxF,YAAY,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,cAAc,EACd,WAAW,EACX,YAAY,EACZ,WAAW,EACX,eAAe,EACf,eAAe,EACf,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtF,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxF,YAAY,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,cAAc,EACd,WAAW,EACX,YAAY,EACZ,WAAW,EACX,eAAe,EACf,eAAe,EACf,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ export { ImageLayer } from './layers/ImageLayer.js';
16
16
  export { TextLayer } from './layers/TextLayer.js';
17
17
  export { ShapeLayer } from './layers/ShapeLayer.js';
18
18
  export { VideoLayer } from './layers/VideoLayer.js';
19
+ export { TableLayer } from './layers/TableLayer.js';
19
20
  export { MapLayer } from './layers/MapLayer.js';
20
21
  // Hooks
21
22
  export { useAudioSync } from './hooks/useAudioSync.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,mBAAmB;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAoBtF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,mBAAmB;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAoBtF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * TableLayer Component
3
+ *
4
+ * Renders a data table within an SVG block using a <foreignObject> to embed
5
+ * an HTML table. This gives us native table layout inside SVG viewports.
6
+ *
7
+ * The table is styled inline using the TableLayerStyle properties, which are
8
+ * typically derived from the active theme by the dataTable template.
9
+ */
10
+ import type { TableLayer as TableLayerType } from '@bendyline/squisq/schemas';
11
+ interface TableLayerProps {
12
+ layer: TableLayerType;
13
+ /** Viewport dimensions for percentage calculations */
14
+ viewport: {
15
+ width: number;
16
+ height: number;
17
+ };
18
+ /** Current time relative to block start (for animation) */
19
+ blockTime: number;
20
+ }
21
+ export declare function TableLayer({ layer, viewport, blockTime }: TableLayerProps): import("react/jsx-runtime").JSX.Element;
22
+ export {};
23
+ //# sourceMappingURL=TableLayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableLayer.d.ts","sourceRoot":"","sources":["../../src/layers/TableLayer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI9E,UAAU,eAAe;IACvB,KAAK,EAAE,cAAc,CAAC;IACtB,sDAAsD;IACtD,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,eAAe,2CA0GzE"}
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { resolveValue, getAnchorOffset } from '../utils/layerUtils';
3
+ import { getAnimationStyle } from '../utils/animationUtils';
4
+ export function TableLayer({ layer, viewport, blockTime }) {
5
+ const { content, position, animation } = layer;
6
+ const { headers, rows, align, style } = content;
7
+ // Resolve position values to pixels
8
+ const x = resolveValue(position.x, viewport.width);
9
+ const y = resolveValue(position.y, viewport.height);
10
+ const width = position.width ? resolveValue(position.width, viewport.width) : viewport.width;
11
+ const height = position.height ? resolveValue(position.height, viewport.height) : viewport.height;
12
+ // Apply anchor offset
13
+ const offset = getAnchorOffset(position.anchor, width, height);
14
+ const finalX = x + offset.x;
15
+ const finalY = y + offset.y;
16
+ // Build animation style
17
+ const animStyle = animation ? getAnimationStyle(animation, blockTime) : {};
18
+ const cellAlign = (ci) => {
19
+ const a = align?.[ci];
20
+ return a ? { textAlign: a } : undefined;
21
+ };
22
+ const borderRadius = style.borderRadius ?? 8;
23
+ return (_jsx("foreignObject", { x: finalX, y: finalY, width: width, height: height, style: animStyle, children: _jsx("div", { ...{ xmlns: 'http://www.w3.org/1999/xhtml' }, style: {
24
+ width: '100%',
25
+ height: '100%',
26
+ display: 'flex',
27
+ alignItems: 'center',
28
+ justifyContent: 'center',
29
+ padding: '16px',
30
+ boxSizing: 'border-box',
31
+ }, children: _jsxs("table", { style: {
32
+ width: '100%',
33
+ borderCollapse: 'separate',
34
+ borderSpacing: 0,
35
+ fontSize: `${style.fontSize}px`,
36
+ fontFamily: style.fontFamily ?? 'system-ui, sans-serif',
37
+ overflow: 'hidden',
38
+ borderRadius: `${borderRadius}px`,
39
+ border: `1px solid ${style.borderColor}`,
40
+ }, children: [headers.length > 0 && (_jsx("thead", { children: _jsx("tr", { children: headers.map((header, ci) => (_jsx("th", { style: {
41
+ background: style.headerBackground,
42
+ color: style.headerColor,
43
+ fontFamily: style.headerFontFamily ?? style.fontFamily ?? 'system-ui, sans-serif',
44
+ fontWeight: 600,
45
+ padding: '12px 16px',
46
+ borderBottom: `2px solid ${style.borderColor}`,
47
+ borderRight: ci < headers.length - 1 ? `1px solid ${style.borderColor}` : undefined,
48
+ ...cellAlign(ci),
49
+ }, children: header }, ci))) }) })), rows.length > 0 && (_jsx("tbody", { children: rows.map((row, ri) => (_jsx("tr", { children: row.map((cell, ci) => (_jsx("td", { style: {
50
+ background: style.cellBackground,
51
+ color: style.cellColor,
52
+ padding: '10px 16px',
53
+ borderBottom: ri < rows.length - 1 ? `1px solid ${style.borderColor}` : undefined,
54
+ borderRight: ci < row.length - 1 ? `1px solid ${style.borderColor}` : undefined,
55
+ ...cellAlign(ci),
56
+ }, children: cell }, ci))) }, ri))) }))] }) }) }));
57
+ }
58
+ //# sourceMappingURL=TableLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableLayer.js","sourceRoot":"","sources":["../../src/layers/TableLayer.tsx"],"names":[],"mappings":"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"}