1AppRegistry.registerBundle({applicationId:'limepark.submenu|1.25.0',bundle: {"en":{"navLabelText":"Submenu","backLinkFormat":"Back to {0}","toggleButtonText":"Submenu for: {0}"},"sv":{"navLabelText":"Undermeny","backLinkFormat":"Tillbaka till {0}","toggleButtonText":"Undermeny för: {0}"}}}); 2AppRegistry.registerModule({applicationId:'limepark.submenu|1.25.0',path:'/module/common/ToggleButton',module:function(define){'use strict';function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } 3function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } 4function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 5function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); } 6function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } 7define(function (require) { 8 var $ = require('jquery'); 9 var TOGGLER_CSS_CLASS = 'lp-app-submenu__menu-item__toggler'; 10 var APP_ICON_CSS_CLASS = 'lp-app-submenu__icon'; 11 var ICON_CSS_CLASS = 'lp-app-submenu__toggler-icon'; 12 var DEFAULT_OPTS = { 13 icons: { 14 open: '/sitevision/envision-icons.svg#icon-plus', 15 close: '/sitevision/envision-icons.svg#icon-minus' 16 }, 17 level: '' 18 }; 19 var iconMarkup = function iconMarkup(url, modifierKeyword) { 20 url = (url || '').toLowerCase(); 21 if (url.indexOf('.svg') > -1) { 22 return "<svg class=\"".concat(APP_ICON_CSS_CLASS, " ").concat(ICON_CSS_CLASS, " ").concat(ICON_CSS_CLASS, "--").concat(modifierKeyword, " ").concat(ICON_CSS_CLASS, "--type-svg\" aria-hidden=\"true\"><use xlink:href=\"").concat(url, "\"></use></svg>"); 23 } else if (url.indexOf('.jpg') > -1 || url.indexOf('.png') > -1) { 24 return "<img class=\"".concat(APP_ICON_CSS_CLASS, " ").concat(ICON_CSS_CLASS, " ").concat(ICON_CSS_CLASS, "--").concat(modifierKeyword, " ").concat(ICON_CSS_CLASS, "--type-img\" src=\"").concat(url, "\" alt=\"\" />"); 25 } 26 return ''; 27 }; 28 return function (nodeId) { 29 var _opts$icons, _opts$icons2; 30 var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; 31 var text = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; 32 var opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; 33 opts = _objectSpread(_objectSpread({}, DEFAULT_OPTS), opts); 34 var classes = [TOGGLER_CSS_CLASS]; 35 if (opts.level) { 36 classes.push("".concat(TOGGLER_CSS_CLASS, "--level-").concat(opts.level)); 37 } 38 var buttonOpts = { 39 'class': classes.join(' '), 40 'data-node-id': nodeId, 41 'data-level': opts.level, 42 'aria-expanded': 'false', 43 'type': 'button', 44 'html': [iconMarkup((_opts$icons = opts.icons) === null || _opts$icons === void 0 ? void 0 : _opts$icons.open, 'open'), iconMarkup((_opts$icons2 = opts.icons) === null || _opts$icons2 === void 0 ? void 0 : _opts$icons2.close, 'close'), $('<span>', { 45 'class': 'lp-app-submenu__visually-hidden', 46 'text': text 47 })] 48 }; 49 if (target) { 50 buttonOpts['aria-controls'] = target; 51 } 52 return $('<button>', buttonOpts); 53 }; 54});}}); 55AppRegistry.registerModule({applicationId:'limepark.submenu|1.25.0',path:'/module/common/@limepark/uuidv4_2.0.0/index',module:function(define){'use strict';define(function(require) { 56 var exports = {}; 57 var module = { 58 exports: exports 59 }; 60 61 /** 62 * @file Generate UUID's. 63 * @module common/UUIDv4 64 */ 65 66var DEFAULT_HTML_ID_PREFIX = 'lpid-'; 67 68/** 69 * Gets a type 4 UUID. 70 * 71 * @returns {string} Static factory to retrieve a type 4 (pseudo randomly generated) UUID. 72 * @memberof module:common/UUIDv4 73 */ 74var getInstance = function getInstance() { 75 return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { 76 var r = Math.random() * 16 | 0, 77 v = c == 'x' ? r : r & 0x3 | 0x8; 78 return v.toString(16); 79 }); 80}; 81 82/** 83 * Gets a randomized html identifier suitable for the id attribute. 84 * 85 * @param {string} prefix An optional prefix. 86 * @returns {string} Static factory to retrieve a type 4 (pseudo randomly generated) UUID, with a short prefix. 87 * @memberof module:common/UUIDv4 88 */ 89var getHtmlId = function getHtmlId() { 90 var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_HTML_ID_PREFIX; 91 return (prefix || DEFAULT_HTML_ID_PREFIX) + getInstance(); 92}; 93module.exports = { 94 getInstance: getInstance, 95 getHtmlId: getHtmlId 96};; 97 98 return module.exports; 99 });}}); 100AppRegistry.registerModule({applicationId:'limepark.submenu|1.25.0',path:'/template/menu-items',module:function(define){define(function(require){var _=require('underscore');return function(obj){ 101var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');}; 102with(obj||{}){ 103__p+='';
104 items.forEach(function (item) { 105__p+='\n <li class="'+ 106((__t=( itemClasses(item) ))==null?'':_.escape(__t))+ 107'" data-has-children="'+ 108((__t=( item.hasChildren ))==null?'':_.escape(__t))+ 109'" data-short-id="'+ 110((__t=( item.shortId ))==null?'':_.escape(__t))+ 111'" data-node-id="'+ 112((__t=( item.nodeId ))==null?'':_.escape(__t))+ 113'" data-level="'+ 114((__t=( item.level ))==null?'':_.escape(__t))+ 115'">\n <a href="'+ 116((__t=( item.url ))==null?'':_.escape(__t))+ 117'" class="'+ 118((__t=( linkClasses(item) ))==null?'':_.escape(__t))+ 119'" '+ 120((__t=( item.current ? 'aria-current="page"' : '' ))==null?'':__t)+ 121' '+ 122((__t=( item.ariaLabel ? 'aria-label="' + item.ariaLabel + '"' : '' ))==null?'':__t)+ 123' '+ 124((__t=( langAttrs(item) ))==null?'':__t)+ 125' data-name="'+ 126((__t=( item.name ))==null?'':_.escape(__t))+ 127'">\n '+ 128((__t=( item.linkText ))==null?'':__t)+ 129'\n '; 130 if (useChildrenIcons && item.hasChildren) { 131__p+='\n '+ 132((__t=( createIcon(childrenIcons.open, 'open') ))==null?'':__t)+ 133'\n '+ 134((__t=( createIcon(childrenIcons.closed, 'closed') ))==null?'':__t)+ 135'\n '; 136 } 137__p+='\n </a><!--! .lp-app-submenu__menu-item__link -->\n '; 138 if (item.hasChildren && item.children.length > 0) { 139__p+='\n '+ 140((__t=( renderer.renderComponent('MenuItems', { items: item.children, level: item.level + 1, listId: item.listId }) ))==null?'':__t)+ 141'\n '; 142 } 143__p+='\n </li><!-- .lp-app-submenu__menu-item -->\n'; 144 }) 145__p+='\n'; 146} 147return __p; 148};});}}); 149AppRegistry.registerModule({applicationId:'limepark.submenu|1.25.0',path:'/template/main',module:function(define){define(function(require){var _=require('underscore');return function(obj){ 150var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');}; 151with(obj||{}){ 152__p+=''; 153 if (backLink) { 154__p+='\n <a class="lp-app-submenu__back-link" href="'+ 155((__t=( backLink.url ))==null?'':__t)+ 156'" '+ 157((__t=( backLink.hreflangAttr ))==null?'':__t)+ 158'>'+ 159((__t=( backLink.text ))==null?'':__t)+ 160'</a><!--! .lp-app-submenu__back-link -->\n'; 161 } 162__p+='\n'+ 163((__t=( renderer.renderComponent('MenuItems', { items: items, level: 1 }) ))==null?'':__t)+ 164'\n'; 165} 166return __p; 167};});}}); 168AppRegistry.registerModule({applicationId:'limepark.submenu|1.25.0',path:'/module/common/hash-util',module:function(define){'use strict';function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 169function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } 170function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } 171function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); } 172function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } 173define(function () { 174 var DEFAULT_SHORT_ID_RADIX = 36; 175 var HashUtil = /*#__PURE__*/function () { 176 function HashUtil() { 177 _classCallCheck(this, HashUtil); 178 } 179 _createClass(HashUtil, [{ 180 key: "crc32", 181 value: function crc32(str) { 182 for (var a, o = [], c = 0; c < 256; c++) { 183 a = c; 184 for (var f = 0; f < 8; f++) { 185 a = 1 & a ? 3988292384 ^ a >>> 1 : a >>> 1; 186 } 187 o[c] = a; 188 } 189 for (var n = -1, t = 0; t < str.length; t++) { 190 n = n >>> 8 ^ o[255 & (n ^ str.charCodeAt(t))]; 191 } 192 return (-1 ^ n) >>> 0; 193 } 194 }, {
195 key: "shortId", 196 value: function shortId(str) { 197 var radix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_SHORT_ID_RADIX; 198 return this.crc32(str).toString(radix); 199 } 200 }]); 201 return HashUtil; 202 }(); 203 var hashUtil = new HashUtil(); 204 return hashUtil; 205});}}); 206AppRegistry.registerModule({applicationId:'limepark.submenu|1.25.0',path:'/component/MenuItems',module:function(define){'use strict';function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } 207function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } 208function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 209function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); } 210function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } 211define(function (require) { 212 'use strict'; 213 214 var Component = require('Component'); 215 var requester = require('requester'); 216 var router = require('router'); 217 var template = require('/template/menu-items'); 218 var $ = require('jquery'); 219 var ToggleButton = require('/module/common/ToggleButton'); 220 var _require = require("/module/common/@limepark/uuidv4_2.0.0/index"), 221 htmlId = _require.getHtmlId; 222 var AJAX_LOADER_DELAY = 300; 223 var AJAX_LOADER_TIMERS = {}; 224 var AJAX_LOADER_REFS = {}; 225 var SUBMENU_CSS_CLASS = 'lp-app-submenu__menu'; 226 var ITEM_CSS_CLASS = 'lp-app-submenu__menu-item'; 227 var LINK_CSS_CLASS = 'lp-app-submenu__menu-item__link'; 228 var APP_ICON_CSS_CLASS = 'lp-app-submenu__icon'; 229 var TOGGLER_LOADING_CSS_CLASS = 'lp-app-submenu__menu-item__toggler--is-loading'; 230 var EVENT_NAMESPACE = 'lp-app-submenu'; 231 var MenuItems = Component.extend({ 232 template: template, 233 tagName: 'ul', 234 className: function className() { 235 var classes = [SUBMENU_CSS_CLASS, "".concat(SUBMENU_CSS_CLASS, "--level-").concat(this.state.level)]; 236 return classes.join(' '); 237 }, 238 attributes: function attributes() { 239 var _attrs = { 240 'data-level': this.state.level 241 }; 242 if (this.state.listId) { 243 _attrs.id = this.state.listId; 244 } 245 return _attrs; 246 }, 247 events: { 248 dom: { 249 'click > li > button[data-node-id]': 'handleToggleClick' 250 } 251 }, 252 onRendered: function onRendered() { 253 this._prefersReducedMotion = matchMedia('(prefers-reduced-motion)'); 254 if (this.state.useSubmenuToggles) { 255 this.setupToggleMarkup(); 256 } 257 }, 258 getSlideDurations: function getSlideDurations() { 259 // If media query matches, the user prefers reduced motions. 260 // Use 1 ms for the slide duration. 261 var durations = { 262 open: 1, 263 close: 1 264 }; 265 if (!this._prefersReducedMotion.matches) { 266 durations.open = this.state.slideDuration; 267 durations.close = this.state.slideDurationClose; 268 } 269 return durations; 270 }, 271 findOr: function findOr(element, findSelector) { 272 var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; 273 var $element = element instanceof $ ? element : $(element); 274 var $findEl = $element.find(findSelector); 275 if ($findEl.length > 0) { 276 return $findEl; 277 } 278 return defaultValue; 279 }, 280 /** 281 * Gets or creates and return a sub list for the list item. 282 * 283 * @param {(HTMLElement|jQuery)} listItem 284 */ 285 ensureSubList: function ensureSubList(listItem) { 286 var $listItem = listItem instanceof $ ? listItem : $(listItem); 287 var $subList = $listItem.find('> ul'); 288 if ($subList.length === 0) { 289 var level = parseInt(this.state.level || 1) + 1; 290 var shortId = $listItem.data('shortId'); 291 var subListId = shortId ? this.state.id + '-' + shortId : htmlId(); 292 $subList = $('<ul>', { 293 'id': subListId, 294 'class': "".concat(SUBMENU_CSS_CLASS, " ").concat(SUBMENU_CSS_CLASS, "--level-").concat(level), 295 'data-level': level, 296 'aria-hidden': 'true' 297 }).hide().appendTo($listItem); 298 var $toggler = $subList.prev('button'); 299 if ($toggler.length > 0) { 300 $toggler.attr('aria-controls', subListId); 301 } 302 } else { 303 // sub list already exist so it's in the current active tree. 304 $subList.attr('aria-hidden', 'false'); 305 } 306 return $subList; 307 }, 308 setupToggleMarkup: function setupToggleMarkup() { 309 var _this = this; 310 this.$el.find('> [data-has-children="true"]').each(function (i, listItem) { 311 return _this.setupToggleMarkupForListItem(listItem); 312 }); 313 }, 314 setupToggleMarkupForListItem: function setupToggleMarkupForListItem(listItem) { 315 var $listItem = listItem instanceof $ ? listItem : $(listItem); 316 var $itemLink = $listItem.find('> a'); 317 var $subList = this.findOr($listItem, '> ul', null); 318 var nodeId = $listItem.data('nodeId'); 319 var level = $listItem.data('level'); 320 var subListId = $subList ? $subList.attr('id') : null; 321 var opts = { 322 icons: this.state.togglerIcons, 323 level: parseInt(level) 324 }; 325 var $button = ToggleButton(nodeId, subListId, this.state.texts.toggleButtonText.replace('{0}', $itemLink.data('name')), opts); 326 if ($subList) { 327 $button.attr('aria-expanded', 'true'); 328 $subList.attr('aria-hidden', 'false'); 329 } 330 $button.insertAfter($itemLink); 331 }, 332 addLoader: function addLoader($button) { 333 var _this2 = this; 334 var nodeId = $button.data('nodeId'); 335 this.removeLoader($button); 336 AJAX_LOADER_TIMERS[nodeId] = setTimeout(function () { 337 AJAX_LOADER_REFS[nodeId] = $(_this2.state.spinner); 338 $button.append(AJAX_LOADER_REFS[nodeId]).addClass(TOGGLER_LOADING_CSS_CLASS); 339 }, AJAX_LOADER_DELAY); 340 }, 341 removeLoader: function removeLoader($button) { 342 var nodeId = $button.data('nodeId'); 343 $button.removeClass(TOGGLER_LOADING_CSS_CLASS); 344 if (AJAX_LOADER_TIMERS[nodeId]) { 345 clearTimeout(AJAX_LOADER_TIMERS[nodeId]); 346 } 347 if (AJAX_LOADER_REFS[nodeId]) { 348 AJAX_LOADER_REFS[nodeId].remove(); 349 AJAX_LOADER_REFS[nodeId] = null; 350 } 351 }, 352 queueToggle: function queueToggle($button, $target, callback) { 353 var _this3 = this; 354 if ($target.is(':empty')) { 355 var nodeId = $button.data('nodeId'); 356 var currentLevel = $button.data('level'); 357 this.addLoader($button); 358 requester.doGet({ 359 url: router.getStandaloneUrl("/children/".concat(nodeId)), 360 data: { 361 currentLevel: currentLevel 362 }, 363 context: this 364 }).done(function (items) { 365 var menuItems = new MenuItems(_objectSpread(_objectSpread({}, _this3.state), {}, { 366 items: items, 367 level: parseInt($target.data('level') || 0), 368 useChildrenIcons: false 369 })); 370 var renderedElement = menuItems.render().$el; 371 renderedElement.attr({ 372 id: $target.attr('id'), 373 'aria-hidden': true 374 }).hide(); 375 $target.replaceWith(renderedElement); 376 callback($button, renderedElement); 377 }).fail(function (jqXHR, textStatus, errorThrown) { 378 $target.trigger("failed-fetch-children.".concat(EVENT_NAMESPACE), [$button, $target, nodeId, textStatus, errorThrown]); 379 }).always(function () { 380 _this3.removeLoader($button); 381 }); 382 } else { 383 callback($button, $target); 384 } 385 }, 386 handleToggleClick: function handleToggleClick(event) { 387 var _this4 = this; 388 var $originalButton = $(event.currentTarget); 389 var $buttonControls = this.$('#' + $originalButton.attr('aria-controls')); 390 var isOpen = $originalButton.attr('aria-expanded') === 'true'; 391 var $originalTarget = $buttonControls.length > 0 ? $buttonControls : this.ensureSubList($originalButton.closest('li')); 392 this.queueToggle($originalButton, $originalTarget, function ($button, $target) { 393 // Switch states 394 $button.attr('aria-expanded', isOpen ? 'false' : 'true'); 395 $target.attr('aria-hidden', isOpen ? 'true' : 'false'); 396 $target.closest('li').toggleClass("".concat(ITEM_CSS_CLASS, "--is-open"), !isOpen); 397 $target.stop()[isOpen ? 'slideUp' : 'slideDown'](_this4.getSlideDurations()[isOpen ? 'close' : 'open'], function () { 398 $target.trigger("toggle.".concat(EVENT_NAMESPACE), [$button, $target, !isOpen]); 399 }); 400 }); 401 }, 402 templateFunctions: function templateFunctions() { 403 var _this$state$currentLa = this.state.currentLang, 404 currentLang = _this$state$currentLa === void 0 ? '' : _this$state$currentLa; 405 return { 406 htmlId: htmlId, 407 itemClasses: function itemClasses(item) { 408 var classes = [ITEM_CSS_CLASS, "".concat(ITEM_CSS_CLASS, "--level-").concat(item.level)]; 409 if (item.active) { 410 classes.push("".concat(ITEM_CSS_CLASS, "--is-active")); 411 classes.push("".concat(ITEM_CSS_CLASS, "--is-open")); 412 } 413 if (item.current) { 414 classes.push("".concat(ITEM_CSS_CLASS, "--is-current")); 415 } 416 if (item.hasChildren) { 417 classes.push("".concat(ITEM_CSS_CLASS, "--has-children")); 418 } 419 return classes.join(' '); 420 }, 421 linkClasses: function linkClasses(item) { 422 var classes = [LINK_CSS_CLASS, "".concat(LINK_CSS_CLASS, "--level-").concat(item.level)]; 423 if (item.active) { 424 classes.push("".concat(LINK_CSS_CLASS, "--is-active")); 425 } 426 if (item.current) { 427 classes.push("".concat(LINK_CSS_CLASS, "--is-current")); 428 } 429 return classes.join(' '); 430 }, 431 langAttrs: function langAttrs(item) { 432 if (currentLang !== item.lang) { 433 return " lang=\"".concat(item.lang, "\" hreflang=\"").concat(item.lang, "\" "); 434 } 435 return ''; 436 }, 437 createIcon: function createIcon(url) { 438 var modifierKeyword = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; 439 url = (url || '').toLowerCase(); 440 var modifierClass = modifierKeyword ? "".concat(APP_ICON_CSS_CLASS, "--").concat(modifierKeyword) : ''; 441 if (url.indexOf('.svg') > -1) { 442 return "<svg class=\"".concat(APP_ICON_CSS_CLASS, " ").concat(APP_ICON_CSS_CLASS, "--children-icon ").concat(modifierClass, " ").concat(APP_ICON_CSS_CLASS, "--type-svg\" aria-hidden=\"true\"><use xlink:href=\"").concat(url, "\"></use></svg>"); 443 } else if (url.indexOf('.jpg') > -1 || url.indexOf('.png') > -1) { 444 return "<img class=\"".concat(APP_ICON_CSS_CLASS, " ").concat(APP_ICON_CSS_CLASS, "--children-icon ").concat(modifierClass, " ").concat(APP_ICON_CSS_CLASS, "--type-img\" src=\"").concat(url, "\" alt=\"\" />"); 445 } 446 return ''; 447 } 448 }; 449 }, 450 filterState: function filterState(state) { 451 var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 452 return _objectSpread(_objectSpread({}, state), opts); 453 } 454 });
455 return MenuItems; 456});}}); 457AppRegistry.registerModule({applicationId:'limepark.submenu|1.25.0',path:'/main',module:function(define){'use strict';function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } 458function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } 459function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 460function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); } 461function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } 462define(function (require) { 463 'use strict'; 464 465 var Component = require('Component'); 466 var template = require('/template/main'); 467 var EVENT_NAMESPACE = 'lp-app-submenu'; 468 var CONTAINER_CSS_CLASS = 'lp-app-submenu'; 469 return Component.extend({ 470 template: template, 471 tagName: function tagName() { 472 return this.state.useNavElement ? 'nav' : 'div'; 473 }, 474 className: function className() { 475 var classes = [CONTAINER_CSS_CLASS]; 476 if (this.state.containerClass) { 477 classes.push(this.state.containerClass); 478 } 479 if (!this.state.togglerIcons) { 480 classes.push("".concat(CONTAINER_CSS_CLASS, "--default-toggler-icons")); 481 } 482 if (!this.state.useSubmenuToggles) { 483 classes.push("".concat(CONTAINER_CSS_CLASS, "--no-submenu-toggles")); 484 } 485 if (this.state.hideSubmenuTogglesOnFirstLevel) { 486 classes.push("".concat(CONTAINER_CSS_CLASS, "--hide-submenu-toggles-on-first-level")); 487 } 488 return classes.join(' '); 489 }, 490 attributes: function attributes() { 491 var attrs = {}; 492 if (this.state.useNavElement) { 493 attrs['aria-label'] = this.state.texts.navLabelText; 494 attrs['tabindex'] = -1; 495 } 496 attrs.id = this.state.id; 497 return attrs; 498 }, 499 onFailedFetchChildren: function onFailedFetchChildren() { 500 location.reload(); 501 } /* event, $button, $target, nodeId, textStatus, errorThrown */, 502 onRendered: function onRendered() { 503 this.$el.on("failed-fetch-children.".concat(EVENT_NAMESPACE), this.onFailedFetchChildren); 504 this.$el.trigger("onRendered.".concat(EVENT_NAMESPACE), [this]); 505 this.$el.addClass("".concat(CONTAINER_CSS_CLASS, "--js")); 506 if (this.state.useSubmenuToggles) { 507 this.$el.addClass("".concat(CONTAINER_CSS_CLASS, "--use-submenu-toggles")); 508 this.$el.removeClass("".concat(CONTAINER_CSS_CLASS, "--no-submenu-toggles")); 509 } 510 }, 511 filterState: function filterState(state) { 512 return _objectSpread({}, state); 513 } 514 }); 515});}});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.