@dskripchenko/embed 1.0.0 → 1.0.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/CHANGELOG.md +8 -0
- package/dist/embed.bundle.js +6 -6
- package/dist/embed.js +1 -1
- package/dist/importmap.json +2 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @dskripchenko/embed
|
|
2
2
|
|
|
3
|
+
## 1.0.1 — 2026-10-26
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- `<dsk-editor>`: typing after a slash item chosen with Enter (or a block
|
|
7
|
+
change from the toolbar) goes into the new block, not the previous
|
|
8
|
+
paragraph — the loader's import map and the fat bundle now carry
|
|
9
|
+
`@dskripchenko/wysiwyg` 0.5.2.
|
|
10
|
+
|
|
3
11
|
## 1.0.0 — 2026-10-26
|
|
4
12
|
|
|
5
13
|
First release.
|
package/dist/embed.bundle.js
CHANGED
|
@@ -205,17 +205,17 @@ td .oap-md > :last-child { margin-bottom: 0; }
|
|
|
205
205
|
[*] --> Draft
|
|
206
206
|
Draft --> Review: submit`,importError:`Could not import`,cancel:`Cancel`,label:`Label`,description:`Description`,nodeType:`Type`,edgeKind:`Kind`,transition:`Transition`,association:`Association`,subgraphRef:`Sub-process reference`,subgraphInline:e=>`Inline sub-process, ${e} step${e===1?``:`s`}`,subgraphCreate:`Create inline sub-process`,subgraphOpen:`Open`,subgraphRemove:`Remove`,addField:`Add field`,key:`Key`,value:`Value`,removeField:`Remove field`,locked:`This element is locked`,nothingSelected:`Select a step or a transition to edit it.`,selectedCount:e=>`${e} selected`,graphTitle:`Title`,direction:`Layout direction`,directionLR:`Left to right`,directionTB:`Top to bottom`,directionAuto:`Automatic (fits the screen)`,addStart:`Add a start node`,enable:`Enable`,transitions:`Transitions`,addTransition:`Add a transition to…`,disable:`Disable`,addHere:`Add here`,connectHint:`Drag from a handle to connect`,emptyEditorTitle:`Start your process`,emptyEditorHint:`Drag a start node from the elements panel, or import a Mermaid state diagram.`,edge:`Transition`,node:`Step`,group:`Group`,readOnly:`Read only`},F2e={graph:`Граф процесса`,zoomIn:`Приблизить`,zoomOut:`Отдалить`,fit:`Показать целиком`,minimap:`Миникарта`,root:`Процесс`,back:`Назад`,enter:`Открыть подпроцесс`,details:`Подробности`,enabled:`Включено`,disabledTag:`Отключено`,id:`ID`,type:`Тип`,status:`Статус`,count:`Количество`,instances:`Экземпляры`,traversed:`Пройден`,data:`Данные`,condition:`Условие`,from:`Откуда`,to:`Куда`,message:`Сообщение`,subprocess:`Подпроцесс`,updated:`Обновлено`,updatedJustNow:`Обновлено только что`,updatedAgo:e=>e<60?`Обновлено ${e} с назад`:`Обновлено ${Math.floor(e/60)} мин назад`,stale:`Данные устарели`,paused:`Пауза`,live:`В реальном времени`,loading:`Загрузка…`,loadError:`Не удалось загрузить состояние`,retry:`Повторить`,refresh:`Обновить сейчас`,toggleFailed:`Не удалось изменить элемент, изменение отменено`,subgraphFailed:`Не удалось открыть подпроцесс`,currentPath:`Текущий путь`,empty:`Нечего показать`,emptyHint:`В процессе пока нет шагов.`,statuses:{active:`Активен`,done:`Завершён`,error:`Ошибка`,waiting:`Ожидание`,skipped:`Пропущен`},types:{start:`Начало`,end:`Конец`,state:`Состояние`,task:`Задача`,decision:`Развилка`,subprocess:`Подпроцесс`,note:`Заметка`},editor:`Редактор процесса`,palette:`Элементы`,paletteHint:`Перетащите на холст или нажмите, чтобы добавить`,properties:`Свойства`,issues:`Проблемы`,noIssues:`Проблем не найдено`,issueCount:(e,t)=>[e?`ошибок: ${e}`:``,t?`предупреждений: ${t}`:``].filter(Boolean).join(`, `)||`Проблем нет`,undo:`Отменить`,redo:`Повторить`,delete:`Удалить`,duplicate:`Дублировать`,copy:`Копировать`,paste:`Вставить`,cut:`Вырезать`,selectAll:`Выделить всё`,autoLayout:`Авторасстановка`,align:`Выровнять`,alignLeft:`По левому краю`,alignCenter:`По центру`,alignRight:`По правому краю`,alignTop:`По верху`,alignMiddle:`По середине`,alignBottom:`По низу`,distributeH:`Распределить по горизонтали`,distributeV:`Распределить по вертикали`,snapToGrid:`Привязка к сетке`,more:`Ещё`,exportJson:`Экспорт JSON`,importJson:`Импорт JSON`,importMermaid:`Импорт Mermaid`,importApply:`Импортировать`,importPlaceholderJson:`Вставьте JSON модели: { "version": 1, "nodes": [...], "edges": [...] }`,importPlaceholderMermaid:`stateDiagram-v2
|
|
207
207
|
[*] --> Черновик
|
|
208
|
-
Черновик --> Проверка: отправить`,importError:`Не удалось импортировать`,cancel:`Отмена`,label:`Название`,description:`Описание`,nodeType:`Тип`,edgeKind:`Вид`,transition:`Переход`,association:`Связь`,subgraphRef:`Ссылка на подпроцесс`,subgraphInline:e=>`Встроенный подпроцесс, шагов: ${e}`,subgraphCreate:`Создать встроенный подпроцесс`,subgraphOpen:`Открыть`,subgraphRemove:`Убрать`,addField:`Добавить поле`,key:`Ключ`,value:`Значение`,removeField:`Удалить поле`,locked:`Этот элемент заблокирован`,nothingSelected:`Выберите шаг или переход, чтобы изменить его.`,selectedCount:e=>`Выделено: ${e}`,graphTitle:`Название`,direction:`Направление`,directionLR:`Слева направо`,directionTB:`Сверху вниз`,directionAuto:`Автоматически (по экрану)`,addStart:`Добавить начало`,enable:`Включить`,transitions:`Переходы`,addTransition:`Добавить переход в…`,disable:`Отключить`,addHere:`Добавить сюда`,connectHint:`Потяните за точку, чтобы соединить`,emptyEditorTitle:`Начните процесс`,emptyEditorHint:`Перетащите начальный узел из панели элементов или импортируйте диаграмму состояний Mermaid.`,edge:`Переход`,node:`Шаг`,group:`Группа`,readOnly:`Только чтение`};function I2e(e,t){let n=e===`ru`?F2e:P2e;return t?{...n,...t,statuses:{...n.statuses,...t.statuses},types:{...n.types,...t.types}}:n}function L2e(e){return typeof e.failures==`number`}function R2e(e){let t=rn(),n=N(!1),r=N(!1),i=N(Date.now()),a,o,s=t,c,l=0,u=0;I(()=>e.state(),e=>{c=e?L2e(e)?e:G7(W7(),{type:`snapshot`,snapshot:e,at:Date.now()}):void 0,l++,s.value=c},{immediate:!0});let d=J(()=>s.value),f=J(()=>e.poll()?.intervalMs??5e3),p=J(()=>{let t=e.staleAfterMs()??(e.poll()?Math.max(f.value*3,15e3):void 0);return t===void 0||!d.value?.receivedAt?!1:S1e(d.value,i.value,t)}),m=J(()=>{let e=d.value?.updatedAt??d.value?.receivedAt;return e===void 0?void 0:Math.max(0,Math.round((i.value-e)/1e3))});function h(){a?.stop(),a=void 0}function g(){h();let r=e.poll(),o=l!==u;if(u=l,!r){s.value=c;return}s.value=o?c:void 0;let d=e.context();n.value=!s.value,a=D1e({fetch:t=>(e.poll()??r).fetch(t,d),intervalMs:r.intervalMs??5e3,backoff:r.backoff,visibilityPause:r.visibilityPause??!0,onData(e){n.value=!1,t.value=G7(t.value??W7(),{type:`snapshot`,snapshot:e,at:Date.now(),merge:r.merge}),i.value=Date.now()},onError(r){n.value=!1,t.value=G7(t.value??W7(),{type:`error`,error:r instanceof Error?r.message:String(r),at:Date.now()}),e.onError?.(r)}}),a.start()}let _=J(()=>{try{return JSON.stringify(e.context())}catch{return e.context()}});return I([J(()=>{let t=e.poll();return t?`${t.intervalMs??5e3}|${+!!t.merge}|${t.visibilityPause===!1?0:1}`:``}),_],g,{immediate:!0}),typeof setInterval==`function`&&(o=setInterval(()=>{i.value=Date.now(),r.value=a?.status===`paused`},1e3)),Pi(()=>{h(),clearInterval(o)}),{state:d,loading:n,paused:r,stale:p,ageSeconds:m,now:i,refresh:()=>a?.refresh(),polling:J(()=>!!e.poll())}}var z2e=[`lang`],B2e={key:0,class:`fl-nav`,"data-fl-ui":``},V2e={key:1,class:`fl-status`,"data-fl-ui":``,role:`status`,"aria-live":`polite`},H2e={class:`fl-status__text`},U2e={class:`fl-status__text`,tabindex:`0`},W2e={key:4,class:`fl-status__summary`},G2e={key:2,class:`fl-busy`,"data-fl-ui":``},K2e=L({inheritAttrs:!1,__name:`FlowView`,props:{graph:{},state:{default:void 0},poll:{default:void 0},pollParams:{default:void 0},staleAfterMs:{default:void 0},toggleable:{type:Boolean},persistToggle:{type:Function,default:void 0},onToggle:{type:[Function,Array],default:void 0},subgraphs:{default:()=>({})},loadSubgraph:{type:Function,default:void 0},details:{type:Boolean,default:!0},minimap:{type:Boolean,default:!0},controls:{type:Boolean,default:!0},direction:{default:void 0},edgeStyle:{default:`orthogonal`},registry:{default:()=>t9},nodeRenderers:{default:()=>({})},nodeIcons:{default:()=>({})},statusTones:{default:()=>({})},locale:{default:void 0},labels:{default:void 0},wheel:{default:`zoom`},minZoom:{default:.15},maxZoom:{default:2.5},toastProvider:{type:Boolean,default:!0},statusBar:{type:Boolean,default:!0}},emits:[`select`,`toggle`,`toggle-error`,`navigate`,`poll-error`,`update:minimap`],setup(e,{expose:t,emit:n}){let r=e,i=n,{lang:a,wrapper:o,wrapperProps:s}=N2e(()=>r.locale),c=J(()=>I2e(a.value,r.labels)),l=ws(),u=rn([]),d=N(!1);I(()=>r.graph,()=>{let e=[],t=r.graph;for(let n of u.value){let i=t.nodes.find(e=>e.id===n.nodeId);if(!i||i.subgraph===void 0)break;let a=typeof i.subgraph==`string`?r.subgraphs[i.subgraph]??(i.subgraph===n.ref?n.graph:void 0):i.subgraph;if(!a)break;e.push({...n,graph:a}),t=a}u.value=e,re.value=new Map});let f=J(()=>u.value[u.value.length-1]?.graph??r.graph),p=J(()=>u.value.map(e=>e.nodeId)),m=J(()=>p.value.join(`/`));function h(e){return e.subgraph===void 0?!1:typeof e.subgraph!=`string`||!!r.subgraphs[e.subgraph]||!!r.loadSubgraph}async function g(e){let t=f.value.nodes.find(t=>t.id===e);if(!t||!h(t)||d.value)return;let n,a=typeof t.subgraph==`string`?t.subgraph:void 0;if(a===void 0)n=t.subgraph;else if(r.subgraphs[a])n=r.subgraphs[a];else if(r.loadSubgraph){d.value=!0;try{n=await r.loadSubgraph(a,t)}catch(e){l.error({title:c.value.subgraphFailed,message:e instanceof Error?e.message:String(e)});return}finally{d.value=!1}}n&&(E.value=!1,ee.value=[],u.value=[...u.value,{nodeId:t.id,label:t.label??t.id,ref:a,graph:n}],i(`navigate`,u.value))}function _(e){if(e>=u.value.length)return;E.value=!1;let t=u.value[e]?.nodeId;u.value=u.value.slice(0,e),ee.value=t?[t]:[],i(`navigate`,u.value),t&&setTimeout(()=>T.value?.focusElement(t),50)}function v(){_(u.value.length-1)}let y=R2e({state:()=>r.state,poll:()=>r.poll,context:()=>({path:p.value,ref:u.value[u.value.length-1]?.ref,params:r.pollParams}),staleAfterMs:()=>r.staleAfterMs,onError:e=>i(`poll-error`,e)}),b=J(()=>!!r.state||!!r.poll),x=J(()=>w1e(y.state.value)),S=J(()=>Object.entries(x.value).filter(([e])=>e!==`skipped`).map(([e,t])=>{let n=r.statusTones[e]??_9[e]??`neutral`;return{status:e,n:t,variant:n===`accent`?`info`:n===`neutral`?`default`:n,label:c.value.statuses[e]??e}})),C=J(()=>{let e=y.ageSeconds.value;return e===void 0?``:e<3?c.value.updatedJustNow:c.value.updatedAgo(e)}),w=J(()=>{let e=y.state.value?.updatedAt??y.state.value?.receivedAt;return e?new Date(e).toLocaleString(a.value):``}),T=N(null),ee=N([]),E=N(!1),D=N(r.minimap);I(()=>r.minimap,e=>D.value=e);let O=J(()=>{let e=ee.value[0];return e?f.value.nodes.some(t=>t.id===e)?{kind:`node`,id:e}:f.value.edges.some(t=>t.id===e)?{kind:`edge`,id:e}:null:null}),k=J(()=>{let e=O.value;if(e)return e.kind===`node`?f.value.nodes.find(t=>t.id===e.id):f.value.edges.find(t=>t.id===e.id)});function te(e,t){ee.value=e.slice(0,1);let n=t?t.kind===`node`?f.value.nodes.find(e=>e.id===t.id):f.value.edges.find(e=>e.id===t.id):void 0;i(`select`,t&&n?{...t,element:n,path:p.value}:null),r.details&&(E.value=!!t&&t.kind!==`group`)}function ne(e){if(e.kind===`node`){let t=f.value.nodes.find(t=>t.id===e.id);if(t&&h(t)&&!r.details){g(t.id);return}}r.details&&(E.value=!0)}function A(){E.value?E.value=!1:ee.value.length?te([],null):u.value.length&&v()}let re=rn(new Map),ie=J(()=>{let e=`${m.value}\u0000`,t=new Map;for(let[n,r]of re.value)n.startsWith(e)&&t.set(n.slice(e.length),r);return t});function ae(e,t){return ie.value.get(t.id)??O7(t)}let oe=new Map;async function se(e){let t={...e,path:p.value},n=`${m.value}\u0000${e.id}`,a=re.value.get(n),o=e=>{let t=new Map(re.value);e===void 0?t.delete(n):t.set(n,e),re.value=t};o(e.enabled);let s=r.persistToggle?void 0:r.onToggle,u=r.persistToggle??(s?e=>Array.isArray(s)?Promise.all(s.map(t=>t(e))):s(e):void 0),d=e=>{s||i(`toggle`,t,e)};if(!u){d({ok:!0});return}let f=(oe.get(n)??0)+1;oe.set(n,f);try{await u(t)}catch(e){if(oe.get(n)!==f){d({ok:!1,error:e,rolledBack:!1});return}o(a),l.error({title:c.value.toggleFailed,message:e instanceof Error?e.message:String(e)}),d({ok:!1,error:e,rolledBack:!0}),i(`toggle-error`,t,e);return}d({ok:!0})}let ce=J(()=>[{label:r.graph.meta?.title??c.value.root,depth:0},...u.value.map((e,t)=>({label:e.label,depth:t+1}))]);return t({fit:()=>T.value?.fit(!0),enter:g,back:v,refresh:()=>y.refresh(),select:e=>te(e?[e]:[],e?f.value.nodes.some(t=>t.id===e)?{kind:`node`,id:e}:{kind:`edge`,id:e}:null),stack:u}),(t,n)=>(B(),H(xr(P(o)),Re(Yr(P(s))),{default:F(()=>[U(`div`,ei(t.$attrs,{class:[`fl-view`,{"is-monitoring":b.value}],lang:P(a)}),[q(E2e,{ref_key:`canvas`,ref:T,graph:f.value,labels:c.value,registry:e.registry,direction:e.direction,"edge-style":e.edgeStyle,monitor:P(y).state.value,"reserve-counters":b.value,selection:ee.value,toggleable:e.toggleable,"enabled-overrides":ie.value,minimap:D.value,controls:e.controls,"min-zoom":e.minZoom,"max-zoom":e.maxZoom,wheel:e.wheel,"node-renderers":e.nodeRenderers,"node-icons":e.nodeIcons,"status-tones":e.statusTones,"fit-key":m.value,drillable:h,onSelect:te,onActivate:ne,onEnter:g,onToggle:se,onEscape:A,"onUpdate:minimap":n[1]||=e=>{D.value=e,i(`update:minimap`,e)}},Sr({overlay:F(()=>[u.value.length?(B(),V(`div`,B2e,[q(P(tl),{content:c.value.back,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(dI),"aria-label":c.value.back,class:`fl-nav__back`,onClick:v},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`]),q(P(wl),{label:c.value.root,collapse:``,class:`fl-nav__crumbs`},{default:F(()=>[(B(!0),V(K,null,R(ce.value,e=>(B(),H(P(Al),{key:e.depth,current:e.depth===u.value.length,onClick:t=>_(e.depth)},{default:F(()=>[W(M(e.label),1)]),_:2},1032,[`current`,`onClick`]))),128))]),_:1},8,[`label`])])):G(``,!0),e.statusBar&&b.value?(B(),V(`div`,V2e,[P(y).loading.value&&!P(y).state.value?(B(),V(K,{key:0},[q(P(xc),{size:`sm`}),U(`span`,H2e,M(c.value.loading),1)],64)):(B(),V(K,{key:1},[U(`span`,{class:j([`fl-status__dot`,{"is-live":e.poll&&!P(y).paused.value&&!P(y).stale.value&&!P(y).state.value?.error,"is-stale":P(y).stale.value,"is-error":!!P(y).state.value?.error}]),"aria-hidden":`true`},null,2),C.value?(B(),H(P(tl),{key:0,content:w.value,placement:`bottom`},{default:F(()=>[U(`span`,U2e,M(C.value),1)]),_:1},8,[`content`])):G(``,!0),P(y).paused.value?(B(),H(P(Sc),{key:1,size:`sm`},{default:F(()=>[W(M(c.value.paused),1)]),_:1})):G(``,!0),P(y).state.value?.error?(B(),H(P(Sc),{key:2,variant:`danger`,size:`sm`,class:`fl-status__error`,title:P(y).state.value.error},{default:F(()=>[W(M(c.value.loadError),1)]),_:1},8,[`title`])):P(y).stale.value?(B(),H(P(Sc),{key:3,variant:`warning`,size:`sm`,class:`fl-status__stale`},{default:F(()=>[W(M(c.value.stale),1)]),_:1})):G(``,!0),S.value.length?(B(),V(`span`,W2e,[(B(!0),V(K,null,R(S.value,e=>(B(),H(P(Sc),{key:e.status,variant:e.variant,size:`sm`,class:j(`fl-status__chip fl-status__chip--${e.status}`)},{default:F(()=>[W(M(e.label)+` `+M(e.n),1)]),_:2},1032,[`variant`,`class`]))),128))])):G(``,!0),e.poll?(B(),H(P(tl),{key:5,content:c.value.refresh,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(Q$),"aria-label":c.value.refresh,class:`fl-status__refresh`,onClick:n[0]||=e=>P(y).refresh()},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`])):G(``,!0)],64))])):G(``,!0),d.value?(B(),V(`div`,G2e,[q(P(xc),{label:c.value.loading},null,8,[`label`])])):G(``,!0)]),_:2},[t.$slots.controls?{name:`controls`,fn:F(()=>[z(t.$slots,`controls`)]),key:`0`}:void 0,t.$slots.empty?{name:`empty`,fn:F(()=>[z(t.$slots,`empty`)]),key:`1`}:void 0]),1032,[`graph`,`labels`,`registry`,`direction`,`edge-style`,`monitor`,`reserve-counters`,`selection`,`toggleable`,`enabled-overrides`,`minimap`,`controls`,`min-zoom`,`max-zoom`,`wheel`,`node-renderers`,`node-icons`,`status-tones`,`fit-key`]),e.details?(B(),H(P($c),{key:0,modelValue:E.value,"onUpdate:modelValue":n[4]||=e=>E.value=e,title:k.value?`label`in k.value&&k.value.label||k.value.id:``,width:`min(400px, 100vw)`},Sr({default:F(()=>[k.value&&O.value?(B(),H(j2e,{key:0,graph:f.value,kind:O.value.kind,element:k.value,enabled:ae(O.value.kind,k.value),state:P(y).state.value,labels:c.value,toggleable:e.toggleable,drillable:O.value.kind===`node`&&h(k.value),"status-tones":e.statusTones,locale:P(a),onToggle:n[2]||=e=>se({kind:O.value.kind,id:O.value.id,enabled:e}),onEnter:n[3]||=e=>g(O.value.id)},{default:F(()=>[z(t.$slots,`details`,{kind:O.value.kind,element:k.value,state:P(y).state.value,path:p.value})]),_:3},8,[`graph`,`kind`,`element`,`enabled`,`state`,`labels`,`toggleable`,`drillable`,`status-tones`,`locale`])):G(``,!0)]),_:2},[t.$slots[`details-header`]&&k.value&&O.value?{name:`header`,fn:F(()=>[z(t.$slots,`details-header`,{kind:O.value.kind,element:k.value})]),key:`0`}:void 0]),1032,[`modelValue`,`title`])):G(``,!0),e.toastProvider?(B(),H(P(Yc),{key:1})):G(``,!0)],16,z2e)]),_:3},16))}}),q2e={class:`fl-menu-label`},J2e={key:0,class:`fl-menu-shortcut`},Y2e=L({__name:`FlowContextMenu`,setup(e,{expose:t}){let n=N([]),r=N(null);async function i(e,t){n.value=t,await qn(),r.value?.openAt(e.x,e.y)}return t({open:i}),(e,t)=>(B(),H(P(il),{ref_key:`menu`,ref:r,class:`fl-context-menu`},{default:F(()=>[(B(!0),V(K,null,R(n.value,(e,t)=>(B(),V(K,{key:t},[e.separator?(B(),H(P(sl),{key:0})):e.children?(B(),H(P(dl),{key:1,label:e.label??``,icon:e.icon},{default:F(()=>[(B(!0),V(K,null,R(e.children,(e,t)=>(B(),H(P(al),{key:t,icon:e.icon,disabled:e.disabled,onClick:t=>e.action?.()},{default:F(()=>[W(M(e.label),1)]),_:2},1032,[`icon`,`disabled`,`onClick`]))),128))]),_:2},1032,[`label`,`icon`])):(B(),H(P(al),{key:2,icon:e.icon,disabled:e.disabled,variant:e.danger?`danger`:`default`,onClick:t=>e.action?.()},{default:F(()=>[U(`span`,q2e,M(e.label),1),e.shortcut?(B(),V(`kbd`,J2e,M(e.shortcut),1)):G(``,!0)]),_:2},1032,[`icon`,`disabled`,`variant`,`onClick`]))],64))),128))]),_:1},512))}}),X2e={class:`fl-import`},Z2e=L({__name:`FlowImportDialog`,props:{open:{type:Boolean},mode:{},labels:{},mermaid:{type:Function}},emits:[`update:open`,`import`],setup(e,{emit:t}){let n=e,r=t,i=N(``),a=N(``);I(()=>n.open,e=>{e&&(i.value=``,a.value=``)});let o=J(()=>n.mode===`json`?n.labels.importJson:n.labels.importMermaid);function s(){try{let e=n.mode===`json`?A7(i.value):n.mermaid(i.value);r(`import`,e),r(`update:open`,!1)}catch(e){a.value=e instanceof Error?e.message:String(e)}}return(t,n)=>(B(),H(P(Qc),{"model-value":e.open,title:o.value,size:`lg`,"onUpdate:modelValue":n[2]||=e=>r(`update:open`,e)},{footer:F(()=>[q(P(Ys),{variant:`ghost`,onClick:n[1]||=e=>r(`update:open`,!1)},{default:F(()=>[W(M(e.labels.cancel),1)]),_:1}),q(P(Ys),{variant:`primary`,class:`fl-import__apply`,disabled:!i.value.trim(),onClick:s},{default:F(()=>[W(M(e.labels.importApply),1)]),_:1},8,[`disabled`])]),default:F(()=>[U(`div`,X2e,[q(P(mc),{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e,class:`fl-import__source`,rows:12,placeholder:e.mode===`json`?e.labels.importPlaceholderJson:e.labels.importPlaceholderMermaid,"aria-label":o.value},null,8,[`modelValue`,`placeholder`,`aria-label`]),a.value?(B(),H(P(Kc),{key:0,variant:`danger`,title:e.labels.importError},{default:F(()=>[W(M(a.value),1)]),_:1},8,[`title`])):G(``,!0)])]),_:1},8,[`model-value`,`title`]))}}),Q2e={class:`fl-issues`},$2e={key:0,class:`fl-issues__none`},e4e={key:1,class:`fl-issues__list`},t4e={class:`fl-issue__text`},n4e=L({__name:`FlowIssues`,props:{issues:{},labels:{}},emits:[`focus`],setup(e,{emit:t}){let n=t;return(t,r)=>(B(),V(`div`,Q2e,[e.issues.length===0?(B(),V(`p`,$2e,[q(P(lL),{size:16,"aria-hidden":`true`}),W(` `+M(e.labels.noIssues),1)])):(B(),V(`ul`,e4e,[(B(!0),V(K,null,R(e.issues,(e,t)=>(B(),V(`li`,{key:t},[q(P(Ys),{variant:`ghost`,size:`sm`,class:j([`fl-issue`,`fl-issue--${e.severity}`]),icon:e.severity===`error`?P(UI):P(H6),disabled:!e.target,"data-code":e.code,onClick:t=>n(`focus`,e)},{default:F(()=>[U(`span`,t4e,M(e.message),1)]),_:2},1032,[`class`,`icon`,`disabled`,`data-code`,`onClick`])]))),128))]))]))}}),r4e=[`aria-label`],i4e={class:`fl-palette__hint`},a4e=L({__name:`FlowPalette`,props:{registry:{},types:{},labels:{},nodeIcons:{},disabled:{type:Boolean}},emits:[`add`,`drop`],setup(e,{emit:t}){let n=e,r=t,i=J(()=>n.types.filter(e=>n.registry.has(e)).map(e=>{let t=n.registry.get(e);return{type:e,title:n.labels.types[e]??t.title,icon:n.nodeIcons?.[e]??(t.icon?x9[t.icon]:void 0)??x9[e]??x9.state,shape:t.shape}})),a=N(null),o={x:0,y:0},s=!1;function c(e,t,r){n.disabled||e.button!==0||(o={x:e.clientX,y:e.clientY},s=!1,a.value={type:t,title:r,x:e.clientX,y:e.clientY,moved:!1},window.addEventListener(`pointermove`,l),window.addEventListener(`pointerup`,u,{once:!0}),window.addEventListener(`pointercancel`,f,{once:!0}))}function l(e){let t=a.value;if(!t)return;let n=t.moved||Math.hypot(e.clientX-o.x,e.clientY-o.y)>5;a.value={...t,x:e.clientX,y:e.clientY,moved:n}}function u(e){let t=a.value;p(),t&&t.moved&&(s=!0,setTimeout(()=>s=!1,0),r(`drop`,t.type,{x:e.clientX,y:e.clientY}))}function d(e){s||r(`add`,e)}function f(){p()}function p(){a.value=null,window.removeEventListener(`pointermove`,l),window.removeEventListener(`pointerup`,u),window.removeEventListener(`pointercancel`,f)}return Pi(p),(t,n)=>(B(),V(`div`,{class:`fl-palette`,role:`list`,"aria-label":e.labels.palette},[(B(!0),V(K,null,R(i.value,t=>(B(),V(`div`,{key:t.type,role:`listitem`,class:`fl-palette__item-wrap`},[q(P(Ys),{variant:`secondary`,size:`sm`,class:j([`fl-palette__item`,`fl-palette__item--${t.shape}`]),icon:t.icon,disabled:e.disabled,"data-type":t.type,"aria-label":`${t.title}: ${e.labels.paletteHint}`,onPointerdown:e=>c(e,t.type,t.title),onClick:e=>d(t.type)},{default:F(()=>[W(M(t.title),1)]),_:2},1032,[`class`,`icon`,`disabled`,`data-type`,`aria-label`,`onPointerdown`,`onClick`])]))),128)),U(`p`,i4e,M(e.labels.paletteHint),1),(B(),H(Si,{to:`body`},[a.value?.moved?(B(),V(`div`,{key:0,class:`fl-palette-ghost`,style:Ie({left:`${a.value.x}px`,top:`${a.value.y}px`})},M(a.value.title),5)):G(``,!0)]))],8,r4e))}}),o4e={class:`fl-props`},s4e={class:`fl-props__count`},c4e=[`aria-label`],l4e={class:`fl-props__head`},u4e={class:`fl-props__kind`},d4e=[`title`],f4e={key:2,class:`fl-props__section fl-props__transitions`},p4e={key:0,class:`fl-props__muted`},m4e={key:3,class:`fl-props__section`},h4e={class:`fl-props__muted`},g4e={class:`fl-props__row`},_4e={class:`fl-props__head`},v4e={class:`fl-props__kind`},y4e=[`title`],b4e={class:`fl-props__muted fl-props__route`},x4e={class:`fl-props__muted`},S4e={key:4,class:`fl-props__section`},C4e=L({__name:`FlowProperties`,props:{graph:{},selection:{},registry:{},labels:{},readonly:{type:Boolean},locked:{type:Function}},emits:[`command`,`align`,`distribute`,`delete`,`open-subgraph`,`connect`,`select`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=J(()=>r.selection.length===1?r.graph.nodes.find(e=>e.id===r.selection[0]):void 0),o=J(()=>r.selection.length===1?r.graph.edges.find(e=>e.id===r.selection[0]):void 0),s=J(()=>r.selection.length>1),c=J(()=>{let e=a.value?r.registry.get(a.value.type):void 0;return e?.icon&&x9[e.icon]||a.value&&x9[a.value.type]||x9.state}),l=J(()=>r.readonly||!!a.value&&r.locked(a.value)),u=J(()=>[...r.registry.entries()].map(([e,t])=>({value:e,label:r.labels.types[e]??t.title}))),d=J(()=>[{value:`transition`,label:r.labels.transition},{value:`association`,label:r.labels.association}]),f=J(()=>[{value:``,label:`—`},...(r.graph.groups??[]).map(e=>({value:e.id,label:e.label??e.id}))]),p=J(()=>[{value:`auto`,label:r.labels.directionAuto},{value:`LR`,label:r.labels.directionLR},{value:`TB`,label:r.labels.directionTB}]),m=J(()=>a.value?r.graph.edges.filter(e=>e.from===a.value.id):[]),h=J(()=>r.graph.nodes.filter(e=>!r.registry.get(e.type)?.noIncoming&&!r.registry.get(e.type)?.annotation).map(e=>({value:e.id,label:e.label||r.labels.types[e.type]||e.id}))),g=e=>r.graph.nodes.find(t=>t.id===e)?.label??e;function _(e,t){a.value&&!l.value&&i(`command`,{type:`updateNode`,id:a.value.id,patch:e},t?`${t}:${a.value.id}`:void 0)}function v(e,t){o.value&&!r.readonly&&i(`command`,{type:`updateEdge`,id:o.value.id,patch:e},t?`${t}:${o.value.id}`:void 0)}let y=e=>e===``?null:e;function b(e){return Object.entries(e?.data??{}).map(([e,t])=>({key:e,value:typeof t==`string`?t:JSON.stringify(t)}))}function x(e){let t=e.trim();if(/^(true|false|null|-?\d+(\.\d+)?|[[{].*[\]}])$/s.test(t))try{return JSON.parse(t)}catch{return e}return e}function S(e,t){let n={};for(let t of e)t.key.trim()&&(n[t.key.trim()]=x(t.value));let r={data:Object.keys(n).length?n:null};a.value?_(r,t):v(r,t)}let C=J(()=>b(a.value??o.value)),w=N(null);function T(e,t,n){let r=C.value.map(e=>({...e}));r[e][t]=n,S(r,`data-${e}-${t}`)}function ee(e){S(C.value.filter((t,n)=>n!==e),`data-remove`)}async function E(){w.value={key:``,value:``},await qn(),document.querySelector(`.fl-props__draft input`)?.focus()}function D(e){e.currentTarget.contains(e.relatedTarget)||O()}function O(){let e=w.value;e&&e.key.trim()&&(w.value=null,S([...C.value,e],`data-add`))}let k=J(()=>a.value?.subgraph===void 0?`none`:typeof a.value.subgraph==`string`?`ref`:`inline`),te=J(()=>!!a.value&&(r.registry.get(a.value.type)?.drillable??!1));function ne(){_({subgraph:{version:1,nodes:[{id:`start`,type:`start`},{id:`end`,type:`end`}],edges:[]}})}return t({focusLabel:()=>document.querySelector(`.fl-props__label input`)?.focus()}),(t,n)=>(B(),V(`div`,o4e,[s.value?(B(),V(K,{key:0},[U(`p`,s4e,M(e.labels.selectedCount(e.selection.length)),1),U(`div`,{class:`fl-props__tools`,role:`group`,"aria-label":e.labels.align},[(B(!0),V(K,null,R([[`left`,P(YT),e.labels.alignLeft],[`center`,P(_T),e.labels.alignCenter],[`right`,P(CT),e.labels.alignRight],[`top`,P(qT),e.labels.alignTop],[`middle`,P(hT),e.labels.alignMiddle],[`bottom`,P(xT),e.labels.alignBottom]],t=>(B(),H(P(Ys),{key:t[0],size:`sm`,variant:`secondary`,icon:t[1],"aria-label":t[2],title:t[2],disabled:e.readonly,"data-align":t[0],onClick:e=>i(`align`,t[0])},null,8,[`icon`,`aria-label`,`title`,`disabled`,`data-align`,`onClick`]))),128)),q(P(Ys),{size:`sm`,variant:`secondary`,icon:P(LT),"aria-label":e.labels.distributeH,title:e.labels.distributeH,disabled:e.readonly||e.selection.length<3,onClick:n[0]||=e=>i(`distribute`,`horizontal`)},null,8,[`icon`,`aria-label`,`title`,`disabled`]),q(P(Ys),{size:`sm`,variant:`secondary`,icon:P(lE),"aria-label":e.labels.distributeV,title:e.labels.distributeV,disabled:e.readonly||e.selection.length<3,onClick:n[1]||=e=>i(`distribute`,`vertical`)},null,8,[`icon`,`aria-label`,`title`,`disabled`])],8,c4e),q(P(Ys),{variant:`danger`,size:`sm`,icon:P(j6),disabled:e.readonly,class:`fl-props__delete`,onClick:n[2]||=e=>i(`delete`)},{default:F(()=>[W(M(e.labels.delete),1)]),_:1},8,[`icon`,`disabled`])],64)):a.value?(B(),V(K,{key:1},[U(`div`,l4e,[(B(),H(xr(c.value),{size:16,"aria-hidden":`true`})),U(`span`,u4e,M(e.labels.types[a.value.type]??e.registry.get(a.value.type)?.title??a.value.type),1),U(`code`,{class:`fl-props__id`,title:a.value.id},M(a.value.id),9,d4e)]),l.value&&!e.readonly?(B(),H(P(Kc),{key:0,variant:`info`},{default:F(()=>[W(M(e.labels.locked),1)]),_:1})):G(``,!0),q(P(pc),{class:`fl-props__label`,label:e.labels.label,"model-value":a.value.label??``,disabled:l.value,"onUpdate:modelValue":n[3]||=e=>_({label:y(e)},`label`)},null,8,[`label`,`model-value`,`disabled`]),q(P(mc),{label:e.labels.description,rows:2,"auto-grow":``,"max-rows":5,"model-value":a.value.description??``,disabled:l.value,"onUpdate:modelValue":n[4]||=e=>_({description:y(e)},`description`)},null,8,[`label`,`model-value`,`disabled`]),q(P(yc),{label:e.labels.nodeType},{default:F(()=>[q(P(Ku),{options:u.value,"model-value":a.value.type,disabled:l.value,"onUpdate:modelValue":n[5]||=e=>_({type:String(e)})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`]),e.graph.groups?.length?(B(),H(P(yc),{key:1,label:e.labels.group},{default:F(()=>[q(P(Ku),{options:f.value,"model-value":a.value.group??``,disabled:l.value,"onUpdate:modelValue":n[6]||=e=>_({group:e?String(e):null})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`])):G(``,!0),q(P(vc),{label:e.labels.enabled,"model-value":P(O7)(a.value),disabled:l.value,"onUpdate:modelValue":n[7]||=e=>i(`command`,{type:`setEnabled`,kind:`node`,id:a.value.id,enabled:e})},null,8,[`label`,`model-value`,`disabled`]),e.registry.get(a.value.type)?.annotation?G(``,!0):(B(),V(`section`,f4e,[U(`h4`,null,M(e.labels.transitions),1),(B(!0),V(K,null,R(m.value,e=>(B(),H(P(Ys),{key:e.id,size:`sm`,variant:`ghost`,icon:P(YD),class:`fl-props__transition`,onClick:t=>i(`select`,e.id)},{default:F(()=>[W(M(g(e.to)),1),e.label?(B(),V(`span`,p4e,` · `+M(e.label),1)):G(``,!0)]),_:2},1032,[`icon`,`onClick`]))),128)),!l.value&&!e.registry.get(a.value.type)?.noOutgoing?(B(),H(P(Ku),{key:0,class:`fl-props__connect`,options:h.value,"model-value":``,placeholder:e.labels.addTransition,searchable:``,size:`sm`,"onUpdate:modelValue":n[8]||=e=>e&&i(`connect`,a.value.id,String(e))},null,8,[`options`,`placeholder`])):G(``,!0)])),te.value||k.value!==`none`?(B(),V(`section`,m4e,[U(`h4`,null,M(e.labels.subprocess),1),k.value===`inline`?(B(),V(K,{key:0},[U(`p`,h4e,M(e.labels.subgraphInline(a.value.subgraph.nodes.length)),1),U(`div`,g4e,[q(P(Ys),{size:`sm`,variant:`secondary`,icon:P(H2),onClick:n[9]||=e=>i(`open-subgraph`,a.value.id)},{default:F(()=>[W(M(e.labels.subgraphOpen),1)]),_:1},8,[`icon`]),q(P(Ys),{size:`sm`,variant:`ghost`,disabled:l.value,onClick:n[10]||=e=>_({subgraph:null})},{default:F(()=>[W(M(e.labels.subgraphRemove),1)]),_:1},8,[`disabled`])])],64)):(B(),V(K,{key:1},[q(P(pc),{label:e.labels.subgraphRef,"model-value":a.value.subgraph??``,disabled:l.value,placeholder:`payment-v2`,"onUpdate:modelValue":n[11]||=e=>_({subgraph:y(e)},`subgraph`)},null,8,[`label`,`model-value`,`disabled`]),k.value===`none`?(B(),H(P(Ys),{key:0,size:`sm`,variant:`secondary`,icon:P(ZQ),disabled:l.value,onClick:ne},{default:F(()=>[W(M(e.labels.subgraphCreate),1)]),_:1},8,[`icon`,`disabled`])):G(``,!0)],64))])):G(``,!0)],64)):o.value?(B(),V(K,{key:2},[U(`div`,_4e,[(B(),H(xr(P(YD)),{size:16,"aria-hidden":`true`})),U(`span`,v4e,M(e.labels.edge),1),U(`code`,{class:`fl-props__id`,title:o.value.id},M(o.value.id),9,y4e)]),U(`p`,b4e,M(g(o.value.from))+` → `+M(g(o.value.to)),1),q(P(pc),{class:`fl-props__label`,label:e.labels.label,"model-value":o.value.label??``,disabled:e.readonly,"onUpdate:modelValue":n[12]||=e=>v({label:y(e)},`label`)},null,8,[`label`,`model-value`,`disabled`]),q(P(pc),{class:`fl-props__condition`,label:e.labels.condition,"model-value":o.value.condition??``,disabled:e.readonly,placeholder:`attempts < 3`,"onUpdate:modelValue":n[13]||=e=>v({condition:y(e)},`condition`)},null,8,[`label`,`model-value`,`disabled`]),q(P(yc),{label:e.labels.edgeKind},{default:F(()=>[q(P(Ku),{options:d.value,"model-value":o.value.kind??`transition`,disabled:e.readonly,"onUpdate:modelValue":n[14]||=e=>v({kind:e===`association`?`association`:null})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`]),q(P(vc),{label:e.labels.enabled,"model-value":P(O7)(o.value),disabled:e.readonly,"onUpdate:modelValue":n[15]||=e=>i(`command`,{type:`setEnabled`,kind:`edge`,id:o.value.id,enabled:e})},null,8,[`label`,`model-value`,`disabled`])],64)):(B(),V(K,{key:3},[U(`p`,x4e,M(e.labels.nothingSelected),1),q(P(pc),{label:e.labels.graphTitle,"model-value":e.graph.meta?.title??``,disabled:e.readonly,"onUpdate:modelValue":n[16]||=e=>i(`command`,{type:`updateMeta`,patch:{title:y(e)}},`meta-title`)},null,8,[`label`,`model-value`,`disabled`]),q(P(yc),{label:e.labels.direction},{default:F(()=>[q(P(Ku),{options:p.value,"model-value":e.graph.meta?.direction??`auto`,disabled:e.readonly,"onUpdate:modelValue":n[17]||=e=>i(`command`,{type:`updateMeta`,patch:{direction:e===`auto`?null:e}})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`])],64)),(a.value||o.value)&&!s.value?(B(),V(`section`,S4e,[U(`h4`,null,M(e.labels.data),1),(B(!0),V(K,null,R(C.value,(t,n)=>(B(),V(`div`,{key:n,class:`fl-props__kv`},[q(P(pc),{size:`sm`,"model-value":t.key,"aria-label":e.labels.key,placeholder:e.labels.key,disabled:l.value,"onUpdate:modelValue":e=>T(n,`key`,e)},null,8,[`model-value`,`aria-label`,`placeholder`,`disabled`,`onUpdate:modelValue`]),q(P(pc),{size:`sm`,"model-value":t.value,"aria-label":e.labels.value,placeholder:e.labels.value,disabled:l.value,"onUpdate:modelValue":e=>T(n,`value`,e)},null,8,[`model-value`,`aria-label`,`placeholder`,`disabled`,`onUpdate:modelValue`]),q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(I5),"aria-label":e.labels.removeField,disabled:l.value,onClick:e=>ee(n)},null,8,[`icon`,`aria-label`,`disabled`,`onClick`])]))),128)),w.value?(B(),V(`div`,{key:0,class:`fl-props__kv fl-props__draft`,onFocusout:D},[q(P(pc),{modelValue:w.value.key,"onUpdate:modelValue":n[18]||=e=>w.value.key=e,size:`sm`,"aria-label":e.labels.key,placeholder:e.labels.key,onKeydown:Oo(O,[`enter`])},null,8,[`modelValue`,`aria-label`,`placeholder`]),q(P(pc),{modelValue:w.value.value,"onUpdate:modelValue":n[19]||=e=>w.value.value=e,size:`sm`,"aria-label":e.labels.value,placeholder:e.labels.value,onKeydown:Oo(O,[`enter`])},null,8,[`modelValue`,`aria-label`,`placeholder`]),q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(I5),"aria-label":e.labels.cancel,onClick:n[20]||=e=>w.value=null},null,8,[`icon`,`aria-label`])],32)):G(``,!0),q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(ZQ),disabled:l.value,class:`fl-props__add`,onClick:E},{default:F(()=>[W(M(e.labels.addField),1)]),_:1},8,[`icon`,`disabled`])])):G(``,!0),(a.value||o.value)&&!s.value?(B(),H(P(Ys),{key:5,variant:`ghost`,size:`sm`,icon:P(j6),disabled:l.value,class:`fl-props__delete`,onClick:n[21]||=e=>i(`delete`)},{default:F(()=>[W(M(e.labels.delete),1)]),_:1},8,[`icon`,`disabled`])):G(``,!0)]))}}),w4e=[`lang`,`aria-label`],T4e=[`aria-label`],E4e={key:0,class:`fl-toolbar__text`},D4e={key:0,class:`fl-toolbar__text`},O4e={class:`fl-editor__body`},k4e=[`aria-label`],A4e={class:`fl-panel-title`},j4e={class:`fl-editor__canvas`},M4e={key:0,class:`fl-nav`,"data-fl-ui":``},N4e={key:1,class:`fl-hint`,"data-fl-ui":``},P4e={class:`fl-editor-empty`},F4e={class:`fl-empty__title`},I4e={class:`fl-empty__hint`},L4e={key:0,class:`fl-editor-empty__actions`},R4e={class:`fl-issues__summary`},z4e=L({inheritAttrs:!1,__name:`FlowEditor`,props:{modelValue:{},registry:{default:()=>t9},palette:{default:void 0},readonly:{type:Boolean,default:!1},locked:{default:()=>[]},snapGrid:{default:20},direction:{default:void 0},edgeStyle:{default:`orthogonal`},nodeRenderers:{default:()=>({})},nodeIcons:{default:()=>({})},locale:{default:void 0},labels:{default:void 0},minimap:{type:Boolean,default:!1},mermaid:{type:Function,default:void 0},toastProvider:{type:Boolean,default:!0},exportName:{default:`process.json`}},emits:[`update:modelValue`,`change`,`select`,`validate`,`export`],setup(e,{expose:t,emit:n}){let r=e,i=n,{lang:a,wrapper:o,wrapperProps:s}=N2e(()=>r.locale),c=J(()=>I2e(a.value,r.labels)),l=new X1e(tn(r.modelValue)),u=rn(tn(r.modelValue)),d=N(0);I(()=>r.modelValue,e=>{let t=tn(e);t!==u.value&&(l.reset(t),u.value=t,d.value++,f.value=m(t,f.value))});let f=N([]);function p(e,t){let n=e;for(let e of t){let t=n.nodes.find(t=>t.id===e);if(!t||typeof t.subgraph!=`object`)return n;n=t.subgraph}return n}function m(e,t){let n=[],r=e;for(let e of t){let t=r.nodes.find(t=>t.id===e);if(!t||typeof t.subgraph!=`object`)break;n.push(e),r=t.subgraph}return n}let h=J(()=>p(u.value,f.value)),g=J(()=>{let e=[{label:u.value.meta?.title??c.value.root,depth:0}],t=u.value;return f.value.forEach((n,r)=>{let i=t.nodes.find(e=>e.id===n);e.push({label:i?.label??n,depth:r+1}),i&&typeof i.subgraph==`object`&&(t=i.subgraph)}),e});function _(e,t=f.value,n=u.value){if(t.length===0)return e;let[r,...i]=t,a=n.nodes.find(e=>e.id===r),o=a&&typeof a.subgraph==`object`?a.subgraph:void 0;return o?{type:`updateNode`,id:r,patch:{subgraph:J7(o,_(e,i,o))}}:e}let v=N([]),y=N(null),b=N(null);function x(e,t){if(r.readonly)return!1;let n=e,i=h.value;if(i.nodes.some(e=>!e.position)&&e.type!==`replace`){let t=y.value?.layout.nodes;t&&(n={type:`batch`,commands:[{type:`moveNodes`,moves:i.nodes.filter(e=>!e.position&&t.has(e.id)).map(e=>({id:e.id,position:{x:Math.round(t.get(e.id).x),y:Math.round(t.get(e.id).y)}}))},e]})}let a=_(n);try{let r=l.execute(a,t);return S(r,{command:a,local:{command:n,path:[...f.value]},description:X7(e),graph:r,source:`edit`}),!0}catch(e){if(e instanceof v9)return!1;throw e}}function S(e,t){u.value=e,d.value++,f.value=m(e,f.value);let n=p(e,f.value),r=new Set([...n.nodes.map(e=>e.id),...n.edges.map(e=>e.id)]);v.value=v.value.filter(e=>r.has(e)),i(`update:modelValue`,e),i(`change`,t)}function C(){let e=l.undo();e&&S(l.graph,{command:e.command,local:{command:e.command,path:[]},description:X7(e.command),graph:l.graph,source:`undo`})}function w(){let e=l.redo();e&&S(l.graph,{command:e.command,local:{command:e.command,path:[]},description:X7(e.command),graph:l.graph,source:`redo`})}let T=J(()=>(d.value,l.canUndo)),ee=J(()=>(d.value,l.canRedo)),E=J(()=>(d.value,l.last?`${c.value.undo}: ${X7(l.last.command)}`:c.value.undo)),D=J(()=>(d.value,l.next?`${c.value.redo}: ${X7(l.next.command)}`:c.value.redo)),O=J(()=>m$e(h.value,{registry:r.registry}));I(O,e=>i(`validate`,e),{immediate:!0});let k=J(()=>{let e=new Map;for(let t of O.value)t.target&&(t.severity!==`error`&&e.has(t.target.id)||e.set(t.target.id,t.severity));return e}),te=J(()=>O.value.filter(e=>e.severity===`error`).length),ne=J(()=>O.value.length-te.value),A=e=>r.locked.includes(e.type)||p$e(r.registry,e),re=J(()=>h.value.nodes.filter(e=>v.value.includes(e.id)));function ie(e){v.value=e,i(`select`,e)}function ae(e){let t=h.value;return e.filter(e=>{let n=t.nodes.find(t=>t.id===e);return!n||!A(n)})}function oe(){let e=ae(v.value);e.length&&x({type:`removeElements`,ids:e})&&ie([])}let se=rn(null);function ce(){let e=v.value.filter(e=>h.value.nodes.some(t=>t.id===e));if(e.length){se.value=k1e(h.value,e,y.value?.layout);try{navigator.clipboard?.writeText(JSON.stringify(se.value)).catch(()=>{})}catch{}}}function le(){ce(),oe()}function ue(e=se.value,t){if(!e||!e.nodes.length)return;let{command:n,ids:i}=A1e(h.value,e,t?{at:t}:{offset:{x:r.snapGrid*2||32,y:r.snapGrid*2||32}});x(n)&&(ie(i),t||(se.value={...e,nodes:e.nodes.map(e=>e.position?{...e,position:{x:e.position.x+(r.snapGrid*2||32),y:e.position.y+(r.snapGrid*2||32)}}:e)}))}function de(){let e=v.value.filter(e=>h.value.nodes.some(t=>t.id===e));e.length&&ue(k1e(h.value,e,y.value?.layout))}function fe(){ie(h.value.nodes.map(e=>e.id))}function pe(e,t){let n=y.value?.layout.nodes,r=re.value.filter(e=>!A(e)).map(r=>{let i=n?.get(r.id),a=r.position??(i?{x:i.x,y:i.y}:{x:0,y:0});return{id:r.id,position:{x:a.x+e,y:a.y+t}}});r.length&&x({type:`moveNodes`,moves:r},`nudge`)}function me(e){let t=y.value&&j1e(y.value.layout.nodes,re.value.filter(e=>!A(e)).map(e=>e.id),e);t&&x(t)}function he(e){let t=y.value&&M1e(y.value.layout.nodes,re.value.filter(e=>!A(e)).map(e=>e.id),e);t&&x(t)}function ge(){let e=h.value;x(N1e(U7(e,{registry:r.registry,direction:y.value?.layout.direction??`LR`,routing:r.edgeStyle===`smooth`?`spline`:`orthogonal`,ignorePositions:!0})))&&setTimeout(()=>y.value?.fit(!0),30)}function _e(){let e=v.value;if(!e.length)return;let t=h.value,n=e.map(e=>{let n=t.nodes.find(t=>t.id===e);if(n)return A(n)?null:{kind:`node`,el:n};let r=t.edges.find(t=>t.id===e);return r?{kind:`edge`,el:r}:null}).filter(e=>!!e);if(!n.length)return;let r=!n.every(e=>O7(e.el));x({type:`batch`,commands:n.map(e=>({type:`setEnabled`,kind:e.kind,id:e.el.id,enabled:r}))})}function ve(e,t){let n=h.value,i=j7(r.registry,e),a={id:Y7(n,e),type:e,position:O1e(t,r.snapGrid)};return i.labelOutside||(a.label=c.value.types[e]??i.title),i.drillable&&(a.subgraph={version:1,nodes:[{id:`start`,type:`start`},{id:`end`,type:`end`}],edges:[{id:`e-1`,from:`start`,to:`end`}]}),a}function ye(e){let t=y.value?.layout,n=t?.nodes??new Map,i=l1e({id:``,type:e,label:c.value.types[e]??j7(r.registry,e).title},r.registry,i9),a=v.value.length===1?n.get(v.value[0]):void 0,o=y.value?.viewCentre()??{x:0,y:0};return a&&(o=t?.direction===`TB`?{x:a.x,y:a.y+a.height/2+72+i.height/2}:{x:a.x+a.width/2+72+i.width/2,y:a.y}),P1e(n.values(),i,o,{grid:Ue.value,padding:32})}function be(e,t){let n=ve(e,t??ye(e));x({type:`addNodes`,nodes:[n]})&&(ie([n.id]),qn(()=>y.value?.focusElement(n.id)))}function xe(e,t){let n=y.value?.root;if(!n)return;let r=n.getBoundingClientRect();t.x<r.left||t.x>r.right||t.y<r.top||t.y>r.bottom||be(e,y.value.clientToGraph(t.x,t.y))}function Se(e){let t={id:Y7(h.value,`e`),from:e.from,to:e.to};e.fromPort&&(t.fromPort=e.fromPort),e.toPort&&(t.toPort=e.toPort),x({type:`addEdge`,edge:t})&&ie([t.id])}function Ce(e){let t=e.end===`from`?{from:e.node,fromPort:e.port??null}:{to:e.node,toPort:e.port??null};x({type:`updateEdge`,id:e.id,patch:t})}function we(e){x({type:`removeElements`,ids:[e]})&&ie([])}function Te(e){let t=e.filter(e=>{let t=h.value.nodes.find(t=>t.id===e.id);return t&&!A(t)});t.length&&x({type:`moveNodes`,moves:t})}function Ee(e){let t=h.value.nodes.find(t=>t.id===e);t&&typeof t.subgraph==`object`&&(f.value=[...f.value,e],ie([]))}function De(e){let t=f.value[e];f.value=f.value.slice(0,e),ie(t?[t]:[])}function Oe(e){ie([e.id]),Ve.value=`properties`,Ke.value&&(Je.value=!0),qn(()=>b.value?.focusLabel())}function ke(){v.value.length?ie([]):f.value.length&&De(f.value.length-1)}let Ae=N(!1),je=N(`json`);function Me(e){je.value=e,Ae.value=!0}function Ne(e){x({type:`replace`,graph:e}),ie([]),setTimeout(()=>y.value?.fit(!0),30)}function Pe(){let e=d$e(u.value);i(`export`,e);try{let t=URL.createObjectURL(new Blob([e],{type:`application/json`})),n=document.createElement(`a`);n.href=t,n.download=r.exportName,n.click(),setTimeout(()=>URL.revokeObjectURL(t),1e3)}catch{}}let Fe=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent)?`⌘`:`Ctrl+`;function Ie(e){if(e.target.closest(`input, textarea, select, [contenteditable="true"], .uid-modal, .uid-menu, .fl-props`))return;let t=e.metaKey||e.ctrlKey,n=e.key.toLowerCase();if(t&&n===`z`)e.preventDefault(),e.shiftKey?w():C();else if(t&&n===`y`)e.preventDefault(),w();else if(t&&n===`c`)ce();else if(t&&n===`x`)e.preventDefault(),le();else if(t&&n===`v`)e.preventDefault(),ue();else if(t&&n===`d`)e.preventDefault(),de();else if(t&&n===`a`)e.preventDefault(),fe();else if((e.key===`Delete`||e.key===`Backspace`)&&v.value.length)e.preventDefault(),oe();else if(e.key.startsWith(`Arrow`)&&!e.altKey&&re.value.length){e.preventDefault();let t=e.shiftKey?(r.snapGrid||10)*5:r.snapGrid||1,n={ArrowUp:[0,-t],ArrowDown:[0,t],ArrowLeft:[-t,0],ArrowRight:[t,0]}[e.key];n&&pe(n[0],n[1])}}let Le=N(null);function ze(e){let t=[],n=e.target;if(n&&!r.readonly){let e=v.value.length>1,r=n.kind===`node`?h.value.nodes.find(e=>e.id===n.id):void 0,i=r?A(r):!1;r&&typeof r.subgraph==`object`&&!e&&t.push({label:c.value.subgraphOpen,icon:H2,action:()=>Ee(r.id)}),n.kind===`node`&&(t.push({label:c.value.duplicate,icon:WB,shortcut:`${Fe}D`,action:de}),t.push({label:c.value.copy,icon:JB,shortcut:`${Fe}C`,action:ce}),t.push({label:c.value.cut,icon:X1,shortcut:`${Fe}X`,action:le,disabled:i}));let a=r??h.value.edges.find(e=>e.id===n.id);t.push({label:a&&O7(a)?c.value.disable:c.value.enable,icon:c$,action:_e,disabled:i}),e&&(t.push({separator:!0}),t.push({label:c.value.align,icon:_T,children:[{label:c.value.alignLeft,action:()=>me(`left`)},{label:c.value.alignCenter,action:()=>me(`center`)},{label:c.value.alignRight,action:()=>me(`right`)},{label:c.value.alignTop,action:()=>me(`top`)},{label:c.value.alignMiddle,action:()=>me(`middle`)},{label:c.value.alignBottom,action:()=>me(`bottom`)},{label:c.value.distributeH,action:()=>he(`horizontal`),disabled:v.value.length<3},{label:c.value.distributeV,action:()=>he(`vertical`),disabled:v.value.length<3}]})),t.push({separator:!0}),t.push({label:c.value.delete,icon:j6,danger:!0,shortcut:`Del`,action:oe,disabled:i})}else r.readonly||(t.push({label:c.value.addHere,icon:ZQ,children:Be.value.map(t=>({label:c.value.types[t]??j7(r.registry,t).title,action:()=>be(t,e.point)}))}),t.push({label:c.value.paste,icon:NR,shortcut:`${Fe}V`,disabled:!se.value,action:()=>ue(se.value,e.point)}),t.push({separator:!0}),t.push({label:c.value.selectAll,shortcut:`${Fe}A`,action:fe}),t.push({label:c.value.autoLayout,icon:Vq,action:ge}));t.length&&Le.value?.open(e.client,t)}let Be=J(()=>r.palette??[...r.registry.keys()]),Ve=N(`properties`),He=N(r.snapGrid>0),Ue=J(()=>He.value?r.snapGrid:0),We=N(r.minimap),Ge=N(null),Ke=N(!1),qe=N(!1),Je=N(!1),Ye;Mi(()=>{let e=()=>{let e=Ge.value?.clientWidth??0;Ke.value=e>0&&e<760};e(),typeof ResizeObserver==`function`&&Ge.value&&(Ye=new ResizeObserver(e),Ye.observe(Ge.value))}),Pi(()=>Ye?.disconnect());function Xe(e){e.target&&(ie([e.target.id]),y.value?.centreOn(e.target.id),Ke.value&&(Je.value=!1),qn(()=>y.value?.focusElement(e.target.id)))}return t({undo:C,redo:w,autoLayout:ge,fit:()=>y.value?.fit(!0),select:ie,history:l,issues:O}),(t,n)=>(B(),H(xr(P(o)),Re(Yr(P(s))),{default:F(()=>[U(`div`,ei({ref_key:`rootEl`,ref:Ge},t.$attrs,{class:[`fl-editor`,{"is-narrow":Ke.value,"is-readonly":e.readonly}],lang:P(a),role:`application`,"aria-label":c.value.editor,onKeydown:Ie}),[U(`div`,{class:`fl-toolbar`,role:`toolbar`,"aria-label":c.value.editor},[Ke.value&&!e.readonly?(B(),H(P(Ys),{key:0,size:`sm`,variant:`ghost`,icon:P(b0),"aria-label":c.value.palette,class:`fl-toolbar__palette`,onClick:n[0]||=e=>qe.value=!0},null,8,[`icon`,`aria-label`])):G(``,!0),q(P(tl),{content:E.value,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(a8),"aria-label":c.value.undo,disabled:!T.value||e.readonly,class:`fl-toolbar__undo`,onClick:C},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),q(P(tl),{content:D.value,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(G$),"aria-label":c.value.redo,disabled:!ee.value||e.readonly,class:`fl-toolbar__redo`,onClick:w},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),n[20]||=U(`span`,{class:`fl-toolbar__sep`,"aria-hidden":`true`},null,-1),q(P(tl),{content:`${c.value.duplicate} (${P(Fe)}D)`,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(WB),"aria-label":c.value.duplicate,disabled:!re.value.length||e.readonly,class:`fl-toolbar__duplicate`,onClick:de},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),q(P(tl),{content:`${c.value.delete} (Del)`,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(j6),"aria-label":c.value.delete,disabled:!v.value.length||e.readonly,class:`fl-toolbar__delete`,onClick:oe},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),n[21]||=U(`span`,{class:`fl-toolbar__sep`,"aria-hidden":`true`},null,-1),q(P(tl),{content:c.value.autoLayout,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(Vq),"aria-label":c.value.autoLayout,disabled:e.readonly||!h.value.nodes.length,class:`fl-toolbar__layout`,onClick:ge},{default:F(()=>[Ke.value?G(``,!0):(B(),V(`span`,E4e,M(c.value.autoLayout),1))]),_:1},8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),q(P(tl),{content:c.value.snapToGrid,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:He.value?`secondary`:`ghost`,icon:P(zJ),"aria-label":c.value.snapToGrid,"aria-pressed":He.value,class:j([`fl-toolbar__snap fl-toggle`,{"is-active":He.value}]),onClick:n[1]||=e=>He.value=!He.value},null,8,[`variant`,`icon`,`aria-label`,`aria-pressed`,`class`])]),_:1},8,[`content`]),n[22]||=U(`span`,{class:`fl-toolbar__spacer`},null,-1),q(P(il),null,{trigger:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:Ke.value?P(vH):P(tU),"aria-label":c.value.more,class:`fl-toolbar__file`},{default:F(()=>[Ke.value?G(``,!0):(B(),V(`span`,D4e,`JSON / Mermaid`))]),_:1},8,[`icon`,`aria-label`])]),default:F(()=>[q(P(al),{icon:P(QV),class:`fl-menu-export`,onClick:Pe},{default:F(()=>[W(M(c.value.exportJson),1)]),_:1},8,[`icon`]),q(P(sl)),q(P(al),{icon:P(g8),disabled:e.readonly,class:`fl-menu-import-json`,onClick:n[2]||=e=>Me(`json`)},{default:F(()=>[W(M(c.value.importJson),1)]),_:1},8,[`icon`,`disabled`]),e.mermaid?(B(),H(P(al),{key:0,icon:P(tU),disabled:e.readonly,class:`fl-menu-import-mermaid`,onClick:n[3]||=e=>Me(`mermaid`)},{default:F(()=>[W(M(c.value.importMermaid),1)]),_:1},8,[`icon`,`disabled`])):G(``,!0)]),_:1}),z(t.$slots,`toolbar`),Ke.value?(B(),H(P(Ys),{key:1,size:`sm`,variant:`ghost`,icon:P(qZ),"aria-label":c.value.properties,class:`fl-toolbar__side`,onClick:n[4]||=e=>Je.value=!0},{default:F(()=>[te.value?(B(),H(P(Sc),{key:0,variant:`danger`,size:`sm`},{default:F(()=>[W(M(te.value),1)]),_:1})):G(``,!0)]),_:1},8,[`icon`,`aria-label`])):G(``,!0)],8,T4e),U(`div`,O4e,[!Ke.value&&!e.readonly?(B(),V(`aside`,{key:0,class:`fl-editor__palette`,"aria-label":c.value.palette},[U(`h3`,A4e,M(c.value.palette),1),q(a4e,{registry:e.registry,types:Be.value,labels:c.value,"node-icons":e.nodeIcons,onAdd:n[5]||=e=>be(e),onDrop:xe},null,8,[`registry`,`types`,`labels`,`node-icons`])],8,k4e)):G(``,!0),U(`div`,j4e,[q(E2e,{ref_key:`canvas`,ref:y,graph:h.value,labels:c.value,registry:e.registry,direction:e.direction,"edge-style":e.edgeStyle,selection:v.value,issues:k.value,editable:!e.readonly,"snap-grid":Ue.value,minimap:We.value,"node-renderers":e.nodeRenderers,"node-icons":e.nodeIcons,"fit-key":f.value.join(`/`),drillable:e=>typeof e.subgraph==`object`,"is-locked":A,"aria-label":c.value.editor,onSelect:n[10]||=e=>ie(e),onActivate:Oe,onEnter:Ee,onMove:Te,onConnect:Se,onReconnect:Ce,onDetach:we,onContextmenu:ze,onBackgroundDblclick:n[11]||=t=>!e.readonly&&be(`state`,t),onEscape:ke,"onUpdate:minimap":n[12]||=e=>We.value=e},{overlay:F(()=>[f.value.length?(B(),V(`div`,M4e,[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(dI),"aria-label":c.value.back,class:`fl-nav__back`,onClick:n[6]||=e=>De(f.value.length-1)},null,8,[`icon`,`aria-label`]),q(P(wl),{label:c.value.root,collapse:``,class:`fl-nav__crumbs`},{default:F(()=>[(B(!0),V(K,null,R(g.value,e=>(B(),H(P(Al),{key:e.depth,current:e.depth===f.value.length,onClick:t=>De(e.depth)},{default:F(()=>[W(M(e.label),1)]),_:2},1032,[`current`,`onClick`]))),128))]),_:1},8,[`label`])])):G(``,!0),h.value.nodes.length&&!e.readonly&&!v.value.length?(B(),V(`p`,N4e,M(c.value.connectHint),1)):G(``,!0)]),empty:F(()=>[U(`div`,P4e,[U(`p`,F4e,M(c.value.emptyEditorTitle),1),U(`p`,I4e,M(c.value.emptyEditorHint),1),e.readonly?G(``,!0):(B(),V(`div`,L4e,[q(P(Ys),{variant:`primary`,size:`sm`,icon:P(ZQ),class:`fl-empty__add-start`,onClick:n[7]||=e=>be(`start`)},{default:F(()=>[W(M(c.value.addStart),1)]),_:1},8,[`icon`]),e.mermaid?(B(),H(P(Ys),{key:0,variant:`secondary`,size:`sm`,icon:P(tU),onClick:n[8]||=e=>Me(`mermaid`)},{default:F(()=>[W(M(c.value.importMermaid),1)]),_:1},8,[`icon`])):G(``,!0),q(P(Ys),{variant:`ghost`,size:`sm`,icon:P(g8),onClick:n[9]||=e=>Me(`json`)},{default:F(()=>[W(M(c.value.importJson),1)]),_:1},8,[`icon`])]))])]),_:1},8,[`graph`,`labels`,`registry`,`direction`,`edge-style`,`selection`,`issues`,`editable`,`snap-grid`,`minimap`,`node-renderers`,`node-icons`,`fit-key`,`drillable`,`aria-label`])]),(B(),H(xr(Ke.value?P($c):`aside`),Re(Yr(Ke.value?{modelValue:Je.value,"onUpdate:modelValue":e=>Je.value=e,title:c.value.properties,width:`min(360px, 100vw)`}:{class:`fl-editor__side`,"aria-label":c.value.properties})),{default:F(()=>[q(P(hl),{modelValue:Ve.value,"onUpdate:modelValue":n[15]||=e=>Ve.value=e},{list:F(()=>[q(P(_l),{value:`properties`},{default:F(()=>[W(M(c.value.properties),1)]),_:1}),q(P(_l),{value:`issues`,class:`fl-tab-issues`},{default:F(()=>[W(M(c.value.issues)+` `,1),O.value.length?(B(),H(P(Sc),{key:0,variant:te.value?`danger`:`warning`,size:`sm`,class:`fl-tab-issues__count`},{default:F(()=>[W(M(O.value.length),1)]),_:1},8,[`variant`])):G(``,!0)]),_:1})]),default:F(()=>[q(P(yl),{value:`properties`},{default:F(()=>[q(C4e,{ref_key:`propsPanel`,ref:b,graph:h.value,selection:v.value,registry:e.registry,labels:c.value,readonly:e.readonly,locked:A,onCommand:x,onAlign:me,onDistribute:he,onDelete:oe,onOpenSubgraph:Ee,onConnect:n[13]||=(e,t)=>Se({from:e,to:t}),onSelect:n[14]||=e=>{ie([e]),y.value?.centreOn(e)}},null,8,[`graph`,`selection`,`registry`,`labels`,`readonly`]),z(t.$slots,`properties`,{selection:v.value,graph:h.value,path:f.value})]),_:3}),q(P(yl),{value:`issues`},{default:F(()=>[U(`p`,R4e,M(c.value.issueCount(te.value,ne.value)),1),q(n4e,{issues:O.value,labels:c.value,onFocus:Xe},null,8,[`issues`,`labels`])]),_:1})]),_:3},8,[`modelValue`])]),_:3},16))]),Ke.value&&!e.readonly?(B(),H(P($c),{key:0,modelValue:qe.value,"onUpdate:modelValue":n[18]||=e=>qe.value=e,side:`left`,title:c.value.palette,width:`min(280px, 85vw)`},{default:F(()=>[q(a4e,{registry:e.registry,types:Be.value,labels:c.value,"node-icons":e.nodeIcons,onAdd:n[16]||=e=>{be(e),qe.value=!1},onDrop:n[17]||=(e,t)=>{xe(e,t),qe.value=!1}},null,8,[`registry`,`types`,`labels`,`node-icons`])]),_:1},8,[`modelValue`,`title`])):G(``,!0),q(Z2e,{open:Ae.value,"onUpdate:open":n[19]||=e=>Ae.value=e,mode:je.value,labels:c.value,mermaid:e.mermaid,onImport:Ne},null,8,[`open`,`mode`,`labels`,`mermaid`]),q(Y2e,{ref_key:`menu`,ref:Le},null,512),e.toastProvider?(B(),H(P(Yc),{key:1})):G(``,!0)],16,w4e)]),_:3},16))}}),B4e=n({fromMermaid:()=>H4e,isMermaidFlow:()=>V4e});function V4e(e){let t=e.replace(/^\s*(%%[^\n]*\n\s*)*/,``).split(/\s/,1)[0]??``;return/^(stateDiagram(-v2)?|flowchart|graph)$/.test(t)}function H4e(e,t={}){let n=Khe(e);if(n&&n.type===`state`&&n.states instanceof Map)return U4e(n,t);if(n&&n.type===`flowchart`&&n.nodes instanceof Map)return W4e(n,t);throw new Q7(`Only stateDiagram-v2 and flowchart can be imported, not "${n?.type??`unknown`}"`)}function w9(e){let t=/^\u0000(start|end):(.*)$/.exec(e);return t?t[2]===`root`?t[1]:`${t[2]}-${t[1]}`:e}function U4e(e,t){let n=e.composites,r=e=>{let t=e;for(;t!==void 0;){let e=n.get(t);if(!e)return``;if(!e.region)return t;t=e.parent}return``},i=e=>e!==void 0&&n.get(e)?.region?e:void 0,a=t=>e.states.get(t)?.parent??n.get(t)?.parent,o=(e,t)=>{let i=e;for(let e=0;i!==void 0&&e<1e3;e++){if(!n.get(i)?.region&&r(a(i))===t)return i;i=a(i)}},s=new Map,c=r=>{let i=s.get(r);return i||(i={version:1,nodes:[],edges:[]},r===``?i.meta={direction:t.direction??T9(e.direction)}:i.meta={title:n.get(r)?.name??r,direction:t.direction??T9(e.direction)},s.set(r,i)),i};c(``);let l={state:`state`,start:`start`,end:`end`,choice:`decision`,fork:`state`,join:`state`};for(let t of e.states.values()){let e=c(r(t.parent)),n={id:w9(t.id),type:l[t.kind]};(t.kind===`state`||t.kind===`choice`)&&(n.label=t.name),(t.kind===`fork`||t.kind===`join`)&&(n.label=t.name||t.kind,n.data={pseudo:t.kind}),t.descriptions.length&&(n.description=t.descriptions.join(` `));let a=i(t.parent);a&&(n.group=a),e.nodes.push(n)}for(let e of n.values()){if(e.region){let t=c(r(e.parent)),n={id:e.id},a=i(e.parent);a&&(n.parent=a),(t.groups??=[]).push(n);continue}let t=c(r(e.parent)),n={id:e.id,type:`subprocess`,label:e.name,subgraph:c(e.id)},a=i(e.parent);a&&(n.group=a),t.nodes.push(n)}let u=0;for(let t of e.transitions){let e=r(a(t.from)),i,s;for(let a=0;e!==void 0&&a<1e3&&(i=o(t.from,e),s=o(t.to,e),i===void 0||s===void 0);a++)e=e===``?void 0:r(n.get(e)?.parent);if(e===void 0||i===void 0||s===void 0)continue;let l={id:`t${++u}`,from:w9(i),to:w9(s)};t.label&&(l.label=t.label),c(e).edges.push(l)}let d=0;for(let t of e.notes){let e=c(r(a(t.target))),n=`note-${++d}`;e.nodes.push({id:n,type:`note`,label:t.text}),e.edges.push({id:`${n}-link`,from:n,to:w9(t.target),kind:`association`})}return c(``)}function W4e(e,t){let n=new Set(e.edges.map(e=>e.to)),r=new Set(e.edges.map(e=>e.from)),i=(e,t)=>{switch(t){case`rhombus`:case`choice`:case`hexagon`:return`decision`;case`subroutine`:return`subprocess`;case`doublecircle`:case`end`:return`end`;case`start`:return`start`;case`circle`:return n.has(e)?r.has(e)?`state`:`end`:`start`;case`round`:case`stadium`:return`state`;case`asymmetric`:return`note`;default:return`task`}},a={version:1,nodes:[],edges:[],meta:{direction:t.direction??T9(e.direction)}};for(let t of e.nodes.values()){let e={id:t.id,type:i(t.id,t.shape)};!t.text||e.type===`start`&&t.text===t.id||e.type===`end`&&t.text===t.id||(e.label=t.text),t.subgraph&&(e.group=t.subgraph),a.nodes.push(e)}e.subgraphs.size&&(a.groups=[...e.subgraphs.values()].map(e=>{let t={id:e.id};return e.title&&(t.label=e.title),e.parent&&(t.parent=e.parent),t}));let o=0;for(let t of e.edges){if(t.stroke===`invisible`)continue;let e={id:`e${++o}`,from:t.from,to:t.to};t.text&&(e.label=t.text),t.end===`none`&&t.stroke===`dotted`&&(e.kind=`association`),a.edges.push(e)}return a}var T9,G4e=t((()=>{b9(),U_e(),T9=e=>e===`LR`||e===`RL`?`LR`:`TB`})),K4e=n({followNode:()=>Q4e,mountElement:()=>$4e,pollUrl:()=>J4e,renderers:()=>e3e,setup:()=>q4e,subgraphUrl:()=>Y4e,toGraph:()=>O9});jo(),b9();function q4e(e){K_(e)}var E9=null;function D9(){return E9??=Promise.resolve().then(()=>(G4e(),B4e)),E9.catch(()=>E9=null),E9}async function O9(e){if(e&&typeof e==`object`)return A7(e);let t=String(e??``).trim();if(t===``)return A7({version:1,nodes:[],edges:[]});if(t.startsWith(`{`))return A7(t);let{fromMermaid:n}=await D9();return n(t)}function J4e(e,t){let n=new URL(e,document.baseURI);return t.path&&t.path.length>0&&n.searchParams.set(`path`,t.path.join(`,`)),t.ref&&n.searchParams.set(`ref`,t.ref),n.href}function Y4e(e,t){if(e.includes(`{ref}`))return e.replace(`{ref}`,encodeURIComponent(t));let n=new URL(e,document.baseURI);return n.searchParams.set(`ref`,t),n.href}async function X4e(e,t){let n=await fetch(e,{signal:t,credentials:`same-origin`,headers:{Accept:`application/json`}});if(!n.ok)throw Error(`${e}: HTTP ${n.status}`);return n.json()}var Z4e=[`direction`,`edgeStyle`,`wheel`,`minimap`,`controls`,`details`,`statusBar`,`labels`,`registry`];function Q4e(e,t){let n=e.data??{},r=e=>typeof e==`string`&&e!==``?document.querySelector(e):null,i=r(t.openapiTarget);i&&typeof n.operation==`string`&&n.operation!==``&&Promise.resolve(i.go?.(n.operation)).catch(e=>console.warn(`[dsk-embed] openapi-target:`,Q_(e)));let a=r(t.mediaTarget);if(a&&(n.chapter!==void 0||n.time!==void 0)){let e=n.chapter===void 0?Promise.resolve(a.seek?.(Number(n.time))).then(()=>a.play?.()):a.playChapter?.(n.chapter);Promise.resolve(e).catch(e=>console.warn(`[dsk-embed] media-target:`,Q_(e)))}}function $4e(e){let t=Y_(),n=rn(null),r=rn(null),i=null,a=``;function o(){let t=e.props().name;typeof t==`string`&&t!==``&&(i||(i=document.createElement(`input`),i.type=`hidden`,e.el.appendChild(i)),i.name=t,i.value=n.value?JSON.stringify(n.value):``)}async function s(){let t=e.props(),i=t.graph===void 0?typeof t.src==`string`&&t.src!==``?`src:${t.src}`:`source:${e.source()}`:`object`;if(i!==a||i===`object`){a=i;try{let i=t.graph===void 0?typeof t.src==`string`&&t.src!==``?await O9(await Z_(t.src)):await O9(e.source()):await O9(t.graph);n.value=i,r.value=null,o(),e.emit(`load`,{nodes:i.nodes.length,edges:i.edges.length})}catch(t){r.value=Q_(t),e.emit(`error`,{message:r.value})}}}let c=J_(e,i=>{let a=i.props;if(r.value)return ri(`div`,{class:`dsk-error`,role:`alert`},r.value);if(!n.value)return ri(`div`,{class:`dsk-flow-frame`,style:{height:A(a.height,`480px`)}});let s={};for(let e of Z4e)a[e]!==void 0&&(s[e]=a[e]);let c=`var(--dsk-flow-height, ${A(a.height,a.editable?`600px`:`480px`)})`;if(a.editable)return ri(`div`,{class:`dsk-flow-frame`,style:{height:c}},[$_(z4e,{...s,ref:t.set,modelValue:n.value,locale:i.locale,readonly:a.readonly===!0,...Array.isArray(a.palette)?{palette:a.palette}:{},mermaid:e=>{if(!l)throw Error(`Mermaid import is still loading; try again`);return l(e)},style:{height:`100%`},"onUpdate:modelValue":e=>{n.value=e,o()},onChange:t=>{n.value=t.graph,o(),e.emit(`change`,{graph:t.graph,description:t.description,source:t.source})},onSelect:t=>e.emit(`select`,{ids:t}),onValidate:t=>e.emit(`validate`,{issues:t})})]);let u=typeof a.pollUrl==`string`&&a.pollUrl!==``?a.pollUrl:null,d=typeof a.toggleUrl==`string`&&a.toggleUrl!==``?a.toggleUrl:null,f=typeof a.persistToggle==`function`?a.persistToggle:null,p=typeof a.subgraphUrl==`string`&&a.subgraphUrl!==``?a.subgraphUrl:null,m=typeof a.loadSubgraph==`function`?a.loadSubgraph:null;return ri(`div`,{class:`dsk-flow-frame`,style:{height:c}},[$_(K2e,{...s,ref:t.set,graph:n.value,locale:i.locale,style:{height:`100%`},...a.state===void 0?{}:{state:a.state},...u?{poll:{intervalMs:typeof a.pollInterval==`number`?a.pollInterval:5e3,fetch:(e,t)=>X4e(J4e(u,t),e)}}:{},...d||f?{toggleable:!0,persistToggle:async e=>{if(f)return f(e);let t=await fetch(d,{method:`POST`,credentials:`same-origin`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(`${t.status} ${t.statusText}`.trim());return t},onToggle:(t,n)=>e.emit(`toggle`,{...t,ok:n.ok,...n.ok?{}:{rolledBack:n.rolledBack}})}:{},...m?{loadSubgraph:m}:p?{loadSubgraph:e=>X4e(Y4e(p,e)).then(e=>O9(e))}:{},onSelect:t=>{e.emit(`select`,t?{kind:t.kind,id:t.id,path:t.path,element:t.element}:null),t?.kind===`node`&&(e.emit(`node`,{id:t.id,path:t.path,node:t.element,data:t.element.data??{}}),Q4e(t.element,{openapiTarget:a.openapiTarget,mediaTarget:a.mediaTarget}))},onNavigate:t=>e.emit(`navigate`,{path:t.map(e=>e.nodeId).filter(Boolean)}),"onToggle-error":(t,n)=>e.emit(`toggle-error`,{change:t,message:Q_(n)}),"onPoll-error":t=>e.emit(`poll-error`,{message:Q_(t)})})])}),l=null;e.props().editable&&D9().then(e=>l=e.fromMermaid,()=>void 0),s();let u=e=>(...n)=>{let r=t.ref.value?.[e];if(typeof r!=`function`)throw Error(`${String(e)}() is not available here`);return r(...n)};return{update(){c.refresh(),s(),e.props().editable&&!l&&D9().then(e=>l=e.fromMermaid,()=>void 0)},destroy(){c.unmount(),i?.remove()},api:{fit:u(`fit`),select:u(`select`),enter:u(`enter`),back:u(`back`),refresh:u(`refresh`),undo:u(`undo`),redo:u(`redo`),get stack(){return t.ref.value?.stack},get graph(){return n.value}}}}var e3e={async flow(e){let t;try{t=await O9(e)}catch(e){return{error:Q_(e)}}return{mount(e){e.classList.add(`dsk-flow-frame`),e.style.height=`420px`;let n=Jt({graph:t}),r=q_(e,()=>$_(K2e,{graph:n.graph,locale:H_.locale,minimap:!1,statusBar:!1,style:{height:`100%`},onSelect:t=>{t?.kind===`node`&&e.dispatchEvent(new CustomEvent(`dsk:node`,{bubbles:!0,composed:!0,detail:{id:t.id,path:t.path,node:t.element,data:t.element.data??{}}}))}}));return{update(e){O9(e).then(e=>n.graph=e,()=>void 0)},destroy:()=>r.unmount()}}}}},t3e=n({mountElement:()=>r3e,setup:()=>n3e});jo(),k_();function n3e(e){K_(e)}function r3e(e){let t=rn(null),n=rn(null),r=``;async function i(){let i=e.props().src;if(typeof i==`string`&&i!==``&&i!==r){r=i;try{t.value=await Z_(i),n.value=null}catch(t){n.value=Q_(t),e.emit(`error`,{message:n.value})}}}let a=J_(e,e=>{if(n.value)return ri(`div`,{class:`dsk-error`,role:`alert`},n.value);let r=e.props,i=typeof r.src==`string`&&r.src!==``?t.value??``:e.source;return $_(jm,{class:`dsk-markdown`,source:i,blockRenderers:H_.renderers,...r.toc===void 0?{}:{toc:r.toc},...r.tocDepth===void 0?{}:{tocDepth:r.tocDepth},...r.linkBase===void 0?{}:{linkBase:r.linkBase},...r.imageBase===void 0?{}:{imageBase:r.imageBase}})});return i(),{update(){a.refresh(),i()},destroy:()=>a.unmount(),api:{get value(){return typeof e.props().src==`string`?t.value??``:e.source()}}}}jo();var k9=`data-dsk-preview`,A9=`data-dsk-preview-state`,j9=`data-dsk-preview-live`;function M9(e){if(!e.querySelector(`[${k9}], [${A9}]`))return e.innerHTML;let t=e.cloneNode(!0);return i3e(t),t.innerHTML}function i3e(e){for(let t of Array.from(e.querySelectorAll(`[${k9}]`)))t.remove();for(let t of Array.from(e.querySelectorAll(`[${A9}]`)))t.removeAttribute(A9)}function a3e(e){let t=e.firstElementChild;if(!t||t.tagName.toLowerCase()!==`code`)return null;let n=t.className.match(/(?:^|\s)language-([\w-]+)/);return n?n[1].toLowerCase():null}function o3e(e){return(e.textContent??``).replace(//g,``)}function N9(e){return(e instanceof Element?e:e instanceof Node?e.parentElement:null)?.closest(`[${j9}]`)!=null}var s3e=class{host;renderers;entries=new WeakMap;onChange;index=0;editable=!0;mounted=new Map;onCodeChange=()=>{};constructor(e,t={},n=()=>{}){this.host=e,this.renderers=t,this.onChange=n}setRenderers(e){this.renderers=e,this.remountAll()}setEditable(e){this.editable!==e&&(this.editable=e,this.remountAll())}destroy(){for(let e of this.mounted.values())e.destroy?.();this.mounted.clear()}remountAll(){for(let e of this.previewable()){let t=this.entries.get(e);t&&(this.unmountLive(t),t.source=null)}this.sync()}get enabled(){return Object.keys(this.renderers).length>0}sync(){let e=this.previewable(),t=new Set;for(let n of e){let e=this.entryFor(n);t.add(e.island);let r=o3e(n);r!==e.source&&this.render(n,e,r)}for(let e of Array.from(this.host.querySelectorAll(`[${k9}]`)))t.has(e)||e.remove();for(let t of Array.from(this.host.querySelectorAll(`[${A9}]`)))e.includes(t)||t.removeAttribute(A9);for(let[e,n]of this.mounted)e.isConnected&&t.has(e)||(n.destroy?.(),this.mounted.delete(e))}dropOrphanedCode(){let e=!1;for(let t of Array.from(this.host.querySelectorAll(`pre[${A9}="view"]`))){let n=this.entries.get(t);n&&!n.island.isConnected&&(t.remove(),e=!0)}return e}followSelection(e){for(let t of this.previewable()){let n=e!==null&&t.contains(e.startContainer),r=this.entries.get(t);r?.handle||(n?this.setState(t,`edit`):this.setState(t,r?.failed?`error`:`view`))}}closeAll(){this.followSelection(null)}edit(e){if(e.hasAttribute(j9))return;let t=e.previousElementSibling;if(!(t instanceof HTMLElement)||t.tagName.toLowerCase()!==`pre`)return;this.setState(t,`edit`);let n=t.querySelector(`code`)??t,r=document.createRange();r.selectNodeContents(n),r.collapse(!1);let i=window.getSelection();i&&(i.removeAllRanges(),i.addRange(r))}leave(e){let t=this.entries.get(e),n=t?.island.isConnected?t.island:e,r=n.nextElementSibling;(!r||r.matches(`pre, [${k9}]`))&&(r=document.createElement(`p`),r.appendChild(document.createElement(`br`)),n.after(r));let i=document.createRange();i.setStart(r,0),i.collapse(!0);let a=window.getSelection();a&&(a.removeAllRanges(),a.addRange(i)),this.setState(e,t?.failed?`error`:`view`)}openCodeAt(e){if(!e)return null;for(let t of this.previewable())if(t.getAttribute(A9)===`edit`&&t.contains(e.startContainer))return t;return null}previewable(){return this.enabled?Array.from(this.host.querySelectorAll(`pre`)).filter(e=>{let t=a3e(e);return t!==null&&Object.prototype.hasOwnProperty.call(this.renderers,t)}):[]}entryFor(e){let t=this.entries.get(e);if(!t||!t.island.isConnected||t.island.previousElementSibling!==e){let n=document.createElement(`div`);n.setAttribute(k9,``),n.setAttribute(`contenteditable`,`false`),n.className=`dsk-wysiwyg__preview`,t?.island.remove(),t={island:n,source:null,ticket:0,failed:!1,handle:null},this.entries.set(e,t),e.after(n)}return e.hasAttribute(A9)||e.setAttribute(A9,`view`),t}setState(e,t){e.getAttribute(A9)!==t&&e.setAttribute(A9,t)}render(e,t,n){t.source=n;let r=++t.ticket,i=a3e(e),a=this.renderers[i];if(n.trim()===``&&!t.handle){t.failed=!1,t.island.removeAttribute(`data-error`),t.island.replaceChildren();return}let o=a=>{if(r!==t.ticket)return;let o=t.island;a.mount?this.mountLive(e,t,n,i,a.mount):(this.unmountLive(t),a.error!==void 0||a.html===void 0?(t.failed=!0,o.setAttribute(`data-error`,``),o.replaceChildren(c3e(a.error??``)),e.getAttribute(A9)!==`edit`&&this.setState(e,`error`)):(t.failed=!1,o.removeAttribute(`data-error`),o.innerHTML=a.html,e.getAttribute(A9)!==`edit`&&this.setState(e,`view`)))},s;try{s=a(n,{language:i,index:this.index++})}catch(e){o({error:e instanceof Error?e.message:String(e)});return}s instanceof Promise?s.then(o,e=>o({error:e instanceof Error?e.message:String(e)})).then(()=>this.onChange()):o(s)}mountLive(e,t,n,r,i){t.failed=!1;let a=t.island;if(a.removeAttribute(`data-error`),this.setState(e,`view`),t.handle?.update){t.handle.update(n);return}this.unmountLive(t),a.replaceChildren(),a.setAttribute(j9,``);let o=this.editable,s=i(a,{code:n,language:r,editable:o,setCode:n=>{if(!o||!e.isConnected)return;let r=e.querySelector(`code`)??e;r.textContent=n,t.source=o3e(e),this.onCodeChange()}}),c=typeof s==`function`?{destroy:s}:s??{};t.handle=c,this.mounted.set(a,c)}unmountLive(e){e.handle&&(e.handle.destroy?.(),this.mounted.delete(e.island),e.handle=null,e.island.removeAttribute(j9))}};function c3e(e){let t=document.createElement(`div`);return t.className=`dsk-wysiwyg__preview-error`,t.setAttribute(`role`,`alert`),t.textContent=e,t}function l3e(){let e=typeof window>`u`?null:window.getSelection();return e&&e.rangeCount>0?e:null}function P9(e){let t=l3e();if(!t)return null;let n=t.getRangeAt(0);return e.contains(n.startContainer)&&e.contains(n.endContainer)?n:null}function F9(e,t){let n=P9(e);if(!n)return!1;let r=n.startContainer;for(;r&&r!==e;){if(r instanceof HTMLElement){let e=r.tagName.toLowerCase();if(t.includes(e))return!0}r=r.parentNode}return!1}function I9(e){let t=P9(e);if(!t)return null;let n=t.startContainer;for(;n&&n!==e;){if(n instanceof HTMLElement){let e=n.tagName.toLowerCase();if([`p`,`h1`,`h2`,`h3`,`li`,`blockquote`,`pre`].includes(e))return e}n=n.parentNode}return null}function u3e(e){let t=P9(e);if(!t)return null;let n=t.startContainer;for(;n&&n!==e;){if(n instanceof HTMLAnchorElement)return n;n=n.parentNode}return null}function L9(e){e.dispatchEvent(new InputEvent(`input`,{bubbles:!0,cancelable:!0}))}function R9(e,t){let n=P9(e);if(!n)return;if(n.collapsed){let r=d3e(n.startContainer,e,t);if(r){let t=document.createTextNode(``);r.after(t);let n=window.getSelection();if(n){let e=document.createRange();e.setStart(t,1),e.collapse(!0),n.removeAllRanges(),n.addRange(e)}L9(e);return}let i=document.createElement(t);i.appendChild(document.createTextNode(``)),n.insertNode(i);let a=window.getSelection();if(a){let e=document.createRange();e.setStart(i.firstChild,1),e.collapse(!0),a.removeAllRanges(),a.addRange(e)}L9(e);return}let r=d3e(n.startContainer,e,t);if(r&&r.contains(n.endContainer)){f3e(r),L9(e);return}let i=document.createElement(t);try{i.appendChild(n.extractContents()),n.insertNode(i);let e=window.getSelection();if(e){let t=document.createRange();t.selectNodeContents(i),e.removeAllRanges(),e.addRange(t)}}catch{return}L9(e)}function d3e(e,t,n){let r=e;for(;r&&r!==t;){if(r instanceof HTMLElement&&r.tagName.toLowerCase()===n)return r;r=r.parentNode}return null}function f3e(e){let t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}}function z9(e,t){let n=P9(e);if(!n)return;let r=I9(e)===t?`p`:t,i=p3e(n,e);if(i.length!==0){for(let e of i){let t=e.tagName.toLowerCase();if(t===r)continue;if(t===`li`){let t=e.parentElement;if(t&&(t.tagName.toLowerCase()===`ul`||t.tagName.toLowerCase()===`ol`)){let n=document.createElement(r);for(;e.firstChild;)n.appendChild(e.firstChild);let i=[],a=e.nextElementSibling;for(;a;)i.push(a),a=a.nextElementSibling;if(e.remove(),t.after(n),i.length>0){let e=document.createElement(t.tagName.toLowerCase());for(let t of i)e.appendChild(t);n.after(e)}t.children.length===0&&t.remove();let o=document.createRange();o.selectNodeContents(n),o.collapse(!0);let s=window.getSelection();s&&(s.removeAllRanges(),s.addRange(o));continue}}let n=document.createElement(r);for(;e.firstChild;)n.appendChild(e.firstChild);e.replaceWith(n)}L9(e)}}function p3e(e,t){let n=new Set,r=B9(e.startContainer,t),i=B9(e.endContainer,t);if(r&&n.add(r),i&&n.add(i),r&&i&&r!==i){let e=Array.from(t.querySelectorAll(`p, h1, h2, h3, blockquote, pre, li`)),a=!1;for(let t of e)if(t===r&&(a=!0),a&&n.add(t),t===i)break}return Array.from(n)}function B9(e,t){let n=[`p`,`h1`,`h2`,`h3`,`blockquote`,`pre`,`li`],r=e;for(;r&&r!==t;){if(r instanceof HTMLElement&&n.includes(r.tagName.toLowerCase()))return r;r=r.parentNode}return null}function m3e(e,t){let n=P9(e);if(!n)return;let r=n.startContainer;for(;r&&r!==e;){if(r instanceof HTMLElement){let n=r.tagName.toLowerCase();if(n===`ul`||n===`ol`){if(n===t)h3e(r);else{let e=document.createElement(t);for(;r.firstChild;)e.appendChild(r.firstChild);r.replaceWith(e)}L9(e);return}}r=r.parentNode}let i=B9(n.startContainer,e);if(!i)return;let a=document.createElement(t),o=document.createElement(`li`);for(;i.firstChild;)o.appendChild(i.firstChild);a.appendChild(o),i.replaceWith(a),L9(e)}function h3e(e){let t=e.parentNode;if(t){for(let n of Array.from(e.children)){if(n.tagName.toLowerCase()!==`li`)continue;let r=document.createElement(`p`);for(;n.firstChild;)r.appendChild(n.firstChild);t.insertBefore(r,e)}t.removeChild(e)}}function g3e(e,t){let n=P9(e);if(!n)return;let r=u3e(e);if(r){if(t===null||t===``){f3e(r),L9(e);return}r.setAttribute(`href`,t),L9(e);return}if(t===null||t===``||n.collapsed)return;let i=document.createElement(`a`);i.setAttribute(`href`,t),i.setAttribute(`rel`,`noopener noreferrer`),i.setAttribute(`target`,`_blank`);try{i.appendChild(n.extractContents()),n.insertNode(i),L9(e)}catch{}}function _3e(e,t,n=``){let r=P9(e);if(!r)return;let i=document.createElement(`img`);i.src=t,n&&(i.alt=n),r.deleteContents(),r.insertNode(i),r.setStartAfter(i),r.collapse(!0);let a=window.getSelection();a&&(a.removeAllRanges(),a.addRange(r)),L9(e)}function v3e(e){let t=P9(e);if(!t)return;let n=document.createElement(`hr`);t.deleteContents(),t.insertNode(n);let r=document.createElement(`p`);r.appendChild(document.createElement(`br`)),n.after(r),t.setStart(r,0),t.collapse(!0);let i=window.getSelection();i&&(i.removeAllRanges(),i.addRange(t)),L9(e)}function y3e(e,t,n=``){let r=P9(e),i=document.createElement(`pre`),a=document.createElement(`code`);a.className=`language-${t.replace(/[^\w-]/g,``)}`,a.textContent=n===``?``:n,i.appendChild(a);let o=r?B9(r.startContainer,e):null;for(;o&&o.parentElement!==e;)o=o.parentElement;if(o&&o.tagName.toLowerCase()===`p`&&(o.textContent??``).replace(/[\s]/g,``)===``?o.replaceWith(i):o?o.after(i):e.appendChild(i),!i.nextElementSibling){let e=document.createElement(`p`);e.appendChild(document.createElement(`br`)),i.after(e)}let s=document.createRange();s.selectNodeContents(a),s.collapse(!1);let c=window.getSelection();c&&(c.removeAllRanges(),c.addRange(s)),L9(e)}var b3e=class{stack=[];cursor=-1;lastCommitAt=0;host;throttleMs;maxSize;serialize;onRestore;constructor(e,t={}){this.host=e,this.throttleMs=t.throttleMs??350,this.maxSize=t.maxSize??100,this.serialize=t.serialize??(e=>e.innerHTML),this.onRestore=t.onRestore??(()=>{}),this.snapshot()}snapshot(){let e=this.serialize(this.host);this.cursor>=0&&this.stack[this.cursor]===e||(this.stack=this.stack.slice(0,this.cursor+1),this.stack.push(e),this.stack.length>this.maxSize?this.stack.shift():this.cursor++,this.lastCommitAt=Date.now())}commitThrottled(){Date.now()-this.lastCommitAt<this.throttleMs||this.snapshot()}commit(){this.snapshot()}get canUndo(){return this.cursor>0}get canRedo(){return this.cursor<this.stack.length-1}undo(){this.canUndo&&(this.cursor--,this.host.innerHTML=this.stack[this.cursor],this.onRestore())}redo(){this.canRedo&&(this.cursor++,this.host.innerHTML=this.stack[this.cursor],this.onRestore())}reset(e){this.stack=[e],this.cursor=0,this.lastCommitAt=Date.now()}},x3e=new Set(`p.h1.h2.h3.strong.b.em.i.u.s.strike.del.code.pre.ul.ol.li.blockquote.a.img.br.hr.span.table.thead.tbody.tr.th.td`.split(`.`)),S3e={a:new Set([`href`,`target`,`rel`,`title`]),img:new Set([`src`,`alt`,`title`,`width`,`height`]),code:new Set([`class`]),span:new Set([`class`])},C3e=[`language-`,`dsk-tok-`];function w3e(e,t={}){if(typeof DOMParser>`u`)return e;let n=new DOMParser().parseFromString(`<div>${e}</div>`,`text/html`).body.firstElementChild;if(!n)return``;for(let e of Array.from(n.querySelectorAll(`[data-dsk-preview]`)))e.remove();return T3e(n,t.allowedAttributes??{}),n.innerHTML}function T3e(e,t){let n=e.tagName.toLowerCase(),r=new Set([...S3e[n]??[],...t[n]??[]]);for(let t of Array.from(e.attributes))if(!r.has(t.name)||/^on/i.test(t.name))e.removeAttribute(t.name);else if(t.name===`class`){let n=t.value.split(/\s+/).filter(e=>C3e.some(t=>e.startsWith(t))).join(` `);n===``?e.removeAttribute(`class`):e.setAttribute(`class`,n)}else(t.name===`href`||t.name===`src`)&&/^\s*javascript:/i.test(t.value)&&e.removeAttribute(t.name);n===`a`&&(e.getAttribute(`rel`)||e.setAttribute(`rel`,`noopener noreferrer`),e.getAttribute(`target`)||e.setAttribute(`target`,`_blank`));for(let n of Array.from(e.children))if(T3e(n,t),!x3e.has(n.tagName.toLowerCase())){let e=E3e().createElement(`span`);e.innerHTML=n.innerHTML,n.replaceWith(...Array.from(e.childNodes))}}function E3e(){return document}function V9(e){e.dispatchEvent(new InputEvent(`input`,{bubbles:!0,cancelable:!0}))}function D3e(e,t,n){let r=P9(e);if(!r)return;let i=document.createElement(`table`),a=document.createElement(`tbody`),o=document.createElement(`thead`),s=document.createElement(`tr`);for(let e=0;e<n;e++){let e=document.createElement(`th`);e.appendChild(document.createElement(`br`)),s.appendChild(e)}o.appendChild(s),i.appendChild(o);for(let e=0;e<t;e++){let e=document.createElement(`tr`);for(let t=0;t<n;t++){let t=document.createElement(`td`);t.appendChild(document.createElement(`br`)),e.appendChild(t)}a.appendChild(e)}i.appendChild(a),r.deleteContents(),r.insertNode(i);let c=document.createElement(`p`);c.appendChild(document.createElement(`br`)),i.after(c);let l=i.querySelector(`th`);if(l){let e=document.createRange();e.setStart(l,0),e.collapse(!0);let t=window.getSelection();t&&(t.removeAllRanges(),t.addRange(e))}V9(e)}function H9(e){let t=P9(e);if(!t)return null;let n=t.startContainer;for(;n&&n!==e;){if(n instanceof HTMLTableCellElement)return n;n=n.parentNode}return null}function U9(e){let t=H9(e);return t?t.parentElement:null}function W9(e){let t=H9(e);if(!t)return null;let n=t;for(;n&&n!==e;){if(n instanceof HTMLTableElement)return n;n=n.parentNode}return null}function G9(e){let t=document.createElement(e);return t.appendChild(document.createElement(`br`)),t}function O3e(e){let t=U9(e);if(!t)return;let n=document.createElement(`tr`);for(let e=0;e<t.cells.length;e++)n.appendChild(G9(`td`));t.after(n),V9(e)}function k3e(e){let t=U9(e);if(!t)return;let n=document.createElement(`tr`);for(let e=0;e<t.cells.length;e++)n.appendChild(G9(`td`));t.before(n),V9(e)}function A3e(e){let t=H9(e),n=W9(e);if(!t||!n)return;let r=t.cellIndex;for(let e of Array.from(n.rows)){let t=G9(e.parentElement?.tagName.toLowerCase()===`thead`?`th`:`td`),n=e.cells[r];n?n.after(t):e.appendChild(t)}V9(e)}function j3e(e){let t=H9(e),n=W9(e);if(!t||!n)return;let r=t.cellIndex;for(let e of Array.from(n.rows)){let t=G9(e.parentElement?.tagName.toLowerCase()===`thead`?`th`:`td`),n=e.cells[r];n?n.before(t):e.appendChild(t)}V9(e)}function M3e(e){let t=U9(e),n=W9(e);!t||!n||t.parentElement?.tagName.toLowerCase()===`thead`&&n.rows.length<=1||(t.remove(),V9(e))}function N3e(e){let t=H9(e),n=W9(e);if(!t||!n)return;let r=t.cellIndex;if((n.rows[0]?.cells.length??0)<=1)n.remove(),V9(e);else{for(let e of Array.from(n.rows)){let t=e.cells[r];t&&t.remove()}V9(e)}}function P3e(e){let t=W9(e);t&&(t.remove(),V9(e))}function F3e(e){return W9(e)!==null}function I3e(e){return e.replace(//g,``)}var L3e=class{host;history;previews;sanitizeOptions;constructor(e,t={}){let{blockRenderers:n,onPreviewRendered:r,...i}=t;this.host=e,this.previews=new s3e(e,n,r),this.history=new b3e(e,{serialize:M9,onRestore:()=>this.previews.sync()}),this.sanitizeOptions=i}isActive(e,t){if(e===`bold`)return F9(this.host,[`strong`,`b`]);if(e===`italic`)return F9(this.host,[`em`,`i`]);if(e===`underline`)return F9(this.host,[`u`]);if(e===`strike`)return F9(this.host,[`s`,`strike`,`del`]);if(e===`code`)return F9(this.host,[`code`]);if(e===`link`)return u3e(this.host)!==null;if(e===`heading`){let e=t?.level??0;return I9(this.host)===`h${e}`}if(e===`paragraph`)return I9(this.host)===`p`;if(e===`table`)return F3e(this.host);if(e===`blockquote`)return I9(this.host)===`blockquote`;if(e===`codeBlock`)return I9(this.host)===`pre`;if(e===`bulletList`||e===`orderedList`){let t=e===`bulletList`?`ul`:`ol`,n=P9(this.host)?.startContainer??null;for(;n&&n!==this.host;){if(n instanceof HTMLElement&&n.tagName.toLowerCase()===t)return!0;n=n.parentNode}return!1}return!1}canUndo(){return this.history.canUndo}canRedo(){return this.history.canRedo}getHTML(){return I3e(M9(this.host))}isEmpty(){return(this.host.textContent?.trim()??``)===``}chain(){let e=!1,t={bold:()=>(R9(this.host,`strong`),e=!0,t),italic:()=>(R9(this.host,`em`),e=!0,t),underline:()=>(R9(this.host,`u`),e=!0,t),strike:()=>(R9(this.host,`s`),e=!0,t),code:()=>(R9(this.host,`code`),e=!0,t),heading:n=>(z9(this.host,`h${n}`),e=!0,t),paragraph:()=>(z9(this.host,`p`),e=!0,t),bulletList:()=>(m3e(this.host,`ul`),e=!0,t),orderedList:()=>(m3e(this.host,`ol`),e=!0,t),blockquote:()=>(z9(this.host,`blockquote`),e=!0,t),codeBlock:()=>(z9(this.host,`pre`),e=!0,t),insertCodeBlock:(n,r)=>(y3e(this.host,n,r),this.previews.sync(),e=!0,t),setLink:n=>(g3e(this.host,n),e=!0,t),setImage:(n,r)=>(_3e(this.host,n,r),e=!0,t),horizontalRule:()=>(v3e(this.host),e=!0,t),insertTable:(n,r)=>(D3e(this.host,n,r),e=!0,t),addRowAfter:()=>(O3e(this.host),e=!0,t),addRowBefore:()=>(k3e(this.host),e=!0,t),addColumnAfter:()=>(A3e(this.host),e=!0,t),addColumnBefore:()=>(j3e(this.host),e=!0,t),removeRow:()=>(M3e(this.host),e=!0,t),removeColumn:()=>(N3e(this.host),e=!0,t),removeTable:()=>(P3e(this.host),e=!0,t),undo:()=>(this.history.undo(),t),redo:()=>(this.history.redo(),t),focus:()=>(this.host.focus(),t),run:()=>{e&&this.history.commit()}};return t}setContent(e){if(this.host.innerHTML=w3e(e,this.sanitizeOptions),this.host.firstElementChild===null&&(this.host.textContent??``)===``){let e=document.createElement(`p`);e.appendChild(document.createElement(`br`)),this.host.appendChild(e)}this.previews.sync(),this.history.reset(M9(this.host))}destroy(){this.previews.destroy()}};function R3e(e){let t=P9(e);if(!t||!t.collapsed)return{applied:!1};let n=t.startContainer;if(n.nodeType!==Node.TEXT_NODE)return{applied:!1};let r=n.data,i=r.slice(0,t.startOffset),a=z3e(n,e);if(!a||a.firstChild!==n||i!==r&&r.slice(t.startOffset).replace(/[\s]/g,``)!==``)return{applied:!1};let o=i.match(/^(#{1,3}) $/);if(o){let t=o[1].length;return B3e(a,`h${t}`,e),{applied:!0}}return i===`- `||i===`* `?(V3e(a,`ul`,e),{applied:!0}):/^\d+\.\s$/.test(i)?(V3e(a,`ol`,e),{applied:!0}):i===`> `?(B3e(a,`blockquote`,e),{applied:!0}):i==="```"?(H3e(a,e),{applied:!0}):{applied:!1}}function z3e(e,t){let n=[`p`,`div`,`h1`,`h2`,`h3`,`blockquote`,`pre`,`li`],r=e;for(;r&&r!==t;){if(r instanceof HTMLElement&&n.includes(r.tagName.toLowerCase()))return r;r=r.parentNode}return null}function B3e(e,t,n){let r=document.createElement(t);r.appendChild(document.createElement(`br`)),e.replaceWith(r),K9(r),n.dispatchEvent(new InputEvent(`input`,{bubbles:!0}))}function V3e(e,t,n){let r=document.createElement(t),i=document.createElement(`li`);i.appendChild(document.createElement(`br`)),r.appendChild(i),e.replaceWith(r),K9(i),n.dispatchEvent(new InputEvent(`input`,{bubbles:!0}))}function H3e(e,t){let n=document.createElement(`pre`),r=document.createElement(`code`);r.appendChild(document.createTextNode(``)),n.appendChild(r),e.replaceWith(n),K9(r),t.dispatchEvent(new InputEvent(`input`,{bubbles:!0}))}function K9(e){let t=document.createRange();t.setStart(e,0),t.collapse(!0);let n=window.getSelection();n&&(n.removeAllRanges(),n.addRange(t))}var q9=/^-?\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,J9=/^(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|`(?:\\.|[^`\\])*`)/,Y9={js:[{type:`comment`,pattern:/^\/\/.*|^\/\*[\s\S]*?\*\//},{type:`string`,pattern:J9},{type:`keyword`,pattern:/^(?:const|let|var|function|class|extends|implements|interface|type|return|if|else|for|while|do|switch|case|break|continue|throw|try|catch|finally|new|this|super|import|export|from|as|default|typeof|instanceof|in|of|async|await|yield|true|false|null|undefined|void)\b/},{type:`function`,pattern:/^[a-zA-Z_$][\w$]*(?=\s*\()/},{type:`number`,pattern:q9},{type:`punct`,pattern:/^[{}()[\];,.+\-*/%<>=!&|^~?:]/}],ts:[],php:[{type:`comment`,pattern:/^\/\/.*|^#.*|^\/\*[\s\S]*?\*\//},{type:`string`,pattern:J9},{type:`keyword`,pattern:/^(?:abstract|class|interface|trait|extends|implements|public|protected|private|static|final|function|return|if|else|elseif|for|foreach|while|do|switch|case|break|continue|throw|try|catch|finally|new|self|this|parent|use|namespace|as|true|false|null|echo|print|require|include|require_once|include_once|fn)\b/},{type:`attr`,pattern:/^\$[a-zA-Z_][\w]*/},{type:`function`,pattern:/^[a-zA-Z_][\w]*(?=\s*\()/},{type:`number`,pattern:q9},{type:`punct`,pattern:/^[{}()[\];,.+\-*/%<>=!&|^~?:]/}],html:[{type:`comment`,pattern:/^<!--[\s\S]*?-->/},{type:`string`,pattern:J9},{type:`tag`,pattern:/^<\/?[a-zA-Z][\w-]*/},{type:`attr`,pattern:/^[a-zA-Z-][\w-]*(?==)/},{type:`punct`,pattern:/^[<>=/]/}],css:[{type:`comment`,pattern:/^\/\*[\s\S]*?\*\//},{type:`string`,pattern:J9},{type:`attr`,pattern:/^[a-z-][\w-]*(?=\s*:)/},{type:`keyword`,pattern:/^@[a-z-]+/},{type:`number`,pattern:/^-?\d+(?:\.\d+)?(?:px|em|rem|%|vh|vw|s|ms|deg)?\b/},{type:`punct`,pattern:/^[{};:]/}],json:[{type:`string`,pattern:J9},{type:`keyword`,pattern:/^(?:true|false|null)\b/},{type:`number`,pattern:q9},{type:`punct`,pattern:/^[{}[\]:,]/}]};Y9.ts=Y9.js,Y9.tsx=Y9.js,Y9.jsx=Y9.js;function U3e(e,t){let n=Y9[(t??``).toLowerCase()];if(!n)return X9(e);let r=``,i=0;for(;i<e.length;){let t=e.slice(i),a=t.match(/^\s+/);if(a){r+=X9(a[0]),i+=a[0].length;continue}let o=null;for(let e of n){let n=t.match(e.pattern);if(n){o={type:e.type,len:n[0].length};break}}if(o){let e=t.slice(0,o.len);r+=`<span class="dsk-tok-${o.type}">${X9(e)}</span>`,i+=o.len}else{let e=t.match(/^[a-zA-Z_$][\w$]*/);e?(r+=X9(e[0]),i+=e[0].length):(r+=X9(t[0]),i++)}}return r}function X9(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}var W3e=new Set(`p.div.h1.h2.h3.h4.h5.h6.ul.ol.li.blockquote.pre.hr.table.thead.tbody.tr.th.td.figure.figcaption.section.article.header.footer.nav.main.aside`.split(`.`)),G3e=new Set([`br`,`hr`,`img`,`input`,`meta`,`link`]),K3e=new Set([`pre`,`code`,`script`,`style`,`textarea`]);function Z9(e){return W3e.has(e.tagName.toLowerCase())}function Q9(e,t,n){if(e.nodeType===Node.TEXT_NODE)return e.data;if(!(e instanceof Element))return``;let r=e.tagName.toLowerCase(),i=Z9(e),a=n||K3e.has(r),o=` `.repeat(t),s=`<${r}`;for(let t of Array.from(e.attributes))s+=` ${t.name}="${q3e(t.value)}"`;if(G3e.has(r))return i&&!n?`
|
|
208
|
+
Черновик --> Проверка: отправить`,importError:`Не удалось импортировать`,cancel:`Отмена`,label:`Название`,description:`Описание`,nodeType:`Тип`,edgeKind:`Вид`,transition:`Переход`,association:`Связь`,subgraphRef:`Ссылка на подпроцесс`,subgraphInline:e=>`Встроенный подпроцесс, шагов: ${e}`,subgraphCreate:`Создать встроенный подпроцесс`,subgraphOpen:`Открыть`,subgraphRemove:`Убрать`,addField:`Добавить поле`,key:`Ключ`,value:`Значение`,removeField:`Удалить поле`,locked:`Этот элемент заблокирован`,nothingSelected:`Выберите шаг или переход, чтобы изменить его.`,selectedCount:e=>`Выделено: ${e}`,graphTitle:`Название`,direction:`Направление`,directionLR:`Слева направо`,directionTB:`Сверху вниз`,directionAuto:`Автоматически (по экрану)`,addStart:`Добавить начало`,enable:`Включить`,transitions:`Переходы`,addTransition:`Добавить переход в…`,disable:`Отключить`,addHere:`Добавить сюда`,connectHint:`Потяните за точку, чтобы соединить`,emptyEditorTitle:`Начните процесс`,emptyEditorHint:`Перетащите начальный узел из панели элементов или импортируйте диаграмму состояний Mermaid.`,edge:`Переход`,node:`Шаг`,group:`Группа`,readOnly:`Только чтение`};function I2e(e,t){let n=e===`ru`?F2e:P2e;return t?{...n,...t,statuses:{...n.statuses,...t.statuses},types:{...n.types,...t.types}}:n}function L2e(e){return typeof e.failures==`number`}function R2e(e){let t=rn(),n=N(!1),r=N(!1),i=N(Date.now()),a,o,s=t,c,l=0,u=0;I(()=>e.state(),e=>{c=e?L2e(e)?e:G7(W7(),{type:`snapshot`,snapshot:e,at:Date.now()}):void 0,l++,s.value=c},{immediate:!0});let d=J(()=>s.value),f=J(()=>e.poll()?.intervalMs??5e3),p=J(()=>{let t=e.staleAfterMs()??(e.poll()?Math.max(f.value*3,15e3):void 0);return t===void 0||!d.value?.receivedAt?!1:S1e(d.value,i.value,t)}),m=J(()=>{let e=d.value?.updatedAt??d.value?.receivedAt;return e===void 0?void 0:Math.max(0,Math.round((i.value-e)/1e3))});function h(){a?.stop(),a=void 0}function g(){h();let r=e.poll(),o=l!==u;if(u=l,!r){s.value=c;return}s.value=o?c:void 0;let d=e.context();n.value=!s.value,a=D1e({fetch:t=>(e.poll()??r).fetch(t,d),intervalMs:r.intervalMs??5e3,backoff:r.backoff,visibilityPause:r.visibilityPause??!0,onData(e){n.value=!1,t.value=G7(t.value??W7(),{type:`snapshot`,snapshot:e,at:Date.now(),merge:r.merge}),i.value=Date.now()},onError(r){n.value=!1,t.value=G7(t.value??W7(),{type:`error`,error:r instanceof Error?r.message:String(r),at:Date.now()}),e.onError?.(r)}}),a.start()}let _=J(()=>{try{return JSON.stringify(e.context())}catch{return e.context()}});return I([J(()=>{let t=e.poll();return t?`${t.intervalMs??5e3}|${+!!t.merge}|${t.visibilityPause===!1?0:1}`:``}),_],g,{immediate:!0}),typeof setInterval==`function`&&(o=setInterval(()=>{i.value=Date.now(),r.value=a?.status===`paused`},1e3)),Pi(()=>{h(),clearInterval(o)}),{state:d,loading:n,paused:r,stale:p,ageSeconds:m,now:i,refresh:()=>a?.refresh(),polling:J(()=>!!e.poll())}}var z2e=[`lang`],B2e={key:0,class:`fl-nav`,"data-fl-ui":``},V2e={key:1,class:`fl-status`,"data-fl-ui":``,role:`status`,"aria-live":`polite`},H2e={class:`fl-status__text`},U2e={class:`fl-status__text`,tabindex:`0`},W2e={key:4,class:`fl-status__summary`},G2e={key:2,class:`fl-busy`,"data-fl-ui":``},K2e=L({inheritAttrs:!1,__name:`FlowView`,props:{graph:{},state:{default:void 0},poll:{default:void 0},pollParams:{default:void 0},staleAfterMs:{default:void 0},toggleable:{type:Boolean},persistToggle:{type:Function,default:void 0},onToggle:{type:[Function,Array],default:void 0},subgraphs:{default:()=>({})},loadSubgraph:{type:Function,default:void 0},details:{type:Boolean,default:!0},minimap:{type:Boolean,default:!0},controls:{type:Boolean,default:!0},direction:{default:void 0},edgeStyle:{default:`orthogonal`},registry:{default:()=>t9},nodeRenderers:{default:()=>({})},nodeIcons:{default:()=>({})},statusTones:{default:()=>({})},locale:{default:void 0},labels:{default:void 0},wheel:{default:`zoom`},minZoom:{default:.15},maxZoom:{default:2.5},toastProvider:{type:Boolean,default:!0},statusBar:{type:Boolean,default:!0}},emits:[`select`,`toggle`,`toggle-error`,`navigate`,`poll-error`,`update:minimap`],setup(e,{expose:t,emit:n}){let r=e,i=n,{lang:a,wrapper:o,wrapperProps:s}=N2e(()=>r.locale),c=J(()=>I2e(a.value,r.labels)),l=ws(),u=rn([]),d=N(!1);I(()=>r.graph,()=>{let e=[],t=r.graph;for(let n of u.value){let i=t.nodes.find(e=>e.id===n.nodeId);if(!i||i.subgraph===void 0)break;let a=typeof i.subgraph==`string`?r.subgraphs[i.subgraph]??(i.subgraph===n.ref?n.graph:void 0):i.subgraph;if(!a)break;e.push({...n,graph:a}),t=a}u.value=e,re.value=new Map});let f=J(()=>u.value[u.value.length-1]?.graph??r.graph),p=J(()=>u.value.map(e=>e.nodeId)),m=J(()=>p.value.join(`/`));function h(e){return e.subgraph===void 0?!1:typeof e.subgraph!=`string`||!!r.subgraphs[e.subgraph]||!!r.loadSubgraph}async function g(e){let t=f.value.nodes.find(t=>t.id===e);if(!t||!h(t)||d.value)return;let n,a=typeof t.subgraph==`string`?t.subgraph:void 0;if(a===void 0)n=t.subgraph;else if(r.subgraphs[a])n=r.subgraphs[a];else if(r.loadSubgraph){d.value=!0;try{n=await r.loadSubgraph(a,t)}catch(e){l.error({title:c.value.subgraphFailed,message:e instanceof Error?e.message:String(e)});return}finally{d.value=!1}}n&&(E.value=!1,ee.value=[],u.value=[...u.value,{nodeId:t.id,label:t.label??t.id,ref:a,graph:n}],i(`navigate`,u.value))}function _(e){if(e>=u.value.length)return;E.value=!1;let t=u.value[e]?.nodeId;u.value=u.value.slice(0,e),ee.value=t?[t]:[],i(`navigate`,u.value),t&&setTimeout(()=>T.value?.focusElement(t),50)}function v(){_(u.value.length-1)}let y=R2e({state:()=>r.state,poll:()=>r.poll,context:()=>({path:p.value,ref:u.value[u.value.length-1]?.ref,params:r.pollParams}),staleAfterMs:()=>r.staleAfterMs,onError:e=>i(`poll-error`,e)}),b=J(()=>!!r.state||!!r.poll),x=J(()=>w1e(y.state.value)),S=J(()=>Object.entries(x.value).filter(([e])=>e!==`skipped`).map(([e,t])=>{let n=r.statusTones[e]??_9[e]??`neutral`;return{status:e,n:t,variant:n===`accent`?`info`:n===`neutral`?`default`:n,label:c.value.statuses[e]??e}})),C=J(()=>{let e=y.ageSeconds.value;return e===void 0?``:e<3?c.value.updatedJustNow:c.value.updatedAgo(e)}),w=J(()=>{let e=y.state.value?.updatedAt??y.state.value?.receivedAt;return e?new Date(e).toLocaleString(a.value):``}),T=N(null),ee=N([]),E=N(!1),D=N(r.minimap);I(()=>r.minimap,e=>D.value=e);let O=J(()=>{let e=ee.value[0];return e?f.value.nodes.some(t=>t.id===e)?{kind:`node`,id:e}:f.value.edges.some(t=>t.id===e)?{kind:`edge`,id:e}:null:null}),k=J(()=>{let e=O.value;if(e)return e.kind===`node`?f.value.nodes.find(t=>t.id===e.id):f.value.edges.find(t=>t.id===e.id)});function te(e,t){ee.value=e.slice(0,1);let n=t?t.kind===`node`?f.value.nodes.find(e=>e.id===t.id):f.value.edges.find(e=>e.id===t.id):void 0;i(`select`,t&&n?{...t,element:n,path:p.value}:null),r.details&&(E.value=!!t&&t.kind!==`group`)}function ne(e){if(e.kind===`node`){let t=f.value.nodes.find(t=>t.id===e.id);if(t&&h(t)&&!r.details){g(t.id);return}}r.details&&(E.value=!0)}function A(){E.value?E.value=!1:ee.value.length?te([],null):u.value.length&&v()}let re=rn(new Map),ie=J(()=>{let e=`${m.value}\u0000`,t=new Map;for(let[n,r]of re.value)n.startsWith(e)&&t.set(n.slice(e.length),r);return t});function ae(e,t){return ie.value.get(t.id)??O7(t)}let oe=new Map;async function se(e){let t={...e,path:p.value},n=`${m.value}\u0000${e.id}`,a=re.value.get(n),o=e=>{let t=new Map(re.value);e===void 0?t.delete(n):t.set(n,e),re.value=t};o(e.enabled);let s=r.persistToggle?void 0:r.onToggle,u=r.persistToggle??(s?e=>Array.isArray(s)?Promise.all(s.map(t=>t(e))):s(e):void 0),d=e=>{s||i(`toggle`,t,e)};if(!u){d({ok:!0});return}let f=(oe.get(n)??0)+1;oe.set(n,f);try{await u(t)}catch(e){if(oe.get(n)!==f){d({ok:!1,error:e,rolledBack:!1});return}o(a),l.error({title:c.value.toggleFailed,message:e instanceof Error?e.message:String(e)}),d({ok:!1,error:e,rolledBack:!0}),i(`toggle-error`,t,e);return}d({ok:!0})}let ce=J(()=>[{label:r.graph.meta?.title??c.value.root,depth:0},...u.value.map((e,t)=>({label:e.label,depth:t+1}))]);return t({fit:()=>T.value?.fit(!0),enter:g,back:v,refresh:()=>y.refresh(),select:e=>te(e?[e]:[],e?f.value.nodes.some(t=>t.id===e)?{kind:`node`,id:e}:{kind:`edge`,id:e}:null),stack:u}),(t,n)=>(B(),H(xr(P(o)),Re(Yr(P(s))),{default:F(()=>[U(`div`,ei(t.$attrs,{class:[`fl-view`,{"is-monitoring":b.value}],lang:P(a)}),[q(E2e,{ref_key:`canvas`,ref:T,graph:f.value,labels:c.value,registry:e.registry,direction:e.direction,"edge-style":e.edgeStyle,monitor:P(y).state.value,"reserve-counters":b.value,selection:ee.value,toggleable:e.toggleable,"enabled-overrides":ie.value,minimap:D.value,controls:e.controls,"min-zoom":e.minZoom,"max-zoom":e.maxZoom,wheel:e.wheel,"node-renderers":e.nodeRenderers,"node-icons":e.nodeIcons,"status-tones":e.statusTones,"fit-key":m.value,drillable:h,onSelect:te,onActivate:ne,onEnter:g,onToggle:se,onEscape:A,"onUpdate:minimap":n[1]||=e=>{D.value=e,i(`update:minimap`,e)}},Sr({overlay:F(()=>[u.value.length?(B(),V(`div`,B2e,[q(P(tl),{content:c.value.back,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(dI),"aria-label":c.value.back,class:`fl-nav__back`,onClick:v},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`]),q(P(wl),{label:c.value.root,collapse:``,class:`fl-nav__crumbs`},{default:F(()=>[(B(!0),V(K,null,R(ce.value,e=>(B(),H(P(Al),{key:e.depth,current:e.depth===u.value.length,onClick:t=>_(e.depth)},{default:F(()=>[W(M(e.label),1)]),_:2},1032,[`current`,`onClick`]))),128))]),_:1},8,[`label`])])):G(``,!0),e.statusBar&&b.value?(B(),V(`div`,V2e,[P(y).loading.value&&!P(y).state.value?(B(),V(K,{key:0},[q(P(xc),{size:`sm`}),U(`span`,H2e,M(c.value.loading),1)],64)):(B(),V(K,{key:1},[U(`span`,{class:j([`fl-status__dot`,{"is-live":e.poll&&!P(y).paused.value&&!P(y).stale.value&&!P(y).state.value?.error,"is-stale":P(y).stale.value,"is-error":!!P(y).state.value?.error}]),"aria-hidden":`true`},null,2),C.value?(B(),H(P(tl),{key:0,content:w.value,placement:`bottom`},{default:F(()=>[U(`span`,U2e,M(C.value),1)]),_:1},8,[`content`])):G(``,!0),P(y).paused.value?(B(),H(P(Sc),{key:1,size:`sm`},{default:F(()=>[W(M(c.value.paused),1)]),_:1})):G(``,!0),P(y).state.value?.error?(B(),H(P(Sc),{key:2,variant:`danger`,size:`sm`,class:`fl-status__error`,title:P(y).state.value.error},{default:F(()=>[W(M(c.value.loadError),1)]),_:1},8,[`title`])):P(y).stale.value?(B(),H(P(Sc),{key:3,variant:`warning`,size:`sm`,class:`fl-status__stale`},{default:F(()=>[W(M(c.value.stale),1)]),_:1})):G(``,!0),S.value.length?(B(),V(`span`,W2e,[(B(!0),V(K,null,R(S.value,e=>(B(),H(P(Sc),{key:e.status,variant:e.variant,size:`sm`,class:j(`fl-status__chip fl-status__chip--${e.status}`)},{default:F(()=>[W(M(e.label)+` `+M(e.n),1)]),_:2},1032,[`variant`,`class`]))),128))])):G(``,!0),e.poll?(B(),H(P(tl),{key:5,content:c.value.refresh,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(Q$),"aria-label":c.value.refresh,class:`fl-status__refresh`,onClick:n[0]||=e=>P(y).refresh()},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`])):G(``,!0)],64))])):G(``,!0),d.value?(B(),V(`div`,G2e,[q(P(xc),{label:c.value.loading},null,8,[`label`])])):G(``,!0)]),_:2},[t.$slots.controls?{name:`controls`,fn:F(()=>[z(t.$slots,`controls`)]),key:`0`}:void 0,t.$slots.empty?{name:`empty`,fn:F(()=>[z(t.$slots,`empty`)]),key:`1`}:void 0]),1032,[`graph`,`labels`,`registry`,`direction`,`edge-style`,`monitor`,`reserve-counters`,`selection`,`toggleable`,`enabled-overrides`,`minimap`,`controls`,`min-zoom`,`max-zoom`,`wheel`,`node-renderers`,`node-icons`,`status-tones`,`fit-key`]),e.details?(B(),H(P($c),{key:0,modelValue:E.value,"onUpdate:modelValue":n[4]||=e=>E.value=e,title:k.value?`label`in k.value&&k.value.label||k.value.id:``,width:`min(400px, 100vw)`},Sr({default:F(()=>[k.value&&O.value?(B(),H(j2e,{key:0,graph:f.value,kind:O.value.kind,element:k.value,enabled:ae(O.value.kind,k.value),state:P(y).state.value,labels:c.value,toggleable:e.toggleable,drillable:O.value.kind===`node`&&h(k.value),"status-tones":e.statusTones,locale:P(a),onToggle:n[2]||=e=>se({kind:O.value.kind,id:O.value.id,enabled:e}),onEnter:n[3]||=e=>g(O.value.id)},{default:F(()=>[z(t.$slots,`details`,{kind:O.value.kind,element:k.value,state:P(y).state.value,path:p.value})]),_:3},8,[`graph`,`kind`,`element`,`enabled`,`state`,`labels`,`toggleable`,`drillable`,`status-tones`,`locale`])):G(``,!0)]),_:2},[t.$slots[`details-header`]&&k.value&&O.value?{name:`header`,fn:F(()=>[z(t.$slots,`details-header`,{kind:O.value.kind,element:k.value})]),key:`0`}:void 0]),1032,[`modelValue`,`title`])):G(``,!0),e.toastProvider?(B(),H(P(Yc),{key:1})):G(``,!0)],16,z2e)]),_:3},16))}}),q2e={class:`fl-menu-label`},J2e={key:0,class:`fl-menu-shortcut`},Y2e=L({__name:`FlowContextMenu`,setup(e,{expose:t}){let n=N([]),r=N(null);async function i(e,t){n.value=t,await qn(),r.value?.openAt(e.x,e.y)}return t({open:i}),(e,t)=>(B(),H(P(il),{ref_key:`menu`,ref:r,class:`fl-context-menu`},{default:F(()=>[(B(!0),V(K,null,R(n.value,(e,t)=>(B(),V(K,{key:t},[e.separator?(B(),H(P(sl),{key:0})):e.children?(B(),H(P(dl),{key:1,label:e.label??``,icon:e.icon},{default:F(()=>[(B(!0),V(K,null,R(e.children,(e,t)=>(B(),H(P(al),{key:t,icon:e.icon,disabled:e.disabled,onClick:t=>e.action?.()},{default:F(()=>[W(M(e.label),1)]),_:2},1032,[`icon`,`disabled`,`onClick`]))),128))]),_:2},1032,[`label`,`icon`])):(B(),H(P(al),{key:2,icon:e.icon,disabled:e.disabled,variant:e.danger?`danger`:`default`,onClick:t=>e.action?.()},{default:F(()=>[U(`span`,q2e,M(e.label),1),e.shortcut?(B(),V(`kbd`,J2e,M(e.shortcut),1)):G(``,!0)]),_:2},1032,[`icon`,`disabled`,`variant`,`onClick`]))],64))),128))]),_:1},512))}}),X2e={class:`fl-import`},Z2e=L({__name:`FlowImportDialog`,props:{open:{type:Boolean},mode:{},labels:{},mermaid:{type:Function}},emits:[`update:open`,`import`],setup(e,{emit:t}){let n=e,r=t,i=N(``),a=N(``);I(()=>n.open,e=>{e&&(i.value=``,a.value=``)});let o=J(()=>n.mode===`json`?n.labels.importJson:n.labels.importMermaid);function s(){try{let e=n.mode===`json`?A7(i.value):n.mermaid(i.value);r(`import`,e),r(`update:open`,!1)}catch(e){a.value=e instanceof Error?e.message:String(e)}}return(t,n)=>(B(),H(P(Qc),{"model-value":e.open,title:o.value,size:`lg`,"onUpdate:modelValue":n[2]||=e=>r(`update:open`,e)},{footer:F(()=>[q(P(Ys),{variant:`ghost`,onClick:n[1]||=e=>r(`update:open`,!1)},{default:F(()=>[W(M(e.labels.cancel),1)]),_:1}),q(P(Ys),{variant:`primary`,class:`fl-import__apply`,disabled:!i.value.trim(),onClick:s},{default:F(()=>[W(M(e.labels.importApply),1)]),_:1},8,[`disabled`])]),default:F(()=>[U(`div`,X2e,[q(P(mc),{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e,class:`fl-import__source`,rows:12,placeholder:e.mode===`json`?e.labels.importPlaceholderJson:e.labels.importPlaceholderMermaid,"aria-label":o.value},null,8,[`modelValue`,`placeholder`,`aria-label`]),a.value?(B(),H(P(Kc),{key:0,variant:`danger`,title:e.labels.importError},{default:F(()=>[W(M(a.value),1)]),_:1},8,[`title`])):G(``,!0)])]),_:1},8,[`model-value`,`title`]))}}),Q2e={class:`fl-issues`},$2e={key:0,class:`fl-issues__none`},e4e={key:1,class:`fl-issues__list`},t4e={class:`fl-issue__text`},n4e=L({__name:`FlowIssues`,props:{issues:{},labels:{}},emits:[`focus`],setup(e,{emit:t}){let n=t;return(t,r)=>(B(),V(`div`,Q2e,[e.issues.length===0?(B(),V(`p`,$2e,[q(P(lL),{size:16,"aria-hidden":`true`}),W(` `+M(e.labels.noIssues),1)])):(B(),V(`ul`,e4e,[(B(!0),V(K,null,R(e.issues,(e,t)=>(B(),V(`li`,{key:t},[q(P(Ys),{variant:`ghost`,size:`sm`,class:j([`fl-issue`,`fl-issue--${e.severity}`]),icon:e.severity===`error`?P(UI):P(H6),disabled:!e.target,"data-code":e.code,onClick:t=>n(`focus`,e)},{default:F(()=>[U(`span`,t4e,M(e.message),1)]),_:2},1032,[`class`,`icon`,`disabled`,`data-code`,`onClick`])]))),128))]))]))}}),r4e=[`aria-label`],i4e={class:`fl-palette__hint`},a4e=L({__name:`FlowPalette`,props:{registry:{},types:{},labels:{},nodeIcons:{},disabled:{type:Boolean}},emits:[`add`,`drop`],setup(e,{emit:t}){let n=e,r=t,i=J(()=>n.types.filter(e=>n.registry.has(e)).map(e=>{let t=n.registry.get(e);return{type:e,title:n.labels.types[e]??t.title,icon:n.nodeIcons?.[e]??(t.icon?x9[t.icon]:void 0)??x9[e]??x9.state,shape:t.shape}})),a=N(null),o={x:0,y:0},s=!1;function c(e,t,r){n.disabled||e.button!==0||(o={x:e.clientX,y:e.clientY},s=!1,a.value={type:t,title:r,x:e.clientX,y:e.clientY,moved:!1},window.addEventListener(`pointermove`,l),window.addEventListener(`pointerup`,u,{once:!0}),window.addEventListener(`pointercancel`,f,{once:!0}))}function l(e){let t=a.value;if(!t)return;let n=t.moved||Math.hypot(e.clientX-o.x,e.clientY-o.y)>5;a.value={...t,x:e.clientX,y:e.clientY,moved:n}}function u(e){let t=a.value;p(),t&&t.moved&&(s=!0,setTimeout(()=>s=!1,0),r(`drop`,t.type,{x:e.clientX,y:e.clientY}))}function d(e){s||r(`add`,e)}function f(){p()}function p(){a.value=null,window.removeEventListener(`pointermove`,l),window.removeEventListener(`pointerup`,u),window.removeEventListener(`pointercancel`,f)}return Pi(p),(t,n)=>(B(),V(`div`,{class:`fl-palette`,role:`list`,"aria-label":e.labels.palette},[(B(!0),V(K,null,R(i.value,t=>(B(),V(`div`,{key:t.type,role:`listitem`,class:`fl-palette__item-wrap`},[q(P(Ys),{variant:`secondary`,size:`sm`,class:j([`fl-palette__item`,`fl-palette__item--${t.shape}`]),icon:t.icon,disabled:e.disabled,"data-type":t.type,"aria-label":`${t.title}: ${e.labels.paletteHint}`,onPointerdown:e=>c(e,t.type,t.title),onClick:e=>d(t.type)},{default:F(()=>[W(M(t.title),1)]),_:2},1032,[`class`,`icon`,`disabled`,`data-type`,`aria-label`,`onPointerdown`,`onClick`])]))),128)),U(`p`,i4e,M(e.labels.paletteHint),1),(B(),H(Si,{to:`body`},[a.value?.moved?(B(),V(`div`,{key:0,class:`fl-palette-ghost`,style:Ie({left:`${a.value.x}px`,top:`${a.value.y}px`})},M(a.value.title),5)):G(``,!0)]))],8,r4e))}}),o4e={class:`fl-props`},s4e={class:`fl-props__count`},c4e=[`aria-label`],l4e={class:`fl-props__head`},u4e={class:`fl-props__kind`},d4e=[`title`],f4e={key:2,class:`fl-props__section fl-props__transitions`},p4e={key:0,class:`fl-props__muted`},m4e={key:3,class:`fl-props__section`},h4e={class:`fl-props__muted`},g4e={class:`fl-props__row`},_4e={class:`fl-props__head`},v4e={class:`fl-props__kind`},y4e=[`title`],b4e={class:`fl-props__muted fl-props__route`},x4e={class:`fl-props__muted`},S4e={key:4,class:`fl-props__section`},C4e=L({__name:`FlowProperties`,props:{graph:{},selection:{},registry:{},labels:{},readonly:{type:Boolean},locked:{type:Function}},emits:[`command`,`align`,`distribute`,`delete`,`open-subgraph`,`connect`,`select`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=J(()=>r.selection.length===1?r.graph.nodes.find(e=>e.id===r.selection[0]):void 0),o=J(()=>r.selection.length===1?r.graph.edges.find(e=>e.id===r.selection[0]):void 0),s=J(()=>r.selection.length>1),c=J(()=>{let e=a.value?r.registry.get(a.value.type):void 0;return e?.icon&&x9[e.icon]||a.value&&x9[a.value.type]||x9.state}),l=J(()=>r.readonly||!!a.value&&r.locked(a.value)),u=J(()=>[...r.registry.entries()].map(([e,t])=>({value:e,label:r.labels.types[e]??t.title}))),d=J(()=>[{value:`transition`,label:r.labels.transition},{value:`association`,label:r.labels.association}]),f=J(()=>[{value:``,label:`—`},...(r.graph.groups??[]).map(e=>({value:e.id,label:e.label??e.id}))]),p=J(()=>[{value:`auto`,label:r.labels.directionAuto},{value:`LR`,label:r.labels.directionLR},{value:`TB`,label:r.labels.directionTB}]),m=J(()=>a.value?r.graph.edges.filter(e=>e.from===a.value.id):[]),h=J(()=>r.graph.nodes.filter(e=>!r.registry.get(e.type)?.noIncoming&&!r.registry.get(e.type)?.annotation).map(e=>({value:e.id,label:e.label||r.labels.types[e.type]||e.id}))),g=e=>r.graph.nodes.find(t=>t.id===e)?.label??e;function _(e,t){a.value&&!l.value&&i(`command`,{type:`updateNode`,id:a.value.id,patch:e},t?`${t}:${a.value.id}`:void 0)}function v(e,t){o.value&&!r.readonly&&i(`command`,{type:`updateEdge`,id:o.value.id,patch:e},t?`${t}:${o.value.id}`:void 0)}let y=e=>e===``?null:e;function b(e){return Object.entries(e?.data??{}).map(([e,t])=>({key:e,value:typeof t==`string`?t:JSON.stringify(t)}))}function x(e){let t=e.trim();if(/^(true|false|null|-?\d+(\.\d+)?|[[{].*[\]}])$/s.test(t))try{return JSON.parse(t)}catch{return e}return e}function S(e,t){let n={};for(let t of e)t.key.trim()&&(n[t.key.trim()]=x(t.value));let r={data:Object.keys(n).length?n:null};a.value?_(r,t):v(r,t)}let C=J(()=>b(a.value??o.value)),w=N(null);function T(e,t,n){let r=C.value.map(e=>({...e}));r[e][t]=n,S(r,`data-${e}-${t}`)}function ee(e){S(C.value.filter((t,n)=>n!==e),`data-remove`)}async function E(){w.value={key:``,value:``},await qn(),document.querySelector(`.fl-props__draft input`)?.focus()}function D(e){e.currentTarget.contains(e.relatedTarget)||O()}function O(){let e=w.value;e&&e.key.trim()&&(w.value=null,S([...C.value,e],`data-add`))}let k=J(()=>a.value?.subgraph===void 0?`none`:typeof a.value.subgraph==`string`?`ref`:`inline`),te=J(()=>!!a.value&&(r.registry.get(a.value.type)?.drillable??!1));function ne(){_({subgraph:{version:1,nodes:[{id:`start`,type:`start`},{id:`end`,type:`end`}],edges:[]}})}return t({focusLabel:()=>document.querySelector(`.fl-props__label input`)?.focus()}),(t,n)=>(B(),V(`div`,o4e,[s.value?(B(),V(K,{key:0},[U(`p`,s4e,M(e.labels.selectedCount(e.selection.length)),1),U(`div`,{class:`fl-props__tools`,role:`group`,"aria-label":e.labels.align},[(B(!0),V(K,null,R([[`left`,P(YT),e.labels.alignLeft],[`center`,P(_T),e.labels.alignCenter],[`right`,P(CT),e.labels.alignRight],[`top`,P(qT),e.labels.alignTop],[`middle`,P(hT),e.labels.alignMiddle],[`bottom`,P(xT),e.labels.alignBottom]],t=>(B(),H(P(Ys),{key:t[0],size:`sm`,variant:`secondary`,icon:t[1],"aria-label":t[2],title:t[2],disabled:e.readonly,"data-align":t[0],onClick:e=>i(`align`,t[0])},null,8,[`icon`,`aria-label`,`title`,`disabled`,`data-align`,`onClick`]))),128)),q(P(Ys),{size:`sm`,variant:`secondary`,icon:P(LT),"aria-label":e.labels.distributeH,title:e.labels.distributeH,disabled:e.readonly||e.selection.length<3,onClick:n[0]||=e=>i(`distribute`,`horizontal`)},null,8,[`icon`,`aria-label`,`title`,`disabled`]),q(P(Ys),{size:`sm`,variant:`secondary`,icon:P(lE),"aria-label":e.labels.distributeV,title:e.labels.distributeV,disabled:e.readonly||e.selection.length<3,onClick:n[1]||=e=>i(`distribute`,`vertical`)},null,8,[`icon`,`aria-label`,`title`,`disabled`])],8,c4e),q(P(Ys),{variant:`danger`,size:`sm`,icon:P(j6),disabled:e.readonly,class:`fl-props__delete`,onClick:n[2]||=e=>i(`delete`)},{default:F(()=>[W(M(e.labels.delete),1)]),_:1},8,[`icon`,`disabled`])],64)):a.value?(B(),V(K,{key:1},[U(`div`,l4e,[(B(),H(xr(c.value),{size:16,"aria-hidden":`true`})),U(`span`,u4e,M(e.labels.types[a.value.type]??e.registry.get(a.value.type)?.title??a.value.type),1),U(`code`,{class:`fl-props__id`,title:a.value.id},M(a.value.id),9,d4e)]),l.value&&!e.readonly?(B(),H(P(Kc),{key:0,variant:`info`},{default:F(()=>[W(M(e.labels.locked),1)]),_:1})):G(``,!0),q(P(pc),{class:`fl-props__label`,label:e.labels.label,"model-value":a.value.label??``,disabled:l.value,"onUpdate:modelValue":n[3]||=e=>_({label:y(e)},`label`)},null,8,[`label`,`model-value`,`disabled`]),q(P(mc),{label:e.labels.description,rows:2,"auto-grow":``,"max-rows":5,"model-value":a.value.description??``,disabled:l.value,"onUpdate:modelValue":n[4]||=e=>_({description:y(e)},`description`)},null,8,[`label`,`model-value`,`disabled`]),q(P(yc),{label:e.labels.nodeType},{default:F(()=>[q(P(Ku),{options:u.value,"model-value":a.value.type,disabled:l.value,"onUpdate:modelValue":n[5]||=e=>_({type:String(e)})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`]),e.graph.groups?.length?(B(),H(P(yc),{key:1,label:e.labels.group},{default:F(()=>[q(P(Ku),{options:f.value,"model-value":a.value.group??``,disabled:l.value,"onUpdate:modelValue":n[6]||=e=>_({group:e?String(e):null})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`])):G(``,!0),q(P(vc),{label:e.labels.enabled,"model-value":P(O7)(a.value),disabled:l.value,"onUpdate:modelValue":n[7]||=e=>i(`command`,{type:`setEnabled`,kind:`node`,id:a.value.id,enabled:e})},null,8,[`label`,`model-value`,`disabled`]),e.registry.get(a.value.type)?.annotation?G(``,!0):(B(),V(`section`,f4e,[U(`h4`,null,M(e.labels.transitions),1),(B(!0),V(K,null,R(m.value,e=>(B(),H(P(Ys),{key:e.id,size:`sm`,variant:`ghost`,icon:P(YD),class:`fl-props__transition`,onClick:t=>i(`select`,e.id)},{default:F(()=>[W(M(g(e.to)),1),e.label?(B(),V(`span`,p4e,` · `+M(e.label),1)):G(``,!0)]),_:2},1032,[`icon`,`onClick`]))),128)),!l.value&&!e.registry.get(a.value.type)?.noOutgoing?(B(),H(P(Ku),{key:0,class:`fl-props__connect`,options:h.value,"model-value":``,placeholder:e.labels.addTransition,searchable:``,size:`sm`,"onUpdate:modelValue":n[8]||=e=>e&&i(`connect`,a.value.id,String(e))},null,8,[`options`,`placeholder`])):G(``,!0)])),te.value||k.value!==`none`?(B(),V(`section`,m4e,[U(`h4`,null,M(e.labels.subprocess),1),k.value===`inline`?(B(),V(K,{key:0},[U(`p`,h4e,M(e.labels.subgraphInline(a.value.subgraph.nodes.length)),1),U(`div`,g4e,[q(P(Ys),{size:`sm`,variant:`secondary`,icon:P(H2),onClick:n[9]||=e=>i(`open-subgraph`,a.value.id)},{default:F(()=>[W(M(e.labels.subgraphOpen),1)]),_:1},8,[`icon`]),q(P(Ys),{size:`sm`,variant:`ghost`,disabled:l.value,onClick:n[10]||=e=>_({subgraph:null})},{default:F(()=>[W(M(e.labels.subgraphRemove),1)]),_:1},8,[`disabled`])])],64)):(B(),V(K,{key:1},[q(P(pc),{label:e.labels.subgraphRef,"model-value":a.value.subgraph??``,disabled:l.value,placeholder:`payment-v2`,"onUpdate:modelValue":n[11]||=e=>_({subgraph:y(e)},`subgraph`)},null,8,[`label`,`model-value`,`disabled`]),k.value===`none`?(B(),H(P(Ys),{key:0,size:`sm`,variant:`secondary`,icon:P(ZQ),disabled:l.value,onClick:ne},{default:F(()=>[W(M(e.labels.subgraphCreate),1)]),_:1},8,[`icon`,`disabled`])):G(``,!0)],64))])):G(``,!0)],64)):o.value?(B(),V(K,{key:2},[U(`div`,_4e,[(B(),H(xr(P(YD)),{size:16,"aria-hidden":`true`})),U(`span`,v4e,M(e.labels.edge),1),U(`code`,{class:`fl-props__id`,title:o.value.id},M(o.value.id),9,y4e)]),U(`p`,b4e,M(g(o.value.from))+` → `+M(g(o.value.to)),1),q(P(pc),{class:`fl-props__label`,label:e.labels.label,"model-value":o.value.label??``,disabled:e.readonly,"onUpdate:modelValue":n[12]||=e=>v({label:y(e)},`label`)},null,8,[`label`,`model-value`,`disabled`]),q(P(pc),{class:`fl-props__condition`,label:e.labels.condition,"model-value":o.value.condition??``,disabled:e.readonly,placeholder:`attempts < 3`,"onUpdate:modelValue":n[13]||=e=>v({condition:y(e)},`condition`)},null,8,[`label`,`model-value`,`disabled`]),q(P(yc),{label:e.labels.edgeKind},{default:F(()=>[q(P(Ku),{options:d.value,"model-value":o.value.kind??`transition`,disabled:e.readonly,"onUpdate:modelValue":n[14]||=e=>v({kind:e===`association`?`association`:null})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`]),q(P(vc),{label:e.labels.enabled,"model-value":P(O7)(o.value),disabled:e.readonly,"onUpdate:modelValue":n[15]||=e=>i(`command`,{type:`setEnabled`,kind:`edge`,id:o.value.id,enabled:e})},null,8,[`label`,`model-value`,`disabled`])],64)):(B(),V(K,{key:3},[U(`p`,x4e,M(e.labels.nothingSelected),1),q(P(pc),{label:e.labels.graphTitle,"model-value":e.graph.meta?.title??``,disabled:e.readonly,"onUpdate:modelValue":n[16]||=e=>i(`command`,{type:`updateMeta`,patch:{title:y(e)}},`meta-title`)},null,8,[`label`,`model-value`,`disabled`]),q(P(yc),{label:e.labels.direction},{default:F(()=>[q(P(Ku),{options:p.value,"model-value":e.graph.meta?.direction??`auto`,disabled:e.readonly,"onUpdate:modelValue":n[17]||=e=>i(`command`,{type:`updateMeta`,patch:{direction:e===`auto`?null:e}})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`])],64)),(a.value||o.value)&&!s.value?(B(),V(`section`,S4e,[U(`h4`,null,M(e.labels.data),1),(B(!0),V(K,null,R(C.value,(t,n)=>(B(),V(`div`,{key:n,class:`fl-props__kv`},[q(P(pc),{size:`sm`,"model-value":t.key,"aria-label":e.labels.key,placeholder:e.labels.key,disabled:l.value,"onUpdate:modelValue":e=>T(n,`key`,e)},null,8,[`model-value`,`aria-label`,`placeholder`,`disabled`,`onUpdate:modelValue`]),q(P(pc),{size:`sm`,"model-value":t.value,"aria-label":e.labels.value,placeholder:e.labels.value,disabled:l.value,"onUpdate:modelValue":e=>T(n,`value`,e)},null,8,[`model-value`,`aria-label`,`placeholder`,`disabled`,`onUpdate:modelValue`]),q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(I5),"aria-label":e.labels.removeField,disabled:l.value,onClick:e=>ee(n)},null,8,[`icon`,`aria-label`,`disabled`,`onClick`])]))),128)),w.value?(B(),V(`div`,{key:0,class:`fl-props__kv fl-props__draft`,onFocusout:D},[q(P(pc),{modelValue:w.value.key,"onUpdate:modelValue":n[18]||=e=>w.value.key=e,size:`sm`,"aria-label":e.labels.key,placeholder:e.labels.key,onKeydown:Oo(O,[`enter`])},null,8,[`modelValue`,`aria-label`,`placeholder`]),q(P(pc),{modelValue:w.value.value,"onUpdate:modelValue":n[19]||=e=>w.value.value=e,size:`sm`,"aria-label":e.labels.value,placeholder:e.labels.value,onKeydown:Oo(O,[`enter`])},null,8,[`modelValue`,`aria-label`,`placeholder`]),q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(I5),"aria-label":e.labels.cancel,onClick:n[20]||=e=>w.value=null},null,8,[`icon`,`aria-label`])],32)):G(``,!0),q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(ZQ),disabled:l.value,class:`fl-props__add`,onClick:E},{default:F(()=>[W(M(e.labels.addField),1)]),_:1},8,[`icon`,`disabled`])])):G(``,!0),(a.value||o.value)&&!s.value?(B(),H(P(Ys),{key:5,variant:`ghost`,size:`sm`,icon:P(j6),disabled:l.value,class:`fl-props__delete`,onClick:n[21]||=e=>i(`delete`)},{default:F(()=>[W(M(e.labels.delete),1)]),_:1},8,[`icon`,`disabled`])):G(``,!0)]))}}),w4e=[`lang`,`aria-label`],T4e=[`aria-label`],E4e={key:0,class:`fl-toolbar__text`},D4e={key:0,class:`fl-toolbar__text`},O4e={class:`fl-editor__body`},k4e=[`aria-label`],A4e={class:`fl-panel-title`},j4e={class:`fl-editor__canvas`},M4e={key:0,class:`fl-nav`,"data-fl-ui":``},N4e={key:1,class:`fl-hint`,"data-fl-ui":``},P4e={class:`fl-editor-empty`},F4e={class:`fl-empty__title`},I4e={class:`fl-empty__hint`},L4e={key:0,class:`fl-editor-empty__actions`},R4e={class:`fl-issues__summary`},z4e=L({inheritAttrs:!1,__name:`FlowEditor`,props:{modelValue:{},registry:{default:()=>t9},palette:{default:void 0},readonly:{type:Boolean,default:!1},locked:{default:()=>[]},snapGrid:{default:20},direction:{default:void 0},edgeStyle:{default:`orthogonal`},nodeRenderers:{default:()=>({})},nodeIcons:{default:()=>({})},locale:{default:void 0},labels:{default:void 0},minimap:{type:Boolean,default:!1},mermaid:{type:Function,default:void 0},toastProvider:{type:Boolean,default:!0},exportName:{default:`process.json`}},emits:[`update:modelValue`,`change`,`select`,`validate`,`export`],setup(e,{expose:t,emit:n}){let r=e,i=n,{lang:a,wrapper:o,wrapperProps:s}=N2e(()=>r.locale),c=J(()=>I2e(a.value,r.labels)),l=new X1e(tn(r.modelValue)),u=rn(tn(r.modelValue)),d=N(0);I(()=>r.modelValue,e=>{let t=tn(e);t!==u.value&&(l.reset(t),u.value=t,d.value++,f.value=m(t,f.value))});let f=N([]);function p(e,t){let n=e;for(let e of t){let t=n.nodes.find(t=>t.id===e);if(!t||typeof t.subgraph!=`object`)return n;n=t.subgraph}return n}function m(e,t){let n=[],r=e;for(let e of t){let t=r.nodes.find(t=>t.id===e);if(!t||typeof t.subgraph!=`object`)break;n.push(e),r=t.subgraph}return n}let h=J(()=>p(u.value,f.value)),g=J(()=>{let e=[{label:u.value.meta?.title??c.value.root,depth:0}],t=u.value;return f.value.forEach((n,r)=>{let i=t.nodes.find(e=>e.id===n);e.push({label:i?.label??n,depth:r+1}),i&&typeof i.subgraph==`object`&&(t=i.subgraph)}),e});function _(e,t=f.value,n=u.value){if(t.length===0)return e;let[r,...i]=t,a=n.nodes.find(e=>e.id===r),o=a&&typeof a.subgraph==`object`?a.subgraph:void 0;return o?{type:`updateNode`,id:r,patch:{subgraph:J7(o,_(e,i,o))}}:e}let v=N([]),y=N(null),b=N(null);function x(e,t){if(r.readonly)return!1;let n=e,i=h.value;if(i.nodes.some(e=>!e.position)&&e.type!==`replace`){let t=y.value?.layout.nodes;t&&(n={type:`batch`,commands:[{type:`moveNodes`,moves:i.nodes.filter(e=>!e.position&&t.has(e.id)).map(e=>({id:e.id,position:{x:Math.round(t.get(e.id).x),y:Math.round(t.get(e.id).y)}}))},e]})}let a=_(n);try{let r=l.execute(a,t);return S(r,{command:a,local:{command:n,path:[...f.value]},description:X7(e),graph:r,source:`edit`}),!0}catch(e){if(e instanceof v9)return!1;throw e}}function S(e,t){u.value=e,d.value++,f.value=m(e,f.value);let n=p(e,f.value),r=new Set([...n.nodes.map(e=>e.id),...n.edges.map(e=>e.id)]);v.value=v.value.filter(e=>r.has(e)),i(`update:modelValue`,e),i(`change`,t)}function C(){let e=l.undo();e&&S(l.graph,{command:e.command,local:{command:e.command,path:[]},description:X7(e.command),graph:l.graph,source:`undo`})}function w(){let e=l.redo();e&&S(l.graph,{command:e.command,local:{command:e.command,path:[]},description:X7(e.command),graph:l.graph,source:`redo`})}let T=J(()=>(d.value,l.canUndo)),ee=J(()=>(d.value,l.canRedo)),E=J(()=>(d.value,l.last?`${c.value.undo}: ${X7(l.last.command)}`:c.value.undo)),D=J(()=>(d.value,l.next?`${c.value.redo}: ${X7(l.next.command)}`:c.value.redo)),O=J(()=>m$e(h.value,{registry:r.registry}));I(O,e=>i(`validate`,e),{immediate:!0});let k=J(()=>{let e=new Map;for(let t of O.value)t.target&&(t.severity!==`error`&&e.has(t.target.id)||e.set(t.target.id,t.severity));return e}),te=J(()=>O.value.filter(e=>e.severity===`error`).length),ne=J(()=>O.value.length-te.value),A=e=>r.locked.includes(e.type)||p$e(r.registry,e),re=J(()=>h.value.nodes.filter(e=>v.value.includes(e.id)));function ie(e){v.value=e,i(`select`,e)}function ae(e){let t=h.value;return e.filter(e=>{let n=t.nodes.find(t=>t.id===e);return!n||!A(n)})}function oe(){let e=ae(v.value);e.length&&x({type:`removeElements`,ids:e})&&ie([])}let se=rn(null);function ce(){let e=v.value.filter(e=>h.value.nodes.some(t=>t.id===e));if(e.length){se.value=k1e(h.value,e,y.value?.layout);try{navigator.clipboard?.writeText(JSON.stringify(se.value)).catch(()=>{})}catch{}}}function le(){ce(),oe()}function ue(e=se.value,t){if(!e||!e.nodes.length)return;let{command:n,ids:i}=A1e(h.value,e,t?{at:t}:{offset:{x:r.snapGrid*2||32,y:r.snapGrid*2||32}});x(n)&&(ie(i),t||(se.value={...e,nodes:e.nodes.map(e=>e.position?{...e,position:{x:e.position.x+(r.snapGrid*2||32),y:e.position.y+(r.snapGrid*2||32)}}:e)}))}function de(){let e=v.value.filter(e=>h.value.nodes.some(t=>t.id===e));e.length&&ue(k1e(h.value,e,y.value?.layout))}function fe(){ie(h.value.nodes.map(e=>e.id))}function pe(e,t){let n=y.value?.layout.nodes,r=re.value.filter(e=>!A(e)).map(r=>{let i=n?.get(r.id),a=r.position??(i?{x:i.x,y:i.y}:{x:0,y:0});return{id:r.id,position:{x:a.x+e,y:a.y+t}}});r.length&&x({type:`moveNodes`,moves:r},`nudge`)}function me(e){let t=y.value&&j1e(y.value.layout.nodes,re.value.filter(e=>!A(e)).map(e=>e.id),e);t&&x(t)}function he(e){let t=y.value&&M1e(y.value.layout.nodes,re.value.filter(e=>!A(e)).map(e=>e.id),e);t&&x(t)}function ge(){let e=h.value;x(N1e(U7(e,{registry:r.registry,direction:y.value?.layout.direction??`LR`,routing:r.edgeStyle===`smooth`?`spline`:`orthogonal`,ignorePositions:!0})))&&setTimeout(()=>y.value?.fit(!0),30)}function _e(){let e=v.value;if(!e.length)return;let t=h.value,n=e.map(e=>{let n=t.nodes.find(t=>t.id===e);if(n)return A(n)?null:{kind:`node`,el:n};let r=t.edges.find(t=>t.id===e);return r?{kind:`edge`,el:r}:null}).filter(e=>!!e);if(!n.length)return;let r=!n.every(e=>O7(e.el));x({type:`batch`,commands:n.map(e=>({type:`setEnabled`,kind:e.kind,id:e.el.id,enabled:r}))})}function ve(e,t){let n=h.value,i=j7(r.registry,e),a={id:Y7(n,e),type:e,position:O1e(t,r.snapGrid)};return i.labelOutside||(a.label=c.value.types[e]??i.title),i.drillable&&(a.subgraph={version:1,nodes:[{id:`start`,type:`start`},{id:`end`,type:`end`}],edges:[{id:`e-1`,from:`start`,to:`end`}]}),a}function ye(e){let t=y.value?.layout,n=t?.nodes??new Map,i=l1e({id:``,type:e,label:c.value.types[e]??j7(r.registry,e).title},r.registry,i9),a=v.value.length===1?n.get(v.value[0]):void 0,o=y.value?.viewCentre()??{x:0,y:0};return a&&(o=t?.direction===`TB`?{x:a.x,y:a.y+a.height/2+72+i.height/2}:{x:a.x+a.width/2+72+i.width/2,y:a.y}),P1e(n.values(),i,o,{grid:Ue.value,padding:32})}function be(e,t){let n=ve(e,t??ye(e));x({type:`addNodes`,nodes:[n]})&&(ie([n.id]),qn(()=>y.value?.focusElement(n.id)))}function xe(e,t){let n=y.value?.root;if(!n)return;let r=n.getBoundingClientRect();t.x<r.left||t.x>r.right||t.y<r.top||t.y>r.bottom||be(e,y.value.clientToGraph(t.x,t.y))}function Se(e){let t={id:Y7(h.value,`e`),from:e.from,to:e.to};e.fromPort&&(t.fromPort=e.fromPort),e.toPort&&(t.toPort=e.toPort),x({type:`addEdge`,edge:t})&&ie([t.id])}function Ce(e){let t=e.end===`from`?{from:e.node,fromPort:e.port??null}:{to:e.node,toPort:e.port??null};x({type:`updateEdge`,id:e.id,patch:t})}function we(e){x({type:`removeElements`,ids:[e]})&&ie([])}function Te(e){let t=e.filter(e=>{let t=h.value.nodes.find(t=>t.id===e.id);return t&&!A(t)});t.length&&x({type:`moveNodes`,moves:t})}function Ee(e){let t=h.value.nodes.find(t=>t.id===e);t&&typeof t.subgraph==`object`&&(f.value=[...f.value,e],ie([]))}function De(e){let t=f.value[e];f.value=f.value.slice(0,e),ie(t?[t]:[])}function Oe(e){ie([e.id]),Ve.value=`properties`,Ke.value&&(Je.value=!0),qn(()=>b.value?.focusLabel())}function ke(){v.value.length?ie([]):f.value.length&&De(f.value.length-1)}let Ae=N(!1),je=N(`json`);function Me(e){je.value=e,Ae.value=!0}function Ne(e){x({type:`replace`,graph:e}),ie([]),setTimeout(()=>y.value?.fit(!0),30)}function Pe(){let e=d$e(u.value);i(`export`,e);try{let t=URL.createObjectURL(new Blob([e],{type:`application/json`})),n=document.createElement(`a`);n.href=t,n.download=r.exportName,n.click(),setTimeout(()=>URL.revokeObjectURL(t),1e3)}catch{}}let Fe=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent)?`⌘`:`Ctrl+`;function Ie(e){if(e.target.closest(`input, textarea, select, [contenteditable="true"], .uid-modal, .uid-menu, .fl-props`))return;let t=e.metaKey||e.ctrlKey,n=e.key.toLowerCase();if(t&&n===`z`)e.preventDefault(),e.shiftKey?w():C();else if(t&&n===`y`)e.preventDefault(),w();else if(t&&n===`c`)ce();else if(t&&n===`x`)e.preventDefault(),le();else if(t&&n===`v`)e.preventDefault(),ue();else if(t&&n===`d`)e.preventDefault(),de();else if(t&&n===`a`)e.preventDefault(),fe();else if((e.key===`Delete`||e.key===`Backspace`)&&v.value.length)e.preventDefault(),oe();else if(e.key.startsWith(`Arrow`)&&!e.altKey&&re.value.length){e.preventDefault();let t=e.shiftKey?(r.snapGrid||10)*5:r.snapGrid||1,n={ArrowUp:[0,-t],ArrowDown:[0,t],ArrowLeft:[-t,0],ArrowRight:[t,0]}[e.key];n&&pe(n[0],n[1])}}let Le=N(null);function ze(e){let t=[],n=e.target;if(n&&!r.readonly){let e=v.value.length>1,r=n.kind===`node`?h.value.nodes.find(e=>e.id===n.id):void 0,i=r?A(r):!1;r&&typeof r.subgraph==`object`&&!e&&t.push({label:c.value.subgraphOpen,icon:H2,action:()=>Ee(r.id)}),n.kind===`node`&&(t.push({label:c.value.duplicate,icon:WB,shortcut:`${Fe}D`,action:de}),t.push({label:c.value.copy,icon:JB,shortcut:`${Fe}C`,action:ce}),t.push({label:c.value.cut,icon:X1,shortcut:`${Fe}X`,action:le,disabled:i}));let a=r??h.value.edges.find(e=>e.id===n.id);t.push({label:a&&O7(a)?c.value.disable:c.value.enable,icon:c$,action:_e,disabled:i}),e&&(t.push({separator:!0}),t.push({label:c.value.align,icon:_T,children:[{label:c.value.alignLeft,action:()=>me(`left`)},{label:c.value.alignCenter,action:()=>me(`center`)},{label:c.value.alignRight,action:()=>me(`right`)},{label:c.value.alignTop,action:()=>me(`top`)},{label:c.value.alignMiddle,action:()=>me(`middle`)},{label:c.value.alignBottom,action:()=>me(`bottom`)},{label:c.value.distributeH,action:()=>he(`horizontal`),disabled:v.value.length<3},{label:c.value.distributeV,action:()=>he(`vertical`),disabled:v.value.length<3}]})),t.push({separator:!0}),t.push({label:c.value.delete,icon:j6,danger:!0,shortcut:`Del`,action:oe,disabled:i})}else r.readonly||(t.push({label:c.value.addHere,icon:ZQ,children:Be.value.map(t=>({label:c.value.types[t]??j7(r.registry,t).title,action:()=>be(t,e.point)}))}),t.push({label:c.value.paste,icon:NR,shortcut:`${Fe}V`,disabled:!se.value,action:()=>ue(se.value,e.point)}),t.push({separator:!0}),t.push({label:c.value.selectAll,shortcut:`${Fe}A`,action:fe}),t.push({label:c.value.autoLayout,icon:Vq,action:ge}));t.length&&Le.value?.open(e.client,t)}let Be=J(()=>r.palette??[...r.registry.keys()]),Ve=N(`properties`),He=N(r.snapGrid>0),Ue=J(()=>He.value?r.snapGrid:0),We=N(r.minimap),Ge=N(null),Ke=N(!1),qe=N(!1),Je=N(!1),Ye;Mi(()=>{let e=()=>{let e=Ge.value?.clientWidth??0;Ke.value=e>0&&e<760};e(),typeof ResizeObserver==`function`&&Ge.value&&(Ye=new ResizeObserver(e),Ye.observe(Ge.value))}),Pi(()=>Ye?.disconnect());function Xe(e){e.target&&(ie([e.target.id]),y.value?.centreOn(e.target.id),Ke.value&&(Je.value=!1),qn(()=>y.value?.focusElement(e.target.id)))}return t({undo:C,redo:w,autoLayout:ge,fit:()=>y.value?.fit(!0),select:ie,history:l,issues:O}),(t,n)=>(B(),H(xr(P(o)),Re(Yr(P(s))),{default:F(()=>[U(`div`,ei({ref_key:`rootEl`,ref:Ge},t.$attrs,{class:[`fl-editor`,{"is-narrow":Ke.value,"is-readonly":e.readonly}],lang:P(a),role:`application`,"aria-label":c.value.editor,onKeydown:Ie}),[U(`div`,{class:`fl-toolbar`,role:`toolbar`,"aria-label":c.value.editor},[Ke.value&&!e.readonly?(B(),H(P(Ys),{key:0,size:`sm`,variant:`ghost`,icon:P(b0),"aria-label":c.value.palette,class:`fl-toolbar__palette`,onClick:n[0]||=e=>qe.value=!0},null,8,[`icon`,`aria-label`])):G(``,!0),q(P(tl),{content:E.value,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(a8),"aria-label":c.value.undo,disabled:!T.value||e.readonly,class:`fl-toolbar__undo`,onClick:C},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),q(P(tl),{content:D.value,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(G$),"aria-label":c.value.redo,disabled:!ee.value||e.readonly,class:`fl-toolbar__redo`,onClick:w},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),n[20]||=U(`span`,{class:`fl-toolbar__sep`,"aria-hidden":`true`},null,-1),q(P(tl),{content:`${c.value.duplicate} (${P(Fe)}D)`,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(WB),"aria-label":c.value.duplicate,disabled:!re.value.length||e.readonly,class:`fl-toolbar__duplicate`,onClick:de},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),q(P(tl),{content:`${c.value.delete} (Del)`,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(j6),"aria-label":c.value.delete,disabled:!v.value.length||e.readonly,class:`fl-toolbar__delete`,onClick:oe},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),n[21]||=U(`span`,{class:`fl-toolbar__sep`,"aria-hidden":`true`},null,-1),q(P(tl),{content:c.value.autoLayout,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(Vq),"aria-label":c.value.autoLayout,disabled:e.readonly||!h.value.nodes.length,class:`fl-toolbar__layout`,onClick:ge},{default:F(()=>[Ke.value?G(``,!0):(B(),V(`span`,E4e,M(c.value.autoLayout),1))]),_:1},8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),q(P(tl),{content:c.value.snapToGrid,placement:`bottom`},{default:F(()=>[q(P(Ys),{size:`sm`,variant:He.value?`secondary`:`ghost`,icon:P(zJ),"aria-label":c.value.snapToGrid,"aria-pressed":He.value,class:j([`fl-toolbar__snap fl-toggle`,{"is-active":He.value}]),onClick:n[1]||=e=>He.value=!He.value},null,8,[`variant`,`icon`,`aria-label`,`aria-pressed`,`class`])]),_:1},8,[`content`]),n[22]||=U(`span`,{class:`fl-toolbar__spacer`},null,-1),q(P(il),null,{trigger:F(()=>[q(P(Ys),{size:`sm`,variant:`ghost`,icon:Ke.value?P(vH):P(tU),"aria-label":c.value.more,class:`fl-toolbar__file`},{default:F(()=>[Ke.value?G(``,!0):(B(),V(`span`,D4e,`JSON / Mermaid`))]),_:1},8,[`icon`,`aria-label`])]),default:F(()=>[q(P(al),{icon:P(QV),class:`fl-menu-export`,onClick:Pe},{default:F(()=>[W(M(c.value.exportJson),1)]),_:1},8,[`icon`]),q(P(sl)),q(P(al),{icon:P(g8),disabled:e.readonly,class:`fl-menu-import-json`,onClick:n[2]||=e=>Me(`json`)},{default:F(()=>[W(M(c.value.importJson),1)]),_:1},8,[`icon`,`disabled`]),e.mermaid?(B(),H(P(al),{key:0,icon:P(tU),disabled:e.readonly,class:`fl-menu-import-mermaid`,onClick:n[3]||=e=>Me(`mermaid`)},{default:F(()=>[W(M(c.value.importMermaid),1)]),_:1},8,[`icon`,`disabled`])):G(``,!0)]),_:1}),z(t.$slots,`toolbar`),Ke.value?(B(),H(P(Ys),{key:1,size:`sm`,variant:`ghost`,icon:P(qZ),"aria-label":c.value.properties,class:`fl-toolbar__side`,onClick:n[4]||=e=>Je.value=!0},{default:F(()=>[te.value?(B(),H(P(Sc),{key:0,variant:`danger`,size:`sm`},{default:F(()=>[W(M(te.value),1)]),_:1})):G(``,!0)]),_:1},8,[`icon`,`aria-label`])):G(``,!0)],8,T4e),U(`div`,O4e,[!Ke.value&&!e.readonly?(B(),V(`aside`,{key:0,class:`fl-editor__palette`,"aria-label":c.value.palette},[U(`h3`,A4e,M(c.value.palette),1),q(a4e,{registry:e.registry,types:Be.value,labels:c.value,"node-icons":e.nodeIcons,onAdd:n[5]||=e=>be(e),onDrop:xe},null,8,[`registry`,`types`,`labels`,`node-icons`])],8,k4e)):G(``,!0),U(`div`,j4e,[q(E2e,{ref_key:`canvas`,ref:y,graph:h.value,labels:c.value,registry:e.registry,direction:e.direction,"edge-style":e.edgeStyle,selection:v.value,issues:k.value,editable:!e.readonly,"snap-grid":Ue.value,minimap:We.value,"node-renderers":e.nodeRenderers,"node-icons":e.nodeIcons,"fit-key":f.value.join(`/`),drillable:e=>typeof e.subgraph==`object`,"is-locked":A,"aria-label":c.value.editor,onSelect:n[10]||=e=>ie(e),onActivate:Oe,onEnter:Ee,onMove:Te,onConnect:Se,onReconnect:Ce,onDetach:we,onContextmenu:ze,onBackgroundDblclick:n[11]||=t=>!e.readonly&&be(`state`,t),onEscape:ke,"onUpdate:minimap":n[12]||=e=>We.value=e},{overlay:F(()=>[f.value.length?(B(),V(`div`,M4e,[q(P(Ys),{size:`sm`,variant:`ghost`,icon:P(dI),"aria-label":c.value.back,class:`fl-nav__back`,onClick:n[6]||=e=>De(f.value.length-1)},null,8,[`icon`,`aria-label`]),q(P(wl),{label:c.value.root,collapse:``,class:`fl-nav__crumbs`},{default:F(()=>[(B(!0),V(K,null,R(g.value,e=>(B(),H(P(Al),{key:e.depth,current:e.depth===f.value.length,onClick:t=>De(e.depth)},{default:F(()=>[W(M(e.label),1)]),_:2},1032,[`current`,`onClick`]))),128))]),_:1},8,[`label`])])):G(``,!0),h.value.nodes.length&&!e.readonly&&!v.value.length?(B(),V(`p`,N4e,M(c.value.connectHint),1)):G(``,!0)]),empty:F(()=>[U(`div`,P4e,[U(`p`,F4e,M(c.value.emptyEditorTitle),1),U(`p`,I4e,M(c.value.emptyEditorHint),1),e.readonly?G(``,!0):(B(),V(`div`,L4e,[q(P(Ys),{variant:`primary`,size:`sm`,icon:P(ZQ),class:`fl-empty__add-start`,onClick:n[7]||=e=>be(`start`)},{default:F(()=>[W(M(c.value.addStart),1)]),_:1},8,[`icon`]),e.mermaid?(B(),H(P(Ys),{key:0,variant:`secondary`,size:`sm`,icon:P(tU),onClick:n[8]||=e=>Me(`mermaid`)},{default:F(()=>[W(M(c.value.importMermaid),1)]),_:1},8,[`icon`])):G(``,!0),q(P(Ys),{variant:`ghost`,size:`sm`,icon:P(g8),onClick:n[9]||=e=>Me(`json`)},{default:F(()=>[W(M(c.value.importJson),1)]),_:1},8,[`icon`])]))])]),_:1},8,[`graph`,`labels`,`registry`,`direction`,`edge-style`,`selection`,`issues`,`editable`,`snap-grid`,`minimap`,`node-renderers`,`node-icons`,`fit-key`,`drillable`,`aria-label`])]),(B(),H(xr(Ke.value?P($c):`aside`),Re(Yr(Ke.value?{modelValue:Je.value,"onUpdate:modelValue":e=>Je.value=e,title:c.value.properties,width:`min(360px, 100vw)`}:{class:`fl-editor__side`,"aria-label":c.value.properties})),{default:F(()=>[q(P(hl),{modelValue:Ve.value,"onUpdate:modelValue":n[15]||=e=>Ve.value=e},{list:F(()=>[q(P(_l),{value:`properties`},{default:F(()=>[W(M(c.value.properties),1)]),_:1}),q(P(_l),{value:`issues`,class:`fl-tab-issues`},{default:F(()=>[W(M(c.value.issues)+` `,1),O.value.length?(B(),H(P(Sc),{key:0,variant:te.value?`danger`:`warning`,size:`sm`,class:`fl-tab-issues__count`},{default:F(()=>[W(M(O.value.length),1)]),_:1},8,[`variant`])):G(``,!0)]),_:1})]),default:F(()=>[q(P(yl),{value:`properties`},{default:F(()=>[q(C4e,{ref_key:`propsPanel`,ref:b,graph:h.value,selection:v.value,registry:e.registry,labels:c.value,readonly:e.readonly,locked:A,onCommand:x,onAlign:me,onDistribute:he,onDelete:oe,onOpenSubgraph:Ee,onConnect:n[13]||=(e,t)=>Se({from:e,to:t}),onSelect:n[14]||=e=>{ie([e]),y.value?.centreOn(e)}},null,8,[`graph`,`selection`,`registry`,`labels`,`readonly`]),z(t.$slots,`properties`,{selection:v.value,graph:h.value,path:f.value})]),_:3}),q(P(yl),{value:`issues`},{default:F(()=>[U(`p`,R4e,M(c.value.issueCount(te.value,ne.value)),1),q(n4e,{issues:O.value,labels:c.value,onFocus:Xe},null,8,[`issues`,`labels`])]),_:1})]),_:3},8,[`modelValue`])]),_:3},16))]),Ke.value&&!e.readonly?(B(),H(P($c),{key:0,modelValue:qe.value,"onUpdate:modelValue":n[18]||=e=>qe.value=e,side:`left`,title:c.value.palette,width:`min(280px, 85vw)`},{default:F(()=>[q(a4e,{registry:e.registry,types:Be.value,labels:c.value,"node-icons":e.nodeIcons,onAdd:n[16]||=e=>{be(e),qe.value=!1},onDrop:n[17]||=(e,t)=>{xe(e,t),qe.value=!1}},null,8,[`registry`,`types`,`labels`,`node-icons`])]),_:1},8,[`modelValue`,`title`])):G(``,!0),q(Z2e,{open:Ae.value,"onUpdate:open":n[19]||=e=>Ae.value=e,mode:je.value,labels:c.value,mermaid:e.mermaid,onImport:Ne},null,8,[`open`,`mode`,`labels`,`mermaid`]),q(Y2e,{ref_key:`menu`,ref:Le},null,512),e.toastProvider?(B(),H(P(Yc),{key:1})):G(``,!0)],16,w4e)]),_:3},16))}}),B4e=n({fromMermaid:()=>H4e,isMermaidFlow:()=>V4e});function V4e(e){let t=e.replace(/^\s*(%%[^\n]*\n\s*)*/,``).split(/\s/,1)[0]??``;return/^(stateDiagram(-v2)?|flowchart|graph)$/.test(t)}function H4e(e,t={}){let n=Khe(e);if(n&&n.type===`state`&&n.states instanceof Map)return U4e(n,t);if(n&&n.type===`flowchart`&&n.nodes instanceof Map)return W4e(n,t);throw new Q7(`Only stateDiagram-v2 and flowchart can be imported, not "${n?.type??`unknown`}"`)}function w9(e){let t=/^\u0000(start|end):(.*)$/.exec(e);return t?t[2]===`root`?t[1]:`${t[2]}-${t[1]}`:e}function U4e(e,t){let n=e.composites,r=e=>{let t=e;for(;t!==void 0;){let e=n.get(t);if(!e)return``;if(!e.region)return t;t=e.parent}return``},i=e=>e!==void 0&&n.get(e)?.region?e:void 0,a=t=>e.states.get(t)?.parent??n.get(t)?.parent,o=(e,t)=>{let i=e;for(let e=0;i!==void 0&&e<1e3;e++){if(!n.get(i)?.region&&r(a(i))===t)return i;i=a(i)}},s=new Map,c=r=>{let i=s.get(r);return i||(i={version:1,nodes:[],edges:[]},r===``?i.meta={direction:t.direction??T9(e.direction)}:i.meta={title:n.get(r)?.name??r,direction:t.direction??T9(e.direction)},s.set(r,i)),i};c(``);let l={state:`state`,start:`start`,end:`end`,choice:`decision`,fork:`state`,join:`state`};for(let t of e.states.values()){let e=c(r(t.parent)),n={id:w9(t.id),type:l[t.kind]};(t.kind===`state`||t.kind===`choice`)&&(n.label=t.name),(t.kind===`fork`||t.kind===`join`)&&(n.label=t.name||t.kind,n.data={pseudo:t.kind}),t.descriptions.length&&(n.description=t.descriptions.join(` `));let a=i(t.parent);a&&(n.group=a),e.nodes.push(n)}for(let e of n.values()){if(e.region){let t=c(r(e.parent)),n={id:e.id},a=i(e.parent);a&&(n.parent=a),(t.groups??=[]).push(n);continue}let t=c(r(e.parent)),n={id:e.id,type:`subprocess`,label:e.name,subgraph:c(e.id)},a=i(e.parent);a&&(n.group=a),t.nodes.push(n)}let u=0;for(let t of e.transitions){let e=r(a(t.from)),i,s;for(let a=0;e!==void 0&&a<1e3&&(i=o(t.from,e),s=o(t.to,e),i===void 0||s===void 0);a++)e=e===``?void 0:r(n.get(e)?.parent);if(e===void 0||i===void 0||s===void 0)continue;let l={id:`t${++u}`,from:w9(i),to:w9(s)};t.label&&(l.label=t.label),c(e).edges.push(l)}let d=0;for(let t of e.notes){let e=c(r(a(t.target))),n=`note-${++d}`;e.nodes.push({id:n,type:`note`,label:t.text}),e.edges.push({id:`${n}-link`,from:n,to:w9(t.target),kind:`association`})}return c(``)}function W4e(e,t){let n=new Set(e.edges.map(e=>e.to)),r=new Set(e.edges.map(e=>e.from)),i=(e,t)=>{switch(t){case`rhombus`:case`choice`:case`hexagon`:return`decision`;case`subroutine`:return`subprocess`;case`doublecircle`:case`end`:return`end`;case`start`:return`start`;case`circle`:return n.has(e)?r.has(e)?`state`:`end`:`start`;case`round`:case`stadium`:return`state`;case`asymmetric`:return`note`;default:return`task`}},a={version:1,nodes:[],edges:[],meta:{direction:t.direction??T9(e.direction)}};for(let t of e.nodes.values()){let e={id:t.id,type:i(t.id,t.shape)};!t.text||e.type===`start`&&t.text===t.id||e.type===`end`&&t.text===t.id||(e.label=t.text),t.subgraph&&(e.group=t.subgraph),a.nodes.push(e)}e.subgraphs.size&&(a.groups=[...e.subgraphs.values()].map(e=>{let t={id:e.id};return e.title&&(t.label=e.title),e.parent&&(t.parent=e.parent),t}));let o=0;for(let t of e.edges){if(t.stroke===`invisible`)continue;let e={id:`e${++o}`,from:t.from,to:t.to};t.text&&(e.label=t.text),t.end===`none`&&t.stroke===`dotted`&&(e.kind=`association`),a.edges.push(e)}return a}var T9,G4e=t((()=>{b9(),U_e(),T9=e=>e===`LR`||e===`RL`?`LR`:`TB`})),K4e=n({followNode:()=>Q4e,mountElement:()=>$4e,pollUrl:()=>J4e,renderers:()=>e3e,setup:()=>q4e,subgraphUrl:()=>Y4e,toGraph:()=>O9});jo(),b9();function q4e(e){K_(e)}var E9=null;function D9(){return E9??=Promise.resolve().then(()=>(G4e(),B4e)),E9.catch(()=>E9=null),E9}async function O9(e){if(e&&typeof e==`object`)return A7(e);let t=String(e??``).trim();if(t===``)return A7({version:1,nodes:[],edges:[]});if(t.startsWith(`{`))return A7(t);let{fromMermaid:n}=await D9();return n(t)}function J4e(e,t){let n=new URL(e,document.baseURI);return t.path&&t.path.length>0&&n.searchParams.set(`path`,t.path.join(`,`)),t.ref&&n.searchParams.set(`ref`,t.ref),n.href}function Y4e(e,t){if(e.includes(`{ref}`))return e.replace(`{ref}`,encodeURIComponent(t));let n=new URL(e,document.baseURI);return n.searchParams.set(`ref`,t),n.href}async function X4e(e,t){let n=await fetch(e,{signal:t,credentials:`same-origin`,headers:{Accept:`application/json`}});if(!n.ok)throw Error(`${e}: HTTP ${n.status}`);return n.json()}var Z4e=[`direction`,`edgeStyle`,`wheel`,`minimap`,`controls`,`details`,`statusBar`,`labels`,`registry`];function Q4e(e,t){let n=e.data??{},r=e=>typeof e==`string`&&e!==``?document.querySelector(e):null,i=r(t.openapiTarget);i&&typeof n.operation==`string`&&n.operation!==``&&Promise.resolve(i.go?.(n.operation)).catch(e=>console.warn(`[dsk-embed] openapi-target:`,Q_(e)));let a=r(t.mediaTarget);if(a&&(n.chapter!==void 0||n.time!==void 0)){let e=n.chapter===void 0?Promise.resolve(a.seek?.(Number(n.time))).then(()=>a.play?.()):a.playChapter?.(n.chapter);Promise.resolve(e).catch(e=>console.warn(`[dsk-embed] media-target:`,Q_(e)))}}function $4e(e){let t=Y_(),n=rn(null),r=rn(null),i=null,a=``;function o(){let t=e.props().name;typeof t==`string`&&t!==``&&(i||(i=document.createElement(`input`),i.type=`hidden`,e.el.appendChild(i)),i.name=t,i.value=n.value?JSON.stringify(n.value):``)}async function s(){let t=e.props(),i=t.graph===void 0?typeof t.src==`string`&&t.src!==``?`src:${t.src}`:`source:${e.source()}`:`object`;if(i!==a||i===`object`){a=i;try{let i=t.graph===void 0?typeof t.src==`string`&&t.src!==``?await O9(await Z_(t.src)):await O9(e.source()):await O9(t.graph);n.value=i,r.value=null,o(),e.emit(`load`,{nodes:i.nodes.length,edges:i.edges.length})}catch(t){r.value=Q_(t),e.emit(`error`,{message:r.value})}}}let c=J_(e,i=>{let a=i.props;if(r.value)return ri(`div`,{class:`dsk-error`,role:`alert`},r.value);if(!n.value)return ri(`div`,{class:`dsk-flow-frame`,style:{height:A(a.height,`480px`)}});let s={};for(let e of Z4e)a[e]!==void 0&&(s[e]=a[e]);let c=`var(--dsk-flow-height, ${A(a.height,a.editable?`600px`:`480px`)})`;if(a.editable)return ri(`div`,{class:`dsk-flow-frame`,style:{height:c}},[$_(z4e,{...s,ref:t.set,modelValue:n.value,locale:i.locale,readonly:a.readonly===!0,...Array.isArray(a.palette)?{palette:a.palette}:{},mermaid:e=>{if(!l)throw Error(`Mermaid import is still loading; try again`);return l(e)},style:{height:`100%`},"onUpdate:modelValue":e=>{n.value=e,o()},onChange:t=>{n.value=t.graph,o(),e.emit(`change`,{graph:t.graph,description:t.description,source:t.source})},onSelect:t=>e.emit(`select`,{ids:t}),onValidate:t=>e.emit(`validate`,{issues:t})})]);let u=typeof a.pollUrl==`string`&&a.pollUrl!==``?a.pollUrl:null,d=typeof a.toggleUrl==`string`&&a.toggleUrl!==``?a.toggleUrl:null,f=typeof a.persistToggle==`function`?a.persistToggle:null,p=typeof a.subgraphUrl==`string`&&a.subgraphUrl!==``?a.subgraphUrl:null,m=typeof a.loadSubgraph==`function`?a.loadSubgraph:null;return ri(`div`,{class:`dsk-flow-frame`,style:{height:c}},[$_(K2e,{...s,ref:t.set,graph:n.value,locale:i.locale,style:{height:`100%`},...a.state===void 0?{}:{state:a.state},...u?{poll:{intervalMs:typeof a.pollInterval==`number`?a.pollInterval:5e3,fetch:(e,t)=>X4e(J4e(u,t),e)}}:{},...d||f?{toggleable:!0,persistToggle:async e=>{if(f)return f(e);let t=await fetch(d,{method:`POST`,credentials:`same-origin`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(`${t.status} ${t.statusText}`.trim());return t},onToggle:(t,n)=>e.emit(`toggle`,{...t,ok:n.ok,...n.ok?{}:{rolledBack:n.rolledBack}})}:{},...m?{loadSubgraph:m}:p?{loadSubgraph:e=>X4e(Y4e(p,e)).then(e=>O9(e))}:{},onSelect:t=>{e.emit(`select`,t?{kind:t.kind,id:t.id,path:t.path,element:t.element}:null),t?.kind===`node`&&(e.emit(`node`,{id:t.id,path:t.path,node:t.element,data:t.element.data??{}}),Q4e(t.element,{openapiTarget:a.openapiTarget,mediaTarget:a.mediaTarget}))},onNavigate:t=>e.emit(`navigate`,{path:t.map(e=>e.nodeId).filter(Boolean)}),"onToggle-error":(t,n)=>e.emit(`toggle-error`,{change:t,message:Q_(n)}),"onPoll-error":t=>e.emit(`poll-error`,{message:Q_(t)})})])}),l=null;e.props().editable&&D9().then(e=>l=e.fromMermaid,()=>void 0),s();let u=e=>(...n)=>{let r=t.ref.value?.[e];if(typeof r!=`function`)throw Error(`${String(e)}() is not available here`);return r(...n)};return{update(){c.refresh(),s(),e.props().editable&&!l&&D9().then(e=>l=e.fromMermaid,()=>void 0)},destroy(){c.unmount(),i?.remove()},api:{fit:u(`fit`),select:u(`select`),enter:u(`enter`),back:u(`back`),refresh:u(`refresh`),undo:u(`undo`),redo:u(`redo`),get stack(){return t.ref.value?.stack},get graph(){return n.value}}}}var e3e={async flow(e){let t;try{t=await O9(e)}catch(e){return{error:Q_(e)}}return{mount(e){e.classList.add(`dsk-flow-frame`),e.style.height=`420px`;let n=Jt({graph:t}),r=q_(e,()=>$_(K2e,{graph:n.graph,locale:H_.locale,minimap:!1,statusBar:!1,style:{height:`100%`},onSelect:t=>{t?.kind===`node`&&e.dispatchEvent(new CustomEvent(`dsk:node`,{bubbles:!0,composed:!0,detail:{id:t.id,path:t.path,node:t.element,data:t.element.data??{}}}))}}));return{update(e){O9(e).then(e=>n.graph=e,()=>void 0)},destroy:()=>r.unmount()}}}}},t3e=n({mountElement:()=>r3e,setup:()=>n3e});jo(),k_();function n3e(e){K_(e)}function r3e(e){let t=rn(null),n=rn(null),r=``;async function i(){let i=e.props().src;if(typeof i==`string`&&i!==``&&i!==r){r=i;try{t.value=await Z_(i),n.value=null}catch(t){n.value=Q_(t),e.emit(`error`,{message:n.value})}}}let a=J_(e,e=>{if(n.value)return ri(`div`,{class:`dsk-error`,role:`alert`},n.value);let r=e.props,i=typeof r.src==`string`&&r.src!==``?t.value??``:e.source;return $_(jm,{class:`dsk-markdown`,source:i,blockRenderers:H_.renderers,...r.toc===void 0?{}:{toc:r.toc},...r.tocDepth===void 0?{}:{tocDepth:r.tocDepth},...r.linkBase===void 0?{}:{linkBase:r.linkBase},...r.imageBase===void 0?{}:{imageBase:r.imageBase}})});return i(),{update(){a.refresh(),i()},destroy:()=>a.unmount(),api:{get value(){return typeof e.props().src==`string`?t.value??``:e.source()}}}}jo();var k9=`data-dsk-preview`,A9=`data-dsk-preview-state`,j9=`data-dsk-preview-live`;function M9(e){if(!e.querySelector(`[${k9}], [${A9}]`))return e.innerHTML;let t=e.cloneNode(!0);return i3e(t),t.innerHTML}function i3e(e){for(let t of Array.from(e.querySelectorAll(`[${k9}]`)))t.remove();for(let t of Array.from(e.querySelectorAll(`[${A9}]`)))t.removeAttribute(A9)}function a3e(e){let t=e.firstElementChild;if(!t||t.tagName.toLowerCase()!==`code`)return null;let n=t.className.match(/(?:^|\s)language-([\w-]+)/);return n?n[1].toLowerCase():null}function o3e(e){return(e.textContent??``).replace(//g,``)}function N9(e){return(e instanceof Element?e:e instanceof Node?e.parentElement:null)?.closest(`[${j9}]`)!=null}var s3e=class{host;renderers;entries=new WeakMap;onChange;index=0;editable=!0;mounted=new Map;onCodeChange=()=>{};constructor(e,t={},n=()=>{}){this.host=e,this.renderers=t,this.onChange=n}setRenderers(e){this.renderers=e,this.remountAll()}setEditable(e){this.editable!==e&&(this.editable=e,this.remountAll())}destroy(){for(let e of this.mounted.values())e.destroy?.();this.mounted.clear()}remountAll(){for(let e of this.previewable()){let t=this.entries.get(e);t&&(this.unmountLive(t),t.source=null)}this.sync()}get enabled(){return Object.keys(this.renderers).length>0}sync(){let e=this.previewable(),t=new Set;for(let n of e){let e=this.entryFor(n);t.add(e.island);let r=o3e(n);r!==e.source&&this.render(n,e,r)}for(let e of Array.from(this.host.querySelectorAll(`[${k9}]`)))t.has(e)||e.remove();for(let t of Array.from(this.host.querySelectorAll(`[${A9}]`)))e.includes(t)||t.removeAttribute(A9);for(let[e,n]of this.mounted)e.isConnected&&t.has(e)||(n.destroy?.(),this.mounted.delete(e))}dropOrphanedCode(){let e=!1;for(let t of Array.from(this.host.querySelectorAll(`pre[${A9}="view"]`))){let n=this.entries.get(t);n&&!n.island.isConnected&&(t.remove(),e=!0)}return e}followSelection(e){for(let t of this.previewable()){let n=e!==null&&t.contains(e.startContainer),r=this.entries.get(t);r?.handle||(n?this.setState(t,`edit`):this.setState(t,r?.failed?`error`:`view`))}}closeAll(){this.followSelection(null)}edit(e){if(e.hasAttribute(j9))return;let t=e.previousElementSibling;if(!(t instanceof HTMLElement)||t.tagName.toLowerCase()!==`pre`)return;this.setState(t,`edit`);let n=t.querySelector(`code`)??t,r=document.createRange();r.selectNodeContents(n),r.collapse(!1);let i=window.getSelection();i&&(i.removeAllRanges(),i.addRange(r))}leave(e){let t=this.entries.get(e),n=t?.island.isConnected?t.island:e,r=n.nextElementSibling;(!r||r.matches(`pre, [${k9}]`))&&(r=document.createElement(`p`),r.appendChild(document.createElement(`br`)),n.after(r));let i=document.createRange();i.setStart(r,0),i.collapse(!0);let a=window.getSelection();a&&(a.removeAllRanges(),a.addRange(i)),this.setState(e,t?.failed?`error`:`view`)}openCodeAt(e){if(!e)return null;for(let t of this.previewable())if(t.getAttribute(A9)===`edit`&&t.contains(e.startContainer))return t;return null}previewable(){return this.enabled?Array.from(this.host.querySelectorAll(`pre`)).filter(e=>{let t=a3e(e);return t!==null&&Object.prototype.hasOwnProperty.call(this.renderers,t)}):[]}entryFor(e){let t=this.entries.get(e);if(!t||!t.island.isConnected||t.island.previousElementSibling!==e){let n=document.createElement(`div`);n.setAttribute(k9,``),n.setAttribute(`contenteditable`,`false`),n.className=`dsk-wysiwyg__preview`,t?.island.remove(),t={island:n,source:null,ticket:0,failed:!1,handle:null},this.entries.set(e,t),e.after(n)}return e.hasAttribute(A9)||e.setAttribute(A9,`view`),t}setState(e,t){e.getAttribute(A9)!==t&&e.setAttribute(A9,t)}render(e,t,n){t.source=n;let r=++t.ticket,i=a3e(e),a=this.renderers[i];if(n.trim()===``&&!t.handle){t.failed=!1,t.island.removeAttribute(`data-error`),t.island.replaceChildren();return}let o=a=>{if(r!==t.ticket)return;let o=t.island;a.mount?this.mountLive(e,t,n,i,a.mount):(this.unmountLive(t),a.error!==void 0||a.html===void 0?(t.failed=!0,o.setAttribute(`data-error`,``),o.replaceChildren(c3e(a.error??``)),e.getAttribute(A9)!==`edit`&&this.setState(e,`error`)):(t.failed=!1,o.removeAttribute(`data-error`),o.innerHTML=a.html,e.getAttribute(A9)!==`edit`&&this.setState(e,`view`)))},s;try{s=a(n,{language:i,index:this.index++})}catch(e){o({error:e instanceof Error?e.message:String(e)});return}s instanceof Promise?s.then(o,e=>o({error:e instanceof Error?e.message:String(e)})).then(()=>this.onChange()):o(s)}mountLive(e,t,n,r,i){t.failed=!1;let a=t.island;if(a.removeAttribute(`data-error`),this.setState(e,`view`),t.handle?.update){t.handle.update(n);return}this.unmountLive(t),a.replaceChildren(),a.setAttribute(j9,``);let o=this.editable,s=i(a,{code:n,language:r,editable:o,setCode:n=>{if(!o||!e.isConnected)return;let r=e.querySelector(`code`)??e;r.textContent=n,t.source=o3e(e),this.onCodeChange()}}),c=typeof s==`function`?{destroy:s}:s??{};t.handle=c,this.mounted.set(a,c)}unmountLive(e){e.handle&&(e.handle.destroy?.(),this.mounted.delete(e.island),e.handle=null,e.island.removeAttribute(j9))}};function c3e(e){let t=document.createElement(`div`);return t.className=`dsk-wysiwyg__preview-error`,t.setAttribute(`role`,`alert`),t.textContent=e,t}function l3e(){let e=typeof window>`u`?null:window.getSelection();return e&&e.rangeCount>0?e:null}function P9(e){let t=l3e();if(!t)return null;let n=t.getRangeAt(0);return e.contains(n.startContainer)&&e.contains(n.endContainer)?n:null}function F9(e,t){let n=P9(e);if(!n)return!1;let r=n.startContainer;for(;r&&r!==e;){if(r instanceof HTMLElement){let e=r.tagName.toLowerCase();if(t.includes(e))return!0}r=r.parentNode}return!1}function I9(e){let t=P9(e);if(!t)return null;let n=t.startContainer;for(;n&&n!==e;){if(n instanceof HTMLElement){let e=n.tagName.toLowerCase();if([`p`,`h1`,`h2`,`h3`,`li`,`blockquote`,`pre`].includes(e))return e}n=n.parentNode}return null}function u3e(e){let t=P9(e);if(!t)return null;let n=t.startContainer;for(;n&&n!==e;){if(n instanceof HTMLAnchorElement)return n;n=n.parentNode}return null}function L9(e){e.dispatchEvent(new InputEvent(`input`,{bubbles:!0,cancelable:!0}))}function d3e(e,t,n){if(!e.contains(t))return null;let r=document.createRange();return r.selectNodeContents(e),r.setEnd(t,n),{block:e,offset:r.toString().length}}function f3e(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=t,i=null;for(let e=n.nextNode();e;e=n.nextNode()){if(r<=e.data.length)return[e,r];r-=e.data.length,i=e}return i?[i,i.data.length]:[e,0]}function p3e(e){e.querySelector(`br, img, hr`)||(e.textContent??``)===``&&e.appendChild(document.createElement(`br`))}function m3e(e,t,n){let r=window.getSelection(),i=r&&r.rangeCount>0?r.getRangeAt(0):null,a=i?d3e(e,i.startContainer,i.startOffset):null,o=i?d3e(e,i.endContainer,i.endOffset):null;for(;e.firstChild;)t.appendChild(e.firstChild);if(n(t),p3e(t),!r||!i||!a&&!o)return;let s=document.createRange();a?s.setStart(...f3e(t,a.offset)):s.setStart(i.startContainer,i.startOffset),o?s.setEnd(...f3e(t,o.offset)):s.setEnd(i.endContainer,i.endOffset),r.removeAllRanges(),r.addRange(s)}function R9(e,t){let n=P9(e);if(!n)return;if(n.collapsed){let r=h3e(n.startContainer,e,t);if(r){let t=document.createTextNode(``);r.after(t);let n=window.getSelection();if(n){let e=document.createRange();e.setStart(t,1),e.collapse(!0),n.removeAllRanges(),n.addRange(e)}L9(e);return}let i=document.createElement(t);i.appendChild(document.createTextNode(``)),n.insertNode(i);let a=window.getSelection();if(a){let e=document.createRange();e.setStart(i.firstChild,1),e.collapse(!0),a.removeAllRanges(),a.addRange(e)}L9(e);return}let r=h3e(n.startContainer,e,t);if(r&&r.contains(n.endContainer)){g3e(r),L9(e);return}let i=document.createElement(t);try{i.appendChild(n.extractContents()),n.insertNode(i);let e=window.getSelection();if(e){let t=document.createRange();t.selectNodeContents(i),e.removeAllRanges(),e.addRange(t)}}catch{return}L9(e)}function h3e(e,t,n){let r=e;for(;r&&r!==t;){if(r instanceof HTMLElement&&r.tagName.toLowerCase()===n)return r;r=r.parentNode}return null}function g3e(e){let t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}}function z9(e,t){let n=P9(e);if(!n)return;let r=I9(e)===t?`p`:t,i=_3e(n,e);if(i.length!==0){for(let e of i){let t=e.tagName.toLowerCase();if(t!==r){if(t===`li`){let t=e.parentElement;if(t&&(t.tagName.toLowerCase()===`ul`||t.tagName.toLowerCase()===`ol`)){let n=document.createElement(r);for(;e.firstChild;)n.appendChild(e.firstChild);let i=[],a=e.nextElementSibling;for(;a;)i.push(a),a=a.nextElementSibling;if(e.remove(),t.after(n),i.length>0){let e=document.createElement(t.tagName.toLowerCase());for(let t of i)e.appendChild(t);n.after(e)}t.children.length===0&&t.remove(),p3e(n);let o=document.createRange();o.selectNodeContents(n),o.collapse(!0);let s=window.getSelection();s&&(s.removeAllRanges(),s.addRange(o));continue}}m3e(e,document.createElement(r),t=>e.replaceWith(t))}}L9(e)}}function _3e(e,t){let n=new Set,r=B9(e.startContainer,t),i=B9(e.endContainer,t);if(r&&n.add(r),i&&n.add(i),r&&i&&r!==i){let e=Array.from(t.querySelectorAll(`p, h1, h2, h3, blockquote, pre, li`)),a=!1;for(let t of e)if(t===r&&(a=!0),a&&n.add(t),t===i)break}return Array.from(n)}function B9(e,t){let n=[`p`,`h1`,`h2`,`h3`,`blockquote`,`pre`,`li`],r=e;for(;r&&r!==t;){if(r instanceof HTMLElement&&n.includes(r.tagName.toLowerCase()))return r;r=r.parentNode}return null}function v3e(e,t){let n=P9(e);if(!n)return;let r=n.startContainer;for(;r&&r!==e;){if(r instanceof HTMLElement){let n=r.tagName.toLowerCase();if(n===`ul`||n===`ol`){if(n===t)y3e(r);else{let e=document.createElement(t);for(;r.firstChild;)e.appendChild(r.firstChild);r.replaceWith(e)}L9(e);return}}r=r.parentNode}let i=B9(n.startContainer,e);if(!i)return;let a=document.createElement(t);m3e(i,document.createElement(`li`),e=>{a.appendChild(e),i.replaceWith(a)}),L9(e)}function y3e(e){let t=e.parentNode;if(t){for(let n of Array.from(e.children)){if(n.tagName.toLowerCase()!==`li`)continue;let r=document.createElement(`p`);for(;n.firstChild;)r.appendChild(n.firstChild);t.insertBefore(r,e)}t.removeChild(e)}}function b3e(e,t){let n=P9(e);if(!n)return;let r=u3e(e);if(r){if(t===null||t===``){g3e(r),L9(e);return}r.setAttribute(`href`,t),L9(e);return}if(t===null||t===``||n.collapsed)return;let i=document.createElement(`a`);i.setAttribute(`href`,t),i.setAttribute(`rel`,`noopener noreferrer`),i.setAttribute(`target`,`_blank`);try{i.appendChild(n.extractContents()),n.insertNode(i),L9(e)}catch{}}function x3e(e,t,n=``){let r=P9(e);if(!r)return;let i=document.createElement(`img`);i.src=t,n&&(i.alt=n),r.deleteContents(),r.insertNode(i),r.setStartAfter(i),r.collapse(!0);let a=window.getSelection();a&&(a.removeAllRanges(),a.addRange(r)),L9(e)}function S3e(e){let t=P9(e);if(!t)return;let n=document.createElement(`hr`);t.deleteContents(),t.insertNode(n);let r=document.createElement(`p`);r.appendChild(document.createElement(`br`)),n.after(r),t.setStart(r,0),t.collapse(!0);let i=window.getSelection();i&&(i.removeAllRanges(),i.addRange(t)),L9(e)}function C3e(e,t,n=``){let r=P9(e),i=document.createElement(`pre`),a=document.createElement(`code`);a.className=`language-${t.replace(/[^\w-]/g,``)}`,a.textContent=n===``?``:n,i.appendChild(a);let o=r?B9(r.startContainer,e):null;for(;o&&o.parentElement!==e;)o=o.parentElement;if(o&&o.tagName.toLowerCase()===`p`&&(o.textContent??``).replace(/[\s]/g,``)===``?o.replaceWith(i):o?o.after(i):e.appendChild(i),!i.nextElementSibling){let e=document.createElement(`p`);e.appendChild(document.createElement(`br`)),i.after(e)}let s=document.createRange();s.selectNodeContents(a),s.collapse(!1);let c=window.getSelection();c&&(c.removeAllRanges(),c.addRange(s)),L9(e)}var w3e=class{stack=[];cursor=-1;lastCommitAt=0;host;throttleMs;maxSize;serialize;onRestore;constructor(e,t={}){this.host=e,this.throttleMs=t.throttleMs??350,this.maxSize=t.maxSize??100,this.serialize=t.serialize??(e=>e.innerHTML),this.onRestore=t.onRestore??(()=>{}),this.snapshot()}snapshot(){let e=this.serialize(this.host);this.cursor>=0&&this.stack[this.cursor]===e||(this.stack=this.stack.slice(0,this.cursor+1),this.stack.push(e),this.stack.length>this.maxSize?this.stack.shift():this.cursor++,this.lastCommitAt=Date.now())}commitThrottled(){Date.now()-this.lastCommitAt<this.throttleMs||this.snapshot()}commit(){this.snapshot()}get canUndo(){return this.cursor>0}get canRedo(){return this.cursor<this.stack.length-1}undo(){this.canUndo&&(this.cursor--,this.host.innerHTML=this.stack[this.cursor],this.onRestore())}redo(){this.canRedo&&(this.cursor++,this.host.innerHTML=this.stack[this.cursor],this.onRestore())}reset(e){this.stack=[e],this.cursor=0,this.lastCommitAt=Date.now()}},T3e=new Set(`p.h1.h2.h3.strong.b.em.i.u.s.strike.del.code.pre.ul.ol.li.blockquote.a.img.br.hr.span.table.thead.tbody.tr.th.td`.split(`.`)),E3e={a:new Set([`href`,`target`,`rel`,`title`]),img:new Set([`src`,`alt`,`title`,`width`,`height`]),code:new Set([`class`]),span:new Set([`class`])},D3e=[`language-`,`dsk-tok-`];function O3e(e,t={}){if(typeof DOMParser>`u`)return e;let n=new DOMParser().parseFromString(`<div>${e}</div>`,`text/html`).body.firstElementChild;if(!n)return``;for(let e of Array.from(n.querySelectorAll(`[data-dsk-preview]`)))e.remove();return k3e(n,t.allowedAttributes??{}),n.innerHTML}function k3e(e,t){let n=e.tagName.toLowerCase(),r=new Set([...E3e[n]??[],...t[n]??[]]);for(let t of Array.from(e.attributes))if(!r.has(t.name)||/^on/i.test(t.name))e.removeAttribute(t.name);else if(t.name===`class`){let n=t.value.split(/\s+/).filter(e=>D3e.some(t=>e.startsWith(t))).join(` `);n===``?e.removeAttribute(`class`):e.setAttribute(`class`,n)}else(t.name===`href`||t.name===`src`)&&/^\s*javascript:/i.test(t.value)&&e.removeAttribute(t.name);n===`a`&&(e.getAttribute(`rel`)||e.setAttribute(`rel`,`noopener noreferrer`),e.getAttribute(`target`)||e.setAttribute(`target`,`_blank`));for(let n of Array.from(e.children))if(k3e(n,t),!T3e.has(n.tagName.toLowerCase())){let e=A3e().createElement(`span`);e.innerHTML=n.innerHTML,n.replaceWith(...Array.from(e.childNodes))}}function A3e(){return document}function V9(e){e.dispatchEvent(new InputEvent(`input`,{bubbles:!0,cancelable:!0}))}function j3e(e,t,n){let r=P9(e);if(!r)return;let i=document.createElement(`table`),a=document.createElement(`tbody`),o=document.createElement(`thead`),s=document.createElement(`tr`);for(let e=0;e<n;e++){let e=document.createElement(`th`);e.appendChild(document.createElement(`br`)),s.appendChild(e)}o.appendChild(s),i.appendChild(o);for(let e=0;e<t;e++){let e=document.createElement(`tr`);for(let t=0;t<n;t++){let t=document.createElement(`td`);t.appendChild(document.createElement(`br`)),e.appendChild(t)}a.appendChild(e)}i.appendChild(a),r.deleteContents(),r.insertNode(i);let c=document.createElement(`p`);c.appendChild(document.createElement(`br`)),i.after(c);let l=i.querySelector(`th`);if(l){let e=document.createRange();e.setStart(l,0),e.collapse(!0);let t=window.getSelection();t&&(t.removeAllRanges(),t.addRange(e))}V9(e)}function H9(e){let t=P9(e);if(!t)return null;let n=t.startContainer;for(;n&&n!==e;){if(n instanceof HTMLTableCellElement)return n;n=n.parentNode}return null}function U9(e){let t=H9(e);return t?t.parentElement:null}function W9(e){let t=H9(e);if(!t)return null;let n=t;for(;n&&n!==e;){if(n instanceof HTMLTableElement)return n;n=n.parentNode}return null}function G9(e){let t=document.createElement(e);return t.appendChild(document.createElement(`br`)),t}function M3e(e){let t=U9(e);if(!t)return;let n=document.createElement(`tr`);for(let e=0;e<t.cells.length;e++)n.appendChild(G9(`td`));t.after(n),V9(e)}function N3e(e){let t=U9(e);if(!t)return;let n=document.createElement(`tr`);for(let e=0;e<t.cells.length;e++)n.appendChild(G9(`td`));t.before(n),V9(e)}function P3e(e){let t=H9(e),n=W9(e);if(!t||!n)return;let r=t.cellIndex;for(let e of Array.from(n.rows)){let t=G9(e.parentElement?.tagName.toLowerCase()===`thead`?`th`:`td`),n=e.cells[r];n?n.after(t):e.appendChild(t)}V9(e)}function F3e(e){let t=H9(e),n=W9(e);if(!t||!n)return;let r=t.cellIndex;for(let e of Array.from(n.rows)){let t=G9(e.parentElement?.tagName.toLowerCase()===`thead`?`th`:`td`),n=e.cells[r];n?n.before(t):e.appendChild(t)}V9(e)}function I3e(e){let t=U9(e),n=W9(e);!t||!n||t.parentElement?.tagName.toLowerCase()===`thead`&&n.rows.length<=1||(t.remove(),V9(e))}function L3e(e){let t=H9(e),n=W9(e);if(!t||!n)return;let r=t.cellIndex;if((n.rows[0]?.cells.length??0)<=1)n.remove(),V9(e);else{for(let e of Array.from(n.rows)){let t=e.cells[r];t&&t.remove()}V9(e)}}function R3e(e){let t=W9(e);t&&(t.remove(),V9(e))}function z3e(e){return W9(e)!==null}function B3e(e){return e.replace(//g,``)}var V3e=class{host;history;previews;sanitizeOptions;constructor(e,t={}){let{blockRenderers:n,onPreviewRendered:r,...i}=t;this.host=e,this.previews=new s3e(e,n,r),this.history=new w3e(e,{serialize:M9,onRestore:()=>this.previews.sync()}),this.sanitizeOptions=i}isActive(e,t){if(e===`bold`)return F9(this.host,[`strong`,`b`]);if(e===`italic`)return F9(this.host,[`em`,`i`]);if(e===`underline`)return F9(this.host,[`u`]);if(e===`strike`)return F9(this.host,[`s`,`strike`,`del`]);if(e===`code`)return F9(this.host,[`code`]);if(e===`link`)return u3e(this.host)!==null;if(e===`heading`){let e=t?.level??0;return I9(this.host)===`h${e}`}if(e===`paragraph`)return I9(this.host)===`p`;if(e===`table`)return z3e(this.host);if(e===`blockquote`)return I9(this.host)===`blockquote`;if(e===`codeBlock`)return I9(this.host)===`pre`;if(e===`bulletList`||e===`orderedList`){let t=e===`bulletList`?`ul`:`ol`,n=P9(this.host)?.startContainer??null;for(;n&&n!==this.host;){if(n instanceof HTMLElement&&n.tagName.toLowerCase()===t)return!0;n=n.parentNode}return!1}return!1}canUndo(){return this.history.canUndo}canRedo(){return this.history.canRedo}getHTML(){return B3e(M9(this.host))}isEmpty(){return(this.host.textContent?.trim()??``)===``}chain(){let e=!1,t={bold:()=>(R9(this.host,`strong`),e=!0,t),italic:()=>(R9(this.host,`em`),e=!0,t),underline:()=>(R9(this.host,`u`),e=!0,t),strike:()=>(R9(this.host,`s`),e=!0,t),code:()=>(R9(this.host,`code`),e=!0,t),heading:n=>(z9(this.host,`h${n}`),e=!0,t),paragraph:()=>(z9(this.host,`p`),e=!0,t),bulletList:()=>(v3e(this.host,`ul`),e=!0,t),orderedList:()=>(v3e(this.host,`ol`),e=!0,t),blockquote:()=>(z9(this.host,`blockquote`),e=!0,t),codeBlock:()=>(z9(this.host,`pre`),e=!0,t),insertCodeBlock:(n,r)=>(C3e(this.host,n,r),this.previews.sync(),e=!0,t),setLink:n=>(b3e(this.host,n),e=!0,t),setImage:(n,r)=>(x3e(this.host,n,r),e=!0,t),horizontalRule:()=>(S3e(this.host),e=!0,t),insertTable:(n,r)=>(j3e(this.host,n,r),e=!0,t),addRowAfter:()=>(M3e(this.host),e=!0,t),addRowBefore:()=>(N3e(this.host),e=!0,t),addColumnAfter:()=>(P3e(this.host),e=!0,t),addColumnBefore:()=>(F3e(this.host),e=!0,t),removeRow:()=>(I3e(this.host),e=!0,t),removeColumn:()=>(L3e(this.host),e=!0,t),removeTable:()=>(R3e(this.host),e=!0,t),undo:()=>(this.history.undo(),t),redo:()=>(this.history.redo(),t),focus:()=>(this.host.focus(),t),run:()=>{e&&this.history.commit()}};return t}setContent(e){if(this.host.innerHTML=O3e(e,this.sanitizeOptions),this.host.firstElementChild===null&&(this.host.textContent??``)===``){let e=document.createElement(`p`);e.appendChild(document.createElement(`br`)),this.host.appendChild(e)}this.previews.sync(),this.history.reset(M9(this.host))}destroy(){this.previews.destroy()}};function H3e(e){let t=P9(e);if(!t||!t.collapsed)return{applied:!1};let n=t.startContainer;if(n.nodeType!==Node.TEXT_NODE)return{applied:!1};let r=n.data,i=r.slice(0,t.startOffset),a=U3e(n,e);if(!a||a.firstChild!==n||i!==r&&r.slice(t.startOffset).replace(/[\s]/g,``)!==``)return{applied:!1};let o=i.match(/^(#{1,3}) $/);if(o){let t=o[1].length;return W3e(a,`h${t}`,e),{applied:!0}}return i===`- `||i===`* `?(G3e(a,`ul`,e),{applied:!0}):/^\d+\.\s$/.test(i)?(G3e(a,`ol`,e),{applied:!0}):i===`> `?(W3e(a,`blockquote`,e),{applied:!0}):i==="```"?(K3e(a,e),{applied:!0}):{applied:!1}}function U3e(e,t){let n=[`p`,`div`,`h1`,`h2`,`h3`,`blockquote`,`pre`,`li`],r=e;for(;r&&r!==t;){if(r instanceof HTMLElement&&n.includes(r.tagName.toLowerCase()))return r;r=r.parentNode}return null}function W3e(e,t,n){let r=document.createElement(t);r.appendChild(document.createElement(`br`)),e.replaceWith(r),K9(r),n.dispatchEvent(new InputEvent(`input`,{bubbles:!0}))}function G3e(e,t,n){let r=document.createElement(t),i=document.createElement(`li`);i.appendChild(document.createElement(`br`)),r.appendChild(i),e.replaceWith(r),K9(i),n.dispatchEvent(new InputEvent(`input`,{bubbles:!0}))}function K3e(e,t){let n=document.createElement(`pre`),r=document.createElement(`code`);r.appendChild(document.createTextNode(``)),n.appendChild(r),e.replaceWith(n),K9(r),t.dispatchEvent(new InputEvent(`input`,{bubbles:!0}))}function K9(e){let t=document.createRange();t.setStart(e,0),t.collapse(!0);let n=window.getSelection();n&&(n.removeAllRanges(),n.addRange(t))}var q9=/^-?\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,J9=/^(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|`(?:\\.|[^`\\])*`)/,Y9={js:[{type:`comment`,pattern:/^\/\/.*|^\/\*[\s\S]*?\*\//},{type:`string`,pattern:J9},{type:`keyword`,pattern:/^(?:const|let|var|function|class|extends|implements|interface|type|return|if|else|for|while|do|switch|case|break|continue|throw|try|catch|finally|new|this|super|import|export|from|as|default|typeof|instanceof|in|of|async|await|yield|true|false|null|undefined|void)\b/},{type:`function`,pattern:/^[a-zA-Z_$][\w$]*(?=\s*\()/},{type:`number`,pattern:q9},{type:`punct`,pattern:/^[{}()[\];,.+\-*/%<>=!&|^~?:]/}],ts:[],php:[{type:`comment`,pattern:/^\/\/.*|^#.*|^\/\*[\s\S]*?\*\//},{type:`string`,pattern:J9},{type:`keyword`,pattern:/^(?:abstract|class|interface|trait|extends|implements|public|protected|private|static|final|function|return|if|else|elseif|for|foreach|while|do|switch|case|break|continue|throw|try|catch|finally|new|self|this|parent|use|namespace|as|true|false|null|echo|print|require|include|require_once|include_once|fn)\b/},{type:`attr`,pattern:/^\$[a-zA-Z_][\w]*/},{type:`function`,pattern:/^[a-zA-Z_][\w]*(?=\s*\()/},{type:`number`,pattern:q9},{type:`punct`,pattern:/^[{}()[\];,.+\-*/%<>=!&|^~?:]/}],html:[{type:`comment`,pattern:/^<!--[\s\S]*?-->/},{type:`string`,pattern:J9},{type:`tag`,pattern:/^<\/?[a-zA-Z][\w-]*/},{type:`attr`,pattern:/^[a-zA-Z-][\w-]*(?==)/},{type:`punct`,pattern:/^[<>=/]/}],css:[{type:`comment`,pattern:/^\/\*[\s\S]*?\*\//},{type:`string`,pattern:J9},{type:`attr`,pattern:/^[a-z-][\w-]*(?=\s*:)/},{type:`keyword`,pattern:/^@[a-z-]+/},{type:`number`,pattern:/^-?\d+(?:\.\d+)?(?:px|em|rem|%|vh|vw|s|ms|deg)?\b/},{type:`punct`,pattern:/^[{};:]/}],json:[{type:`string`,pattern:J9},{type:`keyword`,pattern:/^(?:true|false|null)\b/},{type:`number`,pattern:q9},{type:`punct`,pattern:/^[{}[\]:,]/}]};Y9.ts=Y9.js,Y9.tsx=Y9.js,Y9.jsx=Y9.js;function q3e(e,t){let n=Y9[(t??``).toLowerCase()];if(!n)return X9(e);let r=``,i=0;for(;i<e.length;){let t=e.slice(i),a=t.match(/^\s+/);if(a){r+=X9(a[0]),i+=a[0].length;continue}let o=null;for(let e of n){let n=t.match(e.pattern);if(n){o={type:e.type,len:n[0].length};break}}if(o){let e=t.slice(0,o.len);r+=`<span class="dsk-tok-${o.type}">${X9(e)}</span>`,i+=o.len}else{let e=t.match(/^[a-zA-Z_$][\w$]*/);e?(r+=X9(e[0]),i+=e[0].length):(r+=X9(t[0]),i++)}}return r}function X9(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}var J3e=new Set(`p.div.h1.h2.h3.h4.h5.h6.ul.ol.li.blockquote.pre.hr.table.thead.tbody.tr.th.td.figure.figcaption.section.article.header.footer.nav.main.aside`.split(`.`)),Y3e=new Set([`br`,`hr`,`img`,`input`,`meta`,`link`]),X3e=new Set([`pre`,`code`,`script`,`style`,`textarea`]);function Z9(e){return J3e.has(e.tagName.toLowerCase())}function Q9(e,t,n){if(e.nodeType===Node.TEXT_NODE)return e.data;if(!(e instanceof Element))return``;let r=e.tagName.toLowerCase(),i=Z9(e),a=n||X3e.has(r),o=` `.repeat(t),s=`<${r}`;for(let t of Array.from(e.attributes))s+=` ${t.name}="${Z3e(t.value)}"`;if(Y3e.has(r))return i&&!n?`
|
|
209
209
|
${o}${s}>`:`${s}>`;s+=`>`;let c=`</${r}>`;if(a){let t=``;for(let n of Array.from(e.childNodes))t+=Q9(n,0,!0);return i&&!n?`
|
|
210
210
|
${o}${s}${t}${c}`:`${s}${t}${c}`}let l=Array.from(e.children).some(Z9);if(i&&!l){let t=``;for(let n of Array.from(e.childNodes))t+=Q9(n,0,!1);return`
|
|
211
211
|
${o}${s}${t}${c}`}if(i){let n=``;for(let r of Array.from(e.childNodes))n+=Q9(r,t+1,!1);return`
|
|
212
212
|
${o}${s}${n}
|
|
213
|
-
${o}${c}`}let u=``;for(let n of Array.from(e.childNodes))u+=Q9(n,t,!1);return`${s}${u}${c}`}function
|
|
213
|
+
${o}${c}`}let u=``;for(let n of Array.from(e.childNodes))u+=Q9(n,t,!1);return`${s}${u}${c}`}function Z3e(e){return e.replace(/"/g,`"`)}function Q3e(e){if(typeof DOMParser>`u`)return e;let t=new DOMParser().parseFromString(`<div id="__beautify-root">${e}</div>`,`text/html`).getElementById(`__beautify-root`);if(!t)return e;let n=``;for(let e of Array.from(t.childNodes))n+=Q9(e,0,!1);return n.replace(/^\n+/,``).replace(/\n{3,}/g,`
|
|
214
214
|
|
|
215
|
-
`)}function Y3e(e){if(typeof DOMParser>`u`)return e;let t=new DOMParser().parseFromString(`<div id="__minify-root">${e}</div>`,`text/html`).getElementById(`__minify-root`);return t?(X3e(t),t.innerHTML):e}function X3e(e){if(K3e.has(e.tagName.toLowerCase()))return;let t=Array.from(e.childNodes);for(let e of t)if(e.nodeType===Node.TEXT_NODE){let t=e.data;if(/^\s+$/.test(t)){let t=e.previousSibling,n=e.nextSibling,r=t===null||t instanceof Element&&Z9(t),i=n===null||n instanceof Element&&Z9(n);(r&&i||r&&n===null||t===null&&i)&&e.remove()}}else e instanceof Element&&X3e(e)}var Z3e={placeholder:`Start typing…`,toolbar:{label:`Editor`,bold:`Bold (⌘B)`,italic:`Italic (⌘I)`,underline:`Underline (⌘U)`,strike:`Strikethrough`,code:`Inline code`,h1:`Heading 1`,h2:`Heading 2`,h3:`Heading 3`,paragraph:`Paragraph`,bulletList:`Bulleted list`,orderedList:`Numbered list`,blockquote:`Quote`,codeBlock:`Code block`,link:`Link`,image:`Image`,horizontalRule:`Horizontal rule`,table:`Insert a 3×3 table`,undo:`Undo (⌘Z)`,redo:`Redo (⌘⇧Z)`,source:`Source code (HTML)`,sourceBack:`Back to the editor`,fullscreen:`Fullscreen`,fullscreenExit:`Exit fullscreen (Esc)`,linkPrompt:`Link URL`},slash:{h1:`Heading 1`,h1Hint:`Large heading`,h2:`Heading 2`,h2Hint:`Medium heading`,h3:`Heading 3`,h3Hint:`Small heading`,paragraph:`Paragraph`,paragraphHint:`Plain text`,bulletList:`Bulleted list`,orderedList:`Numbered list`,blockquote:`Quote`,codeBlock:`Code block`,horizontalRule:`Horizontal rule`,table:`Table 3×3`}},Q3e={en:Z3e,ru:{placeholder:`Введите текст…`,toolbar:{label:`Редактор`,bold:`Жирный (⌘B)`,italic:`Курсив (⌘I)`,underline:`Подчёркнутый (⌘U)`,strike:`Зачёркнутый`,code:`Код в строке`,h1:`Заголовок 1`,h2:`Заголовок 2`,h3:`Заголовок 3`,paragraph:`Параграф`,bulletList:`Маркированный список`,orderedList:`Нумерованный список`,blockquote:`Цитата`,codeBlock:`Блок кода`,link:`Ссылка`,image:`Изображение`,horizontalRule:`Горизонтальная линия`,table:`Вставить таблицу 3×3`,undo:`Отменить (⌘Z)`,redo:`Повторить (⌘⇧Z)`,source:`Исходный код (HTML)`,sourceBack:`Назад в редактор`,fullscreen:`Во весь экран`,fullscreenExit:`Выйти из полноэкранного режима (Esc)`,linkPrompt:`URL ссылки`},slash:{h1:`Заголовок 1`,h1Hint:`Большой заголовок`,h2:`Заголовок 2`,h2Hint:`Средний заголовок`,h3:`Заголовок 3`,h3Hint:`Малый заголовок`,paragraph:`Параграф`,paragraphHint:`Обычный текст`,bulletList:`Маркированный список`,orderedList:`Нумерованный список`,blockquote:`Цитата`,codeBlock:`Блок кода`,horizontalRule:`Горизонтальная линия`,table:`Таблица 3×3`}}};function $3e(e){return typeof e==`string`&&/^ru(?:$|[-_])/i.test(e)?`ru`:`en`}function e6e(e,t){let n=Q3e[e]??Z3e;return t?{placeholder:t.placeholder??n.placeholder,toolbar:{...n.toolbar,...t6e(t.toolbar)},slash:{...n.slash,...t6e(t.slash)}}:n}function t6e(e){if(!e)return{};let t={};for(let n of Object.keys(e))e[n]!==void 0&&(t[n]=e[n]);return t}function n6e(e){let t={name:`DskWysiwygKitLocaleProbe`,render:()=>null};return ste({loader:async()=>{try{let n=await Promise.resolve().then(()=>(k_(),Cie));if(typeof n.useLocale!=`function`)return t;let r=n.useLocale;return{name:`DskWysiwygKitLocaleProbe`,setup(){return e.value=r(),()=>null}}}catch{return t}},errorComponent:t})}function $9(e){let t=rn(null),n=n6e(t),r=J(()=>!e.locale),i=J(()=>e.locale===`en`||e.locale===`ru`?e.locale:$3e(t.value?.value?.code));return{locale:i,labels:J(()=>e6e(i.value,e.labels)),KitLocaleProbe:n,probeKit:r}}var r6e=[`aria-label`],i6e={key:0,class:`dsk-wysiwyg-toolbar__divider`},a6e=[`disabled`,`title`],o6e={key:1},s6e=[`disabled`,`title`],c6e={key:1},l6e=[`disabled`,`title`],u6e={key:1},d6e=[`disabled`,`title`],f6e={key:1},p6e=[`disabled`,`title`],m6e={key:1},h6e=[`disabled`,`title`],g6e={key:1},_6e=[`disabled`,`title`],v6e={key:1},y6e=[`disabled`,`title`],b6e={key:1},x6e=[`disabled`,`title`],S6e={key:1},C6e=[`disabled`,`title`],w6e={key:1},T6e=[`disabled`,`title`],E6e={key:1},D6e=[`disabled`,`title`],O6e={key:1},k6e=[`disabled`,`title`],A6e={key:1},j6e=[`disabled`,`title`],M6e={key:1},N6e=[`disabled`,`title`],P6e={key:1},F6e=[`disabled`,`title`],I6e={key:1},L6e=[`disabled`,`title`],R6e={key:1},z6e=[`disabled`,`title`],B6e={key:1},V6e=[`disabled`,`title`],H6e={key:1},U6e=[`disabled`,`title`],W6e={key:1},G6e=[`title`,`aria-pressed`],K6e={key:1},q6e=L({__name:`DskWysiwygToolbar`,props:{controller:{},items:{default:()=>`bold.italic.underline.strike.code.|.h1.h2.h3.paragraph.|.bullet-list.ordered-list.blockquote.code-block.|.link.image.|.horizontal-rule.table.|.undo.redo.|.source.fullscreen`.split(`.`)},disabled:{type:Boolean,default:!1},selectionVersion:{default:0},sourceActive:{type:Boolean,default:!1},fullscreenActive:{type:Boolean,default:!1},locale:{default:void 0},labels:{default:void 0}},emits:[`image-request`,`link-request`,`toggle-source`,`toggle-fullscreen`],setup(e,{emit:t}){let n=e,{labels:r,KitLocaleProbe:i,probeKit:a}=$9(n),o=t,s=ste({loader:async()=>{try{return(await Promise.resolve().then(()=>(k_(),Cie))).UidIcon}catch{return{setup:()=>()=>null}}},errorComponent:{setup:()=>()=>null}}),c=N({});async function l(){try{let e=await Promise.resolve().then(()=>($Ue(),QUe));c.value={Bold:e.Bold,Italic:e.Italic,Underline:e.Underline,Strikethrough:e.Strikethrough,Code:e.Code,Heading1:e.Heading1,Heading2:e.Heading2,Heading3:e.Heading3,Pilcrow:e.Pilcrow,List:e.List,ListOrdered:e.ListOrdered,Quote:e.Quote,Code2:e.Code2,Link2:e.Link2,Image:e.Image,Minus:e.Minus,Table:e.Table,Undo:e.Undo,Redo:e.Redo,FileCode:e.FileCode2??e.FileCode,Maximize:e.Maximize2,Minimize:e.Minimize2}}catch{c.value={}}}l();let u=J(()=>!!n.controller);I(()=>n.selectionVersion,()=>{});function d(e,t){return n.selectionVersion,n.controller?n.controller.isActive(e,t):!1}function f(e){n.disabled||!n.controller||e()}function p(){if(!n.controller)return;let e=window.getSelection()?.getRangeAt(0),t=null;if(e){let n=e.startContainer;for(;n;){if(n instanceof HTMLAnchorElement){t=n.getAttribute(`href`);break}n=n.parentNode}}o(`link-request`,t);let i=window.prompt(r.value.toolbar.linkPrompt,t??`https://`);i!==null&&n.controller.chain().focus().setLink(i===``?null:i).run()}function m(){o(`image-request`)}return(t,n)=>(B(),V(`div`,{class:`dsk-wysiwyg-toolbar`,role:`toolbar`,"aria-label":P(r).toolbar.label},[P(a)?(B(),H(xr(P(i)),{key:0})):G(``,!0),(B(!0),V(K,null,R(e.items,(t,i)=>(B(),V(K,{key:`tb-${i}`},[t===`|`?(B(),V(`span`,i6e)):t===`bold`?(B(),V(`button`,{key:1,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`bold`)}]),title:P(r).toolbar.bold,onClick:n[0]||=t=>f(()=>e.controller?.chain().focus().bold().run())},[c.value.Bold?(B(),H(xr(P(s)),{key:0,icon:c.value.Bold,size:14},null,8,[`icon`])):(B(),V(`strong`,o6e,`B`))],10,a6e)):t===`italic`?(B(),V(`button`,{key:2,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`italic`)}]),title:P(r).toolbar.italic,onClick:n[1]||=t=>f(()=>e.controller?.chain().focus().italic().run())},[c.value.Italic?(B(),H(xr(P(s)),{key:0,icon:c.value.Italic,size:14},null,8,[`icon`])):(B(),V(`em`,c6e,`I`))],10,s6e)):t===`underline`?(B(),V(`button`,{key:3,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`underline`)}]),title:P(r).toolbar.underline,onClick:n[2]||=t=>f(()=>e.controller?.chain().focus().underline().run())},[c.value.Underline?(B(),H(xr(P(s)),{key:0,icon:c.value.Underline,size:14},null,8,[`icon`])):(B(),V(`u`,u6e,`U`))],10,l6e)):t===`strike`?(B(),V(`button`,{key:4,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`strike`)}]),title:P(r).toolbar.strike,onClick:n[3]||=t=>f(()=>e.controller?.chain().focus().strike().run())},[c.value.Strikethrough?(B(),H(xr(P(s)),{key:0,icon:c.value.Strikethrough,size:14},null,8,[`icon`])):(B(),V(`s`,f6e,`S`))],10,d6e)):t===`code`?(B(),V(`button`,{key:5,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`code`)}]),title:P(r).toolbar.code,onClick:n[4]||=t=>f(()=>e.controller?.chain().focus().code().run())},[c.value.Code?(B(),H(xr(P(s)),{key:0,icon:c.value.Code,size:14},null,8,[`icon`])):(B(),V(`code`,m6e,`</>`))],10,p6e)):t===`h1`?(B(),V(`button`,{key:6,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`heading`,{level:1})}]),title:P(r).toolbar.h1,onClick:n[5]||=t=>f(()=>e.controller?.chain().focus().heading(1).run())},[c.value.Heading1?(B(),H(xr(P(s)),{key:0,icon:c.value.Heading1,size:14},null,8,[`icon`])):(B(),V(`span`,g6e,`H1`))],10,h6e)):t===`h2`?(B(),V(`button`,{key:7,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`heading`,{level:2})}]),title:P(r).toolbar.h2,onClick:n[6]||=t=>f(()=>e.controller?.chain().focus().heading(2).run())},[c.value.Heading2?(B(),H(xr(P(s)),{key:0,icon:c.value.Heading2,size:14},null,8,[`icon`])):(B(),V(`span`,v6e,`H2`))],10,_6e)):t===`h3`?(B(),V(`button`,{key:8,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`heading`,{level:3})}]),title:P(r).toolbar.h3,onClick:n[7]||=t=>f(()=>e.controller?.chain().focus().heading(3).run())},[c.value.Heading3?(B(),H(xr(P(s)),{key:0,icon:c.value.Heading3,size:14},null,8,[`icon`])):(B(),V(`span`,b6e,`H3`))],10,y6e)):t===`paragraph`?(B(),V(`button`,{key:9,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`paragraph`)}]),title:P(r).toolbar.paragraph,onClick:n[8]||=t=>f(()=>e.controller?.chain().focus().paragraph().run())},[c.value.Pilcrow?(B(),H(xr(P(s)),{key:0,icon:c.value.Pilcrow,size:14},null,8,[`icon`])):(B(),V(`span`,S6e,`¶`))],10,x6e)):t===`bullet-list`?(B(),V(`button`,{key:10,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`bulletList`)}]),title:P(r).toolbar.bulletList,onClick:n[9]||=t=>f(()=>e.controller?.chain().focus().bulletList().run())},[c.value.List?(B(),H(xr(P(s)),{key:0,icon:c.value.List,size:14},null,8,[`icon`])):(B(),V(`span`,w6e,`•`))],10,C6e)):t===`ordered-list`?(B(),V(`button`,{key:11,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`orderedList`)}]),title:P(r).toolbar.orderedList,onClick:n[10]||=t=>f(()=>e.controller?.chain().focus().orderedList().run())},[c.value.ListOrdered?(B(),H(xr(P(s)),{key:0,icon:c.value.ListOrdered,size:14},null,8,[`icon`])):(B(),V(`span`,E6e,`1.`))],10,T6e)):t===`blockquote`?(B(),V(`button`,{key:12,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`blockquote`)}]),title:P(r).toolbar.blockquote,onClick:n[11]||=t=>f(()=>e.controller?.chain().focus().blockquote().run())},[c.value.Quote?(B(),H(xr(P(s)),{key:0,icon:c.value.Quote,size:14},null,8,[`icon`])):(B(),V(`span`,O6e,`“”`))],10,D6e)):t===`code-block`?(B(),V(`button`,{key:13,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`codeBlock`)}]),title:P(r).toolbar.codeBlock,onClick:n[12]||=t=>f(()=>e.controller?.chain().focus().codeBlock().run())},[c.value.Code2?(B(),H(xr(P(s)),{key:0,icon:c.value.Code2,size:14},null,8,[`icon`])):(B(),V(`span`,A6e,`{ }`))],10,k6e)):t===`link`?(B(),V(`button`,{key:14,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`link`)}]),title:P(r).toolbar.link,onClick:p},[c.value.Link2?(B(),H(xr(P(s)),{key:0,icon:c.value.Link2,size:14},null,8,[`icon`])):(B(),V(`span`,M6e,`🔗`))],10,j6e)):t===`image`?(B(),V(`button`,{key:15,type:`button`,disabled:e.disabled||!u.value,class:`dsk-wysiwyg-toolbar__btn`,title:P(r).toolbar.image,onClick:m},[c.value.Image?(B(),H(xr(P(s)),{key:0,icon:c.value.Image,size:14},null,8,[`icon`])):(B(),V(`span`,P6e,`🖼`))],8,N6e)):t===`horizontal-rule`?(B(),V(`button`,{key:16,type:`button`,disabled:e.disabled||!u.value,class:`dsk-wysiwyg-toolbar__btn`,title:P(r).toolbar.horizontalRule,onClick:n[13]||=t=>f(()=>e.controller?.chain().focus().horizontalRule().run())},[c.value.Minus?(B(),H(xr(P(s)),{key:0,icon:c.value.Minus,size:14},null,8,[`icon`])):(B(),V(`span`,I6e,`—`))],8,F6e)):t===`table`?(B(),V(`button`,{key:17,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`table`)}]),title:P(r).toolbar.table,onClick:n[14]||=t=>f(()=>d(`table`)?e.controller?.chain().focus().addRowAfter().run():e.controller?.chain().focus().insertTable(3,3).run())},[c.value.Table?(B(),H(xr(P(s)),{key:0,icon:c.value.Table,size:14},null,8,[`icon`])):(B(),V(`span`,R6e,`▦`))],10,L6e)):t===`undo`?(B(),V(`button`,{key:18,type:`button`,disabled:e.disabled||!u.value||!e.controller?.canUndo(),class:`dsk-wysiwyg-toolbar__btn`,title:P(r).toolbar.undo,onClick:n[15]||=t=>f(()=>e.controller?.chain().undo().run())},[c.value.Undo?(B(),H(xr(P(s)),{key:0,icon:c.value.Undo,size:14},null,8,[`icon`])):(B(),V(`span`,B6e,`↶`))],8,z6e)):t===`redo`?(B(),V(`button`,{key:19,type:`button`,disabled:e.disabled||!u.value||!e.controller?.canRedo(),class:`dsk-wysiwyg-toolbar__btn`,title:P(r).toolbar.redo,onClick:n[16]||=t=>f(()=>e.controller?.chain().redo().run())},[c.value.Redo?(B(),H(xr(P(s)),{key:0,icon:c.value.Redo,size:14},null,8,[`icon`])):(B(),V(`span`,H6e,`↷`))],8,V6e)):t===`source`?(B(),V(`button`,{key:20,type:`button`,disabled:e.disabled,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":e.sourceActive}]),title:e.sourceActive?P(r).toolbar.sourceBack:P(r).toolbar.source,onClick:n[17]||=e=>o(`toggle-source`)},[c.value.FileCode?(B(),H(xr(P(s)),{key:0,icon:c.value.FileCode,size:14},null,8,[`icon`])):(B(),V(`span`,W6e,`</>`))],10,U6e)):t===`fullscreen`?(B(),V(`button`,{key:21,type:`button`,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":e.fullscreenActive}]),title:e.fullscreenActive?P(r).toolbar.fullscreenExit:P(r).toolbar.fullscreen,"aria-pressed":e.fullscreenActive,onClick:n[18]||=e=>o(`toggle-fullscreen`)},[(e.fullscreenActive?c.value.Minimize:c.value.Maximize)?(B(),H(xr(P(s)),{key:0,icon:e.fullscreenActive?c.value.Minimize:c.value.Maximize,size:14},null,8,[`icon`])):(B(),V(`span`,K6e,M(e.fullscreenActive?`⤡`:`⤢`),1))],10,G6e)):G(``,!0)],64))),128))],8,r6e))}}),J6e=[`aria-selected`,`onMousedown`,`onMouseenter`],Y6e={class:`dsk-wysiwyg-slash__label`},X6e={key:0,class:`dsk-wysiwyg-slash__hint`},Z6e=L({__name:`DskWysiwygSlashMenu`,props:{open:{type:Boolean},controller:{},query:{},top:{},left:{},extra:{},locale:{},labels:{}},emits:[`select`,`close`],setup(e,{expose:t,emit:n}){let r=e,i=n;function a(e){return[{key:`h1`,label:e.h1,hint:e.h1Hint,aliases:[`h1`,`heading1`,`title`],apply:e=>e.chain().focus().heading(1).run()},{key:`h2`,label:e.h2,hint:e.h2Hint,aliases:[`h2`,`heading2`],apply:e=>e.chain().focus().heading(2).run()},{key:`h3`,label:e.h3,hint:e.h3Hint,aliases:[`h3`,`heading3`],apply:e=>e.chain().focus().heading(3).run()},{key:`paragraph`,label:e.paragraph,hint:e.paragraphHint,aliases:[`p`,`text`,`paragraph`],apply:e=>e.chain().focus().paragraph().run()},{key:`ul`,label:e.bulletList,aliases:[`ul`,`bullet`,`list`],apply:e=>e.chain().focus().bulletList().run()},{key:`ol`,label:e.orderedList,aliases:[`ol`,`numbered`,`ordered`],apply:e=>e.chain().focus().orderedList().run()},{key:`quote`,label:e.blockquote,aliases:[`quote`,`blockquote`],apply:e=>e.chain().focus().blockquote().run()},{key:`code`,label:e.codeBlock,aliases:[`code`,`codeblock`,`pre`],apply:e=>e.chain().focus().codeBlock().run()},{key:`hr`,label:e.horizontalRule,aliases:[`hr`,`divider`,`rule`],apply:e=>e.chain().focus().horizontalRule().run()},{key:`table`,label:e.table,aliases:[`table`],apply:e=>e.chain().focus().insertTable(3,3).run()}]}let{labels:o,KitLocaleProbe:s,probeKit:c}=$9(r),l=J(()=>a(o.value.slash)),u=J(()=>{let e=r.extra?.length?[...l.value,...r.extra]:l.value,t=r.query.toLowerCase().trim();return t===``?e:e.filter(e=>e.label.toLowerCase().includes(t)||e.aliases?.some(e=>e.includes(t)))}),d=N(0);I(()=>r.query,()=>{d.value=0}),I(()=>r.open,e=>{e&&(d.value=0)});function f(){u.value.length!==0&&(d.value=(d.value+1)%u.value.length)}function p(){u.value.length!==0&&(d.value=(d.value-1+u.value.length)%u.value.length)}function m(){let e=u.value[d.value];e&&i(`select`,e)}function h(e){let t=u.value[e];t&&i(`select`,t)}return t({moveDown:f,moveUp:p,selectActive:m,hasItems:()=>u.value.length>0}),(t,n)=>(B(),V(K,null,[P(c)?(B(),H(xr(P(s)),{key:0})):G(``,!0),(B(),H(Si,{to:`body`},[e.open&&u.value.length>0?(B(),V(`div`,{key:0,class:`dsk-wysiwyg-slash`,style:Ie({top:`${e.top}px`,left:`${e.left}px`}),role:`listbox`},[(B(!0),V(K,null,R(u.value,(e,t)=>(B(),V(`button`,{key:e.key,type:`button`,class:j([`dsk-wysiwyg-slash__item`,{"is-active":t===d.value}]),role:`option`,"aria-selected":t===d.value,onMousedown:Do(e=>h(t),[`prevent`]),onMouseenter:e=>d.value=t},[U(`span`,Y6e,M(e.label),1),e.hint?(B(),V(`span`,X6e,M(e.hint),1)):G(``,!0)],42,J6e))),128))],4)):G(``,!0)]))],64))}}),Q6e={key:2,class:`dsk-wysiwyg__source-wrap`},$6e=[`innerHTML`],e8e=[`value`,`placeholder`],t8e=[`contenteditable`,`data-placeholder`],n8e=L({__name:`DskWysiwyg`,props:{modelValue:{default:``},placeholder:{default:void 0},toolbar:{type:Boolean,default:!0},toolbarItems:{default:void 0},readonly:{type:Boolean,default:!1},minHeight:{default:`200px`},maxHeight:{default:void 0},resizable:{type:Boolean,default:!0},allowedAttributes:{default:()=>({})},blockRenderers:{default:()=>({})},slashCommands:{default:()=>[]},locale:{default:void 0},labels:{default:void 0}},emits:[`update:modelValue`,`image-request`,`link-request`,`ready`,`fullscreen-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,{locale:a,labels:o,KitLocaleProbe:s,probeKit:c}=$9(r),l=J(()=>r.placeholder??o.value.placeholder),u=N(null),d=N(null),f=N(!1),p=N(``),m=N(null),h=J(()=>U3e(p.value+`
|
|
216
|
-
`,`html`));function g(e){let t=e.target;m.value&&(m.value.scrollTop=t.scrollTop,m.value.scrollLeft=t.scrollLeft)}let _=N(!1),v=N(``),y=N(0),b=N(0),x=null,S=rn(null),C=N(0),w=N(!0),T=null;Mi(()=>{if(!u.value)return;try{document.execCommand(`defaultParagraphSeparator`,!1,`p`)}catch{}let e=new
|
|
215
|
+
`)}function $3e(e){if(typeof DOMParser>`u`)return e;let t=new DOMParser().parseFromString(`<div id="__minify-root">${e}</div>`,`text/html`).getElementById(`__minify-root`);return t?(e6e(t),t.innerHTML):e}function e6e(e){if(X3e.has(e.tagName.toLowerCase()))return;let t=Array.from(e.childNodes);for(let e of t)if(e.nodeType===Node.TEXT_NODE){let t=e.data;if(/^\s+$/.test(t)){let t=e.previousSibling,n=e.nextSibling,r=t===null||t instanceof Element&&Z9(t),i=n===null||n instanceof Element&&Z9(n);(r&&i||r&&n===null||t===null&&i)&&e.remove()}}else e instanceof Element&&e6e(e)}var t6e={placeholder:`Start typing…`,toolbar:{label:`Editor`,bold:`Bold (⌘B)`,italic:`Italic (⌘I)`,underline:`Underline (⌘U)`,strike:`Strikethrough`,code:`Inline code`,h1:`Heading 1`,h2:`Heading 2`,h3:`Heading 3`,paragraph:`Paragraph`,bulletList:`Bulleted list`,orderedList:`Numbered list`,blockquote:`Quote`,codeBlock:`Code block`,link:`Link`,image:`Image`,horizontalRule:`Horizontal rule`,table:`Insert a 3×3 table`,undo:`Undo (⌘Z)`,redo:`Redo (⌘⇧Z)`,source:`Source code (HTML)`,sourceBack:`Back to the editor`,fullscreen:`Fullscreen`,fullscreenExit:`Exit fullscreen (Esc)`,linkPrompt:`Link URL`},slash:{h1:`Heading 1`,h1Hint:`Large heading`,h2:`Heading 2`,h2Hint:`Medium heading`,h3:`Heading 3`,h3Hint:`Small heading`,paragraph:`Paragraph`,paragraphHint:`Plain text`,bulletList:`Bulleted list`,orderedList:`Numbered list`,blockquote:`Quote`,codeBlock:`Code block`,horizontalRule:`Horizontal rule`,table:`Table 3×3`}},n6e={en:t6e,ru:{placeholder:`Введите текст…`,toolbar:{label:`Редактор`,bold:`Жирный (⌘B)`,italic:`Курсив (⌘I)`,underline:`Подчёркнутый (⌘U)`,strike:`Зачёркнутый`,code:`Код в строке`,h1:`Заголовок 1`,h2:`Заголовок 2`,h3:`Заголовок 3`,paragraph:`Параграф`,bulletList:`Маркированный список`,orderedList:`Нумерованный список`,blockquote:`Цитата`,codeBlock:`Блок кода`,link:`Ссылка`,image:`Изображение`,horizontalRule:`Горизонтальная линия`,table:`Вставить таблицу 3×3`,undo:`Отменить (⌘Z)`,redo:`Повторить (⌘⇧Z)`,source:`Исходный код (HTML)`,sourceBack:`Назад в редактор`,fullscreen:`Во весь экран`,fullscreenExit:`Выйти из полноэкранного режима (Esc)`,linkPrompt:`URL ссылки`},slash:{h1:`Заголовок 1`,h1Hint:`Большой заголовок`,h2:`Заголовок 2`,h2Hint:`Средний заголовок`,h3:`Заголовок 3`,h3Hint:`Малый заголовок`,paragraph:`Параграф`,paragraphHint:`Обычный текст`,bulletList:`Маркированный список`,orderedList:`Нумерованный список`,blockquote:`Цитата`,codeBlock:`Блок кода`,horizontalRule:`Горизонтальная линия`,table:`Таблица 3×3`}}};function r6e(e){return typeof e==`string`&&/^ru(?:$|[-_])/i.test(e)?`ru`:`en`}function i6e(e,t){let n=n6e[e]??t6e;return t?{placeholder:t.placeholder??n.placeholder,toolbar:{...n.toolbar,...a6e(t.toolbar)},slash:{...n.slash,...a6e(t.slash)}}:n}function a6e(e){if(!e)return{};let t={};for(let n of Object.keys(e))e[n]!==void 0&&(t[n]=e[n]);return t}function o6e(e){let t={name:`DskWysiwygKitLocaleProbe`,render:()=>null};return ste({loader:async()=>{try{let n=await Promise.resolve().then(()=>(k_(),Cie));if(typeof n.useLocale!=`function`)return t;let r=n.useLocale;return{name:`DskWysiwygKitLocaleProbe`,setup(){return e.value=r(),()=>null}}}catch{return t}},errorComponent:t})}function $9(e){let t=rn(null),n=o6e(t),r=J(()=>!e.locale),i=J(()=>e.locale===`en`||e.locale===`ru`?e.locale:r6e(t.value?.value?.code));return{locale:i,labels:J(()=>i6e(i.value,e.labels)),KitLocaleProbe:n,probeKit:r}}var s6e=[`aria-label`],c6e={key:0,class:`dsk-wysiwyg-toolbar__divider`},l6e=[`disabled`,`title`],u6e={key:1},d6e=[`disabled`,`title`],f6e={key:1},p6e=[`disabled`,`title`],m6e={key:1},h6e=[`disabled`,`title`],g6e={key:1},_6e=[`disabled`,`title`],v6e={key:1},y6e=[`disabled`,`title`],b6e={key:1},x6e=[`disabled`,`title`],S6e={key:1},C6e=[`disabled`,`title`],w6e={key:1},T6e=[`disabled`,`title`],E6e={key:1},D6e=[`disabled`,`title`],O6e={key:1},k6e=[`disabled`,`title`],A6e={key:1},j6e=[`disabled`,`title`],M6e={key:1},N6e=[`disabled`,`title`],P6e={key:1},F6e=[`disabled`,`title`],I6e={key:1},L6e=[`disabled`,`title`],R6e={key:1},z6e=[`disabled`,`title`],B6e={key:1},V6e=[`disabled`,`title`],H6e={key:1},U6e=[`disabled`,`title`],W6e={key:1},G6e=[`disabled`,`title`],K6e={key:1},q6e=[`disabled`,`title`],J6e={key:1},Y6e=[`title`,`aria-pressed`],X6e={key:1},Z6e=L({__name:`DskWysiwygToolbar`,props:{controller:{},items:{default:()=>`bold.italic.underline.strike.code.|.h1.h2.h3.paragraph.|.bullet-list.ordered-list.blockquote.code-block.|.link.image.|.horizontal-rule.table.|.undo.redo.|.source.fullscreen`.split(`.`)},disabled:{type:Boolean,default:!1},selectionVersion:{default:0},sourceActive:{type:Boolean,default:!1},fullscreenActive:{type:Boolean,default:!1},locale:{default:void 0},labels:{default:void 0}},emits:[`image-request`,`link-request`,`toggle-source`,`toggle-fullscreen`],setup(e,{emit:t}){let n=e,{labels:r,KitLocaleProbe:i,probeKit:a}=$9(n),o=t,s=ste({loader:async()=>{try{return(await Promise.resolve().then(()=>(k_(),Cie))).UidIcon}catch{return{setup:()=>()=>null}}},errorComponent:{setup:()=>()=>null}}),c=N({});async function l(){try{let e=await Promise.resolve().then(()=>($Ue(),QUe));c.value={Bold:e.Bold,Italic:e.Italic,Underline:e.Underline,Strikethrough:e.Strikethrough,Code:e.Code,Heading1:e.Heading1,Heading2:e.Heading2,Heading3:e.Heading3,Pilcrow:e.Pilcrow,List:e.List,ListOrdered:e.ListOrdered,Quote:e.Quote,Code2:e.Code2,Link2:e.Link2,Image:e.Image,Minus:e.Minus,Table:e.Table,Undo:e.Undo,Redo:e.Redo,FileCode:e.FileCode2??e.FileCode,Maximize:e.Maximize2,Minimize:e.Minimize2}}catch{c.value={}}}l();let u=J(()=>!!n.controller);I(()=>n.selectionVersion,()=>{});function d(e,t){return n.selectionVersion,n.controller?n.controller.isActive(e,t):!1}function f(e){n.disabled||!n.controller||e()}function p(){if(!n.controller)return;let e=window.getSelection()?.getRangeAt(0),t=null;if(e){let n=e.startContainer;for(;n;){if(n instanceof HTMLAnchorElement){t=n.getAttribute(`href`);break}n=n.parentNode}}o(`link-request`,t);let i=window.prompt(r.value.toolbar.linkPrompt,t??`https://`);i!==null&&n.controller.chain().focus().setLink(i===``?null:i).run()}function m(){o(`image-request`)}return(t,n)=>(B(),V(`div`,{class:`dsk-wysiwyg-toolbar`,role:`toolbar`,"aria-label":P(r).toolbar.label},[P(a)?(B(),H(xr(P(i)),{key:0})):G(``,!0),(B(!0),V(K,null,R(e.items,(t,i)=>(B(),V(K,{key:`tb-${i}`},[t===`|`?(B(),V(`span`,c6e)):t===`bold`?(B(),V(`button`,{key:1,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`bold`)}]),title:P(r).toolbar.bold,onClick:n[0]||=t=>f(()=>e.controller?.chain().focus().bold().run())},[c.value.Bold?(B(),H(xr(P(s)),{key:0,icon:c.value.Bold,size:14},null,8,[`icon`])):(B(),V(`strong`,u6e,`B`))],10,l6e)):t===`italic`?(B(),V(`button`,{key:2,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`italic`)}]),title:P(r).toolbar.italic,onClick:n[1]||=t=>f(()=>e.controller?.chain().focus().italic().run())},[c.value.Italic?(B(),H(xr(P(s)),{key:0,icon:c.value.Italic,size:14},null,8,[`icon`])):(B(),V(`em`,f6e,`I`))],10,d6e)):t===`underline`?(B(),V(`button`,{key:3,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`underline`)}]),title:P(r).toolbar.underline,onClick:n[2]||=t=>f(()=>e.controller?.chain().focus().underline().run())},[c.value.Underline?(B(),H(xr(P(s)),{key:0,icon:c.value.Underline,size:14},null,8,[`icon`])):(B(),V(`u`,m6e,`U`))],10,p6e)):t===`strike`?(B(),V(`button`,{key:4,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`strike`)}]),title:P(r).toolbar.strike,onClick:n[3]||=t=>f(()=>e.controller?.chain().focus().strike().run())},[c.value.Strikethrough?(B(),H(xr(P(s)),{key:0,icon:c.value.Strikethrough,size:14},null,8,[`icon`])):(B(),V(`s`,g6e,`S`))],10,h6e)):t===`code`?(B(),V(`button`,{key:5,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`code`)}]),title:P(r).toolbar.code,onClick:n[4]||=t=>f(()=>e.controller?.chain().focus().code().run())},[c.value.Code?(B(),H(xr(P(s)),{key:0,icon:c.value.Code,size:14},null,8,[`icon`])):(B(),V(`code`,v6e,`</>`))],10,_6e)):t===`h1`?(B(),V(`button`,{key:6,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`heading`,{level:1})}]),title:P(r).toolbar.h1,onClick:n[5]||=t=>f(()=>e.controller?.chain().focus().heading(1).run())},[c.value.Heading1?(B(),H(xr(P(s)),{key:0,icon:c.value.Heading1,size:14},null,8,[`icon`])):(B(),V(`span`,b6e,`H1`))],10,y6e)):t===`h2`?(B(),V(`button`,{key:7,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`heading`,{level:2})}]),title:P(r).toolbar.h2,onClick:n[6]||=t=>f(()=>e.controller?.chain().focus().heading(2).run())},[c.value.Heading2?(B(),H(xr(P(s)),{key:0,icon:c.value.Heading2,size:14},null,8,[`icon`])):(B(),V(`span`,S6e,`H2`))],10,x6e)):t===`h3`?(B(),V(`button`,{key:8,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`heading`,{level:3})}]),title:P(r).toolbar.h3,onClick:n[7]||=t=>f(()=>e.controller?.chain().focus().heading(3).run())},[c.value.Heading3?(B(),H(xr(P(s)),{key:0,icon:c.value.Heading3,size:14},null,8,[`icon`])):(B(),V(`span`,w6e,`H3`))],10,C6e)):t===`paragraph`?(B(),V(`button`,{key:9,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`paragraph`)}]),title:P(r).toolbar.paragraph,onClick:n[8]||=t=>f(()=>e.controller?.chain().focus().paragraph().run())},[c.value.Pilcrow?(B(),H(xr(P(s)),{key:0,icon:c.value.Pilcrow,size:14},null,8,[`icon`])):(B(),V(`span`,E6e,`¶`))],10,T6e)):t===`bullet-list`?(B(),V(`button`,{key:10,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`bulletList`)}]),title:P(r).toolbar.bulletList,onClick:n[9]||=t=>f(()=>e.controller?.chain().focus().bulletList().run())},[c.value.List?(B(),H(xr(P(s)),{key:0,icon:c.value.List,size:14},null,8,[`icon`])):(B(),V(`span`,O6e,`•`))],10,D6e)):t===`ordered-list`?(B(),V(`button`,{key:11,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`orderedList`)}]),title:P(r).toolbar.orderedList,onClick:n[10]||=t=>f(()=>e.controller?.chain().focus().orderedList().run())},[c.value.ListOrdered?(B(),H(xr(P(s)),{key:0,icon:c.value.ListOrdered,size:14},null,8,[`icon`])):(B(),V(`span`,A6e,`1.`))],10,k6e)):t===`blockquote`?(B(),V(`button`,{key:12,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`blockquote`)}]),title:P(r).toolbar.blockquote,onClick:n[11]||=t=>f(()=>e.controller?.chain().focus().blockquote().run())},[c.value.Quote?(B(),H(xr(P(s)),{key:0,icon:c.value.Quote,size:14},null,8,[`icon`])):(B(),V(`span`,M6e,`“”`))],10,j6e)):t===`code-block`?(B(),V(`button`,{key:13,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`codeBlock`)}]),title:P(r).toolbar.codeBlock,onClick:n[12]||=t=>f(()=>e.controller?.chain().focus().codeBlock().run())},[c.value.Code2?(B(),H(xr(P(s)),{key:0,icon:c.value.Code2,size:14},null,8,[`icon`])):(B(),V(`span`,P6e,`{ }`))],10,N6e)):t===`link`?(B(),V(`button`,{key:14,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`link`)}]),title:P(r).toolbar.link,onClick:p},[c.value.Link2?(B(),H(xr(P(s)),{key:0,icon:c.value.Link2,size:14},null,8,[`icon`])):(B(),V(`span`,I6e,`🔗`))],10,F6e)):t===`image`?(B(),V(`button`,{key:15,type:`button`,disabled:e.disabled||!u.value,class:`dsk-wysiwyg-toolbar__btn`,title:P(r).toolbar.image,onClick:m},[c.value.Image?(B(),H(xr(P(s)),{key:0,icon:c.value.Image,size:14},null,8,[`icon`])):(B(),V(`span`,R6e,`🖼`))],8,L6e)):t===`horizontal-rule`?(B(),V(`button`,{key:16,type:`button`,disabled:e.disabled||!u.value,class:`dsk-wysiwyg-toolbar__btn`,title:P(r).toolbar.horizontalRule,onClick:n[13]||=t=>f(()=>e.controller?.chain().focus().horizontalRule().run())},[c.value.Minus?(B(),H(xr(P(s)),{key:0,icon:c.value.Minus,size:14},null,8,[`icon`])):(B(),V(`span`,B6e,`—`))],8,z6e)):t===`table`?(B(),V(`button`,{key:17,type:`button`,disabled:e.disabled||!u.value,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":d(`table`)}]),title:P(r).toolbar.table,onClick:n[14]||=t=>f(()=>d(`table`)?e.controller?.chain().focus().addRowAfter().run():e.controller?.chain().focus().insertTable(3,3).run())},[c.value.Table?(B(),H(xr(P(s)),{key:0,icon:c.value.Table,size:14},null,8,[`icon`])):(B(),V(`span`,H6e,`▦`))],10,V6e)):t===`undo`?(B(),V(`button`,{key:18,type:`button`,disabled:e.disabled||!u.value||!e.controller?.canUndo(),class:`dsk-wysiwyg-toolbar__btn`,title:P(r).toolbar.undo,onClick:n[15]||=t=>f(()=>e.controller?.chain().undo().run())},[c.value.Undo?(B(),H(xr(P(s)),{key:0,icon:c.value.Undo,size:14},null,8,[`icon`])):(B(),V(`span`,W6e,`↶`))],8,U6e)):t===`redo`?(B(),V(`button`,{key:19,type:`button`,disabled:e.disabled||!u.value||!e.controller?.canRedo(),class:`dsk-wysiwyg-toolbar__btn`,title:P(r).toolbar.redo,onClick:n[16]||=t=>f(()=>e.controller?.chain().redo().run())},[c.value.Redo?(B(),H(xr(P(s)),{key:0,icon:c.value.Redo,size:14},null,8,[`icon`])):(B(),V(`span`,K6e,`↷`))],8,G6e)):t===`source`?(B(),V(`button`,{key:20,type:`button`,disabled:e.disabled,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":e.sourceActive}]),title:e.sourceActive?P(r).toolbar.sourceBack:P(r).toolbar.source,onClick:n[17]||=e=>o(`toggle-source`)},[c.value.FileCode?(B(),H(xr(P(s)),{key:0,icon:c.value.FileCode,size:14},null,8,[`icon`])):(B(),V(`span`,J6e,`</>`))],10,q6e)):t===`fullscreen`?(B(),V(`button`,{key:21,type:`button`,class:j([`dsk-wysiwyg-toolbar__btn`,{"is-active":e.fullscreenActive}]),title:e.fullscreenActive?P(r).toolbar.fullscreenExit:P(r).toolbar.fullscreen,"aria-pressed":e.fullscreenActive,onClick:n[18]||=e=>o(`toggle-fullscreen`)},[(e.fullscreenActive?c.value.Minimize:c.value.Maximize)?(B(),H(xr(P(s)),{key:0,icon:e.fullscreenActive?c.value.Minimize:c.value.Maximize,size:14},null,8,[`icon`])):(B(),V(`span`,X6e,M(e.fullscreenActive?`⤡`:`⤢`),1))],10,Y6e)):G(``,!0)],64))),128))],8,s6e))}}),Q6e=[`aria-selected`,`onMousedown`,`onMouseenter`],$6e={class:`dsk-wysiwyg-slash__label`},e8e={key:0,class:`dsk-wysiwyg-slash__hint`},t8e=L({__name:`DskWysiwygSlashMenu`,props:{open:{type:Boolean},controller:{},query:{},top:{},left:{},extra:{},locale:{},labels:{}},emits:[`select`,`close`],setup(e,{expose:t,emit:n}){let r=e,i=n;function a(e){return[{key:`h1`,label:e.h1,hint:e.h1Hint,aliases:[`h1`,`heading1`,`title`],apply:e=>e.chain().focus().heading(1).run()},{key:`h2`,label:e.h2,hint:e.h2Hint,aliases:[`h2`,`heading2`],apply:e=>e.chain().focus().heading(2).run()},{key:`h3`,label:e.h3,hint:e.h3Hint,aliases:[`h3`,`heading3`],apply:e=>e.chain().focus().heading(3).run()},{key:`paragraph`,label:e.paragraph,hint:e.paragraphHint,aliases:[`p`,`text`,`paragraph`],apply:e=>e.chain().focus().paragraph().run()},{key:`ul`,label:e.bulletList,aliases:[`ul`,`bullet`,`list`],apply:e=>e.chain().focus().bulletList().run()},{key:`ol`,label:e.orderedList,aliases:[`ol`,`numbered`,`ordered`],apply:e=>e.chain().focus().orderedList().run()},{key:`quote`,label:e.blockquote,aliases:[`quote`,`blockquote`],apply:e=>e.chain().focus().blockquote().run()},{key:`code`,label:e.codeBlock,aliases:[`code`,`codeblock`,`pre`],apply:e=>e.chain().focus().codeBlock().run()},{key:`hr`,label:e.horizontalRule,aliases:[`hr`,`divider`,`rule`],apply:e=>e.chain().focus().horizontalRule().run()},{key:`table`,label:e.table,aliases:[`table`],apply:e=>e.chain().focus().insertTable(3,3).run()}]}let{labels:o,KitLocaleProbe:s,probeKit:c}=$9(r),l=J(()=>a(o.value.slash)),u=J(()=>{let e=r.extra?.length?[...l.value,...r.extra]:l.value,t=r.query.toLowerCase().trim();return t===``?e:e.filter(e=>e.label.toLowerCase().includes(t)||e.aliases?.some(e=>e.includes(t)))}),d=N(0);I(()=>r.query,()=>{d.value=0}),I(()=>r.open,e=>{e&&(d.value=0)});function f(){u.value.length!==0&&(d.value=(d.value+1)%u.value.length)}function p(){u.value.length!==0&&(d.value=(d.value-1+u.value.length)%u.value.length)}function m(){let e=u.value[d.value];e&&i(`select`,e)}function h(e){let t=u.value[e];t&&i(`select`,t)}return t({moveDown:f,moveUp:p,selectActive:m,hasItems:()=>u.value.length>0}),(t,n)=>(B(),V(K,null,[P(c)?(B(),H(xr(P(s)),{key:0})):G(``,!0),(B(),H(Si,{to:`body`},[e.open&&u.value.length>0?(B(),V(`div`,{key:0,class:`dsk-wysiwyg-slash`,style:Ie({top:`${e.top}px`,left:`${e.left}px`}),role:`listbox`},[(B(!0),V(K,null,R(u.value,(e,t)=>(B(),V(`button`,{key:e.key,type:`button`,class:j([`dsk-wysiwyg-slash__item`,{"is-active":t===d.value}]),role:`option`,"aria-selected":t===d.value,onMousedown:Do(e=>h(t),[`prevent`]),onMouseenter:e=>d.value=t},[U(`span`,$6e,M(e.label),1),e.hint?(B(),V(`span`,e8e,M(e.hint),1)):G(``,!0)],42,Q6e))),128))],4)):G(``,!0)]))],64))}}),n8e={key:2,class:`dsk-wysiwyg__source-wrap`},r8e=[`innerHTML`],i8e=[`value`,`placeholder`],a8e=[`contenteditable`,`data-placeholder`],o8e=L({__name:`DskWysiwyg`,props:{modelValue:{default:``},placeholder:{default:void 0},toolbar:{type:Boolean,default:!0},toolbarItems:{default:void 0},readonly:{type:Boolean,default:!1},minHeight:{default:`200px`},maxHeight:{default:void 0},resizable:{type:Boolean,default:!0},allowedAttributes:{default:()=>({})},blockRenderers:{default:()=>({})},slashCommands:{default:()=>[]},locale:{default:void 0},labels:{default:void 0}},emits:[`update:modelValue`,`image-request`,`link-request`,`ready`,`fullscreen-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,{locale:a,labels:o,KitLocaleProbe:s,probeKit:c}=$9(r),l=J(()=>r.placeholder??o.value.placeholder),u=N(null),d=N(null),f=N(!1),p=N(``),m=N(null),h=J(()=>q3e(p.value+`
|
|
216
|
+
`,`html`));function g(e){let t=e.target;m.value&&(m.value.scrollTop=t.scrollTop,m.value.scrollLeft=t.scrollLeft)}let _=N(!1),v=N(``),y=N(0),b=N(0),x=null,S=rn(null),C=N(0),w=N(!0),T=null;Mi(()=>{if(!u.value)return;try{document.execCommand(`defaultParagraphSeparator`,!1,`p`)}catch{}let e=new V3e(u.value,{allowedAttributes:r.allowedAttributes,blockRenderers:r.blockRenderers});e.previews.onCodeChange=()=>{e.history.commit(),w.value=e.isEmpty(),i(`update:modelValue`,e.getHTML())},e.previews.setEditable(!r.readonly),e.setContent(r.modelValue),S.value=e,w.value=e.isEmpty(),i(`ready`,e),T=()=>{u.value&&(document.activeElement===u.value||u.value.contains(document.activeElement))&&(C.value++,S.value?.previews.followSelection(D()))},document.addEventListener(`selectionchange`,T)}),Pi(()=>{ee&&clearTimeout(ee),T&&document.removeEventListener(`selectionchange`,T),S.value?.destroy()}),I(()=>r.blockRenderers,e=>S.value?.previews.setRenderers(e)),I(()=>r.readonly,e=>S.value?.previews.setEditable(!e));let ee=null;function E(){ee&&clearTimeout(ee),ee=setTimeout(()=>{ee=null,S.value?.previews.sync()},150)}function D(){let e=window.getSelection();if(!e||e.rangeCount===0||!u.value)return null;let t=e.getRangeAt(0);return u.value.contains(t.startContainer)?t:null}function O(e){if(r.readonly||!S.value||!u.value||N9(e.target))return;let t=e.target?.closest?.(`[${k9}]`);!t||!u.value.contains(t)||(e.preventDefault(),u.value.focus(),S.value.previews.edit(t))}function k(e){let t=D();if(!t)return;t.deleteContents();let n=document.createTextNode(e);t.insertNode(n),t.setStartAfter(n),t.collapse(!0);let r=window.getSelection();r?.removeAllRanges(),r?.addRange(t),u.value?.dispatchEvent(new InputEvent(`input`,{bubbles:!0}))}I(()=>r.modelValue,e=>{S.value&&e!==S.value.getHTML()&&(S.value.setContent(e),w.value=S.value.isEmpty())});function te(e){if(!S.value||!u.value||e&&N9(e.target))return;let t=H3e(u.value);S.value.previews.dropOrphanedCode()&&S.value.history.commit(),E(),t.applied?S.value.history.commit():S.value.history.commitThrottled(),ne(),w.value=S.value.isEmpty(),i(`update:modelValue`,S.value.getHTML())}function ne(){let e=window.getSelection();if(!e||e.rangeCount===0||!u.value){A();return}let t=e.getRangeAt(0);if(!t.collapsed||!u.value.contains(t.startContainer)){A();return}let n=ie(t.startContainer);if(!n){A();return}let r=ae(n,t).match(/^\/([\p{L}\p{N}_-]*)$/u);if(!r){A();return}v.value=r[1],x=document.createRange(),x.setStart(n,0),x.setEnd(t.endContainer,t.endOffset);let i=oe(t);i&&(y.value=i.bottom+4,b.value=i.left),_.value=!0}function A(){_.value&&(_.value=!1,v.value=``,x=null)}function re(e){return!e.querySelector(`img, hr`)&&(e.textContent??``).replace(/[\s]/g,``)===``}function ie(e){let t=e;for(;t&&t!==u.value;){if(t instanceof HTMLElement){let e=t.tagName.toLowerCase();if([`p`,`div`,`h1`,`h2`,`h3`,`h4`,`h5`,`h6`,`li`,`blockquote`,`td`,`th`].includes(e))return t}t=t.parentNode}return null}function ae(e,t){let n=document.createRange();return n.selectNodeContents(e),n.setEnd(t.endContainer,t.endOffset),n.toString()}function oe(e){let t=e.getClientRects();if(t.length>0)return t[0];let n=document.createElement(`span`);n.appendChild(document.createTextNode(``)),e.insertNode(n);let r=n.getBoundingClientRect();return n.remove(),r}function se(e){if(!S.value||!u.value||!x){A();return}x.deleteContents();let t=x.startContainer;t instanceof HTMLElement&&(t.textContent??``)===``&&!t.querySelector(`br, img, hr`)&&t.appendChild(document.createElement(`br`));let n=window.getSelection();n&&(n.removeAllRanges(),n.addRange(x)),A(),e.apply(S.value),S.value.history.commit(),i(`update:modelValue`,S.value.getHTML())}function ce(){if(!u.value||!S.value)return;A(),S.value.previews.closeAll();let e=u.value.querySelectorAll(`pre > code[class*="language-"]`),t=!1;for(let n of Array.from(e)){let e=n.className.match(/language-([\w-]+)/);if(!e)continue;let r=e[1],i=q3e(n.textContent??``,r);n.innerHTML!==i&&(n.innerHTML=i,t=!0)}t&&i(`update:modelValue`,S.value.getHTML())}function le(){if(!S.value)return;if(!f.value){p.value=Q3e(S.value.getHTML()),f.value=!0;return}let e=$3e(p.value);S.value.setContent(e),S.value.history.commit(),w.value=S.value.isEmpty(),i(`update:modelValue`,S.value.getHTML()),f.value=!1}function ue(e){p.value=e.target.value,i(`update:modelValue`,$3e(p.value))}function de(e){if(!S.value||!e.clipboardData||N9(e.target))return;let t=e.clipboardData.getData(`text/html`),n=e.clipboardData.getData(`text/plain`);e.preventDefault(),S.value.previews.openCodeAt(D())?k(n):(pe(t?O3e(t,{allowedAttributes:r.allowedAttributes}):fe(n)),S.value.history.commit(),w.value=S.value.isEmpty(),i(`update:modelValue`,S.value.getHTML()))}function fe(e){return e.split(/\r?\n/).map(e=>`<p>${e.replace(/[<>&]/g,e=>({"<":`<`,">":`>`,"&":`&`})[e]??e)}</p>`).join(``)}function pe(e){let t=window.getSelection();if(!t||t.rangeCount===0)return;let n=t.getRangeAt(0);n.deleteContents();let r=document.createElement(`div`);r.innerHTML=e;let i=document.createDocumentFragment();for(;r.firstChild;)i.appendChild(r.firstChild);let a=i.lastChild;n.insertNode(i),a&&(n.setStartAfter(a),n.collapse(!0),t.removeAllRanges(),t.addRange(n))}function me(e){if(!u.value||!S.value)return!1;let t=window.getSelection();if(!t||t.rangeCount===0)return!1;let n=t.getRangeAt(0);if(!u.value.contains(n.startContainer))return!1;let r=ie(n.startContainer);if(!r)return!1;let i=r.tagName.toLowerCase();if(i===`li`){if(re(r)){let n=r.parentElement;if(n&&(n.tagName.toLowerCase()===`ul`||n.tagName.toLowerCase()===`ol`)){e.preventDefault(),r.remove();let i=document.createElement(`p`);i.appendChild(document.createElement(`br`)),n.after(i),n.children.length===0&&n.remove();let a=document.createRange();return a.setStart(i,0),a.collapse(!0),t.removeAllRanges(),t.addRange(a),u.value.dispatchEvent(new InputEvent(`input`,{bubbles:!0})),!0}}return!1}if(i===`pre`||i===`td`||i===`th`)return!1;e.preventDefault(),n.collapsed||n.deleteContents();let a=document.createRange();a.setStart(n.endContainer,n.endOffset),a.setEnd(r,r.childNodes.length);let o=a.extractContents(),s=document.createElement(`p`);s.appendChild(o),(s.childNodes.length===0||s.textContent===``)&&s.replaceChildren(document.createElement(`br`)),r.after(s);let c=document.createRange();return c.setStart(s,0),c.collapse(!0),t.removeAllRanges(),t.addRange(c),u.value.dispatchEvent(new InputEvent(`input`,{bubbles:!0})),!0}function he(e){if(!S.value||N9(e.target))return;if(_.value&&d.value){if(e.key===`ArrowDown`){e.preventDefault(),d.value.moveDown();return}if(e.key===`ArrowUp`){e.preventDefault(),d.value.moveUp();return}if(e.key===`Enter`&&d.value.hasItems()){e.preventDefault(),d.value.selectActive();return}if(e.key===`Escape`){e.preventDefault(),A();return}}let t=S.value.previews.openCodeAt(D());if(t&&e.key===`Escape`){e.preventDefault(),S.value.previews.leave(t);return}if(t&&e.key===`Enter`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){e.preventDefault();let n=D(),r=n!==null&&n.collapsed&&(t.textContent??``).length===ae(t,n).length;if(k(r&&!(t.textContent??``).endsWith(`
|
|
217
217
|
`)?`
|
|
218
218
|
|
|
219
219
|
`:`
|
|
220
|
-
`),r){let e=D();e&&e.startContainer.nodeType===Node.TEXT_NODE&&e.startOffset>0&&(e.setStart(e.startContainer,e.startOffset-1),e.collapse(!0))}return}if(e.key===`Enter`&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&me(e)||!(e.metaKey||e.ctrlKey))return;let n=e.key.toLowerCase();n===`b`?(e.preventDefault(),S.value.chain().focus().bold().run()):n===`i`?(e.preventDefault(),S.value.chain().focus().italic().run()):n===`u`?(e.preventDefault(),S.value.chain().focus().underline().run()):n===`z`&&!e.shiftKey?(e.preventDefault(),S.value.chain().undo().run(),i(`update:modelValue`,S.value.getHTML())):(n===`z`&&e.shiftKey||n===`y`)&&(e.preventDefault(),S.value.chain().redo().run(),i(`update:modelValue`,S.value.getHTML()))}let ge=N(!1);function _e(e){ge.value!==e&&(ge.value=e,document.documentElement.classList.toggle(`dsk-wysiwyg-fullscreen-open`,e),e?document.addEventListener(`keydown`,ye):document.removeEventListener(`keydown`,ye),i(`fullscreen-change`,e),f.value||u.value?.focus())}function ve(){_e(!ge.value)}function ye(e){e.key!==`Escape`||e.defaultPrevented||(e.preventDefault(),_e(!1))}Pi(()=>_e(!1));let be=J(()=>({"--dsk-wysiwyg-min-height":r.minHeight,"--dsk-wysiwyg-max-height":r.maxHeight??`none`}));return t({get controller(){return S.value},get fullscreen(){return ge.value},setFullscreen:_e,toggleFullscreen:ve}),(t,n)=>(B(),V(`div`,{class:j([`dsk-wysiwyg`,{"dsk-wysiwyg--readonly":e.readonly,"dsk-wysiwyg--empty":w.value,"dsk-wysiwyg--resizable":e.resizable&&!e.readonly&&!ge.value,"dsk-wysiwyg--fullscreen":ge.value}]),style:Ie(be.value)},[P(c)?(B(),H(xr(P(s)),{key:0})):G(``,!0),e.toolbar&&!e.readonly?(B(),H(
|
|
221
|
-
`)),Pe(`base`,l);let t=Oe({mode:`bundle`,version:`1.0.
|
|
220
|
+
`),r){let e=D();e&&e.startContainer.nodeType===Node.TEXT_NODE&&e.startOffset>0&&(e.setStart(e.startContainer,e.startOffset-1),e.collapse(!0))}return}if(e.key===`Enter`&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&me(e)||!(e.metaKey||e.ctrlKey))return;let n=e.key.toLowerCase();n===`b`?(e.preventDefault(),S.value.chain().focus().bold().run()):n===`i`?(e.preventDefault(),S.value.chain().focus().italic().run()):n===`u`?(e.preventDefault(),S.value.chain().focus().underline().run()):n===`z`&&!e.shiftKey?(e.preventDefault(),S.value.chain().undo().run(),i(`update:modelValue`,S.value.getHTML())):(n===`z`&&e.shiftKey||n===`y`)&&(e.preventDefault(),S.value.chain().redo().run(),i(`update:modelValue`,S.value.getHTML()))}let ge=N(!1);function _e(e){ge.value!==e&&(ge.value=e,document.documentElement.classList.toggle(`dsk-wysiwyg-fullscreen-open`,e),e?document.addEventListener(`keydown`,ye):document.removeEventListener(`keydown`,ye),i(`fullscreen-change`,e),f.value||u.value?.focus())}function ve(){_e(!ge.value)}function ye(e){e.key!==`Escape`||e.defaultPrevented||(e.preventDefault(),_e(!1))}Pi(()=>_e(!1));let be=J(()=>({"--dsk-wysiwyg-min-height":r.minHeight,"--dsk-wysiwyg-max-height":r.maxHeight??`none`}));return t({get controller(){return S.value},get fullscreen(){return ge.value},setFullscreen:_e,toggleFullscreen:ve}),(t,n)=>(B(),V(`div`,{class:j([`dsk-wysiwyg`,{"dsk-wysiwyg--readonly":e.readonly,"dsk-wysiwyg--empty":w.value,"dsk-wysiwyg--resizable":e.resizable&&!e.readonly&&!ge.value,"dsk-wysiwyg--fullscreen":ge.value}]),style:Ie(be.value)},[P(c)?(B(),H(xr(P(s)),{key:0})):G(``,!0),e.toolbar&&!e.readonly?(B(),H(Z6e,{key:1,controller:S.value,items:e.toolbarItems,"selection-version":C.value,"source-active":f.value,"fullscreen-active":ge.value,locale:P(a),labels:e.labels,onToggleFullscreen:ve,onImageRequest:n[0]||=e=>i(`image-request`),onLinkRequest:n[1]||=e=>i(`link-request`,e),onToggleSource:le},null,8,[`controller`,`items`,`selection-version`,`source-active`,`fullscreen-active`,`locale`,`labels`])):G(``,!0),f.value?(B(),V(`div`,n8e,[U(`pre`,{ref_key:`sourceHighlightRef`,ref:m,class:`dsk-wysiwyg__source-highlight`,"aria-hidden":`true`,innerHTML:h.value},null,8,r8e),U(`textarea`,{class:`dsk-wysiwyg__source`,value:p.value,placeholder:l.value,spellcheck:`false`,onInput:ue,onScroll:g},null,40,i8e)])):G(``,!0),er(U(`div`,{ref_key:`hostRef`,ref:u,class:`dsk-wysiwyg__content`,contenteditable:!e.readonly,"data-placeholder":l.value,role:`textbox`,"aria-multiline":`true`,spellcheck:!0,onInput:te,onBlur:ce,onPaste:de,onKeydown:he,onMousedown:O},null,40,a8e),[[Qa,!f.value]]),q(t8e,{ref_key:`slashMenuRef`,ref:d,open:_.value,controller:S.value,query:v.value,top:y.value,left:b.value,extra:e.slashCommands,locale:P(a),labels:e.labels,onSelect:se,onClose:A},null,8,[`open`,`controller`,`query`,`top`,`left`,`extra`,`locale`,`labels`])],6))}}),s8e=n({mountElement:()=>d8e,setup:()=>c8e,tidyMarkup:()=>l8e});jo();function c8e(e){K_(e)}function l8e(e){let t=e.split(/(<pre[\s>][\s\S]*?<\/pre>)/i),n=e=>e.replace(/>\s*\n\s*</g,`><`).replace(/>\s*\n\s*$/,`>`).replace(/^\s*\n\s*</,`<`);return t.map((e,t)=>t%2==1?e:n(e)).join(``).trim()}function u8e(e){if(typeof e!=`string`||e===``)return null;let t=document.querySelector(e);return t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement?t:null}function d8e(e){let t=e.el,n=e.props(),r=u8e(n.input),i=rn(typeof n.value==`string`?n.value:e.source()===``?r?r.value:``:l8e(e.source())),a=n.value,o=null,s=null,c=Y_();function l(){let n=e.props();typeof n.name==`string`&&n.name!==``&&(s||(s=document.createElement(`input`),s.type=`hidden`,t.appendChild(s)),s.name=n.name,s.value=i.value);let r=u8e(n.input);r&&r.value!==i.value&&(r.value=i.value)}l();let u=e=>{e.target!==t&&e.stopPropagation()};e.container.addEventListener(`input`,u),e.container.addEventListener(`change`,u);let d=()=>{o===null&&(o=i.value)},f=n=>{n.relatedTarget instanceof Node&&t.contains(n.relatedTarget)||(o!==null&&o!==i.value&&(t.dispatchEvent(new Event(`change`,{bubbles:!0})),e.emit(`change`,{value:i.value})),o=null)};t.addEventListener(`focusin`,d),t.addEventListener(`focusout`,f);let p=J_(e,n=>{let r=n.props;return $_(o8e,{ref:c.set,modelValue:i.value,locale:n.locale,blockRenderers:H_.renderers,...r.placeholder===void 0?{}:{placeholder:r.placeholder},...r.readonly===void 0?{}:{readonly:r.readonly},...r.toolbar===void 0?{}:{toolbar:r.toolbar},...r.minHeight===void 0?{}:{minHeight:r.minHeight},...r.maxHeight===void 0?{}:{maxHeight:r.maxHeight},...r.resizable===void 0?{}:{resizable:r.resizable},"onUpdate:modelValue":n=>{n!==i.value&&(i.value=n,l(),t.dispatchEvent(new Event(`input`,{bubbles:!0})),e.emit(`input`,{value:n}))},onReady:t=>e.emit(`editor-ready`,{controller:t})})});return{update(){let t=e.props().value;t!==a&&(a=t,typeof t==`string`&&t!==i.value&&(i.value=t,l())),p.refresh()},destroy(){p.unmount(),e.container.removeEventListener(`input`,u),e.container.removeEventListener(`change`,u),t.removeEventListener(`focusin`,d),t.removeEventListener(`focusout`,f),s?.remove()},api:{get value(){return i.value},get controller(){return c.ref.value?.controller??null},focus(){e.container.querySelector(`[contenteditable="true"]`)?.focus()}}}}var f8e={media:vfe,diagram:W_e,openapi:qQe,flow:K4e,markdown:t3e,editor:s8e};function p8e(){if(window.DskEmbed){console.warn(`[dsk-embed] already loaded (${window.DskEmbed.mode} ${window.DskEmbed.version}); the bundle is ignored`);return}let e=document.currentScript instanceof HTMLScriptElement?document.currentScript:null;Pe(`kit`,[r,i,a,o,s,c].join(`
|
|
221
|
+
`)),Pe(`base`,l);let t=Oe({mode:`bundle`,version:`1.0.1`,versions:{vue:`3.5.44`,"@dskripchenko/ui":`1.16.0`,"@dskripchenko/wysiwyg":`0.5.2`,"@dskripchenko/diagrams":`1.1.0`,"@dskripchenko/openapi":`1.1.1`,"@dskripchenko/flow":`1.0.2`},config:ke(e),loadPlugin:async e=>f8e[e]});window.DskEmbed=t,Ae(t,e),document.dispatchEvent(new CustomEvent(`dsk:embed-ready`,{detail:{version:`1.0.1`,mode:`bundle`}}))}p8e()})();
|
package/dist/embed.js
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
`);for(;t.length>0&&t[0].trim()===``;)t.shift();for(;t.length>0&&t[t.length-1].trim()===``;)t.pop();let n=1/0;for(let e of t)e.trim()!==``&&(n=Math.min(n,e.length-e.trimStart().length));return!Number.isFinite(n)||n===0?t.join(`
|
|
4
4
|
`):t.map(e=>e.slice(Math.min(n,e.length-e.trimStart().length))).join(`
|
|
5
5
|
`)}function S(e){let t=(e.getAttribute(`type`)??``).trim().toLowerCase();return t!==``&&t!==`module`&&!/javascript|ecmascript/.test(t)}function C(e){for(let t of Array.from(e.children))if(t.tagName===`SCRIPT`&&S(t))return x(t.textContent??``);for(let t of Array.from(e.children))if(t.tagName===`TEMPLATE`)return x(t.innerHTML);let t=``;for(let n of Array.from(e.childNodes))(n.nodeType===Node.TEXT_NODE||n.nodeType===Node.ELEMENT_NODE&&!b.has(n.tagName)&&!n.hasAttribute(`data-dsk-root`))&&(t+=n.textContent??``);return x(t)}function w(e){let t={};for(let n of Array.from(e.attributes)){let e=n.name.startsWith(`data-`)?n.name.slice(5):n.name;(!(e in t)||n.name.startsWith(`data-`))&&(t[e]=n.value)}return t}function T(e){let t=[],n=[];for(let r of Array.from(e.children))r.tagName===`SOURCE`?t.push(w(r)):r.tagName===`TRACK`&&n.push(w(r));return{sources:t,tracks:n}}var ee={"dsk-video":{plugin:`media`,methods:[`play`,`pause`,`toggle`,`seek`,`playChapter`],getters:[`state`,`media`,`chapters`],objects:[]},"dsk-audio":{plugin:`media`,methods:[`play`,`pause`,`toggle`,`seek`,`next`,`prev`],getters:[`state`,`media`],objects:[]},"dsk-diagram":{plugin:`diagram`,methods:[],getters:[`svg`],objects:[]},"dsk-openapi":{plugin:`openapi`,methods:[`go`,`open`,`print`],getters:[`loaded`,`value`],objects:[`spec`,`send`,`labels`]},"dsk-flow":{plugin:`flow`,methods:[`fit`,`select`,`enter`,`back`,`refresh`,`undo`,`redo`],getters:[`stack`],objects:[`graph`,`loadSubgraph`,`persistToggle`,`labels`,`registry`]},"dsk-markdown":{plugin:`markdown`,methods:[],getters:[`value`],objects:[]},"dsk-editor":{plugin:`editor`,methods:[`focus`],getters:[`controller`],objects:[]}},E=null,D={io:null};function O(e,t){typeof IntersectionObserver==`function`?(D.io??=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(D.io.unobserve(t.target),t.target._dskLazyStart?.())},{rootMargin:`200px`}),e._dskLazyStart=t,D.io.observe(e)):t()}function k(t,n,r){let i=r.map(s);class a extends HTMLElement{static get observedAttributes(){return i}_overrides={};_source=null;_children={sources:[],tracks:[]};_instance=null;_container=null;_starting=!1;_waitingForParse=!1;_updateQueued=!1;_resolveReady;_ready;constructor(){super(),this._ready=new Promise(e=>this._resolveReady=e)}get ready(){return this._ready}get source(){return this._source===null&&this._capture(),this._source??``}set source(e){this._source=String(e??``),this._queueUpdate()}connectedCallback(){this._instance||this._starting||(document.readyState===`loading`?this._waitingForParse||(this._waitingForParse=!0,document.addEventListener(`DOMContentLoaded`,()=>{this._waitingForParse=!1,this.isConnected&&this.connectedCallback()},{once:!0})):this.getAttribute(`loading`)===`lazy`?O(this,()=>this._start()):this._start())}disconnectedCallback(){D.io?.unobserve(this),queueMicrotask(()=>{this.isConnected||this._destroy()})}attributeChangedCallback(e,t,n){t!==n&&(e===`loading`&&n!==`lazy`&&!this._instance&&!this._starting&&this.isConnected&&this._start(),this._queueUpdate())}refresh(){this._capture(!0),this._queueUpdate()}_capture(e=!1){(this._source===null||e)&&(this._source=C(this),this._children=T(this))}_props(){let{props:e,errors:n}=g(this,r);for(let e of n)console.warn(`[dsk-embed] <${t} ${e.attr}>: ${e.message}`);return{...e,...this._overrides}}_locale(){let t=this._overrides.locale??this.getAttribute(`locale`);return typeof t==`string`&&t!==``?e(t):E?.config().locale??`en`}_queueUpdate(){this._instance&&!this._updateQueued&&(this._updateQueued=!0,queueMicrotask(()=>{this._updateQueued=!1,this._instance?.update()}))}_start(){let e=E;if(!e||this._starting||this._instance)return;this._starting=!0,this._capture();for(let e of Array.from(this.childNodes))e.nodeType===Node.ELEMENT_NODE&&b.has(e.tagName)||e.nodeType===Node.ELEMENT_NODE&&e.hasAttribute(`data-dsk-root`)||e.remove();let r=document.createElement(`div`);r.setAttribute(`data-dsk-root`,``),r.className=`dsk-root`,this.appendChild(r),this._container=r,this.setAttribute(`data-dsk-state`,`loading`),e.load(n.plugin).then(i=>{if(!this.isConnected||this._container!==r)return;if(!i.mountElement)throw Error(`plugin ${n.plugin} has no elements`);let a={host:e,el:this,tag:t,container:r,props:()=>this._props(),source:()=>this.source,children:()=>this._children,emit:(t,n)=>e.emit(t,n,this),locale:()=>this._locale()};this._instance=i.mountElement(a),this.setAttribute(`data-dsk-state`,`ready`),this._resolveReady(),e.emit(`ready`,{tag:t},this)}).catch(n=>{let i=n instanceof Error?n.message:String(n);console.error(`[dsk-embed] <${t}> failed to load`,n),this.setAttribute(`data-dsk-state`,`error`),r.replaceChildren();let a=document.createElement(`div`);a.className=`dsk-error`,a.setAttribute(`role`,`alert`),a.textContent=i,r.appendChild(a),e.emit(`error`,{tag:t,message:i},this)}).finally(()=>{this._starting=!1})}_destroy(){if(this._instance)try{this._instance.destroy()}catch(e){console.error(`[dsk-embed] <${t}> destroy failed`,e)}this._instance=null,this._container?.remove(),this._container=null,this.removeAttribute(`data-dsk-state`),this._ready=new Promise(e=>this._resolveReady=e)}}let o=a.prototype;for(let e of r)e.prop in o||Object.defineProperty(o,e.prop,{configurable:!0,enumerable:!0,get(){let t=this._instance?.api;return t&&e.prop in t?t[e.prop]:e.prop in this._overrides?this._overrides[e.prop]:this._props()[e.prop]},set(t){t===void 0?delete this._overrides[e.prop]:this._overrides[e.prop]=t,this._queueUpdate()}});for(let e of n.objects)Object.defineProperty(o,e,{configurable:!0,enumerable:!0,get(){let t=this._instance?.api;return t&&e in t?t[e]:this._overrides[e]},set(t){t===void 0?delete this._overrides[e]:this._overrides[e]=t,this._queueUpdate()}});for(let e of n.methods)o[e]=function(...n){let r=()=>{let r=this._instance?.api?.[e];if(typeof r!=`function`)throw Error(`<${t}>.${e}() is not available`);return r(...n)};return this._instance?r():this.ready.then(r)};for(let e of n.getters)Object.defineProperty(o,e,{configurable:!0,enumerable:!0,get(){return this._instance?.api?.[e]}});return a}function te(e,t=customElements){E=e;for(let[e,n]of Object.entries(ee))t.get(e)||t.define(e,k(e,n,y[e]??[]))}var ne=/^[a-z0-9][a-z0-9_+.-]*$/;function A(e){return String(e).trim().toLowerCase()}function re(e){if(typeof e==`function`)return e;if(e&&typeof e==`object`&&(typeof e.mount==`function`||typeof e.html==`string`)){let t=e;return()=>t}throw TypeError("a block renderer is a function, or an object with `html` or `mount`")}function j(){let e=new Map,t=new Set,n=()=>{for(let e of[...t])e()},r={register(t,i){let a=A(t);if(!ne.test(a))throw TypeError(`invalid block language "${t}"`);let o=re(i);return e.set(a,o),n(),()=>{e.get(a)===o&&r.unregister(a)}},unregister(t){e.delete(A(t))&&n()},get:t=>e.get(A(t)),has:t=>e.has(A(t)),languages:()=>[...e.keys()],all:()=>Object.fromEntries(e),subscribe(e){return t.add(e),()=>t.delete(e)}};return r}var M=new WeakMap,N=`[data-dsk-root], [contenteditable], .uid-markdown, dsk-markdown, dsk-editor`;function P(e,t){for(let n of[t,e]){if(!n)continue;let e=n.getAttribute(`data-lang`)??n.getAttribute(`data-language`);if(e)return e.trim().toLowerCase();for(let e of Array.from(n.classList)){let t=/^(?:language|lang)-(.+)$/.exec(e);if(t)return t[1].toLowerCase()}}return null}function F(e,t,n={}){let r=n.languages?.map(e=>e.toLowerCase()),i=[],a=[];e instanceof HTMLElement&&e.tagName===`PRE`&&a.push(e),a.push(...Array.from(e.querySelectorAll(`pre`)));for(let e of a){if(e.hasAttribute(`data-dsk-failed`)||e.closest(N))continue;let n=e.querySelector(`:scope > code`),a=P(e,n);a&&t.has(a)&&(!r||r.includes(a))&&i.push({pre:e,code:(n??e).textContent??``,language:a})}return i}function I(e){return e instanceof Error?e.message:String(e)}function L(e,t,n){t.setAttribute(`data-dsk-failed`,``),t.title=n,e.isConnected&&e.replaceWith(t),M.delete(e)}async function R(e,t,n={}){let r=F(e,t,n),i=0,a=r.map(async({pre:e,code:n,language:r})=>{let a=t.get(r),o=document.createElement(`div`);o.className=`dsk-block dsk-block--${r}`,o.setAttribute(`data-dsk-block`,r),o.setAttribute(`data-dsk-state`,`loading`),e.replaceWith(o),M.set(o,{pre:e,handle:null});let s;try{s=await a(n,{language:r,index:i++})}catch(t){return L(o,e,I(t)),0}if(!o.isConnected)return 0;if(!s||s.error!==void 0||s.html===void 0&&!s.mount)return L(o,e,s?.error??`nothing to render`),0;if(s.mount)try{let t=s.mount(o,{code:n,language:r,editable:!1,setCode:()=>{}});M.set(o,{pre:e,handle:typeof t==`function`?{destroy:t}:t??null})}catch(t){return L(o,e,I(t)),0}else o.innerHTML=s.html;return o.setAttribute(`data-dsk-state`,`ready`),1});return(await Promise.all(a)).reduce((e,t)=>e+t,0)}function z(e){let t=0,n=[];e instanceof Element&&e.hasAttribute(`data-dsk-block`)&&n.push(e),n.push(...Array.from(e.querySelectorAll(`[data-dsk-block]`)));for(let e of n){let n=M.get(e);if(n){try{n.handle?.destroy?.()}catch(e){console.error(`[dsk-embed] block destroy failed`,e)}e.replaceWith(n.pre),M.delete(e),t++}}return t}var B={mermaid:`diagram`,openapi:`openapi`,flow:`flow`,video:`media`,audio:`media`};function V(e){let t=r(e.config??{},document,e.versions),n=j(),i=a(document),o=new Map,s={version:e.version,config:()=>t.get(),onConfig:e=>t.subscribe(e),blocks:n,emit:(e,t,n)=>i.emit(e,t,n),load(n){let r=o.get(n);return r||(r=e.loadPlugin(n,t.get()).then(e=>(e.setup?.(s),e)),r.catch(()=>o.delete(n)),o.set(n,r)),r}};for(let[e,t]of Object.entries(B))n.register(e,async(n,r)=>{let i=(await s.load(t)).renderers?.[e];return i?i(n,r):{error:`no ${e} renderer in the ${t} plugin`}});t.subscribe(e=>{i.emit(`config`,{theme:e.theme,resolvedTheme:e.resolvedTheme,locale:e.locale})});let c={version:e.version,mode:e.mode,versions:Object.freeze({...e.versions}),importMap:e.importMap??null,get config(){return t.get()},configure:e=>t.configure(e),blocks:{register:(e,t)=>n.register(e,t),unregister:e=>n.unregister(e),has:e=>n.has(e),list:()=>n.languages()},on:i.on,once:i.once,off:i.off,emit:i.emit,renderBlocks:(e=document.body,t)=>R(e,n,t),unrenderBlocks:(e=document.body)=>z(e),preload:async(...e)=>{await Promise.all(e.map(e=>s.load(e)))},host:s};return te(s),c}function H(e){let t={...globalThis.DskEmbedConfig??{}};if(e){let n=e.getAttribute(`data-theme`),r=e.getAttribute(`data-locale`),i=e.getAttribute(`data-cdn-base`);n&&(t.theme=n),r&&(t.locale=r),i&&(t.cdnBase=i)}return t}function U(e,t){if(!t||!t.hasAttribute(`data-render-blocks`))return;let n=t.getAttribute(`data-render-blocks`)||`body`,r=()=>{for(let t of Array.from(document.querySelectorAll(n)))e.renderBlocks(t)};document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,r,{once:!0}):r()}var W={vue:[`vue`,`dist/vue.runtime.esm-browser.prod.js`],"@dskripchenko/ui":[`@dskripchenko/ui`,`dist/index.mjs`],"@dskripchenko/ui/icons":[`@dskripchenko/ui`,`dist/icons/index.mjs`],"@dskripchenko/ui/hls":[`@dskripchenko/ui`,`dist/hls/index.mjs`],"@dskripchenko/wysiwyg":[`@dskripchenko/wysiwyg`,`dist/index.mjs`],"@dskripchenko/diagrams":[`@dskripchenko/diagrams`,`dist/index.mjs`],"@dskripchenko/openapi":[`@dskripchenko/openapi`,`dist/index.mjs`],"@dskripchenko/openapi/vue":[`@dskripchenko/openapi`,`dist/vue.mjs`],"@dskripchenko/flow":[`@dskripchenko/flow`,`dist/index.mjs`],"@dskripchenko/flow/vue":[`@dskripchenko/flow`,`dist/vue.mjs`],"@dskripchenko/flow/mermaid":[`@dskripchenko/flow`,`dist/mermaid.mjs`]},G={tokens:[`@dskripchenko/ui`,`dist/styles/tokens.css`],themes:[`@dskripchenko/ui`,`dist/styles/themes.css`],kit:[`@dskripchenko/ui`,`dist/styles/index.css`],openapi:[`@dskripchenko/openapi`,`dist/style.css`],flow:[`@dskripchenko/flow`,`dist/style.css`],editor:[`@dskripchenko/wysiwyg`,`dist/style.css`]};function K(e,t,n,r){return`${e}${t}@${n}/${r}`}function ie(e,t,n){let r={};for(let[n,[i,a]]of Object.entries(W)){let o=t[i];if(!o)throw Error(`no version pinned for ${i}`);r[n]=K(e,i,o,a)}return r[`lucide-vue-next`]=`${n}vendor/lucide-vue-next.js`,{imports:r}}function q(e,t,n){let[r,i]=G[n];return K(e,r,t[r],i)}function J(e=document){let t={};for(let n of Array.from(e.querySelectorAll(`script[type="importmap"]`)))try{let e=JSON.parse(n.textContent??`{}`);for(let[n,r]of Object.entries(e.imports??{}))n in t||(t[n]=r)}catch{}return{imports:t}}function Y(e,t=document){let n=J(t),r={},i=[],a={};for(let[t,o]of Object.entries(e.imports)){let e=n.imports[t];e===void 0?(r[t]=o,a[t]=o):(a[t]=e,e!==o&&i.push({specifier:t,page:e,embed:o}))}let o=Object.keys(r);if(o.length>0){let e=t.createElement(`script`);e.type=`importmap`,e.setAttribute(`data-dsk-embed`,``),e.textContent=JSON.stringify({imports:r},null,2);let n=t.querySelector(`script[type="module"]`),i=n&&n.parentNode?n:null;i?i.parentNode.insertBefore(e,i):(t.head??t.documentElement).appendChild(e)}return{map:{imports:a},added:o,conflicts:i}}var ae={diagram:[`tokens`,`themes`],media:[`tokens`,`themes`,`kit`],markdown:[`tokens`,`themes`,`kit`],openapi:[`tokens`,`themes`,`kit`,`openapi`],flow:[`tokens`,`themes`,`kit`,`flow`],editor:[`tokens`,`themes`,`kit`,`editor`]},X=new Map;function oe(e){return e.head.querySelector(`link[rel="stylesheet"]:not([data-dsk-embed]), style:not([data-dsk-embed])`)}function se(e){let t=e.head.querySelectorAll(`link[data-dsk-embed], style[data-dsk-embed]`);return t.length>0?t[t.length-1]:null}function Z(e,t){let n=se(e);if(n)n.after(t);else{let n=oe(e);n?n.before(t):e.head.appendChild(t)}}function ce(e,t=document){let n=X.get(e);if(n)return n;if(Array.from(t.querySelectorAll(`link[rel="stylesheet"]`)).find(t=>t.href===e))return X.set(e,Promise.resolve()),X.get(e);let r=t.createElement(`link`);r.rel=`stylesheet`,r.href=e,r.setAttribute(`data-dsk-embed`,``);let i=new Promise(t=>{r.addEventListener(`load`,()=>t(),{once:!0}),r.addEventListener(`error`,()=>{console.error(`[dsk-embed] stylesheet failed to load: ${e}`),t()},{once:!0})});return Z(t,r),X.set(e,i),i}function le(e,t,n=document){if(n.querySelector(`style[data-dsk-embed="${e}"]`))return;let r=n.createElement(`style`);r.setAttribute(`data-dsk-embed`,e),r.textContent=t,Z(n,r)}var ue=`:root:not([data-theme]) { --uid-surface-base: var(--uid-color-zinc-50); --uid-surface-raised: var(--uid-color-white); --uid-surface-overlay: var(--uid-color-white); --uid-text-primary: var(--uid-color-zinc-900); --uid-text-secondary: var(--uid-color-zinc-500); --uid-text-tertiary: var(--uid-color-zinc-400); --uid-text-on-accent: var(--uid-color-white); --uid-border-subtle: var(--uid-color-zinc-200); --uid-border-default: var(--uid-color-zinc-300); --uid-border-hover: var(--uid-color-zinc-400); --uid-accent: var(--uid-color-teal-500); --uid-accent-hover: var(--uid-color-teal-600); --uid-accent-subtle: var(--uid-color-teal-50); --uid-accent-text: var(--uid-color-teal-700); --uid-danger: var(--uid-color-rose-600); --uid-danger-hover: var(--uid-color-rose-700); --uid-danger-subtle: var(--uid-color-rose-50); --uid-success: var(--uid-color-emerald-600); --uid-success-subtle: var(--uid-color-emerald-50); --uid-warning: var(--uid-color-amber-600); --uid-warning-subtle: var(--uid-color-amber-50); --uid-info: var(--uid-color-blue-600); --uid-info-subtle: var(--uid-color-blue-50); --uid-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.05); --uid-shadow-md: 0 4px 12px rgb(0 0 0 / 0.08); --uid-shadow-lg: 0 8px 24px rgb(0 0 0 / 0.12); --uid-shadow-xl: 0 20px 60px rgb(0 0 0 / 0.3); }
|
|
6
|
-
:where(dsk-video,dsk-audio,dsk-diagram,dsk-openapi,dsk-flow,dsk-markdown,dsk-editor){min-width:0;display:block;position:relative}:where(dsk-video,dsk-audio,dsk-diagram,dsk-openapi,dsk-flow,dsk-markdown,dsk-editor):not([data-dsk-state]){visibility:hidden;min-height:2rem;overflow:hidden}:where(.dsk-root){min-width:0;display:block}:where([data-dsk-state=loading],.dsk-block[data-dsk-state=loading]){border-radius:var(--uid-radius-md,8px);background:var(--uid-color-bg-subtle,#7f7f7f14);animation:1.4s ease-in-out infinite dsk-pulse}:where(dsk-video[data-dsk-state=loading]){aspect-ratio:16/9}:where(dsk-audio[data-dsk-state=loading]){min-height:72px}:where(dsk-diagram[data-dsk-state=loading],dsk-markdown[data-dsk-state=loading]){min-height:120px}:where(dsk-openapi[data-dsk-state=loading],dsk-editor[data-dsk-state=loading]){min-height:240px}:where(.dsk-block[data-dsk-state=loading]){min-height:96px}@keyframes dsk-pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){:where([data-dsk-state=loading],.dsk-block[data-dsk-state=loading]){animation:none}}:where(.dsk-error){padding:var(--uid-space-sm,8px) var(--uid-space-md,12px);border:1px solid var(--uid-danger,#dc2626);border-radius:var(--uid-radius-md,8px);color:var(--uid-danger,#dc2626);background:var(--uid-danger-subtle,#dc262614);font:13px/1.45 var(--uid-font-family-mono,ui-monospace, monospace);white-space:pre-wrap;overflow-wrap:anywhere}:where(dsk-video,dsk-audio,dsk-diagram,dsk-openapi,dsk-flow,dsk-markdown,dsk-editor,.dsk-block,[class^=uid-],[class*=\\ uid-]),:where(dsk-video,dsk-audio,dsk-diagram,dsk-openapi,dsk-flow,dsk-markdown,dsk-editor,.dsk-block,[class^=uid-],[class*=\\ uid-]) *,:where(dsk-video,dsk-audio,dsk-diagram,dsk-openapi,dsk-flow,dsk-markdown,dsk-editor,.dsk-block,[class^=uid-],[class*=\\ uid-]) :before,:where(dsk-video,dsk-audio,dsk-diagram,dsk-openapi,dsk-flow,dsk-markdown,dsk-editor,.dsk-block,[class^=uid-],[class*=\\ uid-]) :after{box-sizing:border-box}:where(dsk-video,dsk-audio,dsk-openapi,dsk-flow,dsk-editor,.dsk-block,[class^=uid-],[class*=\\ uid-]) :where(button,input,textarea,select){font:inherit}:where(dsk-video,dsk-audio,dsk-diagram,dsk-openapi,dsk-flow,dsk-markdown,dsk-editor,.dsk-block,body>[class^=uid-],body>[class*=\\ uid-]){font-family:var(--uid-font-family-sans);line-height:var(--uid-line-height-normal);color:var(--uid-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:where(body>[class^=uid-],body>[class*=\\ uid-]){font-size:var(--uid-font-size-md)}:where([class^=uid-],[class*=\\ uid-]):focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}:root{--dg-font-family:var(--uid-font-family-sans);--dg-text:var(--uid-text-primary);--dg-text-muted:var(--uid-text-secondary);--dg-line:var(--uid-text-tertiary);--dg-node-fill:var(--uid-accent-subtle);--dg-node-stroke:var(--uid-accent);--dg-node-text:var(--uid-text-primary);--dg-cluster-fill:var(--uid-color-bg-subtle);--dg-cluster-stroke:var(--uid-border-default);--dg-cluster-text:var(--uid-text-secondary);--dg-edge-label-fill:var(--uid-surface-raised);--dg-note-fill:var(--uid-warning-subtle);--dg-note-stroke:var(--uid-warning);--dg-note-text:var(--uid-text-primary);--dg-actor-fill:var(--uid-accent-subtle);--dg-actor-stroke:var(--uid-accent);--dg-activation-fill:var(--uid-accent-subtle);--dg-lifeline:var(--uid-border-default);--dg-block-stroke:var(--uid-border-hover);--dg-block-label-fill:var(--uid-color-bg-subtle);--dg-grid:var(--uid-border-subtle);--dg-task-fill:var(--uid-accent);--dg-task-stroke:var(--uid-accent-hover);--dg-task-active-fill:var(--uid-accent-subtle);--dg-task-done-fill:var(--uid-border-default);--dg-task-done-stroke:var(--uid-border-hover);--dg-task-crit-fill:var(--uid-danger);--dg-task-crit-stroke:var(--uid-danger-hover);--dg-task-text:var(--uid-text-on-accent);--dg-task-text-dark:var(--uid-text-primary);--dg-today:var(--uid-danger);--dg-state-start:var(--uid-text-primary);--dg-pie-stroke:var(--uid-surface-raised);--dg-row-fill:var(--uid-surface-raised);--dg-row-alt-fill:var(--uid-color-bg-subtle);--dg-c4-boundary-stroke:var(--uid-text-secondary);--dg-c4-boundary-text:var(--uid-text-primary);--dg-c4-node-stroke:var(--uid-text-secondary);--dg-c4-node-text:var(--uid-text-primary)}:root[data-theme=dark]{--dg-c4-person-fill:#1f5c99;--dg-c4-person-stroke:#6aa5e0;--dg-c4-system-fill:#1f6fbf;--dg-c4-system-stroke:#7bb4ee;--dg-c4-container-fill:#3b7fc0;--dg-c4-container-stroke:#93c5fd;--dg-c4-component-stroke:#bfdbfe;--dg-c4-external-fill:#5f6670;--dg-c4-external-stroke:#9ca3af}:where(.dsk-diagram){overflow-x:auto}:where(.dsk-diagram) svg{max-width:100%;height:auto;margin-inline:auto;display:block}:where(.dsk-block){margin:var(--uid-space-md,12px) 0;min-width:0}:where(.dsk-block--mermaid){overflow-x:auto}:where(.dsk-block--mermaid) svg{max-width:100%;height:auto;margin-inline:auto;display:block}:where(.dsk-flow-frame){border:1px solid var(--uid-border-subtle);border-radius:var(--uid-radius-md);background:var(--uid-surface-raised);position:relative;overflow:hidden}:where(.dsk-media){min-width:0}`;function Q(e,t){return e.replace(/(@dskripchenko\/embed)@[^/]+\//,`$1@${t}/`).replace(/[?#].*$/,``).replace(/[^/]*$/,``)}function de(e){let t=/^(.*\/)@dskripchenko\/embed@[^/]+\//.exec(e);return t?t[1]:null}var $=`1.0.
|
|
6
|
+
:where(dsk-video,dsk-audio,dsk-diagram,dsk-openapi,dsk-flow,dsk-markdown,dsk-editor){min-width:0;display:block;position:relative}:where(dsk-video,dsk-audio,dsk-diagram,dsk-openapi,dsk-flow,dsk-markdown,dsk-editor):not([data-dsk-state]){visibility:hidden;min-height:2rem;overflow:hidden}:where(.dsk-root){min-width:0;display:block}:where([data-dsk-state=loading],.dsk-block[data-dsk-state=loading]){border-radius:var(--uid-radius-md,8px);background:var(--uid-color-bg-subtle,#7f7f7f14);animation:1.4s ease-in-out infinite dsk-pulse}:where(dsk-video[data-dsk-state=loading]){aspect-ratio:16/9}:where(dsk-audio[data-dsk-state=loading]){min-height:72px}:where(dsk-diagram[data-dsk-state=loading],dsk-markdown[data-dsk-state=loading]){min-height:120px}:where(dsk-openapi[data-dsk-state=loading],dsk-editor[data-dsk-state=loading]){min-height:240px}:where(.dsk-block[data-dsk-state=loading]){min-height:96px}@keyframes dsk-pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){:where([data-dsk-state=loading],.dsk-block[data-dsk-state=loading]){animation:none}}:where(.dsk-error){padding:var(--uid-space-sm,8px) var(--uid-space-md,12px);border:1px solid var(--uid-danger,#dc2626);border-radius:var(--uid-radius-md,8px);color:var(--uid-danger,#dc2626);background:var(--uid-danger-subtle,#dc262614);font:13px/1.45 var(--uid-font-family-mono,ui-monospace, monospace);white-space:pre-wrap;overflow-wrap:anywhere}:where(dsk-video,dsk-audio,dsk-diagram,dsk-openapi,dsk-flow,dsk-markdown,dsk-editor,.dsk-block,[class^=uid-],[class*=\\ uid-]),:where(dsk-video,dsk-audio,dsk-diagram,dsk-openapi,dsk-flow,dsk-markdown,dsk-editor,.dsk-block,[class^=uid-],[class*=\\ uid-]) *,:where(dsk-video,dsk-audio,dsk-diagram,dsk-openapi,dsk-flow,dsk-markdown,dsk-editor,.dsk-block,[class^=uid-],[class*=\\ uid-]) :before,:where(dsk-video,dsk-audio,dsk-diagram,dsk-openapi,dsk-flow,dsk-markdown,dsk-editor,.dsk-block,[class^=uid-],[class*=\\ uid-]) :after{box-sizing:border-box}:where(dsk-video,dsk-audio,dsk-openapi,dsk-flow,dsk-editor,.dsk-block,[class^=uid-],[class*=\\ uid-]) :where(button,input,textarea,select){font:inherit}:where(dsk-video,dsk-audio,dsk-diagram,dsk-openapi,dsk-flow,dsk-markdown,dsk-editor,.dsk-block,body>[class^=uid-],body>[class*=\\ uid-]){font-family:var(--uid-font-family-sans);line-height:var(--uid-line-height-normal);color:var(--uid-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:where(body>[class^=uid-],body>[class*=\\ uid-]){font-size:var(--uid-font-size-md)}:where([class^=uid-],[class*=\\ uid-]):focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}:root{--dg-font-family:var(--uid-font-family-sans);--dg-text:var(--uid-text-primary);--dg-text-muted:var(--uid-text-secondary);--dg-line:var(--uid-text-tertiary);--dg-node-fill:var(--uid-accent-subtle);--dg-node-stroke:var(--uid-accent);--dg-node-text:var(--uid-text-primary);--dg-cluster-fill:var(--uid-color-bg-subtle);--dg-cluster-stroke:var(--uid-border-default);--dg-cluster-text:var(--uid-text-secondary);--dg-edge-label-fill:var(--uid-surface-raised);--dg-note-fill:var(--uid-warning-subtle);--dg-note-stroke:var(--uid-warning);--dg-note-text:var(--uid-text-primary);--dg-actor-fill:var(--uid-accent-subtle);--dg-actor-stroke:var(--uid-accent);--dg-activation-fill:var(--uid-accent-subtle);--dg-lifeline:var(--uid-border-default);--dg-block-stroke:var(--uid-border-hover);--dg-block-label-fill:var(--uid-color-bg-subtle);--dg-grid:var(--uid-border-subtle);--dg-task-fill:var(--uid-accent);--dg-task-stroke:var(--uid-accent-hover);--dg-task-active-fill:var(--uid-accent-subtle);--dg-task-done-fill:var(--uid-border-default);--dg-task-done-stroke:var(--uid-border-hover);--dg-task-crit-fill:var(--uid-danger);--dg-task-crit-stroke:var(--uid-danger-hover);--dg-task-text:var(--uid-text-on-accent);--dg-task-text-dark:var(--uid-text-primary);--dg-today:var(--uid-danger);--dg-state-start:var(--uid-text-primary);--dg-pie-stroke:var(--uid-surface-raised);--dg-row-fill:var(--uid-surface-raised);--dg-row-alt-fill:var(--uid-color-bg-subtle);--dg-c4-boundary-stroke:var(--uid-text-secondary);--dg-c4-boundary-text:var(--uid-text-primary);--dg-c4-node-stroke:var(--uid-text-secondary);--dg-c4-node-text:var(--uid-text-primary)}:root[data-theme=dark]{--dg-c4-person-fill:#1f5c99;--dg-c4-person-stroke:#6aa5e0;--dg-c4-system-fill:#1f6fbf;--dg-c4-system-stroke:#7bb4ee;--dg-c4-container-fill:#3b7fc0;--dg-c4-container-stroke:#93c5fd;--dg-c4-component-stroke:#bfdbfe;--dg-c4-external-fill:#5f6670;--dg-c4-external-stroke:#9ca3af}:where(.dsk-diagram){overflow-x:auto}:where(.dsk-diagram) svg{max-width:100%;height:auto;margin-inline:auto;display:block}:where(.dsk-block){margin:var(--uid-space-md,12px) 0;min-width:0}:where(.dsk-block--mermaid){overflow-x:auto}:where(.dsk-block--mermaid) svg{max-width:100%;height:auto;margin-inline:auto;display:block}:where(.dsk-flow-frame){border:1px solid var(--uid-border-subtle);border-radius:var(--uid-radius-md);background:var(--uid-surface-raised);position:relative;overflow:hidden}:where(.dsk-media){min-width:0}`;function Q(e,t){return e.replace(/(@dskripchenko\/embed)@[^/]+\//,`$1@${t}/`).replace(/[?#].*$/,``).replace(/[^/]*$/,``)}function de(e){let t=/^(.*\/)@dskripchenko\/embed@[^/]+\//.exec(e);return t?t[1]:null}var $=`1.0.1`,fe={vue:`3.5.44`,"@dskripchenko/ui":`1.16.0`,"@dskripchenko/wysiwyg":`0.5.2`,"@dskripchenko/diagrams":`1.1.0`,"@dskripchenko/openapi":`1.1.1`,"@dskripchenko/flow":`1.0.2`};function pe(){return document.currentScript instanceof HTMLScriptElement?document.currentScript:Array.from(document.querySelectorAll(`script[src]`)).reverse().find(e=>/\/embed(\.min)?\.js(\?|#|$)/.test(e.src))??null}function me(){if(window.DskEmbed){console.warn(`[dsk-embed] already loaded (${window.DskEmbed.mode} ${window.DskEmbed.version}); this copy is ignored`);return}let e=pe();e||console.warn(`[dsk-embed] cannot find its own <script>; assuming the default CDN`),e?.type===`module`&&console.warn(`[dsk-embed] embed.js runs best as a classic <script>: from a module the import map may come too late in browsers without multiple import maps`);let t=e?.src??`https://cdn.jsdelivr.net/npm/@dskripchenko/embed@${$}/dist/embed.js`,r=H(e),i=Q(t,$),a=n(r.cdnBase??de(t)??`https://cdn.jsdelivr.net/npm/`),o={...fe,...r.versions??{}},{map:s,conflicts:c}=Y(ie(a,o,i));for(let e of c)console.warn(`[dsk-embed] the page maps "${e.specifier}" to ${e.page}; the embed was built against ${e.embed}. A second copy of Vue or the kit breaks the elements — map both to the same file.`);le(`base`,ue);let l=V({mode:`loader`,version:$,versions:o,importMap:s,config:{...r,cdnBase:a,versions:o},async loadPlugin(e){let t=ae[e].map(e=>ce(q(a,o,e))),n=import(`${i}plugins/${e}.js`),[r]=await Promise.all([n,...t]);return r}});window.DskEmbed=l,U(l,e),document.dispatchEvent(new CustomEvent(`dsk:embed-ready`,{detail:{version:$,mode:`loader`}}))}me()})();
|
package/dist/importmap.json
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
"@dskripchenko/ui": "https://cdn.jsdelivr.net/npm/@dskripchenko/ui@1.16.0/dist/index.mjs",
|
|
5
5
|
"@dskripchenko/ui/icons": "https://cdn.jsdelivr.net/npm/@dskripchenko/ui@1.16.0/dist/icons/index.mjs",
|
|
6
6
|
"@dskripchenko/ui/hls": "https://cdn.jsdelivr.net/npm/@dskripchenko/ui@1.16.0/dist/hls/index.mjs",
|
|
7
|
-
"@dskripchenko/wysiwyg": "https://cdn.jsdelivr.net/npm/@dskripchenko/wysiwyg@0.5.
|
|
7
|
+
"@dskripchenko/wysiwyg": "https://cdn.jsdelivr.net/npm/@dskripchenko/wysiwyg@0.5.2/dist/index.mjs",
|
|
8
8
|
"@dskripchenko/diagrams": "https://cdn.jsdelivr.net/npm/@dskripchenko/diagrams@1.1.0/dist/index.mjs",
|
|
9
9
|
"@dskripchenko/openapi": "https://cdn.jsdelivr.net/npm/@dskripchenko/openapi@1.1.1/dist/index.mjs",
|
|
10
10
|
"@dskripchenko/openapi/vue": "https://cdn.jsdelivr.net/npm/@dskripchenko/openapi@1.1.1/dist/vue.mjs",
|
|
11
11
|
"@dskripchenko/flow": "https://cdn.jsdelivr.net/npm/@dskripchenko/flow@1.0.2/dist/index.mjs",
|
|
12
12
|
"@dskripchenko/flow/vue": "https://cdn.jsdelivr.net/npm/@dskripchenko/flow@1.0.2/dist/vue.mjs",
|
|
13
13
|
"@dskripchenko/flow/mermaid": "https://cdn.jsdelivr.net/npm/@dskripchenko/flow@1.0.2/dist/mermaid.mjs",
|
|
14
|
-
"lucide-vue-next": "https://cdn.jsdelivr.net/npm/@dskripchenko/embed@1.0.
|
|
14
|
+
"lucide-vue-next": "https://cdn.jsdelivr.net/npm/@dskripchenko/embed@1.0.1/dist/vendor/lucide-vue-next.js"
|
|
15
15
|
}
|
|
16
16
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dskripchenko/embed",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Drop-in custom elements for any web page from a CDN: video and audio players, Mermaid diagrams, OpenAPI references, process flows, live markdown and a WYSIWYG editor, sharing one Vue runtime and cooperating through a block registry and an event bus.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"@dskripchenko/flow": "1.0.2",
|
|
56
56
|
"@dskripchenko/openapi": "1.1.1",
|
|
57
57
|
"@dskripchenko/ui": "1.16.0",
|
|
58
|
-
"@dskripchenko/wysiwyg": "0.5.
|
|
58
|
+
"@dskripchenko/wysiwyg": "0.5.2",
|
|
59
59
|
"@eslint/js": "^10.0.1",
|
|
60
60
|
"@types/node": "^22.20.5",
|
|
61
61
|
"eslint": "^10.13.0",
|