@tempots/beatui 0.92.0 → 0.94.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/auth/index.cjs.js +1 -1
  2. package/dist/auth/index.es.js +1 -1
  3. package/dist/{auth-divider-VzrKnv2d.cjs → auth-divider-C3E16pml.cjs} +1 -1
  4. package/dist/{auth-divider-B4n8lGx5.js → auth-divider-Rt0WDKAe.js} +3 -3
  5. package/dist/better-auth/index.cjs.js +1 -1
  6. package/dist/better-auth/index.es.js +2 -2
  7. package/dist/deep-merge-Blrucd-E.cjs +1 -0
  8. package/dist/{deep-merge-DxUvbsBl.js → deep-merge-CoLO4id0.js} +591 -589
  9. package/dist/duration-input-47x7nbGh.cjs +1 -0
  10. package/dist/{duration-input-DQTX3S_A.js → duration-input-DrVonjKK.js} +42 -42
  11. package/dist/index.cjs.js +2 -2
  12. package/dist/index.es.js +692 -691
  13. package/dist/json-schema/index.cjs.js +1 -1
  14. package/dist/json-schema/index.es.js +5 -5
  15. package/dist/json-structure/index.cjs.js +1 -1
  16. package/dist/json-structure/index.es.js +3 -3
  17. package/dist/lexical/index.cjs.js +30 -30
  18. package/dist/lexical/index.es.js +2086 -2001
  19. package/dist/{modal-C-d5Btti.cjs → modal-DUlqGUW7.cjs} +1 -1
  20. package/dist/{modal-DTz98Dk7.js → modal-ZitwUeXx.js} +1 -1
  21. package/dist/{notice-BDTfBGtx.cjs → notice-DAVOTnfA.cjs} +1 -1
  22. package/dist/{notice-CZuh-h6a.js → notice-E_p2hg1G.js} +1 -1
  23. package/dist/types/lexical/index.d.ts +1 -1
  24. package/dist/types/lexical/plugins/element-style.d.ts +28 -0
  25. package/dist/types/lexical/plugins/index.d.ts +1 -1
  26. package/dist/{use-form-Cd8YFWaN.js → use-form-BQRVnIp9.js} +167 -166
  27. package/dist/use-form-DTyNw0kM.cjs +2 -0
  28. package/dist/{widget-customization-Cs422IGY.js → widget-customization-C-fSx3RB.js} +307 -306
  29. package/dist/widget-customization-xEBfEPhQ.cjs +1 -0
  30. package/package.json +1 -1
  31. package/dist/deep-merge-CI1g9sjh.cjs +0 -1
  32. package/dist/duration-input-a1fCTfKl.cjs +0 -1
  33. package/dist/use-form-DQVN_Zjb.cjs +0 -2
  34. package/dist/widget-customization-eyQ2pxvu.cjs +0 -1
