apex4x
Version:
The Comprehensive ARIA Development Suite
12 lines (9 loc) • 4.99 kB
JavaScript
/*@license
4X Straylight 2.3 for Apex 4X
Author: Bryan Garaventa (https://www.linkedin.com/in/bgaraventa)
Home: WhatSock.com : Download: https://github.com/whatsock/apex
License: MIT (https://opensource.org/licenses/MIT)
Required dependencies: Animate.js, Accordion.js, Tab.js, Datepicker.js, Dialog.js, Footnote.js, Popup.js, Tooltip.js, Menu.js, Listbox.js
(Edit this file however desired to customize markup template functionality.)
*/
"straylight"in $A||$A.extend({straylight:function(i){var a,o,t;i=$A.isNode(i,null,document,11)?i:document,a=new Map,$A.query("button[data-controls][data-name].aria-accordion-trigger, a[data-controls][data-name].aria-accordion-trigger",i,function(t,e){var o;$A.data(e,"_isBoundAccordion")||($A.data(e,"_isBoundAccordion",!0),o=$A.getAttr(e,"data-name"),a.has(o)||a.set(o,[]),a.get(o).push(e))}),$A.loop(a,function(t,e){$A.setAccordion(e,{isToggle:!0,allowMultiple:!1,preload:!0,preloadImages:!0,preloadCSS:!0,toggleHide:!0,toggleClassName:"open",context:i})},"map"),o=[],$A.query("*.aria-tablist",i,function(t,e){$A.data(e,"_isBoundTabList")||($A.data(e,"_isBoundTabList",!0),o.push(e))}),o.length&&$A.loop(o,function(t,e){$A.setTab(e.querySelectorAll("button[data-controls].aria-tab, a[data-controls].aria-tab"),{trackPage:!0,afterRender:function(t){$A.setPage(t.id,$A.getText(t.triggerNode)+" ARIA Tab - Apex 4X Technical Style Guide")},preload:!0,preloadImages:!0,preloadCSS:!0,toggleHide:!0,isToggle:!1,toggleClassName:"active"})},"array"),$A.query("a.aria-date-picker, button.aria-date-picker",i,function(t,e){var o,a=$A.getDC(e.id),a=(a&&a.loaded&&(a.returnFocus=!1,a.remove(),a.returnFocus=!0),$A.getAttr(e,"data-controls")||!1),n=!!a&&i.querySelector("#"+a);n&&($A.data(e,"_isBoundDatepicker")?o=!0:$A.data(e,"_isBoundDatepicker",!0),o||$A.setDatepicker({id:a,toggle:e,input:n,style:{position:"absolute",zIndex:1,display:"none"},animate:{onRender:function(t,e,o){$A.Velocity(e,"transition.fadeIn",{complete:function(){o()}})},onRemove:function(t,e,o){$A.Velocity(e,"transition.fadeOut",{complete:function(){o()}})}}}))}),(t=i.querySelectorAll("a[href][data-controls].aria-dialog, button[data-controls].aria-dialog")).length&&$A.loop(t,function(t,e){var o;$A.data(e,"_BoundDialog")||($A.data(e,"_BoundDialog",!0),o=$A.getAttr(e,"data-role")||"",$A.setDialog(e,{role:o,className:"modal",isModal:!0,isAlert:!1,style:{display:"none"},animate:{onRender:function(t,e,o){$A.Velocity(e,"transition.slideDownIn",{complete:function(){o()}})},onRemove:function(t,e,o){$A.Velocity(e,"transition.slideDownOut",{complete:function(){o()}})}}}))},"array"),t='span.aria-footnote > a[href^="#"]',document.querySelectorAll(t).length&&$A.setFootnotes(t,{override:{duration:700,easing:"ease-in"}}),(t=i.querySelectorAll("a[href][data-controls].aria-popup, button[data-controls].aria-popup")).length&&$A.loop(t,function(t,e){var o;$A.data(e,"_BoundPopup")||($A.data(e,"_BoundPopup",!0),o=$A.getAttr(e,"data-role")||"Popup",$A.setPopup(e,{role:o,className:"popup",isAlert:!1,circularTabbing:!0,style:{display:"none"},animate:{onRender:function(t,e,o){$A.Velocity(e,"transition.fadeIn",{complete:function(){o()}})},onRemove:function(t,e,o){$A.Velocity(e,"transition.fadeOut",{complete:function(){o()}})}},afterRender:function(t){}}))},"array"),(t=i.querySelectorAll("*.aria-tooltip")).length&&$A.loop(t,function(t,e){$A.data(e,"_BoundTooltip")||($A.data(e,"_BoundTooltip",!0),$A.setTooltip(e,{autoCloseSameWidget:!0,className:"tooltip",isFocusOnly:"focus"===$A.getAttr(e,"data-mode"),isManualOpen:"click"===$A.getAttr(e,"data-mode"),delay:parseInt($A.getAttr(e,"data-delay"))||0,delayTimeout:parseInt($A.getAttr(e,"data-timeout"))||0,style:{display:"none"},animate:{onRender:function(t,e,o){$A.Velocity(e,"transition.fadeIn",{complete:function(){o()}})},onRemove:function(t,e,o){$A.Velocity(e,"transition.fadeOut",{complete:function(){o()}})}}}))},"array"),(t=i.querySelectorAll("*[data-menu].aria-menu")).length&&$A.loop(t,function(t,e){$A.data(e,"_BoundMenu")||($A.data(e,"_BoundMenu",!0),$A.setMenu(e,{onActivate:function(t,e,o,a,n,i,r){$A.isNum(n)?0===n||r?(i("true"),o.DC.top.remove(function(){alert("The new checked state for "+e.id+" is 'true'")})):1===n?(i("mixed"),o.DC.top.remove(function(){alert("The new checked state for "+e.id+" is 'mixed'")})):2===n&&(i("false"),o.DC.top.remove(function(){alert("The new checked state for "+e.id+" is 'false'")})):$A(e).hasAttr("href")&&-1!==$A(e).getAttr("href").indexOf("https://")?o.DC.top.remove(function(){location.href=e.href}):o.DC.top.remove(function(){alert(e.id)})},style:{display:"none"},animate:{onRender:function(t,e,o){$A.Velocity(e,"transition.slideUpIn",{duration:1e3,complete:function(){o()}})},onRemove:function(t,e,o){$A.Velocity(e,"transition.slideUpOut",{duration:1e3,complete:function(){o()}})}}}))},"array"),(t=i.querySelectorAll("select.aria-listbox-root")).length&&$A.loop(t,function(t,e){$A.setListbox(e,{})},"array")}}),$A.on("load",function(){$A.straylight(document)},".straylight");