@uuv/assistant 2.58.0 → 2.59.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.
package/dist/launcher/conf.json
CHANGED
|
@@ -340,7 +340,7 @@ html body {
|
|
|
340
340
|
</style>
|
|
341
341
|
<svg xmlns="http://www.w3.org/2000/svg" id="${e.toString()}-svg" class="uvv-assistant-additional-layer-svg">
|
|
342
342
|
</svg>
|
|
343
|
-
`)}function Ry(n,e,t,r,i,o){GK(n,e,r,i);const s=n.querySelector(`#${e.toString()}-svg`);s&&(o&&t.forEach((l,u,d)=>{if(u>0){const f=WE(d[u-1]),m=WE(l);KK(s,f,m)}}),t.forEach((l,u,d)=>{_K(s,l,u),UK(s,l,u)}))}function VE(n,e){const t=document.createElement("div");t.setAttribute("id",e.toString()),t.setAttribute("class","uvv-assistant-additional-layer"),n.appendChild(t)}function Ny(n,e){const t=n.getElementById(e.toString());t&&n.removeChild(t)}class qK{constructor(e="",t="",r="",i=[]){this.accessibleAttribute=e,this.accessibleValue=t,this.code=r,this.sentenceAfterCorrection=i}}var Dr=(n=>(n.WHEN="When ",n.THEN="Then ",n.GIVEN="Given ",n.AND="And ",n))(Dr||{}),XK=Object.prototype.toString;function QK(n){return typeof n=="function"||XK.call(n)==="[object Function]"}function JK(n){var e=Number(n);return isNaN(e)?0:e===0||!isFinite(e)?e:(e>0?1:-1)*Math.floor(Math.abs(e))}var YK=Math.pow(2,53)-1;function ZK(n){var e=JK(n);return Math.min(Math.max(e,0),YK)}function Zi(n,e){var t=Array,r=Object(n);if(n==null)throw new TypeError("Array.from requires an array-like object - not null or undefined");for(var i=ZK(r.length),o=QK(t)?Object(new t(i)):new Array(i),s=0,l;s<i;)l=r[s],o[s]=l,s+=1;return o.length=i,o}function Xu(n){"@babel/helpers - typeof";return Xu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xu(n)}function eG(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function tG(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,vP(r.key),r)}}function nG(n,e,t){return e&&tG(n.prototype,e),Object.defineProperty(n,"prototype",{writable:!1}),n}function rG(n,e,t){return e=vP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function vP(n){var e=iG(n,"string");return Xu(e)=="symbol"?e:e+""}function iG(n,e){if(Xu(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Xu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}var oG=function(){function n(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];eG(this,n),rG(this,"items",void 0),this.items=e}return nG(n,[{key:"add",value:function(t){return this.has(t)===!1&&this.items.push(t),this}},{key:"clear",value:function(){this.items=[]}},{key:"delete",value:function(t){var r=this.items.length;return this.items=this.items.filter(function(i){return i!==t}),r!==this.items.length}},{key:"forEach",value:function(t){var r=this;this.items.forEach(function(i){t(i,i,r)})}},{key:"has",value:function(t){return this.items.indexOf(t)!==-1}},{key:"size",get:function(){return this.items.length}}])}();const sG=typeof Set>"u"?Set:oG;function br(n){var e;return(e=n.localName)!==null&&e!==void 0?e:n.tagName.toLowerCase()}var aG={article:"article",aside:"complementary",button:"button",datalist:"listbox",dd:"definition",details:"group",dialog:"dialog",dt:"term",fieldset:"group",figure:"figure",form:"form",footer:"contentinfo",h1:"heading",h2:"heading",h3:"heading",h4:"heading",h5:"heading",h6:"heading",header:"banner",hr:"separator",html:"document",legend:"legend",li:"listitem",math:"math",main:"main",menu:"list",nav:"navigation",ol:"list",optgroup:"group",option:"option",output:"status",progress:"progressbar",section:"region",summary:"button",table:"table",tbody:"rowgroup",textarea:"textbox",tfoot:"rowgroup",td:"cell",th:"columnheader",thead:"rowgroup",tr:"row",ul:"list"},lG={caption:new Set(["aria-label","aria-labelledby"]),code:new Set(["aria-label","aria-labelledby"]),deletion:new Set(["aria-label","aria-labelledby"]),emphasis:new Set(["aria-label","aria-labelledby"]),generic:new Set(["aria-label","aria-labelledby","aria-roledescription"]),insertion:new Set(["aria-label","aria-labelledby"]),none:new Set(["aria-label","aria-labelledby"]),paragraph:new Set(["aria-label","aria-labelledby"]),presentation:new Set(["aria-label","aria-labelledby"]),strong:new Set(["aria-label","aria-labelledby"]),subscript:new Set(["aria-label","aria-labelledby"]),superscript:new Set(["aria-label","aria-labelledby"])};function cG(n,e){return["aria-atomic","aria-busy","aria-controls","aria-current","aria-description","aria-describedby","aria-details","aria-dropeffect","aria-flowto","aria-grabbed","aria-hidden","aria-keyshortcuts","aria-label","aria-labelledby","aria-live","aria-owns","aria-relevant","aria-roledescription"].some(function(t){var r;return n.hasAttribute(t)&&!((r=lG[e])!==null&&r!==void 0&&r.has(t))})}function yP(n,e){return cG(n,e)}function fA(n){var e=dG(n);if(e===null||Ly.indexOf(e)!==-1){var t=uG(n);if(Ly.indexOf(e||"")===-1||yP(n,t||""))return t}return e}function uG(n){var e=aG[br(n)];if(e!==void 0)return e;switch(br(n)){case"a":case"area":case"link":if(n.hasAttribute("href"))return"link";break;case"img":return n.getAttribute("alt")===""&&!yP(n,"img")?"presentation":"img";case"input":{var t=n,r=t.type;switch(r){case"button":case"image":case"reset":case"submit":return"button";case"checkbox":case"radio":return r;case"range":return"slider";case"email":case"tel":case"text":case"url":return n.hasAttribute("list")?"combobox":"textbox";case"search":return n.hasAttribute("list")?"combobox":"searchbox";case"number":return"spinbutton";default:return null}}case"select":return n.hasAttribute("multiple")||n.size>1?"listbox":"combobox"}return null}function dG(n){var e=n.getAttribute("role");if(e!==null){var t=e.trim().split(" ")[0];if(t.length>0)return t}return null}var Ly=["presentation","none"];function rn(n){return n!==null&&n.nodeType===n.ELEMENT_NODE}function bP(n){return rn(n)&&br(n)==="caption"}function bh(n){return rn(n)&&br(n)==="input"}function fG(n){return rn(n)&&br(n)==="optgroup"}function hG(n){return rn(n)&&br(n)==="select"}function mG(n){return rn(n)&&br(n)==="table"}function gG(n){return rn(n)&&br(n)==="textarea"}function pG(n){var e=n.ownerDocument===null?n:n.ownerDocument,t=e.defaultView;if(t===null)throw new TypeError("no window available");return t}function vG(n){return rn(n)&&br(n)==="fieldset"}function yG(n){return rn(n)&&br(n)==="legend"}function bG(n){return rn(n)&&br(n)==="slot"}function AG(n){return rn(n)&&n.ownerSVGElement!==void 0}function wG(n){return rn(n)&&br(n)==="svg"}function SG(n){return AG(n)&&br(n)==="title"}function Dy(n,e){if(rn(n)&&n.hasAttribute(e)){var t=n.getAttribute(e).split(" "),r=n.getRootNode?n.getRootNode():n.ownerDocument;return t.map(function(i){return r.getElementById(i)}).filter(function(i){return i!==null})}return[]}function Jo(n,e){return rn(n)?e.indexOf(fA(n))!==-1:!1}function CG(n){return n.trim().replace(/\s\s+/g," ")}function xG(n,e){if(!rn(n))return!1;if(n.hasAttribute("hidden")||n.getAttribute("aria-hidden")==="true")return!0;var t=e(n);return t.getPropertyValue("display")==="none"||t.getPropertyValue("visibility")==="hidden"}function EG(n){return Jo(n,["button","combobox","listbox","textbox"])||AP(n,"range")}function AP(n,e){if(!rn(n))return!1;switch(e){case"range":return Jo(n,["meter","progressbar","scrollbar","slider","spinbutton"]);default:throw new TypeError("No knowledge about abstract role '".concat(e,"'. This is likely a bug :("))}}function _E(n,e){var t=Zi(n.querySelectorAll(e));return Dy(n,"aria-owns").forEach(function(r){t.push.apply(t,Zi(r.querySelectorAll(e)))}),t}function kG(n){return hG(n)?n.selectedOptions||_E(n,"[selected]"):_E(n,'[aria-selected="true"]')}function MG(n){return Jo(n,Ly)}function OG(n){return bP(n)}function TG(n){return Jo(n,["button","cell","checkbox","columnheader","gridcell","heading","label","legend","link","menuitem","menuitemcheckbox","menuitemradio","option","radio","row","rowheader","switch","tab","tooltip","treeitem"])}function IG(n){return!1}function PG(n){return bh(n)||gG(n)?n.value:n.textContent||""}function UE(n){var e=n.getPropertyValue("content");return/^["'].*["']$/.test(e)?e.slice(1,-1):""}function wP(n){var e=br(n);return e==="button"||e==="input"&&n.getAttribute("type")!=="hidden"||e==="meter"||e==="output"||e==="progress"||e==="select"||e==="textarea"}function SP(n){if(wP(n))return n;var e=null;return n.childNodes.forEach(function(t){if(e===null&&rn(t)){var r=SP(t);r!==null&&(e=r)}}),e}function RG(n){if(n.control!==void 0)return n.control;var e=n.getAttribute("for");return e!==null?n.ownerDocument.getElementById(e):SP(n)}function NG(n){var e=n.labels;if(e===null)return e;if(e!==void 0)return Zi(e);if(!wP(n))return null;var t=n.ownerDocument;return Zi(t.querySelectorAll("label")).filter(function(r){return RG(r)===n})}function LG(n){var e=n.assignedNodes();return e.length===0?Zi(n.childNodes):e}function DG(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=new sG,r=typeof Map>"u"?void 0:new Map,i=pG(n),o=e.compute,s=o===void 0?"name":o,l=e.computedStyleSupportsPseudoElements,u=l===void 0?e.getComputedStyle!==void 0:l,d=e.getComputedStyle,f=d===void 0?i.getComputedStyle.bind(i):d,m=e.hidden,p=m===void 0?!1:m,y=function(T,M){if(M!==void 0)throw new Error("use uncachedGetComputedStyle directly for pseudo elements");if(r===void 0)return f(T);var O=r.get(T);if(O)return O;var I=f(T,M);return r.set(T,I),I};function A(E,T){var M="";if(rn(E)&&u){var O=f(E,"::before"),I=UE(O);M="".concat(I," ").concat(M)}var N=bG(E)?LG(E):Zi(E.childNodes).concat(Dy(E,"aria-owns"));if(N.forEach(function(B){var $=k(B,{isEmbeddedInLabel:T.isEmbeddedInLabel,isReferenced:!1,recursion:!0}),j=rn(B)?y(B).getPropertyValue("display"):"inline",z=j!=="inline"?" ":"";M+="".concat(z).concat($).concat(z)}),rn(E)&&u){var R=f(E,"::after"),D=UE(R);M="".concat(M," ").concat(D)}return M.trim()}function S(E,T){var M=E.getAttributeNode(T);return M!==null&&!t.has(M)&&M.value.trim()!==""?(t.add(M),M.value):null}function w(E){return rn(E)?S(E,"title"):null}function x(E){if(!rn(E))return null;if(vG(E)){t.add(E);for(var T=Zi(E.childNodes),M=0;M<T.length;M+=1){var O=T[M];if(yG(O))return k(O,{isEmbeddedInLabel:!1,isReferenced:!1,recursion:!1})}}else if(mG(E)){t.add(E);for(var I=Zi(E.childNodes),N=0;N<I.length;N+=1){var R=I[N];if(bP(R))return k(R,{isEmbeddedInLabel:!1,isReferenced:!1,recursion:!1})}}else if(wG(E)){t.add(E);for(var D=Zi(E.childNodes),B=0;B<D.length;B+=1){var $=D[B];if(SG($))return $.textContent}return null}else if(br(E)==="img"||br(E)==="area"){var j=S(E,"alt");if(j!==null)return j}else if(fG(E)){var z=S(E,"label");if(z!==null)return z}if(bh(E)&&(E.type==="button"||E.type==="submit"||E.type==="reset")){var W=S(E,"value");if(W!==null)return W;if(E.type==="submit")return"Submit";if(E.type==="reset")return"Reset"}var _=NG(E);if(_!==null&&_.length!==0)return t.add(E),Zi(_).map(function(Q){return k(Q,{isEmbeddedInLabel:!0,isReferenced:!1,recursion:!0})}).filter(function(Q){return Q.length>0}).join(" ");if(bh(E)&&E.type==="image"){var K=S(E,"alt");if(K!==null)return K;var V=S(E,"title");return V!==null?V:"Submit Query"}if(Jo(E,["button"])){var Y=A(E,{isEmbeddedInLabel:!1});if(Y!=="")return Y}return null}function k(E,T){if(t.has(E))return"";if(!p&&xG(E,y)&&!T.isReferenced)return t.add(E),"";var M=rn(E)?E.getAttributeNode("aria-labelledby"):null,O=M!==null&&!t.has(M)?Dy(E,"aria-labelledby"):[];if(s==="name"&&!T.isReferenced&&O.length>0)return t.add(M),O.map(function(j){return k(j,{isEmbeddedInLabel:T.isEmbeddedInLabel,isReferenced:!0,recursion:!1})}).join(" ");var I=T.recursion&&EG(E)&&s==="name";if(!I){var N=(rn(E)&&E.getAttribute("aria-label")||"").trim();if(N!==""&&s==="name")return t.add(E),N;if(!MG(E)){var R=x(E);if(R!==null)return t.add(E),R}}if(Jo(E,["menu"]))return t.add(E),"";if(I||T.isEmbeddedInLabel||T.isReferenced){if(Jo(E,["combobox","listbox"])){t.add(E);var D=kG(E);return D.length===0?bh(E)?E.value:"":Zi(D).map(function(j){return k(j,{isEmbeddedInLabel:T.isEmbeddedInLabel,isReferenced:!1,recursion:!0})}).join(" ")}if(AP(E,"range"))return t.add(E),E.hasAttribute("aria-valuetext")?E.getAttribute("aria-valuetext"):E.hasAttribute("aria-valuenow")?E.getAttribute("aria-valuenow"):E.getAttribute("value")||"";if(Jo(E,["textbox"]))return t.add(E),PG(E)}if(TG(E)||rn(E)&&T.isReferenced||OG(E)||IG()){var B=A(E,{isEmbeddedInLabel:T.isEmbeddedInLabel});if(B!=="")return t.add(E),B}if(E.nodeType===E.TEXT_NODE)return t.add(E),E.textContent||"";if(T.recursion)return t.add(E),A(E,{isEmbeddedInLabel:T.isEmbeddedInLabel});var $=w(E);return $!==null?(t.add(E),$):(t.add(E),"")}return CG(k(n,{isEmbeddedInLabel:!1,isReferenced:s==="description",recursion:!1}))}function BG(n){return Jo(n,["caption","code","deletion","emphasis","generic","insertion","none","paragraph","presentation","strong","subscript","superscript"])}function $G(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return BG(n)?"":DG(n,e)}class zG{constructor(){xs(this,"id");xs(this,"name");xs(this,"shouldGenerateClickSentence");xs(this,"shouldGenerateTypeSentence");xs(this,"shouldGenerateContainsSentence");xs(this,"shouldGenerateKeyboardSentence",!1);xs(this,"shouldGenerateCheckedSentence",!1)}}class hA extends zG{constructor(e,t,r="the",i="a",o=!1,s=!0,l=!0,u=!1,d=!1){super(),this.id=e,this.name=t,this.definiteArticle=r,this.indefiniteArticle=i,this.shouldGenerateClickSentence=o,this.shouldGenerateTypeSentence=s,this.shouldGenerateContainsSentence=l,this.shouldGenerateKeyboardSentence=u,this.shouldGenerateCheckedSentence=d}static from(e){return new hA(e.id,e.name,e.definiteArticle,e.indefiniteArticle,e.shouldGenerateClickSentence,e.shouldGenerateTypeSentence,e.shouldGenerateContainsSentence,e.shouldGenerateKeyboardSentence,e.shouldGenerateCheckedSentence)}getDefiniteArticle(){return this.definiteArticle.toString()}getIndefiniteArticle(){return this.indefiniteArticle.toString()}getOfDefiniteArticle(){return`of ${this.definiteArticle}`}namedAdjective(){return"named"}}const Qu=[{id:"alert",name:"alert",indefiniteArticle:"an"},{id:"alertdialog",name:"alert dialog",indefiniteArticle:"an"},{id:"application",name:"application",indefiniteArticle:"an"},{id:"article",name:"article",indefiniteArticle:"an"},{id:"banner",name:"banner"},{id:"button",name:"button",shouldGenerateKeyboardSentence:!0,shouldGenerateClickSentence:!0},{id:"cell",name:"cell"},{id:"checkbox",name:"checkbox",shouldGenerateKeyboardSentence:!0,shouldGenerateCheckedSentence:!0,shouldGenerateClickSentence:!0},{id:"columnheader",name:"column header"},{id:"combobox",name:"combo box",shouldGenerateKeyboardSentence:!0},{id:"command",name:"command"},{id:"comment",name:"comment"},{id:"complementary",name:"complementary"},{id:"composite",name:"composite"},{id:"contentinfo",name:"contentinfo"},{id:"definition",name:"definition"},{id:"dialog",name:"dialog"},{id:"directory",name:"directory"},{id:"document",name:"document"},{id:"feed",name:"flow"},{id:"figure",name:"figure"},{id:"form",name:"form"},{id:"generic",name:"generic"},{id:"grid",name:"grid"},{id:"gridcell",name:"grid cell"},{id:"group",name:"group"},{id:"heading",name:"title"},{id:"img",name:"picture"},{id:"landmark",name:"landmark"},{id:"link",name:"link",shouldGenerateKeyboardSentence:!0,shouldGenerateClickSentence:!0},{id:"list",name:"list",shouldGenerateContainsSentence:!1,shouldGenerateTypeSentence:!1},{id:"listbox",name:"list box",shouldGenerateKeyboardSentence:!0},{id:"listitem",name:"list item"},{id:"log",name:"log"},{id:"main",name:"main"},{id:"mark",name:"mark"},{id:"math",name:"math"},{id:"menu",name:"menu"},{id:"menubar",name:"menubar"},{id:"menuitem",name:"menuitem",shouldGenerateKeyboardSentence:!0,shouldGenerateClickSentence:!0},{id:"menuitemcheckbox",name:"menuitemcheckbox",shouldGenerateKeyboardSentence:!0},{id:"menuitemradio",name:"menuitemradio",shouldGenerateKeyboardSentence:!0,shouldGenerateCheckedSentence:!0},{id:"meter",name:"counter"},{id:"navigation",name:"navigation"},{id:"none",name:"no"},{id:"note",name:"note"},{id:"option",name:"option",indefiniteArticle:"an"},{id:"presentation",name:"presentation"},{id:"progressbar",name:"progress bar"},{id:"radio",name:"radio",shouldGenerateKeyboardSentence:!0,shouldGenerateCheckedSentence:!0,shouldGenerateClickSentence:!0},{id:"radiogroup",name:"radio group"},{id:"range",name:"range"},{id:"region",name:"region"},{id:"roletype",name:"role type"},{id:"row",name:"row"},{id:"rowgroup",name:"row group"},{id:"rowheader",name:"row header"},{id:"scrollbar",name:"scroll bar"},{id:"search",name:"search",shouldGenerateKeyboardSentence:!0},{id:"searchbox",name:"search box",shouldGenerateKeyboardSentence:!0},{id:"section",name:"section"},{id:"sectionhead",name:"section header"},{id:"select",name:"select",shouldGenerateKeyboardSentence:!0},{id:"separator",name:"separator"},{id:"slider",name:"slider",shouldGenerateKeyboardSentence:!0},{id:"spinbutton",name:"spin button",shouldGenerateKeyboardSentence:!0},{id:"status",name:"status"},{id:"structure",name:"structure"},{id:"suggestion",name:"suggestion"},{id:"switch",name:"switch",shouldGenerateKeyboardSentence:!0},{id:"tab",name:"tab",shouldGenerateKeyboardSentence:!0},{id:"table",name:"table"},{id:"tablist",name:"tablist"},{id:"tabpanel",name:"tabpanel"},{id:"term",name:"term"},{id:"textbox",name:"text box",shouldGenerateKeyboardSentence:!0},{id:"timer",name:"timer"},{id:"toolbar",name:"toolbar"},{id:"tooltip",name:"tooltip"},{id:"tree",name:"tree"},{id:"treegrid",name:"tree grid"},{id:"treeitem",name:"tree item"},{id:"widget",name:"widget",shouldGenerateKeyboardSentence:!0},{id:"window",name:"window"}].map(n=>hA.from(n)),FG=JSON.parse(`[{"key":"key.when.click.withContext","description":"Triggers a click on the selected element.<br/>Make sure you've selected an element beforehand with the <strong>within...</strong> phrases.","wording":"I click"},{"key":"key.when.click.withRole","description":"Triggers a click on the element with given role and specific name","wording":"I click on element with role {string} and name {string}"},{"key":"key.when.headers.forUriAndMethod","description":"Sets one or more headers to the indicated http request and only for the Http method (GET / POST / etc...) passed as a argument.<i> If you use Playwright as execution engine, <b>method</b> isn't used.</i>","wording":"I set header(s) for uri {string} and method {string}"},{"key":"key.when.headers.forUri","description":"Sets one or more headers to the indicated http request","wording":"I set header(s) for uri {string}"},{"key":"key.when.resetContext","description":"Deletes selected element and timeout","wording":"I reset context"},{"key":"key.when.timeout","description":"Sets the timeout value (in millisecond) for finding element in the DOM <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it","wording":"I set timeout with value {int}"},{"key":"key.when.type.withContext","description":"Writes the sentence passed as a parameter (useful for example to fill in a form field).<br/>Make sure you've selected an element beforehand with the <strong>within...</strong> phrases.","wording":"I type the sentence {string}"},{"key":"key.when.enter.withContext","description":"Writes the sentence passed as a parameter (useful for example to fill in a form field).<br/>Make sure you've selected an element beforehand with the <strong>within...</strong> phrases.","wording":"I enter the value {string}"},{"key":"key.when.keyboard.press","description":"Press specified key: <table><thead><tr><th>Key</th><th>Description</th></tr></thead><tbody><tr><td>{tab}</td><td>Tabulation</td></tr><tr><td>{reverseTab}</td><td>Reverse tabulation</td></tr><tr><td>{down}</td><td>Arrow Down</td></tr><tr><td>{right}</td><td>Arrow Right</td></tr><tr><td>{left}</td><td>Arrow Left</td></tr><tr><td>{up}</td><td>Arrow Up</td></tr></tbody></table><br/>Make sure you've selected an element beforehand with the <strong>within...</strong> phrases.","wording":"I press {string}"},{"key":"key.when.keyboard.multiplePress","description":"Press specified key multiple times using | as: num|{key}","wording":"I press {int} times on {string}"},{"key":"key.when.keyboard.nextElement","description":"Move to the next html element that can be reached with Tab<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>","wording":"I go to next keyboard element"},{"key":"key.when.keyboard.previousElement","description":"Move to the previous html element that can be reached with back Tab<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>","wording":"I go to previous keyboard element"},{"key":"key.when.visit","description":"Navigate to the Uri passed as a argument (full url consisting of the BASE_URL + Uri) or navigate to Url if begin with http:// or https://","wording":"I visit path {string}"},{"key":"key.when.withinElement.ariaLabel","description":"Selects the element whose aria-label is specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it","wording":"within the element with aria-label {string}"},{"key":"key.when.withinElement.selector","description":"Selects the element whose selector is specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it","wording":"within the element with selector {string}"},{"key":"key.when.withinElement.roleAndName","description":"Selects the element whose [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and accessible [name](https://russmaxdesign.github.io/html-elements-names/) are specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it","wording":"within the element with role {string} and name {string}"},{"key":"key.when.withinElement.testId","description":"Selects the element whose data-testId attribute is specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it","wording":"within the element with testId {string}"},{"key":"key.when.mock.withBody","description":"Mock a named API response with body. <i>If you use Playwright as runtime engine, <b>request</b> and <b>named</b> are unused.</i>","wording":"I mock a request {} on url {string} named {string} with content {}"},{"key":"key.when.mock.withFixture","description":"Mock a named API response with file's extension .json, .js, .coffee, .html, .txt, .csv, .png, .jpg, .jpeg, .gif, .tif, .tiff, .zip","wording":"I mock a request {} on url {string} named {string} with fixture {}"},{"key":"key.when.mock.withStatusCode","description":"Mock a named API response with status code","wording":"I mock a request {} on url {string} named {string} with status code {int}"},{"key":"key.given.viewport.preset","description":"Sets the viewport dimensions with one of the presets defined by your runtime engine as Cypress: [Link](https://docs.cypress.io/api/commands/viewport#Arguments) or Playwright: [Link](https://github.com/microsoft/playwright/blob/main/packages/playwright-core/src/server/deviceDescriptorsSource.json)","wording":"I set viewport to preset {string}"},{"key":"key.given.viewport.withWidthAndHeight","description":"Sets the viewport dimensions to the specified width and length","wording":"I set viewport with width {int} and height {int}"},{"key":"key.given.keyboard.startNavigationFromTheTop","description":"Start a keyboard navigation session from the top of the page<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>","wording":"I start a keyboard navigation from the top of the page"},{"key":"key.then.attributes.withValues","description":"Checks Html attributes of the selected element","wording":"I should see these attributes with values"},{"key":"key.then.element.withAriaLabelAndContent","description":"Checks that an Html element exists with the specified aria-label attribute and content","wording":"I should see an element with aria-label {string} and content {string}"},{"key":"key.then.element.withAriaLabel","description":"Checks that an Html element exists with the specified aria-label attribute","wording":"I should see an element with aria-label {string}"},{"key":"key.then.element.withContent","description":"Checks that an Html element exists with the specified content","wording":"I should see an element with content {string}"},{"key":"key.then.element.withSelector","description":"Checks that an Html element exists with the specified selector","wording":"I should see an element with selector {string}"},{"key":"key.then.element.withRoleAndNameAndContentDisabled","description":"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content, and with the disabled attribute set to true","wording":"I should see an element with role {string} and name {string} and content {string} disabled"},{"key":"key.then.element.withRoleAndNameAndContentEnabled","description":"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content, and with the disabled attribute set to false","wording":"I should see an element with role {string} and name {string} and content {string} not disabled"},{"key":"key.then.element.withRoleAndNameAndContent","description":"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content","wording":"I should see an element with role {string} and name {string} and content {string}"},{"key":"key.then.element.withSelectorFocused","description":"Checks that the Html element with the specified selector is focused<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>","wording":"the element with selector {string} should be keyboard focused"},{"key":"key.then.element.withRoleAndNameFocused","description":"Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>","wording":"the element with role {string} and name {string} should be keyboard focused"},{"key":"key.then.element.withRoleAndName","description":"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/)","wording":"I should see an element with role {string} and name {string}"},{"key":"key.then.element.withTestId","description":"Checks that an Html element exists with the specified data-testid attribute","wording":"I should see an element with testId {string}"},{"key":"key.then.list.withNameAndContent","description":"Checks that there is a list with the specified [name](https://russmaxdesign.github.io/html-elements-names/) containing list items.<br/> <u>Example</u>\\\\n\`\`\`gherkin\\\\nThen I should see a list named \\"test-list\\" and containing\\\\n| First element |\\\\n| Second element |\\\\n| Third element |\\\\n\`\`\`","wording":"I should see a list named {string} and containing"},{"key":"key.then.grid.withNameAndContent","description":"Checks that there is a grid with the specified [name](https://russmaxdesign.github.io/html-elements-names/) containing list items.<br/> <u>Example</u>\\\\n\`\`\`gherkin\\\\nWhen I visit path \\"https://e2e-test-quest.github.io/simple-webapp/grid.html\\"\\\\nThen I should see a grid named \\"HTML Grid Example\\" and containing\\\\n| Make | Model | Price |\\\\n| ------------ | ------- | ------ |\\\\n| Toyota | Celica | 35000 |\\\\n| Ford | Mondeo | 32000 |\\\\n| Porsche | Boxster | 72000 |\\\\n| BMW | M50 | 60000 |\\\\n| Aston Martin | DBX | 190000 |\\\\n\`\`\`","wording":"I should see a grid named {string} and containing"},{"key":"key.then.treegrid.withNameAndContent","description":"Checks that there is a treegrid with the specified [name](https://russmaxdesign.github.io/html-elements-names/) containing list items.<br/> <u>Example</u>\\\\n\`\`\`gherkin\\\\nWhen I visit path \\"https://e2e-test-quest.github.io/simple-webapp/treegrid.html\\"\\\\nThen I should see a treegrid named \\"HTML Treegrid Example\\" and containing\\\\n| Make | Model | Price |\\\\n| ------------ | ------- | ------ |\\\\n| Toyota | Celica | 35000 |\\\\n| Ford | Mondeo | 32000 |\\\\n| Porsche | Boxster | 72000 |\\\\n| BMW | M50 | 60000 |\\\\n| Aston Martin | DBX | 190000 |\\\\n\`\`\`","wording":"I should see a treegrid named {string} and containing"},{"key":"key.then.table.withNameAndContent","description":"Checks that there is a table with the specified [name](https://russmaxdesign.github.io/html-elements-names/) containing list items.<br/> <u>Example</u>\\\\n\`\`\`gherkin\\\\nWhen I visit path \\"https://e2e-test-quest.github.io/simple-webapp/table.html\\"\\\\nThen I should see a table named \\"test-list\\" and containing\\\\n| Company | Contact | Country |\\\\n| ----------------------------- | ---------------- | ------- |\\\\n| Alfreds Futterkiste | Maria Anders | Germany |\\\\n| Centro comercial Moctezuma | Francisco Chang | Mexico |\\\\n| Ernst Handel | Roland Mendel | Austria |\\\\n| Island Trading | Helen Bennett | UK |\\\\n| Laughing Bacchus Winecellars | Yoshi Tannamuri | Canada |\\\\n| Magazzini Alimentari Riuniti | Giovanni Rovelli | Italy |\\\\n\`\`\`","wording":"I should see a table named {string} and containing"},{"key":"key.then.element.not.withContent","description":"Checks that an Html element does not exists with the specified content","wording":"I should not see an element with content {string}"},{"key":"key.then.element.not.withTestId","description":"Checks that an Html element does not exists with the specified data-testid attribute","wording":"I should not see an element with testId {string}"},{"key":"key.then.element.not.withRoleAndName","description":"Checks that an Html element does not exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/)","wording":"I should not see an element with role {string} and name {string}"},{"key":"key.then.element.not.withAriaLabel","description":"Checks that an Html element does not exists with the specified aria-label attribute","wording":"I should not see an element with aria-label {string}"},{"key":"key.then.element.nextWithRoleAndNameFocused","description":"Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>","wording":"the next keyboard element focused should have name {string} and role {string}","section":"keyboard"},{"key":"key.then.element.previousWithRoleAndNameFocused","description":"Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>","wording":"the previous keyboard element focused should have name {string} and role {string}","section":"keyboard"},{"key":"key.then.wait.mock","description":"Wait that a named mock has been consumed until timeout","wording":"I should consume a mock named {string}"},{"key":"key.then.wait.milliSeconds","description":"Wait milliseconds. <b>Warning:</b> use this sentence <b>in production</b> can make your <b>test flaky</b>.","wording":"I wait {int} ms"},{"key":"key.then.a11y.axecore.default","description":"Check that the current page have no accessibility issue for [axe-core](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md)","wording":"I should not have any axe-core accessibility issue"},{"key":"key.then.a11y.axecore.withFixtureContextAndFixtureOption","description":"Check that the current page have no accessibility issue for [axe-core](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md) [with an option](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#options-parameter) on the specific [context](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#context-parameter)","wording":"I should not have any axe-core accessibility issue with context json fixture {} and option json fixture {}"},{"key":"key.then.a11y.axecore.withFixtureOption","description":"Check that the current page have no accessibility issue for [axe-core](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md) [with an option](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#options-parameter)","wording":"I should not have any axe-core accessibility issue with option json fixture {}"},{"key":"key.then.a11y.axecore.onlyCritical","description":"Check that the current page have not critical accessibility issue for [axe-core](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md)","wording":"I should not have any axe-core critical accessibility issue"},{"key":"key.then.a11y.axecore.withImpacts","description":"Check that the current page have not accessibility issue for [axe-core](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md) with one or more impacts in: 'minor','moderate','serious','critical'","wording":"I should not have any axe-core accessibility issue with {} impact(s)"},{"key":"key.then.a11y.axecore.withTags","description":"Check that the current page have not accessibility issue for [axe-core](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md) [with one or more Accessibility Standards](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#axe-core-tags)","wording":"I should not have any axe-core accessibility issue with accessibility standard(s) {}"},{"key":"key.then.a11y.rgaa.default","description":"Check that the current page have no [accessibility issue](https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/) based on RGAA standards","wording":"I should not have any rgaa accessibility issue"},{"key":"key.then.a11y.rgaa.defaultWithResult","description":"Check that the current page have the following [result](https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/) based on RGAA standard","wording":"I should have the following result based on the rgaa reference"},{"key":"key.then.a11y.rgaa.defaultWithResultContaining","description":"Check that the current page have the following partial [result](https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/) based on RGAA standard","wording":"I should have the following partial result based on the rgaa reference"}]`),jG=[{key:"key.when.withinElement.roleAndName",description:"Selects the element whose [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and accessible [name](https://russmaxdesign.github.io/html-elements-names/) are specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it",wording:"within $indefiniteArticle $roleName named {string}",section:"general"},{key:"key.then.element.withRoleAndName",description:"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/)",wording:"I should see $indefiniteArticle $roleName named {string}",section:"general"},{key:"key.then.element.withRoleAndNameFocused",description:"Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>",wording:"I should see $indefiniteArticle $roleName named {string} keyboard focused",section:"keyboard"},{key:"key.then.element.nextWithRoleAndNameFocused",description:"Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>",wording:"the next keyboard element focused should be $indefiniteArticle $roleName named {string}",section:"keyboard"},{key:"key.then.element.previousWithRoleAndNameFocused",description:"Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>",wording:"the previous keyboard element focused should be $indefiniteArticle $roleName named {string}",section:"keyboard"},{key:"key.then.element.not.withRoleAndName",description:"Checks that an Html element does not exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/)",wording:"I should not see $indefiniteArticle $roleName named {string}",section:"general"},{key:"key.then.element.withRoleAndNameAndContent",description:"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content",wording:"I should see $indefiniteArticle $roleName named {string} and containing {string}",section:"contains"},{key:"key.then.element.withRoleAndNameAndContentDisabled",description:"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content, and with the disabled attribute set to true",wording:"I should see $indefiniteArticle $roleName named {string} and containing {string} disabled",section:"contains"},{key:"key.then.element.withRoleAndNameAndContentEnabled",description:"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content, and with the disabled attribute set to false",wording:"I should see $indefiniteArticle $roleName named {string} and containing {string} enabled",section:"contains"},{key:"key.when.type",description:"Writes the sentence given as a parameter inside the specified field (useful for example to fill in a form field)",wording:"I type the sentence {string} in $definiteArticle $roleName named {string}",section:"type"},{key:"key.then.element.withRoleAndNameAndChecked",description:"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) and is checked",wording:"I should see $indefiniteArticle $roleName named {string} checked",section:"checkable"},{key:"key.then.element.withRoleAndNameAndUnchecked",description:"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) and is unchecked",wording:"I should see $indefiniteArticle $roleName named {string} unchecked",section:"checkable"},{key:"key.when.enter",description:"Writes the sentence given as a parameter inside the specified field (useful for example to fill in a form field)",wording:"I enter the value {string} in $definiteArticle $roleName named {string}",section:"type"},{key:"key.when.click",description:"Triggers a click on the element with role $roleId and the specified name",wording:"I click on $roleName named {string}",section:"click"}],HG={enriched:jG};class md{constructor(){this.jsonBase=FG,this.jsonEnriched=HG}async translate(e){var o,s;const t=fA(e),r=$G(e);this.selectedHtmlElem=e;let i={suggestion:void 0,sentences:[]};if(e.getAttribute("type")!=="hidden")if(t&&r){const u=e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement?e.value:e.getAttribute("value")??((s=(o=e.firstChild)==null?void 0:o.textContent)==null?void 0:s.trim());u?i=this.getSentenceFromAccessibleRoleAndNameAndContent(t,r,u):i=this.getSentenceFromAccessibleRoleAndName(t,r)}else i=this.getSentenceFromDomSelector(e),i.suggestion=new qK;return i}getSelector(e){const t=[];for(;e.nodeType===Node.ELEMENT_NODE;){let r=e.nodeName.toLowerCase();if(e.id){r+="#"+e.id,t.unshift(r);break}else if(e.getAttribute("data-testid")){r+=`[data-testid=${e.getAttribute("data-testid")}]`,t.unshift(r);break}else{let i=e.previousSibling,o=1;for(;i;)i.nodeType===Node.ELEMENT_NODE&&i.nodeName.toLowerCase()===r&&o++,i=i.previousSibling;(o>1||e.nextSibling)&&(r+=":nth-of-type("+o+")")}t.unshift(r),e=e.parentNode}return t.join(" > ")}initResponse(){return{suggestion:void 0,sentences:[]}}computeSentenceFromKeyRoleAndName(e,t,r){return this.jsonEnriched.enriched.filter(i=>i.key===e).map(i=>{const o=i.wording,s=Qu.filter(l=>l.id===t)[0];return o.replaceAll("(n)","").replaceAll("$roleName",(s==null?void 0:s.name)??t).replaceAll("$definiteArticle",s==null?void 0:s.getDefiniteArticle()).replaceAll("$indefiniteArticle",s==null?void 0:s.getIndefiniteArticle()).replaceAll("$namedAdjective",s==null?void 0:s.namedAdjective()).replaceAll("$ofDefiniteArticle",s==null?void 0:s.getOfDefiniteArticle()).replace("{string}",`"${r}"`)})[0]}computeSentenceFromKeyRoleNameAndContent(e,t,r,i){return this.jsonEnriched.enriched.filter(o=>o.key===e).map(o=>{const s=o.wording,l=Qu.filter(u=>u.id===t)[0];return s.replaceAll("(n)","").replaceAll("$roleName",(l==null?void 0:l.name)??t).replaceAll("$definiteArticle",l==null?void 0:l.getDefiniteArticle()).replaceAll("$indefiniteArticle",l==null?void 0:l.getIndefiniteArticle()).replaceAll("$namedAdjective",l==null?void 0:l.namedAdjective()).replaceAll("$ofDefiniteArticle",l==null?void 0:l.getOfDefiniteArticle()).replace("{string}",`"${r}"`).replace("{string}",`"${i}"`)})[0]}computeSentenceFromKeyAndSelector(e,t){return this.jsonBase.filter(r=>r.key===e).map(r=>r.wording.replace("{string}",`"${t}"`))[0]}getSentenceFromKey(e){return this.jsonBase.filter(t=>t.key===e)[0]}}const KE=Dr.THEN;class WG extends md{getSentenceFromAccessibleRoleAndName(e,t){const r=this.initResponse(),o=this.computeSentenceFromKeyRoleAndName("key.then.element.nextWithRoleAndNameFocused",e,t);return r.sentences=[KE+o],r}getSentenceFromAccessibleRoleAndNameAndContent(e,t,r){return this.getSentenceFromAccessibleRoleAndName(e,t)}getSentenceFromDomSelector(e){const t=this.initResponse(),i=this.computeSentenceFromKeyAndSelector("key.then.element.withSelectorFocused",this.getSelector(e)),o=this.jsonBase.find(s=>s.key==="key.when.keyboard.nextElement");return t.sentences=[KE+(o==null?void 0:o.wording),Dr.AND+i],t}}const Gf=new WG;function GE(n,e,t){const r=t.map(i=>i);e===_r.CURRENT_NAVIGATION?(Ny(n,_r.EXPECTED_NAVIGATION),VE(n,_r.CURRENT_NAVIGATION),Ry(n,_r.CURRENT_NAVIGATION,r,qE(r),!1,!0)):(Ny(n,_r.CURRENT_NAVIGATION),VE(n,_r.EXPECTED_NAVIGATION),Ry(n,_r.EXPECTED_NAVIGATION,r,qE(r),!1,!0))}async function VG(){const n=HK(document.body,{});return{current:n,expected:UG(n)}}async function _G(n){const e=[],t=Gf.getSentenceFromKey("key.given.keyboard.startNavigationFromTheTop");t&&e.push(Dr.AND+t.wording);const r=n.map(async i=>{const o=Gf.getSentenceFromKey("key.then.element.withSelectorFocused"),s=Gf.getSentenceFromKey("key.then.element.withRoleAndNameFocused");return o&&s?(await Gf.translate(i)).sentences.forEach(u=>{e.push(u)}):console.error("sentences next focus element or check focused element is undefined"),Promise.resolve("")});return await Promise.all(r),e.map((i,o)=>({key:o,result:i}))}function qE(n){let e="";return n&&n.forEach((t,r)=>{e=`${e}
|
|
343
|
+
`)}function Ry(n,e,t,r,i,o){GK(n,e,r,i);const s=n.querySelector(`#${e.toString()}-svg`);s&&(o&&t.forEach((l,u,d)=>{if(u>0){const f=WE(d[u-1]),m=WE(l);KK(s,f,m)}}),t.forEach((l,u,d)=>{_K(s,l,u),UK(s,l,u)}))}function VE(n,e){const t=document.createElement("div");t.setAttribute("id",e.toString()),t.setAttribute("class","uvv-assistant-additional-layer"),n.appendChild(t)}function Ny(n,e){const t=n.getElementById(e.toString());t&&n.removeChild(t)}class qK{constructor(e="",t="",r="",i=[]){this.accessibleAttribute=e,this.accessibleValue=t,this.code=r,this.sentenceAfterCorrection=i}}var Dr=(n=>(n.WHEN="When ",n.THEN="Then ",n.GIVEN="Given ",n.AND="And ",n))(Dr||{}),XK=Object.prototype.toString;function QK(n){return typeof n=="function"||XK.call(n)==="[object Function]"}function JK(n){var e=Number(n);return isNaN(e)?0:e===0||!isFinite(e)?e:(e>0?1:-1)*Math.floor(Math.abs(e))}var YK=Math.pow(2,53)-1;function ZK(n){var e=JK(n);return Math.min(Math.max(e,0),YK)}function Zi(n,e){var t=Array,r=Object(n);if(n==null)throw new TypeError("Array.from requires an array-like object - not null or undefined");for(var i=ZK(r.length),o=QK(t)?Object(new t(i)):new Array(i),s=0,l;s<i;)l=r[s],o[s]=l,s+=1;return o.length=i,o}function Xu(n){"@babel/helpers - typeof";return Xu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xu(n)}function eG(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function tG(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,vP(r.key),r)}}function nG(n,e,t){return e&&tG(n.prototype,e),Object.defineProperty(n,"prototype",{writable:!1}),n}function rG(n,e,t){return e=vP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function vP(n){var e=iG(n,"string");return Xu(e)=="symbol"?e:e+""}function iG(n,e){if(Xu(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Xu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}var oG=function(){function n(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];eG(this,n),rG(this,"items",void 0),this.items=e}return nG(n,[{key:"add",value:function(t){return this.has(t)===!1&&this.items.push(t),this}},{key:"clear",value:function(){this.items=[]}},{key:"delete",value:function(t){var r=this.items.length;return this.items=this.items.filter(function(i){return i!==t}),r!==this.items.length}},{key:"forEach",value:function(t){var r=this;this.items.forEach(function(i){t(i,i,r)})}},{key:"has",value:function(t){return this.items.indexOf(t)!==-1}},{key:"size",get:function(){return this.items.length}}])}();const sG=typeof Set>"u"?Set:oG;function br(n){var e;return(e=n.localName)!==null&&e!==void 0?e:n.tagName.toLowerCase()}var aG={article:"article",aside:"complementary",button:"button",datalist:"listbox",dd:"definition",details:"group",dialog:"dialog",dt:"term",fieldset:"group",figure:"figure",form:"form",footer:"contentinfo",h1:"heading",h2:"heading",h3:"heading",h4:"heading",h5:"heading",h6:"heading",header:"banner",hr:"separator",html:"document",legend:"legend",li:"listitem",math:"math",main:"main",menu:"list",nav:"navigation",ol:"list",optgroup:"group",option:"option",output:"status",progress:"progressbar",section:"region",summary:"button",table:"table",tbody:"rowgroup",textarea:"textbox",tfoot:"rowgroup",td:"cell",th:"columnheader",thead:"rowgroup",tr:"row",ul:"list"},lG={caption:new Set(["aria-label","aria-labelledby"]),code:new Set(["aria-label","aria-labelledby"]),deletion:new Set(["aria-label","aria-labelledby"]),emphasis:new Set(["aria-label","aria-labelledby"]),generic:new Set(["aria-label","aria-labelledby","aria-roledescription"]),insertion:new Set(["aria-label","aria-labelledby"]),none:new Set(["aria-label","aria-labelledby"]),paragraph:new Set(["aria-label","aria-labelledby"]),presentation:new Set(["aria-label","aria-labelledby"]),strong:new Set(["aria-label","aria-labelledby"]),subscript:new Set(["aria-label","aria-labelledby"]),superscript:new Set(["aria-label","aria-labelledby"])};function cG(n,e){return["aria-atomic","aria-busy","aria-controls","aria-current","aria-description","aria-describedby","aria-details","aria-dropeffect","aria-flowto","aria-grabbed","aria-hidden","aria-keyshortcuts","aria-label","aria-labelledby","aria-live","aria-owns","aria-relevant","aria-roledescription"].some(function(t){var r;return n.hasAttribute(t)&&!((r=lG[e])!==null&&r!==void 0&&r.has(t))})}function yP(n,e){return cG(n,e)}function fA(n){var e=dG(n);if(e===null||Ly.indexOf(e)!==-1){var t=uG(n);if(Ly.indexOf(e||"")===-1||yP(n,t||""))return t}return e}function uG(n){var e=aG[br(n)];if(e!==void 0)return e;switch(br(n)){case"a":case"area":case"link":if(n.hasAttribute("href"))return"link";break;case"img":return n.getAttribute("alt")===""&&!yP(n,"img")?"presentation":"img";case"input":{var t=n,r=t.type;switch(r){case"button":case"image":case"reset":case"submit":return"button";case"checkbox":case"radio":return r;case"range":return"slider";case"email":case"tel":case"text":case"url":return n.hasAttribute("list")?"combobox":"textbox";case"search":return n.hasAttribute("list")?"combobox":"searchbox";case"number":return"spinbutton";default:return null}}case"select":return n.hasAttribute("multiple")||n.size>1?"listbox":"combobox"}return null}function dG(n){var e=n.getAttribute("role");if(e!==null){var t=e.trim().split(" ")[0];if(t.length>0)return t}return null}var Ly=["presentation","none"];function rn(n){return n!==null&&n.nodeType===n.ELEMENT_NODE}function bP(n){return rn(n)&&br(n)==="caption"}function bh(n){return rn(n)&&br(n)==="input"}function fG(n){return rn(n)&&br(n)==="optgroup"}function hG(n){return rn(n)&&br(n)==="select"}function mG(n){return rn(n)&&br(n)==="table"}function gG(n){return rn(n)&&br(n)==="textarea"}function pG(n){var e=n.ownerDocument===null?n:n.ownerDocument,t=e.defaultView;if(t===null)throw new TypeError("no window available");return t}function vG(n){return rn(n)&&br(n)==="fieldset"}function yG(n){return rn(n)&&br(n)==="legend"}function bG(n){return rn(n)&&br(n)==="slot"}function AG(n){return rn(n)&&n.ownerSVGElement!==void 0}function wG(n){return rn(n)&&br(n)==="svg"}function SG(n){return AG(n)&&br(n)==="title"}function Dy(n,e){if(rn(n)&&n.hasAttribute(e)){var t=n.getAttribute(e).split(" "),r=n.getRootNode?n.getRootNode():n.ownerDocument;return t.map(function(i){return r.getElementById(i)}).filter(function(i){return i!==null})}return[]}function Jo(n,e){return rn(n)?e.indexOf(fA(n))!==-1:!1}function CG(n){return n.trim().replace(/\s\s+/g," ")}function xG(n,e){if(!rn(n))return!1;if(n.hasAttribute("hidden")||n.getAttribute("aria-hidden")==="true")return!0;var t=e(n);return t.getPropertyValue("display")==="none"||t.getPropertyValue("visibility")==="hidden"}function EG(n){return Jo(n,["button","combobox","listbox","textbox"])||AP(n,"range")}function AP(n,e){if(!rn(n))return!1;switch(e){case"range":return Jo(n,["meter","progressbar","scrollbar","slider","spinbutton"]);default:throw new TypeError("No knowledge about abstract role '".concat(e,"'. This is likely a bug :("))}}function _E(n,e){var t=Zi(n.querySelectorAll(e));return Dy(n,"aria-owns").forEach(function(r){t.push.apply(t,Zi(r.querySelectorAll(e)))}),t}function kG(n){return hG(n)?n.selectedOptions||_E(n,"[selected]"):_E(n,'[aria-selected="true"]')}function MG(n){return Jo(n,Ly)}function OG(n){return bP(n)}function TG(n){return Jo(n,["button","cell","checkbox","columnheader","gridcell","heading","label","legend","link","menuitem","menuitemcheckbox","menuitemradio","option","radio","row","rowheader","switch","tab","tooltip","treeitem"])}function IG(n){return!1}function PG(n){return bh(n)||gG(n)?n.value:n.textContent||""}function UE(n){var e=n.getPropertyValue("content");return/^["'].*["']$/.test(e)?e.slice(1,-1):""}function wP(n){var e=br(n);return e==="button"||e==="input"&&n.getAttribute("type")!=="hidden"||e==="meter"||e==="output"||e==="progress"||e==="select"||e==="textarea"}function SP(n){if(wP(n))return n;var e=null;return n.childNodes.forEach(function(t){if(e===null&&rn(t)){var r=SP(t);r!==null&&(e=r)}}),e}function RG(n){if(n.control!==void 0)return n.control;var e=n.getAttribute("for");return e!==null?n.ownerDocument.getElementById(e):SP(n)}function NG(n){var e=n.labels;if(e===null)return e;if(e!==void 0)return Zi(e);if(!wP(n))return null;var t=n.ownerDocument;return Zi(t.querySelectorAll("label")).filter(function(r){return RG(r)===n})}function LG(n){var e=n.assignedNodes();return e.length===0?Zi(n.childNodes):e}function DG(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=new sG,r=typeof Map>"u"?void 0:new Map,i=pG(n),o=e.compute,s=o===void 0?"name":o,l=e.computedStyleSupportsPseudoElements,u=l===void 0?e.getComputedStyle!==void 0:l,d=e.getComputedStyle,f=d===void 0?i.getComputedStyle.bind(i):d,m=e.hidden,p=m===void 0?!1:m,y=function(T,M){if(M!==void 0)throw new Error("use uncachedGetComputedStyle directly for pseudo elements");if(r===void 0)return f(T);var O=r.get(T);if(O)return O;var I=f(T,M);return r.set(T,I),I};function A(E,T){var M="";if(rn(E)&&u){var O=f(E,"::before"),I=UE(O);M="".concat(I," ").concat(M)}var N=bG(E)?LG(E):Zi(E.childNodes).concat(Dy(E,"aria-owns"));if(N.forEach(function(B){var $=k(B,{isEmbeddedInLabel:T.isEmbeddedInLabel,isReferenced:!1,recursion:!0}),j=rn(B)?y(B).getPropertyValue("display"):"inline",z=j!=="inline"?" ":"";M+="".concat(z).concat($).concat(z)}),rn(E)&&u){var R=f(E,"::after"),D=UE(R);M="".concat(M," ").concat(D)}return M.trim()}function S(E,T){var M=E.getAttributeNode(T);return M!==null&&!t.has(M)&&M.value.trim()!==""?(t.add(M),M.value):null}function w(E){return rn(E)?S(E,"title"):null}function x(E){if(!rn(E))return null;if(vG(E)){t.add(E);for(var T=Zi(E.childNodes),M=0;M<T.length;M+=1){var O=T[M];if(yG(O))return k(O,{isEmbeddedInLabel:!1,isReferenced:!1,recursion:!1})}}else if(mG(E)){t.add(E);for(var I=Zi(E.childNodes),N=0;N<I.length;N+=1){var R=I[N];if(bP(R))return k(R,{isEmbeddedInLabel:!1,isReferenced:!1,recursion:!1})}}else if(wG(E)){t.add(E);for(var D=Zi(E.childNodes),B=0;B<D.length;B+=1){var $=D[B];if(SG($))return $.textContent}return null}else if(br(E)==="img"||br(E)==="area"){var j=S(E,"alt");if(j!==null)return j}else if(fG(E)){var z=S(E,"label");if(z!==null)return z}if(bh(E)&&(E.type==="button"||E.type==="submit"||E.type==="reset")){var W=S(E,"value");if(W!==null)return W;if(E.type==="submit")return"Submit";if(E.type==="reset")return"Reset"}var _=NG(E);if(_!==null&&_.length!==0)return t.add(E),Zi(_).map(function(Q){return k(Q,{isEmbeddedInLabel:!0,isReferenced:!1,recursion:!0})}).filter(function(Q){return Q.length>0}).join(" ");if(bh(E)&&E.type==="image"){var K=S(E,"alt");if(K!==null)return K;var V=S(E,"title");return V!==null?V:"Submit Query"}if(Jo(E,["button"])){var Y=A(E,{isEmbeddedInLabel:!1});if(Y!=="")return Y}return null}function k(E,T){if(t.has(E))return"";if(!p&&xG(E,y)&&!T.isReferenced)return t.add(E),"";var M=rn(E)?E.getAttributeNode("aria-labelledby"):null,O=M!==null&&!t.has(M)?Dy(E,"aria-labelledby"):[];if(s==="name"&&!T.isReferenced&&O.length>0)return t.add(M),O.map(function(j){return k(j,{isEmbeddedInLabel:T.isEmbeddedInLabel,isReferenced:!0,recursion:!1})}).join(" ");var I=T.recursion&&EG(E)&&s==="name";if(!I){var N=(rn(E)&&E.getAttribute("aria-label")||"").trim();if(N!==""&&s==="name")return t.add(E),N;if(!MG(E)){var R=x(E);if(R!==null)return t.add(E),R}}if(Jo(E,["menu"]))return t.add(E),"";if(I||T.isEmbeddedInLabel||T.isReferenced){if(Jo(E,["combobox","listbox"])){t.add(E);var D=kG(E);return D.length===0?bh(E)?E.value:"":Zi(D).map(function(j){return k(j,{isEmbeddedInLabel:T.isEmbeddedInLabel,isReferenced:!1,recursion:!0})}).join(" ")}if(AP(E,"range"))return t.add(E),E.hasAttribute("aria-valuetext")?E.getAttribute("aria-valuetext"):E.hasAttribute("aria-valuenow")?E.getAttribute("aria-valuenow"):E.getAttribute("value")||"";if(Jo(E,["textbox"]))return t.add(E),PG(E)}if(TG(E)||rn(E)&&T.isReferenced||OG(E)||IG()){var B=A(E,{isEmbeddedInLabel:T.isEmbeddedInLabel});if(B!=="")return t.add(E),B}if(E.nodeType===E.TEXT_NODE)return t.add(E),E.textContent||"";if(T.recursion)return t.add(E),A(E,{isEmbeddedInLabel:T.isEmbeddedInLabel});var $=w(E);return $!==null?(t.add(E),$):(t.add(E),"")}return CG(k(n,{isEmbeddedInLabel:!1,isReferenced:s==="description",recursion:!1}))}function BG(n){return Jo(n,["caption","code","deletion","emphasis","generic","insertion","none","paragraph","presentation","strong","subscript","superscript"])}function $G(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return BG(n)?"":DG(n,e)}class zG{constructor(){xs(this,"id");xs(this,"name");xs(this,"shouldGenerateClickSentence");xs(this,"shouldGenerateTypeSentence");xs(this,"shouldGenerateContainsSentence");xs(this,"shouldGenerateKeyboardSentence",!1);xs(this,"shouldGenerateCheckedSentence",!1)}}class hA extends zG{constructor(e,t,r="the",i="a",o=!1,s=!0,l=!0,u=!1,d=!1){super(),this.id=e,this.name=t,this.definiteArticle=r,this.indefiniteArticle=i,this.shouldGenerateClickSentence=o,this.shouldGenerateTypeSentence=s,this.shouldGenerateContainsSentence=l,this.shouldGenerateKeyboardSentence=u,this.shouldGenerateCheckedSentence=d}static from(e){return new hA(e.id,e.name,e.definiteArticle,e.indefiniteArticle,e.shouldGenerateClickSentence,e.shouldGenerateTypeSentence,e.shouldGenerateContainsSentence,e.shouldGenerateKeyboardSentence,e.shouldGenerateCheckedSentence)}getDefiniteArticle(){return this.definiteArticle.toString()}getIndefiniteArticle(){return this.indefiniteArticle.toString()}getOfDefiniteArticle(){return`of ${this.definiteArticle}`}namedAdjective(){return"named"}}const Qu=[{id:"alert",name:"alert",indefiniteArticle:"an"},{id:"alertdialog",name:"alert dialog",indefiniteArticle:"an"},{id:"application",name:"application",indefiniteArticle:"an"},{id:"article",name:"article",indefiniteArticle:"an"},{id:"banner",name:"banner"},{id:"button",name:"button",shouldGenerateKeyboardSentence:!0,shouldGenerateClickSentence:!0},{id:"cell",name:"cell"},{id:"checkbox",name:"checkbox",shouldGenerateKeyboardSentence:!0,shouldGenerateCheckedSentence:!0,shouldGenerateClickSentence:!0},{id:"columnheader",name:"column header"},{id:"combobox",name:"combo box",shouldGenerateKeyboardSentence:!0},{id:"command",name:"command"},{id:"comment",name:"comment"},{id:"complementary",name:"complementary"},{id:"composite",name:"composite"},{id:"contentinfo",name:"contentinfo"},{id:"definition",name:"definition"},{id:"dialog",name:"dialog"},{id:"directory",name:"directory"},{id:"document",name:"document"},{id:"feed",name:"flow"},{id:"figure",name:"figure"},{id:"form",name:"form"},{id:"generic",name:"generic"},{id:"grid",name:"grid"},{id:"gridcell",name:"grid cell"},{id:"group",name:"group"},{id:"heading",name:"title"},{id:"img",name:"picture"},{id:"landmark",name:"landmark"},{id:"link",name:"link",shouldGenerateKeyboardSentence:!0,shouldGenerateClickSentence:!0},{id:"list",name:"list",shouldGenerateContainsSentence:!1,shouldGenerateTypeSentence:!1},{id:"listbox",name:"list box",shouldGenerateKeyboardSentence:!0},{id:"listitem",name:"list item"},{id:"log",name:"log"},{id:"main",name:"main"},{id:"mark",name:"mark"},{id:"math",name:"math"},{id:"menu",name:"menu"},{id:"menubar",name:"menubar"},{id:"menuitem",name:"menuitem",shouldGenerateKeyboardSentence:!0,shouldGenerateClickSentence:!0},{id:"menuitemcheckbox",name:"menuitemcheckbox",shouldGenerateKeyboardSentence:!0},{id:"menuitemradio",name:"menuitemradio",shouldGenerateKeyboardSentence:!0,shouldGenerateCheckedSentence:!0},{id:"meter",name:"counter"},{id:"navigation",name:"navigation"},{id:"none",name:"no"},{id:"note",name:"note"},{id:"option",name:"option",indefiniteArticle:"an"},{id:"presentation",name:"presentation"},{id:"progressbar",name:"progress bar"},{id:"radio",name:"radio",shouldGenerateKeyboardSentence:!0,shouldGenerateCheckedSentence:!0,shouldGenerateClickSentence:!0},{id:"radiogroup",name:"radio group"},{id:"range",name:"range"},{id:"region",name:"region"},{id:"roletype",name:"role type"},{id:"row",name:"row"},{id:"rowgroup",name:"row group"},{id:"rowheader",name:"row header"},{id:"scrollbar",name:"scroll bar"},{id:"search",name:"search",shouldGenerateKeyboardSentence:!0},{id:"searchbox",name:"search box",shouldGenerateKeyboardSentence:!0},{id:"section",name:"section"},{id:"sectionhead",name:"section header"},{id:"select",name:"select",shouldGenerateKeyboardSentence:!0},{id:"separator",name:"separator"},{id:"slider",name:"slider",shouldGenerateKeyboardSentence:!0},{id:"spinbutton",name:"spin button",shouldGenerateKeyboardSentence:!0},{id:"status",name:"status"},{id:"structure",name:"structure"},{id:"suggestion",name:"suggestion"},{id:"switch",name:"switch",shouldGenerateKeyboardSentence:!0},{id:"tab",name:"tab",shouldGenerateKeyboardSentence:!0},{id:"table",name:"table"},{id:"tablist",name:"tablist"},{id:"tabpanel",name:"tabpanel"},{id:"term",name:"term"},{id:"textbox",name:"text box",shouldGenerateKeyboardSentence:!0},{id:"timer",name:"timer"},{id:"toolbar",name:"toolbar"},{id:"tooltip",name:"tooltip"},{id:"tree",name:"tree"},{id:"treegrid",name:"tree grid"},{id:"treeitem",name:"tree item"},{id:"widget",name:"widget",shouldGenerateKeyboardSentence:!0},{id:"window",name:"window"}].map(n=>hA.from(n)),FG=JSON.parse(`[{"key":"key.when.click.withContext","description":"Triggers a click on the selected element.<br/>Make sure you've selected an element beforehand with the <strong>within...</strong> phrases.","wording":"I click"},{"key":"key.when.click.withRole","description":"Triggers a click on the element with given role and specific name","wording":"I click on element with role {string} and name {string}"},{"key":"key.when.headers.forUriAndMethod","description":"Sets one or more headers to the indicated http request and only for the Http method (GET / POST / etc...) passed as a argument.<i> If you use Playwright as execution engine, <b>method</b> isn't used.</i>","wording":"I set header(s) for uri {string} and method {string}"},{"key":"key.when.headers.forUri","description":"Sets one or more headers to the indicated http request","wording":"I set header(s) for uri {string}"},{"key":"key.when.resetContext","description":"Deletes selected element and timeout","wording":"I reset context"},{"key":"key.when.timeout","description":"Sets the timeout value (in millisecond) for finding element in the DOM <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it","wording":"I set timeout with value {int}"},{"key":"key.when.type.withContext","description":"Writes the sentence passed as a parameter (useful for example to fill in a form field).<br/>Make sure you've selected an element beforehand with the <strong>within...</strong> phrases.","wording":"I type the sentence {string}"},{"key":"key.when.enter.withContext","description":"Writes the sentence passed as a parameter (useful for example to fill in a form field).<br/>Make sure you've selected an element beforehand with the <strong>within...</strong> phrases.","wording":"I enter the value {string}"},{"key":"key.when.keyboard.press","description":"Press specified key: <table><thead><tr><th>Key</th><th>Description</th></tr></thead><tbody><tr><td>{tab}</td><td>Tabulation</td></tr><tr><td>{reverseTab}</td><td>Reverse tabulation</td></tr><tr><td>{down}</td><td>Arrow Down</td></tr><tr><td>{right}</td><td>Arrow Right</td></tr><tr><td>{left}</td><td>Arrow Left</td></tr><tr><td>{up}</td><td>Arrow Up</td></tr></tbody></table><br/>Make sure you've selected an element beforehand with the <strong>within...</strong> phrases.","wording":"I press {string}"},{"key":"key.when.keyboard.multiplePress","description":"Press specified key multiple times using | as: num|{key}","wording":"I press {int} times on {string}"},{"key":"key.when.keyboard.nextElement","description":"Move to the next html element that can be reached with Tab<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>","wording":"I go to next keyboard element"},{"key":"key.when.keyboard.previousElement","description":"Move to the previous html element that can be reached with back Tab<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>","wording":"I go to previous keyboard element"},{"key":"key.when.visit","description":"Navigate to the Uri passed as a argument (full url consisting of the BASE_URL + Uri) or navigate to Url if begin with http:// or https://","wording":"I visit path {string}"},{"key":"key.when.withinElement.ariaLabel","description":"Selects the element whose aria-label is specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it","wording":"within the element with aria-label {string}"},{"key":"key.when.withinElement.selector","description":"Selects the element whose selector is specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it","wording":"within the element with selector {string}"},{"key":"key.when.withinElement.roleAndName","description":"Selects the element whose [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and accessible [name](https://russmaxdesign.github.io/html-elements-names/) are specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it","wording":"within the element with role {string} and name {string}"},{"key":"key.when.withinElement.testId","description":"Selects the element whose data-testId attribute is specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it","wording":"within the element with testId {string}"},{"key":"key.when.mock.withBody","description":"Mock a named API response with body. <i>If you use Playwright as runtime engine, <b>request</b> and <b>named</b> are unused.</i>","wording":"I mock a request {} on url {string} named {string} with content {}"},{"key":"key.when.mock.withFixture","description":"Mock a named API response with file's extension .json, .js, .coffee, .html, .txt, .csv, .png, .jpg, .jpeg, .gif, .tif, .tiff, .zip","wording":"I mock a request {} on url {string} named {string} with fixture {}"},{"key":"key.when.mock.withStatusCode","description":"Mock a named API response with status code","wording":"I mock a request {} on url {string} named {string} with status code {int}"},{"key":"key.given.viewport.preset","description":"Sets the viewport dimensions with one of the presets defined by your runtime engine as Cypress: [Link](https://docs.cypress.io/api/commands/viewport#Arguments) or Playwright: [Link](https://github.com/microsoft/playwright/blob/main/packages/playwright-core/src/server/deviceDescriptorsSource.json)","wording":"I set viewport to preset {string}"},{"key":"key.given.viewport.withWidthAndHeight","description":"Sets the viewport dimensions to the specified width and length","wording":"I set viewport with width {int} and height {int}"},{"key":"key.given.keyboard.startNavigationFromTheTop","description":"Start a keyboard navigation session from the top of the page<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>","wording":"I start a keyboard navigation from the top of the page"},{"key":"key.then.page.withTitle","description":"Checks the current html page have the specified title","wording":"I should see the page title {string}"},{"key":"key.then.attributes.withValues","description":"Checks Html attributes of the selected element","wording":"I should see these attributes with values"},{"key":"key.then.element.withAriaLabelAndContent","description":"Checks that an Html element exists with the specified aria-label attribute and content","wording":"I should see an element with aria-label {string} and content {string}"},{"key":"key.then.element.withAriaLabel","description":"Checks that an Html element exists with the specified aria-label attribute","wording":"I should see an element with aria-label {string}"},{"key":"key.then.element.withContent","description":"Checks that an Html element exists with the specified content","wording":"I should see an element with content {string}"},{"key":"key.then.element.withSelector","description":"Checks that an Html element exists with the specified selector","wording":"I should see an element with selector {string}"},{"key":"key.then.element.withRoleAndNameAndContentDisabled","description":"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content, and with the disabled attribute set to true","wording":"I should see an element with role {string} and name {string} and content {string} disabled"},{"key":"key.then.element.withRoleAndNameAndContentEnabled","description":"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content, and with the disabled attribute set to false","wording":"I should see an element with role {string} and name {string} and content {string} not disabled"},{"key":"key.then.element.withRoleAndNameAndContent","description":"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content","wording":"I should see an element with role {string} and name {string} and content {string}"},{"key":"key.then.element.withSelectorFocused","description":"Checks that the Html element with the specified selector is focused<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>","wording":"the element with selector {string} should be keyboard focused"},{"key":"key.then.element.withRoleAndNameFocused","description":"Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>","wording":"the element with role {string} and name {string} should be keyboard focused"},{"key":"key.then.element.withRoleAndName","description":"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/)","wording":"I should see an element with role {string} and name {string}"},{"key":"key.then.element.withTestId","description":"Checks that an Html element exists with the specified data-testid attribute","wording":"I should see an element with testId {string}"},{"key":"key.then.list.withNameAndContent","description":"Checks that there is a list with the specified [name](https://russmaxdesign.github.io/html-elements-names/) containing list items.<br/> <u>Example</u>\\\\n\`\`\`gherkin\\\\nThen I should see a list named \\"test-list\\" and containing\\\\n| First element |\\\\n| Second element |\\\\n| Third element |\\\\n\`\`\`","wording":"I should see a list named {string} and containing"},{"key":"key.then.grid.withNameAndContent","description":"Checks that there is a grid with the specified [name](https://russmaxdesign.github.io/html-elements-names/) containing list items.<br/> <u>Example</u>\\\\n\`\`\`gherkin\\\\nWhen I visit path \\"https://e2e-test-quest.github.io/simple-webapp/grid.html\\"\\\\nThen I should see a grid named \\"HTML Grid Example\\" and containing\\\\n| Make | Model | Price |\\\\n| ------------ | ------- | ------ |\\\\n| Toyota | Celica | 35000 |\\\\n| Ford | Mondeo | 32000 |\\\\n| Porsche | Boxster | 72000 |\\\\n| BMW | M50 | 60000 |\\\\n| Aston Martin | DBX | 190000 |\\\\n\`\`\`","wording":"I should see a grid named {string} and containing"},{"key":"key.then.treegrid.withNameAndContent","description":"Checks that there is a treegrid with the specified [name](https://russmaxdesign.github.io/html-elements-names/) containing list items.<br/> <u>Example</u>\\\\n\`\`\`gherkin\\\\nWhen I visit path \\"https://e2e-test-quest.github.io/simple-webapp/treegrid.html\\"\\\\nThen I should see a treegrid named \\"HTML Treegrid Example\\" and containing\\\\n| Make | Model | Price |\\\\n| ------------ | ------- | ------ |\\\\n| Toyota | Celica | 35000 |\\\\n| Ford | Mondeo | 32000 |\\\\n| Porsche | Boxster | 72000 |\\\\n| BMW | M50 | 60000 |\\\\n| Aston Martin | DBX | 190000 |\\\\n\`\`\`","wording":"I should see a treegrid named {string} and containing"},{"key":"key.then.table.withNameAndContent","description":"Checks that there is a table with the specified [name](https://russmaxdesign.github.io/html-elements-names/) containing list items.<br/> <u>Example</u>\\\\n\`\`\`gherkin\\\\nWhen I visit path \\"https://e2e-test-quest.github.io/simple-webapp/table.html\\"\\\\nThen I should see a table named \\"test-list\\" and containing\\\\n| Company | Contact | Country |\\\\n| ----------------------------- | ---------------- | ------- |\\\\n| Alfreds Futterkiste | Maria Anders | Germany |\\\\n| Centro comercial Moctezuma | Francisco Chang | Mexico |\\\\n| Ernst Handel | Roland Mendel | Austria |\\\\n| Island Trading | Helen Bennett | UK |\\\\n| Laughing Bacchus Winecellars | Yoshi Tannamuri | Canada |\\\\n| Magazzini Alimentari Riuniti | Giovanni Rovelli | Italy |\\\\n\`\`\`","wording":"I should see a table named {string} and containing"},{"key":"key.then.element.not.withContent","description":"Checks that an Html element does not exists with the specified content","wording":"I should not see an element with content {string}"},{"key":"key.then.element.not.withTestId","description":"Checks that an Html element does not exists with the specified data-testid attribute","wording":"I should not see an element with testId {string}"},{"key":"key.then.element.not.withRoleAndName","description":"Checks that an Html element does not exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/)","wording":"I should not see an element with role {string} and name {string}"},{"key":"key.then.element.not.withAriaLabel","description":"Checks that an Html element does not exists with the specified aria-label attribute","wording":"I should not see an element with aria-label {string}"},{"key":"key.then.element.nextWithRoleAndNameFocused","description":"Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>","wording":"the next keyboard element focused should have name {string} and role {string}","section":"keyboard"},{"key":"key.then.element.previousWithRoleAndNameFocused","description":"Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>","wording":"the previous keyboard element focused should have name {string} and role {string}","section":"keyboard"},{"key":"key.then.wait.mock","description":"Wait that a named mock has been consumed until timeout","wording":"I should consume a mock named {string}"},{"key":"key.then.wait.milliSeconds","description":"Wait milliseconds. <b>Warning:</b> use this sentence <b>in production</b> can make your <b>test flaky</b>.","wording":"I wait {int} ms"},{"key":"key.then.a11y.axecore.default","description":"Check that the current page have no accessibility issue for [axe-core](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md)","wording":"I should not have any axe-core accessibility issue"},{"key":"key.then.a11y.axecore.withFixtureContextAndFixtureOption","description":"Check that the current page have no accessibility issue for [axe-core](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md) [with an option](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#options-parameter) on the specific [context](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#context-parameter)","wording":"I should not have any axe-core accessibility issue with context json fixture {} and option json fixture {}"},{"key":"key.then.a11y.axecore.withFixtureOption","description":"Check that the current page have no accessibility issue for [axe-core](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md) [with an option](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#options-parameter)","wording":"I should not have any axe-core accessibility issue with option json fixture {}"},{"key":"key.then.a11y.axecore.onlyCritical","description":"Check that the current page have not critical accessibility issue for [axe-core](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md)","wording":"I should not have any axe-core critical accessibility issue"},{"key":"key.then.a11y.axecore.withImpacts","description":"Check that the current page have not accessibility issue for [axe-core](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md) with one or more impacts in: 'minor','moderate','serious','critical'","wording":"I should not have any axe-core accessibility issue with {} impact(s)"},{"key":"key.then.a11y.axecore.withTags","description":"Check that the current page have not accessibility issue for [axe-core](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md) [with one or more Accessibility Standards](https://github.com/dequelabs/axe-core/blob/HEAD/doc/API.md#axe-core-tags)","wording":"I should not have any axe-core accessibility issue with accessibility standard(s) {}"},{"key":"key.then.a11y.rgaa.default","description":"Check that the current page have no [accessibility issue](https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/) based on RGAA standards","wording":"I should not have any rgaa accessibility issue"},{"key":"key.then.a11y.rgaa.defaultWithResult","description":"Check that the current page have the following [result](https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/) based on RGAA standard","wording":"I should have the following result based on the rgaa reference"},{"key":"key.then.a11y.rgaa.defaultWithResultContaining","description":"Check that the current page have the following partial [result](https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/) based on RGAA standard","wording":"I should have the following partial result based on the rgaa reference"}]`),jG=[{key:"key.when.withinElement.roleAndName",description:"Selects the element whose [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and accessible [name](https://russmaxdesign.github.io/html-elements-names/) are specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it",wording:"within $indefiniteArticle $roleName named {string}",section:"general"},{key:"key.then.element.withRoleAndName",description:"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/)",wording:"I should see $indefiniteArticle $roleName named {string}",section:"general"},{key:"key.then.element.withRoleAndNameFocused",description:"Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>",wording:"I should see $indefiniteArticle $roleName named {string} keyboard focused",section:"keyboard"},{key:"key.then.element.nextWithRoleAndNameFocused",description:"Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>",wording:"the next keyboard element focused should be $indefiniteArticle $roleName named {string}",section:"keyboard"},{key:"key.then.element.previousWithRoleAndNameFocused",description:"Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/e2e-test-quest/uuv/blob/main/example/en-keyboard.feature'>Examples</a>",wording:"the previous keyboard element focused should be $indefiniteArticle $roleName named {string}",section:"keyboard"},{key:"key.then.element.not.withRoleAndName",description:"Checks that an Html element does not exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/)",wording:"I should not see $indefiniteArticle $roleName named {string}",section:"general"},{key:"key.then.element.withRoleAndNameAndContent",description:"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content",wording:"I should see $indefiniteArticle $roleName named {string} and containing {string}",section:"contains"},{key:"key.then.element.withRoleAndNameAndContentDisabled",description:"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content, and with the disabled attribute set to true",wording:"I should see $indefiniteArticle $roleName named {string} and containing {string} disabled",section:"contains"},{key:"key.then.element.withRoleAndNameAndContentEnabled",description:"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content, and with the disabled attribute set to false",wording:"I should see $indefiniteArticle $roleName named {string} and containing {string} enabled",section:"contains"},{key:"key.when.type",description:"Writes the sentence given as a parameter inside the specified field (useful for example to fill in a form field)",wording:"I type the sentence {string} in $definiteArticle $roleName named {string}",section:"type"},{key:"key.then.element.withRoleAndNameAndChecked",description:"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) and is checked",wording:"I should see $indefiniteArticle $roleName named {string} checked",section:"checkable"},{key:"key.then.element.withRoleAndNameAndUnchecked",description:"Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) and is unchecked",wording:"I should see $indefiniteArticle $roleName named {string} unchecked",section:"checkable"},{key:"key.when.enter",description:"Writes the sentence given as a parameter inside the specified field (useful for example to fill in a form field)",wording:"I enter the value {string} in $definiteArticle $roleName named {string}",section:"type"},{key:"key.when.click",description:"Triggers a click on the element with role $roleId and the specified name",wording:"I click on $roleName named {string}",section:"click"}],HG={enriched:jG};class md{constructor(){this.jsonBase=FG,this.jsonEnriched=HG}async translate(e){var o,s;const t=fA(e),r=$G(e);this.selectedHtmlElem=e;let i={suggestion:void 0,sentences:[]};if(e.getAttribute("type")!=="hidden")if(t&&r){const u=e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement?e.value:e.getAttribute("value")??((s=(o=e.firstChild)==null?void 0:o.textContent)==null?void 0:s.trim());u?i=this.getSentenceFromAccessibleRoleAndNameAndContent(t,r,u):i=this.getSentenceFromAccessibleRoleAndName(t,r)}else i=this.getSentenceFromDomSelector(e),i.suggestion=new qK;return i}getSelector(e){const t=[];for(;e.nodeType===Node.ELEMENT_NODE;){let r=e.nodeName.toLowerCase();if(e.id){r+="#"+e.id,t.unshift(r);break}else if(e.getAttribute("data-testid")){r+=`[data-testid=${e.getAttribute("data-testid")}]`,t.unshift(r);break}else{let i=e.previousSibling,o=1;for(;i;)i.nodeType===Node.ELEMENT_NODE&&i.nodeName.toLowerCase()===r&&o++,i=i.previousSibling;(o>1||e.nextSibling)&&(r+=":nth-of-type("+o+")")}t.unshift(r),e=e.parentNode}return t.join(" > ")}initResponse(){return{suggestion:void 0,sentences:[]}}computeSentenceFromKeyRoleAndName(e,t,r){return this.jsonEnriched.enriched.filter(i=>i.key===e).map(i=>{const o=i.wording,s=Qu.filter(l=>l.id===t)[0];return o.replaceAll("(n)","").replaceAll("$roleName",(s==null?void 0:s.name)??t).replaceAll("$definiteArticle",s==null?void 0:s.getDefiniteArticle()).replaceAll("$indefiniteArticle",s==null?void 0:s.getIndefiniteArticle()).replaceAll("$namedAdjective",s==null?void 0:s.namedAdjective()).replaceAll("$ofDefiniteArticle",s==null?void 0:s.getOfDefiniteArticle()).replace("{string}",`"${r}"`)})[0]}computeSentenceFromKeyRoleNameAndContent(e,t,r,i){return this.jsonEnriched.enriched.filter(o=>o.key===e).map(o=>{const s=o.wording,l=Qu.filter(u=>u.id===t)[0];return s.replaceAll("(n)","").replaceAll("$roleName",(l==null?void 0:l.name)??t).replaceAll("$definiteArticle",l==null?void 0:l.getDefiniteArticle()).replaceAll("$indefiniteArticle",l==null?void 0:l.getIndefiniteArticle()).replaceAll("$namedAdjective",l==null?void 0:l.namedAdjective()).replaceAll("$ofDefiniteArticle",l==null?void 0:l.getOfDefiniteArticle()).replace("{string}",`"${r}"`).replace("{string}",`"${i}"`)})[0]}computeSentenceFromKeyAndSelector(e,t){return this.jsonBase.filter(r=>r.key===e).map(r=>r.wording.replace("{string}",`"${t}"`))[0]}getSentenceFromKey(e){return this.jsonBase.filter(t=>t.key===e)[0]}}const KE=Dr.THEN;class WG extends md{getSentenceFromAccessibleRoleAndName(e,t){const r=this.initResponse(),o=this.computeSentenceFromKeyRoleAndName("key.then.element.nextWithRoleAndNameFocused",e,t);return r.sentences=[KE+o],r}getSentenceFromAccessibleRoleAndNameAndContent(e,t,r){return this.getSentenceFromAccessibleRoleAndName(e,t)}getSentenceFromDomSelector(e){const t=this.initResponse(),i=this.computeSentenceFromKeyAndSelector("key.then.element.withSelectorFocused",this.getSelector(e)),o=this.jsonBase.find(s=>s.key==="key.when.keyboard.nextElement");return t.sentences=[KE+(o==null?void 0:o.wording),Dr.AND+i],t}}const Gf=new WG;function GE(n,e,t){const r=t.map(i=>i);e===_r.CURRENT_NAVIGATION?(Ny(n,_r.EXPECTED_NAVIGATION),VE(n,_r.CURRENT_NAVIGATION),Ry(n,_r.CURRENT_NAVIGATION,r,qE(r),!1,!0)):(Ny(n,_r.CURRENT_NAVIGATION),VE(n,_r.EXPECTED_NAVIGATION),Ry(n,_r.EXPECTED_NAVIGATION,r,qE(r),!1,!0))}async function VG(){const n=HK(document.body,{});return{current:n,expected:UG(n)}}async function _G(n){const e=[],t=Gf.getSentenceFromKey("key.given.keyboard.startNavigationFromTheTop");t&&e.push(Dr.AND+t.wording);const r=n.map(async i=>{const o=Gf.getSentenceFromKey("key.then.element.withSelectorFocused"),s=Gf.getSentenceFromKey("key.then.element.withRoleAndNameFocused");return o&&s?(await Gf.translate(i)).sentences.forEach(u=>{e.push(u)}):console.error("sentences next focus element or check focused element is undefined"),Promise.resolve("")});return await Promise.all(r),e.map((i,o)=>({key:o,result:i}))}function qE(n){let e="";return n&&n.forEach((t,r)=>{e=`${e}
|
|
344
344
|
|
|
345
345
|
#element-border-${r}:has(~ #order-${r}:hover), #element-border-${r}:has(~ #order-content-${r}:hover) {
|
|
346
346
|
stroke-width: ${zs.width};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uuv/assistant",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.59.0",
|
|
4
4
|
"author": "Louis Fredice NJAKO MOLOM (https://github.com/luifr10) & Stanley SERVICAL (https://github.com/stanlee974)",
|
|
5
5
|
"description": "UUV Helper used to improve the life of testers and developers by generating cucumber phrases from the GUI.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"@codemirror/view": "^6.26.3",
|
|
60
60
|
"@uiw/codemirror-theme-github": "^4.22.1",
|
|
61
61
|
"@uiw/react-codemirror": "^4.22.1",
|
|
62
|
-
"@uuv/runner-commons": "2.
|
|
62
|
+
"@uuv/runner-commons": "2.54.0",
|
|
63
63
|
"antd": "5.24.0",
|
|
64
64
|
"eslint-config-react-app": "7.0.1",
|
|
65
65
|
"figlet": "1.8.1",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"@types/react-dom": "18.3.5",
|
|
91
91
|
"@types/styled-components": "5.1.34",
|
|
92
92
|
"@types/testing-library__jest-dom": "5.14.9",
|
|
93
|
-
"@uuv/playwright": "3.
|
|
93
|
+
"@uuv/playwright": "3.41.0",
|
|
94
94
|
"dom-accessibility-api": "0.7.0",
|
|
95
95
|
"eslint-plugin-react": "7.37.5",
|
|
96
96
|
"jest-environment-jsdom": "^29.5.0",
|