@famalabs/web-ui 1.0.0-beta.3 → 1.0.0-beta.31

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.
Files changed (78) hide show
  1. package/dist/components/auth/AuthSuccess.d.ts +2 -2
  2. package/dist/components/auth/AuthSuccess.js +1 -1
  3. package/dist/components/auth/PasswordField.js +1 -1
  4. package/dist/components/common/MainDiv.d.ts +2 -1
  5. package/dist/components/common/MainDiv.js +1 -1
  6. package/dist/components/common/MenuItems.d.ts +7 -6
  7. package/dist/components/common/MenuItems.js +1 -1
  8. package/dist/components/forms/AiEditingContext.d.ts +31 -7
  9. package/dist/components/forms/AiEditingContext.js +1 -1
  10. package/dist/components/forms/AiUtils.js +1 -1
  11. package/dist/components/forms/AutocompleteField.js +1 -1
  12. package/dist/components/forms/DateField.d.ts +1 -0
  13. package/dist/components/forms/DateField.js +1 -1
  14. package/dist/components/forms/InputField.js +1 -1
  15. package/dist/components/forms/RichTextEditor/AiMenuItems.js +1 -0
  16. package/dist/components/forms/RichTextEditor/FormattingToolbar.d.ts +3 -1
  17. package/dist/components/forms/RichTextEditor/FormattingToolbar.js +1 -1
  18. package/dist/components/forms/RichTextEditor/RichTextEditor.d.ts +21 -11
  19. package/dist/components/forms/RichTextEditor/RichTextEditor.js +1 -1
  20. package/dist/components/forms/RichTextField.d.ts +1 -0
  21. package/dist/components/forms/RichTextField.js +1 -1
  22. package/dist/components/forms/SelectField.js +1 -1
  23. package/dist/components/forms/TimeField.d.ts +1 -0
  24. package/dist/components/forms/TimeField.js +1 -1
  25. package/dist/components/sidebar/SidebarFooter.d.ts +7 -3
  26. package/dist/components/sidebar/SidebarFooter.js +1 -1
  27. package/dist/components/sidebar/SidebarLayout.d.ts +10 -6
  28. package/dist/components/sidebar/SidebarLayout.js +1 -1
  29. package/dist/components/snackbar/Notifier/Notifier.d.ts +1 -2
  30. package/dist/components/snackbar/Notifier/Notifier.js +1 -1
  31. package/dist/components/tables/CardsTable/CardsTable.d.ts +6 -0
  32. package/dist/components/tables/CardsTable/CardsTable.js +1 -0
  33. package/dist/components/tables/CardsTable/CardsTableBody.js +1 -0
  34. package/dist/components/tables/CardsTable/CardsTableFooter.js +1 -0
  35. package/dist/components/tables/{CardsGrid/DynamicCardsTypes.d.ts → CardsTable/CardsTableTypes.d.ts} +11 -20
  36. package/dist/components/tables/RealtimeTable/RealTimeTableBody.js +1 -1
  37. package/dist/components/tables/RealtimeTable/RealTimeTableFooter.js +1 -1
  38. package/dist/components/tables/RealtimeTable/RealtimeTable.d.ts +1 -1
  39. package/dist/components/tables/RealtimeTable/RealtimeTable.js +1 -1
  40. package/dist/components/tables/RealtimeTable/RealtimeTableTypes.d.ts +31 -13
  41. package/dist/components/tables/StaticTable/StaticFiltersUlts.js +1 -0
  42. package/dist/components/tables/StaticTable/StaticTable.d.ts +6 -0
  43. package/dist/components/tables/StaticTable/StaticTable.js +1 -0
  44. package/dist/components/tables/StaticTable/StaticTableBody.js +1 -0
  45. package/dist/components/tables/StaticTable/StaticTableFooter.js +1 -0
  46. package/dist/components/tables/StaticTable/StaticTableTypes.d.ts +15 -0
  47. package/dist/components/tables/TableCells/ActionCell.d.ts +2 -2
  48. package/dist/components/tables/TableCells/ActionCell.js +1 -1
  49. package/dist/components/tables/TableCells/AvatarCell.d.ts +2 -2
  50. package/dist/components/tables/TableCells/AvatarCell.js +1 -1
  51. package/dist/components/tables/TableCells/SelectCell.d.ts +1 -0
  52. package/dist/components/tables/TableCells/SelectCell.js +1 -1
  53. package/dist/components/tables/TableComponents/TableActionHeader.js +1 -1
  54. package/dist/components/tables/TableComponents/TableCommonBody.js +1 -1
  55. package/dist/components/tables/TableComponents/TableFilterComponents.js +1 -1
  56. package/dist/components/tables/TableComponents/TableFilterHeader.js +1 -1
  57. package/dist/components/tables/TableComponents/TableFunctions.d.ts +7 -0
  58. package/dist/components/tables/TableComponents/TableFunctions.js +1 -0
  59. package/dist/components/tables/TableComponents/TableLocales.js +1 -1
  60. package/dist/components/tables/TableComponents/TableTypes.d.ts +71 -79
  61. package/dist/components/theme/ThemeLoader/Loader.d.ts +4 -4
  62. package/dist/components/theme/ThemeLoader/Loader.js +1 -1
  63. package/dist/index.d.ts +10 -11
  64. package/dist/index.js +1 -1
  65. package/package.json +18 -12
  66. package/dist/components/tables/CardsGrid/CardsBodyCreator.js +0 -1
  67. package/dist/components/tables/CardsGrid/DynamcCardsFooter.js +0 -1
  68. package/dist/components/tables/CardsGrid/DynamicCardsTable.d.ts +0 -6
  69. package/dist/components/tables/CardsGrid/DynamicCardsTable.js +0 -1
  70. package/dist/components/tables/LegacyTable/LegacyTable.d.ts +0 -6
  71. package/dist/components/tables/LegacyTable/LegacyTable.js +0 -1
  72. package/dist/components/tables/LegacyTable/LegacyTableFooter.js +0 -1
  73. package/dist/components/tables/TableCells/ImageCell.d.ts +0 -7
  74. package/dist/components/tables/TableCells/ImageCell.js +0 -1
  75. package/dist/components/tables/TableCells/LinkCell.d.ts +0 -8
  76. package/dist/components/tables/TableCells/LinkCell.js +0 -1
  77. package/dist/components/tables/TableCells/StatusCell.d.ts +0 -11
  78. package/dist/components/tables/TableCells/StatusCell.js +0 -1
@@ -1,11 +1,11 @@
1
- import React from 'react';
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
 
3
3
  interface AuthSuccessProps {
4
4
  error?: string;
5
5
  success?: string;
6
6
  title?: string;
7
7
  }
8
- declare const AuthSuccess: React.FC<AuthSuccessProps>;
8
+ declare const AuthSuccess: ({ error, title, success, }: AuthSuccessProps) => react_jsx_runtime.JSX.Element;
9
9
 
10
10
  export { AuthSuccess };
11
11
  export type { AuthSuccessProps };
@@ -1 +1 @@
1
- import{c as r}from"react/compiler-runtime";import e from"@mui/material/Avatar";import o from"@mui/material/Box";import i from"@mui/material/Typography";import{LockKeyholeIcon as t}from"lucide-react";import"react";import{jsx as n,jsxs as c}from"react/jsx-runtime";const m=m=>{const p=r(17),{error:s,title:d,success:u}=m,f=void 0===d?"Operation Completed":d,h=void 0===u?"Operation completed successfully":u,g=s?"error":h?"success":"primary";let y,x,v,_,b,C,T,z;return p[0]===Symbol.for("react.memo_cache_sentinel")?(y={paddingTop:"40px",marginTop:a,display:"flex",flexDirection:"column",alignItems:"center"},p[0]=y):y=p[0],p[1]!==g?(x={margin:l,backgroundColor:r=>r.palette[g].main},p[1]=g,p[2]=x):x=p[2],p[3]===Symbol.for("react.memo_cache_sentinel")?(v=n(t,{size:20,color:"white"}),p[3]=v):v=p[3],p[4]!==x?(_=n(e,{sx:x,children:v}),p[4]=x,p[5]=_):_=p[5],p[6]!==f?(b=n(i,{component:"h1",variant:"h5",children:f}),p[6]=f,p[7]=b):b=p[7],p[8]!==s?(C=s&&n("p",{style:{color:"red"},children:"Credenziali non corrette, si prega di riprovare"}),p[8]=s,p[9]=C):C=p[9],p[10]!==h?(T=h&&n("p",{style:{color:"green"},children:h}),p[10]=h,p[11]=T):T=p[11],p[12]!==_||p[13]!==b||p[14]!==C||p[15]!==T?(z=c(o,{sx:y,children:[_,b,C,T]}),p[12]=_,p[13]=b,p[14]=C,p[15]=T,p[16]=z):z=p[16],z};function a(r){return r.spacing(8)}function l(r){return r.spacing(1)}export{m as AuthSuccess};
1
+ import{c as r}from"react/compiler-runtime";import e from"@mui/material/Avatar";import o from"@mui/material/Box";import i from"@mui/material/Typography";import{LockKeyholeIcon as t}from"lucide-react";import{jsx as n,jsxs as c}from"react/jsx-runtime";const m=m=>{const p=r(17),{error:s,title:d,success:u}=m,f=void 0===d?"Operation Completed":d,h=void 0===u?"Operation completed successfully":u,g=s?"error":h?"success":"primary";let y,x,v,_,b,C,T,z;return p[0]===Symbol.for("react.memo_cache_sentinel")?(y={paddingTop:"40px",marginTop:a,display:"flex",flexDirection:"column",alignItems:"center"},p[0]=y):y=p[0],p[1]!==g?(x={margin:l,backgroundColor:r=>r.palette[g].main},p[1]=g,p[2]=x):x=p[2],p[3]===Symbol.for("react.memo_cache_sentinel")?(v=n(t,{size:20,color:"white"}),p[3]=v):v=p[3],p[4]!==x?(_=n(e,{sx:x,children:v}),p[4]=x,p[5]=_):_=p[5],p[6]!==f?(b=n(i,{component:"h1",variant:"h5",children:f}),p[6]=f,p[7]=b):b=p[7],p[8]!==s?(C=s&&n("p",{style:{color:"red"},children:"Credenziali non corrette, si prega di riprovare"}),p[8]=s,p[9]=C):C=p[9],p[10]!==h?(T=h&&n("p",{style:{color:"green"},children:h}),p[10]=h,p[11]=T):T=p[11],p[12]!==_||p[13]!==b||p[14]!==C||p[15]!==T?(z=c(o,{sx:y,children:[_,b,C,T]}),p[12]=_,p[13]=b,p[14]=C,p[15]=T,p[16]=z):z=p[16],z};function a(r){return r.spacing(8)}function l(r){return r.spacing(1)}export{m as AuthSuccess};
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import t from"@mui/material/FormLabel";import r from"@mui/material/Grid";import o from"@mui/material/IconButton";import a from"@mui/material/InputAdornment";import{styled as n,useTheme as i}from"@mui/material/styles";import l from"@mui/material/TextField";import m,{tooltipClasses as s}from"@mui/material/Tooltip";import c from"@mui/material/Typography";import{CheckIcon as p,XIcon as d,EyeClosedIcon as u,EyeIcon as f}from"lucide-react";import h from"react";import{jsx as x,jsxs as g}from"react/jsx-runtime";const b=n(({className:e,...t})=>x(m,{...t,classes:{popper:e}}))(({theme:e})=>({[`& .${s.tooltip}`]:{backgroundColor:e.palette.background.paper,color:"rgba(0, 0, 0, 0.87)",boxShadow:e.shadows[1],fontSize:11}})),y=[{regex:/.{8,}/,label:"Almeno 8 caratteri"},{regex:/[a-z]/,label:"Almeno una lettera minuscola"},{regex:/[A-Z]/,label:"Almeno una lettera maiuscola"},{regex:/\d/,label:"Almeno un numero"}],v=n=>{const m=e(57),{title:s,name:v,placeholder:C,variant:_,required:S,requiredText:w,margin:z,size:I,errorText:A,fullWidth:T,showRequirements:j,customIcons:k,sx:W}=n,q=void 0===s?"Password":s,E=void 0===v?"password":v,R=void 0===C?"Inserisci la password":C,$=void 0===_?"outlined":_,O=void 0===S||S,B=void 0===w?"Questo campo è obbligatorio":w,F=void 0===z?"dense":z,L=void 0===I?"medium":I,P=void 0===A?"La password non è conforme":A,X=void 0===T||T,D=void 0===j||j;let G;m[0]!==k?(G=void 0===k?{Eye:f,EyeOff:u,X:d,Check:p}:k,m[0]=k,m[1]=G):G=m[1];const M=G,{Eye:N,EyeOff:Q,X:Z,Check:H}=M,J=i();let K;m[2]===Symbol.for("react.memo_cache_sentinel")?(K=/^(?=.*[a-z])(?=.*\d).{8,}$/,m[2]=K):K=m[2];const U=K,[V,Y]=h.useState(""),[ee,te]=h.useState(!1),[re,oe]=h.useState("");let ae;m[3]!==ee?(ae=()=>{te(!ee)},m[3]=ee,m[4]=ae):ae=m[4];const ne=ae;let ie;m[5]!==H||m[6]!==Z||m[7]!==J?(ie=e=>x(r,{container:!0,direction:"column",sx:{flexWrap:"nowrap",justifyContent:"center",alignItems:"flex-start",p:2,gap:1},children:y.map((t,o)=>g(r,{container:!0,sx:{flexWrap:"nowrap",justifyContent:"center",alignItems:"center",gap:.5},children:[x(r,{container:!0,sx:{justifyContent:"center",alignItems:"center"},children:t.regex.test(e)?x(H,{size:18,style:{color:J.palette.success.main}}):x(Z,{size:18,style:{color:J.palette.error.main}})}),x(r,{container:!0,sx:{justifyContent:"center",alignItems:"center"},children:x(c,{variant:"caption",color:t.regex.test(e)?J.palette.success.main:J.palette.error.main,children:t.label})})]},o))}),m[5]=H,m[6]=Z,m[7]=J,m[8]=ie):ie=m[8];const le=ie,me=h.useRef(null);let se;m[9]!==V?(se=U.test(V),m[9]=V,m[10]=se):se=m[10];const ce=se,pe=D&&V.length>0&&!ce,de=`${q}${O?"*":""}`;let ue,fe;m[11]!==de?(ue=x(t,{children:de}),m[11]=de,m[12]=ue):ue=m[12],m[13]!==le||m[14]!==V?(fe=le(V),m[13]=le,m[14]=V,m[15]=fe):fe=m[15];const he=pe??!1;let xe;m[16]===Symbol.for("react.memo_cache_sentinel")?(xe=()=>me.current?.blur(),m[16]=xe):xe=m[16];const ge=ee?"text":"password",be=!!re;let ye,ve,Ce,_e,Se,we,ze,Ie,Ae,Te,je;return m[17]===Symbol.for("react.memo_cache_sentinel")?(ye=e=>Y(e.target.value),m[17]=ye):ye=m[17],m[18]!==P||m[19]!==O||m[20]!==B?(ve=e=>{!e.target.value&&O?oe(B):U.test(e.target.value)||oe(P)},m[18]=P,m[19]=O,m[20]=B,m[21]=ve):ve=m[21],m[22]===Symbol.for("react.memo_cache_sentinel")?(Ce=()=>oe(""),m[22]=Ce):Ce=m[22],m[23]===Symbol.for("react.memo_cache_sentinel")?(_e={borderRadius:"10px","& fieldset":{borderWidth:"2px"}},m[23]=_e):_e=m[23],m[24]!==W?(Se={...W,"& .MuiOutlinedInput-root":_e},m[24]=W,m[25]=Se):Se=m[25],m[26]===Symbol.for("react.memo_cache_sentinel")?(we={mr:"-5px"},m[26]=we):we=m[26],m[27]!==N||m[28]!==Q||m[29]!==ee||m[30]!==L?(ze=x(ee?Q:N,{size:"small"===L?18:24}),m[27]=N,m[28]=Q,m[29]=ee,m[30]=L,m[31]=ze):ze=m[31],m[32]!==ne||m[33]!==ze?(Ie={input:{endAdornment:x(a,{position:"end",children:x(o,{onClick:ne,edge:"end",size:"small",focusRipple:!1,sx:we,children:ze})})}},m[32]=ne,m[33]=ze,m[34]=Ie):Ie=m[34],m[35]!==X||m[36]!==F||m[37]!==E||m[38]!==V||m[39]!==re||m[40]!==R||m[41]!==O||m[42]!==L||m[43]!==ge||m[44]!==be||m[45]!==ve||m[46]!==Se||m[47]!==Ie||m[48]!==$?(Ae=x(l,{ref:me,fullWidth:X,name:E,type:ge,placeholder:R,variant:$,required:O,margin:F,error:be,helperText:re,value:V,size:L,autoComplete:"off",onChange:ye,onBlur:ve,onChangeCapture:Ce,sx:Se,slotProps:Ie}),m[35]=X,m[36]=F,m[37]=E,m[38]=V,m[39]=re,m[40]=R,m[41]=O,m[42]=L,m[43]=ge,m[44]=be,m[45]=ve,m[46]=Se,m[47]=Ie,m[48]=$,m[49]=Ae):Ae=m[49],m[50]!==fe||m[51]!==he||m[52]!==Ae?(Te=x(b,{title:fe,placement:"bottom-start",open:he,onClose:xe,enterDelay:300,children:Ae}),m[50]=fe,m[51]=he,m[52]=Ae,m[53]=Te):Te=m[53],m[54]!==ue||m[55]!==Te?(je=g(r,{size:12,children:[ue,Te]}),m[54]=ue,m[55]=Te,m[56]=je):je=m[56],je};export{v as PasswordField};
1
+ import{c as e}from"react/compiler-runtime";import t from"@mui/material/FormLabel";import r from"@mui/material/Grid";import o from"@mui/material/IconButton";import a from"@mui/material/InputAdornment";import{styled as i,useTheme as n}from"@mui/material/styles";import l from"@mui/material/TextField";import m,{tooltipClasses as s}from"@mui/material/Tooltip";import c from"@mui/material/Typography";import{CheckIcon as p,XIcon as d,EyeClosedIcon as u,EyeIcon as f}from"lucide-react";import h from"react";import{jsx as x,jsxs as g}from"react/jsx-runtime";const b=i(({className:e,...t})=>x(m,{...t,classes:{popper:e}}))(({theme:e})=>({[`& .${s.tooltip}`]:{backgroundColor:e.palette.background.paper,color:"rgba(0, 0, 0, 0.87)",boxShadow:e.shadows[1],fontSize:11}})),y=[{regex:/.{8,}/,label:"Almeno 8 caratteri"},{regex:/[a-z]/,label:"Almeno una lettera minuscola"},{regex:/[A-Z]/,label:"Almeno una lettera maiuscola"},{regex:/\d/,label:"Almeno un numero"}],v=/^(?=.*[a-z])(?=.*\d).{8,}$/,C=i=>{const m=e(56),{title:s,name:C,placeholder:w,variant:z,required:S,requiredText:_,margin:I,size:A,errorText:T,fullWidth:j,showRequirements:k,customIcons:W,sx:q}=i,E=void 0===s?"Password":s,R=void 0===C?"password":C,$=void 0===w?"Inserisci la password":w,O=void 0===z?"outlined":z,B=void 0===S||S,F=void 0===_?"Questo campo è obbligatorio":_,L=void 0===I?"dense":I,P=void 0===A?"medium":A,X=void 0===T?"La password non è conforme":T,D=void 0===j||j,G=void 0===k||k;let M;m[0]!==W?(M=void 0===W?{Eye:f,EyeOff:u,X:d,Check:p}:W,m[0]=W,m[1]=M):M=m[1];const N=M,{Eye:Q,EyeOff:Z,X:H,Check:J}=N,K=n(),[U,V]=h.useState(""),[Y,ee]=h.useState(!1),[te,re]=h.useState("");let oe;m[2]!==Y?(oe=()=>{ee(!Y)},m[2]=Y,m[3]=oe):oe=m[3];const ae=oe;let ie;m[4]!==J||m[5]!==H||m[6]!==K?(ie=e=>x(r,{container:!0,direction:"column",sx:{flexWrap:"nowrap",justifyContent:"center",alignItems:"flex-start",p:2,gap:1},children:y.map((t,o)=>g(r,{container:!0,sx:{flexWrap:"nowrap",justifyContent:"center",alignItems:"center",gap:.5},children:[x(r,{container:!0,sx:{justifyContent:"center",alignItems:"center"},children:t.regex.test(e)?x(J,{size:18,style:{color:K.palette.success.main}}):x(H,{size:18,style:{color:K.palette.error.main}})}),x(r,{container:!0,sx:{justifyContent:"center",alignItems:"center"},children:x(c,{variant:"caption",color:t.regex.test(e)?K.palette.success.main:K.palette.error.main,children:t.label})})]},o))}),m[4]=J,m[5]=H,m[6]=K,m[7]=ie):ie=m[7];const ne=ie,le=h.useRef(null);let me;m[8]!==U?(me=v.test(U),m[8]=U,m[9]=me):me=m[9];const se=me,ce=G&&U.length>0&&!se,pe=`${E}${B?"*":""}`;let de,ue;m[10]!==pe?(de=x(t,{children:pe}),m[10]=pe,m[11]=de):de=m[11],m[12]!==ne||m[13]!==U?(ue=ne(U),m[12]=ne,m[13]=U,m[14]=ue):ue=m[14];const fe=ce??!1;let he;m[15]===Symbol.for("react.memo_cache_sentinel")?(he=()=>le.current?.blur(),m[15]=he):he=m[15];const xe=Y?"text":"password",ge=!!te;let be,ye,ve,Ce,we,ze,Se,_e,Ie,Ae,Te;return m[16]===Symbol.for("react.memo_cache_sentinel")?(be=e=>V(e.target.value),m[16]=be):be=m[16],m[17]!==X||m[18]!==B||m[19]!==F?(ye=e=>{!e.target.value&&B?re(F):v.test(e.target.value)||re(X)},m[17]=X,m[18]=B,m[19]=F,m[20]=ye):ye=m[20],m[21]===Symbol.for("react.memo_cache_sentinel")?(ve=()=>re(""),m[21]=ve):ve=m[21],m[22]===Symbol.for("react.memo_cache_sentinel")?(Ce={borderRadius:"10px","& fieldset":{borderWidth:"2px"}},m[22]=Ce):Ce=m[22],m[23]!==q?(we={...q,"& .MuiOutlinedInput-root":Ce},m[23]=q,m[24]=we):we=m[24],m[25]===Symbol.for("react.memo_cache_sentinel")?(ze={mr:"-5px"},m[25]=ze):ze=m[25],m[26]!==Q||m[27]!==Z||m[28]!==Y||m[29]!==P?(Se=x(Y?Z:Q,{size:"small"===P?18:24}),m[26]=Q,m[27]=Z,m[28]=Y,m[29]=P,m[30]=Se):Se=m[30],m[31]!==ae||m[32]!==Se?(_e={input:{endAdornment:x(a,{position:"end",children:x(o,{onClick:ae,edge:"end",size:"small",focusRipple:!1,sx:ze,children:Se})})}},m[31]=ae,m[32]=Se,m[33]=_e):_e=m[33],m[34]!==D||m[35]!==L||m[36]!==R||m[37]!==U||m[38]!==te||m[39]!==$||m[40]!==B||m[41]!==P||m[42]!==xe||m[43]!==ge||m[44]!==ye||m[45]!==we||m[46]!==_e||m[47]!==O?(Ie=x(l,{ref:le,fullWidth:D,name:R,type:xe,placeholder:$,variant:O,required:B,margin:L,error:ge,helperText:te,value:U,size:P,autoComplete:"off",onChange:be,onBlur:ye,onChangeCapture:ve,sx:we,slotProps:_e}),m[34]=D,m[35]=L,m[36]=R,m[37]=U,m[38]=te,m[39]=$,m[40]=B,m[41]=P,m[42]=xe,m[43]=ge,m[44]=ye,m[45]=we,m[46]=_e,m[47]=O,m[48]=Ie):Ie=m[48],m[49]!==ue||m[50]!==fe||m[51]!==Ie?(Ae=x(b,{title:ue,placement:"bottom-start",open:fe,onClose:he,enterDelay:300,children:Ie}),m[49]=ue,m[50]=fe,m[51]=Ie,m[52]=Ae):Ae=m[52],m[53]!==de||m[54]!==Ae?(Te=g(r,{size:12,children:[de,Ae]}),m[53]=de,m[54]=Ae,m[55]=Te):Te=m[55],Te};export{C as PasswordField};
@@ -1,10 +1,11 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
1
2
  import React from 'react';
