{"version":3,"file":"/uxab/d237fd2dfb9d1210cf68fe638eefdc2d.map.jsdbx","sections":[{"offset":{"line":18,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/sn-carousel/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","BUTTON","CAROUSEL_TRACK_ELM","CAROUSEL_WIDTH","CURRENT_INDEX","DISABLE_LOOPING","HAS_STARTED","HORIZONTAL","INDICATOR","INDICATOR_CLICKED_IDX","INDICATORS","IS_TRANSITION_PENDING","LARGE","MEDIUM","NAME","NONE","SET","SCROLL_DIRECTION","CONTENT","SN_CAROUSEL","CONTENT_CONTAINER_ELM","RTL","TITLE","ENABLE_AUTOSCROLL","PAUSE_AUTOSCROLL","ACTION_INDICATOR_CLICKED","ACTION_LINK_CLICKED","ACTION_INDICATOR_INDEX_UPDATED","ACTION_RECALCULATE_INDICATORS","ACTION_SLOT_CHANGE","ACTION_SCROLL","ACTION_TOUCH_END","ACTION_TRANSITION_END","ACTION_UPDATE_INDICATORS","ACTION_FOCUS_IN_ITEM","NOW_BUTTON_BARE_CLICKED","NOW_BUTTON_ICONIC_CLICKED","METRIC_TRACKED","ACTION_ARROW_KEY_PRESSED","ACTION_AUTO_SCROLL_START","ACTION_AUTO_SCROLL_STOP","ACTION_AUTO_SCROLL_PAUSED","CAROUSEL_INITIAL_LOAD","NAVIGATION_INTERACTION","ARROW","ARROWS","CAROUSEL_LABEL","CAROUSEL_FOOTER","CAROUSEL_HEADER","CAROUSEL_HEADER_ABSENT","CAROUSEL_TRACK","CAROUSEL_WRAPPER","DISABLED","EMPTY_STATE","GRADIENT","HEADER_LINK","HIDE","ICON","MARGIN_LEFT","MARGIN_RIGHT","SCROLLING","SELECTED","SHOW","SHOW_ARROWS","TITLE_WRAPPER","BADGE","TRANSITION_TIME","ADD_ATTACHMENT","ADD_DATA","COMPLETED_TASKS","ERROR","FIRST_TIME_USER","INTERRUPTED","NO_ACTIVITIES","NO_DATA","NO_SEARCH_RESULTS","OFFLINE","PERMISSIONS","UNCONFIGURED","EMPTY_STATE_LABEL","EMPTY_STATE_MESSAGE","DARK","PRIMARY","SECONDARY","TERTIARY","GRADIENT_WIDTH","LEFT_MOST_PADDING","RIGHT_MARGIN_WIDTH","LEFT_ARROW_ICON","NEXT","FORWARD","PREVIOUS","BACKWARD","RIGHT_ARROW_ICON","PAUSE_LABEL","PLAY_LABEL","PAUSE_ICON","PLAY_ICON","PAUSE","PLAY","BOTTOM_LEFT","BOTTOM_RIGHT","BOTTOM_SPLIT","CENTER","FILL","OUTLINE","ITEMS_IN_VIEW","MULTIPLE_ITEMS_IN_VIEW","SINGLE_ITEM_IN_VIEW","SINGLE_ITEM_ON_ZOOM","BOOLEAN","JSON","INTEGER","STRING","NEXT_SET_OF_ITEMS","SINGLE_ITEM","SLIDING_TYPE","TITLE_LEVEL_1","TITLE_LEVEL_2","TITLE_LEVEL_3","TITLE_LEVEL_4","TITLE_LEVEL_5","TITLE_LEVEL_6","HEADER_PRIMARY","HEADER_SECONDARY","HEADER_TERTIARY","TITLE_PRIMARY","TITLE_SECONDARY","TITLE_TERTIARY","LEFT","RIGHT","ENTER_KEY","ARROW_LEFT","ARROW_RIGHT","AUTO_SCROLL_INTERVAL_ID_DEFAULT","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__","duplicateComponent","component","duplicateNode","node","clone","cloneNode","getProperties","props","keys","forEach","children","idx","appendChild","setDuplicateAttribute","attribute","suffix","getAttribute","setAttribute","setupDuplicate","duplicate","deleteDuplicates","hostNode","contentContainerElm","resetPositions","deleted","assignedNodes","removeChild","createDuplicates","contentElms","itemsInView","slidingType","carouselWidth","onResize","getRootNode","host","allComponents","filter","_node$style","style","display","componentsAdded","c","duplicateLastItem","prepend","duplicateFirstItem","firstSet","lastSet","currentSetWidth","currentSet","remainingLength","offsetWidth","findDuplicates","components","original","isDuplicate","swap","index","array","_node$getAttribute","_node$getAttribute2","prePosition","includes","originalIndex","findIndex","sibling","nextElementSibling","insertBefore","removeAttribute","getContentWidth","disableLooping","width","transformComponents","state","updateState","transition","performSwap","properties","dir","swapDuplicates","some","path","operation","shouldRender","originalComponent","find","getComponentsInView","direction","transform","getTranslation","transformValue","matchValue","match","Math","abs","parseInt","calculateIndicators","carouselTrackElm","contentCount","indicators","contentWidth","translate","findOriginals","duplicates","_component$getAttribu","_component$getAttribu2","indicator","currentComponentIdx","checkWidth","firstIndicator","lastIndicator","loopTranslate","includePartials","inViewComponents","componentIdx","hiddenWidth","prevHiddenWidth","parseFloat","marginRight","marginLeft","accumalatedWidth","totalWidth","componentWidth","getActionType","scrollDirection","actionType","updateComponentStyle","margin","maxWidth","minWidth","copyStyle","setComponentMargins","marginWidth","setupComponents","dispatch","loopingChanged","addDuplicatesOnResize","isSwapping","newContentElms","newContentCount","_node$style2","focusinEventHandler","carouselItemFocusinHandler","removeEventListener","addEventListener","contentChanged","isSameNode","areComponentsInitialized","setTimeout","fitsContainer","slotChangeEvent","recalculateIndicators","currentIndex","originalIndicators","prevContentWidth","widthChanged","newIndex","numIndicators","scrollEffect","isTransitionPending","enableAutoScroll","metadata","type","looped","useLoopTranslate","eventName","updateNavigationFocus","shadowRoot","activeElement","querySelector","focus","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","COMPONENT_DOM_READY","COMPONENT_TREE_RENDERED","COMPONENT_PROPERTY_CHANGED","updateItemsInView","window","devicePixelRatio","actionHandlers","effect","_ref","updateProperties","pauseAutoScroll","_ref2","singleItemOnZoom","handleResize","prevWidth","currentWidth","_ref3","action","propertyChanged","payload","propItemsInView","classList","remove","stopPropagation","_ref4","_ref5","autoScrollAction","isPaused","add","_ref6","indicatorClickedEffect","indicatorClickedIdx","nextIndicator","_ref7","transitionEndEffect","_ref8","_ref9","_ref10","touchStart","touchEnd","swipeEffect","_ref11","setupIndicators","hasStarted","startingIndex","selectedIndex","position","didRender","title","carouselTitle","titleVariant","titlePosition","hideLink","linkIcon","navStyle","navPosition","gradientStyle","hideDotIndicator","numberOfIndicators","_ref12","meta","appended","coeffects","track","indicatorIdx","_ref13","autoScrollSpeed","autoScrollIntervalId","setInterval","autoScrollStart","_ref14","clearInterval","autoScrollStop","initialState","errorMessage","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","getDisplayArrowClass","arrowType","hideArrow","showTitle","hideTitle","trim","showHeaderLink","linkText","displayHeader","disableTextWrapping","className","titleLevel","badgeConfig","badge","label","color","variant","level","wontWrap","hasNoMargin","displayTitle","size","hidePadding","configAria","button","displayHeaderLink","displayFooter","indicatorClasses","getIndicators","indicatorSelected","items","indicatorId","on-click","event","ulElem","target","parentElement","nextIdx","view","isLooping","leftGradientStyle","rightGradientStyle","roleDesc","ariaLabelledBy","role","emptyStateLabel","emptyStateContent","emptyStateIllustration","headingLevel","heading","alignment","illustration","displayEmptyState","ref","changedTouches","clientX","icon","bare","getNavigationControls","displayLeftArrow","displayRightArrow","disabled","tooltipContent","name","on-slotchange","on-transitionend","schema","enum","setInitialState","renderer","snabbdom","styles","behaviors","behavior","resizeBehavior","rtlBehavior","slots","__TECTONIC__$devsnc_sn_carousel"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/carousel.scss","webpack:///./src/sn-carousel/carousel.scss?5ab7","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-constants.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-utils/index.jsdbx\"","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-duplicates.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-common.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-setup.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-resize.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-scroll.js","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-action-handlers.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-initial-state.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resize/27.0.23/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/27.0.23/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-heading/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-highlighted-value/index.jsdbx\"","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-nav.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-view.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-indicators.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel.js","webpack:///@devsnc/sn-carousel/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--before,\\n\\t\\t\\t\\t\\t-.25em\\n\\t\\t\\t\\t)*1)}.now-line-height-crop:after{margin-block-end:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--after,\\n\\t\\t\\t\\t\\t-.125em\\n\\t\\t\\t\\t)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--after,\\n\\t\\t\\t\\t\\t-.125em\\n\\t\\t\\t\\t)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--before,\\n\\t\\t\\t\\t\\t-.25em\\n\\t\\t\\t\\t)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--after,\\n\\t\\t\\t\\t\\t-.125em\\n\\t\\t\\t\\t)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--after,\\n\\t\\t\\t\\t\\t-.125em\\n\\t\\t\\t\\t)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:1rem}.now-heading--lg{font-size:1.25rem}.now-heading--xl{font-size:1.5rem}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:.75rem}.now-text--md{font-size:1rem}.now-text--lg{font-size:1.25rem}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}:host{display:grid;width:100%}.carousel-wrapper{display:flex;flex-direction:column;overflow:hidden;width:100%}.carousel-title{overflow:hidden}.carousel-header{align-items:center;display:flex;height:100%;justify-content:space-between;overflow:hidden;padding-bottom:.75rem;width:100%}.carousel-header .title-wrapper{align-items:center;display:inline-flex;overflow:hidden}:host(:not([dir=rtl])) .carousel-header .title-wrapper.right,:root:not([dir=rtl]) .carousel-header .title-wrapper.right{margin-left:auto}:host([dir=rtl]) .carousel-header .title-wrapper.right,:root[dir=rtl] .carousel-header .title-wrapper.right{margin-right:auto}:host(:not([dir=rtl])) .carousel-header .title-badge,:root:not([dir=rtl]) .carousel-header .title-badge{padding-left:.5rem}:host([dir=rtl]) .carousel-header .title-badge,:root[dir=rtl] .carousel-header .title-badge{padding-right:.5rem}:host(:not([dir=rtl])) .carousel-header .header-link,:root:not([dir=rtl]) .carousel-header .header-link{padding-left:3.25rem}:host([dir=rtl]) .carousel-header .header-link,:root[dir=rtl] .carousel-header .header-link{padding-right:3.25rem}.carousel-track{display:flex;justify-content:flex-start;overflow-x:clip;position:relative}.content-container{display:flex;height:100%;width:100%}::slotted(*){flex:none;height:100%;width:auto}.arrows.bottom-left{bottom:-.75rem;display:inherit;position:absolute}:host(:not([dir=rtl])) .arrows.bottom-left,:root:not([dir=rtl]) .arrows.bottom-left{left:4px}:host([dir=rtl]) .arrows.bottom-left,:root[dir=rtl] .arrows.bottom-left{right:4px}.arrows.bottom-right{bottom:-.75rem;display:inherit;position:absolute}:host(:not([dir=rtl])) .arrows.bottom-right,:root:not([dir=rtl]) .arrows.bottom-right{right:4px}:host([dir=rtl]) .arrows.bottom-right,:root[dir=rtl] .arrows.bottom-right{left:4px}.arrows .arrow{z-index:2}.arrows .arrow .nav-button{background-color:RGB(var(--now-color--neutral-0,255,255,255));border-radius:20px;position:absolute}.arrows .arrow.left.center{height:100%;position:absolute;width:24px}:host(:not([dir=rtl])) .arrows .arrow.left.center,:root:not([dir=rtl]) .arrows .arrow.left.center{left:1rem}:host([dir=rtl]) .arrows .arrow.left.center,:root[dir=rtl] .arrows .arrow.left.center{right:1rem}.arrows .arrow.left.center .nav-button{left:50%;top:50%;transform:translate(-50%,-50%)}.arrows .arrow.left.bottom-left .nav-button{top:0}:host(:not([dir=rtl])) .arrows .arrow.left.bottom-left .nav-button,:root:not([dir=rtl]) .arrows .arrow.left.bottom-left .nav-button{left:0}:host([dir=rtl]) .arrows .arrow.left.bottom-left .nav-button,:root[dir=rtl] .arrows .arrow.left.bottom-left .nav-button{right:0}.arrows .arrow.left.bottom-right .nav-button{top:0}:host(:not([dir=rtl])) .arrows .arrow.left.bottom-right .nav-button,:root:not([dir=rtl]) .arrows .arrow.left.bottom-right .nav-button{right:2.5rem}:host([dir=rtl]) .arrows .arrow.left.bottom-right .nav-button,:root[dir=rtl] .arrows .arrow.left.bottom-right .nav-button{left:2.5rem}.arrows .arrow.left.bottom-split{bottom:-.75rem;position:absolute}:host(:not([dir=rtl])) .arrows .arrow.left.bottom-split,:root:not([dir=rtl]) .arrows .arrow.left.bottom-split{left:4px}:host([dir=rtl]) .arrows .arrow.left.bottom-split,:root[dir=rtl] .arrows .arrow.left.bottom-split{right:4px}.arrows .arrow.left.bottom-split .nav-button{top:0}:host(:not([dir=rtl])) .arrows .arrow.left.bottom-split .nav-button,:root:not([dir=rtl]) .arrows .arrow.left.bottom-split .nav-button{left:0}:host([dir=rtl]) .arrows .arrow.left.bottom-split .nav-button,:root[dir=rtl] .arrows .arrow.left.bottom-split .nav-button{right:0}.arrows .arrow.left.hide{visibility:hidden}.arrows .arrow.left.show{display:inline-block}.arrows .arrow.right.bottom-left .nav-button{top:0}:host(:not([dir=rtl])) .arrows .arrow.right.bottom-left .nav-button,:root:not([dir=rtl]) .arrows .arrow.right.bottom-left .nav-button{left:2.5rem}:host([dir=rtl]) .arrows .arrow.right.bottom-left .nav-button,:root[dir=rtl] .arrows .arrow.right.bottom-left .nav-button{right:2.5rem}.arrows .arrow.right.bottom-right .nav-button{top:0}:host(:not([dir=rtl])) .arrows .arrow.right.bottom-right .nav-button,:root:not([dir=rtl]) .arrows .arrow.right.bottom-right .nav-button{right:0}:host([dir=rtl]) .arrows .arrow.right.bottom-right .nav-button,:root[dir=rtl] .arrows .arrow.right.bottom-right .nav-button{left:0}.arrows .arrow.right.center{height:100%;position:absolute;width:24px}:host(:not([dir=rtl])) .arrows .arrow.right.center,:root:not([dir=rtl]) .arrows .arrow.right.center{right:1rem}:host([dir=rtl]) .arrows .arrow.right.center,:root[dir=rtl] .arrows .arrow.right.center{left:1rem}.arrows .arrow.right.center .nav-button{left:50%;top:50%;transform:translate(-50%,-50%)}.arrows .arrow.right.bottom-split{bottom:-.75rem;position:absolute}:host(:not([dir=rtl])) .arrows .arrow.right.bottom-split,:root:not([dir=rtl]) .arrows .arrow.right.bottom-split{right:4px}:host([dir=rtl]) .arrows .arrow.right.bottom-split,:root[dir=rtl] .arrows .arrow.right.bottom-split{left:4px}.arrows .arrow.right.bottom-split .nav-button{top:0}:host(:not([dir=rtl])) .arrows .arrow.right.bottom-split .nav-button,:root:not([dir=rtl]) .arrows .arrow.right.bottom-split .nav-button{right:0}:host([dir=rtl]) .arrows .arrow.right.bottom-split .nav-button,:root[dir=rtl] .arrows .arrow.right.bottom-split .nav-button{left:0}.arrows .arrow.right.hide{visibility:hidden}.arrows .arrow.right.show{display:inline-block}.carousel-footer{margin-top:.75rem;position:relative}.carousel-footer .show-arrows{height:30px}@media(forced-colors:active){.indicators nav div button{background-color:buttonface!important}.indicators nav div button:focus,.indicators nav div button:hover{border-color:highlight!important}.indicators nav div button.selected{background-color:selecteditem!important;border-color:selecteditemtext!important;color:selecteditemtext!important}}:host(:not([dir=rtl])) .indicators.bottom-left,:root:not([dir=rtl]) .indicators.bottom-left{float:right}:host([dir=rtl]) .indicators.bottom-left,:root[dir=rtl] .indicators.bottom-left{float:left}:host(:not([dir=rtl])) .indicators.bottom-right,:root:not([dir=rtl]) .indicators.bottom-right{float:left}:host([dir=rtl]) .indicators.bottom-right,:root[dir=rtl] .indicators.bottom-right{float:right}.indicators.bottom-split,.indicators.center{margin-left:auto;margin-right:auto}.indicators.center nav{margin-bottom:0;margin-top:0}.indicators nav{display:flex;justify-content:center;list-style:none;margin-bottom:.25rem;margin-top:.25rem;padding:0}.indicators nav div{height:12px;width:12px}:host(:not([dir=rtl])) .indicators nav div,:root:not([dir=rtl]) .indicators nav div{margin-right:.5rem}:host([dir=rtl]) .indicators nav div,:root[dir=rtl] .indicators nav div{margin-left:.5rem}:host(:not([dir=rtl])) .indicators nav div:last-child,:root:not([dir=rtl]) .indicators nav div:last-child{margin-right:0}:host([dir=rtl]) .indicators nav div:last-child,:root[dir=rtl] .indicators nav div:last-child{margin-left:0}.indicators nav div button{background-color:transparent;border:1px solid RGB(var(--now-color--primary-1,30,133,109));border-radius:12px;cursor:pointer;height:12px;padding:0;position:absolute;width:12px}.indicators nav div button.selected{background-color:RGB(var(--now-color--primary-1,30,133,109));border:1px solid RGB(var(--now-color--primary-1,30,133,109))}.indicators nav div button:hover:not(.selected){background-color:RGB(var(--now-color--primary-2,23,100,82));border:1px solid RGB(var(--now-color--primary-2,23,100,82))}.indicators nav div button:focus{border:2px solid RGB(var(--now-color--focus-2,1,119,142));box-shadow:inset 0 0 0 1px #fff}.indicators nav div button:focus-visible{outline:none}.indicators nav div button:active{background-color:RGB(var(--now-color--primary-3,15,67,55));border:1px solid RGB(var(--now-color--primary-3,15,67,55))}.gradient{height:100%;position:absolute;width:56px;z-index:1}:host(:not([dir=rtl])) .gradient.left,:root:not([dir=rtl]) .gradient.left{left:0}:host([dir=rtl]) .gradient.left,:root[dir=rtl] .gradient.left{right:0}:host(:not([dir=rtl])) .gradient.left.primary,:root:not([dir=rtl]) .gradient.left.primary{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}:host([dir=rtl]) .gradient.left.primary,:root[dir=rtl] .gradient.left.primary{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}:host(:not([dir=rtl])) .gradient.left.secondary,:root:not([dir=rtl]) .gradient.left.secondary{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}:host([dir=rtl]) .gradient.left.secondary,:root[dir=rtl] .gradient.left.secondary{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}:host(:not([dir=rtl])) .gradient.left.tertiary,:root:not([dir=rtl]) .gradient.left.tertiary{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))))}:host([dir=rtl]) .gradient.left.tertiary,:root[dir=rtl] .gradient.left.tertiary{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))))}.gradient.left.dark{opacity:.1}:host(:not([dir=rtl])) .gradient.left.dark,:root:not([dir=rtl]) .gradient.left.dark{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color--neutral-16,37,45,46)))}:host([dir=rtl]) .gradient.left.dark,:root[dir=rtl] .gradient.left.dark{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color--neutral-16,37,45,46)))}.gradient.left.none{visibility:hidden}:host(:not([dir=rtl])) .gradient.right,:root:not([dir=rtl]) .gradient.right{right:0}:host([dir=rtl]) .gradient.right,:root[dir=rtl] .gradient.right{left:0}:host(:not([dir=rtl])) .gradient.right.primary,:root:not([dir=rtl]) .gradient.right.primary{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}:host([dir=rtl]) .gradient.right.primary,:root[dir=rtl] .gradient.right.primary{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}:host(:not([dir=rtl])) .gradient.right.secondary,:root:not([dir=rtl]) .gradient.right.secondary{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}:host([dir=rtl]) .gradient.right.secondary,:root[dir=rtl] .gradient.right.secondary{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}:host(:not([dir=rtl])) .gradient.right.tertiary,:root:not([dir=rtl]) .gradient.right.tertiary{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))))}:host([dir=rtl]) .gradient.right.tertiary,:root[dir=rtl] .gradient.right.tertiary{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))))}.gradient.right.dark{opacity:.1}:host(:not([dir=rtl])) .gradient.right.dark,:root:not([dir=rtl]) .gradient.right.dark{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color--neutral-16,37,45,46)))}:host([dir=rtl]) .gradient.right.dark,:root[dir=rtl] .gradient.right.dark{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color--neutral-16,37,45,46)))}.gradient.right.none{visibility:hidden}.pause-play-button{padding-left:1rem;padding-top:.25rem;position:absolute;z-index:3}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./carousel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import {t} from 'sn-translate';\n\nexport default {\n\tBUTTON: 'button',\n\tCAROUSEL_TRACK_ELM: 'carouselTrackElm',\n\tCAROUSEL_WIDTH: 'carouselWidth',\n\tCURRENT_INDEX: 'currentIndex',\n\tDISABLE_LOOPING: 'disableLooping',\n  \tHAS_STARTED: 'hasStarted',\n\tHORIZONTAL: 'adaptive',\n\tINDICATOR: 'indicator',\n\tINDICATOR_CLICKED_IDX: 'indicatorClickedIdx',\n\tINDICATORS: 'indicators',\n\tIS_TRANSITION_PENDING: 'isTransitionPending',\n\tLARGE: 'lg',\n\tMEDIUM: 'md',\n\tNAME: 'name',\n\tNONE: 'none',\n\tSET: 'set',\n\tSCROLL_DIRECTION: 'scrollDirection',\n\tCONTENT: 'content',\n\tSN_CAROUSEL: 'sn-carousel',\n\tCONTENT_CONTAINER_ELM: 'contentContainerElm',\n\tRTL: 'rtl',\n\tTITLE: 'carousel-title',\n\tENABLE_AUTOSCROLL: 'enableAutoScroll',\n\tPAUSE_AUTOSCROLL: 'pauseAutoScroll',\n\n\t//Actions\n\tACTION_INDICATOR_CLICKED: 'SN_CAROUSEL#INDICATOR_CLICKED',\n\tACTION_LINK_CLICKED: 'SN_CAROUSEL#LINK_CLICKED',\n\tACTION_INDICATOR_INDEX_UPDATED: 'SN_CAROUSEL#INDICATOR_INDEX_UPDATED',\n\tACTION_RECALCULATE_INDICATORS: 'SN_CAROUSEL#ACTION_RECALCULATE_INDICATORS',\n\tACTION_SLOT_CHANGE: 'SN_CAROUSEL#SLOT_CHANGE',\n\tACTION_SCROLL: 'SN_CAROUSEL#SCROLL',\n\tACTION_TOUCH_END: 'SN_CAROUSEL#TOUCH_END',\n\tACTION_TRANSITION_END: 'SN_CAROUSEL#TRANSITION_END',\n\tACTION_UPDATE_INDICATORS: 'SN_CAROUSEL#UPDATE_INDICATORS',\n\tACTION_FOCUS_IN_ITEM: 'SN_CAROUSEL#FOCUS_IN_ITEM',\n\tNOW_BUTTON_BARE_CLICKED: 'NOW_BUTTON_BARE#CLICKED',\n\tNOW_BUTTON_ICONIC_CLICKED: 'NOW_BUTTON_ICONIC#CLICKED',\n\tMETRIC_TRACKED: 'SN_CAROUSEL#METRIC_TRACKED',\n\tACTION_ARROW_KEY_PRESSED: 'SN_CAROUSEL#ACTION_ARROW_KEY_PRESSED',\n\tACTION_AUTO_SCROLL_START: 'SN_CAROUSEL#AUTO_SCROLL_START',\n\tACTION_AUTO_SCROLL_STOP: 'SN_CAROUSEL#AUTO_SCROLL_STOP',\n\tACTION_AUTO_SCROLL_PAUSED: 'SN_CAROUSEL#AUTO_SCROLL_PAUSED',\n\n\t//Metric Names\n\tCAROUSEL_INITIAL_LOAD:'Initial Carousel View',\n\tNAVIGATION_INTERACTION:'Navigate Carousel Items',\n\n\t//CSS Classes/Values\n\tARROW: 'arrow',\n\tARROWS: 'arrows',\n\tCAROUSEL_LABEL : 'Carousel',\n\tCAROUSEL_FOOTER: 'carousel-footer',\n\tCAROUSEL_HEADER: 'carousel-header',\n\tCAROUSEL_HEADER_ABSENT: 'carousel-header-absent',\n\tCAROUSEL_TRACK: 'carousel-track',\n\tCAROUSEL_WRAPPER: 'carousel-wrapper',\n\tDISABLED: 'disabled',\n\tEMPTY_STATE: 'empty-state',\n\tGRADIENT: 'gradient',\n\tHEADER_LINK: 'header-link',\n\tHIDE: 'hide',\n\tICON: 'icon',\n\tMARGIN_LEFT: 'margin-left',\n\tMARGIN_RIGHT: 'margin-right',\n\tSCROLLING: 'scrolling',\n\tSELECTED: 'selected',\n\tSHOW: 'show',\n\tSHOW_ARROWS: 'show-arrows',\n\tTITLE_WRAPPER: 'title-wrapper',\n\tBADGE: 'title-badge',\n\tTRANSITION_TIME: 'all 0.3s',\n\n\t//Empty State Illustrations\n\tADD_ATTACHMENT: 'add-attachment',\n\tADD_DATA: 'add-data',\n\tCOMPLETED_TASKS: 'completed-tasks',\n\tERROR: 'error',\n\tFIRST_TIME_USER: 'first-time-user',\n\tINTERRUPTED: 'interrupted',\n\tNO_ACTIVITIES: 'no-activities',\n\tNO_DATA: 'no-data',\n\tNO_SEARCH_RESULTS: 'no-search-results',\n\tOFFLINE: 'offline',\n\tPERMISSIONS: 'permissions',\n\tUNCONFIGURED: 'unconfigured',\n\n\t//Empty State Label\n\tEMPTY_STATE_LABEL: t('No content to display'),\n\n\t//Empty State Message\n\tEMPTY_STATE_MESSAGE: t('Please add components into the carousel'),\n\n\t//Gradient Styles\n\tDARK: 'dark',\n\tPRIMARY: 'primary',\n\tSECONDARY: 'secondary',\n\tTERTIARY: 'tertiary',\n\n\t//Margin/Padding constants\n\tGRADIENT_WIDTH: 56,\n\tLEFT_MOST_PADDING: 76,\n\tRIGHT_MARGIN_WIDTH: 12,\n\n\t//Navigation\n\tLEFT_ARROW_ICON: 'circle-chevron-start',\n\tNEXT: t('Next'),\n\tFORWARD: t('Move carousel foward'),\n\tPREVIOUS: t('Previous'),\n\tBACKWARD: t('Move carousel backward'),\n\tRIGHT_ARROW_ICON: 'circle-chevron-end',\n\tPAUSE_LABEL: t('Pause autoscroll'),\n\tPLAY_LABEL: t('Play autoscroll'),\n\tPAUSE_ICON : 'circle-pause',\n\tPLAY_ICON: 'circle-play',\n\n\t//Action constants\n\tPAUSE : 'pause',\n\tPLAY: 'play',\n\n\t//Navigation Position\n\tBOTTOM_LEFT: 'bottom-left',\n\tBOTTOM_RIGHT: 'bottom-right',\n\tBOTTOM_SPLIT: 'bottom-split',\n\tCENTER: 'center',\n\n\t//Navigation Styles\n\tFILL: 'fill',\n\tOUTLINE: 'outline',\n\n\t//Number of Items in View\n\tITEMS_IN_VIEW: 'itemsInView',\n\tMULTIPLE_ITEMS_IN_VIEW: 'multiple-content-items',\n\tSINGLE_ITEM_IN_VIEW: 'single-content-item',\n\n\t//Single Items in View When Zoomed In\n\tSINGLE_ITEM_ON_ZOOM: 'singleItemOnZoom',\n\n\t//Property Types\n\tBOOLEAN: 'boolean',\n\tJSON: 'json',\n\tINTEGER: 'integer',\n\tSTRING: 'string',\n\n\t//Sliding Type\n\tNEXT_SET_OF_ITEMS: 'next-set-of-items',\n\tSINGLE_ITEM: 'single-item',\n\tSLIDING_TYPE: 'slidingType',\n\n\t//Title Levels\n\tTITLE_LEVEL_1: '1',\n\tTITLE_LEVEL_2: '2',\n\tTITLE_LEVEL_3: '3',\n\tTITLE_LEVEL_4: '4',\n\tTITLE_LEVEL_5: '5',\n\tTITLE_LEVEL_6: '6',\n\n\t//Title Styles\n\tHEADER_PRIMARY: 'header-primary',\n\tHEADER_SECONDARY: 'header-secondary',\n\tHEADER_TERTIARY: 'header-tertiary',\n\tTITLE_PRIMARY: 'title-primary',\n\tTITLE_SECONDARY: 'title-secondary',\n\tTITLE_TERTIARY: 'title-tertiary',\n\n\t//Title Position\n\tLEFT: 'left',\n\tRIGHT: 'right',\n\n\t// Keyboard Key Name\n\tENTER_KEY: 'Enter',\n\tARROW_LEFT: 'ArrowLeft',\n\tARROW_RIGHT: 'ArrowRight',\n\n\t//Auto scroll interval ID\n\tAUTO_SCROLL_INTERVAL_ID_DEFAULT: -1\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_utils_index_jsdbx_9b965695__[\"default\"].get;\n\t\t\t\t} });","import c from './sn-carousel-constants';\n\n/**\n *  All methods in this file involve the duplication of components required to\n *  make smooth translation if looping is enabled\n */\n\n/**\n * duplicateComponent\n *\n * duplicates a component for use in looping\n */\nconst duplicateComponent = component => {\n\tconst duplicateNode = node => {\n\t\tlet clone = node.cloneNode();\n\n\t\t//if node is a service now component, it will have properties\n\t\tif (node.getProperties !== undefined) {\n\t\t\tconst props = node.getProperties();\n\t\t\tif (props) {\n\t\t\t\tObject.keys(props).forEach(key => {\n\t\t\t\t\tif (node[key])\n\t\t\t\t\t\tclone[key] = node[key];\n\t\t\t\t});\n\t\t\t}\n\n\t\t//otherwise it is pure HTML\n\t\t} else \n\t\t\tclone = node.cloneNode(false);\n\t\t\n\n\t\t//clone any children nodes\n\t\tif (node.children.length > 0) {\n\t\t\tfor (let idx = 0; idx < node.children.length; idx++)\n\t\t\t\tclone.appendChild(duplicateNode(node.children[idx]));\n\t\t}\n\t\treturn clone;\n\t};\n\n\treturn duplicateNode(component);\n};\n\n/**\n * setDuplicateAttribute\n *\n * sets attributes on the duplicated node\n */\nconst setDuplicateAttribute = (component, attribute, suffix) => {\n\tif (component.getAttribute(attribute))\n\t\tcomponent.setAttribute(attribute, component.getAttribute(attribute) + suffix);\n};\n\n/**\n * setupDuplicate\n *\n * sets all the attributes on the duplicated node\n */\nconst setupDuplicate = (duplicate, suffix) => {\n\tsetDuplicateAttribute(duplicate, 'id', suffix);\n\tsetDuplicateAttribute(duplicate, 'now-id', suffix);\n\tsetDuplicateAttribute(duplicate, 'component-id', suffix);\n\tduplicate.setAttribute('is-clone', 'true');\n\tduplicate.setAttribute('tabindex', '-1');\n};\n\n/**\n * deleteDuplicates\n *\n * deletes any duplicated nodes that were created\n * returns true if anything was deleted, false if not\n */\nexport const deleteDuplicates = (hostNode, contentContainerElm) => {\n\t/*\n\t * put any components that have been swapped back into original position before deleting\n\t *  if -pre is after original, or -post is before\n\t */\n\n\tresetPositions(hostNode, contentContainerElm);\n\n\tlet deleted = false;\n\tcontentContainerElm.assignedNodes().forEach(node => {\n\t\tif (node.getAttribute('is-clone') === 'true') {\n\t\t\tdeleted = true;\n\t\t\thostNode.removeChild(node);\n\t\t}\n\t});\n\treturn deleted;\n};\n\n/**\n * createDuplicates\n *\n * creates duplicate nodes for looping\n */\nexport const createDuplicates = (contentContainerElm, contentElms, itemsInView, slidingType, carouselWidth, onResize = false) => {\n\tconst hostNode = contentContainerElm.getRootNode().host;\n\tconst allComponents = contentContainerElm.assignedNodes().filter(node => node.style?.display !== 'none');\n\tlet componentsAdded = false;\n\n\t//If only showing one item at a time, just one duplicate is needed at the front and end\n\tif (itemsInView === c.SINGLE_ITEM_IN_VIEW) {\n\n\t\t//No need to create duplicates on resizing since it's already been create on setup\n\t\tif (onResize) \n\t\t\treturn componentsAdded;\n\n\t\t//Add a duplicate of the last item to the front\n\t\tconst duplicateLastItem = duplicateComponent(contentElms[contentElms.length - 1]);\n\t\tsetupDuplicate(duplicateLastItem, '-pre');\n\t\thostNode.prepend(duplicateLastItem);\n\n\t\t//Add a duplicate of the first item to the end\n\t\tconst duplicateFirstItem = duplicateComponent(contentElms[0]);\n\t\tsetupDuplicate(duplicateFirstItem, '-post');\n\t\thostNode.appendChild(duplicateFirstItem);\n\n\t\tcomponentsAdded = true;\n\n\t} else {\n\n\t\tif (slidingType === c.NEXT_SET_OF_ITEMS) {\n\t\t\t/*\n\t\t\t * For sliding by sets, we need to add the components of the last set and the component before\n\t\t\t * it to the front.  we need the components of the first set and the next component after to add\n\t\t\t *  to the end\n\t\t\t */\n\t\t\tlet firstSet = [];\n\t\t\tlet lastSet = [];\n\t\t\tlet currentSetWidth = 0;\n\t\t\tlet currentSet = [];\n\t\t\tconst remainingLength = carouselWidth - c.LEFT_MOST_PADDING - c.GRADIENT_WIDTH;\n\t\t\tfor (let idx = 0; idx < contentElms.length; idx++) {\n\t\t\t\tcurrentSetWidth += contentElms[idx].offsetWidth;\n\t\t\t\t//far right component could be covered by gradient\n\t\t\t\tif (currentSetWidth > remainingLength) {\n\t\t\t\t\tif (firstSet.length == 0)\n\t\t\t\t\t\tfirstSet = [...currentSet];\n\t\t\t\t\t//since the width is larger, we want to move to the next set\n\t\t\t\t\tcurrentSetWidth = contentElms[idx].offsetWidth;\n\t\t\t\t\tcurrentSet = [];\n\t\t\t\t}\n\t\t\t\tcurrentSetWidth += c.RIGHT_MARGIN_WIDTH;\n\t\t\t\tcurrentSet.push(idx);\n\t\t\t}\n\t\t\tlastSet = [...currentSet];\n\n\t\t\t//The sets may change drastically, so delete all duplicates and recreate if resizing\n\t\t\tif (onResize)\n\t\t\t\tdeleteDuplicates(hostNode, contentContainerElm);\n\n\t\t\tfor (let idx = lastSet[lastSet.length - 1]; idx >= lastSet[0] - 1; idx--) {\n\t\t\t\tconst duplicate = duplicateComponent(contentElms[idx]);\n\t\t\t\tsetupDuplicate(duplicate, '-pre');\n\t\t\t\thostNode.prepend(duplicate);\n\t\t\t}\n\n\t\t\tfor (let idx = firstSet[0]; idx <= firstSet[firstSet.length - 1] + 1; idx++) {\n\t\t\t\tconst duplicate = duplicateComponent(contentElms[idx]);\n\t\t\t\tsetupDuplicate(duplicate, '-post');\n\t\t\t\thostNode.appendChild(duplicate);\n\t\t\t}\n\n\t\t\tcomponentsAdded = true;\n\t\t} else {\n\t\t\t/*\n\t\t\t * For sliding by one item at a time, we need to add the last two items to the front\n\t\t\t * and we need to add the number of items in view based on the position\n\t\t\t * of where the last item ends and the remaining width of the carousel\n\t\t\t */\n\n\t\t\t//Create duplicates components before start of window\n\t\t\tif (!onResize) {\n\t\t\t\tfor (let idx = contentElms.length - 1; idx >= contentElms.length - 2; idx--) {\n\t\t\t\t\tconst duplicate = duplicateComponent(contentElms[idx]);\n\t\t\t\t\tsetupDuplicate(duplicate, '-pre');\n\t\t\t\t\thostNode.prepend(duplicate);\n\t\t\t\t}\n\t\t\t\tcomponentsAdded = true;\n\t\t\t}\n\n\t\t\tlet remainingLength = carouselWidth - c.LEFT_MOST_PADDING;\n\t\t\tfor (let idx = 0; idx < contentElms.length; idx++) {\n\t\t\t\tif (!onResize || findDuplicates(allComponents, contentElms[idx], '-post').length === 0) {\n\t\t\t\t\tconst duplicate = duplicateComponent(contentElms[idx]);\n\t\t\t\t\tsetupDuplicate(duplicate, '-post');\n\t\t\t\t\thostNode.appendChild(duplicate);\n\t\t\t\t\tcomponentsAdded = true;\n\t\t\t\t}\n\n\t\t\t\tremainingLength -= (contentElms[idx].offsetWidth + c.RIGHT_MARGIN_WIDTH);\n\t\t\t\tif (remainingLength < 0)\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\treturn componentsAdded;\n};\n\n/**\n * findDuplicates\n *\n * returns any duplicated components from components that were created from the original component\n */\nexport const findDuplicates = (components, original, suffix) => {\n\tconst isDuplicate = (component, original, suffix) => {\n\t\tif (suffix === '-pre' || suffix === '-post') {\n\t\t\treturn (component.getAttribute('id') === `${original.getAttribute('id')}${suffix}`) ||\n\t\t\t\t(component.getAttribute('component-id') === `${original.getAttribute('component-id')}${suffix}`);\n\t\t}\n\n\t\treturn (component.getAttribute('id') === `${original.getAttribute('id') }-pre`) ||\n\t\t\t(component.getAttribute('id') === `${original.getAttribute('id') }-post`) ||\n\t\t\t(component.getAttribute('component-id') === `${original.getAttribute('component-id') }-pre`) ||\n\t\t\t(component.getAttribute('component-id') === `${original.getAttribute('component-id') }-post`);\n\t};\n\treturn components.filter( component => isDuplicate(component, original, suffix));\n};\n\nexport const findStartingDuplicates = components => components.filter(component => (component.getAttribute('id')?.includes('-pre') || component.getAttribute('component-id')?.includes('-pre')));\n\nexport const findOriginals = (duplicates, components) => duplicates.map(duplicate => components.find(component => (duplicate.getAttribute('id') === `${component.getAttribute('id') }-pre`) ||\n\t\t\t(duplicate.getAttribute('id') === `${component.getAttribute('id') }-post`) ||\n\t\t\t(duplicate.getAttribute('component-id') === `${component.getAttribute('component-id') }-pre`) ||\n\t\t\t(duplicate.getAttribute('component-id') === `${component.getAttribute('component-id') }-post`)));\n\nexport const swapDuplicates = (components, contentContainerElm, updateState) => {\n\tconst swapRequired = components.some(component => component.getAttribute('is-clone') === 'true');\n\n\tif (swapRequired) {\n\t\tconst hostNode = contentContainerElm.getRootNode().host;\n\t\tupdateState({path: 'isSwapping', value: true, operation: c.SET, shouldRender: false});\n\n\t\t//See if any duplicates exist in the components\n\t\tfor (let idx = 0; idx < components.length; idx++) {\n\t\t\tif (components[idx].getAttribute('is-clone')) {\n\t\t\t\t//Find the original\n\t\t\t\tconst originalComponent = contentContainerElm.assignedNodes().find(node => (`${node.getAttribute('id') }-pre`) === components[idx].getAttribute('id') ||\n\t\t\t\t\t\t(`${node.getAttribute('id') }-post`) === components[idx].getAttribute('id') ||\n\t\t\t\t\t\t(`${node.getAttribute('component-id') }-pre`) === components[idx].getAttribute('component-id') ||\n\t\t\t\t\t\t(`${node.getAttribute('component-id') }-post`) === components[idx].getAttribute('component-id'));\n\t\t\t\tconst sibling = originalComponent.nextElementSibling;\n\t\t\t\thostNode.insertBefore(originalComponent, components[idx]);\n\t\t\t\thostNode.insertBefore(components[idx], sibling);\n\n\t\t\t\t// swapped items should be excluded from tab order, so tab focus doesn't loop\n\t\t\t\tif (originalComponent.getAttribute('is-swap')) {\n\t\t\t\t\toriginalComponent.removeAttribute('is-swap');\n\t\t\t\t\toriginalComponent.removeAttribute('tabindex');\n\t\t\t\t} else {\n\t\t\t\t\toriginalComponent.setAttribute('is-swap', 'true');\n\t\t\t\t\toriginalComponent.setAttribute('tabindex', '-1');\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\n * resetPositions\n *\n * puts components back into original position if they have been swapped\n */\nexport const resetPositions = (hostNode, contentContainerElm) => {\n\tlet swap = false;\n\tcontentContainerElm.assignedNodes().forEach((node, index, array) => {\n\t\tif (node.getAttribute('is-clone') === 'true') {\n\t\t\tconst prePosition = node.getAttribute('id')?.includes('-pre') || node.getAttribute('component-id')?.includes('-pre');\n\t\t\tconst originalIndex = array.findIndex(original =>\n\t\t\t\t(`${original.getAttribute('id') }-pre`) === node.getAttribute('id') ||\n\t\t\t\t(`${original.getAttribute('id') }-post`) === node.getAttribute('id') ||\n\t\t\t\t(`${original.getAttribute('component-id') }-pre`) === node.getAttribute('component-id') ||\n\t\t\t\t(`${original.getAttribute('component-id') }-post`) === node.getAttribute('component-id'));\n\t\t\t//swap original back to position if required\n\t\t\tif ((prePosition && originalIndex < index) || (!prePosition && originalIndex > index)) {\n\t\t\t\tswap = true;\n\t\t\t\tconst sibling = array[originalIndex].nextElementSibling;\n\t\t\t\thostNode.insertBefore(array[originalIndex], node);\n\t\t\t\thostNode.insertBefore(node, sibling);\n\t\t\t\tarray[originalIndex].removeAttribute('tabindex');\n\t\t\t\tarray[originalIndex].removeAttribute('is-swap');\n\t\t\t}\n\t\t}\n\t});\n\treturn swap;\n};\n","import {findOriginals, findStartingDuplicates, swapDuplicates} from './sn-carousel-duplicates';\nimport c from './sn-carousel-constants';\n\n/**\n * getContentWidth\n *\n * returns the width of all the components with spacing inside the carousel\n */\nexport const getContentWidth = (contentElms, itemsInView, disableLooping, carouselWidth) => {\n\tlet width = 0;\n\tfor (let idx = 0; idx < contentElms.length; idx++) {\n\t\tif (itemsInView === c.SINGLE_ITEM_IN_VIEW)\n\t\t\twidth += carouselWidth;\n\t\t else\n\t\t\twidth += contentElms[idx].offsetWidth + c.RIGHT_MARGIN_WIDTH;\n\n\n\t}\n\tif (itemsInView === c.MULTIPLE_ITEMS_IN_VIEW && disableLooping)\n\t\twidth -= c.RIGHT_MARGIN_WIDTH;\n\n\treturn width;\n};\n\n/**\n * getContentWidth\n *\n * returns false if the width of a component is 0\n */\nexport const areComponentsInitialized = contentElms => !contentElms.some(component => component.offsetWidth === 0);\n\n/**\n * transformComponents\n *\n * moves the carousel to the given position\n */\nexport const transformComponents = (state, updateState, length, transition = c.TRANSITION_TIME, performSwap = true) => {\n\tconst {contentContainerElm, itemsInView, properties: {dir, disableLooping}} = state;\n\n\t//If duplicate entries will be in view, swap them before translating\n\tif (!disableLooping && itemsInView === c.MULTIPLE_ITEMS_IN_VIEW && performSwap) {\n\t\tconst inViewComponents = getComponentsInView(state, length);\n\t\tswapDuplicates(inViewComponents, contentContainerElm, updateState);\n\t}\n\n\tconst direction = (dir === c.RTL) ? '' : '-';\n\tcontentContainerElm.style.transition = transition;\n\tcontentContainerElm.style.transform = `translate(${direction}${length}px)`;\n};\n\nexport const getTranslation = contentContainerElm => {\n\tlet transformValue = 0;\n\tconst matchValue = contentContainerElm.style.transform.match(/-+[0-9]+/);\n\tif (matchValue !== null)\n\t\ttransformValue = Math.abs(parseInt(matchValue[0]));\n\n\treturn transformValue;\n};\n\n\n/**\n * calculateIndicators\n *\n * This determines how many indicators are required and how to move the carousel\n *\n * For Hard Stop\n * --------------\n *\n * If itemsInView is single-content-item, we show one component at a time.  The margins are calculated when\n * added into the slot.  On each click, the content is moved the width of the carousel\n *\n * If itemsInView is multi-content-items, we show multiple components at a time.  The width of each component can\n * be varied.\n * - If moving one component at a time, we move the frame by adding the previous components width and subtracting LEFT_MOST_PADDING\n * so that part of the component is still on screen\n * - If moving more than one component at a time, we add the next set of components width until they are greater than the\n * width of the carousel.  We then add the width of those components to the translation and subtract LEFT_MOST_PADDING\n * so that part of the component is still on screen\n *\n * For Looping\n * -----------\n *\n * We do the same calculations for looping as we do for hardstop.\n * However, since we have added a duplicate component for each component to the front and end of the list,\n * we add the content width to the translation and subtract the LEFT_MOST_PADDING for each position\n *\n * When we move from the start to the end (clicking left on first position), we move to the first indicator's\n * starting position plus the width of all the components.\n * When we move from the end to start (clicking right at last position), we move to the last indicator's position\n * and subtract the width of all the components\n * After the transition is complete, we move back to the indicator's position without animation\n *\n *\n * TBD\n */\nexport const calculateIndicators = state => {\n\tconst {\n\t\tcarouselTrackElm,\n\t\tcontentContainerElm,\n\t\tcontentCount,\n\t\tcontentElms,\n\t\titemsInView,\n\t\tproperties: {\n\t\t\tslidingType,\n\t\t\tdisableLooping\n\t\t}\n\t} = state;\n\tconst indicators = [];\n\tconst carouselWidth = carouselTrackElm.offsetWidth;\n\tconst contentWidth = getContentWidth(contentElms, itemsInView, disableLooping, carouselWidth);\n\n\tlet translate = 0;\n\tif (!disableLooping) {\n\t\tif (itemsInView === c.SINGLE_ITEM_IN_VIEW) \n\t\t\ttranslate = carouselWidth;\n\t\t else {\n\t\t\tconst startingDuplicates = findStartingDuplicates(contentContainerElm.assignedNodes());\n\t\t\tfindOriginals(startingDuplicates, contentContainerElm.assignedNodes()).forEach(component => {\n\t\t\t\ttranslate += component.offsetWidth + c.RIGHT_MARGIN_WIDTH;\n\t\t\t});\n\t\t}\n\t}\n\n\t//If contentWidth <= carouselWidth, return one indicator at starting position\n\tif (contentWidth <= carouselWidth) {\n\t\treturn [{\n\t\t\ttranslate: 0,\n\t\t\tcontent: 0\n\t\t}];\n\t}\n\n\t//if only showing one item at a time, then we need one indicator per item\n\tif (itemsInView === c.SINGLE_ITEM_IN_VIEW) {\n\t\tfor (let idx = 0; idx < contentCount; idx++) {\n\t\t\tconst indicator = {\n\t\t\t\ttranslate,\n\t\t\t\tcontent: idx\n\t\t\t};\n\t\t\tindicators.push(indicator);\n\n\t\t\t//Update translate for next component starting point\n\t\t\ttranslate += carouselWidth;\n\t\t}\n\t} else {\n\t\tlet currentComponentIdx = 0;\n\t\tfor (let idx = 0; idx < contentCount; idx++) {\n\t\t\t//If looped through all the components, then break\n\t\t\tif (currentComponentIdx >= contentCount)\n\t\t\t\tbreak;\n\n\t\t\tconst indicator = {\n\t\t\t\ttranslate,\n\t\t\t\tcontent: currentComponentIdx\n\t\t\t};\n\t\t\tindicators.push(indicator);\n\n\t\t\t//Update the translate to account for padding\n\t\t\tif (disableLooping) {\n\t\t\t\tif (idx !== 0) {\n\t\t\t\t\tif (translate - c.LEFT_MOST_PADDING < contentWidth - carouselWidth) \n\t\t\t\t\t\tindicators[idx].translate = translate - c.LEFT_MOST_PADDING;\n\t\t\t\t\t else {\n\t\t\t\t\t\t//We've reached the farthest right position\n\t\t\t\t\t\tindicators[idx].translate = contentWidth - carouselWidth;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else \n\t\t\t\tindicators[idx].translate = translate - c.LEFT_MOST_PADDING;\n\t\t\t\n\n\t\t\t//If sliding a single item, just add its width and margin to the translation\n\t\t\tif (slidingType === c.SINGLE_ITEM) {\n\t\t\t\ttranslate += contentElms[idx].offsetWidth + c.RIGHT_MARGIN_WIDTH;\n\t\t\t\tcurrentComponentIdx++;\n\t\t\t//otherwise, need to add the width of the set of items to translate\n\t\t\t} else {\n\t\t\t\tlet currentSetWidth = 0;\n\t\t\t\tfor (currentComponentIdx; currentComponentIdx < contentCount; currentComponentIdx++) {\n\t\t\t\t\tcurrentSetWidth += contentElms[currentComponentIdx].offsetWidth;\n\t\t\t\t\tlet checkWidth = currentSetWidth;\n\t\t\t\t\tif (idx !== 0 || !disableLooping)\n\t\t\t\t\t\tcheckWidth += c.LEFT_MOST_PADDING;\n\n\t\t\t\t\t//far right component could be covered by gradient\n\t\t\t\t\tif (checkWidth >= carouselWidth - c.GRADIENT_WIDTH) {\n\t\t\t\t\t\t//since the width is larger, we want to move to the next set\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\ttranslate += contentElms[currentComponentIdx].offsetWidth + c.RIGHT_MARGIN_WIDTH;\n\t\t\t\t\tcurrentSetWidth += c.RIGHT_MARGIN_WIDTH;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t//Add looping parameters to first and last indicators to handle scrolling\n\tif (!disableLooping && indicators.length > 1) {\n\t\tconst firstIndicator = indicators[0];\n\t\tconst lastIndicator = indicators[indicators.length - 1];\n\n\t\tif (itemsInView === c.SINGLE_ITEM_IN_VIEW) {\n\t\t\tfirstIndicator.loopTranslate = lastIndicator.translate + carouselWidth;\n\t\t\tlastIndicator.loopTranslate = 0;\n\t\t} else {\n\t\t\tfirstIndicator.loopTranslate = firstIndicator.translate + contentWidth;\n\t\t\tlastIndicator.loopTranslate = lastIndicator.translate - contentWidth;\n\t\t}\n\n\t}\n\n\treturn indicators;\n};\n/**\n * getComponentsInView\n *\n * This returns the components that will be in view when transform happens according to transformValue.\n *\n * includePartials=true would include components that are partially visible, false, would ignore partially visible components\n *\n */\nexport const getComponentsInView = (state, transformValue, includePartials = true) => {\n\tconst {\n\t\tcarouselTrackElm,\n\t\tcontentContainerElm\n\t} = state;\n\n\tconst inViewComponents = [];\n\tif (contentContainerElm === null)\n\t\treturn inViewComponents;\n\n\t//Get content of slot\n\tconst allComponents = contentContainerElm.assignedNodes().filter(node => node.style?.display !== 'none');\n\tif (allComponents.length === 0)\n\t\treturn inViewComponents;\n\n\tlet componentIdx = 0;\n\tlet hiddenWidth = 0;\n\tfor (; componentIdx < allComponents.length; componentIdx++) {\n\t\tconst component = allComponents[componentIdx];\n\t\tconst componentWidth = component.offsetWidth + parseFloat(component.style.marginRight || 0) + parseFloat(component.style.marginLeft || 0);\n\t\tconst prevHiddenWidth = hiddenWidth;\n\t\thiddenWidth += componentWidth;\n\t\tif (hiddenWidth\t> transformValue) {\n\t\t\tif (includePartials || prevHiddenWidth >= transformValue)\n\t\t\t\tinViewComponents.push(component);\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tlet accumalatedWidth = hiddenWidth - transformValue;\n\tconst totalWidth = carouselTrackElm.offsetWidth;\n\n\tcomponentIdx++;\n\tfor (; componentIdx < allComponents.length; componentIdx++) {\n\t\tconst component = allComponents[componentIdx];\n\t\tconst componentWidth = component.offsetWidth + parseFloat(component.style.marginRight || 0) + parseFloat(component.style.marginLeft || 0);\n\t\tif (accumalatedWidth + componentWidth > totalWidth) {\n\t\t\tif (includePartials)\n\t\t\t\tinViewComponents.push(component);\n\t\t\tbreak;\n\t\t}\n\t\taccumalatedWidth += componentWidth;\n\t\tinViewComponents.push(component);\n\t}\n\n\treturn inViewComponents;\n};\n\nexport function autoScrollStart(state, updateState, dispatch) {\n\tconst {\n\t\tproperties: {enableAutoScroll, autoScrollSpeed, pauseAutoScroll}\n\t} = state;\n\n\tlet {\n\t\tautoScrollIntervalId\n\t} = state;\n\n\tif (!enableAutoScroll || pauseAutoScroll || autoScrollIntervalId !== c.AUTO_SCROLL_INTERVAL_ID_DEFAULT)\n\t\treturn;\n\n\tautoScrollIntervalId = setInterval(() => {\n\t\tdispatch(c.ACTION_SCROLL, {scrollDirection: c.RIGHT});\n\t}, autoScrollSpeed);\n\n\tupdateState({\n\t\tpath: 'autoScrollIntervalId',\n\t\tvalue: autoScrollIntervalId,\n\t\toperation: c.SET,\n\t\tshouldRender: false\n\t});\n}\n\nexport function autoScrollStop(state, updateState) {\n\tconst {autoScrollIntervalId} = state;\n\tif (autoScrollIntervalId === c.AUTO_SCROLL_INTERVAL_ID_DEFAULT)\n\t\treturn;\n\tclearInterval(autoScrollIntervalId);\n\t// Now that we have cleared the interval, reset the value to default.\n\tupdateState({\n\t\tpath: 'autoScrollIntervalId', value: c.AUTO_SCROLL_INTERVAL_ID_DEFAULT, operation: c.SET, shouldRender: false\n\t});\n}\n\nexport function getActionType(scrollDirection) {\n\tlet actionType = null;\n\tswitch (scrollDirection) {\n\t\tcase c.RIGHT:\n\t\t\tactionType = 'right_arrow_selected';\n\t\t\tbreak;\n\t\tcase c.LEFT:\n\t\t\tactionType = 'left_arrow_selected';\n\t\t\tbreak;\n\t\tcase c.INDICATOR:\n\t\t\tactionType = 'indicator_selected';\n\t\t\tbreak;\n\t}\n\treturn actionType;\n}","import {\n\tareComponentsInitialized,\n\tcalculateIndicators,\n\tgetContentWidth,\n\ttransformComponents\n} from './sn-carousel-common';\nimport {\n\tcreateDuplicates,\n\tdeleteDuplicates,\n\tfindDuplicates\n} from './sn-carousel-duplicates';\nimport {get} from '@servicenow/ui-utils';\nimport c from './sn-carousel-constants';\n\n/**\n * updateComponentStyle\n *\n * configures the style for margin, max width and min width on the component\n */\nconst updateComponentStyle = (component, margin, maxWidth) => {\n\tcomponent.style.margin = margin;\n\n\t//Set max width if width is larger\n\tif (component.offsetWidth > maxWidth) {\n\t\tcomponent.style.maxWidth = `${maxWidth}px`;\n\n\t\t//If there is a min width make sure it is less than max width\n\t\tif (component.style.minWidth && component.offsetWidth > maxWidth)\n\t\t\tcomponent.style.minWidth = `${maxWidth}px`;\n\n\t} else {\n\t\t//Otherwise, update maxWidth if it has been set in case the set width is larger\n\t\tif (component.style.maxWidth)\n\t\t\tcomponent.style.maxWidth = `${maxWidth}px`;\n\t}\n};\n\n/**\n * copyStyle\n *\n * copies the set style of the component for its duplicate\n */\nconst copyStyle = (duplicate, component) => {\n\tduplicate.style.margin = component.style.margin;\n\tif (component.style.maxWidth)\n\t\tduplicate.style.maxWidth = component.style.maxWidth;\n\tif (component.style.minWidth)\n\t\tduplicate.style.minWidth = component.style.minWidth;\n};\n\n/**\n * setComponentMargins\n *\n * sets the margins on the components so that the spacing between them is correct\n */\nexport const setComponentMargins = state => {\n\tconst {contentContainerElm, carouselTrackElm, contentElms, itemsInView, properties: {disableLooping, dir}} = state;\n\tconst components = contentContainerElm.assignedNodes().filter(node => node.style?.display !== 'none');\n\n\tfor (let idx = 0; idx < contentElms.length; idx++) {\n\t\tif (contentElms[idx].offsetWidth === 0)\n\t\t\treturn false;\n\n\t\tlet margin = '0';\n\t\tlet maxWidth = carouselTrackElm.offsetWidth - (2 * c.LEFT_MOST_PADDING);\n\n\t\tif (itemsInView === c.SINGLE_ITEM_IN_VIEW) {\n\t\t\tmaxWidth = carouselTrackElm.offsetWidth;\n\t\t\t//Need to set the max width before getting the offsetWidth in case width is %\n\t\t\tcontentElms[idx].style.maxWidth = `${maxWidth}px`;\n\t\t\t//keep margin 0 if width is 100%\n\t\t\tif (contentElms[idx].style.width !== '100%') {\n\t\t\t\tconst marginWidth = (carouselTrackElm.offsetWidth - contentElms[idx].offsetWidth) / 2;\n\t\t\t\tif (marginWidth > 0)\n\t\t\t\t\tmargin = `0 ${marginWidth}px`;\n\t\t\t}\n\n\t\t} else if (!disableLooping || idx !== contentElms.length - 1) {\n\t\t\tif (dir === c.RTL)\n\t\t\t\tmargin = `0 0 0 ${c.RIGHT_MARGIN_WIDTH}px`;\n\t\t\telse\n\t\t\t\tmargin = `0 ${c.RIGHT_MARGIN_WIDTH}px 0 0 `;\n\t\t}\n\n\t\tupdateComponentStyle(contentElms[idx], margin, maxWidth);\n\n\t\t/*\n\t\t * Need to update the margins and widths of the duplicates\n\t\t * Using the style of the original components, as the duplicate components\n\t\t * might not be fully loaded yet\n\t\t *\n\t\t * Make sure duplicates exist before changing the style\n\t\t */\n\t\tif (!disableLooping) {\n\t\t\tfindDuplicates(components, contentElms[idx]).forEach(duplicate => {\n\t\t\t\tcopyStyle(duplicate, contentElms[idx]);\n\t\t\t});\n\t\t}\n\t}\n\n\treturn true;\n};\n\n/**\n * setupComponents\n *\n * Called in initialization or if there was a on slot change event\n * Stores references of the components\n * Checks to see if there was a change to the components\n * If so, update duplicates if need be\n * If no duplicating required, then setup indicators\n */\nexport const setupComponents = (state, updateState, dispatch, loopingChanged = false) => {\n\tconst {\n\t\taddDuplicatesOnResize,\n\t\tcarouselTrackElm,\n\t\tcontentContainerElm,\n\t\tcontentElms,\n\t\tcontentCount,\n\t\tisSwapping,\n\t\titemsInView,\n\t\tproperties: {\n\t\t\tdisableLooping,\n\t\t\tslidingType\n\t\t}\n\t} = state;\n\n\tif (contentContainerElm === null)\n\t\treturn;\n\n\tif (isSwapping) {\n\t\tupdateState({path: 'isSwapping', value: false, operation: c.SET, shouldRender: false});\n\t\treturn;\n\t}\n\n\tif (addDuplicatesOnResize) {\n\t\tupdateState({path: 'addDuplicatesOnResize', value: false, operation: c.SET, shouldRender: false});\n\t\tdispatch(c.ACTION_RECALCULATE_INDICATORS);\n\t\treturn;\n\t}\n\n\t//Get the new contents of the slot\n\tconst newContentElms = [];\n\tlet newContentCount = 0;\n\tif (contentContainerElm.assignedNodes().length !== 0) {\n\t\tcontentContainerElm.style.transition = c.TRANSITION_TIME;\n\t\tcontentContainerElm.assignedNodes().forEach(node => {\n\t\t\tif (!node.getAttribute('is-clone') && node.style?.display !== 'none')\n\t\t\t\tnewContentElms.push(node);\n\n\t\t});\n\t\tnewContentCount = newContentElms.length;\n\t}\n\n\tnewContentElms.forEach((node, idx) => {\n\t\tconst focusinEventHandler = () => {\n\t\t\tdispatch(c.ACTION_FOCUS_IN_ITEM, {node, idx});\n\t\t};\n\n\t\tif (node.carouselItemFocusinHandler)\n\t\t\tnode.removeEventListener('focusin', node.carouselItemFocusinHandler);\n\n\t\tnode.addEventListener('focusin', focusinEventHandler);\n\t\tnode.carouselItemFocusinHandler = focusinEventHandler;\n\t});\n\n\t//Check to see if there was any change\n\tlet contentChanged = false;\n\tif (contentCount !== newContentCount) \n\t\tcontentChanged = true;\n\t else {\n\t\tfor (let i = 0; i < contentElms.length; i++) {\n\t\t\tif (!contentElms[i].isSameNode(newContentElms[i])) {\n\t\t\t\tcontentChanged = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!areComponentsInitialized(newContentElms)) {\n\t\tsetTimeout(() => {\n\t\t\tdispatch(c.ACTION_SLOT_CHANGE);\n\t\t}, 100);\n\n\t\treturn;\n\t}\n\n\t//Check to see if content fits the carousel\n\tconst contentWidth = getContentWidth(newContentElms, itemsInView, disableLooping, carouselTrackElm.offsetWidth);\n\tconst fitsContainer = (contentWidth <= carouselTrackElm.offsetWidth);\n\n\tupdateState([\n\t\t{path: 'contentCount', value: newContentCount, operation: c.SET, shouldRender: false},\n\t\t{path: 'contentElms', value: newContentElms, operation: c.SET, shouldRender: false}\n\t]);\n\n\tif (loopingChanged || contentChanged) {\n\t\tlet slotChangeEvent = false;\n\t\t//remove any duplicate components\n\t\tconst hostNode = contentContainerElm.getRootNode().host;\n\t\tslotChangeEvent = deleteDuplicates(hostNode, contentContainerElm);\n\n\t\t//If looping, add duplicate components if content changed\n\t\tif (!disableLooping && !fitsContainer) {\n\t\t\t//Create duplicates components before start of window\n\t\t\tcreateDuplicates(contentContainerElm, newContentElms, itemsInView, slidingType, carouselTrackElm.offsetWidth);\n\t\t\tslotChangeEvent = true;\n\t\t}\n\n\t\t/*\n\t\t * Deleting or creating duplicates will fire another on slot change event,\n\t\t * so we don't want to update the indicators\n\t\t * If no duplicates were deleted or created, then update the indicators\n\t\t */\n\t\tif (!slotChangeEvent)\n\t\t\tdispatch(c.ACTION_UPDATE_INDICATORS);\n\t} else {\n\t\t//update the indicators now that the components have been setup\n\t\tdispatch(c.ACTION_UPDATE_INDICATORS);\n\t}\n\tdispatch(c.ACTION_TRANSITION_END);\n};\n\n/**\n * setupIndicators\n *\n * sets the margins on the components, then calculates the indicators and moves the carousel to\n * the starting position\n */\nexport const setupIndicators = (state, updateProperties, updateState, dispatch) => {\n\tconst {contentContainerElm, currentIndex, hasStarted, properties: {startingIndex}} = state;\n\n\t//If settings the margins failed, stop setting up the indicators and try again after waiting 100ms\n\tif (!setComponentMargins(state)) {\n\t\tsetTimeout(() => {\n\t\t\tdispatch(c.ACTION_UPDATE_INDICATORS);\n\t\t}, 100);\n\n\t\treturn;\n\t}\n\n\t//calculate indicators and add to state\n\tconst indicators = calculateIndicators(state);\n\n\t//Update index\n\tlet selectedIndex = 0;\n\tif (indicators.length > 1) {\n\t\tconst position = hasStarted ? currentIndex : startingIndex;\n\t\tif (position >= indicators.length)\n\t\t\tselectedIndex = indicators.length - 1;\n\t\telse if (position < 0)\n\t\t\tselectedIndex = 0;\n\t\telse\n\t\t\tselectedIndex = position;\n\t}\n\n\tupdateState([\n\t\t{path: c.INDICATORS, value: indicators, operation: c.SET, shouldRender: true},\n\t\t{path: c.CURRENT_INDEX, value: selectedIndex, operation: c.SET, shouldRender: false},\n\t\t{path: c.HAS_STARTED, value: ( indicators.length > 1 ), operation: c.SET, shouldRender: false}\n\t]);\n\n\t//Move components to starting position\n\tif (contentContainerElm !== null && indicators.length !== 0)\n\t\ttransformComponents(state, updateState, `${indicators[selectedIndex].translate}`, c.NONE);\n\n\tdispatch(c.ACTION_INDICATOR_INDEX_UPDATED, {indicator: selectedIndex, numIndicators: indicators.length});\n\n\t//Metric Event for Initial Load\n\tif (state.didRender === false && (state.indicators.length > 0 || state.contentCount === 0)) {\n\t\tconst metadata = {\n\t\t\ttitle: !!state.properties.carouselTitle,\n\t\t\ttitleVariant: state.properties.titleVariant,\n\t\t\ttitlePosition: state.properties.titlePosition,\n\t\t\thideLink: state.properties.hideLink,\n\t\t\tlinkIcon: !!state.properties.linkIcon,\n\t\t\titemsInView: state.properties.itemsInView,\n\t\t\tslidingType: state.properties.slidingType,\n\t\t\tdisableLooping: state.properties.disableLooping,\n\t\t\tnavStyle: state.properties.navStyle,\n\t\t\tnavPosition: state.properties.navPosition,\n\t\t\tgradientStyle: state.properties.gradientStyle,\n\t\t\thideDotIndicator: state.properties.hideDotIndicator,\n\t\t\tstartingIndex: state.properties.startingIndex,\n\t\t\tcontentCount: state.contentCount,\n\t\t\tnumberOfIndicators: state.indicators.length,\n\t\t\tcurrentIndex: state.currentIndex\n\t\t};\n\t\tdispatch(c.METRIC_TRACKED, {eventName: c.CAROUSEL_INITIAL_LOAD, metadata});\n\t\tupdateState([\n\t\t\t{path: 'didRender', value: true, operation: c.SET, shouldRender: false}\n\t\t]);\n\t}\n};\n","import {\n\tcalculateIndicators,\n\tgetComponentsInView,\n\tgetContentWidth,\n\tgetTranslation,\n\ttransformComponents\n} from './sn-carousel-common';\nimport {\n\tcreateDuplicates,\n\tdeleteDuplicates\n} from './sn-carousel-duplicates';\nimport {setComponentMargins} from './sn-carousel-setup';\nimport c from './sn-carousel-constants';\n\n/**\n * recalculateIndicators\n *\n * when the carousel is resized, we need to update the indicators to reflect the new size\n * may need to adjust the carousel's components position\n */\nexport const recalculateIndicators = (state, updateState, dispatch) => {\n\tconst {\n\t\tcarouselTrackElm,\n\t\tcontentContainerElm,\n\t\tcontentElms,\n\t\tcurrentIndex: originalIndex,\n\t\tindicators: originalIndicators,\n\t\titemsInView,\n\t\tproperties: {\n\t\t\tdisableLooping,\n\t\t\tslidingType\n\t\t}\n\t} = state;\n\n\tconst prevContentWidth = getContentWidth(contentElms, itemsInView, disableLooping, carouselTrackElm.offsetWidth);\n\n\t//The max width might need to be updated\n\tsetComponentMargins(state);\n\n\tconst currentContentWidth = getContentWidth(contentElms, itemsInView, disableLooping, carouselTrackElm.offsetWidth);\n\tconst widthChanged = (prevContentWidth !== currentContentWidth);\n\n\tconst indicators = calculateIndicators(state);\n\tlet newIndex = originalIndex;\n\tif (newIndex >= indicators.length)\n\t\tnewIndex = indicators.length - 1;\n\n\tif (indicators.length > 1) {\n\n\t\t//If only one item is in view, move it to its proper position after updating spacing\n\t\tif (itemsInView === c.SINGLE_ITEM_IN_VIEW) \n\t\t\ttransformComponents(state, updateState, `${indicators[newIndex].translate}`, c.NONE);\n\n\t\t//If at the right most index, keep it in that position\n\t\t else if ((originalIndex !== 0 && originalIndex === originalIndicators.length - 1) || newIndex >= indicators.length - 1) {\n\t\t\tnewIndex = indicators.length - 1;\n\t\t\ttransformComponents(state, updateState, `${indicators[newIndex].translate}`, c.NONE);\n\n\t\t//If the width was changed, move the component to its new position (NOTE: May change which component is in view)\n\t\t} else if (widthChanged) \n\t\t\ttransformComponents(state, updateState, `${indicators[newIndex].translate}`, c.NONE);\n\n\t\t//if sliding type is next set of items and translations are not the same\n\t\t else if (slidingType === c.NEXT_SET_OF_ITEMS && getTranslation(contentContainerElm) !== indicators[newIndex].translate) \n\t\t\ttransformComponents(state, updateState, `${indicators[newIndex].translate}`, c.NONE);\n\t\t\n\n\t\t//Otherwise, don't change the positioning of the components\n\n\t} else {\n\t\t//Moving components back to starting position\n\t\tnewIndex = 0;\n\t\ttransformComponents(state, updateState, 0, c.NONE);\n\t}\n\n\tupdateState([\n\t\t{path: c.INDICATORS, value: indicators, operation: c.SET, shouldRender: true},\n\t\t{path: c.CURRENT_INDEX, value: newIndex, operation: c.SET, shouldRender: false}\n\t]);\n\n\tdispatch(c.ACTION_INDICATOR_INDEX_UPDATED, {indicator: newIndex, numIndicators: indicators.length});\n};\n\n/**\n * handleResize\n *\n * determine if we need to remove/add duplicates while looping which\n * will move the carousel back to the starting position if required\n * otherwise, update the indicators\n */\nexport const handleResize = (state, updateState, dispatch, prevWidth, currentWidth) => {\n\tconst {\n\t\tcontentContainerElm,\n\t\tcontentElms,\n\t\titemsInView,\n\t\tproperties: {\n\t\t\tdisableLooping,\n\t\t\tslidingType\n\t\t}\n\t} = state;\n\n\tconst contentWidth = getContentWidth(contentElms, itemsInView, disableLooping, currentWidth);\n\n\t//Carousel size was made larger\n\tif (currentWidth > prevWidth) {\n\t\t//Check if content now fits the carousel\n\t\tif (contentWidth < currentWidth && contentWidth > prevWidth) {\n\t\t\t//remove duplicates if looping\n\t\t\tif (!disableLooping) {\n\t\t\t\tconst hostNode = contentContainerElm.getRootNode().host;\n\t\t\t\tdeleteDuplicates(hostNode, contentContainerElm);\n\n\t\t\t\t//Deleting duplicates will cause slot change event\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t//if duplicates were added due to the width change, there will be a slot change event\n\t\tif (!disableLooping && createDuplicates(contentContainerElm, contentElms, itemsInView, slidingType, currentWidth, true)) {\n\t\t\tupdateState({path: 'addDuplicatesOnResize', value: true, operation: c.SET, shouldRender: false});\n\t\t\treturn;\n\t\t}\n\n\t//Carousel size was made smaller\n\t} else {\n\t\t//Check if content now fits the carousel\n\t\tif (contentWidth > currentWidth && contentWidth < prevWidth) {\n\t\t\t//Add duplicates for looping\n\t\t\tif (!disableLooping) {\n\t\t\t\tcreateDuplicates(contentContainerElm, contentElms, itemsInView, slidingType, currentWidth, true);\n\n\t\t\t\t//adding duplicates will cause slot change event\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\trecalculateIndicators(state, updateState, dispatch);\n\t\n\t//DEF0595372 - update `IS_TRANSITION_PENDING` state to false\n\t//To make sure transition state doesn't end up in weird state, while autoscroll & resize happens at the same time\n\tupdateState({path: c.IS_TRANSITION_PENDING, value: false, operation: c.SET, shouldRender: false});\n};\n","import {transformComponents, getActionType} from './sn-carousel-common';\nimport c from './sn-carousel-constants';\n\n/**\n * updateNavigationFocus\n *\n * if the focus is on one of the arrows, but that arrow disappears after clicking it, set\n * the focus on the other arrow\n */\nconst updateNavigationFocus = (host, scrollDirection, disableLooping, index, indicators) => {\n\tif (disableLooping) {\n\t\tif (host.shadowRoot.activeElement === host.shadowRoot.querySelector(`.${c.ARROW}.${scrollDirection} now-button-iconic`)) {\n\t\t\tif (scrollDirection === c.LEFT) {\n\t\t\t\tif (index === 0) {\n\t\t\t\t\t//using setTimeout in case the right arrow is not visible yet (only two indicators)\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\thost.shadowRoot.querySelector(`.${c.ARROW}.${c.RIGHT} now-button-iconic`).focus();\n\t\t\t\t\t}, 100);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (index === indicators.length - 1) {\n\t\t\t\t\t//using setTimeout in case the left arrow is not visible yet (only two indicators)\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\thost.shadowRoot.querySelector(`.${c.ARROW}.${c.LEFT} now-button-iconic`).focus();\n\t\t\t\t\t}, 100);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * scrollEffect\n *\n * move the carousel to the proper position based on which arrow was clicked\n */\nexport const scrollEffect = (scrollDirection, host, state, updateState, dispatch, actionType) => {\n\n\tconst {\n\t\tcontentContainerElm, indicators, isTransitionPending,\n\t\tcurrentIndex: originalIndex,\n\t\tproperties: {disableLooping, dir, enableAutoScroll}\n\t} = state;\n\tconst metadata = {\n\t\ttype: scrollDirection === 'left' ? 'previous' : 'next',\n\t\tlooped: state.properties.disableLooping ? 'not configured' : false\n\t};\n\n\t// Avoid additional scrolls until the transitionEnd has executed for the previous scroll\n\tif (isTransitionPending)\n\t\treturn;\n\n\tlet newIndex = originalIndex;\n\tlet useLoopTranslate = false;\n\n\tif (scrollDirection === c.RIGHT) {\n\t\tnewIndex++;\n\t\tif (newIndex >= indicators.length) {\n\t\t\tif (enableAutoScroll || !disableLooping) {\n\t\t\t\tnewIndex = 0;\n\t\t\t\tuseLoopTranslate = true;\n\t\t\t\tmetadata.looped = true;\n\t\t\t} else \n\t\t\t\tnewIndex = indicators.length - 1;\n\t\t\t\n\t\t}\n\t} else {\n\t\tnewIndex--;\n\t\tif (newIndex < 0) {\n\t\t\tif (disableLooping) \n\t\t\t\tnewIndex = 0;\n\t\t\t else {\n\t\t\t\tnewIndex = indicators.length - 1;\n\t\t\t\tuseLoopTranslate = true;\n\t\t\t\tmetadata.looped = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (useLoopTranslate)\n\t\ttransformComponents(state, updateState, `${indicators[newIndex].loopTranslate}`, c.TRANSITION_TIME, false);\n\telse\n\t\ttransformComponents(state, updateState, `${indicators[newIndex].translate}`);\n\n\tupdateState([\n\t\t{path: c.CURRENT_INDEX, value: newIndex, operation: c.SET, shouldRender: true},\n\t\t{path: c.IS_TRANSITION_PENDING, value: true, operation: c.SET, shouldRender: false}\n\t]);\n\n\tdispatch(c.ACTION_INDICATOR_INDEX_UPDATED, {indicator: newIndex, numIndicators: indicators.length, actionType});\n\tdispatch(c.METRIC_TRACKED, {eventName: c.NAVIGATION_INTERACTION, metadata});\n\n\tupdateNavigationFocus(host, scrollDirection, disableLooping, newIndex, indicators);\n};\n\n/**\n * indicatorClickedEffect\n *\n * move the carousel to the proper position based on which indicator was clicked\n */\nexport const indicatorClickedEffect = (action, state, updateState, dispatch, actionType) => {\n\tconst {payload: {indicatorClickedIdx, nextIndicator}} = action;\n\tconst {\n\t\tindicators, isTransitionPending, contentContainerElm\n\t} = state;\n\tconst metadata = {\n\t\ttype: 'dot indicator'\n\t};\n\n\t// Avoid additional scrolls until the transitionEnd has executed for the previous scroll\n\tif (isTransitionPending)\n\t\treturn;\n\n\ttransformComponents(state, updateState, `${indicators[indicatorClickedIdx].translate}`);\n\n\tupdateState([\n\t\t{path: c.CURRENT_INDEX, value: indicatorClickedIdx, operation: c.SET, shouldRender: true},\n\t\t{path: c.IS_TRANSITION_PENDING, value: true, operation: c.SET, shouldRender: false}\n\t]);\n\n\tdispatch(c.ACTION_INDICATOR_INDEX_UPDATED, {indicator: indicatorClickedIdx, numIndicators: indicators.length, actionType});\n\n\tdispatch(c.METRIC_TRACKED, {eventName: c.NAVIGATION_INTERACTION, metadata});\n\n\tif (nextIndicator)\n\t\tdispatch(c.ACTION_ARROW_KEY_PRESSED, {nextIndicator});\n};\n\n/**\n * transitionEndEffect\n *\n * removes the scrolling class added to the carousel track\n * If looping and moving from start to end (or vice versa), update the position to original indicator position\n */\nexport const transitionEndEffect = (dispatch, state, updateState) => {\n\tconst {\n\t\tcontentContainerElm, carouselTrackElm, isSwapping,\n\t\tindicators, currentIndex, properties: {disableLooping, dir}\n\t} = state;\n\n\tif (indicators.length === 0)\n\t\treturn;\n\n\n\t/*\n\t * When Javascript interprets the code, i.e. especially with transitions, it messes up with order as it executes\n\t * super-fast. To make sure the following effect happens, we are doing the setTimeout way.\n\t *\n\t * 100ms wait is executed to avoid jerky movements of the components\n\t */\n\tsetTimeout(() => {\n\n\t\t//If looping, we want to reset the translations if scrolling before the beginning or after the end\n\n\t\tif (!disableLooping && (currentIndex === 0 || currentIndex === indicators.length - 1))\n\t\t\ttransformComponents(state, updateState, `${indicators[currentIndex].translate}`, c.NONE);\n\n\n\t\t/*\n\t\t * We would like to update isTransitionPending only when we enable transition i.e. by setting the value\n\t\t * of contentContainerElm.style.transition. If not there are issues with scroll\n\t\t */\n\t\tupdateState({path: c.IS_TRANSITION_PENDING, value: false, operation: c.SET, shouldRender: false});\n\n\t\t/*\n\t\t * The scrolling class has been added in arrow or indicator click\n\t\t * It needs to be removed once the transition has completed so the user can scroll\n\t\t * the carousel again\n\t\t */\n\t\tcarouselTrackElm.classList.remove(c.SCROLLING);\n\t}, 100);\n};\n\n/**\n * swipeEffect\n *\n * determines which way to scroll when swiping and then calls scrollEffect\n */\nexport const swipeEffect = (touchStart, touchEnd, host, state, updateState, dispatch) => {\n\tconst {\n\t\tcarouselTrackElm, currentIndex, indicators,\n\t\tproperties: {disableLooping}\n\t} = state;\n\n\tif (touchEnd === touchStart) \n\t\treturn;\n\n\tlet scrollDirection = c.RIGHT;\n\t//if swipe right, scroll left\n\tif (touchEnd > touchStart)\n\t\tscrollDirection = c.LEFT;\n\n\t//do not want to scroll past end positions\n\tif (disableLooping && ((currentIndex === 0 && scrollDirection === c.LEFT) ||\n\t\t(currentIndex === indicators.length - 1 && scrollDirection === c.RIGHT)))\n\t\treturn;\n\n\t//c.SCROLLING class is added before transition and is removed on-transitionend\n\tcarouselTrackElm.classList.add(c.SCROLLING);\n\n\tconst actionType = getActionType(scrollDirection);\n\tscrollEffect(scrollDirection, host, state, updateState, dispatch, actionType);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t} });","import c from './sn-carousel-constants';\n// noinspection ES6CheckImport\nimport {actionTypes} from '@servicenow/ui-core';\nimport {get} from '@servicenow/ui-utils';\nimport {getComponentsInView, getTranslation, transformComponents, autoScrollStart, autoScrollStop, getActionType} from './sn-carousel-common';\nimport {handleResize, recalculateIndicators} from './sn-carousel-resize';\nimport {\n\tindicatorClickedEffect,\n\tscrollEffect,\n\tswipeEffect,\n\ttransitionEndEffect\n} from './sn-carousel-scroll';\nimport {resetPositions} from './sn-carousel-duplicates';\nimport {setupComponents, setupIndicators} from './sn-carousel-setup';\nimport track from '@devsnc/ux-metrics';\n\nconst {COMPONENT_DOM_READY, COMPONENT_TREE_RENDERED, COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nconst isZoomedIn = () => window.devicePixelRatio >= 4;\n\nconst updateItemsInView = (updateState, itemsInView) => {\n\tif (isZoomedIn()) {\n\t\tupdateState([\n\t\t\t{path: c.ITEMS_IN_VIEW, value: c.SINGLE_ITEM_IN_VIEW, operation: c.SET, shouldRender: false}\n\t\t]);\n\t\treturn c.SINGLE_ITEM_IN_VIEW;\n\t} \n\tupdateState([\n\t\t{path: c.ITEMS_IN_VIEW, value: itemsInView, operation: c.SET, shouldRender: false}\n\t]);\n\treturn itemsInView;\n\t\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_DOM_READY]: {\n\t\teffect({state, dispatch, updateProperties}) {\n\t\t\tconst {enableAutoScroll, pauseAutoScroll} = state.properties;\n\t\t\tif (enableAutoScroll){\n\t\t\t\tupdateProperties({\n\t\t\t\t\tdisableLooping: false\n\t\t\t\t});\n\t\t\t\tif(!pauseAutoScroll)\n\t\t\t\t\tdispatch(c.ACTION_AUTO_SCROLL_START);\n\t\t\t}\n\t\t}\n\t},\n\t[COMPONENT_TREE_RENDERED]: {\n\t\teffect({state, updateState, dispatch}) {\n\t\t\tconst {carouselTrackElm, carouselWidth, properties: {singleItemOnZoom, itemsInView}} = state;\n\t\t\t//For UIB, set up components once the width is non zero\n\t\t\tif (carouselTrackElm && carouselWidth === 0 && carouselWidth !== carouselTrackElm.offsetWidth) {\n\t\t\t\tupdateState({path: c.CAROUSEL_WIDTH, value: carouselTrackElm.offsetWidth, operation: c.SET, shouldRender: false});\n\t\t\t\tif (singleItemOnZoom) \n\t\t\t\t\tstate.itemsInView = updateItemsInView(updateState, itemsInView);\n\t\t\t\t\n\t\t\t\tsetupComponents(state, updateState, dispatch);\n\t\t\t}\n\n\t\t\t//When the carousel width changes, handle resize\n\t\t\tif (carouselWidth !== 0 && carouselWidth !== carouselTrackElm.offsetWidth && carouselTrackElm.offsetWidth !== 0) {\n\t\t\t\tif (singleItemOnZoom) \n\t\t\t\t\tstate.itemsInView = updateItemsInView(updateState, itemsInView);\n\t\t\t\t\n\t\t\t\tupdateState({path: c.CAROUSEL_WIDTH, value: carouselTrackElm.offsetWidth, operation: c.SET, shouldRender: false});\n\t\t\t\thandleResize(state, updateState, dispatch, carouselWidth, carouselTrackElm.offsetWidth);\n\t\t\t}\n\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect({action, state, updateState, dispatch, updateProperties}) {\n\t\t\tconst propertyChanged = get(action.payload, c.NAME);\n\t\t\tconst {\n\t\t\t\tcarouselTrackElm, contentContainerElm, itemsInView,\n\t\t\t\tproperties: {disableLooping, singleItemOnZoom, itemsInView: propItemsInView, pauseAutoScroll}\n\t\t\t} = state;\n\n\t\t\t//If property changes scrolling logic, reset everything\n\t\t\tif (propertyChanged === c.DISABLE_LOOPING || propertyChanged === c.ITEMS_IN_VIEW\n\t\t\t\t|| propertyChanged === c.SLIDING_TYPE || propertyChanged === c.SINGLE_ITEM_ON_ZOOM) {\n\n\t\t\t\tif (carouselTrackElm !== null)\n\t\t\t\t\tcarouselTrackElm.classList.remove(c.SCROLLING);\n\n\t\t\t\tif (propertyChanged === c.DISABLE_LOOPING || propertyChanged === c.SLIDING_TYPE ) {\n\t\t\t\t\tif (contentContainerElm && getTranslation(contentContainerElm) !== 0) {\n\t\t\t\t\t\tcontentContainerElm.style.transition = c.NONE;\n\t\t\t\t\t\tcontentContainerElm.style.transform = 'translate(0px)';\n\t\t\t\t\t}\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tcurrentIndex: 0,\n\t\t\t\t\t\tisTransitionPending: false\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tif (singleItemOnZoom) \n\t\t\t\t\t\tupdateItemsInView(updateState, propItemsInView);\n\t\t\t\t\t else {\n\t\t\t\t\t\tupdateState([\n\t\t\t\t\t\t\t{path: 'itemsInView', value: propItemsInView, operation: c.SET, shouldRender: false}\n\t\t\t\t\t\t]);\n\t\t\t\t\t}\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tisTransitionPending: false\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (propertyChanged !== c.DISABLE_LOOPING && !disableLooping)\n\t\t\t\t\tresetPositions(contentContainerElm.getRootNode().host, contentContainerElm);\n\n\t\t\t\tsetupComponents(state, updateState, dispatch, (propertyChanged === c.DISABLE_LOOPING || !disableLooping));\n\t\t\t}\n\n\t\t\tif (propertyChanged === c.ENABLE_AUTOSCROLL) {\n\t\t\t\tif(action.payload.value){\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tdisableLooping: false\n\t\t\t\t\t});\n\t\t\t\t\tif (!pauseAutoScroll) \n\t\t\t\t\t\tdispatch(c.ACTION_AUTO_SCROLL_START);\n\t\t\t\t\telse \n\t\t\t\t\t\tdispatch(c.ACTION_AUTO_SCROLL_STOP);\n\t\t\t\t}else{\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tdisableLooping: true\n\t\t\t\t\t});\n\t\t\t\t\tdispatch(c.ACTION_AUTO_SCROLL_STOP);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tif (propertyChanged === c.PAUSE_AUTOSCROLL) {\n\t\t\t\tif (!action.payload.value) \n\t\t\t\t\tdispatch(c.ACTION_AUTO_SCROLL_START);\n\t\t\t\t else \n\t\t\t\t\tdispatch(c.ACTION_AUTO_SCROLL_STOP);\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t},\n\t[c.ACTION_SCROLL]: {\n\t\tstopPropagation: true,\n\t\teffect({action, state, host, updateState, dispatch}) {\n\t\t\tconst {payload: {scrollDirection}} = action;\n\t\t\tscrollEffect(scrollDirection, host, state, updateState, dispatch);\n\t\t}\n\t},\n\t[c.NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect({action, state, host, updateState, dispatch, updateProperties}) {\n\t\t\tconst {currentIndex, indicators} = state;\n\t\t\tconst {pauseAutoScroll} = state.properties;\n\t\t\tconst {payload: {carouselTrackElm, scrollDirection, autoScrollAction}} = action;\n\n\t\t\tif (autoScrollAction === c.PAUSE || autoScrollAction === c.PLAY) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tpauseAutoScroll: !pauseAutoScroll\n\t\t\t\t});\n\t\t\t\tdispatch(c.ACTION_AUTO_SCROLL_PAUSED, {isPaused: !pauseAutoScroll, indicator: currentIndex, numIndicators: indicators.length});\n\t\t\t\taction.stopPropagation();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst actionType = getActionType(scrollDirection);\n\n\t\t\t// stop event propagation for now-button-iconic, only if click is from navigation buttons\n\t\t\tif (carouselTrackElm && scrollDirection) {\n\t\t\t\t//c.SCROLLING class is added before transition and is removed on-transitionend\n\t\t\t\tcarouselTrackElm.classList.add(c.SCROLLING);\n\t\t\t\tscrollEffect(scrollDirection, host, state, updateState, dispatch, actionType);\n\t\t\t\taction.stopPropagation();\n\t\t\t}\n\t\t}\n\t},\n\t[c.ACTION_INDICATOR_CLICKED]: {\n\t\tstopPropagation: true,\n\t\teffect({action, state, updateState, dispatch}) {\n\t\t\tconst actionType = getActionType(c.INDICATOR);\n\t\t\tindicatorClickedEffect(action, state, updateState, dispatch, actionType);\n\t\t}\n\t},\n\t[c.ACTION_TRANSITION_END]: {\n\t\tstopPropagation: true,\n\t\teffect({dispatch, state, updateState}) {\n\t\t\ttransitionEndEffect(dispatch, state, updateState);\n\t\t}\n\t},\n\t[c.ACTION_RECALCULATE_INDICATORS]: {\n\t\tstopPropagation: true,\n\t\teffect({dispatch, state, updateState}) {\n\t\t\trecalculateIndicators(state, updateState, dispatch);\n\t\t}\n\t},\n\t[c.ACTION_SLOT_CHANGE]: {\n\t\tstopPropagation: true,\n\t\teffect({dispatch, state, updateState}) {\n\t\t\tsetupComponents(state, updateState, dispatch);\n\t\t}\n\t},\n\t[c.ACTION_TOUCH_END]: {\n\t\tstopPropagation: true,\n\t\teffect({action, state, host, updateState, dispatch}) {\n\t\t\tconst {touchStart} = state;\n\t\t\tconst {payload: {touchEnd}} = action;\n\t\t\tswipeEffect(touchStart, touchEnd, host, state, updateState, dispatch);\n\t\t}\n\t},\n\t[c.ACTION_UPDATE_INDICATORS]: {\n\t\tstopPropagation: true,\n\t\teffect ({state, updateProperties, updateState, dispatch}) {\n\t\t\tsetupIndicators(state, updateProperties, updateState, dispatch);\n\t\t}\n\t},\n\t[c.NOW_BUTTON_BARE_CLICKED]: {\n\t\teffect({action, dispatch}) {\n\t\t\tconst metadata = {\n\t\t\t\ttype: 'viewAllLink'\n\t\t\t};\n\t\t\t//Only dispatch ACTION_LINK_CLICKED if the 'view all' link was clicked\n\t\t\tif (action.meta.appended) {\n\t\t\t\tconst {component} = action.meta.appended;\n\t\t\t\tif (component === c.SN_CAROUSEL) {\n\t\t\t\t\taction.stopPropagation();\n\t\t\t\t\tdispatch(c.ACTION_LINK_CLICKED);\n\t\t\t\t\tdispatch(c.METRIC_TRACKED, {eventName: c.NAVIGATION_INTERACTION, metadata});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t[c.METRIC_TRACKED]:{\n\t\tstopPropagation: true,\n\t\teffect(coeffects) {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {metadata, eventName}\n\t\t\t\t}\n\t\t\t} = coeffects;\n\t\t\ttrack(coeffects, eventName, metadata);\n\t\t}\n\t},\n\t[c.ACTION_ARROW_KEY_PRESSED]:{\n\t\tstopPropagation: true,\n\t\teffect(coeffects) {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {nextIndicator}\n\t\t\t\t}\n\t\t\t} = coeffects;\n\t\t\tnextIndicator.focus();\n\t\t}\n\t},\n\t[c.ACTION_FOCUS_IN_ITEM]:{\n\t\tstopPropagation: true,\n\t\teffect(coeffects) {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {node, idx}\n\t\t\t\t},\n\t\t\t\tstate, host, updateState, dispatch\n\t\t\t} = coeffects;\n\t\t\tconst {indicators, carouselTrackElm, currentIndex\n\t\t\t} = state;\n\t\t\tconst inViewComponents = getComponentsInView(state, indicators[currentIndex].translate, false);\n\t\t\tlet indicatorIdx = 0;\n\t\t\twhile (indicatorIdx < indicators.length - 1 && indicators[indicatorIdx + 1].content <= idx)\n\t\t\t\tindicatorIdx += 1;\n\n\t\t\tif (!inViewComponents.includes(node)) {\n\t\t\t\tcarouselTrackElm.classList.add(c.SCROLLING);\n\n\t\t\t\ttransformComponents(state, updateState, `${indicators[indicatorIdx].translate}`);\n\n\t\t\t\tupdateState([\n\t\t\t\t\t{path: c.CURRENT_INDEX, value: indicatorIdx, operation: c.SET, shouldRender: true},\n\t\t\t\t\t{path: c.IS_TRANSITION_PENDING, value: true, operation: c.SET, shouldRender: false}\n\t\t\t\t]);\n\t\t\t\tdispatch(c.ACTION_INDICATOR_INDEX_UPDATED, {indicator: indicatorIdx, numIndicators: indicators.length});\n\t\t\t\tdispatch(c.METRIC_TRACKED, {eventName: c.NAVIGATION_INTERACTION, metadata: {type: 'tab focus'}});\n\t\t\t}\n\t\t}\n\t},\n\t[c.ACTION_AUTO_SCROLL_START]: {\n\t\tstopPropagation: true,\n\t\teffect({dispatch, state, updateState}) {\n\t\t\tautoScrollStart(state, updateState, dispatch);\n\t\t}\n\t},\n\n\t[c.ACTION_AUTO_SCROLL_STOP]: {\n\t\tstopPropagation: true,\n\t\teffect({state, updateState}) {\n\t\t\tautoScrollStop(state, updateState);\n\t\t}\n\t}\n};\n","import c from './sn-carousel-constants';\n\nexport const initialState = {\n\taddDuplicatesOnResize: false,\n\tcarouselTrackElm: null,\n\tcarouselWidth: 0,\n\tcontentContainerElm: null,\n\tcontentCount: 0,\n\tcontentElms: [],\n\tcurrentIndex: 0,\n\tdidRender: false,\n\terrorMessage: null,\n\tindicators: [],\n\tisSwapping: false,\n\tisTransitionPending: false,\n  \thasStarted: false,\n\ttouchStart: 0,\n\tautoScrollIntervalId: c.AUTO_SCROLL_INTERVAL_ID_DEFAULT\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_0_23_index_jsdbx_63fc5bcd__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_23_index_jsdbx_d2993a74__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import c from './sn-carousel-constants';\n\nconst getDisplayArrowClass = (state, arrowType) => {\n\tconst {currentIndex, indicators, properties: {disableLooping, navPosition}} = state;\n\n\t//if looping, we always show the arrows\n\tif (!disableLooping)\n\t\treturn c.SHOW;\n\n\tlet hideArrow = false;\n\tif (arrowType === c.LEFT)\n\t\thideArrow = (currentIndex === 0);\n\telse\n\t\thideArrow = (currentIndex === indicators.length - 1);\n\n\tif (!hideArrow)\n\t\treturn c.SHOW;\n\n\tif (navPosition === c.CENTER)\n\t\treturn c.HIDE;\n\n\treturn c.DISABLED;\n};\n\nexport const getNavigationControls = (state, dispatch) => {\n\tconst {contentCount, indicators, carouselTrackElm, properties: {navPosition, navStyle}} = state;\n\n\t//If there are no components or if all of the components fit the width of the carousel, don't show arrows\n\tif (contentCount === 0 || indicators.length <= 1)\n\t\treturn '';\n\n\tconst displayLeftArrow = getDisplayArrowClass(state, c.LEFT);\n\tconst displayRightArrow = getDisplayArrowClass(state, c.RIGHT);\n\n\treturn (\n\t\t<div className={`${c.ARROWS} ${navPosition}`}>\n\t\t\t<span className={`${c.ARROW} ${c.LEFT} ${navPosition} ${displayLeftArrow}`}>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tsize=\"lg\" bare variant=\"primary\" hidePadding\n\t\t\t\t\ticon={`${c.LEFT_ARROW_ICON}-${navStyle}`}\n\t\t\t\t\tdisabled={displayLeftArrow === c.DISABLED}\n\t\t\t\t\tclassName={'nav-button'}\n\t\t\t\t\ttooltipContent={c.BACKWARD}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': c.BACKWARD,\n\t\t\t\t\t\t\t...(displayLeftArrow === c.DISABLED && {'aria-disabled': 'true'})\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tscrollDirection: c.LEFT,\n\t\t\t\t\t\tcarouselTrackElm\n\t\t\t\t\t}}><\/now-button-iconic>\n\t\t\t<\/span>\n\t\t\t<span className={`${c.ARROW} ${c.RIGHT} ${navPosition} ${displayRightArrow}`}>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tsize=\"lg\" bare variant=\"primary\" hidePadding\n\t\t\t\t\ticon={`${c.RIGHT_ARROW_ICON}-${navStyle}`}\n\t\t\t\t\tdisabled={displayRightArrow === c.DISABLED}\n\t\t\t\t\tclassName={'nav-button'}\n\t\t\t\t\ttooltipContent={c.FORWARD}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': c.FORWARD,\n\t\t\t\t\t\t\t...(displayRightArrow === c.DISABLED && {'aria-disabled': 'true'})\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tscrollDirection: c.RIGHT,\n\t\t\t\t\t\tcarouselTrackElm\n\t\t\t\t\t}}\n\t\t\t\t><\/now-button-iconic>\n\t\t\t<\/span>\n\t\t<\/div>\n\t);\n};\n","import '@servicenow/now-button';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-highlighted-value';\n\nimport {t} from 'sn-translate';\n\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {getIndicators} from './sn-carousel-indicators';\nimport {getNavigationControls} from './sn-carousel-nav';\nimport c from './sn-carousel-constants';\n\nconst showTitle = state => {\n\tconst {properties: {hideTitle, carouselTitle}} = state;\n\treturn !(hideTitle || carouselTitle.trim().length === 0);\n};\n\nconst displayTitle = state => {\n\tconst {properties: {carouselTitle, disableTextWrapping, titleLevel, titlePosition, titleVariant, badgeConfig}} = state;\n\n\tif (!showTitle(state))\n\t\treturn (<div id={c.TITLE_WRAPPER} className={c.TITLE_WRAPPER}/>);\n\n\tconst badge = badgeConfig.label ? <now-highlighted-value id={c.BADGE} className={c.BADGE} label={badgeConfig.label} color={badgeConfig.color} variant={badgeConfig.variant}/> : null;\n\n\treturn (\n\t\t<div id={c.TITLE_WRAPPER} className={`${c.TITLE_WRAPPER} ${titlePosition}`}>\n\t\t\t<now-heading className={c.TITLE} label={carouselTitle} level={titleLevel} variant={titleVariant} wontWrap={disableTextWrapping} hasNoMargin={true}/> \n\t\t\t{badge}\n\t\t<\/div>\n\t);\n};\n\nconst showHeaderLink = state => {\n\tconst {properties: {hideLink, linkText, linkIcon}} = state;\n\treturn !(hideLink || (!linkText && !linkIcon));\n};\n\nconst displayHeaderLink = state => {\n\tconst {properties: {linkText, linkIcon}} = state;\n\n\tif (!showHeaderLink(state))\n\t\treturn '';\n\n\treturn (\n\t\t<span className={`${c.HEADER_LINK}`}>\n\t\t\t<now-button-bare\n\t\t\t\tlabel={linkText ? t(linkText) : ''}\n\t\t\t\ticon-end={linkIcon ? linkIcon : ''}\n\t\t\t\tvariant={c.SECONDARY}\n\t\t\t\tsize={c.MEDIUM}\n\t\t\t\tclassName={c.BUTTON}\n\t\t\t\thidePadding={true}\n\t\t\t\tconfigAria={{button: {'aria-roledescription': 'link'}}}\n\t\t\t\tappend-to-meta={{component: c.SN_CAROUSEL}}>\n\t\t\t<\/now-button-bare>\n\t\t<\/span>\n\t);\n};\n\nconst displayHeader = state => {\n\tconst {properties: {titlePosition, disableTextWrapping}} = state;\n\tif (!showTitle(state) && !showHeaderLink(state))\n\t\treturn <div className={c.CAROUSEL_HEADER_ABSENT}/>;\n\n\treturn (\n\t\t<div className={`${c.CAROUSEL_HEADER} carousel-${titlePosition}`}>\n\t\t\t{displayTitle(state)}\n\t\t\t{displayHeaderLink(state)}\n\t\t<\/div>\n\t);\n};\n\nconst displayFooter = (state, dispatch) => {\n\tconst {contentCount, indicators, properties: {navPosition}} = state;\n\tlet indicatorClasses = `${c.INDICATORS} ${navPosition}`;\n\tif (navPosition !== c.CENTER && (contentCount > 0 && indicators.length > 1))\n\t\tindicatorClasses += ` ${c.SHOW_ARROWS}`;\n\n\treturn (\n\t\t<div className={c.CAROUSEL_FOOTER}>\n\t\t\t<div className={indicatorClasses}>{getIndicators(state, dispatch)}<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst displayEmptyState = state => {\n\tconst {\n\t\temptyStateLabel,\n\t\temptyStateContent,\n\t\temptyStateIllustration,\n\t\ttitleLevel\n\t} = state.properties;\n\n\t//The empty state heading level should be lower than the title heading level\n\tconst headingLevel = (titleLevel === c.TITLE_LEVEL_6 ? parseInt(titleLevel) : parseInt(titleLevel) + 1);\n\treturn (\n\t\t<now-template-message-empty-state\n\t\t\tclassName={c.EMPTY_STATE}\n\t\t\theading={{label: emptyStateLabel, level: headingLevel}}\n\t\t\tcontent={emptyStateContent}\n\t\t\talignment={c.HORIZONTAL}\n\t\t\tillustration={emptyStateIllustration}\n\t\t/>\n\t);\n};\n\nconst view = (state, {\n\tdispatch,\n\tupdateState\n}) => {\n\tconst {\n\t\tcontentContainerElm,\n\t\tcontentCount,\n\t\tcurrentIndex,\n\t\tindicators,\n\t\tproperties: {\n\t\t\tdisableLooping,\n\t\t\tgradientStyle,\n\t\t\tnavStyle,\n\t\t\tenableAutoScroll,\n\t\t\tpauseAutoScroll\n\t\t}\n\t} = state;\n\n\tlet isLooping = !disableLooping;\n\tif (contentContainerElm !== null && contentCount > 0)\n\t\tisLooping = (contentContainerElm.assignedNodes().filter(node => node.style?.display !== 'none').length > contentCount);\n\n\tconst leftGradientStyle = (isLooping || (currentIndex > 0)) ? gradientStyle : c.NONE;\n\tconst rightGradientStyle = (isLooping || (currentIndex < indicators.length - 1)) ? gradientStyle : c.NONE;\n\tconst roleDesc = t('Carousel of {0} items', contentCount);\n\n\tconst ariaLabelledBy = showTitle(state) ? c.TITLE_WRAPPER : '';\n\n\treturn (\n\t\t<Fragment> \n\t\t\t<div className={c.CAROUSEL_WRAPPER} aria-label={t(c.CAROUSEL_LABEL)}\n\t\t\t\t role=\"group\" aria-roledescription={roleDesc} aria-labelledby={ariaLabelledBy}> \n\t\t\t\t{displayHeader(state)} \n\t\t\t\t{(contentCount === 0) ? displayEmptyState(state) : ''}\n\t\t\t\t<div className={c.CAROUSEL_TRACK}\n\t\t\t\t\tref={carouselTrackElm => {\n\t\t\t\t\t\tupdateState(\n\t\t\t\t\t\t\t{path: c.CAROUSEL_TRACK_ELM, value: carouselTrackElm, operation: c.SET, shouldRender: true});\n\n\t\t\t\t\t}}\n\t\t\t\t\ton-touchstart={e => {\n\t\t\t\t\t\tupdateState(\n\t\t\t\t\t\t\t{path: 'touchStart', value: e.changedTouches[0].clientX, operation: c.SET, shouldRender: false});\n\t\t\t\t\t}}\n\t\t\t\t\ton-touchend={e => {\n\t\t\t\t\t\tdispatch(c.ACTION_TOUCH_END, {touchEnd: e.changedTouches[0].clientX});\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className={`${c.GRADIENT} ${c.LEFT} ${leftGradientStyle}`}/>\n\t\t\t\t\t<div className={`${c.GRADIENT} ${c.RIGHT} ${rightGradientStyle}`}/>\n\t\t\t\t\t{enableAutoScroll ? <div className='pause-play-button'>\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\ticon={`${!pauseAutoScroll ? c.PAUSE_ICON : c.PLAY_ICON}-${navStyle}`}\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\thide-padding={true}\n\t\t\t\t\t\t\tconfig-aria={{button: {'aria-label': !pauseAutoScroll ? c.PAUSE_LABEL : c.PLAY_LABEL}}}\n\t\t\t\t\t\t\ttooltip-content={!pauseAutoScroll ? c.PAUSE_LABEL : c.PLAY_LABEL}\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\tautoScrollAction: !pauseAutoScroll ? c.PAUSE : c.PLAY\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<\/now-button-iconic>\n\t\t\t\t\t<\/div> : ''}\n\t\t\t\t\t{getNavigationControls(state, dispatch)}\n\t\t\t\t\t<slot name={c.CONTENT} className='content-container'\n\t\t\t\t\t\tref={contentContainerElm => {\n\t\t\t\t\t\t\tupdateState(\n\t\t\t\t\t\t\t\t{path: c.CONTENT_CONTAINER_ELM, value: contentContainerElm, operation: c.SET, shouldRender: true});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-slotchange={() => {\n\t\t\t\t\t\t\tdispatch(c.ACTION_SLOT_CHANGE);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-transitionend={() => {\n\t\t\t\t\t\t\tdispatch(c.ACTION_TRANSITION_END);\n\t\t\t\t\t\t}}>\n\n\t\t\t\t\t<\/slot>\n\n\t\t\t\t<\/div>\n\t\t\t\t{displayFooter(state, dispatch)}\n\t\t\t<\/div>\n\n\t\t<\/Fragment>\n\t);\n};\n\nexport default view;","import {t} from 'sn-translate';\nimport c from './sn-carousel-constants';\n\nexport const getIndicators = (state, dispatch) => {\n\tconst {\n\t\tindicators, currentIndex, carouselTrackElm, itemsInView,\n\t\tproperties: {hideDotIndicator}\n\t} = state;\n\n\tconst indicatorSelected = (idx, currentIndex, nextIndicator) => {\n\t\tif (idx !== currentIndex) {\n\t\t\t//c.SCROLLING class is added before transition and is removed on-transitionend\n\t\t\tcarouselTrackElm.classList.add(c.SCROLLING);\n\t\t\tdispatch(c.ACTION_INDICATOR_CLICKED, {indicatorClickedIdx: idx, nextIndicator});\n\t\t}\n\t};\n\n\t//hide if true\n\tif (hideDotIndicator)\n\t\treturn '';\n\n\t// We hide indicators if the number of indicators is greater than 10.\n\tif (indicators.length <= 1 || indicators.length > 10)\n\t\treturn '';\n\n\tconst items = [];\n\tfor (let idx = 0; idx < indicators.length; ++idx) {\n\t\tconst indicatorId = `${c.INDICATOR}${idx + 1}`;\n\t\tconst label = itemsInView === c.SINGLE_ITEM_IN_VIEW ?\n\t\t\tt('Carousel navigation, {0} of {1}', idx + 1, indicators.length) :\n\t\t\tt('Carousel navigation, screen {0} of {1}', idx + 1, indicators.length);\n\t\titems.push(\n\t\t\t<div key={indicatorId} id={indicatorId}>\n\t\t\t\t<button\n\t\t\t\t\tclassName={idx === currentIndex ? c.SELECTED : ''}\n\t\t\t\t\taria-label={label}\n\t\t\t\t\taria-current={idx === currentIndex ? 'true' : 'false'}\n\t\t\t\t\ttitle={label}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tindicatorSelected(idx, currentIndex);\n\t\t\t\t\t}}\n\t\t\t\t\ton-keydown={event => {\n\t\t\t\t\t\tif (event.key === c.ENTER_KEY) \n\t\t\t\t\t\t\tindicatorSelected(idx, currentIndex);\n\t\t\t\t\t\t else if (event.key === c.ARROW_LEFT || event.key === c.ARROW_RIGHT) {\n\t\t\t\t\t\t\tconst ulElem = event.target.parentElement.parentElement;\n\t\t\t\t\t\t\tconst nextIdx = (currentIndex + (event.key === c.ARROW_RIGHT ? 1 : -1) + indicators.length) % indicators.length;\n\t\t\t\t\t\t\tconst nextIndicator = ulElem.querySelector(`#${c.INDICATOR}${nextIdx + 1} > button`);\n\t\t\t\t\t\t\tindicatorSelected(nextIdx, currentIndex, nextIndicator);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\treturn <nav aria-label=\"Carousel Slider\">{items}<\/nav>;\n};\n","import {actionHandlers} from './sn-carousel-action-handlers';\nimport {createCustomElement} from '@servicenow/ui-core';\nimport {initialState} from './sn-initial-state';\nimport c from './sn-carousel-constants';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './carousel.scss';\nimport view from './sn-carousel-view';\n\n/**\n * Carousel is a component that allows the user to cycle through a list of components.\n *\n * The carousel component shows a subset of components on the page.\n * The user can click on the arrows or indicators to move some of the\n * components out of view and other components into view.\n *\n * Note: In the example below, it does not need to be a now-card component.\n * It can be any type of component as long as it is in the slot.\n *\n * ```jsx\n *\t<sn-carousel>\n * \t\t<now-card slot=\"content\" size=\"lg\">\n *\t\t\t<now-card-header\n *\t\t\t\theading={{label: 'Content 1'}}\n *\t\t/>\n *\t\t<\/now-card>\n *\t\t<now-card slot=\"content\" size=\"lg\">\n *\t\t\t<now-card-header\n *\t\t\t\theading={{label: 'Content 2'}}\n *\t\t\t/>\n *\t\t<\/now-card>\n *\t<\/sn-carousel>\n * ```\n *\n * @seismicElement sn-carousel\n * @summary a container that allows some of the content to display if it is larger\n * than the page\n */\nexport default createCustomElement('sn-carousel', {\n\tproperties: {\n\t\t/**\n\t\t * When true, the title is hidden.\n\t\t *\n\t\t * If hideTitle and hideLink are true, the header will be hidden.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideTitle: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The content for the title.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tcarouselTitle: {\n\t\t\tdefault: 'Title',\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Customizable badge, primarily used to display number of items in the Carousel.\n\t\t *\n\t\t * @type {label: string, color: string, variant: string}\n\t\t */\n\t\tbadgeConfig: {\n\t\t\tdefault: {label: \"\", color: \"low\", variant: \"tertiary\"},\n\t\t\tschema: {\n\t\t\t\ttype: c.JSON\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Disables title text from wrapping and truncates the title instead.\n\t\t * \n\t\t * @type {boolean}\n\t\t */\n\t\tdisableTextWrapping: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Sets the HTML <hx> heading element used to render the title.\n\t\t * The property is based on the Heading component.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttitleLevel: {\n\t\t\tdefault: c.TITLE_LEVEL_2,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.TITLE_LEVEL_1,\n\t\t\t\t\tc.TITLE_LEVEL_2,\n\t\t\t\t\tc.TITLE_LEVEL_3,\n\t\t\t\t\tc.TITLE_LEVEL_4,\n\t\t\t\t\tc.TITLE_LEVEL_5,\n\t\t\t\t\tc.TITLE_LEVEL_6\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Sets the style variant that is applied to the title.\n\t\t * The property is based on the Heading component.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttitleVariant: {\n\t\t\tdefault: c.HEADER_TERTIARY,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.HEADER_PRIMARY,\n\t\t\t\t\tc.HEADER_SECONDARY,\n\t\t\t\t\tc.HEADER_TERTIARY,\n\t\t\t\t\tc.TITLE_PRIMARY,\n\t\t\t\t\tc.TITLE_SECONDARY,\n\t\t\t\t\tc.TITLE_TERTIARY\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Sets the position of the title. The title can be left-aligned or right-aligned.\n\t\t *\n\t\t * If the space available for the title is not sufficient, the title will be truncated\n\t\t * to the space and 3 ellipses will be shown at the end.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttitlePosition: {\n\t\t\tdefault: c.LEFT,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.LEFT, c.RIGHT]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, the link is hidden.\n\t\t *\n\t\t * If hideTitle and hideLink are true, the header will be hidden.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideLink: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The icon to display at the end of the link text.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlinkIcon: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The content for the link.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlinkText: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The heading to display if there is no content.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\temptyStateLabel: {\n\t\t\tdefault: c.EMPTY_STATE_LABEL,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The message to display if there is no content.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\temptyStateContent: {\n\t\t\tdefault: c.EMPTY_STATE_MESSAGE,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The illustration to display if there is no content.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\temptyStateIllustration: {\n\t\t\tdefault:c.COMPLETED_TASKS,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [\n\t\t\t\t\tc.ADD_ATTACHMENT,\n\t\t\t\t\tc.ADD_DATA,\n\t\t\t\t\tc.COMPLETED_TASKS,\n\t\t\t\t\tc.ERROR,\n\t\t\t\t\tc.FIRST_TIME_USER,\n\t\t\t\t\tc.INTERRUPTED,\n\t\t\t\t\tc.NO_ACTIVITIES,\n\t\t\t\t\tc.NO_DATA,\n\t\t\t\t\tc.NO_SEARCH_RESULTS,\n\t\t\t\t\tc.OFFLINE,\n\t\t\t\t\tc.PERMISSIONS,\n\t\t\t\t\tc.UNCONFIGURED\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Indicates how to display the items in a carousel: one at a time or multiple times.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\titemsInView: {\n\t\t\tdefault: c.MULTIPLE_ITEMS_IN_VIEW,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.MULTIPLE_ITEMS_IN_VIEW, c.SINGLE_ITEM_IN_VIEW]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Indicates how many items move when you click next: a single item or a set of items.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tslidingType: {\n\t\t\tdefault: c.SINGLE_ITEM,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.NEXT_SET_OF_ITEMS, c.SINGLE_ITEM]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t * When true, the left arrow on the first component and the right arrow on the last component\n\t\t * are not visible.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableLooping: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The navigation controls can be positioned as follows:\n\t\t *  - center: Vertically centered and displayed on either end\n\t\t *  - bottom-right: Bottom-right aligned\n\t\t *  - bottom-left: Bottom-left aligned\n\t\t *  - bottom-split: Bottom aligned and displayed on either end\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tnavPosition: {\n\t\t\tdefault: c.CENTER,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.CENTER, c.BOTTOM_LEFT, c.BOTTOM_RIGHT, c.BOTTOM_SPLIT]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The color of the gradient surrounding the sides of the carousel.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tgradientStyle: {\n\t\t\tdefault: c.PRIMARY,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.PRIMARY, c.SECONDARY, c.TERTIARY, c.DARK, c.NONE]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Defines how the navigation controls look.\n\t\t *  - fill: The icon is filled in.\n\t\t *  - outline: The icon is outlined and the background is filled in.\n\t\t * @type {string}\n\t\t */\n\t\tnavStyle: {\n\t\t\tdefault: c.FILL,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.FILL, c.OUTLINE]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, the dot indicators will be hidden.\n\t\t *\n\t\t * The dots will also be hidden if there are more than 10.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Index of the indicators to move the carousel to when initially loaded/refreshed.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tstartingIndex: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: c.INTEGER\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, the content view will change to single item when zoomed-in to 400%\n\t\t *\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tsingleItemOnZoom: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t * When true, carousel content is scrolled automatically at default interval(1000ms)\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tenableAutoScroll: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Carousel content auto scroll speed interval\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tautoScrollSpeed: {\n\t\t\tdefault: 3000,\n\t\t\tschema: {\n\t\t\t\ttype: c.INTEGER\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t * When true, carousel content autoscroll will be paused\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tpauseAutoScroll: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t}\n\t},\n\tsetInitialState({properties}) {\n\t\treturn {\n\t\t\t...initialState,\n\t\t\titemsInView: properties.itemsInView\n\t\t};\n\t},\n\tactionHandlers,\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: resizeBehavior\n\t\t},\n\t\t{\n\t\t\tbehavior: rtlBehavior\n\t\t}\n\t],\n\tslots: {\n\t\t/**\n\t\t * The content for the slots.\n\t\t */\n\t\tcontent: {}\n\t}\n});","import * as exports from '../index.js';\nwindow.__TECTONIC__$devsnc_sn_carousel=exports;\nexport * from '../index.js';\n\n"],"version":3}}]}