{"version":3,"sources":["core/design-tokens/meta.js","core/js/utils/design-tokens/serializeToken.js","core/design-tokens/colors/base.js","core/js/validate-props/matchers.js","core/js/validate-props/validate.js","core/js/utilities.js","core/js/icc/broker.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/reducers/iterator.js","core/js/state-machine/reducers/form.js","core/js/state-machine/events/index.js","core/js/state-machine/store.js","core/js/state-machine/render-state.js","core/js/state-machine/merge-states.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/js/utils/date.js","core/components/date-picker/calendar.js","core/components/date-picker/date-picker.js","core/js/positioning/constants.js","core/js/positioning/positioning.js","src/components/date-picker/calendar.template.js","src/components/date-picker/calendar.js","src/components/date-picker/date-picker.js","core/components/drawer/drawer.js","src/components/drawer/drawer.js","core/components/dropdown/dropdown.js","core/components/tag/tag.js","src/components/dropdown/dropdown.template.js","src/components/dropdown/dropdown.js","core/components/form/form.js","core/components/text-input/text-input.js","core/components/form/form-field.js","src/components/form/form.js","core/components/input-password/input-password.js","src/components/input-password/input-password.js","core/components/input-mask/input-mask.js","src/components/input-mask/input-mask.js","core/components/message-bar/message-bar.js","src/components/message-bar/message-bar.js","core/components/modal/modal.js","src/components/modal/modal.js","core/components/view-more-less/view-more-less.js","core/components/notification/notification.js","src/components/notification/notification.template.js","src/components/notification/notification.js","core/components/pagination/pagination.js","core/components/select/select.js","src/components/select/select.js","src/components/pagination/pagination.js","core/components/popover/popover.js","src/components/popover/popover.js","core/js/state-machine/reducers/echo.js","core/design-tokens/sizes.js","core/js/state-machine/global-resizer.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/components/tabs/tab-item.js","core/components/tabs/tab-pane.js","core/components/tabs/tabs.js","core/components/table/head/row.js","core/js/data-grid/sort-by-column.js","core/components/table/table.js","core/js/data-grid/data-grid.js","core/components/table/head/cell.js","core/components/table/body/cell.js","src/components/table/body/cell.template.js","src/components/table/head/cell.template.js","src/components/table/head/cell.js","src/components/table/head/row.js","src/components/table/body/cell.js","core/components/table/body/row.js","src/components/table/body/row.js","src/components/table/table.js","src/components/tag/tag.js","core/components/text-area/text-area.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","matchers","_undefined","undefined$1","_x","apply","arguments","toString","null","false","true","falsy","truthy","number","isNaN","boolean","string","function","fn","object","Object","prototype","call","date","getDate","array","Array","isArray","regexp","minChars","match","htmlElement","element","or","instanceof","HTMLElement","Element","gt","expect","target","gte","lt","lte","eq","neq","inRange","startRange","endRange","and","_len","length","args","_key","reduce","result","_len2","_key2","pattern","includesList","refs","list","map","includes","filter","pass","Instance","validate","schema","success","keys","report","schemaProp","targetValue","schemaValue","targetValueIsObject","schemaValueIsObject","_validate","nestedSuccess","nestedReport","matcherResult","err","console","warn","message","DOC","document","HTML","documentElement","globalObject","window","prefix","supportTransitions","isIE","test","navigator","platform","userAgent","maxTouchPoints","MSStream","chrome","webstore","runtime","getFocusableElements","slice","querySelectorAll","filterCollapsedParents","parentElement","classList","contains","getAttribute","handleFirstTab","e","keyCode","body","add","removeEventListener","addEventListener","handleMouseDownOnce","x","y","remove","isObject","val","isHTMLElement","HTMLDocument","randomNumGenerator","min","max","Math","ceil","floor","random","each","arr","scope","n","hasOwnProperty","createElement","nodeType","props","domNode","prop","innerHTML","textContent","attr","setAttribute","debounce","func","wait","immediate","timeout","context","callNow","clearTimeout","setTimeout","toArray","nl","i","unshift","DynamicCSS","instance","filterDDS","getSheet","parentNode","stylesheets","from","index","link","href","sheet","cssRules","ddsLastOnList","pop","querySelector","createCSSClass","className","style","error","trim","indexOf","classBody","stylesheet","styleName","newCSS","legacyIndex","ruleIndex","selectorText","values","some","rule","deleteRule","insertRule","waitForRender","maxFrames","Promise","resolve","reject","getComputedStyle","frame","requestAnimationFrame","nextFrame","replaceInString","replacements","group","removeLineBreak","isRequired","hasAttribute","arrayToQueryString","c","join","topics","invalidTopicMsg","invalidCallbackMsg","getName","topic","validateCallback","callback","broker","freeze","__proto__","publish","data","relatedTarget","name","CustomEvent","detail","dispatchEvent","subscribe","handler","bind","unsubscribe","enforceType","acc","propName","propVal","Number","validateInitialization","config","_config","componentName","defaultProps","validateHTML","validElements","mergedProps","assign","dataset","isValidated","failedProps","push","buildSVGIcon","class","path","chevronDown","alertNotice","check","chevronLeft","chevronRight","closeX","overflow","componentClasses","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","screenDimensions","breakpoint","type","expand","collapse","open","close","show","hide","dismiss","expandItem","single","collapseItem","expandAll","collapseAll","setActiveIndex","setInactiveIndex","breakpointReached","payload","resize","boolReducer","state","action","validateIndex","listReducer","status","concat","fill","actionTypes","next","prev","set","types$1","setValid","setError","removeError","actions","valid","errorId","formReducer","reducerName","id","errors","controlId","eventTemplate","component","event","open$1","opening","opened","close$1","closing","closed","show$1","hide$1","sort","selectionChange","dispatcher","eventName","related","details","evt","createEvent","initCustomEvent","bubbles","composed","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","minLen","_arrayLikeToArray","constructor","_unsupportedIterableToArray","done","TypeError","len","arr2","createStore","reducer","initState","listeners","Set","getState","dispatch","_step","_iterator","listener","Error","delete","_Object$freeze","renderState","node","forEach","attrName","newValue","removeAttribute","item","substr","renderHTML","renderObject","mergeStates","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","hasFocus","insertAdjacentHTML","componentClasses$1","accordion","controls","screenReader","independent","srExpandAll","srCollapseAll","srExpandItem","srCollapseItem","expandedAll","views$1","active","aria-disabled","setFocusFirstAvailableItemOnList","accordionItems","nextItem","shift","forwardListFromIndex","backwardListFromIndex","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","popInnerClasses","container","containerHidden","popInnerViews","default","positioning","containerElement","triggerElement","closeOnTargetOutside","activeElement","visibilityStore","close$2","handleTriggerBlur","handleContainerBlur","handleWindowResize","handlePositioning","toUpperCase","popStore","open$2","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","dateFormatChars","comparisonPrecision","getLocaleDateString","locale","Date","toLocaleDateString","getTwoDigitDay","day","getTwoDigitMonth","month","getDateVariables","getFullYear","getMonth","getFirstDayOfMonth","formatDate","format","_getDateVariables","fullYear","yearRegex","RegExp","monthRegex","dayRegex","isSameDate","comparison","precision","_getDateVariables2","dateFullYear","dateMonth","dateDay","_getDateVariables3","comparisonFullYear","comparisonMonth","comparisonDay","isDateAfter","_getDateVariables4","_getDateVariables5","isDateBefore","_getDateVariables6","_getDateVariables7","isSameDateOrAfter","isSameDateOrBefore","defaultProps$3","cancelLabel","confirmLabel","endDate","inactiveDates","monthSrLabel","nextSrLabel","prevSrLabel","onCancelClick","onConfirmClick","onSelectDate","startDate","selectedDate","todayLabel","weekStart","yearSrLabel","schema$2","eventMap$3","selectDate","componentClasses$4","calendar","base","header","headerDisplay","headerPolite","monthSelect","yearSelect","prevButton","nextButton","grid","head","row","weekDay","outMonth","today","selected","focusable","footer","cancel","confirm","views$4","tabindex","notFocusable","dayNames","sun","mon","tue","wed","thu","fri","sat","validateDateProperties","isValidDate","getInactiveDatesMap","has","getDateHash","getFirstDayOfMonthSlotIndex","weekStartIndex","firstDayOfMonthWeekDayIndex","getDay","getLastDayOfMonthSlotIndex","getTotalDaysInMonth","getFirstSlotDate","firstSlotDate","setDate","isDateOutsideSlots","slotsBaseDate","lastSlotDate","getLastSlotDate","inactiveDatesMap","Map","defaultProps$4","calendarButtonSrLabel","invalidDateErrorMessage","unavailableDateErrorMessage","schema$3","eventMap$4","componentClasses$5","datePicker","invalid","sm","label","calendarButton","input","validationIcon","invalidFeedback","popup","views$5","generateMaskedDate","maskChar","maskedDate","char","applyMask","mask","enteredValue","split","mappedValue","splice","maskedValue","maskInitChars","positions","topPositions","rightPositions","verticalPositions","horizontalPositions","getScrollParent","nodeName","toLowerCase","ownerDocument","_window$getComputedSt","overflowX","overflowY","isScrollableElement","getBoundingClientRectRelativeToOffsetParent","offsetParent","elementRect","scroll","scrollLeft","scrollTop","elementScrollableParent","offsets","offsetParentRect","clientLeft","clientTop","xRelative","yRelative","topExceed","rect","offsetHeight","bottomExceed","windowHeight","collisionDetection","targetBoundingRect","isTopExceed","isRightExceed","windowWidth","clientWidth","offsetWidth","rightExceed","isBottomExceed","isLeftExceed","leftExceed","isTopHalfExceed","topHalfExceed","isRightHalfExceed","rightHalfExceed","isBottomHalfExceed","bottomHalfExceed","isLeftHalfExceed","leftHalfExceed","boundaries","top-start","top-end","right-start","right-end","bottom-start","bottom-end","left-start","left-end","availablePositions","startingIndex","distance","leftIndex","rightIndex","getPosition","elementOffsetParent","getOffsetParent","targetRect","topPositioning","bottomPositioning","verticalStartPositioning","widthDif","verticalMiddlePositioning","verticalEndPositioning","rightPositioning","leftPositioning","horizontalStartPositioning","heightDif","horizontalMiddlePositioning","horizontalEndPositioning","Calendar","_validateInitializati","_ref","_ref2","buildMonthOption","getInitialFocusedDate","setCurrentDate","currentDate","initialSlotDate","weekStartDayIndex","firstDayOfMonthSlotIndex","lastDayOfMonthSlotIndex","updateCalendar","setFocusedDate","focusSlot","focusedDate","daySlots","daySlot","newFocusedSlot","calendarBody","getSlotByDate","initialDate","politeDate","optionsFragment","createDocumentFragment","monthDate","appendChild","updateMonthSelect","slot","slotIndex","slotView","year","unsetUserIsPressing","offsetX","offsetY","handleDaySlotMousedown","handleDaySlotClick","handleDaySlotKeydown","shiftKey","newDay","setFullYear","handlePrevClick","handleNextClick","days","_newDay","handleMonthChange","setMonth","handleYearChange","newYear","newFocusedDate","handleTodayButtonClick","handleConfirmClick","handleCancelClick","formattedDate","componentName$5","weekStartDay","_getElements","gridHead","gridBody","todayButton","confirmButton","cancelButton","findIndex","dayName","buildYearSelectOptions","sortedDayNames","weekStartBase","fragment","weekday","weekDayNode","buildWeekDays","slots","gridBodyRows","daySlotNode","buildDaysSlots","getFocusedSlot","clearSelectedDate","availableDate","validateHTML$2","inputField","componentName$7","defaultProps$5","schema$4","eventMap$5","componentClasses$6","overlay","overflowHidden","sizes","lg","md","xs","views$6","validateHTML$3","overlayElement","headerElement","Boolean","_Object$freeze$1","defaultProps$6","selection","noOptionsLabel","selectedLabel","srClearLabel","selectAll","selectAllLabel","schema$5","eventMap$6","componentClasses$7","isOpen","isMultiple","inputContainer","inputWrapper","inputFieldHidden","tag","chevron","empty","groupTitle","itemOption","itemSelected","itemLabel","notice","listItemSeparator","views$7","isClose","isNotPressing","data-selected","aria-selected","notSelected","notchecked","indeterminate","defaultProps$7","srDismiss","schema$6","eventMap$7","dismiss$1","componentClasses$8","colors","blue","green","yellow","orange","red","berry","purple","gray","views$8","icons$1","validateHTML$4","inputFieldElement","inputWrapperElement","popupElement","listElement","items","itemsDataSelectedAttr","defaultProps$8","fallbackErrorMessage","schema$7","eventMap$8","componentName$a","failure","componentClasses$9","form","validated","section","views$9","basic","novalidate","field","aria-invalid","aria-describedby","fieldTypes","inputText","control","select","radio","checkbox","textarea","errorClasses","helperClasses","componentClasses$a","size","helperText","errorText","withButton","FormField","labelElement","getElementsByTagName","getFieldLabelElement","controlType","_createForOfIteratorHelperLoose$1","_arrayLikeToArray$1","_unsupportedIterableToArray$1","_Object$freeze$2","componentClasses$b","switchButton","passwordInput","errorIcon","defaultProps$9","showLabel","hideLabel","srShowTitle","srHideTitle","schema$8","views$b","validateHTML$6","componentClasses$c","applyMask$1","maskInitChars$1","views$d","validateHTML$7","maskInput","styleShowing","styleHiding","defaultProps$a","dismissible","srCloseLabel","timer","timerDuration","schema$9","eventMap$a","componentClasses$d","messageBar","globalContainer","warning","activeTimer","closeButton","hasTimer","timerButton","views$e","aria-live","aria-role","showing","hiding","icons$2","svgs","dismissTimer","componentName$e","defaultProps$b","initialState","schema$a","eventMap$b","componentClasses$e","title","large","views$f","aria-modal","validateHTML$8","_Object$freeze$3","componentName$f","componentClasses$f","styleExpanded","styleButton","styleTarget","views$g","eventMap$c","expand$1","collapse$1","toggleHiddenListItems","hiddenItems","isExpanded","isPrototypeOf","NodeList","componentName$g","defaultProps$c","closeIcon","messageBody","timeStamp","primaryActionText","secondaryActionText","primaryAction","secondaryAction","schema$b","eventMap$d","componentClasses$g","headerTitle","primary","secondary","views$h","icons$3","Template","titleIcon","titleIconType","politeness","validateHTML$9","defaultProps$d","currentPage","totalItems","schema$c","eventMap$e","firstPageClicked","lastPageClicked","nextPageClicked","previousPageClicked","pageChanged","pageSizeChanged","componentClasses$h","pagination","width1024","width768","width640","width480","width360","summary","perPageLabel","perPageSelect","range","rangeStart","rangeEnd","rangeTotal","rangeTotalLabel","nav","firstPage","prevPage","prevPageLabel","pageRange","pageRangeLabel","pageRangeCurrentWrapper","pageRangeCurrent","pageRangeTotalLabel","pageRangeTotal","nextPage","nextPageLabel","lastPage","views$i","itemsRange","componentClasses$i","placeholder","optionPlaceholder","chevronIcon","feedbackIcon","views$j","standard","validateHTML$a","selectWrapper","options","componentName$i","Select","applyPlaceholderStyle","isPlaceholderSelected","handleChange","selectedOptionIsPlaceholder","selectedIndex","_createStore","validateHTML$b","perPageSelectField","perPageSelectFieldOptions","every","componentName$j","eventMap$f","defaultProps$e","placement","schema$d","componentClasses$j","popover","animating","pointer","views$k","beforeAnimation","afterAnimation","validateHTML$c","pointerElement","closeElement","screenBreakpointInstance","_eventMap","_eventMap$1","echoReducer","sizes$1","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","sizes_1","parseInt","xl","twoXl","threeXl","fourXl","fiveXl","breakpointsObject","2xl","3xl","4xl","5xl","getScreenBreakpointInstance","_ret","screenBreakpointStore","_loop","_actions$breakpointRe","mq","matchMedia","matches","_actions$breakpointRe2","innerWidth","innerHeight","v","sideNavClasses","fixed","toggleButton","groupSelected","initialState$1","defaultProps$f","views$l","collapsible","eventMap$g","sideNavGroupClasses","defaultProps$g","views$m","eventMap$h","validateHTML$d","children","ele","tagName","subMenu","smallMediaQueryList","styleSelected","views$n","defaultProps$h","SideNavItem","handleLinkEvent","toggleStore","store","componentName$n","tabItemClasses","mobileStackedChevron","views$o","stacked","TabItem","handleTabKeydown","tabsStore","setActiveTab","isMobileStacked","mediumBreakpoint","rightChevronIconSvg","DOMParser","parseFromString","firstChild","handleKeydown","handleStateChange","isActive","isScreenBiggerThanMedium","handleStackedIcon","componentName$o","tabPaneClasses","bodyOverflow","views$p","TabPane","backLabel","leftChevronIconSvg","startFocusTrapElement","endFocusTrapElement","backElement","previousFocusedTabItem","previousFocusedElement","handleBackClick","handleStartFocusTrapFocus","handleEndFocusTrapFocus","cloneContent","createContent","insertBefore","componentName$p","defaultProps$i","moreLabel","eventMap$i","tabsClasses","wrapperContained","wrapperMobileStacked","wrapperMobileJustified","listOverflow","listContainer","listContainerHiddenGradient","tab","tabLabel","tabWithImage","tabHidden","more","moreIcon","moreWrapper","moreContainer","moreList","moreListItem","moreListItemHidden","pane","paneContainer","views$q","tabs","hiddenGradient","tabPane","_Object$freeze$4","componentClasses$k","views$r","role","eventMap$j","defaultRender","getRenderFunctionFromCellData","cellData","render","mergeCellPropsOnData","col","cellProps","types$2","ascending","descending","unsorted","defaultProps$j","table","tableStickyHeader","tableRow","tableHead","tableHeadCell","tableData","kind","horizontal","horizontalAlternating","gridAlternating","freeform","freeformAlternating","density","compact","comfy","columns","eventMap$k","componentRender","pageChange","validateContent","validateRows","parseCellsMap","schema$e","allObject","columnSchema","notEmpty","align","sortBy","validateDataGrid$1","onlyArray","defaultProps$k","rowsPerPage","startPage","totalPages","schema$f","DataGrid","_dataGrid","getDataGrid","setDataGrid","newData","appendRow","newRow","getTotalRows","_totalPages","hasRow","hasCol","getTotalCols","maxCol","getRowsPerPage","_rowsPerPage","setRowsPerPage","getCurrentPage","_currentPageIndex","setCurrentPage","page","hasPage","getTotalPages","setTotalPages","total","hasNextPage","hasPrevPage","getPageData","startSlice","_getIndexFromPage","endSlice","appendDataGrid","prependDataGrid","deleteRow","getRow","prependRow","appendCol","deleteCol","getCol","cols","prependCol","getSummary","pageData","pageLength","totalRows","firstRowIndexOnPage","lastRowIndexOnPage","JSON","stringify","componentClasses$m","states","withAction","buttonScreenReader","sortButton","views$t","aria-sort","defaultProps$l","labels","eventMap$l","actions$1","stateQueue","componentClasses$n","cell","views$u","tableCellTemplate","sortIconTemplate","mainWrapperTemplate","viewToRender","TableHeadCell","sortStore","handleSortClick","handleStates","sortLabel","eventsToMonitorStates","sortButtonMergedLabels","sortLabels","collection","arrayList","currentIndex","Iterator","buttonLabel","EventListener","resetSort","Head","updateColumnSort","columnId","cells","currentSort","columnCells","lastSortBy","initialSort","columnsRender","frag","columnElement","randomId","classes","a11yElement","template$1","firstElementChild","columnAPI","Cell","columnProps","componentClasses$o","views$v","Row","getCellProps","createColumns","offset","templateConfig","cellWrapper","cellContent","newConfig","colsOffset","removeCounter","removeChild","lastIndex","dataSlice","columnSlice","validateHTML$e","componentName$t","componentClasses$p","counter","counterCurrent","sr","helper","views$w","counterSpan","textArea","eventMap$m","defaultProps$m","schema$g","componentClasses$q","tooltip","tooltipMaxContent","views$x","maxContent","validateHTML$f","Broker","Accordion","clearScreenReaderTimer","resetAnnounceTimeout","announceTimeout","removeDDSEventListeners","readExpandAll","once","readCollapseAll","announceToScreenReader","announceAfter","resetAfter","ariaLiveElement","updateControlsState","expandAllElement","allTrue","collapseAllElement","allFalse","handleKeyDown","currentItem","prevIndex","nextIndex","handleItemNavFocus","targetIndex","handleComponentFocus","expandAll$1","collapseAll$1","itemsList","initExpandedState","initFocusState","child","ActionMenu","ariaControlsId","popInstance","checkedItems","focusedIndex","isDisabled","toggleCheckedItem","isCheckedItem","optionValue","getCheckedItemValue","optionIndex","removeCheckedOption","addCheckedOption","updateItems","menuElement","li","focusableElement","itemType","isItem","isLink","isOption","injectItemIcon","setUserIsPressing","handleTriggerKeydown","setFocusedIndex","getPreviousFocusableIndex","getNextFocusableIndex","handleTriggerMousedown","handleContainerKeydown","handleMenuKeydown","handleMenuItemClick","itemIndex","handleMenuItemMousedown","removeItemsEventListeners","componentName$3","updateSuccess","updateMergedProps","getCheckedItems","Breadcrumb","createExpandButton","htmlProvidedLabel","configProvidedLabel","buttonAriaLabel","breadcrumbLinks","anchor","html","tabIndex","aria-controls","breadcrumbId","aria-label","breadcrumbOl","key","getNextFocusableElement","nextElementSibling","getPropertyValue","setActive","DatePicker","calendarButtonNode","focusFirstElement","focusableElements","focusLastElement","handleOnBlur","slicedMask","dateValue","dateArray","getDateValue","isMaskIncomplete","maskSlice","preventOnSelect","calendarInstance","dirty","invalidFeedbackId","setInvalidState","handleInputChange","inputElement","maskChars","oldStart","dateMask","selectionStart","selectionEnd","inputType","isPreviousNumber","checkCurrentSpot","nextChar","handleCalendarButtonClick","handleSelectDate","handlePopupBlur","handlePopupKeydown","setFieldDate","_buildCalendar","popupNode","calendarNode","buildCalendar","calendar$1","_buildFocusTrap","buildFocusTrap","find","getDateMaskChar","generateFormat","generateMask","popupDynamicClass","popupDynamicClassMemory","_getPosition","transform","focusedSlot","componentName$6","Drawer","handleElementKeydown","handleBodyTransitionEnd","visibleStore","previousFocusedItem","handleVisibleStateChange","toggle$1","widthDynamicClass","triggers","setTriggers","Dropdown","dataValue","_ref$selectAll","_ref$selectAllLabel","dataValueAttribute","disabledAttribute","togglePlaceholderText","multipleSelectionValue","placeholderText","setTagContent","countSelectedLabel","selectedValuesLabel","valueEnding","tagTextElement","toggleTagVisibility","tagElement","tagDynamicClassMemory","tagDynamicClass","padding-left","isItemDisabled","isItemSelected","getItemValue","focusInputField","setValueOnField","inputFieldHiddenElement","selectedItem","singleSelectionValue","setInnerValues","clearInnerValues","setItemSelectedAttr","deselectAllItemsAttr","setPopupScrollTop","focusItem","itemsListFromIndex","handleItemClick","deselectOption","selectOption","filterItemsList","term","results","hiddenGroups","groupsList","isFiltering","selectAllItem","itemMatchTerm","groupMatchTerm","groupElement","noticeElement","chevronElement","isTargetOnOuside","clearSelection","handleChevronClick","handleTagElementsKeydown","handleTagTextClick","handleTagDismissClick","handleInputFieldKeydown","currentVisibility","handleInputFieldChange","handleInputFieldClick","handleInputFieldBlur","handleListKeydown","handleElementsKeypress","toMatchItem","updateItemsList","itemsArray","itemsCount","groupId","itemInfo","setItemIndex","count","setItemPosInSet","removeItemEventListeners","setItemEventListeners","setItemCheckIcon","setSelectAllState","updateItemsListDebouncing","getInnerItem","innerItem","getValue","selectedValue","unsetInnerValues","availableItems","selectAllOptions","tagDismissElement","tagNode","tagTextNodeId","tagTextNode","tagDismissNode","buildTag","noticeNode","inputFieldHiddenNode","chevronButtonNode","chevronNode","itemsListObserver","MutationObserver","mutationsList","mutation","observe","childList","disconnect","getSelection","Form","formFields","getElementId","existingId","newId","setNewId","generateErrorMessage","handleFieldValidation","validityStore","handleFieldReset","missingFieldIconInvalid","injectErrorIcon","handleFieldError","validateFormFields","checkValidity","obj","formIsValid","handleSubmit","_formFields","getRadioButtonGroups","radioButtonGroups","fieldsets","fieldset","getErrors","isValid","InputPassword","passwordInputStore","hiddenState","innerText","MessageBar","timedMeter","initShow","closeMessageBar","showStore","showMessageBar","getFirstTimedMessage","startTimerAnimation","currentTimedMeter","timerDynamicClass","animation","duration","parseFloat","getAnimationDurationFromElement","nextTimedMessage","startTimer","Modal","triggerElements","triggerSelector","modalStore","modalOpenState","setTriggerElements","allFocusableElements","handleTabbing","MoreLess","targetElement","standAloneButton","chevronDownkIconNode","cloneNode","Notification","notificationElement","notificationWrapper","newWrapper","notificationString","notificationHTML","secondaryButton","primaryButton","data-dds","Pagination","updateCurrentPage","getPageSize","getItemsRangeStart","pageSize","getItemsRangeEnd","pageLastItem","getEventDetails","itemsRangeStart","itemsRangeEnd","isButtonInactive","getAvailablePage","componentName$h","availablePage","updateView","handlePageSizeChange","handlePaginationResize","handleInputValueChange","intValue","handleCurrentPageKeydown","handleCurrentPageBlur","skipToEnd","arrowTriLeft","arrowTriRight","selectInstance","resizeObserver","ResizeObserver","setTotalItems","Popover","elementDynamicSizeClass","pointerPositionClass","pointerDynamicClass","elementDynamicClass","handleBlurEvent","handleKeydownEvent","elementOriginalSizeClass","clazz","elementDynamicClassProperties","_getPosition2","updatePopoverPosition","firstFocus","getVisibility","InputMask","String","bindMask","setCustomValidity","SideNav","initialBreakpointState","handleResizeEvent","activateParentNavGroup","closestParentGroup","selector","parentsOnly","firstChar","charAt","selectorSubstring","host","previousElementSibling","getClosest","sanitizePath","cleanPath","decodeURIComponent","toggles","groups","userIsTabbing","activateToggles","handClick","expandStore","lastChild","SideNavGroup","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","_tabsListElement","scrollWidth","scrollbarWidth","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","Table","dataGrid","unsortedDataGrid","addRows","rowsList","sortData","sortType","listA","listB","valA","valB","handleTableHeadSortChange","gridConfig","rowsOffset","firstRowIndex","rowsToRemove","updateTableData","componentName$r","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","tooltipShowTimeout","tooltipPointerDynamicClass","transitionFinished","mobileLogicTooltip","updateTooltipPosition","componentName$u","getPointer","titleElement","after","collisionDetectionMobile","boundingBody","ariaDescribedById","applyAccessibility"],"mappings":"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","sourcesContent":["module.exports = {\r\n ddsSpace: \"dds\",\r\n ddsToken: \"__\",\r\n fontVersion: \"2.137\",\r\n iconVersion: \"2.4.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","const matchers = {\r\n //types\r\n undefined: (value) => value === undefined,\r\n null: (value) => value === null,\r\n false: (value) => value === false,\r\n true: (value) => value === true,\r\n falsy: (value) => !value,\r\n truthy: (value) => !!value,\r\n number: (value) => typeof value === \"number\" && !isNaN(value),\r\n boolean: (value) => value === true || value === false,\r\n string: (value) => typeof value === \"string\",\r\n function: (fn) => typeof fn === \"function\",\r\n object: (value) => Object.prototype.toString.call(value) === \"[object Object]\",\r\n date: (value) =>\r\n Object.prototype.toString.call(value) === \"[object Date]\" &&\r\n typeof value.getDate === \"function\" &&\r\n !isNaN(value.getDate()),\r\n array: (value) => Array.isArray(value),\r\n regexp: (value) =>\r\n typeof value === \"object\" && Object.prototype.toString.call(value) === \"[object RegExp]\",\r\n minChars: (value) => matchers.match(`^.{${value},}$`),\r\n htmlElement: (element) =>\r\n matchers.or(matchers.instanceof(HTMLElement), matchers.instanceof(Element))(element),\r\n //math\r\n /**\r\n * Return if target > expect\r\n * @param {Number} expect\r\n * @returns {Boolean}\r\n */\r\n gt: (expect) => (target) => {\r\n if (!matchers.number(expect) || !matchers.number(target)) {\r\n return false;\r\n }\r\n return target > expect;\r\n },\r\n /**\r\n * Return if target >= expect\r\n * @param {Number} expect\r\n * @returns {Boolean}\r\n */\r\n gte: (expect) => (target) => {\r\n if (!matchers.number(expect) || !matchers.number(target)) {\r\n return false;\r\n }\r\n return target >= expect;\r\n },\r\n /**\r\n * Return if target < expect\r\n * @param {Number} expect\r\n * @returns {Boolean}\r\n */\r\n lt: (expect) => (target) => {\r\n if (!matchers.number(expect) || !matchers.number(target)) {\r\n return false;\r\n }\r\n return target < expect;\r\n },\r\n /**\r\n * Return if target <= expect\r\n * @param {Number} expect\r\n * @returns {Boolean}\r\n */\r\n lte: (expect) => (target) => {\r\n if (!matchers.number(expect) || !matchers.number(target)) {\r\n return false;\r\n }\r\n return target <= expect;\r\n },\r\n // logical\r\n /**\r\n * Test if target === expected\r\n * @param {*} expect\r\n * @returns {Boolean}\r\n */\r\n eq: (expect) => (target) => target === expect,\r\n /**\r\n * Test if target !== expected\r\n * @param {*} expect\r\n * @returns {Boolean}\r\n */\r\n neq: (expect) => (target) => target !== expect,\r\n /**\r\n * Return if **value** is in btw startRange and endRange\r\n * @param {Number} startRange\r\n * @param {Number} endRange\r\n * @returns\r\n */\r\n inRange: (startRange, endRange) => (value) => {\r\n if (!matchers.number(startRange) || !matchers.number(endRange) || !matchers.number(value)) {\r\n return false;\r\n }\r\n return value >= startRange && value <= endRange;\r\n },\r\n /**\r\n * All arguments must be a function.\r\n * They will called with **value**\r\n * All functions must return true to pass.\r\n * @param {...any} args list of functions\r\n * @returns {Boolean}\r\n */\r\n and: (...args) => (value) => {\r\n if (!args.length) return false;\r\n return args.reduce((result, fn) => {\r\n return (result = result && matchers.function(fn) && fn(value));\r\n }, true);\r\n },\r\n /**\r\n * All arguments must be a function.\r\n * They will called with **value**\r\n * At least one of the call must return true to pass\r\n * @param {...any} args list of functions\r\n * @returns {Boolean}\r\n */\r\n or: (...args) => (value) => {\r\n if (!args.length) return false;\r\n return args.reduce((result, fn) => {\r\n return (result = result || (matchers.function(fn) && fn(value)));\r\n }, false);\r\n },\r\n /**\r\n * Test if value matches pattern\r\n * @param {String|RegExp} pattern\r\n * @returns {Boolean}\r\n */\r\n match: (pattern) => (value) => {\r\n const matchingExpectedTypes = matchers.or(matchers.string, matchers.regexp)(pattern);\r\n return matchingExpectedTypes && matchers.string(value) && !!value.match(pattern);\r\n },\r\n /**\r\n * Test if all values from **list** exists in **refs**\r\n * refs:[a,b,c] list:[a,b] => true\r\n * refs:[a,b,c] list: [a,c] => false\r\n * refs:[a,b,c] list: [c] => false\r\n * @param {Array} refs list with expected values\r\n * @returns Boolean\r\n */\r\n includesList: (refs) => (list) => {\r\n if (!matchers.array(refs) || !matchers.array(list)) {\r\n return false;\r\n }\r\n const itemsMatching = list.map((value) => refs.includes(value)).filter((pass) => !!pass);\r\n return itemsMatching.length === list.length;\r\n },\r\n /**\r\n * Test if **value** exists in refs (Uses Array includes)\r\n * @param {Array} refs\r\n * @returns {Boolean}\r\n */\r\n includes: (refs) => (value) => matchers.array(refs) && refs.includes(value),\r\n /**\r\n * Return if value is instanceof Instance\r\n * @param {*} Instance\r\n * @returns {Boolean}\r\n */\r\n instanceof: (Instance) => (value) => value instanceof Instance,\r\n};\r\n\r\nexport default matchers;\r\n","import matchers from \"./matchers\";\r\n/**\r\n * Test if target matches schema values.\r\n * Schema must be an object with the properties you need to validate.\r\n * The schema value must be a function (matcher) that will receive\r\n * the target's value and expect a boolean as result.\r\n * target: {name:\"dds\"}\r\n * schema: {name:(val)=>val===\"dds\"}\r\n * report {name:true}\r\n * @param {Object} target\r\n * @param {Object} schema object with Matchers.\r\n * @returns [success, report]\r\n */\r\nexport default function validate(target, schema) {\r\n if (!matchers.object(target) || !matchers.object(schema)) {\r\n return [false, {}];\r\n }\r\n\r\n // Test all schema matchers over target values\r\n // and create a new object with same props and setting\r\n // true|false in the case it pass or not\r\n try {\r\n let success = true;\r\n const result = Object.keys(schema).reduce((report, schemaProp) => {\r\n const targetValue = target[schemaProp];\r\n const schemaValue = schema[schemaProp];\r\n const targetValueIsObject = matchers.object(targetValue);\r\n const schemaValueIsObject = matchers.object(schemaValue);\r\n // nested object with nested matchers\r\n // start the recursion and merge the results\r\n if (targetValueIsObject && schemaValueIsObject) {\r\n const [nestedSuccess, nestedReport] = validate(targetValue, schemaValue);\r\n report[schemaProp] = nestedReport;\r\n success = nestedSuccess && success;\r\n } else {\r\n if (typeof schemaValue === \"function\") {\r\n const matcherResult = schemaValue(targetValue);\r\n report[schemaProp] = matcherResult;\r\n success = matcherResult && success;\r\n } else {\r\n report[schemaProp] = false;\r\n success = false;\r\n }\r\n }\r\n return report;\r\n }, {});\r\n return [success, result];\r\n } catch (err) {\r\n console.warn(err.message);\r\n return [false, {}];\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\nimport { matchers } from \"./validate-props\";\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 between two values.\r\n * The maximum is exclusive and the minimum is inclusive.\r\n * Defaults to 9 digits.\r\n * @return {Number}\r\n */\r\nexport function randomNumGenerator(min = 100000000, max = 999999999) {\r\n min = Math.ceil(min);\r\n max = Math.floor(max);\r\n\r\n return Math.floor(Math.random() * (max - min) + min);\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