carbon-components-angular 5.39.0 → 5.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/docs/documentation/components/TreeNodeComponent.html +22 -20
  2. package/docs/documentation/components/TreeViewComponent.html +154 -37
  3. package/docs/documentation/coverage.html +15 -3
  4. package/docs/documentation/interfaces/EventOnNode.html +343 -0
  5. package/docs/documentation/interfaces/Node.html +5 -0
  6. package/docs/documentation/js/menu-wc.js +3 -0
  7. package/docs/documentation/js/menu-wc_es5.js +1 -1
  8. package/docs/documentation/js/search/search_index.js +2 -2
  9. package/docs/documentation/modules/ComboBoxModule/dependencies.svg +4 -4
  10. package/docs/documentation/modules/ComboBoxModule.html +4 -4
  11. package/docs/documentation/modules/ContentSwitcherModule/dependencies.svg +4 -4
  12. package/docs/documentation/modules/ContentSwitcherModule.html +4 -4
  13. package/docs/documentation/modules/DatePickerInputModule/dependencies.svg +41 -37
  14. package/docs/documentation/modules/DatePickerInputModule.html +41 -37
  15. package/docs/documentation/modules/DatePickerModule/dependencies.svg +38 -38
  16. package/docs/documentation/modules/DatePickerModule.html +38 -38
  17. package/docs/documentation/modules/GridModule/dependencies.svg +60 -60
  18. package/docs/documentation/modules/GridModule.html +60 -60
  19. package/docs/documentation/modules/LoadingModule/dependencies.svg +4 -4
  20. package/docs/documentation/modules/LoadingModule.html +4 -4
  21. package/docs/documentation/modules/NFormsModule/dependencies.svg +4 -4
  22. package/docs/documentation/modules/NFormsModule.html +4 -4
  23. package/docs/documentation/modules/NumberModule/dependencies.svg +4 -4
  24. package/docs/documentation/modules/NumberModule.html +4 -4
  25. package/docs/documentation/modules/ProgressIndicatorModule/dependencies.svg +4 -4
  26. package/docs/documentation/modules/ProgressIndicatorModule.html +4 -4
  27. package/docs/documentation/modules/RadioModule/dependencies.svg +4 -4
  28. package/docs/documentation/modules/RadioModule.html +4 -4
  29. package/docs/documentation/modules/SelectModule/dependencies.svg +58 -58
  30. package/docs/documentation/modules/SelectModule.html +58 -58
  31. package/docs/documentation/modules/SliderModule/dependencies.svg +4 -4
  32. package/docs/documentation/modules/SliderModule.html +4 -4
  33. package/docs/documentation/modules/TableModule/dependencies.svg +216 -216
  34. package/docs/documentation/modules/TableModule.html +216 -216
  35. package/docs/documentation/modules/TabsModule/dependencies.svg +69 -69
  36. package/docs/documentation/modules/TabsModule.html +69 -69
  37. package/docs/documentation/modules/ThemeModule/dependencies.svg +13 -13
  38. package/docs/documentation/modules/ThemeModule.html +13 -13
  39. package/docs/documentation/modules/TilesModule/dependencies.svg +77 -77
  40. package/docs/documentation/modules/TilesModule.html +77 -77
  41. package/docs/documentation/modules/TimePickerModule/dependencies.svg +45 -41
  42. package/docs/documentation/modules/TimePickerModule.html +45 -41
  43. package/docs/documentation/modules/TimePickerSelectModule/dependencies.svg +46 -42
  44. package/docs/documentation/modules/TimePickerSelectModule.html +46 -42
  45. package/docs/documentation/modules/ToggleModule/dependencies.svg +4 -4
  46. package/docs/documentation/modules/ToggleModule.html +4 -4
  47. package/docs/documentation/modules/ToggletipModule/dependencies.svg +37 -37
  48. package/docs/documentation/modules/ToggletipModule.html +37 -37
  49. package/docs/documentation/modules/TooltipModule/dependencies.svg +4 -4
  50. package/docs/documentation/modules/TooltipModule.html +4 -4
  51. package/docs/documentation/modules/TreeviewModule/dependencies.svg +34 -34
  52. package/docs/documentation/modules/TreeviewModule.html +34 -34
  53. package/docs/documentation/modules/UIShellModule/dependencies.svg +4 -4
  54. package/docs/documentation/modules/UIShellModule.html +4 -4
  55. package/docs/documentation/overview.html +1 -1
  56. package/docs/documentation.json +151 -56
  57. package/docs/storybook/iframe.html +2 -2
  58. package/docs/storybook/main.338bd361.iframe.bundle.js +1 -0
  59. package/docs/storybook/project.json +1 -1
  60. package/docs/storybook/{runtime~main.193d0e61.iframe.bundle.js → runtime~main.16c5e56d.iframe.bundle.js} +1 -1
  61. package/docs/storybook/{treeview-treeview-stories.1e5a6fb2.iframe.bundle.js → treeview-treeview-stories.fa77fc60.iframe.bundle.js} +1 -1
  62. package/esm2020/treeview/tree-node.component.mjs +4 -2
  63. package/esm2020/treeview/tree-node.types.mjs +1 -1
  64. package/esm2020/treeview/treeview.component.mjs +19 -4
  65. package/fesm2015/carbon-components-angular-treeview.mjs +21 -4
  66. package/fesm2015/carbon-components-angular-treeview.mjs.map +1 -1
  67. package/fesm2020/carbon-components-angular-treeview.mjs +21 -4
  68. package/fesm2020/carbon-components-angular-treeview.mjs.map +1 -1
  69. package/package.json +1 -1
  70. package/treeview/tree-node.component.d.ts +5 -5
  71. package/treeview/tree-node.types.d.ts +4 -0
  72. package/treeview/treeview.component.d.ts +8 -2
  73. package/docs/storybook/main.fef9668a.iframe.bundle.js +0 -1
