@pretextbook/web-editor 0.4.0 → 0.4.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/index.d.ts +1 -1
- package/dist/index.es.js +37 -20
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1085,5 +1085,5 @@ Expected it to be ${r}.`}var aW=class extends Error{name=`InvalidDocError`;const
|
|
|
1085
1085
|
`+e.slice(a)}function T6(e,t){let n=RegExp(`[ \t]*${b6(t)}[ \t]*\n?`,`g`);return e.replace(n,``)}function E6(e,t,n){let r=new RegExp(b6(t)).exec(e),i=r?O6(r[0]):`<plus:division ref="${t}"/>`,a=T6(e,t);if(n!==null){let e=new RegExp(b6(n)).exec(a);if(e){let t=e.index+e[0].length;return a.slice(0,t)+`
|
|
1086
1086
|
`+i+a.slice(t)}}let o=a.lastIndexOf(`</`);return o===-1?a+`
|
|
1087
1087
|
`+i:a.slice(0,o)+i+`
|
|
1088
|
-
`+a.slice(o)}function D6(e,t){let n=e,r=null;for(let e of t)n=E6(n,e,r),r=e;return n}function O6(e){return e.replace(/<plus:([a-z-]+)((?:\s[^>]*?)?)>\s*<\/plus:\1>/g,(e,t,n)=>`<plus:${t}${n}/>`)}function k6(e,t){let n=new Set,r=[t];for(;r.length>0;){let t=r.pop();if(n.has(t))continue;n.add(t);let i=e.find(e=>e.xmlId===t);if(i)for(let e of x6(i.content))r.push(e)}return n}function A6(e,t){let n=k6(e,t);return e.filter(e=>!n.has(e.xmlId))}function j6(e,t){let n=[],r=new Set([t]),i=(t,a)=>{let o=e.find(e=>e.xmlId===t);if(o)for(let s of x6(o.content)){if(r.has(s))continue;let o=e.find(e=>e.xmlId===s);o&&(r.add(s),n.push({division:o,depth:a,parentXmlId:t}),i(s,a+1))}};return i(t,0),n}function M6(e,t){let n=A6(e,t),r=new Set(n.map(e=>e.xmlId)),i=new Set;for(let e of n)for(let t of x6(e.content))r.has(t)&&i.add(t);return n.filter(e=>!i.has(e.xmlId))}var N6=new Set([`part`,`chapter`]),P6=new Set([`book`,`article`,`slideshow`]);function F6(e,t,n){let r=P6.has(e)?t:N6.has(e)?`<book>\n${t}\n</book>`:`<article>\n${t}\n</article>`;return`<pretext>\n${n.trim()?`${n.trim()}\n`:``}${r}\n</pretext>`}var I6=({onOpenAssetPicker:e})=>{let n=a3(e=>e.divisions),r=a3(e=>e.rootDivisionId),i=a3(e=>e.activeDivisionId),a=a3(e=>e.selectSection),o=a3(e=>e.removeSection),s=a3(e=>e.divisionContentChange),c=a3(e=>e.insertAtCursor),l=a3(e=>e.startSectionEdit),u=a3(e=>e.setEditDraft),d=a3(e=>e.commitSectionEdit),f=a3(e=>e.cancelSectionEdit),p=a3(e=>e.editingId),m=a3(e=>e.editDraft),h=n?n.find(e=>e.xmlId===r)??n.find(e=>e.type===`book`||e.type===`article`||e.type===`slideshow`)??n[0]??null:null,g=h&&n?j6(n,h.xmlId):[],v=h&&n?M6(n,h.xmlId):[],[y,b]=(0,t.useState)(new Set),x=e=>!y.has(e),S=e=>{b(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};(0,t.useEffect)(()=>{if(!i||!h)return;let e=new Map(g.map(e=>[e.division.xmlId,e])),t=new Set;t.add(h.xmlId);let n=i;for(;n;){let r=e.get(n);if(!r?.parentXmlId)break;t.add(r.parentXmlId),n=r.parentXmlId}b(e=>{if([...t].every(t=>!e.has(t)))return e;let n=new Set(e);return t.forEach(e=>n.delete(e)),n})},[i]);let C=new Set(g.map(e=>e.parentXmlId).filter(Boolean)),w=[];if(h){let e=new Set;x(h.xmlId)&&e.add(h.xmlId);for(let t of g)t.parentXmlId&&e.has(t.parentXmlId)&&(w.push(t),x(t.division.xmlId)&&e.add(t.division.xmlId))}let T=(e,t)=>{if(!n)return;let r=n.find(e=>e.xmlId===t);r&&s(r.xmlId,O6(T6(r.content,e)))},E=(e,t)=>{if(window.confirm(`Delete "${e.title||`Untitled`}"? This permanently removes the division.`)){if(t&&n){let r=n.find(e=>e.xmlId===t);r&&s(r.xmlId,O6(T6(r.content,e.xmlId)))}o(e.xmlId)}},D=e=>{c(`<plus:${e.type} ref="${e.xmlId}"/>`)},O=e=>{h&&s(h.xmlId,O6(w6(h.content,e.xmlId,e.type,null)))};return(0,_.jsxs)(_.Fragment,{children:[(0,_.jsxs)(`ul`,{className:`pretext-plus-editor__toc-list`,role:`list`,children:[h&&(0,_.jsx)(F3,{division:h,depth:0,isActive:i===h.xmlId,hasChildren:C.has(h.xmlId),isExpanded:x(h.xmlId),onToggleExpand:()=>S(h.xmlId),editDraft:p===h.xmlId?m:null,onSelect:()=>a(h.xmlId),onDraftChange:u,onEditCommit:d,onEditCancel:f,menuItems:[{label:`Edit properties`,onClick:()=>l(h)}],isLatex:h.sourceFormat===`latex`}),w.length===0&&h&&x(h.xmlId)&&(0,_.jsx)(`li`,{className:`pretext-plus-editor__toc-no-sections`,children:(0,_.jsx)(`span`,{children:`No placed divisions`})}),w.map(e=>(0,_.jsx)(F3,{division:e.division,depth:e.depth+1,isActive:i===e.division.xmlId,hasChildren:C.has(e.division.xmlId),isExpanded:x(e.division.xmlId),onToggleExpand:()=>S(e.division.xmlId),editDraft:p===e.division.xmlId?m:null,onSelect:()=>a(e.division.xmlId),onDraftChange:u,onEditCommit:d,onEditCancel:f,menuItems:[{label:`Edit properties`,onClick:()=>l(e.division)},{label:`Remove from document`,onClick:()=>T(e.division.xmlId,e.parentXmlId)},{label:`Delete from project`,onClick:()=>E(e.division,e.parentXmlId),danger:!0}],isLatex:e.division.sourceFormat===`latex`},e.division.xmlId))]}),v.length>0&&(0,_.jsxs)(`div`,{className:`pretext-plus-editor__toc-orphans`,children:[(0,_.jsx)(`div`,{className:`pretext-plus-editor__toc-orphans-heading`,children:`Unplaced divisions`}),(0,_.jsx)(`ul`,{className:`pretext-plus-editor__toc-list`,children:v.map(e=>{let r=n?j6(n,e.xmlId):[],o=new Set(r.map(e=>e.parentXmlId).filter(Boolean));return(0,_.jsxs)(t.Fragment,{children:[(0,_.jsx)(F3,{division:e,depth:0,isActive:i===e.xmlId,hasChildren:o.has(e.xmlId),isExpanded:x(e.xmlId),onToggleExpand:()=>S(e.xmlId),editDraft:p===e.xmlId?m:null,onSelect:()=>a(e.xmlId),onDraftChange:u,onEditCommit:d,onEditCancel:f,menuItems:[{label:`Edit properties`,onClick:()=>l(e)},{label:`Place in document`,onClick:()=>O(e)},{label:`Insert at cursor`,onClick:()=>D(e)},{label:`Delete from project`,onClick:()=>E(e,null),danger:!0}],isLatex:e.sourceFormat===`latex`}),x(e.xmlId)&&r.map(e=>(0,_.jsx)(F3,{division:e.division,depth:e.depth+1,isActive:i===e.division.xmlId,hasChildren:o.has(e.division.xmlId),isExpanded:x(e.division.xmlId),onToggleExpand:()=>S(e.division.xmlId),editDraft:p===e.division.xmlId?m:null,onSelect:()=>a(e.division.xmlId),onDraftChange:u,onEditCommit:d,onEditCancel:f,menuItems:[{label:`Edit properties`,onClick:()=>l(e.division)},{label:`Insert at cursor`,onClick:()=>D(e.division)},{label:`Delete from project`,onClick:()=>E(e.division,e.parentXmlId),danger:!0}],isLatex:e.division.sourceFormat===`latex`},e.division.xmlId))]},e.xmlId)})})]}),e&&(0,_.jsx)(`button`,{type:`button`,className:`pretext-plus-editor__toc-assets-btn`,onClick:e,children:`Manage Assets`})]})},L6=({isCollapsed:e,onToggleCollapse:t,onOpenAssetPicker:n})=>e?(0,_.jsx)(`div`,{className:`pretext-plus-editor__toc pretext-plus-editor__toc--collapsed`,children:(0,_.jsx)(`button`,{type:`button`,className:`pretext-plus-editor__toc-toggle`,onClick:t,"aria-label":`Expand table of contents`,title:`Expand table of contents`,children:`☰`})}):(0,_.jsxs)(`div`,{className:`pretext-plus-editor__toc`,children:[(0,_.jsxs)(`div`,{className:`pretext-plus-editor__toc-header`,children:[(0,_.jsx)(`span`,{className:`pretext-plus-editor__toc-heading`,children:`Contents`}),(0,_.jsx)(`div`,{className:`pretext-plus-editor__toc-header-actions`,children:(0,_.jsx)(`button`,{type:`button`,className:`pretext-plus-editor__toc-toggle`,onClick:t,"aria-label":`Collapse table of contents`,title:`Collapse table of contents`,children:`✕`})})]}),(0,_.jsx)(I6,{onOpenAssetPicker:n})]}),R6=class extends t.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){this.props.onError?.(e,t),console.error(`ErrorBoundary caught an error:`,e,t)}componentDidUpdate(e){if(this.state.error===null)return;let{resetKeys:t}=this.props,n=e.resetKeys;t&&n&&(t.length!==n.length||t.some((e,t)=>!Object.is(e,n[t])))&&this.reset()}reset=()=>{this.setState({error:null})};render(){let{error:e}=this.state;return e===null?this.props.children:this.props.fallback?this.props.fallback(e,this.reset):(0,_.jsxs)(`div`,{className:`pretext-plus-editor__error-boundary`,role:`alert`,children:[(0,_.jsx)(`strong`,{children:`Something went wrong rendering this view.`}),(0,_.jsx)(`p`,{className:`pretext-plus-editor__error-boundary-detail`,children:e.message}),(0,_.jsx)(`button`,{type:`button`,className:`pretext-plus-editor__error-boundary-retry`,onClick:this.reset,children:`Try again`})]})}};function z6(e){let t=()=>{},n={cbs:{selectDivision:t,addDivision:t,removeDivision:t,updateDivision:t,divisionContentChange:t,handleDivisionContentChange:t,assetInsert:t,updateTitle:t}};return{store:t3()((t,r)=>({source:e.source,sourceFormat:e.sourceFormat,projectAssets:void 0,libraryAssets:void 0,title:e.title,docinfo:e.docinfo,commonDocinfo:e.commonDocinfo,useCommonDocinfo:e.useCommonDocinfo,projectType:e.projectType,projectUrl:void 0,divisions:e.divisions,rootDivisionId:void 0,activeDivisionId:e.activeDivisionId,canConvertToPretext:!0,activeEditorSource:e.source,hasFeedback:!1,isTocCollapsed:!1,showFullPreview:!0,isNarrowScreen:typeof window<`u`?window.innerWidth<800:!1,activeTab:`editor`,isLatexDialogOpen:!1,isConvertDialogOpen:!1,isDocinfoEditorOpen:!1,isAssetPickerOpen:!1,internalTitle:e.title,internalDocinfo:e.docinfo,internalCommonDocinfo:e.commonDocinfo,internalUseCommonDocinfo:e.useCommonDocinfo,editingId:null,editDraft:null,syncState:e=>t(e),setShowFullPreview:e=>t({showFullPreview:e}),setActiveTab:e=>t({activeTab:e}),setIsNarrowScreen:e=>t({isNarrowScreen:e}),setIsTocCollapsed:e=>t(t=>({isTocCollapsed:typeof e==`function`?e(t.isTocCollapsed):e})),openModal:e=>t({[e]:!0}),closeModal:e=>t({[e]:!1}),setInternalTitle:e=>t({internalTitle:e}),selectSection:e=>n.cbs.selectDivision(e),addSection:e=>n.cbs.addDivision(e),removeSection:e=>n.cbs.removeDivision(e),updateSection:(e,t)=>n.cbs.updateDivision(e,t),divisionContentChange:(e,t)=>n.cbs.divisionContentChange?.(e,t),startSectionEdit:e=>{let{xmlId:n,label:r}=_6(e.content);t({editingId:e.xmlId,editDraft:{title:e.title,type:e.type,xmlId:n,label:r}})},setEditDraft:e=>t({editDraft:e}),commitSectionEdit:()=>{let{editingId:e,editDraft:i}=r();e&&i&&n.cbs.updateDivision(e,{title:i.title.trim()||void 0,type:i.type,xmlId:i.xmlId.trim()||null,label:i.label.trim()||null}),t({editingId:null,editDraft:null})},cancelSectionEdit:()=>t({editingId:null,editDraft:null}),insertAsset:e=>n.cbs.assetInsert(e),insertAtCursor:e=>n.cbs.insertContentAtCursor?.(e),updateTitle:e=>n.cbs.updateTitle(e),feedbackSubmit:e=>n.cbs.feedbackSubmit?.(e)})),bindCallbacks:e=>{n.cbs=e}}}function B6({store:e,children:t}){return(0,_.jsx)(i3.Provider,{value:e,children:t})}var V6=(e,t)=>e.find(e=>t?e.xmlId===t:e.type===`book`||e.type===`article`||e.type===`slideshow`)??e[0]??null,H6=e=>{let[n]=(0,t.useState)(()=>{let t=V6(e.divisions,e.rootDivisionId),n=e.activeDivisionId??t?.xmlId??null,r=e.divisions.find(e=>e.xmlId===n)??t;return z6({source:r?.content??``,sourceFormat:r?.sourceFormat??`pretext`,title:e.title??`Document Title`,docinfo:e.docinfo??``,commonDocinfo:e.commonDocinfo??``,useCommonDocinfo:e.useCommonDocinfo??!1,projectType:e.projectType,divisions:e.divisions,activeDivisionId:n})});return(0,_.jsx)(B6,{store:n.store,children:(0,_.jsx)(U6,{...e,bindCallbacks:n.bindCallbacks})})},U6=e=>{let{bindCallbacks:n}=e,r=a3(e=>e.showFullPreview),i=a3(e=>e.isNarrowScreen),a=a3(e=>e.setIsNarrowScreen),o=a3(e=>e.activeTab),s=a3(e=>e.setActiveTab),c=a3(e=>e.isTocCollapsed),l=a3(e=>e.setIsTocCollapsed),u=a3(e=>e.isLatexDialogOpen),d=a3(e=>e.isConvertDialogOpen),f=a3(e=>e.isDocinfoEditorOpen),p=a3(e=>e.isAssetPickerOpen),m=a3(e=>e.openModal),h=a3(e=>e.closeModal),g=a3(e=>e.internalTitle),v=a3(e=>e.setInternalTitle),y=a3(e=>e.internalDocinfo),b=a3(e=>e.internalCommonDocinfo),x=a3(e=>e.internalUseCommonDocinfo),S=a3(e=>e.syncState),C=e.title??g,w=(0,t.useRef)(null),T=(0,t.useRef)(null),E=V6(e.divisions,e.rootDivisionId),[D,O]=(0,t.useState)(()=>E?.xmlId??null),k=e.activeDivisionId===void 0?D:e.activeDivisionId,A=e.divisions.find(e=>e.xmlId===k)??e.divisions[0]??null,j=A?.sourceFormat??`pretext`,M=A?j===`latex`?l6(A.content,A.type):o6(A.content):``,ee=(t,n,r,i)=>{e.onContentChange({xmlId:t,sourceContent:n,sourceFormat:r,pretextSource:r===`pretext`?n:void 0,...i})},N=(0,t.useMemo)(()=>{if(!A||j===`pretext`)return;let e=Z4(M,j);return e.pretextError?void 0:e.pretextSource},[A,j,M]),te=t=>{if(!A)return;let n=t||``,r=j===`latex`?u6(n,A.type,A.title,A.content):O6(s6(n,A.type));if(r!==A.content&&(ee(A.xmlId,r,j),e.onDivisionAdd)){let t=new Set(e.divisions.map(e=>e.xmlId));for(let{xmlId:n,type:i}of S6(r))t.has(n)||(e.onDivisionAdd(C6(n,i,j)),t.add(n))}},P=t=>{O(t),e.onDivisionSelect?.(t)},ne=()=>{let t=r6();e.onDivisionAdd?.(t),O(t.xmlId)},re=e=>e.ref?`<plus:${e.kind} ref="${e.ref}"/>`:``,ie=t=>{let n=re(t);n&&T.current?.insertAtCursor(n),e.onAssetInsert?.(t)};(0,t.useEffect)(()=>{let e=()=>a(window.innerWidth<800);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[a]);let ae=j!==`pretext`;(0,t.useLayoutEffect)(()=>{n({selectDivision:P,addDivision:()=>ne(),removeDivision:t=>e.onDivisionRemove?.(t),updateDivision:(t,n)=>e.onDivisionUpdate?.(t,n),divisionContentChange:(t,n)=>{ee(t,n,e.divisions.find(e=>e.xmlId===t)?.sourceFormat??`pretext`)},handleDivisionContentChange:te,assetInsert:ie,insertContentAtCursor:e=>T.current?.insertAtCursor(e),updateTitle:t=>{v(t),e.onTitleChange?.(t)},feedbackSubmit:e.onFeedbackSubmit})}),(0,t.useEffect)(()=>{S({source:M,sourceFormat:j,projectAssets:e.projectAssets,libraryAssets:e.libraryAssets,title:C,docinfo:e.docinfo??y,commonDocinfo:e.commonDocinfo??b,useCommonDocinfo:e.useCommonDocinfo??x,projectType:e.projectType,projectUrl:e.projectUrl,divisions:e.divisions,rootDivisionId:E?.xmlId,activeDivisionId:k,canConvertToPretext:N!==void 0,activeEditorSource:M,hasFeedback:e.onFeedbackSubmit!==void 0})});let oe=e.useCommonDocinfo??x?e.commonDocinfo??b:e.docinfo??y,F=A?j===`pretext`?A.content:N===void 0?void 0:`<${A.type} xml:id="${A.xmlId}">\n<title>${A.title}</title>\n\n${N}\n</${A.type}>`:void 0,se=A&&F!==void 0?F6(A.type,F,oe):void 0,ce=()=>w.current?.rebuild(),le=()=>{e.onSave?.(),w.current?.rebuild()},ue=t=>{let n=t.ctrlKey||t.metaKey;n&&t.key===`Enter`&&e.onPreviewRebuild?(t.preventDefault(),ce()):n&&t.key===`s`&&(t.preventDefault(),le())},I=()=>{if(!A||!N)return;let t=r6(),n=O6(s6(N,A.type)),r={id:t.xmlId,xmlId:t.xmlId,title:A.title,type:A.type,sourceFormat:`pretext`,content:n};e.onDivisionAdd?.(r)},de=(0,_.jsx)(Ps,{ref:T,content:M,sourceFormat:j,onChange:te,onRebuild:e.onPreviewRebuild?ce:void 0,onSave:le,onOpenLatexImport:()=>m(`isLatexDialogOpen`),onOpenDocinfoEditor:()=>m(`isDocinfoEditorOpen`),onOpenConvertToPretext:ae&&N!==void 0?()=>m(`isConvertDialogOpen`):void 0,canConvertToPretext:N!==void 0,onOpenAssets:e.projectAssets!==void 0&&j===`pretext`?()=>m(`isAssetPickerOpen`):void 0}),fe;fe=r&&e.onPreviewRebuild?(0,_.jsx)(oR,{ref:w,content:se||``,title:C,onRebuild:e.onPreviewRebuild}):(0,_.jsx)(rR,{content:M,canEdit:j===`pretext`,editDisabledReason:j===`markdown`?`Visual editing is not available for Markdown documents.`:j===`latex`?`Visual editing is not available for LaTeX documents.`:``,onChange:e=>te(e)});let pe=(0,_.jsx)(L6,{isCollapsed:c,onToggleCollapse:()=>l(e=>!e),onOpenAssetPicker:e.projectAssets===void 0?void 0:()=>m(`isAssetPickerOpen`)}),me=`pretext-plus-tab-editor`,he=`pretext-plus-tab-preview`,L=`pretext-plus-tabpanel`,ge=i&&pe?(0,_.jsx)(`div`,{className:`pretext-plus-editor__toc-drawer`,children:c?(0,_.jsx)(`button`,{type:`button`,className:`pretext-plus-editor__toc-drawer-toggle`,onClick:()=>l(!1),children:`☰ Contents`}):(0,_.jsx)(`div`,{className:`pretext-plus-editor__toc-drawer-open`,children:pe})}):null,_e;return _e=i?(0,_.jsxs)(`div`,{className:`pretext-plus-editor__tabs`,children:[ge,(0,_.jsxs)(`div`,{className:`pretext-plus-editor__tab-list`,role:`tablist`,children:[(0,_.jsx)(`button`,{type:`button`,id:me,role:`tab`,"aria-controls":L,"aria-selected":o===`editor`,tabIndex:o===`editor`?0:-1,className:`pretext-plus-editor__tab-button ${o===`editor`?`is-active`:``}`,onClick:()=>s(`editor`),children:`Editor`}),(0,_.jsx)(`button`,{type:`button`,id:he,role:`tab`,"aria-controls":L,"aria-selected":o===`preview`,tabIndex:o===`preview`?0:-1,className:`pretext-plus-editor__tab-button ${o===`preview`?`is-active`:``}`,onClick:()=>s(`preview`),children:`Preview`})]}),(0,_.jsx)(`div`,{id:L,className:`pretext-plus-editor__tab-panel`,role:`tabpanel`,"aria-labelledby":o===`editor`?me:he,children:(0,_.jsx)(`div`,{style:{height:`100%`},children:o===`editor`?de:fe})})]}):(0,_.jsxs)(`div`,{className:`pretext-plus-editor__sectioned-layout`,children:[pe,(0,_.jsxs)(gt,{orientation:`horizontal`,className:`pretext-plus-editor__splitter`,children:[(0,_.jsx)(yt,{className:`pretext-plus-editor__editor-panel`,children:de}),(0,_.jsx)(St,{className:`pretext-plus-editor__resize-handle`,children:(0,_.jsx)(`div`,{className:`pretext-plus-editor__resize-dots`})}),(0,_.jsx)(yt,{className:`pretext-plus-editor__preview-panel`,children:fe})]})]}),(0,_.jsxs)(`div`,{className:`pretext-plus-editor`,onKeyDown:ue,children:[(0,_.jsx)(k3,{onSaveButton:e.onSaveButton,saveButtonLabel:e.saveButtonLabel,onCancelButton:e.onCancelButton,cancelButtonLabel:e.cancelButtonLabel,showPreviewModeToggle:e.onPreviewRebuild!==void 0}),(0,_.jsxs)(`div`,{className:`pretext-plus-editor__editor-displays`,children:[(0,_.jsx)(R6,{resetKeys:[M,k],children:_e}),u?(0,_.jsx)(s3,{onClose:()=>h(`isLatexDialogOpen`)}):null,d&&A&&N?(0,_.jsx)(d3,{sourceContent:M,sourceFormat:j,pretextSource:N,onConfirm:I,onClose:()=>h(`isConvertDialogOpen`)}):null,f?(0,_.jsx)(C3,{docinfo:e.docinfo??y,showCommonDocinfoControls:!0,commonDocinfo:e.commonDocinfo??b,initialUseCommonDocinfo:e.useCommonDocinfo??x,onClose:t=>{if(h(`isDocinfoEditorOpen`),t!==void 0){S({internalDocinfo:t.docinfo,internalCommonDocinfo:t.commonDocinfo,internalUseCommonDocinfo:t.useCommonDocinfo}),e.onCommonDocinfoChange?.(t.commonDocinfo),e.onUseCommonDocinfoChange?.(t.useCommonDocinfo);let n=E??A;ee(n?.xmlId??``,n?.content??``,n?.sourceFormat??`pretext`,{docinfo:t.docinfo,commonDocinfo:t.commonDocinfo,useCommonDocinfo:t.useCommonDocinfo})}}}):null,p&&e.projectAssets!==void 0?(0,_.jsx)(O3,{open:p,onClose:()=>h(`isAssetPickerOpen`),onLoadAssets:e.onLoadAssets,onLoadLibraryAssets:e.onLoadLibraryAssets,onAddFromLibrary:e.onAssetAddFromLibrary,onUpload:e.onAssetUpload,onAddUrl:e.onAssetAddUrl,onCreateDoenet:e.onCreateDoenet,onRemoveAsset:e.onAssetRemove,onInsert:ie}):null]})]})};e.CodeEditor=Ps,e.DocinfoEditor=C3,e.Editors=H6,e.FeedbackLink=$4,e.FullPreview=oR,e.VisualEditor=rR,e.buildDivisionTree=j6,e.convertLatexToPretext=J4,e.createConclusion=a6,e.createIntroduction=i6,e.createLatexConclusion=h6,e.createLatexIntroduction=m6,e.createNewLatexSection=p6,e.createNewSection=r6,e.derivePretextContent=Z4,e.detectSourceFormat=q4,e.ensureLatexSectionWrapper=d6,e.ensureSectionWrapper=c6,e.getOrphanRoots=M6,e.getOrphanedDivisions=A6,e.getSectionAttributes=_6,e.insertDivisionRef=w6,e.mergeTwoSections=g6,e.moveDivisionRef=E6,e.normalizeSelfClosingRefs=O6,e.parseDivisionRefs=x6,e.postToIframe=aR,e.removeDivisionRef=T6,e.reorderDivisionRefs=D6,e.rewrapLatexSection=u6,e.rewrapSection=s6,e.stripLatexSectionWrapper=l6,e.stripSectionWrapper=o6,e.updateDivisionTitle=n6,e.updateLatexSectionTitle=f6,e.updateSectionMetadata=v6,e.wrapDivisionForPreview=F6});
|
|
1088
|
+
`+a.slice(o)}function D6(e,t){let n=e,r=null;for(let e of t)n=E6(n,e,r),r=e;return n}function O6(e){return e.replace(/<plus:([a-z-]+)((?:\s[^>]*?)?)>\s*<\/plus:\1>/g,(e,t,n)=>`<plus:${t}${n}/>`)}function k6(e,t){let n=new Set,r=[t];for(;r.length>0;){let t=r.pop();if(n.has(t))continue;n.add(t);let i=e.find(e=>e.xmlId===t);if(i)for(let e of x6(i.content))r.push(e)}return n}function A6(e,t){let n=k6(e,t);return e.filter(e=>!n.has(e.xmlId))}function j6(e,t){let n=[],r=new Set([t]),i=(t,a)=>{let o=e.find(e=>e.xmlId===t);if(o)for(let s of x6(o.content)){if(r.has(s))continue;let o=e.find(e=>e.xmlId===s);o&&(r.add(s),n.push({division:o,depth:a,parentXmlId:t}),i(s,a+1))}};return i(t,0),n}function M6(e,t){let n=A6(e,t),r=new Set(n.map(e=>e.xmlId)),i=new Set;for(let e of n)for(let t of x6(e.content))r.has(t)&&i.add(t);return n.filter(e=>!i.has(e.xmlId))}function N6(e,t,n){let r=t.find(t=>t.xmlId===e);if(!r)return`<!-- missing division: ${e} -->`;if(n.has(e))return`<!-- circular reference: ${e} -->`;let i;if(r.sourceFormat===`pretext`)i=r.content;else{let{pretextSource:e,pretextError:t}=Z4(r.sourceFormat===`latex`?l6(r.content,r.type):o6(r.content),r.sourceFormat),n=e??`<!-- conversion error: ${t} -->`;i=`<${r.type} xml:id="${r.xmlId}">\n<title>${r.title}</title>\n\n${n}\n</${r.type}>`}if(r.sourceFormat!==`pretext`)return i;let a=new Set(n).add(e);return i.replace(/<plus:[a-z-]+\s[^>]*ref="([^"]+)"[^>]*?(?:\/>|>\s*<\/plus:[a-z-]+>)/g,(e,n)=>N6(n,t,a))}function P6(e,t){return N6(t,e,new Set)}var F6=new Set([`part`,`chapter`]),I6=new Set([`book`,`article`,`slideshow`]);function L6(e,t,n){let r=I6.has(e)?t:F6.has(e)?`<book>\n${t}\n</book>`:`<article>\n${t}\n</article>`;return`<pretext>\n${n.trim()?`${n.trim()}\n`:``}${r}\n</pretext>`}var R6=({onOpenAssetPicker:e})=>{let n=a3(e=>e.divisions),r=a3(e=>e.rootDivisionId),i=a3(e=>e.activeDivisionId),a=a3(e=>e.selectSection),o=a3(e=>e.removeSection),s=a3(e=>e.divisionContentChange),c=a3(e=>e.insertAtCursor),l=a3(e=>e.startSectionEdit),u=a3(e=>e.setEditDraft),d=a3(e=>e.commitSectionEdit),f=a3(e=>e.cancelSectionEdit),p=a3(e=>e.editingId),m=a3(e=>e.editDraft),h=n?n.find(e=>e.xmlId===r)??n.find(e=>e.type===`book`||e.type===`article`||e.type===`slideshow`)??n[0]??null:null,g=h&&n?j6(n,h.xmlId):[],v=h&&n?M6(n,h.xmlId):[],[y,b]=(0,t.useState)(new Set),x=e=>!y.has(e),S=e=>{b(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};(0,t.useEffect)(()=>{if(!i||!h)return;let e=new Map(g.map(e=>[e.division.xmlId,e])),t=new Set;t.add(h.xmlId);let n=i;for(;n;){let r=e.get(n);if(!r?.parentXmlId)break;t.add(r.parentXmlId),n=r.parentXmlId}b(e=>{if([...t].every(t=>!e.has(t)))return e;let n=new Set(e);return t.forEach(e=>n.delete(e)),n})},[i]);let C=new Set(g.map(e=>e.parentXmlId).filter(Boolean)),w=[];if(h){let e=new Set;x(h.xmlId)&&e.add(h.xmlId);for(let t of g)t.parentXmlId&&e.has(t.parentXmlId)&&(w.push(t),x(t.division.xmlId)&&e.add(t.division.xmlId))}let T=(e,t)=>{if(!n)return;let r=n.find(e=>e.xmlId===t);r&&s(r.xmlId,O6(T6(r.content,e)))},E=(e,t)=>{if(window.confirm(`Delete "${e.title||`Untitled`}"? This permanently removes the division.`)){if(t&&n){let r=n.find(e=>e.xmlId===t);r&&s(r.xmlId,O6(T6(r.content,e.xmlId)))}o(e.xmlId)}},D=e=>{c(`<plus:${e.type} ref="${e.xmlId}"/>`)},O=e=>{h&&s(h.xmlId,O6(w6(h.content,e.xmlId,e.type,null)))};return(0,_.jsxs)(_.Fragment,{children:[(0,_.jsxs)(`ul`,{className:`pretext-plus-editor__toc-list`,role:`list`,children:[h&&(0,_.jsx)(F3,{division:h,depth:0,isActive:i===h.xmlId,hasChildren:C.has(h.xmlId),isExpanded:x(h.xmlId),onToggleExpand:()=>S(h.xmlId),editDraft:p===h.xmlId?m:null,onSelect:()=>a(h.xmlId),onDraftChange:u,onEditCommit:d,onEditCancel:f,menuItems:[{label:`Edit properties`,onClick:()=>l(h)}],isLatex:h.sourceFormat===`latex`}),w.length===0&&h&&x(h.xmlId)&&(0,_.jsx)(`li`,{className:`pretext-plus-editor__toc-no-sections`,children:(0,_.jsx)(`span`,{children:`No placed divisions`})}),w.map(e=>(0,_.jsx)(F3,{division:e.division,depth:e.depth+1,isActive:i===e.division.xmlId,hasChildren:C.has(e.division.xmlId),isExpanded:x(e.division.xmlId),onToggleExpand:()=>S(e.division.xmlId),editDraft:p===e.division.xmlId?m:null,onSelect:()=>a(e.division.xmlId),onDraftChange:u,onEditCommit:d,onEditCancel:f,menuItems:[{label:`Edit properties`,onClick:()=>l(e.division)},{label:`Remove from document`,onClick:()=>T(e.division.xmlId,e.parentXmlId)},{label:`Delete from project`,onClick:()=>E(e.division,e.parentXmlId),danger:!0}],isLatex:e.division.sourceFormat===`latex`},e.division.xmlId))]}),v.length>0&&(0,_.jsxs)(`div`,{className:`pretext-plus-editor__toc-orphans`,children:[(0,_.jsx)(`div`,{className:`pretext-plus-editor__toc-orphans-heading`,children:`Unplaced divisions`}),(0,_.jsx)(`ul`,{className:`pretext-plus-editor__toc-list`,children:v.map(e=>{let r=n?j6(n,e.xmlId):[],o=new Set(r.map(e=>e.parentXmlId).filter(Boolean));return(0,_.jsxs)(t.Fragment,{children:[(0,_.jsx)(F3,{division:e,depth:0,isActive:i===e.xmlId,hasChildren:o.has(e.xmlId),isExpanded:x(e.xmlId),onToggleExpand:()=>S(e.xmlId),editDraft:p===e.xmlId?m:null,onSelect:()=>a(e.xmlId),onDraftChange:u,onEditCommit:d,onEditCancel:f,menuItems:[{label:`Edit properties`,onClick:()=>l(e)},{label:`Place in document`,onClick:()=>O(e)},{label:`Insert at cursor`,onClick:()=>D(e)},{label:`Delete from project`,onClick:()=>E(e,null),danger:!0}],isLatex:e.sourceFormat===`latex`}),x(e.xmlId)&&r.map(e=>(0,_.jsx)(F3,{division:e.division,depth:e.depth+1,isActive:i===e.division.xmlId,hasChildren:o.has(e.division.xmlId),isExpanded:x(e.division.xmlId),onToggleExpand:()=>S(e.division.xmlId),editDraft:p===e.division.xmlId?m:null,onSelect:()=>a(e.division.xmlId),onDraftChange:u,onEditCommit:d,onEditCancel:f,menuItems:[{label:`Edit properties`,onClick:()=>l(e.division)},{label:`Insert at cursor`,onClick:()=>D(e.division)},{label:`Delete from project`,onClick:()=>E(e.division,e.parentXmlId),danger:!0}],isLatex:e.division.sourceFormat===`latex`},e.division.xmlId))]},e.xmlId)})})]}),e&&(0,_.jsx)(`button`,{type:`button`,className:`pretext-plus-editor__toc-assets-btn`,onClick:e,children:`Manage Assets`})]})},z6=({isCollapsed:e,onToggleCollapse:t,onOpenAssetPicker:n})=>e?(0,_.jsx)(`div`,{className:`pretext-plus-editor__toc pretext-plus-editor__toc--collapsed`,children:(0,_.jsx)(`button`,{type:`button`,className:`pretext-plus-editor__toc-toggle`,onClick:t,"aria-label":`Expand table of contents`,title:`Expand table of contents`,children:`☰`})}):(0,_.jsxs)(`div`,{className:`pretext-plus-editor__toc`,children:[(0,_.jsxs)(`div`,{className:`pretext-plus-editor__toc-header`,children:[(0,_.jsx)(`span`,{className:`pretext-plus-editor__toc-heading`,children:`Contents`}),(0,_.jsx)(`div`,{className:`pretext-plus-editor__toc-header-actions`,children:(0,_.jsx)(`button`,{type:`button`,className:`pretext-plus-editor__toc-toggle`,onClick:t,"aria-label":`Collapse table of contents`,title:`Collapse table of contents`,children:`✕`})})]}),(0,_.jsx)(R6,{onOpenAssetPicker:n})]}),B6=class extends t.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){this.props.onError?.(e,t),console.error(`ErrorBoundary caught an error:`,e,t)}componentDidUpdate(e){if(this.state.error===null)return;let{resetKeys:t}=this.props,n=e.resetKeys;t&&n&&(t.length!==n.length||t.some((e,t)=>!Object.is(e,n[t])))&&this.reset()}reset=()=>{this.setState({error:null})};render(){let{error:e}=this.state;return e===null?this.props.children:this.props.fallback?this.props.fallback(e,this.reset):(0,_.jsxs)(`div`,{className:`pretext-plus-editor__error-boundary`,role:`alert`,children:[(0,_.jsx)(`strong`,{children:`Something went wrong rendering this view.`}),(0,_.jsx)(`p`,{className:`pretext-plus-editor__error-boundary-detail`,children:e.message}),(0,_.jsx)(`button`,{type:`button`,className:`pretext-plus-editor__error-boundary-retry`,onClick:this.reset,children:`Try again`})]})}};function V6(e){let t=()=>{},n={cbs:{selectDivision:t,addDivision:t,removeDivision:t,updateDivision:t,divisionContentChange:t,handleDivisionContentChange:t,assetInsert:t,updateTitle:t}};return{store:t3()((t,r)=>({source:e.source,sourceFormat:e.sourceFormat,projectAssets:void 0,libraryAssets:void 0,title:e.title,docinfo:e.docinfo,commonDocinfo:e.commonDocinfo,useCommonDocinfo:e.useCommonDocinfo,projectType:e.projectType,projectUrl:void 0,divisions:e.divisions,rootDivisionId:void 0,activeDivisionId:e.activeDivisionId,canConvertToPretext:!0,activeEditorSource:e.source,hasFeedback:!1,isTocCollapsed:!1,showFullPreview:!0,isNarrowScreen:typeof window<`u`?window.innerWidth<800:!1,activeTab:`editor`,isLatexDialogOpen:!1,isConvertDialogOpen:!1,isDocinfoEditorOpen:!1,isAssetPickerOpen:!1,internalTitle:e.title,internalDocinfo:e.docinfo,internalCommonDocinfo:e.commonDocinfo,internalUseCommonDocinfo:e.useCommonDocinfo,editingId:null,editDraft:null,syncState:e=>t(e),setShowFullPreview:e=>t({showFullPreview:e}),setActiveTab:e=>t({activeTab:e}),setIsNarrowScreen:e=>t({isNarrowScreen:e}),setIsTocCollapsed:e=>t(t=>({isTocCollapsed:typeof e==`function`?e(t.isTocCollapsed):e})),openModal:e=>t({[e]:!0}),closeModal:e=>t({[e]:!1}),setInternalTitle:e=>t({internalTitle:e}),selectSection:e=>n.cbs.selectDivision(e),addSection:e=>n.cbs.addDivision(e),removeSection:e=>n.cbs.removeDivision(e),updateSection:(e,t)=>n.cbs.updateDivision(e,t),divisionContentChange:(e,t)=>n.cbs.divisionContentChange?.(e,t),startSectionEdit:e=>{let{xmlId:n,label:r}=_6(e.content);t({editingId:e.xmlId,editDraft:{title:e.title,type:e.type,xmlId:n,label:r}})},setEditDraft:e=>t({editDraft:e}),commitSectionEdit:()=>{let{editingId:e,editDraft:i}=r();e&&i&&n.cbs.updateDivision(e,{title:i.title.trim()||void 0,type:i.type,xmlId:i.xmlId.trim()||null,label:i.label.trim()||null}),t({editingId:null,editDraft:null})},cancelSectionEdit:()=>t({editingId:null,editDraft:null}),insertAsset:e=>n.cbs.assetInsert(e),insertAtCursor:e=>n.cbs.insertContentAtCursor?.(e),updateTitle:e=>n.cbs.updateTitle(e),feedbackSubmit:e=>n.cbs.feedbackSubmit?.(e)})),bindCallbacks:e=>{n.cbs=e}}}function H6({store:e,children:t}){return(0,_.jsx)(i3.Provider,{value:e,children:t})}var U6=(e,t)=>e.find(e=>t?e.xmlId===t:e.type===`book`||e.type===`article`||e.type===`slideshow`)??e[0]??null,W6=e=>{let[n]=(0,t.useState)(()=>{let t=U6(e.divisions,e.rootDivisionId),n=e.activeDivisionId??t?.xmlId??null,r=e.divisions.find(e=>e.xmlId===n)??t;return V6({source:r?.content??``,sourceFormat:r?.sourceFormat??`pretext`,title:e.title??`Document Title`,docinfo:e.docinfo??``,commonDocinfo:e.commonDocinfo??``,useCommonDocinfo:e.useCommonDocinfo??!1,projectType:e.projectType,divisions:e.divisions,activeDivisionId:n})});return(0,_.jsx)(H6,{store:n.store,children:(0,_.jsx)(G6,{...e,bindCallbacks:n.bindCallbacks})})},G6=e=>{let{bindCallbacks:n}=e,r=a3(e=>e.showFullPreview),i=a3(e=>e.isNarrowScreen),a=a3(e=>e.setIsNarrowScreen),o=a3(e=>e.activeTab),s=a3(e=>e.setActiveTab),c=a3(e=>e.isTocCollapsed),l=a3(e=>e.setIsTocCollapsed),u=a3(e=>e.isLatexDialogOpen),d=a3(e=>e.isConvertDialogOpen),f=a3(e=>e.isDocinfoEditorOpen),p=a3(e=>e.isAssetPickerOpen),m=a3(e=>e.openModal),h=a3(e=>e.closeModal),g=a3(e=>e.internalTitle),v=a3(e=>e.setInternalTitle),y=a3(e=>e.internalDocinfo),b=a3(e=>e.internalCommonDocinfo),x=a3(e=>e.internalUseCommonDocinfo),S=a3(e=>e.syncState),C=e.title??g,w=(0,t.useRef)(null),T=(0,t.useRef)(null),E=U6(e.divisions,e.rootDivisionId),[D,O]=(0,t.useState)(()=>E?.xmlId??null),k=e.activeDivisionId===void 0?D:e.activeDivisionId,A=e.divisions.find(e=>e.xmlId===k)??e.divisions[0]??null,j=A?.sourceFormat??`pretext`,M=A?j===`latex`?l6(A.content,A.type):o6(A.content):``,ee=(t,n,r,i)=>{e.onContentChange({xmlId:t,sourceContent:n,sourceFormat:r,pretextSource:r===`pretext`?n:void 0,...i})},N=(0,t.useMemo)(()=>{if(!A||j===`pretext`)return;let e=Z4(M,j);return e.pretextError?void 0:e.pretextSource},[A,j,M]),te=t=>{if(!A)return;let n=t||``,r=j===`latex`?u6(n,A.type,A.title,A.content):O6(s6(n,A.type));if(r!==A.content&&(ee(A.xmlId,r,j),e.onDivisionAdd)){let t=new Set(e.divisions.map(e=>e.xmlId));for(let{xmlId:n,type:i}of S6(r))t.has(n)||(e.onDivisionAdd(C6(n,i,j)),t.add(n))}},P=t=>{O(t),e.onDivisionSelect?.(t)},ne=()=>{let t=r6();e.onDivisionAdd?.(t),O(t.xmlId)},re=e=>e.ref?`<plus:${e.kind} ref="${e.ref}"/>`:``,ie=t=>{let n=re(t);n&&T.current?.insertAtCursor(n),e.onAssetInsert?.(t)};(0,t.useEffect)(()=>{let e=()=>a(window.innerWidth<800);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[a]);let ae=j!==`pretext`;(0,t.useLayoutEffect)(()=>{n({selectDivision:P,addDivision:()=>ne(),removeDivision:t=>e.onDivisionRemove?.(t),updateDivision:(t,n)=>e.onDivisionUpdate?.(t,n),divisionContentChange:(t,n)=>{ee(t,n,e.divisions.find(e=>e.xmlId===t)?.sourceFormat??`pretext`)},handleDivisionContentChange:te,assetInsert:ie,insertContentAtCursor:e=>T.current?.insertAtCursor(e),updateTitle:t=>{v(t),e.onTitleChange?.(t)},feedbackSubmit:e.onFeedbackSubmit})}),(0,t.useEffect)(()=>{S({source:M,sourceFormat:j,projectAssets:e.projectAssets,libraryAssets:e.libraryAssets,title:C,docinfo:e.docinfo??y,commonDocinfo:e.commonDocinfo??b,useCommonDocinfo:e.useCommonDocinfo??x,projectType:e.projectType,projectUrl:e.projectUrl,divisions:e.divisions,rootDivisionId:E?.xmlId,activeDivisionId:k,canConvertToPretext:N!==void 0,activeEditorSource:M,hasFeedback:e.onFeedbackSubmit!==void 0})});let oe=e.useCommonDocinfo??x?e.commonDocinfo??b:e.docinfo??y,F=A?j===`pretext`?A.content:N===void 0?void 0:`<${A.type} xml:id="${A.xmlId}">\n<title>${A.title}</title>\n\n${N}\n</${A.type}>`:void 0,se=A&&F!==void 0?L6(A.type,F,oe):void 0,ce=()=>w.current?.rebuild(),le=()=>{e.onSave?.(),w.current?.rebuild()},ue=t=>{let n=t.ctrlKey||t.metaKey;n&&t.key===`Enter`&&e.onPreviewRebuild?(t.preventDefault(),ce()):n&&t.key===`s`&&(t.preventDefault(),le())},I=()=>{if(!A||!N)return;let t=r6(),n=O6(s6(N,A.type)),r={id:t.xmlId,xmlId:t.xmlId,title:A.title,type:A.type,sourceFormat:`pretext`,content:n};e.onDivisionAdd?.(r)},de=(0,_.jsx)(Ps,{ref:T,content:M,sourceFormat:j,onChange:te,onRebuild:e.onPreviewRebuild?ce:void 0,onSave:le,onOpenLatexImport:()=>m(`isLatexDialogOpen`),onOpenDocinfoEditor:()=>m(`isDocinfoEditorOpen`),onOpenConvertToPretext:ae&&N!==void 0?()=>m(`isConvertDialogOpen`):void 0,canConvertToPretext:N!==void 0,onOpenAssets:e.projectAssets!==void 0&&j===`pretext`?()=>m(`isAssetPickerOpen`):void 0}),fe;fe=r&&e.onPreviewRebuild?(0,_.jsx)(oR,{ref:w,content:se||``,title:C,onRebuild:e.onPreviewRebuild}):(0,_.jsx)(rR,{content:M,canEdit:j===`pretext`,editDisabledReason:j===`markdown`?`Visual editing is not available for Markdown documents.`:j===`latex`?`Visual editing is not available for LaTeX documents.`:``,onChange:e=>te(e)});let pe=(0,_.jsx)(z6,{isCollapsed:c,onToggleCollapse:()=>l(e=>!e),onOpenAssetPicker:e.projectAssets===void 0?void 0:()=>m(`isAssetPickerOpen`)}),me=`pretext-plus-tab-editor`,he=`pretext-plus-tab-preview`,L=`pretext-plus-tabpanel`,ge=i&&pe?(0,_.jsx)(`div`,{className:`pretext-plus-editor__toc-drawer`,children:c?(0,_.jsx)(`button`,{type:`button`,className:`pretext-plus-editor__toc-drawer-toggle`,onClick:()=>l(!1),children:`☰ Contents`}):(0,_.jsx)(`div`,{className:`pretext-plus-editor__toc-drawer-open`,children:pe})}):null,_e;return _e=i?(0,_.jsxs)(`div`,{className:`pretext-plus-editor__tabs`,children:[ge,(0,_.jsxs)(`div`,{className:`pretext-plus-editor__tab-list`,role:`tablist`,children:[(0,_.jsx)(`button`,{type:`button`,id:me,role:`tab`,"aria-controls":L,"aria-selected":o===`editor`,tabIndex:o===`editor`?0:-1,className:`pretext-plus-editor__tab-button ${o===`editor`?`is-active`:``}`,onClick:()=>s(`editor`),children:`Editor`}),(0,_.jsx)(`button`,{type:`button`,id:he,role:`tab`,"aria-controls":L,"aria-selected":o===`preview`,tabIndex:o===`preview`?0:-1,className:`pretext-plus-editor__tab-button ${o===`preview`?`is-active`:``}`,onClick:()=>s(`preview`),children:`Preview`})]}),(0,_.jsx)(`div`,{id:L,className:`pretext-plus-editor__tab-panel`,role:`tabpanel`,"aria-labelledby":o===`editor`?me:he,children:(0,_.jsx)(`div`,{style:{height:`100%`},children:o===`editor`?de:fe})})]}):(0,_.jsxs)(`div`,{className:`pretext-plus-editor__sectioned-layout`,children:[pe,(0,_.jsxs)(gt,{orientation:`horizontal`,className:`pretext-plus-editor__splitter`,children:[(0,_.jsx)(yt,{className:`pretext-plus-editor__editor-panel`,children:de}),(0,_.jsx)(St,{className:`pretext-plus-editor__resize-handle`,children:(0,_.jsx)(`div`,{className:`pretext-plus-editor__resize-dots`})}),(0,_.jsx)(yt,{className:`pretext-plus-editor__preview-panel`,children:fe})]})]}),(0,_.jsxs)(`div`,{className:`pretext-plus-editor`,onKeyDown:ue,children:[(0,_.jsx)(k3,{onSaveButton:e.onSaveButton,saveButtonLabel:e.saveButtonLabel,onCancelButton:e.onCancelButton,cancelButtonLabel:e.cancelButtonLabel,showPreviewModeToggle:e.onPreviewRebuild!==void 0}),(0,_.jsxs)(`div`,{className:`pretext-plus-editor__editor-displays`,children:[(0,_.jsx)(B6,{resetKeys:[M,k],children:_e}),u?(0,_.jsx)(s3,{onClose:()=>h(`isLatexDialogOpen`)}):null,d&&A&&N?(0,_.jsx)(d3,{sourceContent:M,sourceFormat:j,pretextSource:N,onConfirm:I,onClose:()=>h(`isConvertDialogOpen`)}):null,f?(0,_.jsx)(C3,{docinfo:e.docinfo??y,showCommonDocinfoControls:!0,commonDocinfo:e.commonDocinfo??b,initialUseCommonDocinfo:e.useCommonDocinfo??x,onClose:t=>{if(h(`isDocinfoEditorOpen`),t!==void 0){S({internalDocinfo:t.docinfo,internalCommonDocinfo:t.commonDocinfo,internalUseCommonDocinfo:t.useCommonDocinfo}),e.onCommonDocinfoChange?.(t.commonDocinfo),e.onUseCommonDocinfoChange?.(t.useCommonDocinfo);let n=E??A;ee(n?.xmlId??``,n?.content??``,n?.sourceFormat??`pretext`,{docinfo:t.docinfo,commonDocinfo:t.commonDocinfo,useCommonDocinfo:t.useCommonDocinfo})}}}):null,p&&e.projectAssets!==void 0?(0,_.jsx)(O3,{open:p,onClose:()=>h(`isAssetPickerOpen`),onLoadAssets:e.onLoadAssets,onLoadLibraryAssets:e.onLoadLibraryAssets,onAddFromLibrary:e.onAssetAddFromLibrary,onUpload:e.onAssetUpload,onAddUrl:e.onAssetAddUrl,onCreateDoenet:e.onCreateDoenet,onRemoveAsset:e.onAssetRemove,onInsert:ie}):null]})]})};e.CodeEditor=Ps,e.DocinfoEditor=C3,e.Editors=W6,e.FeedbackLink=$4,e.FullPreview=oR,e.VisualEditor=rR,e.assembleProjectSource=P6,e.buildDivisionTree=j6,e.convertLatexToPretext=J4,e.createConclusion=a6,e.createIntroduction=i6,e.createLatexConclusion=h6,e.createLatexIntroduction=m6,e.createNewLatexSection=p6,e.createNewSection=r6,e.derivePretextContent=Z4,e.detectSourceFormat=q4,e.ensureLatexSectionWrapper=d6,e.ensureSectionWrapper=c6,e.getOrphanRoots=M6,e.getOrphanedDivisions=A6,e.getSectionAttributes=_6,e.insertDivisionRef=w6,e.mergeTwoSections=g6,e.moveDivisionRef=E6,e.normalizeSelfClosingRefs=O6,e.parseDivisionRefs=x6,e.postToIframe=aR,e.removeDivisionRef=T6,e.reorderDivisionRefs=D6,e.rewrapLatexSection=u6,e.rewrapSection=s6,e.stripLatexSectionWrapper=l6,e.stripSectionWrapper=o6,e.updateDivisionTitle=n6,e.updateLatexSectionTitle=f6,e.updateSectionMetadata=v6,e.wrapDivisionForPreview=L6});
|
|
1089
1089
|
//# sourceMappingURL=index.js.map
|