{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///clarity-icons-lite.min.js","webpack:///webpack/bootstrap 25fcddeb9989818b0dd5","webpack:///./src/clarity-icons/utils/descriptor-config.ts","webpack:///./src/clarity-icons/shapes/core-shapes.ts","webpack:///./src/clarity-icons/utils/shape-template-observer.ts","webpack:///./src/clarity-icons/clarity-icons-api.ts","webpack:///./src/clarity-icons/clarity-icons-element.ts","webpack:///./src/clarity-icons/index.ts"],"names":["root","factory","exports","module","define","amd","a","i","this","modules","__webpack_require__","moduleId","installedModules","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","descriptorConfig","value","writable","descriptor_config_1","coreShapes","unknown-status","home","cog","check","times","exclamation-triangle","exclamation-circle","check-circle","info-circle","info-standard","success-standard","error-standard","warning-standard","help-info","bars","user","angle","folder","folder-open","bell","image","cloud","ellipsis-horizontal","ellipsis-vertical","filter-grid","filter-grid-circle","vm-bug","search","view-columns","angle-double","CoreShapes","changeHandlerCallbacks","ShapeTemplateObserver","callbacks","singleInstance","subscribeTo","shapeName","changeHandlerCallback","_this","indexOf","push","removeAt","splice","length","emitChanges","template","map","shape_template_observer_1","iconShapeSources","ClarityIconsApi","validateName","Error","test","setIconTemplate","shapeTemplate","trimmedShapeTemplate","trim","instance","setIconAliases","templates","aliasNames","_i","aliasNames_1","aliasName","add","icons","has","TypeError","alias","aliases","ClarityIconElement","_instance","parentConstructor","apply","arguments","clrIconUniqId","clrIconId","_currentShapeAttrVal","set","_shapeTemplateSubscription","updatedTemplate","_injectTemplate","clarity_icons_api_1","offScreenSpan","document","createElement","className","HTMLElement","Reflect","construct","constructor","observedAttributes","create","_appendCustomTitle","cloneOffScreenSpan","cloneNode","id","textContent","currentTitleAttrVal","appendChild","_setIconSize","size","Number","style","width","height","connectedCallback","hasAttribute","sizeAttrValue","getAttribute","currentSizeAttrVal","shapeAttrValue","split","currentShapeAttrVal","_injectErrorTemplate","currentShapeTemplate","titleAttrValue","attributeChangedCallback","attributeName","oldValue","newValue","disconnectedCallback","_setAriaLabelledBy","existingAriaLabelledBy","setAttribute","innerHTML","clarity_icons_element_1","core_shapes_1","clarityIcons","ClarityIcons","window","customElements"],"mappings":"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","file":"clarity-icons-lite.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n/**\r\n * Copyright (c) 2016-2017 VMware, Inc. All Rights Reserved.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction descriptorConfig(value) {\r\n return { enumerable: true, writable: true, configurable: true, value: value };\r\n}\r\nexports.descriptorConfig = descriptorConfig;\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n/*\r\n * Copyright (c) 2016-2017 VMware, Inc. All Rights Reserved.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar descriptor_config_1 = __webpack_require__(0);\r\n/* tslint:disable:max-line-length */\r\nvar coreShapes = {\r\n \"unknown-status\": \"\\n \\n unknown-status\\n\\n \\n \\n \\n \",\r\n \"home\": \"\\n \\n home\\n\\n \\n \\n\\n \\n \\n \\n \",\r\n \"cog\": \"\\n \\n cog\\n\\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n\\n \\n\\n \\n \\n\\n \\n \\n\\n \\n \",\r\n \"check\": \"\\n \\n check\\n \\n \\n \",\r\n \"times\": \"\\n \\n times\\n \\n \\n \",\r\n \"exclamation-triangle\": \"\\n \\n exclamation-triangle\\n\\n \\n \\n \\n\\n \\n \\n \",\r\n \"exclamation-circle\": \"\\n \\n exclamation-circle\\n\\n \\n \\n \\n\\n \\n \\n \",\r\n \"check-circle\": \"\\n \\n check-circle\\n\\n \\n \\n\\n \\n \\n \",\r\n \"info-circle\": \"\\n \\n info-circle\\n\\n \\n \\n \\n\\n \\n\\n \\n \",\r\n // for the sake of limiting breaking changes with components, the \"standard\" sizing of the alert\r\n // icons is the outlier (other references point to the smaller, compact icons used in alerts).\r\n // if this becomes a problem, point other icon references to the standard size or rename the\r\n // compact ones.\r\n \"info-standard\": \"\\n \\n info-standard\\n\\n \\n \\n \\n\\n \\n \\n \",\r\n \"success-standard\": \"\\n \\n success-standard\\n\\n \\n \\n\\n \\n \\n \",\r\n \"error-standard\": \"\\n \\n error-standard\\n\\n \\n \\n \\n\\n \\n \\n \",\r\n \"warning-standard\": \"\\n \\n warning-standard\\n\\n \\n \\n \\n\\n \\n \\n \",\r\n \"help-info\": \"\\n \\n help-info\\n \\n \\n \\n \\n \\n \\n \",\r\n \"bars\": \"\\n \\n bars\\n \\n \\n \\n \\n \",\r\n \"user\": \"\\n \\n user\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \",\r\n \"angle\": \"\\n \\n angle\\n \\n \\n \",\r\n \"folder\": \"\\n \\n folder\\n\\n \\n\\n \\n \\n\\n \\n \\n\\n \\n\\n \\n \\n\\n \\n \\n \\n \",\r\n \"folder-open\": \"\\n \\n folder-open\\n\\n \\n\\n \\n \\n\\n \\n \\n\\n \\n\\n \\n \\n\\n \\n \\n \\n \",\r\n \"bell\": \"\\n \\n bell\\n\\n \\n \\n\\n \\n \\n \\n\\n \\n \\n\\n \\n \\n \\n \\n \",\r\n \"image\": \"\\n \\n image \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \",\r\n \"cloud\": \"\\n \\n cloud\\n\\n \\n\\n \\n \\n\\n \\n \\n\\n \\n\\n \\n \\n\\n \\n \\n \\n \",\r\n \"ellipsis-horizontal\": \"\\n \\n ellipsis-horizontal\\n \\n \\n \\n \\n \\n \\n \\n \\n \",\r\n \"ellipsis-vertical\": \"\\n \\n ellipsis-vertical\\n \\n \\n \\n \\n \\n \\n \\n \\n \",\r\n \"filter-grid\": \"\\n \\n filter-grid\\n\\n \\n\\n \\n \\n \",\r\n \"filter-grid-circle\": \"\\n \\n filter-grid-circle\\n\\n \\n \\n\\n \\n \\n \\n \",\r\n \"vm-bug\": \"\\n \\n vm-bug\\n \\n \\n \\n \",\r\n \"search\": \"\\n \\n search\\n \\n \\n \\n \",\r\n \"view-columns\": \"\\n \\n view-columns\\n \\n \\n \",\r\n \"angle-double\": \"\\n \\n angle-double\\n \\n \\n \\n \"\r\n};\r\nexports.CoreShapes = coreShapes;\r\nObject.defineProperty(coreShapes, \"house\", descriptor_config_1.descriptorConfig(coreShapes.home));\r\nObject.defineProperty(coreShapes, \"settings\", descriptor_config_1.descriptorConfig(coreShapes.cog));\r\nObject.defineProperty(coreShapes, \"success\", descriptor_config_1.descriptorConfig(coreShapes.check));\r\nObject.defineProperty(coreShapes, \"close\", descriptor_config_1.descriptorConfig(coreShapes.times));\r\nObject.defineProperty(coreShapes, \"warning\", descriptor_config_1.descriptorConfig(coreShapes[\"exclamation-triangle\"]));\r\nObject.defineProperty(coreShapes, \"error\", descriptor_config_1.descriptorConfig(coreShapes[\"exclamation-circle\"]));\r\nObject.defineProperty(coreShapes, \"info\", descriptor_config_1.descriptorConfig(coreShapes[\"info-circle\"]));\r\nObject.defineProperty(coreShapes, \"menu\", descriptor_config_1.descriptorConfig(coreShapes.bars));\r\nObject.defineProperty(coreShapes, \"avatar\", descriptor_config_1.descriptorConfig(coreShapes.user));\r\nObject.defineProperty(coreShapes, \"caret\", descriptor_config_1.descriptorConfig(coreShapes.angle));\r\nObject.defineProperty(coreShapes, \"directory\", descriptor_config_1.descriptorConfig(coreShapes.folder));\r\nObject.defineProperty(coreShapes, \"notification\", descriptor_config_1.descriptorConfig(coreShapes.bell));\r\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.changeHandlerCallbacks = {};\r\nvar ShapeTemplateObserver = (function () {\r\n function ShapeTemplateObserver() {\r\n this.callbacks = exports.changeHandlerCallbacks;\r\n }\r\n Object.defineProperty(ShapeTemplateObserver, \"instance\", {\r\n get: function () {\r\n if (!ShapeTemplateObserver.singleInstance) {\r\n ShapeTemplateObserver.singleInstance = new ShapeTemplateObserver();\r\n }\r\n return ShapeTemplateObserver.singleInstance;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ShapeTemplateObserver.prototype.subscribeTo = function (shapeName, changeHandlerCallback) {\r\n var _this = this;\r\n if (!this.callbacks[shapeName]) {\r\n this.callbacks[shapeName] = [changeHandlerCallback];\r\n }\r\n else {\r\n if (this.callbacks[shapeName].indexOf(changeHandlerCallback) === -1) {\r\n this.callbacks[shapeName].push(changeHandlerCallback);\r\n }\r\n }\r\n // this returned function give users an ability to remove the subscription\r\n return function () {\r\n var removeAt = _this.callbacks[shapeName].indexOf(changeHandlerCallback);\r\n _this.callbacks[shapeName].splice(removeAt, 1);\r\n // if the array is empty, remove the property from the callbacks\r\n if (_this.callbacks[shapeName].length === 0) {\r\n delete _this.callbacks[shapeName];\r\n }\r\n };\r\n };\r\n ShapeTemplateObserver.prototype.emitChanges = function (shapeName, template) {\r\n if (this.callbacks[shapeName]) {\r\n // this will emit changes to all observers\r\n // by calling their callback functions on template changes\r\n this.callbacks[shapeName].map(function (changeHandlerCallback) {\r\n changeHandlerCallback(template);\r\n });\r\n }\r\n };\r\n return ShapeTemplateObserver;\r\n}());\r\nexports.ShapeTemplateObserver = ShapeTemplateObserver;\r\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n/*\r\n * Copyright (c) 2016 VMware, Inc. All Rights Reserved.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar shape_template_observer_1 = __webpack_require__(2);\r\nvar iconShapeSources = {};\r\nvar ClarityIconsApi = (function () {\r\n function ClarityIconsApi() {\r\n }\r\n Object.defineProperty(ClarityIconsApi, \"instance\", {\r\n get: function () {\r\n if (!ClarityIconsApi.singleInstance) {\r\n ClarityIconsApi.singleInstance = new ClarityIconsApi();\r\n }\r\n return ClarityIconsApi.singleInstance;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ClarityIconsApi.prototype.validateName = function (name) {\r\n if (name.length === 0) {\r\n throw new Error(\"Shape name or alias must be a non-empty string!\");\r\n }\r\n if (/\\s/.test(name)) {\r\n throw new Error(\"Shape name or alias must not contain any whitespace characters!\");\r\n }\r\n return true;\r\n };\r\n ClarityIconsApi.prototype.setIconTemplate = function (shapeName, shapeTemplate) {\r\n var trimmedShapeTemplate = shapeTemplate.trim();\r\n if (this.validateName(shapeName)) {\r\n // if the shape name exists, delete it.\r\n if (iconShapeSources[shapeName]) {\r\n delete iconShapeSources[shapeName];\r\n }\r\n iconShapeSources[shapeName] = trimmedShapeTemplate;\r\n shape_template_observer_1.ShapeTemplateObserver.instance.emitChanges(shapeName, trimmedShapeTemplate);\r\n }\r\n };\r\n ClarityIconsApi.prototype.setIconAliases = function (templates, shapeName, aliasNames) {\r\n for (var _i = 0, aliasNames_1 = aliasNames; _i < aliasNames_1.length; _i++) {\r\n var aliasName = aliasNames_1[_i];\r\n if (this.validateName(aliasName)) {\r\n Object.defineProperty(templates, aliasName, {\r\n get: function () {\r\n return templates[shapeName];\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n }\r\n }\r\n };\r\n ClarityIconsApi.prototype.add = function (icons) {\r\n if (typeof icons !== \"object\") {\r\n throw new Error(\"The argument must be an object literal passed in the following pattern: \\n { \\\"shape-name\\\": \\\"shape-template\\\" }\");\r\n }\r\n for (var shapeName in icons) {\r\n if (icons.hasOwnProperty(shapeName)) {\r\n this.setIconTemplate(shapeName, icons[shapeName]);\r\n }\r\n }\r\n };\r\n ClarityIconsApi.prototype.has = function (shapeName) {\r\n return !!iconShapeSources[shapeName];\r\n };\r\n ClarityIconsApi.prototype.get = function (shapeName) {\r\n // if shapeName is not given, return all icon templates.\r\n if (!shapeName) {\r\n return iconShapeSources;\r\n }\r\n if (typeof shapeName !== \"string\") {\r\n throw new TypeError(\"Only string argument is allowed in this method.\");\r\n }\r\n return iconShapeSources[shapeName];\r\n };\r\n ClarityIconsApi.prototype.alias = function (aliases) {\r\n if (typeof aliases !== \"object\") {\r\n throw new Error(\"The argument must be an object literal passed in the following pattern: \\n { \\\"shape-name\\\": [\\\"alias-name\\\", ...] }\");\r\n }\r\n for (var shapeName in aliases) {\r\n if (aliases.hasOwnProperty(shapeName)) {\r\n if (iconShapeSources.hasOwnProperty(shapeName)) {\r\n // set an alias to the icon if it exists in iconShapeSources.\r\n this.setIconAliases(iconShapeSources, shapeName, aliases[shapeName]);\r\n }\r\n else if (iconShapeSources.hasOwnProperty(shapeName)) {\r\n // set an alias to the icon if it exists in iconShapeSources.\r\n this.setIconAliases(iconShapeSources, shapeName, aliases[shapeName]);\r\n }\r\n else {\r\n throw new Error(\"An icon \\\"\" + shapeName + \"\\\" you are trying to set aliases to doesn't exist in the Clarity Icons sets!\");\r\n }\r\n }\r\n }\r\n };\r\n return ClarityIconsApi;\r\n}());\r\nexports.ClarityIconsApi = ClarityIconsApi;\r\n\n\n/***/ }),\n/* 4 */,\n/* 5 */,\n/* 6 */,\n/* 7 */,\n/* 8 */,\n/* 9 */,\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*\r\n * Copyright (c) 2016 VMware, Inc. All Rights Reserved.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\nvar clarity_icons_api_1 = __webpack_require__(3);\r\nvar shape_template_observer_1 = __webpack_require__(2);\r\n/* CLR-ICON CUSTOM ELEMENT */\r\nvar clrIconId = 0;\r\nvar offScreenSpan = document.createElement(\"span\");\r\noffScreenSpan.className = \"is-off-screen\";\r\nvar parentConstructor = function () {\r\n return HTMLElement.apply(this, arguments);\r\n};\r\nif (typeof Reflect === \"object\") {\r\n parentConstructor = function () {\r\n return Reflect.construct(HTMLElement, arguments, this.constructor);\r\n };\r\n}\r\nfunction ClarityIconElement() {\r\n \"use strict\";\r\n var _instance = parentConstructor.apply(this, arguments);\r\n _instance.clrIconUniqId = \"_clr_icon_\" + clrIconId;\r\n clrIconId++;\r\n Object.defineProperty(_instance, \"currentShapeAttrVal\", {\r\n get: function () {\r\n return _instance._currentShapeAttrVal;\r\n },\r\n set: function (shapeName) {\r\n var _this = this;\r\n if (shapeName) {\r\n _instance._currentShapeAttrVal = shapeName;\r\n // callback function to remove the subscription\r\n _instance._shapeTemplateSubscription =\r\n shape_template_observer_1.ShapeTemplateObserver.instance.subscribeTo(shapeName, function (updatedTemplate) {\r\n _this._injectTemplate(updatedTemplate);\r\n });\r\n }\r\n }\r\n });\r\n return _instance;\r\n}\r\nexports.ClarityIconElement = ClarityIconElement;\r\nClarityIconElement.observedAttributes = [\"shape\", \"size\", \"title\"];\r\nClarityIconElement.prototype = Object.create(HTMLElement.prototype, { constructor: { configurable: true, writable: true, value: ClarityIconElement } });\r\nClarityIconElement.prototype.constructor = ClarityIconElement;\r\nClarityIconElement.prototype._appendCustomTitle = function () {\r\n var cloneOffScreenSpan = offScreenSpan.cloneNode(false);\r\n cloneOffScreenSpan.id = this.clrIconUniqId;\r\n cloneOffScreenSpan.textContent = this.currentTitleAttrVal;\r\n this.appendChild(cloneOffScreenSpan);\r\n};\r\nClarityIconElement.prototype._setIconSize = function (size) {\r\n if (!Number(size) || Number(size) < 0) {\r\n this.style.width = null; // fallback to the original stylesheet value\r\n this.style.height = null; // fallback to the original stylesheet value\r\n }\r\n else {\r\n this.style.width = size + \"px\";\r\n this.style.height = size + \"px\";\r\n }\r\n};\r\nClarityIconElement.prototype.connectedCallback = function () {\r\n // One thing to note here is that the attributeChangedCallback method is called for every attribute first\r\n // before this connectedCallback method called only once when the custom element is inserted into the DOM.\r\n // So we could check whether the attribute values really changed or not.\r\n // If not, we don't need to execute the same codes again.\r\n if (this.hasAttribute(\"size\")) {\r\n var sizeAttrValue = this.getAttribute(\"size\");\r\n if (this.currentSizeAttrVal !== sizeAttrValue) {\r\n this.currentSizeAttrVal = sizeAttrValue;\r\n this._setIconSize(sizeAttrValue);\r\n }\r\n }\r\n // Note: the size attribute is irrelevant from the shape template;\r\n // That's why the size checking placed before detecting changes in shape and title attributes.\r\n // This means even if the shape is not found, the injected shape will have the user-given size.\r\n if (this.hasAttribute(\"shape\")) {\r\n var shapeAttrValue = this.getAttribute(\"shape\").split(/\\s/)[0];\r\n if (shapeAttrValue === this.currentShapeAttrVal) {\r\n return;\r\n }\r\n this.currentShapeAttrVal = shapeAttrValue;\r\n if (clarity_icons_api_1.ClarityIconsApi.instance.has(this.currentShapeAttrVal)) {\r\n this.currentShapeTemplate = clarity_icons_api_1.ClarityIconsApi.instance.get(this.currentShapeAttrVal);\r\n }\r\n else {\r\n this._injectErrorTemplate();\r\n return;\r\n }\r\n }\r\n if (this.hasAttribute(\"title\")) {\r\n var titleAttrValue = this.getAttribute(\"title\");\r\n if (this.currentTitleAttrVal !== titleAttrValue) {\r\n this.currentTitleAttrVal = titleAttrValue;\r\n }\r\n if (!this.currentShapeAttrVal) {\r\n return;\r\n }\r\n }\r\n this._injectTemplate();\r\n};\r\nClarityIconElement.prototype.attributeChangedCallback = function (attributeName, oldValue, newValue) {\r\n if (attributeName === \"size\") {\r\n this._setIconSize(newValue);\r\n }\r\n // Note: the size attribute is irrelavent from the shape template;\r\n // That's why the size checking placed before detecting changes in shape and title attributes.\r\n // This means even if the shape is not found, the injected shape will have the user-given size.\r\n if (attributeName === \"shape\") {\r\n this.currentShapeAttrVal = newValue.split(/\\s/)[0];\r\n if (clarity_icons_api_1.ClarityIconsApi.instance.has(this.currentShapeAttrVal)) {\r\n this.currentShapeTemplate = clarity_icons_api_1.ClarityIconsApi.instance.get(this.currentShapeAttrVal);\r\n }\r\n else {\r\n this._injectErrorTemplate();\r\n return;\r\n }\r\n }\r\n if (attributeName === \"title\") {\r\n this.currentTitleAttrVal = newValue;\r\n if (!this.currentShapeAttrVal) {\r\n return;\r\n }\r\n }\r\n this._injectTemplate();\r\n};\r\nClarityIconElement.prototype.disconnectedCallback = function () {\r\n // as the icon element is removed from the DOM,\r\n // remove its listener callback function as well.\r\n if (this._shapeTemplateSubscription) {\r\n this._shapeTemplateSubscription();\r\n }\r\n};\r\nClarityIconElement.prototype._setAriaLabelledBy = function () {\r\n var existingAriaLabelledBy = this.getAttribute(\"aria-labelledby\");\r\n if (!existingAriaLabelledBy) {\r\n this.setAttribute(\"aria-labelledby\", this.clrIconUniqId);\r\n }\r\n else if (existingAriaLabelledBy && existingAriaLabelledBy.indexOf(this.clrIconUniqId) < 0) {\r\n this.setAttribute(\"aria-labelledby\", existingAriaLabelledBy + \" \" + this.clrIconUniqId);\r\n }\r\n};\r\nClarityIconElement.prototype._injectTemplate = function (shapeTemplate) {\r\n // Accepting the argument, shapeTemplate, will help us to update the shape template\r\n // right before the injection.\r\n if (shapeTemplate && shapeTemplate !== this.currentShapeTemplate) {\r\n this.currentShapeTemplate = shapeTemplate;\r\n }\r\n this.innerHTML = this.currentShapeTemplate;\r\n if (this.currentTitleAttrVal) {\r\n this._setAriaLabelledBy();\r\n this._appendCustomTitle();\r\n }\r\n};\r\nClarityIconElement.prototype._injectErrorTemplate = function () {\r\n this.currentShapeTemplate = clarity_icons_api_1.ClarityIconsApi.instance.get(\"error\");\r\n this._injectTemplate();\r\n};\r\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*\r\n * Copyright (c) 2016 VMware, Inc. All Rights Reserved.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\nvar clarity_icons_api_1 = __webpack_require__(3);\r\nvar clarity_icons_element_1 = __webpack_require__(10);\r\nvar core_shapes_1 = __webpack_require__(1);\r\nvar clarityIcons = clarity_icons_api_1.ClarityIconsApi.instance;\r\nexports.ClarityIcons = clarityIcons;\r\nclarityIcons.add(core_shapes_1.CoreShapes);\r\n// check if there is a global object called \"ClarityIcons\"\r\nif (typeof window !== \"undefined\") {\r\n if (!window.hasOwnProperty(\"ClarityIcons\")) {\r\n // Setting a global object called \"ClarityIcons\" to expose the ClarityIconsApi.\r\n window.ClarityIcons = clarityIcons;\r\n }\r\n // Defining clr-icon custom element\r\n customElements.define(\"clr-icon\", clarity_icons_element_1.ClarityIconElement);\r\n}\r\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// clarity-icons-lite.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 25fcddeb9989818b0dd5","/**\n * Copyright (c) 2016-2017 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport function descriptorConfig(value: any) {\n return {enumerable: true, writable: true, configurable: true, value: value};\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/clarity-icons/utils/descriptor-config.ts","/*\n * Copyright (c) 2016-2017 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {descriptorConfig} from \"../utils/descriptor-config\";\n\n/* tslint:disable:max-line-length */\nconst coreShapes: any = {\n\n \"unknown-status\": `\n \n unknown-status\n\n \n \n \n `,\n\n \"home\": `\n \n home\n\n \n \n\n \n \n \n `,\n\n \"cog\": `\n \n cog\n\n \n \n\n \n \n \n\n \n \n \n\n \n\n \n \n\n \n \n\n \n `,\n\n\n \"check\": `\n \n check\n \n \n `,\n\n\n \"times\": `\n \n times\n \n \n `,\n\n\n \"exclamation-triangle\": `\n \n exclamation-triangle\n\n \n \n \n\n \n \n `,\n\n\n \"exclamation-circle\": `\n \n exclamation-circle\n\n \n \n \n\n \n \n `,\n\n\n \"check-circle\": `\n \n check-circle\n\n \n \n\n \n \n `,\n\n \"info-circle\": `\n \n info-circle\n\n \n \n \n\n \n\n \n `,\n\n\n // for the sake of limiting breaking changes with components, the \"standard\" sizing of the alert\n // icons is the outlier (other references point to the smaller, compact icons used in alerts).\n // if this becomes a problem, point other icon references to the standard size or rename the\n // compact ones.\n \"info-standard\": `\n \n info-standard\n\n \n \n \n\n \n \n `,\n\n \"success-standard\": `\n \n success-standard\n\n \n \n\n \n \n `,\n\n \"error-standard\": `\n \n error-standard\n\n \n \n \n\n \n \n `,\n\n \"warning-standard\": `\n \n warning-standard\n\n \n \n \n\n \n \n `,\n\n \"help-info\": `\n \n help-info\n \n \n \n \n \n \n `,\n\n \"bars\": `\n \n bars\n \n \n \n \n `,\n\n\n \"user\": `\n \n user\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `,\n\n\n \"angle\": `\n \n angle\n \n \n `,\n\n\n \"folder\": `\n \n folder\n\n \n\n \n \n\n \n \n\n \n\n \n \n\n \n \n \n `,\n\n\n \"folder-open\": `\n \n folder-open\n\n \n\n \n \n\n \n \n\n \n\n \n \n\n \n \n \n `,\n\n\n \"bell\": `\n \n bell\n\n \n \n\n \n \n \n\n \n \n\n \n \n \n \n `,\n\n\n \"image\": `\n \n image \n \n \n \n \n \n \n \n \n \n \n `,\n\n\n \"cloud\": `\n \n cloud\n\n \n\n \n \n\n \n \n\n \n\n \n \n\n \n \n \n `,\n\n \"ellipsis-horizontal\": `\n \n ellipsis-horizontal\n \n \n \n \n \n \n \n \n `,\n\n \"ellipsis-vertical\": `\n \n ellipsis-vertical\n \n \n \n \n \n \n \n \n `,\n\n \"filter-grid\": `\n \n filter-grid\n\n \n\n \n \n `,\n\n \"filter-grid-circle\": `\n \n filter-grid-circle\n\n \n \n\n \n \n \n `,\n\n \"vm-bug\": `\n \n vm-bug\n \n \n \n `,\n\n \"search\": `\n \n search\n \n \n \n `,\n\n \"view-columns\": `\n \n view-columns\n \n \n `,\n\n \"angle-double\": `\n \n angle-double\n \n \n \n `\n\n};\n\nObject.defineProperty(coreShapes, \"house\", descriptorConfig(coreShapes.home));\nObject.defineProperty(coreShapes, \"settings\", descriptorConfig(coreShapes.cog));\nObject.defineProperty(coreShapes, \"success\", descriptorConfig(coreShapes.check));\nObject.defineProperty(coreShapes, \"close\", descriptorConfig(coreShapes.times));\nObject.defineProperty(coreShapes, \"warning\", descriptorConfig(coreShapes[\"exclamation-triangle\"]));\nObject.defineProperty(coreShapes, \"error\", descriptorConfig(coreShapes[\"exclamation-circle\"]));\nObject.defineProperty(coreShapes, \"info\", descriptorConfig(coreShapes[\"info-circle\"]));\nObject.defineProperty(coreShapes, \"menu\", descriptorConfig(coreShapes.bars));\nObject.defineProperty(coreShapes, \"avatar\", descriptorConfig(coreShapes.user));\nObject.defineProperty(coreShapes, \"caret\", descriptorConfig(coreShapes.angle));\nObject.defineProperty(coreShapes, \"directory\", descriptorConfig(coreShapes.folder));\nObject.defineProperty(coreShapes, \"notification\", descriptorConfig(coreShapes.bell));\n\nexport {coreShapes as CoreShapes};\n\n\n\n// WEBPACK FOOTER //\n// ./src/clarity-icons/shapes/core-shapes.ts","/**\n * Copyright (c) 2016-2017 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport {ShapeTemplateObservables} from \"../interfaces/icon-interfaces\";\n\nexport const changeHandlerCallbacks: ShapeTemplateObservables = {};\n\nexport class ShapeTemplateObserver {\n private static singleInstance: ShapeTemplateObserver;\n\n private callbacks: ShapeTemplateObservables = changeHandlerCallbacks;\n\n private constructor() {}\n\n public static get instance(): ShapeTemplateObserver {\n if (!ShapeTemplateObserver.singleInstance) {\n ShapeTemplateObserver.singleInstance = new ShapeTemplateObserver();\n }\n\n return ShapeTemplateObserver.singleInstance;\n }\n\n public subscribeTo(shapeName: string, changeHandlerCallback: Function) {\n if (!this.callbacks[shapeName]) {\n this.callbacks[shapeName] = [changeHandlerCallback];\n } else {\n if (this.callbacks[shapeName].indexOf(changeHandlerCallback) === -1) {\n this.callbacks[shapeName].push(changeHandlerCallback);\n }\n }\n\n // this returned function give users an ability to remove the subscription\n return () => {\n const removeAt = this.callbacks[shapeName].indexOf(changeHandlerCallback);\n this.callbacks[shapeName].splice(removeAt, 1);\n\n // if the array is empty, remove the property from the callbacks\n if (this.callbacks[shapeName].length === 0) {\n delete this.callbacks[shapeName];\n }\n };\n }\n\n public emitChanges(shapeName: string, template: string) {\n if (this.callbacks[shapeName]) {\n // this will emit changes to all observers\n // by calling their callback functions on template changes\n this.callbacks[shapeName].map((changeHandlerCallback: Function) => {\n changeHandlerCallback(template);\n });\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/clarity-icons/utils/shape-template-observer.ts","/*\n * Copyright (c) 2016 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {IconAlias, IconShapeSources} from \"./interfaces/icon-interfaces\";\nimport {ShapeTemplateObserver} from \"./utils/shape-template-observer\";\n\nconst iconShapeSources: IconShapeSources = {};\n\nexport class ClarityIconsApi {\n private static singleInstance: ClarityIconsApi;\n\n private constructor() {}\n\n static get instance(): ClarityIconsApi {\n if (!ClarityIconsApi.singleInstance) {\n ClarityIconsApi.singleInstance = new ClarityIconsApi();\n }\n\n return ClarityIconsApi.singleInstance;\n }\n\n private validateName(name: string): boolean {\n if (name.length === 0) {\n throw new Error(\"Shape name or alias must be a non-empty string!\");\n }\n\n if (/\\s/.test(name)) {\n throw new Error(\"Shape name or alias must not contain any whitespace characters!\");\n }\n\n return true;\n }\n\n private setIconTemplate(shapeName: string, shapeTemplate: string): void {\n const trimmedShapeTemplate = shapeTemplate.trim();\n\n if (this.validateName(shapeName)) {\n // if the shape name exists, delete it.\n if (iconShapeSources[shapeName]) {\n delete iconShapeSources[shapeName];\n }\n\n iconShapeSources[shapeName] = trimmedShapeTemplate;\n\n ShapeTemplateObserver.instance.emitChanges(shapeName, trimmedShapeTemplate);\n }\n }\n\n private setIconAliases(templates: IconShapeSources, shapeName: string, aliasNames: string[]): void {\n for (const aliasName of aliasNames) {\n if (this.validateName(aliasName)) {\n Object.defineProperty(templates, aliasName, {\n get: function() {\n return templates[shapeName];\n },\n enumerable: true,\n configurable: true\n });\n }\n }\n }\n\n add(icons?: IconShapeSources): void {\n if (typeof icons !== \"object\") {\n throw new Error(`The argument must be an object literal passed in the following pattern: \n { \"shape-name\": \"shape-template\" }`);\n }\n\n for (const shapeName in icons) {\n if (icons.hasOwnProperty(shapeName)) {\n this.setIconTemplate(shapeName, icons[shapeName]);\n }\n }\n }\n\n has(shapeName: string): boolean {\n return !!iconShapeSources[shapeName];\n }\n\n get(shapeName?: string): any {\n // if shapeName is not given, return all icon templates.\n if (!shapeName) {\n return iconShapeSources;\n }\n\n if (typeof shapeName !== \"string\") {\n throw new TypeError(\"Only string argument is allowed in this method.\");\n }\n\n return iconShapeSources[shapeName];\n }\n\n alias(aliases?: IconAlias): void {\n if (typeof aliases !== \"object\") {\n throw new Error(`The argument must be an object literal passed in the following pattern: \n { \"shape-name\": [\"alias-name\", ...] }`);\n }\n\n for (const shapeName in aliases) {\n if (aliases.hasOwnProperty(shapeName)) {\n if (iconShapeSources.hasOwnProperty(shapeName)) {\n // set an alias to the icon if it exists in iconShapeSources.\n this.setIconAliases(iconShapeSources, shapeName, aliases[shapeName]);\n } else if (iconShapeSources.hasOwnProperty(shapeName)) {\n // set an alias to the icon if it exists in iconShapeSources.\n this.setIconAliases(iconShapeSources, shapeName, aliases[shapeName]);\n } else {\n throw new Error(`An icon \"${\n shapeName}\" you are trying to set aliases to doesn't exist in the Clarity Icons sets!`);\n }\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/clarity-icons/clarity-icons-api.ts","/*\n * Copyright (c) 2016 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport {ClarityIconsApi} from \"./clarity-icons-api\";\nimport {ShapeTemplateObserver} from \"./utils/shape-template-observer\";\n\n/* CLR-ICON CUSTOM ELEMENT */\n\nlet clrIconId = 0;\nconst offScreenSpan = document.createElement(\"span\");\noffScreenSpan.className = \"is-off-screen\";\n\nlet parentConstructor = function() {\n return HTMLElement.apply(this, arguments);\n};\nif (typeof Reflect === \"object\") {\n parentConstructor = function() {\n return (Reflect as any).construct(HTMLElement, arguments, this.constructor);\n };\n}\n\nexport function ClarityIconElement() {\n \"use strict\";\n\n const _instance = (parentConstructor as any).apply(this, arguments);\n\n _instance.clrIconUniqId = \"_clr_icon_\" + clrIconId;\n clrIconId++;\n\n Object.defineProperty(_instance, \"currentShapeAttrVal\", {\n get: function() {\n return _instance._currentShapeAttrVal;\n },\n set: function(shapeName: string) {\n if (shapeName) {\n _instance._currentShapeAttrVal = shapeName;\n\n // callback function to remove the subscription\n _instance._shapeTemplateSubscription =\n ShapeTemplateObserver.instance.subscribeTo(shapeName, (updatedTemplate: string) => {\n this._injectTemplate(updatedTemplate);\n });\n }\n }\n });\n\n return _instance;\n}\n\n(ClarityIconElement as any).observedAttributes = [\"shape\", \"size\", \"title\"];\n\nClarityIconElement.prototype = Object.create(\n HTMLElement.prototype, {constructor: {configurable: true, writable: true, value: ClarityIconElement}});\n\nClarityIconElement.prototype.constructor = ClarityIconElement;\n\nClarityIconElement.prototype._appendCustomTitle = function() {\n const cloneOffScreenSpan = offScreenSpan.cloneNode(false);\n cloneOffScreenSpan.id = this.clrIconUniqId;\n cloneOffScreenSpan.textContent = this.currentTitleAttrVal;\n this.appendChild(cloneOffScreenSpan);\n};\n\nClarityIconElement.prototype._setIconSize = function(size: string) {\n if (!Number(size) || Number(size) < 0) {\n this.style.width = null; // fallback to the original stylesheet value\n this.style.height = null; // fallback to the original stylesheet value\n } else {\n this.style.width = size + \"px\";\n this.style.height = size + \"px\";\n }\n};\n\nClarityIconElement.prototype.connectedCallback = function() {\n // One thing to note here is that the attributeChangedCallback method is called for every attribute first\n // before this connectedCallback method called only once when the custom element is inserted into the DOM.\n // So we could check whether the attribute values really changed or not.\n // If not, we don't need to execute the same codes again.\n\n if (this.hasAttribute(\"size\")) {\n const sizeAttrValue = this.getAttribute(\"size\");\n\n if (this.currentSizeAttrVal !== sizeAttrValue) {\n this.currentSizeAttrVal = sizeAttrValue;\n this._setIconSize(sizeAttrValue);\n }\n }\n\n // Note: the size attribute is irrelevant from the shape template;\n // That's why the size checking placed before detecting changes in shape and title attributes.\n // This means even if the shape is not found, the injected shape will have the user-given size.\n\n if (this.hasAttribute(\"shape\")) {\n const shapeAttrValue = this.getAttribute(\"shape\").split(/\\s/)[0];\n\n if (shapeAttrValue === this.currentShapeAttrVal) {\n return;\n }\n\n this.currentShapeAttrVal = shapeAttrValue;\n\n if (ClarityIconsApi.instance.has(this.currentShapeAttrVal)) {\n this.currentShapeTemplate = ClarityIconsApi.instance.get(this.currentShapeAttrVal);\n } else {\n this._injectErrorTemplate();\n return;\n }\n }\n\n\n if (this.hasAttribute(\"title\")) {\n const titleAttrValue = this.getAttribute(\"title\");\n\n if (this.currentTitleAttrVal !== titleAttrValue) {\n this.currentTitleAttrVal = titleAttrValue;\n }\n\n if (!this.currentShapeAttrVal) {\n return;\n }\n }\n\n this._injectTemplate();\n};\n\nClarityIconElement.prototype.attributeChangedCallback = function(attributeName: string, oldValue: string,\n newValue: string) {\n if (attributeName === \"size\") {\n this._setIconSize(newValue);\n }\n\n // Note: the size attribute is irrelavent from the shape template;\n // That's why the size checking placed before detecting changes in shape and title attributes.\n // This means even if the shape is not found, the injected shape will have the user-given size.\n\n if (attributeName === \"shape\") {\n this.currentShapeAttrVal = newValue.split(/\\s/)[0];\n\n if (ClarityIconsApi.instance.has(this.currentShapeAttrVal)) {\n this.currentShapeTemplate = ClarityIconsApi.instance.get(this.currentShapeAttrVal);\n } else {\n this._injectErrorTemplate();\n return;\n }\n }\n if (attributeName === \"title\") {\n this.currentTitleAttrVal = newValue;\n\n if (!this.currentShapeAttrVal) {\n return;\n }\n }\n\n this._injectTemplate();\n};\n\nClarityIconElement.prototype.disconnectedCallback = function() {\n // as the icon element is removed from the DOM,\n // remove its listener callback function as well.\n if (this._shapeTemplateSubscription) {\n this._shapeTemplateSubscription();\n }\n};\n\nClarityIconElement.prototype._setAriaLabelledBy = function() {\n const existingAriaLabelledBy: string = this.getAttribute(\"aria-labelledby\");\n if (!existingAriaLabelledBy) {\n this.setAttribute(\"aria-labelledby\", this.clrIconUniqId);\n } else if (existingAriaLabelledBy && existingAriaLabelledBy.indexOf(this.clrIconUniqId) < 0) {\n this.setAttribute(\"aria-labelledby\", existingAriaLabelledBy + \" \" + this.clrIconUniqId);\n }\n};\n\nClarityIconElement.prototype._injectTemplate = function(shapeTemplate?: string) {\n // Accepting the argument, shapeTemplate, will help us to update the shape template\n // right before the injection.\n if (shapeTemplate && shapeTemplate !== this.currentShapeTemplate) {\n this.currentShapeTemplate = shapeTemplate;\n }\n\n this.innerHTML = this.currentShapeTemplate;\n\n if (this.currentTitleAttrVal) {\n this._setAriaLabelledBy();\n this._appendCustomTitle();\n }\n};\n\nClarityIconElement.prototype._injectErrorTemplate = function() {\n this.currentShapeTemplate = ClarityIconsApi.instance.get(\"error\");\n this._injectTemplate();\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/clarity-icons/clarity-icons-element.ts","/*\n * Copyright (c) 2016 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport {ClarityIconsApi} from \"./clarity-icons-api\";\nimport {ClarityIconElement} from \"./clarity-icons-element\";\nimport {CoreShapes} from \"./shapes/core-shapes\";\n\nconst clarityIcons: ClarityIconsApi = ClarityIconsApi.instance;\n\nclarityIcons.add(CoreShapes);\n\n// check if there is a global object called \"ClarityIcons\"\nif (typeof window !== \"undefined\") {\n if (!window.hasOwnProperty(\"ClarityIcons\")) {\n // Setting a global object called \"ClarityIcons\" to expose the ClarityIconsApi.\n window.ClarityIcons = clarityIcons;\n }\n // Defining clr-icon custom element\n customElements.define(\"clr-icon\", ClarityIconElement);\n}\n\n\nexport {clarityIcons as ClarityIcons};\n\n\n\n// WEBPACK FOOTER //\n// ./src/clarity-icons/index.ts"],"sourceRoot":""}