PATH:
home
/
hunkmedicalstaff
/
public_html
/
wp-content
/
plugins
/
elementor
/
assets
/
js
/*! elementor - v3.27.0 - 18-02-2025 */ "use strict"; (self["webpackChunkelementorFrontend"] = self["webpackChunkelementorFrontend"] || []).push([["nested-title-keyboard-handler"],{ /***/ "../assets/dev/js/frontend/handlers/accessibility/nested-title-keyboard-handler.js": /*!*****************************************************************************************!*\ !*** ../assets/dev/js/frontend/handlers/accessibility/nested-title-keyboard-handler.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; __webpack_require__(/*! core-js/modules/es.array.includes.js */ "../node_modules/core-js/modules/es.array.includes.js"); __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js"); __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ "../node_modules/core-js/modules/esnext.iterator.filter.js"); __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ "../node_modules/core-js/modules/esnext.iterator.find.js"); var _base = _interopRequireDefault(__webpack_require__(/*! ../base */ "../assets/dev/js/frontend/handlers/base.js")); class NestedTitleKeyboardHandler extends _base.default { __construct(settings) { super.__construct(settings); this.directionNext = 'next'; this.directionPrevious = 'previous'; this.focusableElementSelector = 'audio, button, canvas, details, iframe, input, select, summary, textarea, video, [accesskey], [contenteditable], [href], [tabindex]:not([tabindex="-1"])'; } getWidgetNumber() { return this.$element.find('> .elementor-widget-container > .e-n-tabs, > .e-n-tabs').attr('data-widget-number'); } getDefaultSettings() { return { selectors: { itemTitle: `[id*="e-n-tab-title-${this.getWidgetNumber()}"]`, itemContainer: `[id*="e-n-tab-content-${this.getWidgetNumber()}"]` }, ariaAttributes: { titleStateAttribute: 'aria-selected', activeTitleSelector: '[aria-selected="true"]' }, datasets: { titleIndex: 'data-tab-index' }, keyDirection: { ArrowLeft: elementorFrontendConfig.is_rtl ? this.directionNext : this.directionPrevious, ArrowUp: this.directionPrevious, ArrowRight: elementorFrontendConfig.is_rtl ? this.directionPrevious : this.directionNext, ArrowDown: this.directionNext } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $itemTitles: this.findElement(selectors.itemTitle), $itemContainers: this.findElement(selectors.itemContainer), $focusableContainerElements: this.getFocusableElements(this.findElement(selectors.itemContainer)) }; } getFocusableElements($elements) { return $elements.find(this.focusableElementSelector).not('[disabled], [inert]'); } getKeyDirectionValue(event) { const direction = this.getSettings('keyDirection')[event.key]; return this.directionNext === direction ? 1 : -1; } /** * @param {HTMLElement} itemTitleElement * * @return {string} */ getTitleIndex(itemTitleElement) { const { titleIndex: indexAttribute } = this.getSettings('datasets'); return itemTitleElement.getAttribute(indexAttribute); } /** * @param {string|number} titleIndex * * @return {string} */ getTitleFilterSelector(titleIndex) { const { titleIndex: indexAttribute } = this.getSettings('datasets'); return `[${indexAttribute}="${titleIndex}"]`; } getActiveTitleElement() { const activeTitleFilter = this.getSettings('ariaAttributes').activeTitleSelector; return this.elements.$itemTitles.filter(activeTitleFilter); } onInit() { super.onInit(...arguments); } bindEvents() { this.elements.$itemTitles.on(this.getTitleEvents()); this.elements.$focusableContainerElements.on(this.getContentElementEvents()); } unbindEvents() { this.elements.$itemTitles.off(this.getTitleEvents()); this.elements.$focusableContainerElements.children().off(this.getContentElementEvents()); } getTitleEvents() { return { keydown: this.handleTitleKeyboardNavigation.bind(this) }; } getContentElementEvents() { return { keydown: this.handleContentElementKeyboardNavigation.bind(this) }; } isDirectionKey(event) { const directionKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End']; return directionKeys.includes(event.key); } isActivationKey(event) { const activationKeys = ['Enter', ' ']; return activationKeys.includes(event.key); } handleTitleKeyboardNavigation(event) { if (this.isDirectionKey(event)) { event.preventDefault(); const currentTitleIndex = parseInt(this.getTitleIndex(event.currentTarget)) || 1, numberOfTitles = this.elements.$itemTitles.length, titleIndexUpdated = this.getTitleIndexFocusUpdated(event, currentTitleIndex, numberOfTitles); this.changeTitleFocus(titleIndexUpdated); event.stopPropagation(); } else if (this.isActivationKey(event)) { event.preventDefault(); if (this.handeTitleLinkEnterOrSpaceEvent(event)) { return; } const titleIndex = this.getTitleIndex(event.currentTarget); elementorFrontend.elements.$window.trigger('elementor/nested-elements/activate-by-keyboard', { widgetId: this.getID(), titleIndex }); } else if ('Escape' === event.key) { this.handleTitleEscapeKeyEvents(event); } } handeTitleLinkEnterOrSpaceEvent(event) { const isLinkElement = 'a' === event?.currentTarget?.tagName?.toLowerCase(); if (!elementorFrontend.isEditMode() && isLinkElement) { event?.currentTarget?.click(); event.stopPropagation(); } return isLinkElement; } getTitleIndexFocusUpdated(event, currentTitleIndex, numberOfTitles) { let titleIndexUpdated = 0; switch (event.key) { case 'Home': titleIndexUpdated = 1; break; case 'End': titleIndexUpdated = numberOfTitles; break; default: const directionValue = this.getKeyDirectionValue(event), isEndReached = numberOfTitles < currentTitleIndex + directionValue, isStartReached = 0 === currentTitleIndex + directionValue; if (isEndReached) { titleIndexUpdated = 1; } else if (isStartReached) { titleIndexUpdated = numberOfTitles; } else { titleIndexUpdated = currentTitleIndex + directionValue; } } return titleIndexUpdated; } changeTitleFocus(titleIndexUpdated) { const $newTitle = this.elements.$itemTitles.filter(this.getTitleFilterSelector(titleIndexUpdated)); this.setTitleTabindex(titleIndexUpdated); $newTitle.trigger('focus'); } setTitleTabindex(titleIndex) { this.elements.$itemTitles.attr('tabindex', '-1'); const $newTitle = this.elements.$itemTitles.filter(this.getTitleFilterSelector(titleIndex)); $newTitle.attr('tabindex', '0'); } handleTitleEscapeKeyEvents() {} handleContentElementKeyboardNavigation(event) { if ('Tab' === event.key && !event.shiftKey) { this.handleContentElementTabEvents(event); } else if ('Escape' === event.key) { event.preventDefault(); event.stopPropagation(); this.handleContentElementEscapeEvents(event); } } handleContentElementEscapeEvents() { this.getActiveTitleElement().trigger('focus'); } handleContentElementTabEvents() {} } exports["default"] = NestedTitleKeyboardHandler; /***/ }) }]); //# sourceMappingURL=nested-title-keyboard-handler.967db65f6ba460c1f2e9.bundle.js.map
[+]
..
[-] media-hints.min.js
[edit]
[-] floating-elements-modal.js
[edit]
[-] e-wc-product-editor.js
[edit]
[-] ai-admin.js
[edit]
[-] element-manager-admin.js
[edit]
[-] counter.12335f45aaa79d244f24.bundle.min.js
[edit]
[-] web-cli.js
[edit]
[-] nested-tabs.js
[edit]
[-] e-home-screen.min.js
[edit]
[-] nested-accordion.a0f28ea648b29da812a1.bundle.js
[edit]
[-] 056b8f3bbbcabf026cd1.bundle.js
[edit]
[-] ai.min.js
[edit]
[-] beta-tester.js
[edit]
[-] dev-tools.min.js
[edit]
[-] styleguide-app-initiator.min.js.LICENSE.txt
[edit]
[-] nested-elements.min.js
[edit]
[-] nested-title-keyboard-handler.967db65f6ba460c1f2e9.bundle.js
[edit]
[-] video.e031bfad2085ca92d445.bundle.js
[edit]
[-] admin.min.js
[edit]
[-] lightbox.74688eb10c7852662847.bundle.js
[edit]
[-] editor-loader-v2.min.js
[edit]
[-] container.0754914e4611dc659a50.bundle.min.js
[edit]
[-] admin-modules.min.js
[edit]
[-] kit-library.09cb71ec3fbb128f4e25.bundle.min.js
[edit]
[-] 0d1a75a41cae2a76432a.bundle.js
[edit]
[-] app-packages.min.js
[edit]
[-] admin-notifications.min.js
[edit]
[-] e5d6feb1b1d6cf52126f.bundle.js
[edit]
[-] web-cli.min.js.LICENSE.txt
[edit]
[-] nested-tabs.min.js
[edit]
[-] styleguide-app.51d4579e75a5f39265bc.bundle.min.js
[edit]
[-] contact-buttons.c21325756a91b795f8e4.bundle.js
[edit]
[-] common.min.js.LICENSE.txt
[edit]
[-] common.min.js
[edit]
[-] text-editor.c084ef86600b6f11690d.bundle.min.js
[edit]
[-] editor-loader-v2.js
[edit]
[-] container-converter.js
[edit]
[-] container.cb1e834c5aad68e9c908.bundle.js
[edit]
[-] cf70912a0f34653ad242.bundle.js
[edit]
[-] kit-elements-defaults-editor.js
[edit]
[-] 3ac06e8b9c2e8f04c57d.bundle.min.js
[edit]
[-] editor-modules.min.js.LICENSE.txt
[edit]
[-] admin-feedback.js
[edit]
[-] editor-notifications.min.js.LICENSE.txt
[edit]
[-] atomic-widgets-editor.js
[edit]
[-] wp-audio.c91cab3152c3f241f266.bundle.js
[edit]
[-] editor-modules.js
[edit]
[-] styleguide.js
[edit]
[-] admin-modules.js
[edit]
[-] ai-layout.min.js
[edit]
[-] ai.js
[edit]
[-] frontend.js
[edit]
[-] admin-notifications.min.js.LICENSE.txt
[edit]
[-] editor-notifications.min.js
[edit]
[-] nested-accordion.js
[edit]
[-] editor-loader-v1.min.js
[edit]
[-] editor.js
[edit]
[-] beta-tester.min.js
[edit]
[-] app-packages.min.js.LICENSE.txt
[edit]
[-] responsive-bar.min.js
[edit]
[-] app-packages.js
[edit]
[-] app.js
[edit]
[-] adbbe9b5d6b520e98e4c.bundle.js
[edit]
[-] gutenberg.min.js
[edit]
[-] ai-admin.min.js
[edit]
[-] editor-notifications.js
[edit]
[-] admin-modules.min.js.LICENSE.txt
[edit]
[-] admin-notifications.js
[edit]
[-] app.min.js.LICENSE.txt
[edit]
[-] text-path.acb8842ac7e1cd1dfb44.bundle.js
[edit]
[-] common-modules.min.js
[edit]
[-] onboarding.cb1850dab52d5cd9ce5b.bundle.min.js
[edit]
[-] progress.3200f67fe8fb78924bea.bundle.min.js
[edit]
[-] 025905cd015671d0a830.bundle.min.js
[edit]
[-] e-react-promotions.min.js
[edit]
[-] announcements-app.min.js.LICENSE.txt
[edit]
[-] notes.min.js
[edit]
[-] accordion.36aa4c8c4eba17bc8e03.bundle.min.js
[edit]
[-] accordion.7b5b5744bdd225280eca.bundle.js
[edit]
[-] gutenberg.js
[edit]
[-] c4dcba54ff9219690f00.bundle.min.js
[edit]
[-] editor-modules.min.js
[edit]
[-] toggle.375da8e2f6fed12731c2.bundle.js
[edit]
[-] editor.min.js
[edit]
[-] nested-elements.js
[edit]
[-] styleguide-app-initiator.min.js
[edit]
[-] webpack.runtime.min.js
[edit]
[-] editor.min.js.LICENSE.txt
[edit]
[-] notes.js
[edit]
[-] alert.b696182ec6f18a35bc69.bundle.js
[edit]
[-] new-template.js
[edit]
[-] web-cli.min.js
[edit]
[-] image-carousel.6167d20b95b33386757b.bundle.min.js
[edit]
[-] nested-tabs.min.js.LICENSE.txt
[edit]
[-] ai-unify-product-images.js
[edit]
[-] editor-loader-v1.js
[edit]
[-] nested-accordion.min.js.LICENSE.txt
[edit]
[-] floating-elements-modal.min.js
[edit]
[-] e-react-promotions.js
[edit]
[-] ai.min.js.LICENSE.txt
[edit]
[-] tabs.537e7a0f178447960143.bundle.min.js
[edit]
[-] ai-gutenberg.js
[edit]
[-] admin.min.js.LICENSE.txt
[edit]
[-] announcements-app.min.js
[edit]
[-] alert.42cc1d522ef5c60bf874.bundle.min.js
[edit]
[-] floating-bars.7efeeb8b098e55999ff1.bundle.js
[edit]
[-] common.js
[edit]
[-] admin-feedback.min.js
[edit]
[-] 56a155a8adcef506ce8a.bundle.js
[edit]
[-] video.4343afefd25b5ede51a4.bundle.min.js
[edit]
[-] wp-audio.c9624cb6e5dc9de86abd.bundle.min.js
[edit]
[-] new-template.min.js
[edit]
[-] 947434f8f98ed29acc17.bundle.js
[edit]
[-] ai-layout.js
[edit]
[-] atomic-widgets-editor.min.js
[edit]
[-] dev-tools.js
[edit]
[-] text-path.5923566687faac82ea62.bundle.min.js.LICENSE.txt
[edit]
[-] 513d3f05d575dabcdc35.bundle.js
[edit]
[-] nested-accordion.min.js
[edit]
[-] styleguide-app-initiator.js
[edit]
[-] 5b6ef966b71e5cf670d8.bundle.min.js
[edit]
[-] ai-media-library.js
[edit]
[-] lightbox.f3fa607b705962362647.bundle.min.js
[edit]
[-] styleguide-app.a6e297c616479b98c03d.bundle.js
[edit]
[-] checklist.js
[edit]
[-] nested-title-keyboard-handler.fc9d01c2cd0ef46d20fd.bundle.min.js
[edit]
[-] ai-layout.min.js.LICENSE.txt
[edit]
[-] admin-top-bar.js
[edit]
[-] ai-unify-product-images.min.js.LICENSE.txt
[edit]
[-] e-home-screen.js
[edit]
[-] kit-elements-defaults-editor.min.js
[edit]
[-] element-manager-admin.min.js
[edit]
[-] 2e387c4154cbf63565b2.bundle.min.js
[edit]
[-] 4573680c5d8b9b2d9f17.bundle.min.js
[edit]
[-] checklist.min.js
[edit]
[-] kit-library.b0f0ab89c95fe1f6fde3.bundle.js
[edit]
[-] responsive-bar.js
[edit]
[-] frontend-modules.js
[edit]
[-] ai-admin.min.js.LICENSE.txt
[edit]
[-] ai-gutenberg.min.js.LICENSE.txt
[edit]
[-] admin.js
[edit]
[-] frontend-modules.min.js
[edit]
[-] import-export-admin.js
[edit]
[-] frontend.min.js
[edit]
[-] contact-buttons.7c9983ed0d4964b951c2.bundle.min.js
[edit]
[-] webpack.runtime.js
[edit]
[-] elementor-admin-bar.min.js
[edit]
[-] nested-accordion.c546968f7aebebc356f2.bundle.min.js
[edit]
[-] counter.f359dee9199f5aad06c6.bundle.js
[edit]
[-] onboarding.120a44527e5a7209a8e4.bundle.js
[edit]
[-] e-wc-product-editor.min.js
[edit]
[-] admin-top-bar.min.js
[edit]
[-] ai-media-library.min.js
[edit]
[-] element-manager-admin.min.js.LICENSE.txt
[edit]
[-] elementor-admin-bar.js
[edit]
[-] progress.5d8492a023e85c6cc0e0.bundle.js
[edit]
[-] tabs.e808857358793ac13db5.bundle.js
[edit]
[-] app-loader.min.js
[edit]
[-] image-carousel.1a3e0c6222562304eed5.bundle.js
[edit]
[-] editor-document.js
[edit]
[-] container-converter.min.js
[edit]
[-] media-hints.js
[edit]
[-] floating-bars.c1e9838906b386709cd4.bundle.min.js
[edit]
[-] editor-document.min.js
[edit]
[-] app.min.js
[edit]
[-] ai-media-library.min.js.LICENSE.txt
[edit]
[-] kit-elements-defaults-editor.min.js.LICENSE.txt
[edit]
[-] common-modules.js
[edit]
[-] checklist.min.js.LICENSE.txt
[edit]
[-] text-editor.bd4eccbd156d0b1fc3cf.bundle.js
[edit]
[+]
packages
[-] import-export-admin.min.js
[edit]
[-] e-wc-product-editor.min.js.LICENSE.txt
[edit]
[-] announcements-app.js
[edit]
[-] ai-gutenberg.min.js
[edit]
[-] styleguide.min.js
[edit]
[-] app-loader.js
[edit]
[-] ai-unify-product-images.min.js
[edit]
[-] editor-environment-v2.min.js
[edit]
[-] text-path.5923566687faac82ea62.bundle.min.js
[edit]
[-] toggle.a6177e2e3c2bc8864bef.bundle.min.js
[edit]
[-] editor-environment-v2.js
[edit]
[-] 0f7962315cd2e100f80e.bundle.min.js
[edit]