2
3
 
3
4
  interface IProps {
4
5
  appbar?: boolean;
5
6
  children: React.ReactNode;
6
7
  }
7
- declare const MainDiv: React.FC<IProps>;
8
+ declare const MainDiv: ({ children }: IProps) => react_jsx_runtime.JSX.Element;
8
9
 
9
10
  export { MainDiv };
10
11
  export type { IProps };
@@ -1 +1 @@
1
- import{c as r}from"react/compiler-runtime";import"react";import{styled as t}from"@mui/material/styles";import{jsx as e}from"react/jsx-runtime";const o=t("main")(({theme:r})=>({flex:1,height:"100%",overflow:"auto",backgroundColor:r.palette.background.default})),m=t=>{const m=r(2),{children:i}=t;let a;return m[0]!==i?(a=e(o,{children:i}),m[0]=i,m[1]=a):a=m[1],a};export{m as MainDiv};
1
+ import{c as r}from"react/compiler-runtime";import{styled as t}from"@mui/material/styles";import"react";import{jsx as e}from"react/jsx-runtime";const o=t("main")(({theme:r})=>({flex:1,height:"100%",overflow:"auto",backgroundColor:r.palette.background.default})),m=t=>{const m=r(2),{children:i}=t;let a;return m[0]!==i?(a=e(o,{children:i}),m[0]=i,m[1]=a):a=m[1],a};export{m as MainDiv};
@@ -1,19 +1,20 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ListProps } from '@mui/material/List';
3
+ import React from 'react';
3
4
  import { SidebarItem } from '../sidebar/SidebarLayout.js';
4
5
 
5
- type ListType = 'body' | 'footer' | string;
6
6
  interface MenuItemsProps {
7
- displayItems: SidebarItem[];
8
- onSelectItem: (itemID: ListType, title: string, link: string) => void;
9
- onHoverItem?: (itemID: ListType, title: string, link: string) => Promise<void> | void;
7
+ items: SidebarItem[];
8
+ linkComponent?: React.ElementType;
9
+ linkComponentProps?: React.ComponentProps<React.ElementType>;
10
+ onItemSelect: (item: SidebarItem) => void;
11
+ onItemHover?: (item: SidebarItem) => Promise<void> | void;
10
12
  selectedLink?: string;
11
13
  listProps?: ListProps;
12
- listType: ListType;
13
14
  iconOnly?: boolean;
14
15
  mobile?: boolean;
15
16
  }
16
17
  declare function MenuItems(props: MenuItemsProps): react_jsx_runtime.JSX.Element;
17
18
 
18
19
  export { MenuItems };
19
- export type { ListType, MenuItemsProps };
20
+ export type { MenuItemsProps };
@@ -1 +1 @@
1
- import{c as t}from"react/compiler-runtime";import i from"@mui/material/Collapse";import e from"@mui/material/List";import n from"@mui/material/ListItem";import r from"@mui/material/ListItemButton";import o from"@mui/material/ListItemIcon";import m from"@mui/material/ListItemText";import{useTheme as l}from"@mui/material/styles";import{ChevronUpIcon as a,ChevronDownIcon as s}from"lucide-react";import c from"react";import{jsx as d,jsxs as p}from"react/jsx-runtime";function u(u){const k=t(24),{displayItems:y,listType:x,onSelectItem:I,onHoverItem:v,selectedLink:S,listProps:L,iconOnly:$,mobile:b}=u;let C;k[0]!==L?(C=void 0===L?{}:L,k[0]=L,k[1]=C):C=k[1];const _=C,j=void 0!==$&&$,P=void 0!==b&&b,W=l();let w;k[2]===Symbol.for("react.memo_cache_sentinel")?(w=new Set,k[2]=w):w=k[2];const[E,O]=c.useState(w);let T;k[3]===Symbol.for("react.memo_cache_sentinel")?(T=t=>{O(i=>{const e=new Set(i);return e.has(t)?e.delete(t):e.add(t),e})},k[3]=T):T=k[3];const z=T,B=g;let F;k[4]!==y||k[5]!==S?(F=B(y,S),k[4]=y,k[5]=S,k[6]=F):F=k[6];const H=F;let M,Y,q,A;if(k[7]!==y||k[8]!==E||k[9]!==j||k[10]!==_||k[11]!==x||k[12]!==H||k[13]!==P||k[14]!==v||k[15]!==I||k[16]!==W){const t=(l,u,g)=>{const k=void 0!==g&&g,y="items"in l&&l.items&&l.items.length>0,S=`${l.title}-${u}`,L=j||E.has(S),$=H===l.link;return p(c.Fragment,{children:[d(n,{component:"div",disablePadding:!0,children:p(r,{onClick:()=>{y&&!j?z(S):I(x,l.title,l.link)},onMouseEnter:()=>v?.(x,l.title,l.link),sx:{...$&&{color:h},justifyContent:"center",paddingInline:j?0:"auto",paddingY:P?2:j?.8:.5,transition:`padding ${W.transitions.easing.sharp} ${W.transitions.duration.leavingScreen}ms`,px:"auto",pl:k&&!j?4:void 0},children:[d(o,{sx:{...$&&{color:f},minWidth:"32px",padding:0,justifyContent:"center"},children:l.icon}),!j&&d(m,{primary:l.title,sx:{paddingInline:1}}),!j&&y&&d(L?a:s,{size:18})]})}),y&&d(i,{in:L,timeout:"auto",unmountOnExit:!j,children:d(e,{..._,disablePadding:!0,sx:{my:j?0:1},children:l.items?.map((i,e)=>t(i,e,!0))})})]},S)};M=e,Y=_,q=y?.map((i,e)=>t(i,e)),k[7]=y,k[8]=E,k[9]=j,k[10]=_,k[11]=x,k[12]=H,k[13]=P,k[14]=v,k[15]=I,k[16]=W,k[17]=M,k[18]=Y,k[19]=q}else M=k[17],Y=k[18],q=k[19];return k[20]!==M||k[21]!==Y||k[22]!==q?(A=d(M,{...Y,children:q}),k[20]=M,k[21]=Y,k[22]=q,k[23]=A):A=k[23],A}function f(t){return t.palette.primary.main}function h(t){return t.palette.primary.main}function g(t,i){if(!t.length||!i)return"";let e="";for(const n of t)if((i===n.link||i.startsWith(`${n.link}/`))&&n.link.length>e.length&&(e=n.link),n.items)for(const t of n.items)(i===t.link||i.startsWith(`${t.link}/`))&&t.link.length>e.length&&(e=t.link);return e}export{u as MenuItems};
1
+ import{c as t}from"react/compiler-runtime";import i from"@mui/material/Collapse";import e from"@mui/material/List";import n from"@mui/material/ListItem";import o from"@mui/material/ListItemButton";import r from"@mui/material/ListItemIcon";import m from"@mui/material/ListItemText";import{useTheme as l}from"@mui/material/styles";import{ChevronUpIcon as a,ChevronDownIcon as s}from"lucide-react";import c from"react";import{jsx as d,jsxs as p}from"react/jsx-runtime";function u(u){const g=t(25),{items:k,linkComponent:x,linkComponentProps:y,onItemSelect:b,onItemHover:v,selectedLink:I,listProps:C,iconOnly:L,mobile:S}=u;let $;g[0]!==C?($=void 0===C?{}:C,g[0]=C,g[1]=$):$=g[1];const P=$,_=void 0!==L&&L,j=void 0!==S&&S,O=l();let W;g[2]===Symbol.for("react.memo_cache_sentinel")?(W=new Set,g[2]=W):W=g[2];const[w,B]=c.useState(W);let z;g[3]===Symbol.for("react.memo_cache_sentinel")?(z=t=>{B(i=>{const e=new Set(i);return e.has(t)?e.delete(t):e.add(t),e})},g[3]=z):z=g[3];const E=z;let F;g[4]!==k||g[5]!==I?(F=((t,i)=>{if(!t.length||!i)return"";let e="";for(const n of t)if((i===n.link||i.startsWith(`${n.link}/`))&&n.link.length>e.length&&(e=n.link),n.items)for(const t of n.items)(i===t.link||i.startsWith(`${t.link}/`))&&t.link.length>e.length&&(e=t.link);return e})(k,I),g[4]=k,g[5]=I,g[6]=F):F=g[6];const H=F;let M,T,Y,q;if(g[7]!==w||g[8]!==_||g[9]!==k||g[10]!==x||g[11]!==y||g[12]!==P||g[13]!==H||g[14]!==j||g[15]!==v||g[16]!==b||g[17]!==O){const t=(l,u,g)=>{const k=void 0!==g&&g,I="items"in l&&l.items&&l.items.length>0,C=`${l.title}-${u}`,L=_||w.has(C),S=H===l.link,$=l.linkProps??y,W=x&&l.link&&!l.disabled&&!I;return p(c.Fragment,{children:[d(n,{component:"div",disablePadding:!0,children:p(o,{LinkComponent:W?x:"a",...W?{href:l.link,prefetch:!0}:{},onClick:()=>{I&&!_?E(C):b(l)},onMouseOver:()=>v?.(l),disabled:Boolean(l.disabled),draggable:!1,sx:{...S&&{color:h},justifyContent:"center",paddingInline:_?0:"auto",paddingY:j?2:_?.8:.5,transition:`padding ${O.transitions.easing.sharp} ${O.transitions.duration.leavingScreen}ms`,px:"auto",pl:k&&!_?4:void 0},...W?$:{},children:[d(r,{sx:{...S&&{color:f},minWidth:"32px",padding:0,justifyContent:"center"},children:l.icon}),!_&&d(m,{primary:l.title,sx:{paddingInline:1}}),!_&&I&&d(L?a:s,{size:18})]})}),I&&d(i,{in:L,timeout:"auto",unmountOnExit:!_,children:d(e,{...P,disablePadding:!0,sx:{my:_?0:1},children:l.items?.map((i,e)=>t(i,e,!0))})})]},C)};M=e,T=P,Y=k?.map((i,e)=>t(i,e)),g[7]=w,g[8]=_,g[9]=k,g[10]=x,g[11]=y,g[12]=P,g[13]=H,g[14]=j,g[15]=v,g[16]=b,g[17]=O,g[18]=M,g[19]=T,g[20]=Y}else M=g[18],T=g[19],Y=g[20];return g[21]!==M||g[22]!==T||g[23]!==Y?(q=d(M,{...T,children:Y}),g[21]=M,g[22]=T,g[23]=Y,g[24]=q):q=g[24],q}function f(t){return t.palette.primary.main}function h(t){return t.palette.primary.main}export{u as MenuItems};
@@ -1,20 +1,44 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
3
 
