markdown-flow-ui 0.1.109-beta.0 → 0.1.109-beta.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/_virtual/index.cjs10.js +1 -1
- package/dist/_virtual/index.cjs11.js +1 -1
- package/dist/_virtual/index.cjs7.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.cjs9.js +1 -1
- package/dist/_virtual/index.es10.js +3 -2
- package/dist/_virtual/index.es10.js.map +1 -1
- package/dist/_virtual/index.es11.js +2 -3
- package/dist/_virtual/index.es11.js.map +1 -1
- package/dist/_virtual/index.es7.js +2 -3
- package/dist/_virtual/index.es7.js.map +1 -1
- package/dist/_virtual/index.es8.js +2 -2
- package/dist/_virtual/index.es9.js +3 -2
- package/dist/_virtual/index.es9.js.map +1 -1
- package/dist/components/Slide/useSlide.cjs.js +1 -1
- package/dist/components/Slide/useSlide.cjs.js.map +1 -1
- package/dist/components/Slide/useSlide.es.js +113 -108
- package/dist/components/Slide/useSlide.es.js.map +1 -1
- package/dist/components/Slide/utils/streamingNavigation.cjs.js +1 -1
- package/dist/components/Slide/utils/streamingNavigation.cjs.js.map +1 -1
- package/dist/components/Slide/utils/streamingNavigation.d.ts +2 -1
- package/dist/components/Slide/utils/streamingNavigation.es.js +7 -6
- package/dist/components/Slide/utils/streamingNavigation.es.js.map +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/@braintree_sanitize-url@7.1.1/node_modules/@braintree/sanitize-url/dist/index.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/@braintree_sanitize-url@7.1.1/node_modules/@braintree/sanitize-url/dist/index.es.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.es.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-YG6GDRKO.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-YG6GDRKO.es.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-S3R3BYOJ.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-S3R3BYOJ.es.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-TZMSLE5B.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-TZMSLE5B.es.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-LVOFAZNH.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-LVOFAZNH.es.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-WL72ISMW.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-WL72ISMW.es.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/ref.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/ref.es.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/style-to-object@1.0.11/node_modules/style-to-object/cjs/index.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/style-to-object@1.0.11/node_modules/style-to-object/cjs/index.es.js +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../markdown-flow-ui/node_modules/.pnpm/react-is@18.3.1/node_modules/react-is/index.cjs.js");var r=e.__require();exports.reactIsExports=r;
|
|
2
2
|
//# sourceMappingURL=index.cjs10.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e={};exports.__exports=e;
|
|
2
2
|
//# sourceMappingURL=index.cjs11.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e={};exports.__exports=e;
|
|
2
2
|
//# sourceMappingURL=index.cjs7.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e={};exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e={exports:{}};exports.__module=e;
|
|
2
2
|
//# sourceMappingURL=index.cjs8.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../markdown-flow-ui/node_modules/.pnpm/@braintree_sanitize-url@7.1.1/node_modules/@braintree/sanitize-url/dist/index.cjs.js");var r=e.__require();exports.distExports=r;
|
|
2
2
|
//# sourceMappingURL=index.cjs9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es10.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.es10.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es11.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.es11.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
var i = r();
|
|
1
|
+
var r = {};
|
|
3
2
|
export {
|
|
4
|
-
|
|
3
|
+
r as __exports
|
|
5
4
|
};
|
|
6
5
|
//# sourceMappingURL=index.es7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es7.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.es7.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import { __require as r } from "../markdown-flow-ui/node_modules/.pnpm/@braintree_sanitize-url@7.1.1/node_modules/@braintree/sanitize-url/dist/index.es.js";
|
|
2
|
+
var i = r();
|
|
2
3
|
export {
|
|
3
|
-
|
|
4
|
+
i as d
|
|
4
5
|
};
|
|
5
6
|
//# sourceMappingURL=index.es9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es9.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.es9.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react"),B=require("./diff-utils.cjs.js"),G=require("./utils/streamingNavigation.cjs.js"),K=e=>e.filter(n=>n.is_marker),U=e=>e.reduce((n,t,r)=>(t.is_marker&&n.push(r),n),[]),p=e=>!!(e?.is_speakable&&(e.audio_url||(e.audio_segments?.length??0)>0)),$=(e=[])=>e.length>0&&!e.some(n=>n.is_final),j=(e,n)=>{const t=e;return t.element_bid||t.blockBid||t.generated_block_bid||`${e.type}:${String(e.sequence_number??n)}`},z=e=>e.reduce((n,t,r)=>{if(p(t)){const s=t.audio_segments??[],c=s.length>0;n.push({audioKey:j(t,r),sequenceNumber:t.sequence_number,audioUrl:c?"":t.audio_url,audioSegments:s,isAudioStreaming:$(s),element:t})}return n},[]),D=e=>{const n=new Map;let t=0;return e.forEach((r,s)=>{p(r)&&(n.set(s,t),t+=1)}),n},O=(e,n,t)=>n.reduce((r,s,c)=>{const f=n[c+1]??e.length,a=[];for(let l=s;l<f;l+=1){const m=e[l];if(!p(m))continue;const d=t.get(l);d!=null&&a.push(d)}return r.set(c,a),r},new Map),x=e=>{const n=e.findIndex(t=>t.is_renderable===!0);return n>=0?n:e.findIndex(t=>t.is_renderable!==!1)},_=e=>({...e,is_renderable:!0}),k=(e,n)=>n<0?[]:e.slice(0,n+1).reduce((t,r)=>{if(r.type==="interaction")return t;const s=_(r);return s.type==="diff"?B.applyDiffElement(t,s)??[...t,s]:r.is_new?[s]:t.length===0?[s]:[...t,s]},[]),T=e=>e.map((n,t)=>k(e,t)),E=(e,n,t)=>{if(t<0)return!1;const r=n[t];if(typeof r!="number")return!1;const s=n[t+1]??e.length;for(let c=r;c<s;c+=1)if(e[c]?.is_speakable)return!0;return!1},F=(e,n)=>e.length===n.length&&e.every((t,r)=>t===n[r]),J=(e,n)=>e.length===n.length&&e.every((t,r)=>t===n[r]),Q=(e=[])=>{const n=u.useRef(e),t=u.useRef([]),r=u.useMemo(()=>F(n.current,e)?n.current:(n.current=e,e),[e]),s=u.useMemo(()=>K(r),[r]),c=u.useRef(r),f=u.useRef(s),a=u.useMemo(()=>U(r),[r]),l=u.useRef(a),m=u.useMemo(()=>z(r),[r]),d=u.useMemo(()=>D(r),[r]),b=u.useMemo(()=>O(r,a,d),[d,a,r]),[i,g]=u.useState(()=>x(s));u.useEffect(()=>{const o=c.current,w=f.current,H=l.current;g(M=>{const L=E(o,H,M),h=G.resolveNextSlideIndexAfterMarkerAppend({previousIndex:M,previousStepHasSpeakableElement:L,previousSlideElementList:w,nextSlideElementList:s});return h>=0?h:x(s)}),c.current=r,f.current=s,l.current=a},[a,s,r]);const I=u.useCallback(()=>{g(o=>o<=0?Math.max(o,0):Math.max(o-1,0))},[]),v=u.useCallback(()=>{g(o=>o<0?o:Math.min(o+1,s.length-1))},[s.length]),A=i>0,y=i>=0&&i<s.length-1,S=u.useMemo(()=>{if(i<0)return;const o=s[i];if(o)return _(o)},[i,s]),R=u.useMemo(()=>k(s,i),[i,s]),q=u.useMemo(()=>T(s),[s]),N=u.useMemo(()=>{const o=b.get(i)??[];return J(t.current,o)?t.current:(t.current=o,o)},[i,b]),C=u.useMemo(()=>E(r,a,i),[i,a,r]),P=u.useMemo(()=>S?.type==="interaction"?S:void 0,[S]);return{currentElementList:R,stepElementLists:q,slideElementList:s,currentIndex:i,audioList:m,currentAudioSequenceIndexes:N,currentStepHasSpeakableElement:C,currentInteractionElement:P,canGoPrev:A,canGoNext:y,handlePrev:I,handleNext:v}};exports.default=Q;
|
|
2
2
|
//# sourceMappingURL=useSlide.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSlide.cjs.js","sources":["../../../src/components/Slide/useSlide.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { applyDiffElement } from \"./diff-utils\";\nimport type { Element, ElementAudioSegment } from \"./types\";\nimport { resolveNextSlideIndexAfterMarkerAppend } from \"./utils/streamingNavigation\";\n\nexport interface SlideAudioItem {\n audioKey?: string;\n sequenceNumber?: number;\n audioUrl?: string;\n audioSegments?: ElementAudioSegment[];\n isAudioStreaming?: boolean;\n element?: Element;\n}\n\nexport interface UseSlideResult {\n currentElementList: Element[];\n stepElementLists: Element[][];\n slideElementList: Element[];\n currentIndex: number;\n audioList: SlideAudioItem[];\n currentAudioSequenceIndexes: number[];\n currentStepHasSpeakableElement: boolean;\n currentInteractionElement?: Element;\n canGoPrev: boolean;\n canGoNext: boolean;\n handlePrev: () => void;\n handleNext: () => void;\n}\n\nconst getMarkerElementList = (elementList: Element[]) =>\n elementList.filter((element) => element.is_marker);\n\nconst getMarkerElementIndexes = (elementList: Element[]) =>\n elementList.reduce<number[]>((indexes, element, index) => {\n if (element.is_marker) {\n indexes.push(index);\n }\n\n return indexes;\n }, []);\n\nconst hasPlayableAudio = (element?: Element) =>\n Boolean(\n element?.is_speakable &&\n (element.audio_url || (element.audio_segments?.length ?? 0) > 0)\n );\n\nconst isStreamingAudio = (segments: ElementAudioSegment[] = []) =>\n segments.length > 0 && !segments.some((segment) => segment.is_final);\n\nconst getElementAudioKey = (element: Element, index: number) => {\n const candidateElement = element as Element & {\n element_bid?: string;\n blockBid?: string;\n generated_block_bid?: string;\n };\n\n return (\n candidateElement.element_bid ||\n candidateElement.blockBid ||\n candidateElement.generated_block_bid ||\n `${element.type}:${String(element.sequence_number ?? index)}`\n );\n};\n\nconst getAudioList = (elementList: Element[]) =>\n elementList.reduce<SlideAudioItem[]>((list, element, elementIndex) => {\n if (hasPlayableAudio(element)) {\n const normalizedAudioSegments = element.audio_segments ?? [];\n const hasAudioSegments = normalizedAudioSegments.length > 0;\n\n list.push({\n audioKey: getElementAudioKey(element, elementIndex),\n sequenceNumber: element.sequence_number,\n // Keep one canonical source to avoid duplicated playback resets.\n // When streaming segments exist, keep playback on the segment source.\n audioUrl: hasAudioSegments ? \"\" : element.audio_url,\n audioSegments: normalizedAudioSegments,\n isAudioStreaming: isStreamingAudio(normalizedAudioSegments),\n element,\n });\n }\n\n return list;\n }, []);\n\nconst getAudioIndexMap = (elementList: Element[]) => {\n const audioIndexMap = new Map<number, number>();\n let audioIndex = 0;\n\n elementList.forEach((element, index) => {\n if (hasPlayableAudio(element)) {\n audioIndexMap.set(index, audioIndex);\n audioIndex += 1;\n }\n });\n\n return audioIndexMap;\n};\n\nconst getSlideAudioSequenceMap = (\n elementList: Element[],\n markerElementIndexes: number[],\n audioIndexMap: Map<number, number>\n) =>\n markerElementIndexes.reduce<Map<number, number[]>>(\n (sequenceMap, startIndex, slideIndex) => {\n const nextMarkerIndex =\n markerElementIndexes[slideIndex + 1] ?? elementList.length;\n const sequenceIndexes: number[] = [];\n\n for (let index = startIndex; index < nextMarkerIndex; index += 1) {\n const element = elementList[index];\n\n if (!hasPlayableAudio(element)) {\n continue;\n }\n\n const audioIndex = audioIndexMap.get(index);\n\n if (audioIndex == null) {\n continue;\n }\n\n sequenceIndexes.push(audioIndex);\n }\n\n sequenceMap.set(slideIndex, sequenceIndexes);\n return sequenceMap;\n },\n new Map<number, number[]>()\n );\n\nconst getInitialSlideIndex = (slideElementList: Element[]) => {\n const visibleIndex = slideElementList.findIndex(\n (element) => element.is_renderable === true\n );\n\n if (visibleIndex >= 0) {\n return visibleIndex;\n }\n\n return slideElementList.findIndex(\n (element) => element.is_renderable !== false\n );\n};\n\nconst getVisibleElement = (element: Element): Element => ({\n ...element,\n is_renderable: true,\n});\n\nconst getCurrentElementList = (\n slideElementList: Element[],\n currentIndex: number\n) => {\n if (currentIndex < 0) {\n return [];\n }\n\n return slideElementList\n .slice(0, currentIndex + 1)\n .reduce<Element[]>((currentList, element) => {\n if (element.type === \"interaction\") {\n return currentList;\n }\n\n const visibleElement = getVisibleElement(element);\n\n if (visibleElement.type === \"diff\") {\n const nextList = applyDiffElement(currentList, visibleElement);\n\n return nextList ?? [...currentList, visibleElement];\n }\n\n if (element.is_new) {\n return [visibleElement];\n }\n\n if (currentList.length === 0) {\n return [visibleElement];\n }\n\n return [...currentList, visibleElement];\n }, []);\n};\n\nconst getStepElementLists = (slideElementList: Element[]) =>\n slideElementList.map((_, index) =>\n getCurrentElementList(slideElementList, index)\n );\n\nconst getStepHasSpeakableElement = (\n elementList: Element[],\n markerElementIndexes: number[],\n currentIndex: number\n) => {\n if (currentIndex < 0) {\n return false;\n }\n\n const startIndex = markerElementIndexes[currentIndex];\n\n if (typeof startIndex !== \"number\") {\n return false;\n }\n\n const nextMarkerIndex =\n markerElementIndexes[currentIndex + 1] ?? elementList.length;\n\n for (let index = startIndex; index < nextMarkerIndex; index += 1) {\n if (elementList[index]?.is_speakable) {\n return true;\n }\n }\n\n return false;\n};\n\nconst hasSameElementReferences = (\n prevElementList: Element[],\n nextElementList: Element[]\n) =>\n prevElementList.length === nextElementList.length &&\n prevElementList.every((element, index) => element === nextElementList[index]);\n\nconst hasSameNumberValues = (prevValues: number[], nextValues: number[]) =>\n prevValues.length === nextValues.length &&\n prevValues.every((value, index) => value === nextValues[index]);\n\nconst useSlide = (elementList: Element[] = []): UseSlideResult => {\n const stableElementListRef = useRef(elementList);\n const stableCurrentAudioSequenceIndexesRef = useRef<number[]>([]);\n const stableElementList = useMemo(() => {\n if (hasSameElementReferences(stableElementListRef.current, elementList)) {\n return stableElementListRef.current;\n }\n\n // Reuse the previous wrapper array when the element references are unchanged.\n stableElementListRef.current = elementList;\n return elementList;\n }, [elementList]);\n const slideElementList = useMemo(\n () => getMarkerElementList(stableElementList),\n [stableElementList]\n );\n const previousSlideElementListRef = useRef(slideElementList);\n const markerElementIndexes = useMemo(\n () => getMarkerElementIndexes(stableElementList),\n [stableElementList]\n );\n const audioList = useMemo(\n () => getAudioList(stableElementList),\n [stableElementList]\n );\n const audioIndexMap = useMemo(\n () => getAudioIndexMap(stableElementList),\n [stableElementList]\n );\n const slideAudioSequenceMap = useMemo(\n () =>\n getSlideAudioSequenceMap(\n stableElementList,\n markerElementIndexes,\n audioIndexMap\n ),\n [audioIndexMap, markerElementIndexes, stableElementList]\n );\n const [currentIndex, setCurrentIndex] = useState(() =>\n getInitialSlideIndex(slideElementList)\n );\n\n useEffect(() => {\n const previousSlideElementList = previousSlideElementListRef.current;\n\n setCurrentIndex((prevIndex) => {\n const resolvedNextIndex = resolveNextSlideIndexAfterMarkerAppend({\n previousIndex: prevIndex,\n previousSlideElementList,\n nextSlideElementList: slideElementList,\n });\n\n if (resolvedNextIndex >= 0) {\n return resolvedNextIndex;\n }\n\n return getInitialSlideIndex(slideElementList);\n });\n\n previousSlideElementListRef.current = slideElementList;\n }, [slideElementList]);\n\n const handlePrev = useCallback(() => {\n setCurrentIndex((prevIndex) => {\n if (prevIndex <= 0) {\n return Math.max(prevIndex, 0);\n }\n\n return Math.max(prevIndex - 1, 0);\n });\n }, []);\n\n const handleNext = useCallback(() => {\n setCurrentIndex((prevIndex) => {\n if (prevIndex < 0) {\n return prevIndex;\n }\n\n return Math.min(prevIndex + 1, slideElementList.length - 1);\n });\n }, [slideElementList.length]);\n\n const canGoPrev = currentIndex > 0;\n const canGoNext =\n currentIndex >= 0 && currentIndex < slideElementList.length - 1;\n const currentStepElement = useMemo(() => {\n if (currentIndex < 0) {\n return undefined;\n }\n\n const element = slideElementList[currentIndex];\n\n if (!element) {\n return undefined;\n }\n\n return getVisibleElement(element);\n }, [currentIndex, slideElementList]);\n const currentElementList = useMemo(\n () => getCurrentElementList(slideElementList, currentIndex),\n [currentIndex, slideElementList]\n );\n const stepElementLists = useMemo(\n () => getStepElementLists(slideElementList),\n [slideElementList]\n );\n const currentAudioSequenceIndexes = useMemo(() => {\n const nextAudioSequenceIndexes =\n slideAudioSequenceMap.get(currentIndex) ?? [];\n\n if (\n hasSameNumberValues(\n stableCurrentAudioSequenceIndexesRef.current,\n nextAudioSequenceIndexes\n )\n ) {\n return stableCurrentAudioSequenceIndexesRef.current;\n }\n\n stableCurrentAudioSequenceIndexesRef.current = nextAudioSequenceIndexes;\n\n return nextAudioSequenceIndexes;\n }, [currentIndex, slideAudioSequenceMap]);\n const currentStepHasSpeakableElement = useMemo(\n () =>\n getStepHasSpeakableElement(\n stableElementList,\n markerElementIndexes,\n currentIndex\n ),\n [currentIndex, markerElementIndexes, stableElementList]\n );\n const currentInteractionElement = useMemo(\n () =>\n currentStepElement?.type === \"interaction\"\n ? currentStepElement\n : undefined,\n [currentStepElement]\n );\n\n return {\n currentElementList,\n stepElementLists,\n slideElementList,\n currentIndex,\n audioList,\n currentAudioSequenceIndexes,\n currentStepHasSpeakableElement,\n currentInteractionElement,\n canGoPrev,\n canGoNext,\n handlePrev,\n handleNext,\n };\n};\n\nexport default useSlide;\n"],"names":["getMarkerElementList","elementList","element","getMarkerElementIndexes","indexes","index","hasPlayableAudio","isStreamingAudio","segments","segment","getElementAudioKey","candidateElement","getAudioList","list","elementIndex","normalizedAudioSegments","hasAudioSegments","getAudioIndexMap","audioIndexMap","audioIndex","getSlideAudioSequenceMap","markerElementIndexes","sequenceMap","startIndex","slideIndex","nextMarkerIndex","sequenceIndexes","getInitialSlideIndex","slideElementList","visibleIndex","getVisibleElement","getCurrentElementList","currentIndex","currentList","visibleElement","applyDiffElement","getStepElementLists","_","getStepHasSpeakableElement","hasSameElementReferences","prevElementList","nextElementList","hasSameNumberValues","prevValues","nextValues","value","useSlide","stableElementListRef","useRef","stableCurrentAudioSequenceIndexesRef","stableElementList","useMemo","previousSlideElementListRef","audioList","slideAudioSequenceMap","setCurrentIndex","useState","useEffect","previousSlideElementList","prevIndex","resolvedNextIndex","resolveNextSlideIndexAfterMarkerAppend","handlePrev","useCallback","handleNext","canGoPrev","canGoNext","currentStepElement","currentElementList","stepElementLists","currentAudioSequenceIndexes","nextAudioSequenceIndexes","currentStepHasSpeakableElement","currentInteractionElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSlide.cjs.js","sources":["../../../src/components/Slide/useSlide.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { applyDiffElement } from \"./diff-utils\";\nimport type { Element, ElementAudioSegment } from \"./types\";\nimport { resolveNextSlideIndexAfterMarkerAppend } from \"./utils/streamingNavigation\";\n\nexport interface SlideAudioItem {\n audioKey?: string;\n sequenceNumber?: number;\n audioUrl?: string;\n audioSegments?: ElementAudioSegment[];\n isAudioStreaming?: boolean;\n element?: Element;\n}\n\nexport interface UseSlideResult {\n currentElementList: Element[];\n stepElementLists: Element[][];\n slideElementList: Element[];\n currentIndex: number;\n audioList: SlideAudioItem[];\n currentAudioSequenceIndexes: number[];\n currentStepHasSpeakableElement: boolean;\n currentInteractionElement?: Element;\n canGoPrev: boolean;\n canGoNext: boolean;\n handlePrev: () => void;\n handleNext: () => void;\n}\n\nconst getMarkerElementList = (elementList: Element[]) =>\n elementList.filter((element) => element.is_marker);\n\nconst getMarkerElementIndexes = (elementList: Element[]) =>\n elementList.reduce<number[]>((indexes, element, index) => {\n if (element.is_marker) {\n indexes.push(index);\n }\n\n return indexes;\n }, []);\n\nconst hasPlayableAudio = (element?: Element) =>\n Boolean(\n element?.is_speakable &&\n (element.audio_url || (element.audio_segments?.length ?? 0) > 0)\n );\n\nconst isStreamingAudio = (segments: ElementAudioSegment[] = []) =>\n segments.length > 0 && !segments.some((segment) => segment.is_final);\n\nconst getElementAudioKey = (element: Element, index: number) => {\n const candidateElement = element as Element & {\n element_bid?: string;\n blockBid?: string;\n generated_block_bid?: string;\n };\n\n return (\n candidateElement.element_bid ||\n candidateElement.blockBid ||\n candidateElement.generated_block_bid ||\n `${element.type}:${String(element.sequence_number ?? index)}`\n );\n};\n\nconst getAudioList = (elementList: Element[]) =>\n elementList.reduce<SlideAudioItem[]>((list, element, elementIndex) => {\n if (hasPlayableAudio(element)) {\n const normalizedAudioSegments = element.audio_segments ?? [];\n const hasAudioSegments = normalizedAudioSegments.length > 0;\n\n list.push({\n audioKey: getElementAudioKey(element, elementIndex),\n sequenceNumber: element.sequence_number,\n // Keep one canonical source to avoid duplicated playback resets.\n // When streaming segments exist, keep playback on the segment source.\n audioUrl: hasAudioSegments ? \"\" : element.audio_url,\n audioSegments: normalizedAudioSegments,\n isAudioStreaming: isStreamingAudio(normalizedAudioSegments),\n element,\n });\n }\n\n return list;\n }, []);\n\nconst getAudioIndexMap = (elementList: Element[]) => {\n const audioIndexMap = new Map<number, number>();\n let audioIndex = 0;\n\n elementList.forEach((element, index) => {\n if (hasPlayableAudio(element)) {\n audioIndexMap.set(index, audioIndex);\n audioIndex += 1;\n }\n });\n\n return audioIndexMap;\n};\n\nconst getSlideAudioSequenceMap = (\n elementList: Element[],\n markerElementIndexes: number[],\n audioIndexMap: Map<number, number>\n) =>\n markerElementIndexes.reduce<Map<number, number[]>>(\n (sequenceMap, startIndex, slideIndex) => {\n const nextMarkerIndex =\n markerElementIndexes[slideIndex + 1] ?? elementList.length;\n const sequenceIndexes: number[] = [];\n\n for (let index = startIndex; index < nextMarkerIndex; index += 1) {\n const element = elementList[index];\n\n if (!hasPlayableAudio(element)) {\n continue;\n }\n\n const audioIndex = audioIndexMap.get(index);\n\n if (audioIndex == null) {\n continue;\n }\n\n sequenceIndexes.push(audioIndex);\n }\n\n sequenceMap.set(slideIndex, sequenceIndexes);\n return sequenceMap;\n },\n new Map<number, number[]>()\n );\n\nconst getInitialSlideIndex = (slideElementList: Element[]) => {\n const visibleIndex = slideElementList.findIndex(\n (element) => element.is_renderable === true\n );\n\n if (visibleIndex >= 0) {\n return visibleIndex;\n }\n\n return slideElementList.findIndex(\n (element) => element.is_renderable !== false\n );\n};\n\nconst getVisibleElement = (element: Element): Element => ({\n ...element,\n is_renderable: true,\n});\n\nconst getCurrentElementList = (\n slideElementList: Element[],\n currentIndex: number\n) => {\n if (currentIndex < 0) {\n return [];\n }\n\n return slideElementList\n .slice(0, currentIndex + 1)\n .reduce<Element[]>((currentList, element) => {\n if (element.type === \"interaction\") {\n return currentList;\n }\n\n const visibleElement = getVisibleElement(element);\n\n if (visibleElement.type === \"diff\") {\n const nextList = applyDiffElement(currentList, visibleElement);\n\n return nextList ?? [...currentList, visibleElement];\n }\n\n if (element.is_new) {\n return [visibleElement];\n }\n\n if (currentList.length === 0) {\n return [visibleElement];\n }\n\n return [...currentList, visibleElement];\n }, []);\n};\n\nconst getStepElementLists = (slideElementList: Element[]) =>\n slideElementList.map((_, index) =>\n getCurrentElementList(slideElementList, index)\n );\n\nconst getStepHasSpeakableElement = (\n elementList: Element[],\n markerElementIndexes: number[],\n currentIndex: number\n) => {\n if (currentIndex < 0) {\n return false;\n }\n\n const startIndex = markerElementIndexes[currentIndex];\n\n if (typeof startIndex !== \"number\") {\n return false;\n }\n\n const nextMarkerIndex =\n markerElementIndexes[currentIndex + 1] ?? elementList.length;\n\n for (let index = startIndex; index < nextMarkerIndex; index += 1) {\n if (elementList[index]?.is_speakable) {\n return true;\n }\n }\n\n return false;\n};\n\nconst hasSameElementReferences = (\n prevElementList: Element[],\n nextElementList: Element[]\n) =>\n prevElementList.length === nextElementList.length &&\n prevElementList.every((element, index) => element === nextElementList[index]);\n\nconst hasSameNumberValues = (prevValues: number[], nextValues: number[]) =>\n prevValues.length === nextValues.length &&\n prevValues.every((value, index) => value === nextValues[index]);\n\nconst useSlide = (elementList: Element[] = []): UseSlideResult => {\n const stableElementListRef = useRef(elementList);\n const stableCurrentAudioSequenceIndexesRef = useRef<number[]>([]);\n const stableElementList = useMemo(() => {\n if (hasSameElementReferences(stableElementListRef.current, elementList)) {\n return stableElementListRef.current;\n }\n\n // Reuse the previous wrapper array when the element references are unchanged.\n stableElementListRef.current = elementList;\n return elementList;\n }, [elementList]);\n const slideElementList = useMemo(\n () => getMarkerElementList(stableElementList),\n [stableElementList]\n );\n const previousStableElementListRef = useRef(stableElementList);\n const previousSlideElementListRef = useRef(slideElementList);\n const markerElementIndexes = useMemo(\n () => getMarkerElementIndexes(stableElementList),\n [stableElementList]\n );\n const previousMarkerElementIndexesRef = useRef(markerElementIndexes);\n const audioList = useMemo(\n () => getAudioList(stableElementList),\n [stableElementList]\n );\n const audioIndexMap = useMemo(\n () => getAudioIndexMap(stableElementList),\n [stableElementList]\n );\n const slideAudioSequenceMap = useMemo(\n () =>\n getSlideAudioSequenceMap(\n stableElementList,\n markerElementIndexes,\n audioIndexMap\n ),\n [audioIndexMap, markerElementIndexes, stableElementList]\n );\n const [currentIndex, setCurrentIndex] = useState(() =>\n getInitialSlideIndex(slideElementList)\n );\n\n useEffect(() => {\n const previousStableElementList = previousStableElementListRef.current;\n const previousSlideElementList = previousSlideElementListRef.current;\n const previousMarkerElementIndexes =\n previousMarkerElementIndexesRef.current;\n\n setCurrentIndex((prevIndex) => {\n const previousStepHasSpeakableElement = getStepHasSpeakableElement(\n previousStableElementList,\n previousMarkerElementIndexes,\n prevIndex\n );\n const resolvedNextIndex = resolveNextSlideIndexAfterMarkerAppend({\n previousIndex: prevIndex,\n previousStepHasSpeakableElement,\n previousSlideElementList,\n nextSlideElementList: slideElementList,\n });\n\n if (resolvedNextIndex >= 0) {\n return resolvedNextIndex;\n }\n\n return getInitialSlideIndex(slideElementList);\n });\n\n previousStableElementListRef.current = stableElementList;\n previousSlideElementListRef.current = slideElementList;\n previousMarkerElementIndexesRef.current = markerElementIndexes;\n }, [markerElementIndexes, slideElementList, stableElementList]);\n\n const handlePrev = useCallback(() => {\n setCurrentIndex((prevIndex) => {\n if (prevIndex <= 0) {\n return Math.max(prevIndex, 0);\n }\n\n return Math.max(prevIndex - 1, 0);\n });\n }, []);\n\n const handleNext = useCallback(() => {\n setCurrentIndex((prevIndex) => {\n if (prevIndex < 0) {\n return prevIndex;\n }\n\n return Math.min(prevIndex + 1, slideElementList.length - 1);\n });\n }, [slideElementList.length]);\n\n const canGoPrev = currentIndex > 0;\n const canGoNext =\n currentIndex >= 0 && currentIndex < slideElementList.length - 1;\n const currentStepElement = useMemo(() => {\n if (currentIndex < 0) {\n return undefined;\n }\n\n const element = slideElementList[currentIndex];\n\n if (!element) {\n return undefined;\n }\n\n return getVisibleElement(element);\n }, [currentIndex, slideElementList]);\n const currentElementList = useMemo(\n () => getCurrentElementList(slideElementList, currentIndex),\n [currentIndex, slideElementList]\n );\n const stepElementLists = useMemo(\n () => getStepElementLists(slideElementList),\n [slideElementList]\n );\n const currentAudioSequenceIndexes = useMemo(() => {\n const nextAudioSequenceIndexes =\n slideAudioSequenceMap.get(currentIndex) ?? [];\n\n if (\n hasSameNumberValues(\n stableCurrentAudioSequenceIndexesRef.current,\n nextAudioSequenceIndexes\n )\n ) {\n return stableCurrentAudioSequenceIndexesRef.current;\n }\n\n stableCurrentAudioSequenceIndexesRef.current = nextAudioSequenceIndexes;\n\n return nextAudioSequenceIndexes;\n }, [currentIndex, slideAudioSequenceMap]);\n const currentStepHasSpeakableElement = useMemo(\n () =>\n getStepHasSpeakableElement(\n stableElementList,\n markerElementIndexes,\n currentIndex\n ),\n [currentIndex, markerElementIndexes, stableElementList]\n );\n const currentInteractionElement = useMemo(\n () =>\n currentStepElement?.type === \"interaction\"\n ? currentStepElement\n : undefined,\n [currentStepElement]\n );\n\n return {\n currentElementList,\n stepElementLists,\n slideElementList,\n currentIndex,\n audioList,\n currentAudioSequenceIndexes,\n currentStepHasSpeakableElement,\n currentInteractionElement,\n canGoPrev,\n canGoNext,\n handlePrev,\n handleNext,\n };\n};\n\nexport default useSlide;\n"],"names":["getMarkerElementList","elementList","element","getMarkerElementIndexes","indexes","index","hasPlayableAudio","isStreamingAudio","segments","segment","getElementAudioKey","candidateElement","getAudioList","list","elementIndex","normalizedAudioSegments","hasAudioSegments","getAudioIndexMap","audioIndexMap","audioIndex","getSlideAudioSequenceMap","markerElementIndexes","sequenceMap","startIndex","slideIndex","nextMarkerIndex","sequenceIndexes","getInitialSlideIndex","slideElementList","visibleIndex","getVisibleElement","getCurrentElementList","currentIndex","currentList","visibleElement","applyDiffElement","getStepElementLists","_","getStepHasSpeakableElement","hasSameElementReferences","prevElementList","nextElementList","hasSameNumberValues","prevValues","nextValues","value","useSlide","stableElementListRef","useRef","stableCurrentAudioSequenceIndexesRef","stableElementList","useMemo","previousStableElementListRef","previousSlideElementListRef","previousMarkerElementIndexesRef","audioList","slideAudioSequenceMap","setCurrentIndex","useState","useEffect","previousStableElementList","previousSlideElementList","previousMarkerElementIndexes","prevIndex","previousStepHasSpeakableElement","resolvedNextIndex","resolveNextSlideIndexAfterMarkerAppend","handlePrev","useCallback","handleNext","canGoPrev","canGoNext","currentStepElement","currentElementList","stepElementLists","currentAudioSequenceIndexes","nextAudioSequenceIndexes","currentStepHasSpeakableElement","currentInteractionElement"],"mappings":"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"}
|
|
@@ -1,154 +1,159 @@
|
|
|
1
|
-
import { useRef as
|
|
2
|
-
import { applyDiffElement as
|
|
3
|
-
import { resolveNextSlideIndexAfterMarkerAppend as
|
|
4
|
-
const
|
|
1
|
+
import { useRef as f, useMemo as c, useState as K, useEffect as $, useCallback as _ } from "react";
|
|
2
|
+
import { applyDiffElement as z } from "./diff-utils.es.js";
|
|
3
|
+
import { resolveNextSlideIndexAfterMarkerAppend as D } from "./utils/streamingNavigation.es.js";
|
|
4
|
+
const U = (e) => e.filter((n) => n.is_marker), j = (e) => e.reduce((n, t, r) => (t.is_marker && n.push(r), n), []), b = (e) => !!(e?.is_speakable && (e.audio_url || (e.audio_segments?.length ?? 0) > 0)), F = (e = []) => e.length > 0 && !e.some((n) => n.is_final), J = (e, n) => {
|
|
5
5
|
const t = e;
|
|
6
6
|
return t.element_bid || t.blockBid || t.generated_block_bid || `${e.type}:${String(e.sequence_number ?? n)}`;
|
|
7
|
-
},
|
|
8
|
-
if (
|
|
9
|
-
const
|
|
7
|
+
}, O = (e) => e.reduce((n, t, r) => {
|
|
8
|
+
if (b(t)) {
|
|
9
|
+
const s = t.audio_segments ?? [], i = s.length > 0;
|
|
10
10
|
n.push({
|
|
11
|
-
audioKey:
|
|
11
|
+
audioKey: J(t, r),
|
|
12
12
|
sequenceNumber: t.sequence_number,
|
|
13
13
|
// Keep one canonical source to avoid duplicated playback resets.
|
|
14
14
|
// When streaming segments exist, keep playback on the segment source.
|
|
15
|
-
audioUrl:
|
|
16
|
-
audioSegments:
|
|
17
|
-
isAudioStreaming:
|
|
15
|
+
audioUrl: i ? "" : t.audio_url,
|
|
16
|
+
audioSegments: s,
|
|
17
|
+
isAudioStreaming: F(s),
|
|
18
18
|
element: t
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
return n;
|
|
22
|
-
}, []),
|
|
22
|
+
}, []), Q = (e) => {
|
|
23
23
|
const n = /* @__PURE__ */ new Map();
|
|
24
24
|
let t = 0;
|
|
25
|
-
return e.forEach((
|
|
26
|
-
|
|
25
|
+
return e.forEach((r, s) => {
|
|
26
|
+
b(r) && (n.set(s, t), t += 1);
|
|
27
27
|
}), n;
|
|
28
|
-
},
|
|
29
|
-
(
|
|
30
|
-
const
|
|
31
|
-
for (let
|
|
32
|
-
const
|
|
33
|
-
if (!
|
|
28
|
+
}, T = (e, n, t) => n.reduce(
|
|
29
|
+
(r, s, i) => {
|
|
30
|
+
const m = n[i + 1] ?? e.length, a = [];
|
|
31
|
+
for (let d = s; d < m; d += 1) {
|
|
32
|
+
const p = e[d];
|
|
33
|
+
if (!b(p))
|
|
34
34
|
continue;
|
|
35
|
-
const
|
|
36
|
-
|
|
35
|
+
const l = t.get(d);
|
|
36
|
+
l != null && a.push(l);
|
|
37
37
|
}
|
|
38
|
-
return
|
|
38
|
+
return r.set(i, a), r;
|
|
39
39
|
},
|
|
40
40
|
/* @__PURE__ */ new Map()
|
|
41
|
-
),
|
|
41
|
+
), M = (e) => {
|
|
42
42
|
const n = e.findIndex(
|
|
43
43
|
(t) => t.is_renderable === !0
|
|
44
44
|
);
|
|
45
45
|
return n >= 0 ? n : e.findIndex(
|
|
46
46
|
(t) => t.is_renderable !== !1
|
|
47
47
|
);
|
|
48
|
-
},
|
|
48
|
+
}, I = (e) => ({
|
|
49
49
|
...e,
|
|
50
50
|
is_renderable: !0
|
|
51
|
-
}),
|
|
52
|
-
if (
|
|
51
|
+
}), A = (e, n) => n < 0 ? [] : e.slice(0, n + 1).reduce((t, r) => {
|
|
52
|
+
if (r.type === "interaction")
|
|
53
53
|
return t;
|
|
54
|
-
const
|
|
55
|
-
return
|
|
56
|
-
}, []),
|
|
57
|
-
(n, t) =>
|
|
58
|
-
),
|
|
54
|
+
const s = I(r);
|
|
55
|
+
return s.type === "diff" ? z(t, s) ?? [...t, s] : r.is_new ? [s] : t.length === 0 ? [s] : [...t, s];
|
|
56
|
+
}, []), V = (e) => e.map(
|
|
57
|
+
(n, t) => A(e, t)
|
|
58
|
+
), k = (e, n, t) => {
|
|
59
59
|
if (t < 0)
|
|
60
60
|
return !1;
|
|
61
|
-
const
|
|
62
|
-
if (typeof
|
|
61
|
+
const r = n[t];
|
|
62
|
+
if (typeof r != "number")
|
|
63
63
|
return !1;
|
|
64
|
-
const
|
|
65
|
-
for (let
|
|
66
|
-
if (e[
|
|
64
|
+
const s = n[t + 1] ?? e.length;
|
|
65
|
+
for (let i = r; i < s; i += 1)
|
|
66
|
+
if (e[i]?.is_speakable)
|
|
67
67
|
return !0;
|
|
68
68
|
return !1;
|
|
69
|
-
},
|
|
70
|
-
const n =
|
|
71
|
-
() =>
|
|
72
|
-
[
|
|
73
|
-
),
|
|
74
|
-
() =>
|
|
75
|
-
[
|
|
69
|
+
}, W = (e, n) => e.length === n.length && e.every((t, r) => t === n[r]), X = (e, n) => e.length === n.length && e.every((t, r) => t === n[r]), te = (e = []) => {
|
|
70
|
+
const n = f(e), t = f([]), r = c(() => W(n.current, e) ? n.current : (n.current = e, e), [e]), s = c(
|
|
71
|
+
() => U(r),
|
|
72
|
+
[r]
|
|
73
|
+
), i = f(r), m = f(s), a = c(
|
|
74
|
+
() => j(r),
|
|
75
|
+
[r]
|
|
76
|
+
), d = f(a), p = c(
|
|
77
|
+
() => O(r),
|
|
78
|
+
[r]
|
|
76
79
|
), l = c(
|
|
77
|
-
() =>
|
|
78
|
-
[
|
|
79
|
-
),
|
|
80
|
-
() =>
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
s,
|
|
85
|
-
d,
|
|
86
|
-
a
|
|
80
|
+
() => Q(r),
|
|
81
|
+
[r]
|
|
82
|
+
), h = c(
|
|
83
|
+
() => T(
|
|
84
|
+
r,
|
|
85
|
+
a,
|
|
86
|
+
l
|
|
87
87
|
),
|
|
88
|
-
[
|
|
89
|
-
), [
|
|
90
|
-
() =>
|
|
88
|
+
[l, a, r]
|
|
89
|
+
), [u, g] = K(
|
|
90
|
+
() => M(s)
|
|
91
91
|
);
|
|
92
|
-
|
|
93
|
-
const i =
|
|
94
|
-
g((
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
92
|
+
$(() => {
|
|
93
|
+
const o = i.current, P = m.current, B = d.current;
|
|
94
|
+
g((x) => {
|
|
95
|
+
const G = k(
|
|
96
|
+
o,
|
|
97
|
+
B,
|
|
98
|
+
x
|
|
99
|
+
), E = D({
|
|
100
|
+
previousIndex: x,
|
|
101
|
+
previousStepHasSpeakableElement: G,
|
|
102
|
+
previousSlideElementList: P,
|
|
103
|
+
nextSlideElementList: s
|
|
99
104
|
});
|
|
100
|
-
return
|
|
101
|
-
}),
|
|
102
|
-
}, [r]);
|
|
103
|
-
const
|
|
104
|
-
g((
|
|
105
|
-
}, []),
|
|
106
|
-
g((
|
|
107
|
-
}, [
|
|
108
|
-
if (
|
|
105
|
+
return E >= 0 ? E : M(s);
|
|
106
|
+
}), i.current = r, m.current = s, d.current = a;
|
|
107
|
+
}, [a, s, r]);
|
|
108
|
+
const v = _(() => {
|
|
109
|
+
g((o) => o <= 0 ? Math.max(o, 0) : Math.max(o - 1, 0));
|
|
110
|
+
}, []), y = _(() => {
|
|
111
|
+
g((o) => o < 0 ? o : Math.min(o + 1, s.length - 1));
|
|
112
|
+
}, [s.length]), q = u > 0, R = u >= 0 && u < s.length - 1, S = c(() => {
|
|
113
|
+
if (u < 0)
|
|
109
114
|
return;
|
|
110
|
-
const
|
|
111
|
-
if (
|
|
112
|
-
return
|
|
113
|
-
}, [
|
|
114
|
-
() =>
|
|
115
|
-
[
|
|
116
|
-
),
|
|
117
|
-
() =>
|
|
118
|
-
[
|
|
119
|
-
),
|
|
120
|
-
const
|
|
121
|
-
return
|
|
115
|
+
const o = s[u];
|
|
116
|
+
if (o)
|
|
117
|
+
return I(o);
|
|
118
|
+
}, [u, s]), N = c(
|
|
119
|
+
() => A(s, u),
|
|
120
|
+
[u, s]
|
|
121
|
+
), C = c(
|
|
122
|
+
() => V(s),
|
|
123
|
+
[s]
|
|
124
|
+
), w = c(() => {
|
|
125
|
+
const o = h.get(u) ?? [];
|
|
126
|
+
return X(
|
|
122
127
|
t.current,
|
|
123
|
-
i
|
|
124
|
-
) ? t.current : (t.current = i, i);
|
|
125
|
-
}, [o, f]), N = c(
|
|
126
|
-
() => F(
|
|
127
|
-
s,
|
|
128
|
-
d,
|
|
129
128
|
o
|
|
129
|
+
) ? t.current : (t.current = o, o);
|
|
130
|
+
}, [u, h]), H = c(
|
|
131
|
+
() => k(
|
|
132
|
+
r,
|
|
133
|
+
a,
|
|
134
|
+
u
|
|
130
135
|
),
|
|
131
|
-
[
|
|
132
|
-
),
|
|
133
|
-
() =>
|
|
134
|
-
[
|
|
136
|
+
[u, a, r]
|
|
137
|
+
), L = c(
|
|
138
|
+
() => S?.type === "interaction" ? S : void 0,
|
|
139
|
+
[S]
|
|
135
140
|
);
|
|
136
141
|
return {
|
|
137
|
-
currentElementList:
|
|
138
|
-
stepElementLists:
|
|
139
|
-
slideElementList:
|
|
140
|
-
currentIndex:
|
|
141
|
-
audioList:
|
|
142
|
-
currentAudioSequenceIndexes:
|
|
143
|
-
currentStepHasSpeakableElement:
|
|
144
|
-
currentInteractionElement:
|
|
145
|
-
canGoPrev:
|
|
146
|
-
canGoNext:
|
|
147
|
-
handlePrev:
|
|
148
|
-
handleNext:
|
|
142
|
+
currentElementList: N,
|
|
143
|
+
stepElementLists: C,
|
|
144
|
+
slideElementList: s,
|
|
145
|
+
currentIndex: u,
|
|
146
|
+
audioList: p,
|
|
147
|
+
currentAudioSequenceIndexes: w,
|
|
148
|
+
currentStepHasSpeakableElement: H,
|
|
149
|
+
currentInteractionElement: L,
|
|
150
|
+
canGoPrev: q,
|
|
151
|
+
canGoNext: R,
|
|
152
|
+
handlePrev: v,
|
|
153
|
+
handleNext: y
|
|
149
154
|
};
|
|
150
155
|
};
|
|
151
156
|
export {
|
|
152
|
-
|
|
157
|
+
te as default
|
|
153
158
|
};
|
|
154
159
|
//# sourceMappingURL=useSlide.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSlide.es.js","sources":["../../../src/components/Slide/useSlide.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { applyDiffElement } from \"./diff-utils\";\nimport type { Element, ElementAudioSegment } from \"./types\";\nimport { resolveNextSlideIndexAfterMarkerAppend } from \"./utils/streamingNavigation\";\n\nexport interface SlideAudioItem {\n audioKey?: string;\n sequenceNumber?: number;\n audioUrl?: string;\n audioSegments?: ElementAudioSegment[];\n isAudioStreaming?: boolean;\n element?: Element;\n}\n\nexport interface UseSlideResult {\n currentElementList: Element[];\n stepElementLists: Element[][];\n slideElementList: Element[];\n currentIndex: number;\n audioList: SlideAudioItem[];\n currentAudioSequenceIndexes: number[];\n currentStepHasSpeakableElement: boolean;\n currentInteractionElement?: Element;\n canGoPrev: boolean;\n canGoNext: boolean;\n handlePrev: () => void;\n handleNext: () => void;\n}\n\nconst getMarkerElementList = (elementList: Element[]) =>\n elementList.filter((element) => element.is_marker);\n\nconst getMarkerElementIndexes = (elementList: Element[]) =>\n elementList.reduce<number[]>((indexes, element, index) => {\n if (element.is_marker) {\n indexes.push(index);\n }\n\n return indexes;\n }, []);\n\nconst hasPlayableAudio = (element?: Element) =>\n Boolean(\n element?.is_speakable &&\n (element.audio_url || (element.audio_segments?.length ?? 0) > 0)\n );\n\nconst isStreamingAudio = (segments: ElementAudioSegment[] = []) =>\n segments.length > 0 && !segments.some((segment) => segment.is_final);\n\nconst getElementAudioKey = (element: Element, index: number) => {\n const candidateElement = element as Element & {\n element_bid?: string;\n blockBid?: string;\n generated_block_bid?: string;\n };\n\n return (\n candidateElement.element_bid ||\n candidateElement.blockBid ||\n candidateElement.generated_block_bid ||\n `${element.type}:${String(element.sequence_number ?? index)}`\n );\n};\n\nconst getAudioList = (elementList: Element[]) =>\n elementList.reduce<SlideAudioItem[]>((list, element, elementIndex) => {\n if (hasPlayableAudio(element)) {\n const normalizedAudioSegments = element.audio_segments ?? [];\n const hasAudioSegments = normalizedAudioSegments.length > 0;\n\n list.push({\n audioKey: getElementAudioKey(element, elementIndex),\n sequenceNumber: element.sequence_number,\n // Keep one canonical source to avoid duplicated playback resets.\n // When streaming segments exist, keep playback on the segment source.\n audioUrl: hasAudioSegments ? \"\" : element.audio_url,\n audioSegments: normalizedAudioSegments,\n isAudioStreaming: isStreamingAudio(normalizedAudioSegments),\n element,\n });\n }\n\n return list;\n }, []);\n\nconst getAudioIndexMap = (elementList: Element[]) => {\n const audioIndexMap = new Map<number, number>();\n let audioIndex = 0;\n\n elementList.forEach((element, index) => {\n if (hasPlayableAudio(element)) {\n audioIndexMap.set(index, audioIndex);\n audioIndex += 1;\n }\n });\n\n return audioIndexMap;\n};\n\nconst getSlideAudioSequenceMap = (\n elementList: Element[],\n markerElementIndexes: number[],\n audioIndexMap: Map<number, number>\n) =>\n markerElementIndexes.reduce<Map<number, number[]>>(\n (sequenceMap, startIndex, slideIndex) => {\n const nextMarkerIndex =\n markerElementIndexes[slideIndex + 1] ?? elementList.length;\n const sequenceIndexes: number[] = [];\n\n for (let index = startIndex; index < nextMarkerIndex; index += 1) {\n const element = elementList[index];\n\n if (!hasPlayableAudio(element)) {\n continue;\n }\n\n const audioIndex = audioIndexMap.get(index);\n\n if (audioIndex == null) {\n continue;\n }\n\n sequenceIndexes.push(audioIndex);\n }\n\n sequenceMap.set(slideIndex, sequenceIndexes);\n return sequenceMap;\n },\n new Map<number, number[]>()\n );\n\nconst getInitialSlideIndex = (slideElementList: Element[]) => {\n const visibleIndex = slideElementList.findIndex(\n (element) => element.is_renderable === true\n );\n\n if (visibleIndex >= 0) {\n return visibleIndex;\n }\n\n return slideElementList.findIndex(\n (element) => element.is_renderable !== false\n );\n};\n\nconst getVisibleElement = (element: Element): Element => ({\n ...element,\n is_renderable: true,\n});\n\nconst getCurrentElementList = (\n slideElementList: Element[],\n currentIndex: number\n) => {\n if (currentIndex < 0) {\n return [];\n }\n\n return slideElementList\n .slice(0, currentIndex + 1)\n .reduce<Element[]>((currentList, element) => {\n if (element.type === \"interaction\") {\n return currentList;\n }\n\n const visibleElement = getVisibleElement(element);\n\n if (visibleElement.type === \"diff\") {\n const nextList = applyDiffElement(currentList, visibleElement);\n\n return nextList ?? [...currentList, visibleElement];\n }\n\n if (element.is_new) {\n return [visibleElement];\n }\n\n if (currentList.length === 0) {\n return [visibleElement];\n }\n\n return [...currentList, visibleElement];\n }, []);\n};\n\nconst getStepElementLists = (slideElementList: Element[]) =>\n slideElementList.map((_, index) =>\n getCurrentElementList(slideElementList, index)\n );\n\nconst getStepHasSpeakableElement = (\n elementList: Element[],\n markerElementIndexes: number[],\n currentIndex: number\n) => {\n if (currentIndex < 0) {\n return false;\n }\n\n const startIndex = markerElementIndexes[currentIndex];\n\n if (typeof startIndex !== \"number\") {\n return false;\n }\n\n const nextMarkerIndex =\n markerElementIndexes[currentIndex + 1] ?? elementList.length;\n\n for (let index = startIndex; index < nextMarkerIndex; index += 1) {\n if (elementList[index]?.is_speakable) {\n return true;\n }\n }\n\n return false;\n};\n\nconst hasSameElementReferences = (\n prevElementList: Element[],\n nextElementList: Element[]\n) =>\n prevElementList.length === nextElementList.length &&\n prevElementList.every((element, index) => element === nextElementList[index]);\n\nconst hasSameNumberValues = (prevValues: number[], nextValues: number[]) =>\n prevValues.length === nextValues.length &&\n prevValues.every((value, index) => value === nextValues[index]);\n\nconst useSlide = (elementList: Element[] = []): UseSlideResult => {\n const stableElementListRef = useRef(elementList);\n const stableCurrentAudioSequenceIndexesRef = useRef<number[]>([]);\n const stableElementList = useMemo(() => {\n if (hasSameElementReferences(stableElementListRef.current, elementList)) {\n return stableElementListRef.current;\n }\n\n // Reuse the previous wrapper array when the element references are unchanged.\n stableElementListRef.current = elementList;\n return elementList;\n }, [elementList]);\n const slideElementList = useMemo(\n () => getMarkerElementList(stableElementList),\n [stableElementList]\n );\n const previousSlideElementListRef = useRef(slideElementList);\n const markerElementIndexes = useMemo(\n () => getMarkerElementIndexes(stableElementList),\n [stableElementList]\n );\n const audioList = useMemo(\n () => getAudioList(stableElementList),\n [stableElementList]\n );\n const audioIndexMap = useMemo(\n () => getAudioIndexMap(stableElementList),\n [stableElementList]\n );\n const slideAudioSequenceMap = useMemo(\n () =>\n getSlideAudioSequenceMap(\n stableElementList,\n markerElementIndexes,\n audioIndexMap\n ),\n [audioIndexMap, markerElementIndexes, stableElementList]\n );\n const [currentIndex, setCurrentIndex] = useState(() =>\n getInitialSlideIndex(slideElementList)\n );\n\n useEffect(() => {\n const previousSlideElementList = previousSlideElementListRef.current;\n\n setCurrentIndex((prevIndex) => {\n const resolvedNextIndex = resolveNextSlideIndexAfterMarkerAppend({\n previousIndex: prevIndex,\n previousSlideElementList,\n nextSlideElementList: slideElementList,\n });\n\n if (resolvedNextIndex >= 0) {\n return resolvedNextIndex;\n }\n\n return getInitialSlideIndex(slideElementList);\n });\n\n previousSlideElementListRef.current = slideElementList;\n }, [slideElementList]);\n\n const handlePrev = useCallback(() => {\n setCurrentIndex((prevIndex) => {\n if (prevIndex <= 0) {\n return Math.max(prevIndex, 0);\n }\n\n return Math.max(prevIndex - 1, 0);\n });\n }, []);\n\n const handleNext = useCallback(() => {\n setCurrentIndex((prevIndex) => {\n if (prevIndex < 0) {\n return prevIndex;\n }\n\n return Math.min(prevIndex + 1, slideElementList.length - 1);\n });\n }, [slideElementList.length]);\n\n const canGoPrev = currentIndex > 0;\n const canGoNext =\n currentIndex >= 0 && currentIndex < slideElementList.length - 1;\n const currentStepElement = useMemo(() => {\n if (currentIndex < 0) {\n return undefined;\n }\n\n const element = slideElementList[currentIndex];\n\n if (!element) {\n return undefined;\n }\n\n return getVisibleElement(element);\n }, [currentIndex, slideElementList]);\n const currentElementList = useMemo(\n () => getCurrentElementList(slideElementList, currentIndex),\n [currentIndex, slideElementList]\n );\n const stepElementLists = useMemo(\n () => getStepElementLists(slideElementList),\n [slideElementList]\n );\n const currentAudioSequenceIndexes = useMemo(() => {\n const nextAudioSequenceIndexes =\n slideAudioSequenceMap.get(currentIndex) ?? [];\n\n if (\n hasSameNumberValues(\n stableCurrentAudioSequenceIndexesRef.current,\n nextAudioSequenceIndexes\n )\n ) {\n return stableCurrentAudioSequenceIndexesRef.current;\n }\n\n stableCurrentAudioSequenceIndexesRef.current = nextAudioSequenceIndexes;\n\n return nextAudioSequenceIndexes;\n }, [currentIndex, slideAudioSequenceMap]);\n const currentStepHasSpeakableElement = useMemo(\n () =>\n getStepHasSpeakableElement(\n stableElementList,\n markerElementIndexes,\n currentIndex\n ),\n [currentIndex, markerElementIndexes, stableElementList]\n );\n const currentInteractionElement = useMemo(\n () =>\n currentStepElement?.type === \"interaction\"\n ? currentStepElement\n : undefined,\n [currentStepElement]\n );\n\n return {\n currentElementList,\n stepElementLists,\n slideElementList,\n currentIndex,\n audioList,\n currentAudioSequenceIndexes,\n currentStepHasSpeakableElement,\n currentInteractionElement,\n canGoPrev,\n canGoNext,\n handlePrev,\n handleNext,\n };\n};\n\nexport default useSlide;\n"],"names":["getMarkerElementList","elementList","element","getMarkerElementIndexes","indexes","index","hasPlayableAudio","isStreamingAudio","segments","segment","getElementAudioKey","candidateElement","getAudioList","list","elementIndex","normalizedAudioSegments","hasAudioSegments","getAudioIndexMap","audioIndexMap","audioIndex","getSlideAudioSequenceMap","markerElementIndexes","sequenceMap","startIndex","slideIndex","nextMarkerIndex","sequenceIndexes","getInitialSlideIndex","slideElementList","visibleIndex","getVisibleElement","getCurrentElementList","currentIndex","currentList","visibleElement","applyDiffElement","getStepElementLists","_","getStepHasSpeakableElement","hasSameElementReferences","prevElementList","nextElementList","hasSameNumberValues","prevValues","nextValues","value","useSlide","stableElementListRef","useRef","stableCurrentAudioSequenceIndexesRef","stableElementList","useMemo","previousSlideElementListRef","audioList","slideAudioSequenceMap","setCurrentIndex","useState","useEffect","previousSlideElementList","prevIndex","resolvedNextIndex","resolveNextSlideIndexAfterMarkerAppend","handlePrev","useCallback","handleNext","canGoPrev","canGoNext","currentStepElement","currentElementList","stepElementLists","currentAudioSequenceIndexes","nextAudioSequenceIndexes","currentStepHasSpeakableElement","currentInteractionElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSlide.es.js","sources":["../../../src/components/Slide/useSlide.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { applyDiffElement } from \"./diff-utils\";\nimport type { Element, ElementAudioSegment } from \"./types\";\nimport { resolveNextSlideIndexAfterMarkerAppend } from \"./utils/streamingNavigation\";\n\nexport interface SlideAudioItem {\n audioKey?: string;\n sequenceNumber?: number;\n audioUrl?: string;\n audioSegments?: ElementAudioSegment[];\n isAudioStreaming?: boolean;\n element?: Element;\n}\n\nexport interface UseSlideResult {\n currentElementList: Element[];\n stepElementLists: Element[][];\n slideElementList: Element[];\n currentIndex: number;\n audioList: SlideAudioItem[];\n currentAudioSequenceIndexes: number[];\n currentStepHasSpeakableElement: boolean;\n currentInteractionElement?: Element;\n canGoPrev: boolean;\n canGoNext: boolean;\n handlePrev: () => void;\n handleNext: () => void;\n}\n\nconst getMarkerElementList = (elementList: Element[]) =>\n elementList.filter((element) => element.is_marker);\n\nconst getMarkerElementIndexes = (elementList: Element[]) =>\n elementList.reduce<number[]>((indexes, element, index) => {\n if (element.is_marker) {\n indexes.push(index);\n }\n\n return indexes;\n }, []);\n\nconst hasPlayableAudio = (element?: Element) =>\n Boolean(\n element?.is_speakable &&\n (element.audio_url || (element.audio_segments?.length ?? 0) > 0)\n );\n\nconst isStreamingAudio = (segments: ElementAudioSegment[] = []) =>\n segments.length > 0 && !segments.some((segment) => segment.is_final);\n\nconst getElementAudioKey = (element: Element, index: number) => {\n const candidateElement = element as Element & {\n element_bid?: string;\n blockBid?: string;\n generated_block_bid?: string;\n };\n\n return (\n candidateElement.element_bid ||\n candidateElement.blockBid ||\n candidateElement.generated_block_bid ||\n `${element.type}:${String(element.sequence_number ?? index)}`\n );\n};\n\nconst getAudioList = (elementList: Element[]) =>\n elementList.reduce<SlideAudioItem[]>((list, element, elementIndex) => {\n if (hasPlayableAudio(element)) {\n const normalizedAudioSegments = element.audio_segments ?? [];\n const hasAudioSegments = normalizedAudioSegments.length > 0;\n\n list.push({\n audioKey: getElementAudioKey(element, elementIndex),\n sequenceNumber: element.sequence_number,\n // Keep one canonical source to avoid duplicated playback resets.\n // When streaming segments exist, keep playback on the segment source.\n audioUrl: hasAudioSegments ? \"\" : element.audio_url,\n audioSegments: normalizedAudioSegments,\n isAudioStreaming: isStreamingAudio(normalizedAudioSegments),\n element,\n });\n }\n\n return list;\n }, []);\n\nconst getAudioIndexMap = (elementList: Element[]) => {\n const audioIndexMap = new Map<number, number>();\n let audioIndex = 0;\n\n elementList.forEach((element, index) => {\n if (hasPlayableAudio(element)) {\n audioIndexMap.set(index, audioIndex);\n audioIndex += 1;\n }\n });\n\n return audioIndexMap;\n};\n\nconst getSlideAudioSequenceMap = (\n elementList: Element[],\n markerElementIndexes: number[],\n audioIndexMap: Map<number, number>\n) =>\n markerElementIndexes.reduce<Map<number, number[]>>(\n (sequenceMap, startIndex, slideIndex) => {\n const nextMarkerIndex =\n markerElementIndexes[slideIndex + 1] ?? elementList.length;\n const sequenceIndexes: number[] = [];\n\n for (let index = startIndex; index < nextMarkerIndex; index += 1) {\n const element = elementList[index];\n\n if (!hasPlayableAudio(element)) {\n continue;\n }\n\n const audioIndex = audioIndexMap.get(index);\n\n if (audioIndex == null) {\n continue;\n }\n\n sequenceIndexes.push(audioIndex);\n }\n\n sequenceMap.set(slideIndex, sequenceIndexes);\n return sequenceMap;\n },\n new Map<number, number[]>()\n );\n\nconst getInitialSlideIndex = (slideElementList: Element[]) => {\n const visibleIndex = slideElementList.findIndex(\n (element) => element.is_renderable === true\n );\n\n if (visibleIndex >= 0) {\n return visibleIndex;\n }\n\n return slideElementList.findIndex(\n (element) => element.is_renderable !== false\n );\n};\n\nconst getVisibleElement = (element: Element): Element => ({\n ...element,\n is_renderable: true,\n});\n\nconst getCurrentElementList = (\n slideElementList: Element[],\n currentIndex: number\n) => {\n if (currentIndex < 0) {\n return [];\n }\n\n return slideElementList\n .slice(0, currentIndex + 1)\n .reduce<Element[]>((currentList, element) => {\n if (element.type === \"interaction\") {\n return currentList;\n }\n\n const visibleElement = getVisibleElement(element);\n\n if (visibleElement.type === \"diff\") {\n const nextList = applyDiffElement(currentList, visibleElement);\n\n return nextList ?? [...currentList, visibleElement];\n }\n\n if (element.is_new) {\n return [visibleElement];\n }\n\n if (currentList.length === 0) {\n return [visibleElement];\n }\n\n return [...currentList, visibleElement];\n }, []);\n};\n\nconst getStepElementLists = (slideElementList: Element[]) =>\n slideElementList.map((_, index) =>\n getCurrentElementList(slideElementList, index)\n );\n\nconst getStepHasSpeakableElement = (\n elementList: Element[],\n markerElementIndexes: number[],\n currentIndex: number\n) => {\n if (currentIndex < 0) {\n return false;\n }\n\n const startIndex = markerElementIndexes[currentIndex];\n\n if (typeof startIndex !== \"number\") {\n return false;\n }\n\n const nextMarkerIndex =\n markerElementIndexes[currentIndex + 1] ?? elementList.length;\n\n for (let index = startIndex; index < nextMarkerIndex; index += 1) {\n if (elementList[index]?.is_speakable) {\n return true;\n }\n }\n\n return false;\n};\n\nconst hasSameElementReferences = (\n prevElementList: Element[],\n nextElementList: Element[]\n) =>\n prevElementList.length === nextElementList.length &&\n prevElementList.every((element, index) => element === nextElementList[index]);\n\nconst hasSameNumberValues = (prevValues: number[], nextValues: number[]) =>\n prevValues.length === nextValues.length &&\n prevValues.every((value, index) => value === nextValues[index]);\n\nconst useSlide = (elementList: Element[] = []): UseSlideResult => {\n const stableElementListRef = useRef(elementList);\n const stableCurrentAudioSequenceIndexesRef = useRef<number[]>([]);\n const stableElementList = useMemo(() => {\n if (hasSameElementReferences(stableElementListRef.current, elementList)) {\n return stableElementListRef.current;\n }\n\n // Reuse the previous wrapper array when the element references are unchanged.\n stableElementListRef.current = elementList;\n return elementList;\n }, [elementList]);\n const slideElementList = useMemo(\n () => getMarkerElementList(stableElementList),\n [stableElementList]\n );\n const previousStableElementListRef = useRef(stableElementList);\n const previousSlideElementListRef = useRef(slideElementList);\n const markerElementIndexes = useMemo(\n () => getMarkerElementIndexes(stableElementList),\n [stableElementList]\n );\n const previousMarkerElementIndexesRef = useRef(markerElementIndexes);\n const audioList = useMemo(\n () => getAudioList(stableElementList),\n [stableElementList]\n );\n const audioIndexMap = useMemo(\n () => getAudioIndexMap(stableElementList),\n [stableElementList]\n );\n const slideAudioSequenceMap = useMemo(\n () =>\n getSlideAudioSequenceMap(\n stableElementList,\n markerElementIndexes,\n audioIndexMap\n ),\n [audioIndexMap, markerElementIndexes, stableElementList]\n );\n const [currentIndex, setCurrentIndex] = useState(() =>\n getInitialSlideIndex(slideElementList)\n );\n\n useEffect(() => {\n const previousStableElementList = previousStableElementListRef.current;\n const previousSlideElementList = previousSlideElementListRef.current;\n const previousMarkerElementIndexes =\n previousMarkerElementIndexesRef.current;\n\n setCurrentIndex((prevIndex) => {\n const previousStepHasSpeakableElement = getStepHasSpeakableElement(\n previousStableElementList,\n previousMarkerElementIndexes,\n prevIndex\n );\n const resolvedNextIndex = resolveNextSlideIndexAfterMarkerAppend({\n previousIndex: prevIndex,\n previousStepHasSpeakableElement,\n previousSlideElementList,\n nextSlideElementList: slideElementList,\n });\n\n if (resolvedNextIndex >= 0) {\n return resolvedNextIndex;\n }\n\n return getInitialSlideIndex(slideElementList);\n });\n\n previousStableElementListRef.current = stableElementList;\n previousSlideElementListRef.current = slideElementList;\n previousMarkerElementIndexesRef.current = markerElementIndexes;\n }, [markerElementIndexes, slideElementList, stableElementList]);\n\n const handlePrev = useCallback(() => {\n setCurrentIndex((prevIndex) => {\n if (prevIndex <= 0) {\n return Math.max(prevIndex, 0);\n }\n\n return Math.max(prevIndex - 1, 0);\n });\n }, []);\n\n const handleNext = useCallback(() => {\n setCurrentIndex((prevIndex) => {\n if (prevIndex < 0) {\n return prevIndex;\n }\n\n return Math.min(prevIndex + 1, slideElementList.length - 1);\n });\n }, [slideElementList.length]);\n\n const canGoPrev = currentIndex > 0;\n const canGoNext =\n currentIndex >= 0 && currentIndex < slideElementList.length - 1;\n const currentStepElement = useMemo(() => {\n if (currentIndex < 0) {\n return undefined;\n }\n\n const element = slideElementList[currentIndex];\n\n if (!element) {\n return undefined;\n }\n\n return getVisibleElement(element);\n }, [currentIndex, slideElementList]);\n const currentElementList = useMemo(\n () => getCurrentElementList(slideElementList, currentIndex),\n [currentIndex, slideElementList]\n );\n const stepElementLists = useMemo(\n () => getStepElementLists(slideElementList),\n [slideElementList]\n );\n const currentAudioSequenceIndexes = useMemo(() => {\n const nextAudioSequenceIndexes =\n slideAudioSequenceMap.get(currentIndex) ?? [];\n\n if (\n hasSameNumberValues(\n stableCurrentAudioSequenceIndexesRef.current,\n nextAudioSequenceIndexes\n )\n ) {\n return stableCurrentAudioSequenceIndexesRef.current;\n }\n\n stableCurrentAudioSequenceIndexesRef.current = nextAudioSequenceIndexes;\n\n return nextAudioSequenceIndexes;\n }, [currentIndex, slideAudioSequenceMap]);\n const currentStepHasSpeakableElement = useMemo(\n () =>\n getStepHasSpeakableElement(\n stableElementList,\n markerElementIndexes,\n currentIndex\n ),\n [currentIndex, markerElementIndexes, stableElementList]\n );\n const currentInteractionElement = useMemo(\n () =>\n currentStepElement?.type === \"interaction\"\n ? currentStepElement\n : undefined,\n [currentStepElement]\n );\n\n return {\n currentElementList,\n stepElementLists,\n slideElementList,\n currentIndex,\n audioList,\n currentAudioSequenceIndexes,\n currentStepHasSpeakableElement,\n currentInteractionElement,\n canGoPrev,\n canGoNext,\n handlePrev,\n handleNext,\n };\n};\n\nexport default useSlide;\n"],"names":["getMarkerElementList","elementList","element","getMarkerElementIndexes","indexes","index","hasPlayableAudio","isStreamingAudio","segments","segment","getElementAudioKey","candidateElement","getAudioList","list","elementIndex","normalizedAudioSegments","hasAudioSegments","getAudioIndexMap","audioIndexMap","audioIndex","getSlideAudioSequenceMap","markerElementIndexes","sequenceMap","startIndex","slideIndex","nextMarkerIndex","sequenceIndexes","getInitialSlideIndex","slideElementList","visibleIndex","getVisibleElement","getCurrentElementList","currentIndex","currentList","visibleElement","applyDiffElement","getStepElementLists","_","getStepHasSpeakableElement","hasSameElementReferences","prevElementList","nextElementList","hasSameNumberValues","prevValues","nextValues","value","useSlide","stableElementListRef","useRef","stableCurrentAudioSequenceIndexesRef","stableElementList","useMemo","previousStableElementListRef","previousSlideElementListRef","previousMarkerElementIndexesRef","audioList","slideAudioSequenceMap","setCurrentIndex","useState","useEffect","previousStableElementList","previousSlideElementList","previousMarkerElementIndexes","prevIndex","previousStepHasSpeakableElement","resolvedNextIndex","resolveNextSlideIndexAfterMarkerAppend","handlePrev","useCallback","handleNext","canGoPrev","canGoNext","currentStepElement","currentElementList","stepElementLists","currentAudioSequenceIndexes","nextAudioSequenceIndexes","currentStepHasSpeakableElement","currentInteractionElement"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=r=>!!(r?.type==="interaction"&&(r.readonly||r.user_input?.trim())),f=(r,t)=>r.length<=t.length&&r.every((n,a)=>n===t[a]),M=({previousIndex:r,previousSlideElementList:t,nextSlideElementList:n,previousStepHasSpeakableElement:a})=>{if(n.length===0)return-1;const c=n.length>t.length&&f(t,n),e=t.length-1,g=r===e,o=r>=0?t[r]:void 0;return c&&g&&(h(o)||!a&&o?.type!=="interaction")?t.length:r>=0&&r<n.length?r:-1};exports.resolveNextSlideIndexAfterMarkerAppend=M;
|
|
2
2
|
//# sourceMappingURL=streamingNavigation.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamingNavigation.cjs.js","sources":["../../../../src/components/Slide/utils/streamingNavigation.ts"],"sourcesContent":["import type { Element } from \"../types\";\n\ninterface ResolveNextSlideIndexParams {\n previousIndex: number;\n previousSlideElementList: Element[];\n nextSlideElementList: Element[];\n}\n\nconst isResolvedInteractionElement = (element?: Element) =>\n Boolean(\n element?.type === \"interaction\" &&\n (element.readonly || element.user_input?.trim())\n );\n\nconst hasStableMarkerPrefix = (\n previousSlideElementList: Element[],\n nextSlideElementList: Element[]\n) =>\n previousSlideElementList.length <= nextSlideElementList.length &&\n previousSlideElementList.every(\n (element, index) => element === nextSlideElementList[index]\n );\n\nexport const resolveNextSlideIndexAfterMarkerAppend = ({\n previousIndex,\n previousSlideElementList,\n nextSlideElementList,\n}: ResolveNextSlideIndexParams) => {\n if (nextSlideElementList.length === 0) {\n return -1;\n }\n\n const hasAppendedMarkers =\n nextSlideElementList.length > previousSlideElementList.length &&\n hasStableMarkerPrefix(previousSlideElementList, nextSlideElementList);\n const previousLastMarkerIndex = previousSlideElementList.length - 1;\n const wasFocusedOnPreviousLastMarker =\n previousIndex === previousLastMarkerIndex;\n const previousCurrentElement =\n previousIndex >= 0 ? previousSlideElementList[previousIndex] : undefined;\n\n // When a resolved interaction is already the terminal step and SSE appends\n // the first follow-up marker, jump into that new marker immediately instead\n // of waiting for the interaction auto-close and silent-step delay.\n if (\n hasAppendedMarkers &&\n wasFocusedOnPreviousLastMarker &&\n isResolvedInteractionElement(previousCurrentElement)\n ) {\n return previousSlideElementList.length;\n }\n\n if (previousIndex >= 0 && previousIndex < nextSlideElementList.length) {\n return previousIndex;\n }\n\n return -1;\n};\n"],"names":["isResolvedInteractionElement","element","hasStableMarkerPrefix","previousSlideElementList","nextSlideElementList","index","resolveNextSlideIndexAfterMarkerAppend","previousIndex","hasAppendedMarkers","previousLastMarkerIndex","wasFocusedOnPreviousLastMarker","previousCurrentElement"],"mappings":"
|
|
1
|
+
{"version":3,"file":"streamingNavigation.cjs.js","sources":["../../../../src/components/Slide/utils/streamingNavigation.ts"],"sourcesContent":["import type { Element } from \"../types\";\n\ninterface ResolveNextSlideIndexParams {\n previousIndex: number;\n previousSlideElementList: Element[];\n nextSlideElementList: Element[];\n previousStepHasSpeakableElement: boolean;\n}\n\nconst isResolvedInteractionElement = (element?: Element) =>\n Boolean(\n element?.type === \"interaction\" &&\n (element.readonly || element.user_input?.trim())\n );\n\nconst hasStableMarkerPrefix = (\n previousSlideElementList: Element[],\n nextSlideElementList: Element[]\n) =>\n previousSlideElementList.length <= nextSlideElementList.length &&\n previousSlideElementList.every(\n (element, index) => element === nextSlideElementList[index]\n );\n\nexport const resolveNextSlideIndexAfterMarkerAppend = ({\n previousIndex,\n previousSlideElementList,\n nextSlideElementList,\n previousStepHasSpeakableElement,\n}: ResolveNextSlideIndexParams) => {\n if (nextSlideElementList.length === 0) {\n return -1;\n }\n\n const hasAppendedMarkers =\n nextSlideElementList.length > previousSlideElementList.length &&\n hasStableMarkerPrefix(previousSlideElementList, nextSlideElementList);\n const previousLastMarkerIndex = previousSlideElementList.length - 1;\n const wasFocusedOnPreviousLastMarker =\n previousIndex === previousLastMarkerIndex;\n const previousCurrentElement =\n previousIndex >= 0 ? previousSlideElementList[previousIndex] : undefined;\n\n // When a resolved interaction is already the terminal step and SSE appends\n // the first follow-up marker, jump into that new marker immediately instead\n // of waiting for the interaction auto-close and silent-step delay.\n if (\n hasAppendedMarkers &&\n wasFocusedOnPreviousLastMarker &&\n (isResolvedInteractionElement(previousCurrentElement) ||\n (!previousStepHasSpeakableElement &&\n previousCurrentElement?.type !== \"interaction\"))\n ) {\n return previousSlideElementList.length;\n }\n\n if (previousIndex >= 0 && previousIndex < nextSlideElementList.length) {\n return previousIndex;\n }\n\n return -1;\n};\n"],"names":["isResolvedInteractionElement","element","hasStableMarkerPrefix","previousSlideElementList","nextSlideElementList","index","resolveNextSlideIndexAfterMarkerAppend","previousIndex","previousStepHasSpeakableElement","hasAppendedMarkers","previousLastMarkerIndex","wasFocusedOnPreviousLastMarker","previousCurrentElement"],"mappings":"gFASA,MAAMA,EAAgCC,GACpC,GACEA,GAAS,OAAS,gBACfA,EAAQ,UAAYA,EAAQ,YAAY,KAAA,IAGzCC,EAAwB,CAC5BC,EACAC,IAEAD,EAAyB,QAAUC,EAAqB,QACxDD,EAAyB,MACvB,CAACF,EAASI,IAAUJ,IAAYG,EAAqBC,CAAK,CAC5D,EAEWC,EAAyC,CAAC,CACrD,cAAAC,EACA,yBAAAJ,EACA,qBAAAC,EACA,gCAAAI,CACF,IAAmC,CACjC,GAAIJ,EAAqB,SAAW,EAClC,MAAO,GAGT,MAAMK,EACJL,EAAqB,OAASD,EAAyB,QACvDD,EAAsBC,EAA0BC,CAAoB,EAChEM,EAA0BP,EAAyB,OAAS,EAC5DQ,EACJJ,IAAkBG,EACdE,EACJL,GAAiB,EAAIJ,EAAyBI,CAAa,EAAI,OAKjE,OACEE,GACAE,IACCX,EAA6BY,CAAsB,GACjD,CAACJ,GACAI,GAAwB,OAAS,eAE9BT,EAAyB,OAG9BI,GAAiB,GAAKA,EAAgBH,EAAqB,OACtDG,EAGF,EACT"}
|
|
@@ -3,6 +3,7 @@ interface ResolveNextSlideIndexParams {
|
|
|
3
3
|
previousIndex: number;
|
|
4
4
|
previousSlideElementList: Element[];
|
|
5
5
|
nextSlideElementList: Element[];
|
|
6
|
+
previousStepHasSpeakableElement: boolean;
|
|
6
7
|
}
|
|
7
|
-
export declare const resolveNextSlideIndexAfterMarkerAppend: ({ previousIndex, previousSlideElementList, nextSlideElementList, }: ResolveNextSlideIndexParams) => number;
|
|
8
|
+
export declare const resolveNextSlideIndexAfterMarkerAppend: ({ previousIndex, previousSlideElementList, nextSlideElementList, previousStepHasSpeakableElement, }: ResolveNextSlideIndexParams) => number;
|
|
8
9
|
export {};
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
const
|
|
1
|
+
const f = (r) => !!(r?.type === "interaction" && (r.readonly || r.user_input?.trim())), k = (r, a) => r.length <= a.length && r.every(
|
|
2
2
|
(n, t) => n === a[t]
|
|
3
|
-
),
|
|
3
|
+
), M = ({
|
|
4
4
|
previousIndex: r,
|
|
5
5
|
previousSlideElementList: a,
|
|
6
|
-
nextSlideElementList: n
|
|
6
|
+
nextSlideElementList: n,
|
|
7
|
+
previousStepHasSpeakableElement: t
|
|
7
8
|
}) => {
|
|
8
9
|
if (n.length === 0)
|
|
9
10
|
return -1;
|
|
10
|
-
const
|
|
11
|
-
return
|
|
11
|
+
const o = n.length > a.length && k(a, n), h = a.length - 1, g = r === h, c = r >= 0 ? a[r] : void 0;
|
|
12
|
+
return o && g && (f(c) || !t && c?.type !== "interaction") ? a.length : r >= 0 && r < n.length ? r : -1;
|
|
12
13
|
};
|
|
13
14
|
export {
|
|
14
|
-
|
|
15
|
+
M as resolveNextSlideIndexAfterMarkerAppend
|
|
15
16
|
};
|
|
16
17
|
//# sourceMappingURL=streamingNavigation.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamingNavigation.es.js","sources":["../../../../src/components/Slide/utils/streamingNavigation.ts"],"sourcesContent":["import type { Element } from \"../types\";\n\ninterface ResolveNextSlideIndexParams {\n previousIndex: number;\n previousSlideElementList: Element[];\n nextSlideElementList: Element[];\n}\n\nconst isResolvedInteractionElement = (element?: Element) =>\n Boolean(\n element?.type === \"interaction\" &&\n (element.readonly || element.user_input?.trim())\n );\n\nconst hasStableMarkerPrefix = (\n previousSlideElementList: Element[],\n nextSlideElementList: Element[]\n) =>\n previousSlideElementList.length <= nextSlideElementList.length &&\n previousSlideElementList.every(\n (element, index) => element === nextSlideElementList[index]\n );\n\nexport const resolveNextSlideIndexAfterMarkerAppend = ({\n previousIndex,\n previousSlideElementList,\n nextSlideElementList,\n}: ResolveNextSlideIndexParams) => {\n if (nextSlideElementList.length === 0) {\n return -1;\n }\n\n const hasAppendedMarkers =\n nextSlideElementList.length > previousSlideElementList.length &&\n hasStableMarkerPrefix(previousSlideElementList, nextSlideElementList);\n const previousLastMarkerIndex = previousSlideElementList.length - 1;\n const wasFocusedOnPreviousLastMarker =\n previousIndex === previousLastMarkerIndex;\n const previousCurrentElement =\n previousIndex >= 0 ? previousSlideElementList[previousIndex] : undefined;\n\n // When a resolved interaction is already the terminal step and SSE appends\n // the first follow-up marker, jump into that new marker immediately instead\n // of waiting for the interaction auto-close and silent-step delay.\n if (\n hasAppendedMarkers &&\n wasFocusedOnPreviousLastMarker &&\n isResolvedInteractionElement(previousCurrentElement)\n ) {\n return previousSlideElementList.length;\n }\n\n if (previousIndex >= 0 && previousIndex < nextSlideElementList.length) {\n return previousIndex;\n }\n\n return -1;\n};\n"],"names":["isResolvedInteractionElement","element","hasStableMarkerPrefix","previousSlideElementList","nextSlideElementList","index","resolveNextSlideIndexAfterMarkerAppend","previousIndex","hasAppendedMarkers","previousLastMarkerIndex","wasFocusedOnPreviousLastMarker","previousCurrentElement"],"mappings":"
|
|
1
|
+
{"version":3,"file":"streamingNavigation.es.js","sources":["../../../../src/components/Slide/utils/streamingNavigation.ts"],"sourcesContent":["import type { Element } from \"../types\";\n\ninterface ResolveNextSlideIndexParams {\n previousIndex: number;\n previousSlideElementList: Element[];\n nextSlideElementList: Element[];\n previousStepHasSpeakableElement: boolean;\n}\n\nconst isResolvedInteractionElement = (element?: Element) =>\n Boolean(\n element?.type === \"interaction\" &&\n (element.readonly || element.user_input?.trim())\n );\n\nconst hasStableMarkerPrefix = (\n previousSlideElementList: Element[],\n nextSlideElementList: Element[]\n) =>\n previousSlideElementList.length <= nextSlideElementList.length &&\n previousSlideElementList.every(\n (element, index) => element === nextSlideElementList[index]\n );\n\nexport const resolveNextSlideIndexAfterMarkerAppend = ({\n previousIndex,\n previousSlideElementList,\n nextSlideElementList,\n previousStepHasSpeakableElement,\n}: ResolveNextSlideIndexParams) => {\n if (nextSlideElementList.length === 0) {\n return -1;\n }\n\n const hasAppendedMarkers =\n nextSlideElementList.length > previousSlideElementList.length &&\n hasStableMarkerPrefix(previousSlideElementList, nextSlideElementList);\n const previousLastMarkerIndex = previousSlideElementList.length - 1;\n const wasFocusedOnPreviousLastMarker =\n previousIndex === previousLastMarkerIndex;\n const previousCurrentElement =\n previousIndex >= 0 ? previousSlideElementList[previousIndex] : undefined;\n\n // When a resolved interaction is already the terminal step and SSE appends\n // the first follow-up marker, jump into that new marker immediately instead\n // of waiting for the interaction auto-close and silent-step delay.\n if (\n hasAppendedMarkers &&\n wasFocusedOnPreviousLastMarker &&\n (isResolvedInteractionElement(previousCurrentElement) ||\n (!previousStepHasSpeakableElement &&\n previousCurrentElement?.type !== \"interaction\"))\n ) {\n return previousSlideElementList.length;\n }\n\n if (previousIndex >= 0 && previousIndex < nextSlideElementList.length) {\n return previousIndex;\n }\n\n return -1;\n};\n"],"names":["isResolvedInteractionElement","element","hasStableMarkerPrefix","previousSlideElementList","nextSlideElementList","index","resolveNextSlideIndexAfterMarkerAppend","previousIndex","previousStepHasSpeakableElement","hasAppendedMarkers","previousLastMarkerIndex","wasFocusedOnPreviousLastMarker","previousCurrentElement"],"mappings":"AASA,MAAMA,IAA+B,CAACC,MACpC,GACEA,GAAS,SAAS,kBACfA,EAAQ,YAAYA,EAAQ,YAAY,KAAA,KAGzCC,IAAwB,CAC5BC,GACAC,MAEAD,EAAyB,UAAUC,EAAqB,UACxDD,EAAyB;AAAA,EACvB,CAACF,GAASI,MAAUJ,MAAYG,EAAqBC,CAAK;AAC5D,GAEWC,IAAyC,CAAC;AAAA,EACrD,eAAAC;AAAA,EACA,0BAAAJ;AAAA,EACA,sBAAAC;AAAA,EACA,iCAAAI;AACF,MAAmC;AACjC,MAAIJ,EAAqB,WAAW;AAClC,WAAO;AAGT,QAAMK,IACJL,EAAqB,SAASD,EAAyB,UACvDD,EAAsBC,GAA0BC,CAAoB,GAChEM,IAA0BP,EAAyB,SAAS,GAC5DQ,IACJJ,MAAkBG,GACdE,IACJL,KAAiB,IAAIJ,EAAyBI,CAAa,IAAI;AAKjE,SACEE,KACAE,MACCX,EAA6BY,CAAsB,KACjD,CAACJ,KACAI,GAAwB,SAAS,iBAE9BT,EAAyB,SAG9BI,KAAiB,KAAKA,IAAgBH,EAAqB,SACtDG,IAGF;AACT;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../../../../../../_virtual/index.cjs11.js"),v=require("./constants.cjs.js");var d;function x(){if(d)return c.__exports;d=1,Object.defineProperty(c.__exports,"__esModule",{value:!0}),c.__exports.sanitizeUrl=void 0;var e=v.__require();function m(r){return e.relativeFirstCharacters.indexOf(r[0])>-1}function p(r){var i=r.replace(e.ctrlCharactersRegex,"");return i.replace(e.htmlEntitiesRegex,function(t,a){return String.fromCharCode(a)})}function R(r){return URL.canParse(r)}function l(r){try{return decodeURIComponent(r)}catch{return r}}function f(r){if(!r)return e.BLANK_URL;var i,t=l(r.trim());do t=p(t).replace(e.htmlCtrlEntityRegex,"").replace(e.ctrlCharactersRegex,"").replace(e.whitespaceEscapeCharsRegex,"").trim(),t=l(t),i=t.match(e.ctrlCharactersRegex)||t.match(e.htmlEntitiesRegex)||t.match(e.htmlCtrlEntityRegex)||t.match(e.whitespaceEscapeCharsRegex);while(i&&i.length>0);var a=t;if(!a)return e.BLANK_URL;if(m(a))return a;var u=a.trimStart(),h=u.match(e.urlSchemeRegex);if(!h)return a;var n=h[0].toLowerCase().trim();if(e.invalidProtocolRegex.test(n))return e.BLANK_URL;var s=u.replace(/\\/g,"/");if(n==="mailto:"||n.includes("://"))return s;if(n==="http:"||n==="https:"){if(!R(s))return e.BLANK_URL;var o=new URL(s);return o.protocol=o.protocol.toLowerCase(),o.hostname=o.hostname.toLowerCase(),o.toString()}return s}return c.__exports.sanitizeUrl=f,c.__exports}exports.__require=x;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../../../../../_virtual/index.cjs8.js");/*!
|
|
2
2
|
Copyright (c) 2018 Jed Watson.
|
|
3
3
|
Licensed under the MIT License (MIT), see
|
|
4
4
|
http://jedwatson.github.io/classnames
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _e=require("./chunk-TZMSLE5B.cjs.js"),H=require("./chunk-S3R3BYOJ.cjs.js"),B=require("./chunk-ABZYJK2D.cjs.js"),y=require("./chunk-AGHRB4JF.cjs.js");require("../../../../../../d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/index.cjs.js");require("../../../../../../d3-zoom@3.0.0/node_modules/d3-zoom/src/transform.cjs.js");const Te=require("../../../../../../../../../_virtual/index.cjs7.js"),jt=require("../../../../../../d3-selection@3.0.0/node_modules/d3-selection/src/select.cjs.js");var Ft=(function(){var e=y.__name(function(xt,b,x,v){for(x=x||{},v=xt.length;v--;x[xt[v]]=b);return x},"o"),t=[1,24],s=[1,25],o=[1,26],l=[1,27],a=[1,28],r=[1,63],i=[1,64],n=[1,65],u=[1,66],d=[1,67],p=[1,68],f=[1,69],E=[1,29],O=[1,30],S=[1,31],P=[1,32],L=[1,33],F=[1,34],G=[1,35],K=[1,36],J=[1,37],Z=[1,38],$=[1,39],tt=[1,40],et=[1,41],at=[1,42],nt=[1,43],it=[1,44],rt=[1,45],st=[1,46],lt=[1,47],ot=[1,48],ct=[1,50],ht=[1,51],ut=[1,52],dt=[1,53],_t=[1,54],ft=[1,55],pt=[1,56],yt=[1,57],gt=[1,58],mt=[1,59],bt=[1,60],Tt=[14,42],Qt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Dt=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],A=[1,82],k=[1,83],C=[1,84],w=[1,85],T=[12,14,42],se=[12,14,33,42],Mt=[12,14,33,42,76,77,79,80],At=[12,33],Ht=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qt={trace:y.__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:y.__name(function(b,x,v,g,R,h,Pt){var _=h.length-1;switch(R){case 3:g.setDirection("TB");break;case 4:g.setDirection("BT");break;case 5:g.setDirection("RL");break;case 6:g.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:g.setC4Type(h[_-3]);break;case 19:g.setTitle(h[_].substring(6)),this.$=h[_].substring(6);break;case 20:g.setAccDescription(h[_].substring(15)),this.$=h[_].substring(15);break;case 21:this.$=h[_].trim(),g.setTitle(this.$);break;case 22:case 23:this.$=h[_].trim(),g.setAccDescription(this.$);break;case 28:h[_].splice(2,0,"ENTERPRISE"),g.addPersonOrSystemBoundary(...h[_]),this.$=h[_];break;case 29:h[_].splice(2,0,"SYSTEM"),g.addPersonOrSystemBoundary(...h[_]),this.$=h[_];break;case 30:g.addPersonOrSystemBoundary(...h[_]),this.$=h[_];break;case 31:h[_].splice(2,0,"CONTAINER"),g.addContainerBoundary(...h[_]),this.$=h[_];break;case 32:g.addDeploymentNode("node",...h[_]),this.$=h[_];break;case 33:g.addDeploymentNode("nodeL",...h[_]),this.$=h[_];break;case 34:g.addDeploymentNode("nodeR",...h[_]),this.$=h[_];break;case 35:g.popBoundaryParseStack();break;case 39:g.addPersonOrSystem("person",...h[_]),this.$=h[_];break;case 40:g.addPersonOrSystem("external_person",...h[_]),this.$=h[_];break;case 41:g.addPersonOrSystem("system",...h[_]),this.$=h[_];break;case 42:g.addPersonOrSystem("system_db",...h[_]),this.$=h[_];break;case 43:g.addPersonOrSystem("system_queue",...h[_]),this.$=h[_];break;case 44:g.addPersonOrSystem("external_system",...h[_]),this.$=h[_];break;case 45:g.addPersonOrSystem("external_system_db",...h[_]),this.$=h[_];break;case 46:g.addPersonOrSystem("external_system_queue",...h[_]),this.$=h[_];break;case 47:g.addContainer("container",...h[_]),this.$=h[_];break;case 48:g.addContainer("container_db",...h[_]),this.$=h[_];break;case 49:g.addContainer("container_queue",...h[_]),this.$=h[_];break;case 50:g.addContainer("external_container",...h[_]),this.$=h[_];break;case 51:g.addContainer("external_container_db",...h[_]),this.$=h[_];break;case 52:g.addContainer("external_container_queue",...h[_]),this.$=h[_];break;case 53:g.addComponent("component",...h[_]),this.$=h[_];break;case 54:g.addComponent("component_db",...h[_]),this.$=h[_];break;case 55:g.addComponent("component_queue",...h[_]),this.$=h[_];break;case 56:g.addComponent("external_component",...h[_]),this.$=h[_];break;case 57:g.addComponent("external_component_db",...h[_]),this.$=h[_];break;case 58:g.addComponent("external_component_queue",...h[_]),this.$=h[_];break;case 60:g.addRel("rel",...h[_]),this.$=h[_];break;case 61:g.addRel("birel",...h[_]),this.$=h[_];break;case 62:g.addRel("rel_u",...h[_]),this.$=h[_];break;case 63:g.addRel("rel_d",...h[_]),this.$=h[_];break;case 64:g.addRel("rel_l",...h[_]),this.$=h[_];break;case 65:g.addRel("rel_r",...h[_]),this.$=h[_];break;case 66:g.addRel("rel_b",...h[_]),this.$=h[_];break;case 67:h[_].splice(0,1),g.addRel("rel",...h[_]),this.$=h[_];break;case 68:g.updateElStyle("update_el_style",...h[_]),this.$=h[_];break;case 69:g.updateRelStyle("update_rel_style",...h[_]),this.$=h[_];break;case 70:g.updateLayoutConfig("update_layout_config",...h[_]),this.$=h[_];break;case 71:this.$=[h[_]];break;case 72:h[_].unshift(h[_-1]),this.$=h[_];break;case 73:case 75:this.$=h[_].trim();break;case 74:let kt={};kt[h[_-1].trim()]=h[_].trim(),this.$=kt;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:u,39:d,40:p,41:f,43:23,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt},{13:70,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:u,39:d,40:p,41:f,43:23,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt},{13:71,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:u,39:d,40:p,41:f,43:23,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt},{13:72,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:u,39:d,40:p,41:f,43:23,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt},{13:73,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:u,39:d,40:p,41:f,43:23,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt},{14:[1,74]},e(Tt,[2,13],{43:23,29:49,30:61,32:62,20:75,34:r,36:i,37:n,38:u,39:d,40:p,41:f,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt}),e(Tt,[2,14]),e(Qt,[2,16],{12:[1,76]}),e(Tt,[2,36],{12:[1,77]}),e(Dt,[2,19]),e(Dt,[2,20]),{25:[1,78]},{27:[1,79]},e(Dt,[2,23]),{35:80,75:81,76:A,77:k,79:C,80:w},{35:86,75:81,76:A,77:k,79:C,80:w},{35:87,75:81,76:A,77:k,79:C,80:w},{35:88,75:81,76:A,77:k,79:C,80:w},{35:89,75:81,76:A,77:k,79:C,80:w},{35:90,75:81,76:A,77:k,79:C,80:w},{35:91,75:81,76:A,77:k,79:C,80:w},{35:92,75:81,76:A,77:k,79:C,80:w},{35:93,75:81,76:A,77:k,79:C,80:w},{35:94,75:81,76:A,77:k,79:C,80:w},{35:95,75:81,76:A,77:k,79:C,80:w},{35:96,75:81,76:A,77:k,79:C,80:w},{35:97,75:81,76:A,77:k,79:C,80:w},{35:98,75:81,76:A,77:k,79:C,80:w},{35:99,75:81,76:A,77:k,79:C,80:w},{35:100,75:81,76:A,77:k,79:C,80:w},{35:101,75:81,76:A,77:k,79:C,80:w},{35:102,75:81,76:A,77:k,79:C,80:w},{35:103,75:81,76:A,77:k,79:C,80:w},{35:104,75:81,76:A,77:k,79:C,80:w},e(T,[2,59]),{35:105,75:81,76:A,77:k,79:C,80:w},{35:106,75:81,76:A,77:k,79:C,80:w},{35:107,75:81,76:A,77:k,79:C,80:w},{35:108,75:81,76:A,77:k,79:C,80:w},{35:109,75:81,76:A,77:k,79:C,80:w},{35:110,75:81,76:A,77:k,79:C,80:w},{35:111,75:81,76:A,77:k,79:C,80:w},{35:112,75:81,76:A,77:k,79:C,80:w},{35:113,75:81,76:A,77:k,79:C,80:w},{35:114,75:81,76:A,77:k,79:C,80:w},{35:115,75:81,76:A,77:k,79:C,80:w},{20:116,29:49,30:61,32:62,34:r,36:i,37:n,38:u,39:d,40:p,41:f,43:23,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt},{12:[1,118],33:[1,117]},{35:119,75:81,76:A,77:k,79:C,80:w},{35:120,75:81,76:A,77:k,79:C,80:w},{35:121,75:81,76:A,77:k,79:C,80:w},{35:122,75:81,76:A,77:k,79:C,80:w},{35:123,75:81,76:A,77:k,79:C,80:w},{35:124,75:81,76:A,77:k,79:C,80:w},{35:125,75:81,76:A,77:k,79:C,80:w},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},e(Tt,[2,15]),e(Qt,[2,17],{21:22,19:130,22:t,23:s,24:o,26:l,28:a}),e(Tt,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:s,24:o,26:l,28:a,34:r,36:i,37:n,38:u,39:d,40:p,41:f,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt}),e(Dt,[2,21]),e(Dt,[2,22]),e(T,[2,39]),e(se,[2,71],{75:81,35:132,76:A,77:k,79:C,80:w}),e(Mt,[2,73]),{78:[1,133]},e(Mt,[2,75]),e(Mt,[2,76]),e(T,[2,40]),e(T,[2,41]),e(T,[2,42]),e(T,[2,43]),e(T,[2,44]),e(T,[2,45]),e(T,[2,46]),e(T,[2,47]),e(T,[2,48]),e(T,[2,49]),e(T,[2,50]),e(T,[2,51]),e(T,[2,52]),e(T,[2,53]),e(T,[2,54]),e(T,[2,55]),e(T,[2,56]),e(T,[2,57]),e(T,[2,58]),e(T,[2,60]),e(T,[2,61]),e(T,[2,62]),e(T,[2,63]),e(T,[2,64]),e(T,[2,65]),e(T,[2,66]),e(T,[2,67]),e(T,[2,68]),e(T,[2,69]),e(T,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},e(At,[2,28]),e(At,[2,29]),e(At,[2,30]),e(At,[2,31]),e(At,[2,32]),e(At,[2,33]),e(At,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},e(Qt,[2,18]),e(Tt,[2,38]),e(se,[2,72]),e(Mt,[2,74]),e(T,[2,24]),e(T,[2,35]),e(Ht,[2,25]),e(Ht,[2,26],{12:[1,138]}),e(Ht,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:y.__name(function(b,x){if(x.recoverable)this.trace(b);else{var v=new Error(b);throw v.hash=x,v}},"parseError"),parse:y.__name(function(b){var x=this,v=[0],g=[],R=[null],h=[],Pt=this.table,_="",kt=0,le=0,Ae=2,oe=1,ke=h.slice.call(arguments,1),D=Object.create(this.lexer),Ct={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(Ct.yy[Gt]=this.yy[Gt]);D.setInput(b,Ct.yy),Ct.yy.lexer=D,Ct.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Kt=D.yylloc;h.push(Kt);var Ce=D.options&&D.options.ranges;typeof Ct.yy.parseError=="function"?this.parseError=Ct.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function we(N){v.length=v.length-2*N,R.length=R.length-N,h.length=h.length-N}y.__name(we,"popStack");function ce(){var N;return N=g.pop()||D.lex()||oe,typeof N!="number"&&(N instanceof Array&&(g=N,N=g.pop()),N=x.symbols_[N]||N),N}y.__name(ce,"lex");for(var M,wt,Y,Jt,Ot={},Nt,Q,he,Yt;;){if(wt=v[v.length-1],this.defaultActions[wt]?Y=this.defaultActions[wt]:((M===null||typeof M>"u")&&(M=ce()),Y=Pt[wt]&&Pt[wt][M]),typeof Y>"u"||!Y.length||!Y[0]){var Zt="";Yt=[];for(Nt in Pt[wt])this.terminals_[Nt]&&Nt>Ae&&Yt.push("'"+this.terminals_[Nt]+"'");D.showPosition?Zt="Parse error on line "+(kt+1)+`:
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _e=require("./chunk-TZMSLE5B.cjs.js"),H=require("./chunk-S3R3BYOJ.cjs.js"),B=require("./chunk-ABZYJK2D.cjs.js"),y=require("./chunk-AGHRB4JF.cjs.js");require("../../../../../../d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/index.cjs.js");require("../../../../../../d3-zoom@3.0.0/node_modules/d3-zoom/src/transform.cjs.js");const Te=require("../../../../../../../../../_virtual/index.cjs9.js"),jt=require("../../../../../../d3-selection@3.0.0/node_modules/d3-selection/src/select.cjs.js");var Ft=(function(){var e=y.__name(function(xt,b,x,v){for(x=x||{},v=xt.length;v--;x[xt[v]]=b);return x},"o"),t=[1,24],s=[1,25],o=[1,26],l=[1,27],a=[1,28],r=[1,63],i=[1,64],n=[1,65],u=[1,66],d=[1,67],p=[1,68],f=[1,69],E=[1,29],O=[1,30],S=[1,31],P=[1,32],L=[1,33],F=[1,34],G=[1,35],K=[1,36],J=[1,37],Z=[1,38],$=[1,39],tt=[1,40],et=[1,41],at=[1,42],nt=[1,43],it=[1,44],rt=[1,45],st=[1,46],lt=[1,47],ot=[1,48],ct=[1,50],ht=[1,51],ut=[1,52],dt=[1,53],_t=[1,54],ft=[1,55],pt=[1,56],yt=[1,57],gt=[1,58],mt=[1,59],bt=[1,60],Tt=[14,42],Qt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Dt=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],A=[1,82],k=[1,83],C=[1,84],w=[1,85],T=[12,14,42],se=[12,14,33,42],Mt=[12,14,33,42,76,77,79,80],At=[12,33],Ht=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qt={trace:y.__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:y.__name(function(b,x,v,g,R,h,Pt){var _=h.length-1;switch(R){case 3:g.setDirection("TB");break;case 4:g.setDirection("BT");break;case 5:g.setDirection("RL");break;case 6:g.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:g.setC4Type(h[_-3]);break;case 19:g.setTitle(h[_].substring(6)),this.$=h[_].substring(6);break;case 20:g.setAccDescription(h[_].substring(15)),this.$=h[_].substring(15);break;case 21:this.$=h[_].trim(),g.setTitle(this.$);break;case 22:case 23:this.$=h[_].trim(),g.setAccDescription(this.$);break;case 28:h[_].splice(2,0,"ENTERPRISE"),g.addPersonOrSystemBoundary(...h[_]),this.$=h[_];break;case 29:h[_].splice(2,0,"SYSTEM"),g.addPersonOrSystemBoundary(...h[_]),this.$=h[_];break;case 30:g.addPersonOrSystemBoundary(...h[_]),this.$=h[_];break;case 31:h[_].splice(2,0,"CONTAINER"),g.addContainerBoundary(...h[_]),this.$=h[_];break;case 32:g.addDeploymentNode("node",...h[_]),this.$=h[_];break;case 33:g.addDeploymentNode("nodeL",...h[_]),this.$=h[_];break;case 34:g.addDeploymentNode("nodeR",...h[_]),this.$=h[_];break;case 35:g.popBoundaryParseStack();break;case 39:g.addPersonOrSystem("person",...h[_]),this.$=h[_];break;case 40:g.addPersonOrSystem("external_person",...h[_]),this.$=h[_];break;case 41:g.addPersonOrSystem("system",...h[_]),this.$=h[_];break;case 42:g.addPersonOrSystem("system_db",...h[_]),this.$=h[_];break;case 43:g.addPersonOrSystem("system_queue",...h[_]),this.$=h[_];break;case 44:g.addPersonOrSystem("external_system",...h[_]),this.$=h[_];break;case 45:g.addPersonOrSystem("external_system_db",...h[_]),this.$=h[_];break;case 46:g.addPersonOrSystem("external_system_queue",...h[_]),this.$=h[_];break;case 47:g.addContainer("container",...h[_]),this.$=h[_];break;case 48:g.addContainer("container_db",...h[_]),this.$=h[_];break;case 49:g.addContainer("container_queue",...h[_]),this.$=h[_];break;case 50:g.addContainer("external_container",...h[_]),this.$=h[_];break;case 51:g.addContainer("external_container_db",...h[_]),this.$=h[_];break;case 52:g.addContainer("external_container_queue",...h[_]),this.$=h[_];break;case 53:g.addComponent("component",...h[_]),this.$=h[_];break;case 54:g.addComponent("component_db",...h[_]),this.$=h[_];break;case 55:g.addComponent("component_queue",...h[_]),this.$=h[_];break;case 56:g.addComponent("external_component",...h[_]),this.$=h[_];break;case 57:g.addComponent("external_component_db",...h[_]),this.$=h[_];break;case 58:g.addComponent("external_component_queue",...h[_]),this.$=h[_];break;case 60:g.addRel("rel",...h[_]),this.$=h[_];break;case 61:g.addRel("birel",...h[_]),this.$=h[_];break;case 62:g.addRel("rel_u",...h[_]),this.$=h[_];break;case 63:g.addRel("rel_d",...h[_]),this.$=h[_];break;case 64:g.addRel("rel_l",...h[_]),this.$=h[_];break;case 65:g.addRel("rel_r",...h[_]),this.$=h[_];break;case 66:g.addRel("rel_b",...h[_]),this.$=h[_];break;case 67:h[_].splice(0,1),g.addRel("rel",...h[_]),this.$=h[_];break;case 68:g.updateElStyle("update_el_style",...h[_]),this.$=h[_];break;case 69:g.updateRelStyle("update_rel_style",...h[_]),this.$=h[_];break;case 70:g.updateLayoutConfig("update_layout_config",...h[_]),this.$=h[_];break;case 71:this.$=[h[_]];break;case 72:h[_].unshift(h[_-1]),this.$=h[_];break;case 73:case 75:this.$=h[_].trim();break;case 74:let kt={};kt[h[_-1].trim()]=h[_].trim(),this.$=kt;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:u,39:d,40:p,41:f,43:23,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt},{13:70,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:u,39:d,40:p,41:f,43:23,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt},{13:71,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:u,39:d,40:p,41:f,43:23,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt},{13:72,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:u,39:d,40:p,41:f,43:23,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt},{13:73,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:u,39:d,40:p,41:f,43:23,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt},{14:[1,74]},e(Tt,[2,13],{43:23,29:49,30:61,32:62,20:75,34:r,36:i,37:n,38:u,39:d,40:p,41:f,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt}),e(Tt,[2,14]),e(Qt,[2,16],{12:[1,76]}),e(Tt,[2,36],{12:[1,77]}),e(Dt,[2,19]),e(Dt,[2,20]),{25:[1,78]},{27:[1,79]},e(Dt,[2,23]),{35:80,75:81,76:A,77:k,79:C,80:w},{35:86,75:81,76:A,77:k,79:C,80:w},{35:87,75:81,76:A,77:k,79:C,80:w},{35:88,75:81,76:A,77:k,79:C,80:w},{35:89,75:81,76:A,77:k,79:C,80:w},{35:90,75:81,76:A,77:k,79:C,80:w},{35:91,75:81,76:A,77:k,79:C,80:w},{35:92,75:81,76:A,77:k,79:C,80:w},{35:93,75:81,76:A,77:k,79:C,80:w},{35:94,75:81,76:A,77:k,79:C,80:w},{35:95,75:81,76:A,77:k,79:C,80:w},{35:96,75:81,76:A,77:k,79:C,80:w},{35:97,75:81,76:A,77:k,79:C,80:w},{35:98,75:81,76:A,77:k,79:C,80:w},{35:99,75:81,76:A,77:k,79:C,80:w},{35:100,75:81,76:A,77:k,79:C,80:w},{35:101,75:81,76:A,77:k,79:C,80:w},{35:102,75:81,76:A,77:k,79:C,80:w},{35:103,75:81,76:A,77:k,79:C,80:w},{35:104,75:81,76:A,77:k,79:C,80:w},e(T,[2,59]),{35:105,75:81,76:A,77:k,79:C,80:w},{35:106,75:81,76:A,77:k,79:C,80:w},{35:107,75:81,76:A,77:k,79:C,80:w},{35:108,75:81,76:A,77:k,79:C,80:w},{35:109,75:81,76:A,77:k,79:C,80:w},{35:110,75:81,76:A,77:k,79:C,80:w},{35:111,75:81,76:A,77:k,79:C,80:w},{35:112,75:81,76:A,77:k,79:C,80:w},{35:113,75:81,76:A,77:k,79:C,80:w},{35:114,75:81,76:A,77:k,79:C,80:w},{35:115,75:81,76:A,77:k,79:C,80:w},{20:116,29:49,30:61,32:62,34:r,36:i,37:n,38:u,39:d,40:p,41:f,43:23,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt},{12:[1,118],33:[1,117]},{35:119,75:81,76:A,77:k,79:C,80:w},{35:120,75:81,76:A,77:k,79:C,80:w},{35:121,75:81,76:A,77:k,79:C,80:w},{35:122,75:81,76:A,77:k,79:C,80:w},{35:123,75:81,76:A,77:k,79:C,80:w},{35:124,75:81,76:A,77:k,79:C,80:w},{35:125,75:81,76:A,77:k,79:C,80:w},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},e(Tt,[2,15]),e(Qt,[2,17],{21:22,19:130,22:t,23:s,24:o,26:l,28:a}),e(Tt,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:s,24:o,26:l,28:a,34:r,36:i,37:n,38:u,39:d,40:p,41:f,44:E,45:O,46:S,47:P,48:L,49:F,50:G,51:K,52:J,53:Z,54:$,55:tt,56:et,57:at,58:nt,59:it,60:rt,61:st,62:lt,63:ot,64:ct,65:ht,66:ut,67:dt,68:_t,69:ft,70:pt,71:yt,72:gt,73:mt,74:bt}),e(Dt,[2,21]),e(Dt,[2,22]),e(T,[2,39]),e(se,[2,71],{75:81,35:132,76:A,77:k,79:C,80:w}),e(Mt,[2,73]),{78:[1,133]},e(Mt,[2,75]),e(Mt,[2,76]),e(T,[2,40]),e(T,[2,41]),e(T,[2,42]),e(T,[2,43]),e(T,[2,44]),e(T,[2,45]),e(T,[2,46]),e(T,[2,47]),e(T,[2,48]),e(T,[2,49]),e(T,[2,50]),e(T,[2,51]),e(T,[2,52]),e(T,[2,53]),e(T,[2,54]),e(T,[2,55]),e(T,[2,56]),e(T,[2,57]),e(T,[2,58]),e(T,[2,60]),e(T,[2,61]),e(T,[2,62]),e(T,[2,63]),e(T,[2,64]),e(T,[2,65]),e(T,[2,66]),e(T,[2,67]),e(T,[2,68]),e(T,[2,69]),e(T,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},e(At,[2,28]),e(At,[2,29]),e(At,[2,30]),e(At,[2,31]),e(At,[2,32]),e(At,[2,33]),e(At,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},e(Qt,[2,18]),e(Tt,[2,38]),e(se,[2,72]),e(Mt,[2,74]),e(T,[2,24]),e(T,[2,35]),e(Ht,[2,25]),e(Ht,[2,26],{12:[1,138]}),e(Ht,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:y.__name(function(b,x){if(x.recoverable)this.trace(b);else{var v=new Error(b);throw v.hash=x,v}},"parseError"),parse:y.__name(function(b){var x=this,v=[0],g=[],R=[null],h=[],Pt=this.table,_="",kt=0,le=0,Ae=2,oe=1,ke=h.slice.call(arguments,1),D=Object.create(this.lexer),Ct={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(Ct.yy[Gt]=this.yy[Gt]);D.setInput(b,Ct.yy),Ct.yy.lexer=D,Ct.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Kt=D.yylloc;h.push(Kt);var Ce=D.options&&D.options.ranges;typeof Ct.yy.parseError=="function"?this.parseError=Ct.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function we(N){v.length=v.length-2*N,R.length=R.length-N,h.length=h.length-N}y.__name(we,"popStack");function ce(){var N;return N=g.pop()||D.lex()||oe,typeof N!="number"&&(N instanceof Array&&(g=N,N=g.pop()),N=x.symbols_[N]||N),N}y.__name(ce,"lex");for(var M,wt,Y,Jt,Ot={},Nt,Q,he,Yt;;){if(wt=v[v.length-1],this.defaultActions[wt]?Y=this.defaultActions[wt]:((M===null||typeof M>"u")&&(M=ce()),Y=Pt[wt]&&Pt[wt][M]),typeof Y>"u"||!Y.length||!Y[0]){var Zt="";Yt=[];for(Nt in Pt[wt])this.terminals_[Nt]&&Nt>Ae&&Yt.push("'"+this.terminals_[Nt]+"'");D.showPosition?Zt="Parse error on line "+(kt+1)+`:
|
|
2
2
|
`+D.showPosition()+`
|
|
3
3
|
Expecting `+Yt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":Zt="Parse error on line "+(kt+1)+": Unexpected "+(M==oe?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(Zt,{text:D.match,token:this.terminals_[M]||M,line:D.yylineno,loc:Kt,expected:Yt})}if(Y[0]instanceof Array&&Y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+wt+", token: "+M);switch(Y[0]){case 1:v.push(M),R.push(D.yytext),h.push(D.yylloc),v.push(Y[1]),M=null,le=D.yyleng,_=D.yytext,kt=D.yylineno,Kt=D.yylloc;break;case 2:if(Q=this.productions_[Y[1]][1],Ot.$=R[R.length-Q],Ot._$={first_line:h[h.length-(Q||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(Q||1)].first_column,last_column:h[h.length-1].last_column},Ce&&(Ot._$.range=[h[h.length-(Q||1)].range[0],h[h.length-1].range[1]]),Jt=this.performAction.apply(Ot,[_,le,kt,Ct.yy,Y[1],R,h].concat(ke)),typeof Jt<"u")return Jt;Q&&(v=v.slice(0,-1*Q*2),R=R.slice(0,-1*Q),h=h.slice(0,-1*Q)),v.push(this.productions_[Y[1]][0]),R.push(Ot.$),h.push(Ot._$),he=Pt[v[v.length-2]][v[v.length-1]],v.push(he);break;case 3:return!0}}return!0},"parse")},Ee=(function(){var xt={EOF:1,parseError:y.__name(function(x,v){if(this.yy.parser)this.yy.parser.parseError(x,v);else throw new Error(x)},"parseError"),setInput:y.__name(function(b,x){return this.yy=x||this.yy||{},this._input=b,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:y.__name(function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var x=b.match(/(?:\r\n?|\n).*/g);return x?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},"input"),unput:y.__name(function(b){var x=b.length,v=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-x),this.offset-=x;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===g.length?this.yylloc.first_column:0)+g[g.length-v.length].length-v[0].length:this.yylloc.first_column-x},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-x]),this.yyleng=this.yytext.length,this},"unput"),more:y.__name(function(){return this._more=!0,this},"more"),reject:y.__name(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:y.__name(function(b){this.unput(this.match.slice(b))},"less"),pastInput:y.__name(function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:y.__name(function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:y.__name(function(){var b=this.pastInput(),x=new Array(b.length+1).join("-");return b+this.upcomingInput()+`
|
|
@@ -4,7 +4,7 @@ import { setAccDescription as Be, getAccDescription as Ie, getAccTitle as Me, se
|
|
|
4
4
|
import { __name as g, log as fe } from "./chunk-AGHRB4JF.es.js";
|
|
5
5
|
import "../../../../../../d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/index.es.js";
|
|
6
6
|
import "../../../../../../d3-zoom@3.0.0/node_modules/d3-zoom/src/transform.es.js";
|
|
7
|
-
import { d as je } from "../../../../../../../../../_virtual/index.
|
|
7
|
+
import { d as je } from "../../../../../../../../../_virtual/index.es9.js";
|
|
8
8
|
import jt from "../../../../../../d3-selection@3.0.0/node_modules/d3-selection/src/select.es.js";
|
|
9
9
|
var Ft = (function() {
|
|
10
10
|
var e = /* @__PURE__ */ g(function(_t, x, m, v) {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./chunk-ABZYJK2D.cjs.js"),s=require("./chunk-AGHRB4JF.cjs.js"),K=require("../../../../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./chunk-ABZYJK2D.cjs.js"),s=require("./chunk-AGHRB4JF.cjs.js"),K=require("../../../../../../../../../_virtual/index.cjs9.js");require("../../../../../../d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/index.cjs.js");require("../../../../../../d3-zoom@3.0.0/node_modules/d3-zoom/src/transform.cjs.js");const w=require("../../../../../../lodash-es@4.17.21/node_modules/lodash-es/memoize.cjs.js"),Q=require("../../../../../../lodash-es@4.17.21/node_modules/lodash-es/merge.cjs.js"),M=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/step.cjs.js"),V=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/natural.cjs.js"),q=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/monotone.cjs.js"),ee=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/linearClosed.cjs.js"),te=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/linear.cjs.js"),ne=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/catmullRom.cjs.js"),re=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/catmullRomOpen.cjs.js"),ie=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/catmullRomClosed.cjs.js"),ae=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/cardinal.cjs.js"),oe=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/cardinalOpen.cjs.js"),se=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/cardinalClosed.cjs.js"),ce=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/bundle.cjs.js"),L=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/bump.cjs.js"),le=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/basisOpen.cjs.js"),ue=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/basisClosed.cjs.js"),de=require("../../../../../../d3-shape@3.2.0/node_modules/d3-shape/src/curve/basis.cjs.js"),he=require("../../../../../../d3-selection@3.0.0/node_modules/d3-selection/src/select.cjs.js");var R="",fe={curveBasis:de.default,curveBasisClosed:ue.default,curveBasisOpen:le.default,curveBumpX:L.bumpX,curveBumpY:L.bumpY,curveBundle:ce.default,curveCardinalClosed:se.default,curveCardinalOpen:oe.default,curveCardinal:ae.default,curveCatmullRomClosed:ie.default,curveCatmullRomOpen:re.default,curveCatmullRom:ne.default,curveLinear:te.default,curveLinearClosed:ee.default,curveMonotoneX:q.monotoneX,curveMonotoneY:q.monotoneY,curveNatural:V.default,curveStep:M.default,curveStepAfter:M.stepAfter,curveStepBefore:M.stepBefore},me=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,ge=s.__name(function(t,e){const r=D(t,/(?:init\b)|(?:initialize\b)/);let n={};if(Array.isArray(r)){const o=r.map(l=>l.args);u.sanitizeDirective(o),n=u.assignWithDepth_default(n,[...o])}else n=r.args;if(!n)return;let i=u.detectType(t,e);const a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),D=s.__name(function(t,e=null){try{const r=new RegExp(`[%]{2}(?![{]${me.source})(?=[}][%]{2}).*
|
|
2
2
|
`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),s.log.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n;const i=[];for(;(n=u.directiveRegex.exec(t))!==null;)if(n.index===u.directiveRegex.lastIndex&&u.directiveRegex.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){const a=n[1]?n[1]:n[2],o=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:o})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return s.log.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),ve=s.__name(function(t){return t.replace(u.directiveRegex,"")},"removeDirectives"),_e=s.__name(function(t,e){for(const[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");function $(t,e){if(!t)return e;const r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return fe[r]??e}s.__name($,"interpolateToCurve");function O(t,e){const r=t.trim();if(r)return e.securityLevel!=="loose"?K.distExports.sanitizeUrl(r):r}s.__name(O,"formatUrl");var ye=s.__name((t,...e)=>{const r=t.split("."),n=r.length-1,i=r[n];let a=window;for(let o=0;o<n;o++)if(a=a[r[o]],!a){s.log.error(`Function name: ${t} not found in window`);return}a[i](...e)},"runFunc");function S(t,e){return!t||!e?0:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}s.__name(S,"distance");function H(t){let e,r=0;t.forEach(i=>{r+=S(i,e),e=i});const n=r/2;return C(t,n)}s.__name(H,"traverseEdge");function N(t){return t.length===1?t[0]:H(t)}s.__name(N,"calcLabelPosition");var A=s.__name((t,e=2)=>{const r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),C=s.__name((t,e)=>{let r,n=e;for(const i of t){if(r){const a=S(i,r);if(a===0)return r;if(a<n)n-=a;else{const o=n/a;if(o<=0)return r;if(o>=1)return{x:i.x,y:i.y};if(o>0&&o<1)return{x:A((1-o)*r.x+o*i.x,5),y:A((1-o)*r.y+o*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),xe=s.__name((t,e,r)=>{s.log.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());const i=C(e,25),a=t?10:5,o=Math.atan2(e[0].y-i.y,e[0].x-i.x),l={x:0,y:0};return l.x=Math.sin(o)*a+(e[0].x+i.x)/2,l.y=-Math.cos(o)*a+(e[0].y+i.y)/2,l},"calcCardinalityPosition");function z(t,e,r){const n=structuredClone(r);s.log.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();const i=25+t,a=C(n,i),o=10+t*.5,l=Math.atan2(n[0].y-a.y,n[0].x-a.x),c={x:0,y:0};return e==="start_left"?(c.x=Math.sin(l+Math.PI)*o+(n[0].x+a.x)/2,c.y=-Math.cos(l+Math.PI)*o+(n[0].y+a.y)/2):e==="end_right"?(c.x=Math.sin(l-Math.PI)*o+(n[0].x+a.x)/2-5,c.y=-Math.cos(l-Math.PI)*o+(n[0].y+a.y)/2-5):e==="end_left"?(c.x=Math.sin(l)*o+(n[0].x+a.x)/2-5,c.y=-Math.cos(l)*o+(n[0].y+a.y)/2-5):(c.x=Math.sin(l)*o+(n[0].x+a.x)/2,c.y=-Math.cos(l)*o+(n[0].y+a.y)/2),c}s.__name(z,"calcTerminalLabelPosition");function B(t){let e="",r="";for(const n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}s.__name(B,"getStylesFromArray");var F=0,j=s.__name(()=>(F++,"id-"+Math.random().toString(36).substr(2,12)+"-"+F),"generateId");function U(t){let e="";const r="0123456789abcdef",n=r.length;for(let i=0;i<t;i++)e+=r.charAt(Math.floor(Math.random()*n));return e}s.__name(U,"makeRandomHex");var k=s.__name(t=>U(t.length),"random"),pe=s.__name(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),be=s.__name(function(t,e){const r=e.text.replace(u.common_default.lineBreakRegex," "),[,n]=b(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);const a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),Y=w.default((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},r),u.common_default.lineBreakRegex.test(t)))return t;const n=t.split(" ").filter(Boolean),i=[];let a="";return n.forEach((o,l)=>{const c=g(`${o} `,r),d=g(a,r);if(c>e){const{hyphenatedStrings:v,remainingWord:h}=Me(o,e,"-",r);i.push(a,...v),a=h}else d+c>=e?(i.push(a),a=o):a=[a,o].filter(Boolean).join(" ");l+1===n.length&&i.push(a)}),i.filter(o=>o!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),Me=w.default((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);const i=[...t],a=[];let o="";return i.forEach((l,c)=>{const d=`${o}${l}`;if(g(d,n)>=e){const y=c+1,v=i.length===y,h=`${d}${r}`;a.push(v?d:h),o=""}else o=d}),{hyphenatedStrings:a,remainingWord:o}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function E(t,e){return T(t,e).height}s.__name(E,"calculateTextHeight");function g(t,e){return T(t,e).width}s.__name(g,"calculateTextWidth");var T=w.default((t,e)=>{const{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,a]=b(r),o=["sans-serif",n],l=t.split(u.common_default.lineBreakRegex),c=[],d=he.default("body");if(!d.remove)return{width:0,height:0,lineHeight:0};const _=d.append("svg");for(const v of o){let h=0;const f={width:0,height:0,lineHeight:0};for(const Z of l){const I=pe();I.text=Z||R;const P=be(_,I).style("font-size",a).style("font-weight",i).style("font-family",v),x=(P._groups||P)[0][0].getBBox();if(x.width===0&&x.height===0)throw new Error("svg element not in render tree");f.width=Math.round(Math.max(f.width,x.width)),h=Math.round(x.height),f.height+=h,f.lineHeight=Math.round(Math.max(f.lineHeight,h))}c.push(f)}_.remove();const y=isNaN(c[1].height)||isNaN(c[1].width)||isNaN(c[1].lineHeight)||c[0].height>c[1].height&&c[0].width>c[1].width&&c[0].lineHeight>c[1].lineHeight?0:1;return c[y]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),m,we=(m=class{constructor(e=!1,r){this.count=0,this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}},s.__name(m,"InitIDGenerator"),m),p,$e=s.__name(function(t){return p=p||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),p.innerHTML=t,unescape(p.textContent)},"entityDecode");function X(t){return"str"in t}s.__name(X,"isDetailedError");var Se=s.__name((t,e,r,n)=>{if(!n)return;const i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),b=s.__name(t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function W(t,e){return Q.default({},t,e)}s.__name(W,"cleanAndMerge");var Ce={assignWithDepth:u.assignWithDepth_default,wrapLabel:Y,calculateTextHeight:E,calculateTextWidth:g,calculateTextDimensions:T,cleanAndMerge:W,detectInit:ge,detectDirective:D,isSubstringInArray:_e,interpolateToCurve:$,calcLabelPosition:N,calcCardinalityPosition:xe,calcTerminalLabelPosition:z,formatUrl:O,getStylesFromArray:B,generateId:j,random:k,runFunc:ye,entityDecode:$e,insertTitle:Se,isLabelCoordinateInPath:G,parseFontSize:b,InitIDGenerator:we},Be=s.__name(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){const n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"fl°°"+n+"¶ß":"fl°"+n+"¶ß"}),e},"encodeEntities"),Ee=s.__name(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),Te=s.__name((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");function J(t){return t??null}s.__name(J,"handleUndefinedAttr");function G(t,e){const r=Math.round(t.x),n=Math.round(t.y),i=e.replace(/(\d+\.\d+)/g,a=>Math.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}s.__name(G,"isLabelCoordinateInPath");exports.ZERO_WIDTH_SPACE=R;exports.calculateTextHeight=E;exports.calculateTextWidth=g;exports.cleanAndMerge=W;exports.decodeEntities=Ee;exports.encodeEntities=Be;exports.generateId=j;exports.getEdgeId=Te;exports.getStylesFromArray=B;exports.handleUndefinedAttr=J;exports.interpolateToCurve=$;exports.isDetailedError=X;exports.parseFontSize=b;exports.random=k;exports.removeDirectives=ve;exports.utils_default=Ce;exports.wrapLabel=Y;
|
|
3
3
|
//# sourceMappingURL=chunk-S3R3BYOJ.cjs.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { common_default as b, assignWithDepth_default as E, directiveRegex as $, sanitizeDirective as X, detectType as Y } from "./chunk-ABZYJK2D.es.js";
|
|
2
2
|
import { __name as s, log as g } from "./chunk-AGHRB4JF.es.js";
|
|
3
|
-
import { d as G } from "../../../../../../../../../_virtual/index.
|
|
3
|
+
import { d as G } from "../../../../../../../../../_virtual/index.es9.js";
|
|
4
4
|
import "../../../../../../d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/index.es.js";
|
|
5
5
|
import "../../../../../../d3-zoom@3.0.0/node_modules/d3-zoom/src/transform.es.js";
|
|
6
6
|
import w from "../../../../../../lodash-es@4.17.21/node_modules/lodash-es/memoize.es.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./chunk-ABZYJK2D.cjs.js"),s=require("./chunk-AGHRB4JF.cjs.js"),c=require("../../../../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./chunk-ABZYJK2D.cjs.js"),s=require("./chunk-AGHRB4JF.cjs.js"),c=require("../../../../../../../../../_virtual/index.cjs9.js");var d=s.__name((a,t)=>{const e=a.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx&&e.attr("rx",t.rx),t.ry&&e.attr("ry",t.ry),t.attrs!==void 0)for(const r in t.attrs)e.attr(r,t.attrs[r]);return t.class&&e.attr("class",t.class),e},"drawRect"),o=s.__name((a,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};d(a,e).lower()},"drawBackgroundRect"),x=s.__name((a,t)=>{const e=t.text.replace(l.lineBreakRegex," "),r=a.append("text");r.attr("x",t.x),r.attr("y",t.y),r.attr("class","legend"),r.style("text-anchor",t.anchor),t.class&&r.attr("class",t.class);const n=r.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(e),r},"drawText"),g=s.__name((a,t,e,r)=>{const n=a.append("image");n.attr("x",t),n.attr("y",e);const i=c.distExports.sanitizeUrl(r);n.attr("xlink:href",i)},"drawImage"),m=s.__name((a,t,e,r)=>{const n=a.append("use");n.attr("x",t),n.attr("y",e);const i=c.distExports.sanitizeUrl(r);n.attr("xlink:href",`#${i}`)},"drawEmbeddedImage"),h=s.__name(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),y=s.__name(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj");exports.drawBackgroundRect=o;exports.drawEmbeddedImage=m;exports.drawImage=g;exports.drawRect=d;exports.drawText=x;exports.getNoteRect=h;exports.getTextObj=y;
|
|
2
2
|
//# sourceMappingURL=chunk-TZMSLE5B.cjs.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { lineBreakRegex as o } from "./chunk-ABZYJK2D.es.js";
|
|
2
2
|
import { __name as n } from "./chunk-AGHRB4JF.es.js";
|
|
3
|
-
import { d as l } from "../../../../../../../../../_virtual/index.
|
|
3
|
+
import { d as l } from "../../../../../../../../../_virtual/index.es9.js";
|
|
4
4
|
var x = /* @__PURE__ */ n((s, t) => {
|
|
5
5
|
const r = s.append("rect");
|
|
6
6
|
if (r.attr("x", t.x), r.attr("y", t.y), r.attr("fill", t.fill), r.attr("stroke", t.stroke), r.attr("width", t.width), r.attr("height", t.height), t.name && r.attr("name", t.name), t.rx && r.attr("rx", t.rx), t.ry && r.attr("ry", t.ry), t.attrs !== void 0)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const it=require("./chunk-S3R3BYOJ.cjs.js"),L=require("./chunk-ABZYJK2D.cjs.js"),l=require("./chunk-AGHRB4JF.cjs.js"),rt=require("../../../../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const it=require("./chunk-S3R3BYOJ.cjs.js"),L=require("./chunk-ABZYJK2D.cjs.js"),l=require("./chunk-AGHRB4JF.cjs.js"),rt=require("../../../../../../../../../_virtual/index.cjs9.js"),M=require("../../../../../../../../../_virtual/dayjs.min.cjs.js"),st=require("../../../../../../../../../_virtual/isoWeek.cjs.js"),ct=require("../../../../../../../../../_virtual/customParseFormat.cjs.js"),lt=require("../../../../../../../../../_virtual/advancedFormat.cjs.js");require("../../../../../../d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/index.cjs.js");require("../../../../../../d3-zoom@3.0.0/node_modules/d3-zoom/src/transform.cjs.js");const ot=require("../../../../../../d3-scale@4.0.2/node_modules/d3-scale/src/time.cjs.js"),ut=require("../../../../../../d3-array@3.2.4/node_modules/d3-array/src/min.cjs.js"),dt=require("../../../../../../d3-array@3.2.4/node_modules/d3-array/src/max.cjs.js"),ft=require("../../../../../../d3-scale@4.0.2/node_modules/d3-scale/src/linear.cjs.js"),mt=require("../../../../../../d3-interpolate@3.0.1/node_modules/d3-interpolate/src/hcl.cjs.js"),We=require("../../../../../../d3-axis@3.0.0/node_modules/d3-axis/src/axis.cjs.js"),Pe=require("../../../../../../d3-time-format@4.1.0/node_modules/d3-time-format/src/defaultLocale.cjs.js"),Re=require("../../../../../../d3-time@3.1.0/node_modules/d3-time/src/month.cjs.js"),H=require("../../../../../../d3-time@3.1.0/node_modules/d3-time/src/week.cjs.js"),Ye=require("../../../../../../d3-time@3.1.0/node_modules/d3-time/src/day.cjs.js"),Be=require("../../../../../../d3-time@3.1.0/node_modules/d3-time/src/hour.cjs.js"),Ne=require("../../../../../../d3-time@3.1.0/node_modules/d3-time/src/minute.cjs.js"),ze=require("../../../../../../d3-time@3.1.0/node_modules/d3-time/src/second.cjs.js"),Ge=require("../../../../../../d3-time@3.1.0/node_modules/d3-time/src/millisecond.cjs.js"),fe=require("../../../../../../d3-selection@3.0.0/node_modules/d3-selection/src/select.cjs.js");var Te=(function(){var e=l.__name(function(T,o,d,f){for(d=d||{},f=T.length;f--;d[T[f]]=o);return d},"o"),a=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],i=[1,26],s=[1,27],r=[1,28],k=[1,29],m=[1,30],V=[1,31],Y=[1,32],B=[1,33],E=[1,34],F=[1,9],z=[1,10],W=[1,11],P=[1,12],x=[1,13],$=[1,14],ee=[1,15],te=[1,16],ne=[1,19],ae=[1,20],ie=[1,21],re=[1,22],se=[1,23],y=[1,25],p=[1,35],_={trace:l.__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:l.__name(function(o,d,f,u,h,n,c){var t=n.length-1;switch(h){case 1:return n[t-1];case 2:this.$=[];break;case 3:n[t-1].push(n[t]),this.$=n[t-1];break;case 4:case 5:this.$=n[t];break;case 6:case 7:this.$=[];break;case 8:u.setWeekday("monday");break;case 9:u.setWeekday("tuesday");break;case 10:u.setWeekday("wednesday");break;case 11:u.setWeekday("thursday");break;case 12:u.setWeekday("friday");break;case 13:u.setWeekday("saturday");break;case 14:u.setWeekday("sunday");break;case 15:u.setWeekend("friday");break;case 16:u.setWeekend("saturday");break;case 17:u.setDateFormat(n[t].substr(11)),this.$=n[t].substr(11);break;case 18:u.enableInclusiveEndDates(),this.$=n[t].substr(18);break;case 19:u.TopAxis(),this.$=n[t].substr(8);break;case 20:u.setAxisFormat(n[t].substr(11)),this.$=n[t].substr(11);break;case 21:u.setTickInterval(n[t].substr(13)),this.$=n[t].substr(13);break;case 22:u.setExcludes(n[t].substr(9)),this.$=n[t].substr(9);break;case 23:u.setIncludes(n[t].substr(9)),this.$=n[t].substr(9);break;case 24:u.setTodayMarker(n[t].substr(12)),this.$=n[t].substr(12);break;case 27:u.setDiagramTitle(n[t].substr(6)),this.$=n[t].substr(6);break;case 28:this.$=n[t].trim(),u.setAccTitle(this.$);break;case 29:case 30:this.$=n[t].trim(),u.setAccDescription(this.$);break;case 31:u.addSection(n[t].substr(8)),this.$=n[t].substr(8);break;case 33:u.addTask(n[t-1],n[t]),this.$="task";break;case 34:this.$=n[t-1],u.setClickEvent(n[t-1],n[t],null);break;case 35:this.$=n[t-2],u.setClickEvent(n[t-2],n[t-1],n[t]);break;case 36:this.$=n[t-2],u.setClickEvent(n[t-2],n[t-1],null),u.setLink(n[t-2],n[t]);break;case 37:this.$=n[t-3],u.setClickEvent(n[t-3],n[t-2],n[t-1]),u.setLink(n[t-3],n[t]);break;case 38:this.$=n[t-2],u.setClickEvent(n[t-2],n[t],null),u.setLink(n[t-2],n[t-1]);break;case 39:this.$=n[t-3],u.setClickEvent(n[t-3],n[t-1],n[t]),u.setLink(n[t-3],n[t-2]);break;case 40:this.$=n[t-1],u.setLink(n[t-1],n[t]);break;case 41:case 47:this.$=n[t-1]+" "+n[t];break;case 42:case 43:case 45:this.$=n[t-2]+" "+n[t-1]+" "+n[t];break;case 44:case 46:this.$=n[t-3]+" "+n[t-2]+" "+n[t-1]+" "+n[t];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},e(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:i,13:s,14:r,15:k,16:m,17:V,18:Y,19:18,20:B,21:E,22:F,23:z,24:W,25:P,26:x,27:$,28:ee,29:te,30:ne,31:ae,33:ie,35:re,36:se,37:24,38:y,40:p},e(a,[2,7],{1:[2,1]}),e(a,[2,3]),{9:36,11:17,12:i,13:s,14:r,15:k,16:m,17:V,18:Y,19:18,20:B,21:E,22:F,23:z,24:W,25:P,26:x,27:$,28:ee,29:te,30:ne,31:ae,33:ie,35:re,36:se,37:24,38:y,40:p},e(a,[2,5]),e(a,[2,6]),e(a,[2,17]),e(a,[2,18]),e(a,[2,19]),e(a,[2,20]),e(a,[2,21]),e(a,[2,22]),e(a,[2,23]),e(a,[2,24]),e(a,[2,25]),e(a,[2,26]),e(a,[2,27]),{32:[1,37]},{34:[1,38]},e(a,[2,30]),e(a,[2,31]),e(a,[2,32]),{39:[1,39]},e(a,[2,8]),e(a,[2,9]),e(a,[2,10]),e(a,[2,11]),e(a,[2,12]),e(a,[2,13]),e(a,[2,14]),e(a,[2,15]),e(a,[2,16]),{41:[1,40],43:[1,41]},e(a,[2,4]),e(a,[2,28]),e(a,[2,29]),e(a,[2,33]),e(a,[2,34],{42:[1,42],43:[1,43]}),e(a,[2,40],{41:[1,44]}),e(a,[2,35],{43:[1,45]}),e(a,[2,36]),e(a,[2,38],{42:[1,46]}),e(a,[2,37]),e(a,[2,39])],defaultActions:{},parseError:l.__name(function(o,d){if(d.recoverable)this.trace(o);else{var f=new Error(o);throw f.hash=d,f}},"parseError"),parse:l.__name(function(o){var d=this,f=[0],u=[],h=[null],n=[],c=this.table,t="",D=0,b=0,w=2,A=1,C=n.slice.call(arguments,1),S=Object.create(this.lexer),G={yy:{}};for(var ge in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ge)&&(G.yy[ge]=this.yy[ge]);S.setInput(o,G.yy),G.yy.lexer=S,G.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var _e=S.yylloc;n.push(_e);var nt=S.options&&S.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function at(O){f.length=f.length-2*O,h.length=h.length-O,n.length=n.length-O}l.__name(at,"popStack");function Ve(){var O;return O=u.pop()||S.lex()||A,typeof O!="number"&&(O instanceof Array&&(u=O,O=u.pop()),O=d.symbols_[O]||O),O}l.__name(Ve,"lex");for(var q,j,R,ve,K={},ue,X,Oe,de;;){if(j=f[f.length-1],this.defaultActions[j]?R=this.defaultActions[j]:((q===null||typeof q>"u")&&(q=Ve()),R=c[j]&&c[j][q]),typeof R>"u"||!R.length||!R[0]){var pe="";de=[];for(ue in c[j])this.terminals_[ue]&&ue>w&&de.push("'"+this.terminals_[ue]+"'");S.showPosition?pe="Parse error on line "+(D+1)+`:
|
|
2
2
|
`+S.showPosition()+`
|
|
3
3
|
Expecting `+de.join(", ")+", got '"+(this.terminals_[q]||q)+"'":pe="Parse error on line "+(D+1)+": Unexpected "+(q==A?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(pe,{text:S.match,token:this.terminals_[q]||q,line:S.yylineno,loc:_e,expected:de})}if(R[0]instanceof Array&&R.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+q);switch(R[0]){case 1:f.push(q),h.push(S.yytext),n.push(S.yylloc),f.push(R[1]),q=null,b=S.yyleng,t=S.yytext,D=S.yylineno,_e=S.yylloc;break;case 2:if(X=this.productions_[R[1]][1],K.$=h[h.length-X],K._$={first_line:n[n.length-(X||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(X||1)].first_column,last_column:n[n.length-1].last_column},nt&&(K._$.range=[n[n.length-(X||1)].range[0],n[n.length-1].range[1]]),ve=this.performAction.apply(K,[t,b,D,G.yy,R[1],h,n].concat(C)),typeof ve<"u")return ve;X&&(f=f.slice(0,-1*X*2),h=h.slice(0,-1*X),n=n.slice(0,-1*X)),f.push(this.productions_[R[1]][0]),h.push(K.$),n.push(K._$),Oe=c[f[f.length-2]][f[f.length-1]],f.push(Oe);break;case 3:return!0}}return!0},"parse")},v=(function(){var T={EOF:1,parseError:l.__name(function(d,f){if(this.yy.parser)this.yy.parser.parseError(d,f);else throw new Error(d)},"parseError"),setInput:l.__name(function(o,d){return this.yy=d||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:l.__name(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var d=o.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:l.__name(function(o){var d=o.length,f=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var h=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===u.length?this.yylloc.first_column:0)+u[u.length-f.length].length-f[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[h[0],h[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:l.__name(function(){return this._more=!0,this},"more"),reject:l.__name(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:l.__name(function(o){this.unput(this.match.slice(o))},"less"),pastInput:l.__name(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:l.__name(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:l.__name(function(){var o=this.pastInput(),d=new Array(o.length+1).join("-");return o+this.upcomingInput()+`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { utils_default as ie } from "./chunk-S3R3BYOJ.es.js";
|
|
2
2
|
import { getAccDescription as se, setAccDescription as ne, getDiagramTitle as ae, setDiagramTitle as oe, getAccTitle as ce, setAccTitle as le, getConfig2 as K, configureSvgSize as ue, common_default as de, clear as fe } from "./chunk-ABZYJK2D.es.js";
|
|
3
3
|
import { __name as c, log as mt } from "./chunk-AGHRB4JF.es.js";
|
|
4
|
-
import { d as he } from "../../../../../../../../../_virtual/index.
|
|
4
|
+
import { d as he } from "../../../../../../../../../_virtual/index.es9.js";
|
|
5
5
|
import L from "../../../../../../../../../_virtual/dayjs.min.es.js";
|
|
6
6
|
import me from "../../../../../../../../../_virtual/isoWeek.es.js";
|
|
7
7
|
import ke from "../../../../../../../../../_virtual/customParseFormat.es.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("./chunk-TZMSLE5B.cjs.js"),Gt=require("./chunk-MI3HLSF2.cjs.js"),de=require("./chunk-QZHKN3VN.cjs.js"),Y=require("./chunk-S3R3BYOJ.cjs.js"),_=require("./chunk-ABZYJK2D.cjs.js"),x=require("./chunk-AGHRB4JF.cjs.js");require("../../../../../../d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/index.cjs.js");require("../../../../../../d3-zoom@3.0.0/node_modules/d3-zoom/src/transform.cjs.js");const Jt=require("../../../../../../../../../_virtual/index.cjs7.js"),At=require("../../../../../../d3-selection@3.0.0/node_modules/d3-selection/src/select.cjs.js");var Yt=(function(){var e=x.__name(function(lt,v,A,I){for(A=A||{},I=lt.length;I--;A[lt[I]]=v);return A},"o"),t=[1,2],n=[1,3],a=[1,4],r=[2,4],i=[1,9],c=[1,11],h=[1,13],o=[1,14],s=[1,16],p=[1,17],g=[1,18],f=[1,24],m=[1,25],b=[1,26],w=[1,27],k=[1,28],N=[1,29],S=[1,30],O=[1,31],B=[1,32],z=[1,33],H=[1,34],Z=[1,35],et=[1,36],K=[1,37],U=[1,38],F=[1,39],D=[1,41],Q=[1,42],G=[1,43],$=[1,44],at=[1,45],R=[1,46],y=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,55,60,61,62,63,71],L=[2,71],X=[4,5,16,50,52,53],j=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,55,60,61,62,63,71],M=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,55,60,61,62,63,71],Rt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,55,60,61,62,63,71],Ft=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,55,60,61,62,63,71],it=[69,70,71],nt=[1,127],Dt={trace:x.__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,actor_with_config:54,note:55,placement:56,text2:57,over:58,actor_pair:59,links:60,link:61,properties:62,details:63,spaceList:64,",":65,left_of:66,right_of:67,signaltype:68,"+":69,"-":70,ACTOR:71,config_object:72,CONFIG_START:73,CONFIG_CONTENT:74,CONFIG_END:75,SOLID_OPEN_ARROW:76,DOTTED_OPEN_ARROW:77,SOLID_ARROW:78,BIDIRECTIONAL_SOLID_ARROW:79,DOTTED_ARROW:80,BIDIRECTIONAL_DOTTED_ARROW:81,SOLID_CROSS:82,DOTTED_CROSS:83,SOLID_POINT:84,DOTTED_POINT:85,TXT:86,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",55:"note",58:"over",60:"links",61:"link",62:"properties",63:"details",65:",",66:"left_of",67:"right_of",69:"+",70:"-",71:"ACTOR",73:"CONFIG_START",74:"CONFIG_CONTENT",75:"CONFIG_END",76:"SOLID_OPEN_ARROW",77:"DOTTED_OPEN_ARROW",78:"SOLID_ARROW",79:"BIDIRECTIONAL_SOLID_ARROW",80:"DOTTED_ARROW",81:"BIDIRECTIONAL_DOTTED_ARROW",82:"SOLID_CROSS",83:"DOTTED_CROSS",84:"SOLID_POINT",85:"DOTTED_POINT",86:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[64,2],[64,1],[59,3],[59,1],[56,1],[56,1],[17,5],[17,5],[17,4],[54,2],[72,3],[22,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[57,1]],performAction:x.__name(function(v,A,I,E,C,d,Et){var u=d.length-1;switch(C){case 3:return E.apply(d[u]),d[u];case 4:case 9:this.$=[];break;case 5:case 10:d[u-1].push(d[u]),this.$=d[u-1];break;case 6:case 7:case 11:case 12:this.$=d[u];break;case 8:case 13:this.$=[];break;case 15:d[u].type="createParticipant",this.$=d[u];break;case 16:d[u-1].unshift({type:"boxStart",boxData:E.parseBoxData(d[u-2])}),d[u-1].push({type:"boxEnd",boxText:d[u-2]}),this.$=d[u-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(d[u-2]),sequenceIndexStep:Number(d[u-1]),sequenceVisible:!0,signalType:E.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(d[u-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:E.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:E.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:E.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:E.LINETYPE.ACTIVE_START,actor:d[u-1].actor};break;case 23:this.$={type:"activeEnd",signalType:E.LINETYPE.ACTIVE_END,actor:d[u-1].actor};break;case 29:E.setDiagramTitle(d[u].substring(6)),this.$=d[u].substring(6);break;case 30:E.setDiagramTitle(d[u].substring(7)),this.$=d[u].substring(7);break;case 31:this.$=d[u].trim(),E.setAccTitle(this.$);break;case 32:case 33:this.$=d[u].trim(),E.setAccDescription(this.$);break;case 34:d[u-1].unshift({type:"loopStart",loopText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.LOOP_START}),d[u-1].push({type:"loopEnd",loopText:d[u-2],signalType:E.LINETYPE.LOOP_END}),this.$=d[u-1];break;case 35:d[u-1].unshift({type:"rectStart",color:E.parseMessage(d[u-2]),signalType:E.LINETYPE.RECT_START}),d[u-1].push({type:"rectEnd",color:E.parseMessage(d[u-2]),signalType:E.LINETYPE.RECT_END}),this.$=d[u-1];break;case 36:d[u-1].unshift({type:"optStart",optText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.OPT_START}),d[u-1].push({type:"optEnd",optText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.OPT_END}),this.$=d[u-1];break;case 37:d[u-1].unshift({type:"altStart",altText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.ALT_START}),d[u-1].push({type:"altEnd",signalType:E.LINETYPE.ALT_END}),this.$=d[u-1];break;case 38:d[u-1].unshift({type:"parStart",parText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.PAR_START}),d[u-1].push({type:"parEnd",signalType:E.LINETYPE.PAR_END}),this.$=d[u-1];break;case 39:d[u-1].unshift({type:"parStart",parText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.PAR_OVER_START}),d[u-1].push({type:"parEnd",signalType:E.LINETYPE.PAR_END}),this.$=d[u-1];break;case 40:d[u-1].unshift({type:"criticalStart",criticalText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.CRITICAL_START}),d[u-1].push({type:"criticalEnd",signalType:E.LINETYPE.CRITICAL_END}),this.$=d[u-1];break;case 41:d[u-1].unshift({type:"breakStart",breakText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.BREAK_START}),d[u-1].push({type:"breakEnd",optText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.BREAK_END}),this.$=d[u-1];break;case 43:this.$=d[u-3].concat([{type:"option",optionText:E.parseMessage(d[u-1]),signalType:E.LINETYPE.CRITICAL_OPTION},d[u]]);break;case 45:this.$=d[u-3].concat([{type:"and",parText:E.parseMessage(d[u-1]),signalType:E.LINETYPE.PAR_AND},d[u]]);break;case 47:this.$=d[u-3].concat([{type:"else",altText:E.parseMessage(d[u-1]),signalType:E.LINETYPE.ALT_ELSE},d[u]]);break;case 48:d[u-3].draw="participant",d[u-3].type="addParticipant",d[u-3].description=E.parseMessage(d[u-1]),this.$=d[u-3];break;case 49:d[u-1].draw="participant",d[u-1].type="addParticipant",this.$=d[u-1];break;case 50:d[u-3].draw="actor",d[u-3].type="addParticipant",d[u-3].description=E.parseMessage(d[u-1]),this.$=d[u-3];break;case 51:d[u-1].draw="actor",d[u-1].type="addParticipant",this.$=d[u-1];break;case 52:d[u-1].type="destroyParticipant",this.$=d[u-1];break;case 53:d[u-1].draw="participant",d[u-1].type="addParticipant",this.$=d[u-1];break;case 54:this.$=[d[u-1],{type:"addNote",placement:d[u-2],actor:d[u-1].actor,text:d[u]}];break;case 55:d[u-2]=[].concat(d[u-1],d[u-1]).slice(0,2),d[u-2][0]=d[u-2][0].actor,d[u-2][1]=d[u-2][1].actor,this.$=[d[u-1],{type:"addNote",placement:E.PLACEMENT.OVER,actor:d[u-2].slice(0,2),text:d[u]}];break;case 56:this.$=[d[u-1],{type:"addLinks",actor:d[u-1].actor,text:d[u]}];break;case 57:this.$=[d[u-1],{type:"addALink",actor:d[u-1].actor,text:d[u]}];break;case 58:this.$=[d[u-1],{type:"addProperties",actor:d[u-1].actor,text:d[u]}];break;case 59:this.$=[d[u-1],{type:"addDetails",actor:d[u-1].actor,text:d[u]}];break;case 62:this.$=[d[u-2],d[u]];break;case 63:this.$=d[u];break;case 64:this.$=E.PLACEMENT.LEFTOF;break;case 65:this.$=E.PLACEMENT.RIGHTOF;break;case 66:this.$=[d[u-4],d[u-1],{type:"addMessage",from:d[u-4].actor,to:d[u-1].actor,signalType:d[u-3],msg:d[u],activate:!0},{type:"activeStart",signalType:E.LINETYPE.ACTIVE_START,actor:d[u-1].actor}];break;case 67:this.$=[d[u-4],d[u-1],{type:"addMessage",from:d[u-4].actor,to:d[u-1].actor,signalType:d[u-3],msg:d[u]},{type:"activeEnd",signalType:E.LINETYPE.ACTIVE_END,actor:d[u-4].actor}];break;case 68:this.$=[d[u-3],d[u-1],{type:"addMessage",from:d[u-3].actor,to:d[u-1].actor,signalType:d[u-2],msg:d[u]}];break;case 69:this.$={type:"addParticipant",actor:d[u-1],config:d[u]};break;case 70:this.$=d[u-1].trim();break;case 71:this.$={type:"addParticipant",actor:d[u]};break;case 72:this.$=E.LINETYPE.SOLID_OPEN;break;case 73:this.$=E.LINETYPE.DOTTED_OPEN;break;case 74:this.$=E.LINETYPE.SOLID;break;case 75:this.$=E.LINETYPE.BIDIRECTIONAL_SOLID;break;case 76:this.$=E.LINETYPE.DOTTED;break;case 77:this.$=E.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 78:this.$=E.LINETYPE.SOLID_CROSS;break;case 79:this.$=E.LINETYPE.DOTTED_CROSS;break;case 80:this.$=E.LINETYPE.SOLID_POINT;break;case 81:this.$=E.LINETYPE.DOTTED_POINT;break;case 82:this.$=E.parseMessage(d[u].trim().substring(1));break}},"anonymous"),table:[{3:1,4:t,5:n,6:a},{1:[3]},{3:5,4:t,5:n,6:a},{3:6,4:t,5:n,6:a},e([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,55,60,61,62,63,71],r,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:i,5:c,8:8,9:10,12:12,13:h,14:o,17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},e(y,[2,5]),{9:47,12:12,13:h,14:o,17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},e(y,[2,7]),e(y,[2,8]),e(y,[2,14]),{12:48,50:K,52:U,53:F},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,71:R},{22:55,71:R},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},e(y,[2,29]),e(y,[2,30]),{32:[1,61]},{34:[1,62]},e(y,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,54:72,71:[1,73]},{22:74,71:R},{22:75,71:R},{68:76,76:[1,77],77:[1,78],78:[1,79],79:[1,80],80:[1,81],81:[1,82],82:[1,83],83:[1,84],84:[1,85],85:[1,86]},{56:87,58:[1,88],66:[1,89],67:[1,90]},{22:91,71:R},{22:92,71:R},{22:93,71:R},{22:94,71:R},e([5,51,65,76,77,78,79,80,81,82,83,84,85,86],L),e(y,[2,6]),e(y,[2,15]),e(X,[2,9],{10:95}),e(y,[2,17]),{5:[1,97],19:[1,96]},{5:[1,98]},e(y,[2,21]),{5:[1,99]},{5:[1,100]},e(y,[2,24]),e(y,[2,25]),e(y,[2,26]),e(y,[2,27]),e(y,[2,28]),e(y,[2,31]),e(y,[2,32]),e(j,r,{7:101}),e(j,r,{7:102}),e(j,r,{7:103}),e(M,r,{40:104,7:105}),e(Rt,r,{42:106,7:107}),e(Rt,r,{7:107,42:108}),e(Ft,r,{45:109,7:110}),e(j,r,{7:111}),{5:[1,113],51:[1,112]},{5:[1,114]},e([5,51],L,{72:115,73:[1,116]}),{5:[1,118],51:[1,117]},{5:[1,119]},{22:122,69:[1,120],70:[1,121],71:R},e(it,[2,72]),e(it,[2,73]),e(it,[2,74]),e(it,[2,75]),e(it,[2,76]),e(it,[2,77]),e(it,[2,78]),e(it,[2,79]),e(it,[2,80]),e(it,[2,81]),{22:123,71:R},{22:125,59:124,71:R},{71:[2,64]},{71:[2,65]},{57:126,86:nt},{57:128,86:nt},{57:129,86:nt},{57:130,86:nt},{4:[1,133],5:[1,135],11:132,12:134,16:[1,131],50:K,52:U,53:F},{5:[1,136]},e(y,[2,19]),e(y,[2,20]),e(y,[2,22]),e(y,[2,23]),{4:i,5:c,8:8,9:10,12:12,13:h,14:o,16:[1,137],17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},{4:i,5:c,8:8,9:10,12:12,13:h,14:o,16:[1,138],17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},{4:i,5:c,8:8,9:10,12:12,13:h,14:o,16:[1,139],17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},{16:[1,140]},{4:i,5:c,8:8,9:10,12:12,13:h,14:o,16:[2,46],17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,49:[1,141],50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},{16:[1,142]},{4:i,5:c,8:8,9:10,12:12,13:h,14:o,16:[2,44],17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,48:[1,143],50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},{16:[1,144]},{16:[1,145]},{4:i,5:c,8:8,9:10,12:12,13:h,14:o,16:[2,42],17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,47:[1,146],50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},{4:i,5:c,8:8,9:10,12:12,13:h,14:o,16:[1,147],17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},{15:[1,148]},e(y,[2,49]),e(y,[2,53]),{5:[2,69]},{74:[1,149]},{15:[1,150]},e(y,[2,51]),e(y,[2,52]),{22:151,71:R},{22:152,71:R},{57:153,86:nt},{57:154,86:nt},{57:155,86:nt},{65:[1,156],86:[2,63]},{5:[2,56]},{5:[2,82]},{5:[2,57]},{5:[2,58]},{5:[2,59]},e(y,[2,16]),e(X,[2,10]),{12:157,50:K,52:U,53:F},e(X,[2,12]),e(X,[2,13]),e(y,[2,18]),e(y,[2,34]),e(y,[2,35]),e(y,[2,36]),e(y,[2,37]),{15:[1,158]},e(y,[2,38]),{15:[1,159]},e(y,[2,39]),e(y,[2,40]),{15:[1,160]},e(y,[2,41]),{5:[1,161]},{75:[1,162]},{5:[1,163]},{57:164,86:nt},{57:165,86:nt},{5:[2,68]},{5:[2,54]},{5:[2,55]},{22:166,71:R},e(X,[2,11]),e(M,r,{7:105,40:167}),e(Rt,r,{7:107,42:168}),e(Ft,r,{7:110,45:169}),e(y,[2,48]),{5:[2,70]},e(y,[2,50]),{5:[2,66]},{5:[2,67]},{86:[2,62]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],89:[2,64],90:[2,65],115:[2,69],126:[2,56],127:[2,82],128:[2,57],129:[2,58],130:[2,59],153:[2,68],154:[2,54],155:[2,55],162:[2,70],164:[2,66],165:[2,67],166:[2,62],167:[2,47],168:[2,45],169:[2,43]},parseError:x.__name(function(v,A){if(A.recoverable)this.trace(v);else{var I=new Error(v);throw I.hash=A,I}},"parseError"),parse:x.__name(function(v){var A=this,I=[0],E=[],C=[null],d=[],Et=this.table,u="",vt=0,zt=0,oe=2,Ht=1,ce=d.slice.call(arguments,1),q=Object.create(this.lexer),ut={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(ut.yy[Ct]=this.yy[Ct]);q.setInput(v,ut.yy),ut.yy.lexer=q,ut.yy.parser=this,typeof q.yylloc>"u"&&(q.yylloc={});var Ot=q.yylloc;d.push(Ot);var le=q.options&&q.options.ranges;typeof ut.yy.parseError=="function"?this.parseError=ut.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function he(tt){I.length=I.length-2*tt,C.length=C.length-tt,d.length=d.length-tt}x.__name(he,"popStack");function Kt(){var tt;return tt=E.pop()||q.lex()||Ht,typeof tt!="number"&&(tt instanceof Array&&(E=tt,tt=E.pop()),tt=A.symbols_[tt]||tt),tt}x.__name(Kt,"lex");for(var J,gt,st,Bt,mt={},It,ot,Ut,Lt;;){if(gt=I[I.length-1],this.defaultActions[gt]?st=this.defaultActions[gt]:((J===null||typeof J>"u")&&(J=Kt()),st=Et[gt]&&Et[gt][J]),typeof st>"u"||!st.length||!st[0]){var Vt="";Lt=[];for(It in Et[gt])this.terminals_[It]&&It>oe&&Lt.push("'"+this.terminals_[It]+"'");q.showPosition?Vt="Parse error on line "+(vt+1)+`:
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("./chunk-TZMSLE5B.cjs.js"),Gt=require("./chunk-MI3HLSF2.cjs.js"),de=require("./chunk-QZHKN3VN.cjs.js"),Y=require("./chunk-S3R3BYOJ.cjs.js"),_=require("./chunk-ABZYJK2D.cjs.js"),x=require("./chunk-AGHRB4JF.cjs.js");require("../../../../../../d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/index.cjs.js");require("../../../../../../d3-zoom@3.0.0/node_modules/d3-zoom/src/transform.cjs.js");const Jt=require("../../../../../../../../../_virtual/index.cjs9.js"),At=require("../../../../../../d3-selection@3.0.0/node_modules/d3-selection/src/select.cjs.js");var Yt=(function(){var e=x.__name(function(lt,v,A,I){for(A=A||{},I=lt.length;I--;A[lt[I]]=v);return A},"o"),t=[1,2],n=[1,3],a=[1,4],r=[2,4],i=[1,9],c=[1,11],h=[1,13],o=[1,14],s=[1,16],p=[1,17],g=[1,18],f=[1,24],m=[1,25],b=[1,26],w=[1,27],k=[1,28],N=[1,29],S=[1,30],O=[1,31],B=[1,32],z=[1,33],H=[1,34],Z=[1,35],et=[1,36],K=[1,37],U=[1,38],F=[1,39],D=[1,41],Q=[1,42],G=[1,43],$=[1,44],at=[1,45],R=[1,46],y=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,55,60,61,62,63,71],L=[2,71],X=[4,5,16,50,52,53],j=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,55,60,61,62,63,71],M=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,55,60,61,62,63,71],Rt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,55,60,61,62,63,71],Ft=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,55,60,61,62,63,71],it=[69,70,71],nt=[1,127],Dt={trace:x.__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,actor_with_config:54,note:55,placement:56,text2:57,over:58,actor_pair:59,links:60,link:61,properties:62,details:63,spaceList:64,",":65,left_of:66,right_of:67,signaltype:68,"+":69,"-":70,ACTOR:71,config_object:72,CONFIG_START:73,CONFIG_CONTENT:74,CONFIG_END:75,SOLID_OPEN_ARROW:76,DOTTED_OPEN_ARROW:77,SOLID_ARROW:78,BIDIRECTIONAL_SOLID_ARROW:79,DOTTED_ARROW:80,BIDIRECTIONAL_DOTTED_ARROW:81,SOLID_CROSS:82,DOTTED_CROSS:83,SOLID_POINT:84,DOTTED_POINT:85,TXT:86,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",55:"note",58:"over",60:"links",61:"link",62:"properties",63:"details",65:",",66:"left_of",67:"right_of",69:"+",70:"-",71:"ACTOR",73:"CONFIG_START",74:"CONFIG_CONTENT",75:"CONFIG_END",76:"SOLID_OPEN_ARROW",77:"DOTTED_OPEN_ARROW",78:"SOLID_ARROW",79:"BIDIRECTIONAL_SOLID_ARROW",80:"DOTTED_ARROW",81:"BIDIRECTIONAL_DOTTED_ARROW",82:"SOLID_CROSS",83:"DOTTED_CROSS",84:"SOLID_POINT",85:"DOTTED_POINT",86:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[64,2],[64,1],[59,3],[59,1],[56,1],[56,1],[17,5],[17,5],[17,4],[54,2],[72,3],[22,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[57,1]],performAction:x.__name(function(v,A,I,E,C,d,Et){var u=d.length-1;switch(C){case 3:return E.apply(d[u]),d[u];case 4:case 9:this.$=[];break;case 5:case 10:d[u-1].push(d[u]),this.$=d[u-1];break;case 6:case 7:case 11:case 12:this.$=d[u];break;case 8:case 13:this.$=[];break;case 15:d[u].type="createParticipant",this.$=d[u];break;case 16:d[u-1].unshift({type:"boxStart",boxData:E.parseBoxData(d[u-2])}),d[u-1].push({type:"boxEnd",boxText:d[u-2]}),this.$=d[u-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(d[u-2]),sequenceIndexStep:Number(d[u-1]),sequenceVisible:!0,signalType:E.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(d[u-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:E.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:E.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:E.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:E.LINETYPE.ACTIVE_START,actor:d[u-1].actor};break;case 23:this.$={type:"activeEnd",signalType:E.LINETYPE.ACTIVE_END,actor:d[u-1].actor};break;case 29:E.setDiagramTitle(d[u].substring(6)),this.$=d[u].substring(6);break;case 30:E.setDiagramTitle(d[u].substring(7)),this.$=d[u].substring(7);break;case 31:this.$=d[u].trim(),E.setAccTitle(this.$);break;case 32:case 33:this.$=d[u].trim(),E.setAccDescription(this.$);break;case 34:d[u-1].unshift({type:"loopStart",loopText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.LOOP_START}),d[u-1].push({type:"loopEnd",loopText:d[u-2],signalType:E.LINETYPE.LOOP_END}),this.$=d[u-1];break;case 35:d[u-1].unshift({type:"rectStart",color:E.parseMessage(d[u-2]),signalType:E.LINETYPE.RECT_START}),d[u-1].push({type:"rectEnd",color:E.parseMessage(d[u-2]),signalType:E.LINETYPE.RECT_END}),this.$=d[u-1];break;case 36:d[u-1].unshift({type:"optStart",optText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.OPT_START}),d[u-1].push({type:"optEnd",optText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.OPT_END}),this.$=d[u-1];break;case 37:d[u-1].unshift({type:"altStart",altText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.ALT_START}),d[u-1].push({type:"altEnd",signalType:E.LINETYPE.ALT_END}),this.$=d[u-1];break;case 38:d[u-1].unshift({type:"parStart",parText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.PAR_START}),d[u-1].push({type:"parEnd",signalType:E.LINETYPE.PAR_END}),this.$=d[u-1];break;case 39:d[u-1].unshift({type:"parStart",parText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.PAR_OVER_START}),d[u-1].push({type:"parEnd",signalType:E.LINETYPE.PAR_END}),this.$=d[u-1];break;case 40:d[u-1].unshift({type:"criticalStart",criticalText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.CRITICAL_START}),d[u-1].push({type:"criticalEnd",signalType:E.LINETYPE.CRITICAL_END}),this.$=d[u-1];break;case 41:d[u-1].unshift({type:"breakStart",breakText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.BREAK_START}),d[u-1].push({type:"breakEnd",optText:E.parseMessage(d[u-2]),signalType:E.LINETYPE.BREAK_END}),this.$=d[u-1];break;case 43:this.$=d[u-3].concat([{type:"option",optionText:E.parseMessage(d[u-1]),signalType:E.LINETYPE.CRITICAL_OPTION},d[u]]);break;case 45:this.$=d[u-3].concat([{type:"and",parText:E.parseMessage(d[u-1]),signalType:E.LINETYPE.PAR_AND},d[u]]);break;case 47:this.$=d[u-3].concat([{type:"else",altText:E.parseMessage(d[u-1]),signalType:E.LINETYPE.ALT_ELSE},d[u]]);break;case 48:d[u-3].draw="participant",d[u-3].type="addParticipant",d[u-3].description=E.parseMessage(d[u-1]),this.$=d[u-3];break;case 49:d[u-1].draw="participant",d[u-1].type="addParticipant",this.$=d[u-1];break;case 50:d[u-3].draw="actor",d[u-3].type="addParticipant",d[u-3].description=E.parseMessage(d[u-1]),this.$=d[u-3];break;case 51:d[u-1].draw="actor",d[u-1].type="addParticipant",this.$=d[u-1];break;case 52:d[u-1].type="destroyParticipant",this.$=d[u-1];break;case 53:d[u-1].draw="participant",d[u-1].type="addParticipant",this.$=d[u-1];break;case 54:this.$=[d[u-1],{type:"addNote",placement:d[u-2],actor:d[u-1].actor,text:d[u]}];break;case 55:d[u-2]=[].concat(d[u-1],d[u-1]).slice(0,2),d[u-2][0]=d[u-2][0].actor,d[u-2][1]=d[u-2][1].actor,this.$=[d[u-1],{type:"addNote",placement:E.PLACEMENT.OVER,actor:d[u-2].slice(0,2),text:d[u]}];break;case 56:this.$=[d[u-1],{type:"addLinks",actor:d[u-1].actor,text:d[u]}];break;case 57:this.$=[d[u-1],{type:"addALink",actor:d[u-1].actor,text:d[u]}];break;case 58:this.$=[d[u-1],{type:"addProperties",actor:d[u-1].actor,text:d[u]}];break;case 59:this.$=[d[u-1],{type:"addDetails",actor:d[u-1].actor,text:d[u]}];break;case 62:this.$=[d[u-2],d[u]];break;case 63:this.$=d[u];break;case 64:this.$=E.PLACEMENT.LEFTOF;break;case 65:this.$=E.PLACEMENT.RIGHTOF;break;case 66:this.$=[d[u-4],d[u-1],{type:"addMessage",from:d[u-4].actor,to:d[u-1].actor,signalType:d[u-3],msg:d[u],activate:!0},{type:"activeStart",signalType:E.LINETYPE.ACTIVE_START,actor:d[u-1].actor}];break;case 67:this.$=[d[u-4],d[u-1],{type:"addMessage",from:d[u-4].actor,to:d[u-1].actor,signalType:d[u-3],msg:d[u]},{type:"activeEnd",signalType:E.LINETYPE.ACTIVE_END,actor:d[u-4].actor}];break;case 68:this.$=[d[u-3],d[u-1],{type:"addMessage",from:d[u-3].actor,to:d[u-1].actor,signalType:d[u-2],msg:d[u]}];break;case 69:this.$={type:"addParticipant",actor:d[u-1],config:d[u]};break;case 70:this.$=d[u-1].trim();break;case 71:this.$={type:"addParticipant",actor:d[u]};break;case 72:this.$=E.LINETYPE.SOLID_OPEN;break;case 73:this.$=E.LINETYPE.DOTTED_OPEN;break;case 74:this.$=E.LINETYPE.SOLID;break;case 75:this.$=E.LINETYPE.BIDIRECTIONAL_SOLID;break;case 76:this.$=E.LINETYPE.DOTTED;break;case 77:this.$=E.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 78:this.$=E.LINETYPE.SOLID_CROSS;break;case 79:this.$=E.LINETYPE.DOTTED_CROSS;break;case 80:this.$=E.LINETYPE.SOLID_POINT;break;case 81:this.$=E.LINETYPE.DOTTED_POINT;break;case 82:this.$=E.parseMessage(d[u].trim().substring(1));break}},"anonymous"),table:[{3:1,4:t,5:n,6:a},{1:[3]},{3:5,4:t,5:n,6:a},{3:6,4:t,5:n,6:a},e([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,55,60,61,62,63,71],r,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:i,5:c,8:8,9:10,12:12,13:h,14:o,17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},e(y,[2,5]),{9:47,12:12,13:h,14:o,17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},e(y,[2,7]),e(y,[2,8]),e(y,[2,14]),{12:48,50:K,52:U,53:F},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,71:R},{22:55,71:R},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},e(y,[2,29]),e(y,[2,30]),{32:[1,61]},{34:[1,62]},e(y,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,54:72,71:[1,73]},{22:74,71:R},{22:75,71:R},{68:76,76:[1,77],77:[1,78],78:[1,79],79:[1,80],80:[1,81],81:[1,82],82:[1,83],83:[1,84],84:[1,85],85:[1,86]},{56:87,58:[1,88],66:[1,89],67:[1,90]},{22:91,71:R},{22:92,71:R},{22:93,71:R},{22:94,71:R},e([5,51,65,76,77,78,79,80,81,82,83,84,85,86],L),e(y,[2,6]),e(y,[2,15]),e(X,[2,9],{10:95}),e(y,[2,17]),{5:[1,97],19:[1,96]},{5:[1,98]},e(y,[2,21]),{5:[1,99]},{5:[1,100]},e(y,[2,24]),e(y,[2,25]),e(y,[2,26]),e(y,[2,27]),e(y,[2,28]),e(y,[2,31]),e(y,[2,32]),e(j,r,{7:101}),e(j,r,{7:102}),e(j,r,{7:103}),e(M,r,{40:104,7:105}),e(Rt,r,{42:106,7:107}),e(Rt,r,{7:107,42:108}),e(Ft,r,{45:109,7:110}),e(j,r,{7:111}),{5:[1,113],51:[1,112]},{5:[1,114]},e([5,51],L,{72:115,73:[1,116]}),{5:[1,118],51:[1,117]},{5:[1,119]},{22:122,69:[1,120],70:[1,121],71:R},e(it,[2,72]),e(it,[2,73]),e(it,[2,74]),e(it,[2,75]),e(it,[2,76]),e(it,[2,77]),e(it,[2,78]),e(it,[2,79]),e(it,[2,80]),e(it,[2,81]),{22:123,71:R},{22:125,59:124,71:R},{71:[2,64]},{71:[2,65]},{57:126,86:nt},{57:128,86:nt},{57:129,86:nt},{57:130,86:nt},{4:[1,133],5:[1,135],11:132,12:134,16:[1,131],50:K,52:U,53:F},{5:[1,136]},e(y,[2,19]),e(y,[2,20]),e(y,[2,22]),e(y,[2,23]),{4:i,5:c,8:8,9:10,12:12,13:h,14:o,16:[1,137],17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},{4:i,5:c,8:8,9:10,12:12,13:h,14:o,16:[1,138],17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},{4:i,5:c,8:8,9:10,12:12,13:h,14:o,16:[1,139],17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},{16:[1,140]},{4:i,5:c,8:8,9:10,12:12,13:h,14:o,16:[2,46],17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,49:[1,141],50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},{16:[1,142]},{4:i,5:c,8:8,9:10,12:12,13:h,14:o,16:[2,44],17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,48:[1,143],50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},{16:[1,144]},{16:[1,145]},{4:i,5:c,8:8,9:10,12:12,13:h,14:o,16:[2,42],17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,47:[1,146],50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},{4:i,5:c,8:8,9:10,12:12,13:h,14:o,16:[1,147],17:15,18:s,21:p,22:40,23:g,24:19,25:20,26:21,27:22,28:23,29:f,30:m,31:b,33:w,35:k,36:N,37:S,38:O,39:B,41:z,43:H,44:Z,46:et,50:K,52:U,53:F,55:D,60:Q,61:G,62:$,63:at,71:R},{15:[1,148]},e(y,[2,49]),e(y,[2,53]),{5:[2,69]},{74:[1,149]},{15:[1,150]},e(y,[2,51]),e(y,[2,52]),{22:151,71:R},{22:152,71:R},{57:153,86:nt},{57:154,86:nt},{57:155,86:nt},{65:[1,156],86:[2,63]},{5:[2,56]},{5:[2,82]},{5:[2,57]},{5:[2,58]},{5:[2,59]},e(y,[2,16]),e(X,[2,10]),{12:157,50:K,52:U,53:F},e(X,[2,12]),e(X,[2,13]),e(y,[2,18]),e(y,[2,34]),e(y,[2,35]),e(y,[2,36]),e(y,[2,37]),{15:[1,158]},e(y,[2,38]),{15:[1,159]},e(y,[2,39]),e(y,[2,40]),{15:[1,160]},e(y,[2,41]),{5:[1,161]},{75:[1,162]},{5:[1,163]},{57:164,86:nt},{57:165,86:nt},{5:[2,68]},{5:[2,54]},{5:[2,55]},{22:166,71:R},e(X,[2,11]),e(M,r,{7:105,40:167}),e(Rt,r,{7:107,42:168}),e(Ft,r,{7:110,45:169}),e(y,[2,48]),{5:[2,70]},e(y,[2,50]),{5:[2,66]},{5:[2,67]},{86:[2,62]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],89:[2,64],90:[2,65],115:[2,69],126:[2,56],127:[2,82],128:[2,57],129:[2,58],130:[2,59],153:[2,68],154:[2,54],155:[2,55],162:[2,70],164:[2,66],165:[2,67],166:[2,62],167:[2,47],168:[2,45],169:[2,43]},parseError:x.__name(function(v,A){if(A.recoverable)this.trace(v);else{var I=new Error(v);throw I.hash=A,I}},"parseError"),parse:x.__name(function(v){var A=this,I=[0],E=[],C=[null],d=[],Et=this.table,u="",vt=0,zt=0,oe=2,Ht=1,ce=d.slice.call(arguments,1),q=Object.create(this.lexer),ut={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(ut.yy[Ct]=this.yy[Ct]);q.setInput(v,ut.yy),ut.yy.lexer=q,ut.yy.parser=this,typeof q.yylloc>"u"&&(q.yylloc={});var Ot=q.yylloc;d.push(Ot);var le=q.options&&q.options.ranges;typeof ut.yy.parseError=="function"?this.parseError=ut.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function he(tt){I.length=I.length-2*tt,C.length=C.length-tt,d.length=d.length-tt}x.__name(he,"popStack");function Kt(){var tt;return tt=E.pop()||q.lex()||Ht,typeof tt!="number"&&(tt instanceof Array&&(E=tt,tt=E.pop()),tt=A.symbols_[tt]||tt),tt}x.__name(Kt,"lex");for(var J,gt,st,Bt,mt={},It,ot,Ut,Lt;;){if(gt=I[I.length-1],this.defaultActions[gt]?st=this.defaultActions[gt]:((J===null||typeof J>"u")&&(J=Kt()),st=Et[gt]&&Et[gt][J]),typeof st>"u"||!st.length||!st[0]){var Vt="";Lt=[];for(It in Et[gt])this.terminals_[It]&&It>oe&&Lt.push("'"+this.terminals_[It]+"'");q.showPosition?Vt="Parse error on line "+(vt+1)+`:
|
|
2
2
|
`+q.showPosition()+`
|
|
3
3
|
Expecting `+Lt.join(", ")+", got '"+(this.terminals_[J]||J)+"'":Vt="Parse error on line "+(vt+1)+": Unexpected "+(J==Ht?"end of input":"'"+(this.terminals_[J]||J)+"'"),this.parseError(Vt,{text:q.match,token:this.terminals_[J]||J,line:q.yylineno,loc:Ot,expected:Lt})}if(st[0]instanceof Array&&st.length>1)throw new Error("Parse Error: multiple actions possible at state: "+gt+", token: "+J);switch(st[0]){case 1:I.push(J),C.push(q.yytext),d.push(q.yylloc),I.push(st[1]),J=null,zt=q.yyleng,u=q.yytext,vt=q.yylineno,Ot=q.yylloc;break;case 2:if(ot=this.productions_[st[1]][1],mt.$=C[C.length-ot],mt._$={first_line:d[d.length-(ot||1)].first_line,last_line:d[d.length-1].last_line,first_column:d[d.length-(ot||1)].first_column,last_column:d[d.length-1].last_column},le&&(mt._$.range=[d[d.length-(ot||1)].range[0],d[d.length-1].range[1]]),Bt=this.performAction.apply(mt,[u,zt,vt,ut.yy,st[1],C,d].concat(ce)),typeof Bt<"u")return Bt;ot&&(I=I.slice(0,-1*ot*2),C=C.slice(0,-1*ot),d=d.slice(0,-1*ot)),I.push(this.productions_[st[1]][0]),C.push(mt.$),d.push(mt._$),Ut=Et[I[I.length-2]][I[I.length-1]],I.push(Ut);break;case 3:return!0}}return!0},"parse")},ne=(function(){var lt={EOF:1,parseError:x.__name(function(A,I){if(this.yy.parser)this.yy.parser.parseError(A,I);else throw new Error(A)},"parseError"),setInput:x.__name(function(v,A){return this.yy=A||this.yy||{},this._input=v,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:x.__name(function(){var v=this._input[0];this.yytext+=v,this.yyleng++,this.offset++,this.match+=v,this.matched+=v;var A=v.match(/(?:\r\n?|\n).*/g);return A?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),v},"input"),unput:x.__name(function(v){var A=v.length,I=v.split(/(?:\r\n?|\n)/g);this._input=v+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-A),this.offset-=A;var E=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),I.length-1&&(this.yylineno-=I.length-1);var C=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:I?(I.length===E.length?this.yylloc.first_column:0)+E[E.length-I.length].length-I[0].length:this.yylloc.first_column-A},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-A]),this.yyleng=this.yytext.length,this},"unput"),more:x.__name(function(){return this._more=!0,this},"more"),reject:x.__name(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:x.__name(function(v){this.unput(this.match.slice(v))},"less"),pastInput:x.__name(function(){var v=this.matched.substr(0,this.matched.length-this.match.length);return(v.length>20?"...":"")+v.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x.__name(function(){var v=this.match;return v.length<20&&(v+=this._input.substr(0,20-v.length)),(v.substr(0,20)+(v.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x.__name(function(){var v=this.pastInput(),A=new Array(v.length+1).join("-");return v+this.upcomingInput()+`
|
|
@@ -6,7 +6,7 @@ import { setConfig2 as ke, getConfig2 as st, configureSvgSize as Pe, assignWithD
|
|
|
6
6
|
import { __name as f, log as Q } from "./chunk-AGHRB4JF.es.js";
|
|
7
7
|
import "../../../../../../d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/index.es.js";
|
|
8
8
|
import "../../../../../../d3-zoom@3.0.0/node_modules/d3-zoom/src/transform.es.js";
|
|
9
|
-
import { d as ne } from "../../../../../../../../../_virtual/index.
|
|
9
|
+
import { d as ne } from "../../../../../../../../../_virtual/index.es9.js";
|
|
10
10
|
import Mt from "../../../../../../d3-selection@3.0.0/node_modules/d3-selection/src/select.es.js";
|
|
11
11
|
var Ut = (function() {
|
|
12
12
|
var e = /* @__PURE__ */ f(function(pt, v, A, L) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/typeof.cjs.js"),a=require("react"),i=require("../../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/typeof.cjs.js"),a=require("react"),i=require("../../../../../../../_virtual/index.cjs10.js"),v=require("./hooks/useMemo.cjs.js"),g=require("./React/isFragment.cjs.js");var y=Number(a.version.split(".")[0]),s=function(e,r){typeof e=="function"?e(r):R.default(e)==="object"&&e&&"current"in e&&(e.current=r)},p=function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var u=r.filter(Boolean);return u.length<=1?u[0]:function(o){r.forEach(function(n){s(n,o)})}},m=function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];return v.default(function(){return p.apply(void 0,r)},r,function(u,o){return u.length!==o.length||u.every(function(n,l){return n!==o[l]})})},d=function(e){var r,t;if(!e)return!1;if(c(e)&&y>=19)return!0;var u=i.reactIsExports.isMemo(e)?e.type.type:e.type;return!(typeof u=="function"&&!((r=u.prototype)!==null&&r!==void 0&&r.render)&&u.$$typeof!==i.reactIsExports.ForwardRef||typeof e=="function"&&!((t=e.prototype)!==null&&t!==void 0&&t.render)&&e.$$typeof!==i.reactIsExports.ForwardRef)};function c(f){return a.isValidElement(f)&&!g.default(f)}var E=function(e){if(e&&c(e)){var r=e;return r.props.propertyIsEnumerable("ref")?r.props.ref:r.ref}return null};exports.composeRef=p;exports.fillRef=s;exports.getNodeRef=E;exports.supportRef=d;exports.useComposeRef=m;
|
|
2
2
|
//# sourceMappingURL=ref.cjs.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import s from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/typeof.es.js";
|
|
2
2
|
import { version as c, isValidElement as l } from "react";
|
|
3
|
-
import { r as n } from "../../../../../../../_virtual/index.
|
|
3
|
+
import { r as n } from "../../../../../../../_virtual/index.es10.js";
|
|
4
4
|
import m from "./hooks/useMemo.es.js";
|
|
5
5
|
import v from "./React/isFragment.es.js";
|
|
6
6
|
var R = Number(c.split(".")[0]), y = function(r, t) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../../../../_virtual/index.cjs7.js"),a=require("../../../../inline-style-parser@0.2.4/node_modules/inline-style-parser/index.cjs.js");var i;function d(){if(i)return t.__exports;i=1;var s=t.__exports&&t.__exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t.__exports,"__esModule",{value:!0}),t.__exports.default=l;const f=s(a.__require());function l(e,o){let r=null;if(!e||typeof e!="string")return r;const c=(0,f.default)(e),p=typeof o=="function";return c.forEach(u=>{if(u.type!=="declaration")return;const{property:_,value:n}=u;p?o(_,n,u):n&&(r=r||{},r[_]=n)}),r}return t.__exports}exports.__require=d;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as r } from "../../../../../../../_virtual/index.
|
|
1
|
+
import { __exports as r } from "../../../../../../../_virtual/index.es7.js";
|
|
2
2
|
import { __require as p } from "../../../../inline-style-parser@0.2.4/node_modules/inline-style-parser/index.es.js";
|
|
3
3
|
var f;
|
|
4
4
|
function q() {
|