{"version":3,"sources":["core/design-tokens/meta.js","core/js/utils/design-tokens/serializeToken.js","core/design-tokens/colors/base.js","core/js/utilities.js","core/js/validate-props/matchers.js","core/js/validate-props/validate.js","core/js/helpers/validate-initialization.js","core/js/helpers/built-in-icons.js","core/components/accordion/accordion-item.js","core/js/state-machine/actions/index.js","core/js/state-machine/reducers/bool.js","core/js/state-machine/reducers/list.js","core/js/state-machine/events/index.js","core/js/state-machine/store.js","core/js/state-machine/render-state.js","src/components/accordion/accordion-item.js","core/components/accordion/accordion.js","src/components/accordion/accordion.js","core/components/pop/pop-reducer.js","core/components/pop/pop.js","core/components/action-menu/action-menu.js","src/components/action-menu/action-menu.js","core/components/breadcrumb/breadcrumb.js","src/components/breadcrumb/breadcrumb.js","core/components/drawer/drawer.js","src/components/drawer/drawer.js","core/components/dropdown/dropdown.js","core/components/tag/tag.js","core/js/positioning/constants.js","core/js/positioning/positioning.js","src/components/dropdown/dropdown.js","core/js/helpers/inputMask.js","core/components/form/form.js","core/components/input-password/input-password.js","src/components/input-password/input-password.js","core/components/message-bar/message-bar.js","src/components/message-bar/message-bar.js","core/components/modal/modal.js","core/components/more-less/more-less.js","core/components/notification/notification.js","src/components/notification/notification.template.js","src/components/notification/notification.js","core/components/select/select.js","core/components/side-nav/side-nav.js","core/components/side-nav/side-nav-group.js","src/components/side-nav/side-nav-group.js","core/js/helpers/match-media.js","core/components/side-nav/side-nav-item.js","src/components/side-nav/side-nav-item.js","src/components/side-nav/side-nav.js","core/design-tokens/sizes.js","core/components/tabs/tab-item.js","core/components/tabs/tab-pane.js","core/components/tabs/tabs.js","src/components/tag/tag.js","core/components/text-area/text-area.js","core/components/input-mask/input-mask.js","src/components/input-mask/input-mask.js","core/components/tooltip/tooltip.js","src/components/tooltip/tooltip.js","src/components/index.js"],"names":["global","factory","exports","module","define","amd","self","DDS","this","meta_1","meta_2","meta_5","serializeToken_1","value","append","undefined","css","replace","DOC","document","HTML","documentElement","globalObject","window","prefix","supportTransitions","isIE","test","navigator","platform","userAgent","maxTouchPoints","MSStream","chrome","webstore","runtime","getSibling","element","selector","firstChar","charAt","selectorSubstring","substr","nextElementSibling","classList","contains","id","tagName","toLowerCase","getFocusableElements","Array","prototype","slice","call","querySelectorAll","filter","filterCollapsedParents","parentElement","getAttribute","getClosest","parentsOnly","host","parentNode","querySelector","previousElementSibling","handleFirstTab","e","keyCode","body","add","removeEventListener","addEventListener","handleMouseDownOnce","x","y","remove","isObject","val","Object","toString","isString","isHTMLElement","Element","HTMLDocument","randomNumGenerator","Math","floor","random","each","arr","fn","scope","n","hasOwnProperty","length","createElement","nodeType","props","domNode","prop","innerHTML","textContent","attr","setAttribute","includes","debounce","func","wait","immediate","timeout","context","args","arguments","callNow","clearTimeout","setTimeout","apply","toArray","nl","i","unshift","DynamicCSS","instance","filterDDS","getSheet","stylesheets","from","index","link","href","match","sheet","cssRules","err","console","warn","ddsLastOnList","pop","createCSSClass","className","style","error","trim","indexOf","classBody","stylesheet","keys","reduce","result","styleName","newCSS","legacyIndex","ruleIndex","selectorText","values","some","rule","deleteRule","insertRule","waitForRender","maxFrames","Promise","resolve","reject","getComputedStyle","message","frame","requestAnimationFrame","nextFrame","replaceInString","string","replacements","group","matchers","_undefined","undefined$1","_x","null","false","true","falsy","truthy","number","boolean","function","object","array","isArray","regexp","minChars","htmlElement","or","instanceof","HTMLElement","gt","expect","target","gte","lt","lte","eq","neq","inRange","startRange","endRange","and","_len","_key","_len2","_key2","pattern","includesList","refs","list","map","pass","Instance","enforceType","acc","propName","propVal","isNaN","Number","validateInitialization","config","_config","componentName","defaultProps","schema","validateHTML","validElements","mergedProps","assign","dataset","_validate","validate","success","report","schemaProp","targetValue","schemaValue","targetValueIsObject","schemaValueIsObject","nestedSuccess","nestedReport","matcherResult","isValidated","failedProps","push","join","alertNotice","class","check","chevronDown","chevronLeft","chevronRight","closeX","overflow","componentClasses","freeze","wrapper","focus","expanded","inactive","collapsing","expanding","heading","button","icon","content","views","collapsed","rest","attrs","aria-expanded","disabled","aria-hidden","icons","types","toggle","listIndexFalse","listIndexTrue","listAllTrue","listAllFalse","bottom","left","right","top","type","expand","collapse","open","close","show","hide","dismiss","expandItem","single","collapseItem","expandAll","collapseAll","setActiveIndex","setInactiveIndex","boolReducer","state","action","validateIndex","listReducer","status","concat","fill","eventTemplate","component","event","open$1","opening","opened","close$1","closing","closed","show$1","hide$1","selectionChange","dispatcher","eventName","related","details","evt","dispatchEvent","createEvent","initCustomEvent","CustomEvent","bubbles","composed","detail","relatedTarget","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","next","bind","minLen","_arrayLikeToArray","constructor","name","_unsupportedIterableToArray","done","TypeError","len","arr2","createStore","reducer","initState","listeners","Set","getState","dispatch","_step","_iterator","listener","subscribe","Error","unsubscribe","delete","renderHTML","node","forEach","attrName","newValue","hasAttribute","removeAttribute","item","renderObject","renderState","_Object$freeze","AccordionItem","_props","eventMap","expandedStore","focusStore","handleClick","preventDefault","endExpanding","contentElement","propertyName","disposeTransitions","dynamicExpanding","endCollapsing","dynamicCollapsing","buttonElement","bodyElement","isInactive","api","dispose","currentState","newStateList","shouldExpand","heightToExpand","clientHeight","height","startExpanding","heightToCollapse","transition-duration","then","catch","startCollapsing","focusList","insertAdjacentHTML","componentClasses$1","accordion","controls","screenReader","independent","srExpandAll","srCollapseAll","srExpandItem","srCollapseItem","expandedAll","views$1","active","aria-disabled","setFocusFirstAvailableItemOnList","accordionItems","nextItem","shift","forwardListFromIndex","backwardListFromIndex","min","reverse","getIndexFromParam","alignments","end","middle","start","defaultState","verticalActions","horizontalActions","PopReducer","trigger","triggerRect","getBoundingClientRect","popRect","newState","round","alignment","abs","width","componentName$2","defaultProps$1","mainClass","position","closeOnBlur","closeOnResize","ariaHaspopup","Pop","containerDynamicClass","containerDynamicClassMemory","valid","popInnerClasses","container","containerHidden","popInnerViews","default","positioning","containerElement","triggerElement","closeOnTargetOutside","activeElement","visibilityStore","close$2","handleTriggerBlur","handleContainerBlur","handleWindowResize","handlePositioning","toUpperCase","popStore","toggle$1","toggleEvent","isVisible","newPosition","updatePosition","update","newProps","visibility","eventMap$1","defaultProps$2","schema$1","componentClasses$2","wrapperSm","wrapperIsPressing","menu","separator","option","views$2","isPressing","checked","aria-checked","unchecked","itemTypes","validateHTML$1","componentName$4","componentClasses$3","listItem","mobileIcon","views$3","breadcrumbList","breadcrumbItem","aria-current","expandButton","visible","hidden","eventMap$2","componentName$5","defaultProps$3","schema$2","eventMap$3","componentClasses$4","base","header","footer","overlay","overflowHidden","sizes","lg","md","sm","xs","views$4","validateHTML$2","overlayElement","headerElement","Boolean","_Object$freeze$1","defaultProps$4","selection","noOptionsLabel","selectedLabel","srClearLabel","schema$3","eventMap$4","componentClasses$5","isOpen","isMultiple","inputContainer","inputWrapper","inputField","inputFieldHidden","tag","chevron","popup","empty","groupTitle","itemOption","itemSelected","itemLabel","notice","views$5","isClose","isNotPressing","selected","data-selected","aria-selected","notSelected","notchecked","defaultProps$5","srDismiss","schema$4","eventMap$5","dismiss$1","componentClasses$6","colors","blue","green","yellow","orange","red","berry","purple","gray","views$6","icons$1","positions","topPositions","rightPositions","verticalPositions","horizontalPositions","getScrollParent","nodeName","ownerDocument","_window$getComputedSt","overflowX","overflowY","isScrollableElement","getPosition","offsets","elementRect","targetRect","offsetParent","scroll","scrollLeft","scrollTop","elementScrollableParent","offsetParentRect","clientLeft","clientTop","xRelative","yRelative","getBoundingClientRectRelativeToOffsetParent","getOffsetParent","topPositioning","bottomPositioning","verticalStartPositioning","widthDif","verticalMiddlePositioning","verticalEndPositioning","rightPositioning","leftPositioning","horizontalStartPositioning","heightDif","horizontalMiddlePositioning","horizontalEndPositioning","_createForOfIteratorHelperLoose$1","_arrayLikeToArray$1","_unsupportedIterableToArray$1","validateHTML$3","inputFieldElement","inputWrapperElement","popupElement","listElement","items","itemsDataSelectedAttr","InputMask","options","wc","webComponent","shadowRoot","wrap","spacing","hasValue","handleValueChange","mask","italic","handleCurrentValue","setValueOfMask","j","isInt","isLetter","strippedValue","isCharsetPresent","placeholder","l","parseInt","matchesNumber","matchesLetter","validateProgress","validExample","RegExp","testValue","t","aria_hidden","emphasis","tClass","pTxt","createTextNode","label","errorDiv","helperDiv","appendChild","insertBefore","key","el","initKeyboardEvent","KeyboardEvent","which","createShell","s","char","cancelable","shiftKey","setSelectionRange","_Object$freeze$2","componentClasses$7","switchButton","validated","passwordInput","errorIcon","defaultProps$6","showLabel","hideLabel","srShowTitle","srHideTitle","schema$5","views$8","aria-invalid","invalid","validateHTML$4","styleShowing","styleHiding","styleHidden","defaultProps$7","dismissible","srCloseLabel","schema$6","eventMap$7","componentClasses$8","messageBar","globalContainer","warning","closeButton","views$9","showing","hiding","icons$2","componentName$a","eventMap$8","modalClasses","basic","large","views$a","aria-modal","defaultProps$8","_Object$freeze$3","componentName$b","componentClasses$9","styleExpanded","styleButton","styleTarget","views$b","eventMap$9","expand$1","collapse$1","initialState","toggleHiddenListItems","hiddenItems","isExpanded","NodeList","isPrototypeOf","componentName$c","defaultProps$9","closeIcon","title","messageBody","timeStamp","primaryActionText","secondaryActionText","primaryAction","secondaryAction","schema$7","eventMap$a","componentClasses$a","headerTitle","primary","secondary","views$c","icons$3","Template","titleIcon","politeness","validateHTML$5","_eventMap","componentName$d","selectClasses","select","field","optionPlaceholder","helperText","chevronIcon","feedbackIcon","views$d","size","standard","_eventMap$1","sideNavClasses","fixed","toggleButton","groupSelected","initialState$1","defaultProps$a","views$e","collapsible","eventMap$b","sideNavGroupClasses","defaultProps$b","views$f","eventMap$c","validateHTML$6","children","ele","subMenu","getElementsByTagName","mobileMediaQueryList","matchMedia","matches","tabletMediaQueryList","styleSelected","views$g","defaultProps$c","breakpoints","breakpoints-xs","breakpoints-sm","breakpoints-md","breakpoints-lg","breakpoints-xl","breakpoints-2xl","breakpoints-3xl","breakpoints-4xl","breakpoints-5xl","grid-columns","grid-columns-xs","grid-columns-sm","grid-columns-md","grid-columns-lg","grid-columns-xl","grid-columns-2xl","grid-columns-3xl","grid-columns-4xl","grid-columns-5xl","grid-gutter-compact","grid-gutter-compact-xs","grid-gutter-compact-sm","grid-gutter-compact-md","grid-gutter-compact-lg","grid-gutter-compact-xl","grid-gutter-compact-2xl","grid-gutter-compact-3xl","grid-gutter-compact-4xl","grid-gutter-compact-5xl","grid-gutter-default","grid-gutter-default-xs","grid-gutter-default-sm","grid-gutter-default-md","grid-gutter-default-lg","grid-gutter-default-xl","grid-gutter-default-2xl","grid-gutter-default-3xl","grid-gutter-default-4xl","grid-gutter-default-5xl","grid-gutter-comfy","grid-gutter-comfy-xs","grid-gutter-comfy-sm","grid-gutter-comfy-md","grid-gutter-comfy-lg","grid-gutter-comfy-xl","grid-gutter-comfy-2xl","grid-gutter-comfy-3xl","grid-gutter-comfy-4xl","grid-gutter-comfy-5xl","grid-margins-compact","grid-margins-compact-xs","grid-margins-compact-sm","grid-margins-compact-md","grid-margins-compact-lg","grid-margins-compact-xl","grid-margins-compact-2xl","grid-margins-compact-3xl","grid-margins-compact-4xl","grid-margins-compact-5xl","grid-margins-default","grid-margins-default-xs","grid-margins-default-sm","grid-margins-default-md","grid-margins-default-lg","grid-margins-default-xl","grid-margins-default-2xl","grid-margins-default-3xl","grid-margins-default-4xl","grid-margins-default-5xl","grid-margins-comfy","grid-margins-comfy-xs","grid-margins-comfy-sm","grid-margins-comfy-md","grid-margins-comfy-lg","grid-margins-comfy-xl","grid-margins-comfy-2xl","grid-margins-comfy-3xl","grid-margins-comfy-4xl","grid-margins-comfy-5xl","componentName$h","tabItemClasses","mobileStackedChevron","views$h","tabindex","stacked","TabItem","handleTabKeydown","tabsStore","setActiveTab","isMobileStacked","mediumBreakpoint","rightChevronIconSvg","DOMParser","parseFromString","firstChild","handleKeydown","handleStateChange","isActive","innerWidth","handleStackedIcon","isScreenBiggerThanMedium","componentName$i","tabPaneClasses","bodyOverflow","views$i","TabPane","backLabel","leftChevronIconSvg","startFocusTrapElement","endFocusTrapElement","backElement","previousFocusedTabItem","previousFocusedElement","handleBackClick","handleStartFocusTrapFocus","handleEndFocusTrapFocus","cloneContent","createContent","componentName$j","defaultProps$d","moreLabel","eventMap$d","tabsClasses","wrapperContained","wrapperMobileStacked","wrapperMobileJustified","listOverflow","listContainer","listContainerHiddenGradient","tab","tabLabel","tabWithImage","tabHidden","more","moreIcon","moreWrapper","moreContainer","moreList","moreListItem","moreListItemHidden","pane","paneContainer","views$j","tabs","hiddenGradient","tabPane","validateHTML$7","componentName$k","componentClasses$b","textArea","counter","counterCurrent","sr","views$k","counterSpan","_Object$freeze$4","componentClasses$c","input","applyMask","maskChar","enteredValue","split","mappedValue","splice","maskedValue","maskInitChars","views$m","validateHTML$8","maskInput","eventMap$e","defaultProps$e","placement","schema$8","componentClasses$d","tooltip","animating","pointer","views$n","beforeAnimation","afterAnimation","validateHTML$9","__proto__","Accordion","_validateInitializati","clearScreenReaderTimer","resetAnnounceTimeout","announceTimeout","removeDDSEventListeners","readExpandAll","once","readCollapseAll","announceToScreenReader","announceAfter","resetAfter","ariaLiveElement","updateControlsState","expandAllElement","collapseAllElement","handleKeyDown","currentItem","prevIndex","nextIndex","handleItemNavFocus","targetIndex","isIndependent","handleComponentFocus","expandAll$1","collapseAll$1","itemsList","initExpandedState","initFocusState","aria-live","child","ActionMenu","ariaControlsId","popInstance","checkedItems","focusedIndex","isDisabled","toggleCheckedItem","isCheckedItem","optionValue","getCheckedItemValue","optionIndex","removeCheckedOption","addCheckedOption","updateItems","menuElement","li","focusableElement","itemType","isItem","isLink","isOption","injectItemIcon","setUserIsPressing","unsetUserIsPressing","offsetX","offsetY","handleTriggerKeydown","setFocusedIndex","getPreviousFocusableIndex","getNextFocusableIndex","handleTriggerMousedown","handleContainerKeydown","handleMenuKeydown","handleMenuItemClick","itemIndex","handleMenuItemMousedown","removeItemsEventListeners","componentName$3","getCheckedItems","Breadcrumb","createExpandButton","htmlProvidedLabel","configProvidedLabel","buttonLabel","buttonAriaLabel","max","breadcrumbLinks","anchor","html","tabIndex","aria-controls","breadcrumbId","aria-label","role","breadcrumbOl","getNextFocusableElement","getPropertyValue","focusable","setActive","Drawer","handleElementKeydown","focusFirstElement","focusableElements","focusLastElement","handleBodyTransitionEnd","visibleStore","previousFocusedItem","handleVisibleStateChange","closeElement","widthDynamicClass","triggers","setTriggers","Dropdown","setTagAriaValues","tagAriaLabel","multipleSelectionValue","tagTextElement","toggleTagVisibility","tagElement","tagDynamicClassMemory","tagDynamicClass","padding-left","isItemSelected","getItemValue","dataValue","focusInputField","setValueOnField","count","inputFieldHiddenElement","JSON","stringify","selectedItem","singleSelectionValue","setInnerValues","selectedValue","toggleItemSelectedAttr","setItemSelectedAttr","unselectAllItemsAttr","setPopupScrollTop","focusItem","itemsListFromIndex","handleItemClick","isItemDisabled","getValue","selectItem","filterItemsList","term","results","hiddenGroups","groupsList","itemMatchTerm","groupMatchTerm","groupElement","noticeElement","isTargetOnOuside","handleTagElementsKeydown","handleTagTextClick","handleTagDismissClick","handleInputFieldKeydown","currentVisibility","handleInputFieldChange","handleInputFieldClick","handleInputFieldBlur","handlePopupKeydown","handlePopupBlur","handleListKeydown","handleElementsKeypress","toMatchItem","updateItemsList","itemsArray","itemsCount","groupId","itemInfo","removeItemEventListeners","setItemEventListeners","setItemIndexAttr","setItemPosInSet","setItemCheckIcon","popupDynamicClass","popupDynamicClassMemory","tagDismissElement","tagNode","tagTextNodeId","tagTextNode","tagDismissNode","buildTag","noticeNode","inputFieldHiddenNode","chevronNode","itemsListObserver","MutationObserver","mutationsList","observe","childList","subtree","_getPosition","disconnect","Form","jsonParams","parse","jsonOptionsInit","formElements","isValid","hasIcon","togglePassword","passwordState","find","getElementById","submitHandler","validateElement","iwc","c","customSelect","customBtn","innerText","submit","stopPropagation","populateFormElements","parent","setCustomValidity","helperTextId","checkEls","invalidcount","selectWc","dateOptions","getOptions","date","available_week_day","todaysDate","Date","setHours","availableWeekDays","f","getDay","notBeforeDate","notAfterDate","pastDates","getTime","checkDateValidity","validity","customElements","whenDefined","submitBtn","slot","assignedNodes","InputPassword","passwordInputStore","hiddenState","MessageBar","closeMessageBar","showStore","timer","duration","parseFloat","getAnimationDurationFromElement","showMessageBar","Modal","triggerElements","triggerSelector","markupValidation","modalStore","allFocusableElements","handleTabbing","modalOpenState","MoreLess","targetElement","standAloneButton","chevronDownkIconNode","cloneNode","store","Notification","notificationElement","notificationWrapper","newWrapper","notificationString","notificationHTML","secondaryButton","primaryButton","removeChild","data-dds","String","bindMask","maskChars","oldStart","selectionStart","data","selectionEnd","inputType","isPreviousNumber","checkCurrentSpot","nextChar","Select","applyPlaceholderStyle","isPlaceholderSelected","handleChange","selectedOptionIsPlaceholder","selectedIndex","selectWrapper","_createStore","SideNav","handleResizeEvent","toggleStore","activateParentNavGroup","closestParentGroup","sanitizePath","path","cleanPath","decodeURIComponent","toggles","groups","userIsTabbing","activateToggles","handClick","expandStore","lastChild","SideNavGroup","handleLinkEvent","SideNavItem","activateCurrentNavItem","location","pathname","Tabs","checkIconSvg","moreIconSvg","isContained","scrollHeightDynamicClass","scrollHeightDynamicClassMemory","tabsListElement","tabsListContainerElement","tabsPaneContainerElement","moreLiElement","moreButtonElement","moreListElement","popWrapper","popTriggerId","popContainer","tabItemList","tabPaneList","isMobileJustified","hasMore","setScreenSize","windowInnerWidth","startUpdateTabs","updateTabsDebouncing","updateTabs","listAvailableWidth","stackedWidth","stackValueExceeded","tabStoreState","current","tabItem","itemWidth","createMoreButton","appendMoreListToPopContainer","appendPopToTabsList","setMoreSelectedState","toggleMobileGradientOverlay","adjustBottomBorderWithScrollbar","lastItemOffsetWidth","offsetWidth","_tabsListElement","scrollWidth","scrollbarWidth","offsetHeight","moreButtonSpanElement","createMoreMenu","handleMoreListKeydown","createMoreMenuItem","itemText","overflowItem","overflowButton","handleMoreMenuItemClick","getPrevTab","lastVisibleTab","previousValue","currentValue","getNextTab","prevTab","nextTab","isOpened","firstMoreItem","getNextMoreItem","handleInlineTabKeydown","handleStackedTabKeydown","getFirstMoreItem","getFocusedMoreItem","prevItem","getPrevMoreItem","isActiveInsideMore","tabAriaSelected","paneAriaHidden","validateMarkup","tabPaneItem","Tag","dismissButton","labelButton","aria-describedby","TextArea","maxSpan","currentSpan","srText","inactivityTimer","maxlengthTimer","srCounterMessage","srLabel","route","maxLength","num","defaultVal","validateNum","maxlength","updateCharacterCount","charCount","counterMessage","currentLength","remaining","readoutTimer","srReadout","inactivityHandler","srID","Tooltip","showTooltipDelay","tooltipBody","tooltipShowTimeout","tooltipClone","tooltipDynamicClass","tooltipDynamicClassMemory","elementDynamicClass","elementDynamicClassMemory","transitionFinished","styleTip","componentName$m","updateArrowStyle","useArrow","has","elementDimensions","w","h","topPosition","leftPosition","arrowTop","arrowLeft","arrowWidth","arrowHeight","posChanged","windowWidth","windowHeight","rect","pageYOffset","pageXOffset","linkDimensions","isPopover","arrow","halfTopExceed","halfLeftExceed","halfRightExceed","halfBottomExceed","topExceed","leftExceed","bottomExceed","rightExceed","arrowPostion","rectLeft","rectTop","updateElementStyle","mouseHover","ariaDescribedById"],"mappings":"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","sourcesContent":["module.exports = {\r\n ddsSpace: \"dds\",\r\n ddsToken: \"__\",\r\n fontVersion: \"2.137\",\r\n iconVersion: \"2.3.0\",\r\n prefix: \"dds__\",\r\n iconPrefix: \"dds__icon--\",\r\n};\r\n","/**\r\n * Creates function for handling CSS or JS output\r\n *\r\n * @param value String default string\r\n * @param append String the value to append\r\n *\r\n * @return Function This\r\n *\r\n * @example\r\n * const red = token(\"red\")\r\n * red(); // \"red\"\r\n * red(true) // \"red !default;\";\r\n * red(); // \"red\"\r\n * red(true, \"!important;\") // \"red !important;\";\r\n */\r\nfunction serializeToken(value, append) {\r\n if (typeof value === \"string\") {\r\n append = append === undefined ? \"!default;\" : append;\r\n if (typeof append === \"string\") {\r\n /**\r\n * Define the outputformat\r\n * @param css {Boolean} define if the output is css or not\r\n * @return {String}\r\n */\r\n return (css) => {\r\n // serialize css\r\n if (css) {\r\n const val = `${value} ${append};`;\r\n return val.replace(/(;+)$/, \";\");\r\n }\r\n //default is the raw value\r\n return value;\r\n };\r\n }\r\n }\r\n return value;\r\n}\r\n\r\nmodule.exports = serializeToken;\r\n","const token = require(\"../../js/utils/design-tokens/serializeToken.js\");\r\nmodule.exports = {\r\n white: token(\"#ffffff\"),\r\n black: token(\"#000000\"),\r\n purple: {\r\n \"purple-100\": token(\"#fbebff\"),\r\n \"purple-200\": token(\"#ecc4ff\"),\r\n \"purple-300\": token(\"#db9eff\"),\r\n \"purple-400\": token(\"#c47af4\"),\r\n \"purple-500\": token(\"#a95adc\"),\r\n \"purple-600\": token(\"#994ccc\"),\r\n \"purple-700\": token(\"#8a3fba\"),\r\n \"purple-800\": token(\"#66278f\"),\r\n \"purple-900\": token(\"#40155c\"),\r\n },\r\n blue: {\r\n \"blue-100\": token(\"#d9f5fd\"),\r\n \"blue-200\": token(\"#94dcf7\"),\r\n \"blue-300\": token(\"#5cc1ee\"),\r\n \"blue-400\": token(\"#31a2e3\"),\r\n \"blue-500\": token(\"#1282d6\"),\r\n \"blue-600\": token(\"#0672cb\"),\r\n \"blue-700\": token(\"#0063b8\"),\r\n \"blue-800\": token(\"#00468b\"),\r\n \"blue-900\": token(\"#002a58\"),\r\n },\r\n \"light-blue\": {\r\n \"light-blue-100\": token(\"#daf5fd\"),\r\n \"light-blue-200\": token(\"#97dcf4\"),\r\n \"light-blue-300\": token(\"#61c1eb\"),\r\n \"light-blue-400\": token(\"#36a2e0\"),\r\n \"light-blue-500\": token(\"#1885c3\"),\r\n \"light-blue-600\": token(\"#0d76b2\"),\r\n \"light-blue-700\": token(\"#0468a1\"),\r\n \"light-blue-800\": token(\"#004a77\"),\r\n \"light-blue-900\": token(\"#002d4b\"),\r\n },\r\n green: {\r\n \"green-100\": token(\"#e9f5ce\"),\r\n \"green-200\": token(\"#c0dd78\"),\r\n \"green-300\": token(\"#9bc438\"),\r\n \"green-400\": token(\"#7aa809\"),\r\n \"green-500\": token(\"#5d8c00\"),\r\n \"green-600\": token(\"#4f7d00\"),\r\n \"green-700\": token(\"#436f00\"),\r\n \"green-800\": token(\"#2c5000\"),\r\n \"green-900\": token(\"#193100\"),\r\n },\r\n yellow: {\r\n \"yellow-100\": token(\"#feefcb\"),\r\n \"yellow-200\": token(\"#f5cd6f\"),\r\n \"yellow-300\": token(\"#e6ac28\"),\r\n \"yellow-400\": token(\"#ce8d00\"),\r\n \"yellow-500\": token(\"#b36f00\"),\r\n \"yellow-600\": token(\"#a36100\"),\r\n \"yellow-700\": token(\"#925400\"),\r\n \"yellow-800\": token(\"#6d3a00\"),\r\n \"yellow-900\": token(\"#442200\"),\r\n },\r\n orange: {\r\n \"orange-100\": token(\"#ffeed2\"),\r\n \"orange-200\": token(\"#fec97a\"),\r\n \"orange-300\": token(\"#f8a433\"),\r\n \"orange-400\": token(\"#e67f01\"),\r\n \"orange-500\": token(\"#c96100\"),\r\n \"orange-600\": token(\"#b85200\"),\r\n \"orange-700\": token(\"#a64600\"),\r\n \"orange-800\": token(\"#7d2e00\"),\r\n \"orange-900\": token(\"#4f1a00\"),\r\n },\r\n red: {\r\n \"red-100\": token(\"#ffecee\"),\r\n \"red-200\": token(\"#ffc3c9\"),\r\n \"red-300\": token(\"#ff99a1\"),\r\n \"red-400\": token(\"#fe6873\"),\r\n \"red-500\": token(\"#e4424d\"),\r\n \"red-600\": token(\"#d0353f\"),\r\n \"red-700\": token(\"#bb2a33\"),\r\n \"red-800\": token(\"#8c161f\"),\r\n \"red-900\": token(\"#590a0f\"),\r\n },\r\n berry: {\r\n \"berry-100\": token(\"#ffebf5\"),\r\n \"berry-200\": token(\"#ffc0df\"),\r\n \"berry-300\": token(\"#f69ac6\"),\r\n \"berry-400\": token(\"#e574aa\"),\r\n \"berry-500\": token(\"#cb548d\"),\r\n \"berry-600\": token(\"#ba467d\"),\r\n \"berry-700\": token(\"#a8396f\"),\r\n \"berry-800\": token(\"#7f234f\"),\r\n \"berry-900\": token(\"#511230\"),\r\n },\r\n gray: {\r\n \"gray-100\": token(\"#f5f6f7\"),\r\n \"gray-200\": token(\"#f0f0f0\"),\r\n \"gray-300\": token(\"#e1e1e1\"),\r\n \"gray-400\": token(\"#d2d2d2\"),\r\n \"gray-500\": token(\"#b6b6b6\"),\r\n \"gray-600\": token(\"#7e7e7e\"),\r\n \"gray-700\": token(\"#6e6e6e\"),\r\n \"gray-800\": token(\"#636363\"),\r\n \"gray-900\": token(\"#0e0e0e\"),\r\n },\r\n};\r\n","// parse the package.json file to get needed variables\r\nimport { ddsSpace, ddsToken } from \"../design-tokens/meta\";\r\n// used in the getColor\r\nimport colors from \"../design-tokens/colors/base\";\r\n\r\nexport const DOC = document;\r\nexport const HTML = DOC.documentElement;\r\nexport const globalObject = typeof global !== \"undefined\" ? global : window;\r\nexport const prefix = ddsSpace + ddsToken;\r\nexport const supportTransitions =\r\n \"Webkit\" + \"Transition\" in HTML[\"style\"] || \"Transition\"[\"toLowerCase\"]() in HTML[\"style\"];\r\nexport const transitionEndEvent =\r\n \"Webkit\" + \"Transition\" in HTML[\"style\"]\r\n ? \"Webkit\"[\"toLowerCase\"]() + \"Transition\" + \"End\"\r\n : \"Transition\"[\"toLowerCase\"]() + \"end\";\r\nexport const transitionDuration =\r\n \"Webkit\" + \"Duration\" in HTML[\"style\"]\r\n ? \"Webkit\"[\"toLowerCase\"]() + \"Transition\" + \"Duration\"\r\n : \"Transition\"[\"toLowerCase\"]() + \"Duration\";\r\nexport const tipPositions = /\\b(top|bottom|left|right)+/;\r\nexport const isIPhone = /(IPhone)/i.test(navigator.platform);\r\nexport const isIOS =\r\n (/iPad|iPhone|iPod|Macintosh/i.test(navigator.userAgent) ||\r\n (navigator.platform === \"MacIntel\" && navigator.maxTouchPoints > 1)) &&\r\n !window.MSStream; // /(/(IPad)/i.test(navigator.platform)) || (/(IPhone)/i.test(navigator.platform));\r\nexport const isIE = /msie|trident|Windows Phone/i.test(navigator.userAgent);\r\nexport const isSafari = /Version\\/[\\d.]+.*Safari/i.test(navigator.userAgent);\r\nexport const isFirefox = /Mozilla\\/[\\d.]+.*Firefox/i.test(navigator.userAgent);\r\nexport const isEdge = /Edge\\/1[0-8].\\d+/i.test(navigator.userAgent);\r\nexport const isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);\r\nexport const direction = {\r\n UP: 1,\r\n RIGHT: 2,\r\n DOWN: 3,\r\n LEFT: 4,\r\n NONE: 5,\r\n};\r\n\r\n// selection methods\r\nexport function getFullScreenOverlay() {\r\n var overlay = DOC.getElementById(prefix + \"full-screen-overlay\");\r\n if (!overlay) {\r\n console.warn(\r\n \"OFF-CANVAS: Overlay requested. Corresponding HTML missing. Please apply id 'dds__full-screen-overlay' and class 'dds__overlay' to an empty div\"\r\n );\r\n return false;\r\n }\r\n return overlay;\r\n}\r\n\r\nexport function getElementsByClassName(element, classNAME) {\r\n // returns Array\r\n return [].slice.call(element[\"getElementsByClassName\"](classNAME));\r\n}\r\n\r\nexport function getSibling(element, selector) {\r\n var firstChar = selector.charAt(0);\r\n var selectorSubstring = selector.substr(1);\r\n\r\n if (firstChar === \".\") {\r\n if (element.nextElementSibling && element.nextElementSibling.classList) {\r\n if (element.nextElementSibling.classList.contains(selectorSubstring)) {\r\n return element.nextElementSibling;\r\n } else {\r\n return getSibling(element.nextElementSibling, selector);\r\n }\r\n }\r\n } else if (firstChar === \"#\") {\r\n if (element.nextElementSibling) {\r\n //&& element.nextElementSibling.id) {\r\n if (element.nextElementSibling.id === selectorSubstring) {\r\n return element.nextElementSibling;\r\n } else {\r\n return getSibling(element.nextElementSibling, selector);\r\n }\r\n }\r\n } else {\r\n if (element.nextElementSibling && element.nextElementSibling.tagName) {\r\n if (element.nextElementSibling.tagName.toLowerCase() === selector.toLowerCase()) {\r\n return element.nextElementSibling;\r\n } else {\r\n return getSibling(element.nextElementSibling, selector);\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport function getFocusableElements(element) {\r\n var arr = Array.prototype.slice.call(\r\n element.querySelectorAll(\r\n \"*:not([aria-expanded='false']) a[href],*:not([aria-expanded='false']) area[href],*:not([aria-expanded='false']) input:not([disabled]),*:not([aria-expanded='false']) select:not([disabled]),*:not([aria-expanded='false']) textarea:not([disabled]),*:not([aria-expanded='false']) button:not([disabled]):not(.dds__d-none), *:not([aria-expanded='false']) > .dds__accordion-card-body > ul > [tabindex='0']\"\r\n )\r\n );\r\n return arr.filter(filterCollapsedParents);\r\n}\r\n\r\n// TODO: Make this function works for all wc. Right now only wok for notification-wc\r\nexport function getFirstFocusableElementsWC(element) {\r\n // TODO: generate the seletor string with all wc\r\n var slotAndFocusables = Array.prototype.slice.call(\r\n element.querySelectorAll(\r\n \"slot,notification-wc,*:not([aria-expanded='false']) a[href],*:not([aria-expanded='false']) area[href],*:not([aria-expanded='false']) input:not([disabled]),*:not([aria-expanded='false']) select:not([disabled]),*:not([aria-expanded='false']) textarea:not([disabled]),*:not([aria-expanded='false']) button:not([disabled]):not(.dds__d-none), *:not([aria-expanded='false']) > .dds__accordion-card-body > ul > [tabindex='0']\"\r\n )\r\n );\r\n if (slotAndFocusables.length <= 0) {\r\n return false;\r\n }\r\n\r\n for (var i = 0; i < slotAndFocusables.length; i++) {\r\n let result;\r\n if (slotAndFocusables[i].tagName === \"SLOT\") {\r\n result = getFirstFocusableElementsWC(slotAndFocusables[i].assignedNodes()[0]);\r\n if (result) {\r\n return result;\r\n }\r\n } else if (\r\n slotAndFocusables[i].tagName.substring(\r\n slotAndFocusables[i].length - \"WC\".length,\r\n slotAndFocusables[i].length\r\n ) === \"WC\"\r\n ) {\r\n result = getFirstFocusableElementsWC(slotAndFocusables[i].shadowRoot);\r\n if (result) {\r\n return result;\r\n }\r\n } else {\r\n if (\r\n window.getComputedStyle(slotAndFocusables[i]).getPropertyValue(\"display\") !== \"none\"\r\n ) {\r\n return slotAndFocusables[i];\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction filterCollapsedParents(element) {\r\n for (; element && element !== DOC; element = element.parentElement) {\r\n if (element.parentElement) {\r\n if (\r\n (element.parentElement.classList.contains(\"dds__collapse\") &&\r\n element.parentElement.getAttribute(\"aria-expanded\") === \"false\") ||\r\n element.parentElement.classList.contains(prefix + \"d-none\")\r\n ) {\r\n return false;\r\n }\r\n } else {\r\n return element; //if scaled entire DOM tree and no parents are collapsed, element is focusable\r\n }\r\n }\r\n}\r\n\r\nexport function getNextFocusableElement(element) {\r\n for (; element && element !== DOC; element = element.nextElementSibling) {\r\n if (element.nextElementSibling) {\r\n if (\r\n window.getComputedStyle(element.nextElementSibling).getPropertyValue(\"display\") !==\r\n \"none\"\r\n ) {\r\n if (\r\n [\"A\", \"AREA\", \"INPUT\", \"SELECT\", \"TEXTAREA\", \"BUTTON\"].indexOf(\r\n element.nextElementSibling.tagName\r\n ) !== -1 &&\r\n element.nextElementSibling.tabIndex >= 0\r\n ) {\r\n return element.nextElementSibling;\r\n } else {\r\n var focusable = getFocusableElements(element.nextElementSibling);\r\n if (focusable && focusable.length > 0) {\r\n return focusable[0];\r\n }\r\n }\r\n }\r\n } else {\r\n return getNextFocusableElement(element.parentElement);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Creates a temporary, assertive element to announce a message for text reader clients, then removes that element.\r\n * @param {String} theMessage The short text to announce. Consider translation requirements.\r\n * @return void\r\n */\r\nexport function ariaAnnounce(theMessage) {\r\n var msgEl,\r\n randomNum = randomNumGenerator();\r\n document.body.appendChild(\r\n createElement(\"div\", {\r\n style: \"position:absolute; left:-1000px; width: 0px; height: 0px;\",\r\n id: \"ariaAnnouncement\" + randomNum,\r\n \"aria-live\": \"assertive\",\r\n })\r\n );\r\n msgEl = document.getElementById(\"ariaAnnouncement\" + randomNum);\r\n window.setTimeout(function () {\r\n msgEl.textContent = theMessage;\r\n }, 15);\r\n window.setTimeout(function () {\r\n msgEl.parentElement.removeChild(msgEl);\r\n }, 5000);\r\n}\r\n\r\n/**\r\n * @method getClosest Crawls the DOM to find the closest targeted element\r\n * @param element {DOM element} the DOM element from which to start searching\r\n * @param selector {string} the class, ID, or tag name for which to search\r\n * @param parentsOnly {boolean} if false or not set, modifies TAG search to include children elements of the currently-inspected target\r\n * @return {element} or false\r\n */\r\nexport function getClosest(element, selector, parentsOnly) {\r\n // element is the element and selector is for the closest parent element to find\r\n // updated to also make sure that once we reach document fragment (shadowroot) condition exits\r\n // source http://gomakethings.com/climbing-up-and-down-the-dom-tree-with-vanilla-javascript/\r\n var firstChar = selector.charAt(0);\r\n\r\n var selectorSubstring = selector.substr(1);\r\n if (firstChar === \".\") {\r\n // If selector is a class\r\n for (\r\n ;\r\n element && element !== DOC;\r\n element = element.host ? element.host : element.parentNode\r\n ) {\r\n // Get closest match\r\n if (\r\n element.parentNode &&\r\n element.parentNode.querySelector(selector) !== null &&\r\n // hasClass(element, selectorSubstring)) {\r\n element.classList[\"contains\"](selectorSubstring)\r\n ) {\r\n return element;\r\n } else if (parentsOnly === false) {\r\n if (element.querySelector(selector)) {\r\n return element.querySelector(selector);\r\n }\r\n }\r\n }\r\n } else if (firstChar === \"#\") {\r\n // If selector is an ID\r\n for (\r\n ;\r\n element && element !== DOC;\r\n element = element.host ? element.host : element.parentNode\r\n ) {\r\n // Get closest match\r\n if (element.id === selectorSubstring) {\r\n return element;\r\n } else if (parentsOnly === false) {\r\n if (element.querySelector(selector)) {\r\n return element.querySelector(selector);\r\n }\r\n }\r\n }\r\n } else {\r\n // If selector is a tagName\r\n for (\r\n ;\r\n element && element !== DOC;\r\n element = element.host ? element.host : element.parentNode\r\n ) {\r\n // Get closest match\r\n if (element.tagName && element.tagName.toLowerCase() === selector.toLowerCase()) {\r\n return element;\r\n } else if (\r\n element.previousElementSibling &&\r\n element.previousElementSibling.tagName.toLowerCase() === selector.toLowerCase()\r\n ) {\r\n return element.previousElementSibling;\r\n } else if (parentsOnly === false) {\r\n if (element.querySelector(selector)) {\r\n return element.querySelector(selector);\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n}\r\n\r\nexport function one(element, event, handler) {\r\n element.addEventListener(\r\n event,\r\n function handlerWrapper(e) {\r\n handler(e);\r\n element.removeEventListener(event, handlerWrapper, false);\r\n },\r\n false\r\n );\r\n}\r\n\r\nexport function getTransitionDurationFromElement(element) {\r\n var duration = supportTransitions\r\n ? globalObject[\"getComputedStyle\"](element)[transitionDuration]\r\n : 0;\r\n duration = parseFloat(duration);\r\n duration = typeof duration === \"number\" && !isNaN(duration) ? duration * 1000 : 0;\r\n return duration + 50; // we take a short offset to make sure we fire on the next frame after animation\r\n}\r\n\r\nexport function getAnimationDurationFromElement(element) {\r\n var duration = supportTransitions\r\n ? globalObject[\"getComputedStyle\"](element)[\"animationDuration\"]\r\n : 0;\r\n duration = parseFloat(duration);\r\n duration = typeof duration === \"number\" && !isNaN(duration) ? duration * 1000 : 0;\r\n return duration + 50; // we take a short offset to make sure we fire on the next frame after animation\r\n}\r\n\r\nexport function emulateTransitionEnd(element, handler) {\r\n // emulateTransitionEnd since 2.0.4\r\n var called = 0;\r\n\r\n var duration = getTransitionDurationFromElement(element);\r\n supportTransitions &&\r\n one(element, transitionEndEvent, function (e) {\r\n handler(e);\r\n called = 1;\r\n });\r\n setTimeout(function () {\r\n !called && handler();\r\n }, duration);\r\n}\r\n\r\nexport function emulateAnimationnEnd(element, handler) {\r\n // emulateTransitionEnd since 2.0.4\r\n var called = 0;\r\n\r\n var duration = getAnimationDurationFromElement(element);\r\n supportTransitions &&\r\n one(element, transitionEndEvent, function (e) {\r\n handler(e);\r\n called = 1;\r\n });\r\n setTimeout(function () {\r\n !called && handler();\r\n }, duration);\r\n}\r\n\r\nexport function uicoreCustomEvent(componentName, eventName, related, details) {\r\n var evt;\r\n if (isIE) {\r\n evt = document.createEvent(\"CustomEvent\");\r\n evt.initCustomEvent(\"uic\" + componentName + eventName, true, true, details);\r\n } else {\r\n evt = new CustomEvent(\"uic\" + componentName + eventName, {\r\n bubbles: true,\r\n composed: true,\r\n detail: details,\r\n });\r\n }\r\n evt.relatedTarget = related;\r\n related.dispatchEvent(evt);\r\n}\r\n\r\nexport function fireKeyEvent(type, key, keyCode, el) {\r\n var evt;\r\n if (isIE) {\r\n evt = document.createEvent(\"KeyboardEvent\");\r\n evt.initKeyboardEvent(type, true, true, window, key, false, false, false, 1, false);\r\n //evt.keyCode = keyCode;\r\n } else {\r\n evt = new KeyboardEvent(type, { keyCode: keyCode, which: keyCode });\r\n }\r\n el.dispatchEvent(evt);\r\n}\r\n\r\n// tooltip / popover stuff\r\nexport function getScroll() {\r\n // also Affix and ScrollSpy uses it\r\n return {\r\n y: globalObject.pageYOffset || HTML[\"scrollTop\"],\r\n x: globalObject.pageXOffset || HTML[\"scrollLeft\"],\r\n };\r\n}\r\n\r\n// set new focus element since 2.0.3\r\nexport function setFocus(element) {\r\n element.focus ? element.focus() : element.setActive();\r\n}\r\n\r\nexport function offWindowLeft(element, link) {\r\n var elementDimensions = {\r\n w: element[\"offsetWidth\"],\r\n h: element[\"offsetHeight\"],\r\n };\r\n var rect = link[\"getBoundingClientRect\"]();\r\n if (elementDimensions.w < 50) {\r\n elementDimensions.w = 50;\r\n }\r\n return rect[\"left\"] - elementDimensions.w < 0;\r\n}\r\n\r\nexport function styleTip(link, element, position, parent, useArrow) {\r\n // both popovers and tooltips (target,tooltip,placement,elementToAppendTo)\r\n var elementDimensions = {\r\n w: element[\"offsetWidth\"],\r\n h: element[\"offsetHeight\"],\r\n };\r\n\r\n useArrow = typeof useArrow === \"boolean\" ? useArrow : true;\r\n\r\n var windowWidth = HTML[\"clientWidth\"] || DOC[\"body\"][\"clientWidth\"];\r\n\r\n var windowHeight = HTML[\"clientHeight\"] || DOC[\"body\"][\"clientHeight\"];\r\n\r\n var rect = link[\"getBoundingClientRect\"]();\r\n\r\n var scroll =\r\n parent === DOC[\"body\"]\r\n ? getScroll()\r\n : {\r\n y: parent[\"offsetTop\"] + parent[\"scrollTop\"],\r\n x: parent[\"offsetLeft\"] + parent[\"scrollLeft\"],\r\n };\r\n\r\n var linkDimensions = {\r\n w: link.offsetWidth,\r\n h: link.offsetHeight,\r\n };\r\n\r\n var isPopover = element.classList[\"contains\"](\"dds__popover\");\r\n\r\n var topPosition;\r\n\r\n var leftPosition;\r\n\r\n var arrow = element.querySelector(\".dds__arrow\");\r\n\r\n var arrowTop;\r\n\r\n var arrowLeft;\r\n\r\n var arrowWidth;\r\n\r\n var arrowHeight;\r\n\r\n var halfTopExceed = rect[\"top\"] + linkDimensions.h / 2 - elementDimensions.h / 2 < 0;\r\n\r\n var halfLeftExceed = rect[\"left\"] + linkDimensions.w / 2 - elementDimensions.w / 2 < 0;\r\n\r\n var halfRightExceed =\r\n rect[\"left\"] + elementDimensions.w / 2 + linkDimensions.w / 2 >= windowWidth;\r\n\r\n var halfBottomExceed =\r\n rect[\"top\"] + elementDimensions.h / 2 + linkDimensions.h / 2 >= windowHeight;\r\n\r\n var topExceed = rect[\"top\"] - elementDimensions.h < 0;\r\n\r\n var leftExceed = rect[\"left\"] - elementDimensions.w < 0;\r\n\r\n var bottomExceed = rect[\"top\"] + elementDimensions.h + linkDimensions.h >= windowHeight;\r\n\r\n var rightExceed = rect[\"left\"] + elementDimensions.w + linkDimensions.w >= windowWidth;\r\n\r\n // recompute position\r\n var posChanged;\r\n if (position === \"right\") {\r\n if (!rightExceed && !halfTopExceed && !halfBottomExceed) {\r\n position === \"right\";\r\n } else if (rightExceed && !leftExceed && !halfTopExceed && !halfBottomExceed) {\r\n //If exceeds right, but fits on the left\r\n posChanged = true;\r\n position = \"left\";\r\n } else if ((!halfTopExceed || !halfBottomExceed) && (!halfRightExceed || !halfLeftExceed)) {\r\n //If half of top or bottom doesnt fit, try to fit top or bottom\r\n if (!topExceed) {\r\n posChanged = true;\r\n position = \"top\";\r\n } else if (!bottomExceed) {\r\n posChanged = true;\r\n position = \"bottom\";\r\n }\r\n }\r\n } else if (position === \"left\") {\r\n if (!leftExceed && !halfTopExceed && !halfBottomExceed) {\r\n position === \"left\";\r\n } else if (leftExceed && !rightExceed && !halfTopExceed && !halfBottomExceed) {\r\n posChanged = true;\r\n position = \"right\";\r\n } else if ((!halfTopExceed || !halfBottomExceed) && (!halfRightExceed || !halfLeftExceed)) {\r\n if (!topExceed) {\r\n posChanged = true;\r\n position = \"top\";\r\n } else if (!bottomExceed) {\r\n posChanged = true;\r\n position = \"bottom\";\r\n }\r\n }\r\n } else if (position === \"top\") {\r\n if (!topExceed && !halfRightExceed && !halfLeftExceed) {\r\n position === \"top\";\r\n } else if (topExceed && !bottomExceed && !halfRightExceed && !halfLeftExceed) {\r\n posChanged = true;\r\n position = \"bottom\";\r\n } else if ((!halfRightExceed || !halfLeftExceed) && (!halfTopExceed || !halfBottomExceed)) {\r\n //If half of right or left doesnt fit, try to fit right or left\r\n if (!rightExceed) {\r\n posChanged = true;\r\n position = \"right\";\r\n } else if (!leftExceed) {\r\n posChanged = true;\r\n position = \"left\";\r\n }\r\n }\r\n } else if (position === \"bottom\") {\r\n if (!bottomExceed && !halfRightExceed && !halfLeftExceed) {\r\n position === \"bottom\";\r\n } else if (bottomExceed && !topExceed && !halfRightExceed && !halfLeftExceed) {\r\n posChanged = true;\r\n position = \"top\";\r\n } else if ((!halfRightExceed || !halfLeftExceed) && (!halfTopExceed || !halfBottomExceed)) {\r\n //Can't be top\r\n if (!rightExceed) {\r\n posChanged = true;\r\n position = \"right\";\r\n } else if (!leftExceed) {\r\n posChanged = true;\r\n position = \"left\";\r\n }\r\n }\r\n }\r\n\r\n // update tooltip/popover class\r\n element.className[\"indexOf\"](position) === -1 &&\r\n (element.className = element.className.replace(tipPositions, position));\r\n\r\n // update tooltip/popover dimensions\r\n if (posChanged) {\r\n elementDimensions = {\r\n w: element[\"offsetWidth\"],\r\n h: element[\"offsetHeight\"],\r\n };\r\n }\r\n // we check the computed width & height and update here\r\n arrowWidth = arrow[\"offsetWidth\"];\r\n arrowHeight = arrow[\"offsetHeight\"];\r\n\r\n var rectLeft = rect[\"left\"],\r\n rectTop = rect[\"top\"];\r\n if (!useArrow) {\r\n if (position === \"left\") {\r\n rectLeft = rect[\"left\"] + arrowWidth;\r\n } else if (position === \"right\") {\r\n rectLeft = rect[\"left\"] - arrowWidth;\r\n } else if (position === \"top\") {\r\n rectTop = rect[\"top\"] + arrowHeight;\r\n } else if (position === \"bottom\") {\r\n rectTop = rect[\"top\"] - arrowHeight;\r\n }\r\n }\r\n\r\n // apply styling to tooltip or popover\r\n if (position === \"left\" || position === \"right\") {\r\n // secondary|side positions\r\n if (position === \"left\") {\r\n // LEFT\r\n leftPosition = rectLeft + scroll.x - elementDimensions.w - (isPopover ? arrowWidth : 3); // subtract to move more left\r\n window.addEventListener(\"resize\", function () {\r\n arrow[\"style\"][\"left\"] = \"initial\";\r\n });\r\n } else {\r\n // RIGHT\r\n leftPosition = rectLeft + linkDimensions.w + (isPopover ? 0 : 3); // add to move more right\r\n }\r\n\r\n topPosition = rect[\"top\"] - elementDimensions.h / 2 + linkDimensions.h / 2 + scroll.y;\r\n arrowTop = elementDimensions.h / 2 - (isPopover ? arrowHeight * 0.9 : arrowHeight / 2);\r\n } else if (position === \"top\" || position === \"bottom\") {\r\n // primary|vertical positions\r\n if (position === \"top\") {\r\n // TOP\r\n topPosition = rectTop + scroll.y - elementDimensions.h - (isPopover ? arrowHeight : 3); // subtract to move more up\r\n } else {\r\n // BOTTOM\r\n topPosition = rectTop + linkDimensions.h + scroll.y + (isPopover ? 0 : 3);\r\n }\r\n leftPosition = rect[\"left\"] - elementDimensions.w / 2 + linkDimensions.w / 2 + scroll.x;\r\n arrowLeft = elementDimensions.w / 2 - arrowWidth / 2;\r\n }\r\n\r\n // apply style to tooltip/popover and its arrow\r\n element[\"style\"][\"top\"] = topPosition + \"px\";\r\n element[\"style\"][\"left\"] = leftPosition + \"px\";\r\n\r\n arrowTop && (arrow[\"style\"][\"top\"] = arrowTop + \"px\");\r\n arrowLeft && (arrow[\"style\"][\"left\"] = arrowLeft + \"px\");\r\n}\r\n\r\nexport function handleFirstTab(e) {\r\n if (e.keyCode === 9) {\r\n document.body.classList.add(\"user-is-tabbing\");\r\n\r\n window.removeEventListener(\"keydown\", handleFirstTab);\r\n window.addEventListener(\"mousedown\", handleMouseDownOnce);\r\n }\r\n}\r\n\r\nexport function handleMouseDownOnce(e) {\r\n //NVDA in browse mode swallows the enter key as mouse click: https://github.com/nvaccess/nvda/issues/4903\r\n //This breaks our visual focus toggle. Enter key event has x,y values of 0,0 whereas click has positive x,y values.\r\n //Capture enter key when treated as mousedown by NVDA browse mode.\r\n if (e.x === 0 && e.y === 0) {\r\n return;\r\n }\r\n document.body.classList.remove(\"user-is-tabbing\");\r\n\r\n window.removeEventListener(\"mousedown\", handleMouseDownOnce);\r\n window.addEventListener(\"keydown\", handleFirstTab);\r\n}\r\n\r\nexport const handleFirstTabWc = (e) => {\r\n e.preventDefault();\r\n if (e.keyCode === 9) {\r\n e.currentTarget.classList.add(\"user-is-tabbing\");\r\n e.currentTarget.removeEventListener(\"keyup\", handleFirstTabWc);\r\n e.currentTarget.addEventListener(\"blur\", handleMouseDownOnceWc);\r\n }\r\n};\r\n\r\nexport const handleMouseDownOnceWc = (e) => {\r\n e.preventDefault();\r\n //NVDA in browse mode swallows the enter key as mouse click: https://github.com/nvaccess/nvda/issues/4903\r\n //This breaks our visual focus toggle. Enter key event has x,y values of 0,0 whereas click has positive x,y values.\r\n //Capture enter key when treated as mousedown by NVDA browse mode.\r\n if (e.x === 0 && e.y === 0) {\r\n return;\r\n }\r\n // Our enter event is causing us to lose our class on the :host element.\r\n if (e.which === 0) return;\r\n\r\n e.currentTarget.classList.remove(\"user-is-tabbing\");\r\n if (e.currentTarget.classList.length === 0) e.currentTarget.removeAttribute(\"class\");\r\n\r\n e.currentTarget.removeEventListener(\"blur\", handleMouseDownOnceWc);\r\n e.currentTarget.addEventListener(\"keyup\", handleFirstTabWc);\r\n};\r\n\r\n// Form--passwords validation\r\n//================================================================\r\nexport function passwordVerification() {\r\n var myInput = document.getElementById(\"psw\");\r\n var letter = document.getElementById(\"letter\");\r\n var capital = document.getElementById(\"capital\");\r\n var number = document.getElementById(\"number\");\r\n var length = document.getElementById(\"length\");\r\n\r\n // When the user clicks on the password field, show the message box\r\n myInput.onfocus = function () {\r\n document.getElementById(\"message\").style.display = \"block\";\r\n };\r\n\r\n // When the user clicks outside of the password field, hide the message box\r\n myInput.onblur = function () {\r\n document.getElementById(\"message\").style.display = \"none\";\r\n };\r\n\r\n // When the user starts to type something inside the password field\r\n myInput.onkeyup = function () {\r\n // Validate lowercase letters\r\n var lowerCaseLetters = /[a-z]/g;\r\n if (myInput.value.match(lowerCaseLetters)) {\r\n letter.classList.add(\"valid\");\r\n letter.classList.remove(\"invalid\");\r\n } else {\r\n letter.classList.remove(\"valid\");\r\n letter.classList.add(\"invalid\");\r\n }\r\n\r\n // Validate capital letters\r\n var upperCaseLetters = /[A-Z]/g;\r\n if (myInput.value.match(upperCaseLetters)) {\r\n capital.classList.remove(\"invalid\");\r\n capital.classList.add(\"valid\");\r\n } else {\r\n capital.classList.remove(\"valid\");\r\n capital.classList.add(\"invalid\");\r\n }\r\n\r\n // Validate numbers\r\n var numbers = /[0-9]/g;\r\n if (myInput.value.match(numbers)) {\r\n number.classList.remove(\"invalid\");\r\n number.classList.add(\"valid\");\r\n } else {\r\n number.classList.remove(\"valid\");\r\n number.classList.add(\"invalid\");\r\n }\r\n\r\n // Validate length\r\n if (myInput.value.length >= 8) {\r\n length.classList.remove(\"invalid\");\r\n length.classList.add(\"valid\");\r\n } else {\r\n length.classList.remove(\"valid\");\r\n length.classList.add(\"invalid\");\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Check is item is object\r\n * @return {Boolean}\r\n */\r\nexport function isObject(val) {\r\n return !!val && Object.prototype.toString.call(val) === \"[object Object]\";\r\n}\r\n\r\n/**\r\n * Check is item is string\r\n * @return {Boolean}\r\n */\r\nexport function isString(val) {\r\n return typeof val === \"string\";\r\n}\r\n\r\n/**\r\n * Check is item is string and not empty\r\n * @return {Boolean}\r\n */\r\nexport function isNotEmptyString(val) {\r\n return isString(val) && val.length;\r\n}\r\n\r\n/**\r\n * Check if item is array\r\n * @return {Boolean}\r\n */\r\nexport function isArray(val) {\r\n return Array.isArray(val);\r\n}\r\n\r\n/**\r\n * Check if item is Object\r\n * @return {Boolean}\r\n */\r\nexport function isHTMLElement(element) {\r\n return !!element && (element instanceof Element || element instanceof HTMLDocument);\r\n}\r\n\r\n/**\r\n * Check for valid JSON string\r\n * @param {String} str\r\n * @return {Boolean|Array|Object}\r\n */\r\nexport function isJson(str) {\r\n var t = !1;\r\n try {\r\n t = JSON.parse(str);\r\n } catch (e) {\r\n return !1;\r\n }\r\n return !(null === t || (!isArray(t) && !isObject(t))) && t;\r\n}\r\n\r\n/**\r\n * Create random number for IDs\r\n * @return {Number}\r\n */\r\nexport function randomNumGenerator() {\r\n return Math.floor(Math.random() * 999999999) + 1;\r\n}\r\n\r\n/**\r\n * Iterator helper\r\n * @param {(Array|Object)} arr Any object, array or array-like collection.\r\n * @param {Function} fn Callback\r\n * @param {Object} scope Change the value of this\r\n * @return {Void}\r\n */\r\nexport function each(arr, fn, scope) {\r\n var n;\r\n if (arr) {\r\n if (isObject(arr)) {\r\n for (n in arr) {\r\n if (Object.prototype.hasOwnProperty.call(arr, n)) {\r\n fn.call(scope, arr[n], n);\r\n }\r\n }\r\n } else if (arr.length > 0) {\r\n for (n = 0; n < arr.length; n++) {\r\n fn.call(scope, arr[n], n);\r\n }\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * Bubble sort algorithm\r\n */\r\nexport function sortItems(a, b) {\r\n var c, d;\r\n if (1 === b) {\r\n c = 0;\r\n d = a.length;\r\n } else {\r\n if (b === -1) {\r\n c = a.length - 1;\r\n d = -1;\r\n }\r\n }\r\n for (var e = !0; e; ) {\r\n e = !1;\r\n for (var f = c; f !== d; f += b) {\r\n if (a[f + b] && a[f].value > a[f + b].value) {\r\n var g = a[f],\r\n h = a[f + b],\r\n i = g;\r\n a[f] = h;\r\n a[f + b] = i;\r\n e = !0;\r\n }\r\n }\r\n }\r\n return a;\r\n}\r\n\r\n/**\r\n * Create DOM element node\r\n * @param {String} nodeType type of node to create.\r\n * @param {Object} props properties and attributes to apply to node.\r\n * @return {HTMLElement} newly created element.\r\n */\r\nexport function createElement(nodeType, props) {\r\n const domNode = DOC.createElement(nodeType);\r\n if (props && \"object\" === typeof props) {\r\n for (const prop in props) {\r\n if (prop === \"html\") {\r\n domNode.innerHTML = props[prop];\r\n } else if (prop === \"text\") {\r\n domNode.textContent = props[prop];\r\n } else {\r\n if (prop.slice(0, 5) === \"aria_\" || prop.slice(0, 4) === \"data_\") {\r\n const attr = prop.slice(0, 4) + \"-\" + prop.slice(5);\r\n domNode.setAttribute(attr, props[prop]);\r\n } else {\r\n domNode.setAttribute(prop, props[prop]);\r\n }\r\n }\r\n // Set attributes on the element if passed\r\n if ([\"role\", \"aria-label\"].includes(prop)) domNode.setAttribute(prop, props[prop]);\r\n }\r\n }\r\n return domNode;\r\n}\r\n\r\nexport function renderSvg(svg, attributes) {\r\n var svgWrapper = DOC.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\r\n svgWrapper.setAttribute(\"focusable\", false);\r\n if (!isArray(svg)) {\r\n svg = [svg];\r\n }\r\n each(svg, function (elm) {\r\n var svgElem = DOC.createElementNS(\"http://www.w3.org/2000/svg\", \"use\");\r\n svgElem.setAttributeNS(\r\n \"http://www.w3.org/1999/xlink\",\r\n \"xlink:href\",\r\n \"#\" + prefix + elm.name\r\n );\r\n svgElem.setAttribute(\"tabindex\", \"-1\"); //does this do anything\r\n if (elm.show) {\r\n classAdd(svgElem, [prefix + \"show\"]);\r\n }\r\n\r\n svgWrapper.appendChild(svgElem);\r\n });\r\n\r\n for (var key in attributes) {\r\n if (Object.prototype.hasOwnProperty.call(attributes, key)) {\r\n svgWrapper.setAttribute(key, attributes[key]);\r\n }\r\n }\r\n return svgWrapper;\r\n}\r\n\r\nexport function renderSvgWC(svgs, wc, style) {\r\n if (!isArray(svgs)) {\r\n svgs = [svgs];\r\n }\r\n var svgSprite = document.getElementById(\"dds-icon-defs\");\r\n if (svgSprite) {\r\n var ctnr, defs;\r\n if (wc.host && wc.host.shadowRoot.querySelector(wc.tagName + \" svg[aria-hidden='true']\")) {\r\n ctnr = wc.host.shadowRoot.querySelector(wc.tagName + \" svg[aria-hidden='true']\");\r\n defs = ctnr.querySelector(\"defs\");\r\n } else {\r\n ctnr = svgSprite.cloneNode(false);\r\n defs = ctnr.appendChild(createElement(\"defs\"));\r\n }\r\n each(svgs, function (name) {\r\n var symbol = svgSprite.querySelector(\"#\" + name);\r\n if (style) {\r\n // Need to figure out how not to append duplicates\r\n var svgStyle = svgSprite.querySelector(\"style\");\r\n ctnr.insertBefore(svgStyle.cloneNode(true), ctnr.firstChild);\r\n }\r\n if (!defs.querySelector(\"#\" + name)) defs.appendChild(symbol.cloneNode(true));\r\n });\r\n wc.insertBefore(ctnr, wc.firstChild);\r\n }\r\n}\r\n\r\n/**\r\n * Generates DOM elements for various elements inside SVG (, , , , , etc.)\r\n * @param {string} svgElementType - the SVG element you want to create\r\n * @param {object} attributes, example to create a group: ( \"g\", { tabindex: \"0\", \"aria-label\": \"sales trend description\" } )\r\n * @return {svg} - SVG DOM element children, such as , , etc.\r\n */\r\nexport function renderSvgElement(svgElementType, attributes) {\r\n //svg element type: g, circle, path, etc.\r\n const svgElement = DOC.createElementNS(\"http://www.w3.org/2000/svg\", svgElementType);\r\n\r\n if (attributes) {\r\n if (!isObject(attributes))\r\n throw Error(\r\n 'attributes must be an object. Example: { tabindex: \"0\", \"aria-label\": \"sales trend description\" } '\r\n );\r\n\r\n for (const [key, value] of Object.entries(attributes)) {\r\n svgElement.setAttribute(key, value);\r\n }\r\n }\r\n\r\n return svgElement;\r\n}\r\n\r\nexport function fetchJson(url, method, data, callback) {\r\n var xhr = new XMLHttpRequest();\r\n xhr.addEventListener(\"error\", function (error) {\r\n callback(new Error(\"The supplied [ \" + url + \" ] was invalid or had errors. \\n\" + error));\r\n });\r\n xhr.addEventListener(\"load\", function () {\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n var j;\r\n try {\r\n j = JSON.parse(xhr.response);\r\n } catch (error) {\r\n callback(new Error(\"The response was not valid json and has errors. \\n\" + error));\r\n }\r\n callback(j);\r\n }\r\n });\r\n xhr.open(method.toUpperCase(), url, true);\r\n if (data) {\r\n xhr.setRequestHeader(\"Content-type\", \"application/json\");\r\n xhr.send(data);\r\n } else {\r\n xhr.send();\r\n }\r\n}\r\n\r\n/**\r\n * Function created to support the ability to add classes\r\n * to an SVG Element / Node. The classList for Elements and\r\n * Nodes in IE using createElementNS does not support classList\r\n * so the class attribute needs to be used\r\n * @param {Element/Node} elem\r\n */\r\nexport function classAdd(elem, classes) {\r\n var classList;\r\n if (!isArray(classes)) {\r\n classList = [classes];\r\n } else {\r\n classList = classes;\r\n }\r\n\r\n each(classList, function (clazz) {\r\n if (!elem.classList) {\r\n // Element does not support classList\r\n var newClasses = elem.getAttribute(\"class\");\r\n if (!newClasses) {\r\n elem.setAttribute(\"class\", clazz);\r\n } else {\r\n if (newClasses.indexOf(clazz) === -1)\r\n elem.setAttribute(\"class\", newClasses + \" \" + clazz);\r\n }\r\n } else {\r\n elem.classList.add(clazz);\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Function created to support the ability to remove classes\r\n * to an SVG Element / Node. The classList for Elements and\r\n * Nodes in IE using createElementNS does not support classList\r\n * so the class attribute needs to be used\r\n * @param {*} elem\r\n */\r\nexport function classRemove(elem, classes) {\r\n var classList;\r\n if (!isArray(classes)) {\r\n classList = [classes];\r\n } else {\r\n classList = classes;\r\n }\r\n each(classList, function (clazz) {\r\n if (!elem.classList) {\r\n // Element does not support classList\r\n var newClasses = elem.getAttribute(\"class\").replace(clazz, \"\");\r\n elem.setAttribute(\"class\", newClasses);\r\n } else {\r\n elem.classList.remove(clazz);\r\n }\r\n });\r\n}\r\n\r\nexport function debounce(func, wait, immediate) {\r\n var timeout;\r\n return function () {\r\n var context = this,\r\n args = arguments;\r\n var later = function () {\r\n timeout = null;\r\n if (!immediate) func.apply(context, args);\r\n };\r\n var callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) func.apply(context, args);\r\n };\r\n}\r\n\r\nexport function ieMosaicPolyfill(slides) {\r\n var divTag;\r\n for (var i = 0; i < slides.length; i++) {\r\n var imgTag = slides[i].querySelector(\"img.dds__card-img-top\");\r\n if (imgTag) {\r\n divTag = slides[i].querySelector(\"div.dds__card-img-top\");\r\n divTag.style.backgroundImage = \"url('\" + imgTag.src + \"')\";\r\n imgTag.style.display = \"none\";\r\n slides[i].parentNode.classList.add(\"dds__background-img\");\r\n }\r\n }\r\n}\r\n\r\nexport function altFind(arr, callback) {\r\n var ret;\r\n each(arr, function (val) {\r\n var match = callback(val);\r\n if (match) {\r\n ret = val;\r\n }\r\n });\r\n return ret;\r\n}\r\n\r\nexport function validateNum(num, defaultVal) {\r\n if (num) {\r\n // check to see if page is a not a number but can be a string\r\n if (isNaN(num) && typeof num !== \"string\") {\r\n return defaultVal ? defaultVal : false;\r\n // if it is a string can it be converted to a number\r\n } else if (typeof num === \"string\") {\r\n if (isNaN(parseInt(num, 10))) {\r\n return defaultVal ? defaultVal : false;\r\n }\r\n num = parseInt(num, 10);\r\n }\r\n\r\n return num;\r\n } else {\r\n return defaultVal;\r\n }\r\n}\r\n\r\nexport function jsonOptionsInit(element, options) {\r\n var jsonParams = element.dataset.options;\r\n if (jsonParams) {\r\n var jsonOptions = JSON.parse(jsonParams);\r\n return jsonOptions;\r\n } else {\r\n return options;\r\n }\r\n}\r\n\r\nexport function swipeInit(el, callback) {\r\n var swipe = new Object();\r\n swipe.start = {\r\n x: 0,\r\n y: 0,\r\n };\r\n swipe.end = {\r\n x: 0,\r\n y: 0,\r\n };\r\n swipe.params = {\r\n min: {\r\n x: 50,\r\n y: 90,\r\n },\r\n max: {\r\n x: 95,\r\n y: 100,\r\n },\r\n };\r\n var getTouch = function (e) {\r\n if (isEdge || isIE) {\r\n return {\r\n screenX: e.screenX,\r\n screenY: e.screenY,\r\n };\r\n } else {\r\n return e.touches[0];\r\n }\r\n },\r\n downListener = function (e) {\r\n var touch = getTouch(e);\r\n swipe.start.x = swipe.end.x = touch.screenX;\r\n swipe.start.y = swipe.end.y = touch.screenY;\r\n },\r\n moveListener = function (e) {\r\n // preventDefault if you want to completely stop default touch behavior\r\n // e.preventDefault();\r\n var touch = getTouch(e);\r\n swipe.end.x = touch.screenX;\r\n swipe.end.y = touch.screenY;\r\n },\r\n upListener = function () {\r\n if (\r\n (swipe.end.x - swipe.params.min.x > swipe.start.x ||\r\n swipe.end.x + swipe.params.min.x < swipe.start.x) &&\r\n swipe.end.y < swipe.start.y + swipe.params.max.y &&\r\n swipe.start.y > swipe.end.y - swipe.params.max.y\r\n ) {\r\n if (swipe.end.x > swipe.start.x) {\r\n swipe.direction = direction.RIGHT;\r\n } else {\r\n swipe.direction = direction.LEFT;\r\n }\r\n }\r\n if (\r\n (swipe.end.y - swipe.params.min.y > swipe.start.y ||\r\n swipe.end.y + swipe.params.min.y < swipe.start.y) &&\r\n swipe.end.x < swipe.start.x + swipe.params.max.x &&\r\n swipe.start.x > swipe.end.x - swipe.params.max.x\r\n ) {\r\n if (swipe.end.y > swipe.start.y) {\r\n swipe.direction = direction.DOWN;\r\n } else {\r\n swipe.direction = direction.UP;\r\n }\r\n }\r\n if (swipe.direction !== direction.NONE) {\r\n if (typeof callback === \"function\") {\r\n callback(el, swipe.direction);\r\n }\r\n }\r\n swipe.direction = direction.NONE;\r\n };\r\n if (isEdge) {\r\n el.addEventListener(\"mousedown\", downListener);\r\n el.addEventListener(\"mousemove\", moveListener);\r\n el.addEventListener(\"mouseup\", upListener);\r\n } else if (isIE) {\r\n el.addEventListener(\"pointerdown\", downListener);\r\n el.addEventListener(\"pointermove\", moveListener);\r\n el.addEventListener(\"pointerup\", upListener);\r\n } else {\r\n el.addEventListener(\"touchstart\", downListener);\r\n el.addEventListener(\"touchmove\", moveListener);\r\n el.addEventListener(\"touchend\", upListener);\r\n }\r\n}\r\n\r\nexport function flush(el, ie) {\r\n if (el instanceof NodeList) {\r\n each(el, function (e) {\r\n flush(e, ie);\r\n });\r\n } else {\r\n if (ie) {\r\n while (el.hasChildNodes()) {\r\n el.removeChild(el.firstChild);\r\n }\r\n } else {\r\n el.innerHTML = \"\";\r\n }\r\n }\r\n}\r\n\r\nexport function getText(value) {\r\n var text,\r\n div = DOC.createElement(\"div\");\r\n div.innerHTML = value;\r\n\r\n function findText(div) {\r\n each(\r\n div.childNodes,\r\n function (cNode) {\r\n if (cNode.nodeType === 3) {\r\n text = cNode.data;\r\n }\r\n findText(cNode);\r\n },\r\n this\r\n );\r\n }\r\n findText(div);\r\n return text;\r\n}\r\n\r\nexport function populateVariants(el) {\r\n var variants = {};\r\n if (el.hasAttribute(\"variant\")) {\r\n var variantAttr = el.getAttribute(\"variant\");\r\n each(\r\n variantAttr.split(\",\"),\r\n function (key) {\r\n variants[key.trim()] = key.trim();\r\n },\r\n el\r\n );\r\n }\r\n return variants;\r\n}\r\n\r\n/**\r\n * Helper method to parse the known attributes from the Web Component host. For\r\n * known attributes if a comman separated list is supplied the last in the list\r\n * wins the value.\r\n *\r\n * @param {HTMLElement} el\r\n * @returns {Object} known attributes objects and their passed values.\r\n */\r\nexport function populateAttributes(el) {\r\n const knownAttributes = [\"variant\", \"align\", \"size\", \"layout\", \"type\", \"color\", \"dismissible\"];\r\n const elementAttributes = {};\r\n knownAttributes.forEach((attributeKey) => {\r\n const attributeValue = el.getAttribute(attributeKey);\r\n // Validate the attribute value\r\n if (!attributeValue || typeof attributeValue !== \"string\") return;\r\n elementAttributes[attributeKey] = attributeValue.split(\",\").reduce((key) => key.trim());\r\n });\r\n return elementAttributes;\r\n}\r\n\r\nexport function createTemplate(el, styles) {\r\n return createElement(\"template\", {\r\n html: (styles.outerHTML ? styles.outerHTML : styles) + (el.outerHTML ? el.outerHTML : el),\r\n });\r\n}\r\n\r\nexport function createOverlay(useMasthead, isStatic, callback) {\r\n isStatic = typeof isStatic === \"boolean\" ? isStatic : true;\r\n useMasthead = typeof useMasthead === \"boolean\" ? useMasthead : false;\r\n var original = {},\r\n overlay = getFullScreenOverlay();\r\n if (overlay && !overlay.classList.contains(prefix + \"show\")) {\r\n overlay.classList.add(prefix + \"show\");\r\n overlay.removeAttribute(\"hidden\");\r\n if (overlay.style.visibility === \"hidden\") {\r\n overlay.style.visibility = \"\";\r\n }\r\n if (useMasthead) {\r\n var masthead = DOC.querySelector(\"header\");\r\n if (!masthead) {\r\n var mastheadWc = DOC.querySelector(\"masthead-wc\");\r\n if (mastheadWc && mastheadWc.shadowRoot)\r\n masthead = mastheadWc.shadowRoot.querySelector(\"nav\");\r\n }\r\n var mastheadHeight = masthead.getBoundingClientRect().height;\r\n if (window.pageYOffset > mastheadHeight) {\r\n // if masthead not is visible\r\n overlay.style.top = \"0px\";\r\n } else {\r\n overlay.style.top = mastheadHeight - window.pageYOffset + \"px\";\r\n }\r\n }\r\n } else {\r\n console.warn(\r\n \"DRAWER: Overlay requested. Corresponding HTML missing. Please apply id 'dds__full-screen-overlay' and class 'dds__overlay' to an empty div\"\r\n );\r\n }\r\n if (!isStatic) {\r\n window.addEventListener(\"click\", callback);\r\n }\r\n original.origRightPadding = DOC.body.style.paddingRight\r\n ? DOC.body.style.paddingRight.split(\"px\")[0]\r\n : 0;\r\n original.scrollbarWidth = window.innerWidth - DOC.documentElement.clientWidth;\r\n DOC.body.style.paddingRight = original.scrollbarWidth + original.origRightPadding + \"px\";\r\n DOC.body.style.overflow = \"hidden\";\r\n DOC.documentElement.style.overflow = \"hidden\";\r\n return original;\r\n}\r\n\r\nexport function removeOverlay(original, isStatic, callback) {\r\n isStatic = typeof isStatic === \"boolean\" ? isStatic : true;\r\n var overlay = getFullScreenOverlay();\r\n if (overlay) {\r\n overlay.classList.remove(prefix + \"show\");\r\n overlay.setAttribute(\"hidden\", \"\");\r\n if (overlay.style) overlay.removeAttribute(\"style\");\r\n }\r\n if (!isStatic) {\r\n window.removeEventListener(\"click\", callback);\r\n }\r\n if (original.origRightPadding === 0 || original.scrollbarWidth > 0) {\r\n DOC.body.style.paddingRight = \"\";\r\n } else {\r\n DOC.body.style.paddingRight = original.origRightPadding + \"px\";\r\n }\r\n DOC.body.style.overflow = \"\";\r\n if (DOC.body.style.length === 0) {\r\n DOC.body.removeAttribute(\"style\");\r\n }\r\n DOC.documentElement.style.overflow = \"\";\r\n if (DOC.documentElement.style.length === 0) {\r\n DOC.documentElement.removeAttribute(\"style\");\r\n }\r\n}\r\n\r\nexport function checkDateValidity(date, options) {\r\n var available_week_day = [];\r\n var todaysDate = new Date();\r\n todaysDate.setHours(0, 0, 0, 0);\r\n each(options.availableWeekDays, function (f) {\r\n if (f === date.getDay() || f === getWeekDay(date.getDay())) available_week_day.push(f);\r\n });\r\n //check if valid weekday\r\n if (available_week_day.length === 0) {\r\n return false;\r\n }\r\n //check if not before\r\n if (options.notBeforeDate && date <= options.notBeforeDate) {\r\n return false;\r\n }\r\n //check if not after\r\n if (options.notAfterDate && date > options.notAfterDate) {\r\n return false;\r\n }\r\n // check if before today\r\n if (!options.pastDates && date.getTime() <= todaysDate.getTime() - 1) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\nexport function getWeekDay(day) {\r\n return [\"sunday\", \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\"][day];\r\n}\r\n\r\n/**\r\n * Get a specific rule in a stylesheet.\r\n * @param {StyleSheet} sheet\r\n * @param {string} rule\r\n * @returns {string|boolean}\r\n */\r\nexport function getCSSRule(sheet, rule) {\r\n const classes = sheet.rules || sheet.cssRules;\r\n for (let i = 0; i < classes.length; i++) {\r\n if (classes[i].selectorText === rule) {\r\n return classes[i];\r\n }\r\n }\r\n return false;\r\n}\r\n\r\n/**\r\n * Our token colors are not in hex. Useful when users pass the token - we convert this to hex.\r\n * @param {string} colorToken\r\n * @returns {string} hex value of passed color\r\n */\r\nexport function getColorHex(colorToken) {\r\n for (const [key, value] of Object.entries(colors)) {\r\n if (colorToken === key) {\r\n return value.apply(colors);\r\n } else if (colorToken.indexOf(key) > -1) {\r\n for (const [grpKey, grpValue] of Object.entries(value)) {\r\n if (colorToken === grpKey) return grpValue.apply(colors);\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Component properties should be validated against expected values.\r\n * @param {object} props\r\n * @param {object} valid\r\n * @returns {object} - validated props\r\n */\r\nexport function validateProps(props, valid) {\r\n // If we don't have any options - set it to an empty object.\r\n if (!isObject(props)) {\r\n console.warn(`\"props\" is not an object. Received: ${typeof props}`);\r\n props = {};\r\n }\r\n // If we don't have any valid options - set it to an empty object.\r\n if (!isObject(valid)) {\r\n console.warn(`\"valid\" is not an object. Received: ${typeof valid}`);\r\n valid = {};\r\n }\r\n for (let prop in props) {\r\n // Check each key is valid and check each value is valid for a key.\r\n if (!Object.keys(valid).includes(prop) || !valid[prop].includes(props[prop])) {\r\n console.warn(`Invalid property \"${prop}\" with value \"${props[prop]}\" found.`);\r\n delete props[prop];\r\n }\r\n }\r\n return props;\r\n}\r\n\r\n/**\r\n * Convert a node list to array in the fastest way.\r\n * @param {NodeList} nl - node list\r\n * @returns\r\n */\r\nexport function toArray(nl) {\r\n var arr = [];\r\n for (var i = nl.length; i--; arr.unshift(nl[i]));\r\n return arr;\r\n}\r\n\r\n/**\r\n * Convert css animation-duration into miliseconds to be used\r\n * on setTimeout\r\n * @param {NodeList} nl - node list\r\n * @returns Number\r\n */\r\nexport function parseCSSDuration(css) {\r\n if (typeof css !== \"string\") {\r\n return null;\r\n }\r\n let time = 0;\r\n if (css.match(/^\\d+ms$/)) {\r\n time = parseFloat(css.replace(\"ms\", \"\"), 10);\r\n // eslint-disable-next-line no-useless-escape\r\n } else if (css.match(/^[\\d\\.]+s$/)) {\r\n time = parseFloat(css.replace(\"s\", \"\"), 10) * 1000;\r\n }\r\n if (isNaN(time)) {\r\n console.warn(\"Unexpected duration format\");\r\n time = null;\r\n }\r\n return time;\r\n}\r\n\r\n/**\r\n * IIF creating an instance of DynamicCSS to be used along with **createCSSClass**\r\n * This is a \"singleton pattern\" to guarantee that we always use the same stylesheet instance\r\n *\r\n * @return {Object} {\r\n * getSheet() - return instance of CSSStyleSheet\r\n * }\r\n * */\r\nconst DynamicCSS = (function () {\r\n let instance = null;\r\n let filterDDS = /dds-(main|helpers|fonts|reboot|templates)/i;\r\n\r\n function getSheet() {\r\n if (instance && instance.parentNode) {\r\n return instance;\r\n }\r\n // Rules to capture the same stylesheet for all dynamic classes:\r\n // 1 - capture well DDS know stylesheets (dds-main , dds-reboot,...)\r\n // 2 - capture the last available on the page\r\n // 3 - capture the last available