@cloudhal/cli 0.3.9 → 0.3.11
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/README.md +1 -1
- package/dist/assets/starters/blog/package.json +4 -4
- package/dist/assets/starters/blog/src/components/EntryList.astro +1 -1
- package/dist/assets/starters/blog/src/pages/[...path].astro +6 -2
- package/dist/assets/starters/blog/src/theme.ts +3 -2
- package/dist/assets/studio/assets/{AccountPage-C_F6GEbp.js → AccountPage-DhdHmvOg.js} +2 -2
- package/dist/assets/studio/assets/{ActivityPage-CAKmV0_b.js → ActivityPage-CjbJHI95.js} +2 -2
- package/dist/assets/studio/assets/{AgentModes-D8HMrK7G.js → AgentModes-QhxdiMYV.js} +2 -2
- package/dist/assets/studio/assets/AgentsPage-B-czVWlA.js +2 -0
- package/dist/assets/studio/assets/AnalyticsPage-CjGEPEPx.js +3 -0
- package/dist/assets/studio/assets/{ApprovalDialog-Dv9mtEvX.js → ApprovalDialog-DHKo0y6u.js} +2 -2
- package/dist/assets/studio/assets/{ApprovalsPage-BaCTOLgB.js → ApprovalsPage-DpH3gVFr.js} +3 -3
- package/dist/assets/studio/assets/ArticleEditorPage-B6i-ohJH.js +2 -0
- package/dist/assets/studio/assets/ArticlesPage-CL-4O3zB.js +2 -0
- package/dist/assets/studio/assets/{AssetPage-CQa3FSgH.js → AssetPage-C95V1y8t.js} +2 -2
- package/dist/assets/studio/assets/{Audit-BsehRESJ.js → Audit-Qsn-EQ3C.js} +2 -2
- package/dist/assets/studio/assets/{AuditBadges-Bd8EnwON.js → AuditBadges-CPDfmk_z.js} +2 -2
- package/dist/assets/studio/assets/{AuthLayout-BNLNRRmt.js → AuthLayout-wpvclpda.js} +2 -2
- package/dist/assets/studio/assets/{AutomationsPage-C1rjUwWk.js → AutomationsPage-PQAJefmU.js} +2 -2
- package/dist/assets/studio/assets/{BlockSection-dqMQjKxw.js → BlockSection-Dz_7O4BN.js} +2 -2
- package/dist/assets/studio/assets/{BodyChanges-DOaqosb8.js → BodyChanges-2lB47SO5.js} +2 -2
- package/dist/assets/studio/assets/{BuildPage-DEOfRzA9.js → BuildPage-CySzzTQW.js} +2 -2
- package/dist/assets/studio/assets/{CommandMenu-D9MNc-Wo.js → CommandMenu-CB2kq5oc.js} +2 -2
- package/dist/assets/studio/assets/{CommentThreadControls-DpKsd1i6.js → CommentThreadControls-CVB-n4D_.js} +2 -2
- package/dist/assets/studio/assets/CommentThreadPage-DZHFTxT4.js +2 -0
- package/dist/assets/studio/assets/{CommenterPage-DyUS-J5W.js → CommenterPage-7Sd7_lXK.js} +2 -2
- package/dist/assets/studio/assets/{Comments-BRP_6oQ6.js → Comments-BXWLWhKk.js} +2 -2
- package/dist/assets/studio/assets/{CommentsPage-C4uR0zDd.js → CommentsPage-BX1NccsN.js} +2 -2
- package/dist/assets/studio/assets/{ConfirmDialog-DTOOI7kj.js → ConfirmDialog-DCuw5jgs.js} +2 -2
- package/dist/assets/studio/assets/{Crumbs-BVqhFD_U.js → Crumbs-CJ6UlbPv.js} +2 -2
- package/dist/assets/studio/assets/{EditorLayout-GefNJMG2.js → EditorLayout-FlmsPOxF.js} +2 -2
- package/dist/assets/studio/assets/{EditorPreview-BuGAQX3g.js → EditorPreview-CA6-0wUw.js} +2 -2
- package/dist/assets/studio/assets/{Elevation-ahkqnCOT.js → Elevation-BrgkbjjJ.js} +2 -2
- package/dist/assets/studio/assets/{ElevationRequest-DbaZPpTy.js → ElevationRequest-DXg8u-DR.js} +2 -2
- package/dist/assets/studio/assets/EntryPath-CkymIfuw.js +2 -0
- package/dist/assets/studio/assets/{ForgotPasswordPage-ECAplOgO.js → ForgotPasswordPage-DwB7XyB2.js} +2 -2
- package/dist/assets/studio/assets/{Gating-BGO4D_AP.js → Gating-0HRGz-rR.js} +2 -2
- package/dist/assets/studio/assets/GovernanceDialog-DUYzDR09.js +2 -0
- package/dist/assets/studio/assets/{InvitePage-CciurSHj.js → InvitePage-DE6bIpV3.js} +2 -2
- package/dist/assets/studio/assets/{ListToolbar-DPtPcPWp.js → ListToolbar-BG__bomj.js} +2 -2
- package/dist/assets/studio/assets/{LoginPage-BKdmHe8_.js → LoginPage-DNfzz9zT.js} +2 -2
- package/dist/assets/studio/assets/{MediaPage-Bx_Q3p5Z.js → MediaPage-CYmEY5cn.js} +2 -2
- package/dist/assets/studio/assets/{MediaPicker-BHakhuPF.js → MediaPicker-C9vXkzHW.js} +2 -2
- package/dist/assets/studio/assets/{MediaUpload-Cjwe01QK.js → MediaUpload-BVeC5zW0.js} +2 -2
- package/dist/assets/studio/assets/MembersPage-DPlqxnNE.js +2 -0
- package/dist/assets/studio/assets/Menus-LJoFj5RT.js +2 -0
- package/dist/assets/studio/assets/{NavigationPage-3JIfd_2C.js → NavigationPage-C_3mnXYX.js} +2 -2
- package/dist/assets/studio/assets/{NewSiteDialog-DES6p9cW.js → NewSiteDialog-DSy8gRik.js} +2 -2
- package/dist/assets/studio/assets/{PageEditorPage-BiskVdPq.js → PageEditorPage-BcVleR3m.js} +2 -2
- package/dist/assets/studio/assets/{PagesPage-YrYME9pn.js → PagesPage-DBYQBTbf.js} +2 -2
- package/dist/assets/studio/assets/{PasswordField-BaDn4bwQ.js → PasswordField-CmuKqecN.js} +2 -2
- package/dist/assets/studio/assets/{PreviewPanel-CYgpgHYL.js → PreviewPanel-BGtfUafo.js} +2 -2
- package/dist/assets/studio/assets/{ProjectPage-B8YTPbZu.js → ProjectPage-fFSVFBu7.js} +2 -2
- package/dist/assets/studio/assets/{Readers-PSJxQtDw.js → Readers-BXiEXx2Q.js} +3 -3
- package/dist/assets/studio/assets/RedirectDialog-Bjj_Yc96.js +2 -0
- package/dist/assets/studio/assets/RedirectsPage-CHcqSOyu.js +2 -0
- package/dist/assets/studio/assets/{ReleaseApproval-DUUheBUr.js → ReleaseApproval-BIjYTn-g.js} +2 -2
- package/dist/assets/studio/assets/{ReleasePage-DU_sEnGb.js → ReleasePage-CxToLp34.js} +2 -2
- package/dist/assets/studio/assets/{ReleaseParts-blYiBCFL.js → ReleaseParts-B_Uljbxy.js} +2 -2
- package/dist/assets/studio/assets/{ResetPasswordPage-CxIo4Yvk.js → ResetPasswordPage-BmP2ALzo.js} +2 -2
- package/dist/assets/studio/assets/{RowMenu-CvzLtDk6.js → RowMenu-24gQZese.js} +2 -2
- package/dist/assets/studio/assets/{ScheduleCard-BNM_ecEJ.js → ScheduleCard-Chuz3OOY.js} +2 -2
- package/dist/assets/studio/assets/ScheduleDialog-Dh8bLDpe.js +2 -0
- package/dist/assets/studio/assets/{ScheduleHistoryPage-B_79RLNY.js → ScheduleHistoryPage-CS6Epz5q.js} +2 -2
- package/dist/assets/studio/assets/{ScheduleStatusBadge-CgZ65nzd.js → ScheduleStatusBadge-B4BPQAx4.js} +2 -2
- package/dist/assets/studio/assets/{SchedulerStalled-C8C91Ds8.js → SchedulerStalled-nDxONkWM.js} +2 -2
- package/dist/assets/studio/assets/{Schedules-xnhmCXba.js → Schedules-Dpu78aTu.js} +2 -2
- package/dist/assets/studio/assets/{SchedulesPage-KA7TSNlR.js → SchedulesPage-a0OcBtxY.js} +2 -2
- package/dist/assets/studio/assets/{ScopeBadge-C_XnkWYq.js → ScopeBadge-BNM9FT-5.js} +2 -2
- package/dist/assets/studio/assets/{SectionCard-GPZWTzbx.js → SectionCard-BxLoZOcp.js} +2 -2
- package/dist/assets/studio/assets/Seo-ytU9solr.js +2 -0
- package/dist/assets/studio/assets/SeoPreview-yfqYstu_.js +2 -0
- package/dist/assets/studio/assets/{Settings-BeAGyeQI.js → Settings-m8Ai9oIJ.js} +2 -2
- package/dist/assets/studio/assets/{SiteAccessField-C0J26Q-t.js → SiteAccessField-Dt_TYknY.js} +2 -2
- package/dist/assets/studio/assets/{SiteOverviewPage-CDnjXcd6.js → SiteOverviewPage-C-fICOMI.js} +3 -3
- package/dist/assets/studio/assets/SiteSettingsPage-B38ObhQp.js +3 -0
- package/dist/assets/studio/assets/{SitesPage-DSpx69dn.js → SitesPage-BeZp4ZWP.js} +2 -2
- package/dist/assets/studio/assets/{SkillsPage-DF4xGVkJ.js → SkillsPage-HCITPWLC.js} +2 -2
- package/dist/assets/studio/assets/SnapshotsPage-Bz6q1NZG.js +2 -0
- package/dist/assets/studio/assets/{Status-B6jbm_Zq.js → Status-Bj8AxXIX.js} +2 -2
- package/dist/assets/studio/assets/{StatusActions-DgRInkQb.js → StatusActions-B7qbr17X.js} +3 -3
- package/dist/assets/studio/assets/{TagsMigration-DYR-VkVc.js → TagsMigration-DWLg_J-t.js} +2 -2
- package/dist/assets/studio/assets/Taxonomy-CVwYZsH4.js +2 -0
- package/dist/assets/studio/assets/{TaxonomyPage-BYCM2_2l.js → TaxonomyPage-Bl9v3mnU.js} +2 -2
- package/dist/assets/studio/assets/{TermEditorPage-C8NQHobp.js → TermEditorPage-0g_PGShy.js} +2 -2
- package/dist/assets/studio/assets/{TermPickers-a6Ed0J4R.js → TermPickers-BI3nNBmj.js} +2 -2
- package/dist/assets/studio/assets/{Toast-DYiK3WzC.js → Toast-CXAk8wMq.js} +2 -2
- package/dist/assets/studio/assets/{TranslationList-D6YA7Vjr.js → TranslationList-hfg5iYSt.js} +2 -2
- package/dist/assets/studio/assets/{TranslationsPage-Ci-5wWIr.js → TranslationsPage-DEH0PY-i.js} +2 -2
- package/dist/assets/studio/assets/api-Mdeo6gzg.js +4 -0
- package/dist/assets/studio/assets/{api-errors-DObQzNBx.js → api-errors-CXLBmdpk.js} +2 -2
- package/dist/assets/studio/assets/{approvals-Dq0eHG8S.js → approvals-CIXN6a5b.js} +2 -2
- package/dist/assets/studio/assets/ar-ofvhEEt4.js +6 -0
- package/dist/assets/studio/assets/{charts-RqioK5fB.js → charts-Dni4XxBl.js} +2 -2
- package/dist/assets/studio/assets/{clipboard-text-gd6s3n1bqse9zgt8-_Ede63Fg.js → clipboard-text-gd6s3n1bqse9zgt8-ZQgZ1_-o.js} +2 -2
- package/dist/assets/studio/assets/{collapsible-l8g94on4w7qfosmn-Dk6hg5t7.js → collapsible-l8g94on4w7qfosmn-Bn4JrutR.js} +2 -2
- package/dist/assets/studio/assets/{combobox-hdxtsm2gqcxxgfju-DgmfP13I.js → combobox-hdxtsm2gqcxxgfju-C8ue-AJ-.js} +2 -2
- package/dist/assets/studio/assets/{createToastManager-onmoqrmr8zo02rif-_Y_xgvmb.js → createToastManager-onmoqrmr8zo02rif-V5YAqQyh.js} +2 -2
- package/dist/assets/studio/assets/de-CUjqphee.js +6 -0
- package/dist/assets/studio/assets/{deleteLabels-C5GfAnPh.js → deleteLabels-Cm9ihsQ3.js} +2 -2
- package/dist/assets/studio/assets/{dialog-glpnivujociqs9lh-Cch0_XyA.js → dialog-glpnivujociqs9lh-BqMU4UxI.js} +2 -2
- package/dist/assets/studio/assets/{editor-BQa6TaZi.js → editor-D3pyx_CZ.js} +2 -2
- package/dist/assets/studio/assets/es-DXloqVLE.js +6 -0
- package/dist/assets/studio/assets/fa-BDO-9MVu.js +6 -0
- package/dist/assets/studio/assets/fr-Cm9SdqZD.js +6 -0
- package/dist/assets/studio/assets/he-Bt5bz790.js +6 -0
- package/dist/assets/studio/assets/hi-C3-GZG-C.js +6 -0
- package/dist/assets/studio/assets/i18n-CdW50___.js +7 -0
- package/dist/assets/studio/assets/id-fk1BPM1I.js +6 -0
- package/dist/assets/studio/assets/index-DYyDeKnk.js +4 -0
- package/dist/assets/studio/assets/it-KwlZf5Ee.js +6 -0
- package/dist/assets/studio/assets/ja-BZHSI7Yq.js +6 -0
- package/dist/assets/studio/assets/ko-B9L7Js7b.js +6 -0
- package/dist/assets/studio/assets/layer-dialog-j5ywmzs46ccg6oqy-DLBR2ljP.js +2 -0
- package/dist/assets/studio/assets/{media-PkgIV37k.js → media-D4YZ713s.js} +3 -3
- package/dist/assets/studio/assets/nl-4w3IGlXj.js +6 -0
- package/dist/assets/studio/assets/permalinks-CNYgOPCo.js +2 -0
- package/dist/assets/studio/assets/pl-CCYhWdyU.js +6 -0
- package/dist/assets/studio/assets/pt-BR-xY-_D6mf.js +6 -0
- package/dist/assets/studio/assets/ru-DZ1xI15Q.js +6 -0
- package/dist/assets/studio/assets/{schedules-api-5mgRmrjL.js → schedules-api-DWQc-xjG.js} +2 -2
- package/dist/assets/studio/assets/{tag-input-ohfybx5dbxy3houy-C5BpU4R7.js → tag-input-ohfybx5dbxy3houy-CbqFHYvH.js} +2 -2
- package/dist/assets/studio/assets/tr-n4MtlsVR.js +6 -0
- package/dist/assets/studio/assets/uk-aiCWjdse.js +6 -0
- package/dist/assets/studio/assets/{useAnalyticsCard-tsyFdq37.js → useAnalyticsCard-D_EaD-GJ.js} +2 -2
- package/dist/assets/studio/assets/{useMe-DcrRDsez.js → useMe-D5W0xdO9.js} +2 -2
- package/dist/assets/studio/assets/{usePaging-kMfWrvea.js → usePaging-YS-Bfnj9.js} +2 -2
- package/dist/assets/studio/assets/{usePendingApprovals-BVHPCnd7.js → usePendingApprovals-54FcNUfi.js} +2 -2
- package/dist/assets/studio/assets/zh-Hans-D7CeiRbC.js +6 -0
- package/dist/assets/studio/index.html +16 -16
- package/dist/src/commands/analytics.d.ts +1 -1
- package/dist/src/commands/analytics.js +4 -3
- package/dist/src/commands/deploy/resources.d.ts +10 -0
- package/dist/src/commands/deploy/resources.js +25 -0
- package/dist/src/commands/deploy/ship.js +25 -19
- package/package.json +11 -11
- package/dist/assets/studio/assets/AgentsPage-DTYrfM8r.js +0 -2
- package/dist/assets/studio/assets/AnalyticsPage-BHH7HUno.js +0 -3
- package/dist/assets/studio/assets/ArticleEditorPage-DNo73SWr.js +0 -2
- package/dist/assets/studio/assets/ArticlesPage-aY2U4lYq.js +0 -2
- package/dist/assets/studio/assets/CommentThreadPage-JhpHw2fy.js +0 -2
- package/dist/assets/studio/assets/GovernanceDialog-6vMG-DjQ.js +0 -2
- package/dist/assets/studio/assets/MembersPage-1Dpp6fR0.js +0 -2
- package/dist/assets/studio/assets/Menus-BqLOw0If.js +0 -2
- package/dist/assets/studio/assets/RedirectDialog-BEIl9Rio.js +0 -2
- package/dist/assets/studio/assets/RedirectsPage-ClI2C61E.js +0 -2
- package/dist/assets/studio/assets/ScheduleDialog-BcjQEb-r.js +0 -2
- package/dist/assets/studio/assets/Seo-S2Fmf0_k.js +0 -2
- package/dist/assets/studio/assets/SeoPreview-BaS-x90q.js +0 -2
- package/dist/assets/studio/assets/SiteSettingsPage-DdNblHPf.js +0 -3
- package/dist/assets/studio/assets/SnapshotsPage-CTUCS2y4.js +0 -2
- package/dist/assets/studio/assets/Taxonomy-BP_PrlF2.js +0 -2
- package/dist/assets/studio/assets/api-Cqqt5jTd.js +0 -4
- package/dist/assets/studio/assets/ar-DZD_LN4R.js +0 -6
- package/dist/assets/studio/assets/de-D65bXpkj.js +0 -6
- package/dist/assets/studio/assets/es-c812D9nl.js +0 -6
- package/dist/assets/studio/assets/fa-vxNhZpLh.js +0 -6
- package/dist/assets/studio/assets/fr-DhVGWQ1r.js +0 -6
- package/dist/assets/studio/assets/he-BUNedH-H.js +0 -6
- package/dist/assets/studio/assets/hi-BRLMI3vy.js +0 -6
- package/dist/assets/studio/assets/i18n-Dz1LE8DB.js +0 -7
- package/dist/assets/studio/assets/id-Di4ybegt.js +0 -6
- package/dist/assets/studio/assets/index-DMKFLgkG.js +0 -4
- package/dist/assets/studio/assets/it-CmzTT1jK.js +0 -6
- package/dist/assets/studio/assets/ja-Bx1aRBDT.js +0 -6
- package/dist/assets/studio/assets/ko-Dcw0wiZr.js +0 -6
- package/dist/assets/studio/assets/layer-dialog-j5ywmzs46ccg6oqy-CySAcQJW.js +0 -2
- package/dist/assets/studio/assets/nl-BeTtPQCB.js +0 -6
- package/dist/assets/studio/assets/pl-DMfBcmtn.js +0 -6
- package/dist/assets/studio/assets/pt-BR-B4XbkQp3.js +0 -6
- package/dist/assets/studio/assets/ru-ttvcqOmM.js +0 -6
- package/dist/assets/studio/assets/tr-eeqDuraZ.js +0 -6
- package/dist/assets/studio/assets/uk-ooRGP488.js +0 -6
- package/dist/assets/studio/assets/zh-Hans-CGcsS9Bh.js +0 -6
package/dist/assets/studio/assets/{AutomationsPage-C1rjUwWk.js → AutomationsPage-PQAJefmU.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{S as s,_ as c,d as l,h as u,l as d,u as f,v as ee}from"./tanstack-BRxyYm4G.js";import{m as te,n as p,t as m}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as h}from"./ScheduleStatusBadge-CgZ65nzd.js";import{t as g}from"./ClockClockwise.es-1egHMnBk.js";import{t as _}from"./DotsThree.es-C-pT5SgE.js";import{t as v}from"./Key.es-DE551dL3.js";import{a as y,n as b,o as x}from"./AgentModes-D8HMrK7G.js";import{t as S}from"./checkbox-lbo436duy7krxcsk-HiD6vTuC.js";import{_ as C,a as w,c as T,f as ne,g as re,h as ie,m as ae,r as oe,s as E,t as D}from"./Schedules-xnhmCXba.js";import{t as se}from"./ShieldCheck.es-BOXTHH7h.js";import{n as ce,t as O}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{i as k}from"./useMe-DcrRDsez.js";import{t as le}from"./Toast-DYiK3WzC.js";import{t as A}from"./input-c8lv9ulv0kortliq-Be2cm12J.js";import{t as j}from"./input-h5ox92gf13ge04hp-CDAaOl0A.js";import{t as ue}from"./clipboard-text-gd6s3n1bqse9zgt8-_Ede63Fg.js";import{o as de,p as M,s as fe,t as N}from"./api-Cqqt5jTd.js";import{t as P}from"./dropdown-m53ji1d66mws89wh-BTaT-o14.js";import{t as F}from"./select-futox5zqr3r80y9a-FumEl51u.js";import{t as pe}from"./switch-cqsvolm7h69z7vgg-DkSvRVQF.js";import{t as I}from"./table-yf8ul2e5nbemioi1-KGRDj7XO.js";import{t as L}from"./radio-35dx7y6rjrezbjsp-2D7MXAy3.js";import{t as R}from"./empty-hkvg3is3uc6dj1at-Cen9KfIy.js";import{t as z}from"./layer-dialog-j5ywmzs46ccg6oqy-CySAcQJW.js";import{B,C as V,H,L as U,U as me,V as he,W,Y as ge,Z as _e,d as G,et as ve,ft as ye,h as be,j as xe,pt as Se,ut as K}from"./schedules-BHug03zB.js";import{t as Ce}from"./AuditBadges-Bd8EnwON.js";import{t as q}from"./InsetPanel-CHSg953_.js";import{n as we,t as Te}from"./deleteLabels-C5GfAnPh.js";import{t as Ee}from"./api-errors-DObQzNBx.js";import{C as De,W as Oe,u as ke}from"./index-DMKFLgkG.js";import{t as J}from"./schedules-api-5mgRmrjL.js";import{t as Ae}from"./TableSkeleton-DWrf88UN.js";import{t as je}from"./ListToolbar-DPtPcPWp.js";import{t as Me}from"./schedules-search-B-7SpriY.js";var Y=r();function Ne({runs:e,locale:n,timeZone:r=`UTC`,hourCycle:a,labels:o,loading:s,limit:c=5,className:l}){return(0,Y.jsxs)(q,{label:o.title,className:l,children:[(0,Y.jsx)(p,{as:`span`,bold:!0,size:`sm`,children:o.title}),s?(0,Y.jsxs)(`div`,{className:`grid gap-2`,"data-next-runs-loading":``,children:[(0,Y.jsx)(`span`,{role:`status`,className:`sr-only`,children:o.loading}),[0,1,2].map(e=>(0,Y.jsx)(m,{},e))]}):e.length===0?(0,Y.jsx)(p,{as:`span`,variant:`secondary`,size:`sm`,children:o.empty}):(0,Y.jsx)(`dl`,{className:`m-0 grid gap-1.5`,"data-next-runs":``,children:e.slice(0,c).map(e=>(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center justify-between gap-x-3 gap-y-1`,children:[(0,Y.jsx)(`dt`,{className:`min-w-0`,children:(0,Y.jsx)(p,{as:`span`,size:`sm`,children:ge(Se(e.at,r),n,`long`)})}),(0,Y.jsxs)(`dd`,{className:t(`m-0 flex items-center gap-2`),children:[e.clockChange&&(0,Y.jsx)(i,{variant:`warning`,icon:(0,Y.jsx)(g,{size:14,"aria-hidden":!0}),children:o.clockChange}),(0,Y.jsx)(p,{as:`span`,size:`sm`,variant:`secondary`,children:(0,Y.jsx)(`span`,{className:`tabular-nums`,children:_e(e.at,n,r,a)})}),e.note&&(0,Y.jsx)(p,{as:`span`,size:`xs`,variant:`secondary`,children:e.note})]})]},e.at))})]})}var X=e(n(),1),Pe=[1,2,3,4,-1],Fe=[...Array.from({length:31},(e,t)=>t+1),-1];function Ie({value:e,onChange:n,locale:r,weekStartsOn:i,labels:a,sentence:o,problems:s={},presets:c=he,hourCycle:l,disabled:u,className:d}){let f=t=>n({...e,...t}),ee=l??ve(r),m=C(e.time,e=>{e&&f({time:e})},r,ee),h=(0,X.useId)(),g=K(r,`long`),_=K(r,`short`),v=ye(i),y=v.map(e=>({value:H[e],label:g[e]})),b=Number(e.time.slice(3,5)),x=s.time??(m.unreadable?a.invalidTime:void 0),w=e.preset===`custom`,T=e.preset===`once`?null:e.preset===`hourly`?(0,Y.jsx)(A,{type:`number`,inputMode:`numeric`,min:0,max:59,label:a.minute,value:String(b),onValueChange:t=>{let n=Math.min(59,Math.max(0,Math.trunc(Number(t)||0)));f({time:`${e.time.slice(0,2)}:${String(n).padStart(2,`0`)}`})},disabled:u,className:`w-full`,"data-recurrence":`minute`}):(0,Y.jsx)(A,{label:a.time,...m.inputProps,error:x,disabled:u,className:`w-full tabular-nums`,"data-recurrence":`time`});return(0,Y.jsxs)(`div`,{className:t(`@container grid min-w-0 gap-5`,d),"data-recurrence-editor":e.preset,children:[(0,Y.jsx)(L.Group,{appearance:`card`,legend:a.legend,value:e.preset,onValueChange:e=>f({preset:e}),disabled:u,className:`grid gap-2 @md:grid-cols-2`,children:c.map(e=>(0,Y.jsx)(L.Item,{value:e,label:a.presets[e],description:a.presetHints?.[e]},e))}),e.preset!==`once`&&(0,Y.jsxs)(`div`,{className:`grid items-start gap-5 @lg:grid-cols-2`,children:[T,e.preset===`weekly`&&(0,Y.jsx)(F,{label:a.weekday,value:e.weekdays[0]??`MO`,onValueChange:e=>f({weekdays:[String(e)]}),items:y,disabled:u,className:`w-full`}),e.preset===`monthly`&&(0,Y.jsx)(F,{label:a.monthDay,value:String(e.monthDay),onValueChange:e=>f({monthDay:Number(e)}),items:Fe.map(e=>({value:String(e),label:e===-1?a.lastDay:a.monthDayOption(e)})),disabled:u,className:`w-full`}),w&&(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 items-start gap-3`,children:[(0,Y.jsx)(A,{type:`number`,inputMode:`numeric`,min:1,max:999,label:a.interval,value:String(e.interval),onValueChange:e=>f({interval:Math.min(999,Math.max(1,Math.trunc(Number(e)||1)))}),error:s.interval,disabled:u,className:`w-full`,"data-recurrence":`interval`}),(0,Y.jsx)(F,{label:a.frequency,value:e.frequency,onValueChange:e=>f({frequency:String(e)}),items:[`daily`,`weekly`,`monthly`].map(t=>({value:t,label:a.frequencies[t](e.interval)})),disabled:u,className:`w-full`})]})]}),e.preset!==`once`&&e.preset!==`hourly`&&b===0&&!x&&(0,Y.jsxs)(`div`,{className:`flex items-start gap-2`,"data-recurrence-hint":``,children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`flex h-lh items-center text-kumo-subtle`,children:(0,Y.jsx)(te,{size:16})}),(0,Y.jsx)(p,{as:`span`,variant:`secondary`,size:`sm`,children:a.avoidOnTheHour})]}),w&&e.frequency===`weekly`&&(0,Y.jsxs)(`fieldset`,{className:`m-0 grid min-w-0 gap-2 border-0 p-0`,"data-recurrence":`weekdays`,children:[(0,Y.jsx)(`legend`,{className:`mb-2 p-0`,children:(0,Y.jsx)(p,{as:`span`,bold:!0,size:`sm`,children:a.weekdays})}),(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-2`,children:v.map(t=>{let n=H[t],r=e.weekdays.includes(n);return(0,Y.jsx)(S,{label:(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,children:_[t]}),(0,Y.jsx)(`span`,{className:`sr-only`,children:g[t]})]}),checked:r,disabled:u,onCheckedChange:t=>f({weekdays:t?[...e.weekdays,n]:e.weekdays.filter(e=>e!==n)}),"data-weekday":n},n)})}),s.weekdays&&(0,Y.jsx)(p,{as:`span`,variant:`error`,size:`sm`,children:s.weekdays})]}),w&&e.frequency===`monthly`&&(0,Y.jsxs)(`div`,{className:`grid gap-3`,"data-recurrence":`monthly`,children:[(0,Y.jsxs)(L.Group,{legend:a.monthlyOn,value:e.monthly,onValueChange:e=>f({monthly:e}),disabled:u,children:[(0,Y.jsx)(L.Item,{value:`day`,label:a.monthlyDay}),(0,Y.jsx)(L.Item,{value:`weekday`,label:a.monthlyWeekday})]}),(0,Y.jsx)(`div`,{className:`grid items-start gap-3 @lg:grid-cols-2`,children:e.monthly===`day`?(0,Y.jsx)(F,{label:a.monthDay,value:String(e.monthDay),onValueChange:e=>f({monthDay:Number(e)}),items:Fe.map(e=>({value:String(e),label:e===-1?a.lastDay:a.monthDayOption(e)})),disabled:u,className:`w-full`}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(F,{label:a.ordinal,value:String(e.ordinal),onValueChange:e=>f({ordinal:Number(e)}),items:Pe.map(e=>({value:String(e),label:a.ordinals[`${e}`]})),disabled:u,className:`w-full`}),(0,Y.jsx)(F,{label:a.weekday,value:e.weekdays[0]??`MO`,onValueChange:e=>f({weekdays:[String(e)]}),items:y,disabled:u,className:`w-full`})]})})]}),w&&(0,Y.jsxs)(`div`,{className:`grid gap-3`,"data-recurrence":`end`,children:[(0,Y.jsxs)(L.Group,{legend:a.end,value:e.end.kind,onValueChange:t=>f({end:t===`on`?{kind:`on`,date:e.end.kind===`on`?e.end.date:``}:t===`after`?{kind:`after`,count:e.end.kind===`after`?e.end.count:10}:{kind:`never`}}),disabled:u,children:[(0,Y.jsx)(L.Item,{value:`never`,label:a.ends.never}),(0,Y.jsx)(L.Item,{value:`on`,label:a.ends.on}),(0,Y.jsx)(L.Item,{value:`after`,label:a.ends.after})]}),e.end.kind===`on`&&(0,Y.jsx)(A,{type:`date`,label:a.endDate,value:e.end.date,onValueChange:e=>f({end:{kind:`on`,date:e}}),error:s.until,disabled:u,className:`w-full`,"data-recurrence":`until`}),e.end.kind===`after`&&(0,Y.jsx)(A,{type:`number`,inputMode:`numeric`,min:1,label:a.endCount,value:String(e.end.count),onValueChange:e=>f({end:{kind:`after`,count:Math.max(1,Math.trunc(Number(e)||1))}}),error:s.count,disabled:u,className:`w-full`,"data-recurrence":`count`})]}),o&&(0,Y.jsx)(q,{label:a.summary,children:(0,Y.jsx)(`span`,{id:`${h}-sentence`,"aria-live":`polite`,"data-recurrence-sentence":``,children:(0,Y.jsx)(p,{as:`span`,bold:!0,children:o})})})]})}var Le=[`broken-links`,`stale-content`,`feed-check`,`weekly-digest`,`cleanup`],Z={maxToolCalls:100,maxWrites:20,maxApprovalRequests:5,maxMinutes:15};function Re(e,t){let n={name:``,job:`broken-links`,staleAfterDays:`365`,modeCap:`edits`,readsUntrustedText:!1,instructions:``,windowMinutes:`30`,budget:{maxToolCalls:String(Z.maxToolCalls),maxWrites:String(Z.maxWrites),maxApprovalRequests:String(Z.maxApprovalRequests),maxMinutes:String(Z.maxMinutes)},recurrence:B,once:{date:t,time:B.time}};if(!e)return n;let r=e.recurrence,i=e.job;return{...n,name:e.name,job:i.kind===`builtin`?i.builtin:`agent-task`,staleAfterDays:String(i.kind===`builtin`?i.staleAfterDays??365:365),...i.kind===`agent-task`?{modeCap:i.modeCap,readsUntrustedText:i.readsUntrustedText,instructions:i.instructions,windowMinutes:String(i.windowMinutes),budget:{maxToolCalls:String(i.budget.maxToolCalls),maxWrites:String(i.budget.maxWrites),maxApprovalRequests:String(i.budget.maxApprovalRequests),maxMinutes:String(i.budget.maxMinutes)}}:{},recurrence:V(r.rule,r.preset,r.start),once:{date:r.start.slice(0,10),time:r.start.slice(11,16)}}}var Q=(e,t,n)=>{let r=Number(e);return Number.isInteger(r)&&r>=t&&r<=n?r:void 0};function ze(e,t){let n=W(e.recurrence);return{start:e.recurrence.preset===`once`?be({date:e.once.date??t,time:e.once.time??`09:07`}):be({date:t,time:e.recurrence.time}),preset:e.recurrence.preset,...n?{rule:n}:{}}}function Be(e,t,n){let r={...ze(e,t),timeZone:n};return e.job===`agent-task`?{name:e.name.trim(),job:{kind:`agent-task`,instructions:e.instructions.trim(),modeCap:e.modeCap,readsUntrustedText:e.readsUntrustedText,windowMinutes:Number(e.windowMinutes),budget:{maxToolCalls:Number(e.budget.maxToolCalls),maxWrites:Number(e.budget.maxWrites),maxApprovalRequests:Number(e.budget.maxApprovalRequests),maxMinutes:Number(e.budget.maxMinutes)}},recurrence:r}:{name:e.name.trim(),job:{kind:`builtin`,builtin:e.job,...e.job===`stale-content`?{staleAfterDays:Number(e.staleAfterDays)}:{}},recurrence:r}}function Ve(e,t=350){let[n,r]=(0,X.useState)(e);return(0,X.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n}function He({siteId:e,open:t,onOpenChange:n,automation:r,copyOf:i}){let{t:a,locale:o,field:l}=ne(),d=ie(e),f=s(),ee=le(),[m,h]=(0,X.useState)(()=>Re(r??i,d.today)),[g,_]=(0,X.useState)(!1),[y,S]=(0,X.useState)(!1),[C,T]=(0,X.useState)(),ae=(0,X.useRef)({automation:r,copyOf:i,today:d.today,t:a});ae.current={automation:r,copyOf:i,today:d.today,t:a};let oe=t?`${r?.id??`new`}:${i?.id??``}`:void 0;(0,X.useEffect)(()=>{if(!oe)return;let{automation:e,copyOf:t,today:n,t:r}=ae.current,i=Re(e??t,n);t&&!e&&(i.name=r(`schedules.automations.copyName`,{name:t.name})),h(i),_(!1),S(e?.job.kind===`agent-task`&&e.job.modeCap===`auto`),T(void 0)},[oe]);let D=(e,t)=>h(n=>({...n,[e]:t})),k=`schedules.automationDialog`,M=m.job===`agent-task`,N=r!==void 0,P=me(m.recurrence),F=Object.fromEntries(P.map(e=>[e,a(`${k}.recurrence.problems.${e}`)])),I={name:m.name.trim()?void 0:a(`${k}.name.required`),instructions:M&&!m.instructions.trim()?a(`${k}.agent.errors.instructions`):void 0,window:M&&Q(m.windowMinutes,5,240)===void 0?a(`${k}.agent.errors.window`):void 0,budget:M&&(Q(m.budget.maxToolCalls,0,1e4)===void 0||Q(m.budget.maxWrites,0,1e4)===void 0||Q(m.budget.maxApprovalRequests,0,1e3)===void 0||Q(m.budget.maxMinutes,1,240)===void 0)?a(`${k}.agent.errors.budget`):void 0,stale:m.job===`stale-content`&&Q(m.staleAfterDays,1,3650)===void 0?a(`${k}.agent.errors.budget`):void 0},R=M&&m.modeCap===`auto`&&(r?.job.kind!==`agent-task`||r.job.modeCap!==`auto`),B=Object.values(I).every(e=>e===void 0)&&P.length===0&&!(R&&!y),V=Ve((0,X.useMemo)(()=>ze(m,d.today),[m,d.today])),H=c({queryKey:[...E.all(e),`preview-rule`,V.start,V.rule??``,d.timeZone,o],queryFn:()=>J.automations.previewRule(e,{start:V.start,timeZone:d.timeZone,...V.rule?{rule:V.rule}:{},locale:o}),enabled:t&&P.length===0,retry:!1,placeholderData:e=>e}),U=u({mutationFn:async()=>{let t=Be(m,d.today,d.timeZone);if(!r)return J.automations.create(e,t);let n=t.job.kind===`agent-task`?{instructions:t.job.instructions,modeCap:t.job.modeCap,readsUntrustedText:t.job.readsUntrustedText,windowMinutes:t.job.windowMinutes,budget:t.job.budget}:t.job.builtin===`stale-content`?{staleAfterDays:t.job.staleAfterDays}:void 0;return{automation:await J.automations.update(e,r.id,r.rev,{name:t.name,recurrence:t.recurrence,...n?{job:n}:{}}),key:void 0}},onSuccess:async t=>{await f.invalidateQueries({queryKey:E.all(e)}),ee.success(a(N?`${k}.saved`:`${k}.created`),t.automation.name),t.key?.secret?T(t.key.secret):n(!1)}}),he=()=>{_(!0),B&&U.mutate()},W=e=>g?e:void 0,ge=M?m.readsUntrustedText?a(`${k}.can.untrusted`):a(`${k}.can.${m.modeCap}`):a(`${k}.can.builtin`),_e=H.data?.occurrences??[],G=`${k}.recurrence`;return(0,Y.jsx)(z.Root,{open:t,onOpenChange:n,dismissDisabled:U.isPending,children:(0,Y.jsxs)(z.Content,{size:`lg`,closeLabel:a(`${k}.close`),children:[(0,Y.jsx)(z.Title,{children:a(C?`${k}.reveal.title`:N?`${k}.titleEdit`:`${k}.titleNew`)}),(0,Y.jsx)(z.Description,{children:a(C?`${k}.reveal.description`:`${k}.description`)}),(0,Y.jsx)(z.Body,{children:C?(0,Y.jsxs)(`div`,{className:`grid gap-4`,"data-testid":`automation-key`,children:[(0,Y.jsx)(O,{variant:`alert`,icon:(0,Y.jsx)(v,{weight:`fill`}),title:a(`${k}.reveal.warning`)}),(0,Y.jsx)(ue,{text:C,size:`lg`})]}):(0,Y.jsxs)(`div`,{className:`grid gap-6`,"data-testid":`automation-dialog`,children:[(0,Y.jsx)(A,{className:`w-full`,label:a(`${k}.name.label`),placeholder:a(`${k}.name.placeholder`),value:m.name,maxLength:120,onValueChange:e=>D(`name`,e),error:W(I.name)}),(0,Y.jsxs)(L.Group,{appearance:`card`,value:m.job,onValueChange:e=>D(`job`,e),disabled:N,children:[(0,Y.jsx)(L.Legend,{children:a(`${k}.job.legend`)}),Le.map(e=>(0,Y.jsx)(L.Item,{value:e,label:a(`schedules.automations.builtins.${e}.name`),description:a(`schedules.automations.builtins.${e}.description`)},e)),(0,Y.jsx)(L.Item,{value:`agent-task`,label:a(`${k}.job.agentTask`),description:a(`${k}.job.agentTaskHint`)})]}),m.job===`stale-content`&&(0,Y.jsx)(A,{className:`w-full`,type:`number`,inputMode:`numeric`,label:a(`${k}.staleAfterDays.label`),description:a(`${k}.staleAfterDays.description`),value:m.staleAfterDays,onValueChange:e=>D(`staleAfterDays`,e),error:W(I.stale)}),M&&(0,Y.jsxs)(`div`,{className:`grid gap-5`,"data-testid":`agent-task`,children:[(0,Y.jsxs)(q,{layout:`row`,children:[(0,Y.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,Y.jsx)(v,{size:16})}),(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,children:a(`${k}.agent.keyNote`)})]}),(0,Y.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,Y.jsx)(p,{bold:!0,as:`span`,children:a(`${k}.agent.mode`)}),(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,children:a(`${k}.agent.modeCap`)})]}),(0,Y.jsx)(x,{value:m.modeCap,onValueChange:e=>D(`modeCap`,e),legend:a(`${k}.agent.mode`)}),m.modeCap===`auto`&&(0,Y.jsx)(b,{checked:y,onCheckedChange:S,showError:g}),(0,Y.jsx)(pe,{label:a(`${k}.agent.untrusted.label`),checked:m.readsUntrustedText,onCheckedChange:e=>D(`readsUntrustedText`,e),disabled:N&&r?.job.kind===`agent-task`&&!r.job.readsUntrustedText}),(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,children:a(`${k}.agent.untrusted.description`)}),(0,Y.jsx)(j,{className:`w-full`,label:a(`${k}.agent.instructions.label`),description:a(`${k}.agent.instructions.description`),placeholder:a(`${k}.agent.instructions.placeholder`),value:m.instructions,onValueChange:e=>D(`instructions`,e),autoResize:!0,minRows:3,maxRows:10,error:W(I.instructions)}),(0,Y.jsx)(A,{className:`w-full`,type:`number`,inputMode:`numeric`,label:a(`${k}.agent.window.label`),description:a(`${k}.agent.window.description`),value:m.windowMinutes,onValueChange:e=>D(`windowMinutes`,e),error:W(I.window)}),(0,Y.jsxs)(`fieldset`,{className:`m-0 grid gap-3 border-0 p-0`,children:[(0,Y.jsxs)(`legend`,{className:`grid gap-1.5 pb-3`,children:[(0,Y.jsx)(p,{bold:!0,as:`span`,children:a(`${k}.agent.budget.title`)}),(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,as:`span`,children:a(`${k}.agent.budget.description`)})]}),(0,Y.jsx)(`div`,{className:`@container`,children:(0,Y.jsx)(`div`,{className:`grid items-start gap-4 @md:grid-cols-2`,children:[[`maxToolCalls`,`calls`],[`maxWrites`,`writes`],[`maxApprovalRequests`,`requests`],[`maxMinutes`,`minutes`]].map(([e,t])=>(0,Y.jsx)(A,{className:`w-full`,type:`number`,inputMode:`numeric`,label:a(`${k}.agent.budget.${t}`),value:m.budget[e],onValueChange:t=>D(`budget`,{...m.budget,[e]:t})},e))})}),W(I.budget)&&(0,Y.jsx)(p,{variant:`error`,size:`sm`,children:I.budget})]})]}),(0,Y.jsx)(Ie,{value:m.recurrence,onChange:e=>D(`recurrence`,e),locale:o,weekStartsOn:d.weekStartsOn,hourCycle:d.hourCycle,presets:[`hourly`,`daily`,`weekdays`,`weekly`,`monthly`,`once`,`custom`],sentence:H.data?.text,problems:g||P.length>0?F:{},labels:{legend:a(`${G}.legend`),presets:{hourly:a(`${G}.presets.hourly`),daily:a(`${G}.presets.daily`),weekdays:a(`${G}.presets.weekdays`),weekly:a(`${G}.presets.weekly`),monthly:a(`${G}.presets.monthly`),once:a(`${G}.presets.once`),custom:a(`${G}.presets.custom`)},time:a(`${G}.time`),minute:a(`${G}.minute`),weekday:a(`${G}.weekday`),monthDay:a(`${G}.monthDay`),monthDayOption:e=>a(`${G}.monthDayOption`,{day:e}),lastDay:a(`${G}.lastDay`),interval:a(`${G}.interval`),frequency:a(`${G}.frequency`),frequencies:{daily:e=>a(`${G}.days`,{count:e}),weekly:e=>a(`${G}.weeks`,{count:e}),monthly:e=>a(`${G}.months`,{count:e})},weekdays:a(`${G}.weekdays`),monthlyOn:a(`${G}.monthlyOn`),monthlyDay:a(`${G}.monthlyDay`),monthlyWeekday:a(`${G}.monthlyWeekday`),ordinal:a(`${G}.ordinal`),ordinals:{1:a(`${G}.ordinals.1`),2:a(`${G}.ordinals.2`),3:a(`${G}.ordinals.3`),4:a(`${G}.ordinals.4`),"-1":a(`${G}.ordinals.-1`)},end:a(`${G}.end`),ends:{never:a(`${G}.ends.never`),on:a(`${G}.ends.on`),after:a(`${G}.ends.after`)},endDate:a(`${G}.endDate`),endCount:a(`${G}.endCount`),avoidOnTheHour:a(`${G}.avoidOnTheHour`),invalidTime:a(`schedules.field.invalidTime`),summary:a(`${G}.summary`)}}),m.recurrence.preset===`once`&&(0,Y.jsx)(re,{label:a(`${G}.onceAt`),value:m.once,onChange:e=>D(`once`,e),locale:o,timeZone:d.timeZone,zoneLabel:d.zoneLabel,hourCycle:d.hourCycle,labels:l,min:d.today,today:d.today,error:m.once.date&&m.once.time?void 0:g?w(a,o,{code:`incomplete`},{value:m.once,timeZone:d.timeZone}):void 0,className:`w-full`}),H.error?(0,Y.jsx)(O,{variant:`error`,size:`sm`,icon:(0,Y.jsx)(ce,{weight:`fill`}),description:a(`${k}.nextRuns.invalid`,{message:H.error instanceof Error?Ee(a,H.error):String(H.error)})}):(0,Y.jsx)(Ne,{runs:_e.map(e=>({at:e.at,...H.data?.dstAdjusted.includes(e.at)?{clockChange:!0}:{},...e.adjusted===`dst-gap`?{note:a(`${k}.nextRuns.moved`,{local:e.local.slice(11,16),time:xe(e.at,d.timeZone).time})}:{}})),locale:o,timeZone:d.timeZone,hourCycle:d.hourCycle,loading:H.isPending&&P.length===0,labels:{title:a(`${k}.nextRuns.title`),clockChange:a(`${k}.nextRuns.clockChange`),empty:a(`${k}.nextRuns.empty`),loading:a(`${k}.nextRuns.loading`)}}),(0,Y.jsxs)(q,{label:a(`${k}.can.title`),children:[(0,Y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(se,{size:16,className:`shrink-0 text-kumo-subtle`}),(0,Y.jsx)(p,{bold:!0,as:`span`,size:`sm`,children:a(`${k}.can.title`)})]}),(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,"data-testid":`automation-can`,children:ge})]}),U.error&&(0,Y.jsx)(O,{variant:`error`,icon:(0,Y.jsx)(te,{weight:`fill`}),title:a(`schedules.actions.failed`),description:de(U.error)===`mode_cap_above_key`?a(`${k}.modeCapAboveKey`,{mode:a(`agents.modes.names.${fe(U.error,`keyMode`)??`edits`}`)}):U.error instanceof Error?Ee(a,U.error):String(U.error)})]})}),(0,Y.jsx)(z.Actions,{dismissLabel:C?void 0:a(`${k}.cancel`),children:(0,Y.jsx)(z.Actions.Primary,{loading:U.isPending,onClick:C?()=>n(!1):he,"data-testid":`automation-save`,children:a(C?`${k}.reveal.done`:N?`${k}.save`:`${k}.create`)})})]})})}var $=`/sites/$siteId/schedules/automations`;function Ue(){let{t:e,locale:t,words:n}=ne(),{siteId:r}=l({from:`/sites/$siteId`}),m=Me(f({from:$})),g=d(),v=ae(r,`automations`),b=ie(r),x=s(),S=le(),C=k(`schedules.read`),w=k(`automations.manage`),[re,se]=(0,X.useState)(``),[ce,A]=(0,X.useState)(),[j,ue]=(0,X.useState)(),fe=c({queryKey:[`instance`],queryFn:N.instance,retry:!1}),F=c({queryKey:E.automations(r),queryFn:()=>J.automations.list(r),enabled:C.allowed,retry:(e,t)=>!T(t)&&e<1}),L=c({queryKey:[...E.runs(r),`recent`],queryFn:()=>J.runs.list(r),enabled:C.allowed&&(F.data?.length??0)>0,retry:!1}),z=F.data??[],B=ee({queries:z.map(e=>({queryKey:[...E.all(r),`preview-rule`,e.recurrence.start,e.recurrence.rule??``,e.recurrence.timeZone,t],queryFn:()=>J.automations.previewRule(r,{start:e.recurrence.start,timeZone:e.recurrence.timeZone,...e.recurrence.rule?{rule:e.recurrence.rule}:{},locale:t}),staleTime:3e5,retry:!1}))}),V=new Map;for(let e of L.data?.runs??[])e.subject.kind===`automation`&&!V.has(e.subject.automationId)&&V.set(e.subject.automationId,e);let H=()=>x.invalidateQueries({queryKey:E.all(r)}),me=u({mutationFn:e=>e.on?J.automations.resume(r,e.automation.id,e.automation.rev):J.automations.pause(r,e.automation.id,e.automation.rev),onSuccess:async(t,n)=>{await H(),S.success(n.on?e(`schedules.automations.resumed`,{name:t.name}):e(`schedules.automations.paused`,{name:t.name}))},onError:async t=>{await H(),S.error(e(`schedules.actions.failed`),Ee(e,t))}}),he=u({mutationFn:e=>J.automations.runNow(r,e.id),onSuccess:async(n,r)=>{await H(),S.success(n.window?e(`schedules.automations.ranNow`,{name:r.name,time:G(n.window.closesAt,t,b.timeZone)}):e(`schedules.automations.ranNowBuiltin`,{name:r.name}))},onError:(t,n)=>S.error(e(`schedules.actions.failed`),de(t)===`conflict`?e(`schedules.automations.runConflict`,{name:n.name}):Ee(e,t))}),W=u({mutationFn:e=>J.automations.remove(r,e.id,e.rev),onSuccess:async()=>{ue(void 0),await H(),S.success(e(`schedules.automations.deleted`))}}),ge=m.edit?z.find(e=>e.id===m.edit):void 0,_e=m.new===`1`||ge!==void 0||ce!==void 0,ve=()=>{A(void 0),g({to:$,params:{siteId:r},search:{}})},ye=re.trim().toLocaleLowerCase(t),be=z.filter(n=>!ye||n.name.toLocaleLowerCase(t).includes(ye)||n.job.kind===`builtin`&&e(`schedules.automations.builtins.${n.job.builtin}.name`).toLocaleLowerCase(t).includes(ye)),xe=T(F.error),Se=fe.data?.features.schedules?.automations===!1,K=`schedules.automations.columns`,q=C.allowed?xe?(0,Y.jsx)(R,{icon:(0,Y.jsx)(Oe,{size:48}),title:e(`schedules.unavailable.title`),description:e(`schedules.unavailable.description`)}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(oe,{siteId:r}),Se&&(0,Y.jsx)(O,{variant:`secondary`,icon:(0,Y.jsx)(te,{weight:`fill`}),description:e(`schedules.automations.unavailable`)}),(0,Y.jsx)(je,{search:re,onSearch:se,placeholder:e(`schedules.automations.search`)}),F.data&&be.length===0?(0,Y.jsx)(R,{icon:(0,Y.jsx)(Oe,{size:48}),title:e(`schedules.automations.empty.title`),description:e(`schedules.automations.empty.description`),contents:(0,Y.jsx)(o,{variant:`secondary`,disabled:!w.allowed,title:w.reason,onClick:()=>void g({to:$,params:{siteId:r},search:{new:`1`}}),children:e(`schedules.automations.new`)})}):(0,Y.jsx)(M,{className:`overflow-x-auto p-0`,"data-testid":`automations`,children:(0,Y.jsxs)(I,{children:[(0,Y.jsx)(I.Header,{children:(0,Y.jsxs)(I.Row,{children:[(0,Y.jsx)(I.Head,{children:e(`${K}.name`)}),(0,Y.jsx)(I.Head,{children:e(`${K}.agent`)}),(0,Y.jsx)(I.Head,{children:e(`${K}.when`)}),(0,Y.jsx)(I.Head,{children:e(`${K}.next`)}),(0,Y.jsx)(I.Head,{children:e(`${K}.last`)}),(0,Y.jsx)(I.Head,{children:e(`${K}.on`)}),(0,Y.jsx)(I.Head,{sticky:`right`,children:(0,Y.jsx)(`span`,{className:`sr-only`,children:e(`${K}.menu`)})})]})}),F.isPending?(0,Y.jsx)(Ae,{columns:7}):(0,Y.jsx)(I.Body,{children:be.map(t=>{let s=z.indexOf(t),c=B[s]?.data?.text,l=V.get(t.id),u=t.state===`active`,d=t.state===`active`||t.state===`paused`||t.state===`auto-paused`;return(0,Y.jsxs)(I.Row,{"data-automation":t.id,children:[(0,Y.jsx)(I.Cell,{children:(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,Y.jsx)(p,{bold:!0,truncate:!0,children:t.name}),(0,Y.jsxs)(`span`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,Y.jsx)(i,{variant:`outline`,children:t.job.kind===`builtin`?e(`schedules.automations.builtins.${t.job.builtin}.name`):e(`schedules.automations.job.agentTask`)}),t.state!==`active`&&(0,Y.jsx)(a,{content:t.pausedReason?e(`schedules.automations.pausedReason.${t.pausedReason}`):n.status.automation[t.state],children:(0,Y.jsx)(h,{status:{subject:`automation`,state:t.state},words:n})})]})]})}),(0,Y.jsx)(I.Cell,{children:t.job.kind===`agent-task`?(0,Y.jsxs)(`span`,{className:`flex items-center gap-1.5 whitespace-nowrap`,children:[(0,Y.jsx)(Ce,{kind:`agent`,label:e(`schedules.calendar.filters.origin.agent`)}),(0,Y.jsx)(y,{mode:t.job.modeCap,subtle:!0})]}):(0,Y.jsx)(Ce,{kind:`system`,label:e(`schedules.automations.scheduler`)})}),(0,Y.jsx)(I.Cell,{children:(0,Y.jsx)(a,{content:`${t.recurrence.rule??t.recurrence.start} · ${U(t.recurrence.timeZone)}`,children:(0,Y.jsx)(p,{as:`span`,children:c??`…`})})}),(0,Y.jsx)(I.Cell,{children:t.nextRunAt&&u?(0,Y.jsx)(ke,{iso:t.nextRunAt}):(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,as:`span`,children:e(`schedules.automations.noNext`)})}),(0,Y.jsx)(I.Cell,{children:l?(0,Y.jsxs)(`span`,{className:`flex items-center gap-1.5 whitespace-nowrap`,children:[(0,Y.jsx)(h,{status:{subject:`run`,state:l.state},words:n}),(0,Y.jsx)(ke,{iso:l.endedAt??l.occurrenceAt})]}):(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,as:`span`,children:e(`schedules.automations.never`)})}),(0,Y.jsx)(I.Cell,{children:(0,Y.jsx)(pe,{"aria-label":e(`schedules.automations.pause`,{name:t.name}),checked:u,disabled:!w.allowed||!d||me.isPending,title:w.reason,onCheckedChange:e=>me.mutate({automation:t,on:e})})}),(0,Y.jsx)(I.Cell,{sticky:`right`,children:(0,Y.jsxs)(P,{children:[(0,Y.jsx)(P.Trigger,{render:(0,Y.jsx)(o,{variant:`ghost`,size:`sm`,shape:`square`,icon:(0,Y.jsx)(_,{weight:`bold`}),"aria-label":e(`schedules.automations.menu.label`,{name:t.name})})}),(0,Y.jsxs)(P.Content,{align:`end`,children:[(0,Y.jsx)(P.Item,{disabled:!w.allowed||!u,title:w.reason,onClick:()=>he.mutate(t),children:e(`schedules.automations.menu.runNow`)}),(0,Y.jsx)(P.Item,{disabled:!w.allowed,title:w.reason,onClick:()=>void g({to:$,params:{siteId:r},search:{edit:t.id}}),children:e(`schedules.automations.menu.edit`)}),(0,Y.jsx)(P.Item,{onClick:()=>void g({to:`/sites/$siteId/schedules/history`,params:{siteId:r},search:{automation:t.id}}),children:e(`schedules.automations.menu.history`)}),(0,Y.jsx)(P.Item,{disabled:!w.allowed,title:w.reason,onClick:()=>A(t),children:e(`schedules.automations.menu.duplicate`)}),(0,Y.jsx)(P.Separator,{}),(0,Y.jsx)(P.Item,{variant:`danger`,disabled:!w.allowed,title:w.reason,onClick:()=>{W.reset(),ue(t)},children:e(`schedules.automations.menu.delete`)})]})]})})]},t.id)})})]})}),(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,children:e(`schedules.automations.peopleOnly`)})]}):(0,Y.jsx)(R,{icon:(0,Y.jsx)(Oe,{size:48}),title:e(`schedules.noAccess`),description:C.reason});return(0,Y.jsxs)(De,{crumbs:v.crumbs,icon:v.icon,title:v.title,description:v.description,tabs:v.tabs,tab:v.tab,onTabChange:v.onTabChange,actions:(0,Y.jsx)(D,{onNew:v.onNew}),children:[q,(0,Y.jsx)(He,{siteId:r,open:_e,onOpenChange:e=>{e||ve()},automation:ge,copyOf:ce}),(0,Y.jsx)(we,{open:j!==void 0,onOpenChange:e=>{e||ue(void 0)},...Te(e,e(`schedules.automations.deleteType`),{error:W.error}),resourceName:j?.name??``,notice:(0,Y.jsx)(O,{variant:`alert`,icon:(0,Y.jsx)(te,{weight:`fill`}),description:e(`schedules.automations.deleteNotice`)}),isDeleting:W.isPending,onDelete:async()=>{j&&await W.mutateAsync(j).catch(()=>void 0)}})]})}export{Ue as AutomationsPage};
|
|
2
|
-
//# sourceMappingURL=AutomationsPage-
|
|
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{S as s,_ as c,d as l,h as u,l as d,u as f,v as ee}from"./tanstack-BRxyYm4G.js";import{m as te,n as p,t as m}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as h}from"./ScheduleStatusBadge-B4BPQAx4.js";import{t as g}from"./ClockClockwise.es-1egHMnBk.js";import{t as _}from"./DotsThree.es-C-pT5SgE.js";import{t as v}from"./Key.es-DE551dL3.js";import{a as y,n as b,o as x}from"./AgentModes-QhxdiMYV.js";import{t as S}from"./checkbox-lbo436duy7krxcsk-HiD6vTuC.js";import{_ as C,a as w,c as T,f as ne,g as re,h as ie,m as ae,r as oe,s as E,t as D}from"./Schedules-Dpu78aTu.js";import{t as se}from"./ShieldCheck.es-BOXTHH7h.js";import{n as ce,t as O}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{a as k}from"./useMe-D5W0xdO9.js";import{t as le}from"./Toast-CXAk8wMq.js";import{t as A}from"./input-c8lv9ulv0kortliq-Be2cm12J.js";import{t as j}from"./input-h5ox92gf13ge04hp-CDAaOl0A.js";import{t as ue}from"./clipboard-text-gd6s3n1bqse9zgt8-ZQgZ1_-o.js";import{h as M,o as de,s as fe,t as N}from"./api-Mdeo6gzg.js";import{t as P}from"./dropdown-m53ji1d66mws89wh-BTaT-o14.js";import{t as F}from"./select-futox5zqr3r80y9a-FumEl51u.js";import{t as pe}from"./switch-cqsvolm7h69z7vgg-DkSvRVQF.js";import{t as I}from"./table-yf8ul2e5nbemioi1-KGRDj7XO.js";import{t as L}from"./radio-35dx7y6rjrezbjsp-2D7MXAy3.js";import{t as R}from"./empty-hkvg3is3uc6dj1at-Cen9KfIy.js";import{t as z}from"./layer-dialog-j5ywmzs46ccg6oqy-DLBR2ljP.js";import{B,C as V,H,L as U,U as me,V as he,W,Y as ge,Z as _e,d as G,et as ve,ft as ye,h as be,j as xe,pt as Se,ut as K}from"./schedules-BHug03zB.js";import{t as Ce}from"./AuditBadges-CPDfmk_z.js";import{t as q}from"./InsetPanel-CHSg953_.js";import{n as we,t as Te}from"./deleteLabels-Cm9ihsQ3.js";import{t as Ee}from"./api-errors-CXLBmdpk.js";import{C as De,W as Oe,u as ke}from"./index-DYyDeKnk.js";import{t as J}from"./schedules-api-DWQc-xjG.js";import{t as Ae}from"./TableSkeleton-DWrf88UN.js";import{t as je}from"./ListToolbar-BG__bomj.js";import{t as Me}from"./schedules-search-B-7SpriY.js";var Y=r();function Ne({runs:e,locale:n,timeZone:r=`UTC`,hourCycle:a,labels:o,loading:s,limit:c=5,className:l}){return(0,Y.jsxs)(q,{label:o.title,className:l,children:[(0,Y.jsx)(p,{as:`span`,bold:!0,size:`sm`,children:o.title}),s?(0,Y.jsxs)(`div`,{className:`grid gap-2`,"data-next-runs-loading":``,children:[(0,Y.jsx)(`span`,{role:`status`,className:`sr-only`,children:o.loading}),[0,1,2].map(e=>(0,Y.jsx)(m,{},e))]}):e.length===0?(0,Y.jsx)(p,{as:`span`,variant:`secondary`,size:`sm`,children:o.empty}):(0,Y.jsx)(`dl`,{className:`m-0 grid gap-1.5`,"data-next-runs":``,children:e.slice(0,c).map(e=>(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center justify-between gap-x-3 gap-y-1`,children:[(0,Y.jsx)(`dt`,{className:`min-w-0`,children:(0,Y.jsx)(p,{as:`span`,size:`sm`,children:ge(Se(e.at,r),n,`long`)})}),(0,Y.jsxs)(`dd`,{className:t(`m-0 flex items-center gap-2`),children:[e.clockChange&&(0,Y.jsx)(i,{variant:`warning`,icon:(0,Y.jsx)(g,{size:14,"aria-hidden":!0}),children:o.clockChange}),(0,Y.jsx)(p,{as:`span`,size:`sm`,variant:`secondary`,children:(0,Y.jsx)(`span`,{className:`tabular-nums`,children:_e(e.at,n,r,a)})}),e.note&&(0,Y.jsx)(p,{as:`span`,size:`xs`,variant:`secondary`,children:e.note})]})]},e.at))})]})}var X=e(n(),1),Pe=[1,2,3,4,-1],Fe=[...Array.from({length:31},(e,t)=>t+1),-1];function Ie({value:e,onChange:n,locale:r,weekStartsOn:i,labels:a,sentence:o,problems:s={},presets:c=he,hourCycle:l,disabled:u,className:d}){let f=t=>n({...e,...t}),ee=l??ve(r),m=C(e.time,e=>{e&&f({time:e})},r,ee),h=(0,X.useId)(),g=K(r,`long`),_=K(r,`short`),v=ye(i),y=v.map(e=>({value:H[e],label:g[e]})),b=Number(e.time.slice(3,5)),x=s.time??(m.unreadable?a.invalidTime:void 0),w=e.preset===`custom`,T=e.preset===`once`?null:e.preset===`hourly`?(0,Y.jsx)(A,{type:`number`,inputMode:`numeric`,min:0,max:59,label:a.minute,value:String(b),onValueChange:t=>{let n=Math.min(59,Math.max(0,Math.trunc(Number(t)||0)));f({time:`${e.time.slice(0,2)}:${String(n).padStart(2,`0`)}`})},disabled:u,className:`w-full`,"data-recurrence":`minute`}):(0,Y.jsx)(A,{label:a.time,...m.inputProps,error:x,disabled:u,className:`w-full tabular-nums`,"data-recurrence":`time`});return(0,Y.jsxs)(`div`,{className:t(`@container grid min-w-0 gap-5`,d),"data-recurrence-editor":e.preset,children:[(0,Y.jsx)(L.Group,{appearance:`card`,legend:a.legend,value:e.preset,onValueChange:e=>f({preset:e}),disabled:u,className:`grid gap-2 @md:grid-cols-2`,children:c.map(e=>(0,Y.jsx)(L.Item,{value:e,label:a.presets[e],description:a.presetHints?.[e]},e))}),e.preset!==`once`&&(0,Y.jsxs)(`div`,{className:`grid items-start gap-5 @lg:grid-cols-2`,children:[T,e.preset===`weekly`&&(0,Y.jsx)(F,{label:a.weekday,value:e.weekdays[0]??`MO`,onValueChange:e=>f({weekdays:[String(e)]}),items:y,disabled:u,className:`w-full`}),e.preset===`monthly`&&(0,Y.jsx)(F,{label:a.monthDay,value:String(e.monthDay),onValueChange:e=>f({monthDay:Number(e)}),items:Fe.map(e=>({value:String(e),label:e===-1?a.lastDay:a.monthDayOption(e)})),disabled:u,className:`w-full`}),w&&(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 items-start gap-3`,children:[(0,Y.jsx)(A,{type:`number`,inputMode:`numeric`,min:1,max:999,label:a.interval,value:String(e.interval),onValueChange:e=>f({interval:Math.min(999,Math.max(1,Math.trunc(Number(e)||1)))}),error:s.interval,disabled:u,className:`w-full`,"data-recurrence":`interval`}),(0,Y.jsx)(F,{label:a.frequency,value:e.frequency,onValueChange:e=>f({frequency:String(e)}),items:[`daily`,`weekly`,`monthly`].map(t=>({value:t,label:a.frequencies[t](e.interval)})),disabled:u,className:`w-full`})]})]}),e.preset!==`once`&&e.preset!==`hourly`&&b===0&&!x&&(0,Y.jsxs)(`div`,{className:`flex items-start gap-2`,"data-recurrence-hint":``,children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`flex h-lh items-center text-kumo-subtle`,children:(0,Y.jsx)(te,{size:16})}),(0,Y.jsx)(p,{as:`span`,variant:`secondary`,size:`sm`,children:a.avoidOnTheHour})]}),w&&e.frequency===`weekly`&&(0,Y.jsxs)(`fieldset`,{className:`m-0 grid min-w-0 gap-2 border-0 p-0`,"data-recurrence":`weekdays`,children:[(0,Y.jsx)(`legend`,{className:`mb-2 p-0`,children:(0,Y.jsx)(p,{as:`span`,bold:!0,size:`sm`,children:a.weekdays})}),(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-2`,children:v.map(t=>{let n=H[t],r=e.weekdays.includes(n);return(0,Y.jsx)(S,{label:(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,children:_[t]}),(0,Y.jsx)(`span`,{className:`sr-only`,children:g[t]})]}),checked:r,disabled:u,onCheckedChange:t=>f({weekdays:t?[...e.weekdays,n]:e.weekdays.filter(e=>e!==n)}),"data-weekday":n},n)})}),s.weekdays&&(0,Y.jsx)(p,{as:`span`,variant:`error`,size:`sm`,children:s.weekdays})]}),w&&e.frequency===`monthly`&&(0,Y.jsxs)(`div`,{className:`grid gap-3`,"data-recurrence":`monthly`,children:[(0,Y.jsxs)(L.Group,{legend:a.monthlyOn,value:e.monthly,onValueChange:e=>f({monthly:e}),disabled:u,children:[(0,Y.jsx)(L.Item,{value:`day`,label:a.monthlyDay}),(0,Y.jsx)(L.Item,{value:`weekday`,label:a.monthlyWeekday})]}),(0,Y.jsx)(`div`,{className:`grid items-start gap-3 @lg:grid-cols-2`,children:e.monthly===`day`?(0,Y.jsx)(F,{label:a.monthDay,value:String(e.monthDay),onValueChange:e=>f({monthDay:Number(e)}),items:Fe.map(e=>({value:String(e),label:e===-1?a.lastDay:a.monthDayOption(e)})),disabled:u,className:`w-full`}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(F,{label:a.ordinal,value:String(e.ordinal),onValueChange:e=>f({ordinal:Number(e)}),items:Pe.map(e=>({value:String(e),label:a.ordinals[`${e}`]})),disabled:u,className:`w-full`}),(0,Y.jsx)(F,{label:a.weekday,value:e.weekdays[0]??`MO`,onValueChange:e=>f({weekdays:[String(e)]}),items:y,disabled:u,className:`w-full`})]})})]}),w&&(0,Y.jsxs)(`div`,{className:`grid gap-3`,"data-recurrence":`end`,children:[(0,Y.jsxs)(L.Group,{legend:a.end,value:e.end.kind,onValueChange:t=>f({end:t===`on`?{kind:`on`,date:e.end.kind===`on`?e.end.date:``}:t===`after`?{kind:`after`,count:e.end.kind===`after`?e.end.count:10}:{kind:`never`}}),disabled:u,children:[(0,Y.jsx)(L.Item,{value:`never`,label:a.ends.never}),(0,Y.jsx)(L.Item,{value:`on`,label:a.ends.on}),(0,Y.jsx)(L.Item,{value:`after`,label:a.ends.after})]}),e.end.kind===`on`&&(0,Y.jsx)(A,{type:`date`,label:a.endDate,value:e.end.date,onValueChange:e=>f({end:{kind:`on`,date:e}}),error:s.until,disabled:u,className:`w-full`,"data-recurrence":`until`}),e.end.kind===`after`&&(0,Y.jsx)(A,{type:`number`,inputMode:`numeric`,min:1,label:a.endCount,value:String(e.end.count),onValueChange:e=>f({end:{kind:`after`,count:Math.max(1,Math.trunc(Number(e)||1))}}),error:s.count,disabled:u,className:`w-full`,"data-recurrence":`count`})]}),o&&(0,Y.jsx)(q,{label:a.summary,children:(0,Y.jsx)(`span`,{id:`${h}-sentence`,"aria-live":`polite`,"data-recurrence-sentence":``,children:(0,Y.jsx)(p,{as:`span`,bold:!0,children:o})})})]})}var Le=[`broken-links`,`stale-content`,`feed-check`,`weekly-digest`,`cleanup`],Z={maxToolCalls:100,maxWrites:20,maxApprovalRequests:5,maxMinutes:15};function Re(e,t){let n={name:``,job:`broken-links`,staleAfterDays:`365`,modeCap:`edits`,readsUntrustedText:!1,instructions:``,windowMinutes:`30`,budget:{maxToolCalls:String(Z.maxToolCalls),maxWrites:String(Z.maxWrites),maxApprovalRequests:String(Z.maxApprovalRequests),maxMinutes:String(Z.maxMinutes)},recurrence:B,once:{date:t,time:B.time}};if(!e)return n;let r=e.recurrence,i=e.job;return{...n,name:e.name,job:i.kind===`builtin`?i.builtin:`agent-task`,staleAfterDays:String(i.kind===`builtin`?i.staleAfterDays??365:365),...i.kind===`agent-task`?{modeCap:i.modeCap,readsUntrustedText:i.readsUntrustedText,instructions:i.instructions,windowMinutes:String(i.windowMinutes),budget:{maxToolCalls:String(i.budget.maxToolCalls),maxWrites:String(i.budget.maxWrites),maxApprovalRequests:String(i.budget.maxApprovalRequests),maxMinutes:String(i.budget.maxMinutes)}}:{},recurrence:V(r.rule,r.preset,r.start),once:{date:r.start.slice(0,10),time:r.start.slice(11,16)}}}var Q=(e,t,n)=>{let r=Number(e);return Number.isInteger(r)&&r>=t&&r<=n?r:void 0};function ze(e,t){let n=W(e.recurrence);return{start:e.recurrence.preset===`once`?be({date:e.once.date??t,time:e.once.time??`09:07`}):be({date:t,time:e.recurrence.time}),preset:e.recurrence.preset,...n?{rule:n}:{}}}function Be(e,t,n){let r={...ze(e,t),timeZone:n};return e.job===`agent-task`?{name:e.name.trim(),job:{kind:`agent-task`,instructions:e.instructions.trim(),modeCap:e.modeCap,readsUntrustedText:e.readsUntrustedText,windowMinutes:Number(e.windowMinutes),budget:{maxToolCalls:Number(e.budget.maxToolCalls),maxWrites:Number(e.budget.maxWrites),maxApprovalRequests:Number(e.budget.maxApprovalRequests),maxMinutes:Number(e.budget.maxMinutes)}},recurrence:r}:{name:e.name.trim(),job:{kind:`builtin`,builtin:e.job,...e.job===`stale-content`?{staleAfterDays:Number(e.staleAfterDays)}:{}},recurrence:r}}function Ve(e,t=350){let[n,r]=(0,X.useState)(e);return(0,X.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n}function He({siteId:e,open:t,onOpenChange:n,automation:r,copyOf:i}){let{t:a,locale:o,field:l}=ne(),d=ie(e),f=s(),ee=le(),[m,h]=(0,X.useState)(()=>Re(r??i,d.today)),[g,_]=(0,X.useState)(!1),[y,S]=(0,X.useState)(!1),[C,T]=(0,X.useState)(),ae=(0,X.useRef)({automation:r,copyOf:i,today:d.today,t:a});ae.current={automation:r,copyOf:i,today:d.today,t:a};let oe=t?`${r?.id??`new`}:${i?.id??``}`:void 0;(0,X.useEffect)(()=>{if(!oe)return;let{automation:e,copyOf:t,today:n,t:r}=ae.current,i=Re(e??t,n);t&&!e&&(i.name=r(`schedules.automations.copyName`,{name:t.name})),h(i),_(!1),S(e?.job.kind===`agent-task`&&e.job.modeCap===`auto`),T(void 0)},[oe]);let D=(e,t)=>h(n=>({...n,[e]:t})),k=`schedules.automationDialog`,M=m.job===`agent-task`,N=r!==void 0,P=me(m.recurrence),F=Object.fromEntries(P.map(e=>[e,a(`${k}.recurrence.problems.${e}`)])),I={name:m.name.trim()?void 0:a(`${k}.name.required`),instructions:M&&!m.instructions.trim()?a(`${k}.agent.errors.instructions`):void 0,window:M&&Q(m.windowMinutes,5,240)===void 0?a(`${k}.agent.errors.window`):void 0,budget:M&&(Q(m.budget.maxToolCalls,0,1e4)===void 0||Q(m.budget.maxWrites,0,1e4)===void 0||Q(m.budget.maxApprovalRequests,0,1e3)===void 0||Q(m.budget.maxMinutes,1,240)===void 0)?a(`${k}.agent.errors.budget`):void 0,stale:m.job===`stale-content`&&Q(m.staleAfterDays,1,3650)===void 0?a(`${k}.agent.errors.budget`):void 0},R=M&&m.modeCap===`auto`&&(r?.job.kind!==`agent-task`||r.job.modeCap!==`auto`),B=Object.values(I).every(e=>e===void 0)&&P.length===0&&!(R&&!y),V=Ve((0,X.useMemo)(()=>ze(m,d.today),[m,d.today])),H=c({queryKey:[...E.all(e),`preview-rule`,V.start,V.rule??``,d.timeZone,o],queryFn:()=>J.automations.previewRule(e,{start:V.start,timeZone:d.timeZone,...V.rule?{rule:V.rule}:{},locale:o}),enabled:t&&P.length===0,retry:!1,placeholderData:e=>e}),U=u({mutationFn:async()=>{let t=Be(m,d.today,d.timeZone);if(!r)return J.automations.create(e,t);let n=t.job.kind===`agent-task`?{instructions:t.job.instructions,modeCap:t.job.modeCap,readsUntrustedText:t.job.readsUntrustedText,windowMinutes:t.job.windowMinutes,budget:t.job.budget}:t.job.builtin===`stale-content`?{staleAfterDays:t.job.staleAfterDays}:void 0;return{automation:await J.automations.update(e,r.id,r.rev,{name:t.name,recurrence:t.recurrence,...n?{job:n}:{}}),key:void 0}},onSuccess:async t=>{await f.invalidateQueries({queryKey:E.all(e)}),ee.success(a(N?`${k}.saved`:`${k}.created`),t.automation.name),t.key?.secret?T(t.key.secret):n(!1)}}),he=()=>{_(!0),B&&U.mutate()},W=e=>g?e:void 0,ge=M?m.readsUntrustedText?a(`${k}.can.untrusted`):a(`${k}.can.${m.modeCap}`):a(`${k}.can.builtin`),_e=H.data?.occurrences??[],G=`${k}.recurrence`;return(0,Y.jsx)(z.Root,{open:t,onOpenChange:n,dismissDisabled:U.isPending,children:(0,Y.jsxs)(z.Content,{size:`lg`,closeLabel:a(`${k}.close`),children:[(0,Y.jsx)(z.Title,{children:a(C?`${k}.reveal.title`:N?`${k}.titleEdit`:`${k}.titleNew`)}),(0,Y.jsx)(z.Description,{children:a(C?`${k}.reveal.description`:`${k}.description`)}),(0,Y.jsx)(z.Body,{children:C?(0,Y.jsxs)(`div`,{className:`grid gap-4`,"data-testid":`automation-key`,children:[(0,Y.jsx)(O,{variant:`alert`,icon:(0,Y.jsx)(v,{weight:`fill`}),title:a(`${k}.reveal.warning`)}),(0,Y.jsx)(ue,{text:C,size:`lg`})]}):(0,Y.jsxs)(`div`,{className:`grid gap-6`,"data-testid":`automation-dialog`,children:[(0,Y.jsx)(A,{className:`w-full`,label:a(`${k}.name.label`),placeholder:a(`${k}.name.placeholder`),value:m.name,maxLength:120,onValueChange:e=>D(`name`,e),error:W(I.name)}),(0,Y.jsxs)(L.Group,{appearance:`card`,value:m.job,onValueChange:e=>D(`job`,e),disabled:N,children:[(0,Y.jsx)(L.Legend,{children:a(`${k}.job.legend`)}),Le.map(e=>(0,Y.jsx)(L.Item,{value:e,label:a(`schedules.automations.builtins.${e}.name`),description:a(`schedules.automations.builtins.${e}.description`)},e)),(0,Y.jsx)(L.Item,{value:`agent-task`,label:a(`${k}.job.agentTask`),description:a(`${k}.job.agentTaskHint`)})]}),m.job===`stale-content`&&(0,Y.jsx)(A,{className:`w-full`,type:`number`,inputMode:`numeric`,label:a(`${k}.staleAfterDays.label`),description:a(`${k}.staleAfterDays.description`),value:m.staleAfterDays,onValueChange:e=>D(`staleAfterDays`,e),error:W(I.stale)}),M&&(0,Y.jsxs)(`div`,{className:`grid gap-5`,"data-testid":`agent-task`,children:[(0,Y.jsxs)(q,{layout:`row`,children:[(0,Y.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,Y.jsx)(v,{size:16})}),(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,children:a(`${k}.agent.keyNote`)})]}),(0,Y.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,Y.jsx)(p,{bold:!0,as:`span`,children:a(`${k}.agent.mode`)}),(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,children:a(`${k}.agent.modeCap`)})]}),(0,Y.jsx)(x,{value:m.modeCap,onValueChange:e=>D(`modeCap`,e),legend:a(`${k}.agent.mode`)}),m.modeCap===`auto`&&(0,Y.jsx)(b,{checked:y,onCheckedChange:S,showError:g}),(0,Y.jsx)(pe,{label:a(`${k}.agent.untrusted.label`),checked:m.readsUntrustedText,onCheckedChange:e=>D(`readsUntrustedText`,e),disabled:N&&r?.job.kind===`agent-task`&&!r.job.readsUntrustedText}),(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,children:a(`${k}.agent.untrusted.description`)}),(0,Y.jsx)(j,{className:`w-full`,label:a(`${k}.agent.instructions.label`),description:a(`${k}.agent.instructions.description`),placeholder:a(`${k}.agent.instructions.placeholder`),value:m.instructions,onValueChange:e=>D(`instructions`,e),autoResize:!0,minRows:3,maxRows:10,error:W(I.instructions)}),(0,Y.jsx)(A,{className:`w-full`,type:`number`,inputMode:`numeric`,label:a(`${k}.agent.window.label`),description:a(`${k}.agent.window.description`),value:m.windowMinutes,onValueChange:e=>D(`windowMinutes`,e),error:W(I.window)}),(0,Y.jsxs)(`fieldset`,{className:`m-0 grid gap-3 border-0 p-0`,children:[(0,Y.jsxs)(`legend`,{className:`grid gap-1.5 pb-3`,children:[(0,Y.jsx)(p,{bold:!0,as:`span`,children:a(`${k}.agent.budget.title`)}),(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,as:`span`,children:a(`${k}.agent.budget.description`)})]}),(0,Y.jsx)(`div`,{className:`@container`,children:(0,Y.jsx)(`div`,{className:`grid items-start gap-4 @md:grid-cols-2`,children:[[`maxToolCalls`,`calls`],[`maxWrites`,`writes`],[`maxApprovalRequests`,`requests`],[`maxMinutes`,`minutes`]].map(([e,t])=>(0,Y.jsx)(A,{className:`w-full`,type:`number`,inputMode:`numeric`,label:a(`${k}.agent.budget.${t}`),value:m.budget[e],onValueChange:t=>D(`budget`,{...m.budget,[e]:t})},e))})}),W(I.budget)&&(0,Y.jsx)(p,{variant:`error`,size:`sm`,children:I.budget})]})]}),(0,Y.jsx)(Ie,{value:m.recurrence,onChange:e=>D(`recurrence`,e),locale:o,weekStartsOn:d.weekStartsOn,hourCycle:d.hourCycle,presets:[`hourly`,`daily`,`weekdays`,`weekly`,`monthly`,`once`,`custom`],sentence:H.data?.text,problems:g||P.length>0?F:{},labels:{legend:a(`${G}.legend`),presets:{hourly:a(`${G}.presets.hourly`),daily:a(`${G}.presets.daily`),weekdays:a(`${G}.presets.weekdays`),weekly:a(`${G}.presets.weekly`),monthly:a(`${G}.presets.monthly`),once:a(`${G}.presets.once`),custom:a(`${G}.presets.custom`)},time:a(`${G}.time`),minute:a(`${G}.minute`),weekday:a(`${G}.weekday`),monthDay:a(`${G}.monthDay`),monthDayOption:e=>a(`${G}.monthDayOption`,{day:e}),lastDay:a(`${G}.lastDay`),interval:a(`${G}.interval`),frequency:a(`${G}.frequency`),frequencies:{daily:e=>a(`${G}.days`,{count:e}),weekly:e=>a(`${G}.weeks`,{count:e}),monthly:e=>a(`${G}.months`,{count:e})},weekdays:a(`${G}.weekdays`),monthlyOn:a(`${G}.monthlyOn`),monthlyDay:a(`${G}.monthlyDay`),monthlyWeekday:a(`${G}.monthlyWeekday`),ordinal:a(`${G}.ordinal`),ordinals:{1:a(`${G}.ordinals.1`),2:a(`${G}.ordinals.2`),3:a(`${G}.ordinals.3`),4:a(`${G}.ordinals.4`),"-1":a(`${G}.ordinals.-1`)},end:a(`${G}.end`),ends:{never:a(`${G}.ends.never`),on:a(`${G}.ends.on`),after:a(`${G}.ends.after`)},endDate:a(`${G}.endDate`),endCount:a(`${G}.endCount`),avoidOnTheHour:a(`${G}.avoidOnTheHour`),invalidTime:a(`schedules.field.invalidTime`),summary:a(`${G}.summary`)}}),m.recurrence.preset===`once`&&(0,Y.jsx)(re,{label:a(`${G}.onceAt`),value:m.once,onChange:e=>D(`once`,e),locale:o,timeZone:d.timeZone,zoneLabel:d.zoneLabel,hourCycle:d.hourCycle,labels:l,min:d.today,today:d.today,error:m.once.date&&m.once.time?void 0:g?w(a,o,{code:`incomplete`},{value:m.once,timeZone:d.timeZone}):void 0,className:`w-full`}),H.error?(0,Y.jsx)(O,{variant:`error`,size:`sm`,icon:(0,Y.jsx)(ce,{weight:`fill`}),description:a(`${k}.nextRuns.invalid`,{message:H.error instanceof Error?Ee(a,H.error):String(H.error)})}):(0,Y.jsx)(Ne,{runs:_e.map(e=>({at:e.at,...H.data?.dstAdjusted.includes(e.at)?{clockChange:!0}:{},...e.adjusted===`dst-gap`?{note:a(`${k}.nextRuns.moved`,{local:e.local.slice(11,16),time:xe(e.at,d.timeZone).time})}:{}})),locale:o,timeZone:d.timeZone,hourCycle:d.hourCycle,loading:H.isPending&&P.length===0,labels:{title:a(`${k}.nextRuns.title`),clockChange:a(`${k}.nextRuns.clockChange`),empty:a(`${k}.nextRuns.empty`),loading:a(`${k}.nextRuns.loading`)}}),(0,Y.jsxs)(q,{label:a(`${k}.can.title`),children:[(0,Y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(se,{size:16,className:`shrink-0 text-kumo-subtle`}),(0,Y.jsx)(p,{bold:!0,as:`span`,size:`sm`,children:a(`${k}.can.title`)})]}),(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,"data-testid":`automation-can`,children:ge})]}),U.error&&(0,Y.jsx)(O,{variant:`error`,icon:(0,Y.jsx)(te,{weight:`fill`}),title:a(`schedules.actions.failed`),description:de(U.error)===`mode_cap_above_key`?a(`${k}.modeCapAboveKey`,{mode:a(`agents.modes.names.${fe(U.error,`keyMode`)??`edits`}`)}):U.error instanceof Error?Ee(a,U.error):String(U.error)})]})}),(0,Y.jsx)(z.Actions,{dismissLabel:C?void 0:a(`${k}.cancel`),children:(0,Y.jsx)(z.Actions.Primary,{loading:U.isPending,onClick:C?()=>n(!1):he,"data-testid":`automation-save`,children:a(C?`${k}.reveal.done`:N?`${k}.save`:`${k}.create`)})})]})})}var $=`/sites/$siteId/schedules/automations`;function Ue(){let{t:e,locale:t,words:n}=ne(),{siteId:r}=l({from:`/sites/$siteId`}),m=Me(f({from:$})),g=d(),v=ae(r,`automations`),b=ie(r),x=s(),S=le(),C=k(`schedules.read`),w=k(`automations.manage`),[re,se]=(0,X.useState)(``),[ce,A]=(0,X.useState)(),[j,ue]=(0,X.useState)(),fe=c({queryKey:[`instance`],queryFn:N.instance,retry:!1}),F=c({queryKey:E.automations(r),queryFn:()=>J.automations.list(r),enabled:C.allowed,retry:(e,t)=>!T(t)&&e<1}),L=c({queryKey:[...E.runs(r),`recent`],queryFn:()=>J.runs.list(r),enabled:C.allowed&&(F.data?.length??0)>0,retry:!1}),z=F.data??[],B=ee({queries:z.map(e=>({queryKey:[...E.all(r),`preview-rule`,e.recurrence.start,e.recurrence.rule??``,e.recurrence.timeZone,t],queryFn:()=>J.automations.previewRule(r,{start:e.recurrence.start,timeZone:e.recurrence.timeZone,...e.recurrence.rule?{rule:e.recurrence.rule}:{},locale:t}),staleTime:3e5,retry:!1}))}),V=new Map;for(let e of L.data?.runs??[])e.subject.kind===`automation`&&!V.has(e.subject.automationId)&&V.set(e.subject.automationId,e);let H=()=>x.invalidateQueries({queryKey:E.all(r)}),me=u({mutationFn:e=>e.on?J.automations.resume(r,e.automation.id,e.automation.rev):J.automations.pause(r,e.automation.id,e.automation.rev),onSuccess:async(t,n)=>{await H(),S.success(n.on?e(`schedules.automations.resumed`,{name:t.name}):e(`schedules.automations.paused`,{name:t.name}))},onError:async t=>{await H(),S.error(e(`schedules.actions.failed`),Ee(e,t))}}),he=u({mutationFn:e=>J.automations.runNow(r,e.id),onSuccess:async(n,r)=>{await H(),S.success(n.window?e(`schedules.automations.ranNow`,{name:r.name,time:G(n.window.closesAt,t,b.timeZone)}):e(`schedules.automations.ranNowBuiltin`,{name:r.name}))},onError:(t,n)=>S.error(e(`schedules.actions.failed`),de(t)===`conflict`?e(`schedules.automations.runConflict`,{name:n.name}):Ee(e,t))}),W=u({mutationFn:e=>J.automations.remove(r,e.id,e.rev),onSuccess:async()=>{ue(void 0),await H(),S.success(e(`schedules.automations.deleted`))}}),ge=m.edit?z.find(e=>e.id===m.edit):void 0,_e=m.new===`1`||ge!==void 0||ce!==void 0,ve=()=>{A(void 0),g({to:$,params:{siteId:r},search:{}})},ye=re.trim().toLocaleLowerCase(t),be=z.filter(n=>!ye||n.name.toLocaleLowerCase(t).includes(ye)||n.job.kind===`builtin`&&e(`schedules.automations.builtins.${n.job.builtin}.name`).toLocaleLowerCase(t).includes(ye)),xe=T(F.error),Se=fe.data?.features.schedules?.automations===!1,K=`schedules.automations.columns`,q=C.allowed?xe?(0,Y.jsx)(R,{icon:(0,Y.jsx)(Oe,{size:48}),title:e(`schedules.unavailable.title`),description:e(`schedules.unavailable.description`)}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(oe,{siteId:r}),Se&&(0,Y.jsx)(O,{variant:`secondary`,icon:(0,Y.jsx)(te,{weight:`fill`}),description:e(`schedules.automations.unavailable`)}),(0,Y.jsx)(je,{search:re,onSearch:se,placeholder:e(`schedules.automations.search`)}),F.data&&be.length===0?(0,Y.jsx)(R,{icon:(0,Y.jsx)(Oe,{size:48}),title:e(`schedules.automations.empty.title`),description:e(`schedules.automations.empty.description`),contents:(0,Y.jsx)(o,{variant:`secondary`,disabled:!w.allowed,title:w.reason,onClick:()=>void g({to:$,params:{siteId:r},search:{new:`1`}}),children:e(`schedules.automations.new`)})}):(0,Y.jsx)(M,{className:`overflow-x-auto p-0`,"data-testid":`automations`,children:(0,Y.jsxs)(I,{children:[(0,Y.jsx)(I.Header,{children:(0,Y.jsxs)(I.Row,{children:[(0,Y.jsx)(I.Head,{children:e(`${K}.name`)}),(0,Y.jsx)(I.Head,{children:e(`${K}.agent`)}),(0,Y.jsx)(I.Head,{children:e(`${K}.when`)}),(0,Y.jsx)(I.Head,{children:e(`${K}.next`)}),(0,Y.jsx)(I.Head,{children:e(`${K}.last`)}),(0,Y.jsx)(I.Head,{children:e(`${K}.on`)}),(0,Y.jsx)(I.Head,{sticky:`right`,children:(0,Y.jsx)(`span`,{className:`sr-only`,children:e(`${K}.menu`)})})]})}),F.isPending?(0,Y.jsx)(Ae,{columns:7}):(0,Y.jsx)(I.Body,{children:be.map(t=>{let s=z.indexOf(t),c=B[s]?.data?.text,l=V.get(t.id),u=t.state===`active`,d=t.state===`active`||t.state===`paused`||t.state===`auto-paused`;return(0,Y.jsxs)(I.Row,{"data-automation":t.id,children:[(0,Y.jsx)(I.Cell,{children:(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,Y.jsx)(p,{bold:!0,truncate:!0,children:t.name}),(0,Y.jsxs)(`span`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,Y.jsx)(i,{variant:`outline`,children:t.job.kind===`builtin`?e(`schedules.automations.builtins.${t.job.builtin}.name`):e(`schedules.automations.job.agentTask`)}),t.state!==`active`&&(0,Y.jsx)(a,{content:t.pausedReason?e(`schedules.automations.pausedReason.${t.pausedReason}`):n.status.automation[t.state],children:(0,Y.jsx)(h,{status:{subject:`automation`,state:t.state},words:n})})]})]})}),(0,Y.jsx)(I.Cell,{children:t.job.kind===`agent-task`?(0,Y.jsxs)(`span`,{className:`flex items-center gap-1.5 whitespace-nowrap`,children:[(0,Y.jsx)(Ce,{kind:`agent`,label:e(`schedules.calendar.filters.origin.agent`)}),(0,Y.jsx)(y,{mode:t.job.modeCap,subtle:!0})]}):(0,Y.jsx)(Ce,{kind:`system`,label:e(`schedules.automations.scheduler`)})}),(0,Y.jsx)(I.Cell,{children:(0,Y.jsx)(a,{content:`${t.recurrence.rule??t.recurrence.start} · ${U(t.recurrence.timeZone)}`,children:(0,Y.jsx)(p,{as:`span`,children:c??`…`})})}),(0,Y.jsx)(I.Cell,{children:t.nextRunAt&&u?(0,Y.jsx)(ke,{iso:t.nextRunAt}):(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,as:`span`,children:e(`schedules.automations.noNext`)})}),(0,Y.jsx)(I.Cell,{children:l?(0,Y.jsxs)(`span`,{className:`flex items-center gap-1.5 whitespace-nowrap`,children:[(0,Y.jsx)(h,{status:{subject:`run`,state:l.state},words:n}),(0,Y.jsx)(ke,{iso:l.endedAt??l.occurrenceAt})]}):(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,as:`span`,children:e(`schedules.automations.never`)})}),(0,Y.jsx)(I.Cell,{children:(0,Y.jsx)(pe,{"aria-label":e(`schedules.automations.pause`,{name:t.name}),checked:u,disabled:!w.allowed||!d||me.isPending,title:w.reason,onCheckedChange:e=>me.mutate({automation:t,on:e})})}),(0,Y.jsx)(I.Cell,{sticky:`right`,children:(0,Y.jsxs)(P,{children:[(0,Y.jsx)(P.Trigger,{render:(0,Y.jsx)(o,{variant:`ghost`,size:`sm`,shape:`square`,icon:(0,Y.jsx)(_,{weight:`bold`}),"aria-label":e(`schedules.automations.menu.label`,{name:t.name})})}),(0,Y.jsxs)(P.Content,{align:`end`,children:[(0,Y.jsx)(P.Item,{disabled:!w.allowed||!u,title:w.reason,onClick:()=>he.mutate(t),children:e(`schedules.automations.menu.runNow`)}),(0,Y.jsx)(P.Item,{disabled:!w.allowed,title:w.reason,onClick:()=>void g({to:$,params:{siteId:r},search:{edit:t.id}}),children:e(`schedules.automations.menu.edit`)}),(0,Y.jsx)(P.Item,{onClick:()=>void g({to:`/sites/$siteId/schedules/history`,params:{siteId:r},search:{automation:t.id}}),children:e(`schedules.automations.menu.history`)}),(0,Y.jsx)(P.Item,{disabled:!w.allowed,title:w.reason,onClick:()=>A(t),children:e(`schedules.automations.menu.duplicate`)}),(0,Y.jsx)(P.Separator,{}),(0,Y.jsx)(P.Item,{variant:`danger`,disabled:!w.allowed,title:w.reason,onClick:()=>{W.reset(),ue(t)},children:e(`schedules.automations.menu.delete`)})]})]})})]},t.id)})})]})}),(0,Y.jsx)(p,{variant:`secondary`,size:`sm`,children:e(`schedules.automations.peopleOnly`)})]}):(0,Y.jsx)(R,{icon:(0,Y.jsx)(Oe,{size:48}),title:e(`schedules.noAccess`),description:C.reason});return(0,Y.jsxs)(De,{crumbs:v.crumbs,icon:v.icon,title:v.title,description:v.description,tabs:v.tabs,tab:v.tab,onTabChange:v.onTabChange,actions:(0,Y.jsx)(D,{onNew:v.onNew}),children:[q,(0,Y.jsx)(He,{siteId:r,open:_e,onOpenChange:e=>{e||ve()},automation:ge,copyOf:ce}),(0,Y.jsx)(we,{open:j!==void 0,onOpenChange:e=>{e||ue(void 0)},...Te(e,e(`schedules.automations.deleteType`),{error:W.error}),resourceName:j?.name??``,notice:(0,Y.jsx)(O,{variant:`alert`,icon:(0,Y.jsx)(te,{weight:`fill`}),description:e(`schedules.automations.deleteNotice`)}),isDeleting:W.isPending,onDelete:async()=>{j&&await W.mutateAsync(j).catch(()=>void 0)}})]})}export{Ue as AutomationsPage};
|
|
2
|
+
//# sourceMappingURL=AutomationsPage-PQAJefmU.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{_ as r}from"./tanstack-BRxyYm4G.js";import{n as i,t as a}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{t as o}from"./input-h5ox92gf13ge04hp-CDAaOl0A.js";import{t as s}from"./api-
|
|
2
|
-
//# sourceMappingURL=BlockSection-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,r as n}from"./react-CDCuUAOg.js";import{_ as r}from"./tanstack-BRxyYm4G.js";import{n as i,t as a}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{t as o}from"./input-h5ox92gf13ge04hp-CDAaOl0A.js";import{t as s}from"./api-Mdeo6gzg.js";import{a as c,i as l,r as u}from"./blocks-CvH3xqPj.js";import{t as d}from"./BlockPropsForm-BoZ_Rz4z.js";import{c as f,i as p}from"./i18n-CdW50___.js";var m=e(t(),1),h=n();function g(e){return r({queryKey:[`block-types`,e],queryFn:()=>s.blockTypes(e),staleTime:1/0,retry:!1}).data??[]}function _(e,t){return{id:e,kind:`component`,type:t.name,props:{...t.example.props,...t.content===`markdown`&&t.example.markdown?{content:t.example.markdown}:{}}}}function v({section:e,onChange:t,types:n,readOnly:r}){let{t:s,locale:u}=f(),g=n.find(t=>t.name===e.type),_=(0,m.useMemo)(()=>g?l(g):void 0,[g]),v=(0,m.useMemo)(()=>_?c(_,e.props):[],[_,e.props]);if(!g||!_)return(0,h.jsxs)(`div`,{className:`grid min-w-0 gap-3`,"data-unknown-block":e.type,children:[(0,h.jsx)(a,{variant:`alert`,icon:(0,h.jsx)(i,{weight:`fill`}),title:s(`editor.blocks.unknown`,{type:e.type}),description:s(`editor.blocks.unknownHint`)}),(0,h.jsx)(o,{"aria-label":s(`editor.blocks.unknown`,{type:e.type}),value:JSON.stringify(e.props,null,2),readOnly:!0,autoResize:!0,maxRows:16,className:`w-full font-mono`})]});let b=y();return(0,h.jsx)(d,{schema:_,value:e.props,onChange:n=>t({...e,props:n}),issues:v,locale:u,disabled:r,enumLabel:b,labels:{item:s(`editor.blocks.item`,p(`n`)),addItem:s(`editor.blocks.addItem`),removeItem:s(`editor.blocks.removeItem`),moveUp:s(`editor.blocks.moveUp`),moveDown:s(`editor.blocks.moveDown`)}})}function y(){let{t:e}=f();return(0,m.useCallback)((t,n)=>({tone:{info:e(`editor.blocks.values.tone.info`),success:e(`editor.blocks.values.tone.success`),warning:e(`editor.blocks.values.tone.warning`),danger:e(`editor.blocks.values.tone.danger`)},variant:{primary:e(`editor.blocks.values.variant.primary`),secondary:e(`editor.blocks.values.variant.secondary`)}})[t]?.[n]??n,[e])}function b(e){let{t,locale:n}=f();return r=>{let i=e.find(e=>e.name===r);return i?u(i.title,n):t(`editor.blocks.unknown`,{type:r})}}export{g as a,b as i,_ as n,y as r,v as t};
|
|
2
|
+
//# sourceMappingURL=BlockSection-Dz_7O4BN.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
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{t as a}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{_ as o}from"./tanstack-BRxyYm4G.js";import{t as s}from"./CaretUp.es-DBg3pdpL.js";import{n as c,t as l}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as u}from"./api-
|
|
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{t as a}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{_ as o}from"./tanstack-BRxyYm4G.js";import{t as s}from"./CaretUp.es-DBg3pdpL.js";import{n as c,t as l}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as u}from"./api-Mdeo6gzg.js";import{u as d}from"./i18n-CdW50___.js";import{ct as f,x as p}from"./index-DYyDeKnk.js";import{t as m}from"./body-blocks-D3YZCH_O.js";var h=e(n(),1),g=r();function _(e){let t=[];for(let n of e){let e=t.at(-1);n.kind===`same`?e?.kind===`same`?e.blocks.push(n.markdown):t.push({kind:`same`,blocks:[n.markdown]}):t.push({kind:`change`,block:n})}return t}var v=`whitespace-pre-wrap break-words font-mono text-[0.9em] leading-relaxed`;function y({diff:e,labels:n,className:r}){let a=e.counts.added+e.counts.removed+e.counts.changed;return(0,g.jsxs)(`div`,{className:t(`grid min-w-0 gap-2`,r),"data-body-diff":``,children:[(0,g.jsx)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:a===0?(0,g.jsx)(c,{variant:`secondary`,size:`sm`,children:n.same}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(i,{variant:`success`,children:n.wordsAdded(e.words.added)}),(0,g.jsx)(i,{variant:`error`,children:n.wordsRemoved(e.words.removed)})]})}),a>0&&(0,g.jsx)(`div`,{className:`grid min-w-0 gap-1.5`,children:_(e.blocks).map((e,t)=>e.kind===`same`?(0,g.jsx)(b,{blocks:e.blocks,labels:n},t):(0,g.jsx)(x,{block:e.block,labels:n},t))})]})}function b({blocks:e,labels:n}){let[r,i]=(0,h.useState)(!1);return r?(0,g.jsx)(`div`,{className:t(v,`rounded-md px-3 py-1.5 text-kumo-subtle`),"data-change":`same`,children:e.join(`
|
|
2
2
|
|
|
3
3
|
`)}):(0,g.jsx)(`div`,{children:(0,g.jsx)(a,{variant:`ghost`,size:`xs`,icon:(0,g.jsx)(f,{}),"aria-expanded":!1,onClick:()=>i(!0),children:n.unchanged(e.length)})})}function x({block:e,labels:n}){return e.kind===`added`?(0,g.jsxs)(`ins`,{className:t(v,`block rounded-md bg-kumo-success-tint px-3 py-1.5 no-underline`),"data-change":`added`,children:[(0,g.jsxs)(`span`,{className:`sr-only`,children:[n.added,`: `]}),e.markdown]}):e.kind===`removed`?(0,g.jsxs)(`del`,{className:t(v,`block rounded-md bg-kumo-danger-tint px-3 py-1.5 text-kumo-subtle`),"data-change":`removed`,children:[(0,g.jsxs)(`span`,{className:`sr-only`,children:[n.removed,`: `]}),e.markdown]}):e.kind===`changed`?(0,g.jsxs)(`div`,{className:t(v,`rounded-md bg-kumo-recessed px-3 py-1.5`),"data-change":`changed`,children:[(0,g.jsxs)(`span`,{className:`sr-only`,children:[n.changed,`: `]}),e.words.map((e,t)=>(0,g.jsx)(h.Fragment,{children:e.kind===`same`?e.text:e.kind===`added`?(0,g.jsxs)(`ins`,{className:`rounded-sm bg-kumo-success-tint no-underline`,children:[(0,g.jsxs)(`span`,{className:`sr-only`,children:[n.added,`: `]}),e.text]}):(0,g.jsxs)(`del`,{className:`rounded-sm bg-kumo-danger-tint text-kumo-subtle`,children:[(0,g.jsxs)(`span`,{className:`sr-only`,children:[n.removed,`: `]}),e.text]})},t))]}):null}function S(){let e=d();return(0,h.useMemo)(()=>({added:e(`diff.textChanges.added`),removed:e(`diff.textChanges.removed`),changed:e(`diff.textChanges.edited`),unchanged:t=>e(`diff.textChanges.unchanged`,{count:t}),wordsAdded:t=>e(`diff.textChanges.wordsAdded`,{count:t}),wordsRemoved:t=>e(`diff.textChanges.wordsRemoved`,{count:t}),same:e(`diff.textChanges.same`)}),[e])}function C({title:e,before:t,after:n}){let r=S(),i=(0,h.useMemo)(()=>m(t,n),[t,n]);return(0,g.jsxs)(`div`,{className:`grid min-w-0 gap-1.5`,children:[(0,g.jsx)(c,{bold:!0,size:`sm`,as:`span`,children:e}),(0,g.jsx)(y,{diff:i,labels:r})]})}function w({label:e,before:t,after:n}){return(t??``)===(n??``)?null:(0,g.jsxs)(`div`,{className:`grid min-w-0 gap-0.5`,children:[(0,g.jsx)(c,{bold:!0,size:`sm`,as:`span`,children:e}),(0,g.jsxs)(c,{size:`sm`,as:`span`,children:[(0,g.jsx)(`del`,{className:`text-kumo-subtle`,children:t||`—`}),` → `,(0,g.jsx)(`ins`,{className:`no-underline`,children:n||`—`})]})]})}function T({before:e,after:t}){let n=d(),r=`diff.textChanges`;if(`collection`in t){let i=e,a=i.body.value===t.body.value;return(0,g.jsxs)(`div`,{className:`grid min-w-0 gap-3`,"data-text-changes":``,children:[(0,g.jsx)(w,{label:n(`${r}.title`),before:i.title,after:t.title}),(0,g.jsx)(w,{label:n(`${r}.slug`),before:i.slug,after:t.slug}),(0,g.jsx)(w,{label:n(`${r}.summary`),before:i.summary,after:t.summary}),!a&&(0,g.jsx)(C,{title:n(`${r}.body`),before:i.body.value,after:t.body.value}),a&&i.title===t.title&&i.summary===t.summary&&(0,g.jsx)(c,{variant:`secondary`,size:`sm`,children:n(`${r}.noTextChanges`)})]})}let a=e,o=new Map(a.sections.map(e=>[e.id,e])),s=[...t.sections.map(e=>e.id),...a.sections.map(e=>e.id)].filter((e,t,n)=>n.indexOf(e)===t).flatMap(e=>{let a=o.get(e),s=t.sections.find(t=>t.id===e),l=s??a;if(!l||JSON.stringify(a)===JSON.stringify(s))return[];let u=n(`${r}.section`,{kind:n(`editor.sectionKinds.${l.kind}`)});if(a?.kind===`richText`&&s?.kind===`richText`)return[(0,g.jsx)(C,{title:u,before:a.body,after:s.body},e)];let d=a?s?`sectionChanged`:`sectionRemoved`:`sectionAdded`;return[(0,g.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,g.jsx)(c,{bold:!0,size:`sm`,as:`span`,children:u}),(0,g.jsx)(i,{variant:d===`sectionAdded`?`success`:d===`sectionRemoved`?`error`:`secondary`,children:n(`${r}.${d}`)})]},e)]});return(0,g.jsxs)(`div`,{className:`grid min-w-0 gap-3`,"data-text-changes":``,children:[(0,g.jsx)(w,{label:n(`${r}.title`),before:a.title,after:t.title}),(0,g.jsx)(w,{label:n(`${r}.path`),before:a.path,after:t.path}),s,s.length===0&&a.title===t.title&&a.path===t.path&&(0,g.jsx)(c,{variant:`secondary`,size:`sm`,children:n(`${r}.noTextChanges`)})]})}function E({siteId:e,nodeId:t,fromSnapshot:n,toSnapshot:r}){let i=d(),[c,m]=(0,h.useState)(!1),_=o({queryKey:[`snapshot-node-pair`,e,t,n,r],queryFn:()=>Promise.all([u.snapshots.node(e,n,t),u.snapshots.node(e,r,t)]),enabled:c,staleTime:1/0});return(0,g.jsxs)(`div`,{className:`grid min-w-0 gap-2`,children:[(0,g.jsx)(`div`,{children:(0,g.jsx)(a,{variant:`ghost`,size:`xs`,icon:c?(0,g.jsx)(s,{}):(0,g.jsx)(f,{}),"aria-expanded":c,onClick:()=>m(e=>!e),children:i(c?`diff.textChanges.hide`:`diff.textChanges.show`)})}),c&&(_.error?(0,g.jsx)(p,{error:_.error,onRetry:()=>_.refetch()}):_.data?(0,g.jsx)(T,{before:_.data[0],after:_.data[1]}):(0,g.jsxs)(`div`,{className:`grid gap-2`,role:`status`,children:[(0,g.jsx)(`span`,{className:`sr-only`,children:i(`diff.textChanges.loading`)}),(0,g.jsx)(l,{}),(0,g.jsx)(l,{})]}))]})}export{y as i,C as n,S as r,E as t};
|
|
4
|
-
//# sourceMappingURL=BodyChanges-
|
|
4
|
+
//# sourceMappingURL=BodyChanges-2lB47SO5.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./IconBase.es-BZDpYMnj.js";import{ar as n}from"./useBaseUiId-lg1teubxudgin0w2-CURnJ4xq.js";import{i as r,r as i}from"./react-CDCuUAOg.js";import{t as a}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{n as o,t as s}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{_ as c,d as l,u}from"./tanstack-BRxyYm4G.js";import{r as d}from"./DirectionalIcon-UZJFXGY_.js";import{n as f,t as p}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as m}from"./CheckCircle.es-XJ9Tr9Tu.js";import{t as h}from"./inline-copy-text-gbd7jhwpor27l4rq-BGh10UAA.js";import{t as g}from"./Sparkle.es-OfyfGCDe.js";import{t as _}from"./StopCircle.es-a6tRK2fc.js";import{t as v}from"./User.es-BLqDj7XT.js";import{n as y,t as b}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{t as x}from"./input-h5ox92gf13ge04hp-CDAaOl0A.js";import{i as S,o as C,t as w}from"./api-Cqqt5jTd.js";import{n as T}from"./Crumbs-BVqhFD_U.js";import{t as E}from"./PreviewPanel-CYgpgHYL.js";import{t as D}from"./SectionCard-GPZWTzbx.js";import{a as O,u as k}from"./i18n-Dz1LE8DB.js";import{$ as A,C as j,E as M,F as N,W as P,u as F}from"./index-DMKFLgkG.js";import{r as I}from"./EditorLayout-GefNJMG2.js";var L=e(r(),1),R=new Map([[`bold`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M228,128a12,12,0,0,1-12,12H69l51.52,51.51a12,12,0,0,1-17,17l-72-72a12,12,0,0,1,0-17l72-72a12,12,0,0,1,17,17L69,116H216A12,12,0,0,1,228,128Z`}))],[`fill`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H120v64a8,8,0,0,1-13.66,5.66l-72-72a8,8,0,0,1,0-11.32l72-72A8,8,0,0,1,120,56v64h96A8,8,0,0,1,224,128Z`}))],[`regular`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H59.31l58.35,58.34a8,8,0,0,1-11.32,11.32l-72-72a8,8,0,0,1,0-11.32l72-72a8,8,0,0,1,11.32,11.32L59.31,120H216A8,8,0,0,1,224,128Z`}))]]),z=new Map([[`bold`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M240.49,63.51a12,12,0,0,0-17,0L192,95,161,64l31.52-31.51a12,12,0,0,0-17-17L144,47,120.49,23.51a12,12,0,1,0-17,17L107,44,56.89,94.14a44,44,0,0,0,0,62.23l12.88,12.88L23.51,215.51a12,12,0,0,0,17,17l46.26-46.26,12.88,12.88a44,44,0,0,0,62.23,0L212,149l3.51,3.52a12,12,0,0,0,17-17L209,112l31.52-31.51A12,12,0,0,0,240.49,63.51Zm-95.6,118.63a20,20,0,0,1-28.29,0L73.86,139.4a20,20,0,0,1,0-28.29L124,61l71,71Z`}))],[`fill`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M237.66,77.66,203.31,112l26.35,26.34a8,8,0,0,1-11.32,11.32L212,143.31l-53,53a40,40,0,0,1-56.57,0L86.75,180.57,37.66,229.66a8,8,0,0,1-11.32-11.32l49.09-49.09L59.72,153.54a40,40,0,0,1,0-56.57l53-53-6.35-6.34a8,8,0,0,1,11.32-11.32L144,52.69l34.34-34.35a8,8,0,1,1,11.32,11.32L155.31,64,192,100.69l34.34-34.35a8,8,0,0,1,11.32,11.32Z`}))],[`regular`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M237.66,66.34a8,8,0,0,0-11.32,0L192,100.69,155.31,64l34.35-34.34a8,8,0,1,0-11.32-11.32L144,52.69,117.66,26.34a8,8,0,0,0-11.32,11.32L112.69,44l-53,53a40,40,0,0,0,0,56.57l15.71,15.71L26.34,218.34a8,8,0,0,0,11.32,11.32l49.09-49.09,15.71,15.71a40,40,0,0,0,56.57,0l53-53,6.34,6.35a8,8,0,0,0,11.32-11.32L203.31,112l34.35-34.34A8,8,0,0,0,237.66,66.34ZM147.72,185a24,24,0,0,1-33.95,0L71,142.23a24,24,0,0,1,0-33.95l53-53L200.69,132Z`}))]]),B=new Map([[`bold`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M244,128a12,12,0,0,1-12,12H207.42l-36.69,73.37A12,12,0,0,1,160,220h-.6a12,12,0,0,1-10.61-7.72L95,71.15,66.92,133A12,12,0,0,1,56,140H24a12,12,0,0,1,0-24H48.27L85.08,35a12,12,0,0,1,22.13.7l54.28,142.46,27.78-55.56A12,12,0,0,1,200,116h32A12,12,0,0,1,244,128Z`}))],[`fill`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm-8,96H188.64L159,188a8,8,0,0,1-6.95,4h-.46a8,8,0,0,1-6.89-4.84L103,89.92,79,132a8,8,0,0,1-7,4H48a8,8,0,0,1,0-16H67.36L97.05,68a8,8,0,0,1,14.3.82L153,166.08l24-42.05a8,8,0,0,1,6.95-4h24a8,8,0,0,1,0,16Z`}))],[`regular`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M240,128a8,8,0,0,1-8,8H204.94l-37.78,75.58A8,8,0,0,1,160,216h-.4a8,8,0,0,1-7.08-5.14L95.35,60.76,63.28,131.31A8,8,0,0,1,56,136H24a8,8,0,0,1,0-16H50.85L88.72,36.69a8,8,0,0,1,14.76.46l57.51,151,31.85-63.71A8,8,0,0,1,200,120h32A8,8,0,0,1,240,128Z`}))]]),V=new Map([[`bold`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M229.26,90.4a108,108,0,0,1-177.63,114A108,108,0,0,1,195.41,43.63l20.1-20.11a12,12,0,0,1,17,17l-96,96a12,12,0,1,1-17-17l24-24a36,36,0,1,0,19.76,39.65,12,12,0,0,1,23.53,4.74,60,60,0,1,1-25.73-62L178.3,60.74a84,84,0,1,0,28.46,38,12,12,0,1,1,22.5-8.35Z`}))],[`fill`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M221.87,83.16A104.1,104.1,0,1,1,195.67,49l22.67-22.68a8,8,0,0,1,11.32,11.32L167.6,99.71h0l-37.71,37.71-23.95,23.95a40,40,0,0,0,62-35.67,8,8,0,1,1,16-.9,56,56,0,0,1-95.5,42.79h0a56,56,0,0,1,73.13-84.43L184.3,60.39a87.88,87.88,0,1,0,23.13,29.67,8,8,0,0,1,14.44-6.9Z`}))],[`regular`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M221.87,83.16A104.1,104.1,0,1,1,195.67,49l22.67-22.68a8,8,0,0,1,11.32,11.32l-96,96a8,8,0,0,1-11.32-11.32l27.72-27.72a40,40,0,1,0,17.87,31.09,8,8,0,1,1,16-.9,56,56,0,1,1-22.38-41.65L184.3,60.39a87.88,87.88,0,1,0,23.13,29.67,8,8,0,0,1,14.44-6.9Z`}))]]),H=L.forwardRef((e,n)=>L.createElement(t,{ref:n,...e,weights:R}));H.displayName=`ArrowLeftIcon`;var U=H,W=L.forwardRef((e,n)=>L.createElement(t,{ref:n,...e,weights:z}));W.displayName=`PlugIcon`;var G=W,K=L.forwardRef((e,n)=>L.createElement(t,{ref:n,...e,weights:B}));K.displayName=`PulseIcon`;var q=K,J=L.forwardRef((e,n)=>L.createElement(t,{ref:n,...e,weights:V}));J.displayName=`TargetIcon`;var Y=J,X=i(),Z={human:v,agent:P,system:A};function ee({items:e,labels:t,emptyIcon:n,renderTime:r}){return e.length===0?(0,X.jsx)(M,{icon:n,title:t.empty,description:t.emptyDescription}):(0,X.jsx)(`ol`,{className:`grid gap-4`,"aria-live":`polite`,"data-testid":`build-activity`,children:e.map(e=>{let n=Z[e.actor.kind]??A,i=e.kind===`rejected`;return(0,X.jsxs)(`li`,{className:`grid gap-1.5`,"data-kind":e.kind,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,X.jsx)(`span`,{className:`flex h-lh items-center`,children:(0,X.jsx)(n,{size:16,className:`text-kumo-subtle`,"aria-hidden":!0})}),(0,X.jsx)(f,{bold:!0,as:`span`,children:e.actor.name}),(0,X.jsx)(f,{variant:`mono-secondary`,as:`span`,children:e.tool}),(0,X.jsx)(a,{variant:i?`warning`:`success`,appearance:`dot`,children:i?t.rejected:t.applied}),(0,X.jsx)(`span`,{className:`ms-auto`,children:(0,X.jsx)(f,{variant:`secondary`,as:`span`,children:r(e.at)})})]}),(0,X.jsxs)(`div`,{className:`flex items-start gap-2 ps-6`,children:[(0,X.jsx)(`span`,{className:`flex h-lh items-center`,children:i?(0,X.jsx)(y,{size:16,className:`text-kumo-warning`,"aria-hidden":!0}):(0,X.jsx)(m,{size:16,className:`text-kumo-success`,"aria-hidden":!0})}),(0,X.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,X.jsx)(f,{as:`span`,children:e.summary}),e.details?.map(e=>(0,X.jsx)(`span`,{className:`break-words`,children:(0,X.jsx)(f,{variant:`mono-secondary`,as:`span`,children:e})},e))]})]})]},e.id)})})}function te({role:e}){switch(e){case`person`:return(0,X.jsx)(v,{size:16,className:`text-kumo-subtle`,"aria-hidden":!0});case`model`:return(0,X.jsx)(g,{size:16,className:`text-kumo-brand`,"aria-hidden":!0});case`progress`:return(0,X.jsx)(n,{size:`sm`});case`result`:return(0,X.jsx)(m,{size:16,className:`text-kumo-success`,"aria-hidden":!0});case`error`:return(0,X.jsx)(y,{size:16,className:`text-kumo-danger`,"aria-hidden":!0})}}function ne({items:e,label:t}){return(0,X.jsx)(`ol`,{className:`grid gap-3`,"aria-live":`polite`,"aria-label":t,"data-testid":`build-chat`,children:e.map(e=>(0,X.jsxs)(`li`,{className:`flex items-start gap-2`,"data-role":e.role,children:[(0,X.jsx)(`span`,{className:`flex h-lh items-center`,children:(0,X.jsx)(te,{role:e.role})}),(0,X.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,X.jsx)(f,{as:`span`,bold:e.role===`person`,variant:e.role===`progress`?`secondary`:`body`,children:e.text}),e.details?.map(e=>(0,X.jsx)(`span`,{className:`break-words`,children:(0,X.jsx)(f,{variant:`mono-secondary`,as:`span`,children:e})},e))]})]},e.id))})}var re=new Set([`ai_budget`,`ai_busy`,`ai_off`,`ai_model_unavailable`,`ai_rate_limited`,`ai_unavailable`,`ai_failed`]),ie=[`overflow-x`,`img-alt`,`img-broken`,`heading-order`,`contrast`,`empty-section`,`tap-target`,`long-line`,`input-label`,`chart-empty`];function ae({siteId:e,pageId:t,scope:n,onClearScope:r}){let i=k(`build`),l=c({queryKey:[`ai-settings`,e],queryFn:()=>w.ai.settings(e)}),[u,d]=(0,L.useState)([]),[m,h]=(0,L.useState)(``),[v,S]=(0,L.useState)(!1),T=(0,L.useRef)(null),E=(0,L.useRef)(0),j=()=>`${Date.now()}-${++E.current}`,P=e=>i(`build.chat.errors.${e&&re.has(e)?e:`ai_failed`}`),F=e=>d(t=>{let n=t.filter(e=>e.role!==`progress`);return e?[...n,{id:`progress`,role:`progress`,text:e}]:n}),I=e=>d(t=>[...t.filter(e=>e.role!==`progress`),{id:j(),...e}]),R=async()=>{let r=m.trim();if(!r||v)return;h(``),S(!0),I({role:`person`,text:r}),F(i(`build.chat.thinking`));let a=new AbortController;T.current=a;let o=[],s=!1,c=!1;try{let l=n?{sectionId:n.sectionId,...n.componentId?{componentId:n.componentId}:{}}:void 0;for await(let n of w.ai.build(e,t,r,a.signal,l))n.type===`say`?(I({role:`model`,text:n.text}),F(i(`build.chat.thinking`))):n.type===`writing`?F(i(`build.chat.writing`,{components:O(n.components)})):n.type===`look`?(s=!0,I({role:`result`,text:n.failed.length?i(`build.chat.lookedIssues`,{checks:O(n.failed.map(e=>ie.includes(e)?i(`build.chat.checks.${e}`):e))}):i(`build.chat.lookedClean`)})):n.type===`unlinked`?c=!0:n.type===`round`&&n.round>1?(F(i(s?`build.chat.improving`:c?`build.chat.linking`:`build.chat.fixing`)),c=!1):n.type===`step`&&n.ok?o.push(...n.repairs):n.type===`done`?I({role:`result`,text:n.steps===0?i(`build.chat.nothing`):n.refused>0?i(`build.chat.doneRefused`,{steps:n.steps,refused:n.refused}):i(`build.chat.done`,{steps:n.steps}),...o.length?{details:o}:{}}):n.type===`error`&&I({role:`error`,text:P(n.code)})}catch(e){a.signal.aborted?I({role:`error`,text:i(`build.chat.stopped`)}):I({role:`error`,text:P(C(e))})}finally{F(void 0),S(!1),T.current=null}},z=l.data,B=z!==void 0&&z.transport!==`none`,V=B&&z.settings.enabled;return(0,X.jsx)(D,{title:i(`build.chat.title`),icon:(0,X.jsx)(g,{}),description:V?i(`build.chat.description`):void 0,children:l.isPending?(0,X.jsxs)(`div`,{className:`grid gap-3`,children:[(0,X.jsx)(p,{minWidth:50,maxWidth:80}),(0,X.jsx)(p,{minWidth:30,maxWidth:60})]}):V?(0,X.jsxs)(`div`,{className:`grid gap-6`,children:[z.settings.model!==`@cf/openai/gpt-oss-120b`&&(0,X.jsx)(f,{variant:`secondary`,size:`sm`,"data-testid":`build-model-hint`,children:i(`build.chat.modelHint`,{model:`@cf/openai/gpt-oss-120b`})}),u.length>0&&(0,X.jsx)(ne,{items:u,label:i(`build.chat.label`)}),l.error&&(0,X.jsx)(b,{variant:`error`,icon:(0,X.jsx)(y,{weight:`fill`}),title:P(void 0)}),(0,X.jsxs)(`div`,{className:`grid gap-3`,children:[n&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,"data-testid":`build-scope`,children:[(0,X.jsx)(a,{variant:`info`,icon:(0,X.jsx)(Y,{}),children:i(`build.chat.scope`,{part:n.label})}),(0,X.jsx)(s,{variant:`ghost`,size:`sm`,shape:`square`,icon:(0,X.jsx)(N,{}),"aria-label":i(`build.chat.clearScope`),disabled:v,onClick:r})]}),(0,X.jsx)(x,{className:`w-full`,label:i(`build.chat.brief`),placeholder:i(`build.chat.placeholder`),value:m,maxLength:2e3,onValueChange:h,disabled:v,"data-testid":`build-brief`}),(0,X.jsx)(`div`,{className:`flex justify-end gap-2`,children:v?(0,X.jsx)(s,{variant:`secondary`,icon:(0,X.jsx)(_,{}),onClick:()=>T.current?.abort(),children:i(`build.chat.stop`)}):(0,X.jsx)(s,{variant:`primary`,icon:(0,X.jsx)(g,{}),disabled:!m.trim(),onClick:()=>void R(),"data-testid":`build-send`,children:i(`build.chat.send`)})})]})]}):(0,X.jsx)(M,{icon:(0,X.jsx)(g,{size:32,className:`text-kumo-inactive`}),title:i(B?`build.chat.off`:`build.chat.unavailable`),description:i(B?`build.chat.offHint`:`build.chat.unavailableHint`),contents:B?(0,X.jsx)(o,{href:`/sites/${e}/settings`,variant:`secondary`,icon:A,children:i(`build.chat.settings`)}):void 0})})}var Q={status:`connecting`,rev:void 0,title:void 0,html:void 0,highlight:[],entries:[]};function oe(e,t,n){switch(t.type){case`STATE_SNAPSHOT`:return{...e,status:`live`,rev:t.snapshot.rev,title:t.snapshot.title,html:t.snapshot.html,highlight:[]};case`STATE_DELTA`:return{...e,status:`live`,rev:t.rev,title:t.title,html:t.html,highlight:t.changed,entries:[{id:n,kind:`change`,tool:t.tool,actor:t.actor,at:t.at,ops:t.delta.length,changed:t.changed,repairs:t.repairs},...e.entries].slice(0,100)};case`CUSTOM`:return{...e,entries:[{id:n,kind:`rejected`,tool:t.value.tool,actor:t.value.actor,at:t.value.at,issues:t.value.issues.map(e=>`${e.path??`/`} ${e.message??``}`.trim())},...e.entries].slice(0,100)}}}function se(e,t){let[n,r]=(0,L.useState)(Q);return(0,L.useEffect)(()=>{r(Q);let n=new EventSource(w.preview.buildEvents(e,t),{withCredentials:!0}),i=0;return n.onmessage=e=>{try{let t=JSON.parse(e.data),n=`${Date.now()}-${++i}`;r(e=>oe(e,t,n))}catch{}},n.onerror=()=>r(e=>({...e,status:`lost`})),()=>n.close()},[e,t]),n}function $(e,t,n){let r=e?e.sections.findIndex(e=>e.id===t.sectionId):-1,i=e?.sections[r];if(!i)return;if(!t.componentId)return{...t,label:n(`build.chat.scopeSection`,{index:r+1})};let a=i.kind===`surface`?i.components.find(e=>e.id===t.componentId):void 0;if(a)return{...t,label:n(`build.chat.scopeComponent`,{component:a.component,id:a.id,index:r+1})}}function ce(){let{siteId:e,pageId:t}=l({from:`/sites/$siteId/pages/$pageId/build`}),n=k(`build`),r=k(),i=se(e,t),p=`/sites/${e}/pages/${t}`,m=i.title??``,[g,_]=(0,L.useState)(!1),v=u({from:`/sites/$siteId/pages/$pageId/build`}),[y,b]=(0,L.useState)(()=>v.section?{sectionId:v.section,...v.component?{componentId:v.component}:{}}:void 0),x=c({queryKey:[`page`,e,t,i.rev],queryFn:()=>w.pages.get(e,t),enabled:y!==void 0}),C=y?$(x.data,y,n):void 0;(0,L.useEffect)(()=>{y&&x.data&&!$(x.data,y,n)&&b(void 0)},[x.data,y,n]);let O=e=>e.kind===`rejected`?{summary:n(`build.activity.refused`,{count:e.issues.length}),details:e.issues}:{summary:`${e.changed.length===0?n(`build.activity.unchanged`):n(`build.activity.changed`,{count:e.changed.length})}${e.ops?` · ${n(`build.activity.operations`,{count:e.ops})}`:``}`,details:e.repairs.map(e=>n(`build.activity.repair`,{text:e}))},A=i.entries.map(e=>({id:e.id,kind:e.kind,actor:e.actor,tool:e.tool,at:e.at,...O(e)}));return(0,X.jsx)(j,{crumbs:(0,X.jsx)(T,{siteId:e,trail:[{label:r(`pageHeaders.pages.title`),href:`/sites/${e}/pages`},{label:m||void 0,href:p},{label:n(`build.preview`)}],copy:t}),title:m?n(`build.title`,{title:m}):void 0,description:n(`build.description`),loading:i.html===void 0&&i.status===`connecting`,actions:(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(a,{variant:i.status===`live`?`success`:`warning`,appearance:`dot`,"data-testid":`build-status`,children:n(`build.connection.${i.status}`)}),(0,X.jsx)(o,{href:p,variant:`secondary`,icon:d(U),children:n(`build.backToEditor`)})]}),children:(0,X.jsx)(I,{previewVisible:!0,preview:(0,X.jsx)(E,{src:w.preview.page(e,t),live:!0,morph:!0,srcDoc:i.html,highlight:i.highlight,version:i.rev,fill:!0,status:(0,X.jsx)(s,{size:`sm`,variant:g?`primary`:`secondary`,icon:(0,X.jsx)(Y,{}),"aria-pressed":g,title:n(`build.chat.pickHint`),onClick:()=>_(e=>!e),"data-testid":`build-pick`,children:n(g?`build.chat.picking`:`build.chat.pick`)}),pick:{active:g,selected:C?y:void 0,onPick:e=>{b(e),_(!1)},onCancel:()=>_(!1),label:n(`build.chat.pickLabel`)},labels:{title:n(`build.preview`),frameTitle:r(`preview.frameTitle`,{name:m}),device:r(`preview.device`),desktop:r(`preview.desktop`),tablet:r(`preview.tablet`),mobile:r(`preview.mobile`),reload:r(`preview.reload`),openInNewTab:r(`preview.openSaved`),loading:r(`preview.loading`)}}),main:(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(ae,{siteId:e,pageId:t,scope:C,onClearScope:()=>b(void 0)}),(0,X.jsx)(D,{title:n(`build.activity.title`),icon:(0,X.jsx)(q,{}),children:(0,X.jsx)(ee,{items:A,labels:{empty:n(`build.activity.empty`),emptyDescription:n(`build.activity.emptyDescription`),applied:n(`build.activity.applied`),rejected:n(`build.activity.rejected`)},renderTime:e=>(0,X.jsx)(F,{iso:e})})})]}),aside:(0,X.jsx)(D,{title:n(`build.connect.title`),icon:(0,X.jsx)(G,{}),description:n(`build.connect.description`),children:(0,X.jsxs)(`div`,{className:`grid gap-6`,children:[(0,X.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,X.jsx)(f,{bold:!0,children:n(`build.connect.endpoint`)}),(0,X.jsx)(h,{children:S(window.location.origin)})]}),(0,X.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,X.jsx)(f,{bold:!0,children:n(`build.connect.pageId`)}),(0,X.jsx)(h,{children:t})]}),(0,X.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,X.jsx)(f,{bold:!0,children:n(`build.connect.steps`)}),[`step1`,`step2`,`step3`].map((e,t)=>(0,X.jsx)(f,{children:`${t+1}. ${n(`build.connect.${e}`)}`},e))]})]})})})})}export{ce as BuildPage};
|
|
2
|
-
//# sourceMappingURL=BuildPage-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./IconBase.es-BZDpYMnj.js";import{ar as n}from"./useBaseUiId-lg1teubxudgin0w2-CURnJ4xq.js";import{i as r,r as i}from"./react-CDCuUAOg.js";import{t as a}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{n as o,t as s}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{_ as c,d as l,u}from"./tanstack-BRxyYm4G.js";import{r as d}from"./DirectionalIcon-UZJFXGY_.js";import{n as f,t as p}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as m}from"./CheckCircle.es-XJ9Tr9Tu.js";import{t as h}from"./inline-copy-text-gbd7jhwpor27l4rq-BGh10UAA.js";import{t as g}from"./Sparkle.es-OfyfGCDe.js";import{t as _}from"./StopCircle.es-a6tRK2fc.js";import{t as v}from"./User.es-BLqDj7XT.js";import{n as y,t as b}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{t as x}from"./input-h5ox92gf13ge04hp-CDAaOl0A.js";import{i as S,o as C,t as w}from"./api-Mdeo6gzg.js";import{n as T}from"./Crumbs-CJ6UlbPv.js";import{t as E}from"./PreviewPanel-BGtfUafo.js";import{t as D}from"./SectionCard-BxLoZOcp.js";import{a as O,u as k}from"./i18n-CdW50___.js";import{$ as A,C as j,E as M,F as N,W as P,u as F}from"./index-DYyDeKnk.js";import{r as I}from"./EditorLayout-FlmsPOxF.js";var L=e(r(),1),R=new Map([[`bold`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M228,128a12,12,0,0,1-12,12H69l51.52,51.51a12,12,0,0,1-17,17l-72-72a12,12,0,0,1,0-17l72-72a12,12,0,0,1,17,17L69,116H216A12,12,0,0,1,228,128Z`}))],[`fill`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H120v64a8,8,0,0,1-13.66,5.66l-72-72a8,8,0,0,1,0-11.32l72-72A8,8,0,0,1,120,56v64h96A8,8,0,0,1,224,128Z`}))],[`regular`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H59.31l58.35,58.34a8,8,0,0,1-11.32,11.32l-72-72a8,8,0,0,1,0-11.32l72-72a8,8,0,0,1,11.32,11.32L59.31,120H216A8,8,0,0,1,224,128Z`}))]]),z=new Map([[`bold`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M240.49,63.51a12,12,0,0,0-17,0L192,95,161,64l31.52-31.51a12,12,0,0,0-17-17L144,47,120.49,23.51a12,12,0,1,0-17,17L107,44,56.89,94.14a44,44,0,0,0,0,62.23l12.88,12.88L23.51,215.51a12,12,0,0,0,17,17l46.26-46.26,12.88,12.88a44,44,0,0,0,62.23,0L212,149l3.51,3.52a12,12,0,0,0,17-17L209,112l31.52-31.51A12,12,0,0,0,240.49,63.51Zm-95.6,118.63a20,20,0,0,1-28.29,0L73.86,139.4a20,20,0,0,1,0-28.29L124,61l71,71Z`}))],[`fill`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M237.66,77.66,203.31,112l26.35,26.34a8,8,0,0,1-11.32,11.32L212,143.31l-53,53a40,40,0,0,1-56.57,0L86.75,180.57,37.66,229.66a8,8,0,0,1-11.32-11.32l49.09-49.09L59.72,153.54a40,40,0,0,1,0-56.57l53-53-6.35-6.34a8,8,0,0,1,11.32-11.32L144,52.69l34.34-34.35a8,8,0,1,1,11.32,11.32L155.31,64,192,100.69l34.34-34.35a8,8,0,0,1,11.32,11.32Z`}))],[`regular`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M237.66,66.34a8,8,0,0,0-11.32,0L192,100.69,155.31,64l34.35-34.34a8,8,0,1,0-11.32-11.32L144,52.69,117.66,26.34a8,8,0,0,0-11.32,11.32L112.69,44l-53,53a40,40,0,0,0,0,56.57l15.71,15.71L26.34,218.34a8,8,0,0,0,11.32,11.32l49.09-49.09,15.71,15.71a40,40,0,0,0,56.57,0l53-53,6.34,6.35a8,8,0,0,0,11.32-11.32L203.31,112l34.35-34.34A8,8,0,0,0,237.66,66.34ZM147.72,185a24,24,0,0,1-33.95,0L71,142.23a24,24,0,0,1,0-33.95l53-53L200.69,132Z`}))]]),B=new Map([[`bold`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M244,128a12,12,0,0,1-12,12H207.42l-36.69,73.37A12,12,0,0,1,160,220h-.6a12,12,0,0,1-10.61-7.72L95,71.15,66.92,133A12,12,0,0,1,56,140H24a12,12,0,0,1,0-24H48.27L85.08,35a12,12,0,0,1,22.13.7l54.28,142.46,27.78-55.56A12,12,0,0,1,200,116h32A12,12,0,0,1,244,128Z`}))],[`fill`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm-8,96H188.64L159,188a8,8,0,0,1-6.95,4h-.46a8,8,0,0,1-6.89-4.84L103,89.92,79,132a8,8,0,0,1-7,4H48a8,8,0,0,1,0-16H67.36L97.05,68a8,8,0,0,1,14.3.82L153,166.08l24-42.05a8,8,0,0,1,6.95-4h24a8,8,0,0,1,0,16Z`}))],[`regular`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M240,128a8,8,0,0,1-8,8H204.94l-37.78,75.58A8,8,0,0,1,160,216h-.4a8,8,0,0,1-7.08-5.14L95.35,60.76,63.28,131.31A8,8,0,0,1,56,136H24a8,8,0,0,1,0-16H50.85L88.72,36.69a8,8,0,0,1,14.76.46l57.51,151,31.85-63.71A8,8,0,0,1,200,120h32A8,8,0,0,1,240,128Z`}))]]),V=new Map([[`bold`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M229.26,90.4a108,108,0,0,1-177.63,114A108,108,0,0,1,195.41,43.63l20.1-20.11a12,12,0,0,1,17,17l-96,96a12,12,0,1,1-17-17l24-24a36,36,0,1,0,19.76,39.65,12,12,0,0,1,23.53,4.74,60,60,0,1,1-25.73-62L178.3,60.74a84,84,0,1,0,28.46,38,12,12,0,1,1,22.5-8.35Z`}))],[`fill`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M221.87,83.16A104.1,104.1,0,1,1,195.67,49l22.67-22.68a8,8,0,0,1,11.32,11.32L167.6,99.71h0l-37.71,37.71-23.95,23.95a40,40,0,0,0,62-35.67,8,8,0,1,1,16-.9,56,56,0,0,1-95.5,42.79h0a56,56,0,0,1,73.13-84.43L184.3,60.39a87.88,87.88,0,1,0,23.13,29.67,8,8,0,0,1,14.44-6.9Z`}))],[`regular`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M221.87,83.16A104.1,104.1,0,1,1,195.67,49l22.67-22.68a8,8,0,0,1,11.32,11.32l-96,96a8,8,0,0,1-11.32-11.32l27.72-27.72a40,40,0,1,0,17.87,31.09,8,8,0,1,1,16-.9,56,56,0,1,1-22.38-41.65L184.3,60.39a87.88,87.88,0,1,0,23.13,29.67,8,8,0,0,1,14.44-6.9Z`}))]]),H=L.forwardRef((e,n)=>L.createElement(t,{ref:n,...e,weights:R}));H.displayName=`ArrowLeftIcon`;var U=H,W=L.forwardRef((e,n)=>L.createElement(t,{ref:n,...e,weights:z}));W.displayName=`PlugIcon`;var G=W,K=L.forwardRef((e,n)=>L.createElement(t,{ref:n,...e,weights:B}));K.displayName=`PulseIcon`;var q=K,J=L.forwardRef((e,n)=>L.createElement(t,{ref:n,...e,weights:V}));J.displayName=`TargetIcon`;var Y=J,X=i(),Z={human:v,agent:P,system:A};function ee({items:e,labels:t,emptyIcon:n,renderTime:r}){return e.length===0?(0,X.jsx)(M,{icon:n,title:t.empty,description:t.emptyDescription}):(0,X.jsx)(`ol`,{className:`grid gap-4`,"aria-live":`polite`,"data-testid":`build-activity`,children:e.map(e=>{let n=Z[e.actor.kind]??A,i=e.kind===`rejected`;return(0,X.jsxs)(`li`,{className:`grid gap-1.5`,"data-kind":e.kind,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,X.jsx)(`span`,{className:`flex h-lh items-center`,children:(0,X.jsx)(n,{size:16,className:`text-kumo-subtle`,"aria-hidden":!0})}),(0,X.jsx)(f,{bold:!0,as:`span`,children:e.actor.name}),(0,X.jsx)(f,{variant:`mono-secondary`,as:`span`,children:e.tool}),(0,X.jsx)(a,{variant:i?`warning`:`success`,appearance:`dot`,children:i?t.rejected:t.applied}),(0,X.jsx)(`span`,{className:`ms-auto`,children:(0,X.jsx)(f,{variant:`secondary`,as:`span`,children:r(e.at)})})]}),(0,X.jsxs)(`div`,{className:`flex items-start gap-2 ps-6`,children:[(0,X.jsx)(`span`,{className:`flex h-lh items-center`,children:i?(0,X.jsx)(y,{size:16,className:`text-kumo-warning`,"aria-hidden":!0}):(0,X.jsx)(m,{size:16,className:`text-kumo-success`,"aria-hidden":!0})}),(0,X.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,X.jsx)(f,{as:`span`,children:e.summary}),e.details?.map(e=>(0,X.jsx)(`span`,{className:`break-words`,children:(0,X.jsx)(f,{variant:`mono-secondary`,as:`span`,children:e})},e))]})]})]},e.id)})})}function te({role:e}){switch(e){case`person`:return(0,X.jsx)(v,{size:16,className:`text-kumo-subtle`,"aria-hidden":!0});case`model`:return(0,X.jsx)(g,{size:16,className:`text-kumo-brand`,"aria-hidden":!0});case`progress`:return(0,X.jsx)(n,{size:`sm`});case`result`:return(0,X.jsx)(m,{size:16,className:`text-kumo-success`,"aria-hidden":!0});case`error`:return(0,X.jsx)(y,{size:16,className:`text-kumo-danger`,"aria-hidden":!0})}}function ne({items:e,label:t}){return(0,X.jsx)(`ol`,{className:`grid gap-3`,"aria-live":`polite`,"aria-label":t,"data-testid":`build-chat`,children:e.map(e=>(0,X.jsxs)(`li`,{className:`flex items-start gap-2`,"data-role":e.role,children:[(0,X.jsx)(`span`,{className:`flex h-lh items-center`,children:(0,X.jsx)(te,{role:e.role})}),(0,X.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,X.jsx)(f,{as:`span`,bold:e.role===`person`,variant:e.role===`progress`?`secondary`:`body`,children:e.text}),e.details?.map(e=>(0,X.jsx)(`span`,{className:`break-words`,children:(0,X.jsx)(f,{variant:`mono-secondary`,as:`span`,children:e})},e))]})]},e.id))})}var re=new Set([`ai_budget`,`ai_busy`,`ai_off`,`ai_model_unavailable`,`ai_rate_limited`,`ai_unavailable`,`ai_failed`]),ie=[`overflow-x`,`img-alt`,`img-broken`,`heading-order`,`contrast`,`empty-section`,`tap-target`,`long-line`,`input-label`,`chart-empty`];function ae({siteId:e,pageId:t,scope:n,onClearScope:r}){let i=k(`build`),l=c({queryKey:[`ai-settings`,e],queryFn:()=>w.ai.settings(e)}),[u,d]=(0,L.useState)([]),[m,h]=(0,L.useState)(``),[v,S]=(0,L.useState)(!1),T=(0,L.useRef)(null),E=(0,L.useRef)(0),j=()=>`${Date.now()}-${++E.current}`,P=e=>i(`build.chat.errors.${e&&re.has(e)?e:`ai_failed`}`),F=e=>d(t=>{let n=t.filter(e=>e.role!==`progress`);return e?[...n,{id:`progress`,role:`progress`,text:e}]:n}),I=e=>d(t=>[...t.filter(e=>e.role!==`progress`),{id:j(),...e}]),R=async()=>{let r=m.trim();if(!r||v)return;h(``),S(!0),I({role:`person`,text:r}),F(i(`build.chat.thinking`));let a=new AbortController;T.current=a;let o=[],s=!1,c=!1;try{let l=n?{sectionId:n.sectionId,...n.componentId?{componentId:n.componentId}:{}}:void 0;for await(let n of w.ai.build(e,t,r,a.signal,l))n.type===`say`?(I({role:`model`,text:n.text}),F(i(`build.chat.thinking`))):n.type===`writing`?F(i(`build.chat.writing`,{components:O(n.components)})):n.type===`look`?(s=!0,I({role:`result`,text:n.failed.length?i(`build.chat.lookedIssues`,{checks:O(n.failed.map(e=>ie.includes(e)?i(`build.chat.checks.${e}`):e))}):i(`build.chat.lookedClean`)})):n.type===`unlinked`?c=!0:n.type===`round`&&n.round>1?(F(i(s?`build.chat.improving`:c?`build.chat.linking`:`build.chat.fixing`)),c=!1):n.type===`step`&&n.ok?o.push(...n.repairs):n.type===`done`?I({role:`result`,text:n.steps===0?i(`build.chat.nothing`):n.refused>0?i(`build.chat.doneRefused`,{steps:n.steps,refused:n.refused}):i(`build.chat.done`,{steps:n.steps}),...o.length?{details:o}:{}}):n.type===`error`&&I({role:`error`,text:P(n.code)})}catch(e){a.signal.aborted?I({role:`error`,text:i(`build.chat.stopped`)}):I({role:`error`,text:P(C(e))})}finally{F(void 0),S(!1),T.current=null}},z=l.data,B=z!==void 0&&z.transport!==`none`,V=B&&z.settings.enabled;return(0,X.jsx)(D,{title:i(`build.chat.title`),icon:(0,X.jsx)(g,{}),description:V?i(`build.chat.description`):void 0,children:l.isPending?(0,X.jsxs)(`div`,{className:`grid gap-3`,children:[(0,X.jsx)(p,{minWidth:50,maxWidth:80}),(0,X.jsx)(p,{minWidth:30,maxWidth:60})]}):V?(0,X.jsxs)(`div`,{className:`grid gap-6`,children:[z.settings.model!==`@cf/openai/gpt-oss-120b`&&(0,X.jsx)(f,{variant:`secondary`,size:`sm`,"data-testid":`build-model-hint`,children:i(`build.chat.modelHint`,{model:`@cf/openai/gpt-oss-120b`})}),u.length>0&&(0,X.jsx)(ne,{items:u,label:i(`build.chat.label`)}),l.error&&(0,X.jsx)(b,{variant:`error`,icon:(0,X.jsx)(y,{weight:`fill`}),title:P(void 0)}),(0,X.jsxs)(`div`,{className:`grid gap-3`,children:[n&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,"data-testid":`build-scope`,children:[(0,X.jsx)(a,{variant:`info`,icon:(0,X.jsx)(Y,{}),children:i(`build.chat.scope`,{part:n.label})}),(0,X.jsx)(s,{variant:`ghost`,size:`sm`,shape:`square`,icon:(0,X.jsx)(N,{}),"aria-label":i(`build.chat.clearScope`),disabled:v,onClick:r})]}),(0,X.jsx)(x,{className:`w-full`,label:i(`build.chat.brief`),placeholder:i(`build.chat.placeholder`),value:m,maxLength:2e3,onValueChange:h,disabled:v,"data-testid":`build-brief`}),(0,X.jsx)(`div`,{className:`flex justify-end gap-2`,children:v?(0,X.jsx)(s,{variant:`secondary`,icon:(0,X.jsx)(_,{}),onClick:()=>T.current?.abort(),children:i(`build.chat.stop`)}):(0,X.jsx)(s,{variant:`primary`,icon:(0,X.jsx)(g,{}),disabled:!m.trim(),onClick:()=>void R(),"data-testid":`build-send`,children:i(`build.chat.send`)})})]})]}):(0,X.jsx)(M,{icon:(0,X.jsx)(g,{size:32,className:`text-kumo-inactive`}),title:i(B?`build.chat.off`:`build.chat.unavailable`),description:i(B?`build.chat.offHint`:`build.chat.unavailableHint`),contents:B?(0,X.jsx)(o,{href:`/sites/${e}/settings`,variant:`secondary`,icon:A,children:i(`build.chat.settings`)}):void 0})})}var Q={status:`connecting`,rev:void 0,title:void 0,html:void 0,highlight:[],entries:[]};function oe(e,t,n){switch(t.type){case`STATE_SNAPSHOT`:return{...e,status:`live`,rev:t.snapshot.rev,title:t.snapshot.title,html:t.snapshot.html,highlight:[]};case`STATE_DELTA`:return{...e,status:`live`,rev:t.rev,title:t.title,html:t.html,highlight:t.changed,entries:[{id:n,kind:`change`,tool:t.tool,actor:t.actor,at:t.at,ops:t.delta.length,changed:t.changed,repairs:t.repairs},...e.entries].slice(0,100)};case`CUSTOM`:return{...e,entries:[{id:n,kind:`rejected`,tool:t.value.tool,actor:t.value.actor,at:t.value.at,issues:t.value.issues.map(e=>`${e.path??`/`} ${e.message??``}`.trim())},...e.entries].slice(0,100)}}}function se(e,t){let[n,r]=(0,L.useState)(Q);return(0,L.useEffect)(()=>{r(Q);let n=new EventSource(w.preview.buildEvents(e,t),{withCredentials:!0}),i=0;return n.onmessage=e=>{try{let t=JSON.parse(e.data),n=`${Date.now()}-${++i}`;r(e=>oe(e,t,n))}catch{}},n.onerror=()=>r(e=>({...e,status:`lost`})),()=>n.close()},[e,t]),n}function $(e,t,n){let r=e?e.sections.findIndex(e=>e.id===t.sectionId):-1,i=e?.sections[r];if(!i)return;if(!t.componentId)return{...t,label:n(`build.chat.scopeSection`,{index:r+1})};let a=i.kind===`surface`?i.components.find(e=>e.id===t.componentId):void 0;if(a)return{...t,label:n(`build.chat.scopeComponent`,{component:a.component,id:a.id,index:r+1})}}function ce(){let{siteId:e,pageId:t}=l({from:`/sites/$siteId/pages/$pageId/build`}),n=k(`build`),r=k(),i=se(e,t),p=`/sites/${e}/pages/${t}`,m=i.title??``,[g,_]=(0,L.useState)(!1),v=u({from:`/sites/$siteId/pages/$pageId/build`}),[y,b]=(0,L.useState)(()=>v.section?{sectionId:v.section,...v.component?{componentId:v.component}:{}}:void 0),x=c({queryKey:[`page`,e,t,i.rev],queryFn:()=>w.pages.get(e,t),enabled:y!==void 0}),C=y?$(x.data,y,n):void 0;(0,L.useEffect)(()=>{y&&x.data&&!$(x.data,y,n)&&b(void 0)},[x.data,y,n]);let O=e=>e.kind===`rejected`?{summary:n(`build.activity.refused`,{count:e.issues.length}),details:e.issues}:{summary:`${e.changed.length===0?n(`build.activity.unchanged`):n(`build.activity.changed`,{count:e.changed.length})}${e.ops?` · ${n(`build.activity.operations`,{count:e.ops})}`:``}`,details:e.repairs.map(e=>n(`build.activity.repair`,{text:e}))},A=i.entries.map(e=>({id:e.id,kind:e.kind,actor:e.actor,tool:e.tool,at:e.at,...O(e)}));return(0,X.jsx)(j,{crumbs:(0,X.jsx)(T,{siteId:e,trail:[{label:r(`pageHeaders.pages.title`),href:`/sites/${e}/pages`},{label:m||void 0,href:p},{label:n(`build.preview`)}],copy:t}),title:m?n(`build.title`,{title:m}):void 0,description:n(`build.description`),loading:i.html===void 0&&i.status===`connecting`,actions:(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(a,{variant:i.status===`live`?`success`:`warning`,appearance:`dot`,"data-testid":`build-status`,children:n(`build.connection.${i.status}`)}),(0,X.jsx)(o,{href:p,variant:`secondary`,icon:d(U),children:n(`build.backToEditor`)})]}),children:(0,X.jsx)(I,{previewVisible:!0,preview:(0,X.jsx)(E,{src:w.preview.page(e,t),live:!0,morph:!0,srcDoc:i.html,highlight:i.highlight,version:i.rev,fill:!0,status:(0,X.jsx)(s,{size:`sm`,variant:g?`primary`:`secondary`,icon:(0,X.jsx)(Y,{}),"aria-pressed":g,title:n(`build.chat.pickHint`),onClick:()=>_(e=>!e),"data-testid":`build-pick`,children:n(g?`build.chat.picking`:`build.chat.pick`)}),pick:{active:g,selected:C?y:void 0,onPick:e=>{b(e),_(!1)},onCancel:()=>_(!1),label:n(`build.chat.pickLabel`)},labels:{title:n(`build.preview`),frameTitle:r(`preview.frameTitle`,{name:m}),device:r(`preview.device`),desktop:r(`preview.desktop`),tablet:r(`preview.tablet`),mobile:r(`preview.mobile`),reload:r(`preview.reload`),openInNewTab:r(`preview.openSaved`),loading:r(`preview.loading`)}}),main:(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(ae,{siteId:e,pageId:t,scope:C,onClearScope:()=>b(void 0)}),(0,X.jsx)(D,{title:n(`build.activity.title`),icon:(0,X.jsx)(q,{}),children:(0,X.jsx)(ee,{items:A,labels:{empty:n(`build.activity.empty`),emptyDescription:n(`build.activity.emptyDescription`),applied:n(`build.activity.applied`),rejected:n(`build.activity.rejected`)},renderTime:e=>(0,X.jsx)(F,{iso:e})})})]}),aside:(0,X.jsx)(D,{title:n(`build.connect.title`),icon:(0,X.jsx)(G,{}),description:n(`build.connect.description`),children:(0,X.jsxs)(`div`,{className:`grid gap-6`,children:[(0,X.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,X.jsx)(f,{bold:!0,children:n(`build.connect.endpoint`)}),(0,X.jsx)(h,{children:S(window.location.origin)})]}),(0,X.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,X.jsx)(f,{bold:!0,children:n(`build.connect.pageId`)}),(0,X.jsx)(h,{children:t})]}),(0,X.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,X.jsx)(f,{bold:!0,children:n(`build.connect.steps`)}),[`step1`,`step2`,`step3`].map((e,t)=>(0,X.jsx)(f,{children:`${t+1}. ${n(`build.connect.${e}`)}`},e))]})]})})})})}export{ce as BuildPage};
|
|
2
|
+
//# sourceMappingURL=BuildPage-CySzzTQW.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./IconBase.es-BZDpYMnj.js";import{ar as r,ir as i}from"./useBaseUiId-lg1teubxudgin0w2-CURnJ4xq.js";import{i as a,r as o}from"./react-CDCuUAOg.js";import{_ as s,b as c}from"./tanstack-BRxyYm4G.js";import{i as l,t as u}from"./DirectionalIcon-UZJFXGY_.js";import{n as d}from"./ArrowSquareOut.es-BWeH9CSw.js";import{t as f}from"./CaretRight.es-D_coqYai.js";import{t as p}from"./File.es-VYp_u8mn.js";import{t as m}from"./ListBullets.es-DzSyoNA1.js";import{a as h,i as g,o as ee,r as _,s as v,u as y}from"./ComboboxEmpty-o0q20j2l2syar9kx-BaXMATsn.js";import{p as b,t as x}from"./api-Cqqt5jTd.js";import{t as S}from"./useRenderDialogRoot-lddunc01twftravv-DaCowiKC.js";import{n as te,r as C,t as ne}from"./DialogRoot-hl3genvzl9h8ridm-BuXbJxoK.js";import{n as re,t as w}from"./AutocompleteItem-drxau0wm3735nihq-DZezfUcW.js";import{c as ie}from"./i18n-Dz1LE8DB.js";import{B as ae,Y as T,dt as E,t as D}from"./index-DMKFLgkG.js";import{t as O}from"./useDebounced-DmPVYKCM.js";var k=e(a(),1),A=new Map([[`bold`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M232.49,112.49l-48,48a12,12,0,0,1-17-17L195,116H128a84.09,84.09,0,0,0-84,84,12,12,0,0,1-24,0A108.12,108.12,0,0,1,128,92h67L167.51,64.48a12,12,0,0,1,17-17l48,48A12,12,0,0,1,232.49,112.49Z`}))],[`fill`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M229.66,109.66l-48,48A8,8,0,0,1,168,152V112H128a88.1,88.1,0,0,0-88,88,8,8,0,0,1-16,0A104.11,104.11,0,0,1,128,96h40V56a8,8,0,0,1,13.66-5.66l48,48A8,8,0,0,1,229.66,109.66Z`}))],[`regular`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M229.66,109.66l-48,48a8,8,0,0,1-11.32-11.32L204.69,112H128a88.1,88.1,0,0,0-88,88,8,8,0,0,1-16,0A104.11,104.11,0,0,1,128,96h76.69L170.34,61.66a8,8,0,0,1,11.32-11.32l48,48A8,8,0,0,1,229.66,109.66Z`}))]]),j=new Map([[`bold`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M208,28H48A20,20,0,0,0,28,48V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V48A20,20,0,0,0,208,28Zm-4,24v63.72L186.14,97.86a20,20,0,0,0-28.28,0L52,203.72V52ZM85.66,204,172,117.66l32,32V204ZM76,96a20,20,0,1,1,20,20A20,20,0,0,1,76,96Z`}))],[`fill`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM48,48H208v77.38l-24.69-24.7a16,16,0,0,0-22.62,0L53.37,208H48ZM80,96a16,16,0,1,1,16,16A16,16,0,0,1,80,96Z`}))],[`regular`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM48,48H208v77.38l-24.69-24.7a16,16,0,0,0-22.62,0L53.37,208H48ZM208,208H76l96-96,36,36v60ZM96,120A24,24,0,1,0,72,96,24,24,0,0,0,96,120Zm0-32a8,8,0,1,1-8,8A8,8,0,0,1,96,88Z`}))]]),M=k.forwardRef((e,t)=>k.createElement(n,{ref:t,...e,weights:A}));M.displayName=`ArrowBendUpRightIcon`;var N=M,P=k.forwardRef((e,t)=>k.createElement(n,{ref:t,...e,weights:j}));P.displayName=`ImageSquareIcon`;var F=P,I=o(),L=(0,k.createContext)({});function R({open:e,onOpenChange:n,onBackdropClick:r,children:a,container:o}){let s=i(),c=o??s??void 0,l=e=>{r?r(e):n(!1)},u=(0,k.useCallback)(()=>{n(!1)},[n]);return(0,I.jsx)(ne,{open:e,onOpenChange:n,modal:!0,children:(0,I.jsxs)(S,{container:c,children:[(0,I.jsx)(te,{className:`fixed inset-0 bg-kumo-overlay opacity-80 transition-all duration-150 data-[ending-style]:opacity-0 data-[starting-style]:opacity-0`,onClick:l}),(0,I.jsx)(b,{render:(0,I.jsx)(C,{}),className:t(`fixed top-[10vh] left-1/2 w-full max-w-2xl -translate-x-1/2`,`overflow-hidden rounded-lg`,`duration-150 data-[ending-style]:scale-90 data-[ending-style]:opacity-0 data-[starting-style]:scale-90 data-[starting-style]:opacity-0`),style:{transitionProperty:`scale, opacity`,transitionTimingFunction:`var(--default-transition-timing-function)`},children:(0,I.jsx)(L.Provider,{value:{onClose:u},children:a})})]})})}function z({open:e,onOpenChange:t,onBackdropClick:n,children:r,items:i,value:a,onValueChange:o,onItemHighlighted:s,itemToStringValue:c,filter:l,onSelect:u,getSelectableItems:d,container:f}){return(0,I.jsx)(R,{open:e,onOpenChange:t,onBackdropClick:n,container:f,children:(0,I.jsx)(X,{items:i,value:a,onValueChange:o,onItemHighlighted:s,itemToStringValue:c,filter:l,open:e,onSelect:u,getSelectableItems:d,children:r})})}function B({children:e,leading:t,trailing:n}){return(0,I.jsxs)(`div`,{className:`flex items-center gap-3 bg-kumo-base px-4 py-3 focus-within:ring-2 focus-within:ring-kumo-brand`,children:[t??(0,I.jsx)(T,{className:`h-4 w-4 text-kumo-subtle`,weight:`bold`}),e,n]})}var V=(0,k.forwardRef)(function({children:e,className:n},r){return(0,I.jsx)(`div`,{ref:r,className:t(`relative min-h-0 flex-1 scroll-py-2 overflow-y-auto rounded-b-lg bg-kumo-base px-2 py-2 ring-1 ring-kumo-hairline`,n),children:e})});V.displayName=`CommandPalette.List`;function H({children:e,className:n,...r}){return(0,I.jsx)(h,{className:t(`space-y-0.5`,n),...r,children:e})}function U({children:e,className:n}){return(0,I.jsx)(ee,{className:t(`mb-2 px-2 pt-1 text-xs font-semibold text-kumo-subtle`,n),children:e})}function W({value:e,disabled:n,children:r,className:i,onClick:a}){return(0,I.jsx)(w,{value:e,disabled:n,onClick:a,className:t(`group flex w-full items-center gap-3 px-2 py-1.5 text-start text-base transition-colors`,`cursor-pointer data-[highlighted]:bg-kumo-overlay`,`rounded-lg`,n&&`cursor-default opacity-50`,i),children:r})}function G({children:e}){return(0,I.jsx)(g,{children:(0,I.jsx)(`div`,{className:`p-8 text-center`,children:(0,I.jsx)(`p`,{className:`text-kumo-subtle`,children:e??`No results found`})})})}function K({children:e}){return(0,I.jsx)(`div`,{className:`flex items-center justify-center p-8`,children:e??(0,I.jsx)(r,{size:24})})}function q({children:e}){return(0,I.jsx)(`div`,{className:`flex items-center justify-between rounded-b-lg bg-kumo-elevated px-4 py-3 text-xs text-kumo-subtle`,children:e})}function J({text:e,highlights:t,className:n}){if(!t||t.length===0)return(0,I.jsx)(`span`,{className:n,children:e});let r=[...t].sort((e,t)=>e[0]-t[0]),i=[];for(let e of r){let t=i[i.length-1];t&&e[0]<=t[1]+1?t[1]=Math.max(t[1],e[1]):i.push([...e])}let a=[],o=0;return i.forEach((t,n)=>{let[r,i]=t;r>o&&a.push((0,I.jsx)(`span`,{children:e.slice(o,r)},`text-${n}`)),a.push((0,I.jsx)(`mark`,{className:`rounded-sm bg-kumo-warning/50 text-kumo-default`,children:e.slice(r,i+1)},`highlight-${n}`)),o=i+1}),o<e.length&&a.push((0,I.jsx)(`span`,{children:e.slice(o)},`text-end`)),(0,I.jsx)(`span`,{className:n,children:a})}function oe({title:e,breadcrumbs:n,titleHighlights:r,breadcrumbHighlights:i,description:a,icon:o,value:s,onClick:c,showArrow:u=!0,external:p=!1,nonInteractive:m=!1}){return(0,I.jsxs)(w,{value:s,onClick:m?void 0:e=>c(e),className:t(`group flex w-full items-center gap-3 rounded-lg px-2 py-1.5 text-start transition-colors`,m?`cursor-default`:`cursor-pointer data-[highlighted]:bg-kumo-overlay`),children:[o&&(0,I.jsx)(`div`,{className:`flex flex-shrink-0 items-center text-kumo-subtle`,children:o}),(0,I.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,I.jsxs)(`div`,{className:`flex items-center gap-2 truncate`,children:[n?.map((e,t)=>(0,I.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,I.jsx)(J,{text:e,highlights:i?.[t],className:`text-base text-kumo-default`}),(0,I.jsx)(f,{className:`h-3 w-3 flex-shrink-0 text-kumo-subtle rtl:-scale-x-100`,weight:`bold`})]},t)),(0,I.jsx)(J,{text:e,highlights:r,className:`text-base text-kumo-default`}),p&&(0,I.jsx)(d,{className:`h-3.5 w-3.5 flex-shrink-0 text-kumo-subtle`}),a&&(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`span`,{className:`text-kumo-subtle`,children:`—`}),(0,I.jsx)(`span`,{className:`truncate text-sm text-kumo-subtle`,children:a})]})]})}),u&&!p&&!m&&(0,I.jsx)(l,{className:`h-4 w-4 flex-shrink-0 text-kumo-subtle rtl:-scale-x-100 opacity-0 transition-opacity group-data-[highlighted]:opacity-100`})]})}function se({children:e,className:n}){return(0,I.jsx)(`div`,{className:t(`flex max-h-[60vh] flex-col overflow-hidden rounded-lg bg-kumo-elevated`,n),children:e})}var Y=(0,k.createContext)({}),ce=()=>!0;function X({children:e,items:t,value:n,onValueChange:r,onItemHighlighted:i,itemToStringValue:a,filter:o=ce,open:s=!0,className:c,onSelect:l,getSelectableItems:u}){let d=(0,k.useRef)(-1),f=(0,k.useCallback)((e,t)=>{d.current=t.index,i?.(e,t)},[i]),p=(0,k.useCallback)(e=>{let n=e.key===`Enter`,r=e.metaKey||e.ctrlKey;if(n&&r&&l&&u){let n=u(t)[d.current];n!==void 0&&(e.preventDefault(),l(n,{newTab:!0}))}},[t,l,u]);return(0,I.jsx)(se,{className:c,children:(0,I.jsx)(re,{items:t,value:n,onValueChange:r,onItemHighlighted:f,itemToStringValue:a,filter:o,autoHighlight:`always`,keepHighlight:!0,open:s,children:(0,I.jsx)(Y.Provider,{value:{onInputKeyDown:p},children:e})})})}function Z({autoFocus:e=!0,placeholder:n,className:r,onKeyDown:i,leading:a,trailing:o,...s}){let{onInputKeyDown:c}=(0,k.useContext)(Y),{onClose:l}=(0,k.useContext)(L),u=(0,k.useCallback)(e=>{if(i?.(e),!e.defaultPrevented){if(e.key===`Escape`&&l){e.preventDefault(),l();return}c?.(e)}},[c,i,l]);return(0,I.jsx)(B,{leading:a,trailing:o,children:(0,I.jsx)(v,{placeholder:n,className:t(`kumo-input-placeholder flex-1 border-none bg-transparent text-base`,`outline-none`,r),onKeyDown:u,autoFocus:e,...s})})}function le({children:e,className:n}){return(0,I.jsx)(y,{className:t(`space-y-3`,n),children:e})}var Q={Dialog:R,Root:z,Panel:X,Input:Z,List:V,Group:H,GroupLabel:U,Item:W,ResultItem:oe,HighlightedText:J,Empty:G,Loading:K,Footer:q,Results:le,Items:_},ue={entry:(0,I.jsx)(E,{}),page:(0,I.jsx)(p,{}),term:(0,I.jsx)(ae,{}),asset:(0,I.jsx)(F,{}),menu:(0,I.jsx)(m,{}),redirect:(0,I.jsx)(u,{icon:N})};function de({open:e,onOpenChange:t,commands:n,search:r}){let{t:i}=ie(),[a,o]=(0,k.useState)(``),l=O(a.trim(),150),u=r!==void 0&&l.length>=2,d=s({queryKey:[`site-search`,r?.siteId,l],queryFn:()=>x.search.site(r?.siteId??``,l),enabled:e&&u,staleTime:3e4,placeholderData:c}),f=u&&a.trim().length>=2?d.data?.hits??[]:[],p=D(n,a,f),m=u&&d.isFetching&&p.length===0,h=e=>{e||o(``),t(e)},g=(e,t=!1)=>{h(!1),e.type===`command`?e.command.run():r?.open(e.hit,t)};return(0,I.jsxs)(Q.Root,{open:e,onOpenChange:h,items:p,value:a,onValueChange:o,itemToStringValue:e=>e.id,getSelectableItems:e=>e.flatMap(e=>e.items),onSelect:(e,{newTab:t})=>g(e,t),children:[(0,I.jsx)(Q.Input,{placeholder:i(r?`commands.searchPlaceholder`:`commands.placeholder`)}),(0,I.jsx)(Q.List,{children:m?(0,I.jsx)(Q.Loading,{}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(Q.Results,{children:e=>(0,I.jsxs)(Q.Group,{items:e.items,children:[(0,I.jsx)(Q.GroupLabel,{children:i(`commands.groups.${e.id}`)}),(0,I.jsx)(Q.Items,{children:e=>e.type===`command`?(0,I.jsx)(Q.Item,{value:e,onClick:()=>g(e),children:e.label},e.id):(0,I.jsx)(Q.ResultItem,{value:e,title:e.label,breadcrumbs:pe(e.hit,i),icon:ue[e.hit.kind],onClick:t=>g(e,t.metaKey||t.ctrlKey)},e.id)})]},e.id)}),(0,I.jsx)(Q.Empty,{children:i(r?`commands.searchEmpty`:`commands.empty`)})]})}),(0,I.jsxs)(Q.Footer,{children:[(0,I.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,I.jsx)($,{keys:`↑↓`,label:i(`commands.hintNavigate`)}),(0,I.jsx)($,{keys:`↵`,label:i(`commands.hintSelect`)}),r?(0,I.jsx)($,{keys:`⌘↵`,label:i(`commands.hintNewTab`)}):null]}),(0,I.jsx)($,{keys:`esc`,label:i(`commands.hintClose`)})]})]})}var fe=new Set([`draft`,`review`,`published`,`archived`]);function pe(e,t){let n=e.status&&fe.has(e.status)&&e.status!==`published`?t(`status.${e.status}`):void 0;return[e.context,e.detail,n].filter(e=>!!e)}function $({keys:e,label:t}){return(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,I.jsx)(`kbd`,{className:`rounded bg-kumo-recessed px-1 font-mono text-kumo-subtle text-xs`,children:e}),(0,I.jsx)(`span`,{children:t})]})}export{de as CommandMenu};
|
|
2
|
-
//# sourceMappingURL=CommandMenu-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./IconBase.es-BZDpYMnj.js";import{ar as r,ir as i}from"./useBaseUiId-lg1teubxudgin0w2-CURnJ4xq.js";import{i as a,r as o}from"./react-CDCuUAOg.js";import{_ as s,b as c}from"./tanstack-BRxyYm4G.js";import{i as l,t as u}from"./DirectionalIcon-UZJFXGY_.js";import{n as d}from"./ArrowSquareOut.es-BWeH9CSw.js";import{t as f}from"./CaretRight.es-D_coqYai.js";import{t as p}from"./File.es-VYp_u8mn.js";import{t as m}from"./ListBullets.es-DzSyoNA1.js";import{a as h,i as g,o as ee,r as _,s as v,u as y}from"./ComboboxEmpty-o0q20j2l2syar9kx-BaXMATsn.js";import{h as b,t as x}from"./api-Mdeo6gzg.js";import{t as S}from"./useRenderDialogRoot-lddunc01twftravv-DaCowiKC.js";import{n as te,r as C,t as ne}from"./DialogRoot-hl3genvzl9h8ridm-BuXbJxoK.js";import{n as re,t as w}from"./AutocompleteItem-drxau0wm3735nihq-DZezfUcW.js";import{c as ie}from"./i18n-CdW50___.js";import{B as ae,Y as T,dt as E,t as D}from"./index-DYyDeKnk.js";import{t as O}from"./useDebounced-DmPVYKCM.js";var k=e(a(),1),A=new Map([[`bold`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M232.49,112.49l-48,48a12,12,0,0,1-17-17L195,116H128a84.09,84.09,0,0,0-84,84,12,12,0,0,1-24,0A108.12,108.12,0,0,1,128,92h67L167.51,64.48a12,12,0,0,1,17-17l48,48A12,12,0,0,1,232.49,112.49Z`}))],[`fill`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M229.66,109.66l-48,48A8,8,0,0,1,168,152V112H128a88.1,88.1,0,0,0-88,88,8,8,0,0,1-16,0A104.11,104.11,0,0,1,128,96h40V56a8,8,0,0,1,13.66-5.66l48,48A8,8,0,0,1,229.66,109.66Z`}))],[`regular`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M229.66,109.66l-48,48a8,8,0,0,1-11.32-11.32L204.69,112H128a88.1,88.1,0,0,0-88,88,8,8,0,0,1-16,0A104.11,104.11,0,0,1,128,96h76.69L170.34,61.66a8,8,0,0,1,11.32-11.32l48,48A8,8,0,0,1,229.66,109.66Z`}))]]),j=new Map([[`bold`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M208,28H48A20,20,0,0,0,28,48V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V48A20,20,0,0,0,208,28Zm-4,24v63.72L186.14,97.86a20,20,0,0,0-28.28,0L52,203.72V52ZM85.66,204,172,117.66l32,32V204ZM76,96a20,20,0,1,1,20,20A20,20,0,0,1,76,96Z`}))],[`fill`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM48,48H208v77.38l-24.69-24.7a16,16,0,0,0-22.62,0L53.37,208H48ZM80,96a16,16,0,1,1,16,16A16,16,0,0,1,80,96Z`}))],[`regular`,k.createElement(k.Fragment,null,k.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM48,48H208v77.38l-24.69-24.7a16,16,0,0,0-22.62,0L53.37,208H48ZM208,208H76l96-96,36,36v60ZM96,120A24,24,0,1,0,72,96,24,24,0,0,0,96,120Zm0-32a8,8,0,1,1-8,8A8,8,0,0,1,96,88Z`}))]]),M=k.forwardRef((e,t)=>k.createElement(n,{ref:t,...e,weights:A}));M.displayName=`ArrowBendUpRightIcon`;var N=M,P=k.forwardRef((e,t)=>k.createElement(n,{ref:t,...e,weights:j}));P.displayName=`ImageSquareIcon`;var F=P,I=o(),L=(0,k.createContext)({});function R({open:e,onOpenChange:n,onBackdropClick:r,children:a,container:o}){let s=i(),c=o??s??void 0,l=e=>{r?r(e):n(!1)},u=(0,k.useCallback)(()=>{n(!1)},[n]);return(0,I.jsx)(ne,{open:e,onOpenChange:n,modal:!0,children:(0,I.jsxs)(S,{container:c,children:[(0,I.jsx)(te,{className:`fixed inset-0 bg-kumo-overlay opacity-80 transition-all duration-150 data-[ending-style]:opacity-0 data-[starting-style]:opacity-0`,onClick:l}),(0,I.jsx)(b,{render:(0,I.jsx)(C,{}),className:t(`fixed top-[10vh] left-1/2 w-full max-w-2xl -translate-x-1/2`,`overflow-hidden rounded-lg`,`duration-150 data-[ending-style]:scale-90 data-[ending-style]:opacity-0 data-[starting-style]:scale-90 data-[starting-style]:opacity-0`),style:{transitionProperty:`scale, opacity`,transitionTimingFunction:`var(--default-transition-timing-function)`},children:(0,I.jsx)(L.Provider,{value:{onClose:u},children:a})})]})})}function z({open:e,onOpenChange:t,onBackdropClick:n,children:r,items:i,value:a,onValueChange:o,onItemHighlighted:s,itemToStringValue:c,filter:l,onSelect:u,getSelectableItems:d,container:f}){return(0,I.jsx)(R,{open:e,onOpenChange:t,onBackdropClick:n,container:f,children:(0,I.jsx)(X,{items:i,value:a,onValueChange:o,onItemHighlighted:s,itemToStringValue:c,filter:l,open:e,onSelect:u,getSelectableItems:d,children:r})})}function B({children:e,leading:t,trailing:n}){return(0,I.jsxs)(`div`,{className:`flex items-center gap-3 bg-kumo-base px-4 py-3 focus-within:ring-2 focus-within:ring-kumo-brand`,children:[t??(0,I.jsx)(T,{className:`h-4 w-4 text-kumo-subtle`,weight:`bold`}),e,n]})}var V=(0,k.forwardRef)(function({children:e,className:n},r){return(0,I.jsx)(`div`,{ref:r,className:t(`relative min-h-0 flex-1 scroll-py-2 overflow-y-auto rounded-b-lg bg-kumo-base px-2 py-2 ring-1 ring-kumo-hairline`,n),children:e})});V.displayName=`CommandPalette.List`;function H({children:e,className:n,...r}){return(0,I.jsx)(h,{className:t(`space-y-0.5`,n),...r,children:e})}function U({children:e,className:n}){return(0,I.jsx)(ee,{className:t(`mb-2 px-2 pt-1 text-xs font-semibold text-kumo-subtle`,n),children:e})}function W({value:e,disabled:n,children:r,className:i,onClick:a}){return(0,I.jsx)(w,{value:e,disabled:n,onClick:a,className:t(`group flex w-full items-center gap-3 px-2 py-1.5 text-start text-base transition-colors`,`cursor-pointer data-[highlighted]:bg-kumo-overlay`,`rounded-lg`,n&&`cursor-default opacity-50`,i),children:r})}function G({children:e}){return(0,I.jsx)(g,{children:(0,I.jsx)(`div`,{className:`p-8 text-center`,children:(0,I.jsx)(`p`,{className:`text-kumo-subtle`,children:e??`No results found`})})})}function K({children:e}){return(0,I.jsx)(`div`,{className:`flex items-center justify-center p-8`,children:e??(0,I.jsx)(r,{size:24})})}function q({children:e}){return(0,I.jsx)(`div`,{className:`flex items-center justify-between rounded-b-lg bg-kumo-elevated px-4 py-3 text-xs text-kumo-subtle`,children:e})}function J({text:e,highlights:t,className:n}){if(!t||t.length===0)return(0,I.jsx)(`span`,{className:n,children:e});let r=[...t].sort((e,t)=>e[0]-t[0]),i=[];for(let e of r){let t=i[i.length-1];t&&e[0]<=t[1]+1?t[1]=Math.max(t[1],e[1]):i.push([...e])}let a=[],o=0;return i.forEach((t,n)=>{let[r,i]=t;r>o&&a.push((0,I.jsx)(`span`,{children:e.slice(o,r)},`text-${n}`)),a.push((0,I.jsx)(`mark`,{className:`rounded-sm bg-kumo-warning/50 text-kumo-default`,children:e.slice(r,i+1)},`highlight-${n}`)),o=i+1}),o<e.length&&a.push((0,I.jsx)(`span`,{children:e.slice(o)},`text-end`)),(0,I.jsx)(`span`,{className:n,children:a})}function oe({title:e,breadcrumbs:n,titleHighlights:r,breadcrumbHighlights:i,description:a,icon:o,value:s,onClick:c,showArrow:u=!0,external:p=!1,nonInteractive:m=!1}){return(0,I.jsxs)(w,{value:s,onClick:m?void 0:e=>c(e),className:t(`group flex w-full items-center gap-3 rounded-lg px-2 py-1.5 text-start transition-colors`,m?`cursor-default`:`cursor-pointer data-[highlighted]:bg-kumo-overlay`),children:[o&&(0,I.jsx)(`div`,{className:`flex flex-shrink-0 items-center text-kumo-subtle`,children:o}),(0,I.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,I.jsxs)(`div`,{className:`flex items-center gap-2 truncate`,children:[n?.map((e,t)=>(0,I.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,I.jsx)(J,{text:e,highlights:i?.[t],className:`text-base text-kumo-default`}),(0,I.jsx)(f,{className:`h-3 w-3 flex-shrink-0 text-kumo-subtle rtl:-scale-x-100`,weight:`bold`})]},t)),(0,I.jsx)(J,{text:e,highlights:r,className:`text-base text-kumo-default`}),p&&(0,I.jsx)(d,{className:`h-3.5 w-3.5 flex-shrink-0 text-kumo-subtle`}),a&&(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`span`,{className:`text-kumo-subtle`,children:`—`}),(0,I.jsx)(`span`,{className:`truncate text-sm text-kumo-subtle`,children:a})]})]})}),u&&!p&&!m&&(0,I.jsx)(l,{className:`h-4 w-4 flex-shrink-0 text-kumo-subtle rtl:-scale-x-100 opacity-0 transition-opacity group-data-[highlighted]:opacity-100`})]})}function se({children:e,className:n}){return(0,I.jsx)(`div`,{className:t(`flex max-h-[60vh] flex-col overflow-hidden rounded-lg bg-kumo-elevated`,n),children:e})}var Y=(0,k.createContext)({}),ce=()=>!0;function X({children:e,items:t,value:n,onValueChange:r,onItemHighlighted:i,itemToStringValue:a,filter:o=ce,open:s=!0,className:c,onSelect:l,getSelectableItems:u}){let d=(0,k.useRef)(-1),f=(0,k.useCallback)((e,t)=>{d.current=t.index,i?.(e,t)},[i]),p=(0,k.useCallback)(e=>{let n=e.key===`Enter`,r=e.metaKey||e.ctrlKey;if(n&&r&&l&&u){let n=u(t)[d.current];n!==void 0&&(e.preventDefault(),l(n,{newTab:!0}))}},[t,l,u]);return(0,I.jsx)(se,{className:c,children:(0,I.jsx)(re,{items:t,value:n,onValueChange:r,onItemHighlighted:f,itemToStringValue:a,filter:o,autoHighlight:`always`,keepHighlight:!0,open:s,children:(0,I.jsx)(Y.Provider,{value:{onInputKeyDown:p},children:e})})})}function Z({autoFocus:e=!0,placeholder:n,className:r,onKeyDown:i,leading:a,trailing:o,...s}){let{onInputKeyDown:c}=(0,k.useContext)(Y),{onClose:l}=(0,k.useContext)(L),u=(0,k.useCallback)(e=>{if(i?.(e),!e.defaultPrevented){if(e.key===`Escape`&&l){e.preventDefault(),l();return}c?.(e)}},[c,i,l]);return(0,I.jsx)(B,{leading:a,trailing:o,children:(0,I.jsx)(v,{placeholder:n,className:t(`kumo-input-placeholder flex-1 border-none bg-transparent text-base`,`outline-none`,r),onKeyDown:u,autoFocus:e,...s})})}function le({children:e,className:n}){return(0,I.jsx)(y,{className:t(`space-y-3`,n),children:e})}var Q={Dialog:R,Root:z,Panel:X,Input:Z,List:V,Group:H,GroupLabel:U,Item:W,ResultItem:oe,HighlightedText:J,Empty:G,Loading:K,Footer:q,Results:le,Items:_},ue={entry:(0,I.jsx)(E,{}),page:(0,I.jsx)(p,{}),term:(0,I.jsx)(ae,{}),asset:(0,I.jsx)(F,{}),menu:(0,I.jsx)(m,{}),redirect:(0,I.jsx)(u,{icon:N})};function de({open:e,onOpenChange:t,commands:n,search:r}){let{t:i}=ie(),[a,o]=(0,k.useState)(``),l=O(a.trim(),150),u=r!==void 0&&l.length>=2,d=s({queryKey:[`site-search`,r?.siteId,l],queryFn:()=>x.search.site(r?.siteId??``,l),enabled:e&&u,staleTime:3e4,placeholderData:c}),f=u&&a.trim().length>=2?d.data?.hits??[]:[],p=D(n,a,f),m=u&&d.isFetching&&p.length===0,h=e=>{e||o(``),t(e)},g=(e,t=!1)=>{h(!1),e.type===`command`?e.command.run():r?.open(e.hit,t)};return(0,I.jsxs)(Q.Root,{open:e,onOpenChange:h,items:p,value:a,onValueChange:o,itemToStringValue:e=>e.id,getSelectableItems:e=>e.flatMap(e=>e.items),onSelect:(e,{newTab:t})=>g(e,t),children:[(0,I.jsx)(Q.Input,{placeholder:i(r?`commands.searchPlaceholder`:`commands.placeholder`)}),(0,I.jsx)(Q.List,{children:m?(0,I.jsx)(Q.Loading,{}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(Q.Results,{children:e=>(0,I.jsxs)(Q.Group,{items:e.items,children:[(0,I.jsx)(Q.GroupLabel,{children:i(`commands.groups.${e.id}`)}),(0,I.jsx)(Q.Items,{children:e=>e.type===`command`?(0,I.jsx)(Q.Item,{value:e,onClick:()=>g(e),children:e.label},e.id):(0,I.jsx)(Q.ResultItem,{value:e,title:e.label,breadcrumbs:pe(e.hit,i),icon:ue[e.hit.kind],onClick:t=>g(e,t.metaKey||t.ctrlKey)},e.id)})]},e.id)}),(0,I.jsx)(Q.Empty,{children:i(r?`commands.searchEmpty`:`commands.empty`)})]})}),(0,I.jsxs)(Q.Footer,{children:[(0,I.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,I.jsx)($,{keys:`↑↓`,label:i(`commands.hintNavigate`)}),(0,I.jsx)($,{keys:`↵`,label:i(`commands.hintSelect`)}),r?(0,I.jsx)($,{keys:`⌘↵`,label:i(`commands.hintNewTab`)}):null]}),(0,I.jsx)($,{keys:`esc`,label:i(`commands.hintClose`)})]})]})}var fe=new Set([`draft`,`review`,`published`,`archived`]);function pe(e,t){let n=e.status&&fe.has(e.status)&&e.status!==`published`?t(`status.${e.status}`):void 0;return[e.context,e.detail,n].filter(e=>!!e)}function $({keys:e,label:t}){return(0,I.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,I.jsx)(`kbd`,{className:`rounded bg-kumo-recessed px-1 font-mono text-kumo-subtle text-xs`,children:e}),(0,I.jsx)(`span`,{children:t})]})}export{de as CommandMenu};
|
|
2
|
+
//# sourceMappingURL=CommandMenu-CB2kq5oc.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,h as a}from"./tanstack-BRxyYm4G.js";import{t as o}from"./calendar-locale-D4aJYygH.js";import{n as s}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{n as c,t as l}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{t as u}from"./Toast-
|
|
2
|
-
//# sourceMappingURL=CommentThreadControls-
|
|
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,h as a}from"./tanstack-BRxyYm4G.js";import{t as o}from"./calendar-locale-D4aJYygH.js";import{n as s}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{n as c,t as l}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{t as u}from"./Toast-CXAk8wMq.js";import{a as d,t as f}from"./api-Mdeo6gzg.js";import{t as p}from"./date-picker-cotkexrpqu5tjikv-C9Knj8LQ.js";import{t as m}from"./layer-dialog-j5ywmzs46ccg6oqy-DLBR2ljP.js";import{c as h}from"./comment-model-CArtcrfg.js";import{c as g}from"./i18n-CdW50___.js";import{t as _}from"./api-errors-CXLBmdpk.js";import{F as v}from"./index-DYyDeKnk.js";import{t as y}from"./ConfirmDialog-DCuw5jgs.js";import{f as b,s as x}from"./comments-B1PIozwq.js";var S=e(t(),1),C=n();function w(e,t,n,r=Date.now()){if(!t.closesAt)return e(`comments.thread.neverCloses`);let i=h(t.closesAt,n);return Date.parse(t.closesAt)<=r?e(`comments.thread.closed`,{date:i}):e(`comments.thread.closes`,{date:i})}function T(e,t){let{t:n}=g(`comments`),r=u(),o=i();return a({mutationFn:n=>f.comments.setThread(e,t,n.rev,{mode:n.mode,...n.closesAt===void 0?{}:{closesAt:n.closesAt}}),onSuccess:async()=>{r.success(n(`comments.thread.saved`)),await o.invalidateQueries({queryKey:b(e)})},onError:async t=>{let i=t instanceof d&&t.status===409;r.error(n(`comments.thread.failed`),i?n(`comments.thread.conflict`):_(n,t)),i&&await o.invalidateQueries({queryKey:b(e)})}})}function E({open:e,onOpenChange:t,current:n,busy:i,error:a,onSave:u}){let{t:d,locale:f}=g(`comments`),[_,y]=(0,S.useState)();return(0,S.useEffect)(()=>{e&&y(n?new Date(n):void 0)},[e,n]),(0,C.jsx)(m.Root,{open:e,onOpenChange:t,dismissDisabled:i,children:(0,C.jsxs)(m.Content,{size:`sm`,closeLabel:d(`common.close`),children:[(0,C.jsx)(m.Title,{children:d(`comments.thread.closeDialogTitle`)}),(0,C.jsx)(m.Description,{children:d(`comments.thread.closeDialogDescription`)}),(0,C.jsx)(m.Body,{children:(0,C.jsxs)(`div`,{className:`grid justify-items-start gap-4`,"data-testid":`close-date-dialog`,children:[(0,C.jsx)(p,{mode:`single`,selected:_,onChange:e=>y(e),disabled:{before:new Date},...o(f,{previousMonth:d(`comments.thread.calendar.previousMonth`),nextMonth:d(`comments.thread.calendar.nextMonth`),navigation:d(`comments.thread.calendar.months`),day:(e,{today:t,selected:n})=>{let r=n?d(`comments.thread.calendar.daySelected`,{date:e}):e;return t?d(`comments.thread.calendar.dayToday`,{date:r}):r}})}),_&&(0,C.jsx)(s,{variant:`secondary`,size:`sm`,children:d(`comments.thread.closes`,{date:h(x(_),f)})}),n&&(0,C.jsx)(r,{variant:`ghost`,size:`sm`,icon:(0,C.jsx)(v,{}),onClick:()=>u(null),disabled:i,"data-testid":`close-date-clear`,children:d(`comments.thread.clearClose`)}),a&&(0,C.jsx)(l,{variant:`error`,size:`sm`,icon:(0,C.jsx)(c,{weight:`fill`}),title:d(`comments.thread.failed`),description:a})]})}),(0,C.jsx)(m.Actions,{dismissLabel:d(`common.cancel`),children:(0,C.jsx)(m.Actions.Primary,{loading:i,disabled:!_,onClick:()=>_&&u(x(_)),"data-testid":`close-date-save`,children:d(`comments.thread.saveClose`)})})]})})}function D({open:e,onOpenChange:t,busy:n,onConfirm:r}){let{t:i}=g(`comments`);return(0,C.jsx)(y,{open:e,onOpenChange:t,title:i(`comments.thread.hideConfirmTitle`),description:i(`comments.thread.hideConfirmDescription`),confirmLabel:i(`comments.thread.hideConfirm`),busy:n,onConfirm:r})}export{T as i,D as n,w as r,E as t};
|
|
2
|
+
//# sourceMappingURL=CommentThreadControls-CVB-n4D_.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./IconBase.es-BZDpYMnj.js";import{i as r,r as i}from"./react-CDCuUAOg.js";import{t as a}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{n as o,t as s}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{S as c,_ as l,d as u,h as d,l as f,m as p,u as m}from"./tanstack-BRxyYm4G.js";import{_ as h,a as g,b as _,d as v,f as y,g as b,h as x,i as S,l as C,m as ee,o as w,p as T,s as te,t as ne,u as re,v as ie}from"./Comments-BXWLWhKk.js";import{r as ae,t as oe}from"./DirectionalIcon-UZJFXGY_.js";import{t as se}from"./ArrowSquareOut.es-BWeH9CSw.js";import{r as ce}from"./calendar-locale-D4aJYygH.js";import{t as E}from"./CaretUp.es-DBg3pdpL.js";import{m as le,n as D,t as O}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{n as k,t as A}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{a as j,d as ue,s as de}from"./useMe-D5W0xdO9.js";import{t as fe}from"./Toast-CXAk8wMq.js";import{t as M}from"./input-h5ox92gf13ge04hp-CDAaOl0A.js";import{c as N,t as P}from"./api-Mdeo6gzg.js";import{t as F}from"./collapsible-l8g94on4w7qfosmn-Bn4JrutR.js";import{t as pe}from"./tabs-gf57qqf1wcclaejq-CirIVMnq.js";import{n as me}from"./Crumbs-CJ6UlbPv.js";import{n as I}from"./useChartPalette-BnJNJ44v.js";import{t as he}from"./Settings-m8Ai9oIJ.js";import{t as L}from"./layer-dialog-j5ywmzs46ccg6oqy-DLBR2ljP.js";import{c as ge}from"./intl-C22KAx_l.js";import{r as _e}from"./format-DGE2c-4V.js";import{a as R,l as z,n as B,o as V,s as H}from"./comment-model-CArtcrfg.js";import{t as ve}from"./AuditBadges-CPDfmk_z.js";import{t as ye}from"./InsetPanel-CHSg953_.js";import{t as be}from"./SectionCard-BxLoZOcp.js";import{p as xe}from"./roles-B7USahqW.js";import{C as Se,E as Ce,at as we,ct as Te,et as Ee,it as De,x as Oe}from"./index-DYyDeKnk.js";import{t as ke}from"./EntryPath-CkymIfuw.js";import{b as Ae,f as je,n as Me,u as Ne,v as U,x as Pe}from"./comments-B1PIozwq.js";import{i as Fe,n as Ie,r as Le,t as Re}from"./CommentThreadControls-CVB-n4D_.js";import{n as ze,r as Be}from"./EditorLayout-FlmsPOxF.js";var W=e(r(),1),Ve=new Map([[`bold`,W.createElement(W.Fragment,null,W.createElement(`path`,{d:`M233.86,110.48,65.8,14.58A20,20,0,0,0,37.15,38.64L67.33,128,37.15,217.36A20,20,0,0,0,56,244a20.1,20.1,0,0,0,9.81-2.58l.09-.06,168-96.07a20,20,0,0,0,0-34.81ZM63.19,215.26,88.61,140H144a12,12,0,0,0,0-24H88.61L63.18,40.72l152.76,87.17Z`}))],[`fill`,W.createElement(W.Fragment,null,W.createElement(`path`,{d:`M240,127.89a16,16,0,0,1-8.18,14L63.9,237.9A16.15,16.15,0,0,1,56,240a16,16,0,0,1-15-21.33l27-79.95A4,4,0,0,1,71.72,136H144a8,8,0,0,0,8-8.53,8.19,8.19,0,0,0-8.26-7.47h-72a4,4,0,0,1-3.79-2.72l-27-79.94A16,16,0,0,1,63.84,18.07l168,95.89A16,16,0,0,1,240,127.89Z`}))],[`regular`,W.createElement(W.Fragment,null,W.createElement(`path`,{d:`M231.87,114l-168-95.89A16,16,0,0,0,40.92,37.34L71.55,128,40.92,218.67A16,16,0,0,0,56,240a16.15,16.15,0,0,0,7.93-2.1l167.92-96.05a16,16,0,0,0,.05-27.89ZM56,224a.56.56,0,0,0,0-.12L85.74,136H144a8,8,0,0,0,0-16H85.74L56.06,32.16A.46.46,0,0,0,56,32l168,95.83Z`}))]]),G=W.forwardRef((e,t)=>W.createElement(n,{ref:t,...e,weights:Ve}));G.displayName=`PaperPlaneRightIcon`;var He=G,K=i();function q({label:e,children:t}){return(0,K.jsxs)(`div`,{className:`grid min-w-0 gap-0.5 @md:grid-cols-[minmax(0,12rem)_minmax(0,1fr)] @md:gap-4`,children:[(0,K.jsx)(`dt`,{children:(0,K.jsx)(D,{as:`span`,variant:`secondary`,size:`sm`,children:e})}),(0,K.jsx)(`dd`,{className:`m-0 min-w-0`,children:t})]})}function J({actor:e,words:t,approvedBy:n}){let r=e.name??e.id;return(0,K.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,K.jsx)(ve,{kind:e.kind,label:t.actorKind[e.kind]}),(0,K.jsx)(`span`,{dir:`auto`,className:`min-w-0 wrap-anywhere`,children:(0,K.jsx)(D,{as:`span`,children:r})}),n&&(0,K.jsx)(D,{as:`span`,variant:`secondary`,size:`sm`,children:t.approvedFor(n,r)})]})}function Y({moderation:e,locale:t,labels:n,words:r,approvedBy:i}){let a=z(e.at,t).absolute,o=r.effect[e.action];return(0,K.jsxs)(ye,{label:n.title,className:`@container`,children:[(0,K.jsx)(D,{as:`span`,bold:!0,children:n.title}),(0,K.jsxs)(`dl`,{className:`m-0 grid gap-3`,"data-statement-of-reasons":e.action,children:[(0,K.jsx)(q,{label:n.decision,children:(0,K.jsxs)(`span`,{className:`grid gap-0.5`,children:[(0,K.jsx)(D,{as:`span`,children:r.action[e.action]}),o&&(0,K.jsx)(D,{as:`span`,variant:`secondary`,size:`sm`,children:o})]})}),(0,K.jsx)(q,{label:n.grounds,children:(0,K.jsx)(D,{as:`span`,variant:e.reasonCode?`body`:`secondary`,children:e.reasonCode?r.reason[e.reasonCode]:n.noGrounds})}),(0,K.jsx)(q,{label:n.facts,children:e.note?(0,K.jsx)(`span`,{dir:`auto`,className:`block min-w-0 whitespace-pre-line wrap-anywhere`,children:(0,K.jsx)(D,{as:`span`,children:e.note})}):(0,K.jsx)(D,{as:`span`,variant:`secondary`,children:n.noFacts})}),(0,K.jsx)(q,{label:n.automated,children:(0,K.jsx)(D,{as:`span`,children:e.automated?n.automatedYes:n.automatedNo})}),(0,K.jsx)(q,{label:n.decidedBy,children:(0,K.jsx)(J,{actor:e.actor,words:r,approvedBy:i})}),(0,K.jsx)(q,{label:n.decidedAt,children:(0,K.jsx)(`time`,{dateTime:e.at,children:(0,K.jsx)(D,{as:`span`,children:a})})}),n.redress&&n.redressLabel&&(0,K.jsx)(q,{label:n.redressLabel,children:(0,K.jsx)(D,{as:`span`,children:n.redress})})]})]})}function X({events:e,locale:t,now:n,labels:r,words:i,defaultOpen:a=!1}){let[o,s]=(0,W.useState)(a),c=[...e].sort((e,t)=>t.at.localeCompare(e.at));return(0,K.jsxs)(F.Root,{open:o,onOpenChange:s,children:[(0,K.jsx)(F.DefaultTrigger,{children:r.title(e.length)}),(0,K.jsx)(F.DefaultPanel,{children:c.length===0?(0,K.jsx)(D,{variant:`secondary`,children:r.empty}):(0,K.jsx)(`ol`,{className:`m-0 grid list-none gap-3 p-0`,"data-testid":`comment-history`,children:c.map(e=>{let r=z(e.at,t,n);return(0,K.jsxs)(`li`,{className:`grid min-w-0 gap-1`,"data-event-action":e.action,children:[(0,K.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,K.jsx)(D,{as:`span`,bold:!0,children:i.action[e.action]}),e.reasonCode&&(0,K.jsxs)(D,{as:`span`,variant:`secondary`,children:[`· `,i.reason[e.reasonCode]]}),(0,K.jsx)(`time`,{dateTime:e.at,title:r.absolute,children:(0,K.jsxs)(D,{as:`span`,variant:`secondary`,size:`sm`,children:[`· `,r.relative]})})]}),(0,K.jsx)(J,{actor:e.actor,words:i,approvedBy:e.approvedBy}),e.note&&(0,K.jsx)(`span`,{dir:`auto`,className:`block min-w-0 whitespace-pre-line wrap-anywhere`,children:(0,K.jsx)(D,{as:`span`,variant:`secondary`,children:e.note})})]},e.id)})})})]})}function Z({reports:e,locale:t,now:n,labels:r,renderActions:i}){if(e.length===0)return null;let o=e.filter(e=>!e.resolvedAt).length,s=B.map(t=>[t,e.filter(e=>e.reason===t).length]).filter(([,e])=>e>0),c=ge(t),l=[...e].sort((e,t)=>Number(!!e.resolvedAt)-Number(!!t.resolvedAt)||t.createdAt.localeCompare(e.createdAt));return(0,K.jsxs)(`section`,{"aria-label":r.title,className:`grid min-w-0 gap-3`,"data-testid":`comment-reports`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`flex h-lh items-center text-kumo-danger`,"aria-hidden":!0,children:(0,K.jsx)(Ee,{size:16,weight:`fill`})}),(0,K.jsx)(D,{as:`span`,bold:!0,children:r.summary(o,e.length)}),s.map(([e,t])=>(0,K.jsxs)(a,{variant:`outline`,children:[r.reason[e],` · `,(0,K.jsx)(`span`,{className:`tabular-nums`,children:c.format(t)})]},e))]}),(0,K.jsx)(`ol`,{className:`m-0 grid list-none gap-3 p-0`,children:l.map(e=>(0,K.jsxs)(`li`,{className:`grid min-w-0 gap-2`,"data-report-reason":e.reason,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center justify-between gap-2`,children:[(0,K.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,K.jsx)(a,{variant:e.reason===`illegal-content`?`error`:`warning`,children:r.reason[e.reason]}),(0,K.jsx)(`span`,{className:`inline-flex`,"data-report-state":e.resolvedAt?`resolved`:`open`,children:(0,K.jsx)(a,{variant:e.resolvedAt?`neutral`:`warning`,appearance:`dot`,children:e.resolvedAt?r.resolved:r.open})}),(0,K.jsx)(_,{at:e.createdAt,locale:t,...n?{now:n}:{}})]}),!e.resolvedAt&&i&&(0,K.jsx)(`span`,{className:`flex items-center gap-2`,children:i(e)})]}),e.details?(0,K.jsx)(ye,{variant:`recessed`,label:r.details,children:(0,K.jsx)(`span`,{dir:`auto`,className:`block min-w-0 whitespace-pre-line wrap-anywhere`,"data-report-details":!0,children:(0,K.jsx)(D,{as:`span`,children:e.details})})}):(0,K.jsx)(D,{variant:`secondary`,size:`sm`,children:r.noDetails}),e.resolution&&(0,K.jsx)(D,{variant:`secondary`,size:`sm`,children:e.resolution})]},e.id))})]})}function Ue({label:e}){return(0,K.jsxs)(`div`,{className:`grid gap-0 divide-y divide-kumo-hairline`,"data-testid":`comment-thread-loading`,children:[(0,K.jsx)(`span`,{role:`status`,className:`sr-only`,children:e}),[0,1,2].map(e=>(0,K.jsxs)(`div`,{"aria-hidden":!0,className:t(`grid gap-2 px-4 py-3 sm:px-5`,e===1&&`ms-6 sm:ms-10`),children:[(0,K.jsx)(O,{minWidth:20,maxWidth:35}),(0,K.jsx)(O,{minWidth:60,maxWidth:95}),(0,K.jsx)(O,{minWidth:40,maxWidth:70})]},e))]})}function We({comments:e,words:n,labels:r,locale:i,now:a,collapseAfter:o=3,renderActions:s,renderDetails:c,renderReply:l,selection:u,loading:d,empty:f,error:p,className:m}){let h=(0,W.useMemo)(()=>R(e),[e]),g=(0,W.useMemo)(()=>new Map(e.map(e=>[e.id,e])),[e]),[_,v]=(0,W.useState)(()=>new Set),[y,x]=(0,W.useState)(null),S=I(),C=(0,W.useRef)(null);(0,W.useEffect)(()=>()=>{C.current&&clearTimeout(C.current)},[]);let ee=(0,W.useCallback)(e=>{let t=g.get(e)?.parentId??e,n=h.find(e=>e.id===t)?.replies.findIndex(t=>t.id===e)??-1,r=()=>{let t=document.getElementById(V(e));t&&(t.scrollIntoView?.({behavior:S?`auto`:`smooth`,block:`center`}),t.focus({preventScroll:!0}),x(e),C.current&&clearTimeout(C.current),C.current=setTimeout(()=>x(null),2e3))};n>=o&&!_.has(t)?(v(e=>new Set(e).add(t)),requestAnimationFrame(r)):r()},[g,h,o,_,S]);if(p)return(0,K.jsx)(K.Fragment,{children:p});if(d)return(0,K.jsx)(Ue,{label:r.loading});if(h.length===0)return(0,K.jsx)(K.Fragment,{children:f});let w=(e,t)=>{let r=t&&e.inReplyToId&&e.inReplyToId!==e.parentId?g.get(e.inReplyToId):void 0;return(0,K.jsx)(b,{comment:e,words:n,locale:i,showEntry:!1,highlighted:y===e.id,onJump:ee,...a?{now:a}:{},...r?{inReplyTo:{id:r.id,name:H(r.author)??n.author.anonymous}}:{},...u?{selection:{checked:u.selected.has(e.id),onCheckedChange:t=>u.onToggle(e.id,t),label:u.label(e)}}:{},actions:s?.(e),children:c?.(e)})};return(0,K.jsx)(`ol`,{"aria-label":r.thread,className:t(`m-0 grid list-none divide-y divide-kumo-hairline p-0`,m),"data-testid":`comment-thread`,children:h.map(e=>(0,K.jsx)(Q,{node:e,row:w,words:n,labels:r,collapseAfter:o,expanded:_.has(e.id),onExpandedChange:t=>v(n=>{let r=new Set(n);return t?r.add(e.id):r.delete(e.id),r}),renderReply:l},e.id))})}function Q({node:e,row:t,words:n,labels:r,collapseAfter:i,expanded:a,onExpandedChange:o,renderReply:c}){let l=e.comment?c?.(e.comment):void 0,u=(0,W.useId)(),d=Math.max(0,e.replies.length-i),f=a?e.replies:e.replies.slice(0,i),p=e.comment?H(e.comment.author)??n.author.anonymous:n.removed;return(0,K.jsxs)(`li`,{className:`min-w-0`,"data-thread-root":e.id,children:[e.comment?t(e.comment,!1):(0,K.jsx)(`div`,{id:V(e.id),tabIndex:-1,className:`px-4 py-3 focus:outline-none sm:px-5`,"data-comment-placeholder":!0,children:(0,K.jsx)(D,{variant:`secondary`,children:n.removed})}),e.replies.length>0&&(0,K.jsxs)(`div`,{className:`ms-4 border-kumo-hairline border-s pb-2 sm:ms-8`,children:[(0,K.jsx)(`ol`,{id:u,"aria-label":r.replies(p),className:`m-0 grid list-none divide-y divide-kumo-hairline p-0`,children:f.map(e=>(0,K.jsxs)(`li`,{className:`min-w-0`,children:[t(e,!0),(0,K.jsx)($,{children:c?.(e)})]},e.id))}),d>0&&(0,K.jsx)(`div`,{className:`px-4 pt-1 sm:px-5`,children:(0,K.jsx)(s,{variant:`ghost`,size:`sm`,"aria-expanded":a,"aria-controls":u,icon:a?(0,K.jsx)(E,{size:16}):(0,K.jsx)(Te,{size:16}),onClick:()=>o(!a),children:a?r.showFewer:r.showMore(d)})})]}),(0,K.jsx)($,{children:l})]})}function $({children:e}){return e==null||e===!1?null:(0,K.jsx)(`div`,{className:`px-4 pb-4 sm:px-5`,children:e})}var Ge={open:`success`,closed:`neutral`,hidden:`warning`,off:`neutral`};function Ke({siteId:e,comment:t,badge:n,onDone:r}){let{t:i,locale:a,words:o}=T(),l=fe(),u=c(),f=de().data,p=f?.actor.name??f?.actor.id??``,[m,g]=(0,W.useState)(``),[_,v]=(0,W.useState)(!1),y=U(m),b=d({mutationFn:()=>P.comments.reply(e,t.id,m.trim()),onSuccess:async()=>{l.success(i(`comments.reply.published`),i(`comments.reply.publishedDescription`)),g(``),r(),await u.invalidateQueries({queryKey:je(e)})}}),x=[...m].length;return(0,K.jsxs)(`form`,{className:`grid gap-4`,"data-testid":`reply-form`,onSubmit:e=>{e.preventDefault(),v(!0),y||b.mutate()},children:[(0,K.jsx)(M,{label:i(`comments.reply.title`,{name:p}),description:(0,K.jsxs)(`span`,{className:`flex items-start justify-between gap-3`,children:[(0,K.jsx)(`span`,{className:`min-w-0`,children:i(`comments.reply.hint`)}),(0,K.jsx)(`span`,{className:x>5e3?`shrink-0 text-kumo-danger tabular-nums`:`shrink-0 tabular-nums`,"data-testid":`reply-count`,children:i(`comments.reply.counter`,{count:x,max:_e(a,Me)})})]}),value:m,onValueChange:g,error:_&&y?i(y===`short`?`comments.reply.tooShort`:`comments.reply.tooLong`):void 0,autoResize:!0,minRows:3,maxRows:12,className:`w-full`,"data-testid":`reply-text`}),(0,K.jsxs)(ye,{variant:`recessed`,label:i(`comments.reply.preview`),children:[(0,K.jsx)(D,{as:`span`,variant:`secondary`,size:`sm`,children:i(`comments.reply.preview`)}),(0,K.jsxs)(`div`,{className:`grid gap-2`,"data-testid":`reply-preview`,children:[(0,K.jsx)(ie,{author:{kind:`staff`,personId:``,name:p,badge:n},words:o}),m.trim()?(0,K.jsx)(h,{text:m,newTabLabel:o.newTab}):(0,K.jsx)(D,{variant:`secondary`,children:i(`comments.reply.previewEmpty`)})]})]}),(0,K.jsx)(Oe,{error:b.error,title:i(`comments.reply.failed`),size:`sm`}),(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,K.jsx)(D,{variant:`secondary`,size:`sm`,as:`span`,children:i(`comments.reply.badgeLine`,{badge:o.author[n]})}),(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(s,{variant:`ghost`,onClick:r,disabled:b.isPending,children:i(`comments.reply.cancel`)}),(0,K.jsx)(s,{type:`submit`,variant:`primary`,icon:(0,K.jsx)(oe,{icon:He}),loading:b.isPending,"data-testid":`reply-publish`,children:i(`comments.reply.publish`)})]})]})]})}function qe({report:e,onOpenChange:t,busy:n,error:r,onConfirm:i}){let{t:a}=T(),[o,s]=(0,W.useState)(``),[c,l]=(0,W.useState)(!1);(0,W.useEffect)(()=>{e&&(s(``),l(!1))},[e]);let u=o.trim()===``;return(0,K.jsx)(L.Root,{open:e!==void 0,onOpenChange:t,dismissDisabled:n,children:(0,K.jsxs)(L.Content,{size:`sm`,closeLabel:a(`common.close`),children:[(0,K.jsx)(L.Title,{children:a(`comments.reports.resolveTitle`)}),(0,K.jsx)(L.Description,{children:a(`comments.reports.resolveDescription`)}),(0,K.jsx)(L.Body,{children:(0,K.jsxs)(`div`,{className:`grid gap-4`,"data-testid":`resolve-dialog`,children:[(0,K.jsx)(M,{label:a(`comments.reports.resolution`),description:a(`comments.reports.resolutionHint`),value:o,onValueChange:s,error:c&&u?a(`comments.reports.resolutionRequired`):void 0,maxLength:500,autoResize:!0,minRows:2,maxRows:5,className:`w-full`}),r&&(0,K.jsx)(A,{variant:`error`,size:`sm`,icon:(0,K.jsx)(k,{weight:`fill`}),title:a(`comments.reports.failed`),description:r})]})}),(0,K.jsx)(L.Actions,{dismissLabel:a(`common.cancel`),children:(0,K.jsx)(L.Actions.Primary,{loading:n,onClick:()=>{l(!0),u||i(o.trim())},children:a(`comments.reports.resolveConfirm`)})})]})})}function Je({siteId:e,comment:t,focused:n,canResolve:r,onResolve:i}){let{t:a,locale:o}=T(),c=t.status===`hidden`||t.status===`spam`||t.status===`deleted`,u=(t.reports?.count??0)>0,[d,f]=(0,W.useState)(!1),p=n||u||c||d,m=l({queryKey:[...je(e),`comment`,t.id],queryFn:()=>P.comments.get(e,t.id),enabled:p}),h=te(a);if(!p)return(0,K.jsx)(`span`,{children:(0,K.jsx)(s,{variant:`ghost`,size:`sm`,icon:(0,K.jsx)(De,{}),onClick:()=>f(!0),"data-testid":`comment-history-open`,children:a(`comments.history.show`)})});if(m.isPending)return(0,K.jsxs)(`div`,{className:`grid gap-2`,role:`status`,children:[(0,K.jsx)(`span`,{className:`sr-only`,children:a(`common.loading`)}),(0,K.jsx)(O,{minWidth:30,maxWidth:50})]});if(!m.data)return(0,K.jsx)(Oe,{error:m.error,onRetry:()=>void m.refetch()});let{history:_,reports:y}=m.data;return(0,K.jsxs)(`div`,{className:`grid gap-3`,"data-testid":`comment-details`,children:[c&&t.moderation&&(0,K.jsx)(Y,{moderation:t.moderation,locale:o,labels:v(a),words:h}),y.length>0&&(0,K.jsx)(Z,{reports:y.map(e=>({id:e.id,reason:e.reason,createdAt:e.createdAt,...e.details?{details:e.details}:{},...e.resolvedAt?{resolvedAt:e.resolvedAt}:{},...e.resolution?{resolution:e.resolution}:{}})),locale:o,labels:C(a),renderActions:e=>e.resolvedAt?null:(0,K.jsx)(s,{variant:`secondary`,size:`sm`,disabled:!r,onClick:()=>{let t=y.find(t=>t.id===e.id);t&&i(t)},children:a(`comments.reports.resolve`)})}),(0,K.jsx)(X,{events:_.map(g),locale:o,labels:w(a),words:h,defaultOpen:n||d})]})}function Ye(){let{t:e,locale:t,words:n}=T(),{siteId:r,nodeId:i}=u({from:`/sites/$siteId/comments/$nodeId`}),h=m({from:`/sites/$siteId/comments/$nodeId`}),g=f(),_=fe(),v=c(),b=ue(),C=!de().isPending,w=j(`comments.read`),te=j(`comments.moderateAny`),ie=j(`comments.moderate`),oe=j(`comments.reply`),E=l({queryKey:[`entry`,r,i],queryFn:()=>P.entries.get(r,i),enabled:C&&w.allowed,retry:!1}),k=l({queryKey:Ne(r,i),queryFn:()=>P.comments.thread(r,i),enabled:C&&w.allowed,retry:(e,t)=>!N(t)&&e<1}),M=p({queryKey:[...je(r),`list`,`thread`,i],queryFn:({pageParam:e})=>P.comments.list(r,{node:i,order:`oldest`,limit:50,...e?{cursor:e}:{}}),initialPageParam:void 0,getNextPageParam:e=>e.nextCursor,enabled:C&&w.allowed,retry:(e,t)=>!N(t)&&e<1}),F=M.data?.pages.flatMap(e=>e.items)??[],I=new Map(F.map(e=>[e.id,e])),[L,ge]=(0,W.useState)(h.reply),[R,z]=(0,W.useState)({open:!1,action:`hide`,ids:[]}),[B,V]=(0,W.useState)(),[H,ve]=(0,W.useState)(),[ye,Te]=(0,W.useState)(!1),[Ee,De]=(0,W.useState)(!1),Me=E.data?xe(E.data,b):!1,U=te.allowed||Me?void 0:te.reason,Ve=oe.allowed||Me?void 0:oe.reason,G=ie.allowed&&!U,He=E.data?.title??``,q=x(r,()=>z(e=>({...e,open:!1}))),J=ee(r),Y=Fe(r,i),X=d({mutationFn:e=>P.comments.resolveReport(r,e.report.id,e.resolution),onSuccess:async()=>{ve(void 0),_.success(e(`comments.reports.resolvedToast`)),await v.invalidateQueries({queryKey:je(r)})}}),Z=h.comment??h.reply;(0,W.useEffect)(()=>{if(!Z||!I.has(Z))return;let e=document.getElementById(`comment-${Z}`);e?.scrollIntoView?.({block:`center`}),e?.focus({preventScroll:!0})},[Z,I.size]);let Ue=(t,n)=>{n===`reply`?ge(t.id):n===`delete`?(J.reset(),V(t)):n===`resolve`?g({to:`/sites/$siteId/comments/$nodeId`,params:{siteId:r,nodeId:i},search:{comment:t.id}}):n===`commenter`?P.comments.findCommenter(r,{commentId:t.id}).then(async({commenter:t})=>{t?await g({to:`/sites/$siteId/commenters/$commenterId`,params:{siteId:r,commenterId:t.id}}):_.error(e(`comments.commenter.title`),e(`comments.commenter.noEmail`))}).catch(t=>_.error(e(`comments.commenter.title`),t.message)):n===`hide`||n===`spam`?(q.reset(),z({open:!0,action:n,ids:[t.id]})):n!==`openThread`&&q.mutate({ids:[t.id],action:n,revs:Ae(F,[t.id])})},Q=k.data?.thread,$=k.data?.counts,Ye=N(k.error)&&N(M.error),Xe=N(k.error)&&!Ye,Ze=Q?.mode??`default`,Qe=e=>{Q&&e!==Ze&&(e===`hidden`?De(!0):Y.mutate({rev:Q.rev,mode:e}))},$e=(0,K.jsxs)(be,{title:e(`comments.title`),icon:(0,K.jsx)(we,{size:16}),description:e(`comments.thread.description`),actions:$?(0,K.jsx)(a,{variant:`secondary`,children:_e(t,$.approved)}):void 0,flush:!0,children:[(0,K.jsx)(We,{comments:F.map(e=>re(r,e)),words:n,labels:y(e,He),locale:t,loading:M.isPending,error:M.error&&!N(M.error)?(0,K.jsx)(`div`,{className:`px-5 py-4`,children:(0,K.jsx)(Oe,{error:M.error,onRetry:()=>void M.refetch()})}):void 0,empty:(0,K.jsx)(Ce,{icon:(0,K.jsx)(we,{size:32,className:`text-kumo-inactive`}),title:e(`comments.thread.empty`),description:e(`comments.thread.emptyDescription`)}),renderActions:e=>{let t=I.get(e.id);return t?(0,K.jsx)(ne,{comment:t,onAction:e=>Ue(t,e),hide:[`openThread`],notOwnReason:U??Ve}):null},renderDetails:e=>(0,K.jsx)(Je,{siteId:r,comment:e,focused:Z===e.id,canResolve:G,onResolve:e=>{X.reset(),ve(e)}}),renderReply:t=>{let n=I.get(t.id);return!n||L!==t.id?null:n.status===`approved`?(0,K.jsx)(Ke,{siteId:r,comment:n,badge:Me?`author`:`team`,onDone:()=>ge(void 0)}):(0,K.jsx)(D,{variant:`secondary`,size:`sm`,children:e(`comments.reply.notApproved`)})}}),M.hasNextPage&&(0,K.jsx)(`div`,{className:`border-kumo-hairline border-t px-5 py-3`,children:(0,K.jsx)(s,{variant:`secondary`,size:`sm`,loading:M.isFetchingNextPage,onClick:()=>void M.fetchNextPage(),children:e(`comments.thread.loadMore`)})})]}),et=(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(be,{title:e(`comments.thread.cardTitle`),icon:(0,K.jsx)(ce,{size:16}),children:Q?(0,K.jsxs)(`div`,{className:`grid gap-4`,"data-testid":`thread-controls`,children:[(0,K.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,K.jsx)(D,{bold:!0,as:`span`,children:e(`comments.thread.mode`)}),(0,K.jsx)(`span`,{className:`inline-flex`,title:U??ie.reason,children:(0,K.jsx)(pe,{variant:`segmented`,size:`sm`,value:Ze,onValueChange:e=>G&&Qe(Pe(e)),tabs:[`default`,`open`,`closed`,`hidden`].map(t=>({value:t,label:e(`comments.thread.modes.${t}`),...G?{}:{disabled:!0}}))})}),(0,K.jsx)(D,{variant:`secondary`,size:`sm`,children:e(`comments.thread.modeHints.${Ze}`)})]}),(0,K.jsxs)(`dl`,{className:`-mb-3 divide-y divide-kumo-hairline border-kumo-hairline border-t`,children:[(0,K.jsx)(he,{label:e(`comments.thread.readersSee`),children:(0,K.jsx)(a,{variant:Ge[Q.state],appearance:`dot`,children:e(`comments.thread.state.${Q.state}`)})}),(0,K.jsx)(he,{label:e(`comments.thread.closeOn`),hint:Le(e,Q,t),children:(0,K.jsx)(s,{variant:`ghost`,size:`sm`,icon:(0,K.jsx)(ce,{}),disabled:!G,title:U??ie.reason,onClick:()=>{Y.reset(),Te(!0)},"data-testid":`thread-close-change`,children:e(`comments.thread.changeClose`)})})]})]}):(0,K.jsxs)(`div`,{className:`grid gap-2`,role:`status`,children:[(0,K.jsx)(`span`,{className:`sr-only`,children:e(`common.loading`)}),(0,K.jsx)(O,{minWidth:50,maxWidth:80}),(0,K.jsx)(O,{minWidth:30,maxWidth:60})]})}),(0,K.jsx)(ze,{rows:[{label:e(`comments.thread.entryId`),value:(0,K.jsx)(D,{variant:`mono-secondary`,children:i})},...E.data?[{label:e(`comments.thread.path`),value:(0,K.jsx)(ke,{siteId:r,entry:E.data})}]:[],...$?[`approved`,`pending`,`reported`,`hidden`,`spam`].map(n=>({label:e(`comments.thread.${n}Count`),value:(0,K.jsx)(D,{as:`span`,children:_e(t,$[n])})})):[]]})]});return(0,K.jsxs)(Se,{crumbs:(0,K.jsx)(me,{siteId:r,trail:[{label:e(`comments.title`),href:`/sites/${r}/comments`},{label:He||i}],copy:i}),title:He||void 0,loading:E.isPending&&w.allowed,description:Q?(0,K.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,K.jsx)(a,{variant:Ge[Q.state],appearance:`dot`,children:e(`comments.thread.state.${Q.state}`)}),(0,K.jsx)(`span`,{children:Le(e,Q,t)})]}):void 0,actions:E.data?(0,K.jsx)(o,{href:`/sites/${r}/articles/${i}`,variant:`secondary`,icon:ae(se),children:e(`comments.thread.openArticle`)}):void 0,children:[w.allowed?Ye?(0,K.jsx)(A,{variant:`secondary`,icon:(0,K.jsx)(le,{weight:`fill`}),title:e(`comments.unavailable.title`),description:e(`comments.unavailable.description`)}):Xe?(0,K.jsx)(A,{variant:`secondary`,icon:(0,K.jsx)(le,{weight:`fill`}),title:e(`comments.thread.notFoundTitle`),description:e(`comments.thread.notFoundDescription`)}):(0,K.jsx)(Be,{main:$e,aside:et}):(0,K.jsx)(A,{variant:`secondary`,icon:(0,K.jsx)(le,{weight:`fill`}),title:e(`comments.noAccessTitle`),description:w.reason}),(0,K.jsx)(S,{open:R.open,onOpenChange:e=>z(t=>({...t,open:e})),action:R.action,count:R.ids.length,busy:q.isPending,error:q.error?.message,onConfirm:e=>q.mutate({ids:R.ids,action:R.action,revs:Ae(F,R.ids),...e})}),(0,K.jsx)(S,{open:B!==void 0,onOpenChange:e=>!e&&V(void 0),action:`delete`,count:1,busy:J.isPending,error:J.error?.message,onConfirm:e=>{B&&J.mutate({comment:B,...e},{onSettled:()=>V(void 0)})}}),(0,K.jsx)(qe,{report:H,onOpenChange:e=>!e&&ve(void 0),busy:X.isPending,error:X.error?.message,onConfirm:e=>H&&X.mutate({report:H,resolution:e})}),(0,K.jsx)(Re,{open:ye,onOpenChange:Te,current:Q?.closesAt??null,busy:Y.isPending,error:Y.error?.message,onSave:e=>Q&&Y.mutate({rev:Q.rev,mode:Q.mode,closesAt:e},{onSuccess:()=>Te(!1)})}),(0,K.jsx)(Ie,{open:Ee,onOpenChange:De,busy:Y.isPending,onConfirm:()=>Q&&Y.mutate({rev:Q.rev,mode:`hidden`},{onSuccess:()=>De(!1)})})]})}export{Ye as CommentThreadPage};
|
|
2
|
+
//# sourceMappingURL=CommentThreadPage-DZHFTxT4.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{t as a}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{S as o,_ as s,d as c,h as l,l as u}from"./tanstack-BRxyYm4G.js";import{c as d,g as f,p,t as m,u as h,y as g}from"./Comments-BRP_6oQ6.js";import{m as _,n as v,t as y}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as b}from"./DownloadSimple.es-Cq4-UK-k.js";import{t as x}from"./checkbox-lbo436duy7krxcsk-HiD6vTuC.js";import{t as S}from"./Prohibit.es-CAvPLn3v.js";import{t as C}from"./UserCircle.es-D4ZFhshn.js";import{n as w,t as T}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{i as E,o as D}from"./useMe-DcrRDsez.js";import{t as ee}from"./Toast-DYiK3WzC.js";import{t as O}from"./input-h5ox92gf13ge04hp-CDAaOl0A.js";import{a as k,c as A,o as te,t as j}from"./api-Cqqt5jTd.js";import{t as M}from"./select-futox5zqr3r80y9a-FumEl51u.js";import{t as N}from"./radio-35dx7y6rjrezbjsp-2D7MXAy3.js";import{n as ne}from"./Crumbs-BVqhFD_U.js";import{t as P}from"./layer-dialog-j5ywmzs46ccg6oqy-CySAcQJW.js";import{c as F}from"./intl-C22KAx_l.js";import{c as I,l as L,r as R}from"./comment-model-CArtcrfg.js";import{t as z}from"./InsetPanel-CHSg953_.js";import{t as B}from"./SectionCard-GPZWTzbx.js";import{C as re,E as ie,at as V,x as ae}from"./index-DMKFLgkG.js";import{a as H,d as U,f as W,i as oe,t as G}from"./comments-B1PIozwq.js";import{r as se}from"./EditorLayout-GefNJMG2.js";import{n as ce}from"./Gating-BGO4D_AP.js";var K=e(n(),1),q=new Map([[`bold`,K.createElement(K.Fragment,null,K.createElement(`path`,{d:`M216,204H141l86.84-86.84a28,28,0,0,0,0-39.6L186.43,36.19a28,28,0,0,0-39.6,0L28.19,154.82a28,28,0,0,0,0,39.6l30.06,30.07A12,12,0,0,0,66.74,228H216a12,12,0,0,0,0-24ZM163.8,53.16a4,4,0,0,1,5.66,0l41.38,41.38a4,4,0,0,1,0,5.65L160,151l-47-47ZM71.71,204,45.16,177.45a4,4,0,0,1,0-5.65L96,121l47,47-36,36Z`}))],[`fill`,K.createElement(K.Fragment,null,K.createElement(`path`,{d:`M225,80.4,183.6,39a24,24,0,0,0-33.94,0L31,157.66a24,24,0,0,0,0,33.94l30.06,30.06A8,8,0,0,0,66.74,224H216a8,8,0,0,0,0-16h-84.7L225,114.34A24,24,0,0,0,225,80.4ZM213.67,103,160,156.69,107.31,104,161,50.34a8,8,0,0,1,11.32,0l41.38,41.38a8,8,0,0,1,0,11.31Z`}))],[`regular`,K.createElement(K.Fragment,null,K.createElement(`path`,{d:`M225,80.4,183.6,39a24,24,0,0,0-33.94,0L31,157.66a24,24,0,0,0,0,33.94l30.06,30.06A8,8,0,0,0,66.74,224H216a8,8,0,0,0,0-16h-84.7L225,114.34A24,24,0,0,0,225,80.4ZM108.68,208H70.05L42.33,180.28a8,8,0,0,1,0-11.31L96,115.31,148.69,168Zm105-105L160,156.69,107.31,104,161,50.34a8,8,0,0,1,11.32,0l41.38,41.38a8,8,0,0,1,0,11.31Z`}))]]),J=K.forwardRef((e,n)=>K.createElement(t,{ref:n,...e,weights:q}));J.displayName=`EraserIcon`;var le=J,Y=r();function X({label:e,children:t}){return(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-x-6 gap-y-1 py-3 first:pt-0`,children:[(0,Y.jsx)(`dt`,{className:`min-w-0 flex-[1_1_10rem]`,children:(0,Y.jsx)(v,{bold:!0,as:`span`,children:e})}),(0,Y.jsx)(`dd`,{className:`m-0 flex min-w-0 flex-[2_1_14rem] flex-wrap items-center gap-2`,children:t})]})}function ue({locale:e,now:t,words:n,labels:r,names:a,counts:o,firstSeen:s,lastSeen:c,ban:l,email:u,canSeeEmail:d=!1,actions:f,loading:p,error:m}){if(m)return(0,Y.jsx)(Y.Fragment,{children:m});if(p)return(0,Y.jsxs)(`div`,{className:`grid gap-3`,"data-testid":`commenter-summary-loading`,children:[(0,Y.jsx)(`span`,{role:`status`,className:`sr-only`,children:r.loading}),[0,1,2,3].map(e=>(0,Y.jsxs)(`div`,{"aria-hidden":!0,className:`grid gap-1.5`,children:[(0,Y.jsx)(y,{minWidth:20,maxWidth:30}),(0,Y.jsx)(y,{minWidth:40,maxWidth:70})]},e))]});let h=n=>{let r=L(n,e,t);return(0,Y.jsxs)(v,{as:`span`,children:[(0,Y.jsx)(`time`,{dateTime:n,title:r.absolute,children:I(n,e)}),` `,(0,Y.jsxs)(v,{as:`span`,variant:`secondary`,size:`sm`,children:[`(`,r.relative,`)`]})]})},_=F(e);return(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-4`,"data-testid":`commenter-summary`,children:[(0,Y.jsxs)(`dl`,{className:`m-0 grid divide-y divide-kumo-hairline`,children:[(0,Y.jsx)(X,{label:r.names,children:a.map(e=>(0,Y.jsx)(`span`,{dir:`auto`,className:`min-w-0 wrap-anywhere`,children:(0,Y.jsx)(i,{variant:`outline`,children:e})},e))}),d&&u&&(0,Y.jsx)(X,{label:r.email,children:(0,Y.jsx)(`span`,{className:`min-w-0 wrap-anywhere`,"data-commenter-email":!0,children:(0,Y.jsx)(v,{as:`span`,variant:`mono`,children:u})})}),s&&(0,Y.jsx)(X,{label:r.firstSeen,children:h(s)}),c&&(0,Y.jsx)(X,{label:r.lastSeen,children:h(c)}),(0,Y.jsx)(X,{label:r.ban,children:l?(0,Y.jsxs)(`span`,{className:`grid min-w-0 gap-1`,"data-ban":`active`,children:[(0,Y.jsx)(`span`,{className:`inline-flex`,children:(0,Y.jsx)(i,{variant:`error`,children:l.until?r.bannedUntil(I(l.until,e)):r.bannedForever})}),(0,Y.jsx)(v,{as:`span`,variant:`secondary`,size:`sm`,children:[...l.subjects.map(e=>r.banSubject[e]),l.reason].filter(Boolean).join(` · `)})]}):(0,Y.jsx)(`span`,{className:`inline-flex`,"data-ban":`none`,children:(0,Y.jsx)(i,{variant:`neutral`,appearance:`dot`,children:r.notBanned})})})]}),(0,Y.jsx)(z,{label:r.counts,className:`@container`,children:(0,Y.jsx)(`dl`,{className:`m-0 grid grid-cols-2 gap-x-4 gap-y-3 @md:grid-cols-5`,children:R.map(e=>(0,Y.jsxs)(`div`,{className:`grid min-w-0 justify-items-start gap-1`,"data-count":e,children:[(0,Y.jsx)(`dt`,{children:(0,Y.jsx)(g,{status:e,words:n})}),(0,Y.jsx)(`dd`,{className:`m-0`,children:(0,Y.jsx)(v,{as:`span`,variant:`heading`,children:(0,Y.jsx)(`span`,{className:`tabular-nums`,children:_.format(o[e]??0)})})})]},e))})}),f&&(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:f})]})}function de(e,t){let n=URL.createObjectURL(new Blob([JSON.stringify(t,null,2)],{type:`application/json`})),r=document.createElement(`a`);r.href=n,r.download=e,r.click(),setTimeout(()=>URL.revokeObjectURL(n),1e3)}function fe({open:e,onOpenChange:t,busy:n,error:r,onConfirm:i}){let{t:a}=p(),[o,s]=(0,K.useState)(`30`),[c,l]=(0,K.useState)(!0),[u,f]=(0,K.useState)(!1),[m,h]=(0,K.useState)(`abuse`),[g,_]=(0,K.useState)(``),[y,b]=(0,K.useState)(!1),[S,C]=(0,K.useState)(!1);(0,K.useEffect)(()=>{e&&(s(`30`),l(!0),f(!1),h(`abuse`),_(``),b(!1),C(!1))},[e]);let E=`comments.commenter.banDialog`,D=!c&&!u;return(0,Y.jsx)(P.Root,{open:e,onOpenChange:t,dismissDisabled:n,children:(0,Y.jsxs)(P.Content,{size:`base`,closeLabel:a(`common.close`),children:[(0,Y.jsx)(P.Title,{children:a(`${E}.title`)}),(0,Y.jsx)(P.Description,{children:a(`${E}.description`)}),(0,Y.jsx)(P.Body,{children:(0,Y.jsxs)(`div`,{className:`grid gap-4`,"data-testid":`ban-dialog`,children:[(0,Y.jsx)(`div`,{className:`@container`,children:(0,Y.jsxs)(`div`,{className:`grid items-start gap-4 @md:grid-cols-2`,children:[(0,Y.jsx)(M,{label:a(`${E}.duration`),value:o,onValueChange:e=>s(e??`30`),items:Object.fromEntries(G.map(e=>[e,a(`${E}.durations.${e}`)])),className:`w-full`,"data-testid":`ban-duration`}),(0,Y.jsx)(M,{label:a(`${E}.reason`),value:m,onValueChange:e=>h(e??`abuse`),items:d(a),className:`w-full`})]})}),(0,Y.jsxs)(`fieldset`,{className:`m-0 grid gap-2 p-0`,"data-testid":`ban-subjects`,children:[(0,Y.jsx)(v,{bold:!0,as:`span`,children:a(`${E}.subjects`)}),(0,Y.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,Y.jsx)(x,{label:a(`${E}.subjectEmail`),checked:c,onCheckedChange:e=>l(e)}),(0,Y.jsx)(v,{variant:`secondary`,size:`sm`,children:a(`${E}.subjectEmailHint`)})]}),(0,Y.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,Y.jsx)(x,{label:a(`${E}.subjectIp`),checked:u,onCheckedChange:e=>f(e)}),(0,Y.jsx)(v,{variant:`secondary`,size:`sm`,children:a(`${E}.subjectIpHint`)})]}),S&&D&&(0,Y.jsx)(v,{variant:`error`,size:`sm`,children:a(`${E}.subjectsRequired`)})]}),(0,Y.jsx)(O,{label:a(`${E}.note`),description:a(`${E}.noteHint`),value:g,onValueChange:_,maxLength:500,autoResize:!0,minRows:2,maxRows:4,className:`w-full`}),(0,Y.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,Y.jsx)(x,{label:a(`${E}.hidePast`),checked:y,onCheckedChange:e=>b(e)}),(0,Y.jsx)(v,{variant:`secondary`,size:`sm`,children:a(`${E}.hidePastHint`)})]}),r&&(0,Y.jsx)(T,{variant:`error`,size:`sm`,icon:(0,Y.jsx)(w,{weight:`fill`}),title:a(`comments.commenter.banFailed`),description:r})]})}),(0,Y.jsx)(P.Actions,{dismissLabel:a(`common.cancel`),children:(0,Y.jsx)(P.Actions.Primary,{variant:`destructive`,loading:n,onClick:()=>{C(!0),!D&&i({until:H(o),subjects:[...c?[`email`]:[],...u?[`ip`]:[]],reasonCode:m,...g.trim()?{note:g.trim()}:{},hidePast:y})},"data-testid":`ban-confirm`,children:a(`${E}.confirm`)})})]})})}function pe({open:e,onOpenChange:t,busy:n,error:r,onConfirm:i}){let{t:a}=p(),[o,s]=(0,K.useState)(`anonymise`),[c,l]=(0,K.useState)(``),[u,d]=(0,K.useState)(!1);(0,K.useEffect)(()=>{e&&(s(`anonymise`),l(``),d(!1))},[e]);let f=`comments.commenter.eraseDialog`,m=c.trim()===``,h=[`name`,`email`,...o===`delete-text`?[`text`]:[],`live`,`audit`];return(0,Y.jsx)(P.Alert,{open:e,onOpenChange:t,dismissDisabled:n,children:(0,Y.jsxs)(P.Content,{size:`base`,closeLabel:a(`common.close`),children:[(0,Y.jsx)(P.Title,{children:a(`${f}.title`)}),(0,Y.jsx)(P.Description,{children:a(`${f}.description`)}),(0,Y.jsx)(P.Body,{children:(0,Y.jsxs)(`div`,{className:`grid gap-4`,"data-testid":`erase-dialog`,children:[(0,Y.jsxs)(N.Group,{appearance:`card`,legend:a(`${f}.title`),value:o,onValueChange:e=>s(e===`delete-text`?`delete-text`:`anonymise`),children:[(0,Y.jsx)(N.Item,{value:`anonymise`,label:a(`${f}.anonymise`),description:a(`${f}.anonymiseHint`)}),(0,Y.jsx)(N.Item,{value:`delete-text`,label:a(`${f}.deleteText`),description:a(`${f}.deleteTextHint`)})]}),(0,Y.jsxs)(z,{label:a(`${f}.consequences`),children:[(0,Y.jsx)(v,{as:`span`,bold:!0,children:a(`${f}.consequences`)}),(0,Y.jsx)(`div`,{className:`grid gap-1.5`,"data-testid":`erase-points`,children:h.map(e=>(0,Y.jsx)(v,{as:`span`,variant:`secondary`,size:`sm`,children:a(`${f}.points.${e}`)},e))})]}),(0,Y.jsx)(O,{label:a(`${f}.reason`),description:a(`${f}.reasonHint`),value:c,onValueChange:l,error:u&&m?a(`${f}.reasonRequired`):void 0,maxLength:500,autoResize:!0,minRows:2,maxRows:5,className:`w-full`,"data-testid":`erase-reason`}),r&&(0,Y.jsx)(T,{variant:`error`,size:`sm`,icon:(0,Y.jsx)(w,{weight:`fill`}),title:a(`comments.commenter.eraseFailed`),description:r})]})}),(0,Y.jsx)(P.Actions,{dismissLabel:a(`common.cancel`),children:(0,Y.jsx)(P.Actions.Primary,{variant:`destructive`,loading:n,onClick:()=>{d(!0),m||i({mode:o,reason:c.trim()})},"data-testid":`erase-confirm`,children:a(`${f}.confirm`)})})]})})}function Z(){let{t:e,locale:t,words:n}=p(),{siteId:r,commenterId:i}=c({from:`/sites/$siteId/commenters/$commenterId`}),g=u(),v=ee(),y=o(),x=!D().isPending,w=E(`commenters.data`),O=E(`comments.moderateAny`),[M,N]=(0,K.useState)(!1),[P,F]=(0,K.useState)(!1),I=s({queryKey:U(r,i),queryFn:()=>j.comments.commenter(r,i),enabled:x&&w.allowed,retry:(e,t)=>!A(t)&&e<1}),L=[...I.data?.comments??[]].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)),R=L[0],z=s({queryKey:[...U(r,i),`bans`,R?.id??``],queryFn:()=>j.comments.bans(r,R?.id),enabled:x&&w.allowed&&O.allowed&&R!==void 0}),H=oe(z.data?.items??[]),G=()=>y.invalidateQueries({queryKey:W(r)}),q=l({mutationFn:e=>j.comments.ban(r,e),onSuccess:async t=>{N(!1),v.success(e(`comments.commenter.banned`),t.hidden>0?e(`comments.commenter.bannedHidden`,{count:t.hidden}):void 0),await G()}}),J=l({mutationFn:async()=>{for(let e of z.data?.items??[])await j.comments.liftBan(r,e.id)},onSuccess:async()=>{v.success(e(`comments.commenter.unbanned`)),await G()},onError:t=>v.error(e(`comments.commenter.unbanFailed`),t.message)}),X=l({mutationFn:()=>j.comments.exportCommenter(r,i),onSuccess:t=>{de(`commenter-${i}.json`,t),v.success(e(`comments.commenter.exported`))},onError:t=>v.error(e(`comments.commenter.exportFailed`),t.message)}),Z=l({mutationFn:e=>j.comments.eraseCommenter(r,i,e.mode,e.reason),onSuccess:async t=>{F(!1),v.success(e(`comments.commenter.erased`),e(`comments.commenter.erasedDescription`,{count:t.comments})),await G()}}),Q=[...new Set(L.flatMap(e=>e.author.kind===`erased`?[]:[e.author.name]))],$={};for(let e of L)$[e.status]=($[e.status]??0)+1;let me=te(I.error)===`comments_key_missing`||I.error instanceof k&&I.error.status===503,he=A(I.error),ge=(e,t)=>{(t=>g({to:`/sites/$siteId/comments/$nodeId`,params:{siteId:r,nodeId:e.nodeId},search:t}))(t===`reply`?{reply:e.id}:{comment:e.id})},_e=(0,Y.jsx)(ue,{locale:t,words:n,labels:{names:e(`comments.commenter.names`),email:e(`comments.commenter.email`),firstSeen:e(`comments.commenter.firstSeen`),lastSeen:e(`comments.commenter.lastSeen`),ban:e(`comments.commenter.ban`),counts:e(`comments.commenter.counts`),notBanned:e(`comments.commenter.notBanned`),bannedUntil:t=>e(`comments.commenter.bannedUntil`,{date:t}),bannedForever:e(`comments.commenter.bannedForever`),banSubject:{email:e(`comments.commenter.banSubject.email`),ip:e(`comments.commenter.banSubject.ip`)},loading:e(`common.loading`)},names:Q,counts:$,...I.data?{firstSeen:I.data.commenter.firstSeen}:{},...R?{lastSeen:R.createdAt}:{},ban:H?{until:H.until,subjects:(z.data?.items??[]).map(e=>e.subject),reason:d(e)[H.reasonCode]}:null,...I.data?{email:I.data.commenter.email}:{},canSeeEmail:w.allowed,loading:I.isPending,actions:(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,"data-testid":`commenter-actions`,children:[H?(0,Y.jsx)(a,{variant:`secondary`,icon:(0,Y.jsx)(S,{}),loading:J.isPending,disabled:!O.allowed,title:O.reason,onClick:()=>J.mutate(),children:e(`comments.commenter.actions.unban`)}):(0,Y.jsx)(a,{variant:`secondary`,icon:(0,Y.jsx)(S,{}),disabled:!O.allowed||!R,title:O.reason,onClick:()=>{q.reset(),N(!0)},"data-testid":`commenter-ban`,children:e(`comments.commenter.actions.ban`)}),(0,Y.jsx)(a,{variant:`secondary`,icon:(0,Y.jsx)(b,{}),loading:X.isPending,onClick:()=>X.mutate(),"data-testid":`commenter-export`,children:e(`comments.commenter.actions.export`)}),(0,Y.jsx)(a,{variant:`secondary-destructive`,icon:(0,Y.jsx)(le,{}),onClick:()=>{Z.reset(),F(!0)},"data-testid":`commenter-erase`,children:e(`comments.commenter.actions.erase`)})]})});return(0,Y.jsxs)(re,{crumbs:(0,Y.jsx)(ne,{siteId:r,trail:[{label:e(`comments.title`),href:`/sites/${r}/comments`},{label:e(`comments.commenter.title`)}],copy:i}),title:Q[0]??e(`comments.commenter.title`),loading:I.isPending&&w.allowed,description:e(`comments.commenter.description`),children:[w.allowed?me?(0,Y.jsx)(T,{variant:`secondary`,icon:(0,Y.jsx)(_,{weight:`fill`}),title:e(`comments.commenter.title`),description:e(`comments.commenter.keysMissing`)}):he?(0,Y.jsx)(T,{variant:`secondary`,icon:(0,Y.jsx)(_,{weight:`fill`}),title:e(`comments.commenter.notFoundTitle`),description:e(`comments.commenter.notFoundDescription`)}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(ae,{error:I.error,onRetry:()=>void I.refetch()}),(0,Y.jsx)(se,{main:(0,Y.jsx)(B,{title:e(`comments.commenter.theirComments`),icon:(0,Y.jsx)(V,{size:16}),description:e(`comments.commenter.theirCommentsDescription`),flush:!0,children:I.data&&L.length===0?(0,Y.jsx)(ie,{icon:(0,Y.jsx)(V,{size:32,className:`text-kumo-inactive`}),title:e(`comments.commenter.noComments`),description:e(`comments.commenter.noCommentsDescription`)}):(0,Y.jsx)(`div`,{className:`divide-y divide-kumo-hairline`,"data-testid":`commenter-comments`,children:L.map(e=>(0,Y.jsx)(f,{comment:h(r,e),words:n,locale:t,actions:(0,Y.jsx)(m,{comment:e,onAction:t=>ge(e,t),hide:[`approve`,`restore`,`hide`,`spam`,`hold`,`delete`,`resolve`,`commenter`]})},e.id))})}),aside:(0,Y.jsx)(B,{title:e(`comments.commenter.identity`),icon:(0,Y.jsx)(C,{size:16}),children:_e})})]}):(0,Y.jsx)(ce,{reason:w.reason}),(0,Y.jsx)(fe,{open:M,onOpenChange:N,busy:q.isPending,error:q.error?.message,onConfirm:e=>R&&q.mutate({commentId:R.id,...e})}),(0,Y.jsx)(pe,{open:P,onOpenChange:F,busy:Z.isPending,error:Z.error?.message,onConfirm:e=>Z.mutate(e)})]})}export{Z as CommenterPage};
|
|
2
|
-
//# sourceMappingURL=CommenterPage-
|
|
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{t as a}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{S as o,_ as s,d as c,h as l,l as u}from"./tanstack-BRxyYm4G.js";import{c as d,g as f,p,t as m,u as h,y as g}from"./Comments-BXWLWhKk.js";import{m as _,n as v,t as y}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as b}from"./DownloadSimple.es-Cq4-UK-k.js";import{t as x}from"./checkbox-lbo436duy7krxcsk-HiD6vTuC.js";import{t as S}from"./Prohibit.es-CAvPLn3v.js";import{t as C}from"./UserCircle.es-D4ZFhshn.js";import{n as w,t as T}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{a as E,s as D}from"./useMe-D5W0xdO9.js";import{t as ee}from"./Toast-CXAk8wMq.js";import{t as O}from"./input-h5ox92gf13ge04hp-CDAaOl0A.js";import{a as k,c as A,o as te,t as j}from"./api-Mdeo6gzg.js";import{t as M}from"./select-futox5zqr3r80y9a-FumEl51u.js";import{t as N}from"./radio-35dx7y6rjrezbjsp-2D7MXAy3.js";import{n as ne}from"./Crumbs-CJ6UlbPv.js";import{t as P}from"./layer-dialog-j5ywmzs46ccg6oqy-DLBR2ljP.js";import{c as F}from"./intl-C22KAx_l.js";import{c as I,l as L,r as R}from"./comment-model-CArtcrfg.js";import{t as z}from"./InsetPanel-CHSg953_.js";import{t as B}from"./SectionCard-BxLoZOcp.js";import{C as re,E as ie,at as V,x as ae}from"./index-DYyDeKnk.js";import{a as H,d as U,f as W,i as oe,t as G}from"./comments-B1PIozwq.js";import{r as se}from"./EditorLayout-FlmsPOxF.js";import{n as ce}from"./Gating-0HRGz-rR.js";var K=e(n(),1),q=new Map([[`bold`,K.createElement(K.Fragment,null,K.createElement(`path`,{d:`M216,204H141l86.84-86.84a28,28,0,0,0,0-39.6L186.43,36.19a28,28,0,0,0-39.6,0L28.19,154.82a28,28,0,0,0,0,39.6l30.06,30.07A12,12,0,0,0,66.74,228H216a12,12,0,0,0,0-24ZM163.8,53.16a4,4,0,0,1,5.66,0l41.38,41.38a4,4,0,0,1,0,5.65L160,151l-47-47ZM71.71,204,45.16,177.45a4,4,0,0,1,0-5.65L96,121l47,47-36,36Z`}))],[`fill`,K.createElement(K.Fragment,null,K.createElement(`path`,{d:`M225,80.4,183.6,39a24,24,0,0,0-33.94,0L31,157.66a24,24,0,0,0,0,33.94l30.06,30.06A8,8,0,0,0,66.74,224H216a8,8,0,0,0,0-16h-84.7L225,114.34A24,24,0,0,0,225,80.4ZM213.67,103,160,156.69,107.31,104,161,50.34a8,8,0,0,1,11.32,0l41.38,41.38a8,8,0,0,1,0,11.31Z`}))],[`regular`,K.createElement(K.Fragment,null,K.createElement(`path`,{d:`M225,80.4,183.6,39a24,24,0,0,0-33.94,0L31,157.66a24,24,0,0,0,0,33.94l30.06,30.06A8,8,0,0,0,66.74,224H216a8,8,0,0,0,0-16h-84.7L225,114.34A24,24,0,0,0,225,80.4ZM108.68,208H70.05L42.33,180.28a8,8,0,0,1,0-11.31L96,115.31,148.69,168Zm105-105L160,156.69,107.31,104,161,50.34a8,8,0,0,1,11.32,0l41.38,41.38a8,8,0,0,1,0,11.31Z`}))]]),J=K.forwardRef((e,n)=>K.createElement(t,{ref:n,...e,weights:q}));J.displayName=`EraserIcon`;var le=J,Y=r();function X({label:e,children:t}){return(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-x-6 gap-y-1 py-3 first:pt-0`,children:[(0,Y.jsx)(`dt`,{className:`min-w-0 flex-[1_1_10rem]`,children:(0,Y.jsx)(v,{bold:!0,as:`span`,children:e})}),(0,Y.jsx)(`dd`,{className:`m-0 flex min-w-0 flex-[2_1_14rem] flex-wrap items-center gap-2`,children:t})]})}function ue({locale:e,now:t,words:n,labels:r,names:a,counts:o,firstSeen:s,lastSeen:c,ban:l,email:u,canSeeEmail:d=!1,actions:f,loading:p,error:m}){if(m)return(0,Y.jsx)(Y.Fragment,{children:m});if(p)return(0,Y.jsxs)(`div`,{className:`grid gap-3`,"data-testid":`commenter-summary-loading`,children:[(0,Y.jsx)(`span`,{role:`status`,className:`sr-only`,children:r.loading}),[0,1,2,3].map(e=>(0,Y.jsxs)(`div`,{"aria-hidden":!0,className:`grid gap-1.5`,children:[(0,Y.jsx)(y,{minWidth:20,maxWidth:30}),(0,Y.jsx)(y,{minWidth:40,maxWidth:70})]},e))]});let h=n=>{let r=L(n,e,t);return(0,Y.jsxs)(v,{as:`span`,children:[(0,Y.jsx)(`time`,{dateTime:n,title:r.absolute,children:I(n,e)}),` `,(0,Y.jsxs)(v,{as:`span`,variant:`secondary`,size:`sm`,children:[`(`,r.relative,`)`]})]})},_=F(e);return(0,Y.jsxs)(`div`,{className:`grid min-w-0 gap-4`,"data-testid":`commenter-summary`,children:[(0,Y.jsxs)(`dl`,{className:`m-0 grid divide-y divide-kumo-hairline`,children:[(0,Y.jsx)(X,{label:r.names,children:a.map(e=>(0,Y.jsx)(`span`,{dir:`auto`,className:`min-w-0 wrap-anywhere`,children:(0,Y.jsx)(i,{variant:`outline`,children:e})},e))}),d&&u&&(0,Y.jsx)(X,{label:r.email,children:(0,Y.jsx)(`span`,{className:`min-w-0 wrap-anywhere`,"data-commenter-email":!0,children:(0,Y.jsx)(v,{as:`span`,variant:`mono`,children:u})})}),s&&(0,Y.jsx)(X,{label:r.firstSeen,children:h(s)}),c&&(0,Y.jsx)(X,{label:r.lastSeen,children:h(c)}),(0,Y.jsx)(X,{label:r.ban,children:l?(0,Y.jsxs)(`span`,{className:`grid min-w-0 gap-1`,"data-ban":`active`,children:[(0,Y.jsx)(`span`,{className:`inline-flex`,children:(0,Y.jsx)(i,{variant:`error`,children:l.until?r.bannedUntil(I(l.until,e)):r.bannedForever})}),(0,Y.jsx)(v,{as:`span`,variant:`secondary`,size:`sm`,children:[...l.subjects.map(e=>r.banSubject[e]),l.reason].filter(Boolean).join(` · `)})]}):(0,Y.jsx)(`span`,{className:`inline-flex`,"data-ban":`none`,children:(0,Y.jsx)(i,{variant:`neutral`,appearance:`dot`,children:r.notBanned})})})]}),(0,Y.jsx)(z,{label:r.counts,className:`@container`,children:(0,Y.jsx)(`dl`,{className:`m-0 grid grid-cols-2 gap-x-4 gap-y-3 @md:grid-cols-5`,children:R.map(e=>(0,Y.jsxs)(`div`,{className:`grid min-w-0 justify-items-start gap-1`,"data-count":e,children:[(0,Y.jsx)(`dt`,{children:(0,Y.jsx)(g,{status:e,words:n})}),(0,Y.jsx)(`dd`,{className:`m-0`,children:(0,Y.jsx)(v,{as:`span`,variant:`heading`,children:(0,Y.jsx)(`span`,{className:`tabular-nums`,children:_.format(o[e]??0)})})})]},e))})}),f&&(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:f})]})}function de(e,t){let n=URL.createObjectURL(new Blob([JSON.stringify(t,null,2)],{type:`application/json`})),r=document.createElement(`a`);r.href=n,r.download=e,r.click(),setTimeout(()=>URL.revokeObjectURL(n),1e3)}function fe({open:e,onOpenChange:t,busy:n,error:r,onConfirm:i}){let{t:a}=p(),[o,s]=(0,K.useState)(`30`),[c,l]=(0,K.useState)(!0),[u,f]=(0,K.useState)(!1),[m,h]=(0,K.useState)(`abuse`),[g,_]=(0,K.useState)(``),[y,b]=(0,K.useState)(!1),[S,C]=(0,K.useState)(!1);(0,K.useEffect)(()=>{e&&(s(`30`),l(!0),f(!1),h(`abuse`),_(``),b(!1),C(!1))},[e]);let E=`comments.commenter.banDialog`,D=!c&&!u;return(0,Y.jsx)(P.Root,{open:e,onOpenChange:t,dismissDisabled:n,children:(0,Y.jsxs)(P.Content,{size:`base`,closeLabel:a(`common.close`),children:[(0,Y.jsx)(P.Title,{children:a(`${E}.title`)}),(0,Y.jsx)(P.Description,{children:a(`${E}.description`)}),(0,Y.jsx)(P.Body,{children:(0,Y.jsxs)(`div`,{className:`grid gap-4`,"data-testid":`ban-dialog`,children:[(0,Y.jsx)(`div`,{className:`@container`,children:(0,Y.jsxs)(`div`,{className:`grid items-start gap-4 @md:grid-cols-2`,children:[(0,Y.jsx)(M,{label:a(`${E}.duration`),value:o,onValueChange:e=>s(e??`30`),items:Object.fromEntries(G.map(e=>[e,a(`${E}.durations.${e}`)])),className:`w-full`,"data-testid":`ban-duration`}),(0,Y.jsx)(M,{label:a(`${E}.reason`),value:m,onValueChange:e=>h(e??`abuse`),items:d(a),className:`w-full`})]})}),(0,Y.jsxs)(`fieldset`,{className:`m-0 grid gap-2 p-0`,"data-testid":`ban-subjects`,children:[(0,Y.jsx)(v,{bold:!0,as:`span`,children:a(`${E}.subjects`)}),(0,Y.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,Y.jsx)(x,{label:a(`${E}.subjectEmail`),checked:c,onCheckedChange:e=>l(e)}),(0,Y.jsx)(v,{variant:`secondary`,size:`sm`,children:a(`${E}.subjectEmailHint`)})]}),(0,Y.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,Y.jsx)(x,{label:a(`${E}.subjectIp`),checked:u,onCheckedChange:e=>f(e)}),(0,Y.jsx)(v,{variant:`secondary`,size:`sm`,children:a(`${E}.subjectIpHint`)})]}),S&&D&&(0,Y.jsx)(v,{variant:`error`,size:`sm`,children:a(`${E}.subjectsRequired`)})]}),(0,Y.jsx)(O,{label:a(`${E}.note`),description:a(`${E}.noteHint`),value:g,onValueChange:_,maxLength:500,autoResize:!0,minRows:2,maxRows:4,className:`w-full`}),(0,Y.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,Y.jsx)(x,{label:a(`${E}.hidePast`),checked:y,onCheckedChange:e=>b(e)}),(0,Y.jsx)(v,{variant:`secondary`,size:`sm`,children:a(`${E}.hidePastHint`)})]}),r&&(0,Y.jsx)(T,{variant:`error`,size:`sm`,icon:(0,Y.jsx)(w,{weight:`fill`}),title:a(`comments.commenter.banFailed`),description:r})]})}),(0,Y.jsx)(P.Actions,{dismissLabel:a(`common.cancel`),children:(0,Y.jsx)(P.Actions.Primary,{variant:`destructive`,loading:n,onClick:()=>{C(!0),!D&&i({until:H(o),subjects:[...c?[`email`]:[],...u?[`ip`]:[]],reasonCode:m,...g.trim()?{note:g.trim()}:{},hidePast:y})},"data-testid":`ban-confirm`,children:a(`${E}.confirm`)})})]})})}function pe({open:e,onOpenChange:t,busy:n,error:r,onConfirm:i}){let{t:a}=p(),[o,s]=(0,K.useState)(`anonymise`),[c,l]=(0,K.useState)(``),[u,d]=(0,K.useState)(!1);(0,K.useEffect)(()=>{e&&(s(`anonymise`),l(``),d(!1))},[e]);let f=`comments.commenter.eraseDialog`,m=c.trim()===``,h=[`name`,`email`,...o===`delete-text`?[`text`]:[],`live`,`audit`];return(0,Y.jsx)(P.Alert,{open:e,onOpenChange:t,dismissDisabled:n,children:(0,Y.jsxs)(P.Content,{size:`base`,closeLabel:a(`common.close`),children:[(0,Y.jsx)(P.Title,{children:a(`${f}.title`)}),(0,Y.jsx)(P.Description,{children:a(`${f}.description`)}),(0,Y.jsx)(P.Body,{children:(0,Y.jsxs)(`div`,{className:`grid gap-4`,"data-testid":`erase-dialog`,children:[(0,Y.jsxs)(N.Group,{appearance:`card`,legend:a(`${f}.title`),value:o,onValueChange:e=>s(e===`delete-text`?`delete-text`:`anonymise`),children:[(0,Y.jsx)(N.Item,{value:`anonymise`,label:a(`${f}.anonymise`),description:a(`${f}.anonymiseHint`)}),(0,Y.jsx)(N.Item,{value:`delete-text`,label:a(`${f}.deleteText`),description:a(`${f}.deleteTextHint`)})]}),(0,Y.jsxs)(z,{label:a(`${f}.consequences`),children:[(0,Y.jsx)(v,{as:`span`,bold:!0,children:a(`${f}.consequences`)}),(0,Y.jsx)(`div`,{className:`grid gap-1.5`,"data-testid":`erase-points`,children:h.map(e=>(0,Y.jsx)(v,{as:`span`,variant:`secondary`,size:`sm`,children:a(`${f}.points.${e}`)},e))})]}),(0,Y.jsx)(O,{label:a(`${f}.reason`),description:a(`${f}.reasonHint`),value:c,onValueChange:l,error:u&&m?a(`${f}.reasonRequired`):void 0,maxLength:500,autoResize:!0,minRows:2,maxRows:5,className:`w-full`,"data-testid":`erase-reason`}),r&&(0,Y.jsx)(T,{variant:`error`,size:`sm`,icon:(0,Y.jsx)(w,{weight:`fill`}),title:a(`comments.commenter.eraseFailed`),description:r})]})}),(0,Y.jsx)(P.Actions,{dismissLabel:a(`common.cancel`),children:(0,Y.jsx)(P.Actions.Primary,{variant:`destructive`,loading:n,onClick:()=>{d(!0),m||i({mode:o,reason:c.trim()})},"data-testid":`erase-confirm`,children:a(`${f}.confirm`)})})]})})}function Z(){let{t:e,locale:t,words:n}=p(),{siteId:r,commenterId:i}=c({from:`/sites/$siteId/commenters/$commenterId`}),g=u(),v=ee(),y=o(),x=!D().isPending,w=E(`commenters.data`),O=E(`comments.moderateAny`),[M,N]=(0,K.useState)(!1),[P,F]=(0,K.useState)(!1),I=s({queryKey:U(r,i),queryFn:()=>j.comments.commenter(r,i),enabled:x&&w.allowed,retry:(e,t)=>!A(t)&&e<1}),L=[...I.data?.comments??[]].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)),R=L[0],z=s({queryKey:[...U(r,i),`bans`,R?.id??``],queryFn:()=>j.comments.bans(r,R?.id),enabled:x&&w.allowed&&O.allowed&&R!==void 0}),H=oe(z.data?.items??[]),G=()=>y.invalidateQueries({queryKey:W(r)}),q=l({mutationFn:e=>j.comments.ban(r,e),onSuccess:async t=>{N(!1),v.success(e(`comments.commenter.banned`),t.hidden>0?e(`comments.commenter.bannedHidden`,{count:t.hidden}):void 0),await G()}}),J=l({mutationFn:async()=>{for(let e of z.data?.items??[])await j.comments.liftBan(r,e.id)},onSuccess:async()=>{v.success(e(`comments.commenter.unbanned`)),await G()},onError:t=>v.error(e(`comments.commenter.unbanFailed`),t.message)}),X=l({mutationFn:()=>j.comments.exportCommenter(r,i),onSuccess:t=>{de(`commenter-${i}.json`,t),v.success(e(`comments.commenter.exported`))},onError:t=>v.error(e(`comments.commenter.exportFailed`),t.message)}),Z=l({mutationFn:e=>j.comments.eraseCommenter(r,i,e.mode,e.reason),onSuccess:async t=>{F(!1),v.success(e(`comments.commenter.erased`),e(`comments.commenter.erasedDescription`,{count:t.comments})),await G()}}),Q=[...new Set(L.flatMap(e=>e.author.kind===`erased`?[]:[e.author.name]))],$={};for(let e of L)$[e.status]=($[e.status]??0)+1;let me=te(I.error)===`comments_key_missing`||I.error instanceof k&&I.error.status===503,he=A(I.error),ge=(e,t)=>{(t=>g({to:`/sites/$siteId/comments/$nodeId`,params:{siteId:r,nodeId:e.nodeId},search:t}))(t===`reply`?{reply:e.id}:{comment:e.id})},_e=(0,Y.jsx)(ue,{locale:t,words:n,labels:{names:e(`comments.commenter.names`),email:e(`comments.commenter.email`),firstSeen:e(`comments.commenter.firstSeen`),lastSeen:e(`comments.commenter.lastSeen`),ban:e(`comments.commenter.ban`),counts:e(`comments.commenter.counts`),notBanned:e(`comments.commenter.notBanned`),bannedUntil:t=>e(`comments.commenter.bannedUntil`,{date:t}),bannedForever:e(`comments.commenter.bannedForever`),banSubject:{email:e(`comments.commenter.banSubject.email`),ip:e(`comments.commenter.banSubject.ip`)},loading:e(`common.loading`)},names:Q,counts:$,...I.data?{firstSeen:I.data.commenter.firstSeen}:{},...R?{lastSeen:R.createdAt}:{},ban:H?{until:H.until,subjects:(z.data?.items??[]).map(e=>e.subject),reason:d(e)[H.reasonCode]}:null,...I.data?{email:I.data.commenter.email}:{},canSeeEmail:w.allowed,loading:I.isPending,actions:(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,"data-testid":`commenter-actions`,children:[H?(0,Y.jsx)(a,{variant:`secondary`,icon:(0,Y.jsx)(S,{}),loading:J.isPending,disabled:!O.allowed,title:O.reason,onClick:()=>J.mutate(),children:e(`comments.commenter.actions.unban`)}):(0,Y.jsx)(a,{variant:`secondary`,icon:(0,Y.jsx)(S,{}),disabled:!O.allowed||!R,title:O.reason,onClick:()=>{q.reset(),N(!0)},"data-testid":`commenter-ban`,children:e(`comments.commenter.actions.ban`)}),(0,Y.jsx)(a,{variant:`secondary`,icon:(0,Y.jsx)(b,{}),loading:X.isPending,onClick:()=>X.mutate(),"data-testid":`commenter-export`,children:e(`comments.commenter.actions.export`)}),(0,Y.jsx)(a,{variant:`secondary-destructive`,icon:(0,Y.jsx)(le,{}),onClick:()=>{Z.reset(),F(!0)},"data-testid":`commenter-erase`,children:e(`comments.commenter.actions.erase`)})]})});return(0,Y.jsxs)(re,{crumbs:(0,Y.jsx)(ne,{siteId:r,trail:[{label:e(`comments.title`),href:`/sites/${r}/comments`},{label:e(`comments.commenter.title`)}],copy:i}),title:Q[0]??e(`comments.commenter.title`),loading:I.isPending&&w.allowed,description:e(`comments.commenter.description`),children:[w.allowed?me?(0,Y.jsx)(T,{variant:`secondary`,icon:(0,Y.jsx)(_,{weight:`fill`}),title:e(`comments.commenter.title`),description:e(`comments.commenter.keysMissing`)}):he?(0,Y.jsx)(T,{variant:`secondary`,icon:(0,Y.jsx)(_,{weight:`fill`}),title:e(`comments.commenter.notFoundTitle`),description:e(`comments.commenter.notFoundDescription`)}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(ae,{error:I.error,onRetry:()=>void I.refetch()}),(0,Y.jsx)(se,{main:(0,Y.jsx)(B,{title:e(`comments.commenter.theirComments`),icon:(0,Y.jsx)(V,{size:16}),description:e(`comments.commenter.theirCommentsDescription`),flush:!0,children:I.data&&L.length===0?(0,Y.jsx)(ie,{icon:(0,Y.jsx)(V,{size:32,className:`text-kumo-inactive`}),title:e(`comments.commenter.noComments`),description:e(`comments.commenter.noCommentsDescription`)}):(0,Y.jsx)(`div`,{className:`divide-y divide-kumo-hairline`,"data-testid":`commenter-comments`,children:L.map(e=>(0,Y.jsx)(f,{comment:h(r,e),words:n,locale:t,actions:(0,Y.jsx)(m,{comment:e,onAction:t=>ge(e,t),hide:[`approve`,`restore`,`hide`,`spam`,`hold`,`delete`,`resolve`,`commenter`]})},e.id))})}),aside:(0,Y.jsx)(B,{title:e(`comments.commenter.identity`),icon:(0,Y.jsx)(C,{size:16}),children:_e})})]}):(0,Y.jsx)(ce,{reason:w.reason}),(0,Y.jsx)(fe,{open:M,onOpenChange:N,busy:q.isPending,error:q.error?.message,onConfirm:e=>R&&q.mutate({commentId:R.id,...e})}),(0,Y.jsx)(pe,{open:P,onOpenChange:F,busy:Z.isPending,error:Z.error?.message,onConfirm:e=>Z.mutate(e)})]})}export{Z as CommenterPage};
|
|
2
|
+
//# sourceMappingURL=CommenterPage-7Sd7_lXK.js.map
|