@shapio/cms 0.5.9 → 0.5.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/assets/{AssetTile-Da76KsyX.js → AssetTile-DecaDqjj.js} +2 -2
- package/dist/admin/assets/{AssetTile-Da76KsyX.js.map → AssetTile-DecaDqjj.js.map} +1 -1
- package/dist/admin/assets/{AssistError-Wr62cDj3.js → AssistError-rslPtgWB.js} +2 -2
- package/dist/admin/assets/{AssistError-Wr62cDj3.js.map → AssistError-rslPtgWB.js.map} +1 -1
- package/dist/admin/assets/{BlockMenuItems-BMiEVCIT.js → BlockMenuItems-JHFue7Qt.js} +2 -2
- package/dist/admin/assets/{BlockMenuItems-BMiEVCIT.js.map → BlockMenuItems-JHFue7Qt.js.map} +1 -1
- package/dist/admin/assets/{Body-BEW1sAAB.js → Body-7NgJl9Pi.js} +2 -2
- package/dist/admin/assets/Body-7NgJl9Pi.js.map +1 -0
- package/dist/admin/assets/Builder-DmlYcgiP.js +2 -0
- package/dist/admin/assets/Builder-DmlYcgiP.js.map +1 -0
- package/dist/admin/assets/{CodeEditor-Ck7ggv6w.js → CodeEditor-Dv1FtkvI.js} +2 -2
- package/dist/admin/assets/{CodeEditor-Ck7ggv6w.js.map → CodeEditor-Dv1FtkvI.js.map} +1 -1
- package/dist/admin/assets/{CopyButton-WMWuSVsk.js → CopyButton-Brnpfqe0.js} +2 -2
- package/dist/admin/assets/{CopyButton-WMWuSVsk.js.map → CopyButton-Brnpfqe0.js.map} +1 -1
- package/dist/admin/assets/{CursorPager-CsnzX1P8.js → CursorPager-C7cAK5Qe.js} +2 -2
- package/dist/admin/assets/{CursorPager-CsnzX1P8.js.map → CursorPager-C7cAK5Qe.js.map} +1 -1
- package/dist/admin/assets/{FocalPoint-CstZuVmt.js → FocalPoint-Bhtb1gUa.js} +2 -2
- package/dist/admin/assets/{FocalPoint-CstZuVmt.js.map → FocalPoint-Bhtb1gUa.js.map} +1 -1
- package/dist/admin/assets/{Form-CEOW2OFF.js → Form-Cf1ephPH.js} +2 -2
- package/dist/admin/assets/{Form-CEOW2OFF.js.map → Form-Cf1ephPH.js.map} +1 -1
- package/dist/admin/assets/FormCheckboxGroup-BzVZFR3W.js +2 -0
- package/dist/admin/assets/FormCheckboxGroup-BzVZFR3W.js.map +1 -0
- package/dist/admin/assets/{FormRadioGroup-BQurJa8M.js → FormRadioGroup-BzmLzRnI.js} +2 -2
- package/dist/admin/assets/{FormRadioGroup-BQurJa8M.js.map → FormRadioGroup-BzmLzRnI.js.map} +1 -1
- package/dist/admin/assets/{FormSelectField-B4sjP-pj.js → FormSelectField-Cl7EjXc3.js} +2 -2
- package/dist/admin/assets/{FormSelectField-B4sjP-pj.js.map → FormSelectField-Cl7EjXc3.js.map} +1 -1
- package/dist/admin/assets/{FormSheet-V99zdfQe.js → FormSheet-CLZpd_7B.js} +2 -2
- package/dist/admin/assets/FormSheet-CLZpd_7B.js.map +1 -0
- package/dist/admin/assets/{FormSwitchField-RZgoP--n.js → FormSwitchField-BbqQ3tx_.js} +2 -2
- package/dist/admin/assets/{FormSwitchField-RZgoP--n.js.map → FormSwitchField-BbqQ3tx_.js.map} +1 -1
- package/dist/admin/assets/{FormTextareaField-CzXgoQzf.js → FormTextareaField-9RN5Pt3B.js} +2 -2
- package/dist/admin/assets/{FormTextareaField-CzXgoQzf.js.map → FormTextareaField-9RN5Pt3B.js.map} +1 -1
- package/dist/admin/assets/{HintedLabel-Cd9nuSqV.js → HintedLabel-D9IVF0EE.js} +2 -2
- package/dist/admin/assets/{HintedLabel-Cd9nuSqV.js.map → HintedLabel-D9IVF0EE.js.map} +1 -1
- package/dist/admin/assets/{InfoHint-ymRmHKMr.js → InfoHint-tlSeZB9U.js} +2 -2
- package/dist/admin/assets/{InfoHint-ymRmHKMr.js.map → InfoHint-tlSeZB9U.js.map} +1 -1
- package/dist/admin/assets/{InlineConfirm-A4IqkrGp.js → InlineConfirm-Kj9AOIFO.js} +2 -2
- package/dist/admin/assets/{InlineConfirm-A4IqkrGp.js.map → InlineConfirm-Kj9AOIFO.js.map} +1 -1
- package/dist/admin/assets/{InsertMenuItem-Bf7S7qbm.js → InsertMenuItem-CHAp2tH7.js} +2 -2
- package/dist/admin/assets/{InsertMenuItem-Bf7S7qbm.js.map → InsertMenuItem-CHAp2tH7.js.map} +1 -1
- package/dist/admin/assets/{Match-DJq8wn3e.js → Match-BfNRwPfR.js} +2 -2
- package/dist/admin/assets/{Match-DJq8wn3e.js.map → Match-BfNRwPfR.js.map} +1 -1
- package/dist/admin/assets/{NoAccess-CZufdbPI.js → NoAccess-DnEpYj9l.js} +2 -2
- package/dist/admin/assets/{NoAccess-CZufdbPI.js.map → NoAccess-DnEpYj9l.js.map} +1 -1
- package/dist/admin/assets/Panel-Bcl09TtM.js.map +1 -1
- package/dist/admin/assets/{QueryView-DO9TFWYE.js → QueryView-B86NcRt5.js} +2 -2
- package/dist/admin/assets/{QueryView-DO9TFWYE.js.map → QueryView-B86NcRt5.js.map} +1 -1
- package/dist/admin/assets/{RadioTile-DmKBFkpy.js → RadioTile-Bwd2Pmlk.js} +2 -2
- package/dist/admin/assets/RadioTile-Bwd2Pmlk.js.map +1 -0
- package/dist/admin/assets/{RichTextField-BpxyusP4.js → RichTextField-Dou79MHF.js} +2 -2
- package/dist/admin/assets/RichTextField-Dou79MHF.js.map +1 -0
- package/dist/admin/assets/{RowTitle-DVOfgxOd.js → RowTitle-DH9OZs3g.js} +2 -2
- package/dist/admin/assets/{RowTitle-DVOfgxOd.js.map → RowTitle-DH9OZs3g.js.map} +1 -1
- package/dist/admin/assets/{SecretReveal-DRCqVEFF.js → SecretReveal-D95oACLj.js} +2 -2
- package/dist/admin/assets/{SecretReveal-DRCqVEFF.js.map → SecretReveal-D95oACLj.js.map} +1 -1
- package/dist/admin/assets/{SharedGlyph-nsXJPCew.js → SharedGlyph-Chwb1EIS.js} +2 -2
- package/dist/admin/assets/{SharedGlyph-nsXJPCew.js.map → SharedGlyph-Chwb1EIS.js.map} +1 -1
- package/dist/admin/assets/{StepList-CDZPRd3-.js → StepList-D9iHsUZJ.js} +2 -2
- package/dist/admin/assets/StepList-D9iHsUZJ.js.map +1 -0
- package/dist/admin/assets/Structure-CewJL1b3.js +2 -0
- package/dist/admin/assets/{Structure-CL51Bvbm.js.map → Structure-CewJL1b3.js.map} +1 -1
- package/dist/admin/assets/SubNavLink-7Cs1LqMv.js.map +1 -1
- package/dist/admin/assets/{SuggestAltButton-4SaZQOJu.js → SuggestAltButton-BK1uo4yC.js} +2 -2
- package/dist/admin/assets/{SuggestAltButton-4SaZQOJu.js.map → SuggestAltButton-BK1uo4yC.js.map} +1 -1
- package/dist/admin/assets/{Thumbnail-DauHAkh8.js → Thumbnail-C2A_Ub77.js} +2 -2
- package/dist/admin/assets/{Thumbnail-DauHAkh8.js.map → Thumbnail-C2A_Ub77.js.map} +1 -1
- package/dist/admin/assets/{Trans-B3UWiZaU.js → Trans-CPoNNUK1.js} +2 -2
- package/dist/admin/assets/{Trans-B3UWiZaU.js.map → Trans-CPoNNUK1.js.map} +1 -1
- package/dist/admin/assets/{UnsavedChangesGuard-DPgih7BX.js → UnsavedChangesGuard-BsEyn9oH.js} +2 -2
- package/dist/admin/assets/{UnsavedChangesGuard-DPgih7BX.js.map → UnsavedChangesGuard-BsEyn9oH.js.map} +1 -1
- package/dist/admin/assets/{UserAvatar-If-zlQNY.js → UserAvatar-CgGKOFfP.js} +2 -2
- package/dist/admin/assets/{UserAvatar-If-zlQNY.js.map → UserAvatar-CgGKOFfP.js.map} +1 -1
- package/dist/admin/assets/{badge-DEe9tqLS.js → badge-DGqA_yr_.js} +2 -2
- package/dist/admin/assets/{badge-DEe9tqLS.js.map → badge-DGqA_yr_.js.map} +1 -1
- package/dist/admin/assets/baseExtensions-TVKN1UwW.js.map +1 -1
- package/dist/admin/assets/{changeSets-D5i2SgFV.js → changeSets-B6HxCJ4A.js} +2 -2
- package/dist/admin/assets/{changeSets-D5i2SgFV.js.map → changeSets-B6HxCJ4A.js.map} +1 -1
- package/dist/admin/assets/cn-DVhJ55Mo.js.map +1 -1
- package/dist/admin/assets/{constants-FKg_ke3y.js → constants-DY3YJAKH.js} +2 -2
- package/dist/admin/assets/{constants-FKg_ke3y.js.map → constants-DY3YJAKH.js.map} +1 -1
- package/dist/admin/assets/content-BNZF26Ve.js +3 -0
- package/dist/admin/assets/content-BNZF26Ve.js.map +1 -0
- package/dist/admin/assets/{contentTypes-B5taZv3y.js → contentTypes-Bz2xpqGf.js} +2 -2
- package/dist/admin/assets/{contentTypes-B5taZv3y.js.map → contentTypes-Bz2xpqGf.js.map} +1 -1
- package/dist/admin/assets/createLucideIcon-BOsNKleB.js.map +1 -1
- package/dist/admin/assets/{develop-CFlv7IdP.js → develop-D6CtwuYj.js} +2 -2
- package/dist/admin/assets/develop-D6CtwuYj.js.map +1 -0
- package/dist/admin/assets/{dropdown-menu-B7dJyA8h.js → dropdown-menu-Bz7CLcRK.js} +2 -2
- package/dist/admin/assets/{dropdown-menu-B7dJyA8h.js.map → dropdown-menu-Bz7CLcRK.js.map} +1 -1
- package/dist/admin/assets/es2015-Cv57ynE1.js +42 -0
- package/dist/admin/assets/es2015-Cv57ynE1.js.map +1 -0
- package/dist/admin/assets/{field-BDCHXkZE.js → field-D-xWW2E7.js} +2 -2
- package/dist/admin/assets/{field-BDCHXkZE.js.map → field-D-xWW2E7.js.map} +1 -1
- package/dist/admin/assets/{fileRoute-c9UMUr9b.js → fileRoute-DMal-zYL.js} +2 -2
- package/dist/admin/assets/{fileRoute-c9UMUr9b.js.map → fileRoute-DMal-zYL.js.map} +1 -1
- package/dist/admin/assets/{followPlural-CHpz-yo4.js → followPlural-CsgeALTW.js} +2 -2
- package/dist/admin/assets/{followPlural-CHpz-yo4.js.map → followPlural-CsgeALTW.js.map} +1 -1
- package/dist/admin/assets/{inbox-Daw10v5C.js → inbox-C0PVc6UI.js} +2 -2
- package/dist/admin/assets/{inbox-Daw10v5C.js.map → inbox-C0PVc6UI.js.map} +1 -1
- package/dist/admin/assets/{index-BRx5mel0.js → index-BqtCXB0u.js} +4 -4
- package/dist/admin/assets/{index-BRx5mel0.js.map → index-BqtCXB0u.js.map} +1 -1
- package/dist/admin/assets/{labels-B83cEX9w.js → labels-BtktCNGw.js} +2 -2
- package/dist/admin/assets/{labels-B83cEX9w.js.map → labels-BtktCNGw.js.map} +1 -1
- package/dist/admin/assets/{media-CgxriwNL.js → media-CeZGDGh7.js} +2 -2
- package/dist/admin/assets/{media-CgxriwNL.js.map → media-CeZGDGh7.js.map} +1 -1
- package/dist/admin/assets/{network-Cc1TAyal.js → network-BflLSKFO.js} +2 -2
- package/dist/admin/assets/{network-Cc1TAyal.js.map → network-BflLSKFO.js.map} +1 -1
- package/dist/admin/assets/publishing-BkxBplUZ.js +2 -0
- package/dist/admin/assets/publishing-BkxBplUZ.js.map +1 -0
- package/dist/admin/assets/{radio-group-Btmx7dlD.js → radio-group-CRuWQnuV.js} +2 -2
- package/dist/admin/assets/{radio-group-Btmx7dlD.js.map → radio-group-CRuWQnuV.js.map} +1 -1
- package/dist/admin/assets/schema-6eUoC8fJ.js +2 -0
- package/dist/admin/assets/schema-6eUoC8fJ.js.map +1 -0
- package/dist/admin/assets/{searchSchemas-fO_49fDI.js → searchSchemas-DAnwh3I3.js} +2 -2
- package/dist/admin/assets/{searchSchemas-fO_49fDI.js.map → searchSchemas-DAnwh3I3.js.map} +1 -1
- package/dist/admin/assets/{sections-SX-oiQoE.js → sections-CWL-XD6m.js} +2 -2
- package/dist/admin/assets/sections-CWL-XD6m.js.map +1 -0
- package/dist/admin/assets/{select-JB2Vv7ep.js → select-DVrPV1b3.js} +2 -2
- package/dist/admin/assets/{select-JB2Vv7ep.js.map → select-DVrPV1b3.js.map} +1 -1
- package/dist/admin/assets/{settings-CrRFxhSo.js → settings-CqnrPmzR.js} +2 -2
- package/dist/admin/assets/{settings-CrRFxhSo.js.map → settings-CqnrPmzR.js.map} +1 -1
- package/dist/admin/assets/{shapes-EMjfYsXV.js → shapes-ZAkMBB-Z.js} +4 -4
- package/dist/admin/assets/shapes-ZAkMBB-Z.js.map +1 -0
- package/dist/admin/assets/{skeleton-Dk-qdg0z.js → skeleton-CiX26LnL.js} +2 -2
- package/dist/admin/assets/{skeleton-Dk-qdg0z.js.map → skeleton-CiX26LnL.js.map} +1 -1
- package/dist/admin/assets/src-CMor9izq.js.map +1 -1
- package/dist/admin/assets/{switch-DyCRGDs7.js → switch-CiVf05NF.js} +2 -2
- package/dist/admin/assets/{switch-DyCRGDs7.js.map → switch-CiVf05NF.js.map} +1 -1
- package/dist/admin/assets/theme-Cv-MfOv8.js.map +1 -1
- package/dist/admin/assets/{tooltip-CCOeMqiL.js → tooltip-Bqf3oyqC.js} +2 -2
- package/dist/admin/assets/{tooltip-CCOeMqiL.js.map → tooltip-Bqf3oyqC.js.map} +1 -1
- package/dist/admin/assets/{useContentSchema-uXOfT985.js → useContentSchema-B_q1rMrG.js} +2 -2
- package/dist/admin/assets/{useContentSchema-uXOfT985.js.map → useContentSchema-B_q1rMrG.js.map} +1 -1
- package/dist/admin/assets/useCursorPager-BHYqHb3M.js.map +1 -1
- package/dist/admin/assets/{useDiscardGuard-DvBI3VIz.js → useDiscardGuard-C4QTfiU4.js} +2 -2
- package/dist/admin/assets/{useDiscardGuard-DvBI3VIz.js.map → useDiscardGuard-C4QTfiU4.js.map} +1 -1
- package/dist/admin/assets/{useMediaPickerDialog-CehOsykG.js → useMediaPickerDialog-BLrVV1Kn.js} +2 -2
- package/dist/admin/assets/{useMediaPickerDialog-CehOsykG.js.map → useMediaPickerDialog-BLrVV1Kn.js.map} +1 -1
- package/dist/admin/assets/{useMediaUploader-DvtxYXxD.js → useMediaUploader-CFy6lasO.js} +2 -2
- package/dist/admin/assets/useMediaUploader-CFy6lasO.js.map +1 -0
- package/dist/admin/assets/{useModelIndex-D8Q0oM4M.js → useModelIndex-NU-WlHQY.js} +2 -2
- package/dist/admin/assets/{useModelIndex-D8Q0oM4M.js.map → useModelIndex-NU-WlHQY.js.map} +1 -1
- package/dist/admin/assets/{usePlaces-CySN2Vwz.js → usePlaces-BA4x6503.js} +2 -2
- package/dist/admin/assets/{usePlaces-CySN2Vwz.js.map → usePlaces-BA4x6503.js.map} +1 -1
- package/dist/admin/assets/{useResolvedDefinitions-C279ueCH.js → useResolvedDefinitions-30lnwFQ1.js} +2 -2
- package/dist/admin/assets/{useResolvedDefinitions-C279ueCH.js.map → useResolvedDefinitions-30lnwFQ1.js.map} +1 -1
- package/dist/admin/assets/{useResolvedScheme-DEq7P4R5.js → useResolvedScheme-BVM4qLct.js} +2 -2
- package/dist/admin/assets/{useResolvedScheme-DEq7P4R5.js.map → useResolvedScheme-BVM4qLct.js.map} +1 -1
- package/dist/admin/assets/{zod-vPzaNsuW.js → zod-ZaQjjiAq.js} +2 -2
- package/dist/admin/assets/{zod-vPzaNsuW.js.map → zod-ZaQjjiAq.js.map} +1 -1
- package/dist/admin/index.html +29 -29
- package/dist/cli.js +1 -1
- package/dist/{cliMain-DzBXO7Oa.js → cliMain-CTntiVc2.js} +11 -11
- package/dist/cliMain-CTntiVc2.js.map +1 -0
- package/dist/config.d.ts +1 -1
- package/dist/config.js +1 -1
- package/dist/{contentDisposition-DOL2Xt0l.js → contentDisposition-DzhPhncr.js} +2 -2
- package/dist/{contentDisposition-DOL2Xt0l.js.map → contentDisposition-DzhPhncr.js.map} +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/{public-jttKsns_.d.ts → public-CMFaGDyf.d.ts} +4 -4
- package/dist/{public-B57h4F7Y.js → public-sJCQaNaP.js} +2 -2
- package/dist/{public-B57h4F7Y.js.map → public-sJCQaNaP.js.map} +1 -1
- package/dist/{s3Adapter-U01iEAcK.js → s3Adapter-CZcCl0sy.js} +2 -2
- package/dist/{s3Adapter-U01iEAcK.js.map → s3Adapter-CZcCl0sy.js.map} +1 -1
- package/dist/{worker-6ru1tYBs.js → worker-DHm2JwMZ.js} +353 -232
- package/dist/worker-DHm2JwMZ.js.map +1 -0
- package/package.json +5 -5
- package/dist/admin/assets/Body-BEW1sAAB.js.map +0 -1
- package/dist/admin/assets/Builder-Tk_5Orrl.js +0 -2
- package/dist/admin/assets/Builder-Tk_5Orrl.js.map +0 -1
- package/dist/admin/assets/FormCheckboxGroup-VjWVMiF3.js +0 -2
- package/dist/admin/assets/FormCheckboxGroup-VjWVMiF3.js.map +0 -1
- package/dist/admin/assets/FormSheet-V99zdfQe.js.map +0 -1
- package/dist/admin/assets/RadioTile-DmKBFkpy.js.map +0 -1
- package/dist/admin/assets/RichTextField-BpxyusP4.js.map +0 -1
- package/dist/admin/assets/StepList-CDZPRd3-.js.map +0 -1
- package/dist/admin/assets/Structure-CL51Bvbm.js +0 -2
- package/dist/admin/assets/content-DKT2ziPH.js +0 -3
- package/dist/admin/assets/content-DKT2ziPH.js.map +0 -1
- package/dist/admin/assets/develop-CFlv7IdP.js.map +0 -1
- package/dist/admin/assets/es2015-1nJWBurR.js +0 -42
- package/dist/admin/assets/es2015-1nJWBurR.js.map +0 -1
- package/dist/admin/assets/publishing-RQUj-CyN.js +0 -2
- package/dist/admin/assets/publishing-RQUj-CyN.js.map +0 -1
- package/dist/admin/assets/schema-BMQEabwO.js +0 -2
- package/dist/admin/assets/schema-BMQEabwO.js.map +0 -1
- package/dist/admin/assets/sections-SX-oiQoE.js.map +0 -1
- package/dist/admin/assets/shapes-EMjfYsXV.js.map +0 -1
- package/dist/admin/assets/useMediaUploader-DvtxYXxD.js.map +0 -1
- package/dist/cliMain-DzBXO7Oa.js.map +0 -1
- package/dist/worker-6ru1tYBs.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{c as n,d as r,f as i,i as a,l as o,o as s,r as c,u as l}from"./createLucideIcon-BOsNKleB.js";import{E as u}from"./es2015-1nJWBurR.js";var d=e(t()),f={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,"!doctype":!0,"!DOCTYPE":!0},p=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?("[^"]*"|'[^']*')/g;function m(e){let t={type:`tag`,name:``,voidElement:!1,attrs:{},children:[]},n=e.match(/<\/?([^\s]+?)[/\s>]/);if(n&&(t.name=n[1],(f[n[1]]||e.charAt(e.length-2)===`/`)&&(t.voidElement=!0),t.name.startsWith(`!--`))){let t=e.indexOf(`-->`);return{type:`comment`,comment:t===-1?``:e.slice(4,t)}}let r=new RegExp(p),i=null;for(;i=r.exec(e),i!==null;)if(i[0].trim()){if(i[1]){let e=i[1].trim(),n=[e,null],a=e.indexOf(`=`);a>-1&&(n=[e.slice(0,a),e.slice(a+1)]),t.attrs[n[0]]=n[1],r.lastIndex--}else i[2]&&(t.attrs[i[2]]=i[3].trim().substring(1,i[3].length-1))}return t}var h=/<!--[\s\S]*?-->|<[a-zA-Z0-9\-!/](?:"[^"]*"|'[^']*'|[^'">])*>/g,g=/<\/?([^\s]+?)[/\s>]/,_=/^\s*$/,v=/^(script|style)$/i,y=`\0`,b=Object.create(null);function x(e){e.forEach(function(e){if(e.type===`text`){e.content=e.content.split(y).join(`<`);return}if(e.type===`comment`){e.comment=e.comment.split(y).join(`<`);return}for(let t in e.attrs){let n=e.attrs[t];typeof n==`string`&&n.indexOf(y)>-1&&(e.attrs[t]=n.split(y).join(`<`))}e.children.length&&x(e.children)})}function S(e,t){let n=t&&t.components||b,r=t&&t.allowedTags,i=!1;if(r){let t=typeof r==`function`?r:function(e){return r.indexOf(e)>-1},n=``,a=0;h.lastIndex=0;let o;for(;o=h.exec(e);){let r=o[0];n+=e.slice(a,o.index);let s=r.match(g);r.startsWith(`<!--`)||s&&t(s[1])?(n+=r,a=o.index+r.length):(i=!0,n+=y,a=o.index+1,h.lastIndex=a)}e=n+e.slice(a)}let a=[],o=[],s,c=-1,l=!1,u=0,d;if(e.indexOf(`<`)!==0){let t=e.indexOf(`<`);a.push({type:`text`,content:t===-1?e:e.substring(0,t)})}let f=[],p;for(;p=h.exec(e);)f.push(p);return f.forEach(function(e,t){let n=e[0];if(!n||n.startsWith(`<!--`))return;let r=0,i=0,a=-1,o=null;for(let e=0;e<n.length;e++){let t=n.charAt(e);o?t===o&&(o=null):t===`"`||t===`'`?o=t:t===`<`?(r++,r===2&&(a=e)):t===`>`&&i++}let s=a>-1&&/[a-zA-Z0-9\-!/]/.test(n.charAt(a+1));if(r>i&&s){let e=n.substring(0,a),r=n.substring(e.length);f[t][0]=r,f[t].index+=e.length}}),f.forEach(function(t,r){let i=t[0];if(!i)return;let p=t.index;if(p<u)return;if(l){if(i!==`</`+s.name+`>`)return;l=!1}let h=i.charAt(1)!==`/`,g=i.startsWith(`<!--`),y=p+i.length,b=e.charAt(y),x=f[r+1],S;if(b===`<`&&x){let t=e.substring(y,x.index);S=t.split(`<`).length>t.split(`>`).length}let C;if(g){let t=m(i);if(c<0)return a.push(t),a;C=o[c],C.children.push(t);let n=e.slice(y,x?x.index:void 0);return n.length>0&&C.children.push({type:`text`,content:n}),a}if(h){c++,s=m(i),s.type===`tag`&&n[s.name]&&(s.type=`component`,l=!0);let t=!1;if(!l&&!s.voidElement&&v.test(s.name)){t=!0,d||=e.toLowerCase();let n=d.indexOf(`</`+s.name.toLowerCase()+`>`,y),r=n===-1?e.length:n,i=e.slice(y,r);i&&s.children.push({type:`text`,content:i}),u=r}!s.voidElement&&!l&&!t&&b&&b!==`<`&&s.children.push({type:`text`,content:e.slice(y,x?x.index:void 0)}),c===0&&a.push(s),C=o[c-1],C&&C.children.push(s),o[c]=s}if((!h||s.voidElement)&&(c>-1&&(s.voidElement||s.name===i.slice(2,-1))&&(c--,s=c===-1?a:o[c]),!l&&(b!==`<`||S)&&b)){C=c===-1?a:o[c].children;let t=x?x.index:-1,n=e.slice(y,t===-1?void 0:t);_.test(n)&&(n=` `),(t>-1&&c+C.length>=0||n!==` `)&&C.push({type:`text`,content:n})}}),i&&x(a),a}function C(e){let t=[];for(let n in e)e[n]===null?t.push(n):t.push(n+`="`+String(e[n]).replace(/"/g,`"`)+`"`);return t.length?` `+t.join(` `):``}function w(e,t){switch(t.type){case`text`:return e+t.content;case`tag`:{let n=t.voidElement&&t.name.toLowerCase()!==`!doctype`?`/>`:`>`;return e+=`<`+t.name+(t.attrs?C(t.attrs):``)+n,t.voidElement?e:e+t.children.reduce(w,``)+`</`+t.name+`>`}case`comment`:return e+=`<!--`+t.comment+`-->`,e}}function T(e){return e.reduce(function(e,t){return e+w(``,t)},``)}var E={parse:S,stringify:T},D=(e,t)=>{if(!e)return!1;let n=e.props?.children??e.children;return t?n.length>0:!!n},O=e=>{if(!e)return[];let t=e.props?.children??e.children;return e.props?.i18nIsDynamicList?A(t):t},k=e=>A(e).every(d.isValidElement),A=e=>Array.isArray(e)?e:[e],j=(e,t)=>{let n={...t};return n.props={...t.props,...e.props},n},M=e=>{let t={};if(!e)return t;let n=e=>{A(e).forEach(e=>{l(e)||(D(e)?n(O(e)):o(e)&&!(0,d.isValidElement)(e)&&Object.assign(t,e))})};return n(e),t},N=(e,t,n,i)=>{if(!e)return``;let a=``,s=A(e),c=t?.transSupportBasicHtmlNodes?t.transKeepBasicHtmlNodesFor??[]:[];return s.forEach((e,s)=>{if(l(e)){a+=`${e}`;return}if((0,d.isValidElement)(e)){let{props:r,type:o}=e,u=Object.keys(r).length,d=c.indexOf(o)>-1,f=r.children;if(!f&&d&&!u){a+=`<${o}/>`;return}if(!f&&(!d||u)||r.i18nIsDynamicList){a+=`<${s}></${s}>`;return}if(d&&u<=1){let e=l(f)?f:N(f,t,n,i);a+=`<${o}>${e}</${o}>`;return}let p=N(f,t,n,i);a+=`<${s}>${p}</${s}>`;return}if(e===null){r(n,`TRANS_NULL_VALUE`,`Passed in a null value as child`,{i18nKey:i});return}if(o(e)){let{format:t,...o}=e,s=Object.keys(o);if(s.length===1){let e=t?`${s[0]}, ${t}`:s[0];a+=`{{${e}}}`;return}r(n,`TRANS_INVALID_OBJ`,`Invalid child - Object should only have keys {{ value, format }} (format is optional).`,{i18nKey:i,child:e});return}r(n,`TRANS_INVALID_VAR`,`Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.`,{i18nKey:i,child:e})}),a},P=(e,t,r,i,a,c,u)=>{if(r===``)return[];let f=a.transKeepBasicHtmlNodesFor||[],p=r&&new RegExp(f.map(e=>`<${e}`).join(`|`)).test(r);if(!e&&!t&&!p&&!u)return[r];let m=t??{},h=e=>{A(e).forEach(e=>{l(e)||(D(e)?h(O(e)):o(e)&&!(0,d.isValidElement)(e)&&Object.assign(m,e))})};h(e);let g=Object.keys(m),_=E.parse(`<0>${r}</0>`,{allowedTags:e=>/^\d+$/.test(e)||f.indexOf(e)>-1||g.indexOf(e)>-1}),v={...m,...c},y=(e,t,n)=>{let r=O(e),i=x(r,t.children,n);return k(r)&&i.length===0||e.props?.i18nIsDynamicList?r:i},b=(e,t,n,r,i)=>{e.dummy?(e.children=t,n.push((0,d.cloneElement)(e,{key:r},i?void 0:t))):n.push(...d.Children.map([e],e=>{if(e.type===d.Fragment||e.props?.i18nIsDynamicList!==void 0){let n={key:r};return e&&e.props&&Object.keys(e.props).forEach(t=>{t!==`children`&&t!==`i18nIsDynamicList`&&(n[t]=e.props[t])}),(0,d.createElement)(e.type,n,i?null:t)}let n={key:r};return e&&e.props&&Object.keys(e.props).forEach(t=>{t!==`ref`&&t!==`children`&&(n[t]=e.props[t])}),(0,d.cloneElement)(e,n,i?null:t)}))},x=(e,r,c)=>{let m=A(e),h=A(r),g={};return h.reduce((e,r,h)=>{let _=r.children?.[0]?.content&&i.services.interpolator.interpolate(r.children[0].content,v,i.language);if(r.type===`tag`){let s=m[parseInt(r.name,10)];!s&&t&&(s=t[r.name]),c.length===1&&!s&&(s=c[0][r.name]),s||={};let S={...r.attrs};u&&Object.keys(S).forEach(e=>{let t=S[e];l(t)&&(S[e]=n(t))});let C=Object.keys(S).length===0?s:j({props:S},s),w=(0,d.isValidElement)(C),T=w&&D(r,!0)&&!r.voidElement,E=p&&o(C)&&C.dummy&&!w,k=o(t)&&Object.hasOwnProperty.call(t,r.name);if(l(C)){let t=i.services.interpolator.interpolate(C,v,i.language);e.push(t)}else if(D(C)||T){let t=y(C,r,c);b(C,t,e,h)}else if(E){let t=x(m,r.children,c);b(C,t,e,h)}else if(Number.isNaN(parseFloat(r.name))){if(k){let t=y(C,r,c);b(C,t,e,h,r.voidElement)}else if(a.transSupportBasicHtmlNodes&&f.indexOf(r.name)>-1){if(r.voidElement)e.push((0,d.createElement)(r.name,{key:`${r.name}-${h}`}));else{let t=g[r.name]||0;g[r.name]=t+1;let n,i=0;for(let e=0;e<m.length;e+=1){let a=m[e];if((0,d.isValidElement)(a)&&a.type===r.name){if(i===t){n=a;break}i+=1}}let a=n?A(O(n)):m,o=x(a,r.children,c);e.push((0,d.createElement)(r.name,{key:`${r.name}-${h}`},o))}}else if(r.voidElement)e.push(`<${r.name} />`);else{let t=x(m,r.children,c);e.push(`<${r.name}>${t}</${r.name}>`)}}else if(o(C)&&!w){let t=r.children[0]?_:null;t&&e.push(t)}else b(C,_,e,h,r.children.length!==1||!_)}else if(r.type===`text`){let t=a.transWrapTextNodes,n=typeof a.unescape==`function`?a.unescape:s().unescape,o=u?n(i.services.interpolator.interpolate(r.content,v,i.language)):i.services.interpolator.interpolate(r.content,v,i.language);t?e.push((0,d.createElement)(t,{key:`${r.name}-${h}`},o)):e.push(o)}return e},[])};return O(x([{dummy:!0,children:e||[]}],_,A(e||[]))[0])},F=(e,t,n)=>{let r=e.key||t,i=(0,d.cloneElement)(e,{key:r});if(!i.props||!i.props.children||n.indexOf(`${t}/>`)<0&&n.indexOf(`${t} />`)<0)return i;function a(){return(0,d.createElement)(d.Fragment,null,i)}return(0,d.createElement)(a,{key:r})},I=(e,t)=>e.map((e,n)=>F(e,n,t)),L=(e,t)=>{let n={};return Object.keys(e).forEach(r=>{Object.assign(n,{[r]:F(e[r],r,t)})}),n},R=(e,t,n,r)=>e?Array.isArray(e)?I(e,t):o(e)?L(e,t):(i(n,`TRANS_INVALID_COMPONENTS`,`<Trans /> "components" prop expects an object or array`,{i18nKey:r}),null):null,z=e=>!o(e)||Array.isArray(e)?!1:Object.keys(e).reduce((e,t)=>e&&Number.isNaN(Number.parseFloat(t)),!0);function B({children:e,count:t,parent:n,i18nKey:r,context:o,tOptions:c={},values:f,defaults:p,components:m,ns:h,i18n:g,t:_,shouldUnescape:v,...y}){let b=g||a();if(!b)return i(b,`NO_I18NEXT_INSTANCE`,`Trans: You need to pass in an i18next instance using initReactI18next or by passing it via props or context. In monorepo setups, make sure there is only one instance of react-i18next.`,{i18nKey:r}),e;let x=_||b.t.bind(b)||(e=>e),S={...s(),...b.options?.react},C=h||x.ns||b.options?.defaultNS;C=l(C)?[C]:C||[`translation`];let{transDefaultProps:w}=S,T=w?.tOptions?{...w.tOptions,...c}:c,E=v??w?.shouldUnescape,D=w?.values?{...w.values,...f}:f,O=w?.components?{...w.components,...m}:m,k=N(e,S,b,r),A=p||T?.defaultValue||k||S.transEmptyNodeValue||(typeof r==`function`?u(r):r),{hashTransKey:j}=S,F=r||(j?j(k||A):k||A);f=b.options?.interpolation?.defaultVariables?D&&Object.keys(D).length>0?{...D,...b.options.interpolation.defaultVariables}:{...b.options.interpolation.defaultVariables}:D;let I=M(e);I&&typeof I.count==`number`&&t===void 0&&(t=I.count);let L=f||t!==void 0&&!b.options?.interpolation?.alwaysFormat||!e?T.interpolation:{interpolation:{...T.interpolation,prefix:`#$?`,suffix:`?$#`}},B={...T,context:o||T.context,count:t,...f,...L,defaultValue:A,ns:C},V=F?x(F,B):A;V===F&&A&&(V=A);let H=R(O,V,b,r),U=H||e,W=null;z(H)&&(W=H,U=e);let G=P(U,W,V,b,S,B,E),K=n??S.defaultTransParent;return K?(0,d.createElement)(K,y,G):G}function V({children:e,count:t,parent:n,i18nKey:r,context:i,tOptions:o={},values:s,defaults:l,components:u,ns:f,i18n:p,t:m,shouldUnescape:h,...g}){let{i18n:_,defaultNS:v}=(0,d.useContext)(c)||{},y=p||_||a(),b=m||y?.t.bind(y);return B({children:e,count:t,parent:n,i18nKey:r,context:i,tOptions:o,values:s,defaults:l,components:u,ns:f||b?.ns||v||y?.options?.defaultNS,i18n:y,t:m,shouldUnescape:h,...g})}export{V as t};
|
|
2
|
-
//# sourceMappingURL=Trans-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{c as n,d as r,f as i,i as a,l as o,o as s,r as c,u as l}from"./createLucideIcon-BOsNKleB.js";import{E as u}from"./es2015-Cv57ynE1.js";var d=e(t()),f={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,"!doctype":!0,"!DOCTYPE":!0},p=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?("[^"]*"|'[^']*')/g;function m(e){let t={type:`tag`,name:``,voidElement:!1,attrs:{},children:[]},n=e.match(/<\/?([^\s]+?)[/\s>]/);if(n&&(t.name=n[1],(f[n[1]]||e.charAt(e.length-2)===`/`)&&(t.voidElement=!0),t.name.startsWith(`!--`))){let t=e.indexOf(`-->`);return{type:`comment`,comment:t===-1?``:e.slice(4,t)}}let r=new RegExp(p),i=null;for(;i=r.exec(e),i!==null;)if(i[0].trim()){if(i[1]){let e=i[1].trim(),n=[e,null],a=e.indexOf(`=`);a>-1&&(n=[e.slice(0,a),e.slice(a+1)]),t.attrs[n[0]]=n[1],r.lastIndex--}else i[2]&&(t.attrs[i[2]]=i[3].trim().substring(1,i[3].length-1))}return t}var h=/<!--[\s\S]*?-->|<[a-zA-Z0-9\-!/](?:"[^"]*"|'[^']*'|[^'">])*>/g,g=/<\/?([^\s]+?)[/\s>]/,_=/^\s*$/,v=/^(script|style)$/i,y=`\0`,b=Object.create(null);function x(e){e.forEach(function(e){if(e.type===`text`){e.content=e.content.split(y).join(`<`);return}if(e.type===`comment`){e.comment=e.comment.split(y).join(`<`);return}for(let t in e.attrs){let n=e.attrs[t];typeof n==`string`&&n.indexOf(y)>-1&&(e.attrs[t]=n.split(y).join(`<`))}e.children.length&&x(e.children)})}function S(e,t){let n=t&&t.components||b,r=t&&t.allowedTags,i=!1;if(r){let t=typeof r==`function`?r:function(e){return r.indexOf(e)>-1},n=``,a=0;h.lastIndex=0;let o;for(;o=h.exec(e);){let r=o[0];n+=e.slice(a,o.index);let s=r.match(g);r.startsWith(`<!--`)||s&&t(s[1])?(n+=r,a=o.index+r.length):(i=!0,n+=y,a=o.index+1,h.lastIndex=a)}e=n+e.slice(a)}let a=[],o=[],s,c=-1,l=!1,u=0,d;if(e.indexOf(`<`)!==0){let t=e.indexOf(`<`);a.push({type:`text`,content:t===-1?e:e.substring(0,t)})}let f=[],p;for(;p=h.exec(e);)f.push(p);return f.forEach(function(e,t){let n=e[0];if(!n||n.startsWith(`<!--`))return;let r=0,i=0,a=-1,o=null;for(let e=0;e<n.length;e++){let t=n.charAt(e);o?t===o&&(o=null):t===`"`||t===`'`?o=t:t===`<`?(r++,r===2&&(a=e)):t===`>`&&i++}let s=a>-1&&/[a-zA-Z0-9\-!/]/.test(n.charAt(a+1));if(r>i&&s){let e=n.substring(0,a),r=n.substring(e.length);f[t][0]=r,f[t].index+=e.length}}),f.forEach(function(t,r){let i=t[0];if(!i)return;let p=t.index;if(p<u)return;if(l){if(i!==`</`+s.name+`>`)return;l=!1}let h=i.charAt(1)!==`/`,g=i.startsWith(`<!--`),y=p+i.length,b=e.charAt(y),x=f[r+1],S;if(b===`<`&&x){let t=e.substring(y,x.index);S=t.split(`<`).length>t.split(`>`).length}let C;if(g){let t=m(i);if(c<0)return a.push(t),a;C=o[c],C.children.push(t);let n=e.slice(y,x?x.index:void 0);return n.length>0&&C.children.push({type:`text`,content:n}),a}if(h){c++,s=m(i),s.type===`tag`&&n[s.name]&&(s.type=`component`,l=!0);let t=!1;if(!l&&!s.voidElement&&v.test(s.name)){t=!0,d||=e.toLowerCase();let n=d.indexOf(`</`+s.name.toLowerCase()+`>`,y),r=n===-1?e.length:n,i=e.slice(y,r);i&&s.children.push({type:`text`,content:i}),u=r}!s.voidElement&&!l&&!t&&b&&b!==`<`&&s.children.push({type:`text`,content:e.slice(y,x?x.index:void 0)}),c===0&&a.push(s),C=o[c-1],C&&C.children.push(s),o[c]=s}if((!h||s.voidElement)&&(c>-1&&(s.voidElement||s.name===i.slice(2,-1))&&(c--,s=c===-1?a:o[c]),!l&&(b!==`<`||S)&&b)){C=c===-1?a:o[c].children;let t=x?x.index:-1,n=e.slice(y,t===-1?void 0:t);_.test(n)&&(n=` `),(t>-1&&c+C.length>=0||n!==` `)&&C.push({type:`text`,content:n})}}),i&&x(a),a}function C(e){let t=[];for(let n in e)e[n]===null?t.push(n):t.push(n+`="`+String(e[n]).replace(/"/g,`"`)+`"`);return t.length?` `+t.join(` `):``}function w(e,t){switch(t.type){case`text`:return e+t.content;case`tag`:{let n=t.voidElement&&t.name.toLowerCase()!==`!doctype`?`/>`:`>`;return e+=`<`+t.name+(t.attrs?C(t.attrs):``)+n,t.voidElement?e:e+t.children.reduce(w,``)+`</`+t.name+`>`}case`comment`:return e+=`<!--`+t.comment+`-->`,e}}function T(e){return e.reduce(function(e,t){return e+w(``,t)},``)}var E={parse:S,stringify:T},D=(e,t)=>{if(!e)return!1;let n=e.props?.children??e.children;return t?n.length>0:!!n},O=e=>{if(!e)return[];let t=e.props?.children??e.children;return e.props?.i18nIsDynamicList?A(t):t},k=e=>A(e).every(d.isValidElement),A=e=>Array.isArray(e)?e:[e],j=(e,t)=>{let n={...t};return n.props={...t.props,...e.props},n},M=e=>{let t={};if(!e)return t;let n=e=>{A(e).forEach(e=>{l(e)||(D(e)?n(O(e)):o(e)&&!(0,d.isValidElement)(e)&&Object.assign(t,e))})};return n(e),t},N=(e,t,n,i)=>{if(!e)return``;let a=``,s=A(e),c=t?.transSupportBasicHtmlNodes?t.transKeepBasicHtmlNodesFor??[]:[];return s.forEach((e,s)=>{if(l(e)){a+=`${e}`;return}if((0,d.isValidElement)(e)){let{props:r,type:o}=e,u=Object.keys(r).length,d=c.indexOf(o)>-1,f=r.children;if(!f&&d&&!u){a+=`<${o}/>`;return}if(!f&&(!d||u)||r.i18nIsDynamicList){a+=`<${s}></${s}>`;return}if(d&&u<=1){let e=l(f)?f:N(f,t,n,i);a+=`<${o}>${e}</${o}>`;return}let p=N(f,t,n,i);a+=`<${s}>${p}</${s}>`;return}if(e===null){r(n,`TRANS_NULL_VALUE`,`Passed in a null value as child`,{i18nKey:i});return}if(o(e)){let{format:t,...o}=e,s=Object.keys(o);if(s.length===1){let e=t?`${s[0]}, ${t}`:s[0];a+=`{{${e}}}`;return}r(n,`TRANS_INVALID_OBJ`,`Invalid child - Object should only have keys {{ value, format }} (format is optional).`,{i18nKey:i,child:e});return}r(n,`TRANS_INVALID_VAR`,`Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.`,{i18nKey:i,child:e})}),a},P=(e,t,r,i,a,c,u)=>{if(r===``)return[];let f=a.transKeepBasicHtmlNodesFor||[],p=r&&new RegExp(f.map(e=>`<${e}`).join(`|`)).test(r);if(!e&&!t&&!p&&!u)return[r];let m=t??{},h=e=>{A(e).forEach(e=>{l(e)||(D(e)?h(O(e)):o(e)&&!(0,d.isValidElement)(e)&&Object.assign(m,e))})};h(e);let g=Object.keys(m),_=E.parse(`<0>${r}</0>`,{allowedTags:e=>/^\d+$/.test(e)||f.indexOf(e)>-1||g.indexOf(e)>-1}),v={...m,...c},y=(e,t,n)=>{let r=O(e),i=x(r,t.children,n);return k(r)&&i.length===0||e.props?.i18nIsDynamicList?r:i},b=(e,t,n,r,i)=>{e.dummy?(e.children=t,n.push((0,d.cloneElement)(e,{key:r},i?void 0:t))):n.push(...d.Children.map([e],e=>{if(e.type===d.Fragment||e.props?.i18nIsDynamicList!==void 0){let n={key:r};return e&&e.props&&Object.keys(e.props).forEach(t=>{t!==`children`&&t!==`i18nIsDynamicList`&&(n[t]=e.props[t])}),(0,d.createElement)(e.type,n,i?null:t)}let n={key:r};return e&&e.props&&Object.keys(e.props).forEach(t=>{t!==`ref`&&t!==`children`&&(n[t]=e.props[t])}),(0,d.cloneElement)(e,n,i?null:t)}))},x=(e,r,c)=>{let m=A(e),h=A(r),g={};return h.reduce((e,r,h)=>{let _=r.children?.[0]?.content&&i.services.interpolator.interpolate(r.children[0].content,v,i.language);if(r.type===`tag`){let s=m[parseInt(r.name,10)];!s&&t&&(s=t[r.name]),c.length===1&&!s&&(s=c[0][r.name]),s||={};let S={...r.attrs};u&&Object.keys(S).forEach(e=>{let t=S[e];l(t)&&(S[e]=n(t))});let C=Object.keys(S).length===0?s:j({props:S},s),w=(0,d.isValidElement)(C),T=w&&D(r,!0)&&!r.voidElement,E=p&&o(C)&&C.dummy&&!w,k=o(t)&&Object.hasOwnProperty.call(t,r.name);if(l(C)){let t=i.services.interpolator.interpolate(C,v,i.language);e.push(t)}else if(D(C)||T){let t=y(C,r,c);b(C,t,e,h)}else if(E){let t=x(m,r.children,c);b(C,t,e,h)}else if(Number.isNaN(parseFloat(r.name))){if(k){let t=y(C,r,c);b(C,t,e,h,r.voidElement)}else if(a.transSupportBasicHtmlNodes&&f.indexOf(r.name)>-1){if(r.voidElement)e.push((0,d.createElement)(r.name,{key:`${r.name}-${h}`}));else{let t=g[r.name]||0;g[r.name]=t+1;let n,i=0;for(let e=0;e<m.length;e+=1){let a=m[e];if((0,d.isValidElement)(a)&&a.type===r.name){if(i===t){n=a;break}i+=1}}let a=n?A(O(n)):m,o=x(a,r.children,c);e.push((0,d.createElement)(r.name,{key:`${r.name}-${h}`},o))}}else if(r.voidElement)e.push(`<${r.name} />`);else{let t=x(m,r.children,c);e.push(`<${r.name}>${t}</${r.name}>`)}}else if(o(C)&&!w){let t=r.children[0]?_:null;t&&e.push(t)}else b(C,_,e,h,r.children.length!==1||!_)}else if(r.type===`text`){let t=a.transWrapTextNodes,n=typeof a.unescape==`function`?a.unescape:s().unescape,o=u?n(i.services.interpolator.interpolate(r.content,v,i.language)):i.services.interpolator.interpolate(r.content,v,i.language);t?e.push((0,d.createElement)(t,{key:`${r.name}-${h}`},o)):e.push(o)}return e},[])};return O(x([{dummy:!0,children:e||[]}],_,A(e||[]))[0])},F=(e,t,n)=>{let r=e.key||t,i=(0,d.cloneElement)(e,{key:r});if(!i.props||!i.props.children||n.indexOf(`${t}/>`)<0&&n.indexOf(`${t} />`)<0)return i;function a(){return(0,d.createElement)(d.Fragment,null,i)}return(0,d.createElement)(a,{key:r})},I=(e,t)=>e.map((e,n)=>F(e,n,t)),L=(e,t)=>{let n={};return Object.keys(e).forEach(r=>{Object.assign(n,{[r]:F(e[r],r,t)})}),n},R=(e,t,n,r)=>e?Array.isArray(e)?I(e,t):o(e)?L(e,t):(i(n,`TRANS_INVALID_COMPONENTS`,`<Trans /> "components" prop expects an object or array`,{i18nKey:r}),null):null,z=e=>!o(e)||Array.isArray(e)?!1:Object.keys(e).reduce((e,t)=>e&&Number.isNaN(Number.parseFloat(t)),!0);function B({children:e,count:t,parent:n,i18nKey:r,context:o,tOptions:c={},values:f,defaults:p,components:m,ns:h,i18n:g,t:_,shouldUnescape:v,...y}){let b=g||a();if(!b)return i(b,`NO_I18NEXT_INSTANCE`,`Trans: You need to pass in an i18next instance using initReactI18next or by passing it via props or context. In monorepo setups, make sure there is only one instance of react-i18next.`,{i18nKey:r}),e;let x=_||b.t.bind(b)||(e=>e),S={...s(),...b.options?.react},C=h||x.ns||b.options?.defaultNS;C=l(C)?[C]:C||[`translation`];let{transDefaultProps:w}=S,T=w?.tOptions?{...w.tOptions,...c}:c,E=v??w?.shouldUnescape,D=w?.values?{...w.values,...f}:f,O=w?.components?{...w.components,...m}:m,k=N(e,S,b,r),A=p||T?.defaultValue||k||S.transEmptyNodeValue||(typeof r==`function`?u(r):r),{hashTransKey:j}=S,F=r||(j?j(k||A):k||A);f=b.options?.interpolation?.defaultVariables?D&&Object.keys(D).length>0?{...D,...b.options.interpolation.defaultVariables}:{...b.options.interpolation.defaultVariables}:D;let I=M(e);I&&typeof I.count==`number`&&t===void 0&&(t=I.count);let L=f||t!==void 0&&!b.options?.interpolation?.alwaysFormat||!e?T.interpolation:{interpolation:{...T.interpolation,prefix:`#$?`,suffix:`?$#`}},B={...T,context:o||T.context,count:t,...f,...L,defaultValue:A,ns:C},V=F?x(F,B):A;V===F&&A&&(V=A);let H=R(O,V,b,r),U=H||e,W=null;z(H)&&(W=H,U=e);let G=P(U,W,V,b,S,B,E),K=n??S.defaultTransParent;return K?(0,d.createElement)(K,y,G):G}function V({children:e,count:t,parent:n,i18nKey:r,context:i,tOptions:o={},values:s,defaults:l,components:u,ns:f,i18n:p,t:m,shouldUnescape:h,...g}){let{i18n:_,defaultNS:v}=(0,d.useContext)(c)||{},y=p||_||a(),b=m||y?.t.bind(y);return B({children:e,count:t,parent:n,i18nKey:r,context:i,tOptions:o,values:s,defaults:l,components:u,ns:f||b?.ns||v||y?.options?.defaultNS,i18n:y,t:m,shouldUnescape:h,...g})}export{V as t};
|
|
2
|
+
//# sourceMappingURL=Trans-CPoNNUK1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Trans-B3UWiZaU.js","names":["isValidElement","HTML","cloneElement","Children","Fragment","createElement","Trans","keyFromSelector","useContext","TransWithoutContext","__toESM","unescape","warn","warnOnce","getI18n","isObject","getDefaults","I18nContext","isString","keysFromSelector","import_react","require_react","voidElements","attrRE","parseTag","res","tagMatch","tag","endIndex","reg","result","attr","arr","eq","tagRE","tagNameRE","whitespaceRE","rawTextRE","sentinel","empty","restoreSentinels","nodes","node","key","value","parse","components","options","allowedTags","restoreNeeded","isAllowed","name","out","pos","am","html","nameMatch","current","level","inComponent","rawUntil","htmlLower","end","matches","m","match","lts","gts","secondLt","quote","j","c","validSplit","firstPart","secondPart","i","index","isOpen","isComment","start","nextChar","nextMatch","isText","nextTag","parent","comment","text","isRawText","closeIndex","contentEnd","content","attrString","buff","attrs","stringifyNode","doc","tagEnd","stringify","token","rootEl","hasChildren","base","checkLength","getChildren","children","getAsArray","hasValidReactChildren","data","mergeProps","newTarget","target","source","getValuesFromChildren","values","getData","childs","child","nodesToString","stringNode","childrenArray","keepArray","i18nOptions","childPropsCount","props","shouldKeepChild","type","childChildren","childIndex","cnt","i18n","i18nKey","clone","keys","format","renderNodes","targetString","emptyChildrenButNeedsHandling","keep","knownComponentsMap","shouldUnescape","knownNames","ast","opts","combinedTOpts","renderInner","mappedChildren","mapAST","rootReactNode","pushTranslatedJSX","inner","mem","isVoid","freshProps","k","override","reactNodes","reactNode","astNodes","astNode","keepTagOccurrence","translationContent","tmp","val","p","isElement","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","occurrence","matched","seen","r","rn","innerScope","wrapTextNodes","unescapeFn","fixComponentProps","componentKey","component","comp","translation","Componentized","generateArrayComponents","generateObjectComponents","componentMap","generateComponents","isComponentsMap","object","acc","Trans$1","i18nFromProps","tFromProps","additionalProps","t","reactI18nextOptions","namespaces","ns","mergedTOptions","transDefaultProps","tOptions","mergedShouldUnescape","mergedValues","mergedComponents","nodeAsString","defaultValue","defaults","hashTransKey","valuesFromChildren","count","interpolationOverride","context","generatedComponents","indexedChildren","componentsMap","useAsParent","Trans","i18nFromContext","defaultNSFromContext"],"sources":["../../../../node_modules/.pnpm/html-parse-stringify@4.0.1/node_modules/html-parse-stringify/dist/esm/html-parse-stringify.js","../../../../node_modules/.pnpm/react-i18next@17.0.15_i18next@26.4.2_typescript@6.0.3__react-dom@19.3.0_react@19.3.0__react@19.3.0_typescript@6.0.3/node_modules/react-i18next/dist/es/TransWithoutContext.js","../../../../node_modules/.pnpm/react-i18next@17.0.15_i18next@26.4.2_typescript@6.0.3__react-dom@19.3.0_react@19.3.0__react@19.3.0_typescript@6.0.3/node_modules/react-i18next/dist/es/Trans.js"],"sourcesContent":["// inlined from the former `void-elements` dependency, so the package has\n// zero runtime dependencies. `!doctype`/`!DOCTYPE` are treated as void so a\n// doctype parses as a childless node instead of swallowing the document.\nconst voidElements = {\n area: true,\n base: true,\n br: true,\n col: true,\n embed: true,\n hr: true,\n img: true,\n input: true,\n link: true,\n meta: true,\n param: true,\n source: true,\n track: true,\n wbr: true,\n '!doctype': true,\n '!DOCTYPE': true,\n};\n\nconst attrRE = /\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\"[^\"]*\"|'[^']*')/g;\n\nfunction parseTag(tag) {\n const res = {\n type: 'tag',\n name: '',\n voidElement: false,\n attrs: {},\n children: [],\n };\n\n const tagMatch = tag.match(/<\\/?([^\\s]+?)[/\\s>]/);\n if (tagMatch) {\n res.name = tagMatch[1];\n // void-element lookup stays case sensitive on purpose: react-i18next\n // relies on `<Br>` NOT being treated as a void `<br>` (see 1df0f9d)\n if (voidElements[tagMatch[1]] || tag.charAt(tag.length - 2) === '/') {\n res.voidElement = true;\n }\n\n // handle comment tag\n if (res.name.startsWith('!--')) {\n const endIndex = tag.indexOf('-->');\n return {\n type: 'comment',\n comment: endIndex !== -1 ? tag.slice(4, endIndex) : '',\n }\n }\n }\n\n const reg = new RegExp(attrRE);\n let result = null;\n for (;;) {\n result = reg.exec(tag);\n\n if (result === null) {\n break\n }\n\n if (!result[0].trim()) {\n continue\n }\n\n if (result[1]) {\n const attr = result[1].trim();\n // boolean attributes carry `null` so stringify can render them bare\n // (`<input disabled/>` instead of `<input disabled=\"\"/>`)\n let arr = [attr, null];\n\n const eq = attr.indexOf('=');\n if (eq > -1) {\n // split at the first `=` only, so `data-x=a=b` keeps its full value\n arr = [attr.slice(0, eq), attr.slice(eq + 1)];\n }\n\n res.attrs[arr[0]] = arr[1];\n reg.lastIndex--;\n } else if (result[2]) {\n res.attrs[result[2]] = result[3].trim().substring(1, result[3].length - 1);\n }\n }\n\n return res\n}\n\n// comments are matched as a whole (so `>` inside them is fine), everything\n// else tag-shaped is matched by the second alternative\nconst tagRE = /<!--[\\s\\S]*?-->|<[a-zA-Z0-9\\-!/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g;\nconst tagNameRE = /<\\/?([^\\s]+?)[/\\s>]/;\nconst whitespaceRE = /^\\s*$/;\n// tags whose content is raw text: nothing inside them is markup\nconst rawTextRE = /^(script|style)$/i;\n\n// placeholder for `<` of tags rejected by options.allowedTags; restored to a\n// literal `<` in text/attr/comment content after parsing (U+0000 cannot appear\n// in sane input, and a collision would merely render as an extra `<`)\nconst sentinel = '\\u0000';\n\n// re-used obj for quick lookups of components\nconst empty = Object.create(null);\n\nfunction restoreSentinels(nodes) {\n nodes.forEach(function (node) {\n if (node.type === 'text') {\n node.content = node.content.split(sentinel).join('<');\n return\n }\n if (node.type === 'comment') {\n node.comment = node.comment.split(sentinel).join('<');\n return\n }\n for (const key in node.attrs) {\n const value = node.attrs[key];\n if (typeof value === 'string' && value.indexOf(sentinel) > -1) {\n node.attrs[key] = value.split(sentinel).join('<');\n }\n }\n if (node.children.length) {\n restoreSentinels(node.children);\n }\n });\n}\n\nfunction parse(html, options) {\n const components = (options && options.components) || empty;\n const allowedTags = options && options.allowedTags;\n let restoreNeeded = false;\n if (allowedTags) {\n const isAllowed =\n typeof allowedTags === 'function'\n ? allowedTags\n : function (name) {\n return allowedTags.indexOf(name) > -1\n };\n // neutralize tags whose name is not allowed, so they parse as text.\n // on a disallowed match only the leading `<` is escaped and scanning\n // resumes right after it, so a valid tag glued into the same match\n // (e.g. `<bold>` inside `<10, <20, and <bold>`) still gets recognized\n let out = '';\n let pos = 0;\n tagRE.lastIndex = 0;\n let am;\n while ((am = tagRE.exec(html))) {\n const tag = am[0];\n out += html.slice(pos, am.index);\n const nameMatch = tag.match(tagNameRE);\n if (tag.startsWith('<!--') || (nameMatch && isAllowed(nameMatch[1]))) {\n out += tag;\n pos = am.index + tag.length;\n } else {\n restoreNeeded = true;\n out += sentinel;\n pos = am.index + 1;\n tagRE.lastIndex = pos;\n }\n }\n html = out + html.slice(pos);\n }\n const result = [];\n const arr = [];\n let current;\n let level = -1;\n let inComponent = false;\n // while parsing raw-text content (script/style), tag-looking matches\n // before this index belong to the content and must be skipped\n let rawUntil = 0;\n // lazily created lowercase copy for case-insensitive raw-text close-tag search\n let htmlLower;\n\n // handle text at top level\n if (html.indexOf('<') !== 0) {\n const end = html.indexOf('<');\n result.push({\n type: 'text',\n content: end === -1 ? html : html.substring(0, end),\n });\n }\n\n // collect matches with an exec loop instead of matchAll to keep ES5 API compat\n const matches = [];\n let m;\n while ((m = tagRE.exec(html))) {\n matches.push(m);\n }\n matches.forEach(function (match, i) {\n const tag = match[0];\n if (!tag) return\n // comments match as a whole; their content must not trigger the\n // mismatched-bracket split below\n if (tag.startsWith('<!--')) return\n // count brackets outside quoted attribute values, so `<` inside an\n // attribute (e.g. title=\"1 < 2\") can't trigger a bogus split\n let lts = 0;\n let gts = 0;\n let secondLt = -1;\n let quote = null;\n for (let j = 0; j < tag.length; j++) {\n const c = tag.charAt(j);\n if (quote) {\n if (c === quote) quote = null;\n } else if (c === '\"' || c === \"'\") {\n quote = c;\n } else if (c === '<') {\n lts++;\n if (lts === 2) secondLt = j;\n } else if (c === '>') {\n gts++;\n }\n }\n // only split when the remainder is itself a valid tag start; otherwise\n // a fragment like `< <!-->` desyncs the string-level isComment check\n // from parseTag's name-based comment detection and crashes the walker\n const validSplit =\n secondLt > -1 && /[a-zA-Z0-9\\-!/]/.test(tag.charAt(secondLt + 1));\n if (lts > gts && validSplit) {\n const firstPart = tag.substring(0, secondLt);\n const secondPart = tag.substring(firstPart.length);\n matches[i][0] = secondPart;\n matches[i].index += firstPart.length;\n }\n });\n matches.forEach(function (match, i) {\n const tag = match[0];\n if (!tag) return\n const index = match.index;\n if (index < rawUntil) return\n if (inComponent) {\n if (tag !== '</' + current.name + '>') {\n return\n } else {\n inComponent = false;\n }\n }\n const isOpen = tag.charAt(1) !== '/';\n const isComment = tag.startsWith('<!--');\n const start = index + tag.length;\n const nextChar = html.charAt(start);\n const nextMatch = matches[i + 1];\n let isText;\n if (nextChar === '<' && nextMatch) {\n const nextTag = html.substring(start, nextMatch.index);\n isText = nextTag.split('<').length > nextTag.split('>').length;\n }\n\n let parent;\n\n if (isComment) {\n const comment = parseTag(tag);\n\n // if we're at root, push new base node\n if (level < 0) {\n result.push(comment);\n return result\n }\n parent = arr[level];\n parent.children.push(comment);\n\n const text = html.slice(start, nextMatch ? nextMatch.index : undefined);\n if (text.length > 0) {\n parent.children.push({\n type: 'text',\n content: text,\n });\n }\n return result\n }\n\n if (isOpen) {\n level++;\n\n current = parseTag(tag);\n if (current.type === 'tag' && components[current.name]) {\n current.type = 'component';\n inComponent = true;\n }\n\n let isRawText = false;\n if (\n !inComponent &&\n !current.voidElement &&\n rawTextRE.test(current.name)\n ) {\n // raw-text element: everything up to the matching close tag is one\n // text child, regardless of what it looks like\n isRawText = true;\n htmlLower || (htmlLower = html.toLowerCase());\n const closeIndex = htmlLower.indexOf(\n '</' + current.name.toLowerCase() + '>',\n start,\n );\n const contentEnd = closeIndex === -1 ? html.length : closeIndex;\n const content = html.slice(start, contentEnd);\n if (content) {\n current.children.push({\n type: 'text',\n content,\n });\n }\n rawUntil = contentEnd;\n }\n\n if (\n !current.voidElement &&\n !inComponent &&\n !isRawText &&\n nextChar &&\n nextChar !== '<'\n ) {\n // text content runs to the next actual tag match; stray `<`\n // characters in between are part of the text\n current.children.push({\n type: 'text',\n content: html.slice(start, nextMatch ? nextMatch.index : undefined),\n });\n }\n\n // if we're at root, push new base node\n if (level === 0) {\n result.push(current);\n }\n\n parent = arr[level - 1];\n\n if (parent) {\n parent.children.push(current);\n }\n\n arr[level] = current;\n }\n\n if (!isOpen || current.voidElement) {\n if (\n level > -1 &&\n (current.voidElement || current.name === tag.slice(2, -1))\n ) {\n level--;\n // move current up a level to match the end tag\n current = level === -1 ? result : arr[level];\n }\n if (!inComponent && (nextChar !== '<' || isText) && nextChar) {\n // trailing text node\n // if we're at the root, push a base text node. otherwise add as\n // a child to the current node.\n parent = level === -1 ? result : arr[level].children;\n\n // the text node runs to the next actual tag match; -1 means\n // there's no tag after it (trailing text)\n const end = nextMatch ? nextMatch.index : -1;\n let content = html.slice(start, end === -1 ? undefined : end);\n // if a node is nothing but whitespace, collapse it as the spec states:\n // https://www.w3.org/TR/html4/struct/text.html#h-9.1\n if (whitespaceRE.test(content)) {\n content = ' ';\n }\n // don't add whitespace-only text nodes if they would be trailing text nodes\n // or if they would be leading whitespace-only text nodes:\n // * end > -1 indicates this is not a trailing text node\n // * leading node is when level is -1 and parent has length 0\n if ((end > -1 && level + parent.length >= 0) || content !== ' ') {\n parent.push({\n type: 'text',\n content,\n });\n }\n }\n }\n });\n\n if (restoreNeeded) {\n restoreSentinels(result);\n }\n\n return result\n}\n\nfunction attrString(attrs) {\n const buff = [];\n for (const key in attrs) {\n if (attrs[key] === null) {\n // boolean attribute, render bare\n buff.push(key);\n } else {\n // escape double quotes so values parsed from single-quoted or\n // multiline attributes can't break out of the generated markup\n buff.push(key + '=\"' + String(attrs[key]).replace(/\"/g, '"') + '\"');\n }\n }\n if (!buff.length) {\n return ''\n }\n return ' ' + buff.join(' ')\n}\n\nfunction stringifyNode(buff, doc) {\n switch (doc.type) {\n case 'text':\n return buff + doc.content\n case 'tag': {\n // a doctype is void but must not self-close: `<!DOCTYPE html>` not `<!DOCTYPE html/>`\n const tagEnd =\n doc.voidElement && doc.name.toLowerCase() !== '!doctype' ? '/>' : '>';\n buff += '<' + doc.name + (doc.attrs ? attrString(doc.attrs) : '') + tagEnd;\n if (doc.voidElement) {\n return buff\n }\n return (\n buff + doc.children.reduce(stringifyNode, '') + '</' + doc.name + '>'\n )\n }\n case 'comment':\n buff += '<!--' + doc.comment + '-->';\n return buff\n }\n}\n\nfunction stringify(doc) {\n return doc.reduce(function (token, rootEl) {\n return token + stringifyNode('', rootEl)\n }, '')\n}\n\nvar index = {\n parse,\n stringify,\n};\n\nexport { index as default, parse, stringify };\n","import { Fragment, isValidElement, cloneElement, createElement, Children } from 'react';\nimport { keyFromSelector } from 'i18next';\nimport HTML from 'html-parse-stringify';\nimport { isObject, isString, warn, warnOnce } from './utils.js';\nimport { getDefaults } from './defaults.js';\nimport { getI18n } from './i18nInstance.js';\nimport { unescape } from './unescape.js';\nconst hasChildren = (node, checkLength) => {\n if (!node) return false;\n const base = node.props?.children ?? node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n};\nconst getChildren = node => {\n if (!node) return [];\n const children = node.props?.children ?? node.children;\n return node.props?.i18nIsDynamicList ? getAsArray(children) : children;\n};\nconst hasValidReactChildren = children => getAsArray(children).every(isValidElement);\nconst getAsArray = data => Array.isArray(data) ? data : [data];\nconst mergeProps = (source, target) => {\n const newTarget = {\n ...target\n };\n newTarget.props = {\n ...target.props,\n ...source.props\n };\n return newTarget;\n};\nconst getValuesFromChildren = children => {\n const values = {};\n if (!children) return values;\n const getData = childs => {\n const childrenArray = getAsArray(childs);\n childrenArray.forEach(child => {\n if (isString(child)) return;\n if (hasChildren(child)) getData(getChildren(child));else if (isObject(child) && !isValidElement(child)) Object.assign(values, child);\n });\n };\n getData(children);\n return values;\n};\nexport const nodesToString = (children, i18nOptions, i18n, i18nKey) => {\n if (!children) return '';\n let stringNode = '';\n const childrenArray = getAsArray(children);\n const keepArray = i18nOptions?.transSupportBasicHtmlNodes ? i18nOptions.transKeepBasicHtmlNodesFor ?? [] : [];\n childrenArray.forEach((child, childIndex) => {\n if (isString(child)) {\n stringNode += `${child}`;\n return;\n }\n if (isValidElement(child)) {\n const {\n props,\n type\n } = child;\n const childPropsCount = Object.keys(props).length;\n const shouldKeepChild = keepArray.indexOf(type) > -1;\n const childChildren = props.children;\n if (!childChildren && shouldKeepChild && !childPropsCount) {\n stringNode += `<${type}/>`;\n return;\n }\n if (!childChildren && (!shouldKeepChild || childPropsCount) || props.i18nIsDynamicList) {\n stringNode += `<${childIndex}></${childIndex}>`;\n return;\n }\n if (shouldKeepChild && childPropsCount <= 1) {\n const cnt = isString(childChildren) ? childChildren : nodesToString(childChildren, i18nOptions, i18n, i18nKey);\n stringNode += `<${type}>${cnt}</${type}>`;\n return;\n }\n const content = nodesToString(childChildren, i18nOptions, i18n, i18nKey);\n stringNode += `<${childIndex}>${content}</${childIndex}>`;\n return;\n }\n if (child === null) {\n warn(i18n, 'TRANS_NULL_VALUE', `Passed in a null value as child`, {\n i18nKey\n });\n return;\n }\n if (isObject(child)) {\n const {\n format,\n ...clone\n } = child;\n const keys = Object.keys(clone);\n if (keys.length === 1) {\n const value = format ? `${keys[0]}, ${format}` : keys[0];\n stringNode += `{{${value}}}`;\n return;\n }\n warn(i18n, 'TRANS_INVALID_OBJ', `Invalid child - Object should only have keys {{ value, format }} (format is optional).`, {\n i18nKey,\n child\n });\n return;\n }\n warn(i18n, 'TRANS_INVALID_VAR', `Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.`, {\n i18nKey,\n child\n });\n });\n return stringNode;\n};\nconst renderNodes = (children, knownComponentsMap, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) => {\n if (targetString === '') return [];\n const keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n const emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.map(keep => `<${keep}`).join('|')).test(targetString);\n if (!children && !knownComponentsMap && !emptyChildrenButNeedsHandling && !shouldUnescape) return [targetString];\n const data = knownComponentsMap ?? {};\n const getData = childs => {\n const childrenArray = getAsArray(childs);\n childrenArray.forEach(child => {\n if (isString(child)) return;\n if (hasChildren(child)) getData(getChildren(child));else if (isObject(child) && !isValidElement(child)) Object.assign(data, child);\n });\n };\n getData(children);\n const knownNames = Object.keys(data);\n const allowedTags = name => /^\\d+$/.test(name) || keepArray.indexOf(name) > -1 || knownNames.indexOf(name) > -1;\n const ast = HTML.parse(`<0>${targetString}</0>`, {\n allowedTags\n });\n const opts = {\n ...data,\n ...combinedTOpts\n };\n const renderInner = (child, node, rootReactNode) => {\n const childs = getChildren(child);\n const mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 || child.props?.i18nIsDynamicList ? childs : mappedChildren;\n };\n const pushTranslatedJSX = (child, inner, mem, i, isVoid) => {\n if (child.dummy) {\n child.children = inner;\n mem.push(cloneElement(child, {\n key: i\n }, isVoid ? undefined : inner));\n } else {\n mem.push(...Children.map([child], c => {\n if (c.type === Fragment || c.props?.i18nIsDynamicList !== undefined) {\n const freshProps = {\n key: i\n };\n if (c && c.props) {\n Object.keys(c.props).forEach(k => {\n if (k === 'children' || k === 'i18nIsDynamicList') return;\n freshProps[k] = c.props[k];\n });\n }\n return createElement(c.type, freshProps, isVoid ? null : inner);\n }\n const override = {\n key: i\n };\n if (c && c.props) {\n Object.keys(c.props).forEach(k => {\n if (k === 'ref' || k === 'children') return;\n override[k] = c.props[k];\n });\n }\n return cloneElement(c, override, isVoid ? null : inner);\n }));\n }\n };\n const mapAST = (reactNode, astNode, rootReactNode) => {\n const reactNodes = getAsArray(reactNode);\n const astNodes = getAsArray(astNode);\n const keepTagOccurrence = {};\n return astNodes.reduce((mem, node, i) => {\n const translationContent = node.children?.[0]?.content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n if (node.type === 'tag') {\n let tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && knownComponentsMap) tmp = knownComponentsMap[node.name];\n if (rootReactNode.length === 1 && !tmp) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n const props = {\n ...node.attrs\n };\n if (shouldUnescape) {\n Object.keys(props).forEach(p => {\n const val = props[p];\n if (isString(val)) {\n props[p] = unescape(val);\n }\n });\n }\n const child = Object.keys(props).length !== 0 ? mergeProps({\n props\n }, tmp) : tmp;\n const isElement = isValidElement(child);\n const isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n const isEmptyTransWithHTML = emptyChildrenButNeedsHandling && isObject(child) && child.dummy && !isElement;\n const isKnownComponent = isObject(knownComponentsMap) && Object.hasOwnProperty.call(knownComponentsMap, node.name);\n if (isString(child)) {\n const value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }));\n } else {\n const occurrence = keepTagOccurrence[node.name] || 0;\n keepTagOccurrence[node.name] = occurrence + 1;\n let matched;\n let seen = 0;\n for (let r = 0; r < reactNodes.length; r += 1) {\n const rn = reactNodes[r];\n if (isValidElement(rn) && rn.type === node.name) {\n if (seen === occurrence) {\n matched = rn;\n break;\n }\n seen += 1;\n }\n }\n const innerScope = matched ? getAsArray(getChildren(matched)) : reactNodes;\n const inner = mapAST(innerScope, node.children, rootReactNode);\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }, inner));\n }\n } else if (node.voidElement) {\n mem.push(`<${node.name} />`);\n } else {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n mem.push(`<${node.name}>${inner}</${node.name}>`);\n }\n } else if (isObject(child) && !isElement) {\n const content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else {\n pushTranslatedJSX(child, translationContent, mem, i, node.children.length !== 1 || !translationContent);\n }\n } else if (node.type === 'text') {\n const wrapTextNodes = i18nOptions.transWrapTextNodes;\n const unescapeFn = typeof i18nOptions.unescape === 'function' ? i18nOptions.unescape : getDefaults().unescape;\n const content = shouldUnescape ? unescapeFn(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: `${node.name}-${i}`\n }, content));\n } else {\n mem.push(content);\n }\n }\n return mem;\n }, []);\n };\n const result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n};\nconst fixComponentProps = (component, index, translation) => {\n const componentKey = component.key || index;\n const comp = cloneElement(component, {\n key: componentKey\n });\n if (!comp.props || !comp.props.children || translation.indexOf(`${index}/>`) < 0 && translation.indexOf(`${index} />`) < 0) {\n return comp;\n }\n function Componentized() {\n return createElement(Fragment, null, comp);\n }\n return createElement(Componentized, {\n key: componentKey\n });\n};\nconst generateArrayComponents = (components, translation) => components.map((c, index) => fixComponentProps(c, index, translation));\nconst generateObjectComponents = (components, translation) => {\n const componentMap = {};\n Object.keys(components).forEach(c => {\n Object.assign(componentMap, {\n [c]: fixComponentProps(components[c], c, translation)\n });\n });\n return componentMap;\n};\nconst generateComponents = (components, translation, i18n, i18nKey) => {\n if (!components) return null;\n if (Array.isArray(components)) {\n return generateArrayComponents(components, translation);\n }\n if (isObject(components)) {\n return generateObjectComponents(components, translation);\n }\n warnOnce(i18n, 'TRANS_INVALID_COMPONENTS', `<Trans /> \"components\" prop expects an object or array`, {\n i18nKey\n });\n return null;\n};\nconst isComponentsMap = object => {\n if (!isObject(object)) return false;\n if (Array.isArray(object)) return false;\n return Object.keys(object).reduce((acc, key) => acc && Number.isNaN(Number.parseFloat(key)), true);\n};\nexport function Trans({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n}) {\n const i18n = i18nFromProps || getI18n();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', `Trans: You need to pass in an i18next instance using initReactI18next or by passing it via props or context. In monorepo setups, make sure there is only one instance of react-i18next.`, {\n i18nKey\n });\n return children;\n }\n const t = tFromProps || i18n.t.bind(i18n) || (k => k);\n const reactI18nextOptions = {\n ...getDefaults(),\n ...i18n.options?.react\n };\n let namespaces = ns || t.ns || i18n.options?.defaultNS;\n namespaces = isString(namespaces) ? [namespaces] : namespaces || ['translation'];\n const {\n transDefaultProps\n } = reactI18nextOptions;\n const mergedTOptions = transDefaultProps?.tOptions ? {\n ...transDefaultProps.tOptions,\n ...tOptions\n } : tOptions;\n const mergedShouldUnescape = shouldUnescape ?? transDefaultProps?.shouldUnescape;\n const mergedValues = transDefaultProps?.values ? {\n ...transDefaultProps.values,\n ...values\n } : values;\n const mergedComponents = transDefaultProps?.components ? {\n ...transDefaultProps.components,\n ...components\n } : components;\n const nodeAsString = nodesToString(children, reactI18nextOptions, i18n, i18nKey);\n const defaultValue = defaults || mergedTOptions?.defaultValue || nodeAsString || reactI18nextOptions.transEmptyNodeValue || (typeof i18nKey === 'function' ? keyFromSelector(i18nKey) : i18nKey);\n const {\n hashTransKey\n } = reactI18nextOptions;\n const key = i18nKey || (hashTransKey ? hashTransKey(nodeAsString || defaultValue) : nodeAsString || defaultValue);\n if (i18n.options?.interpolation?.defaultVariables) {\n values = mergedValues && Object.keys(mergedValues).length > 0 ? {\n ...mergedValues,\n ...i18n.options.interpolation.defaultVariables\n } : {\n ...i18n.options.interpolation.defaultVariables\n };\n } else {\n values = mergedValues;\n }\n const valuesFromChildren = getValuesFromChildren(children);\n if (valuesFromChildren && typeof valuesFromChildren.count === 'number' && count === undefined) {\n count = valuesFromChildren.count;\n }\n const interpolationOverride = values || count !== undefined && !i18n.options?.interpolation?.alwaysFormat || !children ? mergedTOptions.interpolation : {\n interpolation: {\n ...mergedTOptions.interpolation,\n prefix: '#$?',\n suffix: '?$#'\n }\n };\n const combinedTOpts = {\n ...mergedTOptions,\n context: context || mergedTOptions.context,\n count,\n ...values,\n ...interpolationOverride,\n defaultValue,\n ns: namespaces\n };\n let translation = key ? t(key, combinedTOpts) : defaultValue;\n if (translation === key && defaultValue) translation = defaultValue;\n const generatedComponents = generateComponents(mergedComponents, translation, i18n, i18nKey);\n let indexedChildren = generatedComponents || children;\n let componentsMap = null;\n if (isComponentsMap(generatedComponents)) {\n componentsMap = generatedComponents;\n indexedChildren = children;\n }\n const content = renderNodes(indexedChildren, componentsMap, translation, i18n, reactI18nextOptions, combinedTOpts, mergedShouldUnescape);\n const useAsParent = parent ?? reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import { useContext } from 'react';\nimport { nodesToString, Trans as TransWithoutContext } from './TransWithoutContext.js';\nimport { getI18n, I18nContext } from './context.js';\nexport { nodesToString };\nexport function Trans({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n}) {\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n const t = tFromProps || i18n?.t.bind(i18n);\n return TransWithoutContext({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions,\n values,\n defaults,\n components,\n ns: ns || t?.ns || defaultNSFromContext || i18n?.options?.defaultNS,\n i18n,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n });\n}"],"ignoreList":[0,1,2],"mappings":"gPAGMsB,EAAe,CACnB,KAAM,GACN,KAAM,GACN,GAAI,GACJ,IAAK,GACL,MAAO,GACP,GAAI,GACJ,IAAK,GACL,MAAO,GACP,KAAM,GACN,KAAM,GACN,MAAO,GACP,OAAQ,GACR,MAAO,GACP,IAAK,GACL,WAAY,GACZ,WAAY,EACd,EAEMC,EAAS,yDAEf,SAASC,EAAS,EAAK,CACrB,IAAMC,EAAM,CACV,KAAM,MACN,KAAM,GACN,YAAa,GACb,MAAO,CAAC,EACR,SAAU,CAAC,CACb,EAEMC,EAAWC,EAAI,MAAM,qBAAqB,EAChD,GAAID,IACF,EAAI,KAAOA,EAAS,IAGhBJ,EAAaI,EAAS,KAAOC,EAAI,OAAOA,EAAI,OAAS,CAAC,IAAM,OAC9D,EAAI,YAAc,IAIhBF,EAAI,KAAK,WAAW,KAAK,GAAG,CAC9B,IAAMG,EAAWD,EAAI,QAAQ,KAAK,EAClC,MAAO,CACL,KAAM,UACN,QAASC,IAAa,GAA8B,GAAzBD,EAAI,MAAM,EAAGC,CAAQ,CAClD,CACF,CAGF,IAAMC,EAAM,IAAI,OAAON,CAAM,EACzBO,EAAS,KACb,KACE,EAASD,EAAI,KAAKF,CAAG,EAEjBG,IAAW,MAIf,GAAKA,EAAO,EAAE,CAAC,KAAK,EAIpB,IAAIA,EAAO,GAAI,CACb,IAAMC,EAAOD,EAAO,EAAE,CAAC,KAAK,EAGxBE,EAAM,CAACD,EAAM,IAAI,EAEfE,EAAKF,EAAK,QAAQ,GAAG,EACvBE,EAAK,KAEP,EAAM,CAACF,EAAK,MAAM,EAAGE,CAAE,EAAGF,EAAK,MAAME,EAAK,CAAC,CAAC,GAG9C,EAAI,MAAMD,EAAI,IAAMA,EAAI,GACxB,EAAI,WACN,MAAWF,EAAO,KAChB,EAAI,MAAMA,EAAO,IAAMA,EAAO,EAAE,CAAC,KAAK,CAAC,CAAC,UAAU,EAAGA,EAAO,EAAE,CAAC,OAAS,CAAC,EAAA,CAI7E,OAAOL,CACT,CAIA,IAAMS,EAAQ,gEACRC,EAAY,sBACZC,EAAe,QAEfC,EAAY,oBAKZC,EAAW,KAGXC,EAAQ,OAAO,OAAO,IAAI,EAEhC,SAASC,EAAiB,EAAO,CAC/BC,EAAM,QAAQ,SAAU,EAAM,CAC5B,GAAIC,EAAK,OAAS,OAAQ,CACxB,EAAK,QAAUA,EAAK,QAAQ,MAAMJ,CAAQ,CAAC,CAAC,KAAK,GAAG,EACpD,MACF,CACA,GAAII,EAAK,OAAS,UAAW,CAC3B,EAAK,QAAUA,EAAK,QAAQ,MAAMJ,CAAQ,CAAC,CAAC,KAAK,GAAG,EACpD,MACF,CACA,IAAK,IAAMK,KAAOD,EAAK,MAAO,CAC5B,IAAME,EAAQF,EAAK,MAAMC,GACrB,OAAOC,GAAU,UAAYA,EAAM,QAAQN,CAAQ,EAAI,KACzD,EAAK,MAAMK,GAAOC,EAAM,MAAMN,CAAQ,CAAC,CAAC,KAAK,GAAG,EAEpD,CACII,EAAK,SAAS,QAChBF,EAAiBE,EAAK,QAAQ,CAElC,CAAC,CACH,CAEA,SAASG,EAAM,EAAM,EAAS,CAC5B,IAAMC,EAAcC,GAAWA,EAAQ,YAAeR,EAChDS,EAAcD,GAAWA,EAAQ,YACnCE,EAAgB,GACpB,GAAID,EAAa,CACf,IAAME,EACJ,OAAOF,GAAgB,WACnBA,EACA,SAAU,EAAM,CACd,OAAOA,EAAY,QAAQG,CAAI,EAAI,EACrC,EAKFC,EAAM,GACNC,EAAM,EACV,EAAM,UAAY,EAClB,IAAIC,EACJ,KAAQ,EAAKpB,EAAM,KAAKqB,CAAI,GAAI,CAC9B,IAAM5B,EAAM2B,EAAG,GACf,GAAOC,EAAK,MAAMF,EAAKC,EAAG,KAAK,EAC/B,IAAME,EAAY7B,EAAI,MAAMQ,CAAS,EACjCR,EAAI,WAAW,MAAM,GAAM6B,GAAaN,EAAUM,EAAU,EAAE,GAChE,GAAO7B,EACP,EAAM2B,EAAG,MAAQ3B,EAAI,SAErB,EAAgB,GAChB,GAAOW,EACP,EAAMgB,EAAG,MAAQ,EACjB,EAAM,UAAYD,EAEtB,CACA,EAAOD,EAAMG,EAAK,MAAMF,CAAG,CAC7B,CACA,IAAMvB,EAAS,CAAC,EACVE,EAAM,CAAC,EACTyB,EACAC,EAAQ,GACRC,EAAc,GAGdC,EAAW,EAEXC,EAGJ,GAAIN,EAAK,QAAQ,GAAG,IAAM,EAAG,CAC3B,IAAMO,EAAMP,EAAK,QAAQ,GAAG,EAC5BzB,EAAO,KAAK,CACV,KAAM,OACN,QAASgC,IAAQ,GAAKP,EAAOA,EAAK,UAAU,EAAGO,CAAG,CACpD,CAAC,CACH,CAGA,IAAMC,EAAU,CAAC,EACbC,EACJ,KAAQ,EAAI9B,EAAM,KAAKqB,CAAI,GACzBQ,EAAQ,KAAKC,CAAC,EA8LhB,OA5LAD,EAAQ,QAAQ,SAAU,EAAO,EAAG,CAClC,IAAMpC,EAAMsC,EAAM,GAIlB,GAHI,CAACtC,GAGDA,EAAI,WAAW,MAAM,EAAG,OAG5B,IAAIuC,EAAM,EACNC,EAAM,EACNC,EAAW,GACXC,EAAQ,KACZ,IAAK,IAAIC,EAAI,EAAGA,EAAI3C,EAAI,OAAQ,IAAK,CACnC,IAAM4C,EAAI5C,EAAI,OAAO2C,CAAC,EAClBD,EACEE,IAAMF,IAAO,EAAQ,MAChBE,IAAM,KAAOA,IAAM,IAC5B,EAAQA,EACCA,IAAM,KACf,IACIL,IAAQ,IAAG,EAAWI,IACjBC,IAAM,KACf,GAEJ,CAIA,IAAMC,EACJJ,EAAW,IAAM,kBAAkB,KAAKzC,EAAI,OAAOyC,EAAW,CAAC,CAAC,EAClE,GAAIF,EAAMC,GAAOK,EAAY,CAC3B,IAAMC,EAAY9C,EAAI,UAAU,EAAGyC,CAAQ,EACrCM,EAAa/C,EAAI,UAAU8C,EAAU,MAAM,EACjD,EAAQE,EAAE,CAAC,GAAKD,EAChB,EAAQC,EAAE,CAAC,OAASF,EAAU,MAChC,CACF,CAAC,EACDV,EAAQ,QAAQ,SAAU,EAAO,EAAG,CAClC,IAAMpC,EAAMsC,EAAM,GAClB,GAAI,CAACtC,EAAK,OACV,IAAMiD,EAAQX,EAAM,MACpB,GAAIW,EAAQhB,EAAU,OACtB,GAAID,EAAa,CACf,GAAIhC,IAAQ,KAAO8B,EAAQ,KAAO,IAChC,OAEA,EAAc,EAElB,CACA,IAAMoB,EAASlD,EAAI,OAAO,CAAC,IAAM,IAC3BmD,EAAYnD,EAAI,WAAW,MAAM,EACjCoD,EAAQH,EAAQjD,EAAI,OACpBqD,EAAWzB,EAAK,OAAOwB,CAAK,EAC5BE,EAAYlB,EAAQY,EAAI,GAC1BO,EACJ,GAAIF,IAAa,KAAOC,EAAW,CACjC,IAAME,EAAU5B,EAAK,UAAUwB,EAAOE,EAAU,KAAK,EACrD,EAASE,EAAQ,MAAM,GAAG,CAAC,CAAC,OAASA,EAAQ,MAAM,GAAG,CAAC,CAAC,MAC1D,CAEA,IAAIC,EAEJ,GAAIN,EAAW,CACb,IAAMO,EAAU7D,EAASG,CAAG,EAG5B,GAAI+B,EAAQ,EAEV,OADA5B,EAAO,KAAKuD,CAAO,EACZvD,EAET,EAASE,EAAI0B,GACb0B,EAAO,SAAS,KAAKC,CAAO,EAE5B,IAAMC,EAAO/B,EAAK,MAAMwB,EAAOE,EAAYA,EAAU,MAAQ,IAAA,EAAS,EAOtE,OANIK,EAAK,OAAS,GAChBF,EAAO,SAAS,KAAK,CACnB,KAAM,OACN,QAASE,CACX,CAAC,EAEIxD,CACT,CAEA,GAAI+C,EAAQ,CACV,IAEA,EAAUrD,EAASG,CAAG,EAClB8B,EAAQ,OAAS,OAASX,EAAWW,EAAQ,QAC/C,EAAQ,KAAO,YACf,EAAc,IAGhB,IAAI8B,EAAY,GAChB,GACE,CAAC5B,GACD,CAACF,EAAQ,aACTpB,EAAU,KAAKoB,EAAQ,IAAI,EAC3B,CAGA,EAAY,GACZ,AAAcI,IAAYN,EAAK,YAAY,EAC3C,IAAMiC,EAAa3B,EAAU,QAC3B,KAAOJ,EAAQ,KAAK,YAAY,EAAI,IACpCsB,CACF,EACMU,EAAaD,IAAe,GAAKjC,EAAK,OAASiC,EAC/CE,EAAUnC,EAAK,MAAMwB,EAAOU,CAAU,EACxCC,GACFjC,EAAQ,SAAS,KAAK,CACpB,KAAM,OACN,SACF,CAAC,EAEH,EAAWgC,CACb,CAGE,CAAChC,EAAQ,aACT,CAACE,GACD,CAAC4B,GACDP,GACAA,IAAa,KAIbvB,EAAQ,SAAS,KAAK,CACpB,KAAM,OACN,QAASF,EAAK,MAAMwB,EAAOE,EAAYA,EAAU,MAAQ,IAAA,EAAS,CACpE,CAAC,EAICvB,IAAU,GACZ5B,EAAO,KAAK2B,CAAO,EAGrB,EAASzB,EAAI0B,EAAQ,GAEjB0B,GACFA,EAAO,SAAS,KAAK3B,CAAO,EAG9B,EAAIC,GAASD,CACf,CAEA,IAAI,CAACoB,GAAUpB,EAAQ,eAEnBC,EAAQ,KACPD,EAAQ,aAAeA,EAAQ,OAAS9B,EAAI,MAAM,EAAG,EAAE,KAExD,IAEA,EAAU+B,IAAU,GAAK5B,EAASE,EAAI0B,IAEpC,CAACC,IAAgBqB,IAAa,KAAOE,IAAWF,GAAU,CAI5D,EAAStB,IAAU,GAAK5B,EAASE,EAAI0B,EAAM,CAAC,SAI5C,IAAMI,EAAMmB,EAAYA,EAAU,MAAQ,GACtCS,EAAUnC,EAAK,MAAMwB,EAAOjB,IAAQ,GAAK,IAAA,GAAYA,CAAG,EAGxD1B,EAAa,KAAKsD,CAAO,IAC3B,EAAU,MAMP5B,EAAM,IAAMJ,EAAQ0B,EAAO,QAAU,GAAMM,IAAY,MAC1DN,EAAO,KAAK,CACV,KAAM,OACN,SACF,CAAC,CAEL,CAEJ,CAAC,EAEGnC,GACFT,EAAiBV,CAAM,EAGlBA,CACT,CAEA,SAAS6D,EAAW,EAAO,CACzB,IAAMC,EAAO,CAAC,EACd,IAAK,IAAMjD,KAAOkD,EACZA,EAAMlD,KAAS,KAEjBiD,EAAK,KAAKjD,CAAG,EAIbiD,EAAK,KAAKjD,EAAM,KAAO,OAAOkD,EAAMlD,EAAI,CAAC,CAAC,QAAQ,KAAM,QAAQ,EAAI,GAAG,EAM3E,OAHKiD,EAAK,OAGH,IAAMA,EAAK,KAAK,GAAG,EAFjB,EAGX,CAEA,SAASE,EAAc,EAAM,EAAK,CAChC,OAAQC,EAAI,KAAZ,CACE,IAAK,OACH,OAAOH,EAAOG,EAAI,QACpB,IAAK,MAAO,CAEV,IAAMC,EACJD,EAAI,aAAeA,EAAI,KAAK,YAAY,IAAM,WAAa,KAAO,IAKpE,MAJA,IAAQ,IAAMA,EAAI,MAAQA,EAAI,MAAQJ,EAAWI,EAAI,KAAK,EAAI,IAAMC,EAChED,EAAI,YACCH,EAGPA,EAAOG,EAAI,SAAS,OAAOD,EAAe,EAAE,EAAI,KAAOC,EAAI,KAAO,GAEtE,CACA,IAAK,UAEH,MADA,IAAQ,OAASA,EAAI,QAAU,MACxBH,CACX,CACF,CAEA,SAASK,EAAU,EAAK,CACtB,OAAOF,EAAI,OAAO,SAAU,EAAO,EAAQ,CACzC,OAAOG,EAAQJ,EAAc,GAAIK,CAAM,CACzC,EAAG,EAAE,CACP,CAEA,IAAIvB,EAAQ,CACV,QACA,WACF,ECnaMwB,GAAe,EAAM,IAAgB,CACzC,GAAI,CAAC1D,EAAM,MAAO,GAClB,IAAM2D,EAAO3D,EAAK,OAAO,UAAYA,EAAK,SAE1C,OADI4D,EAAoBD,EAAK,OAAS,EAC/B,CAAC,CAACA,CACX,EACME,EAAc,GAAQ,CAC1B,GAAI,CAAC7D,EAAM,MAAO,CAAC,EACnB,IAAM8D,EAAW9D,EAAK,OAAO,UAAYA,EAAK,SAC9C,OAAOA,EAAK,OAAO,kBAAoB+D,EAAWD,CAAQ,EAAIA,CAChE,EACME,EAAwB,GAAYD,EAAWD,CAAQ,CAAC,CAAC,MAAMxG,EAAAA,cAAc,EAC7EyG,EAAa,GAAQ,MAAM,QAAQE,CAAI,EAAIA,EAAO,CAACA,CAAI,EACvDC,GAAc,EAAQ,IAAW,CACrC,IAAMC,EAAY,CAChB,GAAGC,CACL,EAKA,MAJA,GAAU,MAAQ,CAChB,GAAGA,EAAO,MACV,GAAGC,EAAO,KACZ,EACOF,CACT,EACMG,EAAwB,GAAY,CACxC,IAAMC,EAAS,CAAC,EAChB,GAAI,CAACT,EAAU,OAAOS,EACtB,IAAMC,EAAU,GAAU,CAExBT,EADiCU,CACrB,CAAC,CAAC,QAAQ,GAAS,CACzBjG,EAASkG,CAAK,IACdhB,EAAYgB,CAAK,EAAGF,EAAQX,EAAYa,CAAK,CAAC,EAAWrG,EAASqG,CAAK,GAAK,EAAA,EAACpH,EAAAA,eAAAA,CAAeoH,CAAK,GAAG,OAAO,OAAOH,EAAQG,CAAK,EACrI,CAAC,CACH,EAEA,OADAF,EAAQV,CAAQ,EACTS,CACT,EACaI,GAAiB,EAAU,EAAa,EAAM,IAAY,CACrE,GAAI,CAACb,EAAU,MAAO,GACtB,IAAIc,EAAa,GACXC,EAAgBd,EAAWD,CAAQ,EACnCgB,EAAYC,GAAa,2BAA6BA,EAAY,4BAA8B,CAAC,EAAI,CAAC,EA2D5G,OA1DAF,EAAc,SAAS,EAAO,IAAe,CAC3C,GAAIrG,EAASkG,CAAK,EAAG,CACnB,GAAc,GAAGA,IACjB,MACF,CACA,IAAA,EAAIpH,EAAAA,eAAAA,CAAeoH,CAAK,EAAG,CACzB,GAAM,CACJ,QACA,QACEA,EACEM,EAAkB,OAAO,KAAKC,CAAK,CAAC,CAAC,OACrCC,EAAkBJ,EAAU,QAAQK,CAAI,EAAI,GAC5CC,EAAgBH,EAAM,SAC5B,GAAI,CAACG,GAAiBF,GAAmB,CAACF,EAAiB,CACzD,GAAc,IAAIG,EAAK,IACvB,MACF,CACA,GAAI,CAACC,IAAkB,CAACF,GAAmBF,IAAoBC,EAAM,kBAAmB,CACtF,GAAc,IAAII,EAAW,KAAKA,EAAW,GAC7C,MACF,CACA,GAAIH,GAAmBF,GAAmB,EAAG,CAC3C,IAAMM,EAAM9G,EAAS4G,CAAa,EAAIA,EAAgBT,EAAcS,EAAeL,EAAaQ,EAAMC,CAAO,EAC7G,GAAc,IAAIL,EAAK,GAAGG,EAAI,IAAIH,EAAK,GACvC,MACF,CACA,IAAMnC,EAAU2B,EAAcS,EAAeL,EAAaQ,EAAMC,CAAO,EACvE,GAAc,IAAIH,EAAW,GAAGrC,EAAQ,IAAIqC,EAAW,GACvD,MACF,CACA,GAAIX,IAAU,KAAM,CAClBxG,EAAKqH,EAAM,mBAAoB,kCAAmC,CAChE,SACF,CAAC,EACD,MACF,CACA,GAAIlH,EAASqG,CAAK,EAAG,CACnB,GAAM,CACJ,SACA,GAAGe,GACDf,EACEgB,EAAO,OAAO,KAAKD,CAAK,EAC9B,GAAIC,EAAK,SAAW,EAAG,CACrB,IAAMxF,EAAQyF,EAAS,GAAGD,EAAK,GAAG,IAAIC,IAAWD,EAAK,GACtD,GAAc,KAAKxF,EAAM,IACzB,MACF,CACAhC,EAAKqH,EAAM,oBAAqB,yFAA0F,CACxH,UACA,OACF,CAAC,EACD,MACF,CACArH,EAAKqH,EAAM,oBAAqB,yGAA0G,CACxI,UACA,OACF,CAAC,CACH,CAAC,EACMX,CACT,EACMgB,GAAe,EAAU,EAAoB,EAAc,EAAM,EAAa,EAAe,IAAmB,CACpH,GAAIC,IAAiB,GAAI,MAAO,CAAC,EACjC,IAAMf,EAAYC,EAAY,4BAA8B,CAAC,EACvDe,EAAgCD,GAAgB,IAAI,OAAOf,EAAU,IAAI,GAAQ,IAAIiB,GAAM,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAKF,CAAY,EAC/H,GAAI,CAAC/B,GAAY,CAACkC,GAAsB,CAACF,GAAiC,CAACG,EAAgB,MAAO,CAACJ,CAAY,EAC/G,IAAM5B,EAAO+B,GAAsB,CAAC,EAC9BxB,EAAU,GAAU,CAExBT,EADiCU,CACrB,CAAC,CAAC,QAAQ,GAAS,CACzBjG,EAASkG,CAAK,IACdhB,EAAYgB,CAAK,EAAGF,EAAQX,EAAYa,CAAK,CAAC,EAAWrG,EAASqG,CAAK,GAAK,EAAA,EAACpH,EAAAA,eAAAA,CAAeoH,CAAK,GAAG,OAAO,OAAOT,EAAMS,CAAK,EACnI,CAAC,CACH,EACAF,EAAQV,CAAQ,EAChB,IAAMoC,EAAa,OAAO,KAAKjC,CAAI,EAE7BkC,EAAM5I,EAAK,MAAM,MAAMsI,EAAa,MAAO,CAC/C,YAFkB,GAAQ,QAAQ,KAAKpF,CAAI,GAAKqE,EAAU,QAAQrE,CAAI,EAAI,IAAMyF,EAAW,QAAQzF,CAAI,EAAI,EAG7G,CAAC,EACK2F,EAAO,CACX,GAAGnC,EACH,GAAGoC,CACL,EACMC,GAAe,EAAO,EAAM,IAAkB,CAClD,IAAM7B,EAASZ,EAAYa,CAAK,EAC1B6B,EAAiBC,EAAO/B,EAAQzE,EAAK,SAAUyG,CAAa,EAClE,OAAOzC,EAAsBS,CAAM,GAAK8B,EAAe,SAAW,GAAK7B,EAAM,OAAO,kBAAoBD,EAAS8B,CACnH,EACMG,GAAqB,EAAO,EAAO,EAAK,EAAG,IAAW,CACtDhC,EAAM,OACR,EAAM,SAAWiC,EACjBC,EAAI,MAAA,EAAKpJ,EAAAA,aAAAA,CAAakH,EAAO,CAC3B,IAAKzC,CACP,EAAG4E,EAAS,IAAA,GAAYF,CAAK,CAAC,GAE9BC,EAAI,KAAK,GAAGnJ,EAAAA,SAAS,IAAI,CAACiH,CAAK,EAAG,GAAK,CACrC,GAAI7C,EAAE,OAASnE,EAAAA,UAAYmE,EAAE,OAAO,oBAAsB,IAAA,GAAW,CACnE,IAAMiF,EAAa,CACjB,IAAK7E,CACP,EAOA,OANIJ,GAAKA,EAAE,OACT,OAAO,KAAKA,EAAE,KAAK,CAAC,CAAC,QAAQ,GAAK,CAC5BkF,IAAM,YAAcA,IAAM,sBAC9B,EAAWA,GAAKlF,EAAE,MAAMkF,GAC1B,CAAC,GAEH,EAAOpJ,EAAAA,cAAAA,CAAckE,EAAE,KAAMiF,EAAYD,EAAS,KAAOF,CAAK,CAChE,CACA,IAAMK,EAAW,CACf,IAAK/E,CACP,EAOA,OANIJ,GAAKA,EAAE,OACT,OAAO,KAAKA,EAAE,KAAK,CAAC,CAAC,QAAQ,GAAK,CAC5BkF,IAAM,OAASA,IAAM,aACzB,EAASA,GAAKlF,EAAE,MAAMkF,GACxB,CAAC,GAEH,EAAOvJ,EAAAA,aAAAA,CAAaqE,EAAGmF,EAAUH,EAAS,KAAOF,CAAK,CACxD,CAAC,CAAC,CAEN,EACMH,GAAU,EAAW,EAAS,IAAkB,CACpD,IAAMS,EAAalD,EAAWmD,CAAS,EACjCC,EAAWpD,EAAWqD,CAAO,EAC7BC,EAAoB,CAAC,EAC3B,OAAOF,EAAS,QAAQ,EAAK,EAAM,IAAM,CACvC,IAAMG,EAAqBtH,EAAK,WAAW,EAAE,EAAE,SAAWuF,EAAK,SAAS,aAAa,YAAYvF,EAAK,SAAS,EAAE,CAAC,QAASoG,EAAMb,EAAK,QAAQ,EAC9I,GAAIvF,EAAK,OAAS,MAAO,CACvB,IAAIuH,EAAMN,EAAW,SAASjH,EAAK,KAAM,EAAE,GACvC,CAACuH,GAAOvB,IAAoB,EAAMA,EAAmBhG,EAAK,OAC1DyG,EAAc,SAAW,GAAK,CAACc,IAAK,EAAMd,EAAc,EAAE,CAACzG,EAAK,OACpE,AAAUuH,IAAM,CAAC,EACjB,IAAMtC,EAAQ,CACZ,GAAGjF,EAAK,KACV,EACIiG,GACF,OAAO,KAAKhB,CAAK,CAAC,CAAC,QAAQ,GAAK,CAC9B,IAAMuC,EAAMvC,EAAMwC,GACdjJ,EAASgJ,CAAG,IACd,EAAMC,GAAKxJ,EAASuJ,CAAG,EAE3B,CAAC,EAEH,IAAM9C,EAAQ,OAAO,KAAKO,CAAK,CAAC,CAAC,SAAW,EAElCsC,EAFsCrD,EAAW,CACzD,OACF,EAAGqD,CAAG,EACAG,GAAA,EAAYpK,EAAAA,eAAAA,CAAeoH,CAAK,EAChCiD,EAAiCD,GAAahE,EAAY1D,EAAM,EAAI,GAAK,CAACA,EAAK,YAC/E4H,EAAuB9B,GAAiCzH,EAASqG,CAAK,GAAKA,EAAM,OAAS,CAACgD,EAC3FG,EAAmBxJ,EAAS2H,CAAkB,GAAK,OAAO,eAAe,KAAKA,EAAoBhG,EAAK,IAAI,EACjH,GAAIxB,EAASkG,CAAK,EAAG,CACnB,IAAMxE,EAAQqF,EAAK,SAAS,aAAa,YAAYb,EAAO0B,EAAMb,EAAK,QAAQ,EAC/EqB,EAAI,KAAK1G,CAAK,CAChB,MAAO,GAAIwD,EAAYgB,CAAK,GAAKiD,EAAgC,CAC/D,IAAMhB,EAAQL,EAAY5B,EAAO1E,EAAMyG,CAAa,EACpDC,EAAkBhC,EAAOiC,EAAOC,EAAK3E,CAAC,CACxC,MAAO,GAAI2F,EAAsB,CAC/B,IAAMjB,EAAQH,EAAOS,EAAYjH,EAAK,SAAUyG,CAAa,EAC7DC,EAAkBhC,EAAOiC,EAAOC,EAAK3E,CAAC,CACxC,MAAO,GAAI,OAAO,MAAM,WAAWjC,EAAK,IAAI,CAAC,EAAG,CAC9C,GAAI6H,EAAkB,CACpB,IAAMlB,EAAQL,EAAY5B,EAAO1E,EAAMyG,CAAa,EACpDC,EAAkBhC,EAAOiC,EAAOC,EAAK3E,EAAGjC,EAAK,WAAW,CAC1D,MAAO,GAAI+E,EAAY,4BAA8BD,EAAU,QAAQ9E,EAAK,IAAI,EAAI,GAAI,CACtF,GAAIA,EAAK,YACP4G,EAAI,MAAA,EAAKjJ,EAAAA,cAAAA,CAAcqC,EAAK,KAAM,CAChC,IAAK,GAAGA,EAAK,KAAK,GAAGiC,GACvB,CAAC,CAAC,MACG,CACL,IAAM6F,EAAaT,EAAkBrH,EAAK,OAAS,EACnD,EAAkBA,EAAK,MAAQ8H,EAAa,EAC5C,IAAIC,EACAC,EAAO,EACX,IAAK,IAAIC,EAAI,EAAGA,EAAIhB,EAAW,OAAQ,GAAK,EAAG,CAC7C,IAAMiB,EAAKjB,EAAWgB,GACtB,IAAA,EAAI3K,EAAAA,eAAAA,CAAe4K,CAAE,GAAKA,EAAG,OAASlI,EAAK,KAAM,CAC/C,GAAIgI,IAASF,EAAY,CACvB,EAAUI,EACV,KACF,CACA,GAAQ,CACV,CACF,CACA,IAAMC,EAAaJ,EAAUhE,EAAWF,EAAYkE,CAAO,CAAC,EAAId,EAC1DN,EAAQH,EAAO2B,EAAYnI,EAAK,SAAUyG,CAAa,EAC7DG,EAAI,MAAA,EAAKjJ,EAAAA,cAAAA,CAAcqC,EAAK,KAAM,CAChC,IAAK,GAAGA,EAAK,KAAK,GAAGiC,GACvB,EAAG0E,CAAK,CAAC,CACX,CACF,MAAO,GAAI3G,EAAK,YACd4G,EAAI,KAAK,IAAI5G,EAAK,KAAK,IAAI,MACtB,CACL,IAAM2G,EAAQH,EAAOS,EAAYjH,EAAK,SAAUyG,CAAa,EAC7DG,EAAI,KAAK,IAAI5G,EAAK,KAAK,GAAG2G,EAAM,IAAI3G,EAAK,KAAK,EAAE,CAClD,CACF,MAAO,GAAI3B,EAASqG,CAAK,GAAK,CAACgD,EAAW,CACxC,IAAM1E,EAAUhD,EAAK,SAAS,GAAKsH,EAAqB,KACpDtE,GAAS4D,EAAI,KAAK5D,CAAO,CAC/B,MACE0D,EAAkBhC,EAAO4C,EAAoBV,EAAK3E,EAAGjC,EAAK,SAAS,SAAW,GAAK,CAACsH,CAAkB,CAE1G,MAAO,GAAItH,EAAK,OAAS,OAAQ,CAC/B,IAAMoI,EAAgBrD,EAAY,mBAC5BsD,EAAa,OAAOtD,EAAY,UAAa,WAAaA,EAAY,SAAWzG,EAAY,CAAC,CAAC,SAC/F0E,EAAUiD,EAAiBoC,EAAW9C,EAAK,SAAS,aAAa,YAAYvF,EAAK,QAASoG,EAAMb,EAAK,QAAQ,CAAC,EAAIA,EAAK,SAAS,aAAa,YAAYvF,EAAK,QAASoG,EAAMb,EAAK,QAAQ,EAC7L6C,EACFxB,EAAI,MAAA,EAAKjJ,EAAAA,cAAAA,CAAcyK,EAAe,CACpC,IAAK,GAAGpI,EAAK,KAAK,GAAGiC,GACvB,EAAGe,CAAO,CAAC,EAEX4D,EAAI,KAAK5D,CAAO,CAEpB,CACA,OAAO4D,CACT,EAAG,CAAC,CAAC,CACP,EAKA,OAAO/C,EAJQ2C,EAAO,CAAC,CACrB,MAAO,GACP,SAAU1C,GAAY,CAAC,CACzB,CAAC,EAAGqC,EAAKpC,EAAWD,GAAY,CAAC,CAAC,CACf,CAAA,CAAO,EAAE,CAC9B,EACMwE,GAAqB,EAAW,EAAO,IAAgB,CAC3D,IAAMC,EAAeC,EAAU,KAAOtG,EAChCuG,GAAA,EAAOjL,EAAAA,aAAAA,CAAagL,EAAW,CACnC,IAAKD,CACP,CAAC,EACD,GAAI,CAACE,EAAK,OAAS,CAACA,EAAK,MAAM,UAAYC,EAAY,QAAQ,GAAGxG,EAAM,GAAG,EAAI,GAAKwG,EAAY,QAAQ,GAAGxG,EAAM,IAAI,EAAI,EACvH,OAAOuG,EAET,SAASE,GAAgB,CACvB,OAAA,EAAOhL,EAAAA,cAAAA,CAAcD,EAAAA,SAAU,KAAM+K,CAAI,CAC3C,CACA,OAAA,EAAO9K,EAAAA,cAAAA,CAAcgL,EAAe,CAClC,IAAKJ,CACP,CAAC,CACH,EACMK,GAA2B,EAAY,IAAgBxI,EAAW,KAAK,EAAG,IAAUkI,EAAkBzG,EAAGK,EAAOwG,CAAW,CAAC,EAC5HG,GAA4B,EAAY,IAAgB,CAC5D,IAAMC,EAAe,CAAC,EAMtB,OALA,OAAO,KAAK1I,CAAU,CAAC,CAAC,QAAQ,GAAK,CACnC,OAAO,OAAO0I,EAAc,EACzBjH,GAAIyG,EAAkBlI,EAAWyB,GAAIA,EAAG6G,CAAW,CACtD,CAAC,CACH,CAAC,EACMI,CACT,EACMC,GAAsB,EAAY,EAAa,EAAM,IACpD3I,EACD,MAAM,QAAQA,CAAU,EACnBwI,EAAwBxI,EAAYsI,CAAW,EAEpDrK,EAAS+B,CAAU,EACdyI,EAAyBzI,EAAYsI,CAAW,GAEzDvK,EAASoH,EAAM,2BAA4B,yDAA0D,CACnG,SACF,CAAC,EACM,MAViB,KAYpByD,EAAkB,GAClB,CAAC3K,EAAS4K,CAAM,GAChB,MAAM,QAAQA,CAAM,EAAU,GAC3B,OAAO,KAAKA,CAAM,CAAC,CAAC,QAAQ,EAAK,IAAQC,GAAO,OAAO,MAAM,OAAO,WAAWjJ,CAAG,CAAC,EAAG,EAAI,EAEnG,SAAgBrC,EAAM,CACpB,WACA,QACA,SACA,UACA,UACA,WAAW,CAAC,EACZ,SACA,WACA,aACA,KACA,KAAMwL,EACN,EAAGC,EACH,iBACA,GAAGC,GACF,CACD,IAAM/D,EAAO6D,GAAiBhL,EAAQ,EACtC,GAAI,CAACmH,EAIH,OAHApH,EAASoH,EAAM,sBAAuB,0LAA2L,CAC/N,SACF,CAAC,EACMzB,EAET,IAAMyF,EAAIF,GAAc9D,EAAK,EAAE,KAAKA,CAAI,IAAM,GAAKwB,GAC7CyC,EAAsB,CAC1B,GAAGlL,EAAY,EACf,GAAGiH,EAAK,SAAS,KACnB,EACIkE,EAAaC,GAAMH,EAAE,IAAMhE,EAAK,SAAS,UAC7C,EAAa/G,EAASiL,CAAU,EAAI,CAACA,CAAU,EAAIA,GAAc,CAAC,aAAa,EAC/E,GAAM,CACJ,qBACED,EACEG,EAAiBC,GAAmB,SAAW,CACnD,GAAGA,EAAkB,SACrB,GAAGC,CACL,EAAIA,EACEC,EAAuB7D,GAAkB2D,GAAmB,eAC5DG,EAAeH,GAAmB,OAAS,CAC/C,GAAGA,EAAkB,OACrB,GAAGrF,CACL,EAAIA,EACEyF,EAAmBJ,GAAmB,WAAa,CACvD,GAAGA,EAAkB,WACrB,GAAGxJ,CACL,EAAIA,EACE6J,EAAetF,EAAcb,EAAU0F,EAAqBjE,EAAMC,CAAO,EACzE0E,EAAeC,GAAYR,GAAgB,cAAgBM,GAAgBT,EAAoB,sBAAwB,OAAOhE,GAAY,WAAa3H,EAAgB2H,CAAO,EAAIA,GAClL,CACJ,gBACEgE,EACEvJ,EAAMuF,IAAY4E,EAAeA,EAAaH,GAAgBC,CAAY,EAAID,GAAgBC,GACpG,AAQE3F,EAREgB,EAAK,SAAS,eAAe,iBACtBwE,GAAgB,OAAO,KAAKA,CAAY,CAAC,CAAC,OAAS,EAAI,CAC9D,GAAGA,EACH,GAAGxE,EAAK,QAAQ,cAAc,gBAChC,EAAI,CACF,GAAGA,EAAK,QAAQ,cAAc,gBAChC,EAESwE,EAEX,IAAMM,EAAqB/F,EAAsBR,CAAQ,EACrDuG,GAAsB,OAAOA,EAAmB,OAAU,UAAYC,IAAU,IAAA,KAClF,EAAQD,EAAmB,OAE7B,IAAME,EAAwBhG,GAAU+F,IAAU,IAAA,IAAa,CAAC/E,EAAK,SAAS,eAAe,cAAgB,CAACzB,EAAW6F,EAAe,cAAgB,CACtJ,cAAe,CACb,GAAGA,EAAe,cAClB,OAAQ,MACR,OAAQ,KACV,CACF,EACMtD,EAAgB,CACpB,GAAGsD,EACH,QAASa,GAAWb,EAAe,QACnC,QACA,GAAGpF,EACH,GAAGgG,EACH,eACA,GAAId,CACN,EACIf,EAAczI,EAAMsJ,EAAEtJ,EAAKoG,CAAa,EAAI6D,EAC5CxB,IAAgBzI,GAAOiK,IAAc,EAAcA,GACvD,IAAMO,EAAsB1B,EAAmBiB,EAAkBtB,EAAanD,EAAMC,CAAO,EACvFkF,EAAkBD,GAAuB3G,EACzC6G,EAAgB,KAChB3B,EAAgByB,CAAmB,IACrC,EAAgBA,EAChB,EAAkB3G,GAEpB,IAAMd,EAAU4C,EAAY8E,EAAiBC,EAAejC,EAAanD,EAAMiE,EAAqBnD,EAAeyD,CAAoB,EACjIc,EAAclI,GAAU8G,EAAoB,mBAClD,OAAOoB,GAAA,EAAcjN,EAAAA,cAAAA,CAAciN,EAAatB,EAAiBtG,CAAO,EAAIA,CAC9E,CCnZA,SAAgB6H,EAAM,CACpB,WACA,QACA,SACA,UACA,UACA,WAAW,CAAC,EACZ,SACA,WACA,aACA,KACA,KAAMzB,EACN,EAAGC,EACH,iBACA,GAAGC,GACF,CACD,GAAM,CACJ,KAAMwB,EACN,UAAWC,IAAA,EACTjN,EAAAA,WAAAA,CAAWS,CAAW,GAAK,CAAC,EAC1BgH,EAAO6D,GAAiB0B,GAAmB1M,EAAQ,EACnDmL,EAAIF,GAAc9D,GAAM,EAAE,KAAKA,CAAI,EACzC,OAAOxH,EAAoB,CACzB,WACA,QACA,SACA,UACA,UACA,WACA,SACA,WACA,aACA,GAAI2L,GAAMH,GAAG,IAAMwB,GAAwBxF,GAAM,SAAS,UAC1D,OACA,EAAG8D,EACH,iBACA,GAAGC,CACL,CAAC,CACH"}
|
|
1
|
+
{"version":3,"file":"Trans-CPoNNUK1.js","names":["isValidElement","HTML","cloneElement","Children","Fragment","createElement","Trans","keyFromSelector","useContext","TransWithoutContext","__toESM","unescape","warn","warnOnce","getI18n","isObject","getDefaults","I18nContext","isString","keysFromSelector","import_react","require_react","voidElements","attrRE","parseTag","res","tagMatch","tag","endIndex","reg","result","attr","arr","eq","tagRE","tagNameRE","whitespaceRE","rawTextRE","sentinel","empty","restoreSentinels","nodes","node","key","value","parse","components","options","allowedTags","restoreNeeded","isAllowed","name","out","pos","am","html","nameMatch","current","level","inComponent","rawUntil","htmlLower","end","matches","m","match","lts","gts","secondLt","quote","j","c","validSplit","firstPart","secondPart","i","index","isOpen","isComment","start","nextChar","nextMatch","isText","nextTag","parent","comment","text","isRawText","closeIndex","contentEnd","content","attrString","buff","attrs","stringifyNode","doc","tagEnd","stringify","token","rootEl","hasChildren","base","checkLength","getChildren","children","getAsArray","hasValidReactChildren","data","mergeProps","newTarget","target","source","getValuesFromChildren","values","getData","childs","child","nodesToString","stringNode","childrenArray","keepArray","i18nOptions","childPropsCount","props","shouldKeepChild","type","childChildren","childIndex","cnt","i18n","i18nKey","clone","keys","format","renderNodes","targetString","emptyChildrenButNeedsHandling","keep","knownComponentsMap","shouldUnescape","knownNames","ast","opts","combinedTOpts","renderInner","mappedChildren","mapAST","rootReactNode","pushTranslatedJSX","inner","mem","isVoid","freshProps","k","override","reactNodes","reactNode","astNodes","astNode","keepTagOccurrence","translationContent","tmp","val","p","isElement","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","occurrence","matched","seen","r","rn","innerScope","wrapTextNodes","unescapeFn","fixComponentProps","componentKey","component","comp","translation","Componentized","generateArrayComponents","generateObjectComponents","componentMap","generateComponents","isComponentsMap","object","acc","Trans$1","i18nFromProps","tFromProps","additionalProps","t","reactI18nextOptions","namespaces","ns","mergedTOptions","transDefaultProps","tOptions","mergedShouldUnescape","mergedValues","mergedComponents","nodeAsString","defaultValue","defaults","hashTransKey","valuesFromChildren","count","interpolationOverride","context","generatedComponents","indexedChildren","componentsMap","useAsParent","Trans","i18nFromContext","defaultNSFromContext"],"sources":["../../../../node_modules/.pnpm/html-parse-stringify@4.0.1/node_modules/html-parse-stringify/dist/esm/html-parse-stringify.js","../../../../node_modules/.pnpm/react-i18next@17.0.15_i18next@26.4.2_typescript@6.0.3__react-dom@19.3.0_react@19.3.0__react@19.3.0_typescript@6.0.3/node_modules/react-i18next/dist/es/TransWithoutContext.js","../../../../node_modules/.pnpm/react-i18next@17.0.15_i18next@26.4.2_typescript@6.0.3__react-dom@19.3.0_react@19.3.0__react@19.3.0_typescript@6.0.3/node_modules/react-i18next/dist/es/Trans.js"],"sourcesContent":["// inlined from the former `void-elements` dependency, so the package has\n// zero runtime dependencies. `!doctype`/`!DOCTYPE` are treated as void so a\n// doctype parses as a childless node instead of swallowing the document.\nconst voidElements = {\n area: true,\n base: true,\n br: true,\n col: true,\n embed: true,\n hr: true,\n img: true,\n input: true,\n link: true,\n meta: true,\n param: true,\n source: true,\n track: true,\n wbr: true,\n '!doctype': true,\n '!DOCTYPE': true,\n};\n\nconst attrRE = /\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\"[^\"]*\"|'[^']*')/g;\n\nfunction parseTag(tag) {\n const res = {\n type: 'tag',\n name: '',\n voidElement: false,\n attrs: {},\n children: [],\n };\n\n const tagMatch = tag.match(/<\\/?([^\\s]+?)[/\\s>]/);\n if (tagMatch) {\n res.name = tagMatch[1];\n // void-element lookup stays case sensitive on purpose: react-i18next\n // relies on `<Br>` NOT being treated as a void `<br>` (see 1df0f9d)\n if (voidElements[tagMatch[1]] || tag.charAt(tag.length - 2) === '/') {\n res.voidElement = true;\n }\n\n // handle comment tag\n if (res.name.startsWith('!--')) {\n const endIndex = tag.indexOf('-->');\n return {\n type: 'comment',\n comment: endIndex !== -1 ? tag.slice(4, endIndex) : '',\n }\n }\n }\n\n const reg = new RegExp(attrRE);\n let result = null;\n for (;;) {\n result = reg.exec(tag);\n\n if (result === null) {\n break\n }\n\n if (!result[0].trim()) {\n continue\n }\n\n if (result[1]) {\n const attr = result[1].trim();\n // boolean attributes carry `null` so stringify can render them bare\n // (`<input disabled/>` instead of `<input disabled=\"\"/>`)\n let arr = [attr, null];\n\n const eq = attr.indexOf('=');\n if (eq > -1) {\n // split at the first `=` only, so `data-x=a=b` keeps its full value\n arr = [attr.slice(0, eq), attr.slice(eq + 1)];\n }\n\n res.attrs[arr[0]] = arr[1];\n reg.lastIndex--;\n } else if (result[2]) {\n res.attrs[result[2]] = result[3].trim().substring(1, result[3].length - 1);\n }\n }\n\n return res\n}\n\n// comments are matched as a whole (so `>` inside them is fine), everything\n// else tag-shaped is matched by the second alternative\nconst tagRE = /<!--[\\s\\S]*?-->|<[a-zA-Z0-9\\-!/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g;\nconst tagNameRE = /<\\/?([^\\s]+?)[/\\s>]/;\nconst whitespaceRE = /^\\s*$/;\n// tags whose content is raw text: nothing inside them is markup\nconst rawTextRE = /^(script|style)$/i;\n\n// placeholder for `<` of tags rejected by options.allowedTags; restored to a\n// literal `<` in text/attr/comment content after parsing (U+0000 cannot appear\n// in sane input, and a collision would merely render as an extra `<`)\nconst sentinel = '\\u0000';\n\n// re-used obj for quick lookups of components\nconst empty = Object.create(null);\n\nfunction restoreSentinels(nodes) {\n nodes.forEach(function (node) {\n if (node.type === 'text') {\n node.content = node.content.split(sentinel).join('<');\n return\n }\n if (node.type === 'comment') {\n node.comment = node.comment.split(sentinel).join('<');\n return\n }\n for (const key in node.attrs) {\n const value = node.attrs[key];\n if (typeof value === 'string' && value.indexOf(sentinel) > -1) {\n node.attrs[key] = value.split(sentinel).join('<');\n }\n }\n if (node.children.length) {\n restoreSentinels(node.children);\n }\n });\n}\n\nfunction parse(html, options) {\n const components = (options && options.components) || empty;\n const allowedTags = options && options.allowedTags;\n let restoreNeeded = false;\n if (allowedTags) {\n const isAllowed =\n typeof allowedTags === 'function'\n ? allowedTags\n : function (name) {\n return allowedTags.indexOf(name) > -1\n };\n // neutralize tags whose name is not allowed, so they parse as text.\n // on a disallowed match only the leading `<` is escaped and scanning\n // resumes right after it, so a valid tag glued into the same match\n // (e.g. `<bold>` inside `<10, <20, and <bold>`) still gets recognized\n let out = '';\n let pos = 0;\n tagRE.lastIndex = 0;\n let am;\n while ((am = tagRE.exec(html))) {\n const tag = am[0];\n out += html.slice(pos, am.index);\n const nameMatch = tag.match(tagNameRE);\n if (tag.startsWith('<!--') || (nameMatch && isAllowed(nameMatch[1]))) {\n out += tag;\n pos = am.index + tag.length;\n } else {\n restoreNeeded = true;\n out += sentinel;\n pos = am.index + 1;\n tagRE.lastIndex = pos;\n }\n }\n html = out + html.slice(pos);\n }\n const result = [];\n const arr = [];\n let current;\n let level = -1;\n let inComponent = false;\n // while parsing raw-text content (script/style), tag-looking matches\n // before this index belong to the content and must be skipped\n let rawUntil = 0;\n // lazily created lowercase copy for case-insensitive raw-text close-tag search\n let htmlLower;\n\n // handle text at top level\n if (html.indexOf('<') !== 0) {\n const end = html.indexOf('<');\n result.push({\n type: 'text',\n content: end === -1 ? html : html.substring(0, end),\n });\n }\n\n // collect matches with an exec loop instead of matchAll to keep ES5 API compat\n const matches = [];\n let m;\n while ((m = tagRE.exec(html))) {\n matches.push(m);\n }\n matches.forEach(function (match, i) {\n const tag = match[0];\n if (!tag) return\n // comments match as a whole; their content must not trigger the\n // mismatched-bracket split below\n if (tag.startsWith('<!--')) return\n // count brackets outside quoted attribute values, so `<` inside an\n // attribute (e.g. title=\"1 < 2\") can't trigger a bogus split\n let lts = 0;\n let gts = 0;\n let secondLt = -1;\n let quote = null;\n for (let j = 0; j < tag.length; j++) {\n const c = tag.charAt(j);\n if (quote) {\n if (c === quote) quote = null;\n } else if (c === '\"' || c === \"'\") {\n quote = c;\n } else if (c === '<') {\n lts++;\n if (lts === 2) secondLt = j;\n } else if (c === '>') {\n gts++;\n }\n }\n // only split when the remainder is itself a valid tag start; otherwise\n // a fragment like `< <!-->` desyncs the string-level isComment check\n // from parseTag's name-based comment detection and crashes the walker\n const validSplit =\n secondLt > -1 && /[a-zA-Z0-9\\-!/]/.test(tag.charAt(secondLt + 1));\n if (lts > gts && validSplit) {\n const firstPart = tag.substring(0, secondLt);\n const secondPart = tag.substring(firstPart.length);\n matches[i][0] = secondPart;\n matches[i].index += firstPart.length;\n }\n });\n matches.forEach(function (match, i) {\n const tag = match[0];\n if (!tag) return\n const index = match.index;\n if (index < rawUntil) return\n if (inComponent) {\n if (tag !== '</' + current.name + '>') {\n return\n } else {\n inComponent = false;\n }\n }\n const isOpen = tag.charAt(1) !== '/';\n const isComment = tag.startsWith('<!--');\n const start = index + tag.length;\n const nextChar = html.charAt(start);\n const nextMatch = matches[i + 1];\n let isText;\n if (nextChar === '<' && nextMatch) {\n const nextTag = html.substring(start, nextMatch.index);\n isText = nextTag.split('<').length > nextTag.split('>').length;\n }\n\n let parent;\n\n if (isComment) {\n const comment = parseTag(tag);\n\n // if we're at root, push new base node\n if (level < 0) {\n result.push(comment);\n return result\n }\n parent = arr[level];\n parent.children.push(comment);\n\n const text = html.slice(start, nextMatch ? nextMatch.index : undefined);\n if (text.length > 0) {\n parent.children.push({\n type: 'text',\n content: text,\n });\n }\n return result\n }\n\n if (isOpen) {\n level++;\n\n current = parseTag(tag);\n if (current.type === 'tag' && components[current.name]) {\n current.type = 'component';\n inComponent = true;\n }\n\n let isRawText = false;\n if (\n !inComponent &&\n !current.voidElement &&\n rawTextRE.test(current.name)\n ) {\n // raw-text element: everything up to the matching close tag is one\n // text child, regardless of what it looks like\n isRawText = true;\n htmlLower || (htmlLower = html.toLowerCase());\n const closeIndex = htmlLower.indexOf(\n '</' + current.name.toLowerCase() + '>',\n start,\n );\n const contentEnd = closeIndex === -1 ? html.length : closeIndex;\n const content = html.slice(start, contentEnd);\n if (content) {\n current.children.push({\n type: 'text',\n content,\n });\n }\n rawUntil = contentEnd;\n }\n\n if (\n !current.voidElement &&\n !inComponent &&\n !isRawText &&\n nextChar &&\n nextChar !== '<'\n ) {\n // text content runs to the next actual tag match; stray `<`\n // characters in between are part of the text\n current.children.push({\n type: 'text',\n content: html.slice(start, nextMatch ? nextMatch.index : undefined),\n });\n }\n\n // if we're at root, push new base node\n if (level === 0) {\n result.push(current);\n }\n\n parent = arr[level - 1];\n\n if (parent) {\n parent.children.push(current);\n }\n\n arr[level] = current;\n }\n\n if (!isOpen || current.voidElement) {\n if (\n level > -1 &&\n (current.voidElement || current.name === tag.slice(2, -1))\n ) {\n level--;\n // move current up a level to match the end tag\n current = level === -1 ? result : arr[level];\n }\n if (!inComponent && (nextChar !== '<' || isText) && nextChar) {\n // trailing text node\n // if we're at the root, push a base text node. otherwise add as\n // a child to the current node.\n parent = level === -1 ? result : arr[level].children;\n\n // the text node runs to the next actual tag match; -1 means\n // there's no tag after it (trailing text)\n const end = nextMatch ? nextMatch.index : -1;\n let content = html.slice(start, end === -1 ? undefined : end);\n // if a node is nothing but whitespace, collapse it as the spec states:\n // https://www.w3.org/TR/html4/struct/text.html#h-9.1\n if (whitespaceRE.test(content)) {\n content = ' ';\n }\n // don't add whitespace-only text nodes if they would be trailing text nodes\n // or if they would be leading whitespace-only text nodes:\n // * end > -1 indicates this is not a trailing text node\n // * leading node is when level is -1 and parent has length 0\n if ((end > -1 && level + parent.length >= 0) || content !== ' ') {\n parent.push({\n type: 'text',\n content,\n });\n }\n }\n }\n });\n\n if (restoreNeeded) {\n restoreSentinels(result);\n }\n\n return result\n}\n\nfunction attrString(attrs) {\n const buff = [];\n for (const key in attrs) {\n if (attrs[key] === null) {\n // boolean attribute, render bare\n buff.push(key);\n } else {\n // escape double quotes so values parsed from single-quoted or\n // multiline attributes can't break out of the generated markup\n buff.push(key + '=\"' + String(attrs[key]).replace(/\"/g, '"') + '\"');\n }\n }\n if (!buff.length) {\n return ''\n }\n return ' ' + buff.join(' ')\n}\n\nfunction stringifyNode(buff, doc) {\n switch (doc.type) {\n case 'text':\n return buff + doc.content\n case 'tag': {\n // a doctype is void but must not self-close: `<!DOCTYPE html>` not `<!DOCTYPE html/>`\n const tagEnd =\n doc.voidElement && doc.name.toLowerCase() !== '!doctype' ? '/>' : '>';\n buff += '<' + doc.name + (doc.attrs ? attrString(doc.attrs) : '') + tagEnd;\n if (doc.voidElement) {\n return buff\n }\n return (\n buff + doc.children.reduce(stringifyNode, '') + '</' + doc.name + '>'\n )\n }\n case 'comment':\n buff += '<!--' + doc.comment + '-->';\n return buff\n }\n}\n\nfunction stringify(doc) {\n return doc.reduce(function (token, rootEl) {\n return token + stringifyNode('', rootEl)\n }, '')\n}\n\nvar index = {\n parse,\n stringify,\n};\n\nexport { index as default, parse, stringify };\n","import { Fragment, isValidElement, cloneElement, createElement, Children } from 'react';\nimport { keyFromSelector } from 'i18next';\nimport HTML from 'html-parse-stringify';\nimport { isObject, isString, warn, warnOnce } from './utils.js';\nimport { getDefaults } from './defaults.js';\nimport { getI18n } from './i18nInstance.js';\nimport { unescape } from './unescape.js';\nconst hasChildren = (node, checkLength) => {\n if (!node) return false;\n const base = node.props?.children ?? node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n};\nconst getChildren = node => {\n if (!node) return [];\n const children = node.props?.children ?? node.children;\n return node.props?.i18nIsDynamicList ? getAsArray(children) : children;\n};\nconst hasValidReactChildren = children => getAsArray(children).every(isValidElement);\nconst getAsArray = data => Array.isArray(data) ? data : [data];\nconst mergeProps = (source, target) => {\n const newTarget = {\n ...target\n };\n newTarget.props = {\n ...target.props,\n ...source.props\n };\n return newTarget;\n};\nconst getValuesFromChildren = children => {\n const values = {};\n if (!children) return values;\n const getData = childs => {\n const childrenArray = getAsArray(childs);\n childrenArray.forEach(child => {\n if (isString(child)) return;\n if (hasChildren(child)) getData(getChildren(child));else if (isObject(child) && !isValidElement(child)) Object.assign(values, child);\n });\n };\n getData(children);\n return values;\n};\nexport const nodesToString = (children, i18nOptions, i18n, i18nKey) => {\n if (!children) return '';\n let stringNode = '';\n const childrenArray = getAsArray(children);\n const keepArray = i18nOptions?.transSupportBasicHtmlNodes ? i18nOptions.transKeepBasicHtmlNodesFor ?? [] : [];\n childrenArray.forEach((child, childIndex) => {\n if (isString(child)) {\n stringNode += `${child}`;\n return;\n }\n if (isValidElement(child)) {\n const {\n props,\n type\n } = child;\n const childPropsCount = Object.keys(props).length;\n const shouldKeepChild = keepArray.indexOf(type) > -1;\n const childChildren = props.children;\n if (!childChildren && shouldKeepChild && !childPropsCount) {\n stringNode += `<${type}/>`;\n return;\n }\n if (!childChildren && (!shouldKeepChild || childPropsCount) || props.i18nIsDynamicList) {\n stringNode += `<${childIndex}></${childIndex}>`;\n return;\n }\n if (shouldKeepChild && childPropsCount <= 1) {\n const cnt = isString(childChildren) ? childChildren : nodesToString(childChildren, i18nOptions, i18n, i18nKey);\n stringNode += `<${type}>${cnt}</${type}>`;\n return;\n }\n const content = nodesToString(childChildren, i18nOptions, i18n, i18nKey);\n stringNode += `<${childIndex}>${content}</${childIndex}>`;\n return;\n }\n if (child === null) {\n warn(i18n, 'TRANS_NULL_VALUE', `Passed in a null value as child`, {\n i18nKey\n });\n return;\n }\n if (isObject(child)) {\n const {\n format,\n ...clone\n } = child;\n const keys = Object.keys(clone);\n if (keys.length === 1) {\n const value = format ? `${keys[0]}, ${format}` : keys[0];\n stringNode += `{{${value}}}`;\n return;\n }\n warn(i18n, 'TRANS_INVALID_OBJ', `Invalid child - Object should only have keys {{ value, format }} (format is optional).`, {\n i18nKey,\n child\n });\n return;\n }\n warn(i18n, 'TRANS_INVALID_VAR', `Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.`, {\n i18nKey,\n child\n });\n });\n return stringNode;\n};\nconst renderNodes = (children, knownComponentsMap, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) => {\n if (targetString === '') return [];\n const keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n const emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.map(keep => `<${keep}`).join('|')).test(targetString);\n if (!children && !knownComponentsMap && !emptyChildrenButNeedsHandling && !shouldUnescape) return [targetString];\n const data = knownComponentsMap ?? {};\n const getData = childs => {\n const childrenArray = getAsArray(childs);\n childrenArray.forEach(child => {\n if (isString(child)) return;\n if (hasChildren(child)) getData(getChildren(child));else if (isObject(child) && !isValidElement(child)) Object.assign(data, child);\n });\n };\n getData(children);\n const knownNames = Object.keys(data);\n const allowedTags = name => /^\\d+$/.test(name) || keepArray.indexOf(name) > -1 || knownNames.indexOf(name) > -1;\n const ast = HTML.parse(`<0>${targetString}</0>`, {\n allowedTags\n });\n const opts = {\n ...data,\n ...combinedTOpts\n };\n const renderInner = (child, node, rootReactNode) => {\n const childs = getChildren(child);\n const mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 || child.props?.i18nIsDynamicList ? childs : mappedChildren;\n };\n const pushTranslatedJSX = (child, inner, mem, i, isVoid) => {\n if (child.dummy) {\n child.children = inner;\n mem.push(cloneElement(child, {\n key: i\n }, isVoid ? undefined : inner));\n } else {\n mem.push(...Children.map([child], c => {\n if (c.type === Fragment || c.props?.i18nIsDynamicList !== undefined) {\n const freshProps = {\n key: i\n };\n if (c && c.props) {\n Object.keys(c.props).forEach(k => {\n if (k === 'children' || k === 'i18nIsDynamicList') return;\n freshProps[k] = c.props[k];\n });\n }\n return createElement(c.type, freshProps, isVoid ? null : inner);\n }\n const override = {\n key: i\n };\n if (c && c.props) {\n Object.keys(c.props).forEach(k => {\n if (k === 'ref' || k === 'children') return;\n override[k] = c.props[k];\n });\n }\n return cloneElement(c, override, isVoid ? null : inner);\n }));\n }\n };\n const mapAST = (reactNode, astNode, rootReactNode) => {\n const reactNodes = getAsArray(reactNode);\n const astNodes = getAsArray(astNode);\n const keepTagOccurrence = {};\n return astNodes.reduce((mem, node, i) => {\n const translationContent = node.children?.[0]?.content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n if (node.type === 'tag') {\n let tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && knownComponentsMap) tmp = knownComponentsMap[node.name];\n if (rootReactNode.length === 1 && !tmp) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n const props = {\n ...node.attrs\n };\n if (shouldUnescape) {\n Object.keys(props).forEach(p => {\n const val = props[p];\n if (isString(val)) {\n props[p] = unescape(val);\n }\n });\n }\n const child = Object.keys(props).length !== 0 ? mergeProps({\n props\n }, tmp) : tmp;\n const isElement = isValidElement(child);\n const isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n const isEmptyTransWithHTML = emptyChildrenButNeedsHandling && isObject(child) && child.dummy && !isElement;\n const isKnownComponent = isObject(knownComponentsMap) && Object.hasOwnProperty.call(knownComponentsMap, node.name);\n if (isString(child)) {\n const value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }));\n } else {\n const occurrence = keepTagOccurrence[node.name] || 0;\n keepTagOccurrence[node.name] = occurrence + 1;\n let matched;\n let seen = 0;\n for (let r = 0; r < reactNodes.length; r += 1) {\n const rn = reactNodes[r];\n if (isValidElement(rn) && rn.type === node.name) {\n if (seen === occurrence) {\n matched = rn;\n break;\n }\n seen += 1;\n }\n }\n const innerScope = matched ? getAsArray(getChildren(matched)) : reactNodes;\n const inner = mapAST(innerScope, node.children, rootReactNode);\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }, inner));\n }\n } else if (node.voidElement) {\n mem.push(`<${node.name} />`);\n } else {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n mem.push(`<${node.name}>${inner}</${node.name}>`);\n }\n } else if (isObject(child) && !isElement) {\n const content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else {\n pushTranslatedJSX(child, translationContent, mem, i, node.children.length !== 1 || !translationContent);\n }\n } else if (node.type === 'text') {\n const wrapTextNodes = i18nOptions.transWrapTextNodes;\n const unescapeFn = typeof i18nOptions.unescape === 'function' ? i18nOptions.unescape : getDefaults().unescape;\n const content = shouldUnescape ? unescapeFn(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: `${node.name}-${i}`\n }, content));\n } else {\n mem.push(content);\n }\n }\n return mem;\n }, []);\n };\n const result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n};\nconst fixComponentProps = (component, index, translation) => {\n const componentKey = component.key || index;\n const comp = cloneElement(component, {\n key: componentKey\n });\n if (!comp.props || !comp.props.children || translation.indexOf(`${index}/>`) < 0 && translation.indexOf(`${index} />`) < 0) {\n return comp;\n }\n function Componentized() {\n return createElement(Fragment, null, comp);\n }\n return createElement(Componentized, {\n key: componentKey\n });\n};\nconst generateArrayComponents = (components, translation) => components.map((c, index) => fixComponentProps(c, index, translation));\nconst generateObjectComponents = (components, translation) => {\n const componentMap = {};\n Object.keys(components).forEach(c => {\n Object.assign(componentMap, {\n [c]: fixComponentProps(components[c], c, translation)\n });\n });\n return componentMap;\n};\nconst generateComponents = (components, translation, i18n, i18nKey) => {\n if (!components) return null;\n if (Array.isArray(components)) {\n return generateArrayComponents(components, translation);\n }\n if (isObject(components)) {\n return generateObjectComponents(components, translation);\n }\n warnOnce(i18n, 'TRANS_INVALID_COMPONENTS', `<Trans /> \"components\" prop expects an object or array`, {\n i18nKey\n });\n return null;\n};\nconst isComponentsMap = object => {\n if (!isObject(object)) return false;\n if (Array.isArray(object)) return false;\n return Object.keys(object).reduce((acc, key) => acc && Number.isNaN(Number.parseFloat(key)), true);\n};\nexport function Trans({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n}) {\n const i18n = i18nFromProps || getI18n();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', `Trans: You need to pass in an i18next instance using initReactI18next or by passing it via props or context. In monorepo setups, make sure there is only one instance of react-i18next.`, {\n i18nKey\n });\n return children;\n }\n const t = tFromProps || i18n.t.bind(i18n) || (k => k);\n const reactI18nextOptions = {\n ...getDefaults(),\n ...i18n.options?.react\n };\n let namespaces = ns || t.ns || i18n.options?.defaultNS;\n namespaces = isString(namespaces) ? [namespaces] : namespaces || ['translation'];\n const {\n transDefaultProps\n } = reactI18nextOptions;\n const mergedTOptions = transDefaultProps?.tOptions ? {\n ...transDefaultProps.tOptions,\n ...tOptions\n } : tOptions;\n const mergedShouldUnescape = shouldUnescape ?? transDefaultProps?.shouldUnescape;\n const mergedValues = transDefaultProps?.values ? {\n ...transDefaultProps.values,\n ...values\n } : values;\n const mergedComponents = transDefaultProps?.components ? {\n ...transDefaultProps.components,\n ...components\n } : components;\n const nodeAsString = nodesToString(children, reactI18nextOptions, i18n, i18nKey);\n const defaultValue = defaults || mergedTOptions?.defaultValue || nodeAsString || reactI18nextOptions.transEmptyNodeValue || (typeof i18nKey === 'function' ? keyFromSelector(i18nKey) : i18nKey);\n const {\n hashTransKey\n } = reactI18nextOptions;\n const key = i18nKey || (hashTransKey ? hashTransKey(nodeAsString || defaultValue) : nodeAsString || defaultValue);\n if (i18n.options?.interpolation?.defaultVariables) {\n values = mergedValues && Object.keys(mergedValues).length > 0 ? {\n ...mergedValues,\n ...i18n.options.interpolation.defaultVariables\n } : {\n ...i18n.options.interpolation.defaultVariables\n };\n } else {\n values = mergedValues;\n }\n const valuesFromChildren = getValuesFromChildren(children);\n if (valuesFromChildren && typeof valuesFromChildren.count === 'number' && count === undefined) {\n count = valuesFromChildren.count;\n }\n const interpolationOverride = values || count !== undefined && !i18n.options?.interpolation?.alwaysFormat || !children ? mergedTOptions.interpolation : {\n interpolation: {\n ...mergedTOptions.interpolation,\n prefix: '#$?',\n suffix: '?$#'\n }\n };\n const combinedTOpts = {\n ...mergedTOptions,\n context: context || mergedTOptions.context,\n count,\n ...values,\n ...interpolationOverride,\n defaultValue,\n ns: namespaces\n };\n let translation = key ? t(key, combinedTOpts) : defaultValue;\n if (translation === key && defaultValue) translation = defaultValue;\n const generatedComponents = generateComponents(mergedComponents, translation, i18n, i18nKey);\n let indexedChildren = generatedComponents || children;\n let componentsMap = null;\n if (isComponentsMap(generatedComponents)) {\n componentsMap = generatedComponents;\n indexedChildren = children;\n }\n const content = renderNodes(indexedChildren, componentsMap, translation, i18n, reactI18nextOptions, combinedTOpts, mergedShouldUnescape);\n const useAsParent = parent ?? reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import { useContext } from 'react';\nimport { nodesToString, Trans as TransWithoutContext } from './TransWithoutContext.js';\nimport { getI18n, I18nContext } from './context.js';\nexport { nodesToString };\nexport function Trans({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n}) {\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n const t = tFromProps || i18n?.t.bind(i18n);\n return TransWithoutContext({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions,\n values,\n defaults,\n components,\n ns: ns || t?.ns || defaultNSFromContext || i18n?.options?.defaultNS,\n i18n,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n });\n}"],"ignoreList":[0,1,2],"mappings":"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"}
|
package/dist/admin/assets/{UnsavedChangesGuard-DPgih7BX.js → UnsavedChangesGuard-BsEyn9oH.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{O as r}from"./auth-BFSvtV59.js";import{n as i}from"./createLucideIcon-BOsNKleB.js";import{n as a,r as o}from"./InlineConfirm-
|
|
2
|
-
//# sourceMappingURL=UnsavedChangesGuard-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{O as r}from"./auth-BFSvtV59.js";import{n as i}from"./createLucideIcon-BOsNKleB.js";import{n as a,r as o}from"./InlineConfirm-Kj9AOIFO.js";var s=e(t(),1);function c(e,t){if(e===void 0)return{shouldBlockFn:()=>!0,withResolver:!1};if(`shouldBlockFn`in e)return e;if(typeof e==`function`){let n=!!(t??!0);return{shouldBlockFn:async()=>n?await e():!1,enableBeforeUnload:n,withResolver:!1}}let n=!!(e.condition??!0),r=e.blockerFn;return{shouldBlockFn:async()=>n&&r!==void 0?await r():n,enableBeforeUnload:n,withResolver:r===void 0}}function l(e,t){let{shouldBlockFn:n,enableBeforeUnload:i=!0,disabled:a=!1,withResolver:o=!1}=c(e,t),l=r(),{history:u}=l,[d,f]=s.useState({status:`idle`,current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0});return s.useEffect(()=>a?void 0:u.block({blockerFn:async e=>{function t(e){let t=l.parseLocation(e),[,n,r]=l.getMatchedRoutes(t.pathname);return r===void 0?{routeId:`__notFound__`,fullPath:t.pathname,pathname:t.pathname,params:n,search:l.options.parseSearch(e.search)}:{routeId:r.id,fullPath:r.fullPath,pathname:t.pathname,params:n,search:l.options.parseSearch(e.search)}}let r=t(e.currentLocation),i=t(e.nextLocation);if(r.routeId===`__notFound__`&&i.routeId!==`__notFound__`)return!1;let a=await n({action:e.action,current:r,next:i});if(!o)return a;if(!a)return!1;let s=await new Promise(t=>{f({status:`blocked`,current:r,next:i,action:e.action,proceed:()=>t(!1),reset:()=>t(!0)})});return f({status:`idle`,current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0}),s},enableBeforeUnload:i}),[n,i,a,o,u,l]),d}var u=e(n(),1),d=({when:e,shouldBlock:t,title:n,description:r,stayLabel:s,leaveLabel:c})=>{let{t:d}=i();a(e);let f=l({shouldBlockFn:({current:n,next:r})=>e&&(t?.({currentPath:n.pathname,nextPath:r.pathname})??!0),enableBeforeUnload:()=>e,withResolver:!0});return(0,u.jsx)(o,{open:f.status===`blocked`,onOpenChange:e=>{!e&&f.status===`blocked`&&f.reset()},title:n??d(`unsaved.title`),description:r??d(`unsaved.description`),cancelLabel:s??d(`unsaved.stay`),confirmLabel:c??d(`unsaved.leave`),destructive:!0,onConfirm:()=>f.proceed?.()})};export{d as t};
|
|
2
|
+
//# sourceMappingURL=UnsavedChangesGuard-BsEyn9oH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnsavedChangesGuard-
|
|
1
|
+
{"version":3,"file":"UnsavedChangesGuard-BsEyn9oH.js","names":["__toESM","require_jsx_runtime","useRouter","useTranslation","useRegisterUnsavedEdits","ConfirmDialog","import_react","require_react","_resolveBlockerOpts","opts","shouldBlock","condition","fn","useBlocker","router","resolver","setResolver","disabled","history","getLocation","parsedLocation","location","rawParams","foundRoute","current","blockerFnArgs","next","shouldBlockFn","withResolver","canNavigateAsync","resolve","enableBeforeUnload","import_jsx_runtime","UnsavedChangesGuard","when","blocker","open","title","t","description","stayLabel","leaveLabel"],"sources":["../../../../node_modules/.pnpm/@tanstack+react-router@1.170.41_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@tanstack/react-router/dist/esm/useBlocker.js","../../src/components/UnsavedChangesGuard/index.tsx"],"sourcesContent":["\"use client\";\nimport { useRouter } from \"./useRouter.js\";\nimport * as React$1 from \"react\";\n//#region src/useBlocker.tsx\nfunction _resolveBlockerOpts(opts, condition) {\n\tif (opts === void 0) return {\n\t\tshouldBlockFn: () => true,\n\t\twithResolver: false\n\t};\n\tif (\"shouldBlockFn\" in opts) return opts;\n\tif (typeof opts === \"function\") {\n\t\tconst shouldBlock = Boolean(condition ?? true);\n\t\tconst _customBlockerFn = async () => {\n\t\t\tif (shouldBlock) return await opts();\n\t\t\treturn false;\n\t\t};\n\t\treturn {\n\t\t\tshouldBlockFn: _customBlockerFn,\n\t\t\tenableBeforeUnload: shouldBlock,\n\t\t\twithResolver: false\n\t\t};\n\t}\n\tconst shouldBlock = Boolean(opts.condition ?? true);\n\tconst fn = opts.blockerFn;\n\tconst _customBlockerFn = async () => {\n\t\tif (shouldBlock && fn !== void 0) return await fn();\n\t\treturn shouldBlock;\n\t};\n\treturn {\n\t\tshouldBlockFn: _customBlockerFn,\n\t\tenableBeforeUnload: shouldBlock,\n\t\twithResolver: fn === void 0\n\t};\n}\nfunction useBlocker(opts, condition) {\n\tconst { shouldBlockFn, enableBeforeUnload = true, disabled = false, withResolver = false } = _resolveBlockerOpts(opts, condition);\n\tconst router = useRouter();\n\tconst { history } = router;\n\tconst [resolver, setResolver] = React$1.useState({\n\t\tstatus: \"idle\",\n\t\tcurrent: void 0,\n\t\tnext: void 0,\n\t\taction: void 0,\n\t\tproceed: void 0,\n\t\treset: void 0\n\t});\n\tReact$1.useEffect(() => {\n\t\tconst blockerFnComposed = async (blockerFnArgs) => {\n\t\t\tfunction getLocation(location) {\n\t\t\t\tconst parsedLocation = router.parseLocation(location);\n\t\t\t\tconst [, rawParams, foundRoute] = router.getMatchedRoutes(parsedLocation.pathname);\n\t\t\t\tif (foundRoute === void 0) return {\n\t\t\t\t\trouteId: \"__notFound__\",\n\t\t\t\t\tfullPath: parsedLocation.pathname,\n\t\t\t\t\tpathname: parsedLocation.pathname,\n\t\t\t\t\tparams: rawParams,\n\t\t\t\t\tsearch: router.options.parseSearch(location.search)\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\trouteId: foundRoute.id,\n\t\t\t\t\tfullPath: foundRoute.fullPath,\n\t\t\t\t\tpathname: parsedLocation.pathname,\n\t\t\t\t\tparams: rawParams,\n\t\t\t\t\tsearch: router.options.parseSearch(location.search)\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst current = getLocation(blockerFnArgs.currentLocation);\n\t\t\tconst next = getLocation(blockerFnArgs.nextLocation);\n\t\t\tif (current.routeId === \"__notFound__\" && next.routeId !== \"__notFound__\") return false;\n\t\t\tconst shouldBlock = await shouldBlockFn({\n\t\t\t\taction: blockerFnArgs.action,\n\t\t\t\tcurrent,\n\t\t\t\tnext\n\t\t\t});\n\t\t\tif (!withResolver) return shouldBlock;\n\t\t\tif (!shouldBlock) return false;\n\t\t\tconst canNavigateAsync = await new Promise((resolve) => {\n\t\t\t\tsetResolver({\n\t\t\t\t\tstatus: \"blocked\",\n\t\t\t\t\tcurrent,\n\t\t\t\t\tnext,\n\t\t\t\t\taction: blockerFnArgs.action,\n\t\t\t\t\tproceed: () => resolve(false),\n\t\t\t\t\treset: () => resolve(true)\n\t\t\t\t});\n\t\t\t});\n\t\t\tsetResolver({\n\t\t\t\tstatus: \"idle\",\n\t\t\t\tcurrent: void 0,\n\t\t\t\tnext: void 0,\n\t\t\t\taction: void 0,\n\t\t\t\tproceed: void 0,\n\t\t\t\treset: void 0\n\t\t\t});\n\t\t\treturn canNavigateAsync;\n\t\t};\n\t\treturn disabled ? void 0 : history.block({\n\t\t\tblockerFn: blockerFnComposed,\n\t\t\tenableBeforeUnload\n\t\t});\n\t}, [\n\t\tshouldBlockFn,\n\t\tenableBeforeUnload,\n\t\tdisabled,\n\t\twithResolver,\n\t\thistory,\n\t\trouter\n\t]);\n\treturn resolver;\n}\nvar _resolvePromptBlockerArgs = (props) => {\n\tif (\"shouldBlockFn\" in props) return { ...props };\n\tconst shouldBlock = Boolean(props.condition ?? true);\n\tconst fn = props.blockerFn;\n\tconst _customBlockerFn = async () => {\n\t\tif (shouldBlock && fn !== void 0) return await fn();\n\t\treturn shouldBlock;\n\t};\n\treturn {\n\t\tshouldBlockFn: _customBlockerFn,\n\t\tenableBeforeUnload: shouldBlock,\n\t\twithResolver: fn === void 0\n\t};\n};\nfunction Block(opts) {\n\tconst { children, ...rest } = opts;\n\tconst resolver = useBlocker(_resolvePromptBlockerArgs(rest));\n\treturn children ? typeof children === \"function\" ? children(resolver) : children : null;\n}\n//#endregion\nexport { Block, useBlocker };\n\n//# sourceMappingURL=useBlocker.js.map","import { useBlocker } from '@tanstack/react-router';\nimport { useTranslation } from 'react-i18next';\nimport { useRegisterUnsavedEdits } from '@/hooks/useRegisterUnsavedEdits';\nimport { ConfirmDialog } from '../ConfirmDialog';\n\n/** A navigation the guard may let through: the pathnames it goes from and to. */\nexport type GuardedNavigation = { currentPath: string; nextPath: string };\n\ntype UnsavedChangesGuardProps = {\n when: boolean;\n /**\n * While `when`, which navigations ask (default: all). E.g. a screen whose edits survive a search-param\n * change asks only when the path changes. Reloading or closing the page always warns.\n */\n shouldBlock?: (navigation: GuardedNavigation) => boolean;\n /** The question; defaults to \"Discard unsaved changes?\" (and its description and buttons). */\n title?: string;\n description?: string;\n /** The button that stays on the page. */\n stayLabel?: string;\n /** The button that leaves. */\n leaveLabel?: string;\n};\n\n/**\n * Dirty-state protection: while `when` is true, in-app navigation asks before discarding edits and the\n * browser warns on reload/close. An ended session never navigates away from them: it is resumed in place.\n */\nexport const UnsavedChangesGuard = ({\n when,\n shouldBlock,\n title,\n description,\n stayLabel,\n leaveLabel,\n}: UnsavedChangesGuardProps) => {\n const { t } = useTranslation();\n useRegisterUnsavedEdits(when);\n const blocker = useBlocker({\n shouldBlockFn: ({ current, next }) =>\n when && (shouldBlock?.({ currentPath: current.pathname, nextPath: next.pathname }) ?? true),\n enableBeforeUnload: () => when,\n withResolver: true,\n });\n return (\n <ConfirmDialog\n open={blocker.status === 'blocked'}\n onOpenChange={(open) => {\n if (!open && blocker.status === 'blocked') {\n blocker.reset();\n }\n }}\n title={title ?? t('unsaved.title')}\n description={description ?? t('unsaved.description')}\n cancelLabel={stayLabel ?? t('unsaved.stay')}\n confirmLabel={leaveLabel ?? t('unsaved.leave')}\n destructive\n onConfirm={() => blocker.proceed?.()}\n />\n );\n};\n"],"ignoreList":[0],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{f as r,h as i,m as a}from"./es2015-
|
|
2
|
-
//# sourceMappingURL=UserAvatar-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{f as r,h as i,m as a}from"./es2015-Cv57ynE1.js";import{t as o}from"./cn-DVhJ55Mo.js";var s=e(t(),1),c=e(n(),1),l=Object.defineProperty,u=(e,t)=>l(e,`name`,{value:t,configurable:!0}),d=`Avatar`,[f,p]=a(d),m=[0,()=>void 0],[h,g]=f(d),_=s.forwardRef(u(function(e,t){let{__scopeAvatar:n,...r}=e,[a,o]=s.useState(`idle`),[l,u]=S();return(0,c.jsx)(h,{scope:n,imageLoadingStatus:a,setImageLoadingStatus:o,imageCount:l,setImageCount:u,children:(0,c.jsx)(i.span,{...r,ref:t})})},`Avatar`)),v=`AvatarFallback`,y=s.forwardRef(u(function(e,t){let{__scopeAvatar:n,delayMs:r,...a}=e,o=g(v,n),[l,u]=s.useState(r===void 0);return s.useEffect(()=>{if(r!==void 0){let e=window.setTimeout(()=>u(!0),r);return()=>window.clearTimeout(e)}},[r]),l&&o.imageLoadingStatus!==`loaded`?(0,c.jsx)(i.span,{...a,ref:t}):null},`AvatarFallback`));function b(e,{loadingStatus:t,setLoadingStatus:n,referrerPolicy:i,crossOrigin:a}){return r(()=>{if(!e){n(`error`);return}let t=new window.Image,r=u(e=>{let t=e.currentTarget;n(x(t))},`handleLoad`),o=u(()=>n(`error`),`handleError`);return t.addEventListener(`load`,r),t.addEventListener(`error`,o),i&&(t.referrerPolicy=i),t.crossOrigin=a??null,t.src=e,n(x(t)),()=>{t.removeEventListener(`load`,r),t.removeEventListener(`error`,o),n(`idle`)}},[e,a,i,n]),t}u(b,`useImageLoadingStatus`);function x(e){return e.complete?e.naturalWidth>0?`loaded`:`error`:`loading`}u(x,`getImageLoadingStatus`);function S(){return m}u(S,`useImageCount`);function C(e){}u(C,`useUpdateImageCount`);function w({className:e,size:t=`default`,...n}){return(0,c.jsx)(_,{"data-slot":`avatar`,"data-size":t,className:o(`group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6`,e),...n})}function T({className:e,...t}){return(0,c.jsx)(y,{"data-slot":`avatar-fallback`,className:o(`flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs`,e),...t})}function E({className:e,...t}){return(0,c.jsx)(`div`,{"data-slot":`avatar-group`,className:o(`group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background`,e),...t})}function D({className:e,...t}){return(0,c.jsx)(`div`,{"data-slot":`avatar-group-count`,className:o(`relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3`,e),...t})}var O=e=>{let t=e.replace(/@.*$/,``).split(/[\s._-]+/).filter(Boolean);return(t.length>1?`${t[0]?.[0]??``}${t.at(-1)?.[0]??``}`:t[0]?.[0]??`?`).toUpperCase()},k=({name:e,size:t=`default`,className:n})=>(0,c.jsx)(w,{size:t,"aria-hidden":`true`,className:n,children:(0,c.jsx)(T,{className:`text-xs font-semibold group-data-[size=sm]/avatar:text-2xs`,children:O(e)})});export{E as a,T as i,O as n,D as o,w as r,k as t};
|
|
2
|
+
//# sourceMappingURL=UserAvatar-CgGKOFfP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserAvatar-If-zlQNY.js","names":["Avatar","AvatarFallback","AvatarPrimitive.Root","AvatarPrimitive.Fallback","__toESM","require_jsx_runtime","useLayoutEffect2","Primitive","createContextScope","cn","import_react","require_react","import_jsx_runtime","__defProp","__name","target","AVATAR_NAME","createAvatarContext","createAvatarScope","STATIC_IMAGE_COUNT_STATE","AvatarProvider","useAvatarContext","Avatar$1","avatarProps","props","imageLoadingStatus","setImageLoadingStatus","imageCount","setImageCount","useImageCount","__scopeAvatar","forwardedRef","FALLBACK_NAME","AvatarFallback$1","fallbackProps","context","canRender","setCanRender","delayMs","timerId","useImageLoadingStatus","src","setLoadingStatus","image","handleLoad","image2","event","getImageLoadingStatus","handleError","referrerPolicy","crossOrigin","loadingStatus","state","useUpdateImageCount","Avatar","size","className","AvatarFallback","AvatarGroup","AvatarGroupCount","initialsOf","words","name","UserAvatar"],"sources":["../../../../node_modules/.pnpm/@radix-ui+react-avatar@1.2.6_@types+react-dom@19.3.0_@types+react@19.3.0__@types+react@_7afe6898fb0821d3b48e9a7a5e9acf8a/node_modules/@radix-ui/react-avatar/dist/index.mjs","../../src/components/ui/avatar.tsx","../../src/helpers/initials.ts","../../src/components/UserAvatar/index.tsx"],"sourcesContent":["\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/avatar.tsx\nimport * as React from \"react\";\nimport { IS_DEVELOPMENT } from \"@radix-ui/primitive/is-development\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AVATAR_NAME = \"Avatar\";\nvar [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME);\nvar STATIC_IMAGE_COUNT_STATE = [\n 0,\n () => void 0\n];\nvar [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);\nvar Avatar = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function Avatar2(props, forwardedRef) {\n const { __scopeAvatar, ...avatarProps } = props;\n const [imageLoadingStatus, setImageLoadingStatus] = React.useState(\"idle\");\n const [imageCount, setImageCount] = useImageCount();\n return /* @__PURE__ */ jsx(\n AvatarProvider,\n {\n scope: __scopeAvatar,\n imageLoadingStatus,\n setImageLoadingStatus,\n imageCount,\n setImageCount,\n children: /* @__PURE__ */ jsx(Primitive.span, { ...avatarProps, ref: forwardedRef })\n }\n );\n }, \"Avatar\")\n);\nvar IMAGE_NAME = \"AvatarImage\";\nvar AvatarImage = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function AvatarImage2(props, forwardedRef) {\n const { __scopeAvatar, src, onLoadingStatusChange, ...imageProps } = props;\n const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);\n useUpdateImageCount(context.setImageCount);\n const imageLoadingStatus = useImageLoadingStatus(src, {\n referrerPolicy: imageProps.referrerPolicy,\n crossOrigin: imageProps.crossOrigin,\n loadingStatus: context.imageLoadingStatus,\n setLoadingStatus: context.setImageLoadingStatus\n });\n const handleLoadingStatusChange = useCallbackRef((status) => {\n onLoadingStatusChange?.(status);\n });\n const loadingStatusRef = React.useRef(imageLoadingStatus);\n useLayoutEffect(() => {\n const previousLoadingStatus = loadingStatusRef.current;\n loadingStatusRef.current = imageLoadingStatus;\n if (imageLoadingStatus !== previousLoadingStatus) {\n handleLoadingStatusChange(imageLoadingStatus);\n }\n }, [imageLoadingStatus, handleLoadingStatusChange]);\n return imageLoadingStatus === \"loaded\" ? /* @__PURE__ */ jsx(Primitive.img, { ...imageProps, ref: forwardedRef, src }) : null;\n }, \"AvatarImage\")\n);\nvar FALLBACK_NAME = \"AvatarFallback\";\nvar AvatarFallback = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function AvatarFallback2(props, forwardedRef) {\n const { __scopeAvatar, delayMs, ...fallbackProps } = props;\n const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);\n const [canRender, setCanRender] = React.useState(delayMs === void 0);\n React.useEffect(() => {\n if (delayMs !== void 0) {\n const timerId = window.setTimeout(() => setCanRender(true), delayMs);\n return () => window.clearTimeout(timerId);\n }\n }, [delayMs]);\n return canRender && context.imageLoadingStatus !== \"loaded\" ? /* @__PURE__ */ jsx(Primitive.span, { ...fallbackProps, ref: forwardedRef }) : null;\n }, \"AvatarFallback\")\n);\nfunction useImageLoadingStatus(src, {\n loadingStatus,\n setLoadingStatus,\n referrerPolicy,\n crossOrigin\n}) {\n useLayoutEffect(() => {\n if (!src) {\n setLoadingStatus(\"error\");\n return;\n }\n const image = new window.Image();\n const handleLoad = /* @__PURE__ */ __name((event) => {\n const image2 = event.currentTarget;\n setLoadingStatus(getImageLoadingStatus(image2));\n }, \"handleLoad\");\n const handleError = /* @__PURE__ */ __name(() => setLoadingStatus(\"error\"), \"handleError\");\n image.addEventListener(\"load\", handleLoad);\n image.addEventListener(\"error\", handleError);\n if (referrerPolicy) {\n image.referrerPolicy = referrerPolicy;\n }\n image.crossOrigin = crossOrigin ?? null;\n image.src = src;\n setLoadingStatus(getImageLoadingStatus(image));\n return () => {\n image.removeEventListener(\"load\", handleLoad);\n image.removeEventListener(\"error\", handleError);\n setLoadingStatus(\"idle\");\n };\n }, [src, crossOrigin, referrerPolicy, setLoadingStatus]);\n return loadingStatus;\n}\n__name(useImageLoadingStatus, \"useImageLoadingStatus\");\nfunction getImageLoadingStatus(image) {\n return image.complete ? image.naturalWidth > 0 ? \"loaded\" : \"error\" : \"loading\";\n}\n__name(getImageLoadingStatus, \"getImageLoadingStatus\");\nfunction useImageCount() {\n let state = STATIC_IMAGE_COUNT_STATE;\n if (IS_DEVELOPMENT) {\n state = React.useState(0);\n const [imageCount] = state;\n const hasWarnedRef = React.useRef(false);\n React.useEffect(() => {\n if (imageCount > 1 && !hasWarnedRef.current) {\n hasWarnedRef.current = true;\n console.warn(\n \"Avatar: Only one `Avatar.Image` component should be rendered per `Avatar.Root`, but multiple were detected. This will lead to unexpected behavior.\"\n );\n }\n }, [imageCount]);\n }\n return state;\n}\n__name(useImageCount, \"useImageCount\");\nfunction useUpdateImageCount(setImageCount) {\n if (IS_DEVELOPMENT) {\n React.useEffect(() => {\n setImageCount((imageCount) => imageCount + 1);\n return () => {\n setImageCount((imageCount) => imageCount - 1);\n };\n }, [setImageCount]);\n }\n}\n__name(useUpdateImageCount, \"useUpdateImageCount\");\nexport {\n Avatar,\n AvatarFallback,\n AvatarImage,\n AvatarFallback as Fallback,\n AvatarImage as Image,\n Avatar as Root,\n createAvatarScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport { Avatar as AvatarPrimitive } from 'radix-ui';\nimport * as React from 'react';\nimport { cn } from '@/helpers/cn';\n\nfunction Avatar({\n className,\n size = 'default',\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: 'default' | 'sm' | 'lg';\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n className={cn(\n 'group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('aspect-square size-full', className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n 'flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n 'absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none',\n 'group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden',\n 'group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2',\n 'group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n 'group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarGroupCount({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n 'relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback, AvatarBadge, AvatarGroup, AvatarGroupCount };\n","/** Up to two initials for an avatar: \"Ada Lovelace\" → \"AL\", \"ada@example.com\" → \"A\". */\nexport const initialsOf = (name: string): string => {\n const words = name\n .replace(/@.*$/, '')\n .split(/[\\s._-]+/)\n .filter(Boolean);\n const initials =\n words.length > 1 ? `${words[0]?.[0] ?? ''}${words.at(-1)?.[0] ?? ''}` : (words[0]?.[0] ?? '?');\n return initials.toUpperCase();\n};\n","import { Avatar, AvatarFallback } from '@/components/ui/avatar';\nimport { initialsOf } from '@/helpers/initials';\n\ntype UserAvatarProps = {\n /** A display name or email; up to two initials are shown. */\n name: string;\n /** sm 24px (dense tables, activity rows), default 32px (user lists). */\n size?: 'sm' | 'default';\n className?: string;\n};\n\n/** A person's initials in a circle. Decorative: the name is always shown beside it. */\nexport const UserAvatar = ({ name, size = 'default', className }: UserAvatarProps) => (\n <Avatar size={size} aria-hidden=\"true\" className={className}>\n <AvatarFallback className=\"text-xs font-semibold group-data-[size=sm]/avatar:text-2xs\">\n {initialsOf(name)}\n </AvatarFallback>\n </Avatar>\n);\n"],"ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UserAvatar-CgGKOFfP.js","names":["Avatar","AvatarFallback","AvatarPrimitive.Root","AvatarPrimitive.Fallback","__toESM","require_jsx_runtime","useLayoutEffect2","Primitive","createContextScope","cn","import_react","require_react","import_jsx_runtime","__defProp","__name","target","AVATAR_NAME","createAvatarContext","createAvatarScope","STATIC_IMAGE_COUNT_STATE","AvatarProvider","useAvatarContext","Avatar$1","avatarProps","props","imageLoadingStatus","setImageLoadingStatus","imageCount","setImageCount","useImageCount","__scopeAvatar","forwardedRef","FALLBACK_NAME","AvatarFallback$1","fallbackProps","context","canRender","setCanRender","delayMs","timerId","useImageLoadingStatus","src","setLoadingStatus","image","handleLoad","image2","event","getImageLoadingStatus","handleError","referrerPolicy","crossOrigin","loadingStatus","state","useUpdateImageCount","Avatar","size","className","AvatarFallback","AvatarGroup","AvatarGroupCount","initialsOf","words","name","UserAvatar"],"sources":["../../../../node_modules/.pnpm/@radix-ui+react-avatar@1.2.6_@types+react-dom@19.3.0_@types+react@19.3.0__@types+react@_7afe6898fb0821d3b48e9a7a5e9acf8a/node_modules/@radix-ui/react-avatar/dist/index.mjs","../../src/components/ui/avatar.tsx","../../src/helpers/initials.ts","../../src/components/UserAvatar/index.tsx"],"sourcesContent":["\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/avatar.tsx\nimport * as React from \"react\";\nimport { IS_DEVELOPMENT } from \"@radix-ui/primitive/is-development\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AVATAR_NAME = \"Avatar\";\nvar [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME);\nvar STATIC_IMAGE_COUNT_STATE = [\n 0,\n () => void 0\n];\nvar [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);\nvar Avatar = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function Avatar2(props, forwardedRef) {\n const { __scopeAvatar, ...avatarProps } = props;\n const [imageLoadingStatus, setImageLoadingStatus] = React.useState(\"idle\");\n const [imageCount, setImageCount] = useImageCount();\n return /* @__PURE__ */ jsx(\n AvatarProvider,\n {\n scope: __scopeAvatar,\n imageLoadingStatus,\n setImageLoadingStatus,\n imageCount,\n setImageCount,\n children: /* @__PURE__ */ jsx(Primitive.span, { ...avatarProps, ref: forwardedRef })\n }\n );\n }, \"Avatar\")\n);\nvar IMAGE_NAME = \"AvatarImage\";\nvar AvatarImage = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function AvatarImage2(props, forwardedRef) {\n const { __scopeAvatar, src, onLoadingStatusChange, ...imageProps } = props;\n const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);\n useUpdateImageCount(context.setImageCount);\n const imageLoadingStatus = useImageLoadingStatus(src, {\n referrerPolicy: imageProps.referrerPolicy,\n crossOrigin: imageProps.crossOrigin,\n loadingStatus: context.imageLoadingStatus,\n setLoadingStatus: context.setImageLoadingStatus\n });\n const handleLoadingStatusChange = useCallbackRef((status) => {\n onLoadingStatusChange?.(status);\n });\n const loadingStatusRef = React.useRef(imageLoadingStatus);\n useLayoutEffect(() => {\n const previousLoadingStatus = loadingStatusRef.current;\n loadingStatusRef.current = imageLoadingStatus;\n if (imageLoadingStatus !== previousLoadingStatus) {\n handleLoadingStatusChange(imageLoadingStatus);\n }\n }, [imageLoadingStatus, handleLoadingStatusChange]);\n return imageLoadingStatus === \"loaded\" ? /* @__PURE__ */ jsx(Primitive.img, { ...imageProps, ref: forwardedRef, src }) : null;\n }, \"AvatarImage\")\n);\nvar FALLBACK_NAME = \"AvatarFallback\";\nvar AvatarFallback = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function AvatarFallback2(props, forwardedRef) {\n const { __scopeAvatar, delayMs, ...fallbackProps } = props;\n const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);\n const [canRender, setCanRender] = React.useState(delayMs === void 0);\n React.useEffect(() => {\n if (delayMs !== void 0) {\n const timerId = window.setTimeout(() => setCanRender(true), delayMs);\n return () => window.clearTimeout(timerId);\n }\n }, [delayMs]);\n return canRender && context.imageLoadingStatus !== \"loaded\" ? /* @__PURE__ */ jsx(Primitive.span, { ...fallbackProps, ref: forwardedRef }) : null;\n }, \"AvatarFallback\")\n);\nfunction useImageLoadingStatus(src, {\n loadingStatus,\n setLoadingStatus,\n referrerPolicy,\n crossOrigin\n}) {\n useLayoutEffect(() => {\n if (!src) {\n setLoadingStatus(\"error\");\n return;\n }\n const image = new window.Image();\n const handleLoad = /* @__PURE__ */ __name((event) => {\n const image2 = event.currentTarget;\n setLoadingStatus(getImageLoadingStatus(image2));\n }, \"handleLoad\");\n const handleError = /* @__PURE__ */ __name(() => setLoadingStatus(\"error\"), \"handleError\");\n image.addEventListener(\"load\", handleLoad);\n image.addEventListener(\"error\", handleError);\n if (referrerPolicy) {\n image.referrerPolicy = referrerPolicy;\n }\n image.crossOrigin = crossOrigin ?? null;\n image.src = src;\n setLoadingStatus(getImageLoadingStatus(image));\n return () => {\n image.removeEventListener(\"load\", handleLoad);\n image.removeEventListener(\"error\", handleError);\n setLoadingStatus(\"idle\");\n };\n }, [src, crossOrigin, referrerPolicy, setLoadingStatus]);\n return loadingStatus;\n}\n__name(useImageLoadingStatus, \"useImageLoadingStatus\");\nfunction getImageLoadingStatus(image) {\n return image.complete ? image.naturalWidth > 0 ? \"loaded\" : \"error\" : \"loading\";\n}\n__name(getImageLoadingStatus, \"getImageLoadingStatus\");\nfunction useImageCount() {\n let state = STATIC_IMAGE_COUNT_STATE;\n if (IS_DEVELOPMENT) {\n state = React.useState(0);\n const [imageCount] = state;\n const hasWarnedRef = React.useRef(false);\n React.useEffect(() => {\n if (imageCount > 1 && !hasWarnedRef.current) {\n hasWarnedRef.current = true;\n console.warn(\n \"Avatar: Only one `Avatar.Image` component should be rendered per `Avatar.Root`, but multiple were detected. This will lead to unexpected behavior.\"\n );\n }\n }, [imageCount]);\n }\n return state;\n}\n__name(useImageCount, \"useImageCount\");\nfunction useUpdateImageCount(setImageCount) {\n if (IS_DEVELOPMENT) {\n React.useEffect(() => {\n setImageCount((imageCount) => imageCount + 1);\n return () => {\n setImageCount((imageCount) => imageCount - 1);\n };\n }, [setImageCount]);\n }\n}\n__name(useUpdateImageCount, \"useUpdateImageCount\");\nexport {\n Avatar,\n AvatarFallback,\n AvatarImage,\n AvatarFallback as Fallback,\n AvatarImage as Image,\n Avatar as Root,\n createAvatarScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport { Avatar as AvatarPrimitive } from 'radix-ui';\nimport * as React from 'react';\nimport { cn } from '@/helpers/cn';\n\nfunction Avatar({\n className,\n size = 'default',\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: 'default' | 'sm' | 'lg';\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n className={cn(\n 'group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('aspect-square size-full', className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n 'flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n 'absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none',\n 'group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden',\n 'group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2',\n 'group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n 'group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarGroupCount({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n 'relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback, AvatarBadge, AvatarGroup, AvatarGroupCount };\n","/** Up to two initials for an avatar: \"Ada Lovelace\" → \"AL\", \"ada@example.com\" → \"A\". */\nexport const initialsOf = (name: string): string => {\n const words = name\n .replace(/@.*$/, '')\n .split(/[\\s._-]+/)\n .filter(Boolean);\n const initials =\n words.length > 1 ? `${words[0]?.[0] ?? ''}${words.at(-1)?.[0] ?? ''}` : (words[0]?.[0] ?? '?');\n return initials.toUpperCase();\n};\n","import { Avatar, AvatarFallback } from '@/components/ui/avatar';\nimport { initialsOf } from '@/helpers/initials';\n\ntype UserAvatarProps = {\n /** A display name or email; up to two initials are shown. */\n name: string;\n /** sm 24px (dense tables, activity rows), default 32px (user lists). */\n size?: 'sm' | 'default';\n className?: string;\n};\n\n/** A person's initials in a circle. Decorative: the name is always shown beside it. */\nexport const UserAvatar = ({ name, size = 'default', className }: UserAvatarProps) => (\n <Avatar size={size} aria-hidden=\"true\" className={className}>\n <AvatarFallback className=\"text-xs font-semibold group-data-[size=sm]/avatar:text-2xs\">\n {initialsOf(name)}\n </AvatarFallback>\n </Avatar>\n);\n"],"ignoreList":[0],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{dt as r}from"./src-CMor9izq.js";import{$ as i,D as a,O as o,S as s,v as c}from"./auth-BFSvtV59.js";import{n as l,t as u}from"./createLucideIcon-BOsNKleB.js";import{_ as d,a as f,b as p,d as ee,f as m,h,i as te,l as g,m as ne,n as re,o as ie,p as _,r as ae,s as oe,t as se,u as v,v as ce,x as le}from"./es2015-1nJWBurR.js";import{i as y,o as b,t as ue}from"./skeleton-Dk-qdg0z.js";import{t as x}from"./cn-DVhJ55Mo.js";function S(){throw Error(`Invariant failed`)}var C=e(t(),1),w=C.createContext(void 0),de=C.createContext(void 0),T={};function E(e,t){let n=C.useRef();return r=>{let a=e?.select?e.select(r):r;return e?.structuralSharing??t.options.defaultStructuralSharing?n.current=i(n.current,a):a}}function D(e){let t=o(),n=C.useContext(e.from?de:w),r=e.from??n,i=t.stores.getMatchStore(r),s=E(e,t),c=a(i,e=>e?s(e):T);if(c!==T)return c;(e.shouldThrow??!0)&&S()}function fe(e){return D({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}var O={name:`lock`,size:24,node:[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]};O.node;var k=u(O),A={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};A.node;var j=u(A),pe={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};pe.node;var me=u(pe),M=e(n(),1),he=Object.defineProperty,N=(e,t)=>he(e,`name`,{value:t,configurable:!0}),P=`Dialog`,[F,ge]=ne(P),[_e,I]=F(P),L=N(e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=C.useRef(null),c=C.useRef(null),[l,u]=ee({prop:r,defaultProp:i??!1,onChange:a,caller:P}),[d,f]=C.useState(0),[p,m]=C.useState(0);return(0,M.jsx)(_e,{scope:t,triggerRef:s,contentRef:c,contentId:g(),titleId:g(),descriptionId:g(),titlePresent:d>0,descriptionPresent:p>0,setTitleCount:f,setDescriptionCount:m,open:l,onOpenChange:u,onOpenToggle:C.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})},`Dialog`),ve=`DialogTrigger`,R=C.forwardRef(N(function(e,t){let{__scopeDialog:n,...r}=e,i=I(ve,n),a=p(t,i.triggerRef);return(0,M.jsx)(h.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":X(i.open),...r,ref:a,onClick:_(e.onClick,i.onOpenToggle)})},`DialogTrigger`)),z=`DialogPortal`,[ye,B]=F(z,{forceMount:void 0}),V=N(e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=I(z,t);return(0,M.jsx)(ye,{scope:t,forceMount:n,children:C.Children.map(r,e=>(0,M.jsx)(v,{present:n||a.open,children:(0,M.jsx)(te,{asChild:!0,container:i,children:e})}))})},`DialogPortal`),H=`DialogOverlay`,U=C.forwardRef(N(function(e,t){let n=B(H,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=I(H,e.__scopeDialog);return a.modal?(0,M.jsx)(v,{present:r||a.open,children:(0,M.jsx)(xe,{...i,ref:t})}):null},`DialogOverlay`)),be=ce(`DialogOverlay.RemoveScroll`),xe=C.forwardRef(N(function(e,t){let{__scopeDialog:n,...r}=e,i=I(H,n),a=oe(),o=p(t,a);return(0,M.jsx)(re,{as:be,allowPinchZoom:!0,shards:[i.contentRef],children:(0,M.jsx)(h.div,{"data-state":X(i.open),...r,ref:o,style:{pointerEvents:`auto`,...r.style}})})},`DialogOverlayImpl`)),W=`DialogContent`,G=C.forwardRef(N(function(e,t){let n=B(W,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=I(W,e.__scopeDialog);return(0,M.jsx)(v,{present:r||a.open,children:a.modal?(0,M.jsx)(Se,{...i,ref:t}):(0,M.jsx)(Ce,{...i,ref:t})})},`DialogContent`)),Se=C.forwardRef(N(function(e,t){let n=I(W,e.__scopeDialog),r=C.useRef(null),i=p(t,n.contentRef,r);return C.useEffect(()=>{let e=r.current;if(e)return se(e)},[]),(0,M.jsx)(K,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:_(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:_(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:_(e.onFocusOutside,e=>e.preventDefault())})},`DialogContentModal`)),Ce=C.forwardRef(N(function(e,t){let n=I(W,e.__scopeDialog),r=C.useRef(!1),i=C.useRef(!1);return(0,M.jsx)(K,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`DialogContentNonModal`)),K=C.forwardRef(N(function(e,t){let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=I(W,n);return ae(),(0,M.jsx)(M.Fragment,{children:(0,M.jsx)(f,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,M.jsx)(ie,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionPresent?s.descriptionId:void 0,"aria-labelledby":s.titlePresent?s.titleId:void 0,"data-state":X(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})},`DialogContentImpl`)),we=`DialogTitle`,q=C.forwardRef(N(function(e,t){let{__scopeDialog:n,...r}=e,i=I(we,n),{setTitleCount:a}=i;return m(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,M.jsx)(h.h2,{id:i.titleId,...r,ref:t})},`DialogTitle`)),Te=`DialogDescription`,J=C.forwardRef(N(function(e,t){let{__scopeDialog:n,...r}=e,i=I(Te,n),{setDescriptionCount:a}=i;return m(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,M.jsx)(h.p,{id:i.descriptionId,...r,ref:t})},`DialogDescription`)),Ee=`DialogClose`,Y=C.forwardRef(N(function(e,t){let{__scopeDialog:n,...r}=e,i=I(Ee,n);return(0,M.jsx)(h.button,{type:`button`,...r,ref:t,onClick:_(e.onClick,()=>i.onOpenChange(!1))})},`DialogClose`));function X(e){return e?`open`:`closed`}N(X,`getState`);var De=4,Oe=({rows:e=De,className:t})=>{let{t:n}=l();return(0,M.jsxs)(`div`,{role:`status`,"aria-live":`polite`,className:x(`space-y-3`,t),children:[(0,M.jsx)(`span`,{className:`sr-only`,children:n(`common.loading`)}),Array.from({length:e},(e,t)=>(0,M.jsx)(ue,{className:`h-10 w-full`},t))]})},ke=({pending:e,pendingLabel:t,children:n,disabled:i,...a})=>(0,M.jsx)(y,{type:`submit`,disabled:e||i,"aria-busy":e||void 0,...a,children:e?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(r,{className:`animate-spin`,"aria-hidden":`true`}),t]}):n}),Ae=e=>{if(!(e instanceof HTMLElement)||e===document.body)return null;let t=e.closest(`[role="menu"]`),n=t?.id?document.querySelector(`[aria-controls="${CSS.escape(t.id)}"]`):null;return n instanceof HTMLElement?n:e},Z=(e,t)=>{let n=(0,C.useRef)(null);return{onOpenAutoFocus:(0,C.useCallback)(t=>{n.current=Ae(document.activeElement),e?.(t)},[e]),onCloseAutoFocus:(0,C.useCallback)(e=>{t?.(e);let r=n.current;n.current=null,!e.defaultPrevented&&r?.isConnected&&(r.focus({preventScroll:!0}),document.activeElement===r&&e.preventDefault())},[t])}};function je({...e}){return(0,M.jsx)(L,{"data-slot":`sheet`,...e})}function Me({...e}){return(0,M.jsx)(R,{"data-slot":`sheet-trigger`,...e})}function Ne({...e}){return(0,M.jsx)(V,{"data-slot":`sheet-portal`,...e})}function Pe({className:e,...t}){return(0,M.jsx)(U,{"data-slot":`sheet-overlay`,className:x(`fixed inset-0 z-50 bg-overlay/40 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}var Fe=b(`fixed z-50 flex flex-col gap-0 bg-card shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500`,{variants:{side:{right:`inset-y-0 right-0 h-full w-full border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right`,left:`inset-y-0 left-0 h-full w-full border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left`,top:`inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`,bottom:`inset-x-0 bottom-0 h-auto max-h-[85dvh] rounded-t-xl border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom`},size:{xs:``,sm:``,md:``,lg:``}},compoundVariants:[{side:[`left`,`right`],size:`xs`,className:`sm:max-w-90`},{side:[`left`,`right`],size:`sm`,className:`sm:max-w-100`},{side:[`left`,`right`],size:`md`,className:`sm:max-w-140`},{side:[`left`,`right`],size:`lg`,className:`sm:max-w-180`}],defaultVariants:{side:`right`,size:`sm`}});function Ie({className:e,children:t,side:n=`right`,size:r=`sm`,showCloseButton:i=!0,nonModal:a=!1,onOpenAutoFocus:o,onCloseAutoFocus:s,onInteractOutside:c,...u}){let d=Z(o,s),{t:f}=l();return(0,M.jsxs)(Ne,{children:[a?null:(0,M.jsx)(Pe,{}),(0,M.jsxs)(G,{"data-slot":`sheet-content`,"data-size":r,"data-non-modal":a||void 0,className:x(Fe({side:n,size:r}),a&&`z-30 shadow-none`,e),onInteractOutside:e=>{a&&e.preventDefault(),c?.(e)},...u,...d,children:[t,i&&(0,M.jsx)(Y,{asChild:!0,children:(0,M.jsxs)(y,{variant:`ghost`,size:`icon-sm`,className:`absolute top-4 right-4 text-muted-foreground`,children:[(0,M.jsx)(me,{"aria-hidden":`true`}),(0,M.jsx)(`span`,{className:`sr-only`,children:f(`common.close`)})]})})]})]})}function Le({className:e,...t}){return(0,M.jsx)(`div`,{"data-slot":`sheet-header`,className:x(`flex flex-col gap-1.5 px-6 pt-6 pb-4`,e),...t})}function Re({className:e,...t}){return(0,M.jsx)(`div`,{"data-slot":`sheet-body`,className:x(`min-h-0 flex-1 overflow-y-auto px-6 pb-6`,e),...t})}function ze({className:e,...t}){return(0,M.jsx)(`div`,{"data-slot":`sheet-footer`,className:x(`mt-auto flex flex-wrap items-center justify-end gap-2 border-t bg-muted/40 px-6 py-4`,e),...t})}function Be({className:e,...t}){return(0,M.jsx)(q,{"data-slot":`sheet-title`,className:x(`text-lg leading-tight font-semibold tracking-tight text-foreground`,e),...t})}function Ve({className:e,...t}){return(0,M.jsx)(J,{"data-slot":`sheet-description`,className:x(`text-sm text-muted-foreground`,e),...t})}var He=b(`flex shrink-0 items-center justify-center rounded-lg`,{variants:{size:{sm:`size-8 [&_svg]:size-4`,md:`size-9 [&_svg]:size-[18px]`,lg:`size-10 [&_svg]:size-5`},tone:{accent:`bg-muted text-primary dark:text-accent-foreground`,muted:`bg-muted text-muted-foreground`,success:`bg-success-muted text-success`,warning:`bg-warning-muted text-warning`,danger:`bg-destructive-muted text-destructive`}},defaultVariants:{size:`md`,tone:`accent`}}),Q=({icon:e,size:t,tone:n,className:r})=>(0,M.jsx)(`span`,{"aria-hidden":`true`,className:x(He({size:t,tone:n}),r),children:(0,M.jsx)(e,{})}),Ue=b(`flex flex-col items-center justify-center gap-3 px-6 text-center`,{variants:{size:{panel:`py-10`,page:`rounded-xl border bg-card py-16`}},defaultVariants:{size:`page`}}),$=({title:e,description:t,icon:n,action:r,size:i,compact:a,className:o})=>a?(0,M.jsxs)(`div`,{className:x(`flex items-center gap-3 px-5 py-3 text-left`,o),children:[n?(0,M.jsx)(Q,{icon:n,size:`sm`}):null,(0,M.jsxs)(`p`,{className:`min-w-0 flex-1 text-sm`,children:[(0,M.jsx)(`span`,{className:`font-semibold`,children:e}),t?(0,M.jsxs)(`span`,{className:`text-muted-foreground`,children:[` `,t]}):null]}),r]}):(0,M.jsxs)(`div`,{className:x(Ue({size:i}),o),children:[n?(0,M.jsx)(Q,{icon:n,size:`lg`}):null,(0,M.jsxs)(`div`,{className:`space-y-1`,children:[(0,M.jsx)(`p`,{className:`text-base font-semibold`,children:e}),t?(0,M.jsx)(`p`,{className:`max-w-md text-sm text-muted-foreground`,children:t}):null]}),r]}),We=b(`mx-auto w-full min-w-0 space-y-6`,{variants:{width:{full:``,default:`max-w-6xl`,narrow:`max-w-3xl`}},defaultVariants:{width:`default`}}),Ge=({width:e,className:t,children:n})=>(0,M.jsx)(`div`,{"data-slot":`page`,className:x(We({width:e}),t),children:n}),Ke=({title:e,breadcrumb:t,badge:n,meta:r,actions:i,tabs:a,sticky:o=!1,className:c})=>{let{t:u}=l();return(0,M.jsxs)(`header`,{"data-slot":`page-header`,className:x(`space-y-4`,o&&`sticky top-12 z-20 -mx-4 border-b bg-background/95 px-4 py-3 backdrop-blur supports-[backdrop-filter]:bg-background/80 sm:-mx-8 sm:px-8 lg:top-0`,c),children:[(0,M.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-x-4 gap-y-3`,children:[(0,M.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[t&&t.length>0?(0,M.jsx)(`nav`,{"aria-label":u(`common.breadcrumb`),children:(0,M.jsx)(`ol`,{className:`flex flex-wrap items-center gap-1.5 text-meta font-medium text-muted-foreground`,children:t.map((e,t)=>(0,M.jsxs)(C.Fragment,{children:[t>0?(0,M.jsx)(`li`,{"aria-hidden":`true`,className:`text-muted-foreground/70`,children:`/`}):null,(0,M.jsx)(`li`,{className:`min-w-0 truncate`,children:e.link?(0,M.jsx)(s,{...e.link,className:`rounded-sm outline-none hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:e.label}):e.label})]},`${e.label}-${t}`))})}):null,(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,M.jsx)(`h1`,{className:`min-w-0 text-title break-words`,children:e}),n]}),r?(0,M.jsx)(`div`,{className:`text-meta text-muted-foreground`,children:r}):null]}),i?(0,M.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:i}):null]}),a]})},qe=({error:e,onRetry:t,size:n=`page`,className:r})=>{let{t:i}=l();return c(e)?(0,M.jsx)($,{icon:k,title:i(`errors.forbidden`),description:i(`errors.forbiddenDescription`),size:n,className:r}):(0,M.jsx)(`div`,{role:`alert`,children:(0,M.jsx)($,{icon:j,title:i(`errors.loadFailed`),description:le(e),action:t?(0,M.jsx)(y,{variant:`outline`,onClick:t,children:i(`common.retry`)}):void 0,size:n,className:r})})},Je=b(`inline-flex w-fit shrink-0 items-center gap-1.5 rounded-full font-semibold whitespace-nowrap`,{variants:{tone:{neutral:`bg-muted text-foreground`,progress:`bg-muted text-muted-foreground`,scheduled:`bg-info-muted text-info`,success:`bg-success-muted text-success`,warning:`bg-warning-muted text-warning`,danger:`bg-destructive-muted text-destructive`,muted:`border text-muted-foreground`},size:{default:`h-6 px-2.5 text-xs`,sm:`h-5 px-2 text-2xs`}},defaultVariants:{tone:`neutral`,size:`default`}}),Ye={neutral:`bg-muted-foreground`,progress:`bg-muted-foreground`,scheduled:`bg-info`,success:`bg-success`,warning:`bg-warning`,danger:`bg-destructive`,muted:`border border-muted-foreground`},Xe=({tone:e,label:t,live:n=!0,size:i,className:a})=>(0,M.jsxs)(`span`,{"data-slot":`status-chip`,"data-tone":e,className:x(Je({tone:e,size:i}),a),children:[e===`progress`&&n?(0,M.jsx)(r,{"aria-hidden":`true`,className:`size-3 animate-spin motion-reduce:animate-none`}):(0,M.jsx)(`span`,{"aria-hidden":`true`,className:x(`size-1.5 shrink-0 rounded-full`,Ye[e])}),t]}),Ze=b(`inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-semibold whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3`,{variants:{variant:{secondary:`bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,outline:`border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`secondary`}});function Qe({className:e,variant:t=`secondary`,asChild:n=!1,...r}){let i=n?d:`span`;return(0,M.jsx)(i,{"data-slot":`badge`,"data-variant":t,className:x(Ze({variant:t}),e),...r})}export{k as A,U as C,ge as D,R as E,S as F,D as M,E as N,me as O,w as P,J as S,q as T,ke as _,Ge as a,Y as b,je as c,Ve as d,ze as f,Z as g,Me as h,Ke as i,fe as j,j as k,Re as l,Be as m,Xe as n,$ as o,Le as p,qe as r,Q as s,Qe as t,Ie as u,Oe as v,V as w,G as x,L as y};
|
|
2
|
-
//# sourceMappingURL=badge-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{dt as r}from"./src-CMor9izq.js";import{$ as i,D as a,O as o,S as s,v as c}from"./auth-BFSvtV59.js";import{n as l,t as u}from"./createLucideIcon-BOsNKleB.js";import{_ as d,a as f,b as p,d as ee,f as m,h,i as te,l as g,m as ne,n as re,o as ie,p as _,r as ae,s as oe,t as se,u as v,v as ce,x as le}from"./es2015-Cv57ynE1.js";import{i as y,o as b,t as ue}from"./skeleton-CiX26LnL.js";import{t as x}from"./cn-DVhJ55Mo.js";function S(){throw Error(`Invariant failed`)}var C=e(t(),1),w=C.createContext(void 0),de=C.createContext(void 0),T={};function E(e,t){let n=C.useRef();return r=>{let a=e?.select?e.select(r):r;return e?.structuralSharing??t.options.defaultStructuralSharing?n.current=i(n.current,a):a}}function D(e){let t=o(),n=C.useContext(e.from?de:w),r=e.from??n,i=t.stores.getMatchStore(r),s=E(e,t),c=a(i,e=>e?s(e):T);if(c!==T)return c;(e.shouldThrow??!0)&&S()}function fe(e){return D({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}var O={name:`lock`,size:24,node:[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]};O.node;var k=u(O),A={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};A.node;var j=u(A),pe={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};pe.node;var me=u(pe),M=e(n(),1),he=Object.defineProperty,N=(e,t)=>he(e,`name`,{value:t,configurable:!0}),P=`Dialog`,[F,ge]=ne(P),[_e,I]=F(P),L=N(e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=C.useRef(null),c=C.useRef(null),[l,u]=ee({prop:r,defaultProp:i??!1,onChange:a,caller:P}),[d,f]=C.useState(0),[p,m]=C.useState(0);return(0,M.jsx)(_e,{scope:t,triggerRef:s,contentRef:c,contentId:g(),titleId:g(),descriptionId:g(),titlePresent:d>0,descriptionPresent:p>0,setTitleCount:f,setDescriptionCount:m,open:l,onOpenChange:u,onOpenToggle:C.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})},`Dialog`),ve=`DialogTrigger`,R=C.forwardRef(N(function(e,t){let{__scopeDialog:n,...r}=e,i=I(ve,n),a=p(t,i.triggerRef);return(0,M.jsx)(h.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":X(i.open),...r,ref:a,onClick:_(e.onClick,i.onOpenToggle)})},`DialogTrigger`)),z=`DialogPortal`,[ye,B]=F(z,{forceMount:void 0}),V=N(e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=I(z,t);return(0,M.jsx)(ye,{scope:t,forceMount:n,children:C.Children.map(r,e=>(0,M.jsx)(v,{present:n||a.open,children:(0,M.jsx)(te,{asChild:!0,container:i,children:e})}))})},`DialogPortal`),H=`DialogOverlay`,U=C.forwardRef(N(function(e,t){let n=B(H,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=I(H,e.__scopeDialog);return a.modal?(0,M.jsx)(v,{present:r||a.open,children:(0,M.jsx)(xe,{...i,ref:t})}):null},`DialogOverlay`)),be=ce(`DialogOverlay.RemoveScroll`),xe=C.forwardRef(N(function(e,t){let{__scopeDialog:n,...r}=e,i=I(H,n),a=oe(),o=p(t,a);return(0,M.jsx)(re,{as:be,allowPinchZoom:!0,shards:[i.contentRef],children:(0,M.jsx)(h.div,{"data-state":X(i.open),...r,ref:o,style:{pointerEvents:`auto`,...r.style}})})},`DialogOverlayImpl`)),W=`DialogContent`,G=C.forwardRef(N(function(e,t){let n=B(W,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=I(W,e.__scopeDialog);return(0,M.jsx)(v,{present:r||a.open,children:a.modal?(0,M.jsx)(Se,{...i,ref:t}):(0,M.jsx)(Ce,{...i,ref:t})})},`DialogContent`)),Se=C.forwardRef(N(function(e,t){let n=I(W,e.__scopeDialog),r=C.useRef(null),i=p(t,n.contentRef,r);return C.useEffect(()=>{let e=r.current;if(e)return se(e)},[]),(0,M.jsx)(K,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:_(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:_(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:_(e.onFocusOutside,e=>e.preventDefault())})},`DialogContentModal`)),Ce=C.forwardRef(N(function(e,t){let n=I(W,e.__scopeDialog),r=C.useRef(!1),i=C.useRef(!1);return(0,M.jsx)(K,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`DialogContentNonModal`)),K=C.forwardRef(N(function(e,t){let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=I(W,n);return ae(),(0,M.jsx)(M.Fragment,{children:(0,M.jsx)(f,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,M.jsx)(ie,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionPresent?s.descriptionId:void 0,"aria-labelledby":s.titlePresent?s.titleId:void 0,"data-state":X(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})},`DialogContentImpl`)),we=`DialogTitle`,q=C.forwardRef(N(function(e,t){let{__scopeDialog:n,...r}=e,i=I(we,n),{setTitleCount:a}=i;return m(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,M.jsx)(h.h2,{id:i.titleId,...r,ref:t})},`DialogTitle`)),Te=`DialogDescription`,J=C.forwardRef(N(function(e,t){let{__scopeDialog:n,...r}=e,i=I(Te,n),{setDescriptionCount:a}=i;return m(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,M.jsx)(h.p,{id:i.descriptionId,...r,ref:t})},`DialogDescription`)),Ee=`DialogClose`,Y=C.forwardRef(N(function(e,t){let{__scopeDialog:n,...r}=e,i=I(Ee,n);return(0,M.jsx)(h.button,{type:`button`,...r,ref:t,onClick:_(e.onClick,()=>i.onOpenChange(!1))})},`DialogClose`));function X(e){return e?`open`:`closed`}N(X,`getState`);var De=4,Oe=({rows:e=De,className:t})=>{let{t:n}=l();return(0,M.jsxs)(`div`,{role:`status`,"aria-live":`polite`,className:x(`space-y-3`,t),children:[(0,M.jsx)(`span`,{className:`sr-only`,children:n(`common.loading`)}),Array.from({length:e},(e,t)=>(0,M.jsx)(ue,{className:`h-10 w-full`},t))]})},ke=({pending:e,pendingLabel:t,children:n,disabled:i,...a})=>(0,M.jsx)(y,{type:`submit`,disabled:e||i,"aria-busy":e||void 0,...a,children:e?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(r,{className:`animate-spin`,"aria-hidden":`true`}),t]}):n}),Ae=e=>{if(!(e instanceof HTMLElement)||e===document.body)return null;let t=e.closest(`[role="menu"]`),n=t?.id?document.querySelector(`[aria-controls="${CSS.escape(t.id)}"]`):null;return n instanceof HTMLElement?n:e},Z=(e,t)=>{let n=(0,C.useRef)(null);return{onOpenAutoFocus:(0,C.useCallback)(t=>{n.current=Ae(document.activeElement),e?.(t)},[e]),onCloseAutoFocus:(0,C.useCallback)(e=>{t?.(e);let r=n.current;n.current=null,!e.defaultPrevented&&r?.isConnected&&(r.focus({preventScroll:!0}),document.activeElement===r&&e.preventDefault())},[t])}};function je({...e}){return(0,M.jsx)(L,{"data-slot":`sheet`,...e})}function Me({...e}){return(0,M.jsx)(R,{"data-slot":`sheet-trigger`,...e})}function Ne({...e}){return(0,M.jsx)(V,{"data-slot":`sheet-portal`,...e})}function Pe({className:e,...t}){return(0,M.jsx)(U,{"data-slot":`sheet-overlay`,className:x(`fixed inset-0 z-50 bg-overlay/40 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}var Fe=b(`fixed z-50 flex flex-col gap-0 bg-card shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500`,{variants:{side:{right:`inset-y-0 right-0 h-full w-full border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right`,left:`inset-y-0 left-0 h-full w-full border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left`,top:`inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`,bottom:`inset-x-0 bottom-0 h-auto max-h-[85dvh] rounded-t-xl border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom`},size:{xs:``,sm:``,md:``,lg:``}},compoundVariants:[{side:[`left`,`right`],size:`xs`,className:`sm:max-w-90`},{side:[`left`,`right`],size:`sm`,className:`sm:max-w-100`},{side:[`left`,`right`],size:`md`,className:`sm:max-w-140`},{side:[`left`,`right`],size:`lg`,className:`sm:max-w-180`}],defaultVariants:{side:`right`,size:`sm`}});function Ie({className:e,children:t,side:n=`right`,size:r=`sm`,showCloseButton:i=!0,nonModal:a=!1,onOpenAutoFocus:o,onCloseAutoFocus:s,onInteractOutside:c,...u}){let d=Z(o,s),{t:f}=l();return(0,M.jsxs)(Ne,{children:[a?null:(0,M.jsx)(Pe,{}),(0,M.jsxs)(G,{"data-slot":`sheet-content`,"data-size":r,"data-non-modal":a||void 0,className:x(Fe({side:n,size:r}),a&&`z-30 shadow-none`,e),onInteractOutside:e=>{a&&e.preventDefault(),c?.(e)},...u,...d,children:[t,i&&(0,M.jsx)(Y,{asChild:!0,children:(0,M.jsxs)(y,{variant:`ghost`,size:`icon-sm`,className:`absolute top-4 right-4 text-muted-foreground`,children:[(0,M.jsx)(me,{"aria-hidden":`true`}),(0,M.jsx)(`span`,{className:`sr-only`,children:f(`common.close`)})]})})]})]})}function Le({className:e,...t}){return(0,M.jsx)(`div`,{"data-slot":`sheet-header`,className:x(`flex flex-col gap-1.5 px-6 pt-6 pb-4`,e),...t})}function Re({className:e,...t}){return(0,M.jsx)(`div`,{"data-slot":`sheet-body`,className:x(`min-h-0 flex-1 overflow-y-auto px-6 pb-6`,e),...t})}function ze({className:e,...t}){return(0,M.jsx)(`div`,{"data-slot":`sheet-footer`,className:x(`mt-auto flex flex-wrap items-center justify-end gap-2 border-t bg-muted/40 px-6 py-4`,e),...t})}function Be({className:e,...t}){return(0,M.jsx)(q,{"data-slot":`sheet-title`,className:x(`text-lg leading-tight font-semibold tracking-tight text-foreground`,e),...t})}function Ve({className:e,...t}){return(0,M.jsx)(J,{"data-slot":`sheet-description`,className:x(`text-sm text-muted-foreground`,e),...t})}var He=b(`flex shrink-0 items-center justify-center rounded-lg`,{variants:{size:{sm:`size-8 [&_svg]:size-4`,md:`size-9 [&_svg]:size-[18px]`,lg:`size-10 [&_svg]:size-5`},tone:{accent:`bg-muted text-primary dark:text-accent-foreground`,muted:`bg-muted text-muted-foreground`,success:`bg-success-muted text-success`,warning:`bg-warning-muted text-warning`,danger:`bg-destructive-muted text-destructive`}},defaultVariants:{size:`md`,tone:`accent`}}),Q=({icon:e,size:t,tone:n,className:r})=>(0,M.jsx)(`span`,{"aria-hidden":`true`,className:x(He({size:t,tone:n}),r),children:(0,M.jsx)(e,{})}),Ue=b(`flex flex-col items-center justify-center gap-3 px-6 text-center`,{variants:{size:{panel:`py-10`,page:`rounded-xl border bg-card py-16`}},defaultVariants:{size:`page`}}),$=({title:e,description:t,icon:n,action:r,size:i,compact:a,className:o})=>a?(0,M.jsxs)(`div`,{className:x(`flex items-center gap-3 px-5 py-3 text-left`,o),children:[n?(0,M.jsx)(Q,{icon:n,size:`sm`}):null,(0,M.jsxs)(`p`,{className:`min-w-0 flex-1 text-sm`,children:[(0,M.jsx)(`span`,{className:`font-semibold`,children:e}),t?(0,M.jsxs)(`span`,{className:`text-muted-foreground`,children:[` `,t]}):null]}),r]}):(0,M.jsxs)(`div`,{className:x(Ue({size:i}),o),children:[n?(0,M.jsx)(Q,{icon:n,size:`lg`}):null,(0,M.jsxs)(`div`,{className:`space-y-1`,children:[(0,M.jsx)(`p`,{className:`text-base font-semibold`,children:e}),t?(0,M.jsx)(`p`,{className:`max-w-md text-sm text-muted-foreground`,children:t}):null]}),r]}),We=b(`mx-auto w-full min-w-0 space-y-6`,{variants:{width:{full:``,default:`max-w-6xl`,narrow:`max-w-3xl`}},defaultVariants:{width:`default`}}),Ge=({width:e,className:t,children:n})=>(0,M.jsx)(`div`,{"data-slot":`page`,className:x(We({width:e}),t),children:n}),Ke=({title:e,breadcrumb:t,badge:n,meta:r,actions:i,tabs:a,sticky:o=!1,className:c})=>{let{t:u}=l();return(0,M.jsxs)(`header`,{"data-slot":`page-header`,className:x(`space-y-4`,o&&`sticky top-12 z-20 -mx-4 border-b bg-background/95 px-4 py-3 backdrop-blur supports-[backdrop-filter]:bg-background/80 sm:-mx-8 sm:px-8 lg:top-0`,c),children:[(0,M.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-x-4 gap-y-3`,children:[(0,M.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[t&&t.length>0?(0,M.jsx)(`nav`,{"aria-label":u(`common.breadcrumb`),children:(0,M.jsx)(`ol`,{className:`flex flex-wrap items-center gap-1.5 text-meta font-medium text-muted-foreground`,children:t.map((e,t)=>(0,M.jsxs)(C.Fragment,{children:[t>0?(0,M.jsx)(`li`,{"aria-hidden":`true`,className:`text-muted-foreground/70`,children:`/`}):null,(0,M.jsx)(`li`,{className:`min-w-0 truncate`,children:e.link?(0,M.jsx)(s,{...e.link,className:`rounded-sm outline-none hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:e.label}):e.label})]},`${e.label}-${t}`))})}):null,(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,M.jsx)(`h1`,{className:`min-w-0 text-title break-words`,children:e}),n]}),r?(0,M.jsx)(`div`,{className:`text-meta text-muted-foreground`,children:r}):null]}),i?(0,M.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:i}):null]}),a]})},qe=({error:e,onRetry:t,size:n=`page`,className:r})=>{let{t:i}=l();return c(e)?(0,M.jsx)($,{icon:k,title:i(`errors.forbidden`),description:i(`errors.forbiddenDescription`),size:n,className:r}):(0,M.jsx)(`div`,{role:`alert`,children:(0,M.jsx)($,{icon:j,title:i(`errors.loadFailed`),description:le(e),action:t?(0,M.jsx)(y,{variant:`outline`,onClick:t,children:i(`common.retry`)}):void 0,size:n,className:r})})},Je=b(`inline-flex w-fit shrink-0 items-center gap-1.5 rounded-full font-semibold whitespace-nowrap`,{variants:{tone:{neutral:`bg-muted text-foreground`,progress:`bg-muted text-muted-foreground`,scheduled:`bg-info-muted text-info`,success:`bg-success-muted text-success`,warning:`bg-warning-muted text-warning`,danger:`bg-destructive-muted text-destructive`,muted:`border text-muted-foreground`},size:{default:`h-6 px-2.5 text-xs`,sm:`h-5 px-2 text-2xs`}},defaultVariants:{tone:`neutral`,size:`default`}}),Ye={neutral:`bg-muted-foreground`,progress:`bg-muted-foreground`,scheduled:`bg-info`,success:`bg-success`,warning:`bg-warning`,danger:`bg-destructive`,muted:`border border-muted-foreground`},Xe=({tone:e,label:t,live:n=!0,size:i,className:a})=>(0,M.jsxs)(`span`,{"data-slot":`status-chip`,"data-tone":e,className:x(Je({tone:e,size:i}),a),children:[e===`progress`&&n?(0,M.jsx)(r,{"aria-hidden":`true`,className:`size-3 animate-spin motion-reduce:animate-none`}):(0,M.jsx)(`span`,{"aria-hidden":`true`,className:x(`size-1.5 shrink-0 rounded-full`,Ye[e])}),t]}),Ze=b(`inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-semibold whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3`,{variants:{variant:{secondary:`bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,outline:`border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`secondary`}});function Qe({className:e,variant:t=`secondary`,asChild:n=!1,...r}){let i=n?d:`span`;return(0,M.jsx)(i,{"data-slot":`badge`,"data-variant":t,className:x(Ze({variant:t}),e),...r})}export{k as A,U as C,ge as D,R as E,S as F,D as M,E as N,me as O,w as P,J as S,q as T,ke as _,Ge as a,Y as b,je as c,Ve as d,ze as f,Z as g,Me as h,Ke as i,fe as j,j as k,Re as l,Be as m,Xe as n,$ as o,Le as p,qe as r,Q as s,Qe as t,Ie as u,Oe as v,V as w,G as x,L as y};
|
|
2
|
+
//# sourceMappingURL=badge-DGqA_yr_.js.map
|