@@ -1 +1 @@
1
- "use strict";const n=require("@tempots/dom"),S=require("./use-animated-toggle-DrqK7nUS.cjs"),$=require("./timer-BJHOsuS6.cjs"),D=require("./session-id-B5lJMzbB.cjs"),q=require("./translations-Cy9hoMGV.cjs"),j=require("./use-form-DQVN_Zjb.cjs"),B=require("./input-container-DiYEl_y8.cjs"),W=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])','[contenteditable="true"]',"audio[controls]","video[controls]","details > summary:first-of-type","details[open]"].join(", ");function _(u){return Array.from(u.querySelectorAll(W)).filter(e=>{const s=e;return s.offsetWidth>0&&s.offsetHeight>0&&!s.hasAttribute("inert")&&window.getComputedStyle(s).visibility!=="hidden"})}function V(u={}){const{active:e=!0,escapeDeactivates:s=!0,onEscape:t,initialFocus:a,returnFocus:i,clickOutsideDeactivates:c=!1,onClickOutside:d}=u;return n.WithElement(g=>{let h=e,f=null,l=[],b=null,p=null,m=null;typeof document<"u"&&(f=document.activeElement);const y=()=>{l=_(g)},C=r=>{if(h){if(s&&r.key==="Escape"){r.preventDefault(),t?.();return}if(r.key==="Tab"){if(y(),l.length===0){r.preventDefault();return}const o=l.indexOf(document.activeElement);r.shiftKey?o<=0&&(r.preventDefault(),l[l.length-1]?.focus()):o>=l.length-1&&(r.preventDefault(),l[0]?.focus())}}},v=r=>{if(!h||!c)return;const o=r.target;g.contains(o)||d?.()},x=()=>{if(!h)return;y();let r=null;typeof a=="function"?r=a():a?r=a:l.length>0&&(r=l[0]),r&&(p=setTimeout(()=>{p=null,r?.focus()},50)),document.addEventListener("keydown",C,!0),c&&document.addEventListener("click",v,!0)},w=()=>{h=!1,document.removeEventListener("keydown",C,!0),document.removeEventListener("click",v,!0);let r=null;typeof i=="function"?r=i():i?r=i:f&&(r=f),r&&document.body.contains(r)&&(m=setTimeout(()=>{m=null,r?.focus()},0))};return b=setTimeout(()=>{b=null,x()},0),n.OnDispose(()=>{b!=null&&clearTimeout(b),p!=null&&clearTimeout(p),m!=null&&clearTimeout(m),w()})})}function P(u={}){return{activate:()=>V({...u,active:!0}),deactivate:()=>V({...u,active:!1})}}function I(u){return{"~standard":{version:1,vendor:"beatui-custom",validate:s=>{const t=u.validate(s);return t.success?{value:t.data}:{issues:t.errors.map(a=>({message:a.message,path:a.path}))}},types:void 0},safeParse:s=>{const t=u.validate(s);return t.success?{success:!0,data:t.data}:{success:!1,error:{errors:t.errors.map(a=>({message:a.message,path:a.path?.map(i=>typeof i=="object"&&"key"in i?i.key.toString():i.toString())||[]}))}}}}}class k{optional(){return new U(this)}default(e){return new z(this,e)}schema(){return I(this)}}class E extends k{minLength;maxLength;pattern;customValidations=[];validate(e){if(typeof e!="string")return{success:!1,errors:[{message:"Expected string"}]};const s=[];this.minLength!==void 0&&e.length<this.minLength&&s.push({message:`Must be at least ${this.minLength} characters`}),this.maxLength!==void 0&&e.length>this.maxLength&&s.push({message:`Must be at most ${this.maxLength} characters`}),this.pattern&&!this.pattern.test(e)&&s.push({message:"Invalid format"});for(const t of this.customValidations){const a=t(e);a&&s.push({message:a})}return s.length>0?{success:!1,errors:s}:{success:!0,data:e}}min(e,s){const t=new E;return t.minLength=e,t.maxLength=this.maxLength,t.pattern=this.pattern,t.customValidations=[...this.customValidations],s&&t.customValidations.push(a=>a.length<e?s:null),t}max(e,s){const t=new E;return t.minLength=this.minLength,t.maxLength=e,t.pattern=this.pattern,t.customValidations=[...this.customValidations],s&&t.customValidations.push(a=>a.length>e?s:null),t}regex(e,s){const t=new E;return t.minLength=this.minLength,t.maxLength=this.maxLength,t.pattern=e,t.customValidations=[...this.customValidations],s&&t.customValidations.push(a=>e.test(a)?null:s),t}email(e="Please enter a valid email address"){const s=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,t=new E;return t.minLength=this.minLength,t.maxLength=this.maxLength,t.pattern=this.pattern,t.customValidations=[...this.customValidations,a=>s.test(a)?null:e],t}refine(e){const s=new E;return s.minLength=this.minLength,s.maxLength=this.maxLength,s.pattern=this.pattern,s.customValidations=[...this.customValidations,e],s}}class T extends k{mustBeTrue=!1;trueMessage;validate(e){return typeof e!="boolean"?{success:!1,errors:[{message:"Expected boolean"}]}:this.mustBeTrue&&e!==!0?{success:!1,errors:[{message:this.trueMessage||"Must be true"}]}:{success:!0,data:e}}refine(e,s){const t=new T;t.mustBeTrue=this.mustBeTrue,t.trueMessage=this.trueMessage;const a=t.validate.bind(t);return t.validate=i=>{const c=a(i);return c.success?e(c.data)?c:{success:!1,errors:[{message:s}]}:c},t}literal(e,s){const t=new T;return t.mustBeTrue=!0,t.trueMessage=s,t}}class U extends k{constructor(e){super(),this.inner=e}validate(e){if(e===void 0)return{success:!0,data:void 0};const s=this.inner.validate(e);return s.success?{success:!0,data:s.data}:{success:!1,errors:s.errors}}}class z extends k{constructor(e,s){super(),this.inner=e,this.defaultValue=s}validate(e){return e===void 0?{success:!0,data:this.defaultValue}:this.inner.validate(e)}}class F extends k{constructor(e){super(),this.shape=e}validate(e){if(typeof e!="object"||e===null||Array.isArray(e))return{success:!1,errors:[{message:"Expected object"}]};const s=e,t={},a=[];for(const[i,c]of Object.entries(this.shape)){const d=c.validate(s[i]);if(d.success)t[i]=d.data;else for(const g of d.errors)a.push({message:g.message,path:[i,...g.path||[]]})}return a.length>0?{success:!1,errors:a}:{success:!0,data:t}}refine(e,s){const t=new F(this.shape),a=t.validate.bind(t);return t.validate=i=>{const c=a(i);if(!c.success)return c;const d=e(c.data);return d?{success:!1,errors:[{message:d,path:s?.path}]}:{success:!0,data:c.data}},t}}const R=()=>new E,H=()=>new T,K=u=>new F(u);function O(u){return n.WithBrowserCtx(e=>{const s=[],t=()=>s.forEach(i=>i());return u(({effect:i="opaque",mode:c="capturing",onClickOutside:d,onEscape:g,content:h,container:f="body"})=>{f==="body"&&(e=e.makePortal("body"));const l=S.useAnimatedElementToggle();l.listenOnClosed(t);let b=()=>{},p=()=>{};const m=r=>{r.key==="Escape"&&(g?.(),l.close())},y=()=>{d?.(),l.close()},C=r=>{b(),p(),r==="capturing"?(document.addEventListener("keydown",m),b=()=>document.removeEventListener("keydown",m),e.element.addEventListener("mousedown",y),p=()=>e.element.removeEventListener("mousedown",y)):(b=()=>{},p=()=>{})},v=n.Value.on(c,C);s.push(v),s.push(()=>{l.dispose(),b(),p()});const x=()=>{const r=new Set;for(const o of e.element.querySelectorAll(":scope > :not([data-overlay])"))o.hasAttribute("inert")?r.add(o):o.setAttribute("inert","");return s.push(()=>{for(const o of e.element.querySelectorAll(":scope > :not([data-overlay])"))r.has(o)||o.removeAttribute("inert");r.clear()}),document.activeElement?.blur?.(),n.html.div(n.WithElement(o=>l.setElement(o)),n.dataAttr.status(l.status.map(String)),n.dataAttr.overlay("true"),n.attr.class(n.computedOf(i??"opaque",c)((o,L)=>`bc-overlay bc-overlay--effect-${o} bc-overlay--mode-${L}`)),h)},w=n.render(x(),e.element,{disposeWithParent:!0,clear:!1,providers:e.providers});s.push(w),$.g(()=>l.open())},t)})}function M(u,e){const{size:s="md",dismissable:t=!0,showCloseButton:a=!0,onClose:i,overlayEffect:c="opaque",container:d="body",position:g="center"}=u;return O((h,f)=>{let l=()=>{};return e(m=>{l=f;const y=n.prop("capturing");n.Value.on(t,o=>{y.set(o?"capturing":"non-capturing")});const C=n.computedOf(m.header!=null,a)((o,L)=>o||L),v=D.sessionId("modal"),x=`${v}-header`,w=`${v}-body`,r=n.html.div(n.attr.class(n.computedOf(s,g)((o,L)=>`bc-modal bc-modal--size-${o} bc-modal--container-${d} bc-modal--position-${L}`)),n.attr.role("dialog"),n.aria.modal(!0),...m.header?[n.aria.labelledby(x)]:[],n.aria.describedby(w),n.attr.tabindex(-1),n.attr.id(v),n.dataAttr.focusTrap("true"),n.on.mousedown(o=>o.stopPropagation()),V({escapeDeactivates:!1,initialFocus:()=>{const o=document.getElementById(v);if(!o)return null;const L=o.querySelector('[aria-label="Close modal"]');if(L)return L;const A=o.querySelector('button, input, select, textarea, [tabindex]:not([tabindex="-1"])');return A||o}}),n.html.div(n.attr.class("bc-modal__content"),n.When(C,()=>n.html.div(n.attr.class("bc-modal__header"),n.html.div(n.attr.class("bc-modal__title"),...m.header?[n.attr.id(x)]:[],m.header),n.When(a,()=>n.Use(q.BeatUII18n,o=>j.CloseButton({size:"sm",label:o.$.closeModal,onClick:()=>{l(),f()}}))))),n.html.div(n.attr.class("bc-modal__body"),n.attr.id(w),m.body),m.footer&&n.html.div(n.attr.class("bc-modal__footer"),m.footer)));h({mode:y,effect:c??"opaque",container:d,content:r,onClickOutside:()=>{i?.(),f()},onEscape:()=>{i?.(),f()}})},()=>{l(),f()})})}function G(u,e){const{confirmText:s,cancelText:t,onConfirm:a,onCancel:i,...c}=u;return n.Use(q.BeatUII18n,d=>M({showCloseButton:!1,...c},(g,h)=>{const f=()=>{a?.(),h()},l=()=>{i?.(),h()};return e(p=>{g({body:p,footer:n.Fragment(n.attr.class("bc-modal__actions"),B.Button({variant:"outline",onClick:l},n.coalesce(t,d.$.cancel)),B.Button({color:"primary",variant:"filled",onClick:f},n.coalesce(s,d.$.confirm)))})},h)}))}exports.BooleanValidator=T;exports.ConfirmModal=G;exports.FocusTrap=V;exports.Modal=M;exports.ObjectValidator=F;exports.Overlay=O;exports.StringValidator=E;exports.boolean=H;exports.createStandardSchema=I;exports.object=K;exports.string=R;exports.useFocusTrap=P;
1
+ "use strict";const n=require("@tempots/dom"),S=require("./use-animated-toggle-DrqK7nUS.cjs"),$=require("./timer-BJHOsuS6.cjs"),D=require("./session-id-B5lJMzbB.cjs"),q=require("./translations-Cy9hoMGV.cjs"),j=require("./use-form-DTyNw0kM.cjs"),B=require("./input-container-DiYEl_y8.cjs"),W=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])','[contenteditable="true"]',"audio[controls]","video[controls]","details > summary:first-of-type","details[open]"].join(", ");function _(u){return Array.from(u.querySelectorAll(W)).filter(e=>{const s=e;return s.offsetWidth>0&&s.offsetHeight>0&&!s.hasAttribute("inert")&&window.getComputedStyle(s).visibility!=="hidden"})}function V(u={}){const{active:e=!0,escapeDeactivates:s=!0,onEscape:t,initialFocus:a,returnFocus:i,clickOutsideDeactivates:c=!1,onClickOutside:d}=u;return n.WithElement(g=>{let h=e,f=null,l=[],b=null,p=null,m=null;typeof document<"u"&&(f=document.activeElement);const y=()=>{l=_(g)},C=r=>{if(h){if(s&&r.key==="Escape"){r.preventDefault(),t?.();return}if(r.key==="Tab"){if(y(),l.length===0){r.preventDefault();return}const o=l.indexOf(document.activeElement);r.shiftKey?o<=0&&(r.preventDefault(),l[l.length-1]?.focus()):o>=l.length-1&&(r.preventDefault(),l[0]?.focus())}}},v=r=>{if(!h||!c)return;const o=r.target;g.contains(o)||d?.()},x=()=>{if(!h)return;y();let r=null;typeof a=="function"?r=a():a?r=a:l.length>0&&(r=l[0]),r&&(p=setTimeout(()=>{p=null,r?.focus()},50)),document.addEventListener("keydown",C,!0),c&&document.addEventListener("click",v,!0)},w=()=>{h=!1,document.removeEventListener("keydown",C,!0),document.removeEventListener("click",v,!0);let r=null;typeof i=="function"?r=i():i?r=i:f&&(r=f),r&&document.body.contains(r)&&(m=setTimeout(()=>{m=null,r?.focus()},0))};return b=setTimeout(()=>{b=null,x()},0),n.OnDispose(()=>{b!=null&&clearTimeout(b),p!=null&&clearTimeout(p),m!=null&&clearTimeout(m),w()})})}function P(u={}){return{activate:()=>V({...u,active:!0}),deactivate:()=>V({...u,active:!1})}}function I(u){return{"~standard":{version:1,vendor:"beatui-custom",validate:s=>{const t=u.validate(s);return t.success?{value:t.data}:{issues:t.errors.map(a=>({message:a.message,path:a.path}))}},types:void 0},safeParse:s=>{const t=u.validate(s);return t.success?{success:!0,data:t.data}:{success:!1,error:{errors:t.errors.map(a=>({message:a.message,path:a.path?.map(i=>typeof i=="object"&&"key"in i?i.key.toString():i.toString())||[]}))}}}}}class k{optional(){return new U(this)}default(e){return new z(this,e)}schema(){return I(this)}}class E extends k{minLength;maxLength;pattern;customValidations=[];validate(e){if(typeof e!="string")return{success:!1,errors:[{message:"Expected string"}]};const s=[];this.minLength!==void 0&&e.length<this.minLength&&s.push({message:`Must be at least ${this.minLength} characters`}),this.maxLength!==void 0&&e.length>this.maxLength&&s.push({message:`Must be at most ${this.maxLength} characters`}),this.pattern&&!this.pattern.test(e)&&s.push({message:"Invalid format"});for(const t of this.customValidations){const a=t(e);a&&s.push({message:a})}return s.length>0?{success:!1,errors:s}:{success:!0,data:e}}min(e,s){const t=new E;return t.minLength=e,t.maxLength=this.maxLength,t.pattern=this.pattern,t.customValidations=[...this.customValidations],s&&t.customValidations.push(a=>a.length<e?s:null),t}max(e,s){const t=new E;return t.minLength=this.minLength,t.maxLength=e,t.pattern=this.pattern,t.customValidations=[...this.customValidations],s&&t.customValidations.push(a=>a.length>e?s:null),t}regex(e,s){const t=new E;return t.minLength=this.minLength,t.maxLength=this.maxLength,t.pattern=e,t.customValidations=[...this.customValidations],s&&t.customValidations.push(a=>e.test(a)?null:s),t}email(e="Please enter a valid email address"){const s=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,t=new E;return t.minLength=this.minLength,t.maxLength=this.maxLength,t.pattern=this.pattern,t.customValidations=[...this.customValidations,a=>s.test(a)?null:e],t}refine(e){const s=new E;return s.minLength=this.minLength,s.maxLength=this.maxLength,s.pattern=this.pattern,s.customValidations=[...this.customValidations,e],s}}class T extends k{mustBeTrue=!1;trueMessage;validate(e){return typeof e!="boolean"?{success:!1,errors:[{message:"Expected boolean"}]}:this.mustBeTrue&&e!==!0?{success:!1,errors:[{message:this.trueMessage||"Must be true"}]}:{success:!0,data:e}}refine(e,s){const t=new T;t.mustBeTrue=this.mustBeTrue,t.trueMessage=this.trueMessage;const a=t.validate.bind(t);return t.validate=i=>{const c=a(i);return c.success?e(c.data)?c:{success:!1,errors:[{message:s}]}:c},t}literal(e,s){const t=new T;return t.mustBeTrue=!0,t.trueMessage=s,t}}class U extends k{constructor(e){super(),this.inner=e}validate(e){if(e===void 0)return{success:!0,data:void 0};const s=this.inner.validate(e);return s.success?{success:!0,data:s.data}:{success:!1,errors:s.errors}}}class z extends k{constructor(e,s){super(),this.inner=e,this.defaultValue=s}validate(e){return e===void 0?{success:!0,data:this.defaultValue}:this.inner.validate(e)}}class F extends k{constructor(e){super(),this.shape=e}validate(e){if(typeof e!="object"||e===null||Array.isArray(e))return{success:!1,errors:[{message:"Expected object"}]};const s=e,t={},a=[];for(const[i,c]of Object.entries(this.shape)){const d=c.validate(s[i]);if(d.success)t[i]=d.data;else for(const g of d.errors)a.push({message:g.message,path:[i,...g.path||[]]})}return a.length>0?{success:!1,errors:a}:{success:!0,data:t}}refine(e,s){const t=new F(this.shape),a=t.validate.bind(t);return t.validate=i=>{const c=a(i);if(!c.success)return c;const d=e(c.data);return d?{success:!1,errors:[{message:d,path:s?.path}]}:{success:!0,data:c.data}},t}}const R=()=>new E,H=()=>new T,K=u=>new F(u);function O(u){return n.WithBrowserCtx(e=>{const s=[],t=()=>s.forEach(i=>i());return u(({effect:i="opaque",mode:c="capturing",onClickOutside:d,onEscape:g,content:h,container:f="body"})=>{f==="body"&&(e=e.makePortal("body"));const l=S.useAnimatedElementToggle();l.listenOnClosed(t);let b=()=>{},p=()=>{};const m=r=>{r.key==="Escape"&&(g?.(),l.close())},y=()=>{d?.(),l.close()},C=r=>{b(),p(),r==="capturing"?(document.addEventListener("keydown",m),b=()=>document.removeEventListener("keydown",m),e.element.addEventListener("mousedown",y),p=()=>e.element.removeEventListener("mousedown",y)):(b=()=>{},p=()=>{})},v=n.Value.on(c,C);s.push(v),s.push(()=>{l.dispose(),b(),p()});const x=()=>{const r=new Set;for(const o of e.element.querySelectorAll(":scope > :not([data-overlay])"))o.hasAttribute("inert")?r.add(o):o.setAttribute("inert","");return s.push(()=>{for(const o of e.element.querySelectorAll(":scope > :not([data-overlay])"))r.has(o)||o.removeAttribute("inert");r.clear()}),document.activeElement?.blur?.(),n.html.div(n.WithElement(o=>l.setElement(o)),n.dataAttr.status(l.status.map(String)),n.dataAttr.overlay("true"),n.attr.class(n.computedOf(i??"opaque",c)((o,L)=>`bc-overlay bc-overlay--effect-${o} bc-overlay--mode-${L}`)),h)},w=n.render(x(),e.element,{disposeWithParent:!0,clear:!1,providers:e.providers});s.push(w),$.g(()=>l.open())},t)})}function M(u,e){const{size:s="md",dismissable:t=!0,showCloseButton:a=!0,onClose:i,overlayEffect:c="opaque",container:d="body",position:g="center"}=u;return O((h,f)=>{let l=()=>{};return e(m=>{l=f;const y=n.prop("capturing");n.Value.on(t,o=>{y.set(o?"capturing":"non-capturing")});const C=n.computedOf(m.header!=null,a)((o,L)=>o||L),v=D.sessionId("modal"),x=`${v}-header`,w=`${v}-body`,r=n.html.div(n.attr.class(n.computedOf(s,g)((o,L)=>`bc-modal bc-modal--size-${o} bc-modal--container-${d} bc-modal--position-${L}`)),n.attr.role("dialog"),n.aria.modal(!0),...m.header?[n.aria.labelledby(x)]:[],n.aria.describedby(w),n.attr.tabindex(-1),n.attr.id(v),n.dataAttr.focusTrap("true"),n.on.mousedown(o=>o.stopPropagation()),V({escapeDeactivates:!1,initialFocus:()=>{const o=document.getElementById(v);if(!o)return null;const L=o.querySelector('[aria-label="Close modal"]');if(L)return L;const A=o.querySelector('button, input, select, textarea, [tabindex]:not([tabindex="-1"])');return A||o}}),n.html.div(n.attr.class("bc-modal__content"),n.When(C,()=>n.html.div(n.attr.class("bc-modal__header"),n.html.div(n.attr.class("bc-modal__title"),...m.header?[n.attr.id(x)]:[],m.header),n.When(a,()=>n.Use(q.BeatUII18n,o=>j.CloseButton({size:"sm",label:o.$.closeModal,onClick:()=>{l(),f()}}))))),n.html.div(n.attr.class("bc-modal__body"),n.attr.id(w),m.body),m.footer&&n.html.div(n.attr.class("bc-modal__footer"),m.footer)));h({mode:y,effect:c??"opaque",container:d,content:r,onClickOutside:()=>{i?.(),f()},onEscape:()=>{i?.(),f()}})},()=>{l(),f()})})}function G(u,e){const{confirmText:s,cancelText:t,onConfirm:a,onCancel:i,...c}=u;return n.Use(q.BeatUII18n,d=>M({showCloseButton:!1,...c},(g,h)=>{const f=()=>{a?.(),h()},l=()=>{i?.(),h()};return e(p=>{g({body:p,footer:n.Fragment(n.attr.class("bc-modal__actions"),B.Button({variant:"outline",onClick:l},n.coalesce(t,d.$.cancel)),B.Button({color:"primary",variant:"filled",onClick:f},n.coalesce(s,d.$.confirm)))})},h)}))}exports.BooleanValidator=T;exports.ConfirmModal=G;exports.FocusTrap=V;exports.Modal=M;exports.ObjectValidator=F;exports.Overlay=O;exports.StringValidator=E;exports.boolean=H;exports.createStandardSchema=I;exports.object=K;exports.string=R;exports.useFocusTrap=P;
@@ -3,7 +3,7 @@ import { u as G } from "./use-animated-toggle-C7PTmnZi.js";
3
3
  import { g as J } from "./timer-Rd2sKnvH.js";