4
+ interface AiEditOptions {
5
+ cps?: number;
6
+ markDirty?: boolean;
7
+ clearDirtyFirst?: boolean;
8
+ mode?: 'linear' | 'chunked';
9
+ }
10
+ interface RunAiEditOptions {
11
+ fieldName: string;
12
+ value?: string;
13
+ onStart?: () => void | Promise<void>;
14
+ onComplete?: () => void | Promise<void>;
15
+ onCancel?: () => void | Promise<void>;
16
+ options?: AiEditOptions;
17
+ }
4
18
  interface AiEditingContextType {
5
- aiEditingField: string | null;
6
- setAiEditingField: (fieldName: string | null) => void;
19
+ aiEditingField: string | undefined;
7
20
  aiDirtyFields: Set<string>;
21
+ setAiEditingField: (fieldName: string | undefined) => void;
8
22
  markAiDirty: (fieldName: string) => void;
9
23
  clearAiDirty: (fieldName: string) => void;
10
- clearAllAiDirty: () => void;
24
+ runAiEdits: (options: RunAiEditOptions[]) => Promise<void>;
25
+ cancelAiEdits: () => void;
11
26
  typewriterSpeed: number;
12
- setTypewriterSpeed: (speed: number) => void;
13
27
  }
14
- declare const AiEditingProvider: ({ defaultEditSpeed, children, }: {
15
- defaultEditSpeed?: number;
28
+ declare const AiEditingProvider: ({ cps, children, }: {
29
+ cps?: number;
16
30
  children: ReactNode;
17
31
  }) => react_jsx_runtime.JSX.Element;
18
- declare const useAiEditing: () => AiEditingContextType;
32
+ declare const useAiEditing: () => AiEditingContextType | {
33
+ aiEditingField: null;
34
+ setAiEditingField: () => null;
35
+ aiDirtyFields: Set<string>;
36
+ markAiDirty: () => null;
37
+ clearAiDirty: () => null;
38
+ typewriterSpeed: number;
39
+ runAiEdits: () => Promise<undefined>;
40
+ cancelAiEdits: () => null;
41
+ };
19
42
 
20
43
  export { AiEditingProvider, useAiEditing };
44
+ export type { RunAiEditOptions };
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import t,{createContext as r}from"react";import{jsx as i}from"react/jsx-runtime";const n=r(void 0),l=r=>{const l=e(11),{defaultEditSpeed:o,children:c}=r,u=void 0===o?1.2:o;let a;l[0]===Symbol.for("react.memo_cache_sentinel")?(a=new Set,l[0]=a):a=l[0];const[d,s]=t.useState(a),[m,y]=t.useState(null),[S,p]=t.useState(u);let f;l[1]===Symbol.for("react.memo_cache_sentinel")?(f=e=>{s(t=>new Set(t).add(e))},l[1]=f):f=l[1];const w=f;let A;l[2]===Symbol.for("react.memo_cache_sentinel")?(A=e=>{s(t=>{const r=new Set(t);return r.delete(e),r})},l[2]=A):A=l[2];const D=A;let F;l[3]===Symbol.for("react.memo_cache_sentinel")?(F=()=>{s(new Set)},l[3]=F):F=l[3];const _=F;let h,E;return l[4]!==d||l[5]!==m||l[6]!==S?(h={aiEditingField:m,setAiEditingField:y,aiDirtyFields:d,markAiDirty:w,clearAiDirty:D,clearAllAiDirty:_,typewriterSpeed:S,setTypewriterSpeed:p},l[4]=d,l[5]=m,l[6]=S,l[7]=h):h=l[7],l[8]!==c||l[9]!==h?(E=i(n.Provider,{value:h,children:c}),l[8]=c,l[9]=h,l[10]=E):E=l[10],E},o=()=>{const r=e(2),i=t.useContext(n);let l;return r[0]!==i?(l=i??{aiEditingField:null,setAiEditingField:d,aiDirtyFields:new Set,markAiDirty:s,clearAiDirty:m,clearAllAiDirty:y,typewriterSpeed:1.2,setTypewriterSpeed:S},r[0]=i,r[1]=l):l=r[1],l},c=e=>{const{aiEditingField:t}=o();return!!e&&t===e},u=t=>{const r=e(3),{aiDirtyFields:i}=o();if(!t)return!1;let n;return r[0]!==i||r[1]!==t?(n=i.has(t),r[0]=i,r[1]=t,r[2]=n):n=r[2],n},a=()=>{const{typewriterSpeed:e}=o();return e};function d(){return null}function s(){return null}function m(){return null}function y(){return null}function S(){return null}export{l as AiEditingProvider,o as useAiEditing,u as useIsAiDirty,c as useIsAiEditing,a as useTypewriterSpeed};
1
+ import{c as e}from"react/compiler-runtime";import t from"@mui/material/GlobalStyles";import r,{createContext as i,startTransition as n}from"react";import{jsxs as o,jsx as a}from"react/jsx-runtime";const c=(e,t)=>{const r=Math.max(0,e.value?.length??0)/Math.max(1,e.options?.cps??Math.max(1,t))*1e3;return Math.max(0,Math.round(r))},l=e=>new Promise(t=>{setTimeout(t,Math.max(0,e))}),s=i(void 0),m=i=>{const m=e(15),{cps:u,children:d}=i,f=void 0===u?90:u;let p;m[0]===Symbol.for("react.memo_cache_sentinel")?(p=new Set,m[0]=p):p=m[0];const[y,h]=r.useState(p),[S,w]=r.useState(void 0),[b,g]=r.useState(1);let k;m[1]===Symbol.for("react.memo_cache_sentinel")?(k=e=>{h(t=>new Set(t).add(e))},m[1]=k):k=m[1];const v=k;let A;m[2]===Symbol.for("react.memo_cache_sentinel")?(A=e=>{h(t=>{const r=new Set(t);return r.delete(e),r})},m[2]=A):A=m[2];const _=A,x=r.useRef(0);let D;if(m[3]!==f){const e=async e=>{for(const t of e){const e=x.current,r=c(t,f),i=r/1e3;if(!1!==t.options?.clearDirtyFirst&&n(()=>{_(t.fieldName)}),w(t.fieldName),g(i),await(t.onStart?.()),await l(r),e!==x.current)return void await(t.onCancel?.());w(void 0),!1!==t.options?.markDirty&&v(t.fieldName),await(t.onComplete?.())}};D=t=>(x.current=x.current+1,w(void 0),t?.length?e(t):Promise.resolve()),m[3]=f,m[4]=D}else D=m[4];const E=D;let F;m[5]===Symbol.for("react.memo_cache_sentinel")?(F=()=>{x.current=x.current+1,w(void 0),h(new Set)},m[5]=F):F=m[5];const P=F;let M,C,N;return m[6]!==y||m[7]!==S||m[8]!==E||m[9]!==b?(M={aiEditingField:S,setAiEditingField:w,aiDirtyFields:y,markAiDirty:v,clearAiDirty:_,typewriterSpeed:b,runAiEdits:E,cancelAiEdits:P},m[6]=y,m[7]=S,m[8]=E,m[9]=b,m[10]=M):M=m[10],m[11]===Symbol.for("react.memo_cache_sentinel")?(C=a(t,{styles:{"@keyframes aiGlowPulse":{"0%":{backgroundPosition:"0% 0%"},"100%":{backgroundPosition:"-300% 0%"}},"@keyframes aiTyping":{from:{clipPath:"inset(0 100% 0 0)"},to:{clipPath:"inset(0 0 0 0)"}},"@keyframes aiChunkIn":{from:{opacity:0,transform:"translateY(12px)"},to:{opacity:1,transform:"translateY(0)"}},"@media (prefers-reduced-motion: reduce)":{".bn-ai-effect .bn-block-group .bn-block-outer":{animation:"none !important",opacity:1,transform:"none"}}}}),m[11]=C):C=m[11],m[12]!==d||m[13]!==M?(N=o(s.Provider,{value:M,children:[C,d]}),m[12]=d,m[13]=M,m[14]=N):N=m[14],N},u=()=>{const t=e(2),i=r.useContext(s);let n;return t[0]!==i?(n=i??{aiEditingField:null,setAiEditingField:y,aiDirtyFields:new Set,markAiDirty:h,clearAiDirty:S,typewriterSpeed:1,runAiEdits:w,cancelAiEdits:b},t[0]=i,t[1]=n):n=t[1],n},d=e=>{const{aiEditingField:t}=u();return!!e&&t===e},f=t=>{const r=e(3),{aiDirtyFields:i}=u();if(!t)return!1;let n;return r[0]!==i||r[1]!==t?(n=i.has(t),r[0]=i,r[1]=t,r[2]=n):n=r[2],n},p=()=>{const{typewriterSpeed:e}=u();return e};function y(){return null}function h(){return null}function S(){return null}async function w(){}function b(){return null}export{m as AiEditingProvider,u as useAiEditing,f as useIsAiDirty,d as useIsAiEditing,p as useTypewriterSpeed};
@@ -1 +1 @@
1
- const o=({animate:o=!1,dirty:r=!1,duration:e=1.2})=>o?{"& .MuiOutlinedInput-root":{pointerEvents:"none",userSelect:"none",transition:"border-color 0.3s ease",borderColor:"rgba(0,122,255,0.5)",boxShadow:"0 0 16px rgba(0, 122, 255, 0.5)","& .MuiInputBase-input":{color:"rgba(0,122,255,0.8)",animation:`typing ${e}s ease-out forwards`,clipPath:"inset(0 100% 0 0)"},"& .MuiAutocomplete-input":{},"& fieldset":{border:"2px solid",borderColor:"rgba(0,122,255,0.5)",boxShadow:"0 0 12px rgba(0, 122, 255, 0.3)",animation:"glowPulse 1.2s ease-in-out infinite"},"&:hover fieldset":{borderColor:"rgba(0,122,255,0.5)"},"& textarea":{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},"@keyframes glowPulse":{"0%":{boxShadow:"0 0 6px rgba(0,122,255,0.3)"},"50%":{boxShadow:"0 0 12px rgba(0,122,255,0.6)"},"100%":{boxShadow:"0 0 6px rgba(0,122,255,0.3)"}},"@keyframes typing":{from:{clipPath:"inset(0 100% 0 0)"},to:{clipPath:"inset(0 0 0 0)"}}}}:r?{"& .MuiOutlinedInput-root":{"& .MuiInputBase-input":{color:"rgba(0,122,255,0.8)"},"& fieldset":{border:"2px solid",borderColor:"rgba(0,122,255,0.5)",transition:"border-color 0.3s ease",boxShadow:"0 0 12px rgba(0, 122, 255, 0.3)"},"&:hover fieldset":{borderColor:"rgba(0,122,255,0.5)"}}}:{},r=({animate:o=!1,dirty:r=!1,duration:e=1.2})=>o?{pointerEvents:"none",userSelect:"none",transition:"border-color 0.3s ease",borderColor:"rgba(0,122,255,0.5)",boxShadow:"0 0 16px rgba(0, 122, 255, 0.5)","& .MuiInputBase-input":{color:"rgba(0,122,255,0.8)",animation:`typing ${e}s ease-out forwards`},"& fieldset":{border:"2px solid rgba(0,122,255,0.5)",boxShadow:"0 0 12px rgba(0, 122, 255, 0.3)",animation:"glowPulse 1.2s ease-in-out infinite"},"&:hover fieldset":{borderColor:"rgba(0,122,255,0.5) !important"},"&.Mui-focused fieldset":{borderColor:"rgba(0,122,255,0.5) !important"},"& textarea":{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},"@keyframes glowPulse":{"0%":{boxShadow:"0 0 6px rgba(0,122,255,0.3)"},"50%":{boxShadow:"0 0 12px rgba(0,122,255,0.6)"},"100%":{boxShadow:"0 0 6px rgba(0,122,255,0.3)"}},"@keyframes typing":{from:{clipPath:"inset(0 100% 0 0)"},to:{clipPath:"inset(0 0 0 0)"}}}:r?{"& .MuiInputBase-input":{transition:"border-color 0.3s ease",color:"rgba(0,122,255,0.8)"},"& fieldset":{border:"2px solid rgba(0,122,255,0.5)",transition:"border-color 0.3s ease",boxShadow:"0 0 12px rgba(0, 122, 255, 0.3)"},"&:hover fieldset":{borderColor:"rgba(0,122,255,0.5) !important"},"&.Mui-focused fieldset":{borderColor:"rgba(0,122,255,0.5) !important"}}:{},e={color:"rgba(0,122,255,0.8) !important"};export{o as aiEffectStyle,e as aiLabelStyle,r as aiSelectSxEffect};
1
+ import{c as r}from"react/compiler-runtime";import{Box as e,InputAdornment as o,Stack as i}from"@mui/material";import{SparklesIcon as t}from"lucide-react";import"react";import{useIsAiEditing as n,useIsAiDirty as a}from"./AiEditingContext.js";import{jsx as l,jsxs as s}from"react/jsx-runtime";const d="rgba(0,122,255,0.8)",b="rgba(0,122,255,0.5) !important",p="linear-gradient(90deg, rgba(0,122,255,0), rgba(0,122,255,0.8), rgba(0,122,255,0.15), rgba(0,122,255,0.9), rgba(0,122,255,0))",c=({animate:r=!1,dirty:e=!1,duration:o})=>r?{"& .MuiOutlinedInput-root":{pointerEvents:"none",userSelect:"none",position:"relative",bgcolor:"background.paper","&::before":{content:'""',position:"absolute",inset:"-2px",borderRadius:"inherit",background:p,backgroundSize:"300% 100%",animation:"aiGlowPulse 4.5s linear infinite",filter:"blur(8px)",zIndex:-1},"& .MuiInputBase-input":{color:d,animation:`aiTyping ${o||0}s ease-out forwards`,clipPath:"inset(0 100% 0 0)"},"& .MuiAutocomplete-input":{},"& fieldset":{border:"2px solid",borderColor:b},"&:hover fieldset":{borderColor:b},"& textarea":{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}}}:e?{"& .MuiOutlinedInput-root":{"& .MuiInputBase-input":{color:d},"& fieldset":{border:"2px solid",borderColor:b,transition:"border-color 0.3s ease",boxShadow:"0 0 12px rgba(0, 122, 255, 0.3)"},"&:hover fieldset":{borderColor:b}}}:{},u=({animate:r=!1,dirty:e=!1,duration:o})=>r?{pointerEvents:"none",userSelect:"none",position:"relative",bgcolor:"background.paper","&::before":{content:'""',position:"absolute",inset:"-2px",borderRadius:"inherit",background:p,backgroundSize:"300% 100%",animation:"aiGlowPulse 4.5s linear infinite",filter:"blur(8px)",zIndex:-1},"& .MuiInputBase-input":{color:d,animation:`aiTyping ${o||0}s ease-out forwards`},"& fieldset":{border:"2px solid",borderColor:b},"&:hover fieldset":{borderColor:b},"&.Mui-focused fieldset":{borderColor:b},"& textarea":{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}}:e?{"& .MuiInputBase-input":{transition:"border-color 0.3s ease",color:d},"& fieldset":{border:`2px solid ${b}`,transition:"border-color 0.3s ease",boxShadow:"0 0 12px rgba(0, 122, 255, 0.3)"},"&:hover fieldset":{borderColor:b},"&.Mui-focused fieldset":{borderColor:b}}:{},f=Object.fromEntries(Array.from({length:20},(r,e)=>[`.bn-ai-effect .bn-block-group .bn-block-outer:nth-of-type(${e+1})`,{animationDelay:`calc(${e} * var(--bn-ai-delay-step, 0.1s))`}])),m=(r,e={})=>{const o={".bn-ai-dirty":{border:"2px solid",borderColor:"rgba(0,122,255,0.3)",transition:"border-color 0.3s ease",boxShadow:`0 0 12px rgba(0, 122, 255, 0.3), inset 0 0 0 1px ${b}`,borderRadius:8},".bn-ai-dirty .bn-editor":{backgroundColor:"transparent",color:d}},i=r.duration||0,t=Math.max(.03,Math.min(.15,i/12)),n=Math.max(.18,Math.min(.45,i/3.5)),a={".bn-ai-effect":{position:"relative",border:"2px solid",borderColor:b,"--bn-ai-delay-step":`${t}s`},".bn-ai-effect::before":{content:'""',position:"absolute",inset:"-2px",borderRadius:"inherit",background:p,backgroundSize:"300% 100%",animation:"aiGlowPulse 4.5s linear infinite",filter:"blur(8px)",zIndex:-1},".bn-ai-effect .bn-editor":{backgroundColor:"transparent",color:d},".bn-ai-effect .bn-block-group .bn-block-outer":{overflow:"hidden",opacity:0,transform:"translateY(8px)",willChange:"opacity, transform",animation:`aiChunkIn ${n}s cubic-bezier(0.22, 1, 0.36, 1) forwards`}};return{'.bn-mantine[data-mantine-color-scheme="dark"]':{"--mantine-color-scheme":"light"},".ProseMirror .bn-editor .bn-default-styles":{bakcgroundColor:"transparent"},".bn-editor":{backgroundColor:"transparent"},".bn-mantine .bn-select":{scrollbarColor:"silver transparent"},"bn-menu-dropdown":{scrollbarColor:"silver transparent",scrollbarWidth:"thin"},".bn-default-styles h1":{fontSize:"32px"},".bn-default-styles h2":{fontSize:"24px"},".bn-default-styles h3":{fontSize:"16px"},".bn-container":{display:"flex",flexDirection:"column",height:"100%",gap:"8px"},".bn-formatting-toolbar":{display:"flex !important",flexWrap:"wrap !important",margin:"10px",marginTop:"25px",boxShadow:"none !important",maxWidth:"100% !important",borderRadius:"24px !important",padding:"2px 12px !important"},...r.dirty?o:{},...r.animate?{...a,...f}:{},...e}},x=b=>{const p=r(11),{name:c,label:u,size:f,required:m}=b,x=n(c),g=a(c);if(!g)return u;let h,w,y;return p[0]!==g||p[1]!==m?(h=m&&g&&l(e,{component:"span",className:"MuiFormLabel-asterisk","aria-hidden":"true",sx:{color:d},children:" *"}),p[0]=g,p[1]=m,p[2]=h):h=p[2],p[3]!==x||p[4]!==g||p[5]!==f?(w=g&&!x&&l(o,{position:"end",sx:{color:d},children:l(t,{size:f||12})}),p[3]=x,p[4]=g,p[5]=f,p[6]=w):w=p[6],p[7]!==u||p[8]!==h||p[9]!==w?(y=s(i,{direction:"row",alignItems:"center",children:[u,h,w]}),p[7]=u,p[8]=h,p[9]=w,p[10]=y):y=p[10],y};export{b as AI_BORDER_COLOR,d as AI_COLOR,p as AI_GRADIENT,x as AiLabelWrapper,c as aiEffectStyle,u as aiSelectSxEffect,m as richTextGlobalStyles};
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import r from"@mui/material/Autocomplete";import o from"@mui/material/FormControl";import t from"@mui/material/FormLabel";import l from"@mui/material/InputAdornment";import i from"@mui/material/TextField";import{SparklesIcon as n}from"lucide-react";import{Controller as a}from"react-hook-form";import{useIsAiEditing as m,useIsAiDirty as s,useTypewriterSpeed as d}from"./AiEditingContext.js";import{aiEffectStyle as u,aiLabelStyle as p}from"./AiUtils.js";import{jsx as c,jsxs as f,Fragment as h}from"react/jsx-runtime";function x(x){const g=e(37),b=x;let A,v,C,y,B,F,j,T,U,z;g[0]!==b?(({name:B,control:v,defaultValue:C,rules:j,shouldUnregister:T,legend:U,label:y,textFieldProps:z,onChange:F,...A}=b),g[0]=b,g[1]=A,g[2]=v,g[3]=C,g[4]=y,g[5]=B,g[6]=F,g[7]=j,g[8]=T,g[9]=U,g[10]=z):(A=g[1],v=g[2],C=g[3],y=g[4],B=g[5],F=g[6],j=g[7],T=g[8],U=g[9],z=g[10]);const I=void 0===U||U,V=m(B),W=s(B),k=d();let E,L,P;g[11]!==k||g[12]!==V||g[13]!==W?(E=u({animate:V,dirty:W,duration:k}),g[11]=k,g[12]=V,g[13]=W,g[14]=E):E=g[14],g[15]!==z?(L=Array.isArray(z?.sx)?z.sx:z?.sx?[z.sx]:[],g[15]=z,g[16]=L):L=g[16],g[17]!==E||g[18]!==L?(P=[E,...L],g[17]=E,g[18]=L,g[19]=P):P=g[19];const S=P;let Y,q;return g[20]!==A||g[21]!==V||g[22]!==W||g[23]!==y||g[24]!==I||g[25]!==F||g[26]!==z||g[27]!==S?(Y=e=>{const{field:a,fieldState:m}=e,{error:s}=m,d=Boolean(A.multiple),u=A.value??(d?[]:a.value||null);return f(h,{children:[I&&c(t,{component:"legend",sx:{color:W?p.color:void 0},children:y}),c(o,{fullWidth:A.fullWidth,style:{marginTop:0},children:c(r,{...A,value:u,onChange:(e,r,o,t)=>{F?F(e,r,o,t):a.onChange(r)},onBlur:a.onBlur,disabled:a.disabled,renderInput:e=>f(h,{children:[c(i,{...e,label:I?"":y,error:Boolean(s),helperText:s?.message,...z,sx:S}),W&&!V&&c(l,{position:"end",sx:{position:"absolute",right:45,top:"55%",transform:"translateY(-50%)"},children:c(n,{size:"small"===z?.size?18:20,color:"rgba(0,122,255,0.8)"})})]})})})]})},g[20]=A,g[21]=V,g[22]=W,g[23]=y,g[24]=I,g[25]=F,g[26]=z,g[27]=S,g[28]=Y):Y=g[28],g[29]!==A.disabled||g[30]!==v||g[31]!==C||g[32]!==B||g[33]!==j||g[34]!==T||g[35]!==Y?(q=c(a,{name:B,control:v,defaultValue:C,disabled:A.disabled,rules:j,shouldUnregister:T,render:Y}),g[29]=A.disabled,g[30]=v,g[31]=C,g[32]=B,g[33]=j,g[34]=T,g[35]=Y,g[36]=q):q=g[36],q}export{x as AutocompleteField};
1
+ import{c as e}from"react/compiler-runtime";import r from"@mui/material/Autocomplete";import o from"@mui/material/FormLabel";import l from"@mui/material/TextField";import{Controller as i}from"react-hook-form";import{useIsAiEditing as t,useIsAiDirty as a,useTypewriterSpeed as d}from"./AiEditingContext.js";import{aiEffectStyle as n,AI_COLOR as s,AiLabelWrapper as m}from"./AiUtils.js";import{jsx as u,jsxs as p,Fragment as c}from"react/jsx-runtime";function f(f){const b=e(38),x=f;let h,g,v,q,A,F,y,B,C,L;b[0]!==x?(({name:A,control:g,defaultValue:v,rules:y,shouldUnregister:B,legend:C,label:q,textFieldProps:L,onChange:F,...h}=x),b[0]=x,b[1]=h,b[2]=g,b[3]=v,b[4]=q,b[5]=A,b[6]=F,b[7]=y,b[8]=B,b[9]=C,b[10]=L):(h=b[1],g=b[2],v=b[3],q=b[4],A=b[5],F=b[6],y=b[7],B=b[8],C=b[9],L=b[10]);const j=void 0===C||C,k=t(A),P=a(A),U=d();let M,T,V;b[11]!==U||b[12]!==k||b[13]!==P?(M=n({animate:k,dirty:P,duration:U}),b[11]=U,b[12]=k,b[13]=P,b[14]=M):M=b[14],b[15]!==L?(T=Array.isArray(L?.sx)?L.sx:L?.sx?[L.sx]:[],b[15]=L,b[16]=T):T=b[16],b[17]!==M||b[18]!==T?(V=[M,...T],b[17]=M,b[18]=T,b[19]=V):V=b[19];const W=V;let E,I;return b[20]!==h||b[21]!==k||b[22]!==P||b[23]!==q||b[24]!==j||b[25]!==A||b[26]!==F||b[27]!==L||b[28]!==W?(E=e=>{const{field:i,fieldState:t}=e,{error:a}=t,d=Boolean(h.multiple),n=h.value??(d?[]:i.value||null);return p(c,{children:[j&&q&&u(o,{component:"legend",required:!P&&L?.required,sx:{display:"flex",color:k||P?s:void 0,"& .MuiFormLabel-asterisk":{color:k||P?s:"error.main"}},children:u(m,{name:A,label:q,required:L?.required})}),u(r,{...h,value:n,onChange:(e,r,o,l)=>{F?F(e,r,o,l):i.onChange(r)},fullWidth:h.fullWidth,onBlur:i.onBlur,disabled:i.disabled,renderInput:e=>u(l,{...e,label:j?"":u(m,{name:A,label:q,required:L?.required}),error:Boolean(a),helperText:a?.message,...L,slotProps:{inputLabel:{required:!P&&void 0,sx:{color:P||k?s:void 0,"& .MuiFormLabel-asterisk":{color:P||k?s:void 0}}},...L?.slotProps},sx:W})})]})},b[20]=h,b[21]=k,b[22]=P,b[23]=q,b[24]=j,b[25]=A,b[26]=F,b[27]=L,b[28]=W,b[29]=E):E=b[29],b[30]!==h.disabled||b[31]!==g||b[32]!==v||b[33]!==A||b[34]!==y||b[35]!==B||b[36]!==E?(I=u(i,{name:A,control:g,defaultValue:v,disabled:h.disabled,rules:y,shouldUnregister:B,render:E}),b[30]=h.disabled,b[31]=g,b[32]=v,b[33]=A,b[34]=y,b[35]=B,b[36]=E,b[37]=I):I=b[37],I}export{f as AutocompleteField};
@@ -10,6 +10,7 @@ interface DateFieldProps<T extends FieldValues> extends Omit<DateTimePickerProps
10
10
  shouldUnregister?: boolean;
11
11
  legend?: boolean;
12
12
  fullWidth?: boolean;
13
+ required?: boolean;
13
14
  stringOnEmpty?: boolean;
14
15
  }
15
16
  declare function DateField<T extends FieldValues>(props: DateFieldProps<T>): react_jsx_runtime.JSX.Element;
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import t from"@mui/material/FormLabel";import{DateTimePicker as r}from"@mui/x-date-pickers/DateTimePicker";import o from"dayjs";import{CalendarFoldIcon as i,SparklesIcon as l}from"lucide-react";import s from"react";import{useWatch as a,Controller as n}from"react-hook-form";import{useIsAiEditing as m,useIsAiDirty as d,useTypewriterSpeed as u}from"./AiEditingContext.js";import{aiEffectStyle as c,aiLabelStyle as p}from"./AiUtils.js";import f from"@mui/material/FormControl";import x from"@mui/material/InputAdornment";import{useTheme as h}from"@mui/material/styles";import{jsx as y,jsxs as b,Fragment as g}from"react/jsx-runtime";function P(P){const v=e(16),{name:A,control:D,defaultValue:F,rules:S,shouldUnregister:k,legend:z,fullWidth:B,stringOnEmpty:V,...j}=P,C=void 0===z||z,I=void 0===B||B,Y=void 0!==V&&V,M=h(),O=Y?"":null,U=m(A),E=d(A),H=u(),T=j.minDate??o("1900-01-01"),W=j.maxDate??o("2099-12-31"),w=e=>(!T||e.isAfter(T)||e.isSame(T,"day"))&&(!W||e.isBefore(W)||e.isSame(W,"day"));let L;v[0]!==D||v[1]!==A?(L={control:D,name:A},v[0]=D,v[1]=A,v[2]=L):L=v[2];const q=a(L),[G,J]=s.useState(()=>{if(q){const e=o(q);return e.isValid()&&w(e)?e:null}return null});if(q&&!G){const e=o(q);e.isValid()&&w(e)&&J(e)}let K;v[3]!==O||v[4]!==J?(K=(e,t,r)=>{if(!e||!e.isValid())return t(O),r(),void J(null);t(e.toDate().toISOString()),r(),J(e)},v[3]=O,v[4]=J,v[5]=K):K=v[5];const N=K,Q=j.slotProps?.textField?.sx,R=[c({animate:U,dirty:E,duration:H}),...Array.isArray(Q)?Q:Q?[Q]:[]],X=U?"none":void 0;let Z;v[6]!==X?(Z={display:X},v[6]=X,v[7]=Z):Z=v[7];const $=[...Array.isArray(Q)?Q:Q?[Q]:[],Z],_=e=>{const{field:o,fieldState:s}=e,{error:a}=s;return b(f,{fullWidth:I,sx:{margin:"auto",position:"relative"},children:[C&&y(t,{sx:{color:E||U?p.color:void 0},children:j.label}),b(g,{children:[y(r,{views:["year","month","day"],format:"DD/MM/YYYY HH:mm",...j,...o,ref:o.ref,formatDensity:"dense",value:G,onChange:e=>{e&&e.isValid()&&w(e)?J(e):J(null)},minDate:T,maxDate:W,enableAccessibleFieldDOMStructure:!1,onAccept:e=>N(e,o.onChange,o.onBlur),slots:{...j.slots,openPickerIcon:i},slotProps:{openPickerIcon:{color:M.palette.action.active,size:"small"===j.slotProps?.textField?.size?20:24},openPickerButton:{size:j.slotProps?.textField?.size,sx:$},...j.slotProps,textField:{label:C?"":j.label,error:Boolean(a),helperText:a?.message,onBlur:o.onBlur,...j.slotProps?.textField,sx:R}}}),E&&!U&&y(x,{position:"end",sx:{position:"absolute",right:48,top:C?"59%":"38%"},children:y(l,{size:"small"===j.slotProps?.textField?.size?18:20,color:"rgba(0,122,255,0.8)"})})]})]})};let ee;return v[8]!==D||v[9]!==j.disabled||v[10]!==F||v[11]!==A||v[12]!==S||v[13]!==k||v[14]!==_?(ee=y(n,{name:A,control:D,defaultValue:F,disabled:j.disabled,rules:S,shouldUnregister:k,render:_}),v[8]=D,v[9]=j.disabled,v[10]=F,v[11]=A,v[12]=S,v[13]=k,v[14]=_,v[15]=ee):ee=v[15],ee}export{P as DateField};
1
+ import{c as e}from"react/compiler-runtime";import r from"@mui/material/FormLabel";import{DateTimePicker as o}from"@mui/x-date-pickers/DateTimePicker";import t from"dayjs";import{CalendarFoldIcon as l}from"lucide-react";import i from"react";import{useWatch as n,Controller as s}from"react-hook-form";import{useIsAiEditing as a,useIsAiDirty as d,useTypewriterSpeed as u}from"./AiEditingContext.js";import{aiEffectStyle as m,AI_COLOR as c,AiLabelWrapper as p}from"./AiUtils.js";import{jsx as f,jsxs as x,Fragment as b}from"react/jsx-runtime";function v(v){const y=e(18),{name:h,control:P,defaultValue:D,rules:g,shouldUnregister:F,legend:k,fullWidth:A,required:q,stringOnEmpty:S,...V}=v,B=void 0===k||k,C=void 0===A||A,M=void 0!==q&&q,O=void 0!==S&&S?"":null,j=a(h),z=d(h),L=u(),Y=V.minDate??t("1900-01-01"),I=V.maxDate??t("2099-12-31");let U;y[0]!==P||y[1]!==h?(U={control:P,name:h},y[0]=P,y[1]=h,y[2]=U):U=y[2];const E=n(U),H=i.useRef(!1),[T,W]=i.useState(E);let w;y[3]!==E?(w=()=>{if(E){const e=t(E);return e.isValid()?e:null}return null},y[3]=E,y[4]=w):w=y[4];const[R,G]=i.useState(w);if(E!==T)if(W(E),E){const e=t(E);G(e.isValid()?e:null)}else G(null);let J;y[5]!==O||y[6]!==G?(J=(e,r,o)=>{if(!e||!e.isValid())return r(O),o(),void G(null);r(e.toDate().toISOString()),o(),G(e)},y[5]=O,y[6]=G,y[7]=J):J=y[7];const K=J,N=V.slotProps?.textField?.sx,Q=[m({animate:j,dirty:z,duration:L}),...Array.isArray(N)?N:N?[N]:[]],X=j?"none":void 0;let Z;y[8]!==X?(Z={display:X},y[8]=X,y[9]=Z):Z=y[9];const $=[...Array.isArray(N)?N:N?[N]:[],Z],_=e=>{const{field:t,fieldState:i}=e,{error:n}=i;return x(b,{children:[B&&V.label&&f(r,{required:!z&&M,sx:{display:"flex",color:z||j?c:void 0,"& .MuiFormLabel-asterisk":{color:j||z?c:"error.main"}},children:f(p,{name:h,label:V.label,required:M})}),f(o,{views:["year","month","day"],format:"DD/MM/YYYY HH:mm",...V,...t,ref:t.ref,formatDensity:"dense",value:R,onOpen:()=>{H.current=!0,V.onOpen?.()},onClose:()=>{H.current=!1,V.onClose?.()},onChange:e=>{H.current&&(e&&e.isValid()?G(e):G(null))},minDate:Y,maxDate:I,enableAccessibleFieldDOMStructure:!1,onAccept:e=>K(e,t.onChange,t.onBlur),slots:{...V.slots,openPickerIcon:l},slotProps:{openPickerIcon:{color:z?c:void 0,size:"small"===V.slotProps?.textField?.size?18:22},openPickerButton:{size:V.slotProps?.textField?.size,sx:$},...V.slotProps,textField:{required:M,fullWidth:C,label:B?"":f(p,{name:h,label:V.label,required:M}),error:Boolean(n),helperText:n?.message,onBlur:t.onBlur,slotProps:{inputLabel:{required:!z&&void 0,sx:{display:"flex",color:z||j?c:void 0,"& .MuiFormLabel-asterisk":{color:z||j?c:void 0}}}},...V.slotProps?.textField,sx:Q}}})]})};let ee;return y[10]!==P||y[11]!==V.disabled||y[12]!==D||y[13]!==h||y[14]!==g||y[15]!==F||y[16]!==_?(ee=f(s,{name:h,control:P,defaultValue:D,disabled:V.disabled,rules:g,shouldUnregister:F,render:_}),y[10]=P,y[11]=V.disabled,y[12]=D,y[13]=h,y[14]=g,y[15]=F,y[16]=_,y[17]=ee):ee=y[17],ee}export{v as DateField};
@@ -1 +1 @@
1
- import{c as r}from"react/compiler-runtime";import e from"@mui/material/FormLabel";import o from"@mui/material/InputAdornment";import t from"@mui/material/TextField";import{SparklesIcon as l}from"lucide-react";import{useWatch as i,Controller as n}from"react-hook-form";import{useIsAiEditing as a,useIsAiDirty as s,useTypewriterSpeed as m}from"./AiEditingContext.js";import{aiLabelStyle as d,aiEffectStyle as u}from"./AiUtils.js";import{jsx as p,jsxs as c,Fragment as b}from"react/jsx-runtime";function f(f){const h=r(15),{name:g,control:x,defaultValue:A,rules:v,shouldUnregister:P,legend:y,...C}=f,L=void 0===y||y,B=a(g),j=s(g),k=m();let I;h[0]!==x||h[1]!==g?(I={control:x,name:g},h[0]=x,h[1]=g,h[2]=I):I=h[2];const U=i(I),z=C.slotProps?.inputLabel?.sx,F=[...Array.isArray(z)?z:[z],{color:B||j?d.color:void 0}],T=C.sx;let V;h[3]!==k||h[4]!==B||h[5]!==j?(V=u({animate:B,dirty:j,duration:k}),h[3]=k,h[4]=B,h[5]=j,h[6]=V):V=h[6];const E=[V,...Array.isArray(T)?T:[T]],M=r=>{const{field:i,fieldState:n}=r,{error:a}=n,s="number"===C.type;return c(b,{children:[L&&p(e,{sx:{color:B||j?d.color:void 0},children:C.label}),p(t,{variant:"outlined",fullWidth:!0,...C,label:L?"":C.label,error:Boolean(a),helperText:a?.message,slotProps:{...C.slotProps,inputLabel:{...C.slotProps?.inputLabel,shrink:B||C.slotProps?.inputLabel?.shrink,sx:F},input:{endAdornment:j&&!B&&p(o,{position:"end",children:p(l,{size:"small"===C?.size?18:20,color:"rgba(0,122,255,0.8)"})}),...C.slotProps?.input},htmlInput:{...C.slotProps?.htmlInput||{},...s&&{inputMode:"numeric",pattern:"[0-9]*"}}},...i,disabled:i.disabled,value:U??null,onBlur:r=>{i.onBlur(),C.onBlur?.(r)},onChange:r=>{if(C.onChange?.(r),s){const e=r.target.value;i.onChange(""===e?void 0:Number(e))}else i.onChange(r)},sx:E})]})};let N;return h[7]!==x||h[8]!==A||h[9]!==g||h[10]!==v||h[11]!==P||h[12]!==M||h[13]!==C.disabled?(N=p(n,{name:g,control:x,defaultValue:A,disabled:C.disabled,rules:v,shouldUnregister:P,render:M}),h[7]=x,h[8]=A,h[9]=g,h[10]=v,h[11]=P,h[12]=M,h[13]=C.disabled,h[14]=N):N=h[14],N}export{f as InputField};
1
+ import{c as r}from"react/compiler-runtime";import e from"@mui/material/FormLabel";import l from"@mui/material/TextField";import{Controller as o}from"react-hook-form";import{useIsAiEditing as i,useIsAiDirty as t,useTypewriterSpeed as a}from"./AiEditingContext.js";import{AI_COLOR as n,AiLabelWrapper as s,aiEffectStyle as d}from"./AiUtils.js";import{jsx as u,jsxs as m,Fragment as p}from"react/jsx-runtime";function b(b){const c=r(12),{name:f,control:h,defaultValue:x,rules:g,shouldUnregister:v,legend:y,...A}=b,q=void 0===y||y,L=i(f),P=t(f),k=a(),C=A.slotProps?.inputLabel?.sx,B=[...Array.isArray(C)?C:[C],{color:L||P?n:void 0}],F=A.sx;let j;c[0]!==k||c[1]!==L||c[2]!==P?(j=d({animate:L,dirty:P,duration:k}),c[0]=k,c[1]=L,c[2]=P,c[3]=j):j=c[3];const M=[j,...Array.isArray(F)?F:[F]],U=r=>{const{field:o,fieldState:i}=r,{error:t}=i,a="number"===A.type;return m(p,{children:[q&&A.label&&u(e,{required:!P&&A.required,sx:{display:"flex",color:L||P?n:void 0,flexWrap:"nowrap","& .MuiFormLabel-asterisk":{color:L||P?n:"error.main"}},children:u(s,{name:f,label:A.label,required:A.required})}),u(l,{variant:"outlined",fullWidth:!0,...A,label:q?"":u(s,{name:f,label:A.label,required:A.required}),slotProps:{...A.slotProps,inputLabel:{...A.slotProps?.inputLabel,required:!P&&void 0,shrink:L||A.slotProps?.inputLabel?.shrink,sx:[{display:"flex"},...Array.isArray(B)?B:[B],{"& .MuiFormLabel-asterisk":{color:L||P?n:void 0}}]},htmlInput:{...A.slotProps?.htmlInput||{},...a&&{inputMode:"numeric",pattern:"[0-9]*"}}},...o,error:Boolean(t),helperText:t?.message,disabled:o.disabled,value:o.value??null,onBlur:r=>{o.onBlur(),A.onBlur?.(r)},onChange:r=>{if(A.onChange?.(r),a){const e=r.target.value;o.onChange(""===e?void 0:Number(e))}else o.onChange(r)},sx:M})]})};let I;return c[4]!==h||c[5]!==x||c[6]!==f||c[7]!==g||c[8]!==v||c[9]!==U||c[10]!==A.disabled?(I=u(o,{name:f,control:h,defaultValue:x,disabled:A.disabled,rules:g,shouldUnregister:v,render:U}),c[4]=h,c[5]=x,c[6]=f,c[7]=g,c[8]=v,c[9]=U,c[10]=A.disabled,c[11]=I):I=c[11],I}export{b as InputField};
@@ -0,0 +1 @@
1
+ import{AIExtension as e,aiDocumentFormats as i}from"@blocknote/xl-ai";import{PenToolIcon as t,BadgeCheckIcon as o,LanguagesIcon as r,SmileIcon as a,BriefcaseBusinessIcon as l,ListChevronsDownUpIcon as s}from"lucide-react";import{jsx as m}from"react/jsx-runtime";const n=(o,r=!0)=>({key:"rewrite_content",title:"Riscrivi",group:"Modifica",aliases:["riscrivi","riscrivi contenuto"],icon:m(t,{size:18}),onItemClick:async()=>{await(o.getExtension(e)?.invokeAI({userPrompt:"Rewrite and improve the selected text",useSelection:r,streamToolsProvider:i.html.getStreamToolsProvider({defaultStreamTools:{add:!1,delete:!1,update:!0}})}))},size:"small"}),c=(t,r=!0)=>({key:"correct_grammar",title:"Fix the grammar and spelling",group:"Modifica",aliases:["correct grammar","correggi grammatica","correggi errori grammaticali"],icon:m(o,{size:18}),onItemClick:async()=>{await(t.getExtension(e)?.invokeAI({userPrompt:"Correggi errori grammaticali e di ortografia nel testo selezionato nella lingua originale",useSelection:r,streamToolsProvider:i.html.getStreamToolsProvider({defaultStreamTools:{add:!1,delete:!1,update:!0}})}))},size:"small"}),d=()=>({key:"translate_content",title:"Traduci",group:"Modifica",aliases:["translate","traduci","traduci contenuto"],icon:m(r,{size:18}),onItemClick:e=>{e("Traduci il testo in ")},size:"small"}),u=(t,o=!0)=>({key:"make_informal",title:"Stile Amichevole",group:"Stile",aliases:["informale","amichevole","rendi informale","rendi amichevole"],icon:m(a,{size:18}),onItemClick:async()=>{await(t.getExtension(e)?.invokeAI({userPrompt:"Rewrite the selected text in a more informal (casual) style",useSelection:o,streamToolsProvider:i.html.getStreamToolsProvider({defaultStreamTools:{add:!1,delete:!1,update:!0}})}))},size:"small"}),g=(t,o=!0)=>({key:"make_formal",title:"Stile Formale",group:"Stile",aliases:["formale","professionale","rendi formale","rendi professionale"],icon:m(l,{size:18}),onItemClick:async()=>{await(t.getExtension(e)?.invokeAI({userPrompt:"Rewrite the selected text in a more formal (professional) style",useSelection:o,streamToolsProvider:i.html.getStreamToolsProvider({defaultStreamTools:{add:!1,delete:!1,update:!0}})}))},size:"small"}),p=(t,o=!0)=>({key:"make_concise",title:"Stile Conciso",group:"Stile",aliases:["simplifica","semplificare","rendi più semplice","rendi più conciso"],icon:m(s,{size:18}),onItemClick:async()=>{await(t.getExtension(e)?.invokeAI({userPrompt:"Rewrite the selected text in a more concise (simplified) style",useSelection:o,streamToolsProvider:i.html.getStreamToolsProvider({defaultStreamTools:{add:!1,delete:!1,update:!0}})}))},size:"small"});export{c as correctGrammar,p as rewriteConcise,n as rewriteContent,g as rewriteFormal,u as rewriteInformal,d as translateContent};
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
 
3
3
  interface AvailableToolbarButtons {
4
- heading?: boolean | 'full' | 'essential';
4
+ heading?: boolean | 'full' | 'essential' | [number, number];
5
5
  bold?: boolean;
6
6
  italic?: boolean;
7
7
  underline?: boolean;
@@ -10,7 +10,9 @@ interface AvailableToolbarButtons {
10
10
  textAlign?: boolean;
11
11
  color?: boolean;
12
12
  nestBlock?: boolean;
13
+ unnestBlock?: boolean;
13
14
  link?: boolean;
15
+ ai?: boolean;
14
16
  }
15
17
  interface CustomToolbarButton {
16
18
  button: React.JSX.Element;
@@ -1 +1 @@
1
- import{c as t}from"react/compiler-runtime";import"@blocknote/core/fonts/inter.css";import"@blocknote/mantine/style.css";import{blockTypeSelectItems as e,BlockTypeSelect as n,BasicTextStyleButton as o,TextAlignButton as i,ColorStyleButton as l,NestBlockButton as r,UnnestBlockButton as c,FormattingToolbar as s}from"@blocknote/react";import"react";import{jsx as u}from"react/jsx-runtime";const a=a=>{const b=t(13),{editor:_,availableButtons:d,customButtons:g}=a,k=d?.heading??"full",m=d?.bold??!0,h=d?.italic??!0,f=d?.underline??!0,x=d?.strike??!0,p=d?.code??!1,y=d?.textAlign??!0,A=d?.color??!0,B=d?.nestBlock??!0,S=d?.link??!0;let T;if(b[0]!==g||b[1]!==_.dictionary||b[2]!==k||b[3]!==S||b[4]!==m||b[5]!==h||b[6]!==f||b[7]!==x||b[8]!==p||b[9]!==y||b[10]!==A||b[11]!==B){const t={heading:k,bold:m,italic:h,underline:f,strike:x,code:p,textAlign:y,color:A,nestBlock:B,link:S},a=e(_.dictionary),d=[u(n,{items:"full"===t.heading?a:a.slice(0,4)},"select_button"),u(o,{basicTextStyle:"bold"},"bold_button"),u(o,{basicTextStyle:"italic"},"italic_button"),u(o,{basicTextStyle:"underline"},"underline_button"),u(o,{basicTextStyle:"strike"},"strike_button"),u(o,{basicTextStyle:"code"},"code_button"),u(i,{textAlignment:"left"},"align_left_button"),u(i,{textAlignment:"center"},"align_center_butto"),u(i,{textAlignment:"right"},"align_right_button"),u(l,{},"color_button"),u(r,{},"nest_button"),u(c,{},"unnest_button")].filter(e=>{switch(e.key){case"select_button":return t.heading;case"bold_button":return t.bold;case"italic_button":return t.italic;case"underline_button":return t.underline;case"strike_button":return t.strike;case"code_button":return t.code;case"align_left_button":case"align_center_butto":case"align_right_button":return t.textAlign;case"color_button":return t.color;case"nest_button":case"unnest_button":return t.nestBlock;case"link_button":return t.link;default:return!0}});let v;t:{if(!g||0===g.length){v=d;break t}const t=[...d];g.forEach(e=>{const{button:n,position:o}=e;let i=void 0===o?0:o;(!i||i>t.length)&&(i=t.length),i<0&&(i=0),i>=t.length?t.push(n):t.splice(i,0,n)}),v=t}T=u(s,{children:v}),b[0]=g,b[1]=_.dictionary,b[2]=k,b[3]=S,b[4]=m,b[5]=h,b[6]=f,b[7]=x,b[8]=p,b[9]=y,b[10]=A,b[11]=B,b[12]=T}else T=b[12];return T};export{a as CustomFormattingToolbar};
1
+ import{c as t}from"react/compiler-runtime";import"@blocknote/core/fonts/inter.css";import"@blocknote/mantine/style.css";import{useExtensionState as e,blockTypeSelectItems as n,BlockTypeSelect as o,BasicTextStyleButton as i,TextAlignButton as r,ColorStyleButton as l,NestBlockButton as c,UnnestBlockButton as a,CreateLinkButton as s,useComponentsContext as u,useBlockNoteEditor as b,useExtension as d,FormattingToolbarController as m,FormattingToolbar as _}from"@blocknote/react";import{AIExtension as g,useAIDictionary as f,AIMenu as h,getDefaultAIMenuItems as k}from"@blocknote/xl-ai";import{SparklesIcon as p}from"lucide-react";import y,{useLayoutEffect as A}from"react";import{rewriteContent as S,correctGrammar as T,translateContent as x,rewriteInformal as B,rewriteFormal as v,rewriteConcise as M}from"./AiMenuItems.js";import{jsx as I,jsxs as z,Fragment as G}from"react/jsx-runtime";const H=u=>{const b=t(28),{editor:d,staticToolbar:f,selectToolbar:h,availableButtons:k,customButtons:p}=u,y=void 0===f||f,A=void 0!==h&&h;let S;b[0]!==d?(S={editor:d},b[0]=d,b[1]=S):S=b[1];const T=e(g,S),x="closed"!==T?.aiMenuState,B="closed"===T?.aiMenuState,v=k?.heading??"full",M=k?.bold??!0,H=k?.italic??!0,j=k?.underline??!0,E=k?.strike??!0,C=k?.code??!1,N=k?.textAlign??!0,R=k?.color??!0,W=k?.nestBlock??!1,q=k?.unnestBlock??!1,D=k?.link??!0,F=k?.ai??!1;let J;if(b[2]!==p||b[3]!==d.dictionary||b[4]!==N||b[5]!==R||b[6]!==W||b[7]!==q||b[8]!==D||b[9]!==F||b[10]!==v||b[11]!==M||b[12]!==H||b[13]!==j||b[14]!==E||b[15]!==C){const t={heading:v,bold:M,italic:H,underline:j,strike:E,code:C,textAlign:N,color:R,nestBlock:W,link:D,ai:F},e=n(d.dictionary),u=[I(o,{items:"full"===t.heading?e:e.slice(Array.isArray(t.heading)?t.heading[0]:0,Array.isArray(t.heading)?t.heading[1]:!0===t.heading?e.length:0)},"select_button"),I(w,{},"ai_button"),I(i,{basicTextStyle:"bold"},"bold_button"),I(i,{basicTextStyle:"italic"},"italic_button"),I(i,{basicTextStyle:"underline"},"underline_button"),I(i,{basicTextStyle:"strike"},"strike_button"),I(i,{basicTextStyle:"code"},"code_button"),I(r,{textAlignment:"left"},"align_left_button"),I(r,{textAlignment:"center"},"align_center_butto"),I(r,{textAlignment:"right"},"align_right_button"),I(l,{},"color_button"),I(c,{},"nest_button"),I(a,{},"unnest_button"),I(s,{},"link_button")].filter(e=>{switch(e.key){case"select_button":return t.heading;case"bold_button":return t.bold;case"italic_button":return t.italic;case"underline_button":return t.underline;case"strike_button":return t.strike;case"code_button":return t.code;case"align_left_button":case"align_center_butto":case"align_right_button":return t.textAlign;case"color_button":return t.color;case"nest_button":case"unnest_button":return t.nestBlock;case"link_button":return t.link;case"ai_button":return t.ai;default:return!0}});t:{if(!p||0===p.length){J=u;break t}const t=[...u];p.forEach(e=>{const{button:n,position:o}=e;let i=void 0===o?0:o;(!i||i>t.length)&&(i=t.length),i<0&&(i=0),i>=t.length?t.push(n):t.splice(i,0,n)}),J=t}b[2]=p,b[3]=d.dictionary,b[4]=N,b[5]=R,b[6]=W,b[7]=q,b[8]=D,b[9]=F,b[10]=v,b[11]=M,b[12]=H,b[13]=j,b[14]=E,b[15]=C,b[16]=J}else J=b[16];const K=J;let O,P,Q;return b[17]!==B||b[18]!==K||b[19]!==A?(O=A&&B&&I(m,{formattingToolbar:()=>I(_,{children:K})}),b[17]=B,b[18]=K,b[19]=A,b[20]=O):O=b[20],b[21]!==x||b[22]!==K||b[23]!==y?(P=y&&I(_,{children:I(L,{frozen:x,children:K})}),b[21]=x,b[22]=K,b[23]=y,b[24]=P):P=b[24],b[25]!==O||b[26]!==P?(Q=z(G,{children:[O,P]}),b[25]=O,b[26]=P,b[27]=Q):Q=b[27],Q},L=e=>{const n=t(11),{frozen:o,children:i}=e,[r,l]=y.useState(""),c=y.useRef(null);let a,s,u,b;if(n[0]!==o?(a=()=>{!o&&c.current&&c.current.innerHTML&&l(c.current.innerHTML)},n[0]=o,n[1]=a):a=n[1],n[2]!==i||n[3]!==o?(s=[o,i],n[2]=i,n[3]=o,n[4]=s):s=n[4],A(a,s),o&&r){let t,e;return n[5]===Symbol.for("react.memo_cache_sentinel")?(t={display:"contents",pointerEvents:"none",opacity:.5},n[5]=t):t=n[5],n[6]!==r?(e=I("div",{"aria-hidden":!0,style:t,dangerouslySetInnerHTML:{__html:r}}),n[6]=r,n[7]=e):e=n[7],e}return n[8]===Symbol.for("react.memo_cache_sentinel")?(u={display:"contents"},n[8]=u):u=n[8],n[9]!==i?(b=I("div",{ref:c,style:u,children:i}),n[9]=i,n[10]=b):b=n[10],b};function j(){const e=t(1);let n;return e[0]===Symbol.for("react.memo_cache_sentinel")?(n=I(h,{items:E}),e[0]=n):n=e[0],n}function E(t,e){return"user-input"===e?t.getSelection()?[S(t),T(t),x(),B(t),v(t),M(t)]:[S(t,!1),T(t,!1),x(),B(t,!1),v(t,!1),M(t,!1)]:k(t,e)}const w=()=>{const e=t(8),n=f(),o=u(),i=b(),r=d(g);if(!r||!o)return null;let l;e[0]!==r||e[1]!==i?(l=()=>{const t=i.getSelection();if(t?.blocks?.length){const e=t.blocks[t.blocks.length-1]?.id;if(e)return void r.openAIMenuAtBlock(e)}const e=i.document[i.document.length-1];e&&r.openAIMenuAtBlock(e.id)},e[0]=r,e[1]=i,e[2]=l):l=e[2];const c=l;let a,s;return e[3]===Symbol.for("react.memo_cache_sentinel")?(a=I(p,{size:18,strokeWidth:1.75}),e[3]=a):a=e[3],e[4]!==o.Generic.Toolbar.Button||e[5]!==n.formatting_toolbar.ai.tooltip||e[6]!==c?(s=I(o.Generic.Toolbar.Button,{className:"bn-button",label:n.formatting_toolbar.ai.tooltip,mainTooltip:n.formatting_toolbar.ai.tooltip,icon:a,onClick:c}),e[4]=o.Generic.Toolbar.Button,e[5]=n.formatting_toolbar.ai.tooltip,e[6]=c,e[7]=s):s=e[7],s};export{j as CustomAIMenu,H as CustomFormattingToolbar};
@@ -4,6 +4,21 @@ import { ButtonProps } from '@mui/material/Button';
4
4
  import React from 'react';
5
5
  import { AvailableToolbarButtons, CustomToolbarButton } from './FormattingToolbar.js';
6
6
 
7
+ interface ToolbarOptions {
8
+ style?: 'static' | 'collapse' | 'hidden';
9
+ selectMenu?: boolean;
10
+ slashMenu?: boolean;
11
+ sideMenu?: boolean;
12
+ stickyToolbar?: boolean;
13
+ availableButtons?: AvailableToolbarButtons;
14
+ customButtons?: CustomToolbarButton[];
15
+ submitButton?: ButtonProps & {
16
+ label?: string;
17
+ };
18
+ cancelButton?: ButtonProps & {
19
+ label?: string;
20
+ };
21
+ }
7
22
  interface RichTextEditorProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onBlur'> {
8
23
  ref?: React.Ref<HTMLDivElement | null>;
9
24
  id?: string;
@@ -11,7 +26,7 @@ interface RichTextEditorProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
11
26
  label?: string;
12
27
  placeholder?: string;
13
28
  mode?: 'html' | 'full_html' | 'json' | 'markdown';
14
- value?: string | PartialBlock[];
29
+ initialValue?: string | PartialBlock[];
15
30
  readonly?: boolean;
16
31
  disabled?: boolean;
17
32
  error?: boolean;
@@ -19,19 +34,14 @@ interface RichTextEditorProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
19
34
  trailingBlock?: boolean;
20
35
  onChange?: (text: string) => void;
21
36
  onBlur?: (text: string) => void;
37
+ required?: boolean;
22
38
  focus?: boolean;
23
- toolbar?: 'default' | 'static';
24
- menu?: boolean;
39
+ aiApi?: string;
25
40
  theme?: 'light' | 'dark';
26
41
  backgroundPreset?: 'default' | 'paper';
27
- menuPreset?: 'default' | 'paper';
28
- submitButton?: ButtonProps & {
29
- label?: string;
30
- };
31
- availableButtons?: AvailableToolbarButtons;
32
- customButtons?: CustomToolbarButton[];
42
+ toolbarOptions?: ToolbarOptions;
33
43
  }
34
- declare const RichTextEditor: (props: RichTextEditorProps) => react_jsx_runtime.JSX.Element | undefined;
44
+ declare const RichTextEditor: (props: RichTextEditorProps) => react_jsx_runtime.JSX.Element;
35
45
 
36
46
  export { RichTextEditor };
37
- export type { RichTextEditorProps };
47
+ export type { RichTextEditorProps, ToolbarOptions };
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import"@blocknote/core/fonts/inter.css";import{it as t}from"@blocknote/core/locales";import{BlockNoteView as o,lightDefaultTheme as r,darkDefaultTheme as a}from"@blocknote/mantine";import"@blocknote/mantine/style.css";import{useCreateBlockNote as n}from"@blocknote/react";import i from"@mui/material/Button";import l from"@mui/material/Collapse";import s from"@mui/material/GlobalStyles";import c from"@mui/material/Grid";import{useTheme as d}from"@mui/material/styles";import p from"@mui/material/Typography";import m from"react";import{useIsAiDirty as u,useIsAiEditing as b,useTypewriterSpeed as f}from"../AiEditingContext.js";import{aiLabelStyle as g}from"../AiUtils.js";import{CustomFormattingToolbar as h}from"./FormattingToolbar.js";import{jsxs as y,jsx as k}from"react/jsx-runtime";const x={};for(let e=0;e<50;e++)x[`.bn-ai-effect .bn-block-group .bn-block-outer:nth-of-type(${e+1})`]={animationDelay:`calc(${e} * var(--bn-ai-delay-step, 0.1s))`};const v=t,w=t=>{const w=e(100);let B,S,C,T,P,M,j,z,F,L,H,A,$,E,N,V,G,W,_,D,I,R,q;w[0]!==t?(({ref:F,id:C,name:P,label:T,placeholder:z,mode:A,value:q,readonly:$,disabled:E,error:N,errorMessage:S,trailingBlock:V,onChange:j,onBlur:M,focus:G,toolbar:W,menu:_,theme:R,submitButton:H,backgroundPreset:D,availableButtons:B,customButtons:I,...L}=t),w[0]=t,w[1]=B,w[2]=S,w[3]=C,w[4]=T,w[5]=P,w[6]=M,w[7]=j,w[8]=z,w[9]=F,w[10]=L,w[11]=H,w[12]=A,w[13]=$,w[14]=E,w[15]=N,w[16]=V,w[17]=G,w[18]=W,w[19]=_,w[20]=D,w[21]=I,w[22]=R,w[23]=q):(B=w[1],S=w[2],C=w[3],T=w[4],P=w[5],M=w[6],j=w[7],z=w[8],F=w[9],L=w[10],H=w[11],A=w[12],$=w[13],E=w[14],N=w[15],V=w[16],G=w[17],W=w[18],_=w[19],D=w[20],I=w[21],R=w[22],q=w[23]);const J=void 0===A?"html":A,O=void 0!==$&&$,U=void 0!==E&&E,K=void 0!==N&&N,Q=void 0!==V&&V,X=void 0!==G&&G,Y=void 0===W?"static":W,Z=void 0!==_&&_,ee=void 0===D?"paper":D;let te;w[24]!==I?(te=void 0===I?[]:I,w[24]=I,w[25]=te):te=w[25];const oe=te,re=u(P),ae=b(P),ne=f(),ie=L?.className,le=re?"bn-ai-dirty":"",se=ae?"bn-ai-effect":"";let ce;w[26]!==ie||w[27]!==le||w[28]!==se?(ce=[ie,le,se].filter(Boolean),w[26]=ie,w[27]=le,w[28]=se,w[29]=ce):ce=w[29];const de=ce.join(" ");let pe,me;w[30]!==z?(pe={...v,placeholders:{...v.placeholders,default:z}},w[30]=z,w[31]=pe):pe=w[31],w[32]!==pe||w[33]!==Q?(me={trailingBlock:Q,dictionary:pe},w[32]=pe,w[33]=Q,w[34]=me):me=w[34];const ue=n(me),[be,fe]=m.useState(X||!1),[ge,he]=m.useState(C?q:void 0),ye=d(),ke=R??ye.palette.mode,xe="default"===ee?ye.palette.background.default:ye.palette.background.paper,ve=K?ye.palette.error.main:be?"transparent":"silver";let we;w[35]!==ee||w[36]!==ke||w[37]!==U||w[38]!==ye?(we=((e="light",t,o,n=!1)=>{const i="default"===t?o.palette.background.default:o.palette.background.paper,l="default"===t?o.palette.background.paper:o.palette.background.default;return"light"===e?{...r,colors:{...r.colors,editor:{text:n?o.palette.text.disabled:o.palette.text.primary,background:i},menu:{text:o.palette.text.primary,background:l},selected:{text:"#FFFFFF",background:o.palette.primary.main},hovered:{text:o.palette.text.primary,background:o.palette.action.hover},tooltip:{text:o.palette.text.primary,background:o.palette.background.paper}}}:{...a,colors:{...a.colors,editor:{text:o.palette.text.primary,background:i},menu:{text:o.palette.text.primary,background:l},selected:{text:"#000000",background:o.palette.primary.main},hovered:{text:o.palette.text.primary,background:o.palette.action.hover},tooltip:{text:o.palette.text.primary,background:o.palette.background.paper},shadow:"0 4px 6px rgba(255, 255, 255, 0.21), 0 1px 3px rgba(255, 255, 255, 0.26)",border:o.palette.divider,disabled:{text:o.palette.text.disabled,background:o.palette.action.disabledBackground}}}})(ke,ee,ye,U),w[35]=ee,w[36]=ke,w[37]=U,w[38]=ye,w[39]=we):we=w[39];const Be=we,Se="default"===Y?120:void 0,Ce=re?"rgba(0,122,255,0.3)":ve,Te=be?"0 0 0 2px "+ye.palette.primary.main:void 0,Pe=U?"none":"auto",Me=U?"none":"auto";let je;w[40]!==xe||w[41]!==Se||w[42]!==Ce||w[43]!==Te||w[44]!==Pe||w[45]!==Me?(je={backgroundColor:xe,paddingTop:10,width:"100%",minHeight:Se,borderWidth:1,borderStyle:"solid",borderColor:Ce,borderRadius:8,boxShadow:Te,pointerEvents:Pe,userSelect:Me},w[40]=xe,w[41]=Se,w[42]=Ce,w[43]=Te,w[44]=Pe,w[45]=Me,w[46]=je):je=w[46];const ze=je;let Fe;w[47]!==ne||w[48]!==U||w[49]!==ae||w[50]!==re?(Fe=((e,t={})=>{const o={".bn-ai-dirty":{border:"2px solid",borderColor:"rgba(0,122,255,0.3)",transition:"border-color 0.3s ease",boxShadow:"0 0 12px rgba(0, 122, 255, 0.3), inset 0 0 0 1px rgba(0,122,255,0.5)",borderRadius:8},".bn-ai-dirty .bn-editor":{backgroundColor:"transparent",color:g.color}},r=e.duration||1.2,a={".bn-ai-effect":{borderColor:"rgba(0,122,255,0.5)",boxShadow:"0 0 12px rgba(0, 122, 255, 0.3)",animation:"glowPulse 1.2s ease-in-out infinite","--bn-ai-delay-step":`${Math.max(.03,Math.min(.15,r/12))}s`},".bn-ai-effect .bn-editor":{backgroundColor:"transparent",color:g.color},".bn-ai-effect .bn-block-group .bn-block-outer":{overflow:"hidden",clipPath:"inset(0 100% 0 0)",willChange:"clip-path",animation:`typing ${r}s ease-out forwards`}};return{".ProseMirror .bn-editor .bn-default-styles":{bakcgroundColor:"transparent"},".bn-editor":{backgroundColor:"transparent"},".bn-mantine .bn-select":{scrollbarColor:"silver transparent"},".bn-default-styles h1":{fontSize:"32px"},".bn-default-styles h2":{fontSize:"24px"},".bn-default-styles h3":{fontSize:"16px"},".bn-container":{display:"flex",flexDirection:"column",height:"100%",gap:"8px"},".bn-formatting-toolbar":{display:"flex !important",flexWrap:"wrap !important",margin:"10px",marginTop:"25px",boxShadow:"none !important",maxWidth:"100% !important"},...e.dirty?o:{},...e.animate?{...a,"@keyframes glowPulse":{"0%":{boxShadow:"0 0 6px rgba(0,122,255,0.3)"},"50%":{boxShadow:"0 0 12px rgba(0,122,255,0.6)"},"100%":{boxShadow:"0 0 6px rgba(0,122,255,0.3)"}},"@keyframes typing":{from:{clipPath:"inset(0 100% 0 0)"},to:{clipPath:"inset(0 0 0 0)"}},"@media (prefers-reduced-motion: reduce)":{".bn-ai-effect":{animation:"none"},".bn-ai-effect .bn-block-group .bn-block-outer":{animation:"none",clipPath:"none"}},...x}:{},...t}})({animate:ae,dirty:re,duration:ne},U?{".bn-inline-content":{userSelect:U?"none":"auto",pointerEvents:U?"none":"auto",color:U?"gray":"inherit"}}:{}),w[47]=ne,w[48]=U,w[49]=ae,w[50]=re,w[51]=Fe):Fe=w[51];const Le=Fe,He="static"===Y&&be&&!O&&!U;let Ae;w[52]!==U||w[53]!==ue||w[54]!==C||w[55]!==J||w[56]!==O||w[57]!==ge?(Ae=()=>{if(ue&&!O&&!U)switch(J){case"html":{const e=ue.blocksToHTMLLossy(ue.document);return C&&ge!==e&&he(e),e}case"full_html":{const e=ue.blocksToFullHTML(ue.document);return C&&ge!==e&&he(e),e}case"json":return JSON.stringify(ue.document,null,2);case"markdown":{const e=ue.blocksToMarkdownLossy(ue.document);return C&&ge!==e&&he(e),e}default:return}},w[52]=U,w[53]=ue,w[54]=C,w[55]=J,w[56]=O,w[57]=ge,w[58]=Ae):Ae=w[58];const $e=Ae;let Ee;w[59]!==$e||w[60]!==j?(Ee=()=>{const e=$e();e&&j?.(e)},w[59]=$e,w[60]=j,w[61]=Ee):Ee=w[61];const Ne=Ee;let Ve;w[62]!==$e||w[63]!==be||w[64]!==M?(Ve=e=>{e.stopPropagation();const t=document.querySelector(".bn-container, .bn-formatting-toolbar");if(t&&e.relatedTarget instanceof Node&&t.contains(e.relatedTarget))return;be&&fe(!1);const o=$e();o&&M?.(o)},w[62]=$e,w[63]=be,w[64]=M,w[65]=Ve):Ve=w[65];const Ge=Ve,[We,_e]=m.useState(!1);if(!We){if(!q&&U){const e=ue.tryParseHTMLToBlocks(`<p>${z}</p>`);return ue.replaceBlocks(ue.document,e),void _e(!0)}e:switch(J){case"html":(()=>{if(ue&&q&&"html"===J)if("string"==typeof q){try{const e=ue.tryParseHTMLToBlocks(q);ue.replaceBlocks(ue.document,e)}catch(e){const t=e;console.error(t)}_e(!0)}else console.error('Value must be a string when mode is "html"')})();break e;case"full_html":(()=>{if(ue&&q&&"full_html"===J)if("string"==typeof q){try{const e=ue.tryParseHTMLToBlocks(q);ue.replaceBlocks(ue.document,e)}catch(e){const t=e;console.error(t)}_e(!0)}else console.error('Value must be a string when mode is "html"')})();break e;case"json":(()=>{if(ue&&q&&"json"===J)if(Array.isArray(q)&&q.length>0){try{ue.replaceBlocks(ue.document,q)}catch(e){const t=e;console.error(t)}_e(!0)}else console.error('Value must be an array of PartialBlock objects when mode is "json"')})();break e;case"markdown":(()=>{if(ue&&q&&"markdown"===J)if("string"==typeof q){try{const e=ue.tryParseMarkdownToBlocks(q);ue.replaceBlocks(ue.document,e)}catch(e){const t=e;console.error(t)}_e(!0)}else console.error('Value must be a string when mode is "markdown"')})()}}let De,Ie,Re,qe,Je;return w[66]!==Le?(De=k(s,{styles:Le}),w[66]=Le,w[67]=De):De=w[67],w[68]!==re||w[69]!==T?(Ie=T&&k(c,{size:12,children:k(p,{variant:"body1",color:re?g.color:"textSecondary",mb:1,children:T})}),w[68]=re,w[69]=T,w[70]=Ie):Ie=w[70],w[71]!==B||w[72]!==de||w[73]!==oe||w[74]!==U||w[75]!==ue||w[76]!==ze||w[77]!==Be||w[78]!==Ge||w[79]!==Ne||w[80]!==C||w[81]!==be||w[82]!==He||w[83]!==Z||w[84]!==z||w[85]!==O||w[86]!==F||w[87]!==L||w[88]!==H||w[89]!==Y||w[90]!==ge?(Re=ue&&y(c,{ref:F,size:12,container:!0,component:"div",children:[k(o,{title:z,slashMenu:Z,editor:ue,editable:!O&&!U,theme:Be,formattingToolbar:"static"!==Y,...L,className:de,onChange:Ne,onBlurCapture:Ge,onFocusCapture:()=>{O||U||be||fe(!0)},style:ze,children:y(c,{container:!0,size:12,sx:{position:"relative",pointerEvents:U?"none":"auto",userSelect:U?"none":"auto"},children:[k(c,{flexGrow:1,children:k(l,{in:He,children:k(h,{editor:ue,availableButtons:B,customButtons:oe})})}),H&&k(c,{container:!0,justifyContent:"flex-end",alignItems:"flex-end",m:"10px",mb:"12px",children:k(i,{type:H.type??"button",variant:H.variant??"contained",size:"small",color:H.color??"primary",onClick:H.onClick,children:H.label||"Custom Action"})})]})}),C&&k("input",{type:"hidden",name:C,value:ge??"",style:{display:"none"}})]}),w[71]=B,w[72]=de,w[73]=oe,w[74]=U,w[75]=ue,w[76]=ze,w[77]=Be,w[78]=Ge,w[79]=Ne,w[80]=C,w[81]=be,w[82]=He,w[83]=Z,w[84]=z,w[85]=O,w[86]=F,w[87]=L,w[88]=H,w[89]=Y,w[90]=ge,w[91]=Re):Re=w[91],w[92]!==K||w[93]!==S?(qe=K&&S&&k(c,{size:12,children:k(p,{variant:"caption",color:"error",style:{marginInline:"14px",marginTop:"3px",marginBottom:-1},children:S})}),w[92]=K,w[93]=S,w[94]=qe):qe=w[94],w[95]!==De||w[96]!==Ie||w[97]!==Re||w[98]!==qe?(Je=y(c,{container:!0,size:12,children:[De,Ie,Re,qe]}),w[95]=De,w[96]=Ie,w[97]=Re,w[98]=qe,w[99]=Je):Je=w[99],Je};export{w as RichTextEditor};
1
+ import{c as e}from"react/compiler-runtime";import"@blocknote/core/fonts/inter.css";import{it as t}from"@blocknote/core/locales";import{BlockNoteView as o,lightDefaultTheme as r,darkDefaultTheme as a}from"@blocknote/mantine";import"@blocknote/mantine/style.css";import{useCreateBlockNote as n}from"@blocknote/react";import{AIExtension as l,AIMenuController as i}from"@blocknote/xl-ai";import{it as s}from"@blocknote/xl-ai/locales";import"@blocknote/xl-ai/style.css";import c from"@mui/material/Button";import d from"@mui/material/Collapse";import m from"@mui/material/FormLabel";import p from"@mui/material/GlobalStyles";import u from"@mui/material/Grid";import{useTheme as b,alpha as f}from"@mui/material/styles";import y from"@mui/material/Typography";import{DefaultChatTransport as g}from"ai";import k,{useEffectEvent as h,useEffect as x}from"react";import{useIsAiDirty as v,useIsAiEditing as B,useTypewriterSpeed as T}from"../AiEditingContext.js";import{richTextGlobalStyles as w,AI_COLOR as C,AiLabelWrapper as M}from"../AiUtils.js";import{CustomAIMenu as j,CustomFormattingToolbar as F}from"./FormattingToolbar.js";import{jsxs as S,jsx as L}from"react/jsx-runtime";const z=z=>{const P=e(153);let A,H,q,E,I,V,N,O,G,_,U,J,R,W,$,D,K,Q,X,Y,Z;P[0]!==z?(({ref:_,id:q,name:V,label:I,placeholder:G,mode:J,initialValue:E,readonly:R,disabled:W,error:$,errorMessage:H,trailingBlock:D,onChange:O,onBlur:N,required:K,focus:Q,aiApi:A,theme:Z,backgroundPreset:X,toolbarOptions:Y,...U}=z),P[0]=z,P[1]=A,P[2]=H,P[3]=q,P[4]=E,P[5]=I,P[6]=V,P[7]=N,P[8]=O,P[9]=G,P[10]=_,P[11]=U,P[12]=J,P[13]=R,P[14]=W,P[15]=$,P[16]=D,P[17]=K,P[18]=Q,P[19]=X,P[20]=Y,P[21]=Z):(A=P[1],H=P[2],q=P[3],E=P[4],I=P[5],V=P[6],N=P[7],O=P[8],G=P[9],_=P[10],U=P[11],J=P[12],R=P[13],W=P[14],$=P[15],D=P[16],K=P[17],Q=P[18],X=P[19],Y=P[20],Z=P[21]);const ee=void 0===J?"html":J,te=void 0!==R&&R,oe=void 0!==W&&W,re=void 0!==$&&$,ae=void 0!==D&&D,ne=void 0!==K&&K,le=void 0!==Q&&Q,ie=void 0===X?"paper":X;let se;P[22]!==Y?(se=void 0===Y?{}:Y,P[22]=Y,P[23]=se):se=P[23];const ce=se,{style:de,stickyToolbar:me,selectMenu:pe,sideMenu:ue,slashMenu:be,availableButtons:fe,customButtons:ye,submitButton:ge,cancelButton:ke}=ce,he=void 0===de?"collapse":de,xe=void 0===me||me,ve=void 0!==pe&&pe,Be=void 0!==ue&&ue,Te=void 0!==be&&be;let we;P[24]!==ye?(we=void 0===ye?[]:ye,P[24]=ye,P[25]=we):we=P[25];const Ce=we,Me=v(V),je=B(V),Fe=T(),Se=U?.className,Le=Me?"bn-ai-dirty":"",ze=je?"bn-ai-effect":"";let Pe;P[26]!==Se||P[27]!==Le||P[28]!==ze?(Pe=[Se,Le,ze].filter(Boolean),P[26]=Se,P[27]=Le,P[28]=ze,P[29]=Pe):Pe=P[29];const Ae=Pe.join(" ");let He,qe,Ee,Ie;P[30]!==G?(He={...t,ai:s,placeholders:{...t.placeholders,default:G}},P[30]=G,P[31]=He):He=P[31],P[32]!==A?(qe=l({transport:new g({api:A})}),P[32]=A,P[33]=qe):qe=P[33],P[34]!==qe?(Ee=[qe],P[34]=qe,P[35]=Ee):Ee=P[35],P[36]!==He||P[37]!==Ee||P[38]!==ae?(Ie={trailingBlock:ae,dictionary:He,extensions:Ee},P[36]=He,P[37]=Ee,P[38]=ae,P[39]=Ie):Ie=P[39];const Ve=n(Ie),[Ne,Oe]=k.useState(le||!1),[Ge,_e]=k.useState(q?E:void 0),Ue=b(),Je=Z??Ue.palette.mode,Re="default"===ie?Ue.palette.background.default:Ue.palette.background.paper,We=re?Ue.palette.error.main:Ne?"transparent":"silver";let $e;P[40]!==ie||P[41]!==Je||P[42]!==oe||P[43]!==Ue?($e=((e="light",t,o,n=!1)=>{const l="default"===t?o.palette.background.default:o.palette.background.paper,i="default"===t?o.palette.background.paper:o.palette.background.default;return"light"===e?{...r,colors:{...r.colors,editor:{text:n?o.palette.text.disabled:o.palette.text.primary,background:l},menu:{text:o.palette.text.primary,background:i},selected:{text:"#FFFFFF",background:o.palette.primary.main},hovered:{text:o.palette.text.primary,background:o.palette.action.hover},tooltip:{text:o.palette.text.primary,background:o.palette.background.paper}}}:{...a,colors:{...a.colors,editor:{text:o.palette.text.primary,background:l},menu:{text:o.palette.text.primary,background:i},selected:{text:"#000000",background:o.palette.primary.main},hovered:{text:o.palette.text.primary,background:o.palette.action.hover},tooltip:{text:o.palette.text.primary,background:o.palette.background.paper},shadow:"0 4px 6px rgba(255, 255, 255, 0.21), 0 1px 3px rgba(255, 255, 255, 0.26)",border:o.palette.divider,disabled:{text:o.palette.text.disabled,background:o.palette.action.disabledBackground}}}})(Je,ie,Ue,oe),P[40]=ie,P[41]=Je,P[42]=oe,P[43]=Ue,P[44]=$e):$e=P[44];const De=$e,Ke="static"===he?120:void 0,Qe=Me?"rgba(0,122,255,0.3)":We,Xe=Ne?"0 0 0 2px "+Ue.palette.primary.main:void 0,Ye=oe?"none":"auto",Ze=oe?"none":"auto";let et;P[45]!==Re||P[46]!==Ke||P[47]!==Qe||P[48]!==Xe||P[49]!==Ye||P[50]!==Ze?(et={backgroundColor:Re,paddingTop:10,width:"100%",minHeight:Ke,borderWidth:1,borderStyle:"solid",borderColor:Qe,borderRadius:16,boxShadow:Xe,pointerEvents:Ye,userSelect:Ze},P[45]=Re,P[46]=Ke,P[47]=Qe,P[48]=Xe,P[49]=Ye,P[50]=Ze,P[51]=et):et=P[51];const tt=et;let ot;P[52]!==Fe||P[53]!==oe||P[54]!==je||P[55]!==Me||P[56]!==Ue.palette.primary.main||P[57]!==Ue.palette.text.primary?(ot=w({animate:je,dirty:Me,duration:Fe},{".bn-editor ::selection":{backgroundColor:f(Ue.palette.primary.main,.24),color:Ue.palette.text.primary},".bn-editor *::selection":{backgroundColor:f(Ue.palette.primary.main,.24),color:Ue.palette.text.primary},...oe?{".bn-inline-content":{userSelect:oe?"none":"auto",pointerEvents:oe?"none":"auto",color:oe?"gray":"inherit"}}:{}}),P[52]=Fe,P[53]=oe,P[54]=je,P[55]=Me,P[56]=Ue.palette.primary.main,P[57]=Ue.palette.text.primary,P[58]=ot):ot=P[58];const rt=ot,at="collapse"===he&&Ne&&!te&&!oe,nt="collapse"!==he&&!te&&!oe;let lt;P[59]!==Ve||P[60]!==ee?(lt=()=>{if(Ve)try{switch(ee){case"html":return Ve.blocksToHTMLLossy(Ve.document);case"full_html":return Ve.blocksToFullHTML(Ve.document);case"json":return JSON.stringify(Ve.document,null,2);case"markdown":return Ve.blocksToMarkdownLossy(Ve.document);default:return}}catch(e){const t=e;return void console.error("Error generating output:",t)}},P[59]=Ve,P[60]=ee,P[61]=lt):lt=P[61];const it=lt;let st;P[62]!==oe||P[63]!==it||P[64]!==q||P[65]!==te||P[66]!==Ge?(st=()=>{if(te||oe)return;const e=it();return q&&"string"==typeof e&&Ge!==e&&_e(e),e},P[62]=oe,P[63]=it,P[64]=q,P[65]=te,P[66]=Ge,P[67]=st):st=P[67];const ct=st;let dt;P[68]!==ct||P[69]!==O?(dt=()=>{const e=ct();e&&O?.(e)},P[68]=ct,P[69]=O,P[70]=dt):dt=P[70];const mt=dt;let pt;P[71]!==ct||P[72]!==Ne||P[73]!==N?(pt=e=>{e.stopPropagation();const t=document.querySelector(".bn-container, .bn-formatting-toolbar");if(t&&e.relatedTarget instanceof Node&&t.contains(e.relatedTarget))return;Ne&&Oe(!1);const o=ct();o&&N?.(o)},P[71]=ct,P[72]=Ne,P[73]=N,P[74]=pt):pt=P[74];const ut=pt;let bt;P[75]!==Ve||P[76]!==E||P[77]!==ee?(bt=()=>{if(Ve&&E&&"html"===ee)if("string"==typeof E)try{const e=Ve.tryParseHTMLToBlocks(E);Ve.replaceBlocks(Ve.document,e)}catch(e){const t=e;console.error(t)}else console.error('Value must be a string when mode is "html"')},P[75]=Ve,P[76]=E,P[77]=ee,P[78]=bt):bt=P[78];const ft=h(bt);let yt;P[79]!==Ve||P[80]!==E||P[81]!==ee?(yt=()=>{if(Ve&&E&&"full_html"===ee)if("string"==typeof E)try{const e=Ve.tryParseHTMLToBlocks(E);Ve.replaceBlocks(Ve.document,e)}catch(e){const t=e;console.error(t)}else console.error('Value must be a string when mode is "html"')},P[79]=Ve,P[80]=E,P[81]=ee,P[82]=yt):yt=P[82];const gt=h(yt);let kt;P[83]!==Ve||P[84]!==E||P[85]!==ee?(kt=()=>{if(Ve&&E&&"json"===ee)if(Array.isArray(E)&&E.length>0)try{Ve.replaceBlocks(Ve.document,E)}catch(e){const t=e;console.error(t)}else console.error('Value must be an array of PartialBlock objects when mode is "json"')},P[83]=Ve,P[84]=E,P[85]=ee,P[86]=kt):kt=P[86];const ht=h(kt);let xt;P[87]!==Ve||P[88]!==E||P[89]!==ee?(xt=()=>{if(Ve&&E&&"markdown"===ee)if("string"==typeof E)try{const e=Ve.tryParseMarkdownToBlocks(E);Ve.replaceBlocks(Ve.document,e)}catch(e){const t=e;console.error(t)}else console.error('Value must be a string when mode is "markdown"')},P[87]=Ve,P[88]=E,P[89]=ee,P[90]=xt):xt=P[90];const vt=h(xt);let Bt,Tt,wt,Ct,Mt,jt,Ft;return P[91]!==oe||P[92]!==Ve||P[93]!==it||P[94]!==E||P[95]!==gt||P[96]!==ft||P[97]!==ht||P[98]!==vt||P[99]!==ee||P[100]!==G?(Bt=()=>{if(Ve){if(!E&&oe){const e=Ve.tryParseHTMLToBlocks(`<p>${G}</p>`);return void Ve.replaceBlocks(Ve.document,e)}if("string"==typeof E){if(it()===E)return}e:switch(ee){case"html":ft();break e;case"full_html":gt();break e;case"json":ht();break e;case"markdown":vt()}}},P[91]=oe,P[92]=Ve,P[93]=it,P[94]=E,P[95]=gt,P[96]=ft,P[97]=ht,P[98]=vt,P[99]=ee,P[100]=G,P[101]=Bt):Bt=P[101],P[102]!==oe||P[103]!==Ve||P[104]!==it||P[105]!==E||P[106]!==ee||P[107]!==G?(Tt=[Ve,E,ee,oe,G,it],P[102]=oe,P[103]=Ve,P[104]=it,P[105]=E,P[106]=ee,P[107]=G,P[108]=Tt):Tt=P[108],x(Bt,Tt),P[109]!==rt?(wt=L(p,{styles:rt}),P[109]=rt,P[110]=wt):wt=P[110],P[111]!==je||P[112]!==Me||P[113]!==I||P[114]!==V||P[115]!==ne?(Ct=I&&L(m,{required:!Me&&ne,sx:{mb:1,color:Me?C:"textSecondary","& .MuiFormLabel-asterisk":{color:je||Me?C:"error.main"}},children:L(M,{name:V,label:I,required:ne})}),P[111]=je,P[112]=Me,P[113]=I,P[114]=V,P[115]=ne,P[116]=Ct):Ct=P[116],P[117]!==A||P[118]!==fe||P[119]!==ke||P[120]!==Ae||P[121]!==Ce||P[122]!==oe||P[123]!==Ve||P[124]!==tt||P[125]!==De||P[126]!==ut||P[127]!==mt||P[128]!==q||P[129]!==at||P[130]!==Ne||P[131]!==nt||P[132]!==G||P[133]!==te||P[134]!==_||P[135]!==ne||P[136]!==U||P[137]!==ve||P[138]!==Be||P[139]!==Te||P[140]!==xe||P[141]!==ge||P[142]!==he||P[143]!==Ge?(Mt=Ve&&S(u,{ref:_,size:12,container:!0,component:"div",children:[S(o,{title:G,editor:Ve,slashMenu:Te,sideMenu:Be,editable:!te&&!oe,theme:De,formattingToolbar:!1,...U,className:Ae,onChange:mt,onBlurCapture:ut,onFocusCapture:()=>{te||oe||Ne||Oe(!0)},style:tt,children:[A&&L(i,{aiMenu:j,floatingUIOptions:{useFloatingOptions:{strategy:"fixed"}}}),S(u,{container:!0,size:12,sx:{position:xe?"sticky":"relative",bottom:xe?0:void 0,zIndex:xe?2:void 0,backgroundColor:xe?"transparent":void 0,pointerEvents:oe?"none":"auto",userSelect:oe?"none":"auto"},children:[S(u,{flexGrow:1,children:["collapse"===he&&L(d,{in:at,children:L(F,{editor:Ve,staticToolbar:!0,selectToolbar:ve,availableButtons:{...fe,ai:Boolean(A&&!1!==fe?.ai)},customButtons:Ce})}),nt&&L(F,{editor:Ve,staticToolbar:"hidden"!==he,selectToolbar:ve,availableButtons:{...fe,ai:Boolean(A&&!1!==fe?.ai)},customButtons:Ce})]}),ke&&L(u,{container:!0,justifyContent:"flex-start",alignItems:"flex-end",m:"10px",mb:"12px",children:L(c,{type:ke.type??"button",size:"small",color:ke.color??"secondary",...ke,children:ke.label||"Cancel"})}),ge&&L(u,{container:!0,justifyContent:"flex-end",alignItems:"flex-end",m:"10px",mb:"12px",children:L(c,{type:ge.type??"button",size:"small",color:ge.color??"primary",...ge,children:ge.label||"Custom Action"})})]})]}),q&&L("input",{type:"hidden",name:q,value:Ge??"",required:ne,style:{display:"none"}})]}),P[117]=A,P[118]=fe,P[119]=ke,P[120]=Ae,P[121]=Ce,P[122]=oe,P[123]=Ve,P[124]=tt,P[125]=De,P[126]=ut,P[127]=mt,P[128]=q,P[129]=at,P[130]=Ne,P[131]=nt,P[132]=G,P[133]=te,P[134]=_,P[135]=ne,P[136]=U,P[137]=ve,P[138]=Be,P[139]=Te,P[140]=xe,P[141]=ge,P[142]=he,P[143]=Ge,P[144]=Mt):Mt=P[144],P[145]!==re||P[146]!==H?(jt=re&&H&&L(u,{size:12,children:L(y,{variant:"caption",color:"error",style:{marginInline:"14px",marginTop:"3px",marginBottom:-1},children:H})}),P[145]=re,P[146]=H,P[147]=jt):jt=P[147],P[148]!==wt||P[149]!==Ct||P[150]!==Mt||P[151]!==jt?(Ft=S(u,{container:!0,size:12,children:[wt,Ct,Mt,jt]}),P[148]=wt,P[149]=Ct,P[150]=Mt,P[151]=jt,P[152]=Ft):Ft=P[152],Ft};export{z as RichTextEditor};
@@ -7,6 +7,7 @@ interface RichTextFieldProps<T extends FieldValues> extends Omit<RichTextEditorP
7
7
  control: Control<T>;
8
8
  defaultValue?: FieldPathValue<T, Path<T>>;
9
9
  rules?: Omit<RegisterOptions<T, Path<T>>, 'valueAsNumber' | 'valueAsDate' | 'setValueAs' | 'disabled'>;
10
+ required?: boolean;
10
11
  shouldUnregister?: boolean;
11
12
  }
12
13
  declare function RichTextField<T extends FieldValues>(props: RichTextFieldProps<T>): react_jsx_runtime.JSX.Element;
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import{Controller as r}from"react-hook-form";import{RichTextEditor as o}from"./RichTextEditor/RichTextEditor.js";import{jsx as t}from"react/jsx-runtime";function l(l){const i=e(17);let a,s,d,n,m,u,c,f;return i[0]!==l?(({name:d,control:a,defaultValue:s,rules:m,shouldUnregister:u,...n}=l),i[0]=l,i[1]=a,i[2]=s,i[3]=d,i[4]=n,i[5]=m,i[6]=u):(a=i[1],s=i[2],d=i[3],n=i[4],m=i[5],u=i[6]),i[7]!==n?(c=e=>{const{field:r,fieldState:l}=e,{error:i}=l;return t(o,{...n,...r,value:r.value,error:Boolean(i),errorMessage:i?.message})},i[7]=n,i[8]=c):c=i[8],i[9]!==a||i[10]!==s||i[11]!==d||i[12]!==n.disabled||i[13]!==m||i[14]!==u||i[15]!==c?(f=t(r,{name:d,control:a,defaultValue:s,disabled:n.disabled,rules:m,shouldUnregister:u,render:c}),i[9]=a,i[10]=s,i[11]=d,i[12]=n.disabled,i[13]=m,i[14]=u,i[15]=c,i[16]=f):f=i[16],f}export{l as RichTextField};
1
+ import{c as e}from"react/compiler-runtime";import{useController as r}from"react-hook-form";import{RichTextEditor as o}from"./RichTextEditor/RichTextEditor.js";import{jsx as t}from"react/jsx-runtime";function l(l){const n=e(30);let i,a,s,u,d,m,c,f;n[0]!==l?(({name:s,control:i,defaultValue:a,rules:m,shouldUnregister:c,required:u,...d}=l),n[0]=l,n[1]=i,n[2]=a,n[3]=s,n[4]=u,n[5]=d,n[6]=m,n[7]=c):(i=n[1],a=n[2],s=n[3],u=n[4],d=n[5],m=n[6],c=n[7]),n[8]!==i||n[9]!==a||n[10]!==s||n[11]!==d.disabled||n[12]!==m||n[13]!==c?(f={name:s,control:i,defaultValue:a,disabled:d.disabled,rules:m,shouldUnregister:c},n[8]=i,n[9]=a,n[10]=s,n[11]=d.disabled,n[12]=m,n[13]=c,n[14]=f):f=n[14];const{field:h,fieldState:g}=r(f);let p;n[15]!==h||n[16]!==d?(p=e=>{h.onChange(e),d.onChange?.(e)},n[15]=h,n[16]=d,n[17]=p):p=n[17];const b=p;let x;n[18]!==h||n[19]!==d?(x=e=>{h.onBlur(),d.onBlur?.(e)},n[18]=h,n[19]=d,n[20]=x):x=n[20];const B=x,C=h.value??a,V=Boolean(g.error),j=g.error?.message;let q;return n[21]!==B||n[22]!==b||n[23]!==s||n[24]!==u||n[25]!==d||n[26]!==C||n[27]!==V||n[28]!==j?(q=t(o,{...d,name:s,initialValue:C,onChange:b,onBlur:B,error:V,errorMessage:j,required:u}),n[21]=B,n[22]=b,n[23]=s,n[24]=u,n[25]=d,n[26]=C,n[27]=V,n[28]=j,n[29]=q):q=n[29],q}export{l as RichTextField};
@@ -1 +1 @@
1
- import{c as r}from"react/compiler-runtime";import e from"@mui/material/FormControl";import i from"@mui/material/FormLabel";import l from"@mui/material/InputAdornment";import o from"@mui/material/InputLabel";import t from"@mui/material/Select";import{SparklesIcon as a}from"lucide-react";import"react";import{Controller as m}from"react-hook-form";import{useIsAiEditing as n,useIsAiDirty as d,useTypewriterSpeed as s}from"./AiEditingContext.js";import{aiSelectSxEffect as u,aiLabelStyle as c}from"./AiUtils.js";import{jsx as f,jsxs as p,Fragment as b}from"react/jsx-runtime";function h(h){const x=r(20),{name:v,control:g,defaultValue:A,rules:j,shouldUnregister:y,legend:z,children:I,...U}=h,C=void 0===z||z,F=n(v),L=d(v),S=s();let V;x[0]!==S||x[1]!==F||x[2]!==L?(V=u({animate:F,dirty:L,duration:S}),x[0]=S,x[1]=F,x[2]=L,x[3]=V):V=x[3];const W=[V,...Array.isArray(U.sx)?U.sx:U.sx?[U.sx]:[]];let $,k;return x[4]!==I||x[5]!==F||x[6]!==L||x[7]!==C||x[8]!==v||x[9]!==U||x[10]!==W?($=r=>{const{field:m,fieldState:n}=r,{error:d}=n;return p(b,{children:[C&&p(i,{sx:{color:L||F?c.color:void 0},children:[" ",U.label," "]}),p(e,{fullWidth:U.fullWidth??!0,size:U.size,sx:{position:"relative"},children:[!C&&p(o,{id:`${v}-label`,sx:{color:L||F?c.color:void 0},children:[" ",U.label," "]}),f(t,{labelId:`${v}-label`,variant:"outlined",...U,label:C?"":U.label,error:Boolean(d),...m,disabled:m.disabled,value:m.value??null,sx:W,children:I}),L&&!F&&f(l,{position:"end",sx:{position:"absolute",right:45,top:"50%",transform:"translateY(-50%)"},children:f(a,{size:20,color:"rgba(0,122,255,0.8)"})})]})]})},x[4]=I,x[5]=F,x[6]=L,x[7]=C,x[8]=v,x[9]=U,x[10]=W,x[11]=$):$=x[11],x[12]!==g||x[13]!==A||x[14]!==v||x[15]!==j||x[16]!==U.disabled||x[17]!==y||x[18]!==$?(k=f(m,{name:v,control:g,defaultValue:A,disabled:U.disabled,rules:j,shouldUnregister:y,render:$}),x[12]=g,x[13]=A,x[14]=v,x[15]=j,x[16]=U.disabled,x[17]=y,x[18]=$,x[19]=k):k=x[19],k}export{h as SelectField};
1
+ import{c as e}from"react/compiler-runtime";import r from"@mui/material/FormControl";import l from"@mui/material/FormLabel";import i from"@mui/material/InputLabel";import o from"@mui/material/Select";import"react";import{Controller as a}from"react-hook-form";import{useIsAiEditing as t,useIsAiDirty as d,useTypewriterSpeed as m}from"./AiEditingContext.js";import{aiSelectSxEffect as n,AI_COLOR as u,AiLabelWrapper as s}from"./AiUtils.js";import{jsx as b,jsxs as c,Fragment as f}from"react/jsx-runtime";function p(p){const h=e(20),{name:x,control:q,defaultValue:v,rules:g,shouldUnregister:y,legend:A,children:F,...L}=p,j=void 0===A||A,k=t(x),U=d(x),z=m();let C;h[0]!==z||h[1]!==k||h[2]!==U?(C=n({animate:k,dirty:U,duration:z}),h[0]=z,h[1]=k,h[2]=U,h[3]=C):C=h[3];const I=[C,...Array.isArray(L.sx)?L.sx:L.sx?[L.sx]:[]];let M,S;return h[4]!==F||h[5]!==k||h[6]!==U||h[7]!==j||h[8]!==x||h[9]!==L||h[10]!==I?(M=e=>{const{field:a,fieldState:t}=e,{error:d}=t;return c(f,{children:[j&&L.label&&b(l,{required:!U&&L.required,sx:{display:"flex",color:U||k?u:void 0,"& .MuiFormLabel-asterisk":{color:k||U?u:"error.main"}},children:b(s,{name:x,label:L.label,required:L.required})}),c(r,{fullWidth:L.fullWidth??!0,size:L.size,required:L.required,children:[!j&&L.label&&b(i,{id:`${x}-label`,required:!U&&void 0,sx:{color:U||k?u:void 0,"& .MuiFormLabel-asterisk":{color:U||k?u:void 0}},children:b(s,{name:x,label:L.label,required:L.required})}),b(o,{labelId:`${x}-label`,variant:"outlined",...L,label:j?"":b(s,{name:x,label:L.label}),error:Boolean(d),...a,disabled:a.disabled,value:a.value??null,sx:I,children:F})]})]})},h[4]=F,h[5]=k,h[6]=U,h[7]=j,h[8]=x,h[9]=L,h[10]=I,h[11]=M):M=h[11],h[12]!==q||h[13]!==v||h[14]!==x||h[15]!==g||h[16]!==L.disabled||h[17]!==y||h[18]!==M?(S=b(a,{name:x,control:q,defaultValue:v,disabled:L.disabled,rules:g,shouldUnregister:y,render:M}),h[12]=q,h[13]=v,h[14]=x,h[15]=g,h[16]=L.disabled,h[17]=y,h[18]=M,h[19]=S):S=h[19],S}export{p as SelectField};
@@ -10,6 +10,7 @@ interface TimeFieldProps<T extends FieldValues> extends Omit<TimePickerProps, 'n
10
10
  shouldUnregister?: boolean;
11
11
  legend?: boolean;
12
12
  fullWidth?: boolean;
13
+ required?: boolean;
13
14
  stringOnEmpty?: boolean;
14
15
  }
15
16
  declare function TimeField<T extends FieldValues>(props: TimeFieldProps<T>): react_jsx_runtime.JSX.Element;