@vivliostyle/react 2.35.0 → 2.36.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.
@@ -1,2 +1,2 @@
1
- var e=require("@emotion/styled"),n=require("@vivliostyle/core"),r=require("react");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o,a=/*#__PURE__*/t(e),i=/*#__PURE__*/t(r);function u(){return u=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)({}).hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},u.apply(null,arguments)}var d,c,l=a.default.div(o||(d=["\n overflow: scroll;\n background: "," !important;\n"],c||(c=d.slice(0)),d.raw=c,o=d),function(e){return e.background});exports.Renderer=function(e){var t=e.source,o=e.page,a=void 0===o?1:o,d=e.zoom,c=void 0===d?1:d,s=e.bookMode,f=void 0===s||s,v=e.fontSize,g=void 0===v?16:v,p=e.background,S=void 0===p?"#ececec":p,y=e.renderAllPages,h=void 0===y||y,L=e.autoResize,m=void 0===L||L,b=e.pageViewMode,w=void 0===b?n.PageViewMode.SINGLE_PAGE:b,P=e.defaultPaperSize,z=e.pageBorderWidth,E=void 0===z?1:z,R=e.fitToScreen,k=void 0!==R&&R,A=e.userStyleSheet,M=e.authorStyleSheet,O=e.style,T=e.onMessage,V=e.onError,W=e.onReadyStateChange,j=e.onLoad,C=e.onNavigation,G=e.onHyperlink,N=e.children,q=r.useRef(null),x=r.useRef(),B=i.default.useRef();function D(){x.current.setOptions({fontSize:g,pageViewMode:w,renderAllPages:h,autoResize:m,defaultPaperSize:P,pageBorderWidth:E})}function I(){var e,n,r=x.current,o=u({},A?{userStyleSheet:[(e={},e[A.endsWith(".css")?"url":"text"]=A,e)]}:null,M?{authorStyleSheet:[(n={},n[M.endsWith(".css")?"url":"text"]=M,n)]}:null);f?r.loadPublication(t,o):r.loadDocument({url:t},o,{fontSize:g,pageViewMode:w,zoom:c,renderAllPages:h,autoResize:m,defaultPaperSize:P,pageBorderWidth:E,fitToScreen:k})}r.useEffect(function(){return x.current=new n.CoreViewer({viewportElement:q.current}),D(),function(){var e=function(e){var n,r;return null!=(n=null==(r=e.content.error)?void 0:r.toString())?n:e.content.messages.join("\n")};function r(n,r){T&&T(e(n),r)}var t=function(e){return r(e,"debug")},o=function(e){return r(e,"info")},a=function(e){return r(e,"warn")};function i(n){V&&V(e(n))}function u(){W&&W(x.current.readyState)}function d(){j&&j(B.current)}function c(e){var n={docTitle:e.docTitle,epageCount:e.epageCount,epage:e.epage,metadata:e.metadata};B.current=n,C&&C(n)}function l(e){G&&G(e)}var s=x.current;return s.addListener("debug",t),s.addListener("info",o),s.addListener("warn",a),s.addListener("error",i),s.addListener("readystatechange",u),s.addListener("loaded",d),s.addListener("nav",c),s.addListener("hyperlink",l),function(){W&&W(n.ReadyState.LOADING),s.removeListener("debug",t),s.removeListener("info",o),s.removeListener("warn",a),s.removeListener("error",i),s.removeListener("readystatechange",u),s.removeListener("loaded",d),s.removeListener("nav",c),s.removeListener("hyperlink",l)}}()},[]),r.useEffect(function(){I()},[t,M,A,c,k]),r.useEffect(function(){D()},[g,w,h,m,P,E]),r.useEffect(function(){var e;null==(e=x.current)||e.navigateToPage(n.Navigation.EPAGE,a-1)},[a]);var F=i.default.createElement(l,{ref:q,style:O,background:S});return"function"==typeof N&&N instanceof Function?N({container:F,reload:I}):F};
1
+ var e=require("@emotion/styled"),n=require("@vivliostyle/core"),r=require("react");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o,i=/*#__PURE__*/t(e),a=/*#__PURE__*/t(r);function u(){return u=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)({}).hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},u.apply(null,arguments)}var d,c,l=i.default.div(o||(d=["\n overflow: scroll;\n background: "," !important;\n"],c||(c=d.slice(0)),d.raw=c,o=d),function(e){return e.background});exports.Renderer=function(e){var t=e.source,o=e.page,i=void 0===o?1:o,d=e.zoom,c=void 0===d?1:d,s=e.bookMode,f=void 0===s||s,v=e.fontSize,g=void 0===v?16:v,p=e.background,S=void 0===p?"#ececec":p,y=e.renderAllPages,h=void 0===y||y,L=e.autoResize,m=void 0===L||L,b=e.pageViewMode,w=void 0===b?n.PageViewMode.SINGLE_PAGE:b,P=e.defaultPaperSize,z=e.pageBorderWidth,E=void 0===z?1:z,R=e.fitToScreen,k=void 0!==R&&R,A=e.userStyleSheet,M=e.authorStyleSheet,O=e.style,T=e.onMessage,V=e.onError,W=e.onReadyStateChange,j=e.onLoad,C=e.onNavigation,G=e.onHyperlink,N=e.children,q=r.useRef(null),x=r.useRef(void 0),B=a.default.useRef(void 0);function D(){x.current.setOptions({fontSize:g,pageViewMode:w,renderAllPages:h,autoResize:m,defaultPaperSize:P,pageBorderWidth:E})}function I(){var e,n,r=x.current,o=u({},A?{userStyleSheet:[(e={},e[A.endsWith(".css")?"url":"text"]=A,e)]}:null,M?{authorStyleSheet:[(n={},n[M.endsWith(".css")?"url":"text"]=M,n)]}:null);f?r.loadPublication(t,o):r.loadDocument({url:t},o,{fontSize:g,pageViewMode:w,zoom:c,renderAllPages:h,autoResize:m,defaultPaperSize:P,pageBorderWidth:E,fitToScreen:k})}r.useEffect(function(){return x.current=new n.CoreViewer({viewportElement:q.current}),D(),function(){var e=function(e){var n,r;return null!=(n=null==(r=e.content.error)?void 0:r.toString())?n:e.content.messages.join("\n")};function r(n,r){T&&T(e(n),r)}var t=function(e){return r(e,"debug")},o=function(e){return r(e,"info")},i=function(e){return r(e,"warn")};function a(n){V&&V(e(n))}function u(){W&&W(x.current.readyState)}function d(){j&&j(B.current)}function c(e){var n={docTitle:e.docTitle,epageCount:e.epageCount,epage:e.epage,metadata:e.metadata};B.current=n,C&&C(n)}function l(e){G&&G(e)}var s=x.current;return s.addListener("debug",t),s.addListener("info",o),s.addListener("warn",i),s.addListener("error",a),s.addListener("readystatechange",u),s.addListener("loaded",d),s.addListener("nav",c),s.addListener("hyperlink",l),function(){W&&W(n.ReadyState.LOADING),s.removeListener("debug",t),s.removeListener("info",o),s.removeListener("warn",i),s.removeListener("error",a),s.removeListener("readystatechange",u),s.removeListener("loaded",d),s.removeListener("nav",c),s.removeListener("hyperlink",l)}}()},[]),r.useEffect(function(){I()},[t,M,A,c,k]),r.useEffect(function(){D()},[g,w,h,m,P,E]),r.useEffect(function(){var e;null==(e=x.current)||e.navigateToPage(n.Navigation.EPAGE,i-1)},[i]);var F=a.default.createElement(l,{ref:q,style:O,background:S});return"function"==typeof N&&N instanceof Function?N({container:F,reload:I}):F};
2
2
  //# sourceMappingURL=react-vivliostyle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-vivliostyle.js","sources":["../src/renderer.tsx","../src/epage.ts"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport {\n CoreViewer,\n Navigation,\n PageViewMode,\n Payload,\n ReadyState,\n} from \"@vivliostyle/core\";\nimport React, { useEffect, useRef } from \"react\";\nimport { epageFromPageNumber } from \"./epage\";\n\nexport type MessageType = \"debug\" | \"info\" | \"warn\";\nexport type NavigationPayload = Omit<Payload, \"internal\" | \"href\" | \"content\">;\nexport type HyperlinkPayload = Pick<Payload, \"internal\" | \"href\">;\n\ninterface VolatileState {\n docTitle: string;\n epage: number;\n epageCount: number;\n metadata: unknown;\n}\n\ntype ChildrenFunction = ({\n container,\n reload,\n}: {\n container: JSX.Element;\n reload: () => void;\n}) => React.ReactNode;\n\ninterface RendererProps {\n source: string;\n page?: number;\n zoom?: number;\n bookMode?: boolean;\n renderAllPages?: boolean;\n autoResize?: boolean;\n pageViewMode?: PageViewMode;\n defaultPaperSize?: {\n width: number;\n height: number;\n };\n pageBorderWidth?: number;\n fitToScreen?: boolean;\n fontSize?: number;\n background?: string;\n userStyleSheet?: string;\n authorStyleSheet?: string;\n style?: React.CSSProperties;\n onMessage?: (message: string, type: MessageType) => void;\n onError?: (error: string) => void;\n onReadyStateChange?: (state: ReadyState) => void;\n onLoad?: (state: VolatileState) => void;\n onNavigation?: (state: VolatileState) => void;\n onHyperlink?: (payload: HyperlinkPayload) => void;\n children?: React.ReactNode | ChildrenFunction;\n}\n\nexport const Renderer = ({\n source,\n page = 1,\n zoom = 1,\n bookMode = true,\n fontSize = 16,\n background = \"#ececec\",\n renderAllPages = true,\n autoResize = true,\n pageViewMode = PageViewMode.SINGLE_PAGE,\n defaultPaperSize,\n pageBorderWidth = 1,\n fitToScreen = false,\n userStyleSheet,\n authorStyleSheet,\n style,\n onMessage,\n onError,\n onReadyStateChange,\n onLoad,\n onNavigation,\n onHyperlink,\n children,\n}: RendererProps): ReturnType<ChildrenFunction> | JSX.Element => {\n const containerRef = useRef<HTMLDivElement>(null);\n const instanceRef = useRef<CoreViewer>();\n const stateRef = React.useRef<VolatileState>();\n\n function setViewerOptions() {\n const viewerOptions = {\n fontSize,\n pageViewMode,\n renderAllPages,\n autoResize,\n defaultPaperSize,\n pageBorderWidth,\n };\n instanceRef.current!.setOptions(viewerOptions);\n }\n\n function loadSource() {\n const instance = instanceRef.current!;\n const documentOptions = {\n ...(userStyleSheet\n ? {\n userStyleSheet: [\n {\n [userStyleSheet.endsWith(\".css\") ? \"url\" : \"text\"]:\n userStyleSheet,\n },\n ],\n }\n : null),\n ...(authorStyleSheet\n ? {\n authorStyleSheet: [\n {\n [authorStyleSheet.endsWith(\".css\") ? \"url\" : \"text\"]:\n authorStyleSheet,\n },\n ],\n }\n : null),\n };\n\n if (bookMode) {\n instance.loadPublication(source, documentOptions);\n } else {\n instance.loadDocument({ url: source }, documentOptions, {\n fontSize,\n pageViewMode,\n zoom,\n renderAllPages,\n autoResize,\n defaultPaperSize,\n pageBorderWidth,\n fitToScreen,\n });\n }\n }\n\n function registerEventHandlers() {\n const getMessage = (payload: Payload) =>\n payload.content.error?.toString() ?? payload.content.messages.join(\"\\n\");\n\n function handleMessage(payload: Payload, type: MessageType) {\n onMessage && onMessage(getMessage(payload), type);\n }\n\n const handleDebug = (payload: Payload) => handleMessage(payload, \"debug\");\n const handleInfo = (payload: Payload) => handleMessage(payload, \"info\");\n const handleWarn = (payload: Payload) => handleMessage(payload, \"warn\");\n\n function handleError(payload: Payload) {\n onError && onError(getMessage(payload));\n }\n\n function handleReadyStateChange() {\n const { readyState } = instanceRef.current!;\n onReadyStateChange && onReadyStateChange(readyState);\n }\n\n function handleLoaded() {\n onLoad && onLoad(stateRef.current!);\n }\n\n function handleNavigation(payload: NavigationPayload) {\n const { docTitle, epageCount, epage, metadata } = payload;\n const currentState = {\n docTitle,\n epageCount,\n epage: epage as number,\n metadata,\n };\n stateRef.current = currentState;\n onNavigation && onNavigation(currentState);\n }\n\n function handleHyperlink(payload: HyperlinkPayload) {\n onHyperlink && onHyperlink(payload);\n }\n\n const instance = instanceRef.current!;\n instance.addListener(\"debug\", handleDebug);\n instance.addListener(\"info\", handleInfo);\n instance.addListener(\"warn\", handleWarn);\n instance.addListener(\"error\", handleError);\n instance.addListener(\"readystatechange\", handleReadyStateChange);\n instance.addListener(\"loaded\", handleLoaded);\n instance.addListener(\"nav\", handleNavigation);\n instance.addListener(\"hyperlink\", handleHyperlink);\n\n return () => {\n onReadyStateChange && onReadyStateChange(ReadyState.LOADING);\n instance.removeListener(\"debug\", handleDebug);\n instance.removeListener(\"info\", handleInfo);\n instance.removeListener(\"warn\", handleWarn);\n instance.removeListener(\"error\", handleError);\n instance.removeListener(\"readystatechange\", handleReadyStateChange);\n instance.removeListener(\"loaded\", handleLoaded);\n instance.removeListener(\"nav\", handleNavigation);\n instance.removeListener(\"hyperlink\", handleHyperlink);\n };\n }\n\n function initInstance() {\n instanceRef.current = new CoreViewer({\n viewportElement: containerRef.current!,\n });\n }\n\n // initialize document and event handlers\n useEffect(() => {\n initInstance();\n setViewerOptions();\n\n const cleanup = registerEventHandlers();\n return cleanup;\n }, []);\n\n useEffect(() => {\n loadSource();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [source, authorStyleSheet, userStyleSheet, zoom, fitToScreen]);\n\n useEffect(() => {\n setViewerOptions();\n }, [\n fontSize,\n pageViewMode,\n renderAllPages,\n autoResize,\n defaultPaperSize,\n pageBorderWidth,\n ]);\n\n // sync location\n useEffect(() => {\n const epage = epageFromPageNumber(page);\n instanceRef.current?.navigateToPage(Navigation.EPAGE, epage);\n }, [page]);\n\n const container = (\n <Container ref={containerRef} style={style} background={background} />\n );\n\n if (typeof children === \"function\" && children instanceof Function) {\n return children({ container, reload: loadSource });\n }\n\n return container;\n};\n\nconst Container = styled.div<Pick<RendererProps, \"background\">>`\n overflow: scroll;\n background: ${({ background }) => background} !important;\n`;\n","export function epageToPageNumber(epage: number): number {\n return Math.round(epage + 1);\n}\n\nexport function epageFromPageNumber(pageNumber: number): number {\n return pageNumber - 1;\n}\n"],"names":["_templateObject","Container","styled","div","_ref4","background","_ref","source","_ref$page","page","_ref$zoom","zoom","_ref$bookMode","bookMode","_ref$fontSize","fontSize","_ref$background","_ref$renderAllPages","renderAllPages","_ref$autoResize","autoResize","_ref$pageViewMode","pageViewMode","PageViewMode","SINGLE_PAGE","defaultPaperSize","_ref$pageBorderWidth","pageBorderWidth","_ref$fitToScreen","fitToScreen","userStyleSheet","authorStyleSheet","style","onMessage","onError","onReadyStateChange","onLoad","onNavigation","onHyperlink","children","containerRef","useRef","instanceRef","stateRef","React","setViewerOptions","current","setOptions","loadSource","_ref2","_ref3","instance","documentOptions","_extends","endsWith","loadPublication","loadDocument","url","useEffect","CoreViewer","viewportElement","getMessage","payload","_payload$content$erro","_payload$content$erro2","content","error","toString","messages","join","handleMessage","type","handleDebug","handleInfo","handleWarn","handleError","handleReadyStateChange","readyState","handleLoaded","handleNavigation","currentState","docTitle","epageCount","epage","metadata","handleHyperlink","addListener","ReadyState","LOADING","removeListener","registerEventHandlers","_instanceRef$current","navigateToPage","Navigation","EPAGE","container","ref","Function","reload"],"mappings":"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"}
