@smart-cloud/ai-kit-ui 1.0.0 → 1.0.2
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/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +3 -5
- package/src/withAiKitShell.tsx +8 -6
package/dist/index.cjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
inherits: true;
|
|
5
5
|
initial-value: 0deg;
|
|
6
6
|
}
|
|
7
|
-
`,i.head.appendChild(n)}function oa(i){let n=5381;for(let u=0;u<i.length;u++)n=(n<<5)+n^i.charCodeAt(u);return(n>>>0).toString(36)}var ht="ai-kit-style-text";function wt({stylesheets:i,className:n,styleText:u,children:s,rootElementId:l,mode:p="local",overlayRootId:b="ai-kit-overlay-root"}){let I=(0,N.useRef)(null),[j,W]=(0,N.useState)(null),[D,J]=(0,N.useState)(null),Y=(0,N.useMemo)(()=>[...i].join("|"),[i]),c=(0,N.useMemo)(()=>u?oa(u):"",[u]);(0,N.useLayoutEffect)(()=>{if(!I.current)return;let R=p==="overlay"?bt():I.current.ownerDocument,P;if(p==="overlay"){let L=R.getElementById(b);L||(L=R.createElement("div"),L.id=b,L.style.position="fixed",L.style.inset="0",L.style.width="0",L.style.height="0",L.style.zIndex="2147483647",L.style.pointerEvents="none",R.body.appendChild(L)),P=L}else P=I.current;let G=P.shadowRoot??P.attachShadow({mode:"open"}),T=G.querySelector(`#${CSS.escape(l)}`);T||(T=R.createElement("div"),T.id=l,T.style.margin="0",p==="overlay"&&(T.style.pointerEvents="auto"),G.appendChild(T));let E=()=>T.getAttribute("data-mantine-color-scheme"),K=()=>T.getAttribute("data-ai-kit-variation"),C=()=>{P.setAttribute("data-ai-kit-variation",K()||"default"),P.setAttribute("data-mantine-color-scheme",E()||"auto"),n&&(P.className=n),P.style.setProperty("outline","none"),P.style.setProperty("box-shadow","none"),P.style.setProperty("--mantine-color-body","transparent")};C();let ne=new MutationObserver(C);ne.observe(T,{attributes:!0,attributeFilter:["data-mantine-color-scheme"]});let w=window.matchMedia?.("(prefers-color-scheme: dark)"),F=()=>C();w?.addEventListener?.("change",F),ia(),ra(R,T,G,Y?Y.split("|"):[]);let k=G.getElementById(ht);if(u)if(k)(k.getAttribute("data-hash")||"")!==c&&(k.setAttribute("data-hash",c),k.textContent=u);else{let L=R.createElement("style");L.id=ht,L.setAttribute("data-hash",c),L.textContent=u,T.appendChild(L)}else k&&k.remove();return W(G),J(T),()=>{ne.disconnect(),w?.removeEventListener?.("change",F)}},[p,b,l,Y,u,c]);let o=(0,N.useMemo)(()=>D?(0,kt.default)({key:p==="overlay"?"ai-kit-ov":"ai-kit-local",container:D}):null,[D,p]);return(0,xe.jsx)("div",{ref:I,children:D&&j&&o?(0,Tt.createPortal)((0,xe.jsx)(ft.CacheProvider,{value:o,children:s({rootElement:D,shadowRoot:j})}),D):null})}var de=require("react/jsx-runtime");function Se(i,n){let u=s=>{let{store:l,variation:p,showOpenButton:b,colors:I,colorMode:j,primaryColor:W,primaryShade:D,className:J,styleText:Y,language:c,direction:o}={...s,...n},R=(0,ve.useSelect)(()=>(0,ye.getStoreSelect)(l).getLanguage()),P=(0,ve.useSelect)(()=>(0,ye.getStoreSelect)(l).getDirection()),G=(0,ve.useSelect)(()=>(0,ye.getStoreSelect)(l).getCustomTranslations()),[T]=(0,ae.useState)(new URLSearchParams(window.location.search).get("language")??""),[E]=(0,ae.useState)(new URLSearchParams(window.location.search).get("direction")??""),K=(0,ae.useMemo)(()=>{Ae.I18n.putVocabularies(G||{});let k=R||T||c;if(!k||k==="system"){Ae.I18n.setLanguage("");return}return Ae.I18n.setLanguage(k),k},[c,T,R,G]),C=(0,ae.useMemo)(()=>{let k=P||E||o;return!k||k==="auto"?K==="ar"||K==="he"?"rtl":"ltr":k},[K,o,P,E]),ne=(0,ae.useMemo)(()=>[WpSuite?.constants?.aiKit?.mantineCssHref,WpSuite?.constants?.aiKit?.aiKitUiCssHref],[WpSuite]),w;I&&(w={},Object.keys(I).forEach(k=>{w[k]=(0,H.colorsTuple)(I[k])}));let F=(0,H.createTheme)({respectReducedMotion:!0,...w&&{colors:w},...W&&[...Object.keys(H.DEFAULT_THEME.colors),...Object.keys(w||{})].includes(W)&&{primaryColor:W},...D&&Object.keys(D).length>0&&{primaryShade:{light:D.light??(typeof H.DEFAULT_THEME.primaryShade=="object"?H.DEFAULT_THEME.primaryShade.light:H.DEFAULT_THEME.primaryShade??6),dark:D.dark??(typeof H.DEFAULT_THEME.primaryShade=="object"?H.DEFAULT_THEME.primaryShade.dark:H.DEFAULT_THEME.primaryShade??6)}},components:{Button:{styles:{root:{borderRadius:"inherit"}}},Tooltip:{defaultProps:{withinPortal:!1,zIndex:100002}},Modal:{defaultProps:{withinPortal:!1,zIndex:100002}
|
|
7
|
+
`,i.head.appendChild(n)}function oa(i){let n=5381;for(let u=0;u<i.length;u++)n=(n<<5)+n^i.charCodeAt(u);return(n>>>0).toString(36)}var ht="ai-kit-style-text";function wt({stylesheets:i,className:n,styleText:u,children:s,rootElementId:l,mode:p="local",overlayRootId:b="ai-kit-overlay-root"}){let I=(0,N.useRef)(null),[j,W]=(0,N.useState)(null),[D,J]=(0,N.useState)(null),Y=(0,N.useMemo)(()=>[...i].join("|"),[i]),c=(0,N.useMemo)(()=>u?oa(u):"",[u]);(0,N.useLayoutEffect)(()=>{if(!I.current)return;let R=p==="overlay"?bt():I.current.ownerDocument,P;if(p==="overlay"){let L=R.getElementById(b);L||(L=R.createElement("div"),L.id=b,L.style.position="fixed",L.style.inset="0",L.style.width="0",L.style.height="0",L.style.zIndex="2147483647",L.style.pointerEvents="none",R.body.appendChild(L)),P=L}else P=I.current;let G=P.shadowRoot??P.attachShadow({mode:"open"}),T=G.querySelector(`#${CSS.escape(l)}`);T||(T=R.createElement("div"),T.id=l,T.style.margin="0",p==="overlay"&&(T.style.pointerEvents="auto"),G.appendChild(T));let E=()=>T.getAttribute("data-mantine-color-scheme"),K=()=>T.getAttribute("data-ai-kit-variation"),C=()=>{P.setAttribute("data-ai-kit-variation",K()||"default"),P.setAttribute("data-mantine-color-scheme",E()||"auto"),n&&(P.className=n),P.style.setProperty("outline","none"),P.style.setProperty("box-shadow","none"),P.style.setProperty("--mantine-color-body","transparent")};C();let ne=new MutationObserver(C);ne.observe(T,{attributes:!0,attributeFilter:["data-mantine-color-scheme"]});let w=window.matchMedia?.("(prefers-color-scheme: dark)"),F=()=>C();w?.addEventListener?.("change",F),ia(),ra(R,T,G,Y?Y.split("|"):[]);let k=G.getElementById(ht);if(u)if(k)(k.getAttribute("data-hash")||"")!==c&&(k.setAttribute("data-hash",c),k.textContent=u);else{let L=R.createElement("style");L.id=ht,L.setAttribute("data-hash",c),L.textContent=u,T.appendChild(L)}else k&&k.remove();return W(G),J(T),()=>{ne.disconnect(),w?.removeEventListener?.("change",F)}},[p,b,l,Y,u,c]);let o=(0,N.useMemo)(()=>D?(0,kt.default)({key:p==="overlay"?"ai-kit-ov":"ai-kit-local",container:D}):null,[D,p]);return(0,xe.jsx)("div",{ref:I,children:D&&j&&o?(0,Tt.createPortal)((0,xe.jsx)(ft.CacheProvider,{value:o,children:s({rootElement:D,shadowRoot:j})}),D):null})}var de=require("react/jsx-runtime");function Se(i,n){let u=s=>{let{store:l,variation:p,showOpenButton:b,colors:I,colorMode:j,primaryColor:W,primaryShade:D,className:J,styleText:Y,language:c,direction:o}={...s,...n},R=(0,ve.useSelect)(()=>(0,ye.getStoreSelect)(l).getLanguage()),P=(0,ve.useSelect)(()=>(0,ye.getStoreSelect)(l).getDirection()),G=(0,ve.useSelect)(()=>(0,ye.getStoreSelect)(l).getCustomTranslations()),[T]=(0,ae.useState)(new URLSearchParams(window.location.search).get("language")??""),[E]=(0,ae.useState)(new URLSearchParams(window.location.search).get("direction")??""),K=(0,ae.useMemo)(()=>{Ae.I18n.putVocabularies(G||{});let k=R||T||c;if(!k||k==="system"){Ae.I18n.setLanguage("");return}return Ae.I18n.setLanguage(k),k},[c,T,R,G]),C=(0,ae.useMemo)(()=>{let k=P||E||o;return!k||k==="auto"?K==="ar"||K==="he"?"rtl":"ltr":k},[K,o,P,E]),ne=(0,ae.useMemo)(()=>[WpSuite?.constants?.aiKit?.mantineCssHref,WpSuite?.constants?.aiKit?.aiKitUiCssHref],[WpSuite]),w;I&&(w={},Object.keys(I).forEach(k=>{w[k]=(0,H.colorsTuple)(I[k])}));let F=(0,H.createTheme)({respectReducedMotion:!0,...w&&{colors:w},...W&&[...Object.keys(H.DEFAULT_THEME.colors),...Object.keys(w||{})].includes(W)&&{primaryColor:W},...D&&Object.keys(D).length>0&&{primaryShade:{light:D.light??(typeof H.DEFAULT_THEME.primaryShade=="object"?H.DEFAULT_THEME.primaryShade.light:H.DEFAULT_THEME.primaryShade??6),dark:D.dark??(typeof H.DEFAULT_THEME.primaryShade=="object"?H.DEFAULT_THEME.primaryShade.dark:H.DEFAULT_THEME.primaryShade??6)}},components:{Button:{styles:{root:{borderRadius:"inherit"}}},Tooltip:{defaultProps:{withinPortal:!1,zIndex:100002}},Modal:{defaultProps:{withinPortal:!1,zIndex:100002}},Select:{defaultProps:{comboboxProps:{withinPortal:!1,floatingStrategy:"fixed",positionDependencies:[],position:"bottom",middlewares:{flip:!1,shift:{padding:10,boundary:"clippingAncestors"}}}}}}});return(0,de.jsx)(wt,{mode:p==="modal"&&!b?"overlay":"local",overlayRootId:"ai-kit-overlay-root",stylesheets:ne,styleText:Y,className:J,rootElementId:p==="modal"&&!b?"ai-kit-portal-root":"ai-kit-inline-root",children:({rootElement:k})=>(k.setAttribute("data-ai-kit-variation",p||"default"),k.setAttribute("dir",C),K&&k.setAttribute("lang",K),(0,de.jsx)(H.DirectionProvider,{initialDirection:C,children:(0,de.jsx)(H.MantineProvider,{defaultColorScheme:j,theme:F,cssVariablesSelector:`#${k.id}`,getRootElement:()=>k,children:(0,de.jsx)(i,{...s,language:K,rootElement:k})})}))})};return u.displayName=`withAiKitShell(${i.displayName??i.name??"Component"})`,u}var Pe=require("react/jsx-runtime");function Me({enabled:i=!0,working:n=!1,variation:u="default",children:s}){return(0,Pe.jsx)("div",{className:"ai-kit-feature-border","data-ai-kit-active":!!(i&&n)?"true":"false","data-ai-kit-variation":u,children:(0,Pe.jsx)("div",{className:"ai-kit-feature-border__content",children:s})})}var yt=require("@mantine/core"),vt=require("react"),oe=require("aws-amplify/utils"),ce=require("react/jsx-runtime");function sa(i){let n=[...i].sort((l,p)=>l.startIndex-p.startIndex),u=[],s=-1;for(let l of n)typeof l.startIndex!="number"||typeof l.endIndex!="number"||l.startIndex<0||l.endIndex<=l.startIndex||l.startIndex<s||(u.push(l),s=l.endIndex);return u}function At({original:i,corrections:n}){let u=(0,vt.useMemo)(()=>{let s=sa(n||[]),l=[],p=0;for(let b of s){b.startIndex>p&&l.push({kind:"plain",text:i.slice(p,b.startIndex)});let I=i.slice(b.startIndex,b.endIndex);l.push({kind:"corr",original:I,corr:b}),p=b.endIndex}return p<i.length&&l.push({kind:"plain",text:i.slice(p)}),l},[i,n]);return(0,ce.jsx)("div",{style:{padding:12,border:"1px solid rgba(0,0,0,0.1)",borderRadius:6,background:"rgba(0,0,0,0.02)",whiteSpace:"pre-wrap",lineHeight:1.5},children:u.map((s,l)=>{if(s.kind==="plain")return(0,ce.jsx)("span",{children:s.text},l);let p=(s.corr.replacement??s.corr.correction??"").trim(),b=(s.corr.explanation??"").trim(),I=(s.corr.type??"").trim(),j=[I?oe.I18n.get("Type")+": - "+oe.I18n.get(I):"",p?oe.I18n.get("Replace with")+": "+p:"",b?oe.I18n.get("Why")+": "+b:""].filter(Boolean).join(`
|
|
8
8
|
`);return(0,ce.jsx)(yt.Tooltip,{label:j||oe.I18n.get("Suggested change"),multiline:!0,children:(0,ce.jsx)("span",{style:{textDecoration:"underline",textDecorationStyle:"wavy",cursor:"help",padding:"0 1px"},children:s.original})},l)})})}var ze=$(require("rehype-sanitize"),1),St=$(require("rehype-stringify"),1),zt=$(require("remark-gfm"),1),It=$(require("remark-parse"),1),Rt=$(require("remark-rehype"),1),Ct=require("unified"),Ie=async i=>String(await(0,Ct.unified)().use(It.default).use(zt.default).use(Rt.default,{allowDangerousHtml:!1}).use(ze.default,ze.defaultSchema).use(St.default).process(i));var a=require("react/jsx-runtime");e.I18n.putVocabularies(be);var la={type:"object",properties:{title:{type:"string",minLength:1,maxLength:60},excerpt:{type:"string",minLength:1,maxLength:155}},required:["title","excerpt"],additionalProperties:!1},ua={type:"object",properties:{alt:{type:"string",minLength:1,maxLength:125},title:{type:"string",minLength:1,maxLength:80},caption:{type:"string",minLength:1,maxLength:150},description:{type:"string",minLength:1,maxLength:300}},required:["alt","title","caption","description"],additionalProperties:!1};function ga(i){let n=(i??"").trim();return n&&n.toLowerCase().split("-")[0]||null}async function De(i,n){let u=await(0,m.detectLanguage)({text:i},{signal:n.signal,onStatus:n.onStatus,context:n.context,modeOverride:n.modeOverride});return ga(u.result?.candidates?.[0]?.detectedLanguage)??"en"}async function da(i,n){let u=ie(i||"").trim();if(!u)return{};try{let s=JSON.parse(u);return{alt_text:typeof s.alt=="string"?n&&n!=="en"?(await(0,m.translate)({text:s.alt,sourceLanguage:"en",targetLanguage:n})).result:s.alt:"",title:typeof s.title=="string"?n&&n!=="en"?(await(0,m.translate)({text:s.title,sourceLanguage:"en",targetLanguage:n})).result:s.title:"",caption:typeof s.caption=="string"?n&&n!=="en"?(await(0,m.translate)({text:s.caption,sourceLanguage:"en",targetLanguage:n})).result:s.caption:"",description:typeof s.description=="string"?n&&n!=="en"?(await(0,m.translate)({text:s.description,sourceLanguage:"en",targetLanguage:n})).result:s.description:""}}catch(s){return console.warn("AI Kit: failed to parse JSON metadata output",s),{}}}async function ca(i,n){let u=ie(i||"").trim();if(!u)return{};try{let s=JSON.parse(u);return{title:typeof s.title=="string"?n&&n!=="en"?(await(0,m.translate)({text:s.title,sourceLanguage:"en",targetLanguage:n})).result:s.title:"",excerpt:typeof s.excerpt=="string"?n&&n!=="en"?(await(0,m.translate)({text:s.excerpt,sourceLanguage:"en",targetLanguage:n})).result:s.excerpt:""}}catch(s){return console.warn("AI Kit: failed to parse JSON metadata output",s),{}}}var ma=i=>{let{allowOverride:n,autoRun:u=!0,editable:s=!0,variation:l=i.variation||"default",title:p,showOpenButton:b=!1,showOpenButtonTitle:I=!0,showOpenButtonIcon:j=!0,openButtonTitle:W,openButtonIcon:D,showRegenerateOnBackendButton:J=!0,acceptButtonTitle:Y=i.acceptButtonTitle||"Accept",optionsDisplay:c=i.optionsDisplay||"collapse",mode:o,context:R,modeOverride:P,colorMode:G,default:T,onClose:E,onAccept:K,language:C,rootElement:ne}=i,w={text:n?.text??!0,instructions:n?.instructions??!0,tone:n?.tone??!0,length:n?.length??!0,type:n?.type??!0,outputLanguage:n?.outputLanguage??!0,outputFormat:n?.outputFormat??!0},F=(0,d.useMemo)(()=>!!(o==="write"&&w?.text||(o==="write"||o==="rewrite"||o==="generateImageMetadata"||o==="generatePostMetadata")&&w?.instructions||(o==="write"||o==="rewrite")&&w?.tone||(o==="write"||o==="rewrite"||o==="summarize")&&w?.length||o==="summarize"&&w?.type||w?.outputLanguage),[w]),[k,L]=(0,d.useState)(!b),[Ue,me]=(0,d.useState)(!1),[Pt,Be]=(0,d.useState)(!1),[Oe,pe]=(0,d.useState)(null),[v,x]=(0,d.useState)(null),[se,Mt]=(0,d.useState)(T?.text),[Re]=(0,d.useState)(T?.image),[B,Dt]=(0,d.useState)(T?.instructions),[X,Ge]=(0,d.useState)(T?.inputLanguage),[le,Kt]=(0,d.useState)(T?.outputFormat),[y,We]=(0,d.useState)(T?.outputLanguage),[_,Ht]=(0,d.useState)(T?.length),[ee,Ut]=(0,d.useState)(T?.tone),[re,Bt]=(0,d.useState)(T?.type),he=(0,d.useRef)(!1),Ee=(0,d.useMemo)(()=>{C&&e.I18n.setLanguage(C||"en");let t;switch(o){default:case"summarize":t=e.I18n.get("Summarize");break;case"proofread":t=e.I18n.get("Proofread");break;case"write":t=e.I18n.get("Write");break;case"rewrite":t=e.I18n.get("Rewrite");break;case"translate":t=e.I18n.get("Translate");break;case"generatePostMetadata":t=e.I18n.get("Generate Post Metadata");break;case"generateImageMetadata":t=e.I18n.get("Generate Image Metadata");break}return t},[o,C]),Ot=(0,d.useCallback)(t=>{if(!t)return null;let h=t.step,f=e.I18n.get((t.message??"").trim()),A=typeof t.progress=="number"?t.progress:null,M=A==null?null:Math.round(A*100);switch(h){case"decide":return f||e.I18n.get("Checking capabilities...");case"on-device:init":return f||e.I18n.get("Initializing on-device AI...");case"on-device:download":return f||(M==null?e.I18n.get("Downloading model..."):e.I18n.get("Downloading model...")+" "+M+"%");case"on-device:ready":return f||e.I18n.get("On-device model ready.");case"on-device:run":return f||e.I18n.get("Generating...");case"backend:request":return f||e.I18n.get("Sending request to backend...");case"backend:waiting":return f||e.I18n.get("Waiting for backend response...");case"backend:response":return f||e.I18n.get("Received backend response.");case"done":return f||e.I18n.get("Done.");case"error":return f||e.I18n.get("Something went wrong.");default:return f||e.I18n.get("Working...")}},[C]),te=(0,d.useMemo)(()=>se??T?.getText,[se,T]),V=(0,d.useMemo)(()=>{let t=typeof te=="function"?te():te;switch(o){case"generateImageMetadata":return!!Re;case"translate":return!!(t&&t.trim().length>0)&&y&&X!==y;case"summarize":case"proofread":case"rewrite":case"write":case"generatePostMetadata":return!!(t&&t.trim().length>0);default:return!1}},[te,o,Re,X,y]),g=Le(),Ne=Ot(g.statusEvent),ue=(0,d.useCallback)(async t=>{if(V){F&&o!=="proofread"&&V&&me(!1),pe(null),x(null);try{let h=typeof te=="function"?te():te;switch(o){case"summarize":{let f=await g.run(async({signal:A,onStatus:M})=>{let S=(y&&y!=="auto"?y:null)||Q(),z={text:h.trim(),format:le==="plain-text"?"plain-text":"markdown",length:_,type:re,outputLanguage:S};return(await(0,m.summarize)(z,{signal:A,onStatus:M,context:R,modeOverride:t})).result});x(f??"");break}case"proofread":{let f=await g.run(async({signal:A,onStatus:M})=>{let S=[];try{let _t=(await(0,m.detectLanguage)({text:h.trim()},{signal:A,onStatus:M})).result?.candidates?.filter(fe=>fe.confidence&&fe.confidence>.1).map(fe=>fe.detectedLanguage);S.push(..._t)}catch{S.push("en")}let z={text:h.trim(),expectedInputLanguages:S};return(await(0,m.proofread)(z,{signal:A,onStatus:M,context:R,modeOverride:t})).result});x(f??"");break}case"translate":{let f=await g.run(async({signal:A,onStatus:M})=>{let S=X??"auto";S==="auto"&&(S=await De(h.trim(),{signal:A}),Ge(S));let z=(y&&y!=="auto"?y:null)||Q();if(z===S)throw pe(e.I18n.get("Input and output languages cannot be the same.")),new Error(e.I18n.get("Input and output languages cannot be the same."));let O={text:h.trim(),sourceLanguage:S,targetLanguage:z};return(await(0,m.translate)(O,{signal:A,onStatus:M,context:R,modeOverride:t})).result});x(f??"");break}case"rewrite":{let f=await g.run(async({signal:A,onStatus:M})=>{let S=(y&&y!=="auto"?y:null)||Q();y==="auto"&&(S=await De(h.trim(),{signal:A}),We(S));let z={text:h.trim(),context:B?.trim()||void 0,format:le==="plain-text"?"plain-text":"markdown",tone:ee,length:_,outputLanguage:S};return(await(0,m.rewrite)(z,{signal:A,onStatus:M,context:R,modeOverride:t})).result});x(f??"");break}case"write":{let f=(y&&y!=="auto"?y:null)||Q(),A={prompt:h.trim(),context:B?.trim()||void 0,format:le==="plain-text"?"plain-text":"markdown",tone:ee,length:_,outputLanguage:f},M=await g.run(async({signal:S,onStatus:z})=>{let O=await De(h.trim()+`
|
|
9
9
|
`+(B?.trim()||""),{signal:S});return O!==f&&O!=="en"&&(A.prompt=(await(0,m.translate)({text:A.prompt,sourceLanguage:O,targetLanguage:"en"})).result,B&&(A.context=(await(0,m.translate)({text:B,sourceLanguage:O,targetLanguage:"en"})).result)),(await(0,m.write)(A,{signal:S,onStatus:z,context:R,modeOverride:t})).result});x(M??"");break}case"generatePostMetadata":{let f=[{role:"system",content:"You generate SEO metadata for a WordPress post. Return a minified JSON object with keys: title, excerpt. Constraints: title <= 60 chars, excerpt <= 155 chars. Do not add extra keys."+(B?`
|
|
10
10
|
Follow these additional instructions: ${B}`:"")},{role:"user",content:`Post content:
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import{Alert as Oe,Button as ne,Collapse as za,Divider as Ia,Group as Y,Input as
|
|
|
4
4
|
inherits: true;
|
|
5
5
|
initial-value: 0deg;
|
|
6
6
|
}
|
|
7
|
-
`,r.head.appendChild(a)}function ga(r){let a=5381;for(let l=0;l<r.length;l++)a=(a<<5)+a^r.charCodeAt(l);return(a>>>0).toString(36)}var yt="ai-kit-style-text";function St({stylesheets:r,className:a,styleText:l,children:o,rootElementId:s,mode:d="local",overlayRootId:k="ai-kit-overlay-root"}){let A=oa(null),[G,B]=bt(null),[P,E]=bt(null),N=Le(()=>[...r].join("|"),[r]),g=Le(()=>l?ga(l):"",[l]);ia(()=>{if(!A.current)return;let S=d==="overlay"?At():A.current.ownerDocument,L;if(d==="overlay"){let I=S.getElementById(k);I||(I=S.createElement("div"),I.id=k,I.style.position="fixed",I.style.inset="0",I.style.width="0",I.style.height="0",I.style.zIndex="2147483647",I.style.pointerEvents="none",S.body.appendChild(I)),L=I}else L=A.current;let U=L.shadowRoot??L.attachShadow({mode:"open"}),h=U.querySelector(`#${CSS.escape(s)}`);h||(h=S.createElement("div"),h.id=s,h.style.margin="0",d==="overlay"&&(h.style.pointerEvents="auto"),U.appendChild(h));let O=()=>h.getAttribute("data-mantine-color-scheme"),M=()=>h.getAttribute("data-ai-kit-variation"),z=()=>{L.setAttribute("data-ai-kit-variation",M()||"default"),L.setAttribute("data-mantine-color-scheme",O()||"auto"),a&&(L.className=a),L.style.setProperty("outline","none"),L.style.setProperty("box-shadow","none"),L.style.setProperty("--mantine-color-body","transparent")};z();let ie=new MutationObserver(z);ie.observe(h,{attributes:!0,attributeFilter:["data-mantine-color-scheme"]});let f=window.matchMedia?.("(prefers-color-scheme: dark)"),W=()=>z();f?.addEventListener?.("change",W),ua(),la(S,h,U,N?N.split("|"):[]);let m=U.getElementById(yt);if(l)if(m)(m.getAttribute("data-hash")||"")!==g&&(m.setAttribute("data-hash",g),m.textContent=l);else{let I=S.createElement("style");I.id=yt,I.setAttribute("data-hash",g),I.textContent=l,h.appendChild(I)}else m&&m.remove();return B(U),E(h),()=>{ie.disconnect(),f?.removeEventListener?.("change",W)}},[d,k,s,N,l,g]);let n=Le(()=>P?na({key:d==="overlay"?"ai-kit-ov":"ai-kit-local",container:P}):null,[P,d]);return vt("div",{ref:A,children:P&&G&&n?sa(vt(ra,{value:n,children:o({rootElement:P,shadowRoot:G})}),P):null})}import{jsx as ve}from"react/jsx-runtime";function Ke(r,a){let l=o=>{let{store:s,variation:d,showOpenButton:k,colors:A,colorMode:G,primaryColor:B,primaryShade:P,className:E,styleText:N,language:g,direction:n}={...o,...a},S=Pe(()=>xe(s).getLanguage()),L=Pe(()=>xe(s).getDirection()),U=Pe(()=>xe(s).getCustomTranslations()),[h]=zt(new URLSearchParams(window.location.search).get("language")??""),[O]=zt(new URLSearchParams(window.location.search).get("direction")??""),M=De(()=>{Me.putVocabularies(U||{});let m=S||h||g;if(!m||m==="system"){Me.setLanguage("");return}return Me.setLanguage(m),m},[g,h,S,U]),z=De(()=>{let m=L||O||n;return!m||m==="auto"?M==="ar"||M==="he"?"rtl":"ltr":m},[M,n,L,O]),ie=De(()=>[WpSuite?.constants?.aiKit?.mantineCssHref,WpSuite?.constants?.aiKit?.aiKitUiCssHref],[WpSuite]),f;A&&(f={},Object.keys(A).forEach(m=>{f[m]=da(A[m])}));let W=ca({respectReducedMotion:!0,...f&&{colors:f},...B&&[...Object.keys(ae.colors),...Object.keys(f||{})].includes(B)&&{primaryColor:B},...P&&Object.keys(P).length>0&&{primaryShade:{light:P.light??(typeof ae.primaryShade=="object"?ae.primaryShade.light:ae.primaryShade??6),dark:P.dark??(typeof ae.primaryShade=="object"?ae.primaryShade.dark:ae.primaryShade??6)}},components:{Button:{styles:{root:{borderRadius:"inherit"}}},Tooltip:{defaultProps:{withinPortal:!1,zIndex:100002}},Modal:{defaultProps:{withinPortal:!1,zIndex:100002}
|
|
7
|
+
`,r.head.appendChild(a)}function ga(r){let a=5381;for(let l=0;l<r.length;l++)a=(a<<5)+a^r.charCodeAt(l);return(a>>>0).toString(36)}var yt="ai-kit-style-text";function St({stylesheets:r,className:a,styleText:l,children:o,rootElementId:s,mode:d="local",overlayRootId:k="ai-kit-overlay-root"}){let A=oa(null),[G,B]=bt(null),[P,E]=bt(null),N=Le(()=>[...r].join("|"),[r]),g=Le(()=>l?ga(l):"",[l]);ia(()=>{if(!A.current)return;let S=d==="overlay"?At():A.current.ownerDocument,L;if(d==="overlay"){let I=S.getElementById(k);I||(I=S.createElement("div"),I.id=k,I.style.position="fixed",I.style.inset="0",I.style.width="0",I.style.height="0",I.style.zIndex="2147483647",I.style.pointerEvents="none",S.body.appendChild(I)),L=I}else L=A.current;let U=L.shadowRoot??L.attachShadow({mode:"open"}),h=U.querySelector(`#${CSS.escape(s)}`);h||(h=S.createElement("div"),h.id=s,h.style.margin="0",d==="overlay"&&(h.style.pointerEvents="auto"),U.appendChild(h));let O=()=>h.getAttribute("data-mantine-color-scheme"),M=()=>h.getAttribute("data-ai-kit-variation"),z=()=>{L.setAttribute("data-ai-kit-variation",M()||"default"),L.setAttribute("data-mantine-color-scheme",O()||"auto"),a&&(L.className=a),L.style.setProperty("outline","none"),L.style.setProperty("box-shadow","none"),L.style.setProperty("--mantine-color-body","transparent")};z();let ie=new MutationObserver(z);ie.observe(h,{attributes:!0,attributeFilter:["data-mantine-color-scheme"]});let f=window.matchMedia?.("(prefers-color-scheme: dark)"),W=()=>z();f?.addEventListener?.("change",W),ua(),la(S,h,U,N?N.split("|"):[]);let m=U.getElementById(yt);if(l)if(m)(m.getAttribute("data-hash")||"")!==g&&(m.setAttribute("data-hash",g),m.textContent=l);else{let I=S.createElement("style");I.id=yt,I.setAttribute("data-hash",g),I.textContent=l,h.appendChild(I)}else m&&m.remove();return B(U),E(h),()=>{ie.disconnect(),f?.removeEventListener?.("change",W)}},[d,k,s,N,l,g]);let n=Le(()=>P?na({key:d==="overlay"?"ai-kit-ov":"ai-kit-local",container:P}):null,[P,d]);return vt("div",{ref:A,children:P&&G&&n?sa(vt(ra,{value:n,children:o({rootElement:P,shadowRoot:G})}),P):null})}import{jsx as ve}from"react/jsx-runtime";function Ke(r,a){let l=o=>{let{store:s,variation:d,showOpenButton:k,colors:A,colorMode:G,primaryColor:B,primaryShade:P,className:E,styleText:N,language:g,direction:n}={...o,...a},S=Pe(()=>xe(s).getLanguage()),L=Pe(()=>xe(s).getDirection()),U=Pe(()=>xe(s).getCustomTranslations()),[h]=zt(new URLSearchParams(window.location.search).get("language")??""),[O]=zt(new URLSearchParams(window.location.search).get("direction")??""),M=De(()=>{Me.putVocabularies(U||{});let m=S||h||g;if(!m||m==="system"){Me.setLanguage("");return}return Me.setLanguage(m),m},[g,h,S,U]),z=De(()=>{let m=L||O||n;return!m||m==="auto"?M==="ar"||M==="he"?"rtl":"ltr":m},[M,n,L,O]),ie=De(()=>[WpSuite?.constants?.aiKit?.mantineCssHref,WpSuite?.constants?.aiKit?.aiKitUiCssHref],[WpSuite]),f;A&&(f={},Object.keys(A).forEach(m=>{f[m]=da(A[m])}));let W=ca({respectReducedMotion:!0,...f&&{colors:f},...B&&[...Object.keys(ae.colors),...Object.keys(f||{})].includes(B)&&{primaryColor:B},...P&&Object.keys(P).length>0&&{primaryShade:{light:P.light??(typeof ae.primaryShade=="object"?ae.primaryShade.light:ae.primaryShade??6),dark:P.dark??(typeof ae.primaryShade=="object"?ae.primaryShade.dark:ae.primaryShade??6)}},components:{Button:{styles:{root:{borderRadius:"inherit"}}},Tooltip:{defaultProps:{withinPortal:!1,zIndex:100002}},Modal:{defaultProps:{withinPortal:!1,zIndex:100002}},Select:{defaultProps:{comboboxProps:{withinPortal:!1,floatingStrategy:"fixed",positionDependencies:[],position:"bottom",middlewares:{flip:!1,shift:{padding:10,boundary:"clippingAncestors"}}}}}}});return ve(St,{mode:d==="modal"&&!k?"overlay":"local",overlayRootId:"ai-kit-overlay-root",stylesheets:ie,styleText:N,className:E,rootElementId:d==="modal"&&!k?"ai-kit-portal-root":"ai-kit-inline-root",children:({rootElement:m})=>(m.setAttribute("data-ai-kit-variation",d||"default"),m.setAttribute("dir",z),M&&m.setAttribute("lang",M),ve(ma,{initialDirection:z,children:ve(pa,{defaultColorScheme:G,theme:W,cssVariablesSelector:`#${m.id}`,getRootElement:()=>m,children:ve(r,{...o,language:M,rootElement:m})})}))})};return l.displayName=`withAiKitShell(${r.displayName??r.name??"Component"})`,l}import{jsx as It}from"react/jsx-runtime";function He({enabled:r=!0,working:a=!1,variation:l="default",children:o}){return It("div",{className:"ai-kit-feature-border","data-ai-kit-active":!!(r&&a)?"true":"false","data-ai-kit-variation":l,children:It("div",{className:"ai-kit-feature-border__content",children:o})})}import{Tooltip as ha}from"@mantine/core";import{useMemo as ka}from"react";import{I18n as pe}from"aws-amplify/utils";import{jsx as Ae}from"react/jsx-runtime";function fa(r){let a=[...r].sort((s,d)=>s.startIndex-d.startIndex),l=[],o=-1;for(let s of a)typeof s.startIndex!="number"||typeof s.endIndex!="number"||s.startIndex<0||s.endIndex<=s.startIndex||s.startIndex<o||(l.push(s),o=s.endIndex);return l}function Rt({original:r,corrections:a}){let l=ka(()=>{let o=fa(a||[]),s=[],d=0;for(let k of o){k.startIndex>d&&s.push({kind:"plain",text:r.slice(d,k.startIndex)});let A=r.slice(k.startIndex,k.endIndex);s.push({kind:"corr",original:A,corr:k}),d=k.endIndex}return d<r.length&&s.push({kind:"plain",text:r.slice(d)}),s},[r,a]);return Ae("div",{style:{padding:12,border:"1px solid rgba(0,0,0,0.1)",borderRadius:6,background:"rgba(0,0,0,0.02)",whiteSpace:"pre-wrap",lineHeight:1.5},children:l.map((o,s)=>{if(o.kind==="plain")return Ae("span",{children:o.text},s);let d=(o.corr.replacement??o.corr.correction??"").trim(),k=(o.corr.explanation??"").trim(),A=(o.corr.type??"").trim(),G=[A?pe.get("Type")+": - "+pe.get(A):"",d?pe.get("Replace with")+": "+d:"",k?pe.get("Why")+": "+k:""].filter(Boolean).join(`
|
|
8
8
|
`);return Ae(ha,{label:G||pe.get("Suggested change"),multiline:!0,children:Ae("span",{style:{textDecoration:"underline",textDecorationStyle:"wavy",cursor:"help",padding:"0 1px"},children:o.original})},s)})})}import Ta,{defaultSchema as ba}from"rehype-sanitize";import wa from"rehype-stringify";import ya from"remark-gfm";import va from"remark-parse";import Aa from"remark-rehype";import{unified as Sa}from"unified";var Ue=async r=>String(await Sa().use(va).use(ya).use(Aa,{allowDangerousHtml:!1}).use(Ta,ba).use(wa).process(r));import{Fragment as ke,jsx as i,jsxs as C}from"react/jsx-runtime";e.putVocabularies(Re);var ja={type:"object",properties:{title:{type:"string",minLength:1,maxLength:60},excerpt:{type:"string",minLength:1,maxLength:155}},required:["title","excerpt"],additionalProperties:!1},Fa={type:"object",properties:{alt:{type:"string",minLength:1,maxLength:125},title:{type:"string",minLength:1,maxLength:80},caption:{type:"string",minLength:1,maxLength:150},description:{type:"string",minLength:1,maxLength:300}},required:["alt","title","caption","description"],additionalProperties:!1};function qa(r){let a=(r??"").trim();return a&&a.toLowerCase().split("-")[0]||null}async function Be(r,a){let l=await Dt({text:r},{signal:a.signal,onStatus:a.onStatus,context:a.context,modeOverride:a.modeOverride});return qa(l.result?.candidates?.[0]?.detectedLanguage)??"en"}async function Ja(r,a){let l=me(r||"").trim();if(!l)return{};try{let o=JSON.parse(l);return{alt_text:typeof o.alt=="string"?a&&a!=="en"?(await F({text:o.alt,sourceLanguage:"en",targetLanguage:a})).result:o.alt:"",title:typeof o.title=="string"?a&&a!=="en"?(await F({text:o.title,sourceLanguage:"en",targetLanguage:a})).result:o.title:"",caption:typeof o.caption=="string"?a&&a!=="en"?(await F({text:o.caption,sourceLanguage:"en",targetLanguage:a})).result:o.caption:"",description:typeof o.description=="string"?a&&a!=="en"?(await F({text:o.description,sourceLanguage:"en",targetLanguage:a})).result:o.description:""}}catch(o){return console.warn("AI Kit: failed to parse JSON metadata output",o),{}}}async function Ya(r,a){let l=me(r||"").trim();if(!l)return{};try{let o=JSON.parse(l);return{title:typeof o.title=="string"?a&&a!=="en"?(await F({text:o.title,sourceLanguage:"en",targetLanguage:a})).result:o.title:"",excerpt:typeof o.excerpt=="string"?a&&a!=="en"?(await F({text:o.excerpt,sourceLanguage:"en",targetLanguage:a})).result:o.excerpt:""}}catch(o){return console.warn("AI Kit: failed to parse JSON metadata output",o),{}}}var Va=r=>{let{allowOverride:a,autoRun:l=!0,editable:o=!0,variation:s=r.variation||"default",title:d,showOpenButton:k=!1,showOpenButtonTitle:A=!0,showOpenButtonIcon:G=!0,openButtonTitle:B,openButtonIcon:P,showRegenerateOnBackendButton:E=!0,acceptButtonTitle:N=r.acceptButtonTitle||"Accept",optionsDisplay:g=r.optionsDisplay||"collapse",mode:n,context:S,modeOverride:L,colorMode:U,default:h,onClose:O,onAccept:M,language:z,rootElement:ie}=r,f={text:a?.text??!0,instructions:a?.instructions??!0,tone:a?.tone??!0,length:a?.length??!0,type:a?.type??!0,outputLanguage:a?.outputLanguage??!0,outputFormat:a?.outputFormat??!0},W=he(()=>!!(n==="write"&&f?.text||(n==="write"||n==="rewrite"||n==="generateImageMetadata"||n==="generatePostMetadata")&&f?.instructions||(n==="write"||n==="rewrite")&&f?.tone||(n==="write"||n==="rewrite"||n==="summarize")&&f?.length||n==="summarize"&&f?.type||f?.outputLanguage),[f]),[m,I]=D(!k),[We,fe]=D(!1),[Kt,Ee]=D(!1),[Ne,Te]=D(null),[b,R]=D(null),[ue,Ht]=D(h?.text),[Ie]=D(h?.image),[K,Ut]=D(h?.instructions),[Q,je]=D(h?.inputLanguage),[ge,Bt]=D(h?.outputFormat),[T,Fe]=D(h?.outputLanguage),[q,Ot]=D(h?.length),[X,Gt]=D(h?.tone),[oe,Wt]=D(h?.type),be=Ba(!1),qe=he(()=>{z&&e.setLanguage(z||"en");let t;switch(n){default:case"summarize":t=e.get("Summarize");break;case"proofread":t=e.get("Proofread");break;case"write":t=e.get("Write");break;case"rewrite":t=e.get("Rewrite");break;case"translate":t=e.get("Translate");break;case"generatePostMetadata":t=e.get("Generate Post Metadata");break;case"generateImageMetadata":t=e.get("Generate Image Metadata");break}return t},[n,z]),Et=Z(t=>{if(!t)return null;let c=t.step,p=e.get((t.message??"").trim()),w=typeof t.progress=="number"?t.progress:null,x=w==null?null:Math.round(w*100);switch(c){case"decide":return p||e.get("Checking capabilities...");case"on-device:init":return p||e.get("Initializing on-device AI...");case"on-device:download":return p||(x==null?e.get("Downloading model..."):e.get("Downloading model...")+" "+x+"%");case"on-device:ready":return p||e.get("On-device model ready.");case"on-device:run":return p||e.get("Generating...");case"backend:request":return p||e.get("Sending request to backend...");case"backend:waiting":return p||e.get("Waiting for backend response...");case"backend:response":return p||e.get("Received backend response.");case"done":return p||e.get("Done.");case"error":return p||e.get("Something went wrong.");default:return p||e.get("Working...")}},[z]),ee=he(()=>ue??h?.getText,[ue,h]),j=he(()=>{let t=typeof ee=="function"?ee():ee;switch(n){case"generateImageMetadata":return!!Ie;case"translate":return!!(t&&t.trim().length>0)&&T&&Q!==T;case"summarize":case"proofread":case"rewrite":case"write":case"generatePostMetadata":return!!(t&&t.trim().length>0);default:return!1}},[ee,n,Ie,Q,T]),u=Tt(),Je=Et(u.statusEvent),de=Z(async t=>{if(j){W&&n!=="proofread"&&j&&fe(!1),Te(null),R(null);try{let c=typeof ee=="function"?ee():ee;switch(n){case"summarize":{let p=await u.run(async({signal:w,onStatus:x})=>{let y=(T&&T!=="auto"?T:null)||te(),v={text:c.trim(),format:ge==="plain-text"?"plain-text":"markdown",length:q,type:oe,outputLanguage:y};return(await Ka(v,{signal:w,onStatus:x,context:S,modeOverride:t})).result});R(p??"");break}case"proofread":{let p=await u.run(async({signal:w,onStatus:x})=>{let y=[];try{let Qt=(await Dt({text:c.trim()},{signal:w,onStatus:x})).result?.candidates?.filter(ye=>ye.confidence&&ye.confidence>.1).map(ye=>ye.detectedLanguage);y.push(...Qt)}catch{y.push("en")}let v={text:c.trim(),expectedInputLanguages:y};return(await Ma(v,{signal:w,onStatus:x,context:S,modeOverride:t})).result});R(p??"");break}case"translate":{let p=await u.run(async({signal:w,onStatus:x})=>{let y=Q??"auto";y==="auto"&&(y=await Be(c.trim(),{signal:w}),je(y));let v=(T&&T!=="auto"?T:null)||te();if(v===y)throw Te(e.get("Input and output languages cannot be the same.")),new Error(e.get("Input and output languages cannot be the same."));let H={text:c.trim(),sourceLanguage:y,targetLanguage:v};return(await F(H,{signal:w,onStatus:x,context:S,modeOverride:t})).result});R(p??"");break}case"rewrite":{let p=await u.run(async({signal:w,onStatus:x})=>{let y=(T&&T!=="auto"?T:null)||te();T==="auto"&&(y=await Be(c.trim(),{signal:w}),Fe(y));let v={text:c.trim(),context:K?.trim()||void 0,format:ge==="plain-text"?"plain-text":"markdown",tone:X,length:q,outputLanguage:y};return(await Da(v,{signal:w,onStatus:x,context:S,modeOverride:t})).result});R(p??"");break}case"write":{let p=(T&&T!=="auto"?T:null)||te(),w={prompt:c.trim(),context:K?.trim()||void 0,format:ge==="plain-text"?"plain-text":"markdown",tone:X,length:q,outputLanguage:p},x=await u.run(async({signal:y,onStatus:v})=>{let H=await Be(c.trim()+`
|
|
9
9
|
`+(K?.trim()||""),{signal:y});return H!==p&&H!=="en"&&(w.prompt=(await F({text:w.prompt,sourceLanguage:H,targetLanguage:"en"})).result,K&&(w.context=(await F({text:K,sourceLanguage:H,targetLanguage:"en"})).result)),(await Ua(w,{signal:y,onStatus:v,context:S,modeOverride:t})).result});R(x??"");break}case"generatePostMetadata":{let p=[{role:"system",content:"You generate SEO metadata for a WordPress post. Return a minified JSON object with keys: title, excerpt. Constraints: title <= 60 chars, excerpt <= 155 chars. Do not add extra keys."+(K?`
|
|
10
10
|
Follow these additional instructions: ${K}`:"")},{role:"user",content:`Post content:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smart-cloud/ai-kit-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
"scope": "@smart-cloud/ai-kit-ui"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
+
"@emotion/cache": "^11.14.0",
|
|
21
|
+
"@emotion/react": "^11.14.0",
|
|
20
22
|
"@smart-cloud/ai-kit-core": "^1.0.0",
|
|
21
23
|
"@smart-cloud/wpsuite-core": "^2.0.5",
|
|
22
24
|
"@tabler/icons-react": "^3.36.1",
|
|
@@ -29,8 +31,6 @@
|
|
|
29
31
|
"unified": "^11.0.5"
|
|
30
32
|
},
|
|
31
33
|
"peerDependencies": {
|
|
32
|
-
"@emotion/cache": "^11.14.0",
|
|
33
|
-
"@emotion/react": "^11.14.0",
|
|
34
34
|
"@mantine/core": "^8.3.12",
|
|
35
35
|
"@mantine/hooks": "^8.3.12",
|
|
36
36
|
"@mantine/modals": "^8.3.12",
|
|
@@ -40,8 +40,6 @@
|
|
|
40
40
|
"react-dom": "^18.3.1"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@emotion/cache": "^11.14.0",
|
|
44
|
-
"@emotion/react": "^11.14.0",
|
|
45
43
|
"@eslint/js": "^9.39.2",
|
|
46
44
|
"@mantine/core": "^8.3.12",
|
|
47
45
|
"@mantine/hooks": "^8.3.12",
|
package/src/withAiKitShell.tsx
CHANGED
|
@@ -138,12 +138,6 @@ export function withAiKitShell<P extends object>(
|
|
|
138
138
|
withinPortal: false,
|
|
139
139
|
zIndex: 100002,
|
|
140
140
|
},
|
|
141
|
-
styles: {
|
|
142
|
-
body: {
|
|
143
|
-
overflow: "visible",
|
|
144
|
-
position: "relative",
|
|
145
|
-
},
|
|
146
|
-
},
|
|
147
141
|
},
|
|
148
142
|
Select: {
|
|
149
143
|
defaultProps: {
|
|
@@ -151,6 +145,14 @@ export function withAiKitShell<P extends object>(
|
|
|
151
145
|
withinPortal: false,
|
|
152
146
|
floatingStrategy: "fixed",
|
|
153
147
|
positionDependencies: [],
|
|
148
|
+
position: "bottom",
|
|
149
|
+
middlewares: {
|
|
150
|
+
flip: false,
|
|
151
|
+
shift: {
|
|
152
|
+
padding: 10,
|
|
153
|
+
boundary: "clippingAncestors",
|
|
154
|
+
},
|
|
155
|
+
},
|
|
154
156
|
},
|
|
155
157
|
},
|
|
156
158
|
},
|