@@ -1 +1 @@
1
- {"generatedAt":1725388249675,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":true,"hasStorybookEslint":false,"refCount":0,"packageManager":{"type":"npm","version":"8.19.4"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/angular","options":{}},"builder":"@storybook/builder-webpack5","renderer":"@storybook/angular","storybookVersion":"7.6.7","storybookVersionSpecifier":"7.6.7","language":"typescript","storybookPackages":{"@storybook/addon-actions":{"version":"7.6.7"},"@storybook/angular":{"version":"7.6.7"},"@storybook/theming":{"version":"7.6.7"},"storybook":{"version":"7.6.7"}},"addons":{"@storybook/addon-links":{"version":"7.6.7"},"@storybook/addon-essentials":{"options":{"backgrounds":false},"version":"7.6.7"},"@storybook/addon-a11y":{"version":"7.6.7"},"@storybook/addon-storysource":{"version":"7.6.7"}}}
1
+ {"generatedAt":1725478761142,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":true,"hasStorybookEslint":false,"refCount":0,"packageManager":{"type":"npm","version":"8.19.4"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/angular","options":{}},"builder":"@storybook/builder-webpack5","renderer":"@storybook/angular","storybookVersion":"7.6.7","storybookVersionSpecifier":"7.6.7","language":"typescript","storybookPackages":{"@storybook/addon-actions":{"version":"7.6.7"},"@storybook/angular":{"version":"7.6.7"},"@storybook/theming":{"version":"7.6.7"},"storybook":{"version":"7.6.7"}},"addons":{"@storybook/addon-links":{"version":"7.6.7"},"@storybook/addon-essentials":{"options":{"backgrounds":false},"version":"7.6.7"},"@storybook/addon-a11y":{"version":"7.6.7"},"@storybook/addon-storysource":{"version":"7.6.7"}}}
@@ -1 +1 @@
1
- (()=>{"use strict";var deferred,leafPrototypes,getProto,inProgress,__webpack_modules__={},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(void 0!==cachedModule)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={id:moduleId,loaded:!1,exports:{}};return __webpack_modules__[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.amdO={},deferred=[],__webpack_require__.O=(result,chunkIds,fn,priority)=>{if(!chunkIds){var notFulfilled=1/0;for(i=0;i<deferred.length;i++){for(var[chunkIds,fn,priority]=deferred[i],fulfilled=!0,j=0;j<chunkIds.length;j++)(!1&priority||notFulfilled>=priority)&&Object.keys(__webpack_require__.O).every((key=>__webpack_require__.O[key](chunkIds[j])))?chunkIds.splice(j--,1):(fulfilled=!1,priority<notFulfilled&&(notFulfilled=priority));if(fulfilled){deferred.splice(i--,1);var r=fn();void 0!==r&&(result=r)}}return result}priority=priority||0;for(var i=deferred.length;i>0&&deferred[i-1][2]>priority;i--)deferred[i]=deferred[i-1];deferred[i]=[chunkIds,fn,priority]},__webpack_require__.n=module=>{var getter=module&&module.__esModule?()=>module.default:()=>module;return __webpack_require__.d(getter,{a:getter}),getter},getProto=Object.getPrototypeOf?obj=>Object.getPrototypeOf(obj):obj=>obj.__proto__,__webpack_require__.t=function(value,mode){if(1&mode&&(value=this(value)),8&mode)return value;if("object"==typeof value&&value){if(4&mode&&value.__esModule)return value;if(16&mode&&"function"==typeof value.then)return value}var ns=Object.create(null);__webpack_require__.r(ns);var def={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var current=2&mode&&value;"object"==typeof current&&!~leafPrototypes.indexOf(current);current=getProto(current))Object.getOwnPropertyNames(current).forEach((key=>def[key]=()=>value[key]));return def.default=()=>value,__webpack_require__.d(ns,def),ns},__webpack_require__.d=(exports,definition)=>{for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)&&Object.defineProperty(exports,key,{enumerable:!0,get:definition[key]})},__webpack_require__.f={},__webpack_require__.e=chunkId=>Promise.all(Object.keys(__webpack_require__.f).reduce(((promises,key)=>(__webpack_require__.f[key](chunkId,promises),promises)),[])),__webpack_require__.u=chunkId=>(({140:"dialog-overflow-menu-overflow-menu-stories",210:"list-list-stories",384:"grid-css-grid-stories",459:"tabs-tabs-stories",703:"toggletip-toggletip-stories",799:"pagination-pagination-stories",911:"button-button-stories",933:"table-table-stories",972:"patterns-loading-large-loading-stories",1127:"search-search-stories",1928:"accordion-accordion-stories",2218:"inline-loading-inline-loading-stories",2342:"radio-radio-stories",2371:"timepicker-timepicker-stories",2388:"modal-modal-stories",2399:"input-textarea-stories",2489:"toggle-toggle-stories",2494:"loading-loading-stories",2573:"grid-grid-stories",2722:"context-menu-context-menu-stories",2969:"pagination-pagination-nav-stories",3046:"input-password-stories",3280:"tiles-tiles-stories",3314:"patterns-filtering-multiple-categories-stories",3329:"checkbox-checkbox-stories",3402:"tiles-expandable-tile-stories",3523:"contained-list-contained-list-stories",3610:"patterns-filtering-single-selection-stories",3719:"tiles-clickable-tile-stories",3858:"code-snippet-code-snippet-stories",3867:"tag-tag-stories",4232:"patterns-forms-multi-step-form-stories",4253:"tooltip-tooltip-stories",4277:"patterns-dialogs-modal-with-table-stories",4391:"content-switcher-content-switcher-stories",4731:"icon-icon-stories",4762:"patterns-filtering-multi-selection-stories",5167:"button-icon-button-stories",5368:"number-input-number-stories",5455:"layer-layer-stories",5808:"progress-bar-progress-bar-stories",5980:"select-select-stories",6026:"slider-slider-stories",6115:"theme-theme-stories",6274:"tooltip-definition-tooptip-stories",6310:"file-uploader-file-uploader-stories",6322:"popover-popover-stories",6456:"treeview-treeview-stories",6634:"link-link-stories",6663:"datepicker-datepicker-stories",6842:"breadcrumb-breadcrumb-stories",6943:"input-input-stories",7081:"layout-stack-stories",7235:"index-stories",7291:"structured-list-structured-list-stories",7840:"patterns-loading-progressive-loading-stories",7869:"skeleton-skeleton-stories",7931:"notification-notification-stories",8552:"button-button-set-stories",9211:"dropdown-dropdown-stories",9325:"tiles-tile-group-stories",9552:"timepicker-select-timepicker-select-stories",9619:"progress-indicator-progress-indicator-stories",9660:"ui-shell-ui-shell-stories",9736:"combobox-combobox-stories"}[chunkId]||chunkId)+"."+{140:"e0a259e0",210:"e906cf67",384:"c703f9de",459:"066fa432",503:"7113f5a6",703:"93f48d46",760:"c83c0660",799:"05ab4dd7",901:"eac9ade7",911:"a12bca49",933:"c19aca64",972:"699b1e1b",1119:"29184bd5",1127:"2dfd7cce",1345:"9eabf5e2",1470:"39923f01",1562:"1e6a79b6",1895:"0331c090",1928:"e04e2378",2218:"5226939d",2342:"b6c3c440",2371:"7bbf1029",2388:"66aa5c7c",2399:"1a3b5e80",2489:"def6c644",2494:"261bc118",2573:"f7a88c02",2722:"64411dcb",2969:"ad4e83e9",3046:"33a92ba2",3080:"d3996d61",3224:"c0834124",3280:"841048dc",3314:"487f9487",3329:"3aeae19d",3360:"e0c015fc",3402:"97c48cb1",3415:"bd5d140d",3446:"67748550",3523:"b0377336",3610:"e4243e65",3719:"09f1a279",3774:"c37f3d92",3858:"0b374806",3867:"dffa6874",3931:"0e7c514c",4232:"22da53c6",4253:"eb2e347f",4277:"a011175b",4391:"8f3aa078",4731:"7926f3ba",4762:"cae9c326",5069:"eabf32ea",5103:"20115e64",5167:"d6e7f30d",5368:"a1953960",5455:"9fc41371",5808:"36bb008f",5868:"06f13966",5980:"c1077d92",6026:"5884b16a",6115:"66e1727e",6274:"60d42e1c",6310:"7cbeda49",6322:"a91784a3",6456:"1e5a6fb2",6634:"9e3dd976",6663:"adb85d77",6702:"8b6fb391",6765:"30850149",6842:"8a783f18",6943:"8154d597",7019:"b8944046",7081:"799a681c",7235:"613320d5",7291:"c86ef32b",7331:"93927803",7399:"f37bb110",7529:"5272f30b",7773:"6c3cf943",7840:"717ad729",7869:"77f9485f",7931:"624c3d04",8341:"a544f9e9",8552:"1417284a",9115:"b37cce0a",9211:"c20a8aa6",9325:"c925923c",9552:"5b57af49",9558:"5e0c598c",9619:"b7f8dfd4",9660:"b8c5a541",9672:"48c27c98",9736:"3bbada2d"}[chunkId]+".iframe.bundle.js"),__webpack_require__.miniCssF=chunkId=>{},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.hmd=module=>((module=Object.create(module)).children||(module.children=[]),Object.defineProperty(module,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+module.id)}}),module),__webpack_require__.o=(obj,prop)=>Object.prototype.hasOwnProperty.call(obj,prop),inProgress={},__webpack_require__.l=(url,done,key,chunkId)=>{if(inProgress[url])inProgress[url].push(done);else{var script,needAttach;if(void 0!==key)for(var scripts=document.getElementsByTagName("script"),i=0;i<scripts.length;i++){var s=scripts[i];if(s.getAttribute("src")==url||s.getAttribute("data-webpack")=="carbon-components-angular:"+key){script=s;break}}script||(needAttach=!0,(script=document.createElement("script")).charset="utf-8",script.timeout=120,__webpack_require__.nc&&script.setAttribute("nonce",__webpack_require__.nc),script.setAttribute("data-webpack","carbon-components-angular:"+key),script.src=url),inProgress[url]=[done];var onScriptComplete=(prev,event)=>{script.onerror=script.onload=null,clearTimeout(timeout);var doneFns=inProgress[url];if(delete inProgress[url],script.parentNode&&script.parentNode.removeChild(script),doneFns&&doneFns.forEach((fn=>fn(event))),prev)return prev(event)},timeout=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:script}),12e4);script.onerror=onScriptComplete.bind(null,script.onerror),script.onload=onScriptComplete.bind(null,script.onload),needAttach&&document.head.appendChild(script)}},__webpack_require__.r=exports=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})},__webpack_require__.nmd=module=>(module.paths=[],module.children||(module.children=[]),module),__webpack_require__.p="",(()=>{var installedChunks={1303:0};__webpack_require__.f.j=(chunkId,promises)=>{var installedChunkData=__webpack_require__.o(installedChunks,chunkId)?installedChunks[chunkId]:void 0;if(0!==installedChunkData)if(installedChunkData)promises.push(installedChunkData[2]);else if(1303!=chunkId){var promise=new Promise(((resolve,reject)=>installedChunkData=installedChunks[chunkId]=[resolve,reject]));promises.push(installedChunkData[2]=promise);var url=__webpack_require__.p+__webpack_require__.u(chunkId),error=new Error;__webpack_require__.l(url,(event=>{if(__webpack_require__.o(installedChunks,chunkId)&&(0!==(installedChunkData=installedChunks[chunkId])&&(installedChunks[chunkId]=void 0),installedChunkData)){var errorType=event&&("load"===event.type?"missing":event.type),realSrc=event&&event.target&&event.target.src;error.message="Loading chunk "+chunkId+" failed.\n("+errorType+": "+realSrc+")",error.name="ChunkLoadError",error.type=errorType,error.request=realSrc,installedChunkData[1](error)}}),"chunk-"+chunkId,chunkId)}else installedChunks[chunkId]=0},__webpack_require__.O.j=chunkId=>0===installedChunks[chunkId];var webpackJsonpCallback=(parentChunkLoadingFunction,data)=>{var moduleId,chunkId,[chunkIds,moreModules,runtime]=data,i=0;if(chunkIds.some((id=>0!==installedChunks[id]))){for(moduleId in moreModules)__webpack_require__.o(moreModules,moduleId)&&(__webpack_require__.m[moduleId]=moreModules[moduleId]);if(runtime)var result=runtime(__webpack_require__)}for(parentChunkLoadingFunction&&parentChunkLoadingFunction(data);i<chunkIds.length;i++)chunkId=chunkIds[i],__webpack_require__.o(installedChunks,chunkId)&&installedChunks[chunkId]&&installedChunks[chunkId][0](),installedChunks[chunkId]=0;return __webpack_require__.O(result)},chunkLoadingGlobal=self.webpackChunkcarbon_components_angular=self.webpackChunkcarbon_components_angular||[];chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null,0)),chunkLoadingGlobal.push=webpackJsonpCallback.bind(null,chunkLoadingGlobal.push.bind(chunkLoadingGlobal))})(),__webpack_require__.nc=void 0})();
1
+ (()=>{"use strict";var deferred,leafPrototypes,getProto,inProgress,__webpack_modules__={},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(void 0!==cachedModule)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={id:moduleId,loaded:!1,exports:{}};return __webpack_modules__[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.amdO={},deferred=[],__webpack_require__.O=(result,chunkIds,fn,priority)=>{if(!chunkIds){var notFulfilled=1/0;for(i=0;i<deferred.length;i++){for(var[chunkIds,fn,priority]=deferred[i],fulfilled=!0,j=0;j<chunkIds.length;j++)(!1&priority||notFulfilled>=priority)&&Object.keys(__webpack_require__.O).every((key=>__webpack_require__.O[key](chunkIds[j])))?chunkIds.splice(j--,1):(fulfilled=!1,priority<notFulfilled&&(notFulfilled=priority));if(fulfilled){deferred.splice(i--,1);var r=fn();void 0!==r&&(result=r)}}return result}priority=priority||0;for(var i=deferred.length;i>0&&deferred[i-1][2]>priority;i--)deferred[i]=deferred[i-1];deferred[i]=[chunkIds,fn,priority]},__webpack_require__.n=module=>{var getter=module&&module.__esModule?()=>module.default:()=>module;return __webpack_require__.d(getter,{a:getter}),getter},getProto=Object.getPrototypeOf?obj=>Object.getPrototypeOf(obj):obj=>obj.__proto__,__webpack_require__.t=function(value,mode){if(1&mode&&(value=this(value)),8&mode)return value;if("object"==typeof value&&value){if(4&mode&&value.__esModule)return value;if(16&mode&&"function"==typeof value.then)return value}var ns=Object.create(null);__webpack_require__.r(ns);var def={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var current=2&mode&&value;"object"==typeof current&&!~leafPrototypes.indexOf(current);current=getProto(current))Object.getOwnPropertyNames(current).forEach((key=>def[key]=()=>value[key]));return def.default=()=>value,__webpack_require__.d(ns,def),ns},__webpack_require__.d=(exports,definition)=>{for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)&&Object.defineProperty(exports,key,{enumerable:!0,get:definition[key]})},__webpack_require__.f={},__webpack_require__.e=chunkId=>Promise.all(Object.keys(__webpack_require__.f).reduce(((promises,key)=>(__webpack_require__.f[key](chunkId,promises),promises)),[])),__webpack_require__.u=chunkId=>(({140:"dialog-overflow-menu-overflow-menu-stories",210:"list-list-stories",384:"grid-css-grid-stories",459:"tabs-tabs-stories",703:"toggletip-toggletip-stories",799:"pagination-pagination-stories",911:"button-button-stories",933:"table-table-stories",972:"patterns-loading-large-loading-stories",1127:"search-search-stories",1928:"accordion-accordion-stories",2218:"inline-loading-inline-loading-stories",2342:"radio-radio-stories",2371:"timepicker-timepicker-stories",2388:"modal-modal-stories",2399:"input-textarea-stories",2489:"toggle-toggle-stories",2494:"loading-loading-stories",2573:"grid-grid-stories",2722:"context-menu-context-menu-stories",2969:"pagination-pagination-nav-stories",3046:"input-password-stories",3280:"tiles-tiles-stories",3314:"patterns-filtering-multiple-categories-stories",3329:"checkbox-checkbox-stories",3402:"tiles-expandable-tile-stories",3523:"contained-list-contained-list-stories",3610:"patterns-filtering-single-selection-stories",3719:"tiles-clickable-tile-stories",3858:"code-snippet-code-snippet-stories",3867:"tag-tag-stories",4232:"patterns-forms-multi-step-form-stories",4253:"tooltip-tooltip-stories",4277:"patterns-dialogs-modal-with-table-stories",4391:"content-switcher-content-switcher-stories",4731:"icon-icon-stories",4762:"patterns-filtering-multi-selection-stories",5167:"button-icon-button-stories",5368:"number-input-number-stories",5455:"layer-layer-stories",5808:"progress-bar-progress-bar-stories",5980:"select-select-stories",6026:"slider-slider-stories",6115:"theme-theme-stories",6274:"tooltip-definition-tooptip-stories",6310:"file-uploader-file-uploader-stories",6322:"popover-popover-stories",6456:"treeview-treeview-stories",6634:"link-link-stories",6663:"datepicker-datepicker-stories",6842:"breadcrumb-breadcrumb-stories",6943:"input-input-stories",7081:"layout-stack-stories",7235:"index-stories",7291:"structured-list-structured-list-stories",7840:"patterns-loading-progressive-loading-stories",7869:"skeleton-skeleton-stories",7931:"notification-notification-stories",8552:"button-button-set-stories",9211:"dropdown-dropdown-stories",9325:"tiles-tile-group-stories",9552:"timepicker-select-timepicker-select-stories",9619:"progress-indicator-progress-indicator-stories",9660:"ui-shell-ui-shell-stories",9736:"combobox-combobox-stories"}[chunkId]||chunkId)+"."+{140:"e0a259e0",210:"e906cf67",384:"c703f9de",459:"066fa432",503:"7113f5a6",703:"93f48d46",760:"c83c0660",799:"05ab4dd7",901:"eac9ade7",911:"a12bca49",933:"c19aca64",972:"699b1e1b",1119:"29184bd5",1127:"2dfd7cce",1345:"9eabf5e2",1470:"39923f01",1562:"1e6a79b6",1895:"0331c090",1928:"e04e2378",2218:"5226939d",2342:"b6c3c440",2371:"7bbf1029",2388:"66aa5c7c",2399:"1a3b5e80",2489:"def6c644",2494:"261bc118",2573:"f7a88c02",2722:"64411dcb",2969:"ad4e83e9",3046:"33a92ba2",3080:"d3996d61",3224:"c0834124",3280:"841048dc",3314:"487f9487",3329:"3aeae19d",3360:"e0c015fc",3402:"97c48cb1",3415:"bd5d140d",3446:"67748550",3523:"b0377336",3610:"e4243e65",3719:"09f1a279",3774:"c37f3d92",3858:"0b374806",3867:"dffa6874",3931:"0e7c514c",4232:"22da53c6",4253:"eb2e347f",4277:"a011175b",4391:"8f3aa078",4731:"7926f3ba",4762:"cae9c326",5069:"eabf32ea",5103:"20115e64",5167:"d6e7f30d",5368:"a1953960",5455:"9fc41371",5808:"36bb008f",5868:"06f13966",5980:"c1077d92",6026:"5884b16a",6115:"66e1727e",6274:"60d42e1c",6310:"7cbeda49",6322:"a91784a3",6456:"fa77fc60",6634:"9e3dd976",6663:"adb85d77",6702:"8b6fb391",6765:"30850149",6842:"8a783f18",6943:"8154d597",7019:"b8944046",7081:"799a681c",7235:"613320d5",7291:"c86ef32b",7331:"93927803",7399:"f37bb110",7529:"5272f30b",7773:"6c3cf943",7840:"717ad729",7869:"77f9485f",7931:"624c3d04",8341:"a544f9e9",8552:"1417284a",9115:"b37cce0a",9211:"c20a8aa6",9325:"c925923c",9552:"5b57af49",9558:"5e0c598c",9619:"b7f8dfd4",9660:"b8c5a541",9672:"48c27c98",9736:"3bbada2d"}[chunkId]+".iframe.bundle.js"),__webpack_require__.miniCssF=chunkId=>{},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.hmd=module=>((module=Object.create(module)).children||(module.children=[]),Object.defineProperty(module,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+module.id)}}),module),__webpack_require__.o=(obj,prop)=>Object.prototype.hasOwnProperty.call(obj,prop),inProgress={},__webpack_require__.l=(url,done,key,chunkId)=>{if(inProgress[url])inProgress[url].push(done);else{var script,needAttach;if(void 0!==key)for(var scripts=document.getElementsByTagName("script"),i=0;i<scripts.length;i++){var s=scripts[i];if(s.getAttribute("src")==url||s.getAttribute("data-webpack")=="carbon-components-angular:"+key){script=s;break}}script||(needAttach=!0,(script=document.createElement("script")).charset="utf-8",script.timeout=120,__webpack_require__.nc&&script.setAttribute("nonce",__webpack_require__.nc),script.setAttribute("data-webpack","carbon-components-angular:"+key),script.src=url),inProgress[url]=[done];var onScriptComplete=(prev,event)=>{script.onerror=script.onload=null,clearTimeout(timeout);var doneFns=inProgress[url];if(delete inProgress[url],script.parentNode&&script.parentNode.removeChild(script),doneFns&&doneFns.forEach((fn=>fn(event))),prev)return prev(event)},timeout=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:script}),12e4);script.onerror=onScriptComplete.bind(null,script.onerror),script.onload=onScriptComplete.bind(null,script.onload),needAttach&&document.head.appendChild(script)}},__webpack_require__.r=exports=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})},__webpack_require__.nmd=module=>(module.paths=[],module.children||(module.children=[]),module),__webpack_require__.p="",(()=>{var installedChunks={1303:0};__webpack_require__.f.j=(chunkId,promises)=>{var installedChunkData=__webpack_require__.o(installedChunks,chunkId)?installedChunks[chunkId]:void 0;if(0!==installedChunkData)if(installedChunkData)promises.push(installedChunkData[2]);else if(1303!=chunkId){var promise=new Promise(((resolve,reject)=>installedChunkData=installedChunks[chunkId]=[resolve,reject]));promises.push(installedChunkData[2]=promise);var url=__webpack_require__.p+__webpack_require__.u(chunkId),error=new Error;__webpack_require__.l(url,(event=>{if(__webpack_require__.o(installedChunks,chunkId)&&(0!==(installedChunkData=installedChunks[chunkId])&&(installedChunks[chunkId]=void 0),installedChunkData)){var errorType=event&&("load"===event.type?"missing":event.type),realSrc=event&&event.target&&event.target.src;error.message="Loading chunk "+chunkId+" failed.\n("+errorType+": "+realSrc+")",error.name="ChunkLoadError",error.type=errorType,error.request=realSrc,installedChunkData[1](error)}}),"chunk-"+chunkId,chunkId)}else installedChunks[chunkId]=0},__webpack_require__.O.j=chunkId=>0===installedChunks[chunkId];var webpackJsonpCallback=(parentChunkLoadingFunction,data)=>{var moduleId,chunkId,[chunkIds,moreModules,runtime]=data,i=0;if(chunkIds.some((id=>0!==installedChunks[id]))){for(moduleId in moreModules)__webpack_require__.o(moreModules,moduleId)&&(__webpack_require__.m[moduleId]=moreModules[moduleId]);if(runtime)var result=runtime(__webpack_require__)}for(parentChunkLoadingFunction&&parentChunkLoadingFunction(data);i<chunkIds.length;i++)chunkId=chunkIds[i],__webpack_require__.o(installedChunks,chunkId)&&installedChunks[chunkId]&&installedChunks[chunkId][0](),installedChunks[chunkId]=0;return __webpack_require__.O(result)},chunkLoadingGlobal=self.webpackChunkcarbon_components_angular=self.webpackChunkcarbon_components_angular||[];chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null,0)),chunkLoadingGlobal.push=webpackJsonpCallback.bind(null,chunkLoadingGlobal.push.bind(chunkLoadingGlobal))})(),__webpack_require__.nc=void 0})();
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkcarbon_components_angular=self.webpackChunkcarbon_components_angular||[]).push([[6456],{"./src/icon/icon.directive.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{a:()=>IconDirective});var tslib__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_icon_service__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./src/icon/icon.service.ts"),_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@carbon/icon-helpers/es/index.js");let IconDirective=class IconDirective{constructor(elementRef,iconService){this.elementRef=elementRef,this.iconService=iconService,this.cdsIcon="",this.size="16",this.title="",this.ariaLabel="",this.ariaLabelledBy="",this.ariaHidden="",this.isFocusable=!1}set ibmIcon(iconName){this.cdsIcon=iconName}renderIcon(iconName){const root=this.elementRef.nativeElement;let icon;try{icon=this.iconService.get(iconName,this.size.toString())}catch(error){return void console.warn(error)}const domParser=new DOMParser,rawSVG=icon.svg,svgElement=domParser.parseFromString(rawSVG,"image/svg+xml").documentElement;let node="SVG"!==root.tagName.toUpperCase()?svgElement:svgElement.firstChild;for(root.innerHTML="";node;)root.appendChild(root.ownerDocument.importNode(node,!0)),node=node.nextSibling;const svg="SVG"!==root.tagName.toUpperCase()?svgElement:root;svg.setAttribute("xmlns","http://www.w3.org/2000/svg");const attributes=(0,_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_1__.u9)({width:icon.attrs.width,height:icon.attrs.height,viewBox:icon.attrs.viewBox,title:this.title,"aria-label":this.ariaLabel,"aria-labelledby":this.ariaLabelledBy,"aria-hidden":this.ariaHidden,focusable:this.isFocusable.toString()}),attrKeys=Object.keys(attributes);for(let i=0;i<attrKeys.length;i++){const key=attrKeys[i],value=attributes[key];"title"!==key&&(value&&svg.setAttribute(key,value))}if(attributes.title){const title=document.createElement("title");title.textContent=attributes.title,IconDirective.titleIdCounter++,title.setAttribute("id",`${icon.name}-title-${IconDirective.titleIdCounter}`),svg.insertBefore(title,svg.firstElementChild),svg.setAttribute("aria-labelledby",`${icon.name}-title-${IconDirective.titleIdCounter}`)}}ngAfterViewInit(){this.renderIcon(this.cdsIcon)}ngOnChanges({cdsIcon}){cdsIcon&&!cdsIcon.isFirstChange()&&this.renderIcon(this.cdsIcon)}};IconDirective.titleIdCounter=0,IconDirective.ctorParameters=()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.ElementRef},{type:_icon_service__WEBPACK_IMPORTED_MODULE_0__.C6}],IconDirective.propDecorators={ibmIcon:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],cdsIcon:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],size:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],title:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaLabel:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaLabelledBy:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaHidden:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],isFocusable:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}]},IconDirective=(0,tslib__WEBPACK_IMPORTED_MODULE_3__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Directive)({selector:"[cdsIcon], [ibmIcon]"})],IconDirective)},"./src/icon/icon.module.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{QX:()=>IconModule});var tslib__WEBPACK_IMPORTED_MODULE_56__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_55__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_angular_common__WEBPACK_IMPORTED_MODULE_57__=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs"),_icon_directive__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./src/icon/icon.directive.ts"),_icon_service__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./src/icon/icon.service.ts"),_carbon_icons_es_add_16__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@carbon/icons/es/add/16.js"),_carbon_icons_es_add_20__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/@carbon/icons/es/add/20.js"),_carbon_icons_es_bee_16__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/@carbon/icons/es/bee/16.js"),_carbon_icons_es_bee_20__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/@carbon/icons/es/bee/20.js"),_carbon_icons_es_calendar_16__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/@carbon/icons/es/calendar/16.js"),_carbon_icons_es_carbon_16__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/@carbon/icons/es/carbon/16.js"),_carbon_icons_es_carbon_20__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/@carbon/icons/es/carbon/20.js"),_carbon_icons_es_caret_down_16__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/@carbon/icons/es/caret--down/16.js"),_carbon_icons_es_caret_left_16__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./node_modules/@carbon/icons/es/caret--left/16.js"),_carbon_icons_es_caret_right_16__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./node_modules/@carbon/icons/es/caret--right/16.js"),_carbon_icons_es_caret_up_16__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./node_modules/@carbon/icons/es/caret--up/16.js"),_carbon_icons_es_checkmark_16__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark/16.js"),_carbon_icons_es_checkmark_filled_16__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--filled/16.js"),_carbon_icons_es_checkmark_filled_20__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--filled/20.js"),_carbon_icons_es_checkmark_outline_16__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--outline/16.js"),_carbon_icons_es_chevron_down_16__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__("./node_modules/@carbon/icons/es/chevron--down/16.js"),_carbon_icons_es_chevron_right_16__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__("./node_modules/@carbon/icons/es/chevron--right/16.js"),_carbon_icons_es_circle_dash_16__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__("./node_modules/@carbon/icons/es/circle-dash/16.js"),_carbon_icons_es_close_16__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__("./node_modules/@carbon/icons/es/close/16.js"),_carbon_icons_es_close_20__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__("./node_modules/@carbon/icons/es/close/20.js"),_carbon_icons_es_copy_16__WEBPACK_IMPORTED_MODULE_22__=__webpack_require__("./node_modules/@carbon/icons/es/copy/16.js"),_carbon_icons_es_copy_20__WEBPACK_IMPORTED_MODULE_23__=__webpack_require__("./node_modules/@carbon/icons/es/copy/20.js"),_carbon_icons_es_data_2_16__WEBPACK_IMPORTED_MODULE_24__=__webpack_require__("./node_modules/@carbon/icons/es/data--2/16.js"),_carbon_icons_es_data_2_20__WEBPACK_IMPORTED_MODULE_25__=__webpack_require__("./node_modules/@carbon/icons/es/data--2/20.js"),_carbon_icons_es_document_16__WEBPACK_IMPORTED_MODULE_26__=__webpack_require__("./node_modules/@carbon/icons/es/document/16.js"),_carbon_icons_es_document_20__WEBPACK_IMPORTED_MODULE_27__=__webpack_require__("./node_modules/@carbon/icons/es/document/20.js"),_carbon_icons_es_download_16__WEBPACK_IMPORTED_MODULE_28__=__webpack_require__("./node_modules/@carbon/icons/es/download/16.js"),_carbon_icons_es_error_filled_16__WEBPACK_IMPORTED_MODULE_29__=__webpack_require__("./node_modules/@carbon/icons/es/error--filled/16.js"),_carbon_icons_es_error_filled_20__WEBPACK_IMPORTED_MODULE_30__=__webpack_require__("./node_modules/@carbon/icons/es/error--filled/20.js"),_carbon_icons_es_fade_16__WEBPACK_IMPORTED_MODULE_31__=__webpack_require__("./node_modules/@carbon/icons/es/fade/16.js"),_carbon_icons_es_fade_20__WEBPACK_IMPORTED_MODULE_32__=__webpack_require__("./node_modules/@carbon/icons/es/fade/20.js"),_carbon_icons_es_folder_16__WEBPACK_IMPORTED_MODULE_33__=__webpack_require__("./node_modules/@carbon/icons/es/folder/16.js"),_carbon_icons_es_incomplete_16__WEBPACK_IMPORTED_MODULE_34__=__webpack_require__("./node_modules/@carbon/icons/es/incomplete/16.js"),_carbon_icons_es_information_filled_16__WEBPACK_IMPORTED_MODULE_35__=__webpack_require__("./node_modules/@carbon/icons/es/information--filled/16.js"),_carbon_icons_es_information_filled_20__WEBPACK_IMPORTED_MODULE_36__=__webpack_require__("./node_modules/@carbon/icons/es/information--filled/20.js"),_carbon_icons_es_information_square_filled_20__WEBPACK_IMPORTED_MODULE_37__=__webpack_require__("./node_modules/@carbon/icons/es/information--square--filled/20.js"),_carbon_icons_es_menu_16__WEBPACK_IMPORTED_MODULE_38__=__webpack_require__("./node_modules/@carbon/icons/es/menu/16.js"),_carbon_icons_es_menu_20__WEBPACK_IMPORTED_MODULE_39__=__webpack_require__("./node_modules/@carbon/icons/es/menu/20.js"),_carbon_icons_es_overflow_menu_vertical_16__WEBPACK_IMPORTED_MODULE_40__=__webpack_require__("./node_modules/@carbon/icons/es/overflow-menu--vertical/16.js"),_carbon_icons_es_overflow_menu_horizontal_16__WEBPACK_IMPORTED_MODULE_41__=__webpack_require__("./node_modules/@carbon/icons/es/overflow-menu--horizontal/16.js"),_carbon_icons_es_save_16__WEBPACK_IMPORTED_MODULE_42__=__webpack_require__("./node_modules/@carbon/icons/es/save/16.js"),_carbon_icons_es_search_16__WEBPACK_IMPORTED_MODULE_43__=__webpack_require__("./node_modules/@carbon/icons/es/search/16.js"),_carbon_icons_es_settings_16__WEBPACK_IMPORTED_MODULE_44__=__webpack_require__("./node_modules/@carbon/icons/es/settings/16.js"),_carbon_icons_es_settings_adjust_16__WEBPACK_IMPORTED_MODULE_45__=__webpack_require__("./node_modules/@carbon/icons/es/settings--adjust/16.js"),_carbon_icons_es_subtract_16__WEBPACK_IMPORTED_MODULE_46__=__webpack_require__("./node_modules/@carbon/icons/es/subtract/16.js"),_carbon_icons_es_trash_can_16__WEBPACK_IMPORTED_MODULE_47__=__webpack_require__("./node_modules/@carbon/icons/es/trash-can/16.js"),_carbon_icons_es_warning_16__WEBPACK_IMPORTED_MODULE_48__=__webpack_require__("./node_modules/@carbon/icons/es/warning/16.js"),_carbon_icons_es_warning_filled_16__WEBPACK_IMPORTED_MODULE_49__=__webpack_require__("./node_modules/@carbon/icons/es/warning--filled/16.js"),_carbon_icons_es_warning_filled_20__WEBPACK_IMPORTED_MODULE_50__=__webpack_require__("./node_modules/@carbon/icons/es/warning--filled/20.js"),_carbon_icons_es_warning_alt_filled_16__WEBPACK_IMPORTED_MODULE_51__=__webpack_require__("./node_modules/@carbon/icons/es/warning--alt--filled/16.js"),_carbon_icons_es_warning_alt_filled_20__WEBPACK_IMPORTED_MODULE_52__=__webpack_require__("./node_modules/@carbon/icons/es/warning--alt--filled/20.js"),_carbon_icons_es_view_16__WEBPACK_IMPORTED_MODULE_53__=__webpack_require__("./node_modules/@carbon/icons/es/view/16.js"),_carbon_icons_es_view_off_16__WEBPACK_IMPORTED_MODULE_54__=__webpack_require__("./node_modules/@carbon/icons/es/view--off/16.js");const ICON_SERVICE_PROVIDER={provide:_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6,deps:[[new _angular_core__WEBPACK_IMPORTED_MODULE_55__.Optional,new _angular_core__WEBPACK_IMPORTED_MODULE_55__.SkipSelf,_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6]],useFactory:function ICON_SERVICE_PROVIDER_FACTORY(parentService){return parentService||new _icon_service__WEBPACK_IMPORTED_MODULE_1__.C6}};let IconModule=class IconModule{constructor(iconService){this.iconService=iconService,iconService.registerAll([_carbon_icons_es_add_16__WEBPACK_IMPORTED_MODULE_2__.Z,_carbon_icons_es_add_20__WEBPACK_IMPORTED_MODULE_3__.Z,_carbon_icons_es_bee_16__WEBPACK_IMPORTED_MODULE_4__.Z,_carbon_icons_es_bee_20__WEBPACK_IMPORTED_MODULE_5__.Z,_carbon_icons_es_calendar_16__WEBPACK_IMPORTED_MODULE_6__.Z,_carbon_icons_es_carbon_16__WEBPACK_IMPORTED_MODULE_7__.Z,_carbon_icons_es_carbon_20__WEBPACK_IMPORTED_MODULE_8__.Z,_carbon_icons_es_caret_down_16__WEBPACK_IMPORTED_MODULE_9__.Z,_carbon_icons_es_caret_left_16__WEBPACK_IMPORTED_MODULE_10__.Z,_carbon_icons_es_caret_right_16__WEBPACK_IMPORTED_MODULE_11__.Z,_carbon_icons_es_caret_up_16__WEBPACK_IMPORTED_MODULE_12__.Z,_carbon_icons_es_checkmark_16__WEBPACK_IMPORTED_MODULE_13__.Z,_carbon_icons_es_checkmark_filled_16__WEBPACK_IMPORTED_MODULE_14__.Z,_carbon_icons_es_checkmark_filled_20__WEBPACK_IMPORTED_MODULE_15__.Z,_carbon_icons_es_checkmark_outline_16__WEBPACK_IMPORTED_MODULE_16__.Z,_carbon_icons_es_chevron_down_16__WEBPACK_IMPORTED_MODULE_17__.Z,_carbon_icons_es_chevron_right_16__WEBPACK_IMPORTED_MODULE_18__.Z,_carbon_icons_es_circle_dash_16__WEBPACK_IMPORTED_MODULE_19__.Z,_carbon_icons_es_close_16__WEBPACK_IMPORTED_MODULE_20__.Z,_carbon_icons_es_close_20__WEBPACK_IMPORTED_MODULE_21__.Z,_carbon_icons_es_copy_16__WEBPACK_IMPORTED_MODULE_22__.Z,_carbon_icons_es_copy_20__WEBPACK_IMPORTED_MODULE_23__.Z,_carbon_icons_es_data_2_16__WEBPACK_IMPORTED_MODULE_24__.Z,_carbon_icons_es_data_2_20__WEBPACK_IMPORTED_MODULE_25__.Z,_carbon_icons_es_document_16__WEBPACK_IMPORTED_MODULE_26__.Z,_carbon_icons_es_document_20__WEBPACK_IMPORTED_MODULE_27__.Z,_carbon_icons_es_download_16__WEBPACK_IMPORTED_MODULE_28__.Z,_carbon_icons_es_error_filled_16__WEBPACK_IMPORTED_MODULE_29__.Z,_carbon_icons_es_error_filled_20__WEBPACK_IMPORTED_MODULE_30__.Z,_carbon_icons_es_fade_16__WEBPACK_IMPORTED_MODULE_31__.Z,_carbon_icons_es_fade_20__WEBPACK_IMPORTED_MODULE_32__.Z,_carbon_icons_es_folder_16__WEBPACK_IMPORTED_MODULE_33__.Z,_carbon_icons_es_incomplete_16__WEBPACK_IMPORTED_MODULE_34__.Z,_carbon_icons_es_information_filled_16__WEBPACK_IMPORTED_MODULE_35__.Z,_carbon_icons_es_information_filled_20__WEBPACK_IMPORTED_MODULE_36__.Z,_carbon_icons_es_information_square_filled_20__WEBPACK_IMPORTED_MODULE_37__.Z,_carbon_icons_es_menu_16__WEBPACK_IMPORTED_MODULE_38__.Z,_carbon_icons_es_menu_20__WEBPACK_IMPORTED_MODULE_39__.Z,_carbon_icons_es_overflow_menu_vertical_16__WEBPACK_IMPORTED_MODULE_40__.Z,_carbon_icons_es_overflow_menu_horizontal_16__WEBPACK_IMPORTED_MODULE_41__.Z,_carbon_icons_es_save_16__WEBPACK_IMPORTED_MODULE_42__.Z,_carbon_icons_es_search_16__WEBPACK_IMPORTED_MODULE_43__.Z,_carbon_icons_es_settings_16__WEBPACK_IMPORTED_MODULE_44__.Z,_carbon_icons_es_settings_adjust_16__WEBPACK_IMPORTED_MODULE_45__.Z,_carbon_icons_es_subtract_16__WEBPACK_IMPORTED_MODULE_46__.Z,_carbon_icons_es_trash_can_16__WEBPACK_IMPORTED_MODULE_47__.Z,_carbon_icons_es_view_16__WEBPACK_IMPORTED_MODULE_53__.Z,_carbon_icons_es_view_off_16__WEBPACK_IMPORTED_MODULE_54__.Z,_carbon_icons_es_warning_16__WEBPACK_IMPORTED_MODULE_48__.Z,_carbon_icons_es_warning_filled_16__WEBPACK_IMPORTED_MODULE_49__.Z,_carbon_icons_es_warning_filled_20__WEBPACK_IMPORTED_MODULE_50__.Z,_carbon_icons_es_warning_alt_filled_16__WEBPACK_IMPORTED_MODULE_51__.Z,_carbon_icons_es_warning_alt_filled_20__WEBPACK_IMPORTED_MODULE_52__.Z])}};IconModule.ctorParameters=()=>[{type:_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6}],IconModule=(0,tslib__WEBPACK_IMPORTED_MODULE_56__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_55__.NgModule)({declarations:[_icon_directive__WEBPACK_IMPORTED_MODULE_0__.a],exports:[_icon_directive__WEBPACK_IMPORTED_MODULE_0__.a],imports:[_angular_common__WEBPACK_IMPORTED_MODULE_57__.CommonModule],providers:[ICON_SERVICE_PROVIDER]})],IconModule)},"./src/icon/icon.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{C6:()=>IconService});var tslib__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@carbon/icon-helpers/es/index.js");class IconNameNotFoundError extends Error{constructor(name){super(`Icon ${name} not found`)}}class IconSizeNotFoundError extends Error{constructor(size,name){super("Size ${size} for ${name} not found")}}class IconMemoryCache extends class IconCache{}{constructor(){super(...arguments),this.iconMap=new Map}get(name,size){if(!this.iconMap.has(name))throw new IconNameNotFoundError(name);const sizeMap=this.iconMap.get(name);if(!sizeMap.has(size))throw new IconSizeNotFoundError(size,name);return sizeMap.get(size)}set(name,size,descriptor){this.iconMap.has(name)||this.iconMap.set(name,new Map);this.iconMap.get(name).set(size,descriptor)}}let IconService=class IconService{constructor(){this.iconCache=new IconMemoryCache}registerAll(descriptors){descriptors.forEach((icon=>this.register(icon)))}register(descriptor){const{name}=descriptor;this.registerAs(name,descriptor)}registerAs(name,descriptor){const{size}=descriptor;this.iconCache.set(name,size.toString(),descriptor)}get(name,size){try{const icon=this.iconCache.get(name,size.toString());return icon.svg||(icon.svg=(0,_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_0__.BB)(icon)),icon}catch(e){throw e}}configure(options){this.iconCache=options.cache}};IconService=(0,tslib__WEBPACK_IMPORTED_MODULE_1__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injectable)()],IconService)},"./src/icon/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{ar:()=>icon_directive.a,QX:()=>icon_module.QX,C6:()=>icon_service.C6});var icon_directive=__webpack_require__("./src/icon/icon.directive.ts"),icon_module=__webpack_require__("./src/icon/icon.module.ts"),icon_service=__webpack_require__("./src/icon/icon.service.ts")},"./src/treeview/treeview.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Basic:()=>Basic,ProjectedContent:()=>ProjectedContent,WithIcons:()=>WithIcons,__namedExportsOrder:()=>__namedExportsOrder,default:()=>treeview_stories});var common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs"),dist=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),icon=__webpack_require__("./src/icon/index.ts"),ReplaySubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js");let TreeViewService=class TreeViewService{constructor(){this.contentProjected=!0,this.isMultiSelect=!1,this.selectionSubject=new ReplaySubject.t(1),this.focusNodeSubject=new ReplaySubject.t(1),this.value=new Map,this.selectionObservable=this.selectionSubject.asObservable(),this.focusNodeObservable=this.focusNodeSubject.asObservable()}focusNode(node){this.focusNodeSubject.next(node)}selectNode(node){node&&(this.isMultiSelect||this.value.clear(),this.value.set(node.id,node),this.selectionSubject.next(this.value))}deselectNode(node){node&&(this.value.delete(node.id),this.selectionSubject.next(this.value))}deselectAllNodes(){this.value.clear(),this.selectionSubject.next(this.value)}};TreeViewService.ctorParameters=()=>[],TreeViewService=(0,tslib_es6.gn)([(0,core.Injectable)()],TreeViewService);let TreeViewComponent=class TreeViewComponent{constructor(document,treeViewService,elementRef){this.document=document,this.treeViewService=treeViewService,this.elementRef=elementRef,this.id="tree-view-"+TreeViewComponent.treeViewCount++,this.size="sm",this.select=new core.EventEmitter,this._tree=[]}set tree(treeNodes){this._tree=treeNodes.map((node=>this.copyNode(node))),this.treeViewService.contentProjected=!1}get tree(){return this._tree}set isMultiSelect(isMulti){this.treeViewService.isMultiSelect=isMulti}ngOnInit(){this.subscription=this.treeViewService.selectionObservable.subscribe((nodesMap=>{const nodes=[...nodesMap.values()];this.select.emit(this.treeViewService.isMultiSelect?nodes:nodes[0])})),this.subscription.add(this.treeViewService.focusNodeObservable.subscribe((node=>this.onNodeFocusChange(node))))}ngOnDestroy(){this.subscription.unsubscribe()}ngAfterViewInit(){this.treeWalker=this.document.createTreeWalker(this.root.nativeElement,NodeFilter.SHOW_ELEMENT,{acceptNode:function(node){return node.classList.contains("cds--tree-node--disabled")?NodeFilter.FILTER_REJECT:node.matches("div.cds--tree-node")?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}})}navigateTree(event){"ArrowUp"===event.key&&this.treeWalker.previousNode()?.focus(),"ArrowDown"===event.key&&this.treeWalker.nextNode()?.focus()}onNodeFocusChange(node){this.treeWalker.currentNode=node?this.elementRef.nativeElement.querySelector(`#${CSS.escape(node.id)}`):this.treeWalker.root}isTemplate(value){return value instanceof core.TemplateRef}isProjected(){return this.treeViewService.contentProjected}copyNode(node){const copiedNode=Object.assign({},node);return node.children&&(copiedNode.children=node.children.map((child=>this.copyNode(child)))),copiedNode}};TreeViewComponent.treeViewCount=0,TreeViewComponent.ctorParameters=()=>[{type:Document,decorators:[{type:core.Inject,args:[common.DOCUMENT]}]},{type:TreeViewService},{type:core.ElementRef}],TreeViewComponent.propDecorators={tree:[{type:core.Input}],id:[{type:core.Input}],label:[{type:core.Input}],labelContext:[{type:core.Input}],size:[{type:core.Input}],isMultiSelect:[{type:core.Input}],select:[{type:core.Output}],root:[{type:core.ViewChild,args:["treeWrapper"]}]},TreeViewComponent=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-tree-view",template:'\n\t\t<label\n\t\t\t*ngIf="label"\n\t\t\t[id]="id"\n\t\t\tclass="cds--label">\n\t\t\t<ng-container *ngIf="!isTemplate(label)">{{label}}</ng-container>\n\t\t\t<ng-template\n\t\t\t\t*ngIf="isTemplate(label)"\n\t\t\t\t[ngTemplateOutlet]="label"\n\t\t\t\t[ngTemplateOutletContext]="{ $implicit: labelContext }">\n\t\t\t</ng-template>\n\t\t</label>\n\t\t<div\n\t\t\tclass="cds--tree"\n\t\t\t[ngClass]="{\n\t\t\t\t\'cds--tree--sm\': size === \'sm\',\n\t\t\t\t\'cds--tree--xs\': size === \'xs\'\n\t\t\t}"\n\t\t\t[attr.aria-label]="label ? label : null"\n\t\t\t[attr.aria-labelledby]="!label ? id : null"\n\t\t\t[attr.aria-multiselectable]="isMultiSelect || null"\n\t\t\trole="tree"\n\t\t\t(keydown)="navigateTree($event)"\n\t\t\t#treeWrapper>\n\t\t\t<ng-container *ngIf="isProjected(); else notProjected">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ng-container>\n\t\t\t<ng-template #notProjected>\n\t\t\t\t<cds-tree-node\n\t\t\t\t\t*ngFor="let node of tree"\n\t\t\t\t\t[node]="node">\n\t\t\t\t</cds-tree-node>\n\t\t\t</ng-template>\n\t\t</div>\n\t',providers:[TreeViewService]})],TreeViewComponent);let TreeNodeComponent=class TreeNodeComponent{constructor(treeViewService){this.treeViewService=treeViewService,this.id="tree-node-"+TreeNodeComponent.treeNodeCount++,this.active=!1,this.disabled=!1,this.selectable=!0,this.expanded=!1,this.selected=!1,this.gap=0,this.children=[],this.depth=0,this.nodeFocus=new core.EventEmitter,this.nodeBlur=new core.EventEmitter,this.nodeSelect=new core.EventEmitter,this.nodetoggle=new core.EventEmitter}set node(node){this._node=node,this.id=node.id??this.id,this.active=node.active??this.active,this.disabled=node.disabled??this.disabled,this.selectable=node.selectable??this.selectable,this.expanded=node.expanded??this.expanded,this.label=node.label??this.label,this.labelContext=node.labelContext??this.labelContext,this.value=node.value??this.value,this.icon=node.icon??this.icon,this.selected=node.selected??this.selected,this.depth=node.depth??this.depth,this.gap=node.gap??this.gap,this.children=node.children??this.children,this.iconContext=node.iconText??this.iconContext}get node(){return this._node}ngAfterContentChecked(){this.offset=this.calculateOffset()}ngOnInit(){this.subscription=this.treeViewService.selectionObservable.subscribe((value=>{this.selected=this.selectable&&value.has(this.id),this.active=this.selectable&&this.selected}))}ngOnDestroy(){this.subscription?.unsubscribe()}nodeClick(event){this.disabled||(event.target.parentElement.focus(),this.selectable||0===this.children.length?(this.selected=!0,this.active=!0,this.treeViewService.selectNode({id:this.id,label:this.label,value:this.value})):this.toggleExpanded(event))}calculateOffset(){return this.children.length&&this.icon?this.depth+1+.5*this.depth:this.children.length?this.depth+1:this.icon?this.depth+2+.5*this.depth:this.depth+this.gap+2.5}emitFocusEvent(event){const node={id:this.id,label:this.label,value:this.value};this.nodeFocus.emit({node,event}),this.treeViewService.focusNode(node)}emitBlurEvent(event){this.nodeBlur.emit({node:{id:this.id,label:this.label,value:this.value},event})}toggleExpanded(event){this.disabled||(this.nodetoggle.emit({node:{id:this.id,label:this.label,value:this.value},event}),this.expanded=!this.expanded,event.stopPropagation())}navigateTree(event){"ArrowLeft"!==event.key&&"ArrowRight"!==event.key&&"Enter"!==event.key||event.stopPropagation(),"ArrowLeft"===event.key&&this.expanded&&this.children&&this.toggleExpanded(event),"ArrowRight"===event.key&&!this.expanded&&this.children&&this.toggleExpanded(event),"Enter"===event.key&&(event.preventDefault(),this.nodeClick(event))}isTemplate(value){return value instanceof core.TemplateRef}isProjected(){return this.treeViewService.contentProjected}};TreeNodeComponent.treeNodeCount=0,TreeNodeComponent.ctorParameters=()=>[{type:TreeViewService}],TreeNodeComponent.propDecorators={id:[{type:core.Input}],active:[{type:core.Input}],disabled:[{type:core.Input}],selectable:[{type:core.Input}],expanded:[{type:core.Input}],label:[{type:core.Input}],labelContext:[{type:core.Input}],selected:[{type:core.Input}],value:[{type:core.Input}],icon:[{type:core.Input}],iconContext:[{type:core.Input}],gap:[{type:core.Input}],children:[{type:core.Input}],depth:[{type:core.Input}],node:[{type:core.Input}],nodeFocus:[{type:core.Output}],nodeBlur:[{type:core.Output}],nodeSelect:[{type:core.Output}],nodetoggle:[{type:core.Output}]},TreeNodeComponent=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-tree-node",template:'\n\t\t<div\n\t\t\t[id]="id"\n\t\t\tclass="cds--tree-node"\n\t\t\t[ngClass]="{\n\t\t\t\t\'cds--tree-node--active\': active,\n\t\t\t\t\'cds--tree-node--disabled\': disabled,\n\t\t\t\t\'cds--tree-node--selected\': selected,\n\t\t\t\t\'cds--tree-leaf-node\': !children.length,\n\t\t\t\t\'cds--tree-parent-node\': children.length,\n\t\t\t\t\'cds--tree-node--with-icon\': icon\n\t\t\t}"\n\t\t\t[attr.aria-expanded]="expanded || null"\n\t\t\t[attr.aria-current]="active || null"\n\t\t\t[attr.aria-selected]="disabled ? null : selected"\n\t\t\t[attr.aria-disabled]="disabled"\n\t\t\trole="treeitem"\n\t\t\t[attr.tabindex]="selected ? 0 : -1"\n\t\t\t(focus)="emitFocusEvent($event)"\n\t\t\t(blur)="emitBlurEvent($event)"\n\t\t\t(keydown)="navigateTree($event)">\n\t\t\t<div\n\t\t\t\t*ngIf="!children.length"\n\t\t\t\tclass="cds--tree-node__label"\n\t\t\t\t[style.padding-inline-start.rem]="offset"\n\t\t\t\t[style.margin-inline-start.rem]="-offset"\n\t\t\t\t(click)="nodeClick($event)">\n\t\t\t\t\x3c!-- Icon --\x3e\n\t\t\t\t<ng-container *ngIf="icon && !isTemplate(icon)">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tclass="cds--tree-node__icon"\n\t\t\t\t\t\t[cdsIcon]="icon"\n\t\t\t\t\t\tsize="16">\n\t\t\t\t\t</svg>\n\t\t\t\t</ng-container>\n\t\t\t\t<ng-template *ngIf="isTemplate(icon)" [ngTemplateOutlet]="icon"></ng-template>\n\t\t\t\t<ng-container *ngIf="!isTemplate(label)">{{label}}</ng-container>\n\t\t\t\t<ng-template\n\t\t\t\t\t*ngIf="isTemplate(label)"\n\t\t\t\t\t[ngTemplateOutlet]="label"\n\t\t\t\t\t[ngTemplateOutletContext]="{ $implicit: labelContext }">\n\t\t\t\t</ng-template>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t*ngIf="children.length"\n\t\t\t\tclass="cds--tree-node__label"\n\t\t\t\t[style.padding-inline-start.rem]="offset"\n\t\t\t\t[style.margin-inline-start.rem]="-offset"\n\t\t\t\trole="group"\n\t\t\t\t(click)="nodeClick($event)">\n\t\t\t\t<span\n\t\t\t\t\tclass="cds--tree-parent-node__toggle"\n\t\t\t\t\t[attr.disabled]="disabled || null"\n\t\t\t\t\t(click)="toggleExpanded($event)">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tclass="cds--tree-parent-node__toggle-icon"\n\t\t\t\t\t\t[ngClass]="{\'cds--tree-parent-node__toggle-icon--expanded\' : expanded}"\n\t\t\t\t\t\tibmIcon="caret--down"\n\t\t\t\t\t\tsize="16">\n\t\t\t\t\t</svg>\n\t\t\t\t</span>\n\t\t\t\t<span class="cds--tree-node__label__details">\n\t\t\t\t\t\x3c!-- Icon --\x3e\n\t\t\t\t\t<ng-container *ngIf="icon && !isTemplate(icon)">\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tclass="cds--tree-node__icon"\n\t\t\t\t\t\t\t[cdsIcon]="icon"\n\t\t\t\t\t\t\tsize="16">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t*ngIf="isTemplate(icon)"\n\t\t\t\t\t\t[ngTemplateOutlet]="icon"\n\t\t\t\t\t\t[ngTemplateOutletContext]="{ $implicit: iconContext }">\n\t\t\t\t\t</ng-template>\n\t\t\t\t\t<ng-container *ngIf="!isTemplate(label)">{{label}}</ng-container>\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t*ngIf="isTemplate(label)"\n\t\t\t\t\t\t[ngTemplateOutlet]="label"\n\t\t\t\t\t\t[ngTemplateOutletContext]="{ $implicit: labelContext }">\n\t\t\t\t\t</ng-template>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t*ngIf="expanded"\n\t\t\t\trole="group"\n\t\t\t\tclass="cds--tree-node__children">\n\t\t\t\t<ng-container *ngIf="isProjected(); else notProjected">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</ng-container>\n\t\t\t\t<ng-template #notProjected>\n\t\t\t\t\t<cds-tree-node\n\t\t\t\t\t\t*ngFor="let childNode of children"\n\t\t\t\t\t\t[node]="childNode"\n\t\t\t\t\t\t[depth]="depth + 1"\n\t\t\t\t\t\t[disabled]="disabled">\n\t\t\t\t\t</cds-tree-node>\n\t\t\t\t</ng-template>\n\t\t\t</div>\n\t\t</div>\n\t'})],TreeNodeComponent);let TreeviewModule=class TreeviewModule{};TreeviewModule=(0,tslib_es6.gn)([(0,core.NgModule)({declarations:[TreeViewComponent,TreeNodeComponent],exports:[TreeViewComponent,TreeNodeComponent],imports:[common.CommonModule,icon.QX]})],TreeviewModule);let IconTreeviewDemoComponent=class IconTreeviewDemoComponent{constructor(){this.tree=[]}ngAfterViewInit(){this.tree=[{id:"1",value:"Artificial intelligence",label:"Artificial intelligence",icon:this.documentIcon},{id:"2",value:"Blockchain",label:"Blockchain",icon:this.documentIcon},{id:"3",value:"Business automation",label:"Business automation",children:[{id:"3-1",value:"Business process automation",label:"Business process automation",icon:this.documentIcon},{id:"3-2",value:"Business process mapping",label:"Business process mapping",icon:this.documentIcon}],icon:"folder"},{id:"4",value:"Business operations",label:"Business operations",icon:this.documentIcon},{id:"5",value:"Cloud computing",label:"Cloud computing",expanded:!0,children:[{id:"5-1",value:"Containers",label:"Containers",icon:this.documentIcon},{id:"5-2",value:"Databases",label:"Databases",icon:this.documentIcon},{id:"5-3",value:"DevOps",label:"DevOps",expanded:!0,children:[{id:"5-4",value:"Solutions",label:"Solutions",icon:this.documentIcon},{id:"5-5",value:"Case studies",label:"Case studies",expanded:!0,children:[{id:"5-6",value:"Resources",label:"Resources",icon:this.documentIcon}],icon:"folder"}],icon:"folder"}],icon:"folder"},{id:"6",value:"Data & Analytics",label:"Data & Analytics",children:[{id:"6-1",value:"Big data",label:"Big data",icon:this.documentIcon},{id:"6-2",value:"Business intelligence",label:"Business intelligence",icon:this.documentIcon}],icon:"folder"},{id:"7",value:"IT infrastructure",label:"IT infrastructure",expanded:!0,disabled:!0,children:[{id:"7-1",value:"Data storage",label:"Data storage",icon:this.documentIcon},{id:"7-2",value:"Enterprise servers",label:"Enterprise servers",icon:this.documentIcon},{id:"8",value:"Hybrid cloud infrastructure",label:"Hybrid cloud infrastructure",expanded:!0,children:[{id:"8-1",value:"Insights",label:"Insights",icon:this.documentIcon},{id:"8-2",value:"Benefits",label:"Benefits",icon:this.documentIcon}],icon:"folder"}],icon:"folder"}]}};IconTreeviewDemoComponent.propDecorators={documentIcon:[{type:core.ViewChild,args:["document"]}]},IconTreeviewDemoComponent=(0,tslib_es6.gn)([(0,core.Component)({selector:"app-treeview-icon-component",template:'\n\t\t<cds-tree-view\n\t\t\tlabel="Tree view"\n\t\t\tstyle="width: 18rem; display: block;"\n\t\t\t[tree]="tree">\n\t\t</cds-tree-view>\n\n\t\t<ng-template #document>\n\t\t\t<svg cdsIcon="document" class="cds--tree-node__icon" size="16"></svg>\n\t\t</ng-template>\n\t'})],IconTreeviewDemoComponent);const treeview_stories={title:"Components/Tree view",decorators:[(0,dist.moduleMetadata)({imports:[common.CommonModule,TreeviewModule,icon.QX],declarations:[IconTreeviewDemoComponent]})],component:TreeViewComponent,subcomponents:TreeNodeComponent,args:{size:"sm",isMultiSelect:!1},argTypes:{size:{options:["xs","sm"],control:"radio"},onSelect:{action:"clicked"}}},nodes=[{id:"1",value:"Artificial intelligence",label:"Artificial intelligence"},{id:"2",value:"Blockchain",label:"Blockchain"},{id:"3",value:"Business automation",label:"Business automation",children:[{id:"3-1",value:"Business process automation",label:"Business process automation"},{id:"3-2",value:"Business process mapping",label:"Business process mapping"}]},{id:"4",value:"Business operations",label:"Business operations"},{id:"5",value:"Cloud computing",label:"Cloud computing",expanded:!0,children:[{id:"5-1",value:"Containers",label:"Containers"},{id:"5-2",value:"Databases",label:"Databases"},{id:"5-3",value:"DevOps",label:"DevOps",expanded:!0,children:[{id:"5-4",value:"Solutions",label:"Solutions"},{id:"5-5",value:"Case studies",label:"Case studies",expanded:!0,children:[{id:"5-6",value:"Resources",label:"Resources"}]}]}]},{id:"6",value:"Data & Analytics",label:"Data & Analytics",children:[{id:"6-1",value:"Big data",label:"Big data"},{id:"6-2",value:"Business intelligence",label:"Business intelligence"}]},{id:"7",value:"Not selectable node",label:"Not selectable node",selectable:!1,children:[{id:"7-1",value:"Child 1",label:"Child 1"},{id:"7-2",value:"Child 2",label:"Child 2"}]},{id:"8",value:"IT infrastructure",label:"IT infrastructure",expanded:!0,disabled:!0,children:[{id:"8-1",value:"Data storage",label:"Data storage"},{id:"8-2",value:"Enterprise servers",label:"Enterprise servers"},{id:"9",value:"Hybrid cloud infrastructure",label:"Hybrid cloud infrastructure",expanded:!0,children:[{id:"9-1",value:"Insights",label:"Insights"},{id:"9-2",value:"Benefits",label:"Benefits"}]}]}],Basic=(args=>({props:args,template:'\n <cds-tree-view\n label="Tree view"\n style="width: 18rem; display: block;"\n [size]="size"\n [tree]="tree"\n [isMultiSelect]="isMultiSelect"\n (select)="onSelect($event)">\n </cds-tree-view>\n '})).bind({});Basic.args={tree:nodes},Basic.argTypes={tree:{control:!1}};const ProjectedContent=(args=>({props:args,template:'\n <cds-tree-view\n label="Tree view"\n style="width: 18rem; display: block;"\n [size]="size"\n [isMultiSelect]="isMultiSelect"\n (select)="onSelect($event)">\n\n <ng-template #nodeTemplateRef let-node="node" let-depth="depth" let-disabled="disabled">\n\n <cds-tree-node\n [node]="node"\n [depth]="depth"\n [disabled]="disabled">\n <ng-container *ngIf="node.children && node.children.length">\n <ng-container *ngFor="let child of node.children; let i = index;">\n \x3c!-- Increase the depth by 1 --\x3e\n <ng-container\n *ngTemplateOutlet="nodeTemplateRef; context: {node: child, depth: depth + 1, disabled };">\n </ng-container>\n </ng-container>\n </ng-container>\n </cds-tree-node>\n\n </ng-template>\n\n <ng-container *ngFor="let node of tree">\n <ng-container\n *ngTemplateOutlet="nodeTemplateRef; context: {node: node, depth: 0, disabled: node.disabled };">\n </ng-container>\n </ng-container>\n </cds-tree-view>\n '})).bind({});ProjectedContent.args={tree:nodes},ProjectedContent.argTypes={tree:{control:!1}};const WithIcons=(args=>({props:args,template:"\n <app-treeview-icon-component></app-treeview-icon-component>\n "})).bind({});WithIcons.argTypes={tree:{control:!1}},Basic.parameters={...Basic.parameters,docs:{...Basic.parameters?.docs,source:{originalSource:'args => ({\n props: args,\n template: `\n <cds-tree-view\n label="Tree view"\n style="width: 18rem; display: block;"\n [size]="size"\n [tree]="tree"\n [isMultiSelect]="isMultiSelect"\n (select)="onSelect($event)">\n </cds-tree-view>\n `\n})',...Basic.parameters?.docs?.source}}},ProjectedContent.parameters={...ProjectedContent.parameters,docs:{...ProjectedContent.parameters?.docs,source:{originalSource:'args => ({\n props: args,\n template: `\n <cds-tree-view\n label="Tree view"\n style="width: 18rem; display: block;"\n [size]="size"\n [isMultiSelect]="isMultiSelect"\n (select)="onSelect($event)">\n\n <ng-template #nodeTemplateRef let-node="node" let-depth="depth" let-disabled="disabled">\n\n <cds-tree-node\n [node]="node"\n [depth]="depth"\n [disabled]="disabled">\n <ng-container *ngIf="node.children && node.children.length">\n <ng-container *ngFor="let child of node.children; let i = index;">\n \x3c!-- Increase the depth by 1 --\x3e\n <ng-container\n *ngTemplateOutlet="nodeTemplateRef; context: {node: child, depth: depth + 1, disabled };">\n </ng-container>\n </ng-container>\n </ng-container>\n </cds-tree-node>\n\n </ng-template>\n\n <ng-container *ngFor="let node of tree">\n <ng-container\n *ngTemplateOutlet="nodeTemplateRef; context: {node: node, depth: 0, disabled: node.disabled };">\n </ng-container>\n </ng-container>\n </cds-tree-view>\n `\n})',...ProjectedContent.parameters?.docs?.source}}},WithIcons.parameters={...WithIcons.parameters,docs:{...WithIcons.parameters?.docs,source:{originalSource:"args => ({\n props: args,\n template: `\n <app-treeview-icon-component></app-treeview-icon-component>\n `\n})",...WithIcons.parameters?.docs?.source}}};const __namedExportsOrder=["Basic","ProjectedContent","WithIcons"]}}]);
1
+ "use strict";(self.webpackChunkcarbon_components_angular=self.webpackChunkcarbon_components_angular||[]).push([[6456],{"./src/icon/icon.directive.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{a:()=>IconDirective});var tslib__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_icon_service__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./src/icon/icon.service.ts"),_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@carbon/icon-helpers/es/index.js");let IconDirective=class IconDirective{constructor(elementRef,iconService){this.elementRef=elementRef,this.iconService=iconService,this.cdsIcon="",this.size="16",this.title="",this.ariaLabel="",this.ariaLabelledBy="",this.ariaHidden="",this.isFocusable=!1}set ibmIcon(iconName){this.cdsIcon=iconName}renderIcon(iconName){const root=this.elementRef.nativeElement;let icon;try{icon=this.iconService.get(iconName,this.size.toString())}catch(error){return void console.warn(error)}const domParser=new DOMParser,rawSVG=icon.svg,svgElement=domParser.parseFromString(rawSVG,"image/svg+xml").documentElement;let node="SVG"!==root.tagName.toUpperCase()?svgElement:svgElement.firstChild;for(root.innerHTML="";node;)root.appendChild(root.ownerDocument.importNode(node,!0)),node=node.nextSibling;const svg="SVG"!==root.tagName.toUpperCase()?svgElement:root;svg.setAttribute("xmlns","http://www.w3.org/2000/svg");const attributes=(0,_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_1__.u9)({width:icon.attrs.width,height:icon.attrs.height,viewBox:icon.attrs.viewBox,title:this.title,"aria-label":this.ariaLabel,"aria-labelledby":this.ariaLabelledBy,"aria-hidden":this.ariaHidden,focusable:this.isFocusable.toString()}),attrKeys=Object.keys(attributes);for(let i=0;i<attrKeys.length;i++){const key=attrKeys[i],value=attributes[key];"title"!==key&&(value&&svg.setAttribute(key,value))}if(attributes.title){const title=document.createElement("title");title.textContent=attributes.title,IconDirective.titleIdCounter++,title.setAttribute("id",`${icon.name}-title-${IconDirective.titleIdCounter}`),svg.insertBefore(title,svg.firstElementChild),svg.setAttribute("aria-labelledby",`${icon.name}-title-${IconDirective.titleIdCounter}`)}}ngAfterViewInit(){this.renderIcon(this.cdsIcon)}ngOnChanges({cdsIcon}){cdsIcon&&!cdsIcon.isFirstChange()&&this.renderIcon(this.cdsIcon)}};IconDirective.titleIdCounter=0,IconDirective.ctorParameters=()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.ElementRef},{type:_icon_service__WEBPACK_IMPORTED_MODULE_0__.C6}],IconDirective.propDecorators={ibmIcon:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],cdsIcon:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],size:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],title:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaLabel:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaLabelledBy:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaHidden:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],isFocusable:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}]},IconDirective=(0,tslib__WEBPACK_IMPORTED_MODULE_3__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Directive)({selector:"[cdsIcon], [ibmIcon]"})],IconDirective)},"./src/icon/icon.module.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{QX:()=>IconModule});var tslib__WEBPACK_IMPORTED_MODULE_56__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_55__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_angular_common__WEBPACK_IMPORTED_MODULE_57__=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs"),_icon_directive__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./src/icon/icon.directive.ts"),_icon_service__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./src/icon/icon.service.ts"),_carbon_icons_es_add_16__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@carbon/icons/es/add/16.js"),_carbon_icons_es_add_20__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/@carbon/icons/es/add/20.js"),_carbon_icons_es_bee_16__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/@carbon/icons/es/bee/16.js"),_carbon_icons_es_bee_20__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/@carbon/icons/es/bee/20.js"),_carbon_icons_es_calendar_16__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/@carbon/icons/es/calendar/16.js"),_carbon_icons_es_carbon_16__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/@carbon/icons/es/carbon/16.js"),_carbon_icons_es_carbon_20__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/@carbon/icons/es/carbon/20.js"),_carbon_icons_es_caret_down_16__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/@carbon/icons/es/caret--down/16.js"),_carbon_icons_es_caret_left_16__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./node_modules/@carbon/icons/es/caret--left/16.js"),_carbon_icons_es_caret_right_16__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./node_modules/@carbon/icons/es/caret--right/16.js"),_carbon_icons_es_caret_up_16__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./node_modules/@carbon/icons/es/caret--up/16.js"),_carbon_icons_es_checkmark_16__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark/16.js"),_carbon_icons_es_checkmark_filled_16__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--filled/16.js"),_carbon_icons_es_checkmark_filled_20__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--filled/20.js"),_carbon_icons_es_checkmark_outline_16__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--outline/16.js"),_carbon_icons_es_chevron_down_16__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__("./node_modules/@carbon/icons/es/chevron--down/16.js"),_carbon_icons_es_chevron_right_16__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__("./node_modules/@carbon/icons/es/chevron--right/16.js"),_carbon_icons_es_circle_dash_16__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__("./node_modules/@carbon/icons/es/circle-dash/16.js"),_carbon_icons_es_close_16__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__("./node_modules/@carbon/icons/es/close/16.js"),_carbon_icons_es_close_20__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__("./node_modules/@carbon/icons/es/close/20.js"),_carbon_icons_es_copy_16__WEBPACK_IMPORTED_MODULE_22__=__webpack_require__("./node_modules/@carbon/icons/es/copy/16.js"),_carbon_icons_es_copy_20__WEBPACK_IMPORTED_MODULE_23__=__webpack_require__("./node_modules/@carbon/icons/es/copy/20.js"),_carbon_icons_es_data_2_16__WEBPACK_IMPORTED_MODULE_24__=__webpack_require__("./node_modules/@carbon/icons/es/data--2/16.js"),_carbon_icons_es_data_2_20__WEBPACK_IMPORTED_MODULE_25__=__webpack_require__("./node_modules/@carbon/icons/es/data--2/20.js"),_carbon_icons_es_document_16__WEBPACK_IMPORTED_MODULE_26__=__webpack_require__("./node_modules/@carbon/icons/es/document/16.js"),_carbon_icons_es_document_20__WEBPACK_IMPORTED_MODULE_27__=__webpack_require__("./node_modules/@carbon/icons/es/document/20.js"),_carbon_icons_es_download_16__WEBPACK_IMPORTED_MODULE_28__=__webpack_require__("./node_modules/@carbon/icons/es/download/16.js"),_carbon_icons_es_error_filled_16__WEBPACK_IMPORTED_MODULE_29__=__webpack_require__("./node_modules/@carbon/icons/es/error--filled/16.js"),_carbon_icons_es_error_filled_20__WEBPACK_IMPORTED_MODULE_30__=__webpack_require__("./node_modules/@carbon/icons/es/error--filled/20.js"),_carbon_icons_es_fade_16__WEBPACK_IMPORTED_MODULE_31__=__webpack_require__("./node_modules/@carbon/icons/es/fade/16.js"),_carbon_icons_es_fade_20__WEBPACK_IMPORTED_MODULE_32__=__webpack_require__("./node_modules/@carbon/icons/es/fade/20.js"),_carbon_icons_es_folder_16__WEBPACK_IMPORTED_MODULE_33__=__webpack_require__("./node_modules/@carbon/icons/es/folder/16.js"),_carbon_icons_es_incomplete_16__WEBPACK_IMPORTED_MODULE_34__=__webpack_require__("./node_modules/@carbon/icons/es/incomplete/16.js"),_carbon_icons_es_information_filled_16__WEBPACK_IMPORTED_MODULE_35__=__webpack_require__("./node_modules/@carbon/icons/es/information--filled/16.js"),_carbon_icons_es_information_filled_20__WEBPACK_IMPORTED_MODULE_36__=__webpack_require__("./node_modules/@carbon/icons/es/information--filled/20.js"),_carbon_icons_es_information_square_filled_20__WEBPACK_IMPORTED_MODULE_37__=__webpack_require__("./node_modules/@carbon/icons/es/information--square--filled/20.js"),_carbon_icons_es_menu_16__WEBPACK_IMPORTED_MODULE_38__=__webpack_require__("./node_modules/@carbon/icons/es/menu/16.js"),_carbon_icons_es_menu_20__WEBPACK_IMPORTED_MODULE_39__=__webpack_require__("./node_modules/@carbon/icons/es/menu/20.js"),_carbon_icons_es_overflow_menu_vertical_16__WEBPACK_IMPORTED_MODULE_40__=__webpack_require__("./node_modules/@carbon/icons/es/overflow-menu--vertical/16.js"),_carbon_icons_es_overflow_menu_horizontal_16__WEBPACK_IMPORTED_MODULE_41__=__webpack_require__("./node_modules/@carbon/icons/es/overflow-menu--horizontal/16.js"),_carbon_icons_es_save_16__WEBPACK_IMPORTED_MODULE_42__=__webpack_require__("./node_modules/@carbon/icons/es/save/16.js"),_carbon_icons_es_search_16__WEBPACK_IMPORTED_MODULE_43__=__webpack_require__("./node_modules/@carbon/icons/es/search/16.js"),_carbon_icons_es_settings_16__WEBPACK_IMPORTED_MODULE_44__=__webpack_require__("./node_modules/@carbon/icons/es/settings/16.js"),_carbon_icons_es_settings_adjust_16__WEBPACK_IMPORTED_MODULE_45__=__webpack_require__("./node_modules/@carbon/icons/es/settings--adjust/16.js"),_carbon_icons_es_subtract_16__WEBPACK_IMPORTED_MODULE_46__=__webpack_require__("./node_modules/@carbon/icons/es/subtract/16.js"),_carbon_icons_es_trash_can_16__WEBPACK_IMPORTED_MODULE_47__=__webpack_require__("./node_modules/@carbon/icons/es/trash-can/16.js"),_carbon_icons_es_warning_16__WEBPACK_IMPORTED_MODULE_48__=__webpack_require__("./node_modules/@carbon/icons/es/warning/16.js"),_carbon_icons_es_warning_filled_16__WEBPACK_IMPORTED_MODULE_49__=__webpack_require__("./node_modules/@carbon/icons/es/warning--filled/16.js"),_carbon_icons_es_warning_filled_20__WEBPACK_IMPORTED_MODULE_50__=__webpack_require__("./node_modules/@carbon/icons/es/warning--filled/20.js"),_carbon_icons_es_warning_alt_filled_16__WEBPACK_IMPORTED_MODULE_51__=__webpack_require__("./node_modules/@carbon/icons/es/warning--alt--filled/16.js"),_carbon_icons_es_warning_alt_filled_20__WEBPACK_IMPORTED_MODULE_52__=__webpack_require__("./node_modules/@carbon/icons/es/warning--alt--filled/20.js"),_carbon_icons_es_view_16__WEBPACK_IMPORTED_MODULE_53__=__webpack_require__("./node_modules/@carbon/icons/es/view/16.js"),_carbon_icons_es_view_off_16__WEBPACK_IMPORTED_MODULE_54__=__webpack_require__("./node_modules/@carbon/icons/es/view--off/16.js");const ICON_SERVICE_PROVIDER={provide:_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6,deps:[[new _angular_core__WEBPACK_IMPORTED_MODULE_55__.Optional,new _angular_core__WEBPACK_IMPORTED_MODULE_55__.SkipSelf,_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6]],useFactory:function ICON_SERVICE_PROVIDER_FACTORY(parentService){return parentService||new _icon_service__WEBPACK_IMPORTED_MODULE_1__.C6}};let IconModule=class IconModule{constructor(iconService){this.iconService=iconService,iconService.registerAll([_carbon_icons_es_add_16__WEBPACK_IMPORTED_MODULE_2__.Z,_carbon_icons_es_add_20__WEBPACK_IMPORTED_MODULE_3__.Z,_carbon_icons_es_bee_16__WEBPACK_IMPORTED_MODULE_4__.Z,_carbon_icons_es_bee_20__WEBPACK_IMPORTED_MODULE_5__.Z,_carbon_icons_es_calendar_16__WEBPACK_IMPORTED_MODULE_6__.Z,_carbon_icons_es_carbon_16__WEBPACK_IMPORTED_MODULE_7__.Z,_carbon_icons_es_carbon_20__WEBPACK_IMPORTED_MODULE_8__.Z,_carbon_icons_es_caret_down_16__WEBPACK_IMPORTED_MODULE_9__.Z,_carbon_icons_es_caret_left_16__WEBPACK_IMPORTED_MODULE_10__.Z,_carbon_icons_es_caret_right_16__WEBPACK_IMPORTED_MODULE_11__.Z,_carbon_icons_es_caret_up_16__WEBPACK_IMPORTED_MODULE_12__.Z,_carbon_icons_es_checkmark_16__WEBPACK_IMPORTED_MODULE_13__.Z,_carbon_icons_es_checkmark_filled_16__WEBPACK_IMPORTED_MODULE_14__.Z,_carbon_icons_es_checkmark_filled_20__WEBPACK_IMPORTED_MODULE_15__.Z,_carbon_icons_es_checkmark_outline_16__WEBPACK_IMPORTED_MODULE_16__.Z,_carbon_icons_es_chevron_down_16__WEBPACK_IMPORTED_MODULE_17__.Z,_carbon_icons_es_chevron_right_16__WEBPACK_IMPORTED_MODULE_18__.Z,_carbon_icons_es_circle_dash_16__WEBPACK_IMPORTED_MODULE_19__.Z,_carbon_icons_es_close_16__WEBPACK_IMPORTED_MODULE_20__.Z,_carbon_icons_es_close_20__WEBPACK_IMPORTED_MODULE_21__.Z,_carbon_icons_es_copy_16__WEBPACK_IMPORTED_MODULE_22__.Z,_carbon_icons_es_copy_20__WEBPACK_IMPORTED_MODULE_23__.Z,_carbon_icons_es_data_2_16__WEBPACK_IMPORTED_MODULE_24__.Z,_carbon_icons_es_data_2_20__WEBPACK_IMPORTED_MODULE_25__.Z,_carbon_icons_es_document_16__WEBPACK_IMPORTED_MODULE_26__.Z,_carbon_icons_es_document_20__WEBPACK_IMPORTED_MODULE_27__.Z,_carbon_icons_es_download_16__WEBPACK_IMPORTED_MODULE_28__.Z,_carbon_icons_es_error_filled_16__WEBPACK_IMPORTED_MODULE_29__.Z,_carbon_icons_es_error_filled_20__WEBPACK_IMPORTED_MODULE_30__.Z,_carbon_icons_es_fade_16__WEBPACK_IMPORTED_MODULE_31__.Z,_carbon_icons_es_fade_20__WEBPACK_IMPORTED_MODULE_32__.Z,_carbon_icons_es_folder_16__WEBPACK_IMPORTED_MODULE_33__.Z,_carbon_icons_es_incomplete_16__WEBPACK_IMPORTED_MODULE_34__.Z,_carbon_icons_es_information_filled_16__WEBPACK_IMPORTED_MODULE_35__.Z,_carbon_icons_es_information_filled_20__WEBPACK_IMPORTED_MODULE_36__.Z,_carbon_icons_es_information_square_filled_20__WEBPACK_IMPORTED_MODULE_37__.Z,_carbon_icons_es_menu_16__WEBPACK_IMPORTED_MODULE_38__.Z,_carbon_icons_es_menu_20__WEBPACK_IMPORTED_MODULE_39__.Z,_carbon_icons_es_overflow_menu_vertical_16__WEBPACK_IMPORTED_MODULE_40__.Z,_carbon_icons_es_overflow_menu_horizontal_16__WEBPACK_IMPORTED_MODULE_41__.Z,_carbon_icons_es_save_16__WEBPACK_IMPORTED_MODULE_42__.Z,_carbon_icons_es_search_16__WEBPACK_IMPORTED_MODULE_43__.Z,_carbon_icons_es_settings_16__WEBPACK_IMPORTED_MODULE_44__.Z,_carbon_icons_es_settings_adjust_16__WEBPACK_IMPORTED_MODULE_45__.Z,_carbon_icons_es_subtract_16__WEBPACK_IMPORTED_MODULE_46__.Z,_carbon_icons_es_trash_can_16__WEBPACK_IMPORTED_MODULE_47__.Z,_carbon_icons_es_view_16__WEBPACK_IMPORTED_MODULE_53__.Z,_carbon_icons_es_view_off_16__WEBPACK_IMPORTED_MODULE_54__.Z,_carbon_icons_es_warning_16__WEBPACK_IMPORTED_MODULE_48__.Z,_carbon_icons_es_warning_filled_16__WEBPACK_IMPORTED_MODULE_49__.Z,_carbon_icons_es_warning_filled_20__WEBPACK_IMPORTED_MODULE_50__.Z,_carbon_icons_es_warning_alt_filled_16__WEBPACK_IMPORTED_MODULE_51__.Z,_carbon_icons_es_warning_alt_filled_20__WEBPACK_IMPORTED_MODULE_52__.Z])}};IconModule.ctorParameters=()=>[{type:_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6}],IconModule=(0,tslib__WEBPACK_IMPORTED_MODULE_56__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_55__.NgModule)({declarations:[_icon_directive__WEBPACK_IMPORTED_MODULE_0__.a],exports:[_icon_directive__WEBPACK_IMPORTED_MODULE_0__.a],imports:[_angular_common__WEBPACK_IMPORTED_MODULE_57__.CommonModule],providers:[ICON_SERVICE_PROVIDER]})],IconModule)},"./src/icon/icon.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{C6:()=>IconService});var tslib__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@carbon/icon-helpers/es/index.js");class IconNameNotFoundError extends Error{constructor(name){super(`Icon ${name} not found`)}}class IconSizeNotFoundError extends Error{constructor(size,name){super("Size ${size} for ${name} not found")}}class IconMemoryCache extends class IconCache{}{constructor(){super(...arguments),this.iconMap=new Map}get(name,size){if(!this.iconMap.has(name))throw new IconNameNotFoundError(name);const sizeMap=this.iconMap.get(name);if(!sizeMap.has(size))throw new IconSizeNotFoundError(size,name);return sizeMap.get(size)}set(name,size,descriptor){this.iconMap.has(name)||this.iconMap.set(name,new Map);this.iconMap.get(name).set(size,descriptor)}}let IconService=class IconService{constructor(){this.iconCache=new IconMemoryCache}registerAll(descriptors){descriptors.forEach((icon=>this.register(icon)))}register(descriptor){const{name}=descriptor;this.registerAs(name,descriptor)}registerAs(name,descriptor){const{size}=descriptor;this.iconCache.set(name,size.toString(),descriptor)}get(name,size){try{const icon=this.iconCache.get(name,size.toString());return icon.svg||(icon.svg=(0,_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_0__.BB)(icon)),icon}catch(e){throw e}}configure(options){this.iconCache=options.cache}};IconService=(0,tslib__WEBPACK_IMPORTED_MODULE_1__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injectable)()],IconService)},"./src/icon/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{ar:()=>icon_directive.a,QX:()=>icon_module.QX,C6:()=>icon_service.C6});var icon_directive=__webpack_require__("./src/icon/icon.directive.ts"),icon_module=__webpack_require__("./src/icon/icon.module.ts"),icon_service=__webpack_require__("./src/icon/icon.service.ts")},"./src/treeview/treeview.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Basic:()=>Basic,ProjectedContent:()=>ProjectedContent,WithIcons:()=>WithIcons,__namedExportsOrder:()=>__namedExportsOrder,default:()=>treeview_stories});var common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs"),dist=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),icon=__webpack_require__("./src/icon/index.ts"),ReplaySubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js");let TreeViewService=class TreeViewService{constructor(){this.contentProjected=!0,this.isMultiSelect=!1,this.selectionSubject=new ReplaySubject.t(1),this.focusNodeSubject=new ReplaySubject.t(1),this.value=new Map,this.selectionObservable=this.selectionSubject.asObservable(),this.focusNodeObservable=this.focusNodeSubject.asObservable()}focusNode(node){this.focusNodeSubject.next(node)}selectNode(node){node&&(this.isMultiSelect||this.value.clear(),this.value.set(node.id,node),this.selectionSubject.next(this.value))}deselectNode(node){node&&(this.value.delete(node.id),this.selectionSubject.next(this.value))}deselectAllNodes(){this.value.clear(),this.selectionSubject.next(this.value)}};TreeViewService.ctorParameters=()=>[],TreeViewService=(0,tslib_es6.gn)([(0,core.Injectable)()],TreeViewService);let TreeViewComponent=class TreeViewComponent{constructor(document,treeViewService,elementRef){this.document=document,this.treeViewService=treeViewService,this.elementRef=elementRef,this.id="tree-view-"+TreeViewComponent.treeViewCount++,this.size="sm",this.select=new core.EventEmitter,this.toggle=new core.EventEmitter,this._tree=[]}set tree(treeNodes){this._tree=treeNodes.map((node=>this.copyNode(node))),this.treeViewService.contentProjected=!1}get tree(){return this._tree}set isMultiSelect(isMulti){this.treeViewService.isMultiSelect=isMulti}ngOnInit(){this.subscription=this.treeViewService.selectionObservable.subscribe((nodesMap=>{const nodes=[...nodesMap.values()];this.select.emit(this.treeViewService.isMultiSelect?nodes:nodes[0])})),this.subscription.add(this.treeViewService.focusNodeObservable.subscribe((node=>this.onNodeFocusChange(node))))}ngOnDestroy(){this.subscription.unsubscribe()}ngAfterViewInit(){this.treeWalker=this.document.createTreeWalker(this.root.nativeElement,NodeFilter.SHOW_ELEMENT,{acceptNode:function(node){return node.classList.contains("cds--tree-node--disabled")?NodeFilter.FILTER_REJECT:node.matches("div.cds--tree-node")?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}})}navigateTree(event){"ArrowUp"===event.key&&this.treeWalker.previousNode()?.focus(),"ArrowDown"===event.key&&this.treeWalker.nextNode()?.focus()}onNodeToggle(eventOnNode){eventOnNode&&this.toggle.emit(eventOnNode.node)}onNodeFocusChange(node){this.treeWalker.currentNode=node?this.elementRef.nativeElement.querySelector(`#${CSS.escape(node.id)}`):this.treeWalker.root}isTemplate(value){return value instanceof core.TemplateRef}isProjected(){return this.treeViewService.contentProjected}copyNode(node){const copiedNode=Object.assign({},node);return node.children&&(copiedNode.children=node.children.map((child=>this.copyNode(child)))),copiedNode}};TreeViewComponent.treeViewCount=0,TreeViewComponent.ctorParameters=()=>[{type:Document,decorators:[{type:core.Inject,args:[common.DOCUMENT]}]},{type:TreeViewService},{type:core.ElementRef}],TreeViewComponent.propDecorators={tree:[{type:core.Input}],id:[{type:core.Input}],label:[{type:core.Input}],labelContext:[{type:core.Input}],size:[{type:core.Input}],isMultiSelect:[{type:core.Input}],select:[{type:core.Output}],toggle:[{type:core.Output}],root:[{type:core.ViewChild,args:["treeWrapper"]}]},TreeViewComponent=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-tree-view",template:'\n\t\t<label\n\t\t\t*ngIf="label"\n\t\t\t[id]="id"\n\t\t\tclass="cds--label">\n\t\t\t<ng-container *ngIf="!isTemplate(label)">{{label}}</ng-container>\n\t\t\t<ng-template\n\t\t\t\t*ngIf="isTemplate(label)"\n\t\t\t\t[ngTemplateOutlet]="label"\n\t\t\t\t[ngTemplateOutletContext]="{ $implicit: labelContext }">\n\t\t\t</ng-template>\n\t\t</label>\n\t\t<div\n\t\t\tclass="cds--tree"\n\t\t\t[ngClass]="{\n\t\t\t\t\'cds--tree--sm\': size === \'sm\',\n\t\t\t\t\'cds--tree--xs\': size === \'xs\'\n\t\t\t}"\n\t\t\t[attr.aria-label]="label ? label : null"\n\t\t\t[attr.aria-labelledby]="!label ? id : null"\n\t\t\t[attr.aria-multiselectable]="isMultiSelect || null"\n\t\t\trole="tree"\n\t\t\t(keydown)="navigateTree($event)"\n\t\t\t#treeWrapper>\n\t\t\t<ng-container *ngIf="isProjected(); else notProjected">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ng-container>\n\t\t\t<ng-template #notProjected>\n\t\t\t\t<cds-tree-node\n\t\t\t\t\t*ngFor="let node of tree"\n\t\t\t\t\t[node]="node"\n\t\t\t\t\t(nodetoggle)="onNodeToggle($event)">\n\t\t\t\t</cds-tree-node>\n\t\t\t</ng-template>\n\t\t</div>\n\t',providers:[TreeViewService]})],TreeViewComponent);let TreeNodeComponent=class TreeNodeComponent{constructor(treeViewService){this.treeViewService=treeViewService,this.id="tree-node-"+TreeNodeComponent.treeNodeCount++,this.active=!1,this.disabled=!1,this.selectable=!0,this.expanded=!1,this.selected=!1,this.gap=0,this.children=[],this.depth=0,this.nodeFocus=new core.EventEmitter,this.nodeBlur=new core.EventEmitter,this.nodeSelect=new core.EventEmitter,this.nodetoggle=new core.EventEmitter}set node(node){this._node=node,this.id=node.id??this.id,this.active=node.active??this.active,this.disabled=node.disabled??this.disabled,this.selectable=node.selectable??this.selectable,this.expanded=node.expanded??this.expanded,this.label=node.label??this.label,this.labelContext=node.labelContext??this.labelContext,this.value=node.value??this.value,this.icon=node.icon??this.icon,this.selected=node.selected??this.selected,this.depth=node.depth??this.depth,this.gap=node.gap??this.gap,this.children=node.children??this.children,this.iconContext=node.iconText??this.iconContext}get node(){return this._node}ngAfterContentChecked(){this.offset=this.calculateOffset()}ngOnInit(){this.subscription=this.treeViewService.selectionObservable.subscribe((value=>{this.selected=this.selectable&&value.has(this.id),this.active=this.selectable&&this.selected}))}ngOnDestroy(){this.subscription?.unsubscribe()}nodeClick(event){if(!this.disabled)if(event.target.parentElement.focus(),this.selectable||0===this.children.length){this.selected=!0,this.active=!0;const node={id:this.id,label:this.label,value:this.value};this.treeViewService.selectNode(node),this.nodeSelect.emit(node)}else this.toggleExpanded(event)}calculateOffset(){return this.children.length&&this.icon?this.depth+1+.5*this.depth:this.children.length?this.depth+1:this.icon?this.depth+2+.5*this.depth:this.depth+this.gap+2.5}emitFocusEvent(event){const node={id:this.id,label:this.label,value:this.value};this.nodeFocus.emit({node,event}),this.treeViewService.focusNode(node)}emitBlurEvent(event){this.nodeBlur.emit({node:{id:this.id,label:this.label,value:this.value},event})}toggleExpanded(event){this.disabled||(this.nodetoggle.emit({node:{id:this.id,label:this.label,value:this.value},event}),this.expanded=!this.expanded,event.stopPropagation())}navigateTree(event){"ArrowLeft"!==event.key&&"ArrowRight"!==event.key&&"Enter"!==event.key||event.stopPropagation(),"ArrowLeft"===event.key&&this.expanded&&this.children&&this.toggleExpanded(event),"ArrowRight"===event.key&&!this.expanded&&this.children&&this.toggleExpanded(event),"Enter"===event.key&&(event.preventDefault(),this.nodeClick(event))}isTemplate(value){return value instanceof core.TemplateRef}isProjected(){return this.treeViewService.contentProjected}};TreeNodeComponent.treeNodeCount=0,TreeNodeComponent.ctorParameters=()=>[{type:TreeViewService}],TreeNodeComponent.propDecorators={id:[{type:core.Input}],active:[{type:core.Input}],disabled:[{type:core.Input}],selectable:[{type:core.Input}],expanded:[{type:core.Input}],label:[{type:core.Input}],labelContext:[{type:core.Input}],selected:[{type:core.Input}],value:[{type:core.Input}],icon:[{type:core.Input}],iconContext:[{type:core.Input}],gap:[{type:core.Input}],children:[{type:core.Input}],depth:[{type:core.Input}],node:[{type:core.Input}],nodeFocus:[{type:core.Output}],nodeBlur:[{type:core.Output}],nodeSelect:[{type:core.Output}],nodetoggle:[{type:core.Output}]},TreeNodeComponent=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-tree-node",template:'\n\t\t<div\n\t\t\t[id]="id"\n\t\t\tclass="cds--tree-node"\n\t\t\t[ngClass]="{\n\t\t\t\t\'cds--tree-node--active\': active,\n\t\t\t\t\'cds--tree-node--disabled\': disabled,\n\t\t\t\t\'cds--tree-node--selected\': selected,\n\t\t\t\t\'cds--tree-leaf-node\': !children.length,\n\t\t\t\t\'cds--tree-parent-node\': children.length,\n\t\t\t\t\'cds--tree-node--with-icon\': icon\n\t\t\t}"\n\t\t\t[attr.aria-expanded]="expanded || null"\n\t\t\t[attr.aria-current]="active || null"\n\t\t\t[attr.aria-selected]="disabled ? null : selected"\n\t\t\t[attr.aria-disabled]="disabled"\n\t\t\trole="treeitem"\n\t\t\t[attr.tabindex]="selected ? 0 : -1"\n\t\t\t(focus)="emitFocusEvent($event)"\n\t\t\t(blur)="emitBlurEvent($event)"\n\t\t\t(keydown)="navigateTree($event)">\n\t\t\t<div\n\t\t\t\t*ngIf="!children.length"\n\t\t\t\tclass="cds--tree-node__label"\n\t\t\t\t[style.padding-inline-start.rem]="offset"\n\t\t\t\t[style.margin-inline-start.rem]="-offset"\n\t\t\t\t(click)="nodeClick($event)">\n\t\t\t\t\x3c!-- Icon --\x3e\n\t\t\t\t<ng-container *ngIf="icon && !isTemplate(icon)">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tclass="cds--tree-node__icon"\n\t\t\t\t\t\t[cdsIcon]="icon"\n\t\t\t\t\t\tsize="16">\n\t\t\t\t\t</svg>\n\t\t\t\t</ng-container>\n\t\t\t\t<ng-template *ngIf="isTemplate(icon)" [ngTemplateOutlet]="icon"></ng-template>\n\t\t\t\t<ng-container *ngIf="!isTemplate(label)">{{label}}</ng-container>\n\t\t\t\t<ng-template\n\t\t\t\t\t*ngIf="isTemplate(label)"\n\t\t\t\t\t[ngTemplateOutlet]="label"\n\t\t\t\t\t[ngTemplateOutletContext]="{ $implicit: labelContext }">\n\t\t\t\t</ng-template>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t*ngIf="children.length"\n\t\t\t\tclass="cds--tree-node__label"\n\t\t\t\t[style.padding-inline-start.rem]="offset"\n\t\t\t\t[style.margin-inline-start.rem]="-offset"\n\t\t\t\trole="group"\n\t\t\t\t(click)="nodeClick($event)">\n\t\t\t\t<span\n\t\t\t\t\tclass="cds--tree-parent-node__toggle"\n\t\t\t\t\t[attr.disabled]="disabled || null"\n\t\t\t\t\t(click)="toggleExpanded($event)">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tclass="cds--tree-parent-node__toggle-icon"\n\t\t\t\t\t\t[ngClass]="{\'cds--tree-parent-node__toggle-icon--expanded\' : expanded}"\n\t\t\t\t\t\tibmIcon="caret--down"\n\t\t\t\t\t\tsize="16">\n\t\t\t\t\t</svg>\n\t\t\t\t</span>\n\t\t\t\t<span class="cds--tree-node__label__details">\n\t\t\t\t\t\x3c!-- Icon --\x3e\n\t\t\t\t\t<ng-container *ngIf="icon && !isTemplate(icon)">\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tclass="cds--tree-node__icon"\n\t\t\t\t\t\t\t[cdsIcon]="icon"\n\t\t\t\t\t\t\tsize="16">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t*ngIf="isTemplate(icon)"\n\t\t\t\t\t\t[ngTemplateOutlet]="icon"\n\t\t\t\t\t\t[ngTemplateOutletContext]="{ $implicit: iconContext }">\n\t\t\t\t\t</ng-template>\n\t\t\t\t\t<ng-container *ngIf="!isTemplate(label)">{{label}}</ng-container>\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t*ngIf="isTemplate(label)"\n\t\t\t\t\t\t[ngTemplateOutlet]="label"\n\t\t\t\t\t\t[ngTemplateOutletContext]="{ $implicit: labelContext }">\n\t\t\t\t\t</ng-template>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t*ngIf="expanded"\n\t\t\t\trole="group"\n\t\t\t\tclass="cds--tree-node__children">\n\t\t\t\t<ng-container *ngIf="isProjected(); else notProjected">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</ng-container>\n\t\t\t\t<ng-template #notProjected>\n\t\t\t\t\t<cds-tree-node\n\t\t\t\t\t\t*ngFor="let childNode of children"\n\t\t\t\t\t\t[node]="childNode"\n\t\t\t\t\t\t[depth]="depth + 1"\n\t\t\t\t\t\t[disabled]="disabled">\n\t\t\t\t\t</cds-tree-node>\n\t\t\t\t</ng-template>\n\t\t\t</div>\n\t\t</div>\n\t'})],TreeNodeComponent);let TreeviewModule=class TreeviewModule{};TreeviewModule=(0,tslib_es6.gn)([(0,core.NgModule)({declarations:[TreeViewComponent,TreeNodeComponent],exports:[TreeViewComponent,TreeNodeComponent],imports:[common.CommonModule,icon.QX]})],TreeviewModule);let IconTreeviewDemoComponent=class IconTreeviewDemoComponent{constructor(){this.tree=[]}ngAfterViewInit(){this.tree=[{id:"1",value:"Artificial intelligence",label:"Artificial intelligence",icon:this.documentIcon},{id:"2",value:"Blockchain",label:"Blockchain",icon:this.documentIcon},{id:"3",value:"Business automation",label:"Business automation",children:[{id:"3-1",value:"Business process automation",label:"Business process automation",icon:this.documentIcon},{id:"3-2",value:"Business process mapping",label:"Business process mapping",icon:this.documentIcon}],icon:"folder"},{id:"4",value:"Business operations",label:"Business operations",icon:this.documentIcon},{id:"5",value:"Cloud computing",label:"Cloud computing",expanded:!0,children:[{id:"5-1",value:"Containers",label:"Containers",icon:this.documentIcon},{id:"5-2",value:"Databases",label:"Databases",icon:this.documentIcon},{id:"5-3",value:"DevOps",label:"DevOps",expanded:!0,children:[{id:"5-4",value:"Solutions",label:"Solutions",icon:this.documentIcon},{id:"5-5",value:"Case studies",label:"Case studies",expanded:!0,children:[{id:"5-6",value:"Resources",label:"Resources",icon:this.documentIcon}],icon:"folder"}],icon:"folder"}],icon:"folder"},{id:"6",value:"Data & Analytics",label:"Data & Analytics",children:[{id:"6-1",value:"Big data",label:"Big data",icon:this.documentIcon},{id:"6-2",value:"Business intelligence",label:"Business intelligence",icon:this.documentIcon}],icon:"folder"},{id:"7",value:"IT infrastructure",label:"IT infrastructure",expanded:!0,disabled:!0,children:[{id:"7-1",value:"Data storage",label:"Data storage",icon:this.documentIcon},{id:"7-2",value:"Enterprise servers",label:"Enterprise servers",icon:this.documentIcon},{id:"8",value:"Hybrid cloud infrastructure",label:"Hybrid cloud infrastructure",expanded:!0,children:[{id:"8-1",value:"Insights",label:"Insights",icon:this.documentIcon},{id:"8-2",value:"Benefits",label:"Benefits",icon:this.documentIcon}],icon:"folder"}],icon:"folder"}]}};IconTreeviewDemoComponent.propDecorators={documentIcon:[{type:core.ViewChild,args:["document"]}]},IconTreeviewDemoComponent=(0,tslib_es6.gn)([(0,core.Component)({selector:"app-treeview-icon-component",template:'\n\t\t<cds-tree-view\n\t\t\tlabel="Tree view"\n\t\t\tstyle="width: 18rem; display: block;"\n\t\t\t[tree]="tree">\n\t\t</cds-tree-view>\n\n\t\t<ng-template #document>\n\t\t\t<svg cdsIcon="document" class="cds--tree-node__icon" size="16"></svg>\n\t\t</ng-template>\n\t'})],IconTreeviewDemoComponent);const treeview_stories={title:"Components/Tree view",decorators:[(0,dist.moduleMetadata)({imports:[common.CommonModule,TreeviewModule,icon.QX],declarations:[IconTreeviewDemoComponent]})],component:TreeViewComponent,subcomponents:TreeNodeComponent,args:{size:"sm",isMultiSelect:!1},argTypes:{size:{options:["xs","sm"],control:"radio"},onSelect:{action:"clicked"}}},nodes=[{id:"1",value:"Artificial intelligence",label:"Artificial intelligence"},{id:"2",value:"Blockchain",label:"Blockchain"},{id:"3",value:"Business automation",label:"Business automation",children:[{id:"3-1",value:"Business process automation",label:"Business process automation"},{id:"3-2",value:"Business process mapping",label:"Business process mapping"}]},{id:"4",value:"Business operations",label:"Business operations"},{id:"5",value:"Cloud computing",label:"Cloud computing",expanded:!0,children:[{id:"5-1",value:"Containers",label:"Containers"},{id:"5-2",value:"Databases",label:"Databases"},{id:"5-3",value:"DevOps",label:"DevOps",expanded:!0,children:[{id:"5-4",value:"Solutions",label:"Solutions"},{id:"5-5",value:"Case studies",label:"Case studies",expanded:!0,children:[{id:"5-6",value:"Resources",label:"Resources"}]}]}]},{id:"6",value:"Data & Analytics",label:"Data & Analytics",children:[{id:"6-1",value:"Big data",label:"Big data"},{id:"6-2",value:"Business intelligence",label:"Business intelligence"}]},{id:"7",value:"Not selectable node",label:"Not selectable node",selectable:!1,children:[{id:"7-1",value:"Child 1",label:"Child 1"},{id:"7-2",value:"Child 2",label:"Child 2"}]},{id:"8",value:"IT infrastructure",label:"IT infrastructure",expanded:!0,disabled:!0,children:[{id:"8-1",value:"Data storage",label:"Data storage"},{id:"8-2",value:"Enterprise servers",label:"Enterprise servers"},{id:"9",value:"Hybrid cloud infrastructure",label:"Hybrid cloud infrastructure",expanded:!0,children:[{id:"9-1",value:"Insights",label:"Insights"},{id:"9-2",value:"Benefits",label:"Benefits"}]}]}],Basic=(args=>({props:args,template:'\n <cds-tree-view\n label="Tree view"\n style="width: 18rem; display: block;"\n [size]="size"\n [tree]="tree"\n [isMultiSelect]="isMultiSelect"\n (select)="onSelect($event)">\n </cds-tree-view>\n '})).bind({});Basic.args={tree:nodes},Basic.argTypes={tree:{control:!1}};const ProjectedContent=(args=>({props:args,template:'\n <cds-tree-view\n label="Tree view"\n style="width: 18rem; display: block;"\n [size]="size"\n [isMultiSelect]="isMultiSelect"\n (select)="onSelect($event)">\n\n <ng-template #nodeTemplateRef let-node="node" let-depth="depth" let-disabled="disabled">\n\n <cds-tree-node\n [node]="node"\n [depth]="depth"\n [disabled]="disabled">\n <ng-container *ngIf="node.children && node.children.length">\n <ng-container *ngFor="let child of node.children; let i = index;">\n \x3c!-- Increase the depth by 1 --\x3e\n <ng-container\n *ngTemplateOutlet="nodeTemplateRef; context: {node: child, depth: depth + 1, disabled };">\n </ng-container>\n </ng-container>\n </ng-container>\n </cds-tree-node>\n\n </ng-template>\n\n <ng-container *ngFor="let node of tree">\n <ng-container\n *ngTemplateOutlet="nodeTemplateRef; context: {node: node, depth: 0, disabled: node.disabled };">\n </ng-container>\n </ng-container>\n </cds-tree-view>\n '})).bind({});ProjectedContent.args={tree:nodes},ProjectedContent.argTypes={tree:{control:!1}};const WithIcons=(args=>({props:args,template:"\n <app-treeview-icon-component></app-treeview-icon-component>\n "})).bind({});WithIcons.argTypes={tree:{control:!1}},Basic.parameters={...Basic.parameters,docs:{...Basic.parameters?.docs,source:{originalSource:'args => ({\n props: args,\n template: `\n <cds-tree-view\n label="Tree view"\n style="width: 18rem; display: block;"\n [size]="size"\n [tree]="tree"\n [isMultiSelect]="isMultiSelect"\n (select)="onSelect($event)">\n </cds-tree-view>\n `\n})',...Basic.parameters?.docs?.source}}},ProjectedContent.parameters={...ProjectedContent.parameters,docs:{...ProjectedContent.parameters?.docs,source:{originalSource:'args => ({\n props: args,\n template: `\n <cds-tree-view\n label="Tree view"\n style="width: 18rem; display: block;"\n [size]="size"\n [isMultiSelect]="isMultiSelect"\n (select)="onSelect($event)">\n\n <ng-template #nodeTemplateRef let-node="node" let-depth="depth" let-disabled="disabled">\n\n <cds-tree-node\n [node]="node"\n [depth]="depth"\n [disabled]="disabled">\n <ng-container *ngIf="node.children && node.children.length">\n <ng-container *ngFor="let child of node.children; let i = index;">\n \x3c!-- Increase the depth by 1 --\x3e\n <ng-container\n *ngTemplateOutlet="nodeTemplateRef; context: {node: child, depth: depth + 1, disabled };">\n </ng-container>\n </ng-container>\n </ng-container>\n </cds-tree-node>\n\n </ng-template>\n\n <ng-container *ngFor="let node of tree">\n <ng-container\n *ngTemplateOutlet="nodeTemplateRef; context: {node: node, depth: 0, disabled: node.disabled };">\n </ng-container>\n </ng-container>\n </cds-tree-view>\n `\n})',...ProjectedContent.parameters?.docs?.source}}},WithIcons.parameters={...WithIcons.parameters,docs:{...WithIcons.parameters?.docs,source:{originalSource:"args => ({\n props: args,\n template: `\n <app-treeview-icon-component></app-treeview-icon-component>\n `\n})",...WithIcons.parameters?.docs?.source}}};const __namedExportsOrder=["Basic","ProjectedContent","WithIcons"]}}]);
@@ -80,8 +80,10 @@ export class TreeNodeComponent {
80
80
  if (this.selectable || this.children.length === 0) {
81
81
  this.selected = true;
82
82
  this.active = true;
83
+ const node = { id: this.id, label: this.label, value: this.value };
83
84
  // Passes event to all nodes to update highlighting & parent to emit
84
- this.treeViewService.selectNode({ id: this.id, label: this.label, value: this.value });
85
+ this.treeViewService.selectNode(node);
86
+ this.nodeSelect.emit(node);
85
87
  }
86
88
  else {
87
89
  this.toggleExpanded(event);
@@ -405,4 +407,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
405
407
  }], nodetoggle: [{
406
408
  type: Output
407
409
  }] } });
408
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmVldmlldy90cmVlLW5vZGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBSVosV0FBVyxFQUVYLE1BQU0sZUFBZSxDQUFDOzs7OztBQTZHdkIsTUFBTSxPQUFPLGlCQUFpQjtJQTBEN0IsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBeEQzQyxPQUFFLEdBQUcsYUFBYSxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1FBQ3RELFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWpCLFFBQUcsR0FBRyxDQUFDLENBQUM7UUFDUixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBRS9COzs7V0FHRztRQUNNLFVBQUssR0FBRyxDQUFDLENBQUM7UUE2QlQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0IsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDOUIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFNYSxDQUFDO0lBcEN4RDs7O09BR0c7SUFDSCxJQUFhLElBQUksQ0FBQyxJQUFVO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWxCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFD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QkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQU1HLEtBQUs7c0JBQWIsS0FBSztnQkFNTyxJQUFJO3NCQUFoQixLQUFLO2dCQXVCSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q29tcG9uZW50LFxuXHRJbnB1dCxcblx0T3V0cHV0LFxuXHRFdmVudEVtaXR0ZXIsXG5cdE9uSW5pdCxcblx0T25EZXN0cm95LFxuXHRBZnRlckNvbnRlbnRJbml0LFxuXHRUZW1wbGF0ZVJlZixcblx0QWZ0ZXJDb250ZW50Q2hlY2tlZFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFRyZWVWaWV3U2VydmljZSB9IGZyb20gXCIuL3RyZWV2aWV3LnNlcnZpY2VcIjtcbmltcG9ydCB7IE5vZGUgfSBmcm9tIFwiLi90cmVlLW5vZGUudHlwZXNcIjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcImNkcy10cmVlLW5vZGVcIixcblx0dGVtcGxhdGU6IGBcblx0XHQ8ZGl2XG5cdFx0XHRbaWRdPVwiaWRcIlxuXHRcdFx0Y2xhc3M9XCJjZHMtLXRyZWUtbm9kZVwiXG5cdFx0XHRbbmdDbGFzc109XCJ7XG5cdFx0XHRcdCdjZHMtLXRyZWUtbm9kZS0tYWN0aXZlJzogYWN0aXZlLFxuXHRcdFx0XHQnY2RzLS10cmVlLW5vZGUtLWRpc2FibGVkJzogZGlzYWJsZWQsXG5cdFx0XHRcdCdjZHMtLXRyZWUtbm9kZS0tc2VsZWN0ZWQnOiBzZWxlY3RlZCxcblx0XHRcdFx0J2Nkcy0tdHJlZS1sZWFmLW5vZGUnOiAhY2hpbGRyZW4ubGVuZ3RoLFxuXHRcdFx0XHQnY2RzLS10cmVlLXBhcmVudC1ub2RlJzogY2hpbGRyZW4ubGVuZ3RoLFxuXHRcdFx0XHQnY2RzLS10cmVlLW5vZGUtLXdpdGgtaWNvbic6IGljb25cblx0XHRcdH1cIlxuXHRcdFx0W2F0dHIuYXJpYS1leHBhbmRlZF09XCJleHBhbmRlZCB8fCBudWxsXCJcblx0XHRcdFthdHRyLmFyaWEtY3VycmVudF09XCJhY3RpdmUgfHwgbnVsbFwiXG5cdFx0XHRbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImRpc2FibGVkID8gbnVsbCA6IHNlbGVjdGVkXCJcblx0XHRcdFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuXHRcdFx0cm9sZT1cInRyZWVpdGVtXCJcblx0XHRcdFthdHRyLnRhYmluZGV4XT1cInNlbGVjdGVkID8gMCA6IC0xXCJcblx0XHRcdChmb2N1cyk9XCJlbWl0Rm9jdXNFdmVudCgkZXZlbnQpXCJcblx0XHRcdChibHVyKT1cImVtaXRCbHVyRXZlbnQoJGV2ZW50KVwiXG5cdFx0XHQoa2V5ZG93bik9XCJuYXZpZ2F0ZVRyZWUoJGV2ZW50KVwiPlxuXHRcdFx0PGRpdlxuXHRcdFx0XHQqbmdJZj1cIiFjaGlsZHJlbi5sZW5ndGhcIlxuXHRcdFx0XHRjbGFzcz1cImNkcy0tdHJlZS1ub2RlX19sYWJlbFwiXG5cdFx0XHRcdFtzdHlsZS5wYWRkaW5nLWlubGluZS1zdGFydC5yZW1dPVwib2Zmc2V0XCJcblx0XHRcdFx0W3N0eWxlLm1hcmdpbi1pbmxpbmUtc3RhcnQucmVtXT1cIi1vZmZzZXRcIlxuXHRcdFx0XHQoY2xpY2spPVwibm9kZUNsaWNrKCRldmVudClcIj5cblx0XHRcdFx0PCEtLSBJY29uIC0tPlxuXHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiaWNvbiAmJiAhaXNUZW1wbGF0ZShpY29uKVwiPlxuXHRcdFx0XHRcdDxzdmdcblx0XHRcdFx0XHRcdGNsYXNzPVwiY2RzLS10cmVlLW5vZGVfX2ljb25cIlxuXHRcdFx0XHRcdFx0W2Nkc0ljb25dPVwiaWNvblwiXG5cdFx0XHRcdFx0XHRzaXplPVwiMTZcIj5cblx0XHRcdFx0XHQ8L3N2Zz5cblx0XHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSAqbmdJZj1cImlzVGVtcGxhdGUoaWNvbilcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJpY29uXCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlKGxhYmVsKVwiPnt7bGFiZWx9fTwvbmctY29udGFpbmVyPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGVcblx0XHRcdFx0XHQqbmdJZj1cImlzVGVtcGxhdGUobGFiZWwpXCJcblx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFwiXG5cdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBsYWJlbENvbnRleHQgfVwiPlxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8ZGl2XG5cdFx0XHRcdCpuZ0lmPVwiY2hpbGRyZW4ubGVuZ3RoXCJcblx0XHRcdFx0Y2xhc3M9XCJjZHMtLXRyZWUtbm9kZV9fbGFiZWxcIlxuXHRcdFx0XHRbc3R5bGUucGFkZGluZy1pbmxpbmUtc3RhcnQucmVtXT1cIm9mZnNldFwiXG5cdFx0XHRcdFtzdHlsZS5tYXJnaW4taW5saW5lLXN0YXJ0LnJlbV09XCItb2Zmc2V0XCJcblx0XHRcdFx0cm9sZT1cImdyb3VwXCJcblx0XHRcdFx0KGNsaWNrKT1cIm5vZGVDbGljaygkZXZlbnQpXCI+XG5cdFx0XHRcdDxzcGFuXG5cdFx0XHRcdFx0Y2xhc3M9XCJjZHMtLXRyZWUtcGFyZW50LW5vZGVfX3RvZ2dsZVwiXG5cdFx0XHRcdFx0W2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbnVsbFwiXG5cdFx0XHRcdFx0KGNsaWNrKT1cInRvZ2dsZUV4cGFuZGVkKCRldmVudClcIj5cblx0XHRcdFx0XHQ8c3ZnXG5cdFx0XHRcdFx0XHRjbGFzcz1cImNkcy0tdHJlZS1wYXJlbnQtbm9kZV9fdG9nZ2xlLWljb25cIlxuXHRcdFx0XHRcdFx0W25nQ2xhc3NdPVwieydjZHMtLXRyZWUtcGFyZW50LW5vZGVfX3RvZ2dsZS1pY29uLS1leHBhbmRlZCcgOiBleHBhbmRlZH1cIlxuXHRcdFx0XHRcdFx0aWJtSWNvbj1cImNhcmV0LS1kb3duXCJcblx0XHRcdFx0XHRcdHNpemU9XCIxNlwiPlxuXHRcdFx0XHRcdDwvc3ZnPlxuXHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwiY2RzLS10cmVlLW5vZGVfX2xhYmVsX19kZXRhaWxzXCI+XG5cdFx0XHRcdFx0PCEtLSBJY29uIC0tPlxuXHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJpY29uICYmICFpc1RlbXBsYXRlKGljb24pXCI+XG5cdFx0XHRcdFx0XHQ8c3ZnXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwiY2RzLS10cmVlLW5vZGVfX2ljb25cIlxuXHRcdFx0XHRcdFx0XHRbY2RzSWNvbl09XCJpY29uXCJcblx0XHRcdFx0XHRcdFx0c2l6ZT1cIjE2XCI+XG5cdFx0XHRcdFx0XHQ8L3N2Zz5cblx0XHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHQ8bmctdGVtcGxhdGVcblx0XHRcdFx0XHRcdCpuZ0lmPVwiaXNUZW1wbGF0ZShpY29uKVwiXG5cdFx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJpY29uXCJcblx0XHRcdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaWNvbkNvbnRleHQgfVwiPlxuXHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlKGxhYmVsKVwiPnt7bGFiZWx9fTwvbmctY29udGFpbmVyPlxuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZVxuXHRcdFx0XHRcdFx0Km5nSWY9XCJpc1RlbXBsYXRlKGxhYmVsKVwiXG5cdFx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFwiXG5cdFx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGxhYmVsQ29udGV4dCB9XCI+XG5cdFx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8ZGl2XG5cdFx0XHRcdCpuZ0lmPVwiZXhwYW5kZWRcIlxuXHRcdFx0XHRyb2xlPVwiZ3JvdXBcIlxuXHRcdFx0XHRjbGFzcz1cImNkcy0tdHJlZS1ub2RlX19jaGlsZHJlblwiPlxuXHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiaXNQcm9qZWN0ZWQoKTsgZWxzZSBub3RQcm9qZWN0ZWRcIj5cblx0XHRcdFx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdFx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgI25vdFByb2plY3RlZD5cblx0XHRcdFx0XHQ8Y2RzLXRyZWUtbm9kZVxuXHRcdFx0XHRcdFx0Km5nRm9yPVwibGV0IGNoaWxkTm9kZSBvZiBjaGlsZHJlblwiXG5cdFx0XHRcdFx0XHRbbm9kZV09XCJjaGlsZE5vZGVcIlxuXHRcdFx0XHRcdFx0W2RlcHRoXT1cImRlcHRoICsgMVwiXG5cdFx0XHRcdFx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cblx0XHRcdFx0XHQ8L2Nkcy10cmVlLW5vZGU+XG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0YFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlTm9kZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQsIE9uSW5pdCwgT25EZXN0cm95IHtcblx0c3RhdGljIHRyZWVOb2RlQ291bnQgPSAwO1xuXHRASW5wdXQoKSBpZCA9IGB0cmVlLW5vZGUtJHtUcmVlTm9kZUNvbXBvbmVudC50cmVlTm9kZUNvdW50Kyt9YDtcblx0QElucHV0KCkgYWN0aXZlID0gZmFsc2U7XG5cdEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cdEBJbnB1dCgpIHNlbGVjdGFibGUgPSB0cnVlO1xuXHRASW5wdXQoKSBleHBhbmRlZCA9IGZhbHNlO1xuXHRASW5wdXQoKSBsYWJlbDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pjtcblx0QElucHV0KCkgbGFiZWxDb250ZXh0OiBhbnk7XG5cdEBJbnB1dCgpIHNlbGVjdGVkID0gZmFsc2U7XG5cdEBJbnB1dCgpIHZhbHVlO1xuXHRASW5wdXQoKSBpY29uOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHRASW5wdXQoKSBpY29uQ29udGV4dDogYW55O1xuXHRASW5wdXQoKSBnYXAgPSAwO1xuXHRASW5wdXQoKSBjaGlsZHJlbjogTm9kZVtdID0gW107XG5cblx0LyoqXG5cdCAqIERldGVybWluZXMgdGhlIGRlcHRoIG9mIHRoZSBub2RlXG5cdCAqIENhbGN1bGF0ZWQgYnkgZGVmYXVsdCB3aGVuIHBhc3NpbmcgYE5vZGVgIGFycmF5IHRvIGBUcmVlVmlld0NvbXBvbmVudGAsIG1hbnVhbCBlbnRyeSByZXF1aXJlZCBvdGhlcndpc2Vcblx0ICovXG5cdEBJbnB1dCgpIGRlcHRoID0gMDtcblxuXHQvKipcblx0ICogU2ltcGxlIHdheSB0byBzZXQgYWxsIGF0dHJpYnV0ZXMgb2YgTm9kZSBjb21wb25lbnQgdmlhIG5vZGUgb2JqZWN0XG5cdCAqIFdvdWxkIHNpbXBsaWZ5IHNldHRpbmcgY29tcG9uZW50IGF0dHJpYnV0ZXMgd2hlbiBkeW5hbWljYWxseSByZW5kZXJpbmcgbm9kZS5cblx0ICovXG5cdEBJbnB1dCgpIHNldCBub2RlKG5vZGU6IE5vZGUpIHtcblx0XHR0aGlzLl9ub2RlID0gbm9kZTtcblxuXHRcdHRoaXMuaWQgPSBub2RlLmlkID8/IHRoaXMuaWQ7XG5cdFx0dGhpcy5hY3RpdmUgPSBub2RlLmFjdGl2ZSA/PyB0aGlzLmFjdGl2ZTtcblx0XHR0aGlzLmRpc2FibGVkID0gbm9kZS5kaXNhYmxlZCA/PyB0aGlzLmRpc2FibGVkO1xuXHRcdHRoaXMuc2VsZWN0YWJsZSA9IG5vZGUuc2VsZWN0YWJsZSA/PyB0aGlzLnNlbGVjdGFibGU7XG5cdFx0dGhpcy5leHBhbmRlZCA9IG5vZGUuZXhwYW5kZWQgPz8gdGhpcy5leHBhbmRlZDtcblx0XHR0aGlzLmxhYmVsID0gbm9kZS5sYWJlbCA/PyB0aGlzLmxhYmVsO1xuXHRcdHRoaXMubGFiZWxDb250ZXh0ID0gbm9kZS5sYWJlbENvbnRleHQgPz8gdGhpcy5sYWJlbENvbnRleHQ7XG5cdFx0dGhpcy52YWx1ZSA9IG5vZGUudmFsdWUgPz8gdGhpcy52YWx1ZTtcblx0XHR0aGlzLmljb24gPSBub2RlLmljb24gPz8gdGhpcy5pY29uO1xuXHRcdHRoaXMuc2VsZWN0ZWQgPSBub2RlLnNlbGVjdGVkID8/IHRoaXMuc2VsZWN0ZWQ7XG5cdFx0dGhpcy5kZXB0aCA9IG5vZGUuZGVwdGggPz8gdGhpcy5kZXB0aDtcblx0XHR0aGlzLmdhcCA9IG5vZGUuZ2FwID8/IHRoaXMuZ2FwO1xuXHRcdHRoaXMuY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuID8/IHRoaXMuY2hpbGRyZW47XG5cdFx0dGhpcy5pY29uQ29udGV4dCA9IG5vZGUuaWNvblRleHQgPz8gdGhpcy5pY29uQ29udGV4dDtcblx0fVxuXG5cdGdldCBub2RlKCkge1xuXHRcdHJldHVybiB0aGlzLl9ub2RlO1xuXHR9XG5cblx0QE91dHB1dCgpIG5vZGVGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblx0QE91dHB1dCgpIG5vZGVCbHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXHRAT3V0cHV0KCkgbm9kZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblx0QE91dHB1dCgpIG5vZGV0b2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cblx0b2Zmc2V0O1xuXHRwcml2YXRlIF9ub2RlO1xuXHRwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgdHJlZVZpZXdTZXJ2aWNlOiBUcmVlVmlld1NlcnZpY2UpIHt9XG5cblx0LyoqXG5cdCAqIENhY2x1bGF0ZSBvZmZzZXQgZm9yIG1hcmdpbi9wYWRkaW5nXG5cdCAqL1xuXHRuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG5cdFx0dGhpcy5vZmZzZXQgPSB0aGlzLmNhbGN1bGF0ZU9mZnNldCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEhpZ2hsaWdodCB0aGUgbm9kZVxuXHQgKi9cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0Ly8gSGlnaGxpZ2h0IHRoZSBub2RlXG5cdFx0dGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnRyZWVWaWV3U2VydmljZS5zZWxlY3Rpb25PYnNlcnZhYmxlLnN1YnNjcmliZSgodmFsdWU6IE1hcDxzdHJpbmcsIE5vZGU+KSA9PiB7XG5cdFx0XHR0aGlzLnNlbGVjdGVkID0gdGhpcy5zZWxlY3RhYmxlICYmIHZhbHVlLmhhcyh0aGlzLmlkKTtcblx0XHRcdHRoaXMuYWN0aXZlID0gdGhpcy5zZWxlY3RhYmxlICYmIHRoaXMuc2VsZWN0ZWQ7XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogVW5zdWJzY3JpYmUgZnJvbSBzdWJzY3JpcHRpb25zXG5cdCAqL1xuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZWxlY3RzIHRoZSBub2RlIGFuZCBlbWl0cyB0aGUgZXZlbnQgZnJvbSB0aGUgdHJlZSB2aWV3IGNvbXBvbmVudFxuXHQgKiBAcGFyYW0gZXZlbnRcblx0ICovXG5cdG5vZGVDbGljayhldmVudCkge1xuXHRcdGlmICghdGhpcy5kaXNhYmxlZCkge1xuXHRcdFx0ZXZlbnQudGFyZ2V0LnBhcmVudEVsZW1lbnQuZm9jdXMoKTtcblx0XHRcdGlmICh0aGlzLnNlbGVjdGFibGUgfHwgdGhpcy5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZCA9IHRydWU7XG5cdFx0XHRcdHRoaXMuYWN0aXZlID0gdHJ1ZTtcblx0XHRcdFx0Ly8gUGFzc2VzIGV2ZW50IHRvIGFsbCBub2RlcyB0byB1cGRhdGUgaGlnaGxpZ2h0aW5nICYgcGFyZW50IHRvIGVtaXRcblx0XHRcdFx0dGhpcy50cmVlVmlld1NlcnZpY2Uuc2VsZWN0Tm9kZSh7IGlkOiB0aGlzLmlkLCBsYWJlbDogdGhpcy5sYWJlbCwgdmFsdWU6IHRoaXMudmFsdWUgfSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLnRvZ2dsZUV4cGFuZGVkKGV2ZW50KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ2FsY3VsYXRlIHRoZSBub2RlIG9mZnNldFxuXHQgKiBAcmV0dXJucyBOdW1iZXJcblx0ICovXG5cdGNhbGN1bGF0ZU9mZnNldCgpIHtcblx0XHQvLyBQYXJlbnQgbm9kZSB3aXRoIGljb25cblx0XHRpZiAodGhpcy5jaGlsZHJlbi5sZW5ndGggJiYgdGhpcy5pY29uKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5kZXB0aCArIDEgKyB0aGlzLmRlcHRoICogMC41O1xuXHRcdH1cblxuXHRcdC8vIHBhcmVudCBub2RlIHdpdGhvdXQgaWNvblxuXHRcdGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZGVwdGggKyAxO1xuXHRcdH1cblxuXHRcdC8vIGxlYWYgbm9kZSB3aXRoIGljb25cblx0XHRpZiAodGhpcy5pY29uKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5kZXB0aCArIDIgKyB0aGlzLmRlcHRoICogMC41O1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLmRlcHRoICsgdGhpcy5nYXAgKyAyLjU7XG5cdH1cblxuXHRlbWl0Rm9jdXNFdmVudChldmVudCkge1xuXHRcdGNvbnN0IG5vZGUgPSB7IGlkOiB0aGlzLmlkLCBsYWJlbDogdGhpcy5sYWJlbCwgdmFsdWU6IHRoaXMudmFsdWUgfVxuXHRcdHRoaXMubm9kZUZvY3VzLmVtaXQoeyBub2RlLCBldmVudCB9KTtcblx0XHR0aGlzLnRyZWVWaWV3U2VydmljZS5mb2N1c05vZGUobm9kZSk7XG5cdH1cblxuXHRlbWl0Qmx1ckV2ZW50KGV2ZW50KSB7XG5cdFx0dGhpcy5ub2RlQmx1ci5lbWl0KHsgbm9kZTogeyBpZDogdGhpcy5pZCwgbGFiZWw6IHRoaXMubGFiZWwsIHZhbHVlOiB0aGlzLnZhbHVlIH0sIGV2ZW50IH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEV4cGFuZCBjaGlsZHJlbiBpZiBub3QgZGlzYWJsZWRcblx0ICogQHBhcmFtIGV2ZW50OiBFdmVudFxuXHQgKi9cblx0dG9nZ2xlRXhwYW5kZWQoZXZlbnQpIHtcblx0XHRpZiAoIXRoaXMuZGlzYWJsZWQpIHtcblx0XHRcdHRoaXMubm9kZXRvZ2dsZS5lbWl0KHsgbm9kZTogeyBpZDogdGhpcy5pZCwgbGFiZWw6IHRoaXMubGFiZWwsIHZhbHVlOiB0aGlzLnZhbHVlIH0sIGV2ZW50IH0pO1xuXHRcdFx0dGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuXHRcdFx0Ly8gUHJldmVudCBzZWxlY3Rpb24gb2YgdGhlIG5vZGVcblx0XHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBNYW5hZ2VzIHRoZSBrZXlib2FyZCBhY2Nlc3NpYmlsaXR5IGZvciBjaGlsZHJlbiBleHBhbnNpb24gJiBzZWxlY3Rpb25cblx0ICovXG5cdG5hdmlnYXRlVHJlZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuXHRcdGlmIChldmVudC5rZXkgPT09IFwiQXJyb3dMZWZ0XCIgfHwgZXZlbnQua2V5ID09PSBcIkFycm93UmlnaHRcIiB8fCBldmVudC5rZXkgPT09IFwiRW50ZXJcIikge1xuXHRcdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0fVxuXHRcdC8vIFVuZXhwYW5kXG5cdFx0aWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd0xlZnRcIikge1xuXHRcdFx0aWYgKHRoaXMuZXhwYW5kZWQgJiYgdGhpcy5jaGlsZHJlbikge1xuXHRcdFx0XHR0aGlzLnRvZ2dsZUV4cGFuZGVkKGV2ZW50KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAoZXZlbnQua2V5ID09PSBcIkFycm93UmlnaHRcIikge1xuXHRcdFx0aWYgKCF0aGlzLmV4cGFuZGVkICYmIHRoaXMuY2hpbGRyZW4pIHtcblx0XHRcdFx0dGhpcy50b2dnbGVFeHBhbmRlZChldmVudCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKGV2ZW50LmtleSA9PT0gXCJFbnRlclwiKSB7XG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0dGhpcy5ub2RlQ2xpY2soZXZlbnQpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBpc1RlbXBsYXRlKHZhbHVlKSB7XG5cdFx0cmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG5cdH1cblxuXHRwdWJsaWMgaXNQcm9qZWN0ZWQoKSB7XG5cdFx0cmV0dXJuIHRoaXMudHJlZVZpZXdTZXJ2aWNlLmNvbnRlbnRQcm9qZWN0ZWQ7XG5cdH1cbn1cbiJdfQ==
410
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmVldmlldy90cmVlLW5vZGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBSVosV0FBVyxFQUVYLE1BQU0sZUFBZSxDQUFDOzs7OztBQTZHdkIsTUFBTSxPQUFPLGlCQUFpQjtJQTBEN0IsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBeEQzQyxPQUFFLEdBQUcsYUFBYSxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1FBQ3RELFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWpCLFFBQUcsR0FBRyxDQUFDLENBQUM7UUFDUixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBRS9COzs7V0FHRztRQUNNLFVBQUssR0FBRyxDQUFDLENBQUM7UUE2QlQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFDNUMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFDM0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7SUFNQSxDQUFDO0lBcEN4RDs7O09BR0c7SUFDSCxJQUFhLElBQUksQ0FBQyxJQUFVO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWxCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFD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S0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQU1HLEtBQUs7c0JBQWIsS0FBSztnQkFNTyxJQUFJO3NCQUFoQixLQUFLO2dCQXVCSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q29tcG9uZW50LFxuXHRJbnB1dCxcblx0T3V0cHV0LFxuXHRFdmVudEVtaXR0ZXIsXG5cdE9uSW5pdCxcblx0T25EZXN0cm95LFxuXHRBZnRlckNvbnRlbnRJbml0LFxuXHRUZW1wbGF0ZVJlZixcblx0QWZ0ZXJDb250ZW50Q2hlY2tlZFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFRyZWVWaWV3U2VydmljZSB9IGZyb20gXCIuL3RyZWV2aWV3LnNlcnZpY2VcIjtcbmltcG9ydCB7IEV2ZW50T25Ob2RlLCBOb2RlIH0gZnJvbSBcIi4vdHJlZS1ub2RlLnR5cGVzXCI7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJjZHMtdHJlZS1ub2RlXCIsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PGRpdlxuXHRcdFx0W2lkXT1cImlkXCJcblx0XHRcdGNsYXNzPVwiY2RzLS10cmVlLW5vZGVcIlxuXHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHQnY2RzLS10cmVlLW5vZGUtLWFjdGl2ZSc6IGFjdGl2ZSxcblx0XHRcdFx0J2Nkcy0tdHJlZS1ub2RlLS1kaXNhYmxlZCc6IGRpc2FibGVkLFxuXHRcdFx0XHQnY2RzLS10cmVlLW5vZGUtLXNlbGVjdGVkJzogc2VsZWN0ZWQsXG5cdFx0XHRcdCdjZHMtLXRyZWUtbGVhZi1ub2RlJzogIWNoaWxkcmVuLmxlbmd0aCxcblx0XHRcdFx0J2Nkcy0tdHJlZS1wYXJlbnQtbm9kZSc6IGNoaWxkcmVuLmxlbmd0aCxcblx0XHRcdFx0J2Nkcy0tdHJlZS1ub2RlLS13aXRoLWljb24nOiBpY29uXG5cdFx0XHR9XCJcblx0XHRcdFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWQgfHwgbnVsbFwiXG5cdFx0XHRbYXR0ci5hcmlhLWN1cnJlbnRdPVwiYWN0aXZlIHx8IG51bGxcIlxuXHRcdFx0W2F0dHIuYXJpYS1zZWxlY3RlZF09XCJkaXNhYmxlZCA/IG51bGwgOiBzZWxlY3RlZFwiXG5cdFx0XHRbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcblx0XHRcdHJvbGU9XCJ0cmVlaXRlbVwiXG5cdFx0XHRbYXR0ci50YWJpbmRleF09XCJzZWxlY3RlZCA/IDAgOiAtMVwiXG5cdFx0XHQoZm9jdXMpPVwiZW1pdEZvY3VzRXZlbnQoJGV2ZW50KVwiXG5cdFx0XHQoYmx1cik9XCJlbWl0Qmx1ckV2ZW50KCRldmVudClcIlxuXHRcdFx0KGtleWRvd24pPVwibmF2aWdhdGVUcmVlKCRldmVudClcIj5cblx0XHRcdDxkaXZcblx0XHRcdFx0Km5nSWY9XCIhY2hpbGRyZW4ubGVuZ3RoXCJcblx0XHRcdFx0Y2xhc3M9XCJjZHMtLXRyZWUtbm9kZV9fbGFiZWxcIlxuXHRcdFx0XHRbc3R5bGUucGFkZGluZy1pbmxpbmUtc3RhcnQucmVtXT1cIm9mZnNldFwiXG5cdFx0XHRcdFtzdHlsZS5tYXJnaW4taW5saW5lLXN0YXJ0LnJlbV09XCItb2Zmc2V0XCJcblx0XHRcdFx0KGNsaWNrKT1cIm5vZGVDbGljaygkZXZlbnQpXCI+XG5cdFx0XHRcdDwhLS0gSWNvbiAtLT5cblx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImljb24gJiYgIWlzVGVtcGxhdGUoaWNvbilcIj5cblx0XHRcdFx0XHQ8c3ZnXG5cdFx0XHRcdFx0XHRjbGFzcz1cImNkcy0tdHJlZS1ub2RlX19pY29uXCJcblx0XHRcdFx0XHRcdFtjZHNJY29uXT1cImljb25cIlxuXHRcdFx0XHRcdFx0c2l6ZT1cIjE2XCI+XG5cdFx0XHRcdFx0PC9zdmc+XG5cdFx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1RlbXBsYXRlKGljb24pXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWNvblwiPjwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZShsYWJlbClcIj57e2xhYmVsfX08L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0PG5nLXRlbXBsYXRlXG5cdFx0XHRcdFx0Km5nSWY9XCJpc1RlbXBsYXRlKGxhYmVsKVwiXG5cdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxcIlxuXHRcdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogbGFiZWxDb250ZXh0IH1cIj5cblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdlxuXHRcdFx0XHQqbmdJZj1cImNoaWxkcmVuLmxlbmd0aFwiXG5cdFx0XHRcdGNsYXNzPVwiY2RzLS10cmVlLW5vZGVfX2xhYmVsXCJcblx0XHRcdFx0W3N0eWxlLnBhZGRpbmctaW5saW5lLXN0YXJ0LnJlbV09XCJvZmZzZXRcIlxuXHRcdFx0XHRbc3R5bGUubWFyZ2luLWlubGluZS1zdGFydC5yZW1dPVwiLW9mZnNldFwiXG5cdFx0XHRcdHJvbGU9XCJncm91cFwiXG5cdFx0XHRcdChjbGljayk9XCJub2RlQ2xpY2soJGV2ZW50KVwiPlxuXHRcdFx0XHQ8c3BhblxuXHRcdFx0XHRcdGNsYXNzPVwiY2RzLS10cmVlLXBhcmVudC1ub2RlX190b2dnbGVcIlxuXHRcdFx0XHRcdFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IG51bGxcIlxuXHRcdFx0XHRcdChjbGljayk9XCJ0b2dnbGVFeHBhbmRlZCgkZXZlbnQpXCI+XG5cdFx0XHRcdFx0PHN2Z1xuXHRcdFx0XHRcdFx0Y2xhc3M9XCJjZHMtLXRyZWUtcGFyZW50LW5vZGVfX3RvZ2dsZS1pY29uXCJcblx0XHRcdFx0XHRcdFtuZ0NsYXNzXT1cInsnY2RzLS10cmVlLXBhcmVudC1ub2RlX190b2dnbGUtaWNvbi0tZXhwYW5kZWQnIDogZXhwYW5kZWR9XCJcblx0XHRcdFx0XHRcdGlibUljb249XCJjYXJldC0tZG93blwiXG5cdFx0XHRcdFx0XHRzaXplPVwiMTZcIj5cblx0XHRcdFx0XHQ8L3N2Zz5cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cImNkcy0tdHJlZS1ub2RlX19sYWJlbF9fZGV0YWlsc1wiPlxuXHRcdFx0XHRcdDwhLS0gSWNvbiAtLT5cblx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiaWNvbiAmJiAhaXNUZW1wbGF0ZShpY29uKVwiPlxuXHRcdFx0XHRcdFx0PHN2Z1xuXHRcdFx0XHRcdFx0XHRjbGFzcz1cImNkcy0tdHJlZS1ub2RlX19pY29uXCJcblx0XHRcdFx0XHRcdFx0W2Nkc0ljb25dPVwiaWNvblwiXG5cdFx0XHRcdFx0XHRcdHNpemU9XCIxNlwiPlxuXHRcdFx0XHRcdFx0PC9zdmc+XG5cdFx0XHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlXG5cdFx0XHRcdFx0XHQqbmdJZj1cImlzVGVtcGxhdGUoaWNvbilcIlxuXHRcdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiaWNvblwiXG5cdFx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGljb25Db250ZXh0IH1cIj5cblx0XHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZShsYWJlbClcIj57e2xhYmVsfX08L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHQ8bmctdGVtcGxhdGVcblx0XHRcdFx0XHRcdCpuZ0lmPVwiaXNUZW1wbGF0ZShsYWJlbClcIlxuXHRcdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxcIlxuXHRcdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBsYWJlbENvbnRleHQgfVwiPlxuXHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdlxuXHRcdFx0XHQqbmdJZj1cImV4cGFuZGVkXCJcblx0XHRcdFx0cm9sZT1cImdyb3VwXCJcblx0XHRcdFx0Y2xhc3M9XCJjZHMtLXRyZWUtbm9kZV9fY2hpbGRyZW5cIj5cblx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUHJvamVjdGVkKCk7IGVsc2Ugbm90UHJvamVjdGVkXCI+XG5cdFx0XHRcdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0PG5nLXRlbXBsYXRlICNub3RQcm9qZWN0ZWQ+XG5cdFx0XHRcdFx0PGNkcy10cmVlLW5vZGVcblx0XHRcdFx0XHRcdCpuZ0Zvcj1cImxldCBjaGlsZE5vZGUgb2YgY2hpbGRyZW5cIlxuXHRcdFx0XHRcdFx0W25vZGVdPVwiY2hpbGROb2RlXCJcblx0XHRcdFx0XHRcdFtkZXB0aF09XCJkZXB0aCArIDFcIlxuXHRcdFx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG5cdFx0XHRcdFx0PC9jZHMtdHJlZS1ub2RlPlxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdGBcbn0pXG5leHBvcnQgY2xhc3MgVHJlZU5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkluaXQsIE9uRGVzdHJveSB7XG5cdHN0YXRpYyB0cmVlTm9kZUNvdW50ID0gMDtcblx0QElucHV0KCkgaWQgPSBgdHJlZS1ub2RlLSR7VHJlZU5vZGVDb21wb25lbnQudHJlZU5vZGVDb3VudCsrfWA7XG5cdEBJbnB1dCgpIGFjdGl2ZSA9IGZhbHNlO1xuXHRASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXHRASW5wdXQoKSBzZWxlY3RhYmxlID0gdHJ1ZTtcblx0QElucHV0KCkgZXhwYW5kZWQgPSBmYWxzZTtcblx0QElucHV0KCkgbGFiZWw6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cdEBJbnB1dCgpIGxhYmVsQ29udGV4dDogYW55O1xuXHRASW5wdXQoKSBzZWxlY3RlZCA9IGZhbHNlO1xuXHRASW5wdXQoKSB2YWx1ZTtcblx0QElucHV0KCkgaWNvbjogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pjtcblx0QElucHV0KCkgaWNvbkNvbnRleHQ6IGFueTtcblx0QElucHV0KCkgZ2FwID0gMDtcblx0QElucHV0KCkgY2hpbGRyZW46IE5vZGVbXSA9IFtdO1xuXG5cdC8qKlxuXHQgKiBEZXRlcm1pbmVzIHRoZSBkZXB0aCBvZiB0aGUgbm9kZVxuXHQgKiBDYWxjdWxhdGVkIGJ5IGRlZmF1bHQgd2hlbiBwYXNzaW5nIGBOb2RlYCBhcnJheSB0byBgVHJlZVZpZXdDb21wb25lbnRgLCBtYW51YWwgZW50cnkgcmVxdWlyZWQgb3RoZXJ3aXNlXG5cdCAqL1xuXHRASW5wdXQoKSBkZXB0aCA9IDA7XG5cblx0LyoqXG5cdCAqIFNpbXBsZSB3YXkgdG8gc2V0IGFsbCBhdHRyaWJ1dGVzIG9mIE5vZGUgY29tcG9uZW50IHZpYSBub2RlIG9iamVjdFxuXHQgKiBXb3VsZCBzaW1wbGlmeSBzZXR0aW5nIGNvbXBvbmVudCBhdHRyaWJ1dGVzIHdoZW4gZHluYW1pY2FsbHkgcmVuZGVyaW5nIG5vZGUuXG5cdCAqL1xuXHRASW5wdXQoKSBzZXQgbm9kZShub2RlOiBOb2RlKSB7XG5cdFx0dGhpcy5fbm9kZSA9IG5vZGU7XG5cblx0XHR0aGlzLmlkID0gbm9kZS5pZCA/PyB0aGlzLmlkO1xuXHRcdHRoaXMuYWN0aXZlID0gbm9kZS5hY3RpdmUgPz8gdGhpcy5hY3RpdmU7XG5cdFx0dGhpcy5kaXNhYmxlZCA9IG5vZGUuZGlzYWJsZWQgPz8gdGhpcy5kaXNhYmxlZDtcblx0XHR0aGlzLnNlbGVjdGFibGUgPSBub2RlLnNlbGVjdGFibGUgPz8gdGhpcy5zZWxlY3RhYmxlO1xuXHRcdHRoaXMuZXhwYW5kZWQgPSBub2RlLmV4cGFuZGVkID8/IHRoaXMuZXhwYW5kZWQ7XG5cdFx0dGhpcy5sYWJlbCA9IG5vZGUubGFiZWwgPz8gdGhpcy5sYWJlbDtcblx0XHR0aGlzLmxhYmVsQ29udGV4dCA9IG5vZGUubGFiZWxDb250ZXh0ID8/IHRoaXMubGFiZWxDb250ZXh0O1xuXHRcdHRoaXMudmFsdWUgPSBub2RlLnZhbHVlID8/IHRoaXMudmFsdWU7XG5cdFx0dGhpcy5pY29uID0gbm9kZS5pY29uID8/IHRoaXMuaWNvbjtcblx0XHR0aGlzLnNlbGVjdGVkID0gbm9kZS5zZWxlY3RlZCA/PyB0aGlzLnNlbGVjdGVkO1xuXHRcdHRoaXMuZGVwdGggPSBub2RlLmRlcHRoID8/IHRoaXMuZGVwdGg7XG5cdFx0dGhpcy5nYXAgPSBub2RlLmdhcCA/PyB0aGlzLmdhcDtcblx0XHR0aGlzLmNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbiA/PyB0aGlzLmNoaWxkcmVuO1xuXHRcdHRoaXMuaWNvbkNvbnRleHQgPSBub2RlLmljb25UZXh0ID8/IHRoaXMuaWNvbkNvbnRleHQ7XG5cdH1cblxuXHRnZXQgbm9kZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5fbm9kZTtcblx0fVxuXG5cdEBPdXRwdXQoKSBub2RlRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50T25Ob2RlPigpO1xuXHRAT3V0cHV0KCkgbm9kZUJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50T25Ob2RlPigpO1xuXHRAT3V0cHV0KCkgbm9kZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Tm9kZT4oKTtcblx0QE91dHB1dCgpIG5vZGV0b2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50T25Ob2RlPigpO1xuXG5cdG9mZnNldDtcblx0cHJpdmF0ZSBfbm9kZTtcblx0cHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHRyZWVWaWV3U2VydmljZTogVHJlZVZpZXdTZXJ2aWNlKSB7fVxuXG5cdC8qKlxuXHQgKiBDYWNsdWxhdGUgb2Zmc2V0IGZvciBtYXJnaW4vcGFkZGluZ1xuXHQgKi9cblx0bmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuXHRcdHRoaXMub2Zmc2V0ID0gdGhpcy5jYWxjdWxhdGVPZmZzZXQoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBIaWdobGlnaHQgdGhlIG5vZGVcblx0ICovXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdC8vIEhpZ2hsaWdodCB0aGUgbm9kZVxuXHRcdHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy50cmVlVmlld1NlcnZpY2Uuc2VsZWN0aW9uT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKHZhbHVlOiBNYXA8c3RyaW5nLCBOb2RlPikgPT4ge1xuXHRcdFx0dGhpcy5zZWxlY3RlZCA9IHRoaXMuc2VsZWN0YWJsZSAmJiB2YWx1ZS5oYXModGhpcy5pZCk7XG5cdFx0XHR0aGlzLmFjdGl2ZSA9IHRoaXMuc2VsZWN0YWJsZSAmJiB0aGlzLnNlbGVjdGVkO1xuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFVuc3Vic2NyaWJlIGZyb20gc3Vic2NyaXB0aW9uc1xuXHQgKi9cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cdH1cblxuXHQvKipcblx0ICogU2VsZWN0cyB0aGUgbm9kZSBhbmQgZW1pdHMgdGhlIGV2ZW50IGZyb20gdGhlIHRyZWUgdmlldyBjb21wb25lbnRcblx0ICogQHBhcmFtIGV2ZW50XG5cdCAqL1xuXHRub2RlQ2xpY2soZXZlbnQpIHtcblx0XHRpZiAoIXRoaXMuZGlzYWJsZWQpIHtcblx0XHRcdGV2ZW50LnRhcmdldC5wYXJlbnRFbGVtZW50LmZvY3VzKCk7XG5cdFx0XHRpZiAodGhpcy5zZWxlY3RhYmxlIHx8IHRoaXMuY2hpbGRyZW4ubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWQgPSB0cnVlO1xuXHRcdFx0XHR0aGlzLmFjdGl2ZSA9IHRydWU7XG5cdFx0XHRcdGNvbnN0IG5vZGUgPSB7IGlkOiB0aGlzLmlkLCBsYWJlbDogdGhpcy5sYWJlbCwgdmFsdWU6IHRoaXMudmFsdWUgfTtcblx0XHRcdFx0Ly8gUGFzc2VzIGV2ZW50IHRvIGFsbCBub2RlcyB0byB1cGRhdGUgaGlnaGxpZ2h0aW5nICYgcGFyZW50IHRvIGVtaXRcblx0XHRcdFx0dGhpcy50cmVlVmlld1NlcnZpY2Uuc2VsZWN0Tm9kZShub2RlKTtcblx0XHRcdFx0dGhpcy5ub2RlU2VsZWN0LmVtaXQobm9kZSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLnRvZ2dsZUV4cGFuZGVkKGV2ZW50KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ2FsY3VsYXRlIHRoZSBub2RlIG9mZnNldFxuXHQgKiBAcmV0dXJucyBOdW1iZXJcblx0ICovXG5cdGNhbGN1bGF0ZU9mZnNldCgpIHtcblx0XHQvLyBQYXJlbnQgbm9kZSB3aXRoIGljb25cblx0XHRpZiAodGhpcy5jaGlsZHJlbi5sZW5ndGggJiYgdGhpcy5pY29uKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5kZXB0aCArIDEgKyB0aGlzLmRlcHRoICogMC41O1xuXHRcdH1cblxuXHRcdC8vIHBhcmVudCBub2RlIHdpdGhvdXQgaWNvblxuXHRcdGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZGVwdGggKyAxO1xuXHRcdH1cblxuXHRcdC8vIGxlYWYgbm9kZSB3aXRoIGljb25cblx0XHRpZiAodGhpcy5pY29uKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5kZXB0aCArIDIgKyB0aGlzLmRlcHRoICogMC41O1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLmRlcHRoICsgdGhpcy5nYXAgKyAyLjU7XG5cdH1cblxuXHRlbWl0Rm9jdXNFdmVudChldmVudCkge1xuXHRcdGNvbnN0IG5vZGUgPSB7IGlkOiB0aGlzLmlkLCBsYWJlbDogdGhpcy5sYWJlbCwgdmFsdWU6IHRoaXMudmFsdWUgfVxuXHRcdHRoaXMubm9kZUZvY3VzLmVtaXQoeyBub2RlLCBldmVudCB9KTtcblx0XHR0aGlzLnRyZWVWaWV3U2VydmljZS5mb2N1c05vZGUobm9kZSk7XG5cdH1cblxuXHRlbWl0Qmx1ckV2ZW50KGV2ZW50KSB7XG5cdFx0dGhpcy5ub2RlQmx1ci5lbWl0KHsgbm9kZTogeyBpZDogdGhpcy5pZCwgbGFiZWw6IHRoaXMubGFiZWwsIHZhbHVlOiB0aGlzLnZhbHVlIH0sIGV2ZW50IH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEV4cGFuZCBjaGlsZHJlbiBpZiBub3QgZGlzYWJsZWRcblx0ICogQHBhcmFtIGV2ZW50OiBFdmVudFxuXHQgKi9cblx0dG9nZ2xlRXhwYW5kZWQoZXZlbnQpIHtcblx0XHRpZiAoIXRoaXMuZGlzYWJsZWQpIHtcblx0XHRcdHRoaXMubm9kZXRvZ2dsZS5lbWl0KHsgbm9kZTogeyBpZDogdGhpcy5pZCwgbGFiZWw6IHRoaXMubGFiZWwsIHZhbHVlOiB0aGlzLnZhbHVlIH0sIGV2ZW50IH0pO1xuXHRcdFx0dGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuXHRcdFx0Ly8gUHJldmVudCBzZWxlY3Rpb24gb2YgdGhlIG5vZGVcblx0XHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBNYW5hZ2VzIHRoZSBrZXlib2FyZCBhY2Nlc3NpYmlsaXR5IGZvciBjaGlsZHJlbiBleHBhbnNpb24gJiBzZWxlY3Rpb25cblx0ICovXG5cdG5hdmlnYXRlVHJlZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuXHRcdGlmIChldmVudC5rZXkgPT09IFwiQXJyb3dMZWZ0XCIgfHwgZXZlbnQua2V5ID09PSBcIkFycm93UmlnaHRcIiB8fCBldmVudC5rZXkgPT09IFwiRW50ZXJcIikge1xuXHRcdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0fVxuXHRcdC8vIFVuZXhwYW5kXG5cdFx0aWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd0xlZnRcIikge1xuXHRcdFx0aWYgKHRoaXMuZXhwYW5kZWQgJiYgdGhpcy5jaGlsZHJlbikge1xuXHRcdFx0XHR0aGlzLnRvZ2dsZUV4cGFuZGVkKGV2ZW50KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAoZXZlbnQua2V5ID09PSBcIkFycm93UmlnaHRcIikge1xuXHRcdFx0aWYgKCF0aGlzLmV4cGFuZGVkICYmIHRoaXMuY2hpbGRyZW4pIHtcblx0XHRcdFx0dGhpcy50b2dnbGVFeHBhbmRlZChldmVudCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKGV2ZW50LmtleSA9PT0gXCJFbnRlclwiKSB7XG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0dGhpcy5ub2RlQ2xpY2soZXZlbnQpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBpc1RlbXBsYXRlKHZhbHVlKSB7XG5cdFx0cmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG5cdH1cblxuXHRwdWJsaWMgaXNQcm9qZWN0ZWQoKSB7XG5cdFx0cmV0dXJuIHRoaXMudHJlZVZpZXdTZXJ2aWNlLmNvbnRlbnRQcm9qZWN0ZWQ7XG5cdH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyZWV2aWV3L3RyZWUtbm9kZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGUge1xuXHRsYWJlbDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pjtcblx0bGFiZWxDb250ZXh0PzogYW55O1xuXHR2YWx1ZT86IGFueTtcblx0aWQ/OiBzdHJpbmc7XG5cdGFjdGl2ZT86IGJvb2xlYW47XG5cdGRpc2FibGVkPzogYm9vbGVhbjtcblx0Ly8gc2VsZWN0YWJsZSBpcyBvbmx5IHZhbGlkIGZvciBub2RlcyB3aXRoIGNoaWxkcmVuLiBJZiB0cnVlLCB0aGUgbm9kZSB3b24ndCBiZWNvbWUgc2VsZWN0ZWQgYW5kIGlmIGNsaWNrZWQgaXQgd291bGQgb25seSBleHBhbmQvY29tcHJlc3MgaXRzZWxmXG5cdHNlbGVjdGFibGU/OiBib29sZWFuO1xuXHRleHBhbmRlZD86IGJvb2xlYW47XG5cdHNlbGVjdGVkPzogYm9vbGVhbjtcblx0aWNvbj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cdGljb25Db250ZXh0PzogYW55O1xuXHRnYXA/OiBudW1iZXI7XG5cdGNoaWxkcmVuPzogTm9kZVtdO1xuXHRba2V5OiBzdHJpbmddOiBhbnk7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyZWV2aWV3L3RyZWUtbm9kZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGUge1xuXHRsYWJlbDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pjtcblx0bGFiZWxDb250ZXh0PzogYW55O1xuXHR2YWx1ZT86IGFueTtcblx0aWQ/OiBzdHJpbmc7XG5cdGFjdGl2ZT86IGJvb2xlYW47XG5cdGRpc2FibGVkPzogYm9vbGVhbjtcblx0Ly8gc2VsZWN0YWJsZSBpcyBvbmx5IHZhbGlkIGZvciBub2RlcyB3aXRoIGNoaWxkcmVuLiBJZiB0cnVlLCB0aGUgbm9kZSB3b24ndCBiZWNvbWUgc2VsZWN0ZWQgYW5kIGlmIGNsaWNrZWQgaXQgd291bGQgb25seSBleHBhbmQvY29tcHJlc3MgaXRzZWxmXG5cdHNlbGVjdGFibGU/OiBib29sZWFuO1xuXHRleHBhbmRlZD86IGJvb2xlYW47XG5cdHNlbGVjdGVkPzogYm9vbGVhbjtcblx0aWNvbj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cdGljb25Db250ZXh0PzogYW55O1xuXHRnYXA/OiBudW1iZXI7XG5cdGNoaWxkcmVuPzogTm9kZVtdO1xuXHRba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRPbk5vZGUge1xuXHRub2RlOiBOb2RlO1xuXHRldmVudDogRXZlbnQ7XG59XG4iXX0=
@@ -25,6 +25,7 @@ export class TreeViewComponent {
25
25
  */
26
26
  this.size = "sm";
27
27
  this.select = new EventEmitter();
28
+ this.toggle = new EventEmitter();
28
29
  this._tree = [];
29
30
  }
30
31
  /**
@@ -86,6 +87,16 @@ export class TreeViewComponent {
86
87
  this.treeWalker.nextNode()?.focus();
87
88
  }
88
89
  }
90
+ /**
91
+ * Propagate node toggle event
92
+ * @param eventOnNode - EventOnNode
93
+ */
94
+ onNodeToggle(eventOnNode) {
95
+ if (!eventOnNode) {
96
+ return;
97
+ }
98
+ this.toggle.emit(eventOnNode.node);
99
+ }
89
100
  /**
90
101
  * Node focus change
91
102
  * @param node - Node
@@ -116,7 +127,7 @@ export class TreeViewComponent {
116
127
  }
117
128
  TreeViewComponent.treeViewCount = 0;
118
129
  TreeViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeViewComponent, deps: [{ token: DOCUMENT }, { token: i1.TreeViewService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
119
- TreeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TreeViewComponent, selector: "cds-tree-view", inputs: { tree: "tree", id: "id", label: "label", labelContext: "labelContext", size: "size", isMultiSelect: "isMultiSelect" }, outputs: { select: "select" }, providers: [TreeViewService], viewQueries: [{ propertyName: "root", first: true, predicate: ["treeWrapper"], descendants: true }], ngImport: i0, template: `
130
+ TreeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TreeViewComponent, selector: "cds-tree-view", inputs: { tree: "tree", id: "id", label: "label", labelContext: "labelContext", size: "size", isMultiSelect: "isMultiSelect" }, outputs: { select: "select", toggle: "toggle" }, providers: [TreeViewService], viewQueries: [{ propertyName: "root", first: true, predicate: ["treeWrapper"], descendants: true }], ngImport: i0, template: `
120
131
  <label
121
132
  *ngIf="label"
122
133
  [id]="id"
@@ -146,7 +157,8 @@ TreeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
146
157
  <ng-template #notProjected>
147
158
  <cds-tree-node
148
159
  *ngFor="let node of tree"
149
- [node]="node">
160
+ [node]="node"
161
+ (nodetoggle)="onNodeToggle($event)">
150
162
  </cds-tree-node>
151
163
  </ng-template>
152
164
  </div>
@@ -185,7 +197,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
185
197
  <ng-template #notProjected>
186
198
  <cds-tree-node
187
199
  *ngFor="let node of tree"
188
- [node]="node">
200
+ [node]="node"
201
+ (nodetoggle)="onNodeToggle($event)">
189
202
  </cds-tree-node>
190
203
  </ng-template>
191
204
  </div>
@@ -209,8 +222,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
209
222
  type: Input
210
223
  }], select: [{
211
224
  type: Output
225
+ }], toggle: [{
226
+ type: Output
212
227
  }], root: [{
213
228
  type: ViewChild,
214
229
  args: ["treeWrapper"]
215
230
  }] } });
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyZWV2aWV3L3RyZWV2aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNOLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxZQUFZLEVBRVosTUFBTSxFQUNOLFNBQVMsRUFJVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBRXJEOzs7Ozs7OztHQVFHO0FBd0NILE1BQU0sT0FBTyxpQkFBaUI7SUEyQzdCLFlBQzJCLFFBQWtCLEVBQ3JDLGVBQWdDLEVBQy9CLFVBQXNCO1FBRkosYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNyQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTlCdEIsT0FBRSxHQUFHLGFBQWEsaUJBQWlCLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztRQVMvRDs7V0FFRztRQUNNLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBUXhCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUk3QyxVQUFLLEdBQVcsRUFBRSxDQUFDO0lBT3hCLENBQUM7SUE5Q0o7OztPQUdHO0lBQ0gsSUFBYSxJQUFJLENBQUMsU0FBaUI7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksSUFBSTtRQUNQLE9BQU8sSUFBSSxD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LE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixVQUFVLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDbkIsQ0FBQzs7QUFoSE0sK0JBQWEsR0FBRyxDQUFDLENBQUM7OEdBZGIsaUJBQWlCLGtCQTRDcEIsUUFBUTtrR0E1Q0wsaUJBQWlCLHVNQUZsQixDQUFDLGVBQWUsQ0FBQywrSEFuQ2xCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBa0NUOzJGQUdXLGlCQUFpQjtrQkF2QzdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWtDVDtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzVCOzswQkE2Q0UsTUFBTTsyQkFBQyxRQUFRO21HQXZDSixJQUFJO3NCQUFoQixLQUFLO2dCQVdHLEVBQUU7c0JBQVYsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsWUFBWTtzQkFBcEIsS0FBSztnQkFJRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSU8sYUFBYTtzQkFBekIsS0FBSztnQkFJSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ21CLElBQUk7c0JBQTdCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtcblx0Q29tcG9uZW50LFxuXHRJbnB1dCxcblx0T3V0cHV0LFxuXHRUZW1wbGF0ZVJlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRBZnRlclZpZXdJbml0LFxuXHRJbmplY3QsXG5cdFZpZXdDaGlsZCxcblx0RWxlbWVudFJlZixcblx0T25Jbml0LFxuXHRPbkRlc3Ryb3lcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSBcIi4vdHJlZS1ub2RlLnR5cGVzXCI7XG5pbXBvcnQgeyBUcmVlVmlld1NlcnZpY2UgfSBmcm9tIFwiLi90cmVldmlldy5zZXJ2aWNlXCI7XG5cbi8qKlxuICogR2V0IHN0YXJ0ZWQgd2l0aCBpbXBvcnRpbmcgdGhlIG1vZHVsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBUcmVldmlld01vZHVsZSB9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuICogYGBgXG4gKlxuICogW1NlZSBkZW1vXSguLi8uLi8/cGF0aD0vc3RvcnkvY29tcG9uZW50cy10cmVlLXZpZXctLWJhc2ljKVxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwiY2RzLXRyZWUtdmlld1wiLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxsYWJlbFxuXHRcdFx0Km5nSWY9XCJsYWJlbFwiXG5cdFx0XHRbaWRdPVwiaWRcIlxuXHRcdFx0Y2xhc3M9XCJjZHMtLWxhYmVsXCI+XG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUobGFiZWwpXCI+e3tsYWJlbH19PC9uZy1jb250YWluZXI+XG5cdFx0XHQ8bmctdGVtcGxhdGVcblx0XHRcdFx0Km5nSWY9XCJpc1RlbXBsYXRlKGxhYmVsKVwiXG5cdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsXCJcblx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBsYWJlbENvbnRleHQgfVwiPlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L2xhYmVsPlxuXHRcdDxkaXZcblx0XHRcdGNsYXNzPVwiY2RzLS10cmVlXCJcblx0XHRcdFtuZ0NsYXNzXT1cIntcblx0XHRcdFx0J2Nkcy0tdHJlZS0tc20nOiBzaXplID09PSAnc20nLFxuXHRcdFx0XHQnY2RzLS10cmVlLS14cyc6IHNpemUgPT09ICd4cydcblx0XHRcdH1cIlxuXHRcdFx0W2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbCA/IGxhYmVsIDogbnVsbFwiXG5cdFx0XHRbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiIWxhYmVsID8gaWQgOiBudWxsXCJcblx0XHRcdFthdHRyLmFyaWEtbXVsdGlzZWxlY3RhYmxlXT1cImlzTXVsdGlTZWxlY3QgfHwgbnVsbFwiXG5cdFx0XHRyb2xlPVwidHJlZVwiXG5cdFx0XHQoa2V5ZG93bik9XCJuYXZpZ2F0ZVRyZWUoJGV2ZW50KVwiXG5cdFx0XHQjdHJlZVdyYXBwZXI+XG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiaXNQcm9qZWN0ZWQoKTsgZWxzZSBub3RQcm9qZWN0ZWRcIj5cblx0XHRcdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgI25vdFByb2plY3RlZD5cblx0XHRcdFx0PGNkcy10cmVlLW5vZGVcblx0XHRcdFx0XHQqbmdGb3I9XCJsZXQgbm9kZSBvZiB0cmVlXCJcblx0XHRcdFx0XHRbbm9kZV09XCJub2RlXCI+XG5cdFx0XHRcdDwvY2RzLXRyZWUtbm9kZT5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PC9kaXY+XG5cdGAsXG5cdHByb3ZpZGVyczogW1RyZWVWaWV3U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgVHJlZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveSB7XG5cdC8qKlxuXHQgKiBQYXNzIGBOb2RlW11gIGFycmF5IHRvIGhhdmUgdHJlZSB2aWV3IHJlbmRlciB0aGUgbm9kZXNcblx0ICogUGFzc2luZyB2YWx1ZSB3aWxsIGRpc3JlZ2FyZCBwcm9qZWN0ZWQgY29udGVudFxuXHQgKi9cblx0QElucHV0KCkgc2V0IHRyZWUodHJlZU5vZGVzOiBOb2RlW10pIHtcblx0XHR0aGlzLl90cmVlID0gdHJlZU5vZGVzLm1hcCgobm9kZSkgPT4gdGhpcy5jb3B5Tm9kZShub2RlKSk7XG5cdFx0dGhpcy50cmVlVmlld1NlcnZpY2UuY29udGVudFByb2plY3RlZCA9IGZhbHNlO1xuXHR9XG5cblx0Z2V0IHRyZWUoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX3RyZWU7XG5cdH1cblxuXHRzdGF0aWMgdHJlZVZpZXdDb3VudCA9IDA7XG5cblx0QElucHV0KCkgaWQgPSBgdHJlZS12aWV3LSR7VHJlZVZpZXdDb21wb25lbnQudHJlZVZpZXdDb3VudCsrfWA7XG5cdC8qKlxuXHQgKiBUcmVlIHZpZXcgbGFiZWxcblx0ICovXG5cdEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogT3B0aW9uYWwgY29udGV4dCBmb3IgbGFiZWwgaWYgaXQncyBhIHRlbXBsYXRlXG5cdCAqL1xuXHRASW5wdXQoKSBsYWJlbENvbnRleHQ6IGFueTtcblx0LyoqXG5cdCAqIFNwZWNpZnkgdGhlIHNpemUgb2YgdGhlIGxpc3QgaXRlbXMgaW4gdGhlIHRyZWVcblx0ICovXG5cdEBJbnB1dCgpIHNpemU6IFwieHNcIiB8IFwic21cIiA9IFwic21cIjtcblx0LyoqXG5cdCAqICoqRXhwZXJpbWVudGFsKiogLSBFbmFibGUgdG8gc2VsZWN0IG11bHRpcGxlIG5vZGVzXG5cdCAqL1xuXHRASW5wdXQoKSBzZXQgaXNNdWx0aVNlbGVjdChpc011bHRpOiBib29sZWFuKSB7XG5cdFx0dGhpcy50cmVlVmlld1NlcnZpY2UuaXNNdWx0aVNlbGVjdCA9IGlzTXVsdGk7XG5cdH1cblxuXHRAT3V0cHV0KCkgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxOb2RlIHwgTm9kZVtdPigpO1xuXHRAVmlld0NoaWxkKFwidHJlZVdyYXBwZXJcIikgcm9vdDogRWxlbWVudFJlZjtcblxuXHRwcml2YXRlIHRyZWVXYWxrZXI6IFRyZWVXYWxrZXI7XG5cdHByaXZhdGUgX3RyZWU6IE5vZGVbXSA9IFtdO1xuXHRwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuXHRcdHB1YmxpYyB0cmVlVmlld1NlcnZpY2U6IFRyZWVWaWV3U2VydmljZSxcblx0XHRwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcblx0KSB7fVxuXG5cdC8qKlxuXHQgKiBTdWJzY3JpYmUgZm9yIG5vZGUgc2VsZWN0aW9uXG5cdCAqL1xuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMudHJlZVZpZXdTZXJ2aWNlLnNlbGVjdGlvbk9ic2VydmFibGUuc3Vic2NyaWJlKChub2Rlc01hcDogTWFwPHN0cmluZywgTm9kZT4pID0+IHtcblx0XHRcdC8vIEdldCBhbGwgdmFsdWVzIGZyb20gdGhlIG1hcCB0byBlbWl0XG5cdFx0XHRjb25zdCBub2RlcyA9IFsuLi5ub2Rlc01hcC52YWx1ZXMoKV07XG5cblx0XHRcdHRoaXMuc2VsZWN0LmVtaXQodGhpcy50cmVlVmlld1NlcnZpY2UuaXNNdWx0aVNlbGVjdCA/IG5vZGVzIDogbm9kZXNbMF0pO1xuXHRcdH0pO1xuXHRcdHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRyZWVWaWV3U2VydmljZS5mb2N1c05vZGVPYnNlcnZhYmxlLnN1YnNjcmliZShub2RlID0+IHRoaXMub25Ob2RlRm9jdXNDaGFuZ2Uobm9kZSkpKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cdH1cblxuXHQvKipcblx0ICogSW5pdGlhbGl6ZSB0cmVlIHdhbGtlciB0byBzdXBwb3J0IGtleWJvYXJkIG5hdmlnYXRpb25cblx0ICovXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLnRyZWVXYWxrZXIgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIodGhpcy5yb290Lm5hdGl2ZUVsZW1lbnQsIE5vZGVGaWx0ZXIuU0hPV19FTEVNRU5ULCB7XG5cdFx0XHRhY2NlcHROb2RlOiBmdW5jdGlvbiAobm9kZTogSFRNTEVsZW1lbnQpIHtcblx0XHRcdFx0aWYgKG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKGBjZHMtLXRyZWUtbm9kZS0tZGlzYWJsZWRgKSkge1xuXHRcdFx0XHRcdHJldHVybiBOb2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKG5vZGUubWF0Y2hlcyhgZGl2LmNkcy0tdHJlZS1ub2RlYCkpIHtcblx0XHRcdFx0XHRyZXR1cm4gTm9kZUZpbHRlci5GSUxURVJfQUNDRVBUO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBOb2RlRmlsdGVyLkZJTFRFUl9TS0lQO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIE5hdmlnYXRlIHRyZWUgdXNpbmcgdHJlZSB3YWxrZXJcblx0ICogQHBhcmFtIGV2ZW50IC0gS2V5Ym9hcmRFdmVudFxuXHQgKi9cblx0bmF2aWdhdGVUcmVlKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG5cdFx0aWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd1VwXCIpIHtcblx0XHRcdCh0aGlzLnRyZWVXYWxrZXIucHJldmlvdXNOb2RlKCkgYXMgSFRNTEVsZW1lbnQpPy5mb2N1cygpO1xuXHRcdH1cblxuXHRcdGlmIChldmVudC5rZXkgPT09IFwiQXJyb3dEb3duXCIpIHtcblx0XHRcdCh0aGlzLnRyZWVXYWxrZXIubmV4dE5vZGUoKSBhcyBIVE1MRWxlbWVudCk/LmZvY3VzKCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIE5vZGUgZm9jdXMgY2hhbmdlXG5cdCAqIEBwYXJhbSBub2RlIC0gTm9kZVxuXHQgKi9cblx0b25Ob2RlRm9jdXNDaGFuZ2Uobm9kZTogTm9kZSkge1xuXHRcdGlmICghbm9kZSkge1xuXHRcdFx0Ly8gaWYgZm9yIHNvbWUgcmVhc29uIHRoZSBmb2N1c2VkIG5vZGUgaXMgbm90IGRlZmluZWQgd2UgZmFsbGJhY2sgb24gdGhlIHJvb3QgZWxlbWVudCBvZiB0aGUgdHJlZXZpZXdcblx0XHRcdHRoaXMudHJlZVdhbGtlci5jdXJyZW50Tm9kZSA9IHRoaXMudHJlZVdhbGtlci5yb290O1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHQvLyBVcGRhdGUgY3VycmVudCBub2RlIGJhc2VkIG9uIGZvY3VzIGNoYW5nZSB0byBoYXZlIGEgYmV0dGVyIGtleWJvYXJkIG5hdmlnYXRpb24gZXhwZXJpZW5jZVxuXHRcdHRoaXMudHJlZVdhbGtlci5jdXJyZW50Tm9kZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke0NTUy5lc2NhcGUobm9kZS5pZCl9YCk7XG5cdH1cblxuXHRwdWJsaWMgaXNUZW1wbGF0ZSh2YWx1ZSkge1xuXHRcdHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuXHR9XG5cblx0cHVibGljIGlzUHJvamVjdGVkKCkge1xuXHRcdHJldHVybiB0aGlzLnRyZWVWaWV3U2VydmljZS5jb250ZW50UHJvamVjdGVkO1xuXHR9XG5cblx0cHJpdmF0ZSBjb3B5Tm9kZShub2RlOiBOb2RlKTogTm9kZSB7XG5cdFx0Ly8gbWFraW5nIGEgcmVjdXJzaXZlIHNoYWxsb3cgY29weSB0byBhdm9pZCBwZXJmb3JtYW5jZSBpc3N1ZXMgd2hlbiBkZWVwbHkgY2xvbmluZyB0ZW1wbGF0ZVJlZnMgaWYgZGVmaW5lZCBpbiB0aGUgbm9kZVxuXHRcdGNvbnN0IGNvcGllZE5vZGUgPSBPYmplY3QuYXNzaWduKHt9LCBub2RlKTtcblx0XHRpZiAobm9kZS5jaGlsZHJlbikge1xuXHRcdCAgY29waWVkTm9kZS5jaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW4ubWFwKGNoaWxkID0+IHRoaXMuY29weU5vZGUoY2hpbGQpKTtcblx0XHR9XG5cdFx0cmV0dXJuIGNvcGllZE5vZGU7XG5cdH1cbn1cbiJdfQ==
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyZWV2aWV3L3RyZWV2aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNOLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxZQUFZLEVBRVosTUFBTSxFQUNOLFNBQVMsRUFJVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBRXJEOzs7Ozs7OztHQVFHO0FBeUNILE1BQU0sT0FBTyxpQkFBaUI7SUE0QzdCLFlBQzJCLFFBQWtCLEVBQ3JDLGVBQWdDLEVBQy9CLFVBQXNCO1FBRkosYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNyQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQS9CdEIsT0FBRSxHQUFHLGFBQWEsaUJBQWlCLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztRQVMvRDs7V0FFRztRQUNNLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBUXhCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUMzQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUlwQyxVQUFLLEdBQVcsRUFBRSxDQUFDO0lBT3hCLENBQUM7SUEvQ0o7OztPQUdHO0lBQ0gsSUFBYSxJQUFJLENBQUMsU0FBaUI7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksSUFBSTtRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNuQixDQUFDO0lBaUJEOztPQUVHO0lBQ0gsSUFBYSxhQUFhLENBQUMsT0FBZ0I7UUFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO0lBQzlDLENBQUM7SUFnQkQ7O09BRUc7SUFDSCxRQUFRO1FBQ1AsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQTJCLEVBQUUsRUFBRTtZQUN0RyxzQ0FBc0M7WUFDdEMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBRXJDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUU7WUFDbEcsVUFBVSxFQUFFLFVBQVUsSUFBaUI7Z0JBQ3RDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUMsRUFBRTtvQkFDeEQsT0FBTyxVQUFVLENBQUMsYUFBYSxDQUFDO2lCQUNoQztnQkFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsRUFBRTtvQkFDdkMsT0FBTyxVQUFVLENBQUMsYUFBYSxDQUFDO2lCQUNoQztnQkFDRCxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUM7WUFDL0IsQ0FBQztTQUNELENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZLENBQUMsS0FBb0I7UUFDaEMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRTtZQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBa0IsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUN6RDtRQUVELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxXQUFXLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDckQ7SUFDRixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLFdBQXdCO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDakIsT0FBTztTQUNQO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxpQkFBaUIsQ0FBQyxJQUFVO1FBQzNCLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVixxR0FBcUc7WUFDckcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDbkQsT0FBTztTQUNQO1FBQ0QsNEZBQTRGO1FBQzVGLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQUs7UUFDdEIsT0FBTyxLQUFLLFlBQVksV0FBVyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxXQUFXO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQztJQUM5QyxDQUFDO0lBRU8sUUFBUSxDQUFDLElBQVU7UUFDMUIsc0hBQXNIO1FBQ3RILE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixVQUFVLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDbkIsQ0FBQzs7QUE1SE0sK0JBQWEsR0FBRyxDQUFDLENBQUM7OEdBZGIsaUJBQWlCLGtCQTZDcEIsUUFBUTtrR0E3Q0wsaUJBQWlCLHlOQUZsQixDQUFDLGVBQWUsQ0FBQywrSEFwQ2xCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1DVDsyRkFHVyxpQkFBaUI7a0JBeEM3QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUNUO29CQUNELFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDNUI7OzBCQThDRSxNQUFNOzJCQUFDLFFBQVE7bUdBeENKLElBQUk7c0JBQWhCLEtBQUs7Z0JBV0csRUFBRTtzQkFBVixLQUFLO2dCQUlHLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxZQUFZO3NCQUFwQixLQUFLO2dCQUlHLElBQUk7c0JBQVosS0FBSztnQkFJTyxhQUFhO3NCQUF6QixLQUFLO2dCQUlJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ21CLElBQUk7c0JBQTdCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtcblx0Q29tcG9uZW50LFxuXHRJbnB1dCxcblx0T3V0cHV0LFxuXHRUZW1wbGF0ZVJlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRBZnRlclZpZXdJbml0LFxuXHRJbmplY3QsXG5cdFZpZXdDaGlsZCxcblx0RWxlbWVudFJlZixcblx0T25Jbml0LFxuXHRPbkRlc3Ryb3lcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBFdmVudE9uTm9kZSwgTm9kZSB9IGZyb20gXCIuL3RyZWUtbm9kZS50eXBlc1wiO1xuaW1wb3J0IHsgVHJlZVZpZXdTZXJ2aWNlIH0gZnJvbSBcIi4vdHJlZXZpZXcuc2VydmljZVwiO1xuXG4vKipcbiAqIEdldCBzdGFydGVkIHdpdGggaW1wb3J0aW5nIHRoZSBtb2R1bGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgVHJlZXZpZXdNb2R1bGUgfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbiAqIGBgYFxuICpcbiAqIFtTZWUgZGVtb10oLi4vLi4vP3BhdGg9L3N0b3J5L2NvbXBvbmVudHMtdHJlZS12aWV3LS1iYXNpYylcbiAqL1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcImNkcy10cmVlLXZpZXdcIixcblx0dGVtcGxhdGU6IGBcblx0XHQ8bGFiZWxcblx0XHRcdCpuZ0lmPVwibGFiZWxcIlxuXHRcdFx0W2lkXT1cImlkXCJcblx0XHRcdGNsYXNzPVwiY2RzLS1sYWJlbFwiPlxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlKGxhYmVsKVwiPnt7bGFiZWx9fTwvbmctY29udGFpbmVyPlxuXHRcdFx0PG5nLXRlbXBsYXRlXG5cdFx0XHRcdCpuZ0lmPVwiaXNUZW1wbGF0ZShsYWJlbClcIlxuXHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFwiXG5cdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogbGFiZWxDb250ZXh0IH1cIj5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PC9sYWJlbD5cblx0XHQ8ZGl2XG5cdFx0XHRjbGFzcz1cImNkcy0tdHJlZVwiXG5cdFx0XHRbbmdDbGFzc109XCJ7XG5cdFx0XHRcdCdjZHMtLXRyZWUtLXNtJzogc2l6ZSA9PT0gJ3NtJyxcblx0XHRcdFx0J2Nkcy0tdHJlZS0teHMnOiBzaXplID09PSAneHMnXG5cdFx0XHR9XCJcblx0XHRcdFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWwgPyBsYWJlbCA6IG51bGxcIlxuXHRcdFx0W2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIiFsYWJlbCA/IGlkIDogbnVsbFwiXG5cdFx0XHRbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV09XCJpc011bHRpU2VsZWN0IHx8IG51bGxcIlxuXHRcdFx0cm9sZT1cInRyZWVcIlxuXHRcdFx0KGtleWRvd24pPVwibmF2aWdhdGVUcmVlKCRldmVudClcIlxuXHRcdFx0I3RyZWVXcmFwcGVyPlxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUHJvamVjdGVkKCk7IGVsc2Ugbm90UHJvamVjdGVkXCI+XG5cdFx0XHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdFx0PG5nLXRlbXBsYXRlICNub3RQcm9qZWN0ZWQ+XG5cdFx0XHRcdDxjZHMtdHJlZS1ub2RlXG5cdFx0XHRcdFx0Km5nRm9yPVwibGV0IG5vZGUgb2YgdHJlZVwiXG5cdFx0XHRcdFx0W25vZGVdPVwibm9kZVwiXG5cdFx0XHRcdFx0KG5vZGV0b2dnbGUpPVwib25Ob2RlVG9nZ2xlKCRldmVudClcIj5cblx0XHRcdFx0PC9jZHMtdHJlZS1ub2RlPlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L2Rpdj5cblx0YCxcblx0cHJvdmlkZXJzOiBbVHJlZVZpZXdTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBUcmVlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95IHtcblx0LyoqXG5cdCAqIFBhc3MgYE5vZGVbXWAgYXJyYXkgdG8gaGF2ZSB0cmVlIHZpZXcgcmVuZGVyIHRoZSBub2Rlc1xuXHQgKiBQYXNzaW5nIHZhbHVlIHdpbGwgZGlzcmVnYXJkIHByb2plY3RlZCBjb250ZW50XG5cdCAqL1xuXHRASW5wdXQoKSBzZXQgdHJlZSh0cmVlTm9kZXM6IE5vZGVbXSkge1xuXHRcdHRoaXMuX3RyZWUgPSB0cmVlTm9kZXMubWFwKChub2RlKSA9PiB0aGlzLmNvcHlOb2RlKG5vZGUpKTtcblx0XHR0aGlzLnRyZWVWaWV3U2VydmljZS5jb250ZW50UHJvamVjdGVkID0gZmFsc2U7XG5cdH1cblxuXHRnZXQgdHJlZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5fdHJlZTtcblx0fVxuXG5cdHN0YXRpYyB0cmVlVmlld0NvdW50ID0gMDtcblxuXHRASW5wdXQoKSBpZCA9IGB0cmVlLXZpZXctJHtUcmVlVmlld0NvbXBvbmVudC50cmVlVmlld0NvdW50Kyt9YDtcblx0LyoqXG5cdCAqIFRyZWUgdmlldyBsYWJlbFxuXHQgKi9cblx0QElucHV0KCkgbGFiZWw6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cdC8qKlxuXHQgKiBPcHRpb25hbCBjb250ZXh0IGZvciBsYWJlbCBpZiBpdCdzIGEgdGVtcGxhdGVcblx0ICovXG5cdEBJbnB1dCgpIGxhYmVsQ29udGV4dDogYW55O1xuXHQvKipcblx0ICogU3BlY2lmeSB0aGUgc2l6ZSBvZiB0aGUgbGlzdCBpdGVtcyBpbiB0aGUgdHJlZVxuXHQgKi9cblx0QElucHV0KCkgc2l6ZTogXCJ4c1wiIHwgXCJzbVwiID0gXCJzbVwiO1xuXHQvKipcblx0ICogKipFeHBlcmltZW50YWwqKiAtIEVuYWJsZSB0byBzZWxlY3QgbXVsdGlwbGUgbm9kZXNcblx0ICovXG5cdEBJbnB1dCgpIHNldCBpc011bHRpU2VsZWN0KGlzTXVsdGk6IGJvb2xlYW4pIHtcblx0XHR0aGlzLnRyZWVWaWV3U2VydmljZS5pc011bHRpU2VsZWN0ID0gaXNNdWx0aTtcblx0fVxuXG5cdEBPdXRwdXQoKSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGUgfCBOb2RlW10+KCk7XG5cdEBPdXRwdXQoKSB0b2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGU+KCk7XG5cdEBWaWV3Q2hpbGQoXCJ0cmVlV3JhcHBlclwiKSByb290OiBFbGVtZW50UmVmO1xuXG5cdHByaXZhdGUgdHJlZVdhbGtlcjogVHJlZVdhbGtlcjtcblx0cHJpdmF0ZSBfdHJlZTogTm9kZVtdID0gW107XG5cdHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0QEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG5cdFx0cHVibGljIHRyZWVWaWV3U2VydmljZTogVHJlZVZpZXdTZXJ2aWNlLFxuXHRcdHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuXHQpIHt9XG5cblx0LyoqXG5cdCAqIFN1YnNjcmliZSBmb3Igbm9kZSBzZWxlY3Rpb25cblx0ICovXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy50cmVlVmlld1NlcnZpY2Uuc2VsZWN0aW9uT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKG5vZGVzTWFwOiBNYXA8c3RyaW5nLCBOb2RlPikgPT4ge1xuXHRcdFx0Ly8gR2V0IGFsbCB2YWx1ZXMgZnJvbSB0aGUgbWFwIHRvIGVtaXRcblx0XHRcdGNvbnN0IG5vZGVzID0gWy4uLm5vZGVzTWFwLnZhbHVlcygpXTtcblxuXHRcdFx0dGhpcy5zZWxlY3QuZW1pdCh0aGlzLnRyZWVWaWV3U2VydmljZS5pc011bHRpU2VsZWN0ID8gbm9kZXMgOiBub2Rlc1swXSk7XG5cdFx0fSk7XG5cdFx0dGhpcy5zdWJzY3JpcHRpb24uYWRkKHRoaXMudHJlZVZpZXdTZXJ2aWNlLmZvY3VzTm9kZU9ic2VydmFibGUuc3Vic2NyaWJlKG5vZGUgPT4gdGhpcy5vbk5vZGVGb2N1c0NoYW5nZShub2RlKSkpO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJbml0aWFsaXplIHRyZWUgd2Fsa2VyIHRvIHN1cHBvcnQga2V5Ym9hcmQgbmF2aWdhdGlvblxuXHQgKi9cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdHRoaXMudHJlZVdhbGtlciA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcih0aGlzLnJvb3QubmF0aXZlRWxlbWVudCwgTm9kZUZpbHRlci5TSE9XX0VMRU1FTlQsIHtcblx0XHRcdGFjY2VwdE5vZGU6IGZ1bmN0aW9uIChub2RlOiBIVE1MRWxlbWVudCkge1xuXHRcdFx0XHRpZiAobm9kZS5jbGFzc0xpc3QuY29udGFpbnMoYGNkcy0tdHJlZS1ub2RlLS1kaXNhYmxlZGApKSB7XG5cdFx0XHRcdFx0cmV0dXJuIE5vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVDtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAobm9kZS5tYXRjaGVzKGBkaXYuY2RzLS10cmVlLW5vZGVgKSkge1xuXHRcdFx0XHRcdHJldHVybiBOb2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIE5vZGVGaWx0ZXIuRklMVEVSX1NLSVA7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogTmF2aWdhdGUgdHJlZSB1c2luZyB0cmVlIHdhbGtlclxuXHQgKiBAcGFyYW0gZXZlbnQgLSBLZXlib2FyZEV2ZW50XG5cdCAqL1xuXHRuYXZpZ2F0ZVRyZWUoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcblx0XHRpZiAoZXZlbnQua2V5ID09PSBcIkFycm93VXBcIikge1xuXHRcdFx0KHRoaXMudHJlZVdhbGtlci5wcmV2aW91c05vZGUoKSBhcyBIVE1MRWxlbWVudCk/LmZvY3VzKCk7XG5cdFx0fVxuXG5cdFx0aWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd0Rvd25cIikge1xuXHRcdFx0KHRoaXMudHJlZVdhbGtlci5uZXh0Tm9kZSgpIGFzIEhUTUxFbGVtZW50KT8uZm9jdXMoKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUHJvcGFnYXRlIG5vZGUgdG9nZ2xlIGV2ZW50XG5cdCAqIEBwYXJhbSBldmVudE9uTm9kZSAtIEV2ZW50T25Ob2RlXG5cdCAqL1xuXHRvbk5vZGVUb2dnbGUoZXZlbnRPbk5vZGU6IEV2ZW50T25Ob2RlKSB7XG5cdFx0aWYgKCFldmVudE9uTm9kZSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHR0aGlzLnRvZ2dsZS5lbWl0KGV2ZW50T25Ob2RlLm5vZGUpXG5cdH1cblxuXHQvKipcblx0ICogTm9kZSBmb2N1cyBjaGFuZ2Vcblx0ICogQHBhcmFtIG5vZGUgLSBOb2RlXG5cdCAqL1xuXHRvbk5vZGVGb2N1c0NoYW5nZShub2RlOiBOb2RlKSB7XG5cdFx0aWYgKCFub2RlKSB7XG5cdFx0XHQvLyBpZiBmb3Igc29tZSByZWFzb24gdGhlIGZvY3VzZWQgbm9kZSBpcyBub3QgZGVmaW5lZCB3ZSBmYWxsYmFjayBvbiB0aGUgcm9vdCBlbGVtZW50IG9mIHRoZSB0cmVldmlld1xuXHRcdFx0dGhpcy50cmVlV2Fsa2VyLmN1cnJlbnROb2RlID0gdGhpcy50cmVlV2Fsa2VyLnJvb3Q7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdC8vIFVwZGF0ZSBjdXJyZW50IG5vZGUgYmFzZWQgb24gZm9jdXMgY2hhbmdlIHRvIGhhdmUgYSBiZXR0ZXIga2V5Ym9hcmQgbmF2aWdhdGlvbiBleHBlcmllbmNlXG5cdFx0dGhpcy50cmVlV2Fsa2VyLmN1cnJlbnROb2RlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihgIyR7Q1NTLmVzY2FwZShub2RlLmlkKX1gKTtcblx0fVxuXG5cdHB1YmxpYyBpc1RlbXBsYXRlKHZhbHVlKSB7XG5cdFx0cmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG5cdH1cblxuXHRwdWJsaWMgaXNQcm9qZWN0ZWQoKSB7XG5cdFx0cmV0dXJuIHRoaXMudHJlZVZpZXdTZXJ2aWNlLmNvbnRlbnRQcm9qZWN0ZWQ7XG5cdH1cblxuXHRwcml2YXRlIGNvcHlOb2RlKG5vZGU6IE5vZGUpOiBOb2RlIHtcblx0XHQvLyBtYWtpbmcgYSByZWN1cnNpdmUgc2hhbGxvdyBjb3B5IHRvIGF2b2lkIHBlcmZvcm1hbmNlIGlzc3VlcyB3aGVuIGRlZXBseSBjbG9uaW5nIHRlbXBsYXRlUmVmcyBpZiBkZWZpbmVkIGluIHRoZSBub2RlXG5cdFx0Y29uc3QgY29waWVkTm9kZSA9IE9iamVjdC5hc3NpZ24oe30sIG5vZGUpO1xuXHRcdGlmIChub2RlLmNoaWxkcmVuKSB7XG5cdFx0ICBjb3BpZWROb2RlLmNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gdGhpcy5jb3B5Tm9kZShjaGlsZCkpO1xuXHRcdH1cblx0XHRyZXR1cm4gY29waWVkTm9kZTtcblx0fVxufVxuIl19
@@ -154,8 +154,10 @@ class TreeNodeComponent {
154
154
  if (this.selectable || this.children.length === 0) {
155
155
  this.selected = true;
156
156
  this.active = true;
157
+ const node = { id: this.id, label: this.label, value: this.value };
157
158
  // Passes event to all nodes to update highlighting & parent to emit
158
- this.treeViewService.selectNode({ id: this.id, label: this.label, value: this.value });
159
+ this.treeViewService.selectNode(node);
160
+ this.nodeSelect.emit(node);
159
161
  }
160
162
  else {
161
163
  this.toggleExpanded(event);
@@ -500,6 +502,7 @@ class TreeViewComponent {
500
502
  */
501
503
  this.size = "sm";
502
504
  this.select = new EventEmitter();
505
+ this.toggle = new EventEmitter();
503
506
  this._tree = [];
504
507
  }