1
+ {"version":3,"file":"react-vivliostyle.js","sources":["../src/renderer.tsx","../src/epage.ts"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport {\n CoreViewer,\n Navigation,\n PageViewMode,\n Payload,\n ReadyState,\n} from \"@vivliostyle/core\";\nimport React, { useEffect, useRef } from \"react\";\nimport { epageFromPageNumber } from \"./epage\";\n\nexport type MessageType = \"debug\" | \"info\" | \"warn\";\nexport type NavigationPayload = Omit<Payload, \"internal\" | \"href\" | \"content\">;\nexport type HyperlinkPayload = Pick<Payload, \"internal\" | \"href\">;\n\ninterface VolatileState {\n docTitle: string;\n epage: number;\n epageCount: number;\n metadata: unknown;\n}\n\ntype ChildrenFunction = ({\n container,\n reload,\n}: {\n container: React.ReactElement;\n reload: () => void;\n}) => React.ReactNode;\n\ninterface RendererProps {\n source: string;\n page?: number;\n zoom?: number;\n bookMode?: boolean;\n renderAllPages?: boolean;\n autoResize?: boolean;\n pageViewMode?: PageViewMode;\n defaultPaperSize?: {\n width: number;\n height: number;\n };\n pageBorderWidth?: number;\n fitToScreen?: boolean;\n fontSize?: number;\n background?: string;\n userStyleSheet?: string;\n authorStyleSheet?: string;\n style?: React.CSSProperties;\n onMessage?: (message: string, type: MessageType) => void;\n onError?: (error: string) => void;\n onReadyStateChange?: (state: ReadyState) => void;\n onLoad?: (state: VolatileState) => void;\n onNavigation?: (state: VolatileState) => void;\n onHyperlink?: (payload: HyperlinkPayload) => void;\n children?: React.ReactNode | ChildrenFunction;\n}\n\nexport const Renderer = ({\n source,\n page = 1,\n zoom = 1,\n bookMode = true,\n fontSize = 16,\n background = \"#ececec\",\n renderAllPages = true,\n autoResize = true,\n pageViewMode = PageViewMode.SINGLE_PAGE,\n defaultPaperSize,\n pageBorderWidth = 1,\n fitToScreen = false,\n userStyleSheet,\n authorStyleSheet,\n style,\n onMessage,\n onError,\n onReadyStateChange,\n onLoad,\n onNavigation,\n onHyperlink,\n children,\n}: RendererProps): ReturnType<ChildrenFunction> | React.ReactElement => {\n const containerRef = useRef<HTMLDivElement>(null);\n const instanceRef = useRef<CoreViewer | undefined>(undefined);\n const stateRef = React.useRef<VolatileState | undefined>(undefined);\n\n function setViewerOptions() {\n const viewerOptions = {\n fontSize,\n pageViewMode,\n renderAllPages,\n autoResize,\n defaultPaperSize,\n pageBorderWidth,\n };\n instanceRef.current!.setOptions(viewerOptions);\n }\n\n function loadSource() {\n const instance = instanceRef.current!;\n const documentOptions = {\n ...(userStyleSheet\n ? {\n userStyleSheet: [\n {\n [userStyleSheet.endsWith(\".css\") ? \"url\" : \"text\"]:\n userStyleSheet,\n },\n ],\n }\n : null),\n ...(authorStyleSheet\n ? {\n authorStyleSheet: [\n {\n [authorStyleSheet.endsWith(\".css\") ? \"url\" : \"text\"]:\n authorStyleSheet,\n },\n ],\n }\n : null),\n };\n\n if (bookMode) {\n instance.loadPublication(source, documentOptions);\n } else {\n instance.loadDocument({ url: source }, documentOptions, {\n fontSize,\n pageViewMode,\n zoom,\n renderAllPages,\n autoResize,\n defaultPaperSize,\n pageBorderWidth,\n fitToScreen,\n });\n }\n }\n\n function registerEventHandlers() {\n const getMessage = (payload: Payload) =>\n payload.content.error?.toString() ?? payload.content.messages.join(\"\\n\");\n\n function handleMessage(payload: Payload, type: MessageType) {\n onMessage && onMessage(getMessage(payload), type);\n }\n\n const handleDebug = (payload: Payload) => handleMessage(payload, \"debug\");\n const handleInfo = (payload: Payload) => handleMessage(payload, \"info\");\n const handleWarn = (payload: Payload) => handleMessage(payload, \"warn\");\n\n function handleError(payload: Payload) {\n onError && onError(getMessage(payload));\n }\n\n function handleReadyStateChange() {\n const { readyState } = instanceRef.current!;\n onReadyStateChange && onReadyStateChange(readyState);\n }\n\n function handleLoaded() {\n onLoad && onLoad(stateRef.current!);\n }\n\n function handleNavigation(payload: NavigationPayload) {\n const { docTitle, epageCount, epage, metadata } = payload;\n const currentState = {\n docTitle,\n epageCount,\n epage: epage as number,\n metadata,\n };\n stateRef.current = currentState;\n onNavigation && onNavigation(currentState);\n }\n\n function handleHyperlink(payload: HyperlinkPayload) {\n onHyperlink && onHyperlink(payload);\n }\n\n const instance = instanceRef.current!;\n instance.addListener(\"debug\", handleDebug);\n instance.addListener(\"info\", handleInfo);\n instance.addListener(\"warn\", handleWarn);\n instance.addListener(\"error\", handleError);\n instance.addListener(\"readystatechange\", handleReadyStateChange);\n instance.addListener(\"loaded\", handleLoaded);\n instance.addListener(\"nav\", handleNavigation);\n instance.addListener(\"hyperlink\", handleHyperlink);\n\n return () => {\n onReadyStateChange && onReadyStateChange(ReadyState.LOADING);\n instance.removeListener(\"debug\", handleDebug);\n instance.removeListener(\"info\", handleInfo);\n instance.removeListener(\"warn\", handleWarn);\n instance.removeListener(\"error\", handleError);\n instance.removeListener(\"readystatechange\", handleReadyStateChange);\n instance.removeListener(\"loaded\", handleLoaded);\n instance.removeListener(\"nav\", handleNavigation);\n instance.removeListener(\"hyperlink\", handleHyperlink);\n };\n }\n\n function initInstance() {\n instanceRef.current = new CoreViewer({\n viewportElement: containerRef.current!,\n });\n }\n\n // initialize document and event handlers\n useEffect(() => {\n initInstance();\n setViewerOptions();\n\n const cleanup = registerEventHandlers();\n return cleanup;\n }, []);\n\n useEffect(() => {\n loadSource();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [source, authorStyleSheet, userStyleSheet, zoom, fitToScreen]);\n\n useEffect(() => {\n setViewerOptions();\n }, [\n fontSize,\n pageViewMode,\n renderAllPages,\n autoResize,\n defaultPaperSize,\n pageBorderWidth,\n ]);\n\n // sync location\n useEffect(() => {\n const epage = epageFromPageNumber(page);\n instanceRef.current?.navigateToPage(Navigation.EPAGE, epage);\n }, [page]);\n\n const container = (\n <Container ref={containerRef} style={style} background={background} />\n );\n\n if (typeof children === \"function\" && children instanceof Function) {\n return children({ container, reload: loadSource });\n }\n\n return container;\n};\n\nconst Container = styled.div<Pick<RendererProps, \"background\">>`\n overflow: scroll;\n background: ${({ background }) => background} !important;\n`;\n","export function epageToPageNumber(epage: number): number {\n return Math.round(epage + 1);\n}\n\nexport function epageFromPageNumber(pageNumber: number): number {\n return pageNumber - 1;\n}\n"],"names":["_templateObject","Container","styled","div","_ref4","background","_ref","source","_ref$page","page","_ref$zoom","zoom","_ref$bookMode","bookMode","_ref$fontSize","fontSize","_ref$background","_ref$renderAllPages","renderAllPages","_ref$autoResize","autoResize","_ref$pageViewMode","pageViewMode","PageViewMode","SINGLE_PAGE","defaultPaperSize","_ref$pageBorderWidth","pageBorderWidth","_ref$fitToScreen","fitToScreen","userStyleSheet","authorStyleSheet","style","onMessage","onError","onReadyStateChange","onLoad","onNavigation","onHyperlink","children","containerRef","useRef","instanceRef","undefined","stateRef","React","setViewerOptions","current","setOptions","loadSource","_ref2","_ref3","instance","documentOptions","_extends","endsWith","loadPublication","loadDocument","url","useEffect","CoreViewer","viewportElement","getMessage","payload","_payload$content$erro","_payload$content$erro2","content","error","toString","messages","join","handleMessage","type","handleDebug","handleInfo","handleWarn","handleError","handleReadyStateChange","readyState","handleLoaded","handleNavigation","currentState","docTitle","epageCount","epage","metadata","handleHyperlink","addListener","ReadyState","LOADING","removeListener","registerEventHandlers","_instanceRef$current","navigateToPage","Navigation","EPAGE","container","ref","Function","reload"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import e from"@emotion/styled";import{Navigation as n,PageViewMode as t,ReadyState as r,CoreViewer as o}from"@vivliostyle/core";import a,{useRef as i,useEffect as d}from"react";function c(){return c=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},c.apply(null,arguments)}let s;const u=({source:e,page:s=1,zoom:u=1,bookMode:f=!0,fontSize:g=16,background:p="#ececec",renderAllPages:m=!0,autoResize:v=!0,pageViewMode:S=t.SINGLE_PAGE,defaultPaperSize:h,pageBorderWidth:L=1,fitToScreen:y=!1,userStyleSheet:b,authorStyleSheet:z,style:P,onMessage:w,onError:k,onReadyStateChange:E,onLoad:A,onNavigation:M,onHyperlink:O,children:R})=>{const T=i(null),W=i(),G=a.useRef();function j(){W.current.setOptions({fontSize:g,pageViewMode:S,renderAllPages:m,autoResize:v,defaultPaperSize:h,pageBorderWidth:L})}function x(){const n=W.current,t=c({},b?{userStyleSheet:[{[b.endsWith(".css")?"url":"text"]:b}]}:null,z?{authorStyleSheet:[{[z.endsWith(".css")?"url":"text"]:z}]}:null);f?n.loadPublication(e,t):n.loadDocument({url:e},t,{fontSize:g,pageViewMode:S,zoom:u,renderAllPages:m,autoResize:v,defaultPaperSize:h,pageBorderWidth:L,fitToScreen:y})}d(()=>(W.current=new o({viewportElement:T.current}),j(),function(){const e=e=>{var n,t;return null!=(n=null==(t=e.content.error)?void 0:t.toString())?n:e.content.messages.join("\n")};function n(n,t){w&&w(e(n),t)}const t=e=>n(e,"debug"),o=e=>n(e,"info"),a=e=>n(e,"warn");function i(n){k&&k(e(n))}function d(){const{readyState:e}=W.current;E&&E(e)}function c(){A&&A(G.current)}function s(e){const{docTitle:n,epageCount:t,epage:r,metadata:o}=e,a={docTitle:n,epageCount:t,epage:r,metadata:o};G.current=a,M&&M(a)}function u(e){O&&O(e)}const l=W.current;return l.addListener("debug",t),l.addListener("info",o),l.addListener("warn",a),l.addListener("error",i),l.addListener("readystatechange",d),l.addListener("loaded",c),l.addListener("nav",s),l.addListener("hyperlink",u),()=>{E&&E(r.LOADING),l.removeListener("debug",t),l.removeListener("info",o),l.removeListener("warn",a),l.removeListener("error",i),l.removeListener("readystatechange",d),l.removeListener("loaded",c),l.removeListener("nav",s),l.removeListener("hyperlink",u)}}()),[]),d(()=>{x()},[e,z,b,u,y]),d(()=>{j()},[g,S,m,v,h,L]),d(()=>{var e;null==(e=W.current)||e.navigateToPage(n.EPAGE,s-1)},[s]);const B=a.createElement(l,{ref:T,style:P,background:p});return"function"==typeof R&&R instanceof Function?R({container:B,reload:x}):B},l=e.div(s||(s=(e=>e)`
1
+ import e from"@emotion/styled";import{Navigation as n,PageViewMode as t,ReadyState as r,CoreViewer as o}from"@vivliostyle/core";import a,{useRef as i,useEffect as d}from"react";function c(){return c=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},c.apply(null,arguments)}let s;const u=({source:e,page:s=1,zoom:u=1,bookMode:f=!0,fontSize:g=16,background:p="#ececec",renderAllPages:v=!0,autoResize:m=!0,pageViewMode:S=t.SINGLE_PAGE,defaultPaperSize:h,pageBorderWidth:L=1,fitToScreen:y=!1,userStyleSheet:b,authorStyleSheet:z,style:P,onMessage:w,onError:k,onReadyStateChange:E,onLoad:A,onNavigation:M,onHyperlink:O,children:R})=>{const T=i(null),W=i(void 0),G=a.useRef(void 0);function j(){W.current.setOptions({fontSize:g,pageViewMode:S,renderAllPages:v,autoResize:m,defaultPaperSize:h,pageBorderWidth:L})}function x(){const n=W.current,t=c({},b?{userStyleSheet:[{[b.endsWith(".css")?"url":"text"]:b}]}:null,z?{authorStyleSheet:[{[z.endsWith(".css")?"url":"text"]:z}]}:null);f?n.loadPublication(e,t):n.loadDocument({url:e},t,{fontSize:g,pageViewMode:S,zoom:u,renderAllPages:v,autoResize:m,defaultPaperSize:h,pageBorderWidth:L,fitToScreen:y})}d(()=>(W.current=new o({viewportElement:T.current}),j(),function(){const e=e=>{var n,t;return null!=(n=null==(t=e.content.error)?void 0:t.toString())?n:e.content.messages.join("\n")};function n(n,t){w&&w(e(n),t)}const t=e=>n(e,"debug"),o=e=>n(e,"info"),a=e=>n(e,"warn");function i(n){k&&k(e(n))}function d(){const{readyState:e}=W.current;E&&E(e)}function c(){A&&A(G.current)}function s(e){const{docTitle:n,epageCount:t,epage:r,metadata:o}=e,a={docTitle:n,epageCount:t,epage:r,metadata:o};G.current=a,M&&M(a)}function u(e){O&&O(e)}const l=W.current;return l.addListener("debug",t),l.addListener("info",o),l.addListener("warn",a),l.addListener("error",i),l.addListener("readystatechange",d),l.addListener("loaded",c),l.addListener("nav",s),l.addListener("hyperlink",u),()=>{E&&E(r.LOADING),l.removeListener("debug",t),l.removeListener("info",o),l.removeListener("warn",a),l.removeListener("error",i),l.removeListener("readystatechange",d),l.removeListener("loaded",c),l.removeListener("nav",s),l.removeListener("hyperlink",u)}}()),[]),d(()=>{x()},[e,z,b,u,y]),d(()=>{j()},[g,S,v,m,h,L]),d(()=>{var e;null==(e=W.current)||e.navigateToPage(n.EPAGE,s-1)},[s]);const B=a.createElement(l,{ref:T,style:P,background:p});return"function"==typeof R&&R instanceof Function?R({container:B,reload:x}):B},l=e.div(s||(s=(e=>e)`
2
2
  overflow: scroll;
3
3
  background: ${0} !important;
4
4
  `),({background:e})=>e);export{u as Renderer};
@@ -1 +1 @@
1
- {"version":3,"file":"react-vivliostyle.modern.mjs","sources":["../src/renderer.tsx","../src/epage.ts"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport {\n CoreViewer,\n Navigation,\n PageViewMode,\n Payload,\n ReadyState,\n} from \"@vivliostyle/core\";\nimport React, { useEffect, useRef } from \"react\";\nimport { epageFromPageNumber } from \"./epage\";\n\nexport type MessageType = \"debug\" | \"info\" | \"warn\";\nexport type NavigationPayload = Omit<Payload, \"internal\" | \"href\" | \"content\">;\nexport type HyperlinkPayload = Pick<Payload, \"internal\" | \"href\">;\n\ninterface VolatileState {\n docTitle: string;\n epage: number;\n epageCount: number;\n metadata: unknown;\n}\n\ntype ChildrenFunction = ({\n container,\n reload,\n}: {\n container: JSX.Element;\n reload: () => void;\n}) => React.ReactNode;\n\ninterface RendererProps {\n source: string;\n page?: number;\n zoom?: number;\n bookMode?: boolean;\n renderAllPages?: boolean;\n autoResize?: boolean;\n pageViewMode?: PageViewMode;\n defaultPaperSize?: {\n width: number;\n height: number;\n };\n pageBorderWidth?: number;\n fitToScreen?: boolean;\n fontSize?: number;\n background?: string;\n userStyleSheet?: string;\n authorStyleSheet?: string;\n style?: React.CSSProperties;\n onMessage?: (message: string, type: MessageType) => void;\n onError?: (error: string) => void;\n onReadyStateChange?: (state: ReadyState) => void;\n onLoad?: (state: VolatileState) => void;\n onNavigation?: (state: VolatileState) => void;\n onHyperlink?: (payload: HyperlinkPayload) => void;\n children?: React.ReactNode | ChildrenFunction;\n}\n\nexport const Renderer = ({\n source,\n page = 1,\n zoom = 1,\n bookMode = true,\n fontSize = 16,\n background = \"#ececec\",\n renderAllPages = true,\n autoResize = true,\n pageViewMode = PageViewMode.SINGLE_PAGE,\n defaultPaperSize,\n pageBorderWidth = 1,\n fitToScreen = false,\n userStyleSheet,\n authorStyleSheet,\n style,\n onMessage,\n onError,\n onReadyStateChange,\n onLoad,\n onNavigation,\n onHyperlink,\n children,\n}: RendererProps): ReturnType<ChildrenFunction> | JSX.Element => {\n const containerRef = useRef<HTMLDivElement>(null);\n const instanceRef = useRef<CoreViewer>();\n const stateRef = React.useRef<VolatileState>();\n\n function setViewerOptions() {\n const viewerOptions = {\n fontSize,\n pageViewMode,\n renderAllPages,\n autoResize,\n defaultPaperSize,\n pageBorderWidth,\n };\n instanceRef.current!.setOptions(viewerOptions);\n }\n\n function loadSource() {\n const instance = instanceRef.current!;\n const documentOptions = {\n ...(userStyleSheet\n ? {\n userStyleSheet: [\n {\n [userStyleSheet.endsWith(\".css\") ? \"url\" : \"text\"]:\n userStyleSheet,\n },\n ],\n }\n : null),\n ...(authorStyleSheet\n ? {\n authorStyleSheet: [\n {\n [authorStyleSheet.endsWith(\".css\") ? \"url\" : \"text\"]:\n authorStyleSheet,\n },\n ],\n }\n : null),\n };\n\n if (bookMode) {\n instance.loadPublication(source, documentOptions);\n } else {\n instance.loadDocument({ url: source }, documentOptions, {\n fontSize,\n pageViewMode,\n zoom,\n renderAllPages,\n autoResize,\n defaultPaperSize,\n pageBorderWidth,\n fitToScreen,\n });\n }\n }\n\n function registerEventHandlers() {\n const getMessage = (payload: Payload) =>\n payload.content.error?.toString() ?? payload.content.messages.join(\"\\n\");\n\n function handleMessage(payload: Payload, type: MessageType) {\n onMessage && onMessage(getMessage(payload), type);\n }\n\n const handleDebug = (payload: Payload) => handleMessage(payload, \"debug\");\n const handleInfo = (payload: Payload) => handleMessage(payload, \"info\");\n const handleWarn = (payload: Payload) => handleMessage(payload, \"warn\");\n\n function handleError(payload: Payload) {\n onError && onError(getMessage(payload));\n }\n\n function handleReadyStateChange() {\n const { readyState } = instanceRef.current!;\n onReadyStateChange && onReadyStateChange(readyState);\n }\n\n function handleLoaded() {\n onLoad && onLoad(stateRef.current!);\n }\n\n function handleNavigation(payload: NavigationPayload) {\n const { docTitle, epageCount, epage, metadata } = payload;\n const currentState = {\n docTitle,\n epageCount,\n epage: epage as number,\n metadata,\n };\n stateRef.current = currentState;\n onNavigation && onNavigation(currentState);\n }\n\n function handleHyperlink(payload: HyperlinkPayload) {\n onHyperlink && onHyperlink(payload);\n }\n\n const instance = instanceRef.current!;\n instance.addListener(\"debug\", handleDebug);\n instance.addListener(\"info\", handleInfo);\n instance.addListener(\"warn\", handleWarn);\n instance.addListener(\"error\", handleError);\n instance.addListener(\"readystatechange\", handleReadyStateChange);\n instance.addListener(\"loaded\", handleLoaded);\n instance.addListener(\"nav\", handleNavigation);\n instance.addListener(\"hyperlink\", handleHyperlink);\n\n return () => {\n onReadyStateChange && onReadyStateChange(ReadyState.LOADING);\n instance.removeListener(\"debug\", handleDebug);\n instance.removeListener(\"info\", handleInfo);\n instance.removeListener(\"warn\", handleWarn);\n instance.removeListener(\"error\", handleError);\n instance.removeListener(\"readystatechange\", handleReadyStateChange);\n instance.removeListener(\"loaded\", handleLoaded);\n instance.removeListener(\"nav\", handleNavigation);\n instance.removeListener(\"hyperlink\", handleHyperlink);\n };\n }\n\n function initInstance() {\n instanceRef.current = new CoreViewer({\n viewportElement: containerRef.current!,\n });\n }\n\n // initialize document and event handlers\n useEffect(() => {\n initInstance();\n setViewerOptions();\n\n const cleanup = registerEventHandlers();\n return cleanup;\n }, []);\n\n useEffect(() => {\n loadSource();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [source, authorStyleSheet, userStyleSheet, zoom, fitToScreen]);\n\n useEffect(() => {\n setViewerOptions();\n }, [\n fontSize,\n pageViewMode,\n renderAllPages,\n autoResize,\n defaultPaperSize,\n pageBorderWidth,\n ]);\n\n // sync location\n useEffect(() => {\n const epage = epageFromPageNumber(page);\n instanceRef.current?.navigateToPage(Navigation.EPAGE, epage);\n }, [page]);\n\n const container = (\n <Container ref={containerRef} style={style} background={background} />\n );\n\n if (typeof children === \"function\" && children instanceof Function) {\n return children({ container, reload: loadSource });\n }\n\n return container;\n};\n\nconst Container = styled.div<Pick<RendererProps, \"background\">>`\n overflow: scroll;\n background: ${({ background }) => background} !important;\n`;\n","export function epageToPageNumber(epage: number): number {\n return Math.round(epage + 1);\n}\n\nexport function epageFromPageNumber(pageNumber: number): number {\n return pageNumber - 1;\n}\n"],"names":["Renderer","source","page","zoom","bookMode","fontSize","background","renderAllPages","autoResize","pageViewMode","PageViewMode","SINGLE_PAGE","defaultPaperSize","pageBorderWidth","fitToScreen","userStyleSheet","authorStyleSheet","style","onMessage","onError","onReadyStateChange","onLoad","onNavigation","onHyperlink","children","containerRef","useRef","instanceRef","stateRef","React","setViewerOptions","current","setOptions","loadSource","instance","documentOptions","_extends","endsWith","loadPublication","loadDocument","url","useEffect","CoreViewer","viewportElement","getMessage","payload","_payload$content$erro","_payload$content$erro2","content","error","toString","messages","join","handleMessage","type","handleDebug","handleInfo","handleWarn","handleError","handleReadyStateChange","readyState","handleLoaded","handleNavigation","docTitle","epageCount","epage","metadata","currentState","handleHyperlink","addListener","ReadyState","LOADING","removeListener","registerEventHandlers","_instanceRef$current","navigateToPage","Navigation","EPAGE","container","Container","ref","Function","reload","styled","div","_t"],"mappings":"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"}
1
+ {"version":3,"file":"react-vivliostyle.modern.mjs","sources":["../src/renderer.tsx","../src/epage.ts"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport {\n CoreViewer,\n Navigation,\n PageViewMode,\n Payload,\n ReadyState,\n} from \"@vivliostyle/core\";\nimport React, { useEffect, useRef } from \"react\";\nimport { epageFromPageNumber } from \"./epage\";\n\nexport type MessageType = \"debug\" | \"info\" | \"warn\";\nexport type NavigationPayload = Omit<Payload, \"internal\" | \"href\" | \"content\">;\nexport type HyperlinkPayload = Pick<Payload, \"internal\" | \"href\">;\n\ninterface VolatileState {\n docTitle: string;\n epage: number;\n epageCount: number;\n metadata: unknown;\n}\n\ntype ChildrenFunction = ({\n container,\n reload,\n}: {\n container: React.ReactElement;\n reload: () => void;\n}) => React.ReactNode;\n\ninterface RendererProps {\n source: string;\n page?: number;\n zoom?: number;\n bookMode?: boolean;\n renderAllPages?: boolean;\n autoResize?: boolean;\n pageViewMode?: PageViewMode;\n defaultPaperSize?: {\n width: number;\n height: number;\n };\n pageBorderWidth?: number;\n fitToScreen?: boolean;\n fontSize?: number;\n background?: string;\n userStyleSheet?: string;\n authorStyleSheet?: string;\n style?: React.CSSProperties;\n onMessage?: (message: string, type: MessageType) => void;\n onError?: (error: string) => void;\n onReadyStateChange?: (state: ReadyState) => void;\n onLoad?: (state: VolatileState) => void;\n onNavigation?: (state: VolatileState) => void;\n onHyperlink?: (payload: HyperlinkPayload) => void;\n children?: React.ReactNode | ChildrenFunction;\n}\n\nexport const Renderer = ({\n source,\n page = 1,\n zoom = 1,\n bookMode = true,\n fontSize = 16,\n background = \"#ececec\",\n renderAllPages = true,\n autoResize = true,\n pageViewMode = PageViewMode.SINGLE_PAGE,\n defaultPaperSize,\n pageBorderWidth = 1,\n fitToScreen = false,\n userStyleSheet,\n authorStyleSheet,\n style,\n onMessage,\n onError,\n onReadyStateChange,\n onLoad,\n onNavigation,\n onHyperlink,\n children,\n}: RendererProps): ReturnType<ChildrenFunction> | React.ReactElement => {\n const containerRef = useRef<HTMLDivElement>(null);\n const instanceRef = useRef<CoreViewer | undefined>(undefined);\n const stateRef = React.useRef<VolatileState | undefined>(undefined);\n\n function setViewerOptions() {\n const viewerOptions = {\n fontSize,\n pageViewMode,\n renderAllPages,\n autoResize,\n defaultPaperSize,\n pageBorderWidth,\n };\n instanceRef.current!.setOptions(viewerOptions);\n }\n\n function loadSource() {\n const instance = instanceRef.current!;\n const documentOptions = {\n ...(userStyleSheet\n ? {\n userStyleSheet: [\n {\n [userStyleSheet.endsWith(\".css\") ? \"url\" : \"text\"]:\n userStyleSheet,\n },\n ],\n }\n : null),\n ...(authorStyleSheet\n ? {\n authorStyleSheet: [\n {\n [authorStyleSheet.endsWith(\".css\") ? \"url\" : \"text\"]:\n authorStyleSheet,\n },\n ],\n }\n : null),\n };\n\n if (bookMode) {\n instance.loadPublication(source, documentOptions);\n } else {\n instance.loadDocument({ url: source }, documentOptions, {\n fontSize,\n pageViewMode,\n zoom,\n renderAllPages,\n autoResize,\n defaultPaperSize,\n pageBorderWidth,\n fitToScreen,\n });\n }\n }\n\n function registerEventHandlers() {\n const getMessage = (payload: Payload) =>\n payload.content.error?.toString() ?? payload.content.messages.join(\"\\n\");\n\n function handleMessage(payload: Payload, type: MessageType) {\n onMessage && onMessage(getMessage(payload), type);\n }\n\n const handleDebug = (payload: Payload) => handleMessage(payload, \"debug\");\n const handleInfo = (payload: Payload) => handleMessage(payload, \"info\");\n const handleWarn = (payload: Payload) => handleMessage(payload, \"warn\");\n\n function handleError(payload: Payload) {\n onError && onError(getMessage(payload));\n }\n\n function handleReadyStateChange() {\n const { readyState } = instanceRef.current!;\n onReadyStateChange && onReadyStateChange(readyState);\n }\n\n function handleLoaded() {\n onLoad && onLoad(stateRef.current!);\n }\n\n function handleNavigation(payload: NavigationPayload) {\n const { docTitle, epageCount, epage, metadata } = payload;\n const currentState = {\n docTitle,\n epageCount,\n epage: epage as number,\n metadata,\n };\n stateRef.current = currentState;\n onNavigation && onNavigation(currentState);\n }\n\n function handleHyperlink(payload: HyperlinkPayload) {\n onHyperlink && onHyperlink(payload);\n }\n\n const instance = instanceRef.current!;\n instance.addListener(\"debug\", handleDebug);\n instance.addListener(\"info\", handleInfo);\n instance.addListener(\"warn\", handleWarn);\n instance.addListener(\"error\", handleError);\n instance.addListener(\"readystatechange\", handleReadyStateChange);\n instance.addListener(\"loaded\", handleLoaded);\n instance.addListener(\"nav\", handleNavigation);\n instance.addListener(\"hyperlink\", handleHyperlink);\n\n return () => {\n onReadyStateChange && onReadyStateChange(ReadyState.LOADING);\n instance.removeListener(\"debug\", handleDebug);\n instance.removeListener(\"info\", handleInfo);\n instance.removeListener(\"warn\", handleWarn);\n instance.removeListener(\"error\", handleError);\n instance.removeListener(\"readystatechange\", handleReadyStateChange);\n instance.removeListener(\"loaded\", handleLoaded);\n instance.removeListener(\"nav\", handleNavigation);\n instance.removeListener(\"hyperlink\", handleHyperlink);\n };\n }\n\n function initInstance() {\n instanceRef.current = new CoreViewer({\n viewportElement: containerRef.current!,\n });\n }\n\n // initialize document and event handlers\n useEffect(() => {\n initInstance();\n setViewerOptions();\n\n const cleanup = registerEventHandlers();\n return cleanup;\n }, []);\n\n useEffect(() => {\n loadSource();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [source, authorStyleSheet, userStyleSheet, zoom, fitToScreen]);\n\n useEffect(() => {\n setViewerOptions();\n }, [\n fontSize,\n pageViewMode,\n renderAllPages,\n autoResize,\n defaultPaperSize,\n pageBorderWidth,\n ]);\n\n // sync location\n useEffect(() => {\n const epage = epageFromPageNumber(page);\n instanceRef.current?.navigateToPage(Navigation.EPAGE, epage);\n }, [page]);\n\n const container = (\n <Container ref={containerRef} style={style} background={background} />\n );\n\n if (typeof children === \"function\" && children instanceof Function) {\n return children({ container, reload: loadSource });\n }\n\n return container;\n};\n\nconst Container = styled.div<Pick<RendererProps, \"background\">>`\n overflow: scroll;\n background: ${({ background }) => background} !important;\n`;\n","export function epageToPageNumber(epage: number): number {\n return Math.round(epage + 1);\n}\n\nexport function epageFromPageNumber(pageNumber: number): number {\n return pageNumber - 1;\n}\n"],"names":["Renderer","source","page","zoom","bookMode","fontSize","background","renderAllPages","autoResize","pageViewMode","PageViewMode","SINGLE_PAGE","defaultPaperSize","pageBorderWidth","fitToScreen","userStyleSheet","authorStyleSheet","style","onMessage","onError","onReadyStateChange","onLoad","onNavigation","onHyperlink","children","containerRef","useRef","instanceRef","undefined","stateRef","React","setViewerOptions","current","setOptions","loadSource","instance","documentOptions","_extends","endsWith","loadPublication","loadDocument","url","useEffect","CoreViewer","viewportElement","getMessage","payload","_payload$content$erro","_payload$content$erro2","content","error","toString","messages","join","handleMessage","type","handleDebug","handleInfo","handleWarn","handleError","handleReadyStateChange","readyState","handleLoaded","handleNavigation","docTitle","epageCount","epage","metadata","currentState","handleHyperlink","addListener","ReadyState","LOADING","removeListener","registerEventHandlers","_instanceRef$current","navigateToPage","Navigation","EPAGE","container","Container","ref","Function","reload","styled","div","_t"],"mappings":"+YA0Da,MAAAA,EAAWA,EACtBC,SACAC,KAAAA,EAAO,EACPC,KAAAA,EAAO,EACPC,SAAAA,GAAW,EACXC,SAAAA,EAAW,GACXC,WAAAA,EAAa,UACbC,eAAAA,GAAiB,EACjBC,WAAAA,GAAa,EACbC,aAAAA,EAAeC,EAAaC,YAC5BC,mBACAC,gBAAAA,EAAkB,EAClBC,YAAAA,GAAc,EACdC,iBACAC,mBACAC,QACAC,YACAC,UACAC,qBACAC,SACAC,eACAC,cACAC,eAEA,MAAMC,EAAeC,EAAuB,MACtCC,EAAcD,OAA+BE,GAC7CC,EAAWC,EAAMJ,YAAkCE,GAEzD,SAASG,IASPJ,EAAYK,QAASC,WARC,CACpB5B,SAAAA,EACAI,aAAAA,EACAF,eAAAA,EACAC,WAAAA,EACAI,mBACAC,gBAAAA,GAGJ,CAEA,SAASqB,IACP,MAAMC,EAAWR,EAAYK,QACvBI,EAAeC,EACftB,CAAAA,EAAAA,EACA,CACEA,eAAgB,CACd,CACE,CAACA,EAAeuB,SAAS,QAAU,MAAQ,QACzCvB,KAIR,KACAC,EACA,CACEA,iBAAkB,CAChB,CACE,CAACA,EAAiBsB,SAAS,QAAU,MAAQ,QAC3CtB,KAIR,MAGFZ,EACF+B,EAASI,gBAAgBtC,EAAQmC,GAEjCD,EAASK,aAAa,CAAEC,IAAKxC,GAAUmC,EAAiB,CACtD/B,SAAAA,EACAI,aAAAA,EACAN,KAAAA,EACAI,eAAAA,EACAC,WAAAA,EACAI,mBACAC,gBAAAA,EACAC,YAAAA,GAGN,CAyEA4B,EAAU,KANRf,EAAYK,QAAU,IAAIW,EAAW,CACnCC,gBAAiBnB,EAAaO,UAOhCD,IAzEF,WACE,MAAMc,EAAcC,IAAgBC,IAAAA,EAAAC,EAAA,OACD,OADCD,EAClCC,OADkCA,EAClCF,EAAQG,QAAQC,YAAhBF,EAAAA,EAAuBG,YAAUJ,EAAID,EAAQG,QAAQG,SAASC,KAAK,OAErE,SAASC,EAAcR,EAAkBS,GACvCrC,GAAaA,EAAU2B,EAAWC,GAAUS,EAC9C,CAEA,MAAMC,EAAeV,GAAqBQ,EAAcR,EAAS,SAC3DW,EAAcX,GAAqBQ,EAAcR,EAAS,QAC1DY,EAAcZ,GAAqBQ,EAAcR,EAAS,QAEhE,SAASa,EAAYb,GACnB3B,GAAWA,EAAQ0B,EAAWC,GAChC,CAEA,SAASc,IACP,MAAMC,WAAEA,GAAelC,EAAYK,QACnCZ,GAAsBA,EAAmByC,EAC3C,CAEA,SAASC,IACPzC,GAAUA,EAAOQ,EAASG,QAC5B,CAEA,SAAS+B,EAAiBjB,GACxB,MAAMkB,SAAEA,EAAQC,WAAEA,EAAUC,MAAEA,EAAKC,SAAEA,GAAarB,EAC5CsB,EAAe,CACnBJ,WACAC,aACAC,MAAOA,EACPC,YAEFtC,EAASG,QAAUoC,EACnB9C,GAAgBA,EAAa8C,EAC/B,CAEA,SAASC,EAAgBvB,GACvBvB,GAAeA,EAAYuB,EAC7B,CAEA,MAAMX,EAAWR,EAAYK,QAU7B,OATAG,EAASmC,YAAY,QAASd,GAC9BrB,EAASmC,YAAY,OAAQb,GAC7BtB,EAASmC,YAAY,OAAQZ,GAC7BvB,EAASmC,YAAY,QAASX,GAC9BxB,EAASmC,YAAY,mBAAoBV,GACzCzB,EAASmC,YAAY,SAAUR,GAC/B3B,EAASmC,YAAY,MAAOP,GAC5B5B,EAASmC,YAAY,YAAaD,GAE3B,KACLjD,GAAsBA,EAAmBmD,EAAWC,SACpDrC,EAASsC,eAAe,QAASjB,GACjCrB,EAASsC,eAAe,OAAQhB,GAChCtB,EAASsC,eAAe,OAAQf,GAChCvB,EAASsC,eAAe,QAASd,GACjCxB,EAASsC,eAAe,mBAAoBb,GAC5CzB,EAASsC,eAAe,SAAUX,GAClC3B,EAASsC,eAAe,MAAOV,GAC/B5B,EAASsC,eAAe,YAAaJ,GAEzC,CAakBK,IAEf,IAEHhC,EAAU,KACRR,KAEC,CAACjC,EAAQe,EAAkBD,EAAgBZ,EAAMW,IAEpD4B,EAAU,KACRX,KACC,CACD1B,EACAI,EACAF,EACAC,EACAI,EACAC,IAIF6B,EAAU,KAAKiC,IAAAA,EAEM,OAAnBA,EAAAhD,EAAYK,UAAZ2C,EAAqBC,eAAeC,EAAWC,MADb5E,ECvOhB,IDyOjB,CAACA,IAEJ,MAAM6E,EACJjD,gBAACkD,EAAS,CAACC,IAAKxD,EAAcR,MAAOA,EAAOX,WAAYA,IAG1D,MAAwB,mBAAbkB,GAA2BA,aAAoB0D,SACjD1D,EAAS,CAAEuD,YAAWI,OAAQjD,IAGhC6C,GAGHC,EAAYI,EAAOC,IAAGC,IAAAA,QAAA;;gBAAA;GAEZ,EAAGhF,gBAAiBA"}
@@ -10,7 +10,7 @@ interface VolatileState {
10
10
  metadata: unknown;
11
11
  }
12
12
  type ChildrenFunction = ({ container, reload, }: {
13
- container: JSX.Element;
13
+ container: React.ReactElement;
14
14
  reload: () => void;
15
15
  }) => React.ReactNode;
16
16
  interface RendererProps {
@@ -40,5 +40,5 @@ interface RendererProps {
40
40
  onHyperlink?: (payload: HyperlinkPayload) => void;
41
41
  children?: React.ReactNode | ChildrenFunction;
42
42
  }
43
- export declare const Renderer: ({ source, page, zoom, bookMode, fontSize, background, renderAllPages, autoResize, pageViewMode, defaultPaperSize, pageBorderWidth, fitToScreen, userStyleSheet, authorStyleSheet, style, onMessage, onError, onReadyStateChange, onLoad, onNavigation, onHyperlink, children, }: RendererProps) => ReturnType<ChildrenFunction> | JSX.Element;
43
+ export declare const Renderer: ({ source, page, zoom, bookMode, fontSize, background, renderAllPages, autoResize, pageViewMode, defaultPaperSize, pageBorderWidth, fitToScreen, userStyleSheet, authorStyleSheet, style, onMessage, onError, onReadyStateChange, onLoad, onNavigation, onHyperlink, children, }: RendererProps) => ReturnType<ChildrenFunction> | React.ReactElement;
44
44
  export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vivliostyle/react",
3
3
  "description": "React component for Vivliostyle",
4
- "version": "2.35.0",
4
+ "version": "2.36.1",
5
5
  "author": "Yasuaki Uechi <y@uechi.io>",
6
6
  "scripts": {
7
7
  "build": "microbundle --format modern,cjs && shx rm -rf dist/stories",
@@ -9,7 +9,7 @@
9
9
  "build-storybook": "storybook build",
10
10
  "clean": "shx rm -rf dist",
11
11
  "dev": "yarn storybook",
12
- "storybook": "cross-env NODE_OPTIONS=--openssl-legacy-provider storybook dev -p 9009",
12
+ "storybook": "storybook dev -p 9009",
13
13
  "test": "run-s test:build",
14
14
  "test:build": "yarn build",
15
15
  "test:unit": "cross-env CI=1 react-scripts test",
@@ -18,31 +18,28 @@
18
18
  "dependencies": {
19
19
  "@emotion/core": "^10.0.28",
20
20
  "@emotion/styled": "^10.0.27",
21
- "@vivliostyle/core": "^2.35.0"
21
+ "@vivliostyle/core": "^2.36.1"
22
22
  },
23
23
  "peerDependencies": {
24
- "react": "^18.2.0",
25
- "react-dom": "^18.2.0"
24
+ "react": "^19.0.0",
25
+ "react-dom": "^19.0.0"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
29
- "@storybook/addon-actions": "^8.4.4",
30
- "@storybook/addon-essentials": "^8.4.4",
31
- "@storybook/addon-knobs": "^8.0.1",
32
- "@storybook/addon-links": "^8.4.4",
33
- "@storybook/preset-create-react-app": "^8.4.4",
34
- "@storybook/react": "^8.4.4",
35
- "@storybook/react-webpack5": "^8.4.4",
29
+ "@storybook/addon-links": "^9.1.8",
30
+ "@storybook/preset-create-react-app": "^9.1.8",
31
+ "@storybook/react": "^9.1.8",
32
+ "@storybook/react-webpack5": "^9.1.8",
36
33
  "@types/jest": "^29.5.14",
37
- "@types/react": "^18.0.27",
34
+ "@types/react": "^19.1.15",
38
35
  "cross-env": "^7.0.2",
39
36
  "microbundle": "^0.15.1",
40
37
  "npm-run-all": "^4.1.5",
41
- "react": "^18.2.0",
42
- "react-dom": "^18.2.0",
38
+ "react": "^19.1.1",
39
+ "react-dom": "^19.1.1",
43
40
  "react-scripts": "^5.0.1",
44
41
  "shx": "^0.3.2",
45
- "storybook": "^8.4.4"
42
+ "storybook": "^9.1.8"
46
43
  },
47
44
  "source": "src/index.tsx",
48
45
  "types": "dist/index.d.ts",
@@ -72,5 +69,5 @@
72
69
  "engines": {
73
70
  "node": ">=14"
74
71
  },
75
- "gitHead": "8916fd6771e1d87a5823acf4c58a1fd5bcc25f76"
72
+ "gitHead": "9dec3f40538051f5697203b19def084b6e5d738d"
76
73
  }