ghost 6.40.0 → 6.41.0
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/core/boot.js +8 -8
- package/core/built/admin/assets/{PolarAngleAxis-D7m1zwVk.js → PolarAngleAxis-Bh28wbPV.js} +1 -1
- package/core/built/admin/assets/{_baseAssignValue-BDsvYKNK.js → _baseAssignValue-hdDG700N.js} +1 -1
- package/core/built/admin/assets/{a-large-small-DxRNdz0F.js → a-large-small-BiK5_5LV.js} +1 -1
- package/core/built/admin/assets/{account-migration-SYnE1jBW.js → account-migration-DsSHanIB.js} +1 -1
- package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
- package/core/built/admin/assets/admin-x-settings/{code-editor-view-Bj9rgbLw.mjs → code-editor-view-BEIdFhw3.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-BrZ9YAzd.mjs → index-BEh3nFEy.mjs} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-DRndIh9T.mjs → index-BLF2n6YB.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-CIl25Teq.mjs → index-BmPIWs5F.mjs} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-CNyNY3Wh.mjs → index-CP9YnNzc.mjs} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-SGr5sE2h.mjs → index-Cd2Ns-D2.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-PGoLP2kh.mjs → index-CjqAcKpK.mjs} +5 -5
- package/core/built/admin/assets/admin-x-settings/{index-pCIv_7bB.mjs → index-CnMcD9aj.mjs} +6212 -6158
- package/core/built/admin/assets/admin-x-settings/{index-CPCcgad-.mjs → index-LzsrZC40.mjs} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-DPqY4h5h.mjs → index-ZYW0UW7I.mjs} +3 -3
- package/core/built/admin/assets/admin-x-settings/{modals-lo32WZLi.mjs → modals-C48Tq1rW.mjs} +9 -9
- package/core/built/admin/assets/{arrow-right-BixoEua4.js → arrow-right-Bk43nMGd.js} +1 -1
- package/core/built/admin/assets/{at-sign-BsHNViA_.js → at-sign-DWOf36uj.js} +1 -1
- package/core/built/admin/assets/{audience-0RCWjbIK.js → audience-CvP78Gug.js} +1 -1
- package/core/built/admin/assets/{automations-DTUfYvf6.js → automations-BBWZhrha.js} +1 -1
- package/core/built/admin/assets/{automations-DiGkcVt-.js → automations-CmulGWwu.js} +1 -1
- package/core/built/admin/assets/{avatar-flipboard-BgoH-wIq.js → avatar-flipboard-CVf-N6wp.js} +1 -1
- package/core/built/admin/assets/{bluesky-sharing-C2xwSoS-.js → bluesky-sharing-DVC3I9Um.js} +1 -1
- package/core/built/admin/assets/{chart-X5cLIH1X.js → chart-CUKSNmKY.js} +1 -1
- package/core/built/admin/assets/{checkbox-DMamS4oG.js → checkbox-B_yDSM8z.js} +1 -1
- package/core/built/admin/assets/{chevron-up-CVgBkTk5.js → chevron-up-DuaKtE_M.js} +1 -1
- package/core/built/admin/assets/{chunk.941.f47098cbbce89a049e03.js → chunk.331.2ec2e2702eda02de96cd.js} +3 -3
- package/core/built/admin/assets/{chunk.524.a1d668dcc84709a5d702.js → chunk.524.49cc01002e1a5dba8ef9.js} +4 -4
- package/core/built/admin/assets/{chunk.582.180bf2525cf552f5ac5f.js → chunk.582.4bbc54c5f7d3dfb93288.js} +6 -6
- package/core/built/admin/assets/{circle-alert-Dg3UkvRP.js → circle-alert-bcK_Yqap.js} +1 -1
- package/core/built/admin/assets/{code-editor-view-CAICoZJe.js → code-editor-view-Bl4Jzjhk.js} +1 -1
- package/core/built/admin/assets/{comments-BHru9ZQ8.js → comments-DMea0nul.js} +1 -1
- package/core/built/admin/assets/{content-helpers-BByMp-Y5.js → content-helpers-B2yRzdvJ.js} +1 -1
- package/core/built/admin/assets/{copy-D7jqplrv.js → copy-DVtQi_VJ.js} +1 -1
- package/core/built/admin/assets/{data-list-DUaY9nlT.js → data-list-BF4GeUmt.js} +1 -1
- package/core/built/admin/assets/{deleted-feed-item-jLcSKuul.js → deleted-feed-item-DO2u3qmi.js} +1 -1
- package/core/built/admin/assets/{dropzone-DSPf3N_o.js → dropzone-Cs4DrURS.js} +1 -1
- package/core/built/admin/assets/{edit-profile-BvU2-lW5.js → edit-profile-CnuBNQhO.js} +1 -1
- package/core/built/admin/assets/{editor-D3fcjt_F.js → editor-CTO9FIUW.js} +1 -1
- package/core/built/admin/assets/{empty-indicator-2Pjmce3n.js → empty-indicator-BvyaMcmw.js} +1 -1
- package/core/built/admin/assets/{en-Bu-6PYn5.js → en-CjPXRj8j.js} +1 -1
- package/core/built/admin/assets/{feed-CygLK1Ad.js → feed-D2wk4cCS.js} +1 -1
- package/core/built/admin/assets/{filter-query-core-a0PNU2EO.js → filter-query-core-VEnwTCyO.js} +1 -1
- package/core/built/admin/assets/{filters-jiyRsLMH.js → filters-DtIsuqv5.js} +1 -1
- package/core/built/admin/assets/{gh-chart-CEhBBu3F.js → gh-chart-JxzKqaoO.js} +1 -1
- package/core/built/admin/assets/{ghost-0ab96884815339963364804ab266c99f.js → ghost-30c3dedbe1cca943b92efa7efd2710e4.js} +36 -21
- package/core/built/admin/assets/{growth-Fz3Oatml.js → growth-CPNrBpHK.js} +1 -1
- package/core/built/admin/assets/{hash-CeFrjo3C.js → hash-CJzbTA5k.js} +1 -1
- package/core/built/admin/assets/{inbox-CCirPaG2.js → inbox-CVVAkCmd.js} +1 -1
- package/core/built/admin/assets/{index-Dd2BJRZH.js → index-AkQJUr1z.js} +1 -1
- package/core/built/admin/assets/{index-CYPN5csJ.js → index-BLWOUf31.js} +1 -1
- package/core/built/admin/assets/{index-D7Ui3Fih.js → index-BRBRkRqa.js} +1 -1
- package/core/built/admin/assets/{index-CFEzD2_M.js → index-BkbhBpVC.js} +3 -3
- package/core/built/admin/assets/{index-BYwL7gFN.js → index-BxFFWYdP.js} +1 -1
- package/core/built/admin/assets/{index-D3LfHeBl.js → index-C5_ZKpC1.js} +1 -1
- package/core/built/admin/assets/{index-Bjw2qAph.js → index-Cdbufdfy.js} +1 -1
- package/core/built/admin/assets/{index-BTf6YUBb.js → index-Cq5vsvxE.js} +1 -1
- package/core/built/admin/assets/{index-DPbi4ie_.js → index-CuGoX8Ub.js} +1 -1
- package/core/built/admin/assets/{index-CsaU9dfl.js → index-CuH5raTz.js} +1 -1
- package/core/built/admin/assets/{index-Bf83suMc.js → index-D3A8RTi0.js} +1 -1
- package/core/built/admin/assets/{index-Dskrbhv3.js → index-DIyK69JM.js} +1 -1
- package/core/built/admin/assets/{index-GExKMpy_.js → index-DLFVpwt3.js} +1 -1
- package/core/built/admin/assets/{index-BOMdiHRG.js → index-DQZp_NsL.js} +1 -1
- package/core/built/admin/assets/{index-2qcjFCQs.js → index-DR74ulj2.js} +1 -1
- package/core/built/admin/assets/{index-WKMARia9.js → index-DYE2untj.js} +1 -1
- package/core/built/admin/assets/{index-DNZUJQ8v.js → index-DssW7xhk.js} +1 -1
- package/core/built/admin/assets/{index-Cq4mS7QK.js → index-DvyNqFct.js} +1 -1
- package/core/built/admin/assets/{index-C7xLyJVb.js → index-DxB7NHpG.js} +1 -1
- package/core/built/admin/assets/{index-Bw4DM4Pr.js → index-IDaHqjnu.js} +1 -1
- package/core/built/admin/assets/{index-ClOB5u8L.js → index-TtBMzSeP.js} +1 -1
- package/core/built/admin/assets/{index-takfwHSn.js → index-UMWVIyz7.js} +1 -1
- package/core/built/admin/assets/{koenig-lexical-BJM9wAwQ.js → koenig-lexical-DVAmevhl.js} +1 -1
- package/core/built/admin/assets/{kpi-card-BP-2yicn.js → kpi-card-D3CzvsrI.js} +1 -1
- package/core/built/admin/assets/{kpi-card-DOplXdDT.js → kpi-card-DV-nN7xT.js} +1 -1
- package/core/built/admin/assets/{kpi-tabs-Rq5jJW2Z.js → kpi-tabs-B3NkaTwb.js} +1 -1
- package/core/built/admin/assets/{kpis-yHgME_iy.js → kpis-CVwF08QL.js} +1 -1
- package/core/built/admin/assets/{label-fijjy1Mb.js → label-BiPpMny2.js} +1 -1
- package/core/built/admin/assets/{links-s3IeAkbo.js → links-BY0Uo6O5.js} +1 -1
- package/core/built/admin/assets/{list-page-CUcB5ebB.js → list-page-COHNMpOi.js} +1 -1
- package/core/built/admin/assets/{loader-circle-C7mWzo52.js → loader-circle-B1uEfpbZ.js} +1 -1
- package/core/built/admin/assets/{mail-9TFkAaAh.js → mail-ccQhEr7k.js} +1 -1
- package/core/built/admin/assets/{main-layout-XtviVkg1.js → main-layout-BYKdA6Z1.js} +1 -1
- package/core/built/admin/assets/{members-XkHao5Yf.js → members-DkpEnvG5.js} +1 -1
- package/core/built/admin/assets/minus-C68D81nx.js +1 -0
- package/core/built/admin/assets/{modals-B6R7oqvb.js → modals-X6RSWn5Y.js} +3 -3
- package/core/built/admin/assets/{moderation-B2Tixfce.js → moderation-BFrrwfvx.js} +1 -1
- package/core/built/admin/assets/{newsletter-CbESXhxf.js → newsletter-n7kc6cxR.js} +1 -1
- package/core/built/admin/assets/{newsletters-DOIL_cOY.js → newsletters-CSCa3QdE.js} +1 -1
- package/core/built/admin/assets/{note-mUikaB-p.js → note-CMZjeK8e.js} +1 -1
- package/core/built/admin/assets/{onboarding-route-Dqv2nP7b.js → onboarding-route-BaX0a-pu.js} +1 -1
- package/core/built/admin/assets/{overview-yZ-7KJdx.js → overview-CS9dmE_6.js} +1 -1
- package/core/built/admin/assets/{pagemenu-TxGvHwRO.js → pagemenu-O_y8Jm4v.js} +1 -1
- package/core/built/admin/assets/{pencil-CKTgzafp.js → pencil-BcymGPnE.js} +1 -1
- package/core/built/admin/assets/{pin-BU_u-xRX.js → pin-Bl3nSr7I.js} +1 -1
- package/core/built/admin/assets/{post-analytics-CWA8invj.js → post-analytics-DW-TKu-t.js} +1 -1
- package/core/built/admin/assets/{post-analytics-context-BWDhMRq_.js → post-analytics-context-D7PgEMo8.js} +1 -1
- package/core/built/admin/assets/{post-analytics-header-Bm0mcxjK.js → post-analytics-header-B8C0vA5Y.js} +1 -1
- package/core/built/admin/assets/{post-share-modal-D8BtRD2u.js → post-share-modal-D0OlASBQ.js} +1 -1
- package/core/built/admin/assets/{posts-u-CAKddc.js → posts-BZaw4-dc.js} +1 -1
- package/core/built/admin/assets/{power-DR9gpiQR.js → power-DWm6pts5.js} +1 -1
- package/core/built/admin/assets/{referrers-DV_Ihg9y.js → referrers-BsZ85Z0a.js} +1 -1
- package/core/built/admin/assets/{repeat-uXmOJ6y8.js → repeat-DQay9e22.js} +1 -1
- package/core/built/admin/assets/{reply-9ZyqaxI-.js → reply-CoNqmExw.js} +1 -1
- package/core/built/admin/assets/{rocket-DMOr1OCt.js → rocket-Dne6P_8f.js} +1 -1
- package/core/built/admin/assets/{select-CPSy44ld.js → select-BfWJkrKc.js} +1 -1
- package/core/built/admin/assets/{settings-krk0432u.js → settings-BoXzKMhL.js} +1 -1
- package/core/built/admin/assets/{settings-66Zv8QvL.js → settings-rRY210wx.js} +25 -25
- package/core/built/admin/assets/{share-modal-BRmGllZq.js → share-modal-CtdLQbnQ.js} +1 -1
- package/core/built/admin/assets/{sort-button-5fyeViQL.js → sort-button-7pVgpa0d.js} +1 -1
- package/core/built/admin/assets/{source-icon-DeeHyZRn.js → source-icon-Dtua85oN.js} +1 -1
- package/core/built/admin/assets/{sprout-956Q4On2.js → sprout-CpwUJAPT.js} +1 -1
- package/core/built/admin/assets/{square-BaCvbKJY.js → square-CDrQjv8R.js} +1 -1
- package/core/built/admin/assets/{stats-BVKNZJO6.js → stats-Yo9Gco0_.js} +1 -1
- package/core/built/admin/assets/{stats-view-gtyaqudG.js → stats-view-DubukX9V.js} +1 -1
- package/core/built/admin/assets/{step-1-09wdjzdX.js → step-1-CH8jWKi7.js} +1 -1
- package/core/built/admin/assets/{step-2-8iaQ0efq.js → step-2-CWy7Qi0Q.js} +1 -1
- package/core/built/admin/assets/{step-3-BuHAZbdD.js → step-3-CNiDFH17.js} +1 -1
- package/core/built/admin/assets/{table-DTofVyjA.js → table-qQi9EXB1.js} +1 -1
- package/core/built/admin/assets/{tabs-CL5eaCGL.js → tabs-M6kFEqPE.js} +1 -1
- package/core/built/admin/assets/{tags-DJrbEw5-.js → tags-74U6lgwY.js} +1 -1
- package/core/built/admin/assets/{tags-U3lciBmd.js → tags-DuMshkTz.js} +1 -1
- package/core/built/admin/assets/{textarea-DdDuNixZ.js → textarea-CGBp9nOo.js} +1 -1
- package/core/built/admin/assets/{tiers-DXKbghdk.js → tiers-D2DYHaeO.js} +1 -1
- package/core/built/admin/assets/{toggle-group-DaZKTYDS.js → toggle-group-GYp_w6Po.js} +1 -1
- package/core/built/admin/assets/{topic-filter-BzqiVOAU.js → topic-filter-N3CzJ01P.js} +1 -1
- package/core/built/admin/assets/{trash-CKK_p9G5.js → trash-CUqAK3SQ.js} +1 -1
- package/core/built/admin/assets/{underline-Bq0P-5Zy.js → underline-CwuJG-Ql.js} +1 -1
- package/core/built/admin/assets/{undo-2-CcBtw-tW.js → undo-2-D6ZRqONE.js} +1 -1
- package/core/built/admin/assets/{upload-BcylHEMw.js → upload-BLiT66bJ.js} +1 -1
- package/core/built/admin/assets/{use-growth-stats-Ci0gymWp.js → use-growth-stats-u18So4Gq.js} +1 -1
- package/core/built/admin/assets/{use-simple-pagination-ByaFwxfZ.js → use-simple-pagination-Dp2sTt2S.js} +1 -1
- package/core/built/admin/assets/{user-round-check-D0I7NO1g.js → user-round-check-BDomHaso.js} +1 -1
- package/core/built/admin/assets/{user-round-x-DeGVH29o.js → user-round-x-Cc0RL-V9.js} +1 -1
- package/core/built/admin/assets/{virtual-list-window-S0xZxQAf.js → virtual-list-window-BnjCoNIr.js} +1 -1
- package/core/built/admin/assets/{wallet-cards-B9TQg4x3.js → wallet-cards-CVZ99Nm3.js} +1 -1
- package/core/built/admin/assets/{web-BRN2mUpo.js → web-B_MLxGxZ.js} +1 -1
- package/core/built/admin/index.html +5 -5
- package/core/server/{services/custom-redirects/file-store.js → adapters/redirects/FileStore.js} +6 -5
- package/core/server/{services/custom-redirects/file-store.ts → adapters/redirects/FileStore.ts} +6 -4
- package/core/server/adapters/redirects/RedirectsStoreBase.d.ts +9 -0
- package/core/server/adapters/redirects/RedirectsStoreBase.js +8 -0
- package/core/server/{services/custom-redirects/gcs-store.js → adapters/redirects/S3RedirectsStore.js} +50 -18
- package/core/server/adapters/redirects/S3RedirectsStore.ts +163 -0
- package/core/server/adapters/scheduling/scheduling-base.js +41 -0
- package/core/server/adapters/scheduling/types.js +2 -0
- package/core/server/adapters/scheduling/types.ts +36 -0
- package/core/server/api/endpoints/authentication.js +26 -5
- package/core/server/api/endpoints/schedules.js +0 -30
- package/core/server/api/endpoints/utils/serializers/output/authentication.js +10 -0
- package/core/server/data/migrations/versions/6.41/2026-05-13-12-00-00-rename-reset-all-passwords-permission.js +21 -0
- package/core/server/data/schema/fixtures/fixtures.json +3 -3
- package/core/server/models/api-key.js +18 -0
- package/core/server/models/user.js +18 -0
- package/core/server/services/adapter-manager/config.js +6 -0
- package/core/server/services/adapter-manager/index.js +1 -0
- package/core/server/services/auth/index.js +4 -0
- package/core/server/services/auth/reset-authentication.js +50 -0
- package/core/server/services/auth/reset-authentication.ts +75 -0
- package/core/server/services/automations/index.js +21 -15
- package/core/server/services/custom-redirects/index.js +2 -4
- package/core/server/services/gifts/gift-bookshelf-repository.js +7 -0
- package/core/server/services/gifts/gift-bookshelf-repository.ts +10 -0
- package/core/server/services/gifts/gift-reminder-scheduler.js +94 -0
- package/core/server/services/gifts/gift-reminder-scheduler.ts +109 -0
- package/core/server/services/gifts/gift-repository.ts +1 -0
- package/core/server/services/gifts/gift-service-wrapper.js +10 -7
- package/core/server/services/gifts/gift-service.js +1 -32
- package/core/server/services/gifts/gift-service.ts +3 -59
- package/core/server/services/internal-keys/index.js +1 -3
- package/core/server/services/internal-keys/index.ts +11 -3
- package/core/server/services/post-scheduling/index.js +16 -28
- package/core/server/services/post-scheduling/index.ts +14 -0
- package/core/server/services/post-scheduling/post-scheduling.js +115 -0
- package/core/server/services/post-scheduling/post-scheduling.ts +138 -0
- package/core/server/services/users.js +29 -16
- package/core/server/web/api/endpoints/admin/middleware.js +8 -4
- package/core/server/web/api/endpoints/admin/routes.js +1 -1
- package/core/shared/config/defaults.json +5 -0
- package/core/shared/labs.js +2 -1
- package/package.json +1 -1
- package/core/built/admin/assets/minus-DPrXh11r.js +0 -1
- package/core/server/services/custom-redirects/gcs-store.ts +0 -117
- package/core/server/services/post-scheduling/post-scheduler-service.js +0 -126
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as _,j as y,r as z,G as Ge,b5 as ar,ca as nr,cb as or,cc as lr,cd as ur,e as ht,B as ve,aK as vt,ce as cr,aJ as ke,ad as dr,cf as fr,cg as bt,Y as be,ch as xt,ci as mr,cj as gr,ck as yr,cl as xe,cm as _t}from"./index-CFEzD2_M.js";import{L as hr}from"./label-fijjy1Mb.js";import{T as vr}from"./textarea-DdDuNixZ.js";import{A as br}from"./at-sign-BsHNViA_.js";var Ee=e=>e.type==="checkbox",de=e=>e instanceof Date,Q=e=>e==null;const Tt=e=>typeof e=="object";var M=e=>!Q(e)&&!Array.isArray(e)&&Tt(e)&&!de(e),Mt=e=>M(e)&&e.target?Ee(e.target)?e.target.checked:e.target.value:e,Lt=(e,s)=>s.split(".").some((t,r,o)=>!isNaN(Number(t))&&e.has(o.slice(0,r).join("."))),xr=e=>{const s=e.constructor&&e.constructor.prototype;return M(s)&&s.hasOwnProperty("isPrototypeOf")},Ke=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function B(e){if(e instanceof Date)return new Date(e);const s=typeof FileList<"u"&&e instanceof FileList;if(Ke&&(e instanceof Blob||s))return e;const t=Array.isArray(e);if(!t&&!(M(e)&&xr(e)))return e;const r=t?[]:Object.create(Object.getPrototypeOf(e));for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=B(e[o]));return r}var De=e=>/^\w*$/.test(e),N=e=>e===void 0,Ye=e=>Array.isArray(e)?e.filter(Boolean):[],Ze=e=>Ye(e.replace(/["|']|\]/g,"").split(/\.|\[/)),f=(e,s,t)=>{if(!s||!M(e))return t;const r=(De(s)?[s]:Ze(s)).reduce((o,a)=>Q(o)?o:o[a],e);return N(r)||r===e?N(e[s])?t:e[s]:r},X=e=>typeof e=="boolean",Y=e=>typeof e=="function",D=(e,s,t)=>{let r=-1;const o=De(s)?[s]:Ze(s),a=o.length,u=a-1;for(;++r<a;){const c=o[r];let E=t;if(r!==u){const C=e[c];E=M(C)||Array.isArray(C)?C:isNaN(+o[r+1])?{}:[]}if(c==="__proto__"||c==="constructor"||c==="prototype")return;e[c]=E,e=e[c]}};const ue={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},ie={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},se={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Pe="form",Pt="root",Je=_.createContext(null);Je.displayName="HookFormControlContext";const Qe=()=>_.useContext(Je);var Bt=(e,s,t,r=!0)=>{const o={defaultValues:s._defaultValues};for(const a in e)Object.defineProperty(o,a,{get:()=>{const u=a;return s._proxyFormState[u]!==ie.all&&(s._proxyFormState[u]=!r||ie.all),t&&(t[u]=!0),e[u]}});return o};const Xe=typeof window<"u"?_.useLayoutEffect:_.useEffect;function _r(e){const s=Qe(),{control:t=s,disabled:r,name:o,exact:a}=e||{},[u,c]=_.useState(t._formState),E=_.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return Xe(()=>t._subscribe({name:o,formState:E.current,exact:a,callback:C=>{!r&&c({...t._formState,...C})}}),[o,r,a]),_.useEffect(()=>{E.current.isValid&&t._setValid(!0)},[t]),_.useMemo(()=>Bt(u,t,E.current,!1),[u,t])}var Z=e=>typeof e=="string",He=(e,s,t,r,o)=>Z(e)?(r&&s.watch.add(e),f(t,e,o)):Array.isArray(e)?e.map(a=>(r&&s.watch.add(a),f(t,a))):(r&&(s.watchAll=!0),t),ze=e=>Q(e)||!Tt(e);function ae(e,s,t=new WeakSet){if(ze(e)||ze(s))return Object.is(e,s);if(de(e)&&de(s))return Object.is(e.getTime(),s.getTime());const r=Object.keys(e),o=Object.keys(s);if(r.length!==o.length)return!1;if(t.has(e)||t.has(s))return!0;t.add(e),t.add(s);for(const a of r){const u=e[a];if(!o.includes(a))return!1;if(a!=="ref"){const c=s[a];if(de(u)&&de(c)||(M(u)||Array.isArray(u))&&(M(c)||Array.isArray(c))?!ae(u,c,t):!Object.is(u,c))return!1}}return!0}function Vr(e){const s=Qe(),{control:t=s,name:r,defaultValue:o,disabled:a,exact:u,compute:c}=e||{},E=_.useRef(o),C=_.useRef(c),O=_.useRef(void 0),b=_.useRef(t),k=_.useRef(r);C.current=c;const[x,L]=_.useState(()=>{const I=t._getWatch(r,E.current);return C.current?C.current(I):I}),U=_.useCallback(I=>{const A=He(r,t._names,I||t._formValues,!1,E.current);return C.current?C.current(A):A},[t._formValues,t._names,r]),T=_.useCallback(I=>{if(!a){const A=He(r,t._names,I||t._formValues,!1,E.current);if(C.current){const q=C.current(A);ae(q,O.current)||(L(q),O.current=q)}else L(A)}},[t._formValues,t._names,a,r]);Xe(()=>((b.current!==t||!ae(k.current,r))&&(b.current=t,k.current=r,T()),t._subscribe({name:r,formState:{values:!0},exact:u,callback:I=>{T(I.values)}})),[t,u,r,T]),_.useEffect(()=>t._removeUnmounted());const w=b.current!==t,p=k.current,$=_.useMemo(()=>{if(a)return null;const I=!w&&!ae(p,r);return w||I?U():null},[a,w,r,p,U]);return $!==null?$:x}function Fr(e){const s=Qe(),{name:t,disabled:r,control:o=s,shouldUnregister:a,defaultValue:u,exact:c=!0}=e,E=Lt(o._names.array,t),C=_.useMemo(()=>f(o._formValues,t,f(o._defaultValues,t,u)),[o,t,u]),O=Vr({control:o,name:t,defaultValue:C,exact:c}),b=_r({control:o,name:t,exact:c}),k=_.useRef(e),x=_.useRef(void 0),L=_.useRef(o.register(t,{...e.rules,value:O,...X(e.disabled)?{disabled:e.disabled}:{}}));k.current=e;const U=_.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!f(b.errors,t)},isDirty:{enumerable:!0,get:()=>!!f(b.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!f(b.touchedFields,t)},isValidating:{enumerable:!0,get:()=>!!f(b.validatingFields,t)},error:{enumerable:!0,get:()=>f(b.errors,t)}}),[b,t]),T=_.useCallback(I=>L.current.onChange({target:{value:Mt(I),name:t},type:ue.CHANGE}),[t]),w=_.useCallback(()=>L.current.onBlur({target:{value:f(o._formValues,t),name:t},type:ue.BLUR}),[t,o._formValues]),p=_.useCallback(I=>{const A=f(o._fields,t);A&&A._f&&I&&(A._f.ref={focus:()=>Y(I.focus)&&I.focus(),select:()=>Y(I.select)&&I.select(),setCustomValidity:q=>Y(I.setCustomValidity)&&I.setCustomValidity(q),reportValidity:()=>Y(I.reportValidity)&&I.reportValidity()})},[o._fields,t]),$=_.useMemo(()=>({name:t,value:O,...X(r)||b.disabled?{disabled:b.disabled||r}:{},onChange:T,onBlur:w,ref:p}),[t,r,b.disabled,T,w,p,O]);return _.useEffect(()=>{const I=o._options.shouldUnregister||a,A=x.current;A&&A!==t&&!E&&o.unregister(A),o.register(t,{...k.current.rules,...X(k.current.disabled)?{disabled:k.current.disabled}:{}});const q=(ee,ce)=>{const W=f(o._fields,ee);W&&W._f&&(W._f.mount=ce)};if(q(t,!0),I){const ee=B(f(o._options.defaultValues,t,k.current.defaultValue));D(o._defaultValues,t,ee),N(f(o._formValues,t))&&D(o._formValues,t,ee)}return!E&&o.register(t),x.current=t,()=>{(E?I&&!o._state.action:I)?o.unregister(t):q(t,!1)}},[t,o,E,a]),_.useEffect(()=>{o._setDisabledField({disabled:r,name:t})},[r,t,o]),_.useMemo(()=>({field:$,formState:b,fieldState:U}),[$,b,U])}const pr=e=>e.render(Fr(e)),et=_.createContext(null);et.displayName="HookFormContext";const wr=()=>_.useContext(et),Er=e=>{const{children:s,watch:t,getValues:r,getFieldState:o,setError:a,clearErrors:u,setValue:c,trigger:E,formState:C,resetField:O,reset:b,handleSubmit:k,unregister:x,control:L,register:U,setFocus:T,subscribe:w}=e,p=_.useMemo(()=>({watch:t,getValues:r,getFieldState:o,setError:a,clearErrors:u,setValue:c,trigger:E,formState:C,resetField:O,reset:b,handleSubmit:k,unregister:x,control:L,register:U,setFocus:T,subscribe:w}),[u,L,C,o,r,k,U,b,O,a,T,c,w,E,x,t]);return _.createElement(et.Provider,{value:p},_.createElement(Je.Provider,{value:p.control},s))};var tt=(e,s,t,r,o)=>s?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[r]:o||!0}}:{},pe=e=>Array.isArray(e)?e:[e],Vt=()=>{let e=[];return{get observers(){return e},next:o=>{for(const a of e)a.next&&a.next(o)},subscribe:o=>(e.push(o),{unsubscribe:()=>{e=e.filter(a=>a!==o)}}),unsubscribe:()=>{e=[]}}};function Ht(e,s){const t={};for(const r in e)if(e.hasOwnProperty(r)){const o=e[r],a=s[r];if(o&&M(o)&&a){const u=Ht(o,a);M(u)&&(t[r]=u)}else e[r]&&(t[r]=a)}return t}var K=e=>M(e)&&!Object.keys(e).length,rt=e=>e.type==="file",Ce=e=>{if(!Ke)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},zt=e=>e.type==="select-multiple",st=e=>e.type==="radio",Ir=e=>st(e)||Ee(e),Be=e=>Ce(e)&&e.isConnected;function Sr(e,s){const t=s.slice(0,-1).length;let r=0;for(;r<t;)e=N(e)?r++:e[s[r++]];return e}function kr(e){for(const s in e)if(e.hasOwnProperty(s)&&!N(e[s]))return!1;return!0}function H(e,s){const t=Array.isArray(s)?s:De(s)?[s]:Ze(s),r=t.length===1?e:Sr(e,t),o=t.length-1,a=t[o];return r&&delete r[a],o!==0&&(M(r)&&K(r)||Array.isArray(r)&&kr(r))&&H(e,t.slice(0,-1)),e}var Ar=e=>{for(const s in e)if(Y(e[s]))return!0;return!1};function $t(e){return Array.isArray(e)||M(e)&&!Ar(e)}function $e(e,s={}){for(const t in e){const r=e[t];$t(r)?(s[t]=Array.isArray(r)?[]:{},$e(r,s[t])):N(r)||(s[t]=!0)}return s}function Fe(e,s,t){t||(t=$e(s));for(const r in e){const o=e[r];if($t(o))N(s)||ze(t[r])?t[r]=$e(o,Array.isArray(o)?[]:{}):Fe(o,Q(s)?{}:s[r],t[r]);else{const a=s[r];t[r]=!ae(o,a)}}return t}const Ft={value:!1,isValid:!1},pt={value:!0,isValid:!0};var qt=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!N(e[0].attributes.value)?N(e[0].value)||e[0].value===""?pt:{value:e[0].value,isValid:!0}:pt:Ft}return Ft},Wt=(e,{valueAsNumber:s,valueAsDate:t,setValueAs:r})=>N(e)?e:s?e===""?NaN:e&&+e:t&&Z(e)?new Date(e):r?r(e):e;const wt={isValid:!1,value:null};var Gt=e=>Array.isArray(e)?e.reduce((s,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:s,wt):wt;function Et(e){const s=e.ref;return rt(s)?s.files:st(s)?Gt(e.refs).value:zt(s)?[...s.selectedOptions].map(({value:t})=>t):Ee(s)?qt(e.refs).value:Wt(N(s.value)?e.ref.value:s.value,e)}var Cr=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,jr=(e,s,t,r)=>{const o={};for(const a of e){const u=f(s,a);u&&D(o,a,u._f)}return{criteriaMode:t,names:[...e],fields:o,shouldUseNativeValidation:r}},je=e=>e instanceof RegExp,_e=e=>N(e)?e:je(e)?e.source:M(e)?je(e.value)?e.value.source:e.value:e,It=e=>({isOnSubmit:!e||e===ie.onSubmit,isOnBlur:e===ie.onBlur,isOnChange:e===ie.onChange,isOnAll:e===ie.all,isOnTouch:e===ie.onTouched});const St="AsyncFunction";var Dr=e=>!!e&&!!e.validate&&!!(Y(e.validate)&&e.validate.constructor.name===St||M(e.validate)&&Object.values(e.validate).find(s=>s.constructor.name===St)),Rr=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),kt=(e,s,t)=>!t&&(s.watchAll||s.watch.has(e)||[...s.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length))));const we=(e,s,t,r)=>{for(const o of t||Object.keys(e)){const a=f(e,o);if(a){const{_f:u,...c}=a;if(u){if(u.refs&&u.refs[0]&&s(u.refs[0],o)&&!r)return!0;if(u.ref&&s(u.ref,u.name)&&!r)return!0;if(we(c,s))break}else if(M(c)&&we(c,s))break}}};function At(e,s,t){const r=f(e,t);if(r||De(t))return{error:r,name:t};const o=t.split(".");for(;o.length;){const a=o.join("."),u=f(s,a),c=f(e,a);if(u&&!Array.isArray(u)&&t!==a)return{name:t};if(c&&c.type)return{name:a,error:c};if(c&&c.root&&c.root.type)return{name:`${a}.root`,error:c.root};o.pop()}return{name:t}}var Ur=(e,s,t,r)=>{t(e);const{name:o,...a}=e;return K(a)||Object.keys(a).length>=Object.keys(s).length||Object.keys(a).find(u=>s[u]===(!r||ie.all))},Nr=(e,s,t)=>!e||!s||e===s||pe(e).some(r=>r&&(t?r===s:r.startsWith(s)||s.startsWith(r))),Or=(e,s,t,r,o)=>o.isOnAll?!1:!t&&o.isOnTouch?!(s||e):(t?r.isOnBlur:o.isOnBlur)?!e:(t?r.isOnChange:o.isOnChange)?e:!0,Tr=(e,s)=>!Ye(f(e,s)).length&&H(e,s),Mr=(e,s,t)=>{const r=pe(f(e,t));return D(r,Pt,s[t]),D(e,t,r),e};function Ct(e,s,t="validate"){if(Z(e)||Array.isArray(e)&&e.every(Z)||X(e)&&!e)return{type:t,message:Z(e)?e:"",ref:s}}var fe=e=>M(e)&&!je(e)?e:{value:e,message:""},jt=async(e,s,t,r,o,a)=>{const{ref:u,refs:c,required:E,maxLength:C,minLength:O,min:b,max:k,pattern:x,validate:L,name:U,valueAsNumber:T,mount:w}=e._f,p=f(t,U);if(!w||s.has(U))return{};const $=c?c[0]:u,I=v=>{o&&$.reportValidity&&($.setCustomValidity(X(v)?"":v||""),$.reportValidity())},A={},q=st(u),ee=Ee(u),ce=q||ee,W=(T||rt(u))&&N(u.value)&&N(p)||Ce(u)&&u.value===""||p===""||Array.isArray(p)&&!p.length,ne=tt.bind(null,U,r,A),V=(v,F,R,P=se.maxLength,te=se.minLength)=>{const re=v?F:R;A[U]={type:v?P:te,message:re,ref:u,...ne(v?P:te,re)}};if(a?!Array.isArray(p)||!p.length:E&&(!ce&&(W||Q(p))||X(p)&&!p||ee&&!qt(c).isValid||q&&!Gt(c).isValid)){const{value:v,message:F}=Z(E)?{value:!!E,message:E}:fe(E);if(v&&(A[U]={type:se.required,message:F,ref:$,...ne(se.required,F)},!r))return I(F),A}if(!W&&(!Q(b)||!Q(k))){let v,F;const R=fe(k),P=fe(b);if(!Q(p)&&!isNaN(p)){const te=u.valueAsNumber||p&&+p;Q(R.value)||(v=te>R.value),Q(P.value)||(F=te<P.value)}else{const te=u.valueAsDate||new Date(p),re=Ie=>new Date(new Date().toDateString()+" "+Ie),he=u.type=="time",le=u.type=="week";Z(R.value)&&p&&(v=he?re(p)>re(R.value):le?p>R.value:te>new Date(R.value)),Z(P.value)&&p&&(F=he?re(p)<re(P.value):le?p<P.value:te<new Date(P.value))}if((v||F)&&(V(!!v,R.message,P.message,se.max,se.min),!r))return I(A[U].message),A}if((C||O)&&!W&&(Z(p)||a&&Array.isArray(p))){const v=fe(C),F=fe(O),R=!Q(v.value)&&p.length>+v.value,P=!Q(F.value)&&p.length<+F.value;if((R||P)&&(V(R,v.message,F.message),!r))return I(A[U].message),A}if(x&&!W&&Z(p)){const{value:v,message:F}=fe(x);if(je(v)&&!p.match(v)&&(A[U]={type:se.pattern,message:F,ref:u,...ne(se.pattern,F)},!r))return I(F),A}if(L){if(Y(L)){const v=await L(p,t),F=Ct(v,$);if(F&&(A[U]={...F,...ne(se.validate,F.message)},!r))return I(F.message),A}else if(M(L)){let v={};for(const F in L){if(!K(v)&&!r)break;const R=Ct(await L[F](p,t),$,F);R&&(v={...R,...ne(F,R.message)},I(R.message),r&&(A[U]=v))}if(!K(v)&&(A[U]={ref:$,...v},!r))return A}}return I(!0),A};const Lr={mode:ie.onSubmit,reValidateMode:ie.onChange,shouldFocusError:!0};function Pr(e={}){let s={...Lr,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:Y(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},r={},o=M(s.defaultValues)||M(s.values)?B(s.defaultValues||s.values)||{}:{},a=s.shouldUnregister?{}:B(o),u={action:!1,mount:!1,watch:!1,keepIsValid:!1},c={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},E,C=0;const O={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},b={...O};let k={...b};const x={array:Vt(),state:Vt()},L=s.criteriaMode===ie.all,U=i=>n=>{clearTimeout(C),C=setTimeout(i,n)},T=async i=>{if(!u.keepIsValid&&!s.disabled&&(b.isValid||k.isValid||i)){let n;s.resolver?(n=K((await W()).errors),w()):n=await v({fields:r,onlyCheckValid:!0,eventType:ue.VALID}),n!==t.isValid&&x.state.next({isValid:n})}},w=(i,n)=>{!s.disabled&&(b.isValidating||b.validatingFields||k.isValidating||k.validatingFields)&&((i||Array.from(c.mount)).forEach(l=>{l&&(n?D(t.validatingFields,l,n):H(t.validatingFields,l))}),x.state.next({validatingFields:t.validatingFields,isValidating:!K(t.validatingFields)}))},p=i=>{const n=Fe(o,a),l=Cr(i);D(t.dirtyFields,l,f(n,l))},$=(i,n=[],l,g,m=!0,d=!0)=>{if(g&&l&&!s.disabled){if(u.action=!0,d&&Array.isArray(f(r,i))){const h=l(f(r,i),g.argA,g.argB);m&&D(r,i,h)}if(d&&Array.isArray(f(t.errors,i))){const h=l(f(t.errors,i),g.argA,g.argB);m&&D(t.errors,i,h),Tr(t.errors,i)}if((b.touchedFields||k.touchedFields)&&d&&Array.isArray(f(t.touchedFields,i))){const h=l(f(t.touchedFields,i),g.argA,g.argB);m&&D(t.touchedFields,i,h)}(b.dirtyFields||k.dirtyFields)&&p(i),x.state.next({name:i,isDirty:R(i,n),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else D(a,i,n)},I=(i,n)=>{D(t.errors,i,n),x.state.next({errors:t.errors})},A=i=>{t.errors=i,x.state.next({errors:t.errors,isValid:!1})},q=(i,n,l,g)=>{const m=f(r,i);if(m){const d=f(a,i,N(l)?f(o,i):l);N(d)||g&&g.defaultChecked||n?D(a,i,n?d:Et(m._f)):re(i,d),u.mount&&!u.action&&T()}},ee=(i,n,l,g,m)=>{let d=!1,h=!1;const S={name:i};if(!s.disabled){if(!l||g){(b.isDirty||k.isDirty)&&(h=t.isDirty,t.isDirty=S.isDirty=R(),d=h!==S.isDirty);const j=ae(f(o,i),n);h=!!f(t.dirtyFields,i),j?H(t.dirtyFields,i):D(t.dirtyFields,i,!0),S.dirtyFields=t.dirtyFields,d=d||(b.dirtyFields||k.dirtyFields)&&h!==!j}if(l){const j=f(t.touchedFields,i);j||(D(t.touchedFields,i,l),S.touchedFields=t.touchedFields,d=d||(b.touchedFields||k.touchedFields)&&j!==l)}d&&m&&x.state.next(S)}return d?S:{}},ce=(i,n,l,g)=>{const m=f(t.errors,i),d=(b.isValid||k.isValid)&&X(n)&&t.isValid!==n;if(s.delayError&&l?(E=U(()=>I(i,l)),E(s.delayError)):(clearTimeout(C),E=null,l?D(t.errors,i,l):H(t.errors,i)),(l?!ae(m,l):m)||!K(g)||d){const h={...g,...d&&X(n)?{isValid:n}:{},errors:t.errors,name:i};t={...t,...h},x.state.next(h)}},W=async i=>(w(i,!0),await s.resolver(a,s.context,jr(i||c.mount,r,s.criteriaMode,s.shouldUseNativeValidation))),ne=async i=>{const{errors:n}=await W(i);if(w(i),i)for(const l of i){const g=f(n,l);g?D(t.errors,l,g):H(t.errors,l)}else t.errors=n;return n},V=async({name:i,eventType:n})=>{if(e.validate){const l=await e.validate({formValues:a,formState:t,name:i,eventType:n});if(M(l))for(const g in l)l[g]&&Se(`${Pe}.${g}`,{message:Z(l.message)?l.message:"",type:se.validate});else Z(l)||!l?Se(Pe,{message:l||"",type:se.validate}):ot(Pe);return l}return!0},v=async({fields:i,onlyCheckValid:n,name:l,eventType:g,context:m={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(m.runRootValidation=!0,!await V({name:l,eventType:g})&&(m.valid=!1,n)))return m.valid;for(const d in i){const h=i[d];if(h){const{_f:S,...j}=h;if(S){const G=c.array.has(S.name),oe=h._f&&Dr(h._f);oe&&b.validatingFields&&w([S.name],!0);const J=await jt(h,c.disabled,a,L,s.shouldUseNativeValidation&&!n,G);if(oe&&b.validatingFields&&w([S.name]),J[S.name]&&(m.valid=!1,n)||(!n&&(f(J,S.name)?G?Mr(t.errors,J,S.name):D(t.errors,S.name,J[S.name]):H(t.errors,S.name)),e.shouldUseNativeValidation&&J[S.name]))break}!K(j)&&await v({context:m,onlyCheckValid:n,fields:j,name:d,eventType:g})}}return m.valid},F=()=>{for(const i of c.unMount){const n=f(r,i);n&&(n._f.refs?n._f.refs.every(l=>!Be(l)):!Be(n._f.ref))&&Ne(i)}c.unMount=new Set},R=(i,n)=>!s.disabled&&(i&&n&&D(a,i,n),!ae(at(),o)),P=(i,n,l)=>He(i,c,{...u.mount?a:N(n)?o:Z(i)?{[i]:n}:n},l,n),te=i=>Ye(f(u.mount?a:o,i,s.shouldUnregister?f(o,i,[]):[])),re=(i,n,l={})=>{const g=f(r,i);let m=n;if(g){const d=g._f;d&&(!d.disabled&&D(a,i,Wt(n,d)),m=Ce(d.ref)&&Q(n)?"":n,zt(d.ref)?[...d.ref.options].forEach(h=>h.selected=m.includes(h.value)):d.refs?Ee(d.ref)?d.refs.forEach(h=>{(!h.defaultChecked||!h.disabled)&&(Array.isArray(m)?h.checked=!!m.find(S=>S===h.value):h.checked=m===h.value||!!m)}):d.refs.forEach(h=>h.checked=h.value===m):rt(d.ref)?d.ref.value="":(d.ref.value=m,d.ref.type||x.state.next({name:i,values:B(a)})))}(l.shouldDirty||l.shouldTouch)&&ee(i,m,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&Ue(i)},he=(i,n,l)=>{for(const g in n){if(!n.hasOwnProperty(g))return;const m=n[g],d=i+"."+g,h=f(r,d);(c.array.has(i)||M(m)||h&&!h._f)&&!de(m)?he(d,m,l):re(d,m,l)}},le=(i,n,l={})=>{const g=f(r,i),m=c.array.has(i),d=B(n);D(a,i,d),m?(x.array.next({name:i,values:B(a)}),(b.isDirty||b.dirtyFields||k.isDirty||k.dirtyFields)&&l.shouldDirty&&(p(i),x.state.next({name:i,dirtyFields:t.dirtyFields,isDirty:R(i,d)}))):g&&!g._f&&!Q(d)?he(i,d,l):re(i,d,l),kt(i,c)?x.state.next({...t,name:i,values:B(a)}):x.state.next({name:u.mount?i:void 0,values:B(a)})},Ie=async i=>{u.mount=!0;const n=i.target;let l=n.name,g=!0;const m=f(r,l),d=j=>{g=Number.isNaN(j)||de(j)&&isNaN(j.getTime())||ae(j,f(a,l,j))},h=It(s.mode),S=It(s.reValidateMode);if(m){let j,G;const oe=n.type?Et(m._f):Mt(i),J=i.type===ue.BLUR||i.type===ue.FOCUS_OUT,rr=!Rr(m._f)&&!e.validate&&!s.resolver&&!f(t.errors,l)&&!m._f.deps||Or(J,f(t.touchedFields,l),t.isSubmitted,S,h),Me=kt(l,c,J);D(a,l,oe),J?(!n||!n.readOnly)&&(m._f.onBlur&&m._f.onBlur(i),E&&E(0)):m._f.onChange&&m._f.onChange(i);const Le=ee(l,oe,J),sr=!K(Le)||Me;if(!J&&x.state.next({name:l,type:i.type,values:B(a)}),rr)return(b.isValid||k.isValid)&&(s.mode==="onBlur"?J&&T():J||T()),sr&&x.state.next({name:l,...Me?{}:Le});if(!s.resolver&&e.validate&&await V({name:l,eventType:i.type}),!J&&Me&&x.state.next({...t}),s.resolver){const{errors:gt}=await W([l]);if(w([l]),d(oe),g){const ir=At(t.errors,r,l),yt=At(gt,r,ir.name||l);j=yt.error,l=yt.name,G=K(gt)}}else w([l],!0),j=(await jt(m,c.disabled,a,L,s.shouldUseNativeValidation))[l],w([l]),d(oe),g&&(j?G=!1:(b.isValid||k.isValid)&&(G=await v({fields:r,onlyCheckValid:!0,name:l,eventType:i.type})));g&&(m._f.deps&&(!Array.isArray(m._f.deps)||m._f.deps.length>0)&&Ue(m._f.deps),ce(l,G,j,Le))}},it=(i,n)=>{if(f(t.errors,n)&&i.focus)return i.focus(),1},Ue=async(i,n={})=>{let l,g;const m=pe(i);if(s.resolver){const d=await ne(N(i)?i:m);l=K(d),g=i?!m.some(h=>f(d,h)):l}else i?(g=(await Promise.all(m.map(async d=>{const h=f(r,d);return await v({fields:h&&h._f?{[d]:h}:h,eventType:ue.TRIGGER})}))).every(Boolean),!(!g&&!t.isValid)&&T()):g=l=await v({fields:r,name:i,eventType:ue.TRIGGER});return x.state.next({...!Z(i)||(b.isValid||k.isValid)&&l!==t.isValid?{}:{name:i},...s.resolver||!i?{isValid:l}:{},errors:t.errors}),n.shouldFocus&&!g&&we(r,it,i?m:c.mount),g},at=(i,n)=>{let l={...u.mount?a:o};return n&&(l=Ht(n.dirtyFields?t.dirtyFields:t.touchedFields,l)),N(i)?l:Z(i)?f(l,i):i.map(g=>f(l,g))},nt=(i,n)=>({invalid:!!f((n||t).errors,i),isDirty:!!f((n||t).dirtyFields,i),error:f((n||t).errors,i),isValidating:!!f(t.validatingFields,i),isTouched:!!f((n||t).touchedFields,i)}),ot=i=>{const n=i?pe(i):void 0;n?.forEach(l=>H(t.errors,l)),n?n.forEach(l=>{x.state.next({name:l,errors:t.errors})}):x.state.next({errors:{}})},Se=(i,n,l)=>{const g=(f(r,i,{_f:{}})._f||{}).ref,m=f(t.errors,i)||{},{ref:d,message:h,type:S,...j}=m;D(t.errors,i,{...j,...n,ref:g}),x.state.next({name:i,errors:t.errors,isValid:!1}),l&&l.shouldFocus&&g&&g.focus&&g.focus()},Zt=(i,n)=>Y(i)?x.state.subscribe({next:l=>"values"in l&&i(P(void 0,n),l)}):P(i,n,!0),lt=i=>x.state.subscribe({next:n=>{Nr(i.name,n.name,i.exact)&&Ur(n,i.formState||b,tr,i.reRenderRoot)&&i.callback({values:{...a},...t,...n,defaultValues:o})}}).unsubscribe,Jt=i=>(u.mount=!0,k={...k,...i.formState},lt({...i,formState:{...O,...i.formState}})),Ne=(i,n={})=>{for(const l of i?pe(i):c.mount)c.mount.delete(l),c.array.delete(l),n.keepValue||(H(r,l),H(a,l)),!n.keepError&&H(t.errors,l),!n.keepDirty&&H(t.dirtyFields,l),!n.keepTouched&&H(t.touchedFields,l),!n.keepIsValidating&&H(t.validatingFields,l),!s.shouldUnregister&&!n.keepDefaultValue&&H(o,l);x.state.next({values:B(a)}),x.state.next({...t,...n.keepDirty?{isDirty:R()}:{}}),!n.keepIsValid&&T()},ut=({disabled:i,name:n})=>{if(X(i)&&u.mount||i||c.disabled.has(n)){const m=c.disabled.has(n)!==!!i;i?c.disabled.add(n):c.disabled.delete(n),m&&u.mount&&!u.action&&T()}},Oe=(i,n={})=>{let l=f(r,i);const g=X(n.disabled)||X(s.disabled),m=!c.registerName.has(i)&&l&&!l._f.mount;return D(r,i,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:i}},name:i,mount:!0,...n}}),c.mount.add(i),l&&!m?ut({disabled:X(n.disabled)?n.disabled:s.disabled,name:i}):q(i,!0,n.value),{...g?{disabled:n.disabled||s.disabled}:{},...s.progressive?{required:!!n.required,min:_e(n.min),max:_e(n.max),minLength:_e(n.minLength),maxLength:_e(n.maxLength),pattern:_e(n.pattern)}:{},name:i,onChange:Ie,onBlur:Ie,ref:d=>{if(d){c.registerName.add(i),Oe(i,n),c.registerName.delete(i),l=f(r,i);const h=N(d.value)&&d.querySelectorAll&&d.querySelectorAll("input,select,textarea")[0]||d,S=Ir(h),j=l._f.refs||[];if(S?j.find(G=>G===h):h===l._f.ref)return;D(r,i,{_f:{...l._f,...S?{refs:[...j.filter(Be),h,...Array.isArray(f(o,i))?[{}]:[]],ref:{type:h.type,name:i}}:{ref:h}}}),q(i,!1,void 0,h)}else l=f(r,i,{}),l._f&&(l._f.mount=!1),(s.shouldUnregister||n.shouldUnregister)&&!(Lt(c.array,i)&&u.action)&&c.unMount.add(i)}}},Te=()=>s.shouldFocusError&&we(r,it,c.mount),Qt=i=>{X(i)&&(x.state.next({disabled:i}),we(r,(n,l)=>{const g=f(r,l);g&&(n.disabled=g._f.disabled||i,Array.isArray(g._f.refs)&&g._f.refs.forEach(m=>{m.disabled=g._f.disabled||i}))},0,!1))},ct=(i,n)=>async l=>{let g;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let m=B(a);if(x.state.next({isSubmitting:!0}),s.resolver){const{errors:d,values:h}=await W();w(),t.errors=d,m=B(h)}else await v({fields:r,eventType:ue.SUBMIT});if(c.disabled.size)for(const d of c.disabled)H(m,d);if(H(t.errors,Pt),K(t.errors)){x.state.next({errors:{}});try{await i(m,l)}catch(d){g=d}}else n&&await n({...t.errors},l),Te(),setTimeout(Te);if(x.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:K(t.errors)&&!g,submitCount:t.submitCount+1,errors:t.errors}),g)throw g},Xt=(i,n={})=>{f(r,i)&&(N(n.defaultValue)?le(i,B(f(o,i))):(le(i,n.defaultValue),D(o,i,B(n.defaultValue))),n.keepTouched||H(t.touchedFields,i),n.keepDirty||(H(t.dirtyFields,i),t.isDirty=n.defaultValue?R(i,B(f(o,i))):R()),n.keepError||(H(t.errors,i),b.isValid&&T()),x.state.next({...t}))},dt=(i,n={})=>{const l=i?B(i):o,g=B(l),m=K(i),d=m?o:g;if(n.keepDefaultValues||(o=l),!n.keepValues){if(n.keepDirtyValues){const h=new Set([...c.mount,...Object.keys(Fe(o,a))]);for(const S of Array.from(h)){const j=f(t.dirtyFields,S),G=f(a,S),oe=f(d,S);j&&!N(G)?D(d,S,G):!j&&!N(oe)&&le(S,oe)}}else{if(Ke&&N(i))for(const h of c.mount){const S=f(r,h);if(S&&S._f){const j=Array.isArray(S._f.refs)?S._f.refs[0]:S._f.ref;if(Ce(j)){const G=j.closest("form");if(G){G.reset();break}}}}if(n.keepFieldsRef)for(const h of c.mount)le(h,f(d,h));else r={}}a=s.shouldUnregister?n.keepDefaultValues?B(o):{}:B(d),x.array.next({values:{...d}}),x.state.next({values:{...d}})}c={mount:n.keepDirtyValues?c.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},u.mount=!b.isValid||!!n.keepIsValid||!!n.keepDirtyValues||!s.shouldUnregister&&!K(d),u.watch=!!s.shouldUnregister,u.keepIsValid=!!n.keepIsValid,u.action=!1,n.keepErrors||(t.errors={}),x.state.next({submitCount:n.keepSubmitCount?t.submitCount:0,isDirty:m?!1:n.keepDirty?t.isDirty:!!(n.keepDefaultValues&&!ae(i,o)),isSubmitted:n.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:m?{}:n.keepDirtyValues?n.keepDefaultValues&&a?Fe(o,a):t.dirtyFields:n.keepDefaultValues&&i?Fe(o,i):n.keepDirty?t.dirtyFields:{},touchedFields:n.keepTouched?t.touchedFields:{},errors:n.keepErrors?t.errors:{},isSubmitSuccessful:n.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:o})},ft=(i,n)=>dt(Y(i)?i(a):i,{...s.resetOptions,...n}),er=(i,n={})=>{const l=f(r,i),g=l&&l._f;if(g){const m=g.refs?g.refs[0]:g.ref;m.focus&&setTimeout(()=>{m.focus(),n.shouldSelect&&Y(m.select)&&m.select()})}},tr=i=>{t={...t,...i}},mt={control:{register:Oe,unregister:Ne,getFieldState:nt,handleSubmit:ct,setError:Se,_subscribe:lt,_runSchema:W,_updateIsValidating:w,_focusError:Te,_getWatch:P,_getDirty:R,_setValid:T,_setFieldArray:$,_setDisabledField:ut,_setErrors:A,_getFieldArray:te,_reset:dt,_resetDefaultValues:()=>Y(s.defaultValues)&&s.defaultValues().then(i=>{ft(i,s.resetOptions),x.state.next({isLoading:!1})}),_removeUnmounted:F,_disableForm:Qt,_subjects:x,_proxyFormState:b,get _fields(){return r},get _formValues(){return a},get _state(){return u},set _state(i){u=i},get _defaultValues(){return o},get _names(){return c},set _names(i){c=i},get _formState(){return t},get _options(){return s},set _options(i){s={...s,...i}}},subscribe:Jt,trigger:Ue,register:Oe,handleSubmit:ct,watch:Zt,setValue:le,getValues:at,reset:ft,resetField:Xt,clearErrors:ot,unregister:Ne,setError:Se,setFocus:er,getFieldState:nt};return{...mt,formControl:mt}}function Br(e={}){const s=_.useRef(void 0),t=_.useRef(void 0),[r,o]=_.useState({isDirty:!1,isValidating:!1,isLoading:Y(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:Y(e.defaultValues)?void 0:e.defaultValues});if(!s.current)if(e.formControl)s.current={...e.formControl,formState:r},e.defaultValues&&!Y(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:u,...c}=Pr(e);s.current={...c,formState:r}}const a=s.current.control;return a._options=e,Xe(()=>{const u=a._subscribe({formState:a._proxyFormState,callback:()=>o({...a._formState}),reRenderRoot:!0});return o(c=>({...c,isReady:!0})),a._formState.isReady=!0,u},[a]),_.useEffect(()=>a._disableForm(e.disabled),[a,e.disabled]),_.useEffect(()=>{e.mode&&(a._options.mode=e.mode),e.reValidateMode&&(a._options.reValidateMode=e.reValidateMode)},[a,e.mode,e.reValidateMode]),_.useEffect(()=>{e.errors&&(a._setErrors(e.errors),a._focusError())},[a,e.errors]),_.useEffect(()=>{e.shouldUnregister&&a._subjects.state.next({values:a._getWatch()})},[a,e.shouldUnregister]),_.useEffect(()=>{if(a._proxyFormState.isDirty){const u=a._getDirty();u!==r.isDirty&&a._subjects.state.next({isDirty:u})}},[a,r.isDirty]),_.useEffect(()=>{var u;e.values&&!ae(e.values,t.current)?(a._reset(e.values,{keepFieldsRef:!0,...a._options.resetOptions}),!((u=a._options.resetOptions)===null||u===void 0)&&u.keepIsValid||a._setValid(),t.current=e.values,o(c=>({...c}))):a._resetDefaultValues()},[a,e.values]),_.useEffect(()=>{a._state.mount||(a._setValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),s.current.formState=_.useMemo(()=>Bt(r,a),[a,r]),s.current}const Hr=Er,Kt=z.createContext({}),Ve=({...e})=>y.jsx(Kt.Provider,{value:{name:e.name},children:y.jsx(pr,{...e})}),Re=()=>{const e=z.useContext(Kt),s=z.useContext(Yt),{getFieldState:t,formState:r}=wr(),o=t(e.name,r);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:a}=s;return{id:a,name:e.name,formItemId:`${a}-form-item`,formDescriptionId:`${a}-form-item-description`,formMessageId:`${a}-form-item-message`,...o}},Yt=z.createContext({}),me=z.forwardRef(({className:e,...s},t)=>{const r=z.useId();return y.jsx(Yt.Provider,{value:{id:r},children:y.jsx("div",{ref:t,className:Ge("space-y-2",e),...s})})});me.displayName="FormItem";const Ae=z.forwardRef(({className:e,...s},t)=>{const{formItemId:r}=Re();return y.jsx(hr,{ref:t,className:e,htmlFor:r,...s})});Ae.displayName="FormLabel";const ge=z.forwardRef(({...e},s)=>{const{error:t,formItemId:r,formDescriptionId:o,formMessageId:a}=Re();return y.jsx(ar,{ref:s,"aria-describedby":t?`${o} ${a}`:`${o}`,"aria-invalid":!!t,id:r,...e})});ge.displayName="FormControl";const qe=z.forwardRef(({className:e,...s},t)=>{const{formDescriptionId:r}=Re();return y.jsx("p",{ref:t,className:Ge("text-xs text-text-secondary",e),id:r,...s})});qe.displayName="FormDescription";const ye=z.forwardRef(({className:e,children:s,...t},r)=>{const{error:o,formMessageId:a}=Re(),u=o?String(o?.message??""):s;return u?y.jsx("p",{ref:r,className:Ge("text-xs text-destructive",e),id:a,...t,children:u}):null});ye.displayName="FormMessage";const Dt=(e,s,t)=>{if(e&&"reportValidity"in e){const r=f(t,s);e.setCustomValidity(r&&r.message||""),e.reportValidity()}},We=(e,s)=>{for(const t in s.fields){const r=s.fields[t];r&&r.ref&&"reportValidity"in r.ref?Dt(r.ref,t,e):r&&r.refs&&r.refs.forEach(o=>Dt(o,t,e))}},Rt=(e,s)=>{s.shouldUseNativeValidation&&We(e,s);const t={};for(const r in e){const o=f(s.fields,r),a=Object.assign(e[r]||{},{ref:o&&o.ref});if(zr(s.names||Object.keys(e),r)){const u=Object.assign({},f(t,r));D(u,"root",a),D(t,r,u)}else D(t,r,a)}return t},zr=(e,s)=>{const t=Ut(s);return e.some(r=>Ut(r).match(`^${t}\\.\\d+`))};function Ut(e){return e.replace(/\]|\[/g,"")}function Nt(e,s){try{var t=e()}catch(r){return s(r)}return t&&t.then?t.then(void 0,s):t}function $r(e,s){for(var t={};e.length;){var r=e[0],o=r.code,a=r.message,u=r.path.join(".");if(!t[u])if("unionErrors"in r){var c=r.unionErrors[0].errors[0];t[u]={message:c.message,type:c.code}}else t[u]={message:a,type:o};if("unionErrors"in r&&r.unionErrors.forEach(function(O){return O.errors.forEach(function(b){return e.push(b)})}),s){var E=t[u].types,C=E&&E[r.code];t[u]=tt(u,s,t,o,C?[].concat(C,r.message):r.message)}e.shift()}return t}function qr(e,s){for(var t={};e.length;){var r=e[0],o=r.code,a=r.message,u=r.path.join(".");if(!t[u])if(r.code==="invalid_union"&&r.errors.length>0){var c=r.errors[0][0];t[u]={message:c.message,type:c.code}}else t[u]={message:a,type:o};if(r.code==="invalid_union"&&r.errors.forEach(function(O){return O.forEach(function(b){return e.push(b)})}),s){var E=t[u].types,C=E&&E[r.code];t[u]=tt(u,s,t,o,C?[].concat(C,r.message):r.message)}e.shift()}return t}function Wr(e,s,t){if(t===void 0&&(t={}),(function(r){return"_def"in r&&typeof r._def=="object"&&"typeName"in r._def})(e))return function(r,o,a){try{return Promise.resolve(Nt(function(){return Promise.resolve(e[t.mode==="sync"?"parse":"parseAsync"](r,s)).then(function(u){return a.shouldUseNativeValidation&&We({},a),{errors:{},values:t.raw?Object.assign({},r):u}})},function(u){if((function(c){return Array.isArray(c?.issues)})(u))return{values:{},errors:Rt($r(u.errors,!a.shouldUseNativeValidation&&a.criteriaMode==="all"),a)};throw u}))}catch(u){return Promise.reject(u)}};if((function(r){return"_zod"in r&&typeof r._zod=="object"})(e))return function(r,o,a){try{return Promise.resolve(Nt(function(){return Promise.resolve((t.mode==="sync"?nr:or)(e,r,s)).then(function(u){return a.shouldUseNativeValidation&&We({},a),{errors:{},values:t.raw?Object.assign({},r):u}})},function(u){if((function(c){return c instanceof lr})(u))return{values:{},errors:Rt(qr(u.issues,!a.shouldUseNativeValidation&&a.criteriaMode==="all"),a)};throw u}))}catch(u){return Promise.reject(u)}};throw new Error("Invalid input: not a Zod schema")}const Ot=e=>{const s=document.createElement("textarea");return s.innerHTML=e,s.value},Gr=yr({profileImage:xe().optional(),coverImage:xe().optional(),name:xe().nonempty({message:"Display name is required."}).max(64,{message:"Display name must be less than 64 characters."}),handle:xe().min(2,{message:"Handle must be at least 2 characters."}).max(100,{message:"Handle must be less than 100 characters."}).regex(/^[a-zA-Z0-9_]+$/,{message:"Handle must contain only letters, numbers, and underscores."}),bio:xe().max(250,{message:"Bio must be less than 250 characters."}).optional()}),Xr=({account:e,setIsEditingProfile:s})=>{const[t,r]=z.useState(e.avatarUrl||null),o=z.useRef(null),[a,u]=z.useState(!1),[c,E]=z.useState(e.bannerImageUrl||null),C=z.useRef(null),[O,b]=z.useState(!1),[k,x]=z.useState(""),[L,U]=z.useState(!1),{mutate:T}=ur(e?.handle||""),w=Br({resolver:Wr(Gr),defaultValues:{profileImage:e.avatarUrl,coverImage:e.bannerImageUrl||"",name:e.name,handle:"",bio:e.bio?Ot(e.bio):""}}),p=!!w.formState.errors.name,$=!!w.formState.errors.handle;z.useEffect(()=>{if(e.handle){const V=e.handle.match(/@([^@]+)@(.+)/);V&&(w.setValue("handle",V[1]),x(V[2]))}},[e.handle,w]);const I=()=>{o.current?.click()},A=async V=>{try{return u(!0),await _t(V)}catch(v){r(null),w.setValue("profileImage","");let F="Failed to upload image. Try again.";if(v&&typeof v=="object"&&"statusCode"in v)switch(v.statusCode){case 413:F="Image size exceeds limit.";break;case 415:F="The file type is not supported.";break}be.error(F)}finally{u(!1)}},q=async V=>{const v=V.target.files;if(v&&v.length>0){const F=v[0];if(F.size>bt){be.error(xt),V.target.value="";return}if(!await mr(F)){be.error(gr),V.target.value="";return}const P=URL.createObjectURL(F);r(P);const te=await A(F);w.setValue("profileImage",te)}},ee=()=>{C.current?.click()},ce=async V=>{try{return b(!0),await _t(V)}catch(v){E(null),w.setValue("coverImage","");let F="Failed to upload image. Try again.";if(v&&typeof v=="object"&&"statusCode"in v)switch(v.statusCode){case 413:F="Image size exceeds limit.";break;case 415:F="The file type is not supported.";break}be.error(F)}finally{b(!1)}},W=async V=>{const v=V.target.files;if(v&&v.length>0){const F=v[0];if(F.size>bt){be.error(xt),V.target.value="";return}const R=URL.createObjectURL(F);E(R);const P=await ce(F);w.setValue("coverImage",P)}};function ne(V){U(!0);const v=e.bio?Ot(e.bio):"";if(V.name===e.name&&V.handle===e.handle.split("@")[1]&&V.bio===v&&V.profileImage===e.avatarUrl&&V.coverImage===e.bannerImageUrl){U(!1),s(!1);return}T({name:V.name||e.name,username:V.handle||e.handle,bio:V.bio??"",avatarUrl:V.profileImage||"",bannerImageUrl:V.coverImage||""},{onSettled(){U(!1),s(!1)}})}return y.jsx(Hr,{...w,children:y.jsxs("form",{className:"flex flex-col gap-5",onKeyDown:V=>{V.key==="Enter"&&!V.shiftKey&&(V.preventDefault(),w.handleSubmit(ne)())},onSubmit:w.handleSubmit(ne),children:[y.jsxs("div",{className:"relative mb-2",children:[y.jsx("div",{className:"group relative flex h-[180px] cursor-pointer items-center justify-center bg-gray-100 dark:bg-gray-950",onClick:ee,children:c?y.jsxs(y.Fragment,{children:[y.jsx("img",{className:`size-full object-cover ${O&&"opacity-10"}`,src:c}),O&&y.jsx("div",{className:"absolute leading-[0]",children:y.jsx(ht,{size:"md"})}),y.jsx(ve,{className:"absolute top-3 right-3 size-8 bg-black/60 opacity-0 group-hover:opacity-100 hover:bg-black/80 dark:text-white",onClick:V=>{V.stopPropagation(),E(null),w.setValue("coverImage","")},children:y.jsx(vt,{})})]}):y.jsx(ve,{className:"pointer-events-none absolute right-3 bottom-3 bg-gray-250 group-hover:bg-gray-300",variant:"secondary",children:"Upload cover image"})}),y.jsx("div",{className:"group absolute -bottom-10 left-4 flex size-20 cursor-pointer items-center justify-center rounded-full border-2 border-white bg-gray-100 dark:border-[#101114] dark:bg-gray-950",onClick:I,children:t?y.jsxs(y.Fragment,{children:[y.jsx("img",{className:`size-full rounded-full object-cover ${a&&"opacity-10"}`,src:t}),a&&y.jsx("div",{className:"absolute leading-[0]",children:y.jsx(ht,{size:"md"})}),y.jsx(ve,{className:"absolute -top-2 -right-2 h-8 w-10 rounded-full bg-black/80 opacity-0 group-hover:opacity-100 hover:bg-black/90 dark:text-white",onClick:V=>{V.stopPropagation(),r(null),w.setValue("profileImage","")},children:y.jsx(vt,{})})]}):y.jsx(cr,{size:32,strokeWidth:1.5})})]}),y.jsx(Ve,{control:w.control,name:"profileImage",render:()=>y.jsxs(me,{children:[y.jsx(ge,{children:y.jsx(ke,{ref:o,accept:"image/*",className:"hidden",type:"file",onChange:q})}),y.jsx(ye,{})]})}),y.jsx(Ve,{control:w.control,name:"coverImage",render:()=>y.jsxs(me,{children:[y.jsx(ge,{children:y.jsx(ke,{ref:C,accept:"image/*",className:"hidden",type:"file",onChange:W})}),y.jsx(ye,{})]})}),y.jsx(Ve,{control:w.control,name:"name",render:({field:V})=>y.jsxs(me,{children:[y.jsx(Ae,{children:"Display name"}),y.jsx(ge,{children:y.jsx(ke,{placeholder:"Jamie Larson",...V})}),!p&&y.jsx(qe,{children:"The name shown to your followers in the Inbox and Feed"}),y.jsx(ye,{})]})}),y.jsx(Ve,{control:w.control,name:"handle",render:({field:V})=>y.jsxs(me,{children:[y.jsx(Ae,{children:"Handle"}),y.jsx(ge,{children:y.jsxs("div",{className:"relative flex items-center justify-stretch gap-1 rounded-md border border-transparent bg-gray-150 px-3 transition-colors focus-within:border-green focus-within:bg-transparent focus-within:shadow-[0_0_0_2px_rgba(48,207,67,.25)] focus-within:outline-hidden dark:bg-gray-900",children:[y.jsx(br,{className:"w-4 min-w-4 text-gray-700",size:16}),y.jsx(ke,{className:"w-auto grow border-none! bg-transparent px-0 shadow-none! outline-hidden!",placeholder:"index",...V}),y.jsxs("span",{className:"max-w-[200px] truncate text-right whitespace-nowrap text-gray-700 max-sm:hidden",title:`@${k}`,children:["@",k]})]})}),!$&&y.jsxs(qe,{children:["Your social web handle that others can follow. Works just like an email address. ",y.jsx("a",{className:"font-medium text-purple",href:"https://ghost.org/help/social-web/",rel:"noreferrer",target:"_blank",children:"Learn more"})]}),y.jsx(ye,{})]})}),y.jsx(Ve,{control:w.control,name:"bio",render:({field:V})=>y.jsxs(me,{children:[y.jsx(Ae,{children:"Bio"}),y.jsx(ge,{children:y.jsx(vr,{...V})}),y.jsx(ye,{})]})}),y.jsxs(dr,{className:"max-sm:gap-2",children:[y.jsx(fr,{asChild:!0,children:y.jsx(ve,{variant:"outline",children:"Cancel"})}),y.jsx(ve,{disabled:L||a||O,type:"submit",children:"Save"})]})]})})};export{Xr as E};
|
|
1
|
+
import{t as _,j as y,r as z,G as Ge,b5 as ar,ca as nr,cb as or,cc as lr,cd as ur,e as ht,B as ve,aK as vt,ce as cr,aJ as ke,ad as dr,cf as fr,cg as bt,Y as be,ch as xt,ci as mr,cj as gr,ck as yr,cl as xe,cm as _t}from"./index-BkbhBpVC.js";import{L as hr}from"./label-BiPpMny2.js";import{T as vr}from"./textarea-CGBp9nOo.js";import{A as br}from"./at-sign-DWOf36uj.js";var Ee=e=>e.type==="checkbox",de=e=>e instanceof Date,Q=e=>e==null;const Tt=e=>typeof e=="object";var M=e=>!Q(e)&&!Array.isArray(e)&&Tt(e)&&!de(e),Mt=e=>M(e)&&e.target?Ee(e.target)?e.target.checked:e.target.value:e,Lt=(e,s)=>s.split(".").some((t,r,o)=>!isNaN(Number(t))&&e.has(o.slice(0,r).join("."))),xr=e=>{const s=e.constructor&&e.constructor.prototype;return M(s)&&s.hasOwnProperty("isPrototypeOf")},Ke=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function B(e){if(e instanceof Date)return new Date(e);const s=typeof FileList<"u"&&e instanceof FileList;if(Ke&&(e instanceof Blob||s))return e;const t=Array.isArray(e);if(!t&&!(M(e)&&xr(e)))return e;const r=t?[]:Object.create(Object.getPrototypeOf(e));for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=B(e[o]));return r}var De=e=>/^\w*$/.test(e),N=e=>e===void 0,Ye=e=>Array.isArray(e)?e.filter(Boolean):[],Ze=e=>Ye(e.replace(/["|']|\]/g,"").split(/\.|\[/)),f=(e,s,t)=>{if(!s||!M(e))return t;const r=(De(s)?[s]:Ze(s)).reduce((o,a)=>Q(o)?o:o[a],e);return N(r)||r===e?N(e[s])?t:e[s]:r},X=e=>typeof e=="boolean",Y=e=>typeof e=="function",D=(e,s,t)=>{let r=-1;const o=De(s)?[s]:Ze(s),a=o.length,u=a-1;for(;++r<a;){const c=o[r];let E=t;if(r!==u){const C=e[c];E=M(C)||Array.isArray(C)?C:isNaN(+o[r+1])?{}:[]}if(c==="__proto__"||c==="constructor"||c==="prototype")return;e[c]=E,e=e[c]}};const ue={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},ie={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},se={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Pe="form",Pt="root",Je=_.createContext(null);Je.displayName="HookFormControlContext";const Qe=()=>_.useContext(Je);var Bt=(e,s,t,r=!0)=>{const o={defaultValues:s._defaultValues};for(const a in e)Object.defineProperty(o,a,{get:()=>{const u=a;return s._proxyFormState[u]!==ie.all&&(s._proxyFormState[u]=!r||ie.all),t&&(t[u]=!0),e[u]}});return o};const Xe=typeof window<"u"?_.useLayoutEffect:_.useEffect;function _r(e){const s=Qe(),{control:t=s,disabled:r,name:o,exact:a}=e||{},[u,c]=_.useState(t._formState),E=_.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return Xe(()=>t._subscribe({name:o,formState:E.current,exact:a,callback:C=>{!r&&c({...t._formState,...C})}}),[o,r,a]),_.useEffect(()=>{E.current.isValid&&t._setValid(!0)},[t]),_.useMemo(()=>Bt(u,t,E.current,!1),[u,t])}var Z=e=>typeof e=="string",He=(e,s,t,r,o)=>Z(e)?(r&&s.watch.add(e),f(t,e,o)):Array.isArray(e)?e.map(a=>(r&&s.watch.add(a),f(t,a))):(r&&(s.watchAll=!0),t),ze=e=>Q(e)||!Tt(e);function ae(e,s,t=new WeakSet){if(ze(e)||ze(s))return Object.is(e,s);if(de(e)&&de(s))return Object.is(e.getTime(),s.getTime());const r=Object.keys(e),o=Object.keys(s);if(r.length!==o.length)return!1;if(t.has(e)||t.has(s))return!0;t.add(e),t.add(s);for(const a of r){const u=e[a];if(!o.includes(a))return!1;if(a!=="ref"){const c=s[a];if(de(u)&&de(c)||(M(u)||Array.isArray(u))&&(M(c)||Array.isArray(c))?!ae(u,c,t):!Object.is(u,c))return!1}}return!0}function Vr(e){const s=Qe(),{control:t=s,name:r,defaultValue:o,disabled:a,exact:u,compute:c}=e||{},E=_.useRef(o),C=_.useRef(c),O=_.useRef(void 0),b=_.useRef(t),k=_.useRef(r);C.current=c;const[x,L]=_.useState(()=>{const I=t._getWatch(r,E.current);return C.current?C.current(I):I}),U=_.useCallback(I=>{const A=He(r,t._names,I||t._formValues,!1,E.current);return C.current?C.current(A):A},[t._formValues,t._names,r]),T=_.useCallback(I=>{if(!a){const A=He(r,t._names,I||t._formValues,!1,E.current);if(C.current){const q=C.current(A);ae(q,O.current)||(L(q),O.current=q)}else L(A)}},[t._formValues,t._names,a,r]);Xe(()=>((b.current!==t||!ae(k.current,r))&&(b.current=t,k.current=r,T()),t._subscribe({name:r,formState:{values:!0},exact:u,callback:I=>{T(I.values)}})),[t,u,r,T]),_.useEffect(()=>t._removeUnmounted());const w=b.current!==t,p=k.current,$=_.useMemo(()=>{if(a)return null;const I=!w&&!ae(p,r);return w||I?U():null},[a,w,r,p,U]);return $!==null?$:x}function Fr(e){const s=Qe(),{name:t,disabled:r,control:o=s,shouldUnregister:a,defaultValue:u,exact:c=!0}=e,E=Lt(o._names.array,t),C=_.useMemo(()=>f(o._formValues,t,f(o._defaultValues,t,u)),[o,t,u]),O=Vr({control:o,name:t,defaultValue:C,exact:c}),b=_r({control:o,name:t,exact:c}),k=_.useRef(e),x=_.useRef(void 0),L=_.useRef(o.register(t,{...e.rules,value:O,...X(e.disabled)?{disabled:e.disabled}:{}}));k.current=e;const U=_.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!f(b.errors,t)},isDirty:{enumerable:!0,get:()=>!!f(b.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!f(b.touchedFields,t)},isValidating:{enumerable:!0,get:()=>!!f(b.validatingFields,t)},error:{enumerable:!0,get:()=>f(b.errors,t)}}),[b,t]),T=_.useCallback(I=>L.current.onChange({target:{value:Mt(I),name:t},type:ue.CHANGE}),[t]),w=_.useCallback(()=>L.current.onBlur({target:{value:f(o._formValues,t),name:t},type:ue.BLUR}),[t,o._formValues]),p=_.useCallback(I=>{const A=f(o._fields,t);A&&A._f&&I&&(A._f.ref={focus:()=>Y(I.focus)&&I.focus(),select:()=>Y(I.select)&&I.select(),setCustomValidity:q=>Y(I.setCustomValidity)&&I.setCustomValidity(q),reportValidity:()=>Y(I.reportValidity)&&I.reportValidity()})},[o._fields,t]),$=_.useMemo(()=>({name:t,value:O,...X(r)||b.disabled?{disabled:b.disabled||r}:{},onChange:T,onBlur:w,ref:p}),[t,r,b.disabled,T,w,p,O]);return _.useEffect(()=>{const I=o._options.shouldUnregister||a,A=x.current;A&&A!==t&&!E&&o.unregister(A),o.register(t,{...k.current.rules,...X(k.current.disabled)?{disabled:k.current.disabled}:{}});const q=(ee,ce)=>{const W=f(o._fields,ee);W&&W._f&&(W._f.mount=ce)};if(q(t,!0),I){const ee=B(f(o._options.defaultValues,t,k.current.defaultValue));D(o._defaultValues,t,ee),N(f(o._formValues,t))&&D(o._formValues,t,ee)}return!E&&o.register(t),x.current=t,()=>{(E?I&&!o._state.action:I)?o.unregister(t):q(t,!1)}},[t,o,E,a]),_.useEffect(()=>{o._setDisabledField({disabled:r,name:t})},[r,t,o]),_.useMemo(()=>({field:$,formState:b,fieldState:U}),[$,b,U])}const pr=e=>e.render(Fr(e)),et=_.createContext(null);et.displayName="HookFormContext";const wr=()=>_.useContext(et),Er=e=>{const{children:s,watch:t,getValues:r,getFieldState:o,setError:a,clearErrors:u,setValue:c,trigger:E,formState:C,resetField:O,reset:b,handleSubmit:k,unregister:x,control:L,register:U,setFocus:T,subscribe:w}=e,p=_.useMemo(()=>({watch:t,getValues:r,getFieldState:o,setError:a,clearErrors:u,setValue:c,trigger:E,formState:C,resetField:O,reset:b,handleSubmit:k,unregister:x,control:L,register:U,setFocus:T,subscribe:w}),[u,L,C,o,r,k,U,b,O,a,T,c,w,E,x,t]);return _.createElement(et.Provider,{value:p},_.createElement(Je.Provider,{value:p.control},s))};var tt=(e,s,t,r,o)=>s?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[r]:o||!0}}:{},pe=e=>Array.isArray(e)?e:[e],Vt=()=>{let e=[];return{get observers(){return e},next:o=>{for(const a of e)a.next&&a.next(o)},subscribe:o=>(e.push(o),{unsubscribe:()=>{e=e.filter(a=>a!==o)}}),unsubscribe:()=>{e=[]}}};function Ht(e,s){const t={};for(const r in e)if(e.hasOwnProperty(r)){const o=e[r],a=s[r];if(o&&M(o)&&a){const u=Ht(o,a);M(u)&&(t[r]=u)}else e[r]&&(t[r]=a)}return t}var K=e=>M(e)&&!Object.keys(e).length,rt=e=>e.type==="file",Ce=e=>{if(!Ke)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},zt=e=>e.type==="select-multiple",st=e=>e.type==="radio",Ir=e=>st(e)||Ee(e),Be=e=>Ce(e)&&e.isConnected;function Sr(e,s){const t=s.slice(0,-1).length;let r=0;for(;r<t;)e=N(e)?r++:e[s[r++]];return e}function kr(e){for(const s in e)if(e.hasOwnProperty(s)&&!N(e[s]))return!1;return!0}function H(e,s){const t=Array.isArray(s)?s:De(s)?[s]:Ze(s),r=t.length===1?e:Sr(e,t),o=t.length-1,a=t[o];return r&&delete r[a],o!==0&&(M(r)&&K(r)||Array.isArray(r)&&kr(r))&&H(e,t.slice(0,-1)),e}var Ar=e=>{for(const s in e)if(Y(e[s]))return!0;return!1};function $t(e){return Array.isArray(e)||M(e)&&!Ar(e)}function $e(e,s={}){for(const t in e){const r=e[t];$t(r)?(s[t]=Array.isArray(r)?[]:{},$e(r,s[t])):N(r)||(s[t]=!0)}return s}function Fe(e,s,t){t||(t=$e(s));for(const r in e){const o=e[r];if($t(o))N(s)||ze(t[r])?t[r]=$e(o,Array.isArray(o)?[]:{}):Fe(o,Q(s)?{}:s[r],t[r]);else{const a=s[r];t[r]=!ae(o,a)}}return t}const Ft={value:!1,isValid:!1},pt={value:!0,isValid:!0};var qt=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!N(e[0].attributes.value)?N(e[0].value)||e[0].value===""?pt:{value:e[0].value,isValid:!0}:pt:Ft}return Ft},Wt=(e,{valueAsNumber:s,valueAsDate:t,setValueAs:r})=>N(e)?e:s?e===""?NaN:e&&+e:t&&Z(e)?new Date(e):r?r(e):e;const wt={isValid:!1,value:null};var Gt=e=>Array.isArray(e)?e.reduce((s,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:s,wt):wt;function Et(e){const s=e.ref;return rt(s)?s.files:st(s)?Gt(e.refs).value:zt(s)?[...s.selectedOptions].map(({value:t})=>t):Ee(s)?qt(e.refs).value:Wt(N(s.value)?e.ref.value:s.value,e)}var Cr=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,jr=(e,s,t,r)=>{const o={};for(const a of e){const u=f(s,a);u&&D(o,a,u._f)}return{criteriaMode:t,names:[...e],fields:o,shouldUseNativeValidation:r}},je=e=>e instanceof RegExp,_e=e=>N(e)?e:je(e)?e.source:M(e)?je(e.value)?e.value.source:e.value:e,It=e=>({isOnSubmit:!e||e===ie.onSubmit,isOnBlur:e===ie.onBlur,isOnChange:e===ie.onChange,isOnAll:e===ie.all,isOnTouch:e===ie.onTouched});const St="AsyncFunction";var Dr=e=>!!e&&!!e.validate&&!!(Y(e.validate)&&e.validate.constructor.name===St||M(e.validate)&&Object.values(e.validate).find(s=>s.constructor.name===St)),Rr=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),kt=(e,s,t)=>!t&&(s.watchAll||s.watch.has(e)||[...s.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length))));const we=(e,s,t,r)=>{for(const o of t||Object.keys(e)){const a=f(e,o);if(a){const{_f:u,...c}=a;if(u){if(u.refs&&u.refs[0]&&s(u.refs[0],o)&&!r)return!0;if(u.ref&&s(u.ref,u.name)&&!r)return!0;if(we(c,s))break}else if(M(c)&&we(c,s))break}}};function At(e,s,t){const r=f(e,t);if(r||De(t))return{error:r,name:t};const o=t.split(".");for(;o.length;){const a=o.join("."),u=f(s,a),c=f(e,a);if(u&&!Array.isArray(u)&&t!==a)return{name:t};if(c&&c.type)return{name:a,error:c};if(c&&c.root&&c.root.type)return{name:`${a}.root`,error:c.root};o.pop()}return{name:t}}var Ur=(e,s,t,r)=>{t(e);const{name:o,...a}=e;return K(a)||Object.keys(a).length>=Object.keys(s).length||Object.keys(a).find(u=>s[u]===(!r||ie.all))},Nr=(e,s,t)=>!e||!s||e===s||pe(e).some(r=>r&&(t?r===s:r.startsWith(s)||s.startsWith(r))),Or=(e,s,t,r,o)=>o.isOnAll?!1:!t&&o.isOnTouch?!(s||e):(t?r.isOnBlur:o.isOnBlur)?!e:(t?r.isOnChange:o.isOnChange)?e:!0,Tr=(e,s)=>!Ye(f(e,s)).length&&H(e,s),Mr=(e,s,t)=>{const r=pe(f(e,t));return D(r,Pt,s[t]),D(e,t,r),e};function Ct(e,s,t="validate"){if(Z(e)||Array.isArray(e)&&e.every(Z)||X(e)&&!e)return{type:t,message:Z(e)?e:"",ref:s}}var fe=e=>M(e)&&!je(e)?e:{value:e,message:""},jt=async(e,s,t,r,o,a)=>{const{ref:u,refs:c,required:E,maxLength:C,minLength:O,min:b,max:k,pattern:x,validate:L,name:U,valueAsNumber:T,mount:w}=e._f,p=f(t,U);if(!w||s.has(U))return{};const $=c?c[0]:u,I=v=>{o&&$.reportValidity&&($.setCustomValidity(X(v)?"":v||""),$.reportValidity())},A={},q=st(u),ee=Ee(u),ce=q||ee,W=(T||rt(u))&&N(u.value)&&N(p)||Ce(u)&&u.value===""||p===""||Array.isArray(p)&&!p.length,ne=tt.bind(null,U,r,A),V=(v,F,R,P=se.maxLength,te=se.minLength)=>{const re=v?F:R;A[U]={type:v?P:te,message:re,ref:u,...ne(v?P:te,re)}};if(a?!Array.isArray(p)||!p.length:E&&(!ce&&(W||Q(p))||X(p)&&!p||ee&&!qt(c).isValid||q&&!Gt(c).isValid)){const{value:v,message:F}=Z(E)?{value:!!E,message:E}:fe(E);if(v&&(A[U]={type:se.required,message:F,ref:$,...ne(se.required,F)},!r))return I(F),A}if(!W&&(!Q(b)||!Q(k))){let v,F;const R=fe(k),P=fe(b);if(!Q(p)&&!isNaN(p)){const te=u.valueAsNumber||p&&+p;Q(R.value)||(v=te>R.value),Q(P.value)||(F=te<P.value)}else{const te=u.valueAsDate||new Date(p),re=Ie=>new Date(new Date().toDateString()+" "+Ie),he=u.type=="time",le=u.type=="week";Z(R.value)&&p&&(v=he?re(p)>re(R.value):le?p>R.value:te>new Date(R.value)),Z(P.value)&&p&&(F=he?re(p)<re(P.value):le?p<P.value:te<new Date(P.value))}if((v||F)&&(V(!!v,R.message,P.message,se.max,se.min),!r))return I(A[U].message),A}if((C||O)&&!W&&(Z(p)||a&&Array.isArray(p))){const v=fe(C),F=fe(O),R=!Q(v.value)&&p.length>+v.value,P=!Q(F.value)&&p.length<+F.value;if((R||P)&&(V(R,v.message,F.message),!r))return I(A[U].message),A}if(x&&!W&&Z(p)){const{value:v,message:F}=fe(x);if(je(v)&&!p.match(v)&&(A[U]={type:se.pattern,message:F,ref:u,...ne(se.pattern,F)},!r))return I(F),A}if(L){if(Y(L)){const v=await L(p,t),F=Ct(v,$);if(F&&(A[U]={...F,...ne(se.validate,F.message)},!r))return I(F.message),A}else if(M(L)){let v={};for(const F in L){if(!K(v)&&!r)break;const R=Ct(await L[F](p,t),$,F);R&&(v={...R,...ne(F,R.message)},I(R.message),r&&(A[U]=v))}if(!K(v)&&(A[U]={ref:$,...v},!r))return A}}return I(!0),A};const Lr={mode:ie.onSubmit,reValidateMode:ie.onChange,shouldFocusError:!0};function Pr(e={}){let s={...Lr,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:Y(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},r={},o=M(s.defaultValues)||M(s.values)?B(s.defaultValues||s.values)||{}:{},a=s.shouldUnregister?{}:B(o),u={action:!1,mount:!1,watch:!1,keepIsValid:!1},c={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},E,C=0;const O={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},b={...O};let k={...b};const x={array:Vt(),state:Vt()},L=s.criteriaMode===ie.all,U=i=>n=>{clearTimeout(C),C=setTimeout(i,n)},T=async i=>{if(!u.keepIsValid&&!s.disabled&&(b.isValid||k.isValid||i)){let n;s.resolver?(n=K((await W()).errors),w()):n=await v({fields:r,onlyCheckValid:!0,eventType:ue.VALID}),n!==t.isValid&&x.state.next({isValid:n})}},w=(i,n)=>{!s.disabled&&(b.isValidating||b.validatingFields||k.isValidating||k.validatingFields)&&((i||Array.from(c.mount)).forEach(l=>{l&&(n?D(t.validatingFields,l,n):H(t.validatingFields,l))}),x.state.next({validatingFields:t.validatingFields,isValidating:!K(t.validatingFields)}))},p=i=>{const n=Fe(o,a),l=Cr(i);D(t.dirtyFields,l,f(n,l))},$=(i,n=[],l,g,m=!0,d=!0)=>{if(g&&l&&!s.disabled){if(u.action=!0,d&&Array.isArray(f(r,i))){const h=l(f(r,i),g.argA,g.argB);m&&D(r,i,h)}if(d&&Array.isArray(f(t.errors,i))){const h=l(f(t.errors,i),g.argA,g.argB);m&&D(t.errors,i,h),Tr(t.errors,i)}if((b.touchedFields||k.touchedFields)&&d&&Array.isArray(f(t.touchedFields,i))){const h=l(f(t.touchedFields,i),g.argA,g.argB);m&&D(t.touchedFields,i,h)}(b.dirtyFields||k.dirtyFields)&&p(i),x.state.next({name:i,isDirty:R(i,n),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else D(a,i,n)},I=(i,n)=>{D(t.errors,i,n),x.state.next({errors:t.errors})},A=i=>{t.errors=i,x.state.next({errors:t.errors,isValid:!1})},q=(i,n,l,g)=>{const m=f(r,i);if(m){const d=f(a,i,N(l)?f(o,i):l);N(d)||g&&g.defaultChecked||n?D(a,i,n?d:Et(m._f)):re(i,d),u.mount&&!u.action&&T()}},ee=(i,n,l,g,m)=>{let d=!1,h=!1;const S={name:i};if(!s.disabled){if(!l||g){(b.isDirty||k.isDirty)&&(h=t.isDirty,t.isDirty=S.isDirty=R(),d=h!==S.isDirty);const j=ae(f(o,i),n);h=!!f(t.dirtyFields,i),j?H(t.dirtyFields,i):D(t.dirtyFields,i,!0),S.dirtyFields=t.dirtyFields,d=d||(b.dirtyFields||k.dirtyFields)&&h!==!j}if(l){const j=f(t.touchedFields,i);j||(D(t.touchedFields,i,l),S.touchedFields=t.touchedFields,d=d||(b.touchedFields||k.touchedFields)&&j!==l)}d&&m&&x.state.next(S)}return d?S:{}},ce=(i,n,l,g)=>{const m=f(t.errors,i),d=(b.isValid||k.isValid)&&X(n)&&t.isValid!==n;if(s.delayError&&l?(E=U(()=>I(i,l)),E(s.delayError)):(clearTimeout(C),E=null,l?D(t.errors,i,l):H(t.errors,i)),(l?!ae(m,l):m)||!K(g)||d){const h={...g,...d&&X(n)?{isValid:n}:{},errors:t.errors,name:i};t={...t,...h},x.state.next(h)}},W=async i=>(w(i,!0),await s.resolver(a,s.context,jr(i||c.mount,r,s.criteriaMode,s.shouldUseNativeValidation))),ne=async i=>{const{errors:n}=await W(i);if(w(i),i)for(const l of i){const g=f(n,l);g?D(t.errors,l,g):H(t.errors,l)}else t.errors=n;return n},V=async({name:i,eventType:n})=>{if(e.validate){const l=await e.validate({formValues:a,formState:t,name:i,eventType:n});if(M(l))for(const g in l)l[g]&&Se(`${Pe}.${g}`,{message:Z(l.message)?l.message:"",type:se.validate});else Z(l)||!l?Se(Pe,{message:l||"",type:se.validate}):ot(Pe);return l}return!0},v=async({fields:i,onlyCheckValid:n,name:l,eventType:g,context:m={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(m.runRootValidation=!0,!await V({name:l,eventType:g})&&(m.valid=!1,n)))return m.valid;for(const d in i){const h=i[d];if(h){const{_f:S,...j}=h;if(S){const G=c.array.has(S.name),oe=h._f&&Dr(h._f);oe&&b.validatingFields&&w([S.name],!0);const J=await jt(h,c.disabled,a,L,s.shouldUseNativeValidation&&!n,G);if(oe&&b.validatingFields&&w([S.name]),J[S.name]&&(m.valid=!1,n)||(!n&&(f(J,S.name)?G?Mr(t.errors,J,S.name):D(t.errors,S.name,J[S.name]):H(t.errors,S.name)),e.shouldUseNativeValidation&&J[S.name]))break}!K(j)&&await v({context:m,onlyCheckValid:n,fields:j,name:d,eventType:g})}}return m.valid},F=()=>{for(const i of c.unMount){const n=f(r,i);n&&(n._f.refs?n._f.refs.every(l=>!Be(l)):!Be(n._f.ref))&&Ne(i)}c.unMount=new Set},R=(i,n)=>!s.disabled&&(i&&n&&D(a,i,n),!ae(at(),o)),P=(i,n,l)=>He(i,c,{...u.mount?a:N(n)?o:Z(i)?{[i]:n}:n},l,n),te=i=>Ye(f(u.mount?a:o,i,s.shouldUnregister?f(o,i,[]):[])),re=(i,n,l={})=>{const g=f(r,i);let m=n;if(g){const d=g._f;d&&(!d.disabled&&D(a,i,Wt(n,d)),m=Ce(d.ref)&&Q(n)?"":n,zt(d.ref)?[...d.ref.options].forEach(h=>h.selected=m.includes(h.value)):d.refs?Ee(d.ref)?d.refs.forEach(h=>{(!h.defaultChecked||!h.disabled)&&(Array.isArray(m)?h.checked=!!m.find(S=>S===h.value):h.checked=m===h.value||!!m)}):d.refs.forEach(h=>h.checked=h.value===m):rt(d.ref)?d.ref.value="":(d.ref.value=m,d.ref.type||x.state.next({name:i,values:B(a)})))}(l.shouldDirty||l.shouldTouch)&&ee(i,m,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&Ue(i)},he=(i,n,l)=>{for(const g in n){if(!n.hasOwnProperty(g))return;const m=n[g],d=i+"."+g,h=f(r,d);(c.array.has(i)||M(m)||h&&!h._f)&&!de(m)?he(d,m,l):re(d,m,l)}},le=(i,n,l={})=>{const g=f(r,i),m=c.array.has(i),d=B(n);D(a,i,d),m?(x.array.next({name:i,values:B(a)}),(b.isDirty||b.dirtyFields||k.isDirty||k.dirtyFields)&&l.shouldDirty&&(p(i),x.state.next({name:i,dirtyFields:t.dirtyFields,isDirty:R(i,d)}))):g&&!g._f&&!Q(d)?he(i,d,l):re(i,d,l),kt(i,c)?x.state.next({...t,name:i,values:B(a)}):x.state.next({name:u.mount?i:void 0,values:B(a)})},Ie=async i=>{u.mount=!0;const n=i.target;let l=n.name,g=!0;const m=f(r,l),d=j=>{g=Number.isNaN(j)||de(j)&&isNaN(j.getTime())||ae(j,f(a,l,j))},h=It(s.mode),S=It(s.reValidateMode);if(m){let j,G;const oe=n.type?Et(m._f):Mt(i),J=i.type===ue.BLUR||i.type===ue.FOCUS_OUT,rr=!Rr(m._f)&&!e.validate&&!s.resolver&&!f(t.errors,l)&&!m._f.deps||Or(J,f(t.touchedFields,l),t.isSubmitted,S,h),Me=kt(l,c,J);D(a,l,oe),J?(!n||!n.readOnly)&&(m._f.onBlur&&m._f.onBlur(i),E&&E(0)):m._f.onChange&&m._f.onChange(i);const Le=ee(l,oe,J),sr=!K(Le)||Me;if(!J&&x.state.next({name:l,type:i.type,values:B(a)}),rr)return(b.isValid||k.isValid)&&(s.mode==="onBlur"?J&&T():J||T()),sr&&x.state.next({name:l,...Me?{}:Le});if(!s.resolver&&e.validate&&await V({name:l,eventType:i.type}),!J&&Me&&x.state.next({...t}),s.resolver){const{errors:gt}=await W([l]);if(w([l]),d(oe),g){const ir=At(t.errors,r,l),yt=At(gt,r,ir.name||l);j=yt.error,l=yt.name,G=K(gt)}}else w([l],!0),j=(await jt(m,c.disabled,a,L,s.shouldUseNativeValidation))[l],w([l]),d(oe),g&&(j?G=!1:(b.isValid||k.isValid)&&(G=await v({fields:r,onlyCheckValid:!0,name:l,eventType:i.type})));g&&(m._f.deps&&(!Array.isArray(m._f.deps)||m._f.deps.length>0)&&Ue(m._f.deps),ce(l,G,j,Le))}},it=(i,n)=>{if(f(t.errors,n)&&i.focus)return i.focus(),1},Ue=async(i,n={})=>{let l,g;const m=pe(i);if(s.resolver){const d=await ne(N(i)?i:m);l=K(d),g=i?!m.some(h=>f(d,h)):l}else i?(g=(await Promise.all(m.map(async d=>{const h=f(r,d);return await v({fields:h&&h._f?{[d]:h}:h,eventType:ue.TRIGGER})}))).every(Boolean),!(!g&&!t.isValid)&&T()):g=l=await v({fields:r,name:i,eventType:ue.TRIGGER});return x.state.next({...!Z(i)||(b.isValid||k.isValid)&&l!==t.isValid?{}:{name:i},...s.resolver||!i?{isValid:l}:{},errors:t.errors}),n.shouldFocus&&!g&&we(r,it,i?m:c.mount),g},at=(i,n)=>{let l={...u.mount?a:o};return n&&(l=Ht(n.dirtyFields?t.dirtyFields:t.touchedFields,l)),N(i)?l:Z(i)?f(l,i):i.map(g=>f(l,g))},nt=(i,n)=>({invalid:!!f((n||t).errors,i),isDirty:!!f((n||t).dirtyFields,i),error:f((n||t).errors,i),isValidating:!!f(t.validatingFields,i),isTouched:!!f((n||t).touchedFields,i)}),ot=i=>{const n=i?pe(i):void 0;n?.forEach(l=>H(t.errors,l)),n?n.forEach(l=>{x.state.next({name:l,errors:t.errors})}):x.state.next({errors:{}})},Se=(i,n,l)=>{const g=(f(r,i,{_f:{}})._f||{}).ref,m=f(t.errors,i)||{},{ref:d,message:h,type:S,...j}=m;D(t.errors,i,{...j,...n,ref:g}),x.state.next({name:i,errors:t.errors,isValid:!1}),l&&l.shouldFocus&&g&&g.focus&&g.focus()},Zt=(i,n)=>Y(i)?x.state.subscribe({next:l=>"values"in l&&i(P(void 0,n),l)}):P(i,n,!0),lt=i=>x.state.subscribe({next:n=>{Nr(i.name,n.name,i.exact)&&Ur(n,i.formState||b,tr,i.reRenderRoot)&&i.callback({values:{...a},...t,...n,defaultValues:o})}}).unsubscribe,Jt=i=>(u.mount=!0,k={...k,...i.formState},lt({...i,formState:{...O,...i.formState}})),Ne=(i,n={})=>{for(const l of i?pe(i):c.mount)c.mount.delete(l),c.array.delete(l),n.keepValue||(H(r,l),H(a,l)),!n.keepError&&H(t.errors,l),!n.keepDirty&&H(t.dirtyFields,l),!n.keepTouched&&H(t.touchedFields,l),!n.keepIsValidating&&H(t.validatingFields,l),!s.shouldUnregister&&!n.keepDefaultValue&&H(o,l);x.state.next({values:B(a)}),x.state.next({...t,...n.keepDirty?{isDirty:R()}:{}}),!n.keepIsValid&&T()},ut=({disabled:i,name:n})=>{if(X(i)&&u.mount||i||c.disabled.has(n)){const m=c.disabled.has(n)!==!!i;i?c.disabled.add(n):c.disabled.delete(n),m&&u.mount&&!u.action&&T()}},Oe=(i,n={})=>{let l=f(r,i);const g=X(n.disabled)||X(s.disabled),m=!c.registerName.has(i)&&l&&!l._f.mount;return D(r,i,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:i}},name:i,mount:!0,...n}}),c.mount.add(i),l&&!m?ut({disabled:X(n.disabled)?n.disabled:s.disabled,name:i}):q(i,!0,n.value),{...g?{disabled:n.disabled||s.disabled}:{},...s.progressive?{required:!!n.required,min:_e(n.min),max:_e(n.max),minLength:_e(n.minLength),maxLength:_e(n.maxLength),pattern:_e(n.pattern)}:{},name:i,onChange:Ie,onBlur:Ie,ref:d=>{if(d){c.registerName.add(i),Oe(i,n),c.registerName.delete(i),l=f(r,i);const h=N(d.value)&&d.querySelectorAll&&d.querySelectorAll("input,select,textarea")[0]||d,S=Ir(h),j=l._f.refs||[];if(S?j.find(G=>G===h):h===l._f.ref)return;D(r,i,{_f:{...l._f,...S?{refs:[...j.filter(Be),h,...Array.isArray(f(o,i))?[{}]:[]],ref:{type:h.type,name:i}}:{ref:h}}}),q(i,!1,void 0,h)}else l=f(r,i,{}),l._f&&(l._f.mount=!1),(s.shouldUnregister||n.shouldUnregister)&&!(Lt(c.array,i)&&u.action)&&c.unMount.add(i)}}},Te=()=>s.shouldFocusError&&we(r,it,c.mount),Qt=i=>{X(i)&&(x.state.next({disabled:i}),we(r,(n,l)=>{const g=f(r,l);g&&(n.disabled=g._f.disabled||i,Array.isArray(g._f.refs)&&g._f.refs.forEach(m=>{m.disabled=g._f.disabled||i}))},0,!1))},ct=(i,n)=>async l=>{let g;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let m=B(a);if(x.state.next({isSubmitting:!0}),s.resolver){const{errors:d,values:h}=await W();w(),t.errors=d,m=B(h)}else await v({fields:r,eventType:ue.SUBMIT});if(c.disabled.size)for(const d of c.disabled)H(m,d);if(H(t.errors,Pt),K(t.errors)){x.state.next({errors:{}});try{await i(m,l)}catch(d){g=d}}else n&&await n({...t.errors},l),Te(),setTimeout(Te);if(x.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:K(t.errors)&&!g,submitCount:t.submitCount+1,errors:t.errors}),g)throw g},Xt=(i,n={})=>{f(r,i)&&(N(n.defaultValue)?le(i,B(f(o,i))):(le(i,n.defaultValue),D(o,i,B(n.defaultValue))),n.keepTouched||H(t.touchedFields,i),n.keepDirty||(H(t.dirtyFields,i),t.isDirty=n.defaultValue?R(i,B(f(o,i))):R()),n.keepError||(H(t.errors,i),b.isValid&&T()),x.state.next({...t}))},dt=(i,n={})=>{const l=i?B(i):o,g=B(l),m=K(i),d=m?o:g;if(n.keepDefaultValues||(o=l),!n.keepValues){if(n.keepDirtyValues){const h=new Set([...c.mount,...Object.keys(Fe(o,a))]);for(const S of Array.from(h)){const j=f(t.dirtyFields,S),G=f(a,S),oe=f(d,S);j&&!N(G)?D(d,S,G):!j&&!N(oe)&&le(S,oe)}}else{if(Ke&&N(i))for(const h of c.mount){const S=f(r,h);if(S&&S._f){const j=Array.isArray(S._f.refs)?S._f.refs[0]:S._f.ref;if(Ce(j)){const G=j.closest("form");if(G){G.reset();break}}}}if(n.keepFieldsRef)for(const h of c.mount)le(h,f(d,h));else r={}}a=s.shouldUnregister?n.keepDefaultValues?B(o):{}:B(d),x.array.next({values:{...d}}),x.state.next({values:{...d}})}c={mount:n.keepDirtyValues?c.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},u.mount=!b.isValid||!!n.keepIsValid||!!n.keepDirtyValues||!s.shouldUnregister&&!K(d),u.watch=!!s.shouldUnregister,u.keepIsValid=!!n.keepIsValid,u.action=!1,n.keepErrors||(t.errors={}),x.state.next({submitCount:n.keepSubmitCount?t.submitCount:0,isDirty:m?!1:n.keepDirty?t.isDirty:!!(n.keepDefaultValues&&!ae(i,o)),isSubmitted:n.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:m?{}:n.keepDirtyValues?n.keepDefaultValues&&a?Fe(o,a):t.dirtyFields:n.keepDefaultValues&&i?Fe(o,i):n.keepDirty?t.dirtyFields:{},touchedFields:n.keepTouched?t.touchedFields:{},errors:n.keepErrors?t.errors:{},isSubmitSuccessful:n.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:o})},ft=(i,n)=>dt(Y(i)?i(a):i,{...s.resetOptions,...n}),er=(i,n={})=>{const l=f(r,i),g=l&&l._f;if(g){const m=g.refs?g.refs[0]:g.ref;m.focus&&setTimeout(()=>{m.focus(),n.shouldSelect&&Y(m.select)&&m.select()})}},tr=i=>{t={...t,...i}},mt={control:{register:Oe,unregister:Ne,getFieldState:nt,handleSubmit:ct,setError:Se,_subscribe:lt,_runSchema:W,_updateIsValidating:w,_focusError:Te,_getWatch:P,_getDirty:R,_setValid:T,_setFieldArray:$,_setDisabledField:ut,_setErrors:A,_getFieldArray:te,_reset:dt,_resetDefaultValues:()=>Y(s.defaultValues)&&s.defaultValues().then(i=>{ft(i,s.resetOptions),x.state.next({isLoading:!1})}),_removeUnmounted:F,_disableForm:Qt,_subjects:x,_proxyFormState:b,get _fields(){return r},get _formValues(){return a},get _state(){return u},set _state(i){u=i},get _defaultValues(){return o},get _names(){return c},set _names(i){c=i},get _formState(){return t},get _options(){return s},set _options(i){s={...s,...i}}},subscribe:Jt,trigger:Ue,register:Oe,handleSubmit:ct,watch:Zt,setValue:le,getValues:at,reset:ft,resetField:Xt,clearErrors:ot,unregister:Ne,setError:Se,setFocus:er,getFieldState:nt};return{...mt,formControl:mt}}function Br(e={}){const s=_.useRef(void 0),t=_.useRef(void 0),[r,o]=_.useState({isDirty:!1,isValidating:!1,isLoading:Y(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:Y(e.defaultValues)?void 0:e.defaultValues});if(!s.current)if(e.formControl)s.current={...e.formControl,formState:r},e.defaultValues&&!Y(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:u,...c}=Pr(e);s.current={...c,formState:r}}const a=s.current.control;return a._options=e,Xe(()=>{const u=a._subscribe({formState:a._proxyFormState,callback:()=>o({...a._formState}),reRenderRoot:!0});return o(c=>({...c,isReady:!0})),a._formState.isReady=!0,u},[a]),_.useEffect(()=>a._disableForm(e.disabled),[a,e.disabled]),_.useEffect(()=>{e.mode&&(a._options.mode=e.mode),e.reValidateMode&&(a._options.reValidateMode=e.reValidateMode)},[a,e.mode,e.reValidateMode]),_.useEffect(()=>{e.errors&&(a._setErrors(e.errors),a._focusError())},[a,e.errors]),_.useEffect(()=>{e.shouldUnregister&&a._subjects.state.next({values:a._getWatch()})},[a,e.shouldUnregister]),_.useEffect(()=>{if(a._proxyFormState.isDirty){const u=a._getDirty();u!==r.isDirty&&a._subjects.state.next({isDirty:u})}},[a,r.isDirty]),_.useEffect(()=>{var u;e.values&&!ae(e.values,t.current)?(a._reset(e.values,{keepFieldsRef:!0,...a._options.resetOptions}),!((u=a._options.resetOptions)===null||u===void 0)&&u.keepIsValid||a._setValid(),t.current=e.values,o(c=>({...c}))):a._resetDefaultValues()},[a,e.values]),_.useEffect(()=>{a._state.mount||(a._setValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),s.current.formState=_.useMemo(()=>Bt(r,a),[a,r]),s.current}const Hr=Er,Kt=z.createContext({}),Ve=({...e})=>y.jsx(Kt.Provider,{value:{name:e.name},children:y.jsx(pr,{...e})}),Re=()=>{const e=z.useContext(Kt),s=z.useContext(Yt),{getFieldState:t,formState:r}=wr(),o=t(e.name,r);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:a}=s;return{id:a,name:e.name,formItemId:`${a}-form-item`,formDescriptionId:`${a}-form-item-description`,formMessageId:`${a}-form-item-message`,...o}},Yt=z.createContext({}),me=z.forwardRef(({className:e,...s},t)=>{const r=z.useId();return y.jsx(Yt.Provider,{value:{id:r},children:y.jsx("div",{ref:t,className:Ge("space-y-2",e),...s})})});me.displayName="FormItem";const Ae=z.forwardRef(({className:e,...s},t)=>{const{formItemId:r}=Re();return y.jsx(hr,{ref:t,className:e,htmlFor:r,...s})});Ae.displayName="FormLabel";const ge=z.forwardRef(({...e},s)=>{const{error:t,formItemId:r,formDescriptionId:o,formMessageId:a}=Re();return y.jsx(ar,{ref:s,"aria-describedby":t?`${o} ${a}`:`${o}`,"aria-invalid":!!t,id:r,...e})});ge.displayName="FormControl";const qe=z.forwardRef(({className:e,...s},t)=>{const{formDescriptionId:r}=Re();return y.jsx("p",{ref:t,className:Ge("text-xs text-text-secondary",e),id:r,...s})});qe.displayName="FormDescription";const ye=z.forwardRef(({className:e,children:s,...t},r)=>{const{error:o,formMessageId:a}=Re(),u=o?String(o?.message??""):s;return u?y.jsx("p",{ref:r,className:Ge("text-xs text-destructive",e),id:a,...t,children:u}):null});ye.displayName="FormMessage";const Dt=(e,s,t)=>{if(e&&"reportValidity"in e){const r=f(t,s);e.setCustomValidity(r&&r.message||""),e.reportValidity()}},We=(e,s)=>{for(const t in s.fields){const r=s.fields[t];r&&r.ref&&"reportValidity"in r.ref?Dt(r.ref,t,e):r&&r.refs&&r.refs.forEach(o=>Dt(o,t,e))}},Rt=(e,s)=>{s.shouldUseNativeValidation&&We(e,s);const t={};for(const r in e){const o=f(s.fields,r),a=Object.assign(e[r]||{},{ref:o&&o.ref});if(zr(s.names||Object.keys(e),r)){const u=Object.assign({},f(t,r));D(u,"root",a),D(t,r,u)}else D(t,r,a)}return t},zr=(e,s)=>{const t=Ut(s);return e.some(r=>Ut(r).match(`^${t}\\.\\d+`))};function Ut(e){return e.replace(/\]|\[/g,"")}function Nt(e,s){try{var t=e()}catch(r){return s(r)}return t&&t.then?t.then(void 0,s):t}function $r(e,s){for(var t={};e.length;){var r=e[0],o=r.code,a=r.message,u=r.path.join(".");if(!t[u])if("unionErrors"in r){var c=r.unionErrors[0].errors[0];t[u]={message:c.message,type:c.code}}else t[u]={message:a,type:o};if("unionErrors"in r&&r.unionErrors.forEach(function(O){return O.errors.forEach(function(b){return e.push(b)})}),s){var E=t[u].types,C=E&&E[r.code];t[u]=tt(u,s,t,o,C?[].concat(C,r.message):r.message)}e.shift()}return t}function qr(e,s){for(var t={};e.length;){var r=e[0],o=r.code,a=r.message,u=r.path.join(".");if(!t[u])if(r.code==="invalid_union"&&r.errors.length>0){var c=r.errors[0][0];t[u]={message:c.message,type:c.code}}else t[u]={message:a,type:o};if(r.code==="invalid_union"&&r.errors.forEach(function(O){return O.forEach(function(b){return e.push(b)})}),s){var E=t[u].types,C=E&&E[r.code];t[u]=tt(u,s,t,o,C?[].concat(C,r.message):r.message)}e.shift()}return t}function Wr(e,s,t){if(t===void 0&&(t={}),(function(r){return"_def"in r&&typeof r._def=="object"&&"typeName"in r._def})(e))return function(r,o,a){try{return Promise.resolve(Nt(function(){return Promise.resolve(e[t.mode==="sync"?"parse":"parseAsync"](r,s)).then(function(u){return a.shouldUseNativeValidation&&We({},a),{errors:{},values:t.raw?Object.assign({},r):u}})},function(u){if((function(c){return Array.isArray(c?.issues)})(u))return{values:{},errors:Rt($r(u.errors,!a.shouldUseNativeValidation&&a.criteriaMode==="all"),a)};throw u}))}catch(u){return Promise.reject(u)}};if((function(r){return"_zod"in r&&typeof r._zod=="object"})(e))return function(r,o,a){try{return Promise.resolve(Nt(function(){return Promise.resolve((t.mode==="sync"?nr:or)(e,r,s)).then(function(u){return a.shouldUseNativeValidation&&We({},a),{errors:{},values:t.raw?Object.assign({},r):u}})},function(u){if((function(c){return c instanceof lr})(u))return{values:{},errors:Rt(qr(u.issues,!a.shouldUseNativeValidation&&a.criteriaMode==="all"),a)};throw u}))}catch(u){return Promise.reject(u)}};throw new Error("Invalid input: not a Zod schema")}const Ot=e=>{const s=document.createElement("textarea");return s.innerHTML=e,s.value},Gr=yr({profileImage:xe().optional(),coverImage:xe().optional(),name:xe().nonempty({message:"Display name is required."}).max(64,{message:"Display name must be less than 64 characters."}),handle:xe().min(2,{message:"Handle must be at least 2 characters."}).max(100,{message:"Handle must be less than 100 characters."}).regex(/^[a-zA-Z0-9_]+$/,{message:"Handle must contain only letters, numbers, and underscores."}),bio:xe().max(250,{message:"Bio must be less than 250 characters."}).optional()}),Xr=({account:e,setIsEditingProfile:s})=>{const[t,r]=z.useState(e.avatarUrl||null),o=z.useRef(null),[a,u]=z.useState(!1),[c,E]=z.useState(e.bannerImageUrl||null),C=z.useRef(null),[O,b]=z.useState(!1),[k,x]=z.useState(""),[L,U]=z.useState(!1),{mutate:T}=ur(e?.handle||""),w=Br({resolver:Wr(Gr),defaultValues:{profileImage:e.avatarUrl,coverImage:e.bannerImageUrl||"",name:e.name,handle:"",bio:e.bio?Ot(e.bio):""}}),p=!!w.formState.errors.name,$=!!w.formState.errors.handle;z.useEffect(()=>{if(e.handle){const V=e.handle.match(/@([^@]+)@(.+)/);V&&(w.setValue("handle",V[1]),x(V[2]))}},[e.handle,w]);const I=()=>{o.current?.click()},A=async V=>{try{return u(!0),await _t(V)}catch(v){r(null),w.setValue("profileImage","");let F="Failed to upload image. Try again.";if(v&&typeof v=="object"&&"statusCode"in v)switch(v.statusCode){case 413:F="Image size exceeds limit.";break;case 415:F="The file type is not supported.";break}be.error(F)}finally{u(!1)}},q=async V=>{const v=V.target.files;if(v&&v.length>0){const F=v[0];if(F.size>bt){be.error(xt),V.target.value="";return}if(!await mr(F)){be.error(gr),V.target.value="";return}const P=URL.createObjectURL(F);r(P);const te=await A(F);w.setValue("profileImage",te)}},ee=()=>{C.current?.click()},ce=async V=>{try{return b(!0),await _t(V)}catch(v){E(null),w.setValue("coverImage","");let F="Failed to upload image. Try again.";if(v&&typeof v=="object"&&"statusCode"in v)switch(v.statusCode){case 413:F="Image size exceeds limit.";break;case 415:F="The file type is not supported.";break}be.error(F)}finally{b(!1)}},W=async V=>{const v=V.target.files;if(v&&v.length>0){const F=v[0];if(F.size>bt){be.error(xt),V.target.value="";return}const R=URL.createObjectURL(F);E(R);const P=await ce(F);w.setValue("coverImage",P)}};function ne(V){U(!0);const v=e.bio?Ot(e.bio):"";if(V.name===e.name&&V.handle===e.handle.split("@")[1]&&V.bio===v&&V.profileImage===e.avatarUrl&&V.coverImage===e.bannerImageUrl){U(!1),s(!1);return}T({name:V.name||e.name,username:V.handle||e.handle,bio:V.bio??"",avatarUrl:V.profileImage||"",bannerImageUrl:V.coverImage||""},{onSettled(){U(!1),s(!1)}})}return y.jsx(Hr,{...w,children:y.jsxs("form",{className:"flex flex-col gap-5",onKeyDown:V=>{V.key==="Enter"&&!V.shiftKey&&(V.preventDefault(),w.handleSubmit(ne)())},onSubmit:w.handleSubmit(ne),children:[y.jsxs("div",{className:"relative mb-2",children:[y.jsx("div",{className:"group relative flex h-[180px] cursor-pointer items-center justify-center bg-gray-100 dark:bg-gray-950",onClick:ee,children:c?y.jsxs(y.Fragment,{children:[y.jsx("img",{className:`size-full object-cover ${O&&"opacity-10"}`,src:c}),O&&y.jsx("div",{className:"absolute leading-[0]",children:y.jsx(ht,{size:"md"})}),y.jsx(ve,{className:"absolute top-3 right-3 size-8 bg-black/60 opacity-0 group-hover:opacity-100 hover:bg-black/80 dark:text-white",onClick:V=>{V.stopPropagation(),E(null),w.setValue("coverImage","")},children:y.jsx(vt,{})})]}):y.jsx(ve,{className:"pointer-events-none absolute right-3 bottom-3 bg-gray-250 group-hover:bg-gray-300",variant:"secondary",children:"Upload cover image"})}),y.jsx("div",{className:"group absolute -bottom-10 left-4 flex size-20 cursor-pointer items-center justify-center rounded-full border-2 border-white bg-gray-100 dark:border-[#101114] dark:bg-gray-950",onClick:I,children:t?y.jsxs(y.Fragment,{children:[y.jsx("img",{className:`size-full rounded-full object-cover ${a&&"opacity-10"}`,src:t}),a&&y.jsx("div",{className:"absolute leading-[0]",children:y.jsx(ht,{size:"md"})}),y.jsx(ve,{className:"absolute -top-2 -right-2 h-8 w-10 rounded-full bg-black/80 opacity-0 group-hover:opacity-100 hover:bg-black/90 dark:text-white",onClick:V=>{V.stopPropagation(),r(null),w.setValue("profileImage","")},children:y.jsx(vt,{})})]}):y.jsx(cr,{size:32,strokeWidth:1.5})})]}),y.jsx(Ve,{control:w.control,name:"profileImage",render:()=>y.jsxs(me,{children:[y.jsx(ge,{children:y.jsx(ke,{ref:o,accept:"image/*",className:"hidden",type:"file",onChange:q})}),y.jsx(ye,{})]})}),y.jsx(Ve,{control:w.control,name:"coverImage",render:()=>y.jsxs(me,{children:[y.jsx(ge,{children:y.jsx(ke,{ref:C,accept:"image/*",className:"hidden",type:"file",onChange:W})}),y.jsx(ye,{})]})}),y.jsx(Ve,{control:w.control,name:"name",render:({field:V})=>y.jsxs(me,{children:[y.jsx(Ae,{children:"Display name"}),y.jsx(ge,{children:y.jsx(ke,{placeholder:"Jamie Larson",...V})}),!p&&y.jsx(qe,{children:"The name shown to your followers in the Inbox and Feed"}),y.jsx(ye,{})]})}),y.jsx(Ve,{control:w.control,name:"handle",render:({field:V})=>y.jsxs(me,{children:[y.jsx(Ae,{children:"Handle"}),y.jsx(ge,{children:y.jsxs("div",{className:"relative flex items-center justify-stretch gap-1 rounded-md border border-transparent bg-gray-150 px-3 transition-colors focus-within:border-green focus-within:bg-transparent focus-within:shadow-[0_0_0_2px_rgba(48,207,67,.25)] focus-within:outline-hidden dark:bg-gray-900",children:[y.jsx(br,{className:"w-4 min-w-4 text-gray-700",size:16}),y.jsx(ke,{className:"w-auto grow border-none! bg-transparent px-0 shadow-none! outline-hidden!",placeholder:"index",...V}),y.jsxs("span",{className:"max-w-[200px] truncate text-right whitespace-nowrap text-gray-700 max-sm:hidden",title:`@${k}`,children:["@",k]})]})}),!$&&y.jsxs(qe,{children:["Your social web handle that others can follow. Works just like an email address. ",y.jsx("a",{className:"font-medium text-purple",href:"https://ghost.org/help/social-web/",rel:"noreferrer",target:"_blank",children:"Learn more"})]}),y.jsx(ye,{})]})}),y.jsx(Ve,{control:w.control,name:"bio",render:({field:V})=>y.jsxs(me,{children:[y.jsx(Ae,{children:"Bio"}),y.jsx(ge,{children:y.jsx(vr,{...V})}),y.jsx(ye,{})]})}),y.jsxs(dr,{className:"max-sm:gap-2",children:[y.jsx(fr,{asChild:!0,children:y.jsx(ve,{variant:"outline",children:"Cancel"})}),y.jsx(ve,{disabled:L||a||O,type:"submit",children:"Save"})]})]})})};export{Xr as E};
|