@bendyline/squisq-react 1.2.0 → 1.3.1
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/dist/InlineAudioPlayer.d.ts +15 -0
- package/dist/InlineAudioPlayer.d.ts.map +1 -0
- package/dist/InlineAudioPlayer.js +22 -0
- package/dist/InlineAudioPlayer.js.map +1 -0
- package/dist/InlineVideoPlayer.d.ts +21 -0
- package/dist/InlineVideoPlayer.d.ts.map +1 -0
- package/dist/InlineVideoPlayer.js +29 -0
- package/dist/InlineVideoPlayer.js.map +1 -0
- package/dist/LinearDocView.d.ts.map +1 -1
- package/dist/LinearDocView.js +124 -13
- package/dist/LinearDocView.js.map +1 -1
- package/dist/MarkdownRenderer.d.ts.map +1 -1
- package/dist/MarkdownRenderer.js +111 -2
- package/dist/MarkdownRenderer.js.map +1 -1
- package/dist/SocialCaptionOverlay.d.ts.map +1 -1
- package/dist/SocialCaptionOverlay.js +3 -2
- package/dist/SocialCaptionOverlay.js.map +1 -1
- package/dist/__tests__/JsonView.test.d.ts +2 -0
- package/dist/__tests__/JsonView.test.d.ts.map +1 -0
- package/dist/__tests__/JsonView.test.js +93 -0
- package/dist/__tests__/JsonView.test.js.map +1 -0
- package/dist/__tests__/LinearDocView.test.js +62 -0
- package/dist/__tests__/LinearDocView.test.js.map +1 -1
- package/dist/hooks/MediaContext.d.ts.map +1 -1
- package/dist/hooks/MediaContext.js +13 -7
- package/dist/hooks/MediaContext.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/jsonView/JsonView.d.ts +26 -0
- package/dist/jsonView/JsonView.d.ts.map +1 -0
- package/dist/jsonView/JsonView.js +12 -0
- package/dist/jsonView/JsonView.js.map +1 -0
- package/dist/jsonView/RenderNode.d.ts +22 -0
- package/dist/jsonView/RenderNode.d.ts.map +1 -0
- package/dist/jsonView/RenderNode.js +30 -0
- package/dist/jsonView/RenderNode.js.map +1 -0
- package/dist/jsonView/index.d.ts +3 -0
- package/dist/jsonView/index.d.ts.map +1 -0
- package/dist/jsonView/index.js +2 -0
- package/dist/jsonView/index.js.map +1 -0
- package/dist/jsonView/useJsonViewTokens.d.ts +14 -0
- package/dist/jsonView/useJsonViewTokens.d.ts.map +1 -0
- package/dist/jsonView/useJsonViewTokens.js +34 -0
- package/dist/jsonView/useJsonViewTokens.js.map +1 -0
- package/dist/jsonView/viewers.d.ts +30 -0
- package/dist/jsonView/viewers.d.ts.map +1 -0
- package/dist/jsonView/viewers.js +226 -0
- package/dist/jsonView/viewers.js.map +1 -0
- package/dist/squisq-player.css +1 -1
- package/dist/squisq-player.css.map +1 -1
- package/dist/squisq-player.global.js +24 -10
- package/dist/squisq-player.global.js.map +1 -1
- package/dist/standalone-source.js +1 -1
- package/dist/types.d.ts +5 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +5 -4
- package/src/InlineAudioPlayer.tsx +46 -0
- package/src/InlineVideoPlayer.tsx +70 -0
- package/src/LinearDocView.tsx +136 -14
- package/src/MarkdownRenderer.tsx +156 -10
- package/src/SocialCaptionOverlay.tsx +3 -2
- package/src/__tests__/JsonView.test.tsx +111 -0
- package/src/__tests__/LinearDocView.test.tsx +66 -0
- package/src/hooks/MediaContext.tsx +15 -8
- package/src/index.ts +9 -0
- package/src/jsonView/JsonView.tsx +51 -0
- package/src/jsonView/RenderNode.tsx +51 -0
- package/src/jsonView/index.ts +2 -0
- package/src/jsonView/json-view.css +206 -0
- package/src/jsonView/useJsonViewTokens.ts +57 -0
- package/src/jsonView/viewers.tsx +343 -0
- package/src/standalone-source.d.ts +10 -0
- package/src/styles/doc-animations.css +36 -0
- package/src/styles/index.css +7 -0
- package/src/types.ts +5 -1
- package/dist/standalone-source.d.ts +0 -2
|
@@ -0,0 +1,93 @@
|
|
|
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 { JsonView } from '../jsonView';
|
|
5
|
+
describe('JsonView', () => {
|
|
6
|
+
it('renders an object schema as labeled rows', () => {
|
|
7
|
+
const schema = {
|
|
8
|
+
type: 'object',
|
|
9
|
+
properties: {
|
|
10
|
+
title: { type: 'string', title: 'Page Title' },
|
|
11
|
+
active: { type: 'boolean' },
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
const { container } = render(_jsx(JsonView, { schema: schema, value: { title: 'Hello', active: true } }));
|
|
15
|
+
expect(container.textContent).toContain('Page Title');
|
|
16
|
+
expect(container.textContent).toContain('Hello');
|
|
17
|
+
expect(container.textContent).toContain('On');
|
|
18
|
+
});
|
|
19
|
+
it('renders an array of primitives as chips', () => {
|
|
20
|
+
const schema = {
|
|
21
|
+
type: 'array',
|
|
22
|
+
items: { type: 'string' },
|
|
23
|
+
};
|
|
24
|
+
const { container } = render(_jsx(JsonView, { schema: schema, value: ['a', 'b', 'c'] }));
|
|
25
|
+
expect(container.querySelectorAll('.squisq-jv-chip')).toHaveLength(3);
|
|
26
|
+
});
|
|
27
|
+
it('renders an array of objects as cards with itemLabel.fromField', () => {
|
|
28
|
+
const schema = {
|
|
29
|
+
type: 'array',
|
|
30
|
+
items: {
|
|
31
|
+
type: 'object',
|
|
32
|
+
properties: {
|
|
33
|
+
heading: { type: 'string' },
|
|
34
|
+
body: { type: 'string' },
|
|
35
|
+
},
|
|
36
|
+
squisq: { itemLabel: { fromField: 'heading' } },
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
const { container } = render(_jsx(JsonView, { schema: schema, value: [
|
|
40
|
+
{ heading: 'Section A', body: 'Body A' },
|
|
41
|
+
{ heading: 'Section B', body: 'Body B' },
|
|
42
|
+
] }));
|
|
43
|
+
const cards = container.querySelectorAll('.squisq-jv-card');
|
|
44
|
+
expect(cards).toHaveLength(2);
|
|
45
|
+
expect(cards[0].textContent).toContain('Section A');
|
|
46
|
+
expect(cards[1].textContent).toContain('Section B');
|
|
47
|
+
});
|
|
48
|
+
it('renders a color value as a swatch + hex', () => {
|
|
49
|
+
const schema = {
|
|
50
|
+
type: 'string',
|
|
51
|
+
format: 'color',
|
|
52
|
+
};
|
|
53
|
+
const { container } = render(_jsx(JsonView, { schema: schema, value: "#ff0080" }));
|
|
54
|
+
const swatch = container.querySelector('.squisq-jv-color__swatch');
|
|
55
|
+
expect(swatch).not.toBeNull();
|
|
56
|
+
expect(swatch?.style.background).toContain('rgb(255, 0, 128)');
|
|
57
|
+
expect(container.textContent).toContain('#ff0080');
|
|
58
|
+
});
|
|
59
|
+
it('hides fields whose squisq.hidden rule matches', () => {
|
|
60
|
+
const schema = {
|
|
61
|
+
type: 'object',
|
|
62
|
+
properties: {
|
|
63
|
+
showAuthor: { type: 'boolean' },
|
|
64
|
+
authorName: {
|
|
65
|
+
type: 'string',
|
|
66
|
+
squisq: { hidden: { field: 'showAuthor', truthy: false } },
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
const visible = render(_jsx(JsonView, { schema: schema, value: { showAuthor: true, authorName: 'Alex' } }));
|
|
71
|
+
expect(visible.container.textContent).toContain('Alex');
|
|
72
|
+
const hidden = render(_jsx(JsonView, { schema: schema, value: { showAuthor: false, authorName: 'Alex' } }));
|
|
73
|
+
expect(hidden.container.textContent).not.toContain('Alex');
|
|
74
|
+
});
|
|
75
|
+
it('renders empty values as the em-dash placeholder', () => {
|
|
76
|
+
const schema = {
|
|
77
|
+
type: 'object',
|
|
78
|
+
properties: { title: { type: 'string' } },
|
|
79
|
+
};
|
|
80
|
+
const { container } = render(_jsx(JsonView, { schema: schema, value: {} }));
|
|
81
|
+
expect(container.textContent).toContain('—');
|
|
82
|
+
});
|
|
83
|
+
it('respects squisq.enumLabels when displaying enum values', () => {
|
|
84
|
+
const schema = {
|
|
85
|
+
type: 'string',
|
|
86
|
+
enum: ['s', 'm', 'l'],
|
|
87
|
+
squisq: { enumLabels: { s: 'Small', m: 'Medium', l: 'Large' } },
|
|
88
|
+
};
|
|
89
|
+
const { container } = render(_jsx(JsonView, { schema: schema, value: "m" }));
|
|
90
|
+
expect(container.textContent).toContain('Medium');
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
//# sourceMappingURL=JsonView.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonView.test.js","sourceRoot":"","sources":["../../src/__tests__/JsonView.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -69,6 +69,68 @@ describe('LinearDocView', () => {
|
|
|
69
69
|
expect(container.querySelector('h2')?.textContent).toBe('My Section');
|
|
70
70
|
expect(container.textContent).toContain('Section body text');
|
|
71
71
|
});
|
|
72
|
+
it('feeds imageWithCaption blocks the first body image as imageSrc', () => {
|
|
73
|
+
// Regression: without auto-extracting imageSrc from contents, the
|
|
74
|
+
// template renders a layer with `src=undefined` and the SVG card
|
|
75
|
+
// shows a broken image in document (linear) mode.
|
|
76
|
+
const doc = mkDoc([
|
|
77
|
+
mkBlock({
|
|
78
|
+
id: 'img-1',
|
|
79
|
+
sourceHeading: {
|
|
80
|
+
type: 'heading',
|
|
81
|
+
depth: 1,
|
|
82
|
+
children: [text('Mike Ammerlaan')],
|
|
83
|
+
templateAnnotation: { template: 'imageWithCaption' },
|
|
84
|
+
},
|
|
85
|
+
contents: [paragraph({ type: 'image', url: 'mikehome_files/profile.png', alt: 'Mike' })],
|
|
86
|
+
}),
|
|
87
|
+
]);
|
|
88
|
+
const { container } = render(_jsx(LinearDocView, { doc: doc }));
|
|
89
|
+
const card = container.querySelector('.squisq-linear-card');
|
|
90
|
+
expect(card).toBeTruthy();
|
|
91
|
+
const img = card.querySelector('image, img');
|
|
92
|
+
expect(img).toBeTruthy();
|
|
93
|
+
const href = img.getAttribute('href') ?? img.getAttribute('xlink:href') ?? img.getAttribute('src');
|
|
94
|
+
expect(href).toContain('mikehome_files/profile.png');
|
|
95
|
+
});
|
|
96
|
+
it('extracts imageSrc from raw HTML <img> (resized image)', () => {
|
|
97
|
+
// The WYSIWYG editor emits `<img src width>` for resized images
|
|
98
|
+
// because markdown shorthand has no width syntax. The linear view
|
|
99
|
+
// must read that form too, or every resized imageWithCaption block
|
|
100
|
+
// renders as a broken card.
|
|
101
|
+
const doc = mkDoc([
|
|
102
|
+
mkBlock({
|
|
103
|
+
id: 'img-2',
|
|
104
|
+
sourceHeading: {
|
|
105
|
+
type: 'heading',
|
|
106
|
+
depth: 1,
|
|
107
|
+
children: [text('Resized')],
|
|
108
|
+
templateAnnotation: { template: 'imageWithCaption' },
|
|
109
|
+
},
|
|
110
|
+
contents: [
|
|
111
|
+
{
|
|
112
|
+
type: 'htmlBlock',
|
|
113
|
+
rawHtml: '<img alt="resized" src="resized.png" width="194">',
|
|
114
|
+
htmlChildren: [
|
|
115
|
+
{
|
|
116
|
+
type: 'htmlElement',
|
|
117
|
+
tagName: 'img',
|
|
118
|
+
attributes: { src: 'resized.png', alt: 'resized', width: '194' },
|
|
119
|
+
children: [],
|
|
120
|
+
selfClosing: true,
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
}),
|
|
126
|
+
]);
|
|
127
|
+
const { container } = render(_jsx(LinearDocView, { doc: doc }));
|
|
128
|
+
const card = container.querySelector('.squisq-linear-card');
|
|
129
|
+
expect(card).toBeTruthy();
|
|
130
|
+
const img = card.querySelector('image, img');
|
|
131
|
+
const href = img?.getAttribute('href') ?? img?.getAttribute('xlink:href') ?? img?.getAttribute('src');
|
|
132
|
+
expect(href).toContain('resized.png');
|
|
133
|
+
});
|
|
72
134
|
it('renders annotated block as SVG card', () => {
|
|
73
135
|
const doc = mkDoc([
|
|
74
136
|
mkBlock({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinearDocView.test.js","sourceRoot":"","sources":["../../src/__tests__/LinearDocView.test.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LinearDocView.test.js","sourceRoot":"","sources":["../../src/__tests__/LinearDocView.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAOvF,sEAAsE;AAEtE,SAAS,IAAI,CAAC,KAAa;IACzB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,QAA8B;IAClD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,SAAS,CAAC,KAAgB,EAAE,KAAa;IAChD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,OAAO,CAAC,YAA4B,EAAE;IAC7C,OAAO;QACL,EAAE,EAAE,SAAS;QACb,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,CAAC;QACX,YAAY,EAAE,CAAC;QACf,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,MAAe;IAC5B,OAAO;QACL,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,EAAE;QACZ,MAAM;QACN,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KACxB,CAAC;AACJ,CAAC;AAED,sEAAsE;AAEtE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,GAAG,GAAG,KAAK,CAAC;YAChB,OAAO,CAAC;gBACN,EAAE,EAAE,UAAU;gBACd,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;aACjD,CAAC;SACH,CAAC,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,GAAI,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACrD,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,CAAE,EAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,GAAG,GAAG,KAAK,CAAC;YAChB,OAAO,CAAC;gBACN,EAAE,EAAE,UAAU;gBACd,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;aAC7C,CAAC;SACH,CAAC,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,GAAI,CAAC,CAAC;QAC1D,yCAAyC;QACzC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC1D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,GAAG,GAAG,KAAK,CAAC;YAChB,OAAO,CAAC;gBACN,EAAE,EAAE,WAAW;gBACf,aAAa,EAAE,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC;gBACzC,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;aACjD,CAAC;SACH,CAAC,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,GAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtE,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,kEAAkE;QAClE,iEAAiE;QACjE,kDAAkD;QAClD,MAAM,GAAG,GAAG,KAAK,CAAC;YAChB,OAAO,CAAC;gBACN,EAAE,EAAE,OAAO;gBACX,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,CAAC;oBACR,QAAQ,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAClC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE;iBACrD;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,4BAA4B,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;aACzF,CAAC;SACH,CAAC,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,GAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAK,CAAC,aAAa,CAAC,YAAY,CAAmB,CAAC;QAChE,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;QACzB,MAAM,IAAI,GACR,GAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,GAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,GAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3F,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,gEAAgE;QAChE,kEAAkE;QAClE,mEAAmE;QACnE,4BAA4B;QAC5B,MAAM,GAAG,GAAG,KAAK,CAAC;YAChB,OAAO,CAAC;gBACN,EAAE,EAAE,OAAO;gBACX,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,CAAC;oBACR,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC3B,kBAAkB,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE;iBACrD;gBACD,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,mDAAmD;wBAC5D,YAAY,EAAE;4BACZ;gCACE,IAAI,EAAE,aAAa;gCACnB,OAAO,EAAE,KAAK;gCACd,UAAU,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;gCAChE,QAAQ,EAAE,EAAE;gCACZ,WAAW,EAAE,IAAI;6BAClB;yBACF;qBAC8B;iBAClC;aACF,CAAC;SACH,CAAC,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,GAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAK,CAAC,aAAa,CAAC,YAAY,CAAmB,CAAC;QAChE,MAAM,IAAI,GACR,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3F,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,GAAG,GAAG,KAAK,CAAC;YAChB,OAAO,CAAC;gBACN,EAAE,EAAE,aAAa;gBACjB,QAAQ,EAAE,eAAe;gBACzB,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,CAAC;oBACR,QAAQ,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAChC,kBAAkB,EAAE;wBAClB,QAAQ,EAAE,eAAe;qBAC1B;iBACF;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;aACpC,CAAC;SACH,CAAC,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,GAAI,CAAC,CAAC;QAC1D,6BAA6B;QAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QAC1B,6CAA6C;QAC7C,MAAM,GAAG,GAAG,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC;YAChB,OAAO,CAAC;gBACN,EAAE,EAAE,QAAQ;gBACZ,aAAa,EAAE,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC;gBACrC,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC1C,QAAQ,EAAE;oBACR,OAAO,CAAC;wBACN,EAAE,EAAE,OAAO;wBACX,aAAa,EAAE,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC;wBACpC,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;qBAC1C,CAAC;iBACH;aACF,CAAC;SACH,CAAC,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,GAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,GAAG,GAAG,KAAK,CAAC;YAChB,OAAO,CAAC;gBACN,EAAE,EAAE,IAAI;gBACR,aAAa,EAAE,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC;gBACpC,QAAQ,EAAE,EAAE;aACb,CAAC;YACF,OAAO,CAAC;gBACN,EAAE,EAAE,IAAI;gBACR,aAAa,EAAE,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC;gBACrC,QAAQ,EAAE,EAAE;aACb,CAAC;SACH,CAAC,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,GAAI,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QACtE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,GAAG,GAAG,KAAK,CAAC;YAChB,OAAO,CAAC;gBACN,EAAE,EAAE,OAAO;gBACX,aAAa,EAAE,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC;gBAC5C,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACzC,CAAC;SACH,CAAC,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,GAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAClE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAC,UAAU,GAAG,CAAC,CAAC;QAC/E,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,GAAG,GAAG,KAAK,CAAC;YAChB,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YACtC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;SACtC,CAAC,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,GAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QACxE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,GAAI,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAgB,CAAC;QACpE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC;QACzC,wEAAwE;QACxE,+DAA+D;QAC/D,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,GAAI,CAC1E,CAAC;QACF,MAAM,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAgB,CAAC;QACpE,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QAClD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,GAAI,CACzE,CAAC;QACF,MAAM,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAgB,CAAC;QACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaContext.d.ts","sourceRoot":"","sources":["../../src/hooks/MediaContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,YAAY,+CAA4C,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAEvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"MediaContext.d.ts","sourceRoot":"","sources":["../../src/hooks/MediaContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,YAAY,+CAA4C,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAEvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+C1E"}
|
|
@@ -35,13 +35,19 @@ export function useMediaProvider() {
|
|
|
35
35
|
*/
|
|
36
36
|
export function useMediaUrl(relativePath, basePath) {
|
|
37
37
|
const provider = useMediaProvider();
|
|
38
|
+
// Defensive: callers (esp. preview surfaces like InlinePreviewGutter)
|
|
39
|
+
// sometimes feed in template-generated layers whose `content.src` is
|
|
40
|
+
// undefined while the user is still authoring the block. Treat that
|
|
41
|
+
// as an empty string rather than crashing the whole React tree.
|
|
42
|
+
const safePath = typeof relativePath === 'string' ? relativePath : '';
|
|
38
43
|
// For absolute/http URLs, skip resolution entirely
|
|
39
|
-
const isAbsolute =
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
44
|
+
const isAbsolute = !safePath ||
|
|
45
|
+
safePath.startsWith('http') ||
|
|
46
|
+
safePath.startsWith('/') ||
|
|
47
|
+
safePath.startsWith('data:') ||
|
|
48
|
+
safePath.startsWith('blob:');
|
|
43
49
|
// Memoize fallback to avoid recalculating on every render
|
|
44
|
-
const fallback = useMemo(() => (isAbsolute ?
|
|
50
|
+
const fallback = useMemo(() => (isAbsolute ? safePath : `${basePath}/${safePath}`), [isAbsolute, safePath, basePath]);
|
|
45
51
|
// Fast path: no provider or absolute URL — return synchronously, skip effect entirely
|
|
46
52
|
const needsProvider = !isAbsolute && !!provider;
|
|
47
53
|
const [url, setUrl] = useState(fallback);
|
|
@@ -51,14 +57,14 @@ export function useMediaUrl(relativePath, basePath) {
|
|
|
51
57
|
return;
|
|
52
58
|
}
|
|
53
59
|
let cancelled = false;
|
|
54
|
-
provider.resolveUrl(
|
|
60
|
+
provider.resolveUrl(safePath).then((resolved) => {
|
|
55
61
|
if (!cancelled)
|
|
56
62
|
setUrl(resolved);
|
|
57
63
|
});
|
|
58
64
|
return () => {
|
|
59
65
|
cancelled = true;
|
|
60
66
|
};
|
|
61
|
-
}, [needsProvider, provider,
|
|
67
|
+
}, [needsProvider, provider, safePath, fallback]);
|
|
62
68
|
// When provider is not needed, return fallback directly to avoid
|
|
63
69
|
// the one-frame delay from the initial useState → useEffect cycle
|
|
64
70
|
return needsProvider ? url : fallback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaContext.js","sourceRoot":"","sources":["../../src/hooks/MediaContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAuB,IAAI,CAAC,CAAC;AAEtE;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,YAAoB,EAAE,QAAgB;IAChE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IAEpC,mDAAmD;IACnD,MAAM,UAAU,GACd,
|
|
1
|
+
{"version":3,"file":"MediaContext.js","sourceRoot":"","sources":["../../src/hooks/MediaContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAuB,IAAI,CAAC,CAAC;AAEtE;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,YAAoB,EAAE,QAAgB;IAChE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IAEpC,sEAAsE;IACtE,qEAAqE;IACrE,oEAAoE;IACpE,gEAAgE;IAChE,MAAM,QAAQ,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtE,mDAAmD;IACnD,MAAM,UAAU,GACd,CAAC,QAAQ;QACT,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;QAC3B,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;QACxB,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QAC5B,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAE/B,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC,EACzD,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CACjC,CAAC;IAEF,sFAAsF;IACtF,MAAM,aAAa,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC;IAEhD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,QAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/C,IAAI,CAAC,SAAS;gBAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAElD,iEAAiE;IACjE,kEAAkE;IAClE,OAAO,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,10 @@ export { DocProgressBar } from './DocProgressBar.js';
|
|
|
11
11
|
export { MarkdownRenderer } from './MarkdownRenderer.js';
|
|
12
12
|
export { LinearDocView } from './LinearDocView.js';
|
|
13
13
|
export type { LinearDocViewProps, ImageDisplayMode } from './LinearDocView.js';
|
|
14
|
+
export { InlineVideoPlayer } from './InlineVideoPlayer.js';
|
|
15
|
+
export type { InlineVideoPlayerProps } from './InlineVideoPlayer.js';
|
|
16
|
+
export { InlineAudioPlayer } from './InlineAudioPlayer.js';
|
|
17
|
+
export type { InlineAudioPlayerProps } from './InlineAudioPlayer.js';
|
|
14
18
|
export { ImageLayer } from './layers/ImageLayer.js';
|
|
15
19
|
export { TextLayer } from './layers/TextLayer.js';
|
|
16
20
|
export { ShapeLayer } from './layers/ShapeLayer.js';
|
|
@@ -21,8 +25,11 @@ export { useAudioSync } from './hooks/useAudioSync.js';
|
|
|
21
25
|
export { useDocPlayback } from './hooks/useDocPlayback.js';
|
|
22
26
|
export { useViewportOrientation } from './hooks/useViewportOrientation.js';
|
|
23
27
|
export { MediaContext, useMediaProvider, useMediaUrl } from './hooks/MediaContext.js';
|
|
28
|
+
export { useAutoSurface } from './hooks/useAutoSurface.js';
|
|
24
29
|
export type { AudioProvider, AudioState, AudioActions } from './hooks/AudioProvider.js';
|
|
25
30
|
export type { PlaybackState, PlaybackActions, BlockMarker, ControlsLayout, DisplayMode, CaptionStyle, CaptionMode, SlideNavActions, SquisqRenderAPI, SquisqWindow, RenderBlockInfo, RenderAudioSegmentInfo, RenderCaptionInfo, RenderChapterInfo, } from './types.js';
|
|
26
31
|
export { formatTime } from './types.js';
|
|
27
32
|
export { getAnimationStyle, getTransitionClass } from './utils/animationUtils.js';
|
|
33
|
+
export { JsonView } from './jsonView/index.js';
|
|
34
|
+
export type { JsonViewProps } from './jsonView/index.js';
|
|
28
35
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;AACnD,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,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;AACnD,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGrE,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;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,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;AAGlF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,8 @@ export { DocPlayerWithSidebar } from './DocPlayerWithSidebar.js';
|
|
|
11
11
|
export { DocProgressBar } from './DocProgressBar.js';
|
|
12
12
|
export { MarkdownRenderer } from './MarkdownRenderer.js';
|
|
13
13
|
export { LinearDocView } from './LinearDocView.js';
|
|
14
|
+
export { InlineVideoPlayer } from './InlineVideoPlayer.js';
|
|
15
|
+
export { InlineAudioPlayer } from './InlineAudioPlayer.js';
|
|
14
16
|
// Layer components
|
|
15
17
|
export { ImageLayer } from './layers/ImageLayer.js';
|
|
16
18
|
export { TextLayer } from './layers/TextLayer.js';
|
|
@@ -23,7 +25,10 @@ export { useAudioSync } from './hooks/useAudioSync.js';
|
|
|
23
25
|
export { useDocPlayback } from './hooks/useDocPlayback.js';
|
|
24
26
|
export { useViewportOrientation } from './hooks/useViewportOrientation.js';
|
|
25
27
|
export { MediaContext, useMediaProvider, useMediaUrl } from './hooks/MediaContext.js';
|
|
28
|
+
export { useAutoSurface } from './hooks/useAutoSurface.js';
|
|
26
29
|
export { formatTime } from './types.js';
|
|
27
30
|
// Utilities
|
|
28
31
|
export { getAnimationStyle, getTransitionClass } from './utils/animationUtils.js';
|
|
32
|
+
// JSON Form — read-only viewer
|
|
33
|
+
export { JsonView } from './jsonView/index.js';
|
|
29
34
|
//# sourceMappingURL=index.js.map
|
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;
|
|
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,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,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;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAoB3D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAElF,+BAA+B;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <JsonView>
|
|
3
|
+
*
|
|
4
|
+
* Read-only renderer for any JSON value bound to a JSON Schema (with
|
|
5
|
+
* optional Squisq UI hints). Designed to look like a polished settings
|
|
6
|
+
* summary or CRM record — not a disabled form. Themable via the
|
|
7
|
+
* standard Theme + SurfaceScheme props used elsewhere in Squisq.
|
|
8
|
+
*/
|
|
9
|
+
import type { SquisqAnnotatedSchema } from '@bendyline/squisq/jsonForm';
|
|
10
|
+
import type { SurfaceScheme, Theme } from '@bendyline/squisq/schemas';
|
|
11
|
+
export interface JsonViewProps {
|
|
12
|
+
/** Schema describing the value's shape (with optional `squisq` UI hints). */
|
|
13
|
+
schema: SquisqAnnotatedSchema;
|
|
14
|
+
/** The value to display. */
|
|
15
|
+
value: unknown;
|
|
16
|
+
/** Optional theme. Defaults to `DEFAULT_THEME`. */
|
|
17
|
+
theme?: Theme;
|
|
18
|
+
/** Light/dark surface override; `'auto'` follows `prefers-color-scheme`. */
|
|
19
|
+
surface?: SurfaceScheme | 'auto';
|
|
20
|
+
/** Padding/gap density. Default: 'comfortable'. */
|
|
21
|
+
density?: 'comfortable' | 'compact';
|
|
22
|
+
/** Optional CSS class for the outer container. */
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
export declare function JsonView(props: JsonViewProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
//# sourceMappingURL=JsonView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonView.d.ts","sourceRoot":"","sources":["../../src/jsonView/JsonView.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAItE,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,MAAM,EAAE,qBAAqB,CAAC;IAC9B,4BAA4B;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,mDAAmD;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,4EAA4E;IAC5E,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IACjC,mDAAmD;IACnD,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACpC,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAqB5C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useJsonViewTokens } from './useJsonViewTokens';
|
|
3
|
+
import { RenderNode } from './RenderNode';
|
|
4
|
+
export function JsonView(props) {
|
|
5
|
+
const { schema, value, theme, surface, density = 'comfortable', className } = props;
|
|
6
|
+
const { style } = useJsonViewTokens(theme, surface);
|
|
7
|
+
const cls = 'squisq-json-view' +
|
|
8
|
+
(density === 'compact' ? ' squisq-json-view--compact' : '') +
|
|
9
|
+
(className ? ` ${className}` : '');
|
|
10
|
+
return (_jsx("div", { className: cls, style: style, children: _jsx(RenderNode, { value: value, schema: schema, rootSchema: schema, rootData: value, pointer: "", density: density }) }));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=JsonView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonView.js","sourceRoot":"","sources":["../../src/jsonView/JsonView.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAiB1C,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IACpF,MAAM,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEpD,MAAM,GAAG,GACP,kBAAkB;QAClB,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAErC,OAAO,CACL,cAAK,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,YAC/B,KAAC,UAAU,IACT,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,KAAK,EACf,OAAO,EAAC,EAAE,EACV,OAAO,EAAE,OAAO,GAChB,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recursive dispatcher: looks at a schema node + value, chooses a
|
|
3
|
+
* `ControlKind`, evaluates `hidden` rules, and renders the matching
|
|
4
|
+
* read-only viewer.
|
|
5
|
+
*/
|
|
6
|
+
import { type SquisqAnnotatedSchema } from '@bendyline/squisq/jsonForm';
|
|
7
|
+
export interface RenderNodeProps {
|
|
8
|
+
value: unknown;
|
|
9
|
+
schema: SquisqAnnotatedSchema;
|
|
10
|
+
rootSchema: SquisqAnnotatedSchema;
|
|
11
|
+
rootData: unknown;
|
|
12
|
+
pointer: string;
|
|
13
|
+
density: 'comfortable' | 'compact';
|
|
14
|
+
/**
|
|
15
|
+
* When a parent group already wrote its own card chrome (e.g. a
|
|
16
|
+
* card-stack item), suppress the nested group's outer title so the
|
|
17
|
+
* UI doesn't double up on labels.
|
|
18
|
+
*/
|
|
19
|
+
suppressTopGroupTitle?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare function RenderNode(props: RenderNodeProps): React.ReactElement | null;
|
|
22
|
+
//# sourceMappingURL=RenderNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderNode.d.ts","sourceRoot":"","sources":["../../src/jsonView/RenderNode.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,4BAA4B,CAAC;AAGpC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,qBAAqB,CAAC;IAC9B,UAAU,EAAE,qBAAqB,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;IACnC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAqB5E"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Recursive dispatcher: looks at a schema node + value, chooses a
|
|
4
|
+
* `ControlKind`, evaluates `hidden` rules, and renders the matching
|
|
5
|
+
* read-only viewer.
|
|
6
|
+
*/
|
|
7
|
+
import { chooseControl, resolveFlag, resolveRef, } from '@bendyline/squisq/jsonForm';
|
|
8
|
+
import { VIEWERS } from './viewers';
|
|
9
|
+
export function RenderNode(props) {
|
|
10
|
+
const resolved = resolveRef(props.schema, props.rootSchema) ?? props.schema;
|
|
11
|
+
if (resolveFlag(resolved.squisq?.hidden, props.rootData))
|
|
12
|
+
return null;
|
|
13
|
+
const kind = chooseControl(resolved);
|
|
14
|
+
const Viewer = VIEWERS[kind];
|
|
15
|
+
const viewerProps = {
|
|
16
|
+
value: props.value,
|
|
17
|
+
schema: resolved,
|
|
18
|
+
rootSchema: props.rootSchema,
|
|
19
|
+
rootData: props.rootData,
|
|
20
|
+
pointer: props.pointer,
|
|
21
|
+
density: props.density,
|
|
22
|
+
};
|
|
23
|
+
if (kind === 'group' || kind === 'card') {
|
|
24
|
+
// GroupViewer accepts an extra prop that RenderNode forwards.
|
|
25
|
+
const Group = Viewer;
|
|
26
|
+
return _jsx(Group, { ...viewerProps, suppressTitle: props.suppressTopGroupTitle });
|
|
27
|
+
}
|
|
28
|
+
return _jsx(Viewer, { ...viewerProps });
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=RenderNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderNode.js","sourceRoot":"","sources":["../../src/jsonView/RenderNode.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,GAEX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,OAAO,EAAoB,MAAM,WAAW,CAAC;AAiBtD,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC;IAE5E,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtE,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,WAAW,GAAgB;QAC/B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;IACF,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACxC,8DAA8D;QAC9D,MAAM,KAAK,GAAG,MAAwE,CAAC;QACvF,OAAO,KAAC,KAAK,OAAK,WAAW,EAAE,aAAa,EAAE,KAAK,CAAC,qBAAqB,GAAI,CAAC;IAChF,CAAC;IACD,OAAO,KAAC,MAAM,OAAK,WAAW,GAAI,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jsonView/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jsonView/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derive the CSS custom-property bag for `<JsonView>` from a Theme + Surface.
|
|
3
|
+
* Mirrors the pattern in LinearDocView so JsonView re-themes consistently
|
|
4
|
+
* with the rest of Squisq.
|
|
5
|
+
*/
|
|
6
|
+
import { type SurfaceScheme, type Theme } from '@bendyline/squisq/schemas';
|
|
7
|
+
export interface JsonViewTokens {
|
|
8
|
+
/** Inline style object to spread onto the root element. */
|
|
9
|
+
style: React.CSSProperties;
|
|
10
|
+
/** The effective theme (after surface application). */
|
|
11
|
+
theme: Theme;
|
|
12
|
+
}
|
|
13
|
+
export declare function useJsonViewTokens(theme: Theme | undefined, surface: SurfaceScheme | 'auto' | undefined): JsonViewTokens;
|
|
14
|
+
//# sourceMappingURL=useJsonViewTokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useJsonViewTokens.d.ts","sourceRoot":"","sources":["../../src/jsonView/useJsonViewTokens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,KAAK,EACX,MAAM,2BAA2B,CAAC;AAInC,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,uDAAuD;IACvD,KAAK,EAAE,KAAK,CAAC;CACd;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,GAC1C,cAAc,CA8BhB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derive the CSS custom-property bag for `<JsonView>` from a Theme + Surface.
|
|
3
|
+
* Mirrors the pattern in LinearDocView so JsonView re-themes consistently
|
|
4
|
+
* with the rest of Squisq.
|
|
5
|
+
*/
|
|
6
|
+
import { useMemo } from 'react';
|
|
7
|
+
import { applySurface, resolveFontFamily, } from '@bendyline/squisq/schemas';
|
|
8
|
+
import { DEFAULT_THEME } from '@bendyline/squisq/doc';
|
|
9
|
+
import { useAutoSurface } from '../hooks/useAutoSurface';
|
|
10
|
+
export function useJsonViewTokens(theme, surface) {
|
|
11
|
+
const auto = useAutoSurface(surface === 'auto');
|
|
12
|
+
const effectiveSurface = surface === 'auto' ? auto : (surface ?? undefined);
|
|
13
|
+
return useMemo(() => {
|
|
14
|
+
const baseTheme = theme ?? DEFAULT_THEME;
|
|
15
|
+
const finalTheme = effectiveSurface ? applySurface(baseTheme, effectiveSurface) : baseTheme;
|
|
16
|
+
const titleFont = resolveFontFamily(finalTheme.typography.titleFont, 'system-ui, sans-serif');
|
|
17
|
+
const bodyFont = resolveFontFamily(finalTheme.typography.bodyFont, 'system-ui, sans-serif');
|
|
18
|
+
const monoFont = resolveFontFamily(finalTheme.typography.monoFont, 'ui-monospace, Consolas, monospace');
|
|
19
|
+
const style = {
|
|
20
|
+
['--squisq-json-bg']: finalTheme.colors.background,
|
|
21
|
+
['--squisq-json-text']: finalTheme.colors.text,
|
|
22
|
+
['--squisq-json-muted']: finalTheme.colors.textMuted,
|
|
23
|
+
['--squisq-json-primary']: finalTheme.colors.primary,
|
|
24
|
+
['--squisq-json-accent']: finalTheme.colors.secondary,
|
|
25
|
+
['--squisq-json-border']: `color-mix(in srgb, ${finalTheme.colors.textMuted} 35%, transparent)`,
|
|
26
|
+
['--squisq-json-title-font']: titleFont,
|
|
27
|
+
['--squisq-json-body-font']: bodyFont,
|
|
28
|
+
['--squisq-json-mono-font']: monoFont,
|
|
29
|
+
['--squisq-json-radius']: `${finalTheme.style.borderRadius ?? 8}px`,
|
|
30
|
+
};
|
|
31
|
+
return { style, theme: finalTheme };
|
|
32
|
+
}, [theme, effectiveSurface]);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=useJsonViewTokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useJsonViewTokens.js","sourceRoot":"","sources":["../../src/jsonView/useJsonViewTokens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EACL,YAAY,EACZ,iBAAiB,GAGlB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AASzD,MAAM,UAAU,iBAAiB,CAC/B,KAAwB,EACxB,OAA2C;IAE3C,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;IAE5E,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,SAAS,GAAG,KAAK,IAAI,aAAa,CAAC;QACzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5F,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAC9F,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;QAC5F,MAAM,QAAQ,GAAG,iBAAiB,CAChC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAC9B,mCAAmC,CACpC,CAAC;QAEF,MAAM,KAAK,GAAwB;YACjC,CAAC,kBAA4B,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU;YAC5D,CAAC,oBAA8B,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;YACxD,CAAC,qBAA+B,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS;YAC9D,CAAC,uBAAiC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO;YAC9D,CAAC,sBAAgC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS;YAC/D,CAAC,sBAAgC,CAAC,EAAE,sBAAsB,UAAU,CAAC,MAAM,CAAC,SAAS,oBAAoB;YACzG,CAAC,0BAAoC,CAAC,EAAE,SAAS;YACjD,CAAC,yBAAmC,CAAC,EAAE,QAAQ;YAC/C,CAAC,yBAAmC,CAAC,EAAE,QAAQ;YAC/C,CAAC,sBAAgC,CAAC,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI;SAC9E,CAAC;QAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACtC,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only viewer renderers for `<JsonView>`. Each viewer is a small
|
|
3
|
+
* pure function that takes a value + schema slice and renders inline.
|
|
4
|
+
* Group / card-stack viewers recurse into `RenderNode`.
|
|
5
|
+
*/
|
|
6
|
+
import { type ControlKind, type SquisqAnnotatedSchema } from '@bendyline/squisq/jsonForm';
|
|
7
|
+
export interface ViewerProps {
|
|
8
|
+
value: unknown;
|
|
9
|
+
schema: SquisqAnnotatedSchema;
|
|
10
|
+
rootSchema: SquisqAnnotatedSchema;
|
|
11
|
+
rootData: unknown;
|
|
12
|
+
pointer: string;
|
|
13
|
+
density: 'comfortable' | 'compact';
|
|
14
|
+
}
|
|
15
|
+
export declare function TextViewer({ value }: ViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function MultilineViewer({ value }: ViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare function RichTextViewer({ value }: ViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function NumberViewer({ value }: ViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare function BooleanViewer({ value }: ViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export declare function EnumViewer({ value, schema }: ViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function ColorViewer({ value }: ViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export declare function DateViewer({ value, schema }: ViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export declare function ChipBinViewer({ value, schema }: ViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export declare function CardStackViewer(props: ViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export declare function GroupViewer(props: ViewerProps & {
|
|
26
|
+
suppressTitle?: boolean;
|
|
27
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export declare function TabsViewer(props: ViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export declare const VIEWERS: Record<ControlKind, React.ComponentType<ViewerProps>>;
|
|
30
|
+
//# sourceMappingURL=viewers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewers.d.ts","sourceRoot":"","sources":["../../src/jsonView/viewers.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC3B,MAAM,4BAA4B,CAAC;AAKpC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,qBAAqB,CAAC;IAC9B,UAAU,EAAE,qBAAqB,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;CACpC;AAID,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,2CAKhD;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,2CAKrD;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,2CAgBpD;AAED,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,2CAKlD;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,2CAOnD;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,2CAOxD;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,2CAUjD;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,2CAqBxD;AAID,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,2CAmB3D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,2CA4BjD;AAiBD,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,2CAgC3E;AA6CD,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,2CAuB5C;AAmCD,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAoBzE,CAAC"}
|