@fkn/lib 0.3.7 → 0.3.9

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/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@fkn/lib",
3
- "version": "0.3.7",
3
+ "version": "0.3.9",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "type": "module",
7
7
  "dependencies": {
8
8
  "ip-address": "^10.1.0",
9
- "osra": "^0.4.1"
9
+ "osra": "^0.5.4",
10
+ "@types/node": "^25.2.1"
10
11
  }
11
12
  }
@@ -1,31 +0,0 @@
1
- var e=Object.defineProperty,t=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),n=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};let r=require(`osra`);var i=3e4,a=50,o=e=>{let t=e[e.length-1];return typeof t==`object`&&t&&`timeout`in t&&typeof t.timeout==`number`?t.timeout:i},s=async(e,t,n,r)=>{let i=e,s=o(r),c=Date.now()+s,l=Error(`Locator timeout (${s}ms): ${n}`),{promise:u,reject:d}=Promise.withResolvers(),f=setTimeout(()=>d(l),s),p=l;try{for(;Date.now()<c;)try{return await Promise.race([i(t,n,r),u])}catch(e){if(e===l)break;p=e;let t=c-Date.now();if(t<=0)break;await new Promise(e=>setTimeout(e,Math.min(a,t)))}}finally{clearTimeout(f)}throw p},c=n({render:()=>d,resolve:()=>u,type:()=>l}),l=`locator`,u=(e,t)=>e.elements.flatMap(e=>[...e.querySelectorAll(t)]),d=e=>({fragment:typeof e==`string`?e:`?`,separator:`descend`}),f=e=>typeof e==`object`&&!!e,p=e=>f(e)&&e.FKN_WEB_EXTENSION_FRAME_ANNOUNCE_KEY===!0&&typeof e.frameId==`string`,m=new WeakMap,h=new WeakMap,g=new Set,_=e=>(g.add(e),()=>g.delete(e));typeof window<`u`&&window.addEventListener(`message`,e=>{if(!p(e.data))return;e.stopImmediatePropagation();let t=e.source;if(!t||typeof t!=`object`)return;let n=t,r=m.get(n),i=e.data.frameId;if(m.set(n,i),r)for(let e of g)e(r);let a=h.get(n);if(a){h.delete(n);for(let e of a)e(i)}},{capture:!0});var v=e=>{let t=e.contentWindow;if(!t)return Promise.reject(Error(`frameLocator: <iframe> has no contentWindow`));let n=m.get(t);return n?Promise.resolve(n):new Promise(e=>{let n=h.get(t)??[];n.push(e),h.set(t,n)})},y=n({render:()=>C,resolve:()=>x,resolvePeer:()=>S,type:()=>b}),b=`frameLocator`,x=(e,t)=>e.elements.flatMap(e=>[...e.querySelectorAll(t)]).filter(e=>e instanceof HTMLIFrameElement),S=async({parts:e,selfIndex:t,resolveLocal:n})=>{let r=n(e.slice(0,t+1))[0];if(!r)throw Error(`frameLocator: no <iframe> matched`);if(!(r instanceof HTMLIFrameElement))throw Error(`frameLocator: expected <iframe>, got <${r.tagName.toLowerCase()}>`);return v(r)},C=e=>({fragment:typeof e==`string`?e:`?`,separator:`frame-down`}),ee=n({render:()=>ie,resolve:()=>ne,resolvePeer:()=>re,type:()=>te}),te=`owner`,ne=e=>{throw Error(`owner: must be processed by the executor as an upward pivot`)},re=async()=>{let{backgroundResolvers:e}=await Promise.resolve().then(()=>require(`./background-Y_zGUlba.cjs`)),t=await(await e).getParentFrameId();if(!t)throw Error(`owner: already at top frame`);return t},ie=()=>({fragment:``,separator:`frame-up`}),ae=class extends Error{reason;filename;line;column;source;constructor(e,t,n,r,i){super(`${e}:${n}:${r}: ${t}`),this.reason=t,this.filename=e,this.line=n,this.column=r,this.source=i}},oe=class{start;end;source;constructor(e,t,n){this.start=e,this.end=t,this.source=n}},w;(function(e){e.stylesheet=`stylesheet`,e.rule=`rule`,e.declaration=`declaration`,e.comment=`comment`,e.container=`container`,e.charset=`charset`,e.document=`document`,e.customMedia=`custom-media`,e.fontFace=`font-face`,e.host=`host`,e.import=`import`,e.keyframes=`keyframes`,e.keyframe=`keyframe`,e.layer=`layer`,e.media=`media`,e.namespace=`namespace`,e.page=`page`,e.startingStyle=`starting-style`,e.supports=`supports`})(w||={});var se=(e,t,n)=>{let r=n,i=1e4;do{let n=t.map(t=>e.indexOf(t,r));n.push(e.indexOf(`\\`,r));let a=n.filter(e=>e!==-1);if(a.length===0)return-1;let o=Math.min(...a);if(e[o]!==`\\`)return o;r=o+2,i--}while(i>0);throw Error(`Too many escaping`)},T=(e,t,n)=>{let r=n,i=1e4;do{let n=t.map(t=>e.indexOf(t,r));n.push(e.indexOf(`(`,r)),n.push(e.indexOf(`"`,r)),n.push(e.indexOf(`'`,r)),n.push(e.indexOf(`\\`,r));let a=n.filter(e=>e!==-1);if(a.length===0)return-1;let o=Math.min(...a);switch(e[o]){case`\\`:r=o+2;break;case`(`:{let t=T(e,[`)`],o+1);if(t===-1)return-1;r=t+1}break;case`"`:{let t=se(e,[`"`],o+1);if(t===-1)return-1;r=t+1}break;case`'`:{let t=se(e,[`'`],o+1);if(t===-1)return-1;r=t+1}break;default:return o}i--}while(i>0);throw Error(`Too many escaping`)},E=/\/\*[^]*?(?:\*\/|$)/g;function D(e){return e?e.trim():``}function O(e,t){let n=e&&typeof e.type==`string`,r=n?e:t;for(let t in e){let n=e[t];Array.isArray(n)?n.forEach(e=>{O(e,r)}):n&&typeof n==`object`&&O(n,r)}return n&&Object.defineProperty(e,`parent`,{configurable:!0,writable:!0,enumerable:!1,value:t||null}),e}var ce=class{level=0;indentation=` `;compress=!1;constructor(e){typeof e?.indent==`string`&&(this.indentation=e?.indent),e?.compress&&(this.compress=!0)}emit(e,t){return e}indent(e){return this.level=this.level||1,e?(this.level+=e,``):Array(this.level).join(this.indentation)}visit(e){switch(e.type){case w.stylesheet:return this.stylesheet(e);case w.rule:return this.rule(e);case w.declaration:return this.declaration(e);case w.comment:return this.comment(e);case w.container:return this.container(e);case w.charset:return this.charset(e);case w.document:return this.document(e);case w.customMedia:return this.customMedia(e);case w.fontFace:return this.fontFace(e);case w.host:return this.host(e);case w.import:return this.import(e);case w.keyframes:return this.keyframes(e);case w.keyframe:return this.keyframe(e);case w.layer:return this.layer(e);case w.media:return this.media(e);case w.namespace:return this.namespace(e);case w.page:return this.page(e);case w.startingStyle:return this.startingStyle(e);case w.supports:return this.supports(e)}}mapVisit(e,t){let n=``;t||=``;for(let r=0,i=e.length;r<i;r++)n+=this.visit(e[r]),t&&r<i-1&&(n+=this.emit(t));return n}compile(e){return this.compress?e.stylesheet.rules.map(this.visit,this).join(``):this.stylesheet(e)}stylesheet(e){return this.mapVisit(e.stylesheet.rules,`
2
-
3
- `)}comment(e){return this.compress?this.emit(``,e.position):this.emit(`${this.indent()}/*${e.comment}*/`,e.position)}container(e){return this.compress?this.emit(`@container ${e.container}`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`${this.indent()}@container ${e.container}`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
4
-
5
- `)+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}layer(e){return this.compress?this.emit(`@layer ${e.layer}`,e.position)+(e.rules?this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):`;`):this.emit(`${this.indent()}@layer ${e.layer}`,e.position)+(e.rules?this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
6
-
7
- `)+this.emit(`\n${this.indent(-1)}${this.indent()}}`):`;`)}import(e){return this.emit(`@import ${e.import};`,e.position)}media(e){return this.compress?this.emit(`@media ${e.media}`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`${this.indent()}@media ${e.media}`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
8
-
9
- `)+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}document(e){let t=`@${e.vendor||``}document ${e.document}`;return this.compress?this.emit(t,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(t,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
10
-
11
- `)+this.emit(`${this.indent(-1)}\n}`)}charset(e){return this.emit(`@charset ${e.charset};`,e.position)}namespace(e){return this.emit(`@namespace ${e.namespace};`,e.position)}startingStyle(e){return this.compress?this.emit(`@starting-style`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`${this.indent()}@starting-style`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
12
-
13
- `)+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}supports(e){return this.compress?this.emit(`@supports ${e.supports}`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`${this.indent()}@supports ${e.supports}`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
14
-
15
- `)+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}keyframes(e){return this.compress?this.emit(`@${e.vendor||``}keyframes ${e.name}`,e.position)+this.emit(`{`)+this.mapVisit(e.keyframes)+this.emit(`}`):this.emit(`@${e.vendor||``}keyframes ${e.name}`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.keyframes,`
16
- `)+this.emit(`${this.indent(-1)}}`)}keyframe(e){let t=e.declarations;return this.compress?this.emit(e.values.join(`,`),e.position)+this.emit(`{`)+this.mapVisit(t)+this.emit(`}`):this.emit(this.indent())+this.emit(e.values.join(`, `),e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(t,`
17
- `)+this.emit(`${this.indent(-1)}\n${this.indent()}}\n`)}page(e){if(this.compress){let t=e.selectors.length?e.selectors.join(`, `):``;return this.emit(`@page ${t}`,e.position)+this.emit(`{`)+this.mapVisit(e.declarations)+this.emit(`}`)}let t=e.selectors.length?`${e.selectors.join(`, `)} `:``;return this.emit(`@page ${t}`,e.position)+this.emit(`{
18
- `)+this.emit(this.indent(1))+this.mapVisit(e.declarations,`
19
- `)+this.emit(this.indent(-1))+this.emit(`
20
- }`)}fontFace(e){return this.compress?this.emit(`@font-face`,e.position)+this.emit(`{`)+this.mapVisit(e.declarations)+this.emit(`}`):this.emit(`@font-face `,e.position)+this.emit(`{
21
- `)+this.emit(this.indent(1))+this.mapVisit(e.declarations,`
22
- `)+this.emit(this.indent(-1))+this.emit(`
23
- }`)}host(e){return this.compress?this.emit(`@host`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`@host`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
24
-
25
- `)+this.emit(`${this.indent(-1)}\n}`)}customMedia(e){return this.emit(`@custom-media ${e.name} ${e.media};`,e.position)}rule(e){let t=e.declarations;if(!t.length)return``;if(this.compress)return this.emit(e.selectors.join(`,`),e.position)+this.emit(`{`)+this.mapVisit(t)+this.emit(`}`);let n=this.indent();return this.emit(e.selectors.map(e=>n+e).join(`,
26
- `),e.position)+this.emit(` {
27
- `)+this.emit(this.indent(1))+this.mapVisit(t,`
28
- `)+this.emit(this.indent(-1))+this.emit(`\n${this.indent()}}`)}declaration(e){return this.compress?this.emit(`${e.property}:${e.value}`,e.position)+this.emit(`;`):e.property===`grid-template-areas`?this.emit(this.indent())+this.emit(e.property+`: `+e.value.split(`
29
- `).join(`
30
- `.padEnd(22)+this.indent()),e.position)+this.emit(`;`):this.emit(this.indent())+this.emit(`${e.property}: ${e.value}`,e.position)+this.emit(`;`)}},le=(e,t)=>{t||={};let n=1,r=1;function i(){let e={line:n,column:r};return i=>(i.position=new oe(e,{line:n,column:r},t?.source||``),d(),i)}let a=[];function o(i){let o=new ae(t?.source||``,i,n,r,e);if(!t?.silent)throw o;a.push(o)}function s(){let t=/^{\s*/.exec(e);return!!t&&(u(t),!0)}function c(){let t=/^}/.exec(e);return!!t&&(u(t),!0)}function l(){let t,n=[];for(d(),f(n);e.length&&e.charAt(0)!==`}`&&(t=S()||C(),t);)n.push(t),f(n);return n}function u(t){let i=t[0];return function(e){let t=e.match(/\n/g);t&&(n+=t.length);let i=e.lastIndexOf(`
31
- `);r=~i?e.length-i:r+e.length}(i),e=e.slice(i.length),t}function d(){let t=/^\s*/.exec(e);t&&u(t)}function f(e){e||=[];let t=p();for(;t;)e.push(t),t=p();return e}function p(){let t=i();if(e.charAt(0)!==`/`||e.charAt(1)!==`*`)return;let n=/^\/\*[^]*?\*\//.exec(e);return n?(u(n),t({type:w.comment,comment:n[0].slice(2,-2)})):o(`End of comment missing`)}function m(){let t=/^([^{]+)/.exec(e);if(t)return u(t),((e,t)=>{let n=[],r=0;for(;r<e.length;){let i=T(e,t,r);if(i===-1)return n.push(e.substring(r)),n;n.push(e.substring(r,i)),r=i+1}return n})(D(t[0]).replace(E,``),[`,`]).map(e=>D(e))}function h(){let t=i(),n=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/.exec(e);if(!n)return;u(n);let r=D(n[0]),a=/^:\s*/.exec(e);if(!a)return o(`property missing ':'`);u(a);let s=``,c=T(e,[`;`,`}`]);c!==-1&&(s=e.substring(0,c),u([s]),s=D(s).replace(E,``));let l=t({type:w.declaration,property:r.replace(E,``),value:s}),d=/^[;\s]*/.exec(e);return d&&u(d),l}function g(){let e=[];if(!s())return o(`missing '{'`);f(e);let t=h();for(;t;)e.push(t),f(e),t=h();return c()?e:o(`missing '}'`)}function _(){let t=[],n=i(),r=/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/.exec(e);for(;r;){let n=u(r);t.push(n[1]);let i=/^,\s*/.exec(e);i&&u(i),r=/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/.exec(e)}if(t.length)return n({type:w.keyframe,values:t,declarations:g()||[]})}let v=x(`import`),y=x(`charset`),b=x(`namespace`);function x(t){let n=RegExp(`^@`+t+`\\s*((?::?[^;'"]|"(?:\\\\"|[^"])*?"|'(?:\\\\'|[^'])*?')+)(?:;|$)`);return()=>{let r=i(),a=n.exec(e);if(!a)return;let o=u(a),s={type:t};return s[t]=o[1].trim(),r(s)}}function S(){if(e[0]===`@`)return function(){let t=i(),n=/^@([-\w]+)?keyframes\s*/.exec(e);if(!n)return;let r=u(n)[1],a=/^([-\w]+)\s*/.exec(e);if(!a)return o(`@keyframes missing name`);let l=u(a)[1];if(!s())return o(`@keyframes missing '{'`);let d=f(),p=_();for(;p;)d.push(p),d=d.concat(f()),p=_();return c()?t({type:w.keyframes,name:l,vendor:r,keyframes:d}):o(`@keyframes missing '}'`)}()||function(){let t=i(),n=/^@media *([^{]+)/.exec(e);if(!n)return;let r=D(u(n)[1]);if(!s())return o(`@media missing '{'`);let a=f().concat(l());return c()?t({type:w.media,media:r,rules:a}):o(`@media missing '}'`)}()||function(){let t=i(),n=/^@custom-media\s+(--\S+)\s+([^{;\s][^{;]*);/.exec(e);if(!n)return;let r=u(n);return t({type:w.customMedia,name:D(r[1]),media:D(r[2])})}()||function(){let t=i(),n=/^@supports *([^{]+)/.exec(e);if(!n)return;let r=D(u(n)[1]);if(!s())return o(`@supports missing '{'`);let a=f().concat(l());return c()?t({type:w.supports,supports:r,rules:a}):o(`@supports missing '}'`)}()||v()||y()||b()||function(){let t=i(),n=/^@([-\w]+)?document *([^{]+)/.exec(e);if(!n)return;let r=u(n),a=D(r[1]),d=D(r[2]);if(!s())return o(`@document missing '{'`);let p=f().concat(l());return c()?t({type:w.document,document:d,vendor:a,rules:p}):o(`@document missing '}'`)}()||function(){let t=i(),n=/^@page */.exec(e);if(!n)return;u(n);let r=m()||[];if(!s())return o(`@page missing '{'`);let a=f(),l=h();for(;l;)a.push(l),a=a.concat(f()),l=h();return c()?t({type:w.page,selectors:r,declarations:a}):o(`@page missing '}'`)}()||function(){let t=i(),n=/^@host\s*/.exec(e);if(!n)return;if(u(n),!s())return o(`@host missing '{'`);let r=f().concat(l());return c()?t({type:w.host,rules:r}):o(`@host missing '}'`)}()||function(){let t=i(),n=/^@font-face\s*/.exec(e);if(!n)return;if(u(n),!s())return o(`@font-face missing '{'`);let r=f(),a=h();for(;a;)r.push(a),r=r.concat(f()),a=h();return c()?t({type:w.fontFace,declarations:r}):o(`@font-face missing '}'`)}()||function(){let t=i(),n=/^@container *([^{]+)/.exec(e);if(!n)return;let r=D(u(n)[1]);if(!s())return o(`@container missing '{'`);let a=f().concat(l());return c()?t({type:w.container,container:r,rules:a}):o(`@container missing '}'`)}()||function(){let t=i(),n=/^@starting-style\s*/.exec(e);if(!n)return;if(u(n),!s())return o(`@starting-style missing '{'`);let r=f().concat(l());return c()?t({type:w.startingStyle,rules:r}):o(`@starting-style missing '}'`)}()||function(){let t=i(),n=/^@layer *([^{;@]+)/.exec(e);if(!n)return;let r=D(u(n)[1]);if(!s()){let n=/^[;\s]*/.exec(e);return n&&u(n),t({type:w.layer,layer:r})}let a=f().concat(l());return c()?t({type:w.layer,layer:r,rules:a}):o(`@layer missing '}'`)}()}function C(){let e=i(),t=m();return t?(f(),e({type:w.rule,selectors:t,declarations:g()||[]})):o(`selector missing`)}return O(function(){let e=l();return{type:w.stylesheet,stylesheet:{source:t?.source,rules:e,parsingErrors:a}}}())},ue=(e,t)=>new ce(t||{}).compile(e),de=n({resolve:()=>_e,type:()=>fe}),fe=`addStyleTag`,pe=/(?:^|[^\w-])(?:url|image|image-set|cross-fade|paint|element|expression)\s*\(/i,me=e=>e.replace(/\\([0-9a-fA-F]{1,6})\s?/g,(e,t)=>String.fromCodePoint(Number.parseInt(t,16))).replace(/\\(.)/g,`$1`),k=e=>!pe.test(me(e.value)),A=e=>{let t=[];for(let n of e)switch(n.type){case w.import:case w.fontFace:case w.namespace:case w.charset:case w.document:case w.comment:continue;case w.rule:case w.page:t.push({...n,declarations:n.declarations.filter(e=>e.type!==w.declaration||k(e))});continue;case w.media:case w.supports:case w.container:case w.host:case w.startingStyle:t.push({...n,rules:A(n.rules)});continue;case w.layer:t.push({...n,rules:n.rules?A(n.rules):void 0});continue;case w.keyframes:t.push({...n,keyframes:n.keyframes.map(e=>e.type===w.keyframe?{...e,declarations:e.declarations.filter(e=>e.type!==w.declaration||k(e))}:e)});continue;default:continue}return t},he=e=>{let t;try{t=le(e,{silent:!0})}catch{return``}return t.stylesheet.rules=A(t.stylesheet.rules),ue(t)},ge=e=>{let t=()=>{e.parentNode||(document.head??document.documentElement).appendChild(e)};t();let n=new MutationObserver(n=>{for(let r of n)for(let n of r.removedNodes)if(n===e||n.contains?.(e)){t();return}});n.observe(document.documentElement,{childList:!0,subtree:!0}),window.addEventListener(`load`,()=>n.disconnect(),{once:!0})},_e=async(e,t)=>{let n=document.createElement(`style`);n.textContent=t.noSanitize?t.content:he(t.content);try{ge(n)}catch(e){console.error(e)}},j=`frameLocator`,M=[{...c,nextLocatorType:`locator`},y,ee],N=[de],ve={type:j,selectorModules:M,operationModules:N},P=F({ownType:j,selectorModules:M,operationModules:N});function F(e){return(t,n=[])=>({...Object.fromEntries(e.selectorModules.map(r=>[r.type,(...i)=>{let a=[...n,{locatorType:e.ownType,type:r.type,args:i}];return(r.nextLocatorType??e.ownType)===`locator`?Tt(t,a):P(t,a)}])),...Object.fromEntries(e.operationModules.map(({type:e})=>[e,(...r)=>s(t,n,e,r)]))})}var ye=n({render:()=>Se,resolve:()=>xe,type:()=>be}),be=`getByRole`,xe=(e,t)=>e.elements.flatMap(e=>[...e.querySelectorAll(`[role="${CSS.escape(t)}"]`)]),Se=e=>({fragment:typeof e==`string`?`[role="${e.replaceAll(`"`,`\\"`)}"]`:`[role]`}),Ce=n({render:()=>Ee,resolve:()=>Te,type:()=>we}),we=`getByText`,Te=(e,t)=>e.elements.flatMap(e=>[e,...e.querySelectorAll(`*`)]).filter(e=>e.textContent?.includes(t)),Ee=e=>({fragment:typeof e==`string`?`:has-text("${e.replaceAll(`"`,`\\"`)}")`:`:has-text(...)`}),De=n({render:()=>Ae,resolve:()=>ke,type:()=>Oe}),Oe=`getByTestId`,ke=(e,t)=>e.elements.flatMap(e=>[...e.querySelectorAll(`[data-testid="${CSS.escape(t)}"]`)]),Ae=e=>({fragment:typeof e==`string`?`[data-testid="${e.replaceAll(`"`,`\\"`)}"]`:`[data-testid]`}),je=n({render:()=>Pe,resolve:()=>Ne,type:()=>Me}),Me=`first`,Ne=e=>e.elements.slice(0,1),Pe=()=>({fragment:`:first`}),Fe=n({render:()=>Le,resolve:()=>Ie,type:()=>`nth`}),Ie=(e,t)=>{let n=e.elements.at(t);return n?[n]:[]},Le=e=>({fragment:typeof e==`number`?`:nth(${e})`:`:nth(?)`}),I=e=>{let t=Error(e);return t.name=`LocatorError`,t},L=e=>{if(e.length===0)throw I(`No elements found`);if(e.length>1)throw I(`Strict mode violation: locator resolved to ${e.length} elements`);return e[0]},Re=n({resolve:()=>Be,type:()=>ze}),ze=`click`,Be=(e,t={})=>{let n=L(e.elements),r=n.getBoundingClientRect(),i=t.position?.x??.5,a=t.position?.y??.5,o={bubbles:!0,cancelable:!0,composed:!0,clientX:r.left+r.width*i,clientY:r.top+r.height*a,button:0},s={...o,buttons:1,pointerType:`mouse`,pointerId:1,isPrimary:!0},c={...o,buttons:1},l={...o,buttons:0};n.dispatchEvent(new PointerEvent(`pointerdown`,s)),n.dispatchEvent(new MouseEvent(`mousedown`,c)),n.dispatchEvent(new PointerEvent(`pointerup`,{...s,buttons:0})),n.dispatchEvent(new MouseEvent(`mouseup`,l)),n.dispatchEvent(new MouseEvent(`click`,l))},Ve=n({resolve:()=>We,type:()=>He}),He=`fill`,R=(e,t)=>{e._valueTracker?.setValue(``);let n=e instanceof HTMLTextAreaElement?HTMLTextAreaElement.prototype:HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`)?.set;r?r.call(e,t):e.value=t},Ue=(e,t)=>{if(e.type!==`range`)return null;let n=Number(e.min||0),r=Number(e.max||100);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=n)return null;let i=Number(t);if(!Number.isFinite(i))return null;let a=Math.max(0,Math.min(1,(i-n)/(r-n))),o=e.getBoundingClientRect(),s={bubbles:!0,cancelable:!0,composed:!0,clientX:o.left+o.width*a,clientY:o.top+o.height/2,button:0};return{pointerDown:{...s,buttons:1,pointerType:`mouse`,pointerId:1,isPrimary:!0},pointerUp:{...s,buttons:0,pointerType:`mouse`,pointerId:1,isPrimary:!0},mouseDown:{...s,buttons:1},mouseUp:{...s,buttons:0}}},We=(e,t,n={})=>{let r=L(e.elements);if(r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement){let e=r instanceof HTMLInputElement?Ue(r,t):null;if(e){r.dispatchEvent(new PointerEvent(`pointerdown`,e.pointerDown)),r.dispatchEvent(new MouseEvent(`mousedown`,e.mouseDown)),R(r,t),r.dispatchEvent(new Event(`input`,{bubbles:!0})),r.dispatchEvent(new PointerEvent(`pointerup`,e.pointerUp)),r.dispatchEvent(new MouseEvent(`mouseup`,e.mouseUp)),r.dispatchEvent(new Event(`change`,{bubbles:!0}));return}R(r,t),r.dispatchEvent(new Event(`input`,{bubbles:!0})),r.dispatchEvent(new Event(`change`,{bubbles:!0}));return}if(r instanceof HTMLElement&&r.isContentEditable){r.textContent=t,r.dispatchEvent(new Event(`input`,{bubbles:!0}));return}throw Error(`fill: element <${r.tagName.toLowerCase()}> is not fillable`)},Ge=n({resolve:()=>qe,type:()=>Ke}),Ke=`hover`,qe=(e,t={})=>{let n=L(e.elements);n.dispatchEvent(new MouseEvent(`mouseenter`,{bubbles:!1,cancelable:!0})),n.dispatchEvent(new MouseEvent(`mouseover`,{bubbles:!0,cancelable:!0})),n.dispatchEvent(new MouseEvent(`mousemove`,{bubbles:!0,cancelable:!0}))},Je=n({resolve:()=>Xe,type:()=>Ye}),Ye=`textContent`,Xe=(e,t={})=>L(e.elements).textContent,Ze=n({resolve:()=>$e,type:()=>Qe}),Qe=`isVisible`,$e=(e,t={})=>{let n=L(e.elements);if(!(n instanceof HTMLElement))return!0;let r=n.ownerDocument.defaultView?.getComputedStyle(n);if(r?.display===`none`||r?.visibility===`hidden`)return!1;let i=n.getBoundingClientRect();return i.width>0&&i.height>0},et=n({resolve:()=>nt,type:()=>tt}),tt=`count`,nt=(e,t={})=>e.elements.length,rt=n({resolve:()=>at,type:()=>it}),it=`exists`,at=(e,t={})=>e.elements.length>0,ot=n({resolve:()=>ct,type:()=>st}),st=`getAttribute`,ct=(e,t,n={})=>L(e.elements).getAttribute(t),lt=(e,t)=>{let n=new EventTarget,r=new Map,i=EventTarget.prototype.addEventListener.bind(n),a=EventTarget.prototype.removeEventListener.bind(n);return Object.defineProperty(n,`addEventListener`,{configurable:!0,value:(a,o,s)=>{if(o!==null){if(!r.has(a)){let i=r=>{n.dispatchEvent(new CustomEvent(a,{detail:t(r,e),bubbles:r.bubbles,cancelable:r.cancelable,composed:r.composed}))};e.addEventListener(a,i),r.set(a,i)}i(a,o,s)}}}),Object.defineProperty(n,`removeEventListener`,{configurable:!0,value:(t,n,i)=>{if(n===null)return;a(t,n,i);let o=r.get(t);o&&(e.removeEventListener(t,o),r.delete(t))}}),n},z=e=>typeof e==`boolean`?e?1:0:e?.capture?1:0,ut=e=>{let t=new WeakMap;return{addEventListener:(n,r,i)=>{if(r===null)return;let a=`${n}|${z(i)}`,o=t.get(r);if(o||(o=new Map,t.set(r,o)),o.has(a))return;let s=typeof i==`object`&&!!i&&!!i.once,c=t=>{s&&o.delete(a);let i=e.unenrich(t,n);typeof r==`function`?r.call(e.target,i):r.handleEvent(i)};o.set(a,c),e.remoteEvents.addEventListener(n,c,i)},removeEventListener:(n,r,i)=>{if(r===null)return;let a=`${n}|${z(i)}`,o=t.get(r),s=o?.get(a);s&&(e.remoteEvents.removeEventListener(n,s,i),o.delete(a))},dispatchEvent:t=>e.remoteEvents.dispatchEvent(t)}},dt=n({box:()=>Z,createVideoElementHandle:()=>Y,isType:()=>X,revive:()=>Q,type:()=>B}),B=`videoElement`,V=[`currentTime`,`volume`,`muted`,`playbackRate`,`src`,`loop`,`autoplay`,`preload`,`poster`,`disableRemotePlayback`],H=[`duration`,`paused`,`ended`,`seeking`,`readyState`,`currentSrc`],U=[`buffered`,`seekable`],W=Symbol.for(`fkn.remoteVideoElement`),G=Symbol.for(`fkn.remoteVideoElement.state`),K=Symbol.for(`fkn.remoteVideoElement.controller`),ft=e=>e?Array.from({length:e.length},(t,n)=>[e.start(n),e.end(n)]):[],q=e=>{let t={};for(let n of[...V,...H])t[n]=e[n];for(let n of U)t[n]=ft(e[n]);return t.error=e.error?{code:e.error.code,message:e.error.message}:null,t},pt=e=>{let t=t=>{if(!Number.isInteger(t)||t<0||t>=e.length)throw new DOMException(`Index or size is negative or greater than the allowed amount`,`IndexSizeError`)};return{get length(){return e.length},start(n){return t(n),e[n][0]},end(n){return t(n),e[n][1]}}},mt=e=>e?{code:e.code,message:e.message,MEDIA_ERR_ABORTED:1,MEDIA_ERR_NETWORK:2,MEDIA_ERR_DECODE:3,MEDIA_ERR_SRC_NOT_SUPPORTED:4}:null,ht=e=>lt(e,(e,t)=>({originalDetail:e instanceof CustomEvent?e.detail:null,snapshot:q(t)})),gt=async(e,t)=>{switch(t){case`play`:return await e.play(),null;case`pause`:return e.pause(),null;case`load`:return e.load(),null;case`requestPictureInPicture`:if(typeof e.requestPictureInPicture!=`function`)throw Error(`requestPictureInPicture is not supported in this environment`);return await e.requestPictureInPicture(),null;case`exitPictureInPicture`:{let t=e.ownerDocument;if(typeof t?.exitPictureInPicture!=`function`)throw Error(`exitPictureInPicture is not supported in this environment`);return await t.exitPictureInPicture(),null}default:throw Error(`videoElement: unknown method "${t}"`)}},_t=e=>({call:async t=>gt(e,t),set:async(t,n)=>{try{e[t]=n}catch{}return q(e)},events:ht(e)}),J=(e,t)=>{let n=new EventTarget;Object.defineProperty(n,W,{value:!0}),Object.defineProperty(n,G,{value:e}),Object.defineProperty(n,K,{value:t});let r=ut({target:n,remoteEvents:t.events,unenrich:(t,n)=>{if(!(t instanceof CustomEvent))return t;let r=t.detail;if(!r||!(`snapshot`in r))return t;Object.assign(e,r.snapshot);let i={bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed};return r.originalDetail===null?new Event(n,i):new CustomEvent(n,{...i,detail:r.originalDetail})}}),i={addEventListener:{configurable:!0,value:r.addEventListener},removeEventListener:{configurable:!0,value:r.removeEventListener},dispatchEvent:{configurable:!0,value:r.dispatchEvent},error:{configurable:!0,enumerable:!0,get(){return mt(e.error)}},play:{configurable:!0,value:()=>t.call(`play`,[])},pause:{configurable:!0,value:()=>{t.call(`pause`,[]).catch(()=>{})}},load:{configurable:!0,value:()=>{t.call(`load`,[]).catch(()=>{})}},requestPictureInPicture:{configurable:!0,value:()=>t.call(`requestPictureInPicture`,[])},exitPictureInPicture:{configurable:!0,value:()=>t.call(`exitPictureInPicture`,[])},HAVE_FUTURE_DATA:{enumerable:!0,value:3},HAVE_ENOUGH_DATA:{enumerable:!0,value:4}};for(let n of V)i[n]={configurable:!0,enumerable:!0,get(){return e[n]},set(r){e[n]=r,t.set(n,r).then(t=>{Object.assign(e,t)},()=>{})}};for(let t of H)i[t]={configurable:!0,enumerable:!0,get(){return e[t]}};for(let t of U)i[t]={configurable:!0,enumerable:!0,get(){return pt(e[t])}};return Object.defineProperties(n,i),n},Y=e=>J(q(e),_t(e)),X=e=>typeof e==`object`&&!!e&&e[W]===!0,Z=(e,t)=>{let n=e;return{...r.BoxBase,type:B,initialState:n[G],controller:(0,r.recursiveBox)(n[K],t)}},Q=(e,t)=>{let n=(0,r.recursiveRevive)(e.controller,t);return J({...e.initialState},n)},vt=e=>[dt,...e],yt=n({resolve:()=>xt,type:()=>bt}),bt=`videoElement`,xt=(e,t={})=>{let n=L(e.elements);if(!(n instanceof HTMLVideoElement))throw Error(`videoElement: expected <video>, got <${n.tagName.toLowerCase()}>`);return Y(n)},$=`locator`,St=[c,{...y,nextLocatorType:`frameLocator`},ye,Ce,De,je,Fe],Ct=[Re,Ve,Ge,Je,Ze,et,rt,ot,yt],wt={type:$,selectorModules:St,operationModules:Ct},Tt=F({ownType:$,selectorModules:St,operationModules:Ct});Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return vt}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return wt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return ve}});