@famalabs/web-ui 1.0.0-beta.3 → 1.0.0-beta.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/auth/AuthSuccess.d.ts +2 -2
- package/dist/components/auth/AuthSuccess.js +1 -1
- package/dist/components/auth/PasswordField.js +1 -1
- package/dist/components/common/MainDiv.d.ts +2 -1
- package/dist/components/common/MainDiv.js +1 -1
- package/dist/components/common/MenuItems.d.ts +7 -6
- package/dist/components/common/MenuItems.js +1 -1
- package/dist/components/forms/AiEditingContext.d.ts +31 -7
- package/dist/components/forms/AiEditingContext.js +1 -1
- package/dist/components/forms/AiUtils.js +1 -1
- package/dist/components/forms/AutocompleteField.js +1 -1
- package/dist/components/forms/DateField.d.ts +1 -0
- package/dist/components/forms/DateField.js +1 -1
- package/dist/components/forms/InputField.js +1 -1
- package/dist/components/forms/RichTextEditor/AiMenuItems.js +1 -0
- package/dist/components/forms/RichTextEditor/FormattingToolbar.d.ts +3 -1
- package/dist/components/forms/RichTextEditor/FormattingToolbar.js +1 -1
- package/dist/components/forms/RichTextEditor/RichTextEditor.d.ts +21 -11
- package/dist/components/forms/RichTextEditor/RichTextEditor.js +1 -1
- package/dist/components/forms/RichTextField.d.ts +1 -0
- package/dist/components/forms/RichTextField.js +1 -1
- package/dist/components/forms/SelectField.js +1 -1
- package/dist/components/forms/TimeField.d.ts +1 -0
- package/dist/components/forms/TimeField.js +1 -1
- package/dist/components/sidebar/SidebarFooter.d.ts +7 -3
- package/dist/components/sidebar/SidebarFooter.js +1 -1
- package/dist/components/sidebar/SidebarLayout.d.ts +10 -6
- package/dist/components/sidebar/SidebarLayout.js +1 -1
- package/dist/components/snackbar/Notifier/Notifier.d.ts +1 -2
- package/dist/components/snackbar/Notifier/Notifier.js +1 -1
- package/dist/components/tables/CardsTable/CardsTable.d.ts +6 -0
- package/dist/components/tables/CardsTable/CardsTable.js +1 -0
- package/dist/components/tables/CardsTable/CardsTableBody.js +1 -0
- package/dist/components/tables/CardsTable/CardsTableFooter.js +1 -0
- package/dist/components/tables/{CardsGrid/DynamicCardsTypes.d.ts → CardsTable/CardsTableTypes.d.ts} +11 -20
- package/dist/components/tables/RealtimeTable/RealTimeTableBody.js +1 -1
- package/dist/components/tables/RealtimeTable/RealTimeTableFooter.js +1 -1
- package/dist/components/tables/RealtimeTable/RealtimeTable.d.ts +1 -1
- package/dist/components/tables/RealtimeTable/RealtimeTable.js +1 -1
- package/dist/components/tables/RealtimeTable/RealtimeTableTypes.d.ts +31 -13
- package/dist/components/tables/StaticTable/StaticFiltersUlts.js +1 -0
- package/dist/components/tables/StaticTable/StaticTable.d.ts +6 -0
- package/dist/components/tables/StaticTable/StaticTable.js +1 -0
- package/dist/components/tables/StaticTable/StaticTableBody.js +1 -0
- package/dist/components/tables/StaticTable/StaticTableFooter.js +1 -0
- package/dist/components/tables/StaticTable/StaticTableTypes.d.ts +15 -0
- package/dist/components/tables/TableCells/ActionCell.d.ts +2 -2
- package/dist/components/tables/TableCells/ActionCell.js +1 -1
- package/dist/components/tables/TableCells/AvatarCell.d.ts +2 -2
- package/dist/components/tables/TableCells/AvatarCell.js +1 -1
- package/dist/components/tables/TableCells/SelectCell.d.ts +1 -0
- package/dist/components/tables/TableCells/SelectCell.js +1 -1
- package/dist/components/tables/TableComponents/TableActionHeader.js +1 -1
- package/dist/components/tables/TableComponents/TableCommonBody.js +1 -1
- package/dist/components/tables/TableComponents/TableFilterComponents.js +1 -1
- package/dist/components/tables/TableComponents/TableFilterHeader.js +1 -1
- package/dist/components/tables/TableComponents/TableFunctions.d.ts +7 -0
- package/dist/components/tables/TableComponents/TableFunctions.js +1 -0
- package/dist/components/tables/TableComponents/TableLocales.js +1 -1
- package/dist/components/tables/TableComponents/TableTypes.d.ts +71 -79
- package/dist/components/theme/ThemeLoader/Loader.d.ts +4 -4
- package/dist/components/theme/ThemeLoader/Loader.js +1 -1
- package/dist/index.d.ts +10 -11
- package/dist/index.js +1 -1
- package/package.json +18 -12
- package/dist/components/tables/CardsGrid/CardsBodyCreator.js +0 -1
- package/dist/components/tables/CardsGrid/DynamcCardsFooter.js +0 -1
- package/dist/components/tables/CardsGrid/DynamicCardsTable.d.ts +0 -6
- package/dist/components/tables/CardsGrid/DynamicCardsTable.js +0 -1
- package/dist/components/tables/LegacyTable/LegacyTable.d.ts +0 -6
- package/dist/components/tables/LegacyTable/LegacyTable.js +0 -1
- package/dist/components/tables/LegacyTable/LegacyTableFooter.js +0 -1
- package/dist/components/tables/TableCells/ImageCell.d.ts +0 -7
- package/dist/components/tables/TableCells/ImageCell.js +0 -1
- package/dist/components/tables/TableCells/LinkCell.d.ts +0 -8
- package/dist/components/tables/TableCells/LinkCell.js +0 -1
- package/dist/components/tables/TableCells/StatusCell.d.ts +0 -11
- package/dist/components/tables/TableCells/StatusCell.js +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
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:
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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 {
|
|
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
|
|
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 |
|
|
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
|
-
|
|
24
|
+
runAiEdits: (options: RunAiEditOptions[]) => Promise<void>;
|
|
25
|
+
cancelAiEdits: () => void;
|
|
11
26
|
typewriterSpeed: number;
|
|
12
|
-
setTypewriterSpeed: (speed: number) => void;
|
|
13
27
|
}
|
|
14
|
-
declare const AiEditingProvider: ({
|
|
15
|
-
|
|
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
|
|
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
|
-
|
|
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/
|
|
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
|
|
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 i from"dayjs";import{CalendarFoldIcon as t}from"lucide-react";import l from"react";import{useWatch as s,Controller as a}from"react-hook-form";import{useIsAiEditing as n,useIsAiDirty as d,useTypewriterSpeed as m}from"./AiEditingContext.js";import{aiEffectStyle as u,AI_COLOR as c,AiLabelWrapper as f}from"./AiUtils.js";import{jsx as p,jsxs as x,Fragment as b}from"react/jsx-runtime";function y(y){const v=e(16),{name:h,control:P,defaultValue:D,rules:g,shouldUnregister:A,legend:F,fullWidth:k,required:S,stringOnEmpty:q,...B}=y,V=void 0===F||F,M=void 0===k||k,j=void 0!==S&&S,z=void 0!==q&&q?"":null,L=n(h),Y=d(h),C=m(),I=B.minDate??i("1900-01-01"),O=B.maxDate??i("2099-12-31"),U=e=>(!I||e.isAfter(I)||e.isSame(I,"day"))&&(!O||e.isBefore(O)||e.isSame(O,"day"));let E;v[0]!==P||v[1]!==h?(E={control:P,name:h},v[0]=P,v[1]=h,v[2]=E):E=v[2];const H=s(E),[T,W]=l.useState(H),[w,G]=l.useState(()=>{if(H){const e=i(H);return e.isValid()&&U(e)?e:null}return null});if(H!==T)if(W(H),H){const e=i(H);G(e.isValid()&&U(e)?e:null)}else G(null);let J;v[3]!==z||v[4]!==G?(J=(e,r,o)=>{if(!e||!e.isValid())return r(z),o(),void G(null);r(e.toDate().toISOString()),o(),G(e)},v[3]=z,v[4]=G,v[5]=J):J=v[5];const K=J,N=B.slotProps?.textField?.sx,Q=[u({animate:L,dirty:Y,duration:C}),...Array.isArray(N)?N:N?[N]:[]],R=L?"none":void 0;let X;v[6]!==R?(X={display:R},v[6]=R,v[7]=X):X=v[7];const Z=[...Array.isArray(N)?N:N?[N]:[],X],$=e=>{const{field:i,fieldState:l}=e,{error:s}=l;return x(b,{children:[V&&B.label&&p(r,{required:!Y&&j,sx:{display:"flex",color:Y||L?c:void 0,"& .MuiFormLabel-asterisk":{color:L||Y?c:"error.main"}},children:p(f,{name:h,label:B.label,required:j})}),p(o,{views:["year","month","day"],format:"DD/MM/YYYY HH:mm",...B,...i,ref:i.ref,formatDensity:"dense",value:w,onChange:e=>{e&&e.isValid()&&U(e)?G(e):G(null)},minDate:I,maxDate:O,enableAccessibleFieldDOMStructure:!1,onAccept:e=>K(e,i.onChange,i.onBlur),slots:{...B.slots,openPickerIcon:t},slotProps:{openPickerIcon:{color:Y?c:void 0,size:"small"===B.slotProps?.textField?.size?18:22},openPickerButton:{size:B.slotProps?.textField?.size,sx:Z},...B.slotProps,textField:{required:j,fullWidth:M,label:V?"":p(f,{name:h,label:B.label,required:j}),error:Boolean(s),helperText:s?.message,onBlur:i.onBlur,slotProps:{inputLabel:{required:!Y&&void 0,sx:{display:"flex",color:Y||L?c:void 0,"& .MuiFormLabel-asterisk":{color:Y||L?c:void 0}}}},...B.slotProps?.textField,sx:Q}}})]})};let _;return v[8]!==P||v[9]!==B.disabled||v[10]!==D||v[11]!==h||v[12]!==g||v[13]!==A||v[14]!==$?(_=p(a,{name:h,control:P,defaultValue:D,disabled:B.disabled,rules:g,shouldUnregister:A,render:$}),v[8]=P,v[9]=B.disabled,v[10]=D,v[11]=h,v[12]=g,v[13]=A,v[14]=$,v[15]=_):_=v[15],_}export{y as DateField};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as r}from"react/compiler-runtime";import e from"@mui/material/FormLabel";import
|
|
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{
|
|
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
|
-
|
|
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
|
-
|
|
24
|
-
menu?: boolean;
|
|
39
|
+
aiApi?: string;
|
|
25
40
|
theme?: 'light' | 'dark';
|
|
26
41
|
backgroundPreset?: 'default' | 'paper';
|
|
27
|
-
|
|
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
|
|
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{
|
|
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
|
|
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;
|