import*as e from"/uxasset/externals/@devsnc/snowdash/latest/index.jsdbx?sysparm_use_cache_buster=true&uxpcb=1753340927036";
import*as t from"/uxasset/externals/@devsnc/library-unified-cache/latest/index.jsdbx?sysparm_use_cache_buster=true&uxpcb=1753340927036";
import {servicenowUiMetrics as o} from"/uxasset/externals/@servicenow/ui-mega/index.jsdbx?sysparm_use_cache_buster=true&uxpcb=1753340927036";
/*__ESM_BODY_START__*/
var r={116:e=>{e.exports=
import("/uxasset/externals/sn-http-request/latest/index.jsdbx?sysparm_use_cache_buster=true&uxpcb=1753340927036")
},287:(e,t,o)=>{var r=o(870);e.exports=function(e,t,o){return(t=r(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},e.exports.__esModule=!0,e.exports.default=e.exports},551:e=>{function t(){return e.exports=t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)({}).hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},e.exports.__esModule=!0,e.exports.default=e.exports,t.apply(null,arguments)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},262:(e,t,o)=>{var r=o(970).default;e.exports=function(e,t){if("object"!=r(e)||!e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var n=o.call(e,t||"default");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},870:(e,t,o)=>{var r=o(970).default,n=o(262);e.exports=function(e){var t=n(e,"string");return"symbol"==r(t)?t:t+""},e.exports.__esModule=!0,e.exports.default=e.exports},970:e=>{function t(o){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(o)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,a),o.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var o in t)a.o(t,o)&&!a.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var s={};(()=>{a.d(s,{mX:()=>_,a7:()=>b,Yd:()=>st,pW:()=>fe,qA:()=>je,A7:()=>Ze,Iy:()=>me,ED:()=>Qe,h7:()=>ee,IJ:()=>rt,V5:()=>K,Fu:()=>Ye,QL:()=>R,W1:()=>I,V4:()=>H,X4:()=>V,RM:()=>de,$R:()=>it,mr:()=>Me,_i:()=>xe,h:()=>Ee,mf:()=>at,$z:()=>he,aG:()=>Ve});var r=a(551),n=a.n(r);const i=["NOW-CONTEXTUAL-SIDEBAR","NOW-UXF-TAB-SET"],l={ALT:"Alt",CONTROL:"Control",META:"Meta"},c={SEMICOLON:"Semicolon",BRACKET_LEFT:"BracketLeft",BRACKET_RIGHT:"BracketRight",QUOTE:"Quote",COMMA:"Comma",PERIOD:"Period",SLASH:"Slash",DASH:"Dash",EQUAL:"Equal"},u={KEY:"Key",DIGIT:"Digit"},d="SN-POLARIS-LAYOUT",f=[d,"SN-CANVAS-TOOLBAR","SN-CANVAS-TABS"],p="/api/now/uxframework/keyboard_shortcuts",g="ux_kbs_cb",m="now_ux_shortcuts",h="now_ux_shortcut_cb_hash",v="data-landmarkfocus",y="data-activelement",w={LANDMARK_FOCUS_FORWARD:"LANDMARK_FOCUS_FORWARD",LANDMARK_FOCUS_BACKWARD:"LANDMARK_FOCUS_BACKWARD",LANDMARK_FOCUS_ATTR:v,LANDMARK_ACTIVE_ELEMENT_ATTR:y,LANDMARK_LAST_CLICKED_ATTR:"data-lastclicked",LANDMARK_SELECTOR:`[${y}], [${v}="true"]`},b="UXF_KBS#MODAL_OPENED",_="UXF_KBS#MODAL_CLOSED",A="/api/now/uxframework/user_override/shortcut",S="now_ux_user_override_shortcut",x={[m]:{description:"keyboard shortcut responses",adapter:["indexedDB"],evictionPolicy:"LRU",name:"kb_shortcut_lru",storeName:"kb_shortcut_store"},[h]:{description:"used for invalidating stale keyboard shortcut metadata",adapter:["localStorage"],evictionPolicy:"LRU",name:"shortcut_cb_hash_lru",storeName:"shortcut_cb_hash_store"},[S]:{description:"user override shortcut",adapter:["indexedDB"],evictionPolicy:"LRU",name:"user_override_lru",storeName:"user_override_shortcut_store"}};const M=(e=>{var t={};return a.d(t,e),t})({get:()=>{const t=e.default&&e.__esModule;return t?e.default.get:e.get||e.default&&e.default.get},inRange:()=>{const t=e.default&&e.__esModule;return t?e.default.inRange:e.inRange||e.default&&e.default.inRange},isEqual:()=>{const t=e.default&&e.__esModule;return t?e.default.isEqual:e.isEqual||e.default&&e.default.isEqual},isNil:()=>{const t=e.default&&e.__esModule;return t?e.default.isNil:e.isNil||e.default&&e.default.isNil},noop:()=>{const t=e.default&&e.__esModule;return t?e.default.noop:e.noop||e.default&&e.default.noop},set:()=>{const t=e.default&&e.__esModule;return t?e.default.set:e.set||e.default&&e.default.set}}),E=(0,M.get)(window,["nowUiFramework","loggingEnabled"],!1),C=["error","warn"],O=new Proxy(console,{get:(e,t)=>"function"==typeof e[t]&&(C.includes(t)||E)?function(){for(var o=arguments.length,r=new Array(o),n=0;n<o;n++)r[n]=arguments[n];"string"==typeof r[0]&&(r[0]=`[UXF Shortcuts]: ${r[0]}`),e[t].apply(console,r)}:M.noop}),{userAgent:N}=navigator,K=()=>/Mac/i.test(N),I=()=>/Win/i.test(N),R=()=>K()||I();let T;const L=async()=>{if(T)return T;const{snHttpInstance:e}=await Promise.resolve().then(a.bind(a,116));return T=e,e};const D=(e=>{var t={};return a.d(t,e),t})({default:()=>{const e=t.default&&t.__esModule;return e?t.default&&t.default.default?t.default.default:t.default:e?t.default.default:t.default?t.default.default?t.default.default:t.default:t}}),k={},P=e=>(k[e]||(k[e]=D.default.createInstance(x[e])),k[e]),F=P(m),U=P(h),B=P(S),$=async()=>{var e,t,o,r;let n;O.log("fetching shortcuts from server");try{const e=await L();n=await e.get(p)}catch(e){var a;return(0,M.inRange)(null==e||null===(a=e.response)||void 0===a?void 0:a.status,400,500)?(O.info("A client error occurred while fetching keyboard shortcuts from server:",e),[]):(O.error("An error occurred while fetching keyboard shortcuts from server:",e),[])}const s=null===(e=n)||void 0===e||null===(t=e.data)||void 0===t?void 0:t.result;return F.setItem(p,s),U.setItem(g,null===(o=window)||void 0===o||null===(r=o.ux_globals)||void 0===r?void 0:r.uxKeyboardShortcutClientCacheBuster),s},q=()=>A+(0,M.get)(window,"ux_globals.session.output.user.sys_id"),j=async()=>B.getItem(q()).then((async e=>(e&&O.log("Fetched user override shortcuts from cache"),null!=e?e:await(async()=>{var e,t;let o;O.log("Fetching user overrides from server");try{const e=await L();o=await e.get(A)}catch(e){var r;return(0,M.inRange)(null==e||null===(r=e.response)||void 0===r?void 0:r.status,400,500)?(O.info("A client error occurred while fetching user overrides from server:",e),{}):(O.error("An error occurred while fetching user overrides from server:",e),{})}const n=(null===(e=o)||void 0===e||null===(t=e.data)||void 0===t?void 0:t.result)||{};return B.setItem(q(),n),n})()))),W=(e,t)=>{const{actionKey:o,actionPayload:r,name:n}=e.find((e=>e.componentTagName===t.tagName));return{element:t,actionKey:o,actionPayload:r,name:n}};const X=e=>{switch(e){case";":return c.SEMICOLON;case"[":return c.BRACKET_LEFT;case"]":return c.BRACKET_RIGHT;case"'":return c.QUOTE;case",":return c.COMMA;case".":return c.PERIOD;case"/":return c.SLASH;case"-":return c.DASH;case"=":return c.EQUAL;default:if(/^[a-zA-Z]$/.test(e))return`${u.KEY}${e}`;if((e=>/[0-9]+/.test(`${e}`))(e))return`${u.DIGIT}${e}`;O.error(`Key '${e}' is not supported for keyboard shortcuts!`)}},H=e=>{const t=[],{metaKey:o,altKey:r,shiftKey:n,key:a}=e;return o&&t.push("Cmd"),r&&t.push("Opt"),n&&t.push("Shift"),t.push(a),t.join(" + ")},V=e=>{const t=[],{ctrlKey:o,altKey:r,shiftKey:n,key:a}=e;return o&&t.push("Ctrl"),r&&t.push("Alt"),n&&t.push("Shift"),t.push(a),t.join(" + ")},z=e=>n()({},e,{code:X(e.key).toLowerCase()}),Y=e=>({mac:e.mac?z(e.mac):void 0,windows:e.windows?z(e.windows):void 0}),G=e=>{switch(typeof e){case"string":return"true"===e.toLowerCase();case"boolean":return e;default:O.error("toBoolean: Invalid value type")}},Q=e=>{const t=window.getComputedStyle(e),{visibility:o}=t;if("hidden"===o||"collapsed"===o)return!1;const r=JSON.parse(JSON.stringify(e.getBoundingClientRect()));return Object.values(r).some((e=>0!==e))},J={getInstance(){var e;return null!==(e=window.uxfTriggerLibrary)&&void 0!==e&&e.contextManager||(0,M.set)(window,["uxfTriggerLibrary","contextManager"],{}),window.uxfTriggerLibrary.contextManager}}.getInstance(),Z=e=>{const{payload:t,type:o}=e,{host:r}=t;J.modalContext=o===b?r:null,J.isModalOpen=o===b,O.log("Modal "+(o===b?"opened":"closed"))},ee=()=>{window.addEventListener(_,(e=>{Z(e.detail)})),window.addEventListener(b,(e=>{Z(e.detail)}))},te=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(!e||r>o)return[];const n=[];t.shadowRoot&&(t=t.shadowRoot);const a=new Set(t.querySelectorAll(e));return t.querySelectorAll(`[component-id], ${e}`).forEach((t=>{if(a.has(t)&&n.push(t),t.shadowRoot){const a=te(e,t,o,r+1);n.push(...a)}})),n},oe=e=>null!==e&&e.nowId&&pe(e.nowId),re=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.body;const o=t.querySelector(e);if(o)return o;const r=Array.from(t.querySelectorAll("*"));if(null!=t&&t.shadowRoot&&0===r.length){const o=re(e,t.shadowRoot);if(o)return o}for(const t of r){const{shadowRoot:o}=t;if(o){const t=re(e,o);if(t&&Q(t))return t}}return o},ne=()=>{const e=(()=>{const e=re("sn-canvas-appshell-layout"),t=te("sn-canvas-experience-shell");if(1===t.length)return t.pop();const o=(()=>{if(!e)return"";for(const[t,o]of e.experiencesData.entries())if(!0===o.isActive)return t})();return t.find((e=>e.experienceData.experiencePath===o))})();return te("sn-canvas-screen",e).find((e=>e.screenData.isActive))},ae=function(e,t){var o;let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!e||!t||"BODY"===e.tagName)return null;if(e.tagName.toLowerCase()===t&&(!r||oe(e)))return e;const n=e.closest(t);if(n&&(!r||oe(n)))return n;if(null!==(o=e.getRootNode)&&void 0!==o&&o.call(e).host){const o=e.getRootNode().host,n=o.closest(t);return!n||r&&!oe(n)?ae(o,t,r):n}return ae(e.parentElement,t,r)},se=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e=>J.isModalOpen?re("SN-CANVAS-MODAL-HOIST"):f.includes(e)?document.body:ne())(e),o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const r=re(e,t);return!r||o&&!oe(r)?se(e,r||t,o):r},ie=function(){const e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:document).activeElement;return e?e.shadowRoot?ie(e.shadowRoot):e:null},le={getInstance(){var e,t;return null!==(e=window)&&void 0!==e&&null!==(t=e.uxfTriggerLibrary)&&void 0!==t&&t.componentRegistry||(0,M.set)(window,["uxfTriggerLibrary","componentRegistry"],new Map),window.uxfTriggerLibrary.componentRegistry}}.getInstance(),ce=e=>{const t={};return Object.entries(e).forEach((e=>{let[o,r]=e;t[o]=(e=>({active:void 0===e.active||e.active,action:"function"==typeof e?e:e.action}))(r)})),t},ue=(e,t)=>{const o=le.get(e.toUpperCase());o&&(t.actionMap=((e,t)=>{const o=n()({},e);for(const e in t)o[e]||(o[e]=t[e]);return o})(o.actionMap,t.actionMap)),le.set(e.toUpperCase(),t),O.log(`Registered component ${t.registeredElement.tagName} - ${e}:`,t)},de=(e,t)=>{if(!e)return void O.warn("Failed to register component for shortcuts. Host element null or undefined.");if(null==t||!t.actionMap||null==t||!t.updateState)return void O.warn("Failed to register component for shortcuts. Second param must contain both actionMap and updateState!",e);const{parentComponentTagName:o,actionMap:r,updateState:n}=t,a=o?ae(e,o,!1):e,{nowId:s}=a,i={registeredElement:a,host:e,updateState:n,actionMap:ce(r)};return ue(s,i),s},fe=e=>{e?(le.delete(e.toUpperCase()),O.log(`Deregistered component ${e}`)):O.warn("Failed to deregister component from registry. nowId must be provided.")},pe=e=>le.get(e.toUpperCase()),ge={active:!0},me=()=>n()({},ge),he=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Object.hasOwn(e,"active")){if("boolean"!=typeof e.active)throw new Error('Invalid parameter type. "active" must be a boolean.');ge.active=e.active}},ve=e=>{const t=!J.isModalOpen||J.isModalOpen&&(o=J.modalContext,r=e.registeredElement,function e(t,o){if(t.contains(o))return!0;if(t.shadowRoot){const{shadowRoot:r}=t;if(e(r,o))return!0}const{childNodes:r}=t;for(const t of r)if(t.nodeType===Node.ELEMENT_NODE&&e(t,o))return!0;return!1}(o,r)||e.registeredElement.tagName===d);var o,r;return Q(e.registeredElement)&&Object.values(e.actionMap).some((e=>e.active))&&t};class ye{constructor(){this._setActiveComponents()}_setActiveComponents(){this.activeComponents=Array.from(le.values()).filter(ve)}getActiveComponents(){return this.activeComponents}getApplicableComponents(e,t,o){return this.activeComponents.filter((t=>t.registeredElement.tagName===e.toUpperCase())).filter((e=>{const{actionMap:o}=e;return Object.keys(o).includes(t)&&o[t].active})).filter((e=>{const{registeredElement:t}=e,{tagName:r}=t;return"NOW-RECORD-COMMON-UIACTIONBAR"!==r||(0,M.isNil)(null==o?void 0:o.actionName)||e.availableActions.includes(o.actionName)}))}}var we=a(287),be=a.n(we);class _e extends Array{enqueue(e){_e.__queue.push(e)}dequeue(){return _e.__queue.length>0?_e.__queue.shift():null}}be()(_e,"__queue",null);const Ae=(_e.__queue||(_e.__queue=new _e),_e.__queue),Se=function(e,t){let o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e&&t?e.actionMap[t]?e.actionMap[t].active=o:O.warn("Failed to set action state - action not found in component action map."):O.warn("Failed to set action state - missing params.")},xe=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2?arguments[2]:void 0;const r=pe(e);let n;if(null!=o&&o.condition){const{actionKey:e,condition:a}=o;n=function(e,t){let o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=arguments.length>3?arguments[3]:void 0;return{setAction(){const{registeredElement:n}=e;Ue(n.tagName,t,r).length&&Se(e,t,o)}}}(r,e,t,a)}else if(null!=o&&o.shortcutDefinitionSysId){const{shortcutDefinitionSysId:e}=o;n=((e,t,o)=>({setAction(){const r=Fe(o);if(r){const{actionKey:o}=r;Se(e,o,t)}}}))(r,t,e)}else if(null!=o&&o.actionKey){const{actionKey:e}=o;return void Se(r,e,t)}Be()?n.setAction():Ae.enqueue(n)},Me=(e,t,o)=>{if(!e||!t||void 0===o)return void O.warn("Failed to set action state - missing params.");const r=pe(e);Se(r,t,o)},Ee=(e,t)=>{const o=pe(e);o?o.availableActions=t:O.warn("Failed to set available actions - component not found in registry.")},{LANDMARK_FOCUS_FORWARD:Ce,LANDMARK_FOCUS_BACKWARD:Oe,LANDMARK_FOCUS_ATTR:Ne,LANDMARK_ACTIVE_ELEMENT_ATTR:Ke,LANDMARK_SELECTOR:Ie}=w;let Re=null;const Te=e=>e===Ce||e===Oe,Le=e=>{const t=e.composedPath();window.uxfTriggerLibrary||(window.uxfTriggerLibrary={lastClickedElement:void 0}),window.uxfTriggerLibrary.lastClickedElement=t[0]},De=new Map,ke=new Map,Pe=()=>Array.from(ke.values()),Fe=e=>ke.get(e),Ue=(e,t,o)=>((e,t)=>Pe().filter((o=>o.componentTagName==e&&o.actionKey==t)))(e,t).filter((e=>Object.entries(o).every((t=>{let[o,r]=t;return e.actionPayload[o]===r})))),Be=()=>De.size>0,$e=e=>{e.forEach((e=>{const{sysId:t,definitionSysId:o,name:r,label:n,description:a,category:s,order:i,readonly:l,actionPayload:c,componentTag:u,actionKey:d,shortcut:f}=e,{mac:p,windows:g}=f;De.set(o,{name:r,label:n,shortcutSysId:t,description:a,category:s,order:i,overriden:!1,readonly:l,actionPayload:c,componentTagName:u.toUpperCase(),actionKey:d,shortcut:Y(f),prettifiedShortcuts:{mac:H(p),windows:V(g)}})})),(()=>{for(;Ae.length;)Ae.dequeue().setAction()})(),O.log("Shortcuts registered: ",De.entries())},qe=()=>{const e=new ye,t=e.getActiveComponents().flatMap((e=>{var t;return null==e||null===(t=e.registeredElement)||void 0===t?void 0:t.tagName}));return Pe().filter((e=>t.includes(e.componentTagName))).filter((t=>{const{componentTagName:o,actionKey:r,actionPayload:n}=t;return t.applicableComponents=e.getApplicableComponents(o,r,n),J.isModalOpen&&o===d?"KEYBOARD_SHORTCUTS_BEHAVIOR#MODAL_OPENED"===r:!J.isModalOpen&&Te(r)&&(()=>{const e=te(`[${Ne}]`);for(const t of e)if(Q(t))return!0;return!1})()||t.applicableComponents.some((e=>{var o;return null===(o=e.actionMap[t.actionKey])||void 0===o?void 0:o.active}))}))},je=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=(e?Pe():qe()).map((e=>{const{prettifiedShortcuts:t}=e,o=K()?t.mac:t.windows;return{label:e.label,name:e.name,description:e.description,category:e.category,overriden:e.overriden,readonly:e.readonly,shortcutSysId:e.shortcutSysId,shortcut:o}}));return e?t:t.filter(((e,t,o)=>t===o.findIndex((t=>t.shortcut===e.shortcut))))};const We=(e=>{var t={};return a.d(t,e),t})({createInteractionId:()=>{const e=o.default&&o.__esModule;return e?o.default.createInteractionId:o.createInteractionId||o.default&&o.default.createInteractionId},defineMetric:()=>{const e=o.default&&o.__esModule;return e?o.default.defineMetric:o.defineMetric||o.default&&o.default.defineMetric},getMetricTypes:()=>{const e=o.default&&o.__esModule;return e?o.default.getMetricTypes:o.getMetricTypes||o.default&&o.default.getMetricTypes},mark:()=>{const e=o.default&&o.__esModule;return e?o.default.mark:o.mark||o.default&&o.default.mark}}),Xe="Keyboard Shortcut Usage",He=(e,t)=>{if("true"!==(0,M.get)(window,["ux_globals","libuxf","sysprops","glide.uxf.lib.performance.monitoring.enabled"],"false"))return;var o;o=Xe,(0,We.getMetricTypes)()[o]||(window.nowUiFramework||(window.nowUiFramework={}),window.nowUiFramework.uxfKeyboardShortcutInteractionId=(0,We.createInteractionId)(),(0,We.defineMetric)(Xe,5));const r=(0,M.get)(window,"nowUiFramework.uxfKeyboardShortcutInteractionId",(0,We.createInteractionId)()),n={shortcutName:t,timestamp:Date.now(),pageId:(0,M.get)(window,"ux_globals.snCanvasScreen.screenData.macroponentSysId"),pageName:(0,M.get)(window,"ux_globals.snCanvasScreen.screenData.defaultTitle"),componentId:e.nowId,workspaceName:(0,M.get)(window,"ux_globals.snCanvasScreen.screenData.context.experienceName")};(0,We.mark)(e,r,Xe,n,"usage")},Ve=(e,t,o)=>{const r=pe(e);return new Promise(((a,s)=>{if(!r){const t=`Component not found in registry for nowId '${e}'`;return O.error(t),void s(t)}if(null==r||!r.actionMap){var i,l;const t=`No actionMap found for '${null==r||null===(i=r.registeredElement)||void 0===i||null===(l=i.tagName)||void 0===l?void 0:l.toLowerCase()}' with nowId '${e}'`;return O.error(t),void s(t)}const{actionMap:c,updateState:u,host:d}=r,f=c[t].action;if(!f){var p,g;const o=`Action function '${t}' not found for '${null==r||null===(p=r.registeredElement)||void 0===p||null===(g=p.tagName)||void 0===g?void 0:g.toLowerCase()}' with nowId '${e}'`;return O.error(o),void s(o)}u((s=>{var i,l;const c=f(n()({payload:o,host:d},s));O.log(`action '${t}' triggered for ${null==r||null===(i=r.registeredElement)||void 0===i||null===(l=i.tagName)||void 0===l?void 0:l.toLowerCase()} - nowId: ${e}`,{actionPayload:o,host:d,coeffects:s}),a(c)}))}))},ze=e=>{const{metaKey:t,altKey:o,ctrlKey:r,shiftKey:n,code:a}=e,s=qe();return O.log("Shortcut key combo detected; Attempting to match shortcut against contextualized shortcuts",{shortcut:{metaKey:t,altKey:o,ctrlKey:r,shiftKey:n,code:a.toLowerCase()},contextualizedShortcuts:s}),s.filter((e=>{const{shortcut:s}=e,{mac:i,windows:l}=s,c=K()?i:l;return!!c.altKey==!!o&&!!c.ctrlKey==!!r&&!!c.shiftKey==!!n&&!!c.metaKey==!!t&&c.code===a.toLowerCase()}))},Ye=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!Object.values(l).some((o=>(!t||!(K()&&o===l.CONTROL||I()&&o===l.META))&&e.getModifierState(o))))return!1;const o=Object.values(u).some((t=>e.code.startsWith(t))),r=Object.values(c).includes(e.code);return o||r},Ge=e=>{if(e&&e.length){if(!(e.length>2)){if(1===e.length){const{componentTagName:t,actionKey:o,actionPayload:r,name:n,applicableComponents:a}=e[0];let s;return 1===a.length?s=a[0].registeredElement:(O.log(`Multiple applicable components found for shortcut. Attempting to resolve by querying DOM by tagName ${t} using strategy nearest parent or first child`),s=(e=>{const t=ie(),o=t===document.body?null:ae(t,e);return o||se(e)})(t)),{element:s,actionKey:o,actionPayload:r,name:n}}return(e=>{const t=e.flatMap((e=>e.componentTagName)).sort();if((0,M.isEqual)(i.sort(),t.sort())){for(const o of t){const t=ie(),r=ae(t,o);if(r)return W(e,r)}for(const o of t.reverse()){const t=se(o);if(t)return W(e,t)}}else O.warn("Shortcut could not be triggered - Duplicate shortcuts detected with the same key combination!",e)})(e)}O.warn("Duplicate shortcuts detected for the same key combination!")}},Qe=e=>{const t=(e=>{var t,o;if(e)return e instanceof CustomEvent&&(null==e||null===(t=e.detail)||void 0===t||null===(o=t.payload)||void 0===o?void 0:o.event)instanceof KeyboardEvent?e.detail.payload.event:e})(e);if(!t||!Ye(t))return;if(!1===me().active)return void O.log("UX Keyboard shortcuts are inactive.","keyDown event was not handled and will be propagated:",t);const o=ze(t);if(1===o.length&&Te(o[0].actionKey))return t.stopPropagation(),t.preventDefault(),(e=>{var t;const o=e===Ce?1:-1,r=ie();let n;var a,s;n="BODY"===r.tagName?null!==(a=window)&&void 0!==a&&null!==(s=a.uxfTriggerLibrary)&&void 0!==s&&s.lastClickedElement?window.uxfTriggerLibrary.lastClickedElement:r:r.getRootNode().host,n.setAttribute(Ke,!0);const i=te(Ie);if(n.removeAttribute(Ke),0===i.length)return void O.log("[UXF Shortcuts] - Landmark shortcut triggered but there are no landmark elements on the page.");if(1===i.length)return void("true"===i[0].getAttribute(Ne)?O.log("[UXF Shortcuts] - Focus is already on the only landmark."):O.log("[UXF Shortcuts] - Landmark shortcut triggered but there are no landmark elements on the page."));const l=i.indexOf(n);let c=(l+i.length+o)%i.length;for(;i[c].getAttribute("component-id")===Re||!Q(i[c])&&c!==l;)c=(c+i.length+o)%i.length;Re=i[c].getAttribute("component-id"),null===(t=i[c])||void 0===t||t.focus()})(o[0].actionKey);const r=Ge(o);if(!r)return;const{element:n,actionKey:a,actionPayload:s,name:i}=r;null!=n&&n.nowId&&(t.stopPropagation(),t.preventDefault(),Ve(n.nowId,a,s),He(n,i))},Je=new Map,Ze=()=>Je.entries(),et=e=>{const t=K()?e.mac:e.windows,o=K()?H(t):V(t);let r,n;return K()?(r={mac:t},n={mac:o}):(r={windows:t},n={windows:o}),{formattedShortcutByPlatform:r,formattedPrettifiedShortcutByPlatform:n}},tt=()=>{ke.clear();for(const[e,t]of De.entries()){const{shortcutSysId:o}=t;if(Je.has(o)){const r=Je.get(o),{formattedShortcutByPlatform:a,formattedPrettifiedShortcutByPlatform:s}=et(r);ke.set(e,n()({},t,{overriden:!0,shortcut:Y(a),prettifiedShortcuts:s}))}else ke.set(e,t)}},ot=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Je.clear(),Object.keys(e).forEach((t=>{Je.set(t,e[t])})),O.log("Shortcut Overrides registered: ",Je.entries())},rt=async()=>{if(!(()=>{const e=(0,M.get)(window,["ux_globals","userPrefs",["glide.ui.keyboard.shortcuts.enabled"]],!0),t=(0,M.get)(window,["ux_globals","keyboardShortcutsEnabled"],!0);return G(e)&&G(t)})())return void O.info("Keyboard shortcuts have been disabled for this instance.");if(!R())return void O.info("Unsupported platform detected for keyboard shortcuts");let e,t;try{e=await(async()=>{var e,t;const o=await U.getItem(g);var r,n;return(null===(e=window)||void 0===e||null===(t=e.ux_globals)||void 0===t?void 0:t.uxKeyboardShortcutClientCacheBuster)!==o?(O.log("CB didnt match up, fetching shortcuts from server",{uxGlob:null===(r=window)||void 0===r||null===(n=r.ux_globals)||void 0===n?void 0:n.uxKeyboardShortcutClientCacheBuster,storedCB:o}),await $()):F.getItem(p).then((async e=>(e&&O.log("fetched shortcuts from cache"),null!=e?e:await $())))})(),$e(e),window.addEventListener("click",Le),window.addEventListener("keydown",Qe)}catch(e){O.error("Failed to register keyboard shortcuts:",e)}try{t=await j(),ot(t)}catch(e){O.error("Failed to fetch user override shortcuts:",e)}tt()},nt=(e,t)=>{var o,r;O.error(t,e);let n,a=e.message||"Unexpected Keyboard Shortcut Error";null!=e&&null!==(o=e.response)&&void 0!==o&&null!==(r=o.data)&&void 0!==r&&r.error&&(a=e.response.data.error.detail||a,n=e.response.data.error.message);const s=new Error(a,{cause:e});return s.name="UXKeyboardShortcutError",s.detail=n,s.logMessage=t,s.stack=e.stack,s},at=async e=>{var t,o;const r=(e=>({override:{[e.shortcutSysId]:{[e.platform]:e.keyboardMetadata}}}))(e),n=Je.size>0?"PUT":"POST";let a;try{const e=await L();a=await e.request(A,n,{data:r})}catch(e){throw nt(e,"Failed to set user keyboard shortcut override")}const s=null===(t=a)||void 0===t||null===(o=t.data)||void 0===o?void 0:o.result;ot(s),B.setItem(q(),s),tt()},st=async e=>{var t,o;let r;try{const t=await L();r=await t.request(`${A}/${e}`,"DELETE")}catch(e){throw nt(e,"Failed to delete single user keyboard shortcut override")}const n=null===(t=r)||void 0===t||null===(o=t.data)||void 0===o?void 0:o.result;ot(n),B.setItem(q(),n),tt()},it=async()=>{try{const e=await L();await e.request(A,"DELETE")}catch(e){throw nt(e,"Failed to delete all user keyboard shortcut overrides")}ot({}),B.setItem(q(),{}),tt()}})();var i=s.mX,l=s.a7,c=s.Yd,u=s.pW,d=s.qA,f=s.A7,p=s.Iy,g=s.ED,m=s.h7,h=s.IJ,v=s.V5,y=s.Fu,w=s.QL,b=s.W1,_=s.V4,A=s.X4,S=s.RM,x=s.$R,M=s.mr,E=s._i,C=s.h,O=s.mf,N=s.$z,K=s.aG;
/*__ESM_BODY_END__*/
export{i as KBS_MODAL_CLOSED,l as KBS_MODAL_OPENED,c as deleteKeyboardShortcutOverride,u as deregisterComponent,d as getAllPrettifiedShortcuts,f as getKeyboardShortcutOverrides,p as getShortcutsState,g as handleShortcutKeyDown,m as initializeContextListeners,h as initializeShortcuts,v as isMac,y as isModifierKeyPressedWithKey,w as isSupportedPlatform,b as isWindows,_ as prettifyMacShortcut,A as prettifyWindowsShortcut,S as registerComponent,x as restoreDefaults,M as setActionState,E as setActionStateForShortcut,C as setAvailableActions,O as setKeyboardShortcutOverride,N as setShortcutsState,K as triggerAction};
//# sourceMappingURL=/uxasset/externals/@servicenow/now-trigger-library/index.min.js.map.jsdbx?sysparm_use_cache_buster=true&uxpcb=1753340927036