@pure-ds/core 0.7.53 → 0.7.55

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.
@@ -214,7 +214,8 @@ export class AppToaster extends HTMLElement {
214
214
  * @param {number} [options.duration] - Duration in ms (auto-calculated if not provided)
215
215
  * @param {boolean} [options.closable=true] - Whether toast can be closed manually
216
216
  * @param {boolean} [options.persistent=false] - If true, toast doesn't auto-dismiss
217
- * @returns {string} Toast ID
217
+ * @param {boolean} [options.returnToastElement=false] - If true, return the toast element instead of toast ID
218
+ * @returns {string|HTMLElement|null} Toast ID by default, or toast element when returnToastElement is true
218
219
  */
219
220
  toast(message, options = {}) {
220
221
  const defaults = {
@@ -225,6 +226,7 @@ export class AppToaster extends HTMLElement {
225
226
  persistent: false, // if true, doesn't auto-dismiss
226
227
  html: false,
227
228
  action: null,
229
+ returnToastElement: false,
228
230
  };
229
231
 
230
232
  const config = { ...defaults, ...options };
@@ -235,6 +237,9 @@ export class AppToaster extends HTMLElement {
235
237
  const dedupeKey = this.#createActiveToastKey(messageText, config.type);
236
238
  const activeToastId = this.activeToastIdsByKey.get(dedupeKey);
237
239
  if (activeToastId) {
240
+ if (config.returnToastElement) {
241
+ return this.getToastElement(activeToastId);
242
+ }
238
243
  return activeToastId;
239
244
  }
240
245
 
@@ -250,9 +255,25 @@ export class AppToaster extends HTMLElement {
250
255
  this.activeToastKeys.add(dedupeKey);
251
256
  this.activeToastIdsByKey.set(dedupeKey, toastId);
252
257
  this.activeToastKeysById.set(toastId, dedupeKey);
258
+
259
+ if (config.returnToastElement) {
260
+ return this.getToastElement(toastId);
261
+ }
262
+
253
263
  return toastId;
254
264
  }
255
265
 
266
+ /**
267
+ * Get toast element by ID.
268
+ * @method getToastElement
269
+ * @public
270
+ * @param {string} toastId - Toast ID
271
+ * @returns {HTMLElement|null} Matching toast element or null if not found
272
+ */
273
+ getToastElement(toastId) {
274
+ return this.shadowRoot.querySelector(`[data-toast-id="${toastId}"]`);
275
+ }
276
+
256
277
  /*
257
278
  * Internal helper used by shorthand methods to render a toast.
258
279
  */
@@ -1,25 +1,25 @@
1
- function N(a){let e=Array.isArray(a?.strings)?a.strings:[],u=Array.isArray(a?.values)?a.values:[],m=new Set,A=[],$=/(\s)(\.[\w-]+)=\s*$/,s=/(\s)(@[\w-]+)=\s*$/,o=/(\s)(\?[\w-]+)=\s*$/,d=/(\s)([\w:-]+)=\s*$/;for(let r=0;r<e.length;r+=1){let t=e[r]??"";if(r<u.length){let n=`pds-val-${r}`,c=t.match($),l=t.match(s),p=t.match(o),w=t.match(d);if(c){let y=c[2].slice(1);t=t.replace($,`$1data-pds-bind-${r}="prop:${y}:${n}"`),m.add(r)}else if(l){let y=l[2].slice(1);t=t.replace(s,`$1data-pds-bind-${r}="event:${y}:${n}"`),m.add(r)}else if(p){let y=p[2].slice(1);t=t.replace(o,`$1data-pds-bind-${r}="boolean:${y}:${n}"`),m.add(r)}else if(w){let y=w[2];t=t.replace(d,`$1data-pds-bind-${r}="attr:${y}:${n}"`),m.add(r)}}A.push(t),r<u.length&&!m.has(r)&&A.push(`<!--pds-val-${r}-->`)}let f=document.createElement("template");f.innerHTML=A.join("");let g=(r,t)=>{let n=r.parentNode;if(!n)return;if(t==null){n.removeChild(r);return}let c=l=>{if(l!=null){if(l instanceof Node){n.insertBefore(l,r);return}if(Array.isArray(l)){l.forEach(p=>c(p));return}n.insertBefore(document.createTextNode(String(l)),r)}};c(t),n.removeChild(r)},h=document.createTreeWalker(f.content,NodeFilter.SHOW_COMMENT),i=[];for(;h.nextNode();){let r=h.currentNode;r?.nodeValue?.startsWith("pds-val-")&&i.push(r)}return i.forEach(r=>{let t=Number(r.nodeValue.replace("pds-val-",""));g(r,u[t])}),f.content.querySelectorAll("*").forEach(r=>{[...r.attributes].forEach(t=>{if(!t.name.startsWith("data-pds-bind-"))return;let n=t.value.indexOf(":"),c=t.value.lastIndexOf(":");if(n<=0||c<=n){r.removeAttribute(t.name);return}let l=t.value.slice(0,n),p=t.value.slice(n+1,c),w=t.value.slice(c+1),y=Number(String(w).replace("pds-val-","")),b=u[y];if(!p||!Number.isInteger(y)){r.removeAttribute(t.name);return}l==="prop"?r[p]=b:l==="event"?(typeof b=="function"||b&&typeof b.handleEvent=="function")&&r.addEventListener(p,b):l==="boolean"?b?r.setAttribute(p,""):r.removeAttribute(p):l==="attr"&&(b==null||b===!1?r.removeAttribute(p):r.setAttribute(p,String(b))),r.removeAttribute(t.name)})}),f.content}var T=class extends EventTarget{constructor(){super(),this.mode=null,this.compiled=null,this.log=()=>{},this.logHandler=null}},F="__PURE_DS_PDS_SINGLETON__",L=typeof globalThis<"u"?globalThis:window,x=L?.[F],v=x&&typeof x.addEventListener=="function"?x:new T;L&&(L[F]=v);typeof v.log!="function"&&(v.log=(a="log",e,...u)=>{if(typeof console>"u")return;let m=typeof console[a]=="function"?console[a].bind(console):typeof console.log=="function"?console.log.bind(console):null;m&&(u.length>0?m(e,...u):m(e))});typeof v.logHandler!="function"&&(v.logHandler=null);function M(a,e){if(e==null)return;if(typeof e=="object"&&Array.isArray(e.strings)&&Array.isArray(e.values)){a.appendChild(N(e));return}if(e instanceof Node){a.appendChild(e);return}if(Array.isArray(e)){e.forEach(m=>M(a,m));return}let u=typeof e=="string"?e:String(e);a.appendChild(document.createTextNode(u))}function P(a){if(!a)return!0;let e=!0,u=o=>{if(!o||typeof o!="object")return"<unknown>";let d=o.tagName?String(o.tagName).toLowerCase():"node",f=o.id?`#${o.id}`:"",g=typeof o.getAttribute=="function"?o.getAttribute("name"):null,h=g?`[name="${g}"]`:"";return`${d}${f}${h}`},m=(o,d)=>{if(!o||typeof o.querySelectorAll!="function")return;let f=Array.from(o.querySelectorAll(":invalid"));if(!f.length)return;let g=f.map(h=>{let i=typeof h.validationMessage=="string"?h.validationMessage:"";return`${u(h)}${i?` \u2014 ${i}`:""}`});v.log("warn",`ask.validateDialogFormTree: invalid controls in ${d}:`,g)},A=(o,d)=>{try{let f=typeof o.reportValidity=="function"?o.reportValidity():o.checkValidity?.()??!0;return f||m(o,d),f}catch(f){return v.log("error",`ask.validateDialogFormTree: validation threw in ${d}`,f),!1}};e=A(a,"host dialog form")&&e;let $=Array.from(a.querySelectorAll("form"));for(let o of $){if(o===a)continue;e=A(o,`nested light DOM form ${u(o)}`)&&e}let s=Array.from(a.querySelectorAll("*"));for(let o of s){let d=o?.shadowRoot;if(!d)continue;let f=Array.from(d.querySelectorAll("form"));for(let g of f)e=A(g,`shadow form under ${u(o)}`)&&e}return e}function V(){let a=navigator.userAgent,e=/Safari/i.test(a),u=/(Chrome|Chromium|CriOS|FxiOS|EdgiOS|OPiOS|Opera)/i.test(a);return e&&!u}function k(a){if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let e=window.matchMedia?.("(max-width: 639px)").matches,u=a.classList.contains("dialog-no-scale-animation")?"pds-dialog-fade-enter":e?"pds-dialog-enter-mobile":"pds-dialog-enter";a.style.animation="none",a.offsetWidth,a.style.animation=`${u} var(--transition-normal) ease`,a.addEventListener("animationend",()=>{a.style.animation=""},{once:!0})}function D(a={}){return a?.liquidGlassEffects===!0}async function j(a,e={}){let u={title:"Confirm",type:"confirm",buttons:{ok:{name:"OK",primary:!0},cancel:{name:"Cancel",cancel:!0}}};e={...u,...e};let m=e.buttons&&typeof e.buttons=="object"?e.buttons:u.buttons,A=s=>{if(s==null)return{actionCode:"dismiss",actionKind:"dismiss",button:null};let o=m?.[s]??null,d=s==="ok"?"ok":s==="dismiss"?"dismiss":o?.cancel||s==="cancel"?"cancel":"custom";return{actionCode:s,actionKind:d,button:o}},$=s=>{if(typeof s>"u"||s===null||s===!0)return{allow:!0};if(s===!1)return{allow:!1};if(typeof s=="object"){let o=Object.prototype.hasOwnProperty.call(s,"result")||Object.prototype.hasOwnProperty.call(s,"value");return{allow:s.allow!==!1,hasResult:o,result:Object.prototype.hasOwnProperty.call(s,"result")?s.result:s.value}}return{allow:!!s}};return new Promise(s=>{let o=!1,d=(t,n,{shouldClose:c=!0}={})=>{if(!o&&(o=!0,s(t),!(!c||!n?.open)))try{n.close()}catch(l){v.log("warn","ask: dialog.close() failed",l)}},f=async t=>{if(t.actionKind!=="ok"||typeof e.beforeClose!="function")return{allow:!0};try{let n=await e.beforeClose(t);return $(n)}catch(n){return v.log("error","ask.beforeClose: validation failed",n),{allow:!1}}},g=({actionKind:t,form:n})=>t==="ok"?e.useForm&&n?new FormData(n):!0:!1,h=async({actionCode:t,form:n,submitter:c,originalEvent:l,bypassValidation:p=!1,shouldClose:w=!0})=>{if(o)return;let{actionKind:y,button:b}=A(t),S=n||i.querySelector("form")||null;if(e.useForm&&y==="ok"&&S&&!p&&!P(S))return;let E=g({actionKind:y,form:S}),O=await f({actionCode:t,actionKind:y,dialog:i,form:S,formData:e.useForm&&y==="ok"&&S?E:null,submitter:c,originalEvent:l,options:e,button:b,defaultResult:E});if(!O.allow)return;let q=O.hasResult?O.result:E;d(q,i,{shouldClose:w})},i=document.createElement("dialog");V()&&i.classList.add("dialog-no-scale-animation"),D(e)&&i.classList.add("liquid-glass"),e.size&&i.classList.add(`dialog-${e.size}`),e.type&&i.classList.add(`dialog-${e.type}`),e.class&&(Array.isArray(e.class)?i.classList.add(...e.class):i.classList.add(e.class)),e.maxHeight&&i.style.setProperty("--dialog-max-height",e.maxHeight);let C=Object.entries(m).map(([t,n])=>{let c=n.primary?"btn-primary btn-sm":"btn-outline btn-sm",l=n.cancel?"button":"submit",p=n.formNoValidate?" formnovalidate":"";return`<button type="${l}" class="${c}" value="${t}"${p}>${n.name}</button>`});if(e.useForm){let t=document.createElement("div");M(t,a);let n=t.querySelector("form");if(n){i.innerHTML=`
1
+ function N(o){let t=Array.isArray(o?.strings)?o.strings:[],c=Array.isArray(o?.values)?o.values:[],m=new Set,$=[],w=/(\s)(\.[\w-]+)=["']?\s*$/,s=/(\s)(@[\w-]+)=["']?\s*$/,r=/(\s)(\?[\w-]+)=["']?\s*$/,u=/(\s)([\w:-]+)=["']?\s*$/,d=/=["']\s*$/,h=!1;for(let e=0;e<t.length;e+=1){let n=t[e]??"";if(h&&(n=n.replace(/^["']/,""),h=!1),e<c.length){let l=`pds-val-${e}`,b=n.match(w),p=n.match(s),f=n.match(r),C=n.match(u);if(b){let y=b[2].slice(1);h=d.test(t[e]??""),n=n.replace(w,`$1data-pds-bind-${e}="prop:${y}:${l}"`),m.add(e)}else if(p){let y=p[2].slice(1);h=d.test(t[e]??""),n=n.replace(s,`$1data-pds-bind-${e}="event:${y}:${l}"`),m.add(e)}else if(f){let y=f[2].slice(1);h=d.test(t[e]??""),n=n.replace(r,`$1data-pds-bind-${e}="boolean:${y}:${l}"`),m.add(e)}else if(C){let y=C[2];h=d.test(t[e]??""),n=n.replace(u,`$1data-pds-bind-${e}="attr:${y}:${l}"`),m.add(e)}}$.push(n),e<c.length&&!m.has(e)&&$.push(`<!--pds-val-${e}-->`)}let g=document.createElement("template");g.innerHTML=$.join("");let a=(e,n)=>{let l=e.parentNode;if(!l)return;if(n==null){l.removeChild(e);return}let b=p=>{if(p!=null){if(p instanceof Node){l.insertBefore(p,e);return}if(Array.isArray(p)){p.forEach(f=>b(f));return}l.insertBefore(document.createTextNode(String(p)),e)}};b(n),l.removeChild(e)},S=document.createTreeWalker(g.content,NodeFilter.SHOW_COMMENT),E=[];for(;S.nextNode();){let e=S.currentNode;e?.nodeValue?.startsWith("pds-val-")&&E.push(e)}return E.forEach(e=>{let n=Number(e.nodeValue.replace("pds-val-",""));a(e,c[n])}),g.content.querySelectorAll("*").forEach(e=>{[...e.attributes].forEach(n=>{if(!n.name.startsWith("data-pds-bind-"))return;let l=n.value.indexOf(":"),b=n.value.lastIndexOf(":");if(l<=0||b<=l){e.removeAttribute(n.name);return}let p=n.value.slice(0,l),f=n.value.slice(l+1,b),C=n.value.slice(b+1),y=Number(String(C).replace("pds-val-","")),v=c[y];if(!f||!Number.isInteger(y)){e.removeAttribute(n.name);return}p==="prop"?e[f]=v:p==="event"?(typeof v=="function"||v&&typeof v.handleEvent=="function")&&e.addEventListener(f,v):p==="boolean"?v?e.setAttribute(f,""):e.removeAttribute(f):p==="attr"&&(v==null||v===!1?e.removeAttribute(f):e.setAttribute(f,String(v))),e.removeAttribute(n.name)})}),g.content}var T=class extends EventTarget{constructor(){super(),this.mode=null,this.compiled=null,this.log=()=>{},this.logHandler=null}},F="__PURE_DS_PDS_SINGLETON__",L=typeof globalThis<"u"?globalThis:window,x=L?.[F],A=x&&typeof x.addEventListener=="function"?x:new T;L&&(L[F]=A);typeof A.log!="function"&&(A.log=(o="log",t,...c)=>{if(typeof console>"u")return;let m=typeof console[o]=="function"?console[o].bind(console):typeof console.log=="function"?console.log.bind(console):null;m&&(c.length>0?m(t,...c):m(t))});typeof A.logHandler!="function"&&(A.logHandler=null);function M(o,t){if(t==null)return;if(typeof t=="object"&&Array.isArray(t.strings)&&Array.isArray(t.values)){o.appendChild(N(t));return}if(t instanceof Node){o.appendChild(t);return}if(Array.isArray(t)){t.forEach(m=>M(o,m));return}let c=typeof t=="string"?t:String(t);o.appendChild(document.createTextNode(c))}function P(o){if(!o)return!0;let t=!0,c=r=>{if(!r||typeof r!="object")return"<unknown>";let u=r.tagName?String(r.tagName).toLowerCase():"node",d=r.id?`#${r.id}`:"",h=typeof r.getAttribute=="function"?r.getAttribute("name"):null,g=h?`[name="${h}"]`:"";return`${u}${d}${g}`},m=(r,u)=>{if(!r||typeof r.querySelectorAll!="function")return;let d=Array.from(r.querySelectorAll(":invalid"));if(!d.length)return;let h=d.map(g=>{let a=typeof g.validationMessage=="string"?g.validationMessage:"";return`${c(g)}${a?` \u2014 ${a}`:""}`});A.log("warn",`ask.validateDialogFormTree: invalid controls in ${u}:`,h)},$=(r,u)=>{try{let d=typeof r.reportValidity=="function"?r.reportValidity():r.checkValidity?.()??!0;return d||m(r,u),d}catch(d){return A.log("error",`ask.validateDialogFormTree: validation threw in ${u}`,d),!1}};t=$(o,"host dialog form")&&t;let w=Array.from(o.querySelectorAll("form"));for(let r of w){if(r===o)continue;t=$(r,`nested light DOM form ${c(r)}`)&&t}let s=Array.from(o.querySelectorAll("*"));for(let r of s){let u=r?.shadowRoot;if(!u)continue;let d=Array.from(u.querySelectorAll("form"));for(let h of d)t=$(h,`shadow form under ${c(r)}`)&&t}return t}function V(){let o=navigator.userAgent,t=/Safari/i.test(o),c=/(Chrome|Chromium|CriOS|FxiOS|EdgiOS|OPiOS|Opera)/i.test(o);return t&&!c}function k(o){if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let t=window.matchMedia?.("(max-width: 639px)").matches,c=o.classList.contains("dialog-no-scale-animation")?"pds-dialog-fade-enter":t?"pds-dialog-enter-mobile":"pds-dialog-enter";o.style.animation="none",o.offsetWidth,o.style.animation=`${c} var(--transition-normal) ease`,o.addEventListener("animationend",()=>{o.style.animation=""},{once:!0})}function D(o={}){return o?.liquidGlassEffects===!0}async function j(o,t={}){let c={title:"Confirm",type:"confirm",buttons:{ok:{name:"OK",primary:!0},cancel:{name:"Cancel",cancel:!0}}};t={...c,...t};let m=t.buttons&&typeof t.buttons=="object"?t.buttons:c.buttons,$=s=>{if(s==null)return{actionCode:"dismiss",actionKind:"dismiss",button:null};let r=m?.[s]??null,u=s==="ok"?"ok":s==="dismiss"?"dismiss":r?.cancel||s==="cancel"?"cancel":"custom";return{actionCode:s,actionKind:u,button:r}},w=s=>{if(typeof s>"u"||s===null||s===!0)return{allow:!0};if(s===!1)return{allow:!1};if(typeof s=="object"){let r=Object.prototype.hasOwnProperty.call(s,"result")||Object.prototype.hasOwnProperty.call(s,"value");return{allow:s.allow!==!1,hasResult:r,result:Object.prototype.hasOwnProperty.call(s,"result")?s.result:s.value}}return{allow:!!s}};return new Promise(s=>{let r=!1,u=(i,e,{shouldClose:n=!0}={})=>{if(!r&&(r=!0,s(i),!(!n||!e?.open)))try{e.close()}catch(l){A.log("warn","ask: dialog.close() failed",l)}},d=async i=>{if(i.actionKind!=="ok"||typeof t.beforeClose!="function")return{allow:!0};try{let e=await t.beforeClose(i);return w(e)}catch(e){return A.log("error","ask.beforeClose: validation failed",e),{allow:!1}}},h=({actionKind:i,form:e})=>i==="ok"?t.useForm&&e?new FormData(e):!0:!1,g=async({actionCode:i,form:e,submitter:n,originalEvent:l,bypassValidation:b=!1,shouldClose:p=!0})=>{if(r)return;let{actionKind:f,button:C}=$(i),y=e||a.querySelector("form")||null;if(t.useForm&&f==="ok"&&y&&!b&&!P(y))return;let v=h({actionKind:f,form:y}),O=await d({actionCode:i,actionKind:f,dialog:a,form:y,formData:t.useForm&&f==="ok"&&y?v:null,submitter:n,originalEvent:l,options:t,button:C,defaultResult:v});if(!O.allow)return;let q=O.hasResult?O.result:v;u(q,a,{shouldClose:p})},a=document.createElement("dialog");V()&&a.classList.add("dialog-no-scale-animation"),D(t)&&a.classList.add("liquid-glass"),t.size&&a.classList.add(`dialog-${t.size}`),t.type&&a.classList.add(`dialog-${t.type}`),t.class&&(Array.isArray(t.class)?a.classList.add(...t.class):a.classList.add(t.class)),t.maxHeight&&a.style.setProperty("--dialog-max-height",t.maxHeight);let S=Object.entries(m).map(([i,e])=>{let n=e.primary?"btn-primary btn-sm":"btn-outline btn-sm",l=e.cancel?"button":"submit",b=e.formNoValidate?" formnovalidate":"";return`<button type="${l}" class="${n}" value="${i}"${b}>${e.name}</button>`});if(t.useForm){let i=document.createElement("div");M(i,o);let e=i.querySelector("form");if(e){a.innerHTML=`
2
2
  <header>
3
- <h2>${e.title}</h2>
3
+ <h2>${t.title}</h2>
4
4
  </header>
5
- `;let c=document.createElement("article");for(c.className="dialog-body";n.firstChild;)c.appendChild(n.firstChild);n.appendChild(c);let l=document.createElement("footer");l.innerHTML=C.join(""),n.appendChild(l),i.appendChild(n)}else i.innerHTML=`
5
+ `;let n=document.createElement("article");for(n.className="dialog-body";e.firstChild;)n.appendChild(e.firstChild);e.appendChild(n);let l=document.createElement("footer");l.innerHTML=S.join(""),e.appendChild(l),a.appendChild(e)}else a.innerHTML=`
6
6
  <header>
7
- <h2>${e.title}</h2>
7
+ <h2>${t.title}</h2>
8
8
  </header>
9
9
  <article id="msg-container"></article>
10
10
  <footer>
11
- ${C.join("")}
11
+ ${S.join("")}
12
12
  </footer>
13
- `,i.querySelector("#msg-container").appendChild(t)}else{i.innerHTML=`
13
+ `,a.querySelector("#msg-container").appendChild(i)}else{a.innerHTML=`
14
14
  <form method="dialog">
15
15
  <header>
16
- <h2>${e.title}</h2>
16
+ <h2>${t.title}</h2>
17
17
  </header>
18
18
 
19
19
  <article id="msg-container"></article>
20
20
 
21
21
  <footer>
22
- ${C.join("")}
22
+ ${S.join("")}
23
23
  </footer>
24
24
  </form>
25
- `;let t=i.querySelector("#msg-container");M(t,a)}i.addEventListener("click",t=>{let n=t.target.closest('button[value="cancel"]');n&&h({actionCode:"cancel",form:i.querySelector("form"),submitter:n,originalEvent:t})});let r=()=>{let t=i.querySelector("form");if(t){if(t.dataset.askSubmitBound==="true")return;t.dataset.askSubmitBound="true",t.addEventListener("submit",n=>{n.preventDefault();let c=n.submitter?.value??(e.useForm?"ok":void 0),l=!!n.submitter?.hasAttribute("formnovalidate");h({actionCode:c,form:t,submitter:n.submitter,originalEvent:n,bypassValidation:l})})}else requestAnimationFrame(r)};i.addEventListener("cancel",t=>{t.preventDefault(),h({actionCode:"dismiss",form:i.querySelector("form"),originalEvent:t})}),i.addEventListener("close",()=>{o||d(!1,i,{shouldClose:!1}),setTimeout(()=>i.remove(),200)}),document.body.appendChild(i),requestAnimationFrame(r),typeof e.rendered=="function"&&e.rendered(i),i.showModal(),requestAnimationFrame(()=>k(i))})}export{j as ask};
25
+ `;let i=a.querySelector("#msg-container");M(i,o)}a.addEventListener("click",i=>{let e=i.target.closest('button[value="cancel"]');e&&g({actionCode:"cancel",form:a.querySelector("form"),submitter:e,originalEvent:i})});let E=()=>{let i=a.querySelector("form");if(i){if(i.dataset.askSubmitBound==="true")return;i.dataset.askSubmitBound="true",i.addEventListener("submit",e=>{e.preventDefault();let n=e.submitter?.value??(t.useForm?"ok":void 0),l=!!e.submitter?.hasAttribute("formnovalidate");g({actionCode:n,form:i,submitter:e.submitter,originalEvent:e,bypassValidation:l})})}else requestAnimationFrame(E)};a.addEventListener("cancel",i=>{i.preventDefault(),g({actionCode:"dismiss",form:a.querySelector("form"),originalEvent:i})}),a.addEventListener("close",()=>{r||u(!1,a,{shouldClose:!1}),setTimeout(()=>a.remove(),200)}),document.body.appendChild(a),requestAnimationFrame(E),typeof t.rendered=="function"&&t.rendered(a),a.showModal(),requestAnimationFrame(()=>k(a))})}export{j as ask};