4
4
  import { s as N } from "./session-id-3KiilioY.js";
5
5
  import { B as P } from "./translations-CiBhB2FV.js";
6
- import { C as Q } from "./use-form-Cd8YFWaN.js";
6
+ import { C as Q } from "./use-form-BQRVnIp9.js";
7
7
  import { B as D } from "./input-container-9r1F3KuX.js";
8
8
  const X = [
9
9
  "a[href]",
@@ -1 +1 @@
1
- "use strict";const v=require("./text-input-DUnhBUd6.cjs"),t=require("@tempots/dom"),V=require("./input-container-DiYEl_y8.cjs"),f=require("./translations-Cy9hoMGV.cjs"),_=require("./use-form-DQVN_Zjb.cjs"),O=n=>{const r={name:"email",autocomplete:"email",...n},{value:s,before:l,onBlur:o,onChange:p,onInput:c,placeholder:h}=r,m=l??V.InputIcon({icon:"line-md:email",size:n.size,color:"neutral"});return t.Use(f.BeatUII18n,d=>V.InputContainer({...n,before:m,input:t.input.email(v.CommonInputAttributes(r),t.attr.placeholder(t.coalesce(h,d.$.emailPlaceholderText)),t.attr.value(s),t.attr.class("bc-input"),o!=null?t.on.blur(t.emitValue(o)):t.Empty,p!=null?t.on.change(t.emitValue(p)):t.Empty,c!=null?t.on.input(t.emitValue(c)):t.Empty)}))},B=n=>{const{value:r,onBlur:s,onChange:l,onInput:o,before:p,after:c,hasError:h,disabled:m,autocomplete:d,placeholder:g,...b}=n,y={name:"password",disabled:m,...b},i=t.prop(!0),a=t.computedOf(i,d)((e,u)=>e?u??"current-password":"off");return t.Use(f.BeatUII18n,e=>{const u=t.computedOf(e.$.passwordPlaceholderText,i,g)((I,C,E)=>C?"•••••••••••••••":E??I),w=t.html.button(t.attr.type("button"),t.attr.class("bc-input-container__password-toggle"),t.aria.label(e.$.togglePasswordVisibility),t.on.click(()=>i.update(I=>!I)),t.When(i,()=>f.Icon({icon:"line-md:watch"}),()=>f.Icon({icon:"line-md:watch-off"})));return V.InputContainer({before:p,disabled:m,hasError:h,input:t.html.input(v.CommonInputAttributes({...y,autocomplete:a,placeholder:u}),t.When(i,()=>t.attr.type("password"),()=>t.attr.type("text")),t.attr.class("bc-input"),t.attr.value(r),s!=null?t.on.blur(t.emitValue(s)):t.Empty,l!=null?t.on.change(t.emitValue(l)):t.Empty,o!=null?t.on.input(t.emitValue(o)):t.Empty),after:c!=null?t.Fragment(w,c):w})})};function U(n){switch(n){case"success":return"material-symbols:check-circle-outline";case"warning":return"material-symbols:warning-outline";case"danger":return"material-symbols:error-outline";default:return"material-symbols:info-outline"}}function P(n){switch(n){case"success":return"success";case"warning":return"warning";case"danger":return"danger";default:return"info"}}function T(n,r,s,l){const o=["bc-notice",`bc-notice--${n}`,`bc-notice--tone-${r}`];return s&&o.push("bc-notice--dismissible"),l&&l.length>0&&o.push(l),o.join(" ")}function $({variant:n="info",tone:r="subtle",role:s,title:l,icon:o,closable:p=!1,onDismiss:c,class:h},...m){const d=t.prop(!0);return t.When(d,()=>{const g=t.Value.map(p,a=>!!a||c!=null),b=t.Value.map(n,a=>a??"info"),y=t.Value.map(r,a=>a??"subtle"),i=t.computedOf(s,b)((a,e)=>a??(e==="danger"?"alert":"status"));return t.Use(f.BeatUII18n,a=>t.html.div(t.attr.class(t.computedOf(b,y,g,h)((e,u,w,I)=>T(e,u,w,I))),t.attr.role(t.Value.map(i,e=>e)),t.Unless(t.Value.map(o,e=>e===!1),()=>t.html.div(t.attr.class("bc-notice__icon"),f.Icon({icon:t.computedOf(o,b)((e,u)=>e===void 0?U(u):String(e)),size:"md",color:t.Value.map(b,P)}))),t.html.div(t.attr.class("bc-notice__body"),t.Ensure(l,e=>t.html.div(t.attr.class("bc-notice__title"),e)),t.html.div(t.attr.class("bc-notice__content"),...m)),t.When(g,()=>_.CloseButton({size:"xs",label:a.$.closeModal,onClick:()=>{d.set(!1),c?.()}}))))})}exports.EmailInput=O;exports.Notice=$;exports.PasswordInput=B;
1
+ "use strict";const v=require("./text-input-DUnhBUd6.cjs"),t=require("@tempots/dom"),V=require("./input-container-DiYEl_y8.cjs"),f=require("./translations-Cy9hoMGV.cjs"),_=require("./use-form-DTyNw0kM.cjs"),O=n=>{const r={name:"email",autocomplete:"email",...n},{value:s,before:l,onBlur:o,onChange:p,onInput:c,placeholder:h}=r,m=l??V.InputIcon({icon:"line-md:email",size:n.size,color:"neutral"});return t.Use(f.BeatUII18n,d=>V.InputContainer({...n,before:m,input:t.input.email(v.CommonInputAttributes(r),t.attr.placeholder(t.coalesce(h,d.$.emailPlaceholderText)),t.attr.value(s),t.attr.class("bc-input"),o!=null?t.on.blur(t.emitValue(o)):t.Empty,p!=null?t.on.change(t.emitValue(p)):t.Empty,c!=null?t.on.input(t.emitValue(c)):t.Empty)}))},B=n=>{const{value:r,onBlur:s,onChange:l,onInput:o,before:p,after:c,hasError:h,disabled:m,autocomplete:d,placeholder:g,...b}=n,y={name:"password",disabled:m,...b},i=t.prop(!0),a=t.computedOf(i,d)((e,u)=>e?u??"current-password":"off");return t.Use(f.BeatUII18n,e=>{const u=t.computedOf(e.$.passwordPlaceholderText,i,g)((I,C,E)=>C?"•••••••••••••••":E??I),w=t.html.button(t.attr.type("button"),t.attr.class("bc-input-container__password-toggle"),t.aria.label(e.$.togglePasswordVisibility),t.on.click(()=>i.update(I=>!I)),t.When(i,()=>f.Icon({icon:"line-md:watch"}),()=>f.Icon({icon:"line-md:watch-off"})));return V.InputContainer({before:p,disabled:m,hasError:h,input:t.html.input(v.CommonInputAttributes({...y,autocomplete:a,placeholder:u}),t.When(i,()=>t.attr.type("password"),()=>t.attr.type("text")),t.attr.class("bc-input"),t.attr.value(r),s!=null?t.on.blur(t.emitValue(s)):t.Empty,l!=null?t.on.change(t.emitValue(l)):t.Empty,o!=null?t.on.input(t.emitValue(o)):t.Empty),after:c!=null?t.Fragment(w,c):w})})};function U(n){switch(n){case"success":return"material-symbols:check-circle-outline";case"warning":return"material-symbols:warning-outline";case"danger":return"material-symbols:error-outline";default:return"material-symbols:info-outline"}}function P(n){switch(n){case"success":return"success";case"warning":return"warning";case"danger":return"danger";default:return"info"}}function T(n,r,s,l){const o=["bc-notice",`bc-notice--${n}`,`bc-notice--tone-${r}`];return s&&o.push("bc-notice--dismissible"),l&&l.length>0&&o.push(l),o.join(" ")}function $({variant:n="info",tone:r="subtle",role:s,title:l,icon:o,closable:p=!1,onDismiss:c,class:h},...m){const d=t.prop(!0);return t.When(d,()=>{const g=t.Value.map(p,a=>!!a||c!=null),b=t.Value.map(n,a=>a??"info"),y=t.Value.map(r,a=>a??"subtle"),i=t.computedOf(s,b)((a,e)=>a??(e==="danger"?"alert":"status"));return t.Use(f.BeatUII18n,a=>t.html.div(t.attr.class(t.computedOf(b,y,g,h)((e,u,w,I)=>T(e,u,w,I))),t.attr.role(t.Value.map(i,e=>e)),t.Unless(t.Value.map(o,e=>e===!1),()=>t.html.div(t.attr.class("bc-notice__icon"),f.Icon({icon:t.computedOf(o,b)((e,u)=>e===void 0?U(u):String(e)),size:"md",color:t.Value.map(b,P)}))),t.html.div(t.attr.class("bc-notice__body"),t.Ensure(l,e=>t.html.div(t.attr.class("bc-notice__title"),e)),t.html.div(t.attr.class("bc-notice__content"),...m)),t.When(g,()=>_.CloseButton({size:"xs",label:a.$.closeModal,onClick:()=>{d.set(!1),c?.()}}))))})}exports.EmailInput=O;exports.Notice=$;exports.PasswordInput=B;
@@ -2,7 +2,7 @@ import { C as x } from "./text-input-BgPx8BbG.js";
2
2
  import { Use as E, input as U, attr as t, coalesce as j, Empty as w, on as m, emitValue as I, prop as z, computedOf as C, html as p, aria as A, When as P, Fragment as F, Value as g, Unless as M, Ensure as R } from "@tempots/dom";
3
3
  import { a as S, I as O } from "./input-container-9r1F3KuX.js";
4
4
  import { B as V, I as $ } from "./translations-CiBhB2FV.js";
5
- import { C as W } from "./use-form-Cd8YFWaN.js";
5
+ import { C as W } from "./use-form-BQRVnIp9.js";
6
6
  const X = (n) => {
7
7
  const l = {
8
8
  name: "email",
@@ -12,7 +12,7 @@ export { getNodesForPlugins, createDefaultPluginConfig } from './nodes';
12
12
  export { HorizontalRuleNode, $createHorizontalRuleNode, $isHorizontalRuleNode, } from './horizontal-rule-node';
13
13
  export type { SerializedHorizontalRuleNode } from './horizontal-rule-node';
14
14
  export { loadLexicalCore } from './lazy-loader';
15
- export { registerRichTextPlugin, registerPlainTextPlugin, registerHistoryPlugin, registerClipboardPlugin, registerListPlugin, registerLinkPlugin, registerSlashCommandsPlugin, executeSlashCommand, exportToMarkdown, importFromMarkdown, getMarkdownTransformers, exportToHtml, importFromHtml, exportEditorToFile, importFileToEditor, registerTablePlugin, insertTable, registerCodePlugin, registerCodeShikiPlugin, registerHashtagPlugin, registerAutoLinkPlugin, registerMarkPlugin, applyMark, removeMark, registerOverflowPlugin, registerDragonPlugin, registerYjsPlugin, getSelectionInfo, getTextContent, getCharacterCount, getWordCount, loadOffsetUtils, registerHorizontalRulePlugin, HR_TRANSFORMER, } from './plugins';
15
+ export { registerRichTextPlugin, registerPlainTextPlugin, registerHistoryPlugin, registerClipboardPlugin, registerListPlugin, registerLinkPlugin, registerSlashCommandsPlugin, executeSlashCommand, exportToMarkdown, importFromMarkdown, getMarkdownTransformers, exportToHtml, importFromHtml, exportEditorToFile, importFileToEditor, registerTablePlugin, insertTable, registerCodePlugin, registerCodeShikiPlugin, registerHashtagPlugin, registerAutoLinkPlugin, registerMarkPlugin, applyMark, removeMark, registerOverflowPlugin, registerDragonPlugin, registerYjsPlugin, getSelectionInfo, getTextContent, getCharacterCount, getWordCount, loadOffsetUtils, registerHorizontalRulePlugin, HR_TRANSFORMER, buildInlineStyleImportMap, buildStyleImportMap, DEFAULT_INLINE_STYLE_PROPERTIES, } from './plugins';
16
16
  export type { SlashCommandState, SlashCommandCallbacks } from './plugins';
17
17
  export { createHeadlessEditor, markdownToLexicalJson, lexicalJsonToMarkdown, htmlToLexicalJson, lexicalJsonToHtml, } from './headless';
18
18
  export { createCommand, ElementNode, DecoratorNode, TextNode, COMMAND_PRIORITY_LOW, COMMAND_PRIORITY_NORMAL, COMMAND_PRIORITY_HIGH, COMMAND_PRIORITY_EDITOR, COMMAND_PRIORITY_CRITICAL, } from 'lexical';
@@ -27,3 +27,31 @@ export declare function buildElementStyleExportMap(): DOMExportOutputMap;
27
27
  * from imported HTML elements onto the Lexical node style.
28
28
  */
29
29
  export declare function buildElementStyleImportMap(): DOMConversionMap;
30
+ /**
31
+ * Default set of CSS properties to preserve on inline text nodes during
32
+ * HTML import. Matches the properties the toolbar applies via
33
+ * `$patchStyleText()`.
34
+ */
35
+ export declare const DEFAULT_INLINE_STYLE_PROPERTIES: readonly string[];
36
+ /**
37
+ * Build a DOMConversionMap that preserves inline CSS styles from inline
38
+ * HTML elements onto Lexical TextNode.__style.
39
+ *
40
+ * Also replicates Lexical's default format toggling (bold from
41
+ * font-weight, italic from font-style, etc.) since our priority-1
42
+ * handler replaces the default priority-0 handler.
43
+ *
44
+ * @param properties - CSS properties to preserve. Defaults to
45
+ * {@link DEFAULT_INLINE_STYLE_PROPERTIES}.
46
+ */
47
+ export declare function buildInlineStyleImportMap(properties?: readonly string[]): DOMConversionMap;
48
+ /**
49
+ * Build a combined DOMConversionMap that preserves styles for both
50
+ * block-level elements (text-align, background-color on p/h1-h6)
51
+ * and inline elements (color, font-size, font-family, background-color
52
+ * on span/em/strong/etc.).
53
+ *
54
+ * @param inlineProperties - CSS properties to preserve on inline text
55
+ * nodes. Defaults to {@link DEFAULT_INLINE_STYLE_PROPERTIES}.
56
+ */
57
+ export declare function buildStyleImportMap(inlineProperties?: readonly string[]): DOMConversionMap;
@@ -22,4 +22,4 @@ export { getSelectionInfo } from './selection';
22
22
  export { getTextContent, getCharacterCount, getWordCount } from './text';
23
23
  export { loadOffsetUtils } from './offset';
24
24
  export { registerHorizontalRulePlugin, HR_TRANSFORMER } from './horizontal-rule';
25
- export { registerElementStylePlugin, buildElementStyleExportMap, buildElementStyleImportMap, mergeElementStyle, getElementStyleProperty, } from './element-style';
25
+ export { registerElementStylePlugin, buildElementStyleExportMap, buildElementStyleImportMap, buildInlineStyleImportMap, buildStyleImportMap, DEFAULT_INLINE_STYLE_PROPERTIES, mergeElementStyle, getElementStyleProperty, } from './element-style';