| Server IP : 87.229.120.60 / Your IP : 216.73.216.86 Web Server : Apache System : Linux outside 5.4.8_Algonet_ZeroMAC_0.9.4.8 #6 SMP Mon Feb 3 20:36:07 CET 2020 x86_64 User : server ( 1002) PHP Version : 8.3.20 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/faktorteam/www/wp-includes/js/dist/script-modules/block-library/search/ |
Upload File : |
// packages/block-library/build-module/search/view.mjs
import {
store,
getContext,
getElement,
withSyncEvent
} from "@wordpress/interactivity";
var { actions } = store(
"core/search",
{
state: {
get ariaLabel() {
const {
isSearchInputVisible,
ariaLabelCollapsed,
ariaLabelExpanded
} = getContext();
return isSearchInputVisible ? ariaLabelExpanded : ariaLabelCollapsed;
},
get ariaControls() {
const { isSearchInputVisible, inputId } = getContext();
return isSearchInputVisible ? null : inputId;
},
get type() {
const { isSearchInputVisible } = getContext();
return isSearchInputVisible ? "submit" : "button";
},
get tabindex() {
const { isSearchInputVisible } = getContext();
return isSearchInputVisible ? "0" : "-1";
}
},
actions: {
openSearchInput: withSyncEvent((event) => {
const ctx = getContext();
const { ref } = getElement();
if (!ctx.isSearchInputVisible) {
event.preventDefault();
ctx.isSearchInputVisible = true;
ref.parentElement.querySelector("input").focus();
}
}),
closeSearchInput() {
const ctx = getContext();
ctx.isSearchInputVisible = false;
},
handleSearchKeydown: withSyncEvent((event) => {
const { ref } = getElement();
if (event?.key === "Escape") {
actions.closeSearchInput();
ref.querySelector("button").focus();
}
}),
handleSearchFocusout: withSyncEvent((event) => {
const { ref } = getElement();
if (!ref.contains(event.relatedTarget) && event.target !== window.document.activeElement) {
actions.closeSearchInput();
}
})
}
},
{ lock: true }
);