505
508
  /**
@@ -562,6 +565,16 @@ class TreeViewComponent {
562
565
  (_b = this.treeWalker.nextNode()) === null || _b === void 0 ? void 0 : _b.focus();
563
566
  }
564
567
  }
568
+ /**
569
+ * Propagate node toggle event
570
+ * @param eventOnNode - EventOnNode
571
+ */
572
+ onNodeToggle(eventOnNode) {
573
+ if (!eventOnNode) {
574
+ return;
575
+ }
576
+ this.toggle.emit(eventOnNode.node);
577
+ }
565
578
  /**
566
579
  * Node focus change
567
580
  * @param node - Node
@@ -592,7 +605,7 @@ class TreeViewComponent {
592
605
  }
593
606
  TreeViewComponent.treeViewCount = 0;
594
607
  TreeViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeViewComponent, deps: [{ token: DOCUMENT }, { token: TreeViewService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
595
- TreeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TreeViewComponent, selector: "cds-tree-view", inputs: { tree: "tree", id: "id", label: "label", labelContext: "labelContext", size: "size", isMultiSelect: "isMultiSelect" }, outputs: { select: "select" }, providers: [TreeViewService], viewQueries: [{ propertyName: "root", first: true, predicate: ["treeWrapper"], descendants: true }], ngImport: i0, template: `
608
+ TreeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TreeViewComponent, selector: "cds-tree-view", inputs: { tree: "tree", id: "id", label: "label", labelContext: "labelContext", size: "size", isMultiSelect: "isMultiSelect" }, outputs: { select: "select", toggle: "toggle" }, providers: [TreeViewService], viewQueries: [{ propertyName: "root", first: true, predicate: ["treeWrapper"], descendants: true }], ngImport: i0, template: `
596
609
  <label
597
610
  *ngIf="label"
598
611
  [id]="id"
@@ -622,7 +635,8 @@ TreeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
622
635
  <ng-template #notProjected>
623
636
  <cds-tree-node
624
637
  *ngFor="let node of tree"
625
- [node]="node">
638
+ [node]="node"
639
+ (nodetoggle)="onNodeToggle($event)">
626
640
  </cds-tree-node>
627
641
  </ng-template>
628
642
  </div>
@@ -661,7 +675,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
661
675
  <ng-template #notProjected>
662
676
  <cds-tree-node
663
677
  *ngFor="let node of tree"
664
- [node]="node">
678
+ [node]="node"
679
+ (nodetoggle)="onNodeToggle($event)">
665
680
  </cds-tree-node>
666
681
  </ng-template>
667
682
  </div>
@@ -687,6 +702,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
687
702
  type: Input
688
703
  }], select: [{
689
704
  type: Output
705
+ }], toggle: [{
706
+ type: Output
690
707
  }], root: [{
691
708
  type: ViewChild,
692
709
  args: ["treeWrapper"]