@cloudhal/cli 0.3.12 → 0.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/starters/blog/package.json +4 -4
- package/dist/assets/studio/assets/{AccountPage-DXynwFov.js → AccountPage-BEFaryjs.js} +2 -2
- package/dist/assets/studio/assets/{ActivityPage-kfiDbxhj.js → ActivityPage-CaRSJHlv.js} +2 -2
- package/dist/assets/studio/assets/{AgentsPage-CJLD8s-v.js → AgentsPage-DR6s7zaQ.js} +2 -2
- package/dist/assets/studio/assets/{AnalyticsPage-eF1Wz6Eg.js → AnalyticsPage-_JSpo8nQ.js} +2 -2
- package/dist/assets/studio/assets/{ApprovalsPage-CcrfrMb0.js → ApprovalsPage-DdPevaLZ.js} +3 -3
- package/dist/assets/studio/assets/{ArticleEditorPage-DLgo19cs.js → ArticleEditorPage-C2asHmlW.js} +2 -2
- package/dist/assets/studio/assets/{ArticlesPage-ChvqmnEc.js → ArticlesPage-bT85JG5s.js} +2 -2
- package/dist/assets/studio/assets/{AssetPage-BQ1Cw2f8.js → AssetPage-Ddy0luOH.js} +2 -2
- package/dist/assets/studio/assets/{Audit-CBohWXfl.js → Audit-OmE16Gp0.js} +2 -2
- package/dist/assets/studio/assets/{AuditBadges--tfPYadK.js → AuditBadges-CjoKFkMy.js} +2 -2
- package/dist/assets/studio/assets/{AutomationsPage-CdfdSrBB.js → AutomationsPage-BBkyTUDa.js} +2 -2
- package/dist/assets/studio/assets/{BodyChanges-BIdCQnRW.js → BodyChanges-C67-tSy-.js} +2 -2
- package/dist/assets/studio/assets/{BuildPage-DPp1TeY5.js → BuildPage-F-NRLJNl.js} +2 -2
- package/dist/assets/studio/assets/{CommandMenu-9SvRcwMS.js → CommandMenu-CMs1qRHL.js} +2 -2
- package/dist/assets/studio/assets/{CommentThreadControls-Bej4Ju8r.js → CommentThreadControls-rHn51ZCS.js} +2 -2
- package/dist/assets/studio/assets/{CommentThreadPage-FvEyW9kh.js → CommentThreadPage-C8jUBgDF.js} +2 -2
- package/dist/assets/studio/assets/{CommenterPage-C08vpD0o.js → CommenterPage-DreEY6Mr.js} +2 -2
- package/dist/assets/studio/assets/{Comments-CTsEJlsH.js → Comments-DANnAEfG.js} +2 -2
- package/dist/assets/studio/assets/{CommentsPage-D9fvmJzX.js → CommentsPage-Cra9ji9T.js} +2 -2
- package/dist/assets/studio/assets/{ConfirmDialog-B2yAK7lR.js → ConfirmDialog-DDDZap6y.js} +2 -2
- package/dist/assets/studio/assets/{EditorPreview-Do3uvSEw.js → EditorPreview-BZygug8K.js} +2 -2
- package/dist/assets/studio/assets/{EntryPath-DaQQNbH_.js → EntryPath-CCoF3bbW.js} +2 -2
- package/dist/assets/studio/assets/{ForgotPasswordPage-Cr4qquES.js → ForgotPasswordPage-DYWhKwe7.js} +2 -2
- package/dist/assets/studio/assets/{Gating-CB6Agrha.js → Gating-BBlmTEBr.js} +2 -2
- package/dist/assets/studio/assets/{GovernanceDialog-DJXeICb7.js → GovernanceDialog-YzAT6s-u.js} +2 -2
- package/dist/assets/studio/assets/{InvitePage-BfSNOlkR.js → InvitePage-C7316q26.js} +2 -2
- package/dist/assets/studio/assets/{ListToolbar-DUEM5tkX.js → ListToolbar-BHXRGWj_.js} +2 -2
- package/dist/assets/studio/assets/{LoginPage-BHIsJNt3.js → LoginPage-D-hw4Y4b.js} +2 -2
- package/dist/assets/studio/assets/{MediaPage-8KBSBMCs.js → MediaPage-BSoK0VVR.js} +2 -2
- package/dist/assets/studio/assets/{MediaPicker-vYgMLoYO.js → MediaPicker-BrpNGScc.js} +2 -2
- package/dist/assets/studio/assets/{MediaUpload-DnGt_uIK.js → MediaUpload-DzoYV1Ni.js} +2 -2
- package/dist/assets/studio/assets/{MembersPage-cF7mAr68.js → MembersPage-C0SMkEg9.js} +2 -2
- package/dist/assets/studio/assets/{Menus-C5xbqFeO.js → Menus-LUcwCsPd.js} +2 -2
- package/dist/assets/studio/assets/{NavigationPage-BOoeHMyu.js → NavigationPage-DIIVJdj_.js} +2 -2
- package/dist/assets/studio/assets/{NewSiteDialog-C5ouXl1H.js → NewSiteDialog-kpjWtalR.js} +2 -2
- package/dist/assets/studio/assets/{PageEditorPage-CU8kkIkJ.js → PageEditorPage-B2f31JCV.js} +2 -2
- package/dist/assets/studio/assets/{PagesPage-DrJpmbio.js → PagesPage-CIohsG0C.js} +2 -2
- package/dist/assets/studio/assets/{PreviewPanel-B1ZffSer.js → PreviewPanel-D4f46wMP.js} +2 -2
- package/dist/assets/studio/assets/{ProjectPage-CYUNQMGK.js → ProjectPage-CZJ81679.js} +2 -2
- package/dist/assets/studio/assets/{Readers-DZ54Pl3o.js → Readers-hc0Z6jdr.js} +3 -3
- package/dist/assets/studio/assets/{RedirectDialog-CCihuEbN.js → RedirectDialog-RW_zqu_Q.js} +2 -2
- package/dist/assets/studio/assets/{RedirectsPage-CHX1m9LB.js → RedirectsPage-BWRlVePU.js} +2 -2
- package/dist/assets/studio/assets/{ReleaseApproval-DktV74hd.js → ReleaseApproval-CKy6ADv1.js} +2 -2
- package/dist/assets/studio/assets/{ReleasePage-Dw_XSlhM.js → ReleasePage-C7luZWA1.js} +2 -2
- package/dist/assets/studio/assets/{ReleaseParts-C8YgT5Gx.js → ReleaseParts-DvmejDuf.js} +2 -2
- package/dist/assets/studio/assets/{ResetPasswordPage-gF92RfLg.js → ResetPasswordPage-COU-1Tr-.js} +2 -2
- package/dist/assets/studio/assets/{RowMenu-CFE5AHLz.js → RowMenu-CgotKf_E.js} +2 -2
- package/dist/assets/studio/assets/{ScheduleCard-CeTqH2ne.js → ScheduleCard-BtnJ_Bzg.js} +2 -2
- package/dist/assets/studio/assets/{ScheduleDialog-VOpbR7ph.js → ScheduleDialog-BScv2CDJ.js} +2 -2
- package/dist/assets/studio/assets/{ScheduleHistoryPage-C-6q2RWW.js → ScheduleHistoryPage-vEL4E2Gv.js} +2 -2
- package/dist/assets/studio/assets/{ScheduleStatusBadge-CWMQx3jR.js → ScheduleStatusBadge-8n3clv2h.js} +2 -2
- package/dist/assets/studio/assets/{Schedules-BmMq2hT-.js → Schedules-CczPJWrl.js} +2 -2
- package/dist/assets/studio/assets/{SchedulesPage-D2_iIwj_.js → SchedulesPage-CPRSdvZG.js} +2 -2
- package/dist/assets/studio/assets/{Seo-CYRxTxto.js → Seo-C8dMpUy1.js} +2 -2
- package/dist/assets/studio/assets/{SeoPreview-bkyTnztF.js → SeoPreview-B0gV3OO-.js} +2 -2
- package/dist/assets/studio/assets/{Settings-SLtgVs8u.js → Settings-CRS_oj46.js} +2 -2
- package/dist/assets/studio/assets/{SiteOverviewPage-DC_ZvMF-.js → SiteOverviewPage-A_YwaATE.js} +2 -2
- package/dist/assets/studio/assets/{SiteSettingsPage-D6LR9ixn.js → SiteSettingsPage-C9KidHjf.js} +2 -2
- package/dist/assets/studio/assets/{SitesPage-DVVVSYPS.js → SitesPage-BWeCjl6F.js} +2 -2
- package/dist/assets/studio/assets/{SkillsPage-DN6HS7QU.js → SkillsPage-C4Qx2Q0r.js} +2 -2
- package/dist/assets/studio/assets/{SnapshotsPage-BVr8P-Pg.js → SnapshotsPage-BpDI47Nb.js} +2 -2
- package/dist/assets/studio/assets/{StatusActions-PQeUfJWJ.js → StatusActions-CTs-zXTk.js} +3 -3
- package/dist/assets/studio/assets/{TagsMigration-gtPPEimv.js → TagsMigration-CRv_2FkT.js} +2 -2
- package/dist/assets/studio/assets/{TaxonomyPage-i2zSxPw4.js → TaxonomyPage-1NKiEnue.js} +2 -2
- package/dist/assets/studio/assets/{TermEditorPage-BfYWeq23.js → TermEditorPage-zHbvzgtO.js} +2 -2
- package/dist/assets/studio/assets/{TermPickers-1CS2mhBG.js → TermPickers-BlyDJChj.js} +2 -2
- package/dist/assets/studio/assets/{TranslationList-Ch56yMyZ.js → TranslationList-DRCdjbvf.js} +2 -2
- package/dist/assets/studio/assets/{TranslationsPage--mEL1Eou.js → TranslationsPage-BFg-PQAG.js} +2 -2
- package/dist/assets/studio/assets/{charts-DHcCY1ZQ.js → charts-B9H-5dY6.js} +2 -2
- package/dist/assets/studio/assets/{collapsible-l8g94on4w7qfosmn-BXHVBN0d.js → collapsible-l8g94on4w7qfosmn-De4SMvUy.js} +2 -2
- package/dist/assets/studio/assets/{combobox-hdxtsm2gqcxxgfju-0KV94PHy.js → combobox-hdxtsm2gqcxxgfju-DEsFIzc-.js} +2 -2
- package/dist/assets/studio/assets/{deleteLabels-55auQImo.js → deleteLabels-ZHt19si-.js} +2 -2
- package/dist/assets/studio/assets/{editor-CyuepBzJ.js → editor-DCU0_kqg.js} +2 -2
- package/dist/assets/studio/assets/{index-B3isvl8R.js → index-OjH3NEOH.js} +3 -3
- package/dist/assets/studio/assets/{item-url-1NlGiKuj.js → item-url-Bn_COg0I.js} +2 -2
- package/dist/assets/studio/assets/{layer-dialog-j5ywmzs46ccg6oqy-nvLQiI4N.js → layer-dialog-j5ywmzs46ccg6oqy-uKC-1DCk.js} +2 -2
- package/dist/assets/studio/assets/permalinks-XTIdpYm2.js +2 -0
- package/dist/assets/studio/assets/{tag-input-ohfybx5dbxy3houy-CSOSIyf4.js → tag-input-ohfybx5dbxy3houy-sHF6otfN.js} +2 -2
- package/dist/assets/studio/index.html +1 -1
- package/package.json +11 -11
- package/dist/assets/studio/assets/permalinks-CNYgOPCo.js +0 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/editor-
|
|
2
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,r as n}from"./react-CDCuUAOg.js";import{t as r}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{n as i,o as a,t as o}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{t as s}from"./link-cqyfjezntvr53rh7-3eczR57J.js";import{S as c,_ as l,b as u,h as d}from"./tanstack-BRxyYm4G.js";import{t as f}from"./Archive.es-C0uhxndN.js";import{t as p}from"./ArrowCounterClockwise.es-Bn2jikgp.js";import{r as m,t as h}from"./DirectionalIcon-UZJFXGY_.js";import{t as g}from"./CalendarPlus.es-YGFiosIm.js";import{n as _,t as v}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as y}from"./DotsThree.es-C-pT5SgE.js";import{t as b}from"./checkbox-lbo436duy7krxcsk-HiD6vTuC.js";import{t as x}from"./RocketLaunch.es-BTDML1jE.js";import{t as S}from"./StopCircle.es-a6tRK2fc.js";import{n as C,t as w}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{a as T}from"./useMe-BkBpEyf5.js";import{t as E}from"./Toast-BsM5w6Jh.js";import{t as D}from"./input-h5ox92gf13ge04hp-CDAaOl0A.js";import{t as O}from"./clipboard-text-gd6s3n1bqse9zgt8-C151k1zC.js";import{a as k,o as A,t as j}from"./api-CHeogUo-.js";import{t as M}from"./dropdown-m53ji1d66mws89wh-BTaT-o14.js";import{t as N}from"./select-futox5zqr3r80y9a-FumEl51u.js";import{t as P}from"./layer-dialog-j5ywmzs46ccg6oqy-nvLQiI4N.js";import{a as ee}from"./intl-C22KAx_l.js";import{t as F}from"./preload-helper-DjzSQ1t3.js";import{t as I}from"./AuditBadges--tfPYadK.js";import{t as L}from"./InsetPanel-CHSg953_.js";import{i as te,r as ne}from"./BodyChanges-BIdCQnRW.js";import{t as R}from"./SectionCard-Bqvz-NiL.js";import{t as z}from"./Status-Bl65tSQl.js";import{c as B,d as V,i as re,u as H}from"./i18n-CCHry74V.js";import{t as U}from"./api-errors-c5QRmg0g.js";import{d as ie,i as ae,r as oe}from"./useLiveSite-CUn2kbrj.js";import{c as se}from"./seo-C-YSZ4mD.js";import{E as ce,d as le,ft as ue,q as W,z as G}from"./index-B3isvl8R.js";import{t as de}from"./body-blocks-D3YZCH_O.js";import{n as fe}from"./permalinks-CNYgOPCo.js";import{t as pe}from"./ConfirmDialog-B2yAK7lR.js";import{t as me}from"./workflow-D1TOv5ea.js";import{n as he}from"./languages-CbQ722uB.js";import{a as ge,r as _e}from"./BlockSection-D3AuU_96.js";import{t as ve}from"./MediaPicker-vYgMLoYO.js";import{t as K}from"./EditorPreview-Do3uvSEw.js";import{t as ye}from"./useSettled-C0sKy_Gd.js";import{n as q,t as be}from"./item-url-1NlGiKuj.js";var J=e(t(),1),Y=n(),xe={original:`translations.method.original`,human:`translations.method.human`,machine:`translations.method.machine`,"machine-reviewed":`translations.method.machineReviewed`};function Se(e,t){return t.kind===`page`?`/sites/${e}/pages/${t.id}`:`/sites/${e}/articles/${t.id}`}function Ce({siteId:e,node:t,dirty:n}){let{t:i,locale:a}=B(),u=c(),[f,p]=(0,J.useState)(!1),m=[`translations`,e,t.id,t.rev],h=l({queryKey:m,queryFn:()=>j.translations.group(e,t.id)}),g=d({mutationFn:()=>j.translations.review(e,t.id,t.rev),onSuccess:async t=>{p(!1),u.setQueryData([`sections`in t?`page`:`entry`,e,t.id],t),await u.invalidateQueries({queryKey:[`translations`,e]})}}),v=e=>he(a,e),y=h.data?.items??[],b=t.translation?.method===`machine`&&!t.translation.review;return(0,Y.jsxs)(R,{title:i(`translations.title`),icon:(0,Y.jsx)(G,{size:16}),actions:y.length>1?(0,Y.jsx)(r,{variant:`secondary`,children:y.length}):void 0,id:`translations`,children:[h.data===void 0?(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:i(`common.loading`)}):y.length<2?(0,Y.jsx)(ce,{icon:(0,Y.jsx)(G,{size:32,className:`text-kumo-inactive`}),title:i(`translations.none`,{language:v(t.locale)}),description:i(`translations.noneDescription`)}):(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[(0,Y.jsx)(`dl`,{className:`grid divide-y divide-kumo-hairline`,children:y.map(n=>(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-1 py-2 first:pt-0 last:pb-0`,"data-translation":n.locale,children:[(0,Y.jsxs)(`dt`,{className:`flex min-w-0 items-center justify-between gap-2`,children:[(0,Y.jsx)(_,{as:`span`,children:v(n.locale)}),(0,Y.jsx)(z,{status:n.status})]}),(0,Y.jsxs)(`dd`,{className:`grid min-w-0 gap-1`,children:[n.id===t.id?(0,Y.jsx)(_,{as:`span`,variant:`secondary`,size:`sm`,children:i(`translations.current`)}):(0,Y.jsx)(s,{href:Se(e,n),variant:`inline`,children:(0,Y.jsx)(`span`,{className:`block truncate`,children:n.title})}),(0,Y.jsxs)(`span`,{className:`flex flex-wrap gap-1`,children:[n.method&&(0,Y.jsx)(r,{variant:`outline`,children:i(xe[n.method])}),n.stale&&(0,Y.jsx)(r,{variant:`warning`,children:i(`translations.stale`)}),n.sourceMissing&&(0,Y.jsx)(r,{variant:`warning`,children:i(`translations.sourceMissing`)})]})]})]},n.id))}),b&&(0,Y.jsxs)(`div`,{className:`grid gap-1`,children:[(0,Y.jsx)(o,{variant:`secondary`,disabled:n,onClick:()=>p(!0),children:i(`translations.review`)}),n&&(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:i(`translations.reviewSaveFirst`)})]})]}),(0,Y.jsx)(pe,{open:f,onOpenChange:p,title:i(`translations.reviewTitle`),description:i(`translations.reviewDescription`),confirmLabel:i(`translations.review`),busy:g.isPending,error:g.error,onConfirm:()=>g.mutate()})]})}var we=[`improve`,`shorten`,`expand`,`fix`,`tone`,`translate`,`custom`],Te=[`formal`,`friendly`,`plain`],Ee=[`en`,`tr`,`de`,`fr`,`es`,`it`,`pt`,`nl`,`ar`,`ru`,`ja`,`zh`],De=new Set([`ai_budget`,`ai_busy`,`ai_off`,`ai_model_unavailable`,`ai_rate_limited`,`ai_unavailable`,`ai_failed`]);function X(e){let t=e.trim(),n=/^```[a-z]*\n([\s\S]*?)\n```$/i.exec(t);return(n?n[1]??``:t).trim()}function Oe({siteId:e,nodeId:t,pageLocale:n,selection:r,onClose:i}){let{t:a,locale:s}=B(`bodyEditor`),c=`bodyEditor.ai`,l=ne(),[u,d]=(0,J.useState)(`improve`),[f,p]=(0,J.useState)(`plain`),[m,h]=(0,J.useState)(n.startsWith(`tr`)?`en`:`tr`),[g,y]=(0,J.useState)(``),[b,x]=(0,J.useState)(`idle`),[T,E]=(0,J.useState)(``),[O,A]=(0,J.useState)(),M=(0,J.useRef)(null);(0,J.useEffect)(()=>{r&&(x(`idle`),E(``),A(void 0))},[r]),(0,J.useEffect)(()=>()=>M.current?.abort(),[]);let F=(0,J.useMemo)(()=>{let e=ee([s],{type:`language`});return Object.fromEntries(Ee.map(t=>[t,e.of(t)??t]))},[s]),I=async()=>{if(!r)return;M.current?.abort();let n=new AbortController;M.current=n,x(`running`),E(``),A(void 0);let i={command:u,nodeId:t,text:r.markdown,...u===`tone`?{tone:f}:{},...u===`translate`?{locale:m}:{},...u===`custom`?{instruction:g.trim()}:{}},o=``;try{for await(let t of j.ai.command(e,i,n.signal))o+=t,E(o);let t=X(o);E(t),t||A(a(`${c}.empty`)),x(`done`)}catch(e){if(n.signal.aborted){let e=X(o);E(e),x(e?`done`:`idle`);return}let t=e instanceof k?e.body.error:void 0;A(t&&De.has(t)?a(`${c}.errors.${t}`):e instanceof Error?e.message:String(e)),x(`idle`)}},L=()=>{M.current?.abort(),i()},R=u!==`custom`||g.trim().length>0,z=b===`done`&&T?T:void 0;return(0,Y.jsx)(P.Root,{open:r!==void 0,onOpenChange:e=>{e||L()},children:(0,Y.jsxs)(P.Content,{size:`lg`,closeLabel:a(`common.close`),children:[(0,Y.jsx)(P.Title,{children:a(`${c}.title`)}),(0,Y.jsx)(P.Description,{children:a(`${c}.description`)}),(0,Y.jsx)(P.Body,{children:(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-4`,"data-ai-dialog":b,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-end gap-3`,children:[(0,Y.jsx)(N,{className:`w-56 max-w-full`,label:a(`${c}.command`),value:u,onValueChange:e=>d(e),disabled:b===`running`,items:Object.fromEntries(we.map(e=>[e,a(`${c}.commands.${e}`)]))}),u===`tone`&&(0,Y.jsx)(N,{className:`w-48 max-w-full`,label:a(`${c}.tone`),value:f,onValueChange:e=>p(e),disabled:b===`running`,items:Object.fromEntries(Te.map(e=>[e,a(`${c}.tones.${e}`)]))}),u===`translate`&&(0,Y.jsx)(N,{className:`w-48 max-w-full`,label:a(`${c}.language`),value:m,onValueChange:e=>h(e),disabled:b===`running`,items:F}),b===`running`?(0,Y.jsx)(o,{variant:`secondary`,icon:(0,Y.jsx)(S,{}),onClick:()=>M.current?.abort(),children:a(`${c}.stop`)}):(0,Y.jsx)(o,{variant:`secondary`,disabled:!R,onClick:()=>void I(),children:a(b===`done`?`${c}.again`:`${c}.run`)})]}),u===`custom`&&(0,Y.jsx)(D,{className:`w-full`,label:a(`${c}.instruction`),placeholder:a(`${c}.instructionPlaceholder`),value:g,maxLength:500,onValueChange:y,disabled:b===`running`}),O&&(0,Y.jsx)(w,{variant:`error`,icon:(0,Y.jsx)(C,{weight:`fill`}),title:a(`${c}.failed`),description:O}),b===`running`&&(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-1.5`,role:`status`,"aria-live":`polite`,children:[(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:a(`${c}.writing`)}),T?(0,Y.jsx)(`div`,{className:`max-h-72 min-w-0 overflow-auto rounded-lg bg-kumo-recessed px-3 py-2`,children:(0,Y.jsx)(_,{size:`sm`,children:(0,Y.jsx)(`span`,{className:`whitespace-pre-wrap break-words`,children:T})})}):(0,Y.jsx)(v,{minWidth:40,maxWidth:80})]}),z&&r&&(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-1.5`,"data-ai-result":``,children:[(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:a(`${c}.result`)}),(0,Y.jsx)(te,{diff:de(r.markdown,z),labels:l})]})]})}),(0,Y.jsx)(P.Actions,{dismissLabel:a(`common.cancel`),children:(0,Y.jsx)(P.Actions.Primary,{disabled:!z,onClick:()=>{z&&r&&(r.replace(z)?L():A(a(`${c}.changed`)))},children:a(`${c}.replace`)})})]})})}var ke=(0,J.lazy)(()=>F(()=>import(`./editor-CyuepBzJ.js`).then(e=>({default:e.MarkdownEditor})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111]))),Ae=(0,J.createContext)(void 0);function je(e,t,n){let r=n.trim();if(/^asset:/i.test(r)){let t=/^asset:(asset_[A-Za-z0-9]{6,32})$/.exec(r)?.[1];return t?j.assets.contentUrl(e,t):void 0}return se(r,t)}function Me({siteId:e,defaultLocale:t,host:n,nodeId:r,pageLocale:i,value:a,onChange:s,size:c=`base`,readOnly:l=!1,focusSave:u}){let d=H(`bodyEditor`),f=(0,J.useContext)(Ae),p=u??f,{locale:m}=B(),[h,g]=(0,J.useState)(!1),v=(0,J.useRef)(null),y=e=>{v.current?.(e),v.current=null,g(!1)},b=(0,J.useCallback)(()=>new Promise(e=>{v.current?.(void 0),v.current=e,g(!0)}),[]),x=(0,J.useMemo)(()=>({rich:d(`bodyEditor.rich`),markdown:d(`bodyEditor.markdown`),toolbar:d(`bodyEditor.toolbar`),bold:d(`bodyEditor.bold`),italic:d(`bodyEditor.italic`),strike:d(`bodyEditor.strike`),code:d(`bodyEditor.code`),heading2:d(`bodyEditor.heading2`),heading3:d(`bodyEditor.heading3`),bulletList:d(`bodyEditor.bulletList`),orderedList:d(`bodyEditor.orderedList`),taskList:d(`bodyEditor.taskList`),quote:d(`bodyEditor.quote`),codeBlock:d(`bodyEditor.codeBlock`),table:d(`bodyEditor.table`),rule:d(`bodyEditor.rule`),link:d(`bodyEditor.link`),undo:d(`bodyEditor.undo`),redo:d(`bodyEditor.redo`),linkTitle:d(`bodyEditor.linkTitle`),linkUrl:d(`bodyEditor.linkUrl`),linkApply:d(`bodyEditor.linkApply`),linkRemove:d(`bodyEditor.linkRemove`),linkInvalid:d(`bodyEditor.linkInvalid`),image:d(`bodyEditor.image`),paragraph:d(`bodyEditor.paragraph`),insertMenu:d(`bodyEditor.insertMenu`),noMatches:d(`bodyEditor.noMatches`),selectionToolbar:d(`bodyEditor.selectionToolbar`),sourceBadge:d(`bodyEditor.sourceBadge`),sourceHint:d(`bodyEditor.sourceHint`),editSource:d(`bodyEditor.editSource`),outline:d(`bodyEditor.outline`),outlineEmpty:d(`bodyEditor.outlineEmpty`),outlineSkipped:d(`bodyEditor.outlineSkipped`),outlineExtraH1:d(`bodyEditor.outlineExtraH1`),askAi:d(`bodyEditor.ai.ask`),surfacePreview:d(`bodyEditor.surfacePreview`),showCode:d(`bodyEditor.showCode`),hideCode:d(`bodyEditor.hideCode`),focus:d(`bodyEditor.focus`),focusExit:d(`bodyEditor.focusExit`),spotlight:d(`bodyEditor.spotlight`),focusShortcut:d(`bodyEditor.focusShortcut`,{keys:/Mac|iP(hone|ad)/.test(globalThis.navigator?.platform??``)?`⌘⇧\\`:`Ctrl+Shift+\\`})}),[d]),S=ge(e),C=_e(),w=(0,J.useMemo)(()=>({types:S.filter(e=>e.where.includes(`body`)),enumLabel:C,labels:{properties:d(`bodyEditor.blocks.properties`),invalid:d(`bodyEditor.blocks.invalid`),unknown:d(`editor.blocks.unknown`,{type:`{type}`}),unknownHint:d(`editor.blocks.unknownHint`),editSource:d(`bodyEditor.editSource`),item:d(`editor.blocks.item`,re(`n`)),addItem:d(`editor.blocks.addItem`),removeItem:d(`editor.blocks.removeItem`),moveUp:d(`editor.blocks.moveUp`),moveDown:d(`editor.blocks.moveDown`)}}),[S,C,d]),T=Ne(e,r!==void 0&&!l),[E,O]=(0,J.useState)(),k=(0,J.useCallback)(t=>je(e,n,t),[e,n]),A=(0,J.useRef)(new Map),M=(0,J.useCallback)(t=>{let n=A.current.get(t);return n||(n=j.entries.previewFragment(e,t).then(e=>e.html,()=>void 0),A.current.set(t,n)),n},[e]),N=(0,Y.jsx)(D,{"aria-label":d(`editor.body`),value:a,onValueChange:s,autoResize:!0,minRows:c===`sm`?6:12,maxRows:32,readOnly:l,className:`w-full font-mono`});return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(J.Suspense,{fallback:N,children:(0,Y.jsx)(ke,{value:a,onChange:s,label:d(`editor.body`),labels:x,placeholder:d(`bodyEditor.placeholder`),resolveSrc:k,size:c,readOnly:l,locale:m,blocks:w,previewSource:M,...p?{focusActions:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:p.dirty?d(`bodyEditor.focusUnsaved`):d(`bodyEditor.focusSaved`)}),(0,Y.jsx)(o,{variant:`primary`,size:`sm`,loading:p.saving,disabled:!p.dirty||p.disabled,onClick:p.onSave,"data-testid":`focus-save`,children:d(`common.save`)})]})}:{},...l?{}:{onPickImage:b},...T?{onAskAi:O}:{}})}),(0,Y.jsx)(Oe,{siteId:e,nodeId:r??``,pageLocale:i??t,selection:T?E:void 0,onClose:()=>O(void 0)}),(0,Y.jsx)(ve,{siteId:e,defaultLocale:t,open:h,onOpenChange:e=>{e||y(void 0)},onPick:e=>y({src:`asset:${e.asset.id}`})})]})}function Ne(e,t){let n=T(`ai.invoke`),r=l({queryKey:[`ai`,e,`settings`],queryFn:()=>j.ai.settings(e),enabled:t&&n.allowed,staleTime:3e5,retry:!1});return t&&n.allowed&&r.data?.settings.enabled===!0&&r.data.transport!==`none`}function Pe({siteId:e,nodeId:t,sectionId:n,dirty:i,readOnly:a=!1,onDecided:o}){let s=H(),u=E(),f=ne(),p=c(),m=[`proposals`,e,t],h=l({queryKey:m,queryFn:()=>j.proposals.list(e,t)}),g=d({mutationFn:({id:t,accept:n,ops:r})=>n?j.proposals.accept(e,t,r):j.proposals.reject(e,t),onSuccess:(e,{accept:t})=>{u.success(s(t?`proposals.accepted`:`proposals.rejected`)),t&&o()},onError:e=>{u.error(s(`proposals.failed`),U(s,e)),o()},onSettled:()=>p.invalidateQueries({queryKey:m})}),v=(h.data??[]).filter(e=>e.proposal.sectionId===n);return v.length===0?null:(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-2`,"data-proposals":``,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(_,{bold:!0,as:`h3`,size:`sm`,children:s(`proposals.title`)}),(0,Y.jsx)(r,{variant:`info`,children:s(`proposals.count`,{count:v.length})})]}),v.map(t=>(0,Y.jsx)(Fe,{item:t,dirty:i,readOnly:a,busy:g.isPending&&g.variables?.id===t.proposal.id,labels:f,siteId:e,onDecide:(e,n)=>g.mutate({id:t.proposal.id,accept:e,...n?{ops:n}:{}})},t.proposal.id))]})}function Fe({item:e,dirty:t,readOnly:n,busy:i,labels:s,siteId:c,onDecide:u}){let d=H(),{proposal:f,problem:p}=e,m=f.ops.length,[h,g]=(0,J.useState)(()=>f.ops.map((e,t)=>t)),y=h.length<m,x=l({queryKey:[`proposal-preview`,c,f.id,h],queryFn:()=>j.proposals.preview(c,f.id,[...h]),enabled:y&&h.length>0&&p===void 0}),S=y?x.data?.diff:e.diff,C=f.actor.name??f.actor.id,w=!n&&p===void 0&&m>1&&e.steps!==void 0,T=t||p!==void 0||h.length===0||y&&!x.data?.diff;return(0,Y.jsx)(`div`,{"data-proposal":f.id,children:(0,Y.jsx)(L,{children:(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(I,{kind:f.actor.kind,label:d(`proposals.from`,{name:C})}),(0,Y.jsx)(le,{iso:f.createdAt}),p!==void 0&&(0,Y.jsx)(a,{content:p,children:(0,Y.jsx)(`span`,{className:`inline-flex`,children:(0,Y.jsx)(r,{variant:`warning`,children:d(`proposals.outOfDate`)})})})]}),f.note&&(0,Y.jsx)(_,{size:`sm`,children:f.note}),w&&(0,Y.jsx)(b.Group,{legend:d(`proposals.steps`),value:h.map(String),allValues:f.ops.map((e,t)=>String(t)),disabled:i,onValueChange:e=>g(e.map(Number).sort((e,t)=>e-t)),children:(e.steps??[]).map((e,t)=>(0,Y.jsx)(b.Item,{value:String(t),label:Le(d,e)},t))}),p===void 0?h.length===0?(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:d(`proposals.chooseRequired`)}):S?(0,Y.jsx)(te,{diff:S,labels:s}):y&&x.data?.problem?(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:x.data.problem}):(0,Y.jsx)(v,{minWidth:40,maxWidth:80}):(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:d(`proposals.outOfDateHint`)}),!n&&(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[t&&(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:d(`proposals.saveFirst`)}),(0,Y.jsx)(o,{variant:`secondary`,size:`sm`,disabled:i,onClick:()=>u(!1),children:d(`proposals.reject`)}),(0,Y.jsx)(o,{variant:`primary`,size:`sm`,disabled:T,loading:i,onClick:()=>u(!0,y?[...h]:void 0),children:y?d(`proposals.acceptSome`,{count:h.length,total:m}):d(`proposals.accept`)})]})]})})})}var Ie=e=>e.length>80?`${e.slice(0,79).trimEnd()}…`:e;function Le(e,t){let n=e(`proposals.aBlock`);return e(`proposals.step.${t.op}`,{before:Ie(t.before??n),after:Ie(t.after??n)})}function Re({queryKey:e,src:t,rev:n,name:i,dirty:o,input:s,render:c}){let d=H(),f=JSON.stringify(s),p=ye(f,400),m=l({queryKey:[...e,n,p],queryFn:()=>c(JSON.parse(p)),enabled:o,placeholderData:u});return o?(0,Y.jsx)(K,{draft:!0,src:t,srcDoc:m.data?.html,stale:p!==f||m.isFetching,rev:n,name:i,dirty:!1,status:m.error?(0,Y.jsx)(a,{content:U(d,m.error),children:(0,Y.jsx)(`span`,{className:`inline-flex`,children:(0,Y.jsx)(r,{variant:`error`,children:d(`preview.failed`)})})}):void 0}):(0,Y.jsx)(K,{src:t,rev:n,name:i,dirty:!1})}var ze=()=>V(F(()=>import(`./ScheduleCard-CeTqH2ne.js`),__vite__mapDeps([112,1,3,4,2,5,6,7,58,113,10,11,114,8,115,64,116,59,73,77,79,80,56,57,89,48,90,37,62,63,65,38,84,87,88,46,24,27,94,69,29,49,31,28,32,33,34,95,117,72,118,100,102,54,9,55,60,61,66,67,68,47,70,71,74,75,76,17,18,19,20,21,78,81,53,51,30,82,83,85,86,91,92,40,93,45,50,52,36,96,97,98,99,101,103,104,105,106,107,108,119,120,121,43,44])),[`schedules`]),Z=()=>V(F(()=>import(`./ScheduleDialog-VOpbR7ph.js`),__vite__mapDeps([122,1,3,6,10,2,5,7,11,59,73,114,4,8,58,115,64,116,77,79,80,56,57,89,48,90,37,62,63,65,38,84,87,88,46,24,27,94,69,29,49,31,28,32,33,34,95,117,72,118,100,102,54,9,55,60,61,66,67,68,47,70,71,74,75,76,17,18,19,20,21,78,81,53,51,30,82,83,85,86,91,92,40,93,45,50,52,36,96,97,98,99,101,103,104,105,106,107,108,119,120,121,123,124,125,126])),[`schedules`]),Be=(0,J.lazy)(()=>ze().then(e=>({default:e.ScheduleCard}))),Ve=(0,J.lazy)(()=>ze().then(e=>({default:e.LockedBanner}))),He=(0,J.lazy)(()=>Z().then(e=>({default:e.ScheduleDialog})));function Q(){let e=l({queryKey:[`instance`],queryFn:j.instance,retry:!1}).data?.features.schedules;return{available:e?.available===!0,gates:e?.available===!0&&e.gates}}function Ue(e){let t=A(e);return t===`gates_unsupported`||t===`invalid_availability`||t===`scheduled_locked`}function We({siteId:e,node:t,dirty:n,prepare:r,disabled:i,reason:a}){let s=H(),c=Q(),[l,u]=(0,J.useState)(!1),[d,f]=(0,J.useState)(!1);return c.available?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(o,{variant:`secondary`,icon:(0,Y.jsx)(g,{}),onPointerEnter:()=>void Z(),onFocus:()=>void Z(),onClick:()=>{f(!0),u(!0)},disabled:i,title:a,"data-testid":`schedule-action`,children:s(`editor.schedule`)}),d?(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(He,{siteId:e,open:l,onOpenChange:u,nodes:[t],dirty:n,prepare:r})}):null]}):null}function Ge(e){let t=Q();return t.available?(0,Y.jsx)(J.Suspense,{fallback:(0,Y.jsxs)(`div`,{className:`grid gap-3 px-5 py-4`,"aria-hidden":!0,children:[(0,Y.jsx)(v,{minWidth:30,maxWidth:50}),(0,Y.jsx)(v,{minWidth:60,maxWidth:90})]}),children:(0,Y.jsx)(Be,{...e,gatesOff:!t.gates})}):null}function Ke(e){return Q().available?(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(Ve,{...e})}):null}var qe=m(ue);function $(e,t){let{origin:n,site:r}=ae(e),i=oe(e,t.id),a=`path`in t?t.path:fe(r,t);if(!r)return{url:void 0,path:a,live:!1};let o=q(r,n,t);return{url:be(r,n,t),path:o,live:ie(i,e=>q(r,n,e),o)}}function Je({path:e,url:t,live:n}){let r=H();return(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-1.5`,"data-testid":`live-address`,"data-live":n,children:[(0,Y.jsx)(_,{size:`sm`,bold:!0,as:`span`,children:r(n?`liveSite.liveAt`:`liveSite.willBeAt`)}),t?(0,Y.jsx)(O,{size:`base`,text:t,tooltip:{text:r(`common.copy`),copiedText:r(`common.copied`)}}):(0,Y.jsx)(_,{variant:`mono-secondary`,as:`span`,children:e})]})}function Ye({siteId:e,entry:t}){return(0,Y.jsx)(Je,{...$(e,t)})}function Xe({siteId:e,page:t}){return(0,Y.jsx)(Je,{...$(e,t)})}function Ze({siteId:e,item:t}){let n=H(),{url:r,live:o}=$(e,t);return!o||!r?null:(0,Y.jsx)(a,{content:r,children:(0,Y.jsx)(i,{href:r,external:!0,variant:`ghost`,icon:qe,"aria-label":n(`liveSite.viewLive`),"data-testid":`view-live`,children:(0,Y.jsx)(`span`,{className:`hidden lg:inline`,children:n(`liveSite.viewLive`)})})})}function Qe({status:e,busy:t,onChange:n,onPublish:r,menu:i,allowed:s,publishReason:c,readOnlyReason:l,directPublish:u}){let d=H(),g=e=>!s||s.includes(e),_=!g(`published`),v=me[e].filter(g),b=l!==void 0,S=e===`review`||e===`draft`&&u&&!_,C=S?(0,Y.jsx)(o,{variant:`secondary`,icon:(0,Y.jsx)(x,{}),onClick:r,disabled:t||b||_,title:l??(_?c:void 0),"data-testid":`publish`,children:d(`common.publish`)}):e===`draft`&&g(`review`)?(0,Y.jsx)(o,{variant:`secondary`,icon:(0,Y.jsx)(h,{icon:W}),onClick:()=>n(`review`),disabled:t||b,title:l,"data-testid":`send-to-review`,children:d(_?`editor.submitForReview`:`editor.sendToReview`)}):e===`archived`&&g(`draft`)?(0,Y.jsx)(o,{variant:`secondary`,icon:(0,Y.jsx)(p,{}),onClick:()=>n(`draft`),disabled:t||b,title:l,children:d(`editor.restore`)}):null,w=v.filter(t=>t!==`published`&&!(e===`draft`&&t===`review`&&!S)&&(e!==`archived`||t!==`draft`)),T=t=>d(t===`draft`?e===`published`?`editor.unpublish`:`editor.backToDraft`:t===`archived`?`editor.archive`:`editor.sendToReview`),E=e=>e===`archived`?f:e===`review`?m(W):p,D=d(`editor.moreActions`);return(0,Y.jsxs)(Y.Fragment,{children:[(w.length>0||i)&&(0,Y.jsxs)(M,{children:[(0,Y.jsx)(a,{content:D,render:(0,Y.jsx)(M.Trigger,{render:(0,Y.jsx)(o,{variant:`secondary`,shape:`square`,icon:(0,Y.jsx)(y,{weight:`bold`}),"aria-label":D,disabled:t})})}),(0,Y.jsxs)(M.Content,{align:`end`,children:[w.length>0&&(0,Y.jsxs)(M.Group,{children:[(0,Y.jsx)(M.Label,{children:d(`editor.status`)}),w.map(e=>(0,Y.jsx)(M.Item,{icon:E(e),onClick:()=>n(e),disabled:b,children:T(e)},e))]}),w.length>0&&i&&(0,Y.jsx)(M.Separator,{}),i]})]}),C]})}export{We as a,Ue as c,Me as d,Ae as f,Ze as i,Re as l,Ye as n,Ge as o,Ce as p,Xe as r,Ke as s,Qe as t,Pe as u};
|
|
3
|
-
//# sourceMappingURL=StatusActions-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/editor-DCU0_kqg.js","assets/rolldown-runtime-hePW80VL.js","assets/IconBase.es-BZDpYMnj.js","assets/react-CDCuUAOg.js","assets/badge-dq8bx752b9dp7dst--rpq8QXS.js","assets/useBaseUiId-lg1teubxudgin0w2-CURnJ4xq.js","assets/tanstack-BRxyYm4G.js","assets/button-pa1bq9b85hawg41a-CmOCuL-1.js","assets/ArrowClockwise.es-BA0pzb0Y.js","assets/ArrowCounterClockwise.es-Bn2jikgp.js","assets/skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js","assets/useButton-h7s9aq1sfw6arawe-BKHpRbOo.js","assets/blockIcon-VJ3KMOyZ.js","assets/Question.es-BqQtQle2.js","assets/Image.es-BcOUS77O.js","assets/LinkSimple.es-BB_3GfFO.js","assets/ListBullets.es-DzSyoNA1.js","assets/checkbox-lbo436duy7krxcsk-HiD6vTuC.js","assets/useAriaLabelledBy-ox8dum59shmgypq1-Cv8wf0no.js","assets/areArraysEqual-bcx201k1x9ziizym-DpJhDMgE.js","assets/PencilSimple.es-CsZ-k9wK.js","assets/SlidersHorizontal.es-Bg-14CTG.js","assets/Sparkle.es-OfyfGCDe.js","assets/Table.es-6S52tmK7.js","assets/input-c8lv9ulv0kortliq-Be2cm12J.js","assets/input-h5ox92gf13ge04hp-CDAaOl0A.js","assets/toolbar-h213d8e22yjh5cwq-DxfVlUi9.js","assets/input-group-fjr4r5ax0x78ppax-Bip4khk1.js","assets/ToolbarRootContext-eqk40r8uh4h6r211-DMiee-JZ.js","assets/useClick-l0p0endoxrlp0ae5-26sNFa8T.js","assets/CompositeRoot-g72lchaerolf5dc9-p9t2l5O6.js","assets/composite-ab8dmdfoj6tmhcn1-TEW1OGYY.js","assets/CSPContext-ctyrgg64girv38ls-2UvfJ5m0.js","assets/CompositeItem-hzuk5x3e5zsfgnyj-DWzMQJpB.js","assets/useCompositeItem-p7090ga00dpqcg5j-C06idhCr.js","assets/switch-cqsvolm7h69z7vgg-DkSvRVQF.js","assets/tabs-gf57qqf1wcclaejq-CirIVMnq.js","assets/getElementTransform-cuiqmjglkrz4db6c-xvJxAmf3.js","assets/preload-helper-DjzSQ1t3.js","assets/blocks-CvH3xqPj.js","assets/InsetPanel-CHSg953_.js","assets/BlockPropsForm-BoZ_Rz4z.js","assets/ArrowUp.es-Bh0pVk-S.js","assets/Plus.es-XNm1OB5Q.js","assets/Trash.es-CxKLVMOQ.js","assets/select-futox5zqr3r80y9a-FumEl51u.js","assets/inertValue-e0o6qvuef83v78fk-DH-hw2Zh.js","assets/resolveAriaLabelledBy-nc8mdie5shy87nsb-asx42i8W.js","assets/clamp-jcjhzx71s6wt1rnc-D0kAXd-u.js","assets/useListNavigation-3nyjs362qcau34in-_RhmHbc1.js","assets/resolveValueLabel-hpmsash3ektitvnb-X_gYut6U.js","assets/serializeValue-ipcakiw32jb7kany-B_EucO5O.js","assets/styles-kl02oyrlnld7arja-BX5Ypy0Y.js","assets/radio-35dx7y6rjrezbjsp-2D7MXAy3.js","assets/index-OjH3NEOH.js","assets/Taxonomy-BGflQo3a.js","assets/link-cqyfjezntvr53rh7-3eczR57J.js","assets/useRender-onwjigxa00uch2ip-FZFmikvk.js","assets/DirectionalIcon-UZJFXGY_.js","assets/CheckCircle.es-XJ9Tr9Tu.js","assets/EyeSlash.es-YoqigHIr.js","assets/Hourglass.es-aqS22q0y.js","assets/api-CHeogUo-.js","assets/i18n-CCHry74V.js","assets/intl-C22KAx_l.js","assets/format-DGE2c-4V.js","assets/taxonomy-S-y5xbUa.js","assets/names-R-Dypr9Y.js","assets/seo-C-YSZ4mD.js","assets/CaretRight.es-D_coqYai.js","assets/ClockClockwise.es-1egHMnBk.js","assets/ClockCountdown.es-BR_zz6vi.js","assets/House.es-BQyZgbwu.js","assets/HandPalm.es-CB5OlkOg.js","assets/AgentModes-758a2e8F.js","assets/Eye.es-DqovdtPt.js","assets/Lightning.es-D0IF-5OW.js","assets/ShieldCheck.es-BOXTHH7h.js","assets/Star.es-DhrrAurR.js","assets/Warning.es-LZXqwHRF.js","assets/banner-msnmqm7of2lck01x-D6cADEpP.js","assets/table-yf8ul2e5nbemioi1-KGRDj7XO.js","assets/SectionCard-Bqvz-NiL.js","assets/agents-DGWn1WXw.js","assets/roles-B7USahqW.js","assets/RocketLaunch.es-BTDML1jE.js","assets/Elevation-C995Cklk.js","assets/Toast-BsM5w6Jh.js","assets/createToastManager-onmoqrmr8zo02rif-Dy_9zxLP.js","assets/useMe-BkBpEyf5.js","assets/scrollable-b6m9ze1u7ps0q1qn-CgUEkapN.js","assets/api-errors-c5QRmg0g.js","assets/ElevationRequest-D3eY13xv.js","assets/approvals-Cje6pPn9.js","assets/dropdown-m53ji1d66mws89wh-BTaT-o14.js","assets/useTriggerFocusGuards-lz7wt484xltizro4-fvX0XHjT.js","assets/empty-hkvg3is3uc6dj1at-Cen9KfIy.js","assets/analytics-range-BqKm9TTo.js","assets/ApprovalDialog-BM4Lzw-L.js","assets/dialog-glpnivujociqs9lh-C_45HVlo.js","assets/useRenderDialogRoot-lddunc01twftravv-DaCowiKC.js","assets/DialogRoot-hl3genvzl9h8ridm-BuXbJxoK.js","assets/DialogTrigger-g44cuem7n4wez533-BMsW2jM1.js","assets/auth-BXDbnIpO.js","assets/activity-C0we9-m8.js","assets/useLiveSite-CUn2kbrj.js","assets/site-settings-Cmq0DkaT.js","assets/usePendingApprovals-B_xkVaSu.js","assets/index-BxV5L6Ao.css","assets/marked.esm-DCShygCS.js","assets/body-blocks-D3YZCH_O.js","assets/w3c-keyname-BOAvb0qz.js","assets/ScheduleCard-BtnJ_Bzg.js","assets/CalendarCheck.es-DWymuVqi.js","assets/Schedules-CczPJWrl.js","assets/calendar-locale-D4aJYygH.js","assets/CalendarPlus.es-YGFiosIm.js","assets/Crumbs-B3lDes5a.js","assets/layer-dialog-j5ywmzs46ccg6oqy-uKC-1DCk.js","assets/schedules-BHug03zB.js","assets/schedules-api-DIiVlJET.js","assets/SchedulerStalled-D5fAOCOD.js","assets/ScheduleDialog-BScv2CDJ.js","assets/combobox-hdxtsm2gqcxxgfju-DEsFIzc-.js","assets/ComboboxEmpty-o0q20j2l2syar9kx-BaXMATsn.js","assets/stringifyLocale-bxsgxdnzaef2vcar-CkHjdQTJ.js","assets/permalinks-XTIdpYm2.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,r as n}from"./react-CDCuUAOg.js";import{t as r}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{n as i,o as a,t as o}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{t as s}from"./link-cqyfjezntvr53rh7-3eczR57J.js";import{S as c,_ as l,b as u,h as d}from"./tanstack-BRxyYm4G.js";import{t as f}from"./Archive.es-C0uhxndN.js";import{t as p}from"./ArrowCounterClockwise.es-Bn2jikgp.js";import{r as m,t as h}from"./DirectionalIcon-UZJFXGY_.js";import{t as g}from"./CalendarPlus.es-YGFiosIm.js";import{n as _,t as v}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as y}from"./DotsThree.es-C-pT5SgE.js";import{t as b}from"./checkbox-lbo436duy7krxcsk-HiD6vTuC.js";import{t as x}from"./RocketLaunch.es-BTDML1jE.js";import{t as S}from"./StopCircle.es-a6tRK2fc.js";import{n as C,t as w}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{a as T}from"./useMe-BkBpEyf5.js";import{t as E}from"./Toast-BsM5w6Jh.js";import{t as D}from"./input-h5ox92gf13ge04hp-CDAaOl0A.js";import{t as O}from"./clipboard-text-gd6s3n1bqse9zgt8-C151k1zC.js";import{a as k,o as A,t as j}from"./api-CHeogUo-.js";import{t as M}from"./dropdown-m53ji1d66mws89wh-BTaT-o14.js";import{t as N}from"./select-futox5zqr3r80y9a-FumEl51u.js";import{t as P}from"./layer-dialog-j5ywmzs46ccg6oqy-uKC-1DCk.js";import{a as ee}from"./intl-C22KAx_l.js";import{t as F}from"./preload-helper-DjzSQ1t3.js";import{t as I}from"./AuditBadges-CjoKFkMy.js";import{t as L}from"./InsetPanel-CHSg953_.js";import{i as te,r as ne}from"./BodyChanges-C67-tSy-.js";import{t as R}from"./SectionCard-Bqvz-NiL.js";import{t as z}from"./Status-Bl65tSQl.js";import{c as B,d as V,i as re,u as H}from"./i18n-CCHry74V.js";import{t as U}from"./api-errors-c5QRmg0g.js";import{d as ie,i as ae,r as oe}from"./useLiveSite-CUn2kbrj.js";import{c as se}from"./seo-C-YSZ4mD.js";import{E as ce,d as le,ft as ue,q as W,z as G}from"./index-OjH3NEOH.js";import{t as de}from"./body-blocks-D3YZCH_O.js";import{n as fe}from"./permalinks-XTIdpYm2.js";import{t as pe}from"./ConfirmDialog-DDDZap6y.js";import{t as me}from"./workflow-D1TOv5ea.js";import{n as he}from"./languages-CbQ722uB.js";import{a as ge,r as _e}from"./BlockSection-D3AuU_96.js";import{t as ve}from"./MediaPicker-BrpNGScc.js";import{t as K}from"./EditorPreview-BZygug8K.js";import{t as ye}from"./useSettled-C0sKy_Gd.js";import{n as q,t as be}from"./item-url-Bn_COg0I.js";var J=e(t(),1),Y=n(),xe={original:`translations.method.original`,human:`translations.method.human`,machine:`translations.method.machine`,"machine-reviewed":`translations.method.machineReviewed`};function Se(e,t){return t.kind===`page`?`/sites/${e}/pages/${t.id}`:`/sites/${e}/articles/${t.id}`}function Ce({siteId:e,node:t,dirty:n}){let{t:i,locale:a}=B(),u=c(),[f,p]=(0,J.useState)(!1),m=[`translations`,e,t.id,t.rev],h=l({queryKey:m,queryFn:()=>j.translations.group(e,t.id)}),g=d({mutationFn:()=>j.translations.review(e,t.id,t.rev),onSuccess:async t=>{p(!1),u.setQueryData([`sections`in t?`page`:`entry`,e,t.id],t),await u.invalidateQueries({queryKey:[`translations`,e]})}}),v=e=>he(a,e),y=h.data?.items??[],b=t.translation?.method===`machine`&&!t.translation.review;return(0,Y.jsxs)(R,{title:i(`translations.title`),icon:(0,Y.jsx)(G,{size:16}),actions:y.length>1?(0,Y.jsx)(r,{variant:`secondary`,children:y.length}):void 0,id:`translations`,children:[h.data===void 0?(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:i(`common.loading`)}):y.length<2?(0,Y.jsx)(ce,{icon:(0,Y.jsx)(G,{size:32,className:`text-kumo-inactive`}),title:i(`translations.none`,{language:v(t.locale)}),description:i(`translations.noneDescription`)}):(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[(0,Y.jsx)(`dl`,{className:`grid divide-y divide-kumo-hairline`,children:y.map(n=>(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-1 py-2 first:pt-0 last:pb-0`,"data-translation":n.locale,children:[(0,Y.jsxs)(`dt`,{className:`flex min-w-0 items-center justify-between gap-2`,children:[(0,Y.jsx)(_,{as:`span`,children:v(n.locale)}),(0,Y.jsx)(z,{status:n.status})]}),(0,Y.jsxs)(`dd`,{className:`grid min-w-0 gap-1`,children:[n.id===t.id?(0,Y.jsx)(_,{as:`span`,variant:`secondary`,size:`sm`,children:i(`translations.current`)}):(0,Y.jsx)(s,{href:Se(e,n),variant:`inline`,children:(0,Y.jsx)(`span`,{className:`block truncate`,children:n.title})}),(0,Y.jsxs)(`span`,{className:`flex flex-wrap gap-1`,children:[n.method&&(0,Y.jsx)(r,{variant:`outline`,children:i(xe[n.method])}),n.stale&&(0,Y.jsx)(r,{variant:`warning`,children:i(`translations.stale`)}),n.sourceMissing&&(0,Y.jsx)(r,{variant:`warning`,children:i(`translations.sourceMissing`)})]})]})]},n.id))}),b&&(0,Y.jsxs)(`div`,{className:`grid gap-1`,children:[(0,Y.jsx)(o,{variant:`secondary`,disabled:n,onClick:()=>p(!0),children:i(`translations.review`)}),n&&(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:i(`translations.reviewSaveFirst`)})]})]}),(0,Y.jsx)(pe,{open:f,onOpenChange:p,title:i(`translations.reviewTitle`),description:i(`translations.reviewDescription`),confirmLabel:i(`translations.review`),busy:g.isPending,error:g.error,onConfirm:()=>g.mutate()})]})}var we=[`improve`,`shorten`,`expand`,`fix`,`tone`,`translate`,`custom`],Te=[`formal`,`friendly`,`plain`],Ee=[`en`,`tr`,`de`,`fr`,`es`,`it`,`pt`,`nl`,`ar`,`ru`,`ja`,`zh`],De=new Set([`ai_budget`,`ai_busy`,`ai_off`,`ai_model_unavailable`,`ai_rate_limited`,`ai_unavailable`,`ai_failed`]);function X(e){let t=e.trim(),n=/^```[a-z]*\n([\s\S]*?)\n```$/i.exec(t);return(n?n[1]??``:t).trim()}function Oe({siteId:e,nodeId:t,pageLocale:n,selection:r,onClose:i}){let{t:a,locale:s}=B(`bodyEditor`),c=`bodyEditor.ai`,l=ne(),[u,d]=(0,J.useState)(`improve`),[f,p]=(0,J.useState)(`plain`),[m,h]=(0,J.useState)(n.startsWith(`tr`)?`en`:`tr`),[g,y]=(0,J.useState)(``),[b,x]=(0,J.useState)(`idle`),[T,E]=(0,J.useState)(``),[O,A]=(0,J.useState)(),M=(0,J.useRef)(null);(0,J.useEffect)(()=>{r&&(x(`idle`),E(``),A(void 0))},[r]),(0,J.useEffect)(()=>()=>M.current?.abort(),[]);let F=(0,J.useMemo)(()=>{let e=ee([s],{type:`language`});return Object.fromEntries(Ee.map(t=>[t,e.of(t)??t]))},[s]),I=async()=>{if(!r)return;M.current?.abort();let n=new AbortController;M.current=n,x(`running`),E(``),A(void 0);let i={command:u,nodeId:t,text:r.markdown,...u===`tone`?{tone:f}:{},...u===`translate`?{locale:m}:{},...u===`custom`?{instruction:g.trim()}:{}},o=``;try{for await(let t of j.ai.command(e,i,n.signal))o+=t,E(o);let t=X(o);E(t),t||A(a(`${c}.empty`)),x(`done`)}catch(e){if(n.signal.aborted){let e=X(o);E(e),x(e?`done`:`idle`);return}let t=e instanceof k?e.body.error:void 0;A(t&&De.has(t)?a(`${c}.errors.${t}`):e instanceof Error?e.message:String(e)),x(`idle`)}},L=()=>{M.current?.abort(),i()},R=u!==`custom`||g.trim().length>0,z=b===`done`&&T?T:void 0;return(0,Y.jsx)(P.Root,{open:r!==void 0,onOpenChange:e=>{e||L()},children:(0,Y.jsxs)(P.Content,{size:`lg`,closeLabel:a(`common.close`),children:[(0,Y.jsx)(P.Title,{children:a(`${c}.title`)}),(0,Y.jsx)(P.Description,{children:a(`${c}.description`)}),(0,Y.jsx)(P.Body,{children:(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-4`,"data-ai-dialog":b,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-end gap-3`,children:[(0,Y.jsx)(N,{className:`w-56 max-w-full`,label:a(`${c}.command`),value:u,onValueChange:e=>d(e),disabled:b===`running`,items:Object.fromEntries(we.map(e=>[e,a(`${c}.commands.${e}`)]))}),u===`tone`&&(0,Y.jsx)(N,{className:`w-48 max-w-full`,label:a(`${c}.tone`),value:f,onValueChange:e=>p(e),disabled:b===`running`,items:Object.fromEntries(Te.map(e=>[e,a(`${c}.tones.${e}`)]))}),u===`translate`&&(0,Y.jsx)(N,{className:`w-48 max-w-full`,label:a(`${c}.language`),value:m,onValueChange:e=>h(e),disabled:b===`running`,items:F}),b===`running`?(0,Y.jsx)(o,{variant:`secondary`,icon:(0,Y.jsx)(S,{}),onClick:()=>M.current?.abort(),children:a(`${c}.stop`)}):(0,Y.jsx)(o,{variant:`secondary`,disabled:!R,onClick:()=>void I(),children:a(b===`done`?`${c}.again`:`${c}.run`)})]}),u===`custom`&&(0,Y.jsx)(D,{className:`w-full`,label:a(`${c}.instruction`),placeholder:a(`${c}.instructionPlaceholder`),value:g,maxLength:500,onValueChange:y,disabled:b===`running`}),O&&(0,Y.jsx)(w,{variant:`error`,icon:(0,Y.jsx)(C,{weight:`fill`}),title:a(`${c}.failed`),description:O}),b===`running`&&(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-1.5`,role:`status`,"aria-live":`polite`,children:[(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:a(`${c}.writing`)}),T?(0,Y.jsx)(`div`,{className:`max-h-72 min-w-0 overflow-auto rounded-lg bg-kumo-recessed px-3 py-2`,children:(0,Y.jsx)(_,{size:`sm`,children:(0,Y.jsx)(`span`,{className:`whitespace-pre-wrap break-words`,children:T})})}):(0,Y.jsx)(v,{minWidth:40,maxWidth:80})]}),z&&r&&(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-1.5`,"data-ai-result":``,children:[(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:a(`${c}.result`)}),(0,Y.jsx)(te,{diff:de(r.markdown,z),labels:l})]})]})}),(0,Y.jsx)(P.Actions,{dismissLabel:a(`common.cancel`),children:(0,Y.jsx)(P.Actions.Primary,{disabled:!z,onClick:()=>{z&&r&&(r.replace(z)?L():A(a(`${c}.changed`)))},children:a(`${c}.replace`)})})]})})}var ke=(0,J.lazy)(()=>F(()=>import(`./editor-DCU0_kqg.js`).then(e=>({default:e.MarkdownEditor})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111]))),Ae=(0,J.createContext)(void 0);function je(e,t,n){let r=n.trim();if(/^asset:/i.test(r)){let t=/^asset:(asset_[A-Za-z0-9]{6,32})$/.exec(r)?.[1];return t?j.assets.contentUrl(e,t):void 0}return se(r,t)}function Me({siteId:e,defaultLocale:t,host:n,nodeId:r,pageLocale:i,value:a,onChange:s,size:c=`base`,readOnly:l=!1,focusSave:u}){let d=H(`bodyEditor`),f=(0,J.useContext)(Ae),p=u??f,{locale:m}=B(),[h,g]=(0,J.useState)(!1),v=(0,J.useRef)(null),y=e=>{v.current?.(e),v.current=null,g(!1)},b=(0,J.useCallback)(()=>new Promise(e=>{v.current?.(void 0),v.current=e,g(!0)}),[]),x=(0,J.useMemo)(()=>({rich:d(`bodyEditor.rich`),markdown:d(`bodyEditor.markdown`),toolbar:d(`bodyEditor.toolbar`),bold:d(`bodyEditor.bold`),italic:d(`bodyEditor.italic`),strike:d(`bodyEditor.strike`),code:d(`bodyEditor.code`),heading2:d(`bodyEditor.heading2`),heading3:d(`bodyEditor.heading3`),bulletList:d(`bodyEditor.bulletList`),orderedList:d(`bodyEditor.orderedList`),taskList:d(`bodyEditor.taskList`),quote:d(`bodyEditor.quote`),codeBlock:d(`bodyEditor.codeBlock`),table:d(`bodyEditor.table`),rule:d(`bodyEditor.rule`),link:d(`bodyEditor.link`),undo:d(`bodyEditor.undo`),redo:d(`bodyEditor.redo`),linkTitle:d(`bodyEditor.linkTitle`),linkUrl:d(`bodyEditor.linkUrl`),linkApply:d(`bodyEditor.linkApply`),linkRemove:d(`bodyEditor.linkRemove`),linkInvalid:d(`bodyEditor.linkInvalid`),image:d(`bodyEditor.image`),paragraph:d(`bodyEditor.paragraph`),insertMenu:d(`bodyEditor.insertMenu`),noMatches:d(`bodyEditor.noMatches`),selectionToolbar:d(`bodyEditor.selectionToolbar`),sourceBadge:d(`bodyEditor.sourceBadge`),sourceHint:d(`bodyEditor.sourceHint`),editSource:d(`bodyEditor.editSource`),outline:d(`bodyEditor.outline`),outlineEmpty:d(`bodyEditor.outlineEmpty`),outlineSkipped:d(`bodyEditor.outlineSkipped`),outlineExtraH1:d(`bodyEditor.outlineExtraH1`),askAi:d(`bodyEditor.ai.ask`),surfacePreview:d(`bodyEditor.surfacePreview`),showCode:d(`bodyEditor.showCode`),hideCode:d(`bodyEditor.hideCode`),focus:d(`bodyEditor.focus`),focusExit:d(`bodyEditor.focusExit`),spotlight:d(`bodyEditor.spotlight`),focusShortcut:d(`bodyEditor.focusShortcut`,{keys:/Mac|iP(hone|ad)/.test(globalThis.navigator?.platform??``)?`⌘⇧\\`:`Ctrl+Shift+\\`})}),[d]),S=ge(e),C=_e(),w=(0,J.useMemo)(()=>({types:S.filter(e=>e.where.includes(`body`)),enumLabel:C,labels:{properties:d(`bodyEditor.blocks.properties`),invalid:d(`bodyEditor.blocks.invalid`),unknown:d(`editor.blocks.unknown`,{type:`{type}`}),unknownHint:d(`editor.blocks.unknownHint`),editSource:d(`bodyEditor.editSource`),item:d(`editor.blocks.item`,re(`n`)),addItem:d(`editor.blocks.addItem`),removeItem:d(`editor.blocks.removeItem`),moveUp:d(`editor.blocks.moveUp`),moveDown:d(`editor.blocks.moveDown`)}}),[S,C,d]),T=Ne(e,r!==void 0&&!l),[E,O]=(0,J.useState)(),k=(0,J.useCallback)(t=>je(e,n,t),[e,n]),A=(0,J.useRef)(new Map),M=(0,J.useCallback)(t=>{let n=A.current.get(t);return n||(n=j.entries.previewFragment(e,t).then(e=>e.html,()=>void 0),A.current.set(t,n)),n},[e]),N=(0,Y.jsx)(D,{"aria-label":d(`editor.body`),value:a,onValueChange:s,autoResize:!0,minRows:c===`sm`?6:12,maxRows:32,readOnly:l,className:`w-full font-mono`});return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(J.Suspense,{fallback:N,children:(0,Y.jsx)(ke,{value:a,onChange:s,label:d(`editor.body`),labels:x,placeholder:d(`bodyEditor.placeholder`),resolveSrc:k,size:c,readOnly:l,locale:m,blocks:w,previewSource:M,...p?{focusActions:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:p.dirty?d(`bodyEditor.focusUnsaved`):d(`bodyEditor.focusSaved`)}),(0,Y.jsx)(o,{variant:`primary`,size:`sm`,loading:p.saving,disabled:!p.dirty||p.disabled,onClick:p.onSave,"data-testid":`focus-save`,children:d(`common.save`)})]})}:{},...l?{}:{onPickImage:b},...T?{onAskAi:O}:{}})}),(0,Y.jsx)(Oe,{siteId:e,nodeId:r??``,pageLocale:i??t,selection:T?E:void 0,onClose:()=>O(void 0)}),(0,Y.jsx)(ve,{siteId:e,defaultLocale:t,open:h,onOpenChange:e=>{e||y(void 0)},onPick:e=>y({src:`asset:${e.asset.id}`})})]})}function Ne(e,t){let n=T(`ai.invoke`),r=l({queryKey:[`ai`,e,`settings`],queryFn:()=>j.ai.settings(e),enabled:t&&n.allowed,staleTime:3e5,retry:!1});return t&&n.allowed&&r.data?.settings.enabled===!0&&r.data.transport!==`none`}function Pe({siteId:e,nodeId:t,sectionId:n,dirty:i,readOnly:a=!1,onDecided:o}){let s=H(),u=E(),f=ne(),p=c(),m=[`proposals`,e,t],h=l({queryKey:m,queryFn:()=>j.proposals.list(e,t)}),g=d({mutationFn:({id:t,accept:n,ops:r})=>n?j.proposals.accept(e,t,r):j.proposals.reject(e,t),onSuccess:(e,{accept:t})=>{u.success(s(t?`proposals.accepted`:`proposals.rejected`)),t&&o()},onError:e=>{u.error(s(`proposals.failed`),U(s,e)),o()},onSettled:()=>p.invalidateQueries({queryKey:m})}),v=(h.data??[]).filter(e=>e.proposal.sectionId===n);return v.length===0?null:(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-2`,"data-proposals":``,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(_,{bold:!0,as:`h3`,size:`sm`,children:s(`proposals.title`)}),(0,Y.jsx)(r,{variant:`info`,children:s(`proposals.count`,{count:v.length})})]}),v.map(t=>(0,Y.jsx)(Fe,{item:t,dirty:i,readOnly:a,busy:g.isPending&&g.variables?.id===t.proposal.id,labels:f,siteId:e,onDecide:(e,n)=>g.mutate({id:t.proposal.id,accept:e,...n?{ops:n}:{}})},t.proposal.id))]})}function Fe({item:e,dirty:t,readOnly:n,busy:i,labels:s,siteId:c,onDecide:u}){let d=H(),{proposal:f,problem:p}=e,m=f.ops.length,[h,g]=(0,J.useState)(()=>f.ops.map((e,t)=>t)),y=h.length<m,x=l({queryKey:[`proposal-preview`,c,f.id,h],queryFn:()=>j.proposals.preview(c,f.id,[...h]),enabled:y&&h.length>0&&p===void 0}),S=y?x.data?.diff:e.diff,C=f.actor.name??f.actor.id,w=!n&&p===void 0&&m>1&&e.steps!==void 0,T=t||p!==void 0||h.length===0||y&&!x.data?.diff;return(0,Y.jsx)(`div`,{"data-proposal":f.id,children:(0,Y.jsx)(L,{children:(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(I,{kind:f.actor.kind,label:d(`proposals.from`,{name:C})}),(0,Y.jsx)(le,{iso:f.createdAt}),p!==void 0&&(0,Y.jsx)(a,{content:p,children:(0,Y.jsx)(`span`,{className:`inline-flex`,children:(0,Y.jsx)(r,{variant:`warning`,children:d(`proposals.outOfDate`)})})})]}),f.note&&(0,Y.jsx)(_,{size:`sm`,children:f.note}),w&&(0,Y.jsx)(b.Group,{legend:d(`proposals.steps`),value:h.map(String),allValues:f.ops.map((e,t)=>String(t)),disabled:i,onValueChange:e=>g(e.map(Number).sort((e,t)=>e-t)),children:(e.steps??[]).map((e,t)=>(0,Y.jsx)(b.Item,{value:String(t),label:Le(d,e)},t))}),p===void 0?h.length===0?(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:d(`proposals.chooseRequired`)}):S?(0,Y.jsx)(te,{diff:S,labels:s}):y&&x.data?.problem?(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:x.data.problem}):(0,Y.jsx)(v,{minWidth:40,maxWidth:80}):(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:d(`proposals.outOfDateHint`)}),!n&&(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[t&&(0,Y.jsx)(_,{variant:`secondary`,size:`sm`,children:d(`proposals.saveFirst`)}),(0,Y.jsx)(o,{variant:`secondary`,size:`sm`,disabled:i,onClick:()=>u(!1),children:d(`proposals.reject`)}),(0,Y.jsx)(o,{variant:`primary`,size:`sm`,disabled:T,loading:i,onClick:()=>u(!0,y?[...h]:void 0),children:y?d(`proposals.acceptSome`,{count:h.length,total:m}):d(`proposals.accept`)})]})]})})})}var Ie=e=>e.length>80?`${e.slice(0,79).trimEnd()}…`:e;function Le(e,t){let n=e(`proposals.aBlock`);return e(`proposals.step.${t.op}`,{before:Ie(t.before??n),after:Ie(t.after??n)})}function Re({queryKey:e,src:t,rev:n,name:i,dirty:o,input:s,render:c}){let d=H(),f=JSON.stringify(s),p=ye(f,400),m=l({queryKey:[...e,n,p],queryFn:()=>c(JSON.parse(p)),enabled:o,placeholderData:u});return o?(0,Y.jsx)(K,{draft:!0,src:t,srcDoc:m.data?.html,stale:p!==f||m.isFetching,rev:n,name:i,dirty:!1,status:m.error?(0,Y.jsx)(a,{content:U(d,m.error),children:(0,Y.jsx)(`span`,{className:`inline-flex`,children:(0,Y.jsx)(r,{variant:`error`,children:d(`preview.failed`)})})}):void 0}):(0,Y.jsx)(K,{src:t,rev:n,name:i,dirty:!1})}var ze=()=>V(F(()=>import(`./ScheduleCard-BtnJ_Bzg.js`),__vite__mapDeps([112,1,3,4,2,5,6,7,58,113,10,11,114,8,115,64,116,59,73,77,79,80,56,57,89,48,90,37,62,63,65,38,84,87,88,46,24,27,94,69,29,49,31,28,32,33,34,95,117,72,118,100,102,54,9,55,60,61,66,67,68,47,70,71,74,75,76,17,18,19,20,21,78,81,53,51,30,82,83,85,86,91,92,40,93,45,50,52,36,96,97,98,99,101,103,104,105,106,107,108,119,120,121,43,44])),[`schedules`]),Z=()=>V(F(()=>import(`./ScheduleDialog-BScv2CDJ.js`),__vite__mapDeps([122,1,3,6,10,2,5,7,11,59,73,114,4,8,58,115,64,116,77,79,80,56,57,89,48,90,37,62,63,65,38,84,87,88,46,24,27,94,69,29,49,31,28,32,33,34,95,117,72,118,100,102,54,9,55,60,61,66,67,68,47,70,71,74,75,76,17,18,19,20,21,78,81,53,51,30,82,83,85,86,91,92,40,93,45,50,52,36,96,97,98,99,101,103,104,105,106,107,108,119,120,121,123,124,125,126])),[`schedules`]),Be=(0,J.lazy)(()=>ze().then(e=>({default:e.ScheduleCard}))),Ve=(0,J.lazy)(()=>ze().then(e=>({default:e.LockedBanner}))),He=(0,J.lazy)(()=>Z().then(e=>({default:e.ScheduleDialog})));function Q(){let e=l({queryKey:[`instance`],queryFn:j.instance,retry:!1}).data?.features.schedules;return{available:e?.available===!0,gates:e?.available===!0&&e.gates}}function Ue(e){let t=A(e);return t===`gates_unsupported`||t===`invalid_availability`||t===`scheduled_locked`}function We({siteId:e,node:t,dirty:n,prepare:r,disabled:i,reason:a}){let s=H(),c=Q(),[l,u]=(0,J.useState)(!1),[d,f]=(0,J.useState)(!1);return c.available?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(o,{variant:`secondary`,icon:(0,Y.jsx)(g,{}),onPointerEnter:()=>void Z(),onFocus:()=>void Z(),onClick:()=>{f(!0),u(!0)},disabled:i,title:a,"data-testid":`schedule-action`,children:s(`editor.schedule`)}),d?(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(He,{siteId:e,open:l,onOpenChange:u,nodes:[t],dirty:n,prepare:r})}):null]}):null}function Ge(e){let t=Q();return t.available?(0,Y.jsx)(J.Suspense,{fallback:(0,Y.jsxs)(`div`,{className:`grid gap-3 px-5 py-4`,"aria-hidden":!0,children:[(0,Y.jsx)(v,{minWidth:30,maxWidth:50}),(0,Y.jsx)(v,{minWidth:60,maxWidth:90})]}),children:(0,Y.jsx)(Be,{...e,gatesOff:!t.gates})}):null}function Ke(e){return Q().available?(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(Ve,{...e})}):null}var qe=m(ue);function $(e,t){let{origin:n,site:r}=ae(e),i=oe(e,t.id),a=`path`in t?t.path:fe(r,t);if(!r)return{url:void 0,path:a,live:!1};let o=q(r,n,t);return{url:be(r,n,t),path:o,live:ie(i,e=>q(r,n,e),o)}}function Je({path:e,url:t,live:n}){let r=H();return(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-1.5`,"data-testid":`live-address`,"data-live":n,children:[(0,Y.jsx)(_,{size:`sm`,bold:!0,as:`span`,children:r(n?`liveSite.liveAt`:`liveSite.willBeAt`)}),t?(0,Y.jsx)(O,{size:`base`,text:t,tooltip:{text:r(`common.copy`),copiedText:r(`common.copied`)}}):(0,Y.jsx)(_,{variant:`mono-secondary`,as:`span`,children:e})]})}function Ye({siteId:e,entry:t}){return(0,Y.jsx)(Je,{...$(e,t)})}function Xe({siteId:e,page:t}){return(0,Y.jsx)(Je,{...$(e,t)})}function Ze({siteId:e,item:t}){let n=H(),{url:r,live:o}=$(e,t);return!o||!r?null:(0,Y.jsx)(a,{content:r,children:(0,Y.jsx)(i,{href:r,external:!0,variant:`ghost`,icon:qe,"aria-label":n(`liveSite.viewLive`),"data-testid":`view-live`,children:(0,Y.jsx)(`span`,{className:`hidden lg:inline`,children:n(`liveSite.viewLive`)})})})}function Qe({status:e,busy:t,onChange:n,onPublish:r,menu:i,allowed:s,publishReason:c,readOnlyReason:l,directPublish:u}){let d=H(),g=e=>!s||s.includes(e),_=!g(`published`),v=me[e].filter(g),b=l!==void 0,S=e===`review`||e===`draft`&&u&&!_,C=S?(0,Y.jsx)(o,{variant:`secondary`,icon:(0,Y.jsx)(x,{}),onClick:r,disabled:t||b||_,title:l??(_?c:void 0),"data-testid":`publish`,children:d(`common.publish`)}):e===`draft`&&g(`review`)?(0,Y.jsx)(o,{variant:`secondary`,icon:(0,Y.jsx)(h,{icon:W}),onClick:()=>n(`review`),disabled:t||b,title:l,"data-testid":`send-to-review`,children:d(_?`editor.submitForReview`:`editor.sendToReview`)}):e===`archived`&&g(`draft`)?(0,Y.jsx)(o,{variant:`secondary`,icon:(0,Y.jsx)(p,{}),onClick:()=>n(`draft`),disabled:t||b,title:l,children:d(`editor.restore`)}):null,w=v.filter(t=>t!==`published`&&!(e===`draft`&&t===`review`&&!S)&&(e!==`archived`||t!==`draft`)),T=t=>d(t===`draft`?e===`published`?`editor.unpublish`:`editor.backToDraft`:t===`archived`?`editor.archive`:`editor.sendToReview`),E=e=>e===`archived`?f:e===`review`?m(W):p,D=d(`editor.moreActions`);return(0,Y.jsxs)(Y.Fragment,{children:[(w.length>0||i)&&(0,Y.jsxs)(M,{children:[(0,Y.jsx)(a,{content:D,render:(0,Y.jsx)(M.Trigger,{render:(0,Y.jsx)(o,{variant:`secondary`,shape:`square`,icon:(0,Y.jsx)(y,{weight:`bold`}),"aria-label":D,disabled:t})})}),(0,Y.jsxs)(M.Content,{align:`end`,children:[w.length>0&&(0,Y.jsxs)(M.Group,{children:[(0,Y.jsx)(M.Label,{children:d(`editor.status`)}),w.map(e=>(0,Y.jsx)(M.Item,{icon:E(e),onClick:()=>n(e),disabled:b,children:T(e)},e))]}),w.length>0&&i&&(0,Y.jsx)(M.Separator,{}),i]})]}),C]})}export{We as a,Ue as c,Me as d,Ae as f,Ze as i,Re as l,Ye as n,Ge as o,Ce as p,Xe as r,Ke as s,Qe as t,Pe as u};
|
|
3
|
+
//# sourceMappingURL=StatusActions-CTs-zXTk.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,r as n}from"./react-CDCuUAOg.js";import{t as r}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{S as i,_ as a,h as o}from"./tanstack-BRxyYm4G.js";import{t as s}from"./ArrowCounterClockwise.es-Bn2jikgp.js";import{a as c}from"./Taxonomy-BGflQo3a.js";import{n as l,t as u}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as d}from"./CheckCircle.es-XJ9Tr9Tu.js";import{t as f}from"./Warning.es-LZXqwHRF.js";import{t as p}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{a as m}from"./useMe-BkBpEyf5.js";import{t as h}from"./Toast-BsM5w6Jh.js";import{t as g}from"./api-CHeogUo-.js";import{t as _}from"./layer-dialog-j5ywmzs46ccg6oqy-
|
|
2
|
-
//# sourceMappingURL=TagsMigration-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,r as n}from"./react-CDCuUAOg.js";import{t as r}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{S as i,_ as a,h as o}from"./tanstack-BRxyYm4G.js";import{t as s}from"./ArrowCounterClockwise.es-Bn2jikgp.js";import{a as c}from"./Taxonomy-BGflQo3a.js";import{n as l,t as u}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as d}from"./CheckCircle.es-XJ9Tr9Tu.js";import{t as f}from"./Warning.es-LZXqwHRF.js";import{t as p}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{a as m}from"./useMe-BkBpEyf5.js";import{t as h}from"./Toast-BsM5w6Jh.js";import{t as g}from"./api-CHeogUo-.js";import{t as _}from"./layer-dialog-j5ywmzs46ccg6oqy-uKC-1DCk.js";import{t as v}from"./InsetPanel-CHSg953_.js";import{a as y,u as b}from"./i18n-CCHry74V.js";import{B as x,S}from"./index-OjH3NEOH.js";var C=e(t(),1),w=n();function T({siteId:e}){let t=b(),[n,r]=(0,C.useState)(!1),i=m(`settings.write`);return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(p,{icon:(0,w.jsx)(x,{weight:`fill`}),title:t(`migration.banner.title`),description:t(`migration.banner.description`),action:(0,w.jsx)(p.Action,{variant:`secondary`,onClick:()=>r(!0),disabled:!i.allowed,title:i.reason,children:t(`migration.banner.action`)}),"data-testid":`tags-migration-banner`}),(0,w.jsx)(D,{siteId:e,open:n,onOpenChange:r})]})}function E({label:e,children:t}){return(0,w.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-x-4 gap-y-0.5 py-2 first:pt-0 last:pb-0`,children:[(0,w.jsx)(l,{variant:`secondary`,as:`span`,children:e}),(0,w.jsx)(l,{as:`span`,children:t})]})}function D({siteId:e,open:t,onOpenChange:n}){let m=b(),x=i(),T=h(),[D,O]=(0,C.useState)();(0,C.useEffect)(()=>{t&&O(void 0)},[t]);let k=a({queryKey:[`tags-migration`,e],queryFn:()=>g.migrations.tagsToTerms(e,!0),enabled:t&&!D,staleTime:0}),A=o({mutationFn:()=>g.migrations.tagsToTerms(e,!1),onSuccess:async t=>{O(t),await c(x,e),T.success(m(`migration.done.toast`),m(`migration.done.toastDetail`,{tags:t.tags.length,entries:t.entries}))}}),j=o({mutationFn:t=>g.migrations.revertTagsToTerms(e,t),onSuccess:async t=>{await c(x,e),T.success(m(`migration.revert.toast`),m(`migration.revert.toastDetail`,{count:t.restored})),n(!1)}}),M=D??k.data;return(0,w.jsx)(_.Root,{open:t,onOpenChange:n,dismissDisabled:A.isPending||j.isPending,children:(0,w.jsxs)(_.Content,{size:`base`,closeLabel:m(`common.close`),children:[(0,w.jsx)(_.Title,{children:m(D?`migration.done.title`:`migration.dialog.title`)}),(0,w.jsx)(_.Description,{children:m(D?`migration.done.description`:`migration.dialog.description`)}),(0,w.jsx)(_.Body,{children:(0,w.jsxs)(`div`,{className:`grid gap-4`,"data-testid":`tags-migration`,children:[(0,w.jsx)(S,{error:k.error??A.error??j.error}),M?M.upToDate&&!D?(0,w.jsx)(p,{variant:`secondary`,icon:(0,w.jsx)(d,{weight:`fill`}),title:m(`migration.dialog.upToDate`),description:m(`migration.dialog.upToDateDescription`)}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(v,{label:m(`migration.dialog.summary`),children:(0,w.jsxs)(`div`,{className:`grid divide-y divide-kumo-hairline`,children:[(0,w.jsx)(E,{label:m(`migration.dialog.tags`),children:M.tags.length===0?m(`migration.dialog.none`):`${M.tags.length} · ${y(M.tags.slice(0,6))}${M.tags.length>6?`…`:``}`}),(0,w.jsx)(E,{label:m(`migration.dialog.entries`),children:M.entries}),(0,w.jsx)(E,{label:m(`migration.dialog.terms`),children:m(`migration.dialog.termsValue`,{created:M.termsCreated,reused:M.termsReused})}),(0,w.jsx)(E,{label:m(`migration.dialog.taxonomies`),children:M.taxonomiesCreated.length>0?y(M.taxonomiesCreated):m(`migration.dialog.none`)})]})}),M.skipped.length>0&&(0,w.jsx)(p,{variant:`alert`,size:`sm`,icon:(0,w.jsx)(f,{weight:`fill`}),title:m(`migration.dialog.skipped`,{count:M.skipped.length}),description:M.skipped.slice(0,3).map(e=>e.reason).join(` · `)}),!D&&(0,w.jsx)(l,{variant:`secondary`,size:`sm`,children:m(`migration.dialog.how`)}),D&&(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,w.jsx)(l,{variant:`secondary`,size:`sm`,as:`span`,children:m(`migration.done.undoHint`)}),(0,w.jsx)(r,{variant:`secondary`,icon:(0,w.jsx)(s,{}),loading:j.isPending,onClick:()=>j.mutate(D.migrationId),"data-testid":`migration-undo`,children:m(`migration.done.undo`)})]})]}):(0,w.jsxs)(v,{className:`gap-3`,children:[(0,w.jsx)(u,{}),(0,w.jsx)(u,{}),(0,w.jsx)(u,{})]})]})}),(0,w.jsx)(_.Actions,{dismissLabel:m(D?`common.close`:`common.cancel`),children:D?(0,w.jsx)(_.Actions.Primary,{onClick:()=>n(!1),children:m(`migration.done.close`)}):(0,w.jsx)(_.Actions.Primary,{loading:A.isPending,disabled:!k.data||k.data.upToDate,onClick:()=>A.mutate(),"data-testid":`migration-run`,children:m(`migration.dialog.run`)})})]})})}export{D as n,T as t};
|
|
2
|
+
//# sourceMappingURL=TagsMigration-CRv_2FkT.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,r as n}from"./react-CDCuUAOg.js";import{t as r}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{o as i,t as a}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{t as o}from"./link-cqyfjezntvr53rh7-3eczR57J.js";import{S as s,_ as c,d as l,h as u,l as d,u as f}from"./tanstack-BRxyYm4G.js";import{a as p,c as m,i as h,n as g,s as _,t as v}from"./Taxonomy-BGflQo3a.js";import{n as y}from"./DirectionalIcon-UZJFXGY_.js";import{t as b}from"./ArrowsMerge.es-gfKOrxGd.js";import{t as x}from"./pagination-oaenm9t7ou3lmcgw-CjvX77_7.js";import{h as S,m as C,n as w}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as T}from"./DotsThree.es-C-pT5SgE.js";import{t as E}from"./Eye.es-DqovdtPt.js";import{t as D}from"./EyeSlash.es-YoqigHIr.js";import{t as O}from"./FolderSimple.es-CbGWmBJc.js";import{t as ee}from"./FolderSimplePlus.es-C9Fl6ewY.js";import{t as k}from"./HandPalm.es-CB5OlkOg.js";import{t as A}from"./Heartbeat.es-DZziz772.js";import{t as te}from"./checkbox-lbo436duy7krxcsk-HiD6vTuC.js";import{t as ne}from"./PencilSimple.es-CsZ-k9wK.js";import{t as re}from"./Plus.es-XNm1OB5Q.js";import{t as ie}from"./ShieldCheck.es-BOXTHH7h.js";import{t as ae}from"./Sparkle.es-OfyfGCDe.js";import{t as oe}from"./Star.es-DhrrAurR.js";import{t as se}from"./TextAa.es-CuNv62rI.js";import{t as j}from"./Trash.es-CxKLVMOQ.js";import{t as ce}from"./Warning.es-LZXqwHRF.js";import{n as M,t as N}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{t as le}from"./GovernanceDialog-DJXeICb7.js";import{a as ue}from"./useMe-BkBpEyf5.js";import{t as de}from"./Toast-BsM5w6Jh.js";import{o as fe,t as P}from"./input-c8lv9ulv0kortliq-Be2cm12J.js";import{t as F}from"./input-group-fjr4r5ax0x78ppax-Bip4khk1.js";import{g as I,t as L}from"./api-CHeogUo-.js";import{t as R}from"./dropdown-m53ji1d66mws89wh-BTaT-o14.js";import{t as z}from"./switch-cqsvolm7h69z7vgg-DkSvRVQF.js";import{t as pe}from"./tabs-gf57qqf1wcclaejq-CirIVMnq.js";import{t as B}from"./table-yf8ul2e5nbemioi1-KGRDj7XO.js";import{t as V}from"./radio-35dx7y6rjrezbjsp-2D7MXAy3.js";import{n as me}from"./Crumbs-B3lDes5a.js";import{t as he}from"./empty-hkvg3is3uc6dj1at-Cen9KfIy.js";import{i as ge,r as H}from"./TermPickers-1CS2mhBG.js";import{t as U}from"./Settings-SLtgVs8u.js";import{t as W}from"./layer-dialog-j5ywmzs46ccg6oqy-nvLQiI4N.js";import{t as G}from"./InsetPanel-CHSg953_.js";import{t as _e}from"./SectionCard-Bqvz-NiL.js";import{a as ve,c as ye,u as K}from"./i18n-CCHry74V.js";import{t as be}from"./api-errors-c5QRmg0g.js";import{s as q}from"./site-settings-Cmq0DkaT.js";import{a as xe,n as Se,r as J,s as Ce,t as we}from"./names-R-Dypr9Y.js";import{E as Te,T as Ee,a as De,b as Oe,g as ke,h as Ae,n as je,r as Me,t as Y,v as Ne}from"./taxonomy-S-y5xbUa.js";import{$ as Pe,B as Fe,C as Ie,E as Le,F as Re,R as ze,S as Be,d as Ve,lt as He}from"./index-B3isvl8R.js";import{t as Ue}from"./TableSkeleton-DWrf88UN.js";import{t as We}from"./Audit-CBohWXfl.js";import{t as Ge}from"./ListToolbar-DUEM5tkX.js";import{n as Ke,t as qe}from"./Gating-CB6Agrha.js";import{t as Je}from"./util-B4GkKYcU.js";import{n as Ye,t as Xe}from"./TagsMigration-gtPPEimv.js";var X=e(t(),1),Z=n(),Ze=[`primary`,`collection`,`locale`,`status`,`id`],Qe={required:`governance.rename.errors.required`,invalid:`governance.rename.errors.invalid`,tooLong:`governance.rename.errors.tooLong`,taken:`governance.rename.errors.taken`,reserved:`governance.rename.errors.reserved`};function $e({open:e,onOpenChange:t,tax:n,data:r,onCreated:i}){let a=K(),o=s(),c=de(),[l,d]=(0,X.useState)(``),[f,m]=(0,X.useState)(``),[h,g]=(0,X.useState)(!1),[_,v]=(0,X.useState)(null),[y,b]=(0,X.useState)(!1),[x,S]=(0,X.useState)(!1);(0,X.useEffect)(()=>{e&&(d(``),m(``),g(!1),v(null),b(!1),S(!1))},[e]);let C=n?r.itemsOf(n):[],T=C.map(e=>e.term),E=h?f:xe(l),D=l.trim()?l.trim().length>Me.nameMax?`tooLong`:void 0:`required`,O=Te(E,T),ee=l.trim()?Oe(T,l,r.defaultLocale):[],k=r.singularForms(n),A=u({mutationFn:()=>L.terms.create(r.site.data?.id??n.siteId,{taxonomyId:n.id,slug:E,status:`active`,visibility:y?`internal`:`public`,labels:{[r.defaultLocale]:{name:l.trim()}},..._?{parentId:_}:{}}),onSuccess:async({term:e})=>{await p(o,e.siteId),c.success(a(`taxonomy.create.created`,{name:l.trim()}),a(`governance.oneSnapshot`)),i?.(e),t(!1)}}),te=()=>{S(!0),!(D||O)&&A.mutate()};return(0,Z.jsx)(W.Root,{open:e,onOpenChange:t,dismissDisabled:A.isPending,children:(0,Z.jsxs)(W.Content,{size:`base`,closeLabel:a(`common.close`),children:[(0,Z.jsx)(W.Title,{children:a(`taxonomy.create.title`,k)}),(0,Z.jsx)(W.Description,{children:n?.hierarchical?a(`taxonomy.create.descriptionTree`):a(`taxonomy.create.description`)}),(0,Z.jsx)(W.Body,{children:(0,Z.jsxs)(`div`,{className:`grid gap-5`,"data-testid":`create-term`,children:[(0,Z.jsx)(P,{label:a(`taxonomy.create.name`,{locale:r.defaultLocale}),value:l,onValueChange:d,onKeyDown:e=>{e.key===`Enter`&&te()},error:x&&D?a(D===`required`?`termEditor.errors.nameRequired`:`termEditor.errors.nameTooLong`):void 0,maxLength:Me.nameMax,className:`w-full`,autoFocus:!0,"data-testid":`create-name`}),ee.length>0&&(0,Z.jsx)(N,{variant:`alert`,size:`sm`,icon:(0,Z.jsx)(ce,{weight:`fill`}),title:a(`taxonomy.create.similarTitle`),description:a(`taxonomy.create.similar`,{names:ve(ee.slice(0,3).map(e=>r.name(e)))}),"data-testid":`create-similar`}),(0,Z.jsx)(fe,{label:a(`governance.rename.slug`),description:a(`taxonomy.create.slugHint`),error:(x||h)&&O&&E||x&&O?{message:a(Qe[O]),match:!0}:void 0,children:(0,Z.jsxs)(F,{className:`w-full`,children:[(0,Z.jsxs)(F.Addon,{children:[n?.archive.basePath??``,`/`]}),(0,Z.jsx)(F.Input,{"aria-label":a(`governance.rename.slug`),value:E,onChange:e=>{g(!0),m(xe(e.target.value))},spellCheck:!1,className:`font-mono`,"data-testid":`create-slug`})]})}),n?.hierarchical&&(0,Z.jsx)(H,{label:a(`governance.move.parent`),description:a(`taxonomy.create.parentHint`),options:ge(C,r.name),value:_,onChange:v,name:r.name,none:a(`governance.move.topLevel`),placeholder:a(`governance.move.parentPlaceholder`)}),(0,Z.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,Z.jsx)(z,{label:a(`taxonomy.create.internal`),checked:y,onCheckedChange:e=>b(e)}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,children:a(`taxonomy.create.internalHint`)})]}),(0,Z.jsx)(Be,{error:A.error})]})}),(0,Z.jsx)(W.Actions,{dismissLabel:a(`common.cancel`),children:(0,Z.jsx)(W.Actions.Primary,{loading:A.isPending,onClick:te,"data-testid":`create-submit`,children:a(`taxonomy.create.submit`,k)})})]})})}var et={maxEditDistance:2,maxEditShare:.5,minSimilarLength:4,oversizedShare:.5,oversizedMinEntries:20,maxPairTerms:2e3};function tt(e,t){let n=e.usage;return(n instanceof Map?n.get(t):n[t])??{total:0,published:0}}function nt(e){let t=new Set([e.slug]),n=new Set;for(let r of Object.values(e.labels))if(r){t.add(Se(r.name));for(let e of r.altNames??[])n.add(Se(e))}return{names:[...t].filter(Boolean),alt:[...n].filter(Boolean)}}function rt(e,t,n){if(e.status!==t.status)return e.status===`active`;let r=tt(n,e.id).total,i=tt(n,t.id).total;return r===i?e.createdAt===t.createdAt?e.slug<t.slug:e.createdAt<t.createdAt:r>i}var it=e=>e.replace(/-/g,``);function at(e,t){let n=nt(e),r=nt(t);for(let e of n.alt)if(r.names.includes(e)||r.alt.includes(e))return{reason:`synonym`,forms:[e,e]};for(let e of r.alt)if(n.names.includes(e))return{reason:`synonym`,forms:[e,e]};for(let e of n.names)for(let t of r.names){let n=J(e);if(e!==t&&J(t).some(e=>n.includes(e)))return{reason:`plural`,forms:[e,t]}}let i=et;for(let e of n.names)for(let t of r.names){let n=it(e),r=it(t),a=Math.min(n.length,r.length),o=we(n,r,i.maxEditDistance);if(!(o>i.maxEditDistance||o>=a*i.maxEditShare)&&!(o>0&&a<i.minSimilarLength))return{reason:`similar`,forms:[e,t],distance:o}}}function ot(e,t){return!e.collections||e.collections.includes(t)}function st(e){let t=et,n=e.taxonomy,r=e.terms.filter(e=>e.status!==`retired`),i=r.filter(e=>e.status===`active`),a=(t,n)=>Ce(t,e.locale).localeCompare(Ce(n,e.locale)),o=e=>[...e].sort(a).map(e=>e.id),s=t=>tt(e,t.id),c=new Map;if(n.hierarchical)for(let e of r)e.parentId&&c.set(e.parentId,[...c.get(e.parentId)??[],e]);let l=(e,t=new Set)=>t.has(e.id)?0:(t.add(e.id),(c.get(e.id)??[]).reduce((e,n)=>e+l(n,t),s(e).published)),u=o(i.filter(e=>s(e).total===1)),d=n.hierarchical?[]:o(i.filter(e=>s(e).total===0)),f=[],p=r.slice(0,t.maxPairTerms);for(let t=0;t<p.length;t++)for(let r=t+1;r<p.length;r++){let i=p[t],a=p[r];if(n.hierarchical&&(i.parentId??null)!==(a.parentId??null))continue;let o=at(i,a);if(!o)continue;let[s,c]=rt(i,a,e)?[i,a]:[a,i];f.push({source:c.id,target:s.id,...o})}let m=(e.entries??[]).filter(e=>ot(n,e.collection)),h=m.filter(e=>(e.terms?.[n.key]?.ids.length??0)>0).length,g=n.hierarchical?o(i.filter(e=>l(e)===0)):[],_=n.hierarchical&&e.entries?o(i.filter(e=>{let n=s(e).total;return!c.has(e.id)&&n>=t.oversizedMinEntries&&h>0&&n/h>=t.oversizedShare})):[],v=r.filter(e=>e.status===`proposed`).sort((e,t)=>e.createdAt.localeCompare(t.createdAt)).map(e=>e.id),y=n.minEntriesToIndex,b=y===void 0?[]:o(i.filter(t=>t.visibility===`public`&&l(t)>=Math.max(y,1)&&!(e.locale&&t.labels[e.locale]?.description?.trim()))),x=e.entries&&n.required?m.filter(e=>!e.terms?.[n.key]?.primary).map(e=>e.id):[],S=e.entries&&n.hierarchical&&!n.required?m.filter(e=>!e.terms?.[n.key]?.ids.length).map(e=>e.id):[];return{terms:r.length,singleUse:u,unused:d,nearDuplicates:f,emptyCategories:g,oversizedCategories:_,proposed:v,noIntro:b,missingPrimary:x,unfiled:S,filed:h}}var ct=3;function lt({tax:e,data:t,entries:n,onMerge:i,onReview:o}){let{t:s}=ye(),c=t.itemsOf(e),l=new Map(c.map(e=>[e.term.id,e.term])),u=st({taxonomy:e,terms:c.map(e=>e.term),usage:new Map(c.map(e=>[e.term.id,e.usage])),...n?{entries:n}:{},locale:t.defaultLocale}),d=t.singularForms(e),f=e=>ve([...e.slice(0,4).map(e=>{let n=l.get(e);return n?t.name(n):e}),...e.length>4?[s(`taxonomy.health.more`,{count:e.length-4})]:[]]),p=u.nearDuplicates.length+u.proposed.length+u.missingPrimary.length+u.unfiled.length+u.noIntro.length+u.singleUse.length+u.unused.length+u.emptyCategories.length+u.oversizedCategories.length;return(0,Z.jsx)(_e,{id:`health`,title:s(`taxonomy.health.title`),icon:(0,Z.jsx)(A,{size:16}),description:s(`taxonomy.health.description`),actions:p>0?(0,Z.jsx)(r,{variant:`warning`,children:s(`taxonomy.health.issues`,{count:p})}):void 0,flush:p===0,children:p===0?(0,Z.jsx)(Le,{icon:(0,Z.jsx)(ae,{size:32,className:`text-kumo-inactive`}),title:s(`taxonomy.health.clean`),description:s(`taxonomy.health.cleanDescription`)}):(0,Z.jsxs)(`dl`,{className:`-my-3 grid divide-y divide-kumo-hairline`,"data-testid":`health`,children:[u.nearDuplicates.length>0&&(0,Z.jsxs)(`div`,{className:`grid gap-2 py-3`,"data-health":`near-duplicates`,children:[(0,Z.jsxs)(`dt`,{className:`grid gap-0.5`,children:[(0,Z.jsx)(w,{bold:!0,as:`span`,children:s(`taxonomy.health.nearDuplicates`,{count:u.nearDuplicates.length})}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,as:`span`,children:s(`taxonomy.health.nearDuplicatesHint`)})]}),u.nearDuplicates.slice(0,ct).map(e=>{let n=l.get(e.source),r=l.get(e.target);return!n||!r?null:(0,Z.jsxs)(`dd`,{className:`flex min-w-0 flex-wrap items-center justify-between gap-2`,"data-merge-suggestion":`${e.source}:${e.target}`,children:[(0,Z.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,children:[(0,Z.jsx)(w,{as:`span`,truncate:!0,children:s(`taxonomy.health.mergeInto`,{source:t.name(n),target:t.name(r)})}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,as:`span`,children:s(`taxonomy.health.reasons.${e.reason}`)})]}),(0,Z.jsx)(a,{variant:`secondary`,size:`sm`,icon:(0,Z.jsx)(b,{}),onClick:()=>i(e.source,e.target),children:s(`taxonomy.health.merge`)})]},`${e.source}:${e.target}`)}),u.nearDuplicates.length>ct&&(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,as:`span`,children:s(`taxonomy.health.morePairs`,{count:u.nearDuplicates.length-ct})})]}),u.proposed.length>0&&(0,Z.jsx)(Q,{id:`proposed`,label:s(`taxonomy.health.proposed`,{count:u.proposed.length}),hint:f(u.proposed),action:(0,Z.jsx)(a,{variant:`secondary`,size:`sm`,onClick:o,children:s(`taxonomy.health.review`)})}),u.missingPrimary.length>0&&(0,Z.jsx)(Q,{id:`missing-primary`,label:s(`taxonomy.health.missingPrimary`,{count:u.missingPrimary.length,...d}),hint:s(`taxonomy.health.missingPrimaryHint`)}),u.unfiled.length>0&&(0,Z.jsx)(Q,{id:`unfiled`,label:s(`taxonomy.health.unfiled`,{count:u.unfiled.length,...d}),hint:s(`taxonomy.health.unfiledHint`)}),u.noIntro.length>0&&(0,Z.jsx)(Q,{id:`no-intro`,label:s(`taxonomy.health.noIntro`,{count:u.noIntro.length}),hint:`${f(u.noIntro)} · ${s(`taxonomy.health.noIntroHint`)}`}),u.singleUse.length>0&&(0,Z.jsx)(Q,{id:`single-use`,label:s(`taxonomy.health.singleUse`,{count:u.singleUse.length}),hint:f(u.singleUse)}),u.unused.length>0&&(0,Z.jsx)(Q,{id:`unused`,label:s(`taxonomy.health.unused`,{count:u.unused.length}),hint:`${f(u.unused)} · ${s(`taxonomy.health.unusedHint`)}`}),u.emptyCategories.length>0&&(0,Z.jsx)(Q,{id:`empty`,label:s(`taxonomy.health.empty`,{count:u.emptyCategories.length}),hint:`${f(u.emptyCategories)} · ${s(`taxonomy.health.emptyHint`)}`}),u.oversizedCategories.length>0&&(0,Z.jsx)(Q,{id:`oversized`,label:s(`taxonomy.health.oversized`,{count:u.oversizedCategories.length}),hint:`${f(u.oversizedCategories)} · ${s(`taxonomy.health.oversizedHint`)}`})]})})}function Q({id:e,label:t,hint:n,action:r}){return(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-x-4 gap-y-2 py-3`,"data-health":e,children:[(0,Z.jsxs)(`dt`,{className:`grid min-w-0 flex-[1_1_12rem] gap-0.5`,children:[(0,Z.jsx)(w,{bold:!0,as:`span`,children:t}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,as:`span`,children:n})]}),r&&(0,Z.jsx)(`dd`,{className:`flex items-center`,children:r})]})}var $={keyMax:128,labelMax:100,perEntryMax:50,indexMax:1e3,pathMax:1024},ut=Ze,dt=/^\/(?:[a-z0-9]+(?:-[a-z0-9]+)*(?:\/[a-z0-9]+(?:-[a-z0-9]+)*)*)?$/;function ft(e){return Object.keys(e).length>0}function pt(e){return{key:``,labels:{[e]:{singular:``,plural:``}},hierarchical:!1,allowNewTerms:`propose`,required:!1,maxPerEntry:``,collections:void 0,archiveEnabled:!0,basePath:``,feed:!0,minEntriesToIndex:`3`}}function mt(e){return{key:e.key,labels:Object.fromEntries(Object.entries(e.labels).flatMap(([e,t])=>t?[[e,{...t}]]:[])),hierarchical:e.hierarchical,allowNewTerms:e.allowNewTerms,required:e.required,maxPerEntry:e.maxPerEntry===void 0?``:String(e.maxPerEntry),collections:e.collections?[...e.collections]:void 0,archiveEnabled:e.archive.enabled,basePath:e.archive.basePath,feed:e.feed,minEntriesToIndex:String(e.minEntriesToIndex)}}function ht(e){return e.basePath||(e.key?`/${e.key}`:``)}function gt(e,t){return e===t||e.startsWith(`${t}/`)||t.startsWith(`${e}/`)}var _t=(e,t,n)=>{if(!/^\d+$/.test(e.trim()))return;let r=Number(e);return r>=t&&r<=n?r:void 0};function vt(e,t){let n={},r=t.taxonomies.filter(e=>e.id!==t.selfId);t.selfId||(e.key?e.key.length>$.keyMax?n.key=`tooLong`:Y.test(e.key)?ut.includes(e.key)?n.key=`reserved`:r.some(t=>t.key===e.key)&&(n.key=`taken`):n.key=`invalid`:n.key=`required`);let i={};for(let[n,r]of Object.entries(e.labels)){let e=r.singular.trim(),a=r.plural.trim(),o=n===t.defaultLocale,s=(e,t)=>e.length>$.labelMax?`tooLong`:!e&&o?`required`:!e&&t?`pair`:void 0,c={singular:s(e,a),plural:s(a,e)};(c.singular||c.plural)&&(i[n]=Object.fromEntries(Object.entries(c).filter(([,e])=>e)))}e.labels[t.defaultLocale]||(i[t.defaultLocale]={singular:`required`,plural:`required`}),Object.keys(i).length>0&&(n.labels=i),e.maxPerEntry.trim()&&_t(e.maxPerEntry,1,$.perEntryMax)===void 0&&(n.maxPerEntry=!0),_t(e.minEntriesToIndex,0,$.indexMax)===void 0&&(n.minEntriesToIndex=!0),e.collections&&e.collections.length===0&&(n.collections=!0);let a=ht(e);if(!a)n.basePath=`required`;else if(a.length>$.pathMax)n.basePath=`tooLong`;else if(!dt.test(a))n.basePath=`invalid`;else if(a===`/`)n.basePath=`root`;else{let i=r.find(e=>gt(e.archive.basePath,a)),o=e.archiveEnabled?t.pages.find(e=>e.path===a||e.path.startsWith(`${a}/`)):void 0,s=[...new Set([...t.collections,...e.collections??[]])].find(e=>gt(`/${e}`,a));i?(n.basePath=`taxonomy`,n.basePathConflict=i.key):o?(n.basePath=`page`,n.basePathConflict=o.path):s&&(n.basePath=`collection`,n.basePathConflict=`/${s}`)}if(t.selfId){let r=t.terms.filter(e=>e.parentId&&e.status!==`retired`).length;!e.hierarchical&&r>0&&(n.hierarchical=r);let i=t.terms.filter(e=>e.status===`proposed`).length;e.allowNewTerms===`none`&&i>0&&(n.allowNewTerms=i)}return n}function yt(e){let t={};for(let[n,r]of Object.entries(e.labels)){let e=r.singular.trim(),i=r.plural.trim();e&&i&&(t[n]={singular:e,plural:i,...r.description?{description:r.description}:{}})}let n=e.maxPerEntry.trim();return{key:e.key,labels:t,hierarchical:e.hierarchical,allowNewTerms:e.allowNewTerms,required:e.required,...n?{maxPerEntry:Number(n)}:{},...e.collections?{collections:e.collections}:{},archive:{enabled:e.archiveEnabled,basePath:ht(e)},feed:e.archiveEnabled&&e.feed,minEntriesToIndex:Number(e.minEntriesToIndex)}}function bt(e,t,n){let r=ht(t);if(!e)return{follow:0};let i=e.archive;return i.enabled&&t.archiveEnabled&&i.basePath!==r&&dt.test(r)?{redirect:{from:i.basePath,to:r},follow:n.filter(e=>e.to===i.basePath||e.to.startsWith(`${i.basePath}/`)).length}:i.enabled&&!t.archiveEnabled?{follow:0,disabled:i.basePath}:!i.enabled&&t.archiveEnabled?{follow:0,enabled:r}:{follow:0}}function xt(e,t){return[...new Set([`posts`,...e.map(e=>e.collection),...t?.collections??[]])].sort()}var St={required:`taxonomySettings.errors.keyRequired`,invalid:`taxonomySettings.errors.keyInvalid`,tooLong:`taxonomySettings.errors.keyTooLong`,reserved:`taxonomySettings.errors.keyReserved`,taken:`taxonomySettings.errors.keyTaken`},Ct={required:`taxonomySettings.errors.labelRequired`,tooLong:`taxonomySettings.errors.labelTooLong`,pair:`taxonomySettings.errors.labelPair`},wt={required:`taxonomySettings.errors.pathRequired`,invalid:`taxonomySettings.errors.pathInvalid`,tooLong:`taxonomySettings.errors.pathTooLong`,root:`taxonomySettings.errors.pathRoot`,taxonomy:`taxonomySettings.errors.pathTaxonomy`,page:`taxonomySettings.errors.pathPage`,collection:`taxonomySettings.errors.pathCollection`},Tt=[`none`,`propose`,`free`];function Et({label:e,hint:t,checked:n,onChange:r,disabled:i,testId:a}){return(0,Z.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,Z.jsx)(z,{label:e,checked:n,onCheckedChange:e=>r(e),disabled:i,"data-testid":a}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,children:t})]})}function Dt({title:e,description:t,children:n,testId:r}){return(0,Z.jsxs)(`section`,{className:`@container grid gap-5 py-6 first:pt-0 last:pb-0`,"aria-label":e,"data-testid":r,children:[(0,Z.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,Z.jsx)(w,{variant:`heading`,as:`h3`,children:e}),t&&(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,children:t})]}),n]})}function Ot({open:e,onOpenChange:t,siteId:n,taxonomy:i,data:a,onCreated:o}){let l=K(),{locale:d}=ye(),f=s(),m=de(),h=a.defaultLocale,[g,v]=(0,X.useState)(()=>pt(h)),[y,b]=(0,X.useState)(!1),x=c({queryKey:[`pages`,n],queryFn:()=>L.pages.list(n),enabled:e}),S=c({queryKey:[`entries`,n,`all`],queryFn:()=>L.entries.list(n),enabled:e}),C=c({queryKey:_.redirects(n),queryFn:()=>L.redirects.list(n),enabled:e&&i!==void 0});(0,X.useEffect)(()=>{e&&(v(i?mt(i):pt(h)),b(!1))},[e,i?.id,i?.rev]);let T=i!==void 0,E=e=>v(t=>({...t,...e})),D=xt(S.data??[],g),O=vt(g,{defaultLocale:h,taxonomies:a.taxonomies.data??[],pages:x.data??[],collections:[...new Set((S.data??[]).map(e=>e.collection))],terms:i?a.itemsOf(i).map(e=>e.term):[],selfId:i?.id}),ee=ht(g),k=`${ee||`/…`}/${l(`taxonomySettings.exampleSlug`)}`,A=bt(i,g,C.data??[]),ne=!T||Je(g,i?mt(i):void 0),re=q(a.site.data?.domains??[]),ae=i?a.label(i):``,se=i?a.label(i,`singular`):``,j=e=>(y||T)&&e!==void 0,le=O.key&&(j(O.key)||g.key!==``&&O.key!==`required`)?O.key:void 0,ue=O.basePath&&(j(O.basePath)||ee!==``&&O.basePath!==`required`)?O.basePath:void 0,I=u({mutationFn:async()=>{let e=yt(g);if(!i)return(await L.taxonomies.create(n,e)).taxonomy;let{maxPerEntry:t,collections:r,...a}=i;return(await L.taxonomies.update({...a,...e,key:i.key})).taxonomy},onSuccess:async e=>{await p(f,n);let r=e.labels[h]?.plural??e.key;m.success(l(T?`taxonomySettings.saved`:`taxonomySettings.created`,{name:r}),l(`governance.oneSnapshot`)),T||o?.(e),t(!1)}}),R=()=>{b(!0),!ft(O)&&I.mutate()},z=[...new Set([h,...a.locales])],pe=(e,t)=>{let n=O.labels?.[e]?.[t];return j(n)&&n?l(Ct[n],{max:$.labelMax}):void 0};return(0,Z.jsx)(W.Root,{open:e,onOpenChange:t,dismissDisabled:I.isPending,children:(0,Z.jsxs)(W.Content,{size:`lg`,closeLabel:l(`common.close`),children:[(0,Z.jsx)(W.Title,{children:T?l(`taxonomySettings.titleEdit`,{Singular:se}):l(`taxonomySettings.titleNew`)}),(0,Z.jsx)(W.Description,{children:T?l(`taxonomySettings.descriptionEdit`,{plural:ae.toLocaleLowerCase(d)}):l(`taxonomySettings.descriptionNew`)}),(0,Z.jsxs)(W.Body,{children:[(0,Z.jsxs)(`div`,{className:`grid divide-y divide-kumo-hairline`,"data-testid":`taxonomy-settings`,"data-mode":T?`edit`:`create`,children:[(0,Z.jsxs)(Dt,{title:l(`taxonomySettings.sections.name`),testId:`settings-name`,children:[(0,Z.jsx)(P,{label:l(`taxonomySettings.key`),value:g.key,onValueChange:e=>E({key:e.trim().toLowerCase()}),description:l(T?`taxonomySettings.keyFixed`:`taxonomySettings.keyHint`),error:le?l(St[le],{key:g.key}):void 0,disabled:T,maxLength:$.keyMax,spellCheck:!1,className:`w-full font-mono`,autoFocus:!T,"data-testid":`taxonomy-key`}),z.map(e=>{let t=g.labels[e]??{singular:``,plural:``},n=n=>E({labels:{...g.labels,[e]:{...t,...n}}});return(0,Z.jsxs)(`div`,{className:`grid gap-1.5`,"data-label-locale":e,children:[(0,Z.jsxs)(`div`,{className:`grid items-start gap-x-4 gap-y-5 @lg:grid-cols-2`,children:[(0,Z.jsx)(P,{label:l(`taxonomySettings.singular`,{locale:e}),value:t.singular,onValueChange:e=>n({singular:e}),placeholder:l(`taxonomySettings.singularPlaceholder`),error:pe(e,`singular`),maxLength:$.labelMax,required:e===h,className:`w-full`,"data-testid":`label-singular-${e}`}),(0,Z.jsx)(P,{label:l(`taxonomySettings.plural`,{locale:e}),value:t.plural,onValueChange:e=>n({plural:e}),placeholder:l(`taxonomySettings.pluralPlaceholder`),error:pe(e,`plural`),maxLength:$.labelMax,required:e===h,className:`w-full`,"data-testid":`label-plural-${e}`})]}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,children:e===h?l(`taxonomySettings.labelsHint`):l(`taxonomySettings.labelsOptional`,{locale:h})})]},e)})]}),(0,Z.jsxs)(Dt,{title:l(`taxonomySettings.sections.terms`),description:l(`taxonomySettings.sections.termsHint`),testId:`settings-terms`,children:[(0,Z.jsx)(Et,{label:l(`taxonomySettings.hierarchical`),hint:l(`taxonomySettings.hierarchicalHint`),checked:g.hierarchical,onChange:e=>E({hierarchical:e}),testId:`taxonomy-hierarchical`}),O.hierarchical!==void 0&&(0,Z.jsx)(N,{variant:`error`,size:`sm`,icon:(0,Z.jsx)(M,{weight:`fill`}),title:l(`taxonomySettings.errors.hasParents`,{count:O.hierarchical})}),(0,Z.jsx)(`div`,{"data-testid":`taxonomy-new-terms`,children:(0,Z.jsx)(V.Group,{appearance:`card`,legend:l(`taxonomySettings.newTerms`),value:g.allowNewTerms,onValueChange:e=>E({allowNewTerms:e}),children:Tt.map(e=>(0,Z.jsx)(V.Item,{value:e,label:(0,Z.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,"data-new-terms":e,children:[(0,Z.jsx)(`span`,{children:l(`taxonomySettings.newTermsOptions.${e}`)}),e===`none`&&(0,Z.jsx)(r,{variant:`success`,icon:(0,Z.jsx)(ie,{}),children:l(`taxonomySettings.badges.safest`)}),e===`propose`&&(0,Z.jsx)(r,{variant:`info`,icon:(0,Z.jsx)(oe,{}),children:l(`taxonomySettings.badges.recommended`)}),e===`free`&&(0,Z.jsx)(r,{variant:`warning`,icon:(0,Z.jsx)(ce,{}),children:l(`taxonomySettings.badges.careful`)})]}),description:l(`taxonomySettings.newTermsHints.${e}`)},e))})}),O.allowNewTerms!==void 0&&(0,Z.jsx)(N,{variant:`error`,size:`sm`,icon:(0,Z.jsx)(M,{weight:`fill`}),title:l(`taxonomySettings.errors.hasProposals`,{count:O.allowNewTerms})})]}),(0,Z.jsxs)(Dt,{title:l(`taxonomySettings.sections.articles`),testId:`settings-articles`,children:[(0,Z.jsx)(Et,{label:l(`taxonomySettings.required`),hint:l(`taxonomySettings.requiredHint`),checked:g.required,onChange:e=>E({required:e}),testId:`taxonomy-required`}),(0,Z.jsx)(P,{type:`number`,label:l(`taxonomySettings.maxPerEntry`),value:g.maxPerEntry,onValueChange:e=>E({maxPerEntry:e}),placeholder:String($.perEntryMax),description:l(`taxonomySettings.maxPerEntryHint`,{max:$.perEntryMax}),error:j(O.maxPerEntry)?l(`taxonomySettings.errors.range`,{min:1,max:$.perEntryMax}):void 0,min:1,max:$.perEntryMax,required:!1,className:`w-full`,"data-testid":`taxonomy-max`}),(0,Z.jsx)(Et,{label:l(`taxonomySettings.allCollections`),hint:l(`taxonomySettings.allCollectionsHint`),checked:g.collections===void 0,onChange:e=>E({collections:e?void 0:D.slice(0,1)}),testId:`taxonomy-all-collections`}),g.collections!==void 0&&(0,Z.jsx)(fe,{label:l(`taxonomySettings.collections`),error:j(O.collections)?{message:l(`taxonomySettings.errors.collections`),match:!0}:void 0,children:(0,Z.jsx)(G,{className:`gap-2.5`,"data-testid":`taxonomy-collections`,children:D.map(e=>(0,Z.jsx)(te,{label:(0,Z.jsx)(w,{variant:`mono`,as:`span`,children:`/${e}`}),checked:g.collections?.includes(e)??!1,onCheckedChange:t=>E({collections:t?[...g.collections??[],e].sort():(g.collections??[]).filter(t=>t!==e)})},e))})})]}),(0,Z.jsxs)(Dt,{title:l(`taxonomySettings.sections.archive`),testId:`settings-archive`,children:[(0,Z.jsx)(Et,{label:l(`taxonomySettings.archiveEnabled`),hint:l(`taxonomySettings.archiveEnabledHint`),checked:g.archiveEnabled,onChange:e=>E({archiveEnabled:e}),testId:`taxonomy-archive`}),(0,Z.jsx)(fe,{label:l(`taxonomySettings.basePath`),description:l(`taxonomySettings.basePathHint`,{example:k}),error:ue?{message:l(wt[ue],{conflict:O.basePathConflict??``}),match:!0}:void 0,children:(0,Z.jsxs)(F,{className:`w-full`,children:[re&&(0,Z.jsx)(F.Addon,{children:re}),(0,Z.jsx)(F.Input,{"aria-label":l(`taxonomySettings.basePath`),value:g.basePath,placeholder:g.key?`/${g.key}`:`/series`,onChange:e=>E({basePath:e.target.value.trim().toLowerCase()}),spellCheck:!1,className:`font-mono`,"data-testid":`taxonomy-base-path`})]})}),(0,Z.jsx)(kt,{change:A}),(0,Z.jsx)(Et,{label:l(`taxonomySettings.feed`),hint:g.archiveEnabled?l(`taxonomySettings.feedHint`,{example:k}):l(`taxonomySettings.feedNeedsArchive`),checked:g.archiveEnabled&&g.feed,onChange:e=>E({feed:e}),disabled:!g.archiveEnabled,testId:`taxonomy-feed`}),(0,Z.jsx)(P,{type:`number`,label:l(`taxonomySettings.minEntries`),value:g.minEntriesToIndex,onValueChange:e=>E({minEntriesToIndex:e}),description:l(`taxonomySettings.minEntriesHint`),error:j(O.minEntriesToIndex)?l(`taxonomySettings.errors.range`,{min:0,max:$.indexMax}):void 0,min:0,max:$.indexMax,className:`w-full`,"data-testid":`taxonomy-min-entries`})]})]}),(0,Z.jsxs)(`div`,{className:`mt-6 grid gap-4`,children:[(0,Z.jsx)(Be,{error:I.error}),(0,Z.jsxs)(`div`,{className:`flex items-start gap-2`,"data-testid":`one-snapshot`,children:[(0,Z.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,Z.jsx)(He,{size:16})}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,as:`span`,children:l(`governance.oneSnapshot`)})]})]})]}),(0,Z.jsx)(W.Actions,{dismissLabel:l(`common.cancel`),children:(0,Z.jsx)(W.Actions.Primary,{loading:I.isPending,disabled:!ne,onClick:R,"data-testid":`taxonomy-submit`,children:l(T?`taxonomySettings.save`:`taxonomySettings.create`)})})]})})}function kt({change:e}){let t=K();return e.redirect?(0,Z.jsxs)(`section`,{className:`grid gap-2`,"aria-label":t(`taxonomySettings.move.title`),"data-testid":`archive-move`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(w,{bold:!0,as:`span`,children:t(`governance.preview.redirects`)}),(0,Z.jsx)(r,{variant:`secondary`,children:`1`})]}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,children:t(`taxonomySettings.move.description`)}),(0,Z.jsxs)(G,{className:`gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,Z.jsx)(w,{variant:`mono`,as:`span`,children:e.redirect.from}),(0,Z.jsx)(y,{size:14}),(0,Z.jsx)(w,{variant:`mono`,as:`span`,children:e.redirect.to}),(0,Z.jsx)(r,{variant:`outline`,children:t(`governance.preview.permanent`)})]}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,children:t(`governance.preview.prefix`)})]}),e.follow>0&&(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,children:t(`governance.preview.repointed`,{count:e.follow})})]}):e.disabled?(0,Z.jsx)(N,{variant:`alert`,icon:(0,Z.jsx)(M,{weight:`fill`}),title:t(`taxonomySettings.move.offTitle`),description:t(`taxonomySettings.move.offDescription`,{path:e.disabled}),"data-testid":`archive-off`}):e.enabled?(0,Z.jsx)(N,{icon:(0,Z.jsx)(C,{weight:`fill`}),title:t(`taxonomySettings.move.onTitle`,{path:e.enabled}),description:t(`taxonomySettings.move.onDescription`),"data-testid":`archive-on`}):null}var At=50;function jt(e){let t=e=>e===`category`?0:e===`tag`?1:2;return[...e].sort((e,n)=>t(e.key)-t(n.key)||e.key.localeCompare(n.key))}function Mt(e,t){return!t||e.slug.includes(t)?!0:Object.values(e.labels).some(e=>e!==void 0&&(Se(e.name).includes(t)||(e.altNames??[]).some(e=>Se(e).includes(t))))}function Nt(){let e=K(),{locale:t}=ye(),{siteId:n}=l({from:`/sites/$siteId`}),_=f({strict:!1}),y=d(),C=s(),T=de(),E=m(n),D=c({queryKey:[`entries`,n,`all`],queryFn:()=>L.entries.list(n)}),[A,te]=(0,X.useState)(``),[ne,ie]=(0,X.useState)(1),[ae,oe]=(0,X.useState)(!1),[se,j]=(0,X.useState)(!1),[ce,M]=(0,X.useState)(),[fe,P]=(0,X.useState)({open:!1,mode:`new`}),F=jt(E.taxonomies.data??[]),R=F.find(e=>e.key===_.taxonomy)??F[0],z=_.filter??`all`,V=e=>{ie(1),y({to:`/sites/$siteId/taxonomy`,params:{siteId:n},search:{...e.taxonomy??R?.key?{taxonomy:e.taxonomy??R?.key}:{},...(e.filter??z)===`all`?{}:{filter:e.filter??z}},replace:!0})},ge=E.itemsOf(R),H=Object.fromEntries(je.map(e=>[e,ge.filter(t=>ke(t.term,e)).length])),U=Se(A),W=ge.filter(e=>ke(e.term,z)&&Mt(e.term,U)),G=R?.hierarchical&&!U?Ee(W):W.map(e=>({item:e,depth:0,ancestors:[],hasChildren:!1})),_e=G.slice((ne-1)*At,ne*At),ve=R?De(ge,R.hierarchical):new Map,q=R?E.label(R,`singular`):``,xe=R?E.label(R,`plural`):``,J={plural:xe.toLocaleLowerCase(t),Plural:xe,singular:q.toLocaleLowerCase(t)},Ce=u({mutationFn:e=>L.terms.govern(e,{op:`review`,decision:`approve`}),onSuccess:async(t,r)=>{await p(C,n),T.success(e(`taxonomy.review.approved`,{name:E.name(r)}),e(`governance.oneSnapshot`))},onError:t=>T.error(e(`taxonomy.review.failed`),be(e,t))}),we=(e,t,n)=>M({kind:e,term:t,into:n}),Te=e=>`/sites/${n}/taxonomy/${e.id}`,Oe=e=>{let t=e.mergedInto?E.byId.get(e.mergedInto)?.term:void 0;return t?E.name(t):void 0},Me=E.taxonomies.data!==void 0&&F.length===0,Y=ue(`structure.write`),Le=ue(`settings.write`),ze=(0,Z.jsx)(a,{variant:`secondary`,icon:(0,Z.jsx)(ee,{}),onClick:()=>P({open:!0,mode:`new`}),disabled:Y.reason!==void 0,title:Y.reason,"data-testid":`new-taxonomy`,children:e(`taxonomySettings.newTaxonomy`)}),He=(0,Z.jsx)(a,{variant:`primary`,icon:(0,Z.jsx)(re,{}),onClick:()=>oe(!0),disabled:!R||Y.reason!==void 0,title:Y.reason,"data-testid":`new-term`,children:e(`taxonomy.newTerm`,{singular:q.toLocaleLowerCase(t),Singular:q})});return(0,Z.jsxs)(Ie,{crumbs:(0,Z.jsx)(me,{siteId:n,trail:[{label:e(`pageHeaders.taxonomy.title`)}]}),icon:(0,Z.jsx)(Fe,{size:24}),title:e(`pageHeaders.taxonomy.title`),description:e(`pageHeaders.taxonomy.description`),actions:R?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(i,{content:e(`taxonomySettings.open`,{Singular:q}),render:(0,Z.jsx)(a,{variant:`secondary`,shape:`square`,icon:(0,Z.jsx)(Pe,{}),"aria-label":e(`taxonomySettings.open`,{Singular:q}),onClick:()=>P({open:!0,mode:`edit`}),"data-testid":`taxonomy-settings-open`})}),ze,He]}):void 0,...F.length>0?{tabs:F.map(e=>({value:e.key,label:E.label(e)})),tab:R?.key,onTabChange:e=>V({taxonomy:e,filter:`all`})}:{},aside:R?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(qe,{reason:Y.reason,children:(0,Z.jsx)(lt,{tax:R,data:E,entries:D.data,onMerge:(e,t)=>{let n=E.byId.get(e)?.term;n&&we(n.status===`proposed`?`reviewMerge`:`merge`,n,t)},onReview:()=>V({filter:`proposed`})})}),(0,Z.jsx)(Ft,{tax:R,names:J,onEdit:()=>P({open:!0,mode:`edit`}),editReason:Y.reason})]}):void 0,children:[(0,Z.jsx)(Be,{error:E.taxonomies.error??E.terms.error}),(0,Z.jsx)(Ke,{reason:Y.reason}),Ne(E.taxonomies.data,D.data)&&!Me&&(0,Z.jsx)(Xe,{siteId:n}),Me?(0,Z.jsx)(he,{icon:(0,Z.jsx)(Fe,{size:48,className:`text-kumo-inactive`}),title:e(`taxonomy.empty.noTaxonomies`),description:e(`taxonomy.empty.noTaxonomiesDescription`),commandLine:`cloudhal migrate tags-to-terms --dry-run`,contents:(0,Z.jsxs)(`div`,{className:`flex flex-wrap justify-center gap-2`,children:[(0,Z.jsx)(a,{variant:`primary`,onClick:()=>j(!0),disabled:Le.reason!==void 0,title:Le.reason,children:e(`migration.banner.action`)}),ze]})}):(0,Z.jsxs)(Z.Fragment,{children:[z!==`proposed`&&H.proposed>0&&(0,Z.jsx)(N,{variant:`alert`,icon:(0,Z.jsx)(k,{weight:`fill`}),title:e(`taxonomy.review.waiting`,{count:H.proposed}),description:e(`taxonomy.review.waitingDescription`,J),action:(0,Z.jsx)(N.Action,{variant:`secondary`,onClick:()=>V({filter:`proposed`}),children:e(`taxonomy.review.open`)}),"data-testid":`proposed-banner`}),(0,Z.jsx)(Ge,{search:A,onSearch:e=>{te(e),ie(1)},placeholder:R?e(`taxonomy.search`,J):e(`common.loading`),actions:(0,Z.jsx)(`div`,{className:`max-w-full min-w-0`,"data-testid":`term-filters`,children:(0,Z.jsx)(pe,{variant:`segmented`,value:z,onValueChange:e=>V({filter:e}),tabs:je.map(t=>({value:t,label:t===`proposed`&&H.proposed>0?(0,Z.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[e(`taxonomy.filters.${t}`),(0,Z.jsx)(r,{variant:`warning`,children:H.proposed})]}):e(`taxonomy.filters.${t}`)}))})})}),E.terms.isSuccess&&G.length===0?(0,Z.jsx)(he,{icon:R?.hierarchical?(0,Z.jsx)(O,{size:48,className:`text-kumo-inactive`}):(0,Z.jsx)(Fe,{size:48,className:`text-kumo-inactive`}),title:U?e(`taxonomy.empty.search`):e(`taxonomy.empty.${z}`,J),description:e(z===`all`&&!U?`taxonomy.empty.allDescription`:`taxonomy.empty.filteredDescription`),contents:z===`all`&&!U?He:void 0}):(0,Z.jsx)(qe,{reason:Y.reason,className:`min-w-0`,children:(0,Z.jsx)(I,{className:`overflow-x-auto p-0`,children:(0,Z.jsxs)(B,{children:[(0,Z.jsx)(B.Header,{children:(0,Z.jsxs)(B.Row,{children:[(0,Z.jsx)(B.Head,{children:e(`taxonomy.columns.name`)}),(0,Z.jsx)(B.Head,{children:e(`taxonomy.columns.usage`)}),(0,Z.jsx)(B.Head,{children:e(`taxonomy.columns.index`)}),(0,Z.jsx)(B.Head,{children:e(`taxonomy.columns.visibility`)}),(0,Z.jsx)(B.Head,{sticky:`right`,className:`w-0`,children:(0,Z.jsx)(`span`,{className:`sr-only`,children:e(`site.rowMenu`)})})]})}),!E.terms.isSuccess||!R?(0,Z.jsx)(Ue,{columns:5}):(0,Z.jsx)(B.Body,{children:_e.map(t=>{let{term:r,usage:s}=t.item,c=t.depth===0&&r.parentId?E.byId.get(r.parentId)?.term:void 0;return(0,Z.jsxs)(B.Row,{"data-term-id":r.id,"data-status":r.status,children:[(0,Z.jsxs)(B.Cell,{children:[(0,Z.jsx)(g,{term:r,tax:R,name:E.name(r),depth:t.depth,href:Te(r),mergedInto:Oe(r),context:c?e(`pickers.under`,{path:E.name(c)}):void 0}),r.status===`proposed`&&r.proposedBy&&(0,Z.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2`,"data-testid":`proposed-by`,children:[(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,as:`span`,children:e(`taxonomy.review.proposedBy`)}),(0,Z.jsx)(We,{actor:r.proposedBy})]}),r.status===`proposed`&&(0,Z.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5`,"data-testid":`review-actions`,children:[(0,Z.jsx)(a,{variant:`secondary`,size:`sm`,icon:(0,Z.jsx)(S,{}),loading:Ce.isPending&&Ce.variables?.id===r.id,onClick:()=>Ce.mutate(r),"data-testid":`approve-term`,children:e(`taxonomy.review.approve`)}),(0,Z.jsx)(a,{variant:`ghost`,size:`sm`,icon:(0,Z.jsx)(b,{}),onClick:()=>we(`reviewMerge`,r),"data-testid":`merge-proposal`,children:e(`taxonomy.review.merge`)}),(0,Z.jsx)(a,{variant:`ghost`,size:`sm`,icon:(0,Z.jsx)(Re,{}),"aria-label":e(`taxonomy.review.rejectNamed`,{name:E.name(r)}),onClick:()=>we(`reject`,r),"data-testid":`reject-term`,children:e(`taxonomy.review.reject`)})]})]}),(0,Z.jsx)(B.Cell,{className:`whitespace-nowrap`,children:(0,Z.jsxs)(`span`,{className:`grid gap-0.5`,children:[s.total===0?(0,Z.jsx)(w,{variant:`secondary`,as:`span`,children:e(`taxonomy.usage.none`)}):(0,Z.jsx)(i,{content:e(`taxonomy.usage.hint`,{published:s.published,total:s.total}),children:(0,Z.jsx)(`span`,{className:`inline-flex`,"data-testid":`usage`,children:R.key===`category`||R.key===`tag`?(0,Z.jsx)(o,{href:`/sites/${n}/articles?${R.key}=${r.slug}`,variant:`plain`,children:(0,Z.jsx)(w,{as:`span`,children:e(`taxonomy.usage.value`,{published:s.published,total:s.total})})}):(0,Z.jsx)(w,{as:`span`,children:e(`taxonomy.usage.value`,{published:s.published,total:s.total})})})}),s.lastUsedAt&&(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,"data-testid":`last-used`,children:[(0,Z.jsx)(w,{variant:`secondary`,size:`xs`,as:`span`,children:e(`taxonomy.columns.lastUsed`)}),(0,Z.jsx)(Ve,{iso:s.lastUsedAt,size:`xs`})]})]})}),(0,Z.jsx)(B.Cell,{children:(0,Z.jsx)(v,{status:Ae(r,R,ve.get(r.id)??0,E.defaultLocale)})}),(0,Z.jsx)(B.Cell,{className:`whitespace-nowrap`,children:(0,Z.jsx)(h,{term:r})}),(0,Z.jsx)(B.Cell,{sticky:`right`,className:`w-0 text-end`,children:(0,Z.jsx)(`span`,{className:`flex items-center justify-end gap-1.5`,children:(0,Z.jsx)(Pt,{term:r,tax:R,onEdit:()=>y({to:`/sites/$siteId/taxonomy/$termId`,params:{siteId:n,termId:r.id}}),onOpen:e=>we(e,r)})})})]},r.id)})})]})})}),G.length>At&&(0,Z.jsx)(x,{page:ne,perPage:At,totalCount:G.length,setPage:ie})]}),(0,Z.jsx)($e,{open:ae,onOpenChange:oe,tax:R,data:E}),(0,Z.jsx)(le,{target:ce,tax:R,data:E,onOpenChange:e=>!e&&M(void 0)}),(0,Z.jsx)(Ye,{siteId:n,open:se,onOpenChange:j}),(0,Z.jsx)(Ot,{open:fe.open,onOpenChange:e=>P(t=>({...t,open:e})),siteId:n,taxonomy:fe.mode===`edit`?R:void 0,data:E,onCreated:e=>V({taxonomy:e.key,filter:`all`})})]})}function Pt({term:e,tax:t,onEdit:n,onOpen:r}){let o=K();return(0,Z.jsxs)(R,{children:[(0,Z.jsx)(i,{content:o(`site.rowMenu`),render:(0,Z.jsx)(R.Trigger,{render:(0,Z.jsx)(a,{variant:`ghost`,size:`sm`,shape:`square`,icon:(0,Z.jsx)(T,{weight:`bold`}),"aria-label":o(`taxonomy.menu.label`),"data-testid":`term-menu`})})}),(0,Z.jsxs)(R.Content,{align:`end`,children:[(0,Z.jsx)(R.Item,{icon:ne,onClick:n,children:e.status===`retired`?o(`taxonomy.menu.view`):o(`taxonomy.menu.edit`)}),e.status===`proposed`&&(0,Z.jsx)(R.Item,{icon:b,onClick:()=>r(`reviewMerge`),children:o(`taxonomy.menu.mergeExisting`)}),e.status===`active`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(R.Item,{icon:se,onClick:()=>r(`rename`),children:o(`taxonomy.menu.rename`)}),(0,Z.jsx)(R.Item,{icon:b,onClick:()=>r(`merge`),children:o(`taxonomy.menu.merge`)}),t.hierarchical&&(0,Z.jsx)(R.Item,{icon:ze,onClick:()=>r(`move`),children:o(`taxonomy.menu.move`)}),(0,Z.jsx)(R.Item,{icon:e.visibility===`public`?D:E,onClick:()=>r(`visibility`),children:e.visibility===`public`?o(`taxonomy.menu.makeInternal`):o(`taxonomy.menu.makePublic`)}),(0,Z.jsx)(R.Separator,{}),(0,Z.jsx)(R.Item,{icon:j,variant:`danger`,onClick:()=>r(`retire`),children:o(`taxonomy.menu.retire`)})]}),e.status===`proposed`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(R.Separator,{}),(0,Z.jsx)(R.Item,{icon:Re,variant:`danger`,onClick:()=>r(`reject`),children:o(`taxonomy.review.reject`)})]})]})]})}function Ft({tax:e,names:t,onEdit:n,editReason:i}){let o=K();return(0,Z.jsx)(_e,{id:`rules`,title:o(`taxonomy.rules.title`,t),icon:(0,Z.jsx)(C,{size:16}),description:o(`taxonomy.rules.description`),actions:(0,Z.jsx)(a,{variant:`ghost`,size:`sm`,icon:(0,Z.jsx)(Pe,{}),onClick:n,disabled:i!==void 0,title:i,"data-testid":`rules-edit`,children:o(`taxonomySettings.edit`)}),children:(0,Z.jsxs)(`dl`,{className:`-my-3 grid divide-y divide-kumo-hairline`,children:[(0,Z.jsx)(U,{label:o(`taxonomy.rules.structure`),hint:e.hierarchical?o(`taxonomy.rules.treeHint`):o(`taxonomy.rules.flatHint`),children:(0,Z.jsx)(r,{variant:`outline`,children:e.hierarchical?o(`taxonomy.rules.tree`):o(`taxonomy.rules.flat`)})}),(0,Z.jsx)(U,{label:o(`taxonomy.rules.newTerms`),hint:o(`taxonomy.rules.newTermsHint.${e.allowNewTerms}`),children:(0,Z.jsx)(r,{variant:`outline`,children:o(`taxonomy.rules.newTermsValue.${e.allowNewTerms}`)})}),(0,Z.jsx)(U,{label:o(`taxonomy.rules.perArticle`),hint:e.required?o(`taxonomy.rules.requiredHint`):o(`taxonomy.rules.optionalHint`),children:(0,Z.jsx)(r,{variant:e.required?`info`:`secondary`,children:e.required?o(`taxonomy.rules.required`,{max:e.maxPerEntry??50}):o(`taxonomy.rules.optional`,{max:e.maxPerEntry??50})})}),(0,Z.jsx)(U,{label:o(`taxonomy.rules.archive`),hint:e.archive.enabled?o(`taxonomy.rules.archiveHint`,{min:e.minEntriesToIndex}):o(`taxonomy.rules.archiveOff`),children:(0,Z.jsx)(w,{variant:`mono-secondary`,as:`span`,children:e.archive.enabled?`${e.archive.basePath}/…`:o(`common.off`)})})]})})}export{Nt as TaxonomyPage};
|
|
2
|
-
//# sourceMappingURL=TaxonomyPage-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,r as n}from"./react-CDCuUAOg.js";import{t as r}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{o as i,t as a}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{t as o}from"./link-cqyfjezntvr53rh7-3eczR57J.js";import{S as s,_ as c,d as l,h as u,l as d,u as f}from"./tanstack-BRxyYm4G.js";import{a as p,c as m,i as h,n as g,s as _,t as v}from"./Taxonomy-BGflQo3a.js";import{n as y}from"./DirectionalIcon-UZJFXGY_.js";import{t as b}from"./ArrowsMerge.es-gfKOrxGd.js";import{t as x}from"./pagination-oaenm9t7ou3lmcgw-CjvX77_7.js";import{h as S,m as C,n as w}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as T}from"./DotsThree.es-C-pT5SgE.js";import{t as E}from"./Eye.es-DqovdtPt.js";import{t as D}from"./EyeSlash.es-YoqigHIr.js";import{t as O}from"./FolderSimple.es-CbGWmBJc.js";import{t as ee}from"./FolderSimplePlus.es-C9Fl6ewY.js";import{t as k}from"./HandPalm.es-CB5OlkOg.js";import{t as A}from"./Heartbeat.es-DZziz772.js";import{t as te}from"./checkbox-lbo436duy7krxcsk-HiD6vTuC.js";import{t as ne}from"./PencilSimple.es-CsZ-k9wK.js";import{t as re}from"./Plus.es-XNm1OB5Q.js";import{t as ie}from"./ShieldCheck.es-BOXTHH7h.js";import{t as ae}from"./Sparkle.es-OfyfGCDe.js";import{t as oe}from"./Star.es-DhrrAurR.js";import{t as se}from"./TextAa.es-CuNv62rI.js";import{t as j}from"./Trash.es-CxKLVMOQ.js";import{t as ce}from"./Warning.es-LZXqwHRF.js";import{n as M,t as N}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{t as le}from"./GovernanceDialog-YzAT6s-u.js";import{a as ue}from"./useMe-BkBpEyf5.js";import{t as de}from"./Toast-BsM5w6Jh.js";import{o as fe,t as P}from"./input-c8lv9ulv0kortliq-Be2cm12J.js";import{t as F}from"./input-group-fjr4r5ax0x78ppax-Bip4khk1.js";import{g as I,t as L}from"./api-CHeogUo-.js";import{t as R}from"./dropdown-m53ji1d66mws89wh-BTaT-o14.js";import{t as z}from"./switch-cqsvolm7h69z7vgg-DkSvRVQF.js";import{t as pe}from"./tabs-gf57qqf1wcclaejq-CirIVMnq.js";import{t as B}from"./table-yf8ul2e5nbemioi1-KGRDj7XO.js";import{t as V}from"./radio-35dx7y6rjrezbjsp-2D7MXAy3.js";import{n as me}from"./Crumbs-B3lDes5a.js";import{t as he}from"./empty-hkvg3is3uc6dj1at-Cen9KfIy.js";import{i as ge,r as H}from"./TermPickers-BlyDJChj.js";import{t as U}from"./Settings-CRS_oj46.js";import{t as W}from"./layer-dialog-j5ywmzs46ccg6oqy-uKC-1DCk.js";import{t as G}from"./InsetPanel-CHSg953_.js";import{t as _e}from"./SectionCard-Bqvz-NiL.js";import{a as ve,c as ye,u as K}from"./i18n-CCHry74V.js";import{t as be}from"./api-errors-c5QRmg0g.js";import{s as q}from"./site-settings-Cmq0DkaT.js";import{a as xe,n as Se,r as J,s as Ce,t as we}from"./names-R-Dypr9Y.js";import{E as Te,T as Ee,a as De,b as Oe,g as ke,h as Ae,n as je,r as Me,t as Y,v as Ne}from"./taxonomy-S-y5xbUa.js";import{$ as Pe,B as Fe,C as Ie,E as Le,F as Re,R as ze,S as Be,d as Ve,lt as He}from"./index-OjH3NEOH.js";import{t as Ue}from"./TableSkeleton-DWrf88UN.js";import{t as We}from"./Audit-OmE16Gp0.js";import{t as Ge}from"./ListToolbar-BHXRGWj_.js";import{n as Ke,t as qe}from"./Gating-BBlmTEBr.js";import{t as Je}from"./util-B4GkKYcU.js";import{n as Ye,t as Xe}from"./TagsMigration-CRv_2FkT.js";var X=e(t(),1),Z=n(),Ze=[`primary`,`collection`,`locale`,`status`,`id`],Qe={required:`governance.rename.errors.required`,invalid:`governance.rename.errors.invalid`,tooLong:`governance.rename.errors.tooLong`,taken:`governance.rename.errors.taken`,reserved:`governance.rename.errors.reserved`};function $e({open:e,onOpenChange:t,tax:n,data:r,onCreated:i}){let a=K(),o=s(),c=de(),[l,d]=(0,X.useState)(``),[f,m]=(0,X.useState)(``),[h,g]=(0,X.useState)(!1),[_,v]=(0,X.useState)(null),[y,b]=(0,X.useState)(!1),[x,S]=(0,X.useState)(!1);(0,X.useEffect)(()=>{e&&(d(``),m(``),g(!1),v(null),b(!1),S(!1))},[e]);let C=n?r.itemsOf(n):[],T=C.map(e=>e.term),E=h?f:xe(l),D=l.trim()?l.trim().length>Me.nameMax?`tooLong`:void 0:`required`,O=Te(E,T),ee=l.trim()?Oe(T,l,r.defaultLocale):[],k=r.singularForms(n),A=u({mutationFn:()=>L.terms.create(r.site.data?.id??n.siteId,{taxonomyId:n.id,slug:E,status:`active`,visibility:y?`internal`:`public`,labels:{[r.defaultLocale]:{name:l.trim()}},..._?{parentId:_}:{}}),onSuccess:async({term:e})=>{await p(o,e.siteId),c.success(a(`taxonomy.create.created`,{name:l.trim()}),a(`governance.oneSnapshot`)),i?.(e),t(!1)}}),te=()=>{S(!0),!(D||O)&&A.mutate()};return(0,Z.jsx)(W.Root,{open:e,onOpenChange:t,dismissDisabled:A.isPending,children:(0,Z.jsxs)(W.Content,{size:`base`,closeLabel:a(`common.close`),children:[(0,Z.jsx)(W.Title,{children:a(`taxonomy.create.title`,k)}),(0,Z.jsx)(W.Description,{children:n?.hierarchical?a(`taxonomy.create.descriptionTree`):a(`taxonomy.create.description`)}),(0,Z.jsx)(W.Body,{children:(0,Z.jsxs)(`div`,{className:`grid gap-5`,"data-testid":`create-term`,children:[(0,Z.jsx)(P,{label:a(`taxonomy.create.name`,{locale:r.defaultLocale}),value:l,onValueChange:d,onKeyDown:e=>{e.key===`Enter`&&te()},error:x&&D?a(D===`required`?`termEditor.errors.nameRequired`:`termEditor.errors.nameTooLong`):void 0,maxLength:Me.nameMax,className:`w-full`,autoFocus:!0,"data-testid":`create-name`}),ee.length>0&&(0,Z.jsx)(N,{variant:`alert`,size:`sm`,icon:(0,Z.jsx)(ce,{weight:`fill`}),title:a(`taxonomy.create.similarTitle`),description:a(`taxonomy.create.similar`,{names:ve(ee.slice(0,3).map(e=>r.name(e)))}),"data-testid":`create-similar`}),(0,Z.jsx)(fe,{label:a(`governance.rename.slug`),description:a(`taxonomy.create.slugHint`),error:(x||h)&&O&&E||x&&O?{message:a(Qe[O]),match:!0}:void 0,children:(0,Z.jsxs)(F,{className:`w-full`,children:[(0,Z.jsxs)(F.Addon,{children:[n?.archive.basePath??``,`/`]}),(0,Z.jsx)(F.Input,{"aria-label":a(`governance.rename.slug`),value:E,onChange:e=>{g(!0),m(xe(e.target.value))},spellCheck:!1,className:`font-mono`,"data-testid":`create-slug`})]})}),n?.hierarchical&&(0,Z.jsx)(H,{label:a(`governance.move.parent`),description:a(`taxonomy.create.parentHint`),options:ge(C,r.name),value:_,onChange:v,name:r.name,none:a(`governance.move.topLevel`),placeholder:a(`governance.move.parentPlaceholder`)}),(0,Z.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,Z.jsx)(z,{label:a(`taxonomy.create.internal`),checked:y,onCheckedChange:e=>b(e)}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,children:a(`taxonomy.create.internalHint`)})]}),(0,Z.jsx)(Be,{error:A.error})]})}),(0,Z.jsx)(W.Actions,{dismissLabel:a(`common.cancel`),children:(0,Z.jsx)(W.Actions.Primary,{loading:A.isPending,onClick:te,"data-testid":`create-submit`,children:a(`taxonomy.create.submit`,k)})})]})})}var et={maxEditDistance:2,maxEditShare:.5,minSimilarLength:4,oversizedShare:.5,oversizedMinEntries:20,maxPairTerms:2e3};function tt(e,t){let n=e.usage;return(n instanceof Map?n.get(t):n[t])??{total:0,published:0}}function nt(e){let t=new Set([e.slug]),n=new Set;for(let r of Object.values(e.labels))if(r){t.add(Se(r.name));for(let e of r.altNames??[])n.add(Se(e))}return{names:[...t].filter(Boolean),alt:[...n].filter(Boolean)}}function rt(e,t,n){if(e.status!==t.status)return e.status===`active`;let r=tt(n,e.id).total,i=tt(n,t.id).total;return r===i?e.createdAt===t.createdAt?e.slug<t.slug:e.createdAt<t.createdAt:r>i}var it=e=>e.replace(/-/g,``);function at(e,t){let n=nt(e),r=nt(t);for(let e of n.alt)if(r.names.includes(e)||r.alt.includes(e))return{reason:`synonym`,forms:[e,e]};for(let e of r.alt)if(n.names.includes(e))return{reason:`synonym`,forms:[e,e]};for(let e of n.names)for(let t of r.names){let n=J(e);if(e!==t&&J(t).some(e=>n.includes(e)))return{reason:`plural`,forms:[e,t]}}let i=et;for(let e of n.names)for(let t of r.names){let n=it(e),r=it(t),a=Math.min(n.length,r.length),o=we(n,r,i.maxEditDistance);if(!(o>i.maxEditDistance||o>=a*i.maxEditShare)&&!(o>0&&a<i.minSimilarLength))return{reason:`similar`,forms:[e,t],distance:o}}}function ot(e,t){return!e.collections||e.collections.includes(t)}function st(e){let t=et,n=e.taxonomy,r=e.terms.filter(e=>e.status!==`retired`),i=r.filter(e=>e.status===`active`),a=(t,n)=>Ce(t,e.locale).localeCompare(Ce(n,e.locale)),o=e=>[...e].sort(a).map(e=>e.id),s=t=>tt(e,t.id),c=new Map;if(n.hierarchical)for(let e of r)e.parentId&&c.set(e.parentId,[...c.get(e.parentId)??[],e]);let l=(e,t=new Set)=>t.has(e.id)?0:(t.add(e.id),(c.get(e.id)??[]).reduce((e,n)=>e+l(n,t),s(e).published)),u=o(i.filter(e=>s(e).total===1)),d=n.hierarchical?[]:o(i.filter(e=>s(e).total===0)),f=[],p=r.slice(0,t.maxPairTerms);for(let t=0;t<p.length;t++)for(let r=t+1;r<p.length;r++){let i=p[t],a=p[r];if(n.hierarchical&&(i.parentId??null)!==(a.parentId??null))continue;let o=at(i,a);if(!o)continue;let[s,c]=rt(i,a,e)?[i,a]:[a,i];f.push({source:c.id,target:s.id,...o})}let m=(e.entries??[]).filter(e=>ot(n,e.collection)),h=m.filter(e=>(e.terms?.[n.key]?.ids.length??0)>0).length,g=n.hierarchical?o(i.filter(e=>l(e)===0)):[],_=n.hierarchical&&e.entries?o(i.filter(e=>{let n=s(e).total;return!c.has(e.id)&&n>=t.oversizedMinEntries&&h>0&&n/h>=t.oversizedShare})):[],v=r.filter(e=>e.status===`proposed`).sort((e,t)=>e.createdAt.localeCompare(t.createdAt)).map(e=>e.id),y=n.minEntriesToIndex,b=y===void 0?[]:o(i.filter(t=>t.visibility===`public`&&l(t)>=Math.max(y,1)&&!(e.locale&&t.labels[e.locale]?.description?.trim()))),x=e.entries&&n.required?m.filter(e=>!e.terms?.[n.key]?.primary).map(e=>e.id):[],S=e.entries&&n.hierarchical&&!n.required?m.filter(e=>!e.terms?.[n.key]?.ids.length).map(e=>e.id):[];return{terms:r.length,singleUse:u,unused:d,nearDuplicates:f,emptyCategories:g,oversizedCategories:_,proposed:v,noIntro:b,missingPrimary:x,unfiled:S,filed:h}}var ct=3;function lt({tax:e,data:t,entries:n,onMerge:i,onReview:o}){let{t:s}=ye(),c=t.itemsOf(e),l=new Map(c.map(e=>[e.term.id,e.term])),u=st({taxonomy:e,terms:c.map(e=>e.term),usage:new Map(c.map(e=>[e.term.id,e.usage])),...n?{entries:n}:{},locale:t.defaultLocale}),d=t.singularForms(e),f=e=>ve([...e.slice(0,4).map(e=>{let n=l.get(e);return n?t.name(n):e}),...e.length>4?[s(`taxonomy.health.more`,{count:e.length-4})]:[]]),p=u.nearDuplicates.length+u.proposed.length+u.missingPrimary.length+u.unfiled.length+u.noIntro.length+u.singleUse.length+u.unused.length+u.emptyCategories.length+u.oversizedCategories.length;return(0,Z.jsx)(_e,{id:`health`,title:s(`taxonomy.health.title`),icon:(0,Z.jsx)(A,{size:16}),description:s(`taxonomy.health.description`),actions:p>0?(0,Z.jsx)(r,{variant:`warning`,children:s(`taxonomy.health.issues`,{count:p})}):void 0,flush:p===0,children:p===0?(0,Z.jsx)(Le,{icon:(0,Z.jsx)(ae,{size:32,className:`text-kumo-inactive`}),title:s(`taxonomy.health.clean`),description:s(`taxonomy.health.cleanDescription`)}):(0,Z.jsxs)(`dl`,{className:`-my-3 grid divide-y divide-kumo-hairline`,"data-testid":`health`,children:[u.nearDuplicates.length>0&&(0,Z.jsxs)(`div`,{className:`grid gap-2 py-3`,"data-health":`near-duplicates`,children:[(0,Z.jsxs)(`dt`,{className:`grid gap-0.5`,children:[(0,Z.jsx)(w,{bold:!0,as:`span`,children:s(`taxonomy.health.nearDuplicates`,{count:u.nearDuplicates.length})}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,as:`span`,children:s(`taxonomy.health.nearDuplicatesHint`)})]}),u.nearDuplicates.slice(0,ct).map(e=>{let n=l.get(e.source),r=l.get(e.target);return!n||!r?null:(0,Z.jsxs)(`dd`,{className:`flex min-w-0 flex-wrap items-center justify-between gap-2`,"data-merge-suggestion":`${e.source}:${e.target}`,children:[(0,Z.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,children:[(0,Z.jsx)(w,{as:`span`,truncate:!0,children:s(`taxonomy.health.mergeInto`,{source:t.name(n),target:t.name(r)})}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,as:`span`,children:s(`taxonomy.health.reasons.${e.reason}`)})]}),(0,Z.jsx)(a,{variant:`secondary`,size:`sm`,icon:(0,Z.jsx)(b,{}),onClick:()=>i(e.source,e.target),children:s(`taxonomy.health.merge`)})]},`${e.source}:${e.target}`)}),u.nearDuplicates.length>ct&&(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,as:`span`,children:s(`taxonomy.health.morePairs`,{count:u.nearDuplicates.length-ct})})]}),u.proposed.length>0&&(0,Z.jsx)(Q,{id:`proposed`,label:s(`taxonomy.health.proposed`,{count:u.proposed.length}),hint:f(u.proposed),action:(0,Z.jsx)(a,{variant:`secondary`,size:`sm`,onClick:o,children:s(`taxonomy.health.review`)})}),u.missingPrimary.length>0&&(0,Z.jsx)(Q,{id:`missing-primary`,label:s(`taxonomy.health.missingPrimary`,{count:u.missingPrimary.length,...d}),hint:s(`taxonomy.health.missingPrimaryHint`)}),u.unfiled.length>0&&(0,Z.jsx)(Q,{id:`unfiled`,label:s(`taxonomy.health.unfiled`,{count:u.unfiled.length,...d}),hint:s(`taxonomy.health.unfiledHint`)}),u.noIntro.length>0&&(0,Z.jsx)(Q,{id:`no-intro`,label:s(`taxonomy.health.noIntro`,{count:u.noIntro.length}),hint:`${f(u.noIntro)} · ${s(`taxonomy.health.noIntroHint`)}`}),u.singleUse.length>0&&(0,Z.jsx)(Q,{id:`single-use`,label:s(`taxonomy.health.singleUse`,{count:u.singleUse.length}),hint:f(u.singleUse)}),u.unused.length>0&&(0,Z.jsx)(Q,{id:`unused`,label:s(`taxonomy.health.unused`,{count:u.unused.length}),hint:`${f(u.unused)} · ${s(`taxonomy.health.unusedHint`)}`}),u.emptyCategories.length>0&&(0,Z.jsx)(Q,{id:`empty`,label:s(`taxonomy.health.empty`,{count:u.emptyCategories.length}),hint:`${f(u.emptyCategories)} · ${s(`taxonomy.health.emptyHint`)}`}),u.oversizedCategories.length>0&&(0,Z.jsx)(Q,{id:`oversized`,label:s(`taxonomy.health.oversized`,{count:u.oversizedCategories.length}),hint:`${f(u.oversizedCategories)} · ${s(`taxonomy.health.oversizedHint`)}`})]})})}function Q({id:e,label:t,hint:n,action:r}){return(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-x-4 gap-y-2 py-3`,"data-health":e,children:[(0,Z.jsxs)(`dt`,{className:`grid min-w-0 flex-[1_1_12rem] gap-0.5`,children:[(0,Z.jsx)(w,{bold:!0,as:`span`,children:t}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,as:`span`,children:n})]}),r&&(0,Z.jsx)(`dd`,{className:`flex items-center`,children:r})]})}var $={keyMax:128,labelMax:100,perEntryMax:50,indexMax:1e3,pathMax:1024},ut=Ze,dt=/^\/(?:[a-z0-9]+(?:-[a-z0-9]+)*(?:\/[a-z0-9]+(?:-[a-z0-9]+)*)*)?$/;function ft(e){return Object.keys(e).length>0}function pt(e){return{key:``,labels:{[e]:{singular:``,plural:``}},hierarchical:!1,allowNewTerms:`propose`,required:!1,maxPerEntry:``,collections:void 0,archiveEnabled:!0,basePath:``,feed:!0,minEntriesToIndex:`3`}}function mt(e){return{key:e.key,labels:Object.fromEntries(Object.entries(e.labels).flatMap(([e,t])=>t?[[e,{...t}]]:[])),hierarchical:e.hierarchical,allowNewTerms:e.allowNewTerms,required:e.required,maxPerEntry:e.maxPerEntry===void 0?``:String(e.maxPerEntry),collections:e.collections?[...e.collections]:void 0,archiveEnabled:e.archive.enabled,basePath:e.archive.basePath,feed:e.feed,minEntriesToIndex:String(e.minEntriesToIndex)}}function ht(e){return e.basePath||(e.key?`/${e.key}`:``)}function gt(e,t){return e===t||e.startsWith(`${t}/`)||t.startsWith(`${e}/`)}var _t=(e,t,n)=>{if(!/^\d+$/.test(e.trim()))return;let r=Number(e);return r>=t&&r<=n?r:void 0};function vt(e,t){let n={},r=t.taxonomies.filter(e=>e.id!==t.selfId);t.selfId||(e.key?e.key.length>$.keyMax?n.key=`tooLong`:Y.test(e.key)?ut.includes(e.key)?n.key=`reserved`:r.some(t=>t.key===e.key)&&(n.key=`taken`):n.key=`invalid`:n.key=`required`);let i={};for(let[n,r]of Object.entries(e.labels)){let e=r.singular.trim(),a=r.plural.trim(),o=n===t.defaultLocale,s=(e,t)=>e.length>$.labelMax?`tooLong`:!e&&o?`required`:!e&&t?`pair`:void 0,c={singular:s(e,a),plural:s(a,e)};(c.singular||c.plural)&&(i[n]=Object.fromEntries(Object.entries(c).filter(([,e])=>e)))}e.labels[t.defaultLocale]||(i[t.defaultLocale]={singular:`required`,plural:`required`}),Object.keys(i).length>0&&(n.labels=i),e.maxPerEntry.trim()&&_t(e.maxPerEntry,1,$.perEntryMax)===void 0&&(n.maxPerEntry=!0),_t(e.minEntriesToIndex,0,$.indexMax)===void 0&&(n.minEntriesToIndex=!0),e.collections&&e.collections.length===0&&(n.collections=!0);let a=ht(e);if(!a)n.basePath=`required`;else if(a.length>$.pathMax)n.basePath=`tooLong`;else if(!dt.test(a))n.basePath=`invalid`;else if(a===`/`)n.basePath=`root`;else{let i=r.find(e=>gt(e.archive.basePath,a)),o=e.archiveEnabled?t.pages.find(e=>e.path===a||e.path.startsWith(`${a}/`)):void 0,s=[...new Set([...t.collections,...e.collections??[]])].find(e=>gt(`/${e}`,a));i?(n.basePath=`taxonomy`,n.basePathConflict=i.key):o?(n.basePath=`page`,n.basePathConflict=o.path):s&&(n.basePath=`collection`,n.basePathConflict=`/${s}`)}if(t.selfId){let r=t.terms.filter(e=>e.parentId&&e.status!==`retired`).length;!e.hierarchical&&r>0&&(n.hierarchical=r);let i=t.terms.filter(e=>e.status===`proposed`).length;e.allowNewTerms===`none`&&i>0&&(n.allowNewTerms=i)}return n}function yt(e){let t={};for(let[n,r]of Object.entries(e.labels)){let e=r.singular.trim(),i=r.plural.trim();e&&i&&(t[n]={singular:e,plural:i,...r.description?{description:r.description}:{}})}let n=e.maxPerEntry.trim();return{key:e.key,labels:t,hierarchical:e.hierarchical,allowNewTerms:e.allowNewTerms,required:e.required,...n?{maxPerEntry:Number(n)}:{},...e.collections?{collections:e.collections}:{},archive:{enabled:e.archiveEnabled,basePath:ht(e)},feed:e.archiveEnabled&&e.feed,minEntriesToIndex:Number(e.minEntriesToIndex)}}function bt(e,t,n){let r=ht(t);if(!e)return{follow:0};let i=e.archive;return i.enabled&&t.archiveEnabled&&i.basePath!==r&&dt.test(r)?{redirect:{from:i.basePath,to:r},follow:n.filter(e=>e.to===i.basePath||e.to.startsWith(`${i.basePath}/`)).length}:i.enabled&&!t.archiveEnabled?{follow:0,disabled:i.basePath}:!i.enabled&&t.archiveEnabled?{follow:0,enabled:r}:{follow:0}}function xt(e,t){return[...new Set([`posts`,...e.map(e=>e.collection),...t?.collections??[]])].sort()}var St={required:`taxonomySettings.errors.keyRequired`,invalid:`taxonomySettings.errors.keyInvalid`,tooLong:`taxonomySettings.errors.keyTooLong`,reserved:`taxonomySettings.errors.keyReserved`,taken:`taxonomySettings.errors.keyTaken`},Ct={required:`taxonomySettings.errors.labelRequired`,tooLong:`taxonomySettings.errors.labelTooLong`,pair:`taxonomySettings.errors.labelPair`},wt={required:`taxonomySettings.errors.pathRequired`,invalid:`taxonomySettings.errors.pathInvalid`,tooLong:`taxonomySettings.errors.pathTooLong`,root:`taxonomySettings.errors.pathRoot`,taxonomy:`taxonomySettings.errors.pathTaxonomy`,page:`taxonomySettings.errors.pathPage`,collection:`taxonomySettings.errors.pathCollection`},Tt=[`none`,`propose`,`free`];function Et({label:e,hint:t,checked:n,onChange:r,disabled:i,testId:a}){return(0,Z.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,Z.jsx)(z,{label:e,checked:n,onCheckedChange:e=>r(e),disabled:i,"data-testid":a}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,children:t})]})}function Dt({title:e,description:t,children:n,testId:r}){return(0,Z.jsxs)(`section`,{className:`@container grid gap-5 py-6 first:pt-0 last:pb-0`,"aria-label":e,"data-testid":r,children:[(0,Z.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,Z.jsx)(w,{variant:`heading`,as:`h3`,children:e}),t&&(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,children:t})]}),n]})}function Ot({open:e,onOpenChange:t,siteId:n,taxonomy:i,data:a,onCreated:o}){let l=K(),{locale:d}=ye(),f=s(),m=de(),h=a.defaultLocale,[g,v]=(0,X.useState)(()=>pt(h)),[y,b]=(0,X.useState)(!1),x=c({queryKey:[`pages`,n],queryFn:()=>L.pages.list(n),enabled:e}),S=c({queryKey:[`entries`,n,`all`],queryFn:()=>L.entries.list(n),enabled:e}),C=c({queryKey:_.redirects(n),queryFn:()=>L.redirects.list(n),enabled:e&&i!==void 0});(0,X.useEffect)(()=>{e&&(v(i?mt(i):pt(h)),b(!1))},[e,i?.id,i?.rev]);let T=i!==void 0,E=e=>v(t=>({...t,...e})),D=xt(S.data??[],g),O=vt(g,{defaultLocale:h,taxonomies:a.taxonomies.data??[],pages:x.data??[],collections:[...new Set((S.data??[]).map(e=>e.collection))],terms:i?a.itemsOf(i).map(e=>e.term):[],selfId:i?.id}),ee=ht(g),k=`${ee||`/…`}/${l(`taxonomySettings.exampleSlug`)}`,A=bt(i,g,C.data??[]),ne=!T||Je(g,i?mt(i):void 0),re=q(a.site.data?.domains??[]),ae=i?a.label(i):``,se=i?a.label(i,`singular`):``,j=e=>(y||T)&&e!==void 0,le=O.key&&(j(O.key)||g.key!==``&&O.key!==`required`)?O.key:void 0,ue=O.basePath&&(j(O.basePath)||ee!==``&&O.basePath!==`required`)?O.basePath:void 0,I=u({mutationFn:async()=>{let e=yt(g);if(!i)return(await L.taxonomies.create(n,e)).taxonomy;let{maxPerEntry:t,collections:r,...a}=i;return(await L.taxonomies.update({...a,...e,key:i.key})).taxonomy},onSuccess:async e=>{await p(f,n);let r=e.labels[h]?.plural??e.key;m.success(l(T?`taxonomySettings.saved`:`taxonomySettings.created`,{name:r}),l(`governance.oneSnapshot`)),T||o?.(e),t(!1)}}),R=()=>{b(!0),!ft(O)&&I.mutate()},z=[...new Set([h,...a.locales])],pe=(e,t)=>{let n=O.labels?.[e]?.[t];return j(n)&&n?l(Ct[n],{max:$.labelMax}):void 0};return(0,Z.jsx)(W.Root,{open:e,onOpenChange:t,dismissDisabled:I.isPending,children:(0,Z.jsxs)(W.Content,{size:`lg`,closeLabel:l(`common.close`),children:[(0,Z.jsx)(W.Title,{children:T?l(`taxonomySettings.titleEdit`,{Singular:se}):l(`taxonomySettings.titleNew`)}),(0,Z.jsx)(W.Description,{children:T?l(`taxonomySettings.descriptionEdit`,{plural:ae.toLocaleLowerCase(d)}):l(`taxonomySettings.descriptionNew`)}),(0,Z.jsxs)(W.Body,{children:[(0,Z.jsxs)(`div`,{className:`grid divide-y divide-kumo-hairline`,"data-testid":`taxonomy-settings`,"data-mode":T?`edit`:`create`,children:[(0,Z.jsxs)(Dt,{title:l(`taxonomySettings.sections.name`),testId:`settings-name`,children:[(0,Z.jsx)(P,{label:l(`taxonomySettings.key`),value:g.key,onValueChange:e=>E({key:e.trim().toLowerCase()}),description:l(T?`taxonomySettings.keyFixed`:`taxonomySettings.keyHint`),error:le?l(St[le],{key:g.key}):void 0,disabled:T,maxLength:$.keyMax,spellCheck:!1,className:`w-full font-mono`,autoFocus:!T,"data-testid":`taxonomy-key`}),z.map(e=>{let t=g.labels[e]??{singular:``,plural:``},n=n=>E({labels:{...g.labels,[e]:{...t,...n}}});return(0,Z.jsxs)(`div`,{className:`grid gap-1.5`,"data-label-locale":e,children:[(0,Z.jsxs)(`div`,{className:`grid items-start gap-x-4 gap-y-5 @lg:grid-cols-2`,children:[(0,Z.jsx)(P,{label:l(`taxonomySettings.singular`,{locale:e}),value:t.singular,onValueChange:e=>n({singular:e}),placeholder:l(`taxonomySettings.singularPlaceholder`),error:pe(e,`singular`),maxLength:$.labelMax,required:e===h,className:`w-full`,"data-testid":`label-singular-${e}`}),(0,Z.jsx)(P,{label:l(`taxonomySettings.plural`,{locale:e}),value:t.plural,onValueChange:e=>n({plural:e}),placeholder:l(`taxonomySettings.pluralPlaceholder`),error:pe(e,`plural`),maxLength:$.labelMax,required:e===h,className:`w-full`,"data-testid":`label-plural-${e}`})]}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,children:e===h?l(`taxonomySettings.labelsHint`):l(`taxonomySettings.labelsOptional`,{locale:h})})]},e)})]}),(0,Z.jsxs)(Dt,{title:l(`taxonomySettings.sections.terms`),description:l(`taxonomySettings.sections.termsHint`),testId:`settings-terms`,children:[(0,Z.jsx)(Et,{label:l(`taxonomySettings.hierarchical`),hint:l(`taxonomySettings.hierarchicalHint`),checked:g.hierarchical,onChange:e=>E({hierarchical:e}),testId:`taxonomy-hierarchical`}),O.hierarchical!==void 0&&(0,Z.jsx)(N,{variant:`error`,size:`sm`,icon:(0,Z.jsx)(M,{weight:`fill`}),title:l(`taxonomySettings.errors.hasParents`,{count:O.hierarchical})}),(0,Z.jsx)(`div`,{"data-testid":`taxonomy-new-terms`,children:(0,Z.jsx)(V.Group,{appearance:`card`,legend:l(`taxonomySettings.newTerms`),value:g.allowNewTerms,onValueChange:e=>E({allowNewTerms:e}),children:Tt.map(e=>(0,Z.jsx)(V.Item,{value:e,label:(0,Z.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,"data-new-terms":e,children:[(0,Z.jsx)(`span`,{children:l(`taxonomySettings.newTermsOptions.${e}`)}),e===`none`&&(0,Z.jsx)(r,{variant:`success`,icon:(0,Z.jsx)(ie,{}),children:l(`taxonomySettings.badges.safest`)}),e===`propose`&&(0,Z.jsx)(r,{variant:`info`,icon:(0,Z.jsx)(oe,{}),children:l(`taxonomySettings.badges.recommended`)}),e===`free`&&(0,Z.jsx)(r,{variant:`warning`,icon:(0,Z.jsx)(ce,{}),children:l(`taxonomySettings.badges.careful`)})]}),description:l(`taxonomySettings.newTermsHints.${e}`)},e))})}),O.allowNewTerms!==void 0&&(0,Z.jsx)(N,{variant:`error`,size:`sm`,icon:(0,Z.jsx)(M,{weight:`fill`}),title:l(`taxonomySettings.errors.hasProposals`,{count:O.allowNewTerms})})]}),(0,Z.jsxs)(Dt,{title:l(`taxonomySettings.sections.articles`),testId:`settings-articles`,children:[(0,Z.jsx)(Et,{label:l(`taxonomySettings.required`),hint:l(`taxonomySettings.requiredHint`),checked:g.required,onChange:e=>E({required:e}),testId:`taxonomy-required`}),(0,Z.jsx)(P,{type:`number`,label:l(`taxonomySettings.maxPerEntry`),value:g.maxPerEntry,onValueChange:e=>E({maxPerEntry:e}),placeholder:String($.perEntryMax),description:l(`taxonomySettings.maxPerEntryHint`,{max:$.perEntryMax}),error:j(O.maxPerEntry)?l(`taxonomySettings.errors.range`,{min:1,max:$.perEntryMax}):void 0,min:1,max:$.perEntryMax,required:!1,className:`w-full`,"data-testid":`taxonomy-max`}),(0,Z.jsx)(Et,{label:l(`taxonomySettings.allCollections`),hint:l(`taxonomySettings.allCollectionsHint`),checked:g.collections===void 0,onChange:e=>E({collections:e?void 0:D.slice(0,1)}),testId:`taxonomy-all-collections`}),g.collections!==void 0&&(0,Z.jsx)(fe,{label:l(`taxonomySettings.collections`),error:j(O.collections)?{message:l(`taxonomySettings.errors.collections`),match:!0}:void 0,children:(0,Z.jsx)(G,{className:`gap-2.5`,"data-testid":`taxonomy-collections`,children:D.map(e=>(0,Z.jsx)(te,{label:(0,Z.jsx)(w,{variant:`mono`,as:`span`,children:`/${e}`}),checked:g.collections?.includes(e)??!1,onCheckedChange:t=>E({collections:t?[...g.collections??[],e].sort():(g.collections??[]).filter(t=>t!==e)})},e))})})]}),(0,Z.jsxs)(Dt,{title:l(`taxonomySettings.sections.archive`),testId:`settings-archive`,children:[(0,Z.jsx)(Et,{label:l(`taxonomySettings.archiveEnabled`),hint:l(`taxonomySettings.archiveEnabledHint`),checked:g.archiveEnabled,onChange:e=>E({archiveEnabled:e}),testId:`taxonomy-archive`}),(0,Z.jsx)(fe,{label:l(`taxonomySettings.basePath`),description:l(`taxonomySettings.basePathHint`,{example:k}),error:ue?{message:l(wt[ue],{conflict:O.basePathConflict??``}),match:!0}:void 0,children:(0,Z.jsxs)(F,{className:`w-full`,children:[re&&(0,Z.jsx)(F.Addon,{children:re}),(0,Z.jsx)(F.Input,{"aria-label":l(`taxonomySettings.basePath`),value:g.basePath,placeholder:g.key?`/${g.key}`:`/series`,onChange:e=>E({basePath:e.target.value.trim().toLowerCase()}),spellCheck:!1,className:`font-mono`,"data-testid":`taxonomy-base-path`})]})}),(0,Z.jsx)(kt,{change:A}),(0,Z.jsx)(Et,{label:l(`taxonomySettings.feed`),hint:g.archiveEnabled?l(`taxonomySettings.feedHint`,{example:k}):l(`taxonomySettings.feedNeedsArchive`),checked:g.archiveEnabled&&g.feed,onChange:e=>E({feed:e}),disabled:!g.archiveEnabled,testId:`taxonomy-feed`}),(0,Z.jsx)(P,{type:`number`,label:l(`taxonomySettings.minEntries`),value:g.minEntriesToIndex,onValueChange:e=>E({minEntriesToIndex:e}),description:l(`taxonomySettings.minEntriesHint`),error:j(O.minEntriesToIndex)?l(`taxonomySettings.errors.range`,{min:0,max:$.indexMax}):void 0,min:0,max:$.indexMax,className:`w-full`,"data-testid":`taxonomy-min-entries`})]})]}),(0,Z.jsxs)(`div`,{className:`mt-6 grid gap-4`,children:[(0,Z.jsx)(Be,{error:I.error}),(0,Z.jsxs)(`div`,{className:`flex items-start gap-2`,"data-testid":`one-snapshot`,children:[(0,Z.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,Z.jsx)(He,{size:16})}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,as:`span`,children:l(`governance.oneSnapshot`)})]})]})]}),(0,Z.jsx)(W.Actions,{dismissLabel:l(`common.cancel`),children:(0,Z.jsx)(W.Actions.Primary,{loading:I.isPending,disabled:!ne,onClick:R,"data-testid":`taxonomy-submit`,children:l(T?`taxonomySettings.save`:`taxonomySettings.create`)})})]})})}function kt({change:e}){let t=K();return e.redirect?(0,Z.jsxs)(`section`,{className:`grid gap-2`,"aria-label":t(`taxonomySettings.move.title`),"data-testid":`archive-move`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(w,{bold:!0,as:`span`,children:t(`governance.preview.redirects`)}),(0,Z.jsx)(r,{variant:`secondary`,children:`1`})]}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,children:t(`taxonomySettings.move.description`)}),(0,Z.jsxs)(G,{className:`gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,Z.jsx)(w,{variant:`mono`,as:`span`,children:e.redirect.from}),(0,Z.jsx)(y,{size:14}),(0,Z.jsx)(w,{variant:`mono`,as:`span`,children:e.redirect.to}),(0,Z.jsx)(r,{variant:`outline`,children:t(`governance.preview.permanent`)})]}),(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,children:t(`governance.preview.prefix`)})]}),e.follow>0&&(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,children:t(`governance.preview.repointed`,{count:e.follow})})]}):e.disabled?(0,Z.jsx)(N,{variant:`alert`,icon:(0,Z.jsx)(M,{weight:`fill`}),title:t(`taxonomySettings.move.offTitle`),description:t(`taxonomySettings.move.offDescription`,{path:e.disabled}),"data-testid":`archive-off`}):e.enabled?(0,Z.jsx)(N,{icon:(0,Z.jsx)(C,{weight:`fill`}),title:t(`taxonomySettings.move.onTitle`,{path:e.enabled}),description:t(`taxonomySettings.move.onDescription`),"data-testid":`archive-on`}):null}var At=50;function jt(e){let t=e=>e===`category`?0:e===`tag`?1:2;return[...e].sort((e,n)=>t(e.key)-t(n.key)||e.key.localeCompare(n.key))}function Mt(e,t){return!t||e.slug.includes(t)?!0:Object.values(e.labels).some(e=>e!==void 0&&(Se(e.name).includes(t)||(e.altNames??[]).some(e=>Se(e).includes(t))))}function Nt(){let e=K(),{locale:t}=ye(),{siteId:n}=l({from:`/sites/$siteId`}),_=f({strict:!1}),y=d(),C=s(),T=de(),E=m(n),D=c({queryKey:[`entries`,n,`all`],queryFn:()=>L.entries.list(n)}),[A,te]=(0,X.useState)(``),[ne,ie]=(0,X.useState)(1),[ae,oe]=(0,X.useState)(!1),[se,j]=(0,X.useState)(!1),[ce,M]=(0,X.useState)(),[fe,P]=(0,X.useState)({open:!1,mode:`new`}),F=jt(E.taxonomies.data??[]),R=F.find(e=>e.key===_.taxonomy)??F[0],z=_.filter??`all`,V=e=>{ie(1),y({to:`/sites/$siteId/taxonomy`,params:{siteId:n},search:{...e.taxonomy??R?.key?{taxonomy:e.taxonomy??R?.key}:{},...(e.filter??z)===`all`?{}:{filter:e.filter??z}},replace:!0})},ge=E.itemsOf(R),H=Object.fromEntries(je.map(e=>[e,ge.filter(t=>ke(t.term,e)).length])),U=Se(A),W=ge.filter(e=>ke(e.term,z)&&Mt(e.term,U)),G=R?.hierarchical&&!U?Ee(W):W.map(e=>({item:e,depth:0,ancestors:[],hasChildren:!1})),_e=G.slice((ne-1)*At,ne*At),ve=R?De(ge,R.hierarchical):new Map,q=R?E.label(R,`singular`):``,xe=R?E.label(R,`plural`):``,J={plural:xe.toLocaleLowerCase(t),Plural:xe,singular:q.toLocaleLowerCase(t)},Ce=u({mutationFn:e=>L.terms.govern(e,{op:`review`,decision:`approve`}),onSuccess:async(t,r)=>{await p(C,n),T.success(e(`taxonomy.review.approved`,{name:E.name(r)}),e(`governance.oneSnapshot`))},onError:t=>T.error(e(`taxonomy.review.failed`),be(e,t))}),we=(e,t,n)=>M({kind:e,term:t,into:n}),Te=e=>`/sites/${n}/taxonomy/${e.id}`,Oe=e=>{let t=e.mergedInto?E.byId.get(e.mergedInto)?.term:void 0;return t?E.name(t):void 0},Me=E.taxonomies.data!==void 0&&F.length===0,Y=ue(`structure.write`),Le=ue(`settings.write`),ze=(0,Z.jsx)(a,{variant:`secondary`,icon:(0,Z.jsx)(ee,{}),onClick:()=>P({open:!0,mode:`new`}),disabled:Y.reason!==void 0,title:Y.reason,"data-testid":`new-taxonomy`,children:e(`taxonomySettings.newTaxonomy`)}),He=(0,Z.jsx)(a,{variant:`primary`,icon:(0,Z.jsx)(re,{}),onClick:()=>oe(!0),disabled:!R||Y.reason!==void 0,title:Y.reason,"data-testid":`new-term`,children:e(`taxonomy.newTerm`,{singular:q.toLocaleLowerCase(t),Singular:q})});return(0,Z.jsxs)(Ie,{crumbs:(0,Z.jsx)(me,{siteId:n,trail:[{label:e(`pageHeaders.taxonomy.title`)}]}),icon:(0,Z.jsx)(Fe,{size:24}),title:e(`pageHeaders.taxonomy.title`),description:e(`pageHeaders.taxonomy.description`),actions:R?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(i,{content:e(`taxonomySettings.open`,{Singular:q}),render:(0,Z.jsx)(a,{variant:`secondary`,shape:`square`,icon:(0,Z.jsx)(Pe,{}),"aria-label":e(`taxonomySettings.open`,{Singular:q}),onClick:()=>P({open:!0,mode:`edit`}),"data-testid":`taxonomy-settings-open`})}),ze,He]}):void 0,...F.length>0?{tabs:F.map(e=>({value:e.key,label:E.label(e)})),tab:R?.key,onTabChange:e=>V({taxonomy:e,filter:`all`})}:{},aside:R?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(qe,{reason:Y.reason,children:(0,Z.jsx)(lt,{tax:R,data:E,entries:D.data,onMerge:(e,t)=>{let n=E.byId.get(e)?.term;n&&we(n.status===`proposed`?`reviewMerge`:`merge`,n,t)},onReview:()=>V({filter:`proposed`})})}),(0,Z.jsx)(Ft,{tax:R,names:J,onEdit:()=>P({open:!0,mode:`edit`}),editReason:Y.reason})]}):void 0,children:[(0,Z.jsx)(Be,{error:E.taxonomies.error??E.terms.error}),(0,Z.jsx)(Ke,{reason:Y.reason}),Ne(E.taxonomies.data,D.data)&&!Me&&(0,Z.jsx)(Xe,{siteId:n}),Me?(0,Z.jsx)(he,{icon:(0,Z.jsx)(Fe,{size:48,className:`text-kumo-inactive`}),title:e(`taxonomy.empty.noTaxonomies`),description:e(`taxonomy.empty.noTaxonomiesDescription`),commandLine:`cloudhal migrate tags-to-terms --dry-run`,contents:(0,Z.jsxs)(`div`,{className:`flex flex-wrap justify-center gap-2`,children:[(0,Z.jsx)(a,{variant:`primary`,onClick:()=>j(!0),disabled:Le.reason!==void 0,title:Le.reason,children:e(`migration.banner.action`)}),ze]})}):(0,Z.jsxs)(Z.Fragment,{children:[z!==`proposed`&&H.proposed>0&&(0,Z.jsx)(N,{variant:`alert`,icon:(0,Z.jsx)(k,{weight:`fill`}),title:e(`taxonomy.review.waiting`,{count:H.proposed}),description:e(`taxonomy.review.waitingDescription`,J),action:(0,Z.jsx)(N.Action,{variant:`secondary`,onClick:()=>V({filter:`proposed`}),children:e(`taxonomy.review.open`)}),"data-testid":`proposed-banner`}),(0,Z.jsx)(Ge,{search:A,onSearch:e=>{te(e),ie(1)},placeholder:R?e(`taxonomy.search`,J):e(`common.loading`),actions:(0,Z.jsx)(`div`,{className:`max-w-full min-w-0`,"data-testid":`term-filters`,children:(0,Z.jsx)(pe,{variant:`segmented`,value:z,onValueChange:e=>V({filter:e}),tabs:je.map(t=>({value:t,label:t===`proposed`&&H.proposed>0?(0,Z.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[e(`taxonomy.filters.${t}`),(0,Z.jsx)(r,{variant:`warning`,children:H.proposed})]}):e(`taxonomy.filters.${t}`)}))})})}),E.terms.isSuccess&&G.length===0?(0,Z.jsx)(he,{icon:R?.hierarchical?(0,Z.jsx)(O,{size:48,className:`text-kumo-inactive`}):(0,Z.jsx)(Fe,{size:48,className:`text-kumo-inactive`}),title:U?e(`taxonomy.empty.search`):e(`taxonomy.empty.${z}`,J),description:e(z===`all`&&!U?`taxonomy.empty.allDescription`:`taxonomy.empty.filteredDescription`),contents:z===`all`&&!U?He:void 0}):(0,Z.jsx)(qe,{reason:Y.reason,className:`min-w-0`,children:(0,Z.jsx)(I,{className:`overflow-x-auto p-0`,children:(0,Z.jsxs)(B,{children:[(0,Z.jsx)(B.Header,{children:(0,Z.jsxs)(B.Row,{children:[(0,Z.jsx)(B.Head,{children:e(`taxonomy.columns.name`)}),(0,Z.jsx)(B.Head,{children:e(`taxonomy.columns.usage`)}),(0,Z.jsx)(B.Head,{children:e(`taxonomy.columns.index`)}),(0,Z.jsx)(B.Head,{children:e(`taxonomy.columns.visibility`)}),(0,Z.jsx)(B.Head,{sticky:`right`,className:`w-0`,children:(0,Z.jsx)(`span`,{className:`sr-only`,children:e(`site.rowMenu`)})})]})}),!E.terms.isSuccess||!R?(0,Z.jsx)(Ue,{columns:5}):(0,Z.jsx)(B.Body,{children:_e.map(t=>{let{term:r,usage:s}=t.item,c=t.depth===0&&r.parentId?E.byId.get(r.parentId)?.term:void 0;return(0,Z.jsxs)(B.Row,{"data-term-id":r.id,"data-status":r.status,children:[(0,Z.jsxs)(B.Cell,{children:[(0,Z.jsx)(g,{term:r,tax:R,name:E.name(r),depth:t.depth,href:Te(r),mergedInto:Oe(r),context:c?e(`pickers.under`,{path:E.name(c)}):void 0}),r.status===`proposed`&&r.proposedBy&&(0,Z.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2`,"data-testid":`proposed-by`,children:[(0,Z.jsx)(w,{variant:`secondary`,size:`sm`,as:`span`,children:e(`taxonomy.review.proposedBy`)}),(0,Z.jsx)(We,{actor:r.proposedBy})]}),r.status===`proposed`&&(0,Z.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5`,"data-testid":`review-actions`,children:[(0,Z.jsx)(a,{variant:`secondary`,size:`sm`,icon:(0,Z.jsx)(S,{}),loading:Ce.isPending&&Ce.variables?.id===r.id,onClick:()=>Ce.mutate(r),"data-testid":`approve-term`,children:e(`taxonomy.review.approve`)}),(0,Z.jsx)(a,{variant:`ghost`,size:`sm`,icon:(0,Z.jsx)(b,{}),onClick:()=>we(`reviewMerge`,r),"data-testid":`merge-proposal`,children:e(`taxonomy.review.merge`)}),(0,Z.jsx)(a,{variant:`ghost`,size:`sm`,icon:(0,Z.jsx)(Re,{}),"aria-label":e(`taxonomy.review.rejectNamed`,{name:E.name(r)}),onClick:()=>we(`reject`,r),"data-testid":`reject-term`,children:e(`taxonomy.review.reject`)})]})]}),(0,Z.jsx)(B.Cell,{className:`whitespace-nowrap`,children:(0,Z.jsxs)(`span`,{className:`grid gap-0.5`,children:[s.total===0?(0,Z.jsx)(w,{variant:`secondary`,as:`span`,children:e(`taxonomy.usage.none`)}):(0,Z.jsx)(i,{content:e(`taxonomy.usage.hint`,{published:s.published,total:s.total}),children:(0,Z.jsx)(`span`,{className:`inline-flex`,"data-testid":`usage`,children:R.key===`category`||R.key===`tag`?(0,Z.jsx)(o,{href:`/sites/${n}/articles?${R.key}=${r.slug}`,variant:`plain`,children:(0,Z.jsx)(w,{as:`span`,children:e(`taxonomy.usage.value`,{published:s.published,total:s.total})})}):(0,Z.jsx)(w,{as:`span`,children:e(`taxonomy.usage.value`,{published:s.published,total:s.total})})})}),s.lastUsedAt&&(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,"data-testid":`last-used`,children:[(0,Z.jsx)(w,{variant:`secondary`,size:`xs`,as:`span`,children:e(`taxonomy.columns.lastUsed`)}),(0,Z.jsx)(Ve,{iso:s.lastUsedAt,size:`xs`})]})]})}),(0,Z.jsx)(B.Cell,{children:(0,Z.jsx)(v,{status:Ae(r,R,ve.get(r.id)??0,E.defaultLocale)})}),(0,Z.jsx)(B.Cell,{className:`whitespace-nowrap`,children:(0,Z.jsx)(h,{term:r})}),(0,Z.jsx)(B.Cell,{sticky:`right`,className:`w-0 text-end`,children:(0,Z.jsx)(`span`,{className:`flex items-center justify-end gap-1.5`,children:(0,Z.jsx)(Pt,{term:r,tax:R,onEdit:()=>y({to:`/sites/$siteId/taxonomy/$termId`,params:{siteId:n,termId:r.id}}),onOpen:e=>we(e,r)})})})]},r.id)})})]})})}),G.length>At&&(0,Z.jsx)(x,{page:ne,perPage:At,totalCount:G.length,setPage:ie})]}),(0,Z.jsx)($e,{open:ae,onOpenChange:oe,tax:R,data:E}),(0,Z.jsx)(le,{target:ce,tax:R,data:E,onOpenChange:e=>!e&&M(void 0)}),(0,Z.jsx)(Ye,{siteId:n,open:se,onOpenChange:j}),(0,Z.jsx)(Ot,{open:fe.open,onOpenChange:e=>P(t=>({...t,open:e})),siteId:n,taxonomy:fe.mode===`edit`?R:void 0,data:E,onCreated:e=>V({taxonomy:e.key,filter:`all`})})]})}function Pt({term:e,tax:t,onEdit:n,onOpen:r}){let o=K();return(0,Z.jsxs)(R,{children:[(0,Z.jsx)(i,{content:o(`site.rowMenu`),render:(0,Z.jsx)(R.Trigger,{render:(0,Z.jsx)(a,{variant:`ghost`,size:`sm`,shape:`square`,icon:(0,Z.jsx)(T,{weight:`bold`}),"aria-label":o(`taxonomy.menu.label`),"data-testid":`term-menu`})})}),(0,Z.jsxs)(R.Content,{align:`end`,children:[(0,Z.jsx)(R.Item,{icon:ne,onClick:n,children:e.status===`retired`?o(`taxonomy.menu.view`):o(`taxonomy.menu.edit`)}),e.status===`proposed`&&(0,Z.jsx)(R.Item,{icon:b,onClick:()=>r(`reviewMerge`),children:o(`taxonomy.menu.mergeExisting`)}),e.status===`active`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(R.Item,{icon:se,onClick:()=>r(`rename`),children:o(`taxonomy.menu.rename`)}),(0,Z.jsx)(R.Item,{icon:b,onClick:()=>r(`merge`),children:o(`taxonomy.menu.merge`)}),t.hierarchical&&(0,Z.jsx)(R.Item,{icon:ze,onClick:()=>r(`move`),children:o(`taxonomy.menu.move`)}),(0,Z.jsx)(R.Item,{icon:e.visibility===`public`?D:E,onClick:()=>r(`visibility`),children:e.visibility===`public`?o(`taxonomy.menu.makeInternal`):o(`taxonomy.menu.makePublic`)}),(0,Z.jsx)(R.Separator,{}),(0,Z.jsx)(R.Item,{icon:j,variant:`danger`,onClick:()=>r(`retire`),children:o(`taxonomy.menu.retire`)})]}),e.status===`proposed`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(R.Separator,{}),(0,Z.jsx)(R.Item,{icon:Re,variant:`danger`,onClick:()=>r(`reject`),children:o(`taxonomy.review.reject`)})]})]})]})}function Ft({tax:e,names:t,onEdit:n,editReason:i}){let o=K();return(0,Z.jsx)(_e,{id:`rules`,title:o(`taxonomy.rules.title`,t),icon:(0,Z.jsx)(C,{size:16}),description:o(`taxonomy.rules.description`),actions:(0,Z.jsx)(a,{variant:`ghost`,size:`sm`,icon:(0,Z.jsx)(Pe,{}),onClick:n,disabled:i!==void 0,title:i,"data-testid":`rules-edit`,children:o(`taxonomySettings.edit`)}),children:(0,Z.jsxs)(`dl`,{className:`-my-3 grid divide-y divide-kumo-hairline`,children:[(0,Z.jsx)(U,{label:o(`taxonomy.rules.structure`),hint:e.hierarchical?o(`taxonomy.rules.treeHint`):o(`taxonomy.rules.flatHint`),children:(0,Z.jsx)(r,{variant:`outline`,children:e.hierarchical?o(`taxonomy.rules.tree`):o(`taxonomy.rules.flat`)})}),(0,Z.jsx)(U,{label:o(`taxonomy.rules.newTerms`),hint:o(`taxonomy.rules.newTermsHint.${e.allowNewTerms}`),children:(0,Z.jsx)(r,{variant:`outline`,children:o(`taxonomy.rules.newTermsValue.${e.allowNewTerms}`)})}),(0,Z.jsx)(U,{label:o(`taxonomy.rules.perArticle`),hint:e.required?o(`taxonomy.rules.requiredHint`):o(`taxonomy.rules.optionalHint`),children:(0,Z.jsx)(r,{variant:e.required?`info`:`secondary`,children:e.required?o(`taxonomy.rules.required`,{max:e.maxPerEntry??50}):o(`taxonomy.rules.optional`,{max:e.maxPerEntry??50})})}),(0,Z.jsx)(U,{label:o(`taxonomy.rules.archive`),hint:e.archive.enabled?o(`taxonomy.rules.archiveHint`,{min:e.minEntriesToIndex}):o(`taxonomy.rules.archiveOff`),children:(0,Z.jsx)(w,{variant:`mono-secondary`,as:`span`,children:e.archive.enabled?`${e.archive.basePath}/…`:o(`common.off`)})})]})})}export{Nt as TaxonomyPage};
|
|
2
|
+
//# sourceMappingURL=TaxonomyPage-1NKiEnue.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./IconBase.es-BZDpYMnj.js";import{i as n,r}from"./react-CDCuUAOg.js";import{t as i}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{o as a,t as o}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{S as s,_ as ee,b as c,d as l,h as u}from"./tanstack-BRxyYm4G.js";import{a as te,c as ne,i as re,r as ie,t as ae}from"./Taxonomy-BGflQo3a.js";import{n as oe}from"./DirectionalIcon-UZJFXGY_.js";import{t as se}from"./ArrowsMerge.es-gfKOrxGd.js";import{a as ce}from"./Menus-C5xbqFeO.js";import{h as le,n as d,t as f}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as ue}from"./inline-copy-text-gbd7jhwpor27l4rq-BGh10UAA.js";import{t as de}from"./DotsThree.es-C-pT5SgE.js";import{t as fe}from"./Eye.es-DqovdtPt.js";import{t as pe}from"./EyeSlash.es-YoqigHIr.js";import{t as me}from"./TextAa.es-CuNv62rI.js";import{t as he}from"./Trash.es-CxKLVMOQ.js";import{t as ge}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{t as _e}from"./GovernanceDialog-DJXeICb7.js";import{a as ve}from"./useMe-BkBpEyf5.js";import{t as ye}from"./Toast-BsM5w6Jh.js";import{t as p}from"./input-c8lv9ulv0kortliq-Be2cm12J.js";import{t as be}from"./input-h5ox92gf13ge04hp-CDAaOl0A.js";import{g as xe,t as m}from"./api-CHeogUo-.js";import{t as h}from"./dropdown-m53ji1d66mws89wh-BTaT-o14.js";import{t as Se}from"./tabs-gf57qqf1wcclaejq-CirIVMnq.js";import{n as Ce}from"./Crumbs-B3lDes5a.js";import{t as we}from"./tag-input-ohfybx5dbxy3houy-CSOSIyf4.js";import{t as Te}from"./InsetPanel-CHSg953_.js";import{t as g}from"./SectionCard-Bqvz-NiL.js";import{c as Ee,u as De}from"./i18n-CCHry74V.js";import{t as _}from"./api-errors-c5QRmg0g.js";import{s as Oe}from"./site-settings-Cmq0DkaT.js";import{D as ke,a as Ae,f as v,h as je,l as Me,m as Ne,o as y,r as b,s as Pe}from"./taxonomy-S-y5xbUa.js";import{C as x,E as Fe,J as S,R as C,S as w,d as T,it as E}from"./index-B3isvl8R.js";import{t as D}from"./EditorPreview-Do3uvSEw.js";import{t as O}from"./useSettled-C0sKy_Gd.js";import{a as Ie,i as Le,n as Re,r as ze,t as Be}from"./EditorLayout-BPvUbdqu.js";import{n as Ve,t as He}from"./Gating-CB6Agrha.js";import{t as Ue}from"./util-B4GkKYcU.js";import{i as We,o as Ge,r as Ke}from"./Seo-CYRxTxto.js";var k=e(n(),1),A=new Map([[`bold`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M172,124a12,12,0,0,1-12,12H96a12,12,0,0,1,0-24h64A12,12,0,0,1,172,124Zm-12,28H96a12,12,0,0,0,0,24h64a12,12,0,0,0,0-24ZM220,40V200a36,36,0,0,1-36,36H72a36,36,0,0,1-36-36V40A12,12,0,0,1,48,28H72V24a12,12,0,0,1,24,0v4h20V24a12,12,0,0,1,24,0v4h20V24a12,12,0,0,1,24,0v4h24A12,12,0,0,1,220,40ZM196,52H184v4a12,12,0,0,1-24,0V52H140v4a12,12,0,0,1-24,0V52H96v4a12,12,0,0,1-24,0V52H60V200a12,12,0,0,0,12,12H184a12,12,0,0,0,12-12Z`}))],[`fill`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M208,32H184V24a8,8,0,0,0-16,0v8H136V24a8,8,0,0,0-16,0v8H88V24a8,8,0,0,0-16,0v8H48a8,8,0,0,0-8,8V200a32,32,0,0,0,32,32H184a32,32,0,0,0,32-32V40A8,8,0,0,0,208,32ZM120,56a8,8,0,0,1,16,0v8a8,8,0,0,1-16,0ZM80,72a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0v8A8,8,0,0,1,80,72Zm80,96H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Zm0-32H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Zm24-72a8,8,0,0,1-16,0V56a8,8,0,0,1,16,0Z`}))],[`regular`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M168,128a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,128Zm-8,24H96a8,8,0,0,0,0,16h64a8,8,0,0,0,0-16ZM216,40V200a32,32,0,0,1-32,32H72a32,32,0,0,1-32-32V40a8,8,0,0,1,8-8H72V24a8,8,0,0,1,16,0v8h32V24a8,8,0,0,1,16,0v8h32V24a8,8,0,0,1,16,0v8h24A8,8,0,0,1,216,40Zm-16,8H184v8a8,8,0,0,1-16,0V48H136v8a8,8,0,0,1-16,0V48H88v8a8,8,0,0,1-16,0V48H56V200a16,16,0,0,0,16,16H184a16,16,0,0,0,16-16Z`}))]]),j=k.forwardRef((e,n)=>k.createElement(t,{ref:n,...e,weights:A}));j.displayName=`NotepadIcon`;var qe=j,M=r();function Je({term:e,rev:t,path:n}){let r=De(),o=JSON.stringify({id:e.id,siteId:e.siteId,labels:e.labels,...e.image?{image:e.image}:{}}),s=O(o,350),l=ee({queryKey:[`term-preview`,e.siteId,e.id,t,s],queryFn:()=>m.terms.previewDraft(JSON.parse(s)),placeholderData:c}),u=l.data?.archive;return(0,M.jsx)(D,{draft:!0,src:m.preview.term(e.siteId,e.id),srcDoc:l.data?.html,stale:s!==o||l.isFetching,rev:t,name:n,dirty:!1,status:u?(0,M.jsxs)(`span`,{className:`flex items-center gap-1.5`,"data-testid":`preview-archive`,"data-status":u.status,children:[(0,M.jsx)(ae,{status:y(u)}),(0,M.jsx)(a,{content:r(`termEditor.preview.statusHint`,{path:n,status:u.status}),children:(0,M.jsx)(`span`,{className:`inline-flex`,children:(0,M.jsx)(i,{variant:`outline`,children:`HTTP ${u.status}`})})})]}):l.error?(0,M.jsx)(a,{content:_(r,l.error),children:(0,M.jsx)(`span`,{className:`inline-flex`,children:(0,M.jsx)(i,{variant:`error`,children:r(`preview.failed`)})})}):void 0})}var Ye={tooLong:`termEditor.errors.altTooLong`,duplicate:`termEditor.errors.altDuplicate`,collision:`termEditor.errors.altCollision`};function N(){let e=De(),{locale:t}=Ee(),{siteId:n,termId:r}=l({from:`/sites/$siteId/taxonomy/$termId`}),c=s(),_=ye(),y=ne(n),D=ee({queryKey:[`term`,n,r],queryFn:()=>m.terms.get(n,r)}),[O,A]=(0,k.useState)(),[j,N]=(0,k.useState)(!1),[Xe,Ze]=(0,k.useState)(),[Qe,$e]=(0,k.useState)(),[P,et]=Ie();(0,k.useEffect)(()=>{D.data&&A(D.data.term)},[D.data]);let F=D.data?.term,tt=Ue(O,F),I=y.taxonomies.data?.find(e=>e.id===F?.taxonomyId),nt=I?y.itemsOf(I):[],rt=Oe(y.site.data?.domains??[]),L=y.defaultLocale,R=Xe??L,z=ve(`structure.write`),B=u({mutationFn:e=>m.terms.update(Me(e,L)),onSuccess:async({term:t})=>{A(t),N(!1),c.setQueryData([`term`,n,r],e=>e&&{...e,term:t}),await te(c,n),_.success(e(`editor.saved`),e(`governance.oneSnapshot`))}}),V=u({mutationFn:e=>m.terms.govern(e,{op:`review`,decision:`approve`}),onSuccess:async()=>{await te(c,n),_.success(e(`taxonomy.review.approved`,{name:F?y.name(F):``}))}}),it=`/sites/${n}/taxonomy${I?`?taxonomy=${I.key}`:``}`,at={label:e(`pageHeaders.taxonomy.title`),href:it};if(!O||!F||!I)return(0,M.jsxs)(x,{crumbs:(0,M.jsx)(Ce,{siteId:n,trail:[at,{label:void 0}]}),title:void 0,loading:D.isPending||y.taxonomies.isPending,children:[(0,M.jsx)(w,{error:D.error??y.taxonomies.error}),(0,M.jsxs)(xe,{className:`grid gap-3 px-5 py-4`,children:[(0,M.jsx)(f,{minWidth:30,maxWidth:45}),(0,M.jsx)(f,{minWidth:70,maxWidth:90}),(0,M.jsx)(f,{minWidth:50,maxWidth:70})]})]});let H=ke(O,{defaultLocale:L,terms:nt.map(e=>e.term)}),U=H.locales[R]??{},W=O.labels[R],G=y.name(F),K=F.status===`retired`,q=F.mergedInto?y.byId.get(F.mergedInto)?.term:void 0,ot=F.parentId?y.byId.get(F.parentId)?.term:void 0,J=Pe(I,F.slug),Y=D.data?.usage??{total:0,published:0},st=Ae(nt,I.hierarchical).get(F.id)??Y.published,X=je(O,I,st,L),ct=D.data?.redirects??[],lt=y.label(I,`singular`),ut=()=>{if(!Ne(H))return!0;N(!0),_.error(e(`seo.fixErrors`));let t=Object.keys(H.locales).find(e=>e!==R);return t&&!H.locales[R]&&Ze(t),!1},Z=e=>j&&e!==void 0,dt=Z(U.name)?U.name===`required`?e(`termEditor.errors.nameRequired`):e(`termEditor.errors.nameTooLong`):void 0,Q=U.altNames?.[0],$=e=>$e({kind:e,term:F}),ft=[{label:e(`editor.id`),value:(0,M.jsx)(ue,{children:F.id})},{label:e(`termEditor.details.taxonomy`),value:(0,M.jsx)(d,{as:`span`,children:y.label(I)})},{label:e(`termEditor.details.visibility`),value:(0,M.jsx)(re,{term:F})},{label:e(`termEditor.details.usage`),value:(0,M.jsx)(d,{as:`span`,children:e(`taxonomy.usage.value`,{published:Y.published,total:Y.total})})},...Y.lastUsedAt?[{label:e(`taxonomy.columns.lastUsed`),value:(0,M.jsx)(T,{iso:Y.lastUsedAt,size:`base`})}]:[],{label:e(`editor.revision`),value:(0,M.jsx)(d,{as:`span`,children:F.rev})},{label:e(`editor.updatedAt`),value:(0,M.jsx)(T,{iso:F.updatedAt,size:`base`})}];return(0,M.jsxs)(x,{crumbs:(0,M.jsx)(Ce,{siteId:n,trail:[at,{label:G}],copy:F.id}),title:G,description:(0,M.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,M.jsx)(i,{variant:`outline`,children:lt}),(0,M.jsx)(ie,{term:F,mergedInto:q?y.name(q):void 0}),(0,M.jsx)(d,{variant:`mono-secondary`,as:`span`,children:J})]}),actions:K?(0,M.jsx)(Le,{visible:P,onChange:et,live:!0}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(Le,{visible:P,onChange:et,live:!0}),F.status===`proposed`&&(0,M.jsx)(o,{variant:`secondary`,icon:(0,M.jsx)(le,{}),loading:V.isPending,onClick:()=>V.mutate(F),disabled:z.reason!==void 0,title:z.reason,children:e(`taxonomy.review.approve`)}),(0,M.jsxs)(h,{children:[(0,M.jsx)(a,{content:e(`editor.moreActions`),render:(0,M.jsx)(h.Trigger,{render:(0,M.jsx)(o,{variant:`secondary`,shape:`square`,icon:(0,M.jsx)(de,{weight:`bold`}),"aria-label":e(`editor.moreActions`),"data-testid":`term-actions`,disabled:z.reason!==void 0})})}),(0,M.jsx)(h.Content,{align:`end`,children:F.status===`proposed`?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(h.Item,{icon:se,onClick:()=>$(`reviewMerge`),children:e(`taxonomy.menu.mergeExisting`)}),(0,M.jsx)(h.Separator,{}),(0,M.jsx)(h.Item,{icon:he,variant:`danger`,onClick:()=>$(`reject`),children:e(`taxonomy.review.reject`)})]}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(h.Item,{icon:me,onClick:()=>$(`rename`),children:e(`taxonomy.menu.rename`)}),(0,M.jsx)(h.Item,{icon:se,onClick:()=>$(`merge`),children:e(`taxonomy.menu.merge`)}),I.hierarchical&&(0,M.jsx)(h.Item,{icon:C,onClick:()=>$(`move`),children:e(`taxonomy.menu.move`)}),(0,M.jsx)(h.Item,{icon:F.visibility===`public`?pe:fe,onClick:()=>$(`visibility`),children:F.visibility===`public`?e(`taxonomy.menu.makeInternal`):e(`taxonomy.menu.makePublic`)})]})})]}),(0,M.jsx)(o,{variant:`primary`,onClick:()=>{ut()&&B.mutate(O)},loading:B.isPending,disabled:!tt||z.reason!==void 0,title:z.reason,"data-testid":`save`,children:e(`common.save`)})]}),children:[(0,M.jsx)(w,{error:B.error??V.error}),!K&&(0,M.jsx)(Ve,{reason:z.reason}),K&&(0,M.jsx)(ge,{variant:`secondary`,icon:(0,M.jsx)(E,{weight:`fill`}),title:q?e(`termEditor.retired.merged`,{name:y.name(q)}):e(`termEditor.retired.title`),description:e(`termEditor.retired.description`)}),y.locales.length>1&&(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,M.jsx)(d,{variant:`secondary`,as:`span`,children:e(`termEditor.language`)}),(0,M.jsx)(Se,{variant:`segmented`,value:R,onValueChange:Ze,tabs:y.locales.map(t=>({value:t,label:(0,M.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[t,t===L&&(0,M.jsx)(d,{variant:`secondary`,size:`sm`,as:`span`,children:e(`termEditor.default`)}),H.locales[t]&&j&&(0,M.jsx)(i,{variant:`error`,children:`!`})]})})),"data-testid":`term-locales`})]}),(0,M.jsx)(He,{reason:z.reason,className:`min-w-0`,children:(0,M.jsx)(ze,{previewVisible:P,preview:(0,M.jsx)(Je,{term:O,rev:F.rev,path:J}),main:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(g,{id:`names`,title:e(`termEditor.names.title`),icon:(0,M.jsx)(me,{size:16}),description:e(`termEditor.names.description`),children:[(0,M.jsx)(p,{label:e(`termEditor.names.name`,{locale:R}),value:W?.name??``,onValueChange:e=>A(v(O,R,{name:e})),description:R===L?e(`termEditor.names.nameHintDefault`):e(`termEditor.names.nameHint`,{locale:L}),error:dt,maxLength:b.nameMax,required:R===L,disabled:K,className:`w-full`,"data-testid":`term-name`}),(0,M.jsx)(we,{label:e(`termEditor.names.altNames`),value:W?.altNames??[],onValueChange:e=>A(v(O,R,{...W?{}:{name:``},altNames:e.length?[...new Set(e.map(e=>e.trim()).filter(Boolean))]:void 0})),maxValues:b.altNamesMax,description:e(`termEditor.names.altNamesHint`),error:Q?e(Ye[Q.code],{value:Q.value,other:Q.other??``}):void 0,labels:{removeValue:t=>e(`pickers.remove`,{name:t}),maxValuesReached:t=>e(`pickers.atMost`,{max:t})},disabled:K,className:`w-full`,"data-testid":`term-altnames`})]}),(0,M.jsx)(g,{id:`introduction`,title:e(`termEditor.intro.title`),icon:(0,M.jsx)(qe,{size:16}),description:e(`termEditor.intro.description`,{path:J}),children:(0,M.jsx)(be,{"aria-label":e(`termEditor.intro.title`),value:W?.description??``,onValueChange:e=>A(v(O,R,{description:e||void 0})),description:(0,M.jsx)(Ke,{hint:e(`termEditor.intro.hint`),count:W?.description?.length??0,recommended:b.descriptionMax}),error:Z(U.description)?e(`termEditor.errors.introTooLong`):void 0,autoResize:!0,minRows:4,maxRows:16,disabled:K,className:`w-full font-mono`,"data-testid":`term-intro`})}),(0,M.jsx)(We,{siteId:n,defaultLocale:L,id:`term-image`,title:e(`termEditor.image.title`),description:e(`termEditor.image.description`),image:O.image,savedSrc:F.image?.src,host:rt,errors:H.image??{},showErrors:j,onChange:e=>{let{image:t,...n}=O;A(e?{...n,image:e}:n)}}),(0,M.jsx)(g,{id:`seo`,title:e(`termEditor.seo.title`),icon:(0,M.jsx)(S,{size:16}),description:e(`termEditor.seo.description`,{locale:R}),children:(0,M.jsx)(Ge,{kind:`archive`,seo:W?.seo,onChange:e=>A(v(O,R,{seo:e})),fallbackTitle:W?.name||G,path:J,siteName:y.site.data?.name??``,host:rt,errors:U.seo??{},showErrors:j})})]}),aside:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(g,{id:`indexing`,title:e(`termEditor.indexing.title`),icon:(0,M.jsx)(S,{size:16}),actions:(0,M.jsx)(ae,{status:X}),children:(0,M.jsx)(d,{variant:`secondary`,children:X.kind===`indexed`?e(`termEditor.indexing.indexed`,{count:X.published,path:J}):X.kind===`thin`?e(`termEditor.indexing.thin`,{count:X.published,min:X.min,path:J}):X.kind===`empty`?e(`termEditor.indexing.empty`,{path:J}):X.kind===`noindex`?e(`termEditor.indexing.noindex`,{path:J}):e(`taxonomy.index.noneHint.${X.reason}`)})}),(0,M.jsxs)(g,{id:`placement`,title:e(`termEditor.placement.title`),icon:(0,M.jsx)(C,{size:16}),children:[I.hierarchical&&(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,M.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,children:[(0,M.jsx)(d,{variant:`secondary`,size:`sm`,as:`span`,children:e(`governance.move.parent`)}),(0,M.jsx)(d,{as:`span`,truncate:!0,children:ot?y.name(ot):e(`governance.move.topLevel`)})]}),!K&&(0,M.jsx)(o,{variant:`secondary`,size:`sm`,onClick:()=>$(`move`),children:e(`taxonomy.menu.move`)})]}),(0,M.jsx)(p,{type:`number`,label:e(`termEditor.placement.position`),value:O.position===void 0?``:String(O.position),onValueChange:e=>{let{position:t,...n}=O;A(e===``?n:{...n,position:Number(e)})},description:e(`termEditor.placement.positionHint`),error:Z(H.position)?e(`termEditor.errors.position`,{max:b.positionMax}):void 0,min:0,max:b.positionMax,required:!1,disabled:K,className:`w-full`,"data-testid":`term-position`})]}),(0,M.jsx)(g,{id:`slug-history`,title:e(`termEditor.history.title`),icon:(0,M.jsx)(E,{size:16}),actions:K?void 0:(0,M.jsx)(o,{variant:`ghost`,size:`sm`,onClick:()=>$(`rename`),children:e(`taxonomy.menu.rename`)}),flush:(F.slugHistory?.length??0)===0,children:(F.slugHistory?.length??0)===0?(0,M.jsx)(Fe,{icon:(0,M.jsx)(E,{size:32,className:`text-kumo-inactive`}),title:e(`termEditor.history.empty`),description:e(`termEditor.history.emptyDescription`,{path:J})}):(0,M.jsxs)(`div`,{className:`grid gap-3`,"data-testid":`slug-history`,children:[(0,M.jsx)(d,{variant:`secondary`,size:`sm`,children:e(`termEditor.history.description`)}),(0,M.jsx)(Te,{children:(0,M.jsx)(`div`,{className:`grid divide-y divide-kumo-hairline`,children:[...F.slugHistory??[]].reverse().map(t=>{let n=Pe(I,t),r=ct.find(e=>e.from===n);return(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 py-2 first:pt-0 last:pb-0`,children:[(0,M.jsx)(d,{variant:`mono`,as:`span`,children:n}),r?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(oe,{size:14}),(0,M.jsx)(d,{variant:`mono-secondary`,as:`span`,children:r.to}),(0,M.jsx)(i,{variant:`outline`,children:r.status})]}):(0,M.jsx)(d,{variant:`secondary`,size:`sm`,as:`span`,children:e(`termEditor.history.reserved`)})]},t)})})})]})}),(0,M.jsx)(ce,{siteId:n,kind:`term`,id:F.id}),(0,M.jsx)(Re,{rows:ft}),!K&&F.status===`active`&&(0,M.jsx)(Be,{title:e(`termEditor.retire.title`,{singular:lt.toLocaleLowerCase(t)}),description:e(`termEditor.retire.description`),actionLabel:e(`taxonomy.menu.retire`),onAction:()=>$(`retire`)})]})})}),(0,M.jsx)(_e,{target:Qe,tax:I,data:y,onOpenChange:e=>!e&&$e(void 0),onDone:()=>void D.refetch()})]})}export{N as TermEditorPage};
|
|
2
|
-
//# sourceMappingURL=TermEditorPage-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./IconBase.es-BZDpYMnj.js";import{i as n,r}from"./react-CDCuUAOg.js";import{t as i}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{o as a,t as o}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{S as s,_ as ee,b as c,d as l,h as u}from"./tanstack-BRxyYm4G.js";import{a as te,c as ne,i as re,r as ie,t as ae}from"./Taxonomy-BGflQo3a.js";import{n as oe}from"./DirectionalIcon-UZJFXGY_.js";import{t as se}from"./ArrowsMerge.es-gfKOrxGd.js";import{a as ce}from"./Menus-LUcwCsPd.js";import{h as le,n as d,t as f}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as ue}from"./inline-copy-text-gbd7jhwpor27l4rq-BGh10UAA.js";import{t as de}from"./DotsThree.es-C-pT5SgE.js";import{t as fe}from"./Eye.es-DqovdtPt.js";import{t as pe}from"./EyeSlash.es-YoqigHIr.js";import{t as me}from"./TextAa.es-CuNv62rI.js";import{t as he}from"./Trash.es-CxKLVMOQ.js";import{t as ge}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{t as _e}from"./GovernanceDialog-YzAT6s-u.js";import{a as ve}from"./useMe-BkBpEyf5.js";import{t as ye}from"./Toast-BsM5w6Jh.js";import{t as p}from"./input-c8lv9ulv0kortliq-Be2cm12J.js";import{t as be}from"./input-h5ox92gf13ge04hp-CDAaOl0A.js";import{g as xe,t as m}from"./api-CHeogUo-.js";import{t as h}from"./dropdown-m53ji1d66mws89wh-BTaT-o14.js";import{t as Se}from"./tabs-gf57qqf1wcclaejq-CirIVMnq.js";import{n as Ce}from"./Crumbs-B3lDes5a.js";import{t as we}from"./tag-input-ohfybx5dbxy3houy-sHF6otfN.js";import{t as Te}from"./InsetPanel-CHSg953_.js";import{t as g}from"./SectionCard-Bqvz-NiL.js";import{c as Ee,u as De}from"./i18n-CCHry74V.js";import{t as _}from"./api-errors-c5QRmg0g.js";import{s as Oe}from"./site-settings-Cmq0DkaT.js";import{D as ke,a as Ae,f as v,h as je,l as Me,m as Ne,o as y,r as b,s as Pe}from"./taxonomy-S-y5xbUa.js";import{C as x,E as Fe,J as S,R as C,S as w,d as T,it as E}from"./index-OjH3NEOH.js";import{t as D}from"./EditorPreview-BZygug8K.js";import{t as O}from"./useSettled-C0sKy_Gd.js";import{a as Ie,i as Le,n as Re,r as ze,t as Be}from"./EditorLayout-BPvUbdqu.js";import{n as Ve,t as He}from"./Gating-BBlmTEBr.js";import{t as Ue}from"./util-B4GkKYcU.js";import{i as We,o as Ge,r as Ke}from"./Seo-C8dMpUy1.js";var k=e(n(),1),A=new Map([[`bold`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M172,124a12,12,0,0,1-12,12H96a12,12,0,0,1,0-24h64A12,12,0,0,1,172,124Zm-12,28H96a12,12,0,0,0,0,24h64a12,12,0,0,0,0-24ZM220,40V200a36,36,0,0,1-36,36H72a36,36,0,0,1-36-36V40A12,12,0,0,1,48,28H72V24a12,12,0,0,1,24,0v4h20V24a12,12,0,0,1,24,0v4h20V24a12,12,0,0,1,24,0v4h24A12,12,0,0,1,220,40ZM196,52H184v4a12,12,0,0,1-24,0V52H140v4a12,12,0,0,1-24,0V52H96v4a12,12,0,0,1-24,0V52H60V200a12,12,0,0,0,12,12H184a12,12,0,0,0,12-12Z`}))],[`fill`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M208,32H184V24a8,8,0,0,0-16,0v8H136V24a8,8,0,0,0-16,0v8H88V24a8,8,0,0,0-16,0v8H48a8,8,0,0,0-8,8V200a32,32,0,0,0,32,32H184a32,32,0,0,0,32-32V40A8,8,0,0,0,208,32ZM120,56a8,8,0,0,1,16,0v8a8,8,0,0,1-16,0ZM80,72a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0v8A8,8,0,0,1,80,72Zm80,96H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Zm0-32H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Zm24-72a8,8,0,0,1-16,0V56a8,8,0,0,1,16,0Z`}))],[`regular`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M168,128a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,128Zm-8,24H96a8,8,0,0,0,0,16h64a8,8,0,0,0,0-16ZM216,40V200a32,32,0,0,1-32,32H72a32,32,0,0,1-32-32V40a8,8,0,0,1,8-8H72V24a8,8,0,0,1,16,0v8h32V24a8,8,0,0,1,16,0v8h32V24a8,8,0,0,1,16,0v8h24A8,8,0,0,1,216,40Zm-16,8H184v8a8,8,0,0,1-16,0V48H136v8a8,8,0,0,1-16,0V48H88v8a8,8,0,0,1-16,0V48H56V200a16,16,0,0,0,16,16H184a16,16,0,0,0,16-16Z`}))]]),j=k.forwardRef((e,n)=>k.createElement(t,{ref:n,...e,weights:A}));j.displayName=`NotepadIcon`;var qe=j,M=r();function Je({term:e,rev:t,path:n}){let r=De(),o=JSON.stringify({id:e.id,siteId:e.siteId,labels:e.labels,...e.image?{image:e.image}:{}}),s=O(o,350),l=ee({queryKey:[`term-preview`,e.siteId,e.id,t,s],queryFn:()=>m.terms.previewDraft(JSON.parse(s)),placeholderData:c}),u=l.data?.archive;return(0,M.jsx)(D,{draft:!0,src:m.preview.term(e.siteId,e.id),srcDoc:l.data?.html,stale:s!==o||l.isFetching,rev:t,name:n,dirty:!1,status:u?(0,M.jsxs)(`span`,{className:`flex items-center gap-1.5`,"data-testid":`preview-archive`,"data-status":u.status,children:[(0,M.jsx)(ae,{status:y(u)}),(0,M.jsx)(a,{content:r(`termEditor.preview.statusHint`,{path:n,status:u.status}),children:(0,M.jsx)(`span`,{className:`inline-flex`,children:(0,M.jsx)(i,{variant:`outline`,children:`HTTP ${u.status}`})})})]}):l.error?(0,M.jsx)(a,{content:_(r,l.error),children:(0,M.jsx)(`span`,{className:`inline-flex`,children:(0,M.jsx)(i,{variant:`error`,children:r(`preview.failed`)})})}):void 0})}var Ye={tooLong:`termEditor.errors.altTooLong`,duplicate:`termEditor.errors.altDuplicate`,collision:`termEditor.errors.altCollision`};function N(){let e=De(),{locale:t}=Ee(),{siteId:n,termId:r}=l({from:`/sites/$siteId/taxonomy/$termId`}),c=s(),_=ye(),y=ne(n),D=ee({queryKey:[`term`,n,r],queryFn:()=>m.terms.get(n,r)}),[O,A]=(0,k.useState)(),[j,N]=(0,k.useState)(!1),[Xe,Ze]=(0,k.useState)(),[Qe,$e]=(0,k.useState)(),[P,et]=Ie();(0,k.useEffect)(()=>{D.data&&A(D.data.term)},[D.data]);let F=D.data?.term,tt=Ue(O,F),I=y.taxonomies.data?.find(e=>e.id===F?.taxonomyId),nt=I?y.itemsOf(I):[],rt=Oe(y.site.data?.domains??[]),L=y.defaultLocale,R=Xe??L,z=ve(`structure.write`),B=u({mutationFn:e=>m.terms.update(Me(e,L)),onSuccess:async({term:t})=>{A(t),N(!1),c.setQueryData([`term`,n,r],e=>e&&{...e,term:t}),await te(c,n),_.success(e(`editor.saved`),e(`governance.oneSnapshot`))}}),V=u({mutationFn:e=>m.terms.govern(e,{op:`review`,decision:`approve`}),onSuccess:async()=>{await te(c,n),_.success(e(`taxonomy.review.approved`,{name:F?y.name(F):``}))}}),it=`/sites/${n}/taxonomy${I?`?taxonomy=${I.key}`:``}`,at={label:e(`pageHeaders.taxonomy.title`),href:it};if(!O||!F||!I)return(0,M.jsxs)(x,{crumbs:(0,M.jsx)(Ce,{siteId:n,trail:[at,{label:void 0}]}),title:void 0,loading:D.isPending||y.taxonomies.isPending,children:[(0,M.jsx)(w,{error:D.error??y.taxonomies.error}),(0,M.jsxs)(xe,{className:`grid gap-3 px-5 py-4`,children:[(0,M.jsx)(f,{minWidth:30,maxWidth:45}),(0,M.jsx)(f,{minWidth:70,maxWidth:90}),(0,M.jsx)(f,{minWidth:50,maxWidth:70})]})]});let H=ke(O,{defaultLocale:L,terms:nt.map(e=>e.term)}),U=H.locales[R]??{},W=O.labels[R],G=y.name(F),K=F.status===`retired`,q=F.mergedInto?y.byId.get(F.mergedInto)?.term:void 0,ot=F.parentId?y.byId.get(F.parentId)?.term:void 0,J=Pe(I,F.slug),Y=D.data?.usage??{total:0,published:0},st=Ae(nt,I.hierarchical).get(F.id)??Y.published,X=je(O,I,st,L),ct=D.data?.redirects??[],lt=y.label(I,`singular`),ut=()=>{if(!Ne(H))return!0;N(!0),_.error(e(`seo.fixErrors`));let t=Object.keys(H.locales).find(e=>e!==R);return t&&!H.locales[R]&&Ze(t),!1},Z=e=>j&&e!==void 0,dt=Z(U.name)?U.name===`required`?e(`termEditor.errors.nameRequired`):e(`termEditor.errors.nameTooLong`):void 0,Q=U.altNames?.[0],$=e=>$e({kind:e,term:F}),ft=[{label:e(`editor.id`),value:(0,M.jsx)(ue,{children:F.id})},{label:e(`termEditor.details.taxonomy`),value:(0,M.jsx)(d,{as:`span`,children:y.label(I)})},{label:e(`termEditor.details.visibility`),value:(0,M.jsx)(re,{term:F})},{label:e(`termEditor.details.usage`),value:(0,M.jsx)(d,{as:`span`,children:e(`taxonomy.usage.value`,{published:Y.published,total:Y.total})})},...Y.lastUsedAt?[{label:e(`taxonomy.columns.lastUsed`),value:(0,M.jsx)(T,{iso:Y.lastUsedAt,size:`base`})}]:[],{label:e(`editor.revision`),value:(0,M.jsx)(d,{as:`span`,children:F.rev})},{label:e(`editor.updatedAt`),value:(0,M.jsx)(T,{iso:F.updatedAt,size:`base`})}];return(0,M.jsxs)(x,{crumbs:(0,M.jsx)(Ce,{siteId:n,trail:[at,{label:G}],copy:F.id}),title:G,description:(0,M.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,M.jsx)(i,{variant:`outline`,children:lt}),(0,M.jsx)(ie,{term:F,mergedInto:q?y.name(q):void 0}),(0,M.jsx)(d,{variant:`mono-secondary`,as:`span`,children:J})]}),actions:K?(0,M.jsx)(Le,{visible:P,onChange:et,live:!0}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(Le,{visible:P,onChange:et,live:!0}),F.status===`proposed`&&(0,M.jsx)(o,{variant:`secondary`,icon:(0,M.jsx)(le,{}),loading:V.isPending,onClick:()=>V.mutate(F),disabled:z.reason!==void 0,title:z.reason,children:e(`taxonomy.review.approve`)}),(0,M.jsxs)(h,{children:[(0,M.jsx)(a,{content:e(`editor.moreActions`),render:(0,M.jsx)(h.Trigger,{render:(0,M.jsx)(o,{variant:`secondary`,shape:`square`,icon:(0,M.jsx)(de,{weight:`bold`}),"aria-label":e(`editor.moreActions`),"data-testid":`term-actions`,disabled:z.reason!==void 0})})}),(0,M.jsx)(h.Content,{align:`end`,children:F.status===`proposed`?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(h.Item,{icon:se,onClick:()=>$(`reviewMerge`),children:e(`taxonomy.menu.mergeExisting`)}),(0,M.jsx)(h.Separator,{}),(0,M.jsx)(h.Item,{icon:he,variant:`danger`,onClick:()=>$(`reject`),children:e(`taxonomy.review.reject`)})]}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(h.Item,{icon:me,onClick:()=>$(`rename`),children:e(`taxonomy.menu.rename`)}),(0,M.jsx)(h.Item,{icon:se,onClick:()=>$(`merge`),children:e(`taxonomy.menu.merge`)}),I.hierarchical&&(0,M.jsx)(h.Item,{icon:C,onClick:()=>$(`move`),children:e(`taxonomy.menu.move`)}),(0,M.jsx)(h.Item,{icon:F.visibility===`public`?pe:fe,onClick:()=>$(`visibility`),children:F.visibility===`public`?e(`taxonomy.menu.makeInternal`):e(`taxonomy.menu.makePublic`)})]})})]}),(0,M.jsx)(o,{variant:`primary`,onClick:()=>{ut()&&B.mutate(O)},loading:B.isPending,disabled:!tt||z.reason!==void 0,title:z.reason,"data-testid":`save`,children:e(`common.save`)})]}),children:[(0,M.jsx)(w,{error:B.error??V.error}),!K&&(0,M.jsx)(Ve,{reason:z.reason}),K&&(0,M.jsx)(ge,{variant:`secondary`,icon:(0,M.jsx)(E,{weight:`fill`}),title:q?e(`termEditor.retired.merged`,{name:y.name(q)}):e(`termEditor.retired.title`),description:e(`termEditor.retired.description`)}),y.locales.length>1&&(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,M.jsx)(d,{variant:`secondary`,as:`span`,children:e(`termEditor.language`)}),(0,M.jsx)(Se,{variant:`segmented`,value:R,onValueChange:Ze,tabs:y.locales.map(t=>({value:t,label:(0,M.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[t,t===L&&(0,M.jsx)(d,{variant:`secondary`,size:`sm`,as:`span`,children:e(`termEditor.default`)}),H.locales[t]&&j&&(0,M.jsx)(i,{variant:`error`,children:`!`})]})})),"data-testid":`term-locales`})]}),(0,M.jsx)(He,{reason:z.reason,className:`min-w-0`,children:(0,M.jsx)(ze,{previewVisible:P,preview:(0,M.jsx)(Je,{term:O,rev:F.rev,path:J}),main:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(g,{id:`names`,title:e(`termEditor.names.title`),icon:(0,M.jsx)(me,{size:16}),description:e(`termEditor.names.description`),children:[(0,M.jsx)(p,{label:e(`termEditor.names.name`,{locale:R}),value:W?.name??``,onValueChange:e=>A(v(O,R,{name:e})),description:R===L?e(`termEditor.names.nameHintDefault`):e(`termEditor.names.nameHint`,{locale:L}),error:dt,maxLength:b.nameMax,required:R===L,disabled:K,className:`w-full`,"data-testid":`term-name`}),(0,M.jsx)(we,{label:e(`termEditor.names.altNames`),value:W?.altNames??[],onValueChange:e=>A(v(O,R,{...W?{}:{name:``},altNames:e.length?[...new Set(e.map(e=>e.trim()).filter(Boolean))]:void 0})),maxValues:b.altNamesMax,description:e(`termEditor.names.altNamesHint`),error:Q?e(Ye[Q.code],{value:Q.value,other:Q.other??``}):void 0,labels:{removeValue:t=>e(`pickers.remove`,{name:t}),maxValuesReached:t=>e(`pickers.atMost`,{max:t})},disabled:K,className:`w-full`,"data-testid":`term-altnames`})]}),(0,M.jsx)(g,{id:`introduction`,title:e(`termEditor.intro.title`),icon:(0,M.jsx)(qe,{size:16}),description:e(`termEditor.intro.description`,{path:J}),children:(0,M.jsx)(be,{"aria-label":e(`termEditor.intro.title`),value:W?.description??``,onValueChange:e=>A(v(O,R,{description:e||void 0})),description:(0,M.jsx)(Ke,{hint:e(`termEditor.intro.hint`),count:W?.description?.length??0,recommended:b.descriptionMax}),error:Z(U.description)?e(`termEditor.errors.introTooLong`):void 0,autoResize:!0,minRows:4,maxRows:16,disabled:K,className:`w-full font-mono`,"data-testid":`term-intro`})}),(0,M.jsx)(We,{siteId:n,defaultLocale:L,id:`term-image`,title:e(`termEditor.image.title`),description:e(`termEditor.image.description`),image:O.image,savedSrc:F.image?.src,host:rt,errors:H.image??{},showErrors:j,onChange:e=>{let{image:t,...n}=O;A(e?{...n,image:e}:n)}}),(0,M.jsx)(g,{id:`seo`,title:e(`termEditor.seo.title`),icon:(0,M.jsx)(S,{size:16}),description:e(`termEditor.seo.description`,{locale:R}),children:(0,M.jsx)(Ge,{kind:`archive`,seo:W?.seo,onChange:e=>A(v(O,R,{seo:e})),fallbackTitle:W?.name||G,path:J,siteName:y.site.data?.name??``,host:rt,errors:U.seo??{},showErrors:j})})]}),aside:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(g,{id:`indexing`,title:e(`termEditor.indexing.title`),icon:(0,M.jsx)(S,{size:16}),actions:(0,M.jsx)(ae,{status:X}),children:(0,M.jsx)(d,{variant:`secondary`,children:X.kind===`indexed`?e(`termEditor.indexing.indexed`,{count:X.published,path:J}):X.kind===`thin`?e(`termEditor.indexing.thin`,{count:X.published,min:X.min,path:J}):X.kind===`empty`?e(`termEditor.indexing.empty`,{path:J}):X.kind===`noindex`?e(`termEditor.indexing.noindex`,{path:J}):e(`taxonomy.index.noneHint.${X.reason}`)})}),(0,M.jsxs)(g,{id:`placement`,title:e(`termEditor.placement.title`),icon:(0,M.jsx)(C,{size:16}),children:[I.hierarchical&&(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,M.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,children:[(0,M.jsx)(d,{variant:`secondary`,size:`sm`,as:`span`,children:e(`governance.move.parent`)}),(0,M.jsx)(d,{as:`span`,truncate:!0,children:ot?y.name(ot):e(`governance.move.topLevel`)})]}),!K&&(0,M.jsx)(o,{variant:`secondary`,size:`sm`,onClick:()=>$(`move`),children:e(`taxonomy.menu.move`)})]}),(0,M.jsx)(p,{type:`number`,label:e(`termEditor.placement.position`),value:O.position===void 0?``:String(O.position),onValueChange:e=>{let{position:t,...n}=O;A(e===``?n:{...n,position:Number(e)})},description:e(`termEditor.placement.positionHint`),error:Z(H.position)?e(`termEditor.errors.position`,{max:b.positionMax}):void 0,min:0,max:b.positionMax,required:!1,disabled:K,className:`w-full`,"data-testid":`term-position`})]}),(0,M.jsx)(g,{id:`slug-history`,title:e(`termEditor.history.title`),icon:(0,M.jsx)(E,{size:16}),actions:K?void 0:(0,M.jsx)(o,{variant:`ghost`,size:`sm`,onClick:()=>$(`rename`),children:e(`taxonomy.menu.rename`)}),flush:(F.slugHistory?.length??0)===0,children:(F.slugHistory?.length??0)===0?(0,M.jsx)(Fe,{icon:(0,M.jsx)(E,{size:32,className:`text-kumo-inactive`}),title:e(`termEditor.history.empty`),description:e(`termEditor.history.emptyDescription`,{path:J})}):(0,M.jsxs)(`div`,{className:`grid gap-3`,"data-testid":`slug-history`,children:[(0,M.jsx)(d,{variant:`secondary`,size:`sm`,children:e(`termEditor.history.description`)}),(0,M.jsx)(Te,{children:(0,M.jsx)(`div`,{className:`grid divide-y divide-kumo-hairline`,children:[...F.slugHistory??[]].reverse().map(t=>{let n=Pe(I,t),r=ct.find(e=>e.from===n);return(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 py-2 first:pt-0 last:pb-0`,children:[(0,M.jsx)(d,{variant:`mono`,as:`span`,children:n}),r?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(oe,{size:14}),(0,M.jsx)(d,{variant:`mono-secondary`,as:`span`,children:r.to}),(0,M.jsx)(i,{variant:`outline`,children:r.status})]}):(0,M.jsx)(d,{variant:`secondary`,size:`sm`,as:`span`,children:e(`termEditor.history.reserved`)})]},t)})})})]})}),(0,M.jsx)(ce,{siteId:n,kind:`term`,id:F.id}),(0,M.jsx)(Re,{rows:ft}),!K&&F.status===`active`&&(0,M.jsx)(Be,{title:e(`termEditor.retire.title`,{singular:lt.toLocaleLowerCase(t)}),description:e(`termEditor.retire.description`),actionLabel:e(`taxonomy.menu.retire`),onAction:()=>$(`retire`)})]})})}),(0,M.jsx)(_e,{target:Qe,tax:I,data:y,onOpenChange:e=>!e&&$e(void 0),onDone:()=>void D.refetch()})]})}export{N as TermEditorPage};
|
|
2
|
+
//# sourceMappingURL=TermEditorPage-zHbvzgtO.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t}from"./IconBase.es-BZDpYMnj.js";import{i as n,r}from"./react-CDCuUAOg.js";import{t as i}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{o as a,t as o}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{g as s,n as c}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as l}from"./Hourglass.es-aqS22q0y.js";import{t as u}from"./Plus.es-XNm1OB5Q.js";import{t as d}from"./Star.es-DhrrAurR.js";import{t as f}from"./Warning.es-LZXqwHRF.js";import{n as p,o as m,r as h}from"./input-c8lv9ulv0kortliq-Be2cm12J.js";import{a as g,i as _,o as v,r as y,s as b,u as x,w as S}from"./ComboboxEmpty-o0q20j2l2syar9kx-BaXMATsn.js";import{i as C,n as w,r as T,t as E}from"./combobox-hdxtsm2gqcxxgfju-0KV94PHy.js";import{n as D,t as O}from"./select-futox5zqr3r80y9a-FumEl51u.js";import{n as k,t as A}from"./AutocompleteItem-drxau0wm3735nihq-DZezfUcW.js";import{a as ee,u as j}from"./i18n-CCHry74V.js";import{t as M}from"./api-errors-c5QRmg0g.js";import{n as N}from"./names-R-Dypr9Y.js";import{S as P,T as F}from"./taxonomy-S-y5xbUa.js";import{P as I}from"./index-B3isvl8R.js";var L=D,R=e(n(),1),z=r(),B=(0,R.createContext)({hasError:!1});p.size;var V={size:`base`};function H({label:e,required:t,labelTooltip:n,description:r,error:i,children:a,...o}){let s=o,c=(0,z.jsx)(B.Provider,{value:{hasError:!!i},children:(0,z.jsx)(k,{...s,children:a})});return e?(0,z.jsx)(m,{label:e,required:t,labelTooltip:n,description:r,error:i?typeof i==`string`?{message:i,match:!0}:i:void 0,children:c}):c}function U({className:e,size:n=V.size,placeholder:r}){let{hasError:i}=(0,R.useContext)(B);return(0,z.jsx)(b,{className:t(h({size:n,variant:i?`error`:`default`,focusIndicator:!0}),`w-full`,e),placeholder:r})}function W({children:e,className:n,align:r=`start`,sideOffset:i=4,alignOffset:a,side:o}){return(0,z.jsx)(T,{children:(0,z.jsx)(C,{className:`outline-none`,align:r,sideOffset:i,alignOffset:a,side:o,children:(0,z.jsx)(w,{className:e=>t(`flex flex-col`,`max-h-[min(var(--available-height),24rem)] max-w-(--available-width) min-w-(--anchor-width) py-1.5`,`bg-kumo-control text-kumo-default`,`rounded-lg shadow-lg ring ring-kumo-line`,e.empty&&`hidden`,n),children:e})})})}function G({className:e,...n}){return(0,z.jsx)(x,{...n,className:t(`min-h-0 flex-1 scroll-pt-2 scroll-pb-2 overflow-y-auto overscroll-contain`,e)})}function K({children:e,...t}){return(0,z.jsxs)(A,{"data-kumo-component":`Autocomplete`,"data-kumo-part":`item`,...t,className:`group mx-1.5 grid cursor-pointer grid-cols-[1fr_16px] gap-2 rounded px-2 py-1.5 text-base data-highlighted:bg-kumo-overlay data-selected:font-medium`,children:[(0,z.jsx)(`div`,{className:`col-start-1`,children:e}),(0,z.jsx)(`span`,{className:`col-start-2 hidden items-center group-data-selected:flex`,children:(0,z.jsx)(s,{size:14})})]})}function q(e){return(0,z.jsx)(v,{...e,className:t(`mx-1.5 px-2 py-1.5 text-sm text-kumo-strong`,e.className)})}function J(e){return(0,z.jsx)(g,{...e,className:`mt-2 border-t border-kumo-line pt-2 first:mt-0 first:border-t-0 first:pt-0`})}function Y(e){return(0,z.jsx)(L,{...e,className:t(`mx-0 my-1 h-px bg-kumo-line`,e.className)})}H.displayName=`Autocomplete.Root`,U.displayName=`Autocomplete.InputGroup`,W.displayName=`Autocomplete.Content`,K.displayName=`Autocomplete.Item`,q.displayName=`Autocomplete.GroupLabel`,J.displayName=`Autocomplete.Group`,Y.displayName=`Autocomplete.Separator`;var X=Object.assign(H,{InputGroup:U,Content:W,Item:K,GroupLabel:q,Group:J,Separator:Y,List:G,Empty:_,Collection:y,useFilter:S});function te({children:e,icon:n,removeLabel:r,onRemove:i,tone:a=`default`,className:s}){return(0,z.jsxs)(`span`,{"data-term-chip":``,className:t(`inline-flex h-6 max-w-full min-w-0 items-center gap-1.5 rounded-sm ps-2 text-sm ring-1 ring-kumo-hairline`,a===`pending`?`bg-kumo-base text-kumo-subtle`:`bg-kumo-overlay`,i?`pe-0.5`:`pe-2`,s),children:[n&&(0,z.jsx)(`span`,{className:`flex shrink-0 items-center text-kumo-subtle`,children:n}),(0,z.jsx)(`span`,{className:`min-w-0 truncate`,children:e}),i&&(0,z.jsx)(o,{variant:`ghost`,size:`xs`,shape:`square`,"aria-label":r,icon:(0,z.jsx)(I,{size:10}),onClick:i})]})}function ne({children:e,label:t}){return(0,z.jsx)(`div`,{role:`group`,"aria-label":t,className:`flex min-w-0 flex-wrap items-center gap-1.5`,children:e})}function Z(e,t){let n=N(t);if(!n||e.slug.includes(n))return!0;for(let t of Object.values(e.labels))if(t&&(N(t.name).includes(n)||(t.altNames??[]).some(e=>N(e).includes(n))))return!0;return!1}function Q(e,t,n=e=>e.status!==`retired`){return F(e.filter(e=>n(e.term))).map(e=>({id:e.item.term.id,term:e.item.term,depth:e.depth,path:e.ancestors.map(t).join(` › `)}))}function $({option:e,name:t}){let n=j();return(0,z.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2`,style:e.depth>0?{paddingInlineStart:`${e.depth}rem`}:void 0,children:[(0,z.jsx)(`span`,{className:`min-w-0 truncate`,children:t}),e.path&&(0,z.jsx)(c,{variant:`secondary`,size:`sm`,as:`span`,truncate:!0,children:n(`pickers.under`,{path:e.path})}),e.term.status===`proposed`&&(0,z.jsx)(i,{variant:`warning`,icon:(0,z.jsx)(l,{}),children:n(`taxonomy.state.proposed`)})]})}function re({label:e,description:t,options:n,value:r,onChange:i,name:a,placeholder:o,error:s,none:l,testId:u}){let d=j(),f=[...l===void 0?[]:[``],...n.map(e=>e.id)],p=new Map(n.map(e=>[e.id,e])),m=e=>e===``?l??``:a(p.get(e)?.term);return(0,z.jsx)(`div`,{"data-testid":u,children:(0,z.jsxs)(E,{items:f,value:r??(l===void 0?null:``),onValueChange:e=>i(e===``||e===null?null:e),itemToStringLabel:e=>m(e),filter:(e,t)=>e===``?!t:Z(p.get(e)?.term,t),label:e,description:t,error:s,children:[(0,z.jsx)(E.TriggerInput,{placeholder:o,clearLabel:d(`pickers.clear`),showOptionsLabel:d(`pickers.showOptions`)}),(0,z.jsxs)(E.Content,{children:[(0,z.jsx)(E.Empty,{children:d(`pickers.noMatch`)}),(0,z.jsx)(E.List,{children:e=>(0,z.jsx)(E.Item,{value:e,children:e===``?(0,z.jsx)(c,{variant:`secondary`,as:`span`,children:l}):(0,z.jsx)($,{option:p.get(e),name:m(e)})},e||`none`)})]})]})})}function ie({tax:e,items:t,value:n,onChange:r,name:i,label:a,required:o,error:s}){let c=j(),l=Q(t,i),u=new Map(t.map(e=>[e.term.id,e.term])),f=e.maxPerEntry??50,p=n.ids.length>=f,m=n.primary&&n.ids.includes(n.primary)?n.primary:n.ids.length===1?n.ids[0]:void 0,h=(e,t=n.primary)=>r({ids:e,primary:t&&e.includes(t)?t:e.length===1?e[0]:void 0}),g=new Map(l.map(e=>[e.id,e])),_=e=>{let t=u.get(e);return t?i(t):e};return(0,z.jsxs)(`div`,{className:`grid gap-3`,"data-testid":`picker-${e.key}`,children:[(0,z.jsxs)(E,{multiple:!0,items:l.map(e=>e.id),value:n.ids,onValueChange:e=>h(e.slice(0,f)),itemToStringLabel:e=>_(e),filter:(e,t)=>Z(u.get(e),t),label:a,required:o,error:s,description:c(p?`pickers.atMost`:o?`pickers.categoryRequiredHint`:`pickers.categoryHint`,{max:f}),children:[(0,z.jsx)(E.TriggerMultipleWithInput,{placeholder:n.ids.length?``:c(`pickers.categoryPlaceholder`),value:n.ids,renderItem:e=>(0,z.jsx)(E.Chip,{removeLabel:c(`pickers.remove`,{name:_(e)}),children:(0,z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[e===m&&n.ids.length>1&&(0,z.jsx)(d,{size:12,weight:`fill`,className:`shrink-0 text-kumo-warning`}),(0,z.jsx)(`span`,{className:`truncate`,children:_(e)})]})},e)}),(0,z.jsxs)(E.Content,{children:[(0,z.jsx)(E.Empty,{children:c(`pickers.noCategory`)}),(0,z.jsx)(E.List,{children:e=>(0,z.jsx)(E.Item,{value:e,disabled:p&&!n.ids.includes(e),children:(0,z.jsx)($,{option:g.get(e),name:_(e)})},e)})]})]}),n.ids.length>1&&(0,z.jsx)(`div`,{"data-testid":`primary-select`,children:(0,z.jsx)(O,{label:c(`pickers.primary`),description:c(`pickers.primaryHint`),value:m??``,onValueChange:e=>h(n.ids,e||void 0),items:Object.fromEntries([[``,c(`pickers.primaryNone`)],...n.ids.map(e=>[e,_(e)])]),className:`w-full`})})]})}function ae({tax:e,items:t,value:n,onChange:r,onCreate:o,name:s,locale:d,label:p,error:m}){let h=j(),[g,_]=(0,R.useState)(``),[v,y]=(0,R.useState)(!1),[b,x]=(0,R.useState)(),S=e.maxPerEntry??50,C=n.ids.length>=S,w=t.map(e=>e.term),T=new Map(w.map(e=>[e.id,e])),E=new Map(t.map(e=>[e.term.id,e.usage])),D=C?[]:P(w,g,{locale:d,selected:new Set(n.ids),usage:E}),O=e=>e.kind===`term`?e.term.id:`create:${e.slug}`,k=new Map(D.map(e=>[O(e),e])),A=async e=>{if(_(``),x(void 0),e.kind===`term`){r({...n,ids:[...n.ids,e.term.id]});return}if(!e.slug){x(h(`pickers.createNoSlug`));return}y(!0);try{let t=await o(e.name,e.slug);r({...n,ids:[...n.ids,t.id]})}catch(e){x(M(h,e))}finally{y(!1)}};return(0,z.jsxs)(`div`,{className:`grid gap-2`,"data-testid":`picker-${e.key}`,children:[(0,z.jsxs)(X,{items:D,value:g,filter:null,openOnInputClick:!0,autoHighlight:!0,itemToStringValue:e=>O(e),onValueChange:(e,t)=>{if(t.reason===`item-press`){let t=k.get(e);t&&A(t);return}_(e)},label:p,disabled:C||v,error:b??m,description:h(C?`pickers.atMost`:`pickers.tagHint`,{max:S}),children:[(0,z.jsx)(X.InputGroup,{placeholder:h(C?`pickers.tagFull`:`pickers.tagPlaceholder`)}),(0,z.jsx)(X.Content,{children:(0,z.jsx)(X.List,{children:e=>(0,z.jsx)(X.Item,{value:e,children:e.kind===`term`?(0,z.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2`,children:[(0,z.jsx)(`span`,{className:`truncate`,children:s(e.term)}),e.via===`altName`&&e.matched&&(0,z.jsx)(c,{variant:`secondary`,size:`sm`,as:`span`,children:h(`pickers.viaSynonym`,{value:e.matched})}),e.via===`slug`&&e.matched&&(0,z.jsx)(c,{variant:`mono-secondary`,as:`span`,children:e.matched}),e.via===`similar`&&(0,z.jsx)(c,{variant:`secondary`,size:`sm`,as:`span`,children:h(`pickers.similar`)}),e.term.status===`proposed`&&(0,z.jsx)(i,{variant:`warning`,icon:(0,z.jsx)(l,{}),children:h(`taxonomy.state.proposed`)})]}):(0,z.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,"data-testid":`create-tag`,children:[(0,z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(u,{size:14,className:`shrink-0`}),(0,z.jsx)(`span`,{className:`truncate`,children:h(`pickers.create`,{name:e.name})})]}),e.similar.length>0&&(0,z.jsxs)(`span`,{className:`flex items-start gap-1.5 text-kumo-warning`,"data-testid":`near-duplicate`,children:[(0,z.jsx)(`span`,{className:`flex h-lh items-center`,children:(0,z.jsx)(f,{size:14,weight:`fill`})}),(0,z.jsx)(c,{size:`sm`,as:`span`,children:h(`pickers.nearDuplicate`,{names:ee(e.similar.slice(0,3).map(e=>s(e)))})})]})]})},O(e))})})]}),n.ids.length>0&&(0,z.jsx)(ne,{label:p,children:n.ids.map(e=>{let t=T.get(e),i=(0,z.jsx)(te,{tone:t?.status===`proposed`?`pending`:`default`,icon:t?.status===`proposed`?(0,z.jsx)(l,{size:12}):void 0,removeLabel:h(`pickers.remove`,{name:t?s(t):e}),onRemove:()=>r({...n,ids:n.ids.filter(t=>t!==e)}),children:t?s(t):e},e);return t?.status===`proposed`?(0,z.jsx)(a,{content:h(`pickers.proposedChip`),children:i},e):i})})]})}export{Q as i,ae as n,re as r,ie as t};
|
|
2
|
-
//# sourceMappingURL=TermPickers-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t}from"./IconBase.es-BZDpYMnj.js";import{i as n,r}from"./react-CDCuUAOg.js";import{t as i}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{o as a,t as o}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{g as s,n as c}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as l}from"./Hourglass.es-aqS22q0y.js";import{t as u}from"./Plus.es-XNm1OB5Q.js";import{t as d}from"./Star.es-DhrrAurR.js";import{t as f}from"./Warning.es-LZXqwHRF.js";import{n as p,o as m,r as h}from"./input-c8lv9ulv0kortliq-Be2cm12J.js";import{a as g,i as _,o as v,r as y,s as b,u as x,w as S}from"./ComboboxEmpty-o0q20j2l2syar9kx-BaXMATsn.js";import{i as C,n as w,r as T,t as E}from"./combobox-hdxtsm2gqcxxgfju-DEsFIzc-.js";import{n as D,t as O}from"./select-futox5zqr3r80y9a-FumEl51u.js";import{n as k,t as A}from"./AutocompleteItem-drxau0wm3735nihq-DZezfUcW.js";import{a as ee,u as j}from"./i18n-CCHry74V.js";import{t as M}from"./api-errors-c5QRmg0g.js";import{n as N}from"./names-R-Dypr9Y.js";import{S as P,T as F}from"./taxonomy-S-y5xbUa.js";import{P as I}from"./index-OjH3NEOH.js";var L=D,R=e(n(),1),z=r(),B=(0,R.createContext)({hasError:!1});p.size;var V={size:`base`};function H({label:e,required:t,labelTooltip:n,description:r,error:i,children:a,...o}){let s=o,c=(0,z.jsx)(B.Provider,{value:{hasError:!!i},children:(0,z.jsx)(k,{...s,children:a})});return e?(0,z.jsx)(m,{label:e,required:t,labelTooltip:n,description:r,error:i?typeof i==`string`?{message:i,match:!0}:i:void 0,children:c}):c}function U({className:e,size:n=V.size,placeholder:r}){let{hasError:i}=(0,R.useContext)(B);return(0,z.jsx)(b,{className:t(h({size:n,variant:i?`error`:`default`,focusIndicator:!0}),`w-full`,e),placeholder:r})}function W({children:e,className:n,align:r=`start`,sideOffset:i=4,alignOffset:a,side:o}){return(0,z.jsx)(T,{children:(0,z.jsx)(C,{className:`outline-none`,align:r,sideOffset:i,alignOffset:a,side:o,children:(0,z.jsx)(w,{className:e=>t(`flex flex-col`,`max-h-[min(var(--available-height),24rem)] max-w-(--available-width) min-w-(--anchor-width) py-1.5`,`bg-kumo-control text-kumo-default`,`rounded-lg shadow-lg ring ring-kumo-line`,e.empty&&`hidden`,n),children:e})})})}function G({className:e,...n}){return(0,z.jsx)(x,{...n,className:t(`min-h-0 flex-1 scroll-pt-2 scroll-pb-2 overflow-y-auto overscroll-contain`,e)})}function K({children:e,...t}){return(0,z.jsxs)(A,{"data-kumo-component":`Autocomplete`,"data-kumo-part":`item`,...t,className:`group mx-1.5 grid cursor-pointer grid-cols-[1fr_16px] gap-2 rounded px-2 py-1.5 text-base data-highlighted:bg-kumo-overlay data-selected:font-medium`,children:[(0,z.jsx)(`div`,{className:`col-start-1`,children:e}),(0,z.jsx)(`span`,{className:`col-start-2 hidden items-center group-data-selected:flex`,children:(0,z.jsx)(s,{size:14})})]})}function q(e){return(0,z.jsx)(v,{...e,className:t(`mx-1.5 px-2 py-1.5 text-sm text-kumo-strong`,e.className)})}function J(e){return(0,z.jsx)(g,{...e,className:`mt-2 border-t border-kumo-line pt-2 first:mt-0 first:border-t-0 first:pt-0`})}function Y(e){return(0,z.jsx)(L,{...e,className:t(`mx-0 my-1 h-px bg-kumo-line`,e.className)})}H.displayName=`Autocomplete.Root`,U.displayName=`Autocomplete.InputGroup`,W.displayName=`Autocomplete.Content`,K.displayName=`Autocomplete.Item`,q.displayName=`Autocomplete.GroupLabel`,J.displayName=`Autocomplete.Group`,Y.displayName=`Autocomplete.Separator`;var X=Object.assign(H,{InputGroup:U,Content:W,Item:K,GroupLabel:q,Group:J,Separator:Y,List:G,Empty:_,Collection:y,useFilter:S});function te({children:e,icon:n,removeLabel:r,onRemove:i,tone:a=`default`,className:s}){return(0,z.jsxs)(`span`,{"data-term-chip":``,className:t(`inline-flex h-6 max-w-full min-w-0 items-center gap-1.5 rounded-sm ps-2 text-sm ring-1 ring-kumo-hairline`,a===`pending`?`bg-kumo-base text-kumo-subtle`:`bg-kumo-overlay`,i?`pe-0.5`:`pe-2`,s),children:[n&&(0,z.jsx)(`span`,{className:`flex shrink-0 items-center text-kumo-subtle`,children:n}),(0,z.jsx)(`span`,{className:`min-w-0 truncate`,children:e}),i&&(0,z.jsx)(o,{variant:`ghost`,size:`xs`,shape:`square`,"aria-label":r,icon:(0,z.jsx)(I,{size:10}),onClick:i})]})}function ne({children:e,label:t}){return(0,z.jsx)(`div`,{role:`group`,"aria-label":t,className:`flex min-w-0 flex-wrap items-center gap-1.5`,children:e})}function Z(e,t){let n=N(t);if(!n||e.slug.includes(n))return!0;for(let t of Object.values(e.labels))if(t&&(N(t.name).includes(n)||(t.altNames??[]).some(e=>N(e).includes(n))))return!0;return!1}function Q(e,t,n=e=>e.status!==`retired`){return F(e.filter(e=>n(e.term))).map(e=>({id:e.item.term.id,term:e.item.term,depth:e.depth,path:e.ancestors.map(t).join(` › `)}))}function $({option:e,name:t}){let n=j();return(0,z.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2`,style:e.depth>0?{paddingInlineStart:`${e.depth}rem`}:void 0,children:[(0,z.jsx)(`span`,{className:`min-w-0 truncate`,children:t}),e.path&&(0,z.jsx)(c,{variant:`secondary`,size:`sm`,as:`span`,truncate:!0,children:n(`pickers.under`,{path:e.path})}),e.term.status===`proposed`&&(0,z.jsx)(i,{variant:`warning`,icon:(0,z.jsx)(l,{}),children:n(`taxonomy.state.proposed`)})]})}function re({label:e,description:t,options:n,value:r,onChange:i,name:a,placeholder:o,error:s,none:l,testId:u}){let d=j(),f=[...l===void 0?[]:[``],...n.map(e=>e.id)],p=new Map(n.map(e=>[e.id,e])),m=e=>e===``?l??``:a(p.get(e)?.term);return(0,z.jsx)(`div`,{"data-testid":u,children:(0,z.jsxs)(E,{items:f,value:r??(l===void 0?null:``),onValueChange:e=>i(e===``||e===null?null:e),itemToStringLabel:e=>m(e),filter:(e,t)=>e===``?!t:Z(p.get(e)?.term,t),label:e,description:t,error:s,children:[(0,z.jsx)(E.TriggerInput,{placeholder:o,clearLabel:d(`pickers.clear`),showOptionsLabel:d(`pickers.showOptions`)}),(0,z.jsxs)(E.Content,{children:[(0,z.jsx)(E.Empty,{children:d(`pickers.noMatch`)}),(0,z.jsx)(E.List,{children:e=>(0,z.jsx)(E.Item,{value:e,children:e===``?(0,z.jsx)(c,{variant:`secondary`,as:`span`,children:l}):(0,z.jsx)($,{option:p.get(e),name:m(e)})},e||`none`)})]})]})})}function ie({tax:e,items:t,value:n,onChange:r,name:i,label:a,required:o,error:s}){let c=j(),l=Q(t,i),u=new Map(t.map(e=>[e.term.id,e.term])),f=e.maxPerEntry??50,p=n.ids.length>=f,m=n.primary&&n.ids.includes(n.primary)?n.primary:n.ids.length===1?n.ids[0]:void 0,h=(e,t=n.primary)=>r({ids:e,primary:t&&e.includes(t)?t:e.length===1?e[0]:void 0}),g=new Map(l.map(e=>[e.id,e])),_=e=>{let t=u.get(e);return t?i(t):e};return(0,z.jsxs)(`div`,{className:`grid gap-3`,"data-testid":`picker-${e.key}`,children:[(0,z.jsxs)(E,{multiple:!0,items:l.map(e=>e.id),value:n.ids,onValueChange:e=>h(e.slice(0,f)),itemToStringLabel:e=>_(e),filter:(e,t)=>Z(u.get(e),t),label:a,required:o,error:s,description:c(p?`pickers.atMost`:o?`pickers.categoryRequiredHint`:`pickers.categoryHint`,{max:f}),children:[(0,z.jsx)(E.TriggerMultipleWithInput,{placeholder:n.ids.length?``:c(`pickers.categoryPlaceholder`),value:n.ids,renderItem:e=>(0,z.jsx)(E.Chip,{removeLabel:c(`pickers.remove`,{name:_(e)}),children:(0,z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[e===m&&n.ids.length>1&&(0,z.jsx)(d,{size:12,weight:`fill`,className:`shrink-0 text-kumo-warning`}),(0,z.jsx)(`span`,{className:`truncate`,children:_(e)})]})},e)}),(0,z.jsxs)(E.Content,{children:[(0,z.jsx)(E.Empty,{children:c(`pickers.noCategory`)}),(0,z.jsx)(E.List,{children:e=>(0,z.jsx)(E.Item,{value:e,disabled:p&&!n.ids.includes(e),children:(0,z.jsx)($,{option:g.get(e),name:_(e)})},e)})]})]}),n.ids.length>1&&(0,z.jsx)(`div`,{"data-testid":`primary-select`,children:(0,z.jsx)(O,{label:c(`pickers.primary`),description:c(`pickers.primaryHint`),value:m??``,onValueChange:e=>h(n.ids,e||void 0),items:Object.fromEntries([[``,c(`pickers.primaryNone`)],...n.ids.map(e=>[e,_(e)])]),className:`w-full`})})]})}function ae({tax:e,items:t,value:n,onChange:r,onCreate:o,name:s,locale:d,label:p,error:m}){let h=j(),[g,_]=(0,R.useState)(``),[v,y]=(0,R.useState)(!1),[b,x]=(0,R.useState)(),S=e.maxPerEntry??50,C=n.ids.length>=S,w=t.map(e=>e.term),T=new Map(w.map(e=>[e.id,e])),E=new Map(t.map(e=>[e.term.id,e.usage])),D=C?[]:P(w,g,{locale:d,selected:new Set(n.ids),usage:E}),O=e=>e.kind===`term`?e.term.id:`create:${e.slug}`,k=new Map(D.map(e=>[O(e),e])),A=async e=>{if(_(``),x(void 0),e.kind===`term`){r({...n,ids:[...n.ids,e.term.id]});return}if(!e.slug){x(h(`pickers.createNoSlug`));return}y(!0);try{let t=await o(e.name,e.slug);r({...n,ids:[...n.ids,t.id]})}catch(e){x(M(h,e))}finally{y(!1)}};return(0,z.jsxs)(`div`,{className:`grid gap-2`,"data-testid":`picker-${e.key}`,children:[(0,z.jsxs)(X,{items:D,value:g,filter:null,openOnInputClick:!0,autoHighlight:!0,itemToStringValue:e=>O(e),onValueChange:(e,t)=>{if(t.reason===`item-press`){let t=k.get(e);t&&A(t);return}_(e)},label:p,disabled:C||v,error:b??m,description:h(C?`pickers.atMost`:`pickers.tagHint`,{max:S}),children:[(0,z.jsx)(X.InputGroup,{placeholder:h(C?`pickers.tagFull`:`pickers.tagPlaceholder`)}),(0,z.jsx)(X.Content,{children:(0,z.jsx)(X.List,{children:e=>(0,z.jsx)(X.Item,{value:e,children:e.kind===`term`?(0,z.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2`,children:[(0,z.jsx)(`span`,{className:`truncate`,children:s(e.term)}),e.via===`altName`&&e.matched&&(0,z.jsx)(c,{variant:`secondary`,size:`sm`,as:`span`,children:h(`pickers.viaSynonym`,{value:e.matched})}),e.via===`slug`&&e.matched&&(0,z.jsx)(c,{variant:`mono-secondary`,as:`span`,children:e.matched}),e.via===`similar`&&(0,z.jsx)(c,{variant:`secondary`,size:`sm`,as:`span`,children:h(`pickers.similar`)}),e.term.status===`proposed`&&(0,z.jsx)(i,{variant:`warning`,icon:(0,z.jsx)(l,{}),children:h(`taxonomy.state.proposed`)})]}):(0,z.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,"data-testid":`create-tag`,children:[(0,z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(u,{size:14,className:`shrink-0`}),(0,z.jsx)(`span`,{className:`truncate`,children:h(`pickers.create`,{name:e.name})})]}),e.similar.length>0&&(0,z.jsxs)(`span`,{className:`flex items-start gap-1.5 text-kumo-warning`,"data-testid":`near-duplicate`,children:[(0,z.jsx)(`span`,{className:`flex h-lh items-center`,children:(0,z.jsx)(f,{size:14,weight:`fill`})}),(0,z.jsx)(c,{size:`sm`,as:`span`,children:h(`pickers.nearDuplicate`,{names:ee(e.similar.slice(0,3).map(e=>s(e)))})})]})]})},O(e))})})]}),n.ids.length>0&&(0,z.jsx)(ne,{label:p,children:n.ids.map(e=>{let t=T.get(e),i=(0,z.jsx)(te,{tone:t?.status===`proposed`?`pending`:`default`,icon:t?.status===`proposed`?(0,z.jsx)(l,{size:12}):void 0,removeLabel:h(`pickers.remove`,{name:t?s(t):e}),onRemove:()=>r({...n,ids:n.ids.filter(t=>t!==e)}),children:t?s(t):e},e);return t?.status===`proposed`?(0,z.jsx)(a,{content:h(`pickers.proposedChip`),children:i},e):i})})]})}export{Q as i,ae as n,re as r,ie as t};
|
|
2
|
+
//# sourceMappingURL=TermPickers-BlyDJChj.js.map
|
package/dist/assets/studio/assets/{TranslationList-Ch56yMyZ.js → TranslationList-DRCdjbvf.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t}from"./IconBase.es-BZDpYMnj.js";import{i as n,r}from"./react-CDCuUAOg.js";import{t as i}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{o as a,t as o}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{t as s}from"./link-cqyfjezntvr53rh7-3eczR57J.js";import{S as c,_ as l,h as u,l as d}from"./tanstack-BRxyYm4G.js";import{r as f}from"./DirectionalIcon-UZJFXGY_.js";import{n as p,t as m}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{r as h}from"./House.es-BQyZgbwu.js";import{t as g}from"./PencilSimple.es-CsZ-k9wK.js";import{t as _}from"./Plus.es-XNm1OB5Q.js";import{t as v}from"./Toast-BsM5w6Jh.js";import{t as ee}from"./toolbar-h213d8e22yjh5cwq-DxfVlUi9.js";import{t as y}from"./api-CHeogUo-.js";import{t as b}from"./dropdown-m53ji1d66mws89wh-BTaT-o14.js";import{t as x}from"./select-futox5zqr3r80y9a-FumEl51u.js";import{t as S}from"./table-yf8ul2e5nbemioi1-KGRDj7XO.js";import{c as C}from"./intl-C22KAx_l.js";import{c as w,u as T}from"./i18n-CCHry74V.js";import{t as te}from"./api-errors-c5QRmg0g.js";import{i as ne,n as E,t as D}from"./useLiveSite-CUn2kbrj.js";import{N as O,ft as k}from"./index-
|
|
2
|
-
//# sourceMappingURL=TranslationList-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t}from"./IconBase.es-BZDpYMnj.js";import{i as n,r}from"./react-CDCuUAOg.js";import{t as i}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{o as a,t as o}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{t as s}from"./link-cqyfjezntvr53rh7-3eczR57J.js";import{S as c,_ as l,h as u,l as d}from"./tanstack-BRxyYm4G.js";import{r as f}from"./DirectionalIcon-UZJFXGY_.js";import{n as p,t as m}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{r as h}from"./House.es-BQyZgbwu.js";import{t as g}from"./PencilSimple.es-CsZ-k9wK.js";import{t as _}from"./Plus.es-XNm1OB5Q.js";import{t as v}from"./Toast-BsM5w6Jh.js";import{t as ee}from"./toolbar-h213d8e22yjh5cwq-DxfVlUi9.js";import{t as y}from"./api-CHeogUo-.js";import{t as b}from"./dropdown-m53ji1d66mws89wh-BTaT-o14.js";import{t as x}from"./select-futox5zqr3r80y9a-FumEl51u.js";import{t as S}from"./table-yf8ul2e5nbemioi1-KGRDj7XO.js";import{c as C}from"./intl-C22KAx_l.js";import{c as w,u as T}from"./i18n-CCHry74V.js";import{t as te}from"./api-errors-c5QRmg0g.js";import{i as ne,n as E,t as D}from"./useLiveSite-CUn2kbrj.js";import{N as O,ft as k}from"./index-OjH3NEOH.js";import{t as A}from"./useAnalyticsCard-CATQU4Bz.js";import{n as j}from"./languages-CbQ722uB.js";import{t as M}from"./item-url-Bn_COg0I.js";var N=r(),P={published:`success`,draft:`secondary`,outdated:`warning`,review:`info`};function F({item:e,labels:t,onWriteByHand:n,busy:r}){let c=t.describe(e);if(e.state!==`missing`&&e.href)return(0,N.jsx)(a,{content:c,children:(0,N.jsx)(`span`,{className:`inline-flex`,"data-locale":e.locale,"data-state":e.state,children:(0,N.jsx)(s,{href:e.href,variant:`plain`,"aria-label":c,children:(0,N.jsx)(i,{variant:P[e.state],children:e.locale})})})});let l=(0,N.jsx)(o,{variant:`outline`,size:`xs`,icon:(0,N.jsx)(_,{}),"aria-label":c,loading:r,disabled:!n,children:e.locale});return(0,N.jsx)(`span`,{className:`inline-flex`,"data-locale":e.locale,"data-state":`missing`,children:n?(0,N.jsxs)(b,{children:[(0,N.jsx)(a,{content:c,render:(0,N.jsx)(b.Trigger,{render:l})}),(0,N.jsx)(b.Content,{align:`start`,children:(0,N.jsx)(b.Item,{icon:g,onClick:()=>n(e.locale),children:t.writeByHand})})]}):(0,N.jsx)(a,{content:c,render:(0,N.jsx)(`span`,{className:`inline-flex`}),children:l})})}function I({items:e,labels:n,onWriteByHand:r,busyLocale:i,collapseAfter:a=4}){let s=e.length>a,c=s,l=(0,N.jsx)(`div`,{role:`group`,"aria-label":n.group,className:t(`flex items-center gap-1`,c?`flex-wrap`:`flex-nowrap`),children:e.map(e=>(0,N.jsx)(F,{item:e,labels:n,onWriteByHand:r,busy:i===e.locale},e.locale))});return s?(0,N.jsxs)(O,{children:[(0,N.jsx)(O.Trigger,{render:(0,N.jsx)(o,{variant:`outline`,size:`xs`,"aria-label":n.summaryLabel}),children:n.summary}),(0,N.jsxs)(O.Content,{children:[(0,N.jsx)(O.Title,{children:n.group}),(0,N.jsx)(`div`,{className:`max-w-64 pt-2`,children:l})]})]}):l}var L=e(n(),1),R=`(other)`;function z(e,t=100){let n=new Map,r=!1;for(let t of e)t.key===R?r=!0:n.set(t.key,(n.get(t.key)??0)+t.pageviews);return{byNode:n,complete:e.length<t&&!r,ranked:n.size}}function B(e,t){let n=e.byNode.get(t);return n===void 0?e.complete?0:void 0:n}function V(e){let t=A(e),n=t!==null&&t.availability===`on`&&t.reason===void 0,r=l({queryKey:[`analytics`,e,`top`,`node`,`30d`,100],queryFn:()=>y.analytics.top(e,`node`,{range:`30d`},100),enabled:n,staleTime:3e5,retry:!1}),i=(0,L.useMemo)(()=>r.data?z(r.data.data.rows):void 0,[r.data]);if(n&&!r.isError)return{views:i}}function re(){let e=T(`readers`);return(0,N.jsx)(S.Head,{className:`text-end whitespace-nowrap`,children:e(`readers.listColumn.title`)})}function H({views:e,nodeId:t}){let n=T(`readers`),{locale:r}=w(`readers`),i=(0,L.useMemo)(()=>C(r),[r]);if(!e)return(0,N.jsx)(S.Cell,{className:`text-end`,children:(0,N.jsx)(m,{minWidth:40,maxWidth:40})});let o=B(e,t);return(0,N.jsx)(S.Cell,{className:`text-end whitespace-nowrap tabular-nums`,"data-testid":`views-cell`,children:o===void 0?(0,N.jsx)(a,{content:n(`readers.listColumn.notTop`,{count:e.ranked}),children:(0,N.jsxs)(p,{variant:`secondary`,as:`span`,children:[(0,N.jsx)(`span`,{"aria-hidden":!0,children:`—`}),(0,N.jsx)(`span`,{className:`sr-only`,children:n(`readers.listColumn.notTop`,{count:e.ranked})})]})}):(0,N.jsx)(p,{as:`span`,children:i.format(o)})})}var U=f(k);function W({siteId:e,item:t}){let n=T(),r=E(),{origin:i,liveSnapshotId:a,site:o}=ne(e),s=M(o,i,t);return t.status!==`published`||!a||!s?null:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(b.Item,{icon:U,onClick:()=>D(s),children:n(`liveSite.viewLive`)}),(0,N.jsx)(b.Item,{icon:h,onClick:()=>void r(s),children:n(`liveSite.copyLink`)})]})}function G({siteId:e,page:t}){return(0,N.jsx)(W,{siteId:e,item:t})}function K({siteId:e,entry:t}){return(0,N.jsx)(W,{siteId:e,item:t})}var q=e=>e.translation?.group??e.id;function J(e,t){return t.has(e.id)?`outdated`:e.translation?.method===`machine`&&!e.translation.review?`review`:e.status===`published`?`published`:`draft`}function Y(e,t,n=new Set){let r=new Map;for(let t of e){let e=q(t),n=r.get(e);n?n.push(t):r.set(e,[t])}return[...r].map(([e,r])=>({group:e,node:r.find(e=>e.locale===t.defaultLocale)??r.find(t=>t.id===e)??r[0],cells:t.locales.map(e=>{let t=r.find(t=>t.locale===e);return t?{locale:e,state:J(t,n),node:t}:{locale:e,state:`missing`}})}))}var X=e=>(e?.locales.length??0)>1;function ie(e,t){return{group:q(e),method:`human`,layout:`linked`,source:{id:e.id,locale:e.locale,rev:e.rev,hash:t}}}function ae(e,t,n){let r=ie(e,n);if(`sections`in e){let{id:n,rev:i,createdAt:a,updatedAt:o,schemaVersion:s,siteId:c,availability:l,metadata:u,...d}=e;return{kind:`page`,input:{...d,locale:t,status:`draft`,translation:r}}}let{id:i,rev:a,createdAt:o,updatedAt:s,schemaVersion:c,siteId:l,author:u,availability:d,metadata:f,publishedAt:p,...m}=e;return{kind:`entry`,input:{...m,locale:t,status:`draft`,translation:r}}}var Z=e=>`cloudhal.workingLanguage.${e}`;function oe(e){try{return globalThis.localStorage?.getItem(Z(e))??void 0}catch{return}}function se(e,t){try{globalThis.localStorage?.setItem(Z(e),t)}catch{}}function Q(e,t){return e?t&&e.locales.includes(t)?t:e.defaultLocale:`en`}var $=`__grouped`;function ce(e,t,n){let r=X(t),[i,a]=(0,L.useState)($),[o,s]=(0,L.useState)(()=>oe(e)),c=l({queryKey:[`translations`,e,`all`],queryFn:()=>y.translations.list(e),enabled:r}),u=(0,L.useMemo)(()=>new Set((c.data?.items??[]).filter(e=>e.stale||e.sourceMissing).map(e=>e.id)),[c.data]),d=t?.locales.includes(i)?i:$,f=(0,L.useMemo)(()=>r&&t&&d===$?Y(n,t,u):void 0,[r,t,d,n,u]),p=(0,L.useMemo)(()=>new Map(f?.map(e=>[e.node.id,e])),[f]);return{items:r?f?f.map(e=>e.node):n.filter(e=>e.locale===d):n,groupOf:f?e=>p.get(e):void 0,multilingual:r,filter:d,setFilter:t=>{a(t),t!==$&&(se(e,t),s(t))},newLocale:Q(t,o)}}function le({list:e,site:t}){let{t:n,locale:r}=w();return!e.multilingual||!t?null:(0,N.jsx)(x,{"aria-label":n(`translationList.filter`),value:e.filter,onValueChange:t=>e.setFilter(t),items:Object.fromEntries([[$,n(`translationList.grouped`)],...t.locales.map(e=>[e,j(r,e)])]),render:(0,N.jsx)(ee.Button,{}),"data-testid":`language-filter`})}var ue=(e,t)=>`sections`in t?`/sites/${e}/pages/${t.id}`:`/sites/${e}/articles/${t.id}`;async function de(e,t,n){let r=ae(t,n,(await y.translations.group(e,t.id)).items.find(e=>e.id===t.id)?.hash??``);return r.kind===`page`?(await y.pages.create(e,r.input)).page:y.entries.create(e,r.input)}function fe({siteId:e,row:t,canWrite:n}){let{t:r,locale:i}=w(),a=c(),o=d(),s=v(),l=t.cells.find(e=>e.node?.id===t.group)?.node??t.node,f=u({mutationFn:t=>de(e,l,t),onSuccess:async t=>{await a.invalidateQueries({queryKey:[`translations`,e]}),await a.invalidateQueries({queryKey:[`sections`in t?`pages`:`entries`,e]}),await(`sections`in t?o({to:`/sites/$siteId/pages/$pageId`,params:{siteId:e,pageId:t.id}}):o({to:`/sites/$siteId/articles/$entryId`,params:{siteId:e,entryId:t.id}}))},onError:e=>s.error(te(r,e))}),p=t=>({locale:t.locale,state:t.state,...t.node?{href:ue(e,t.node)}:{}}),m=t.cells.filter(e=>e.node).length;return(0,N.jsx)(I,{items:t.cells.map(p),labels:{group:r(`translationList.column`),describe:e=>r(`translationList.state`,{language:j(i,e.locale),state:e.state}),summary:r(`translationList.summary`,{count:m,total:t.cells.length}),summaryLabel:r(`translationList.summaryLabel`,{count:m,total:t.cells.length}),writeByHand:r(`translationList.writeByHand`)},onWriteByHand:n?e=>f.mutate(e):void 0,busyLocale:f.isPending?f.variables:void 0})}export{G as a,V as c,K as i,fe as n,H as o,ce as r,re as s,le as t};
|
|
2
|
+
//# sourceMappingURL=TranslationList-DRCdjbvf.